:root{--ink:#183c35;--muted:#79847d;--bg:#f5f4ef;--paper:#fffefb;--line:#e1e4dc;--accent:#e6a258;--r0:#e4ecd9;--r1:#f1e3cb;--r2:#dde9eb;--r3:#ede0db;--r4:#e4e1ed;--r5:#e9ebcd}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',system-ui,sans-serif}button,select,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;transition:background .15s,transform .15s}button:hover{filter:brightness(.96)}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #cf8a3e;outline-offset:3px}button:disabled{opacity:.4;cursor:default}header{height:94px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 5.5%;background:#fbfaf6}.brand{display:flex;gap:12px;text-decoration:none;color:var(--ink);align-items:center}.brand-icon{position:relative;border:2px solid var(--ink);width:39px;height:44px;display:grid;place-items:center;font:bold 28px Georgia;transform:rotate(-5deg)}.brand-icon span{font-size:29px;position:absolute;right:-5px;bottom:-12px;color:var(--accent)}.brand strong{font-size:20px;letter-spacing:3px}.brand strong span{display:block;font-size:8px;letter-spacing:2.7px;margin-top:3px}.header-right{display:flex;align-items:center;gap:30px}.subtle{color:var(--muted);font-size:12px}.text-button{border:0;background:transparent;color:var(--ink);padding:8px}.header-right button{border-left:1px solid var(--line);padding-left:27px}main{max-width:1260px;margin:0 auto;padding:42px 35px 20px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#778276}.eyebrow>span{color:var(--accent);margin:0 8px}.intro{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:12px}h1{font:600 clamp(32px,3.8vw,47px)/1.15 'Playfair Display',Georgia,serif;margin:0 0 12px;letter-spacing:-1.2px}p{line-height:1.65}.intro p{color:#6c7971;max-width:720px;margin:0;font-size:13px}.primary{border:1px solid var(--ink);border-radius:5px;background:var(--ink);color:white;padding:13px 21px;font-weight:600;white-space:nowrap}.intro>.primary{align-self:flex-start;margin-top:14px}.case-meta{display:flex;gap:23px;align-items:center;color:#7b837b;font-size:11px;margin:23px 0 28px}.case-meta b{font-weight:500;color:#485e53}.dot{display:inline-block;width:6px;height:6px;background:#7c9a72;border-radius:100%;margin-right:4px}.case-meta>span+span{border-left:1px solid #d4d9cf;padding-left:23px}.saved{margin-left:auto}.game-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,1fr);gap:20px;align-items:start}.map-panel,.clue-panel,.suspect-panel{border:1px solid var(--line);background:var(--paper);border-radius:9px}.map-panel{padding:25px 28px 15px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}h2{font:500 23px/1.2 'Playfair Display',Georgia,serif;margin:7px 0}.progress,.clue-count{border:1px solid var(--line);border-radius:20px;font-size:10px;white-space:nowrap;padding:6px 10px;color:#768370}.map-wrap{max-width:510px;margin:18px auto 0}.column-labels{display:grid;padding-left:19px;margin-bottom:7px;color:#8d9589;font-size:10px;text-align:center}.map-and-rows{display:flex}.row-labels{width:19px;flex-shrink:0;display:grid;align-items:center;color:#8d9589;font-size:10px}.board{border:2px solid #607361;border-radius:5px;overflow:hidden;display:grid;flex:1;aspect-ratio:1;touch-action:manipulation}.cell{position:relative;aspect-ratio:1;min-width:0;min-height:0;padding:0;display:flex;align-items:center;justify-content:center;border:0;border-right:1px solid #73857524;border-bottom:1px solid #73857524;color:var(--ink);background:var(--room);isolation:isolate}.cell.room-right{border-right:2px solid #71806d}.cell.room-bottom{border-bottom:2px solid #71806d}.cell:hover{box-shadow:inset 0 0 0 2px #2b58468c;z-index:1}.cell:disabled{opacity:1;cursor:help}.cell:disabled:hover{box-shadow:none}.cell .object{font-size:clamp(15px,2vw,25px);opacity:.6}.cell .object-name{position:absolute;bottom:3px;left:1px;right:1px;font-size:7px;line-height:1.1;color:#58695d;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.cell .room-number{position:absolute;top:3px;left:4px;font-size:8px;opacity:.5}.cell .avatar{width:66%;height:66%;max-width:39px;max-height:39px;font-size:clamp(10px,1.3vw,16px);border:2px solid #fff9;box-shadow:0 2px 3px #142d321a;z-index:1}.cell.victim .object{color:#9a5b4c;font-size:27px;opacity:1}.cell.excluded:after{content:'×';font-size:25px;color:#586c5b66}.cell.selected{box-shadow:inset 0 0 0 3px #193e35}.cell.wrong{box-shadow:inset 0 0 0 3px #b55543}.room-legend{display:flex;gap:9px 14px;flex-wrap:wrap;font-size:10px;margin:16px 0 10px;padding-left:19px}.room-legend span{display:flex;align-items:center;gap:5px}.room-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}.board-caption{padding:10px 0 14px;border-bottom:1px solid var(--line);font-size:9px;color:#8a8d81;display:flex;justify-content:space-between;gap:8px}.victim-key{font-size:13px;color:#9a5b4c}.toolbar{display:flex;align-items:center;gap:8px;margin-top:14px}.mode-switch{display:flex;border:1px solid var(--line);border-radius:5px;padding:3px;margin-right:auto;gap:2px}.mode-switch button{border:0;background:none;padding:7px 9px;color:#8a9388;font-size:10px;border-radius:3px}.mode-switch button.active{background:#e6eade;color:var(--ink)}.icon-button{border:0;background:none;color:#536651;padding:6px;font-size:18px}.icon-button span{font-size:10px;margin-left:2px}.instruction{font-size:10px;color:#8b9388;text-align:center;margin:12px 0 0;min-height:17px}.clue-panel{padding:25px 25px 12px;max-height:735px;overflow:auto}.panel-description{font-size:11px;color:#8a9388;margin:8px 0 15px}.clues{padding:0;margin:0;list-style:none;counter-reset:clue}.clues li{border-top:1px solid #e9ebe4;position:relative}.clue-button{width:100%;display:flex;align-items:flex-start;gap:12px;text-align:left;border:0;background:none;padding:15px 0;color:#435747;line-height:1.65;font-size:12px}.clue-check{display:inline-grid;place-items:center;flex-shrink:0;width:21px;height:21px;border:1px solid #dde2d5;border-radius:50%;color:#9aa38f;font-size:9px;margin-top:1px}.clue-button.checked{color:#9ca695}.clue-button.checked .clue-text{text-decoration:line-through}.clue-button.checked .clue-check{background:#e9eedf;border-color:#e9eedf;color:#576d43}.suspect-panel{grid-column:1;padding:20px 22px}.suspect-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px}.suspect-title .subtle{font-size:10px}.suspects{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:7px}.suspect{min-width:0;border:1px solid transparent;background:transparent;padding:8px 1px 6px;border-radius:5px;position:relative;color:#536453}.suspect.active{border-color:#426746;background:#f0f3e9}.avatar{border-radius:50%;width:36px;height:36px;display:inline-grid;place-items:center;font:600 14px Georgia;background:var(--person);color:#fff}.suspect .name{font-size:10px;display:block;margin-top:7px}.suspect .placed{position:absolute;top:4px;right:3px;background:var(--paper);color:#365745;border-radius:50%;font-size:10px;width:13px;height:13px}.accuse-panel{grid-column:2;grid-row:2;align-self:stretch;padding:20px;display:flex;align-items:center;gap:13px;background:#e9ecdf;border-radius:8px;border:1px solid #dce1d0;flex-wrap:wrap}.accuse-icon{font-size:34px}.accuse-panel h2{font-size:21px}.accuse-panel p{font-size:10px;color:#7f8a73;margin:5px 0}.accuse-panel .primary{padding:10px 14px;font-size:11px;margin-left:auto}.accuse-panel .primary span{padding-left:12px}.notice{border-radius:5px;background:#f4ead4;color:#775c2b;padding:12px;font-size:12px;line-height:1.6;margin-top:13px}.notice.success{background:#e8efdf;color:#42623c}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);margin-top:35px;padding-top:18px;font-size:10px;color:#85907f}.footer-brand{letter-spacing:.4px}.footer-brand>span{margin:0 9px;color:#bbc1b4}footer .text-button{font-size:10px;color:#7c8974}dialog{border:1px solid var(--line);border-radius:12px;width:min(520px,calc(100% - 30px));padding:28px;background:var(--paper);color:var(--ink);box-shadow:0 20px 100px #142f3240}dialog::backdrop{background:#182d27aa;backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.close{border:0;background:none;font-size:26px;color:#89917f;padding:0 4px}dialog h2{font-size:31px;margin-bottom:15px}dialog p,dialog li{font-size:13px;line-height:1.8;color:#73806c}dialog ol{padding-left:20px}dialog .primary{width:100%;margin-top:18px}.level-choices{display:grid;gap:9px;margin-top:18px}.level-choice{display:flex;align-items:center;justify-content:space-between;background:#f4f5ed;border:1px solid #dfe5d6;border-radius:6px;padding:15px;text-align:left;color:var(--ink)}.level-choice.active{border-color:#3f6349;background:#e8eede}.level-choice span{font-size:11px;color:#839076}.dialog-people{display:flex;flex-wrap:wrap;gap:8px}.dialog-person{border:1px solid var(--line);border-radius:5px;padding:9px 14px;background:#f2f4e9;color:var(--ink)}.dialog-person.active{background:var(--ink);color:white}.big-check{font-size:46px;color:#6d8d53;margin:8px 0}.seed-input{width:100%;padding:12px;border:1px solid var(--line);border-radius:5px;background:#fffefb;color:var(--ink);margin-top:5px}.field-label{display:block;font-size:11px;margin-top:20px;color:#7a8771}.generation{position:fixed;inset:0;background:#f5f4efee;z-index:100;display:grid;place-items:center;font-family:Georgia;font-size:24px}
@media(min-width:900px){.clue-panel{grid-column:2;grid-row:1}.map-panel{grid-column:1;grid-row:1}}@media(max-width:1050px){main{padding:30px 24px}.game-layout{grid-template-columns:minmax(0,1.2fr) minmax(290px,1fr);gap:15px}.map-panel{padding:22px 18px 13px}.clue-panel{padding:22px 18px 12px}.toolbar{gap:3px}.icon-button span{display:none}.suspect-panel{padding:18px 13px}.accuse-panel{gap:9px}.desktop{display:none}.object-name{font-size:6px!important}}@media(max-width:760px){header{height:75px;padding:0 20px}.brand strong{font-size:17px}.header-right button{border:0;padding-left:4px;font-size:11px}.brand-icon{height:36px;width:32px;font-size:23px}main{padding:27px 16px 20px}.intro{align-items:flex-start;gap:10px}.intro h1{font-size:34px}.intro p{font-size:12px}.intro>.primary{font-size:11px;padding:10px 12px;margin-top:4px}.case-meta{gap:11px;margin:20px 0}.case-meta>span+span{padding-left:11px}.case-meta .saved{display:none}.game-layout{grid-template-columns:1fr;gap:15px}.map-panel{grid-column:1;grid-row:1;padding:21px 17px 12px}.suspect-panel{grid-column:1;grid-row:2}.clue-panel{grid-column:1;grid-row:3;max-height:none}.accuse-panel{grid-column:1;grid-row:4}.map-wrap{max-width:480px}.cell .avatar{font-size:16px}.cell .object{font-size:24px}.cell .object-name{font-size:7px!important}.toolbar{gap:7px}.icon-button span{display:inline}.mode-switch button{padding:7px 8px}.suspect .avatar{width:35px;height:35px}.clues .clue-button{padding:13px 0}.board-caption{font-size:9px}.clue-panel .section-heading h2{font-size:24px}footer{flex-direction:column;gap:8px;text-align:center;margin-top:25px}.accuse-panel{padding:17px}.saved{display:none}}@media(max-width:380px){.icon-button span{display:none}.suspect .avatar{width:29px;height:29px}.suspect .name{font-size:9px}.suspect-title .subtle{display:none}.cell .object-name{font-size:6px!important}.case-meta{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media print{header,footer,.toolbar,.instruction,.primary,.saved,.accuse-panel,.suspect-panel{display:none}.game-layout{display:block}.map-panel,.clue-panel{break-inside:avoid;margin-bottom:20px}.clue-panel{max-height:none}.map-wrap{width:430px}body{background:white}.cell{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Keep the people beside the surface they control. */
.map-panel .suspect-panel{border:0;background:transparent;padding:0;margin:20px 0 5px}.map-panel .suspect-title{margin-bottom:8px}.map-panel .suspect-title .eyebrow{font-size:8px}.map-wrap{max-width:440px}.accuse-panel{grid-column:1 / -1;grid-row:2}.clue-panel{max-height:830px}@media(max-width:760px){.map-panel .suspect-panel{position:static;margin-top:16px}.clue-panel{grid-row:2;max-height:none}.accuse-panel{grid-column:1;grid-row:3}.map-wrap{max-width:440px}.suspect{padding:7px 1px}.suspect-title .subtle{font-size:9px}}
/* Illustrated scene, original local vector artwork. */
:root{--r0:#e4dec5;--r1:#e8d4cf;--r2:#d9e2d1;--r3:#d7e2e0;--r4:#eee1bc;--r5:#ded8e6}
.map-panel{background:#fffdf6}.board{border:4px solid #46483e;border-radius:4px;box-shadow:7px 8px 0 #514c3712;overflow:hidden}.cell{background-color:var(--room);border-right:1px solid #655f4a35;border-bottom:1px solid #655f4a35}.cell.floor-wood{background-image:repeating-linear-gradient(0deg,transparent 0,transparent 20px,#6c614a17 20px,#6c614a17 21px),repeating-linear-gradient(90deg,transparent 0,transparent 29px,#6c614a0c 29px,#6c614a0c 30px)}.cell.floor-tile{background-image:linear-gradient(45deg,#fff4 25%,transparent 25%,transparent 75%,#fff4 75%),linear-gradient(45deg,#fff4 25%,transparent 25%,transparent 75%,#fff4 75%);background-size:24px 24px;background-position:0 0,12px 12px}.cell.room-right{border-right:4px solid #46483e}.cell.room-bottom{border-bottom:4px solid #46483e}.scene-art{position:absolute;inset:1px;pointer-events:none}.scene-art svg{width:100%;height:100%;display:block}.fixture-art{inset:3px;filter:drop-shadow(1px 3px 1px #3e3b3426)}.surface-art{inset:1px}.victim-art{inset:0}.cell .room-number{z-index:2;color:#4f5549;background:#fff9;border-radius:2px;padding:1px 2px;font-size:7px;top:1px;left:1px}.cell:hover{box-shadow:inset 0 0 0 3px #e8a944;filter:none}.cell.selected{box-shadow:inset 0 0 0 3px #355f51}.cell.wrong{box-shadow:inset 0 0 0 3px #b55543}.portrait-card,.portrait-token{overflow:hidden;line-height:0!important;background:#ede4d0!important}.portrait-card svg,.portrait-token svg{width:100%;height:100%;display:block}.suspect .portrait-card{height:53px;width:47px;border-radius:7px;border:2px solid #ded9c8;box-shadow:2px 3px 0 #47443314}.suspect.active{background:#f0e7ce;border-color:#a7874c}.suspect.active .portrait-card{border-color:#b09252}.suspect .name{font-size:11px;margin-top:5px;font-weight:600}.cell .portrait-token{width:60%;height:65%;max-width:37px;max-height:40px;border-radius:5px;position:relative;z-index:3;border:2px solid #fffdf5;box-shadow:1px 2px 3px #3335;margin-top:-3px}.cell.occupied .surface-art{opacity:.65}.person-label{position:absolute;bottom:1px;left:0;right:0;margin:auto;width:max-content;max-width:100%;border-radius:2px;background:#fffdf0ed;padding:1px 3px;font-size:7px;color:#393f32;z-index:4;line-height:1.2}.cell.excluded:after{position:absolute;z-index:5;font-size:32px;color:#3c57428c;pointer-events:none}.clue-button{font-size:13px}.clue-button strong{font-weight:600;color:#2e5345}.clue-button.checked strong{color:inherit}.clue-panel{background:#fffdf6}.clues li{border-color:#e9e4d8}.room-legend{font-size:10px;gap:9px 14px}.room-legend i{border:1px solid #625f4c55}.map-wrap{max-width:470px}.board-caption{font-size:9px}.map-panel .suspect-panel{margin:18px 0 10px}.map-panel .suspect-title{margin-bottom:7px}.fixture-key{display:flex;align-items:center;gap:8px;font-size:10px;color:#7e8773}.fixture-key svg{width:24px;height:24px}.illustration-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 15px;margin-top:13px}.scene-key{display:flex;align-items:center;gap:5px;font-size:9px;color:#68755f}.scene-key svg{width:27px;height:27px}.scene-key span{white-space:nowrap}
@media(max-width:1050px){.suspect .portrait-card{width:39px;height:45px}.cell .portrait-token{max-width:32px;max-height:36px}.cell.room-right{border-right-width:3px}.cell.room-bottom{border-bottom-width:3px}.map-wrap{max-width:450px}}
@media(max-width:760px){.map-panel{padding:18px 12px 12px}.suspect .portrait-card{width:37px;height:43px}.suspects{gap:3px}.suspect .name{font-size:10px}.map-wrap{max-width:470px}.board{border-width:3px}.cell .portrait-token{height:65%;max-width:32px;max-height:35px;border-width:1.5px}.person-label{font-size:6px;padding:1px 2px}.scene-art{inset:0}.fixture-art{inset:1px}.illustration-legend{gap:5px 10px}.scene-key svg{width:23px;height:23px}.board-caption{font-size:8px}.instruction{font-size:10px}.cell .room-number{font-size:6px}.suspect .placed{top:0;right:0}.suspect-title .subtle{font-size:9px}.clue-panel{max-height:none}}
@media(max-width:380px){.suspect .portrait-card{width:29px;height:35px}.suspect .name{font-size:9px}.cell .portrait-token{border-width:1px}.person-label{font-size:5px}.scene-key{font-size:8px}}

.object-guide{margin:8px 0 12px;border-top:1px solid #e5e3d5;padding-top:10px}.object-guide summary{font-size:10px;color:#737e68;cursor:pointer}.illustration-legend{justify-content:flex-start;padding-bottom:6px}.scene-key{min-width:85px}.scene-key svg{width:32px;height:32px}
/* Room names live on the plan; multi-cell beds are drawn once across both tiles. */
.board{position:relative;isolation:isolate}.cell{isolation:auto}.cell:hover{z-index:auto}.scene-art{z-index:1}.cell .portrait-token,.person-label{z-index:4}.cell.excluded:after{z-index:5}.bed-layer,.room-labels-layer{position:absolute;inset:0;pointer-events:none}.bed-layer{z-index:2}.room-labels-layer{z-index:6}.bed-piece{position:absolute;padding:4px;filter:drop-shadow(1px 2px 1px #3e3b3420)}.bed-piece svg{width:100%;height:100%;display:block}.double-bed:after{content:'';position:absolute;top:50%;left:6px;right:6px;border-top:1px dashed #53534755}.double-bed.horizontal:after{top:6px;bottom:6px;left:50%;right:auto;border-top:0;border-left:1px dashed #53534755}.room-map-label{position:absolute;white-space:nowrap;text-align:center;text-transform:uppercase;font-size:8px;font-weight:700;letter-spacing:.65px;line-height:15px;height:15px;color:#39483b;background:#fffcf0df;border-bottom:1px solid #5d655133;overflow:hidden;text-overflow:ellipsis;padding:0 2px}.label-band .scene-art{top:12px}.label-band .portrait-token{margin-top:8px}.bed-label-band{padding-top:14px}.object-guide{margin-top:17px}.cell.room-style-library{background-color:#dfd1af}.cell.room-style-bedroom{background-color:#e6d3ce}.cell.room-style-garden{background-color:#d9e5d3}.cell.room-style-dining{background-color:#eee1bf}.cell.room-style-wine{background-color:#ded3c1}.cell.room-style-studio{background-color:#e0d9e5}.cell.room-style-lounge{background-color:#d8e3df}
@media(max-width:760px){.room-map-label{height:12px;line-height:12px;font-size:6px;letter-spacing:.3px}.label-band .scene-art{top:9px}.bed-label-band{padding-top:11px}.bed-piece{padding-left:2px;padding-right:2px}.label-band .portrait-token{margin-top:5px}}
@media print{.room-map-label{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

.room-map-label{font-size:9px}@media(max-width:760px){.room-map-label{font-size:7px;letter-spacing:.15px}}
/* Quiet floors, with only a few landmarks per area. */
.cell.floor-wood{background-image:repeating-linear-gradient(0deg,transparent 0,transparent 24px,#6c614a0a 24px,#6c614a0a 25px)}.cell.floor-tile{background-image:linear-gradient(45deg,#ffffff18 25%,transparent 25%,transparent 75%,#ffffff18 75%),linear-gradient(45deg,#ffffff18 25%,transparent 25%,transparent 75%,#ffffff18 75%)}.cell{border-right-color:#655f4a26;border-bottom-color:#655f4a26}.cell.room-right{border-right-color:#46483e}.cell.room-bottom{border-bottom-color:#46483e}.cell.floor-water{background-color:#cce0e0;background-image:repeating-linear-gradient(0deg,transparent 0,transparent 17px,#6f9da016 18px,transparent 19px)}.cell.floor-sand{background-color:#eddfbf;background-image:radial-gradient(#b99e6740 .65px,transparent .65px);background-size:13px 17px}.cell.floor-grass{background-color:#dce6ce;background-image:none}.cell.floor-stone{background-color:#e3e0d4;background-image:none}.cell.floor-snow{background-color:#eef0e7;background-image:none}.landscape{border-color:#718875;border-radius:8px}.landscape .cell{border-color:#637c6a1f}.landscape .cell.room-right{border-right:2px dashed #75887780}.landscape .cell.room-bottom{border-bottom:2px dashed #75887780}.landscape .room-map-label{background:#fffdf1de;color:#45604b;border-bottom-color:#78876b22}.landscape .fixture-art{inset:5px;filter:drop-shadow(1px 2px 1px #35483415)}.landscape .surface-art{inset:5px}.landscape .label-band .scene-art{top:14px}@media(max-width:760px){.landscape .fixture-art,.landscape .surface-art{inset:3px}.landscape .label-band .scene-art{top:11px}}

/* People and their statements stay together. */
.clue-button{align-items:center;gap:11px;padding:14px 0}.clue-check{margin-top:0;align-self:center}.clue-portraits{display:flex;flex-shrink:0;gap:4px;align-items:center}.clue-portrait{display:block;width:39px;height:45px;overflow:hidden;line-height:0;background:#ede4d0;border:1px solid #d8d3c3;border-radius:6px;box-shadow:1px 2px 0 #4744330c}.clue-portrait svg{display:block;width:100%;height:100%}.clue-content{min-width:0;flex:1;display:block}.clue-person-name{display:block;font-size:12px;font-weight:700;color:#354f41;margin-bottom:3px;line-height:1.35}.clue-text{display:block;font-size:12px;line-height:1.6}.clue-button.checked .clue-person-name{color:#87937d}.clue-button.checked .clue-portrait{opacity:.65}.clue-portraits:has(.clue-portrait:nth-child(2)) .clue-portrait{width:30px;height:37px}@media(max-width:760px){.clues .clue-button{padding:13px 0;gap:9px}.clue-portrait{width:38px;height:44px}.clue-text{font-size:12px}.clue-person-name{font-size:12px}.clue-portraits:has(.clue-portrait:nth-child(2)) .clue-portrait{width:27px;height:34px}}

/* Inspectable reasoning for a revealed hint. */
.hint-person{display:flex;gap:14px;align-items:center;margin:10px 0 23px}.hint-person .clue-portrait{width:52px;height:61px;flex-shrink:0}.hint-person h2{font-size:28px;margin:0 0 5px}.hint-person>div>span{font-size:12px;color:#7c8871}dialog h3{font:500 23px Georgia,serif;margin:10px 0}dialog h4{font-size:12px;margin:23px 0 9px;color:#4f6651}.hint-context{background:#f2eddb;padding:10px 12px;border-radius:5px}.hint-sources{list-style:none;padding:0;margin:0}.hint-sources li{display:flex;gap:10px;border-top:1px solid #e4e5d9;padding:9px 0;font-size:12px}.hint-source-number{display:grid;place-items:center;flex-shrink:0;width:21px;height:21px;border-radius:50%;background:#e9eede;color:#526947;font-size:10px;line-height:1}.hint-steps{margin:0;padding-left:21px}.hint-steps>li{padding:5px 0 12px}.hint-steps p{margin:0 0 6px;font-size:12px}.hint-fields{font-size:10px;line-height:1.7;color:#7c886f;background:#f4f5ed;border-left:2px solid #c6d2b8;padding:6px 9px}.hint-conclusion{background:#e8eede;border-radius:6px;padding:12px;margin-top:20px}.hint-more{font-size:12px;color:#5c7152;margin:10px 0}.hint-more summary{cursor:pointer;padding:8px 0}.hint-alternatives{padding-left:20px}.hint-alternatives li{font-size:12px;margin-bottom:10px}.hint-reopen{font-size:11px;border:0;background:none;color:#3f623a;text-decoration:underline;padding:6px 0 0}.cell.hint-target:before{content:'';position:absolute;inset:2px;border:2px dashed #b68438;border-radius:4px;z-index:7;pointer-events:none}dialog{max-height:calc(100dvh - 40px);overflow:auto}

.indirect-person-card{display:flex;align-items:center;gap:12px;margin:14px 0 5px;padding:12px!important;border:1px dashed #d1d8c6!important;border-radius:6px;background:#f4f5ec}.indirect-person-card .clue-portrait{flex-shrink:0;width:35px;height:41px}.indirect-person-card>span:last-child{display:grid;gap:5px}.indirect-person-card strong{font-size:11px;color:#607253}.indirect-person-card>span>span{font-size:10px;line-height:1.6;color:#7c8870}.hint-indirect p{margin:7px 0 0}.hint-indirect>strong{font-size:13px}.hint-last-free table{width:100%;border-collapse:collapse;font-size:12px;color:#627359}.hint-last-free th,.hint-last-free td{padding:8px;border-bottom:1px solid #e0e5d6;text-align:left}.hint-last-free th{font-size:10px;background:#f0f3e8}
