/* Bordeaux, champagne gold and warm ivory. */
:root{color-scheme:dark;--bg:#170a10;--panel:#291019;--line:#68412f;--gold:#d9b879;--muted:#c3afa8;--cream:#f5e8d5;--wine:#712437}body{background:radial-gradient(ellipse at 12% 0,#5a2033 0,transparent 50%),linear-gradient(145deg,#190a11,#280d17 60%,#16090d);color:var(--cream)}header{border-bottom:3px double #a27d4888}.monogram{background:linear-gradient(140deg,#63263a,#260e17);box-shadow:inset 0 0 0 3px #d3a95917;border-color:#d5b477}.brand small{color:#d9b788}.intro:after{background:linear-gradient(90deg,#2b0b18f7,#310d1bd9 38%,#200a1333 80%)}.intro{border-color:#bb975b99;outline:1px solid #f0c67b33;outline-offset:-6px;box-shadow:0 12px 35px #0005}.case-stamp{background:#310f1ddc;border:1px solid #cfad70;box-shadow:inset 0 0 0 4px #d6ad6b12,0 10px 30px #0006}.intro p{color:#ead8c5}.toolbar{border-block:3px double #956a4288}.live i{background:#d5b579;box-shadow:0 0 9px #d5ad6f66}select{background:#391521;border-color:#9b7049;color:#f0dfc5}.scene-panel,.dossier,dialog{position:relative;background:linear-gradient(145deg,#3b1524,#260e18 55%,#1d0b12);border:1px solid #b58e55;outline:1px solid #d8af6433;outline-offset:-5px;box-shadow:inset 0 0 0 5px #4a202d44,0 14px 40px #09030655}.dossier{border-top:1px solid #d6b376}.rules-summary{background:#7b354426;color:#e6d5c4;border-color:#e1bb79}.seal{background:radial-gradient(#783345,#2c1019);border:1px solid #c6a366;color:#f0d5a1;box-shadow:inset 0 0 0 3px #d7b16c18}.victim-card,.suspect-heading,.clue-heading{border-color:#a17a4b66}.north,.eyebrow{color:#dfbd83}.tutorial{background:linear-gradient(115deg,#5a2133,#35111f);border-color:#bb955b}.room-readout{min-height:29px;color:#e2c18b;font-size:12px;line-height:1.5;padding:8px 0 0}.map-caption{color:#c9b4a3}.legend{color:#cbb9aa}.legend .blocked-key{background:repeating-linear-gradient(135deg,#552431 0 3px,#2a141d 3px 5px)}
button{background:linear-gradient(150deg,#502032,#2b111c);border-color:#a27b47;color:#f1dfc0;box-shadow:inset 0 1px 0 #f4d69919,0 2px 5px #08020444}button:hover{background:linear-gradient(145deg,#753047,#3b1525);border-color:#efcb89;box-shadow:inset 0 1px #ffe7bc33,0 0 12px #c99b4d20}button:disabled{box-shadow:none}nav button{border:1px solid transparent;background:transparent;box-shadow:none;color:#dfc6aa}nav button:hover{border-color:#b9945f}.primary{background:linear-gradient(145deg,#efcf8c,#b88a46);color:#2a1015;border:1px solid #ffe0a5;box-shadow:inset 0 1px #fff0c799,0 4px 12px #08020466}.primary:hover{background:linear-gradient(140deg,#ffe4ad,#d0a15c);color:#230e13}.hint{background:linear-gradient(135deg,#5b2034,#2e111e);border:1px solid #c29c62;color:#ebcf9d}.timeline .active{background:linear-gradient(#683044,#351420);border-color:#e0bd80;color:#f1d6a5;box-shadow:inset 0 0 0 3px #caa06111}.timeline button{box-shadow:none;background:transparent}.token-name{background:linear-gradient(#64293d,#2f101e);border-color:#d7b477;color:#ffe4b4}.token{border-color:#d9bd89;box-shadow:0 4px 12px #000b,0 0 0 3px #4b1e2d}.token-selected{box-shadow:0 0 0 3px #dfba7c88,0 4px 12px #000c}
.portrait{aspect-ratio:1;background-size:200% 200%;background-color:#2c0f1c}.suspect{background:linear-gradient(130deg,#421727,#241019);border-color:#947041}.suspect.is-placed{background:linear-gradient(#5d273a,#34121f)}.suspect.selected{border-color:#f2ce91;box-shadow:0 0 0 1px #f2ce91,inset 0 0 12px #dab36d11}.suspect strong{font-size:16px;color:#f2dcc1}.suspect small{color:#ceb8a7}.view-profile{background:transparent;color:#e4bf84;box-shadow:none}.full-profile{background-color:#2a0f1b;border-color:#d7b477;box-shadow:0 10px 30px #0006}.profile-bio{max-width:580px;margin:20px auto!important;line-height:1.8;color:#e0cdba!important}.full-profile+p{text-align:center;font-style:italic}dialog small{color:#bda48c}dialog::backdrop{background:#10040be8}.close{box-shadow:none;background:none}.difficulty-info{color:#cfb9a9}.clue{border-bottom-color:#976e4344;color:#eadacb}.clue input{accent-color:#d9b879}.clue em{color:#d7b477}.clue-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#cbb4a0;padding:6px 0}.clue-tools select{font-size:12px;min-width:140px}.evidence-summary{font-size:11px;color:#d7bb91;margin:8px 0 4px}.catalog-tabs .active{background:linear-gradient(#713047,#391220);border-color:#e0bc7d}.case-card{background:linear-gradient(145deg,#421727,#251019);border-color:#9f7949}.case-card.solved{border-color:#e0bf7e}.catalog-tabs small{color:#d5baa0}.install-ready{background:#4b1d2d33}.install-ready.ready{background:#6a3b2422;border-color:#c7a36c;color:#e9cf9f}.install-guide{border-color:#966d4644}nav .install-button{background:linear-gradient(130deg,#a5743e,#4d172a);border-color:#e0bb7f}.progress-section{margin-bottom:24px}.progress-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px;color:#e2c18b}.progress-heading h3{font:18px Georgia}.progress-heading>span{font-size:12px}.progress-overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.tier-progress{text-align:left;padding:12px 14px;min-width:0;border:1px solid #9f764a;background:linear-gradient(135deg,#431927,#250f18)}.tier-progress.active{border-color:#f0cc8b;box-shadow:inset 0 0 0 3px #d6ae6b18}.tier-progress strong{display:block;font:17px Georgia}.tier-progress span{display:block;font-size:11px;color:#d0b59a;margin-top:4px}.tier-progress i{display:block;height:3px;margin-top:12px;background:#16070d}.tier-progress b{display:block;height:100%;background:linear-gradient(90deg,#a77138,#f1d095)}
/* Keep the crime scene free of permanent labels and board-like borders. */
.map-wrap{height:clamp(300px,64dvh,760px);max-height:none!important;border:0;border-radius:2px;background:#1b1012;box-shadow:none;position:relative;scrollbar-color:#ae8754 #240f18}.map{aspect-ratio:1;position:relative}.tile,.tile:hover,.tile.occupied{border:0!important;border-radius:0;box-shadow:none;background:transparent}.tile .coord{display:none}.tile:after{content:'';position:absolute;inset:5px;border:1px solid transparent;border-radius:3px;pointer-events:none;transition:.15s}.tile.is-hovered:not(.blocked),.tile:focus-visible{background:radial-gradient(#ebc37822,#c2965008);outline:0}.tile.is-hovered:not(.blocked):after,.tile:focus-visible:after{border-color:#efcd8caa;box-shadow:0 0 15px #f1c97f33,inset 0 0 12px #e7bd6c11}.tile.blocked{background:repeating-linear-gradient(135deg,#30141c55 0,#30141c55 7px,#92714933 7px,#92714933 8px);border:0}.tile.blocked:after{display:none}.tile.exercise-target{background:#d9b77913;box-shadow:inset 0 0 0 2px #e0bf7e}.room-labels,.room-legend{display:none}.rooms [data-room] image{transition:filter .18s}.rooms [data-room].is-hovered image{filter:brightness(1.17)}.rooms [data-room].is-hovered>path{fill:#f2cf8b;opacity:.12}
body.map-expanded{overflow:hidden}body.map-expanded:after{content:'';position:fixed;inset:0;background:#10040bed;backdrop-filter:blur(6px);z-index:39}.scene-panel.is-expanded{position:fixed;inset:12px;z-index:40;overflow:auto;max-width:none;padding:20px 24px}.scene-panel.is-expanded .map-wrap{height:calc(100dvh - 225px);min-height:240px;max-height:none}.scene-panel.is-expanded .panel-heading{position:sticky;top:-20px;z-index:20;background:#2b0e1c;padding:7px 0}.scene-panel.is-expanded .suspects{grid-template-columns:repeat(auto-fit,minmax(100px,140px))}.room-readout{overflow-wrap:anywhere}footer{color:#bba18a}
@media(max-width:650px){.progress-overview{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:7px}.tier-progress{min-width:145px;scroll-snap-align:start}.intro:after{background:linear-gradient(90deg,#300b1af5,#310c1bbf 55%,#21081144)}.scene-panel.is-expanded{inset:5px;padding:14px 12px}.scene-panel.is-expanded .map-wrap{height:calc(100dvh - 230px)}.scene-panel.is-expanded .panel-heading{top:-14px}.suspect strong{font-size:13px}.map-wrap{height:58dvh}.clue-tools{flex-wrap:wrap}.portrait{aspect-ratio:1}.progress-heading h3{font-size:16px}.progress-heading>span{font-size:11px}}
.reputation-card{display:flex;align-items:center;gap:18px;padding:17px 20px;background:linear-gradient(135deg,#5e263a,#28101a);border:1px solid #c4a06b;outline:1px solid #dfbc7433;outline-offset:-5px;margin-bottom:18px}.reputation-seal{width:48px;height:48px;display:grid;place-content:center;flex-shrink:0;border:3px double #d5b477;border-radius:50%;font:30px Georgia;color:#f1d59e;background:radial-gradient(#743448,#30101c)}.reputation-card strong{display:block;font:22px Georgia;color:#f2dec0;margin:4px 0}.reputation-card small{font-size:11px;color:#ceb396}.reputation-meter{margin-left:auto;min-width:170px;max-width:250px;flex:1;color:#e0c38c;font-size:12px;text-align:right}.reputation-meter i{display:block;margin-top:8px;height:5px;background:#18070e}.reputation-meter b{display:block;height:100%;background:linear-gradient(90deg,#a87336,#f7db9b)}.reward-list{margin:20px 0}.reward-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #ae87544d;padding:16px 0}.reward-row strong{font:20px Georgia}.reward-row small{display:block;margin-top:5px}.report-line{display:block;margin:7px 0;color:#e8d7c4}.witness-report{padding:17px 0}.witness-report em{font:17px Georgia;color:#e7c58c;letter-spacing:.2px}.candidate-stack{position:absolute;right:4px;top:4px;z-index:6;width:42%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;pointer-events:none}.candidate-token{display:block;aspect-ratio:1;background-size:200% 200%;border:1px dashed #e1bf7f;border-radius:50%;opacity:.85;box-shadow:0 1px 4px #000}.candidate-stack small{font-size:9px;color:#f3dab0}.hold-ring{position:absolute;inset:4%;z-index:9;pointer-events:none;border-radius:50%;background:#32131a44}.hold-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.hold-track,.hold-fill{fill:none;stroke-width:4}.hold-track{stroke:#e3bc7444}.hold-fill{stroke:#ffe0a0;stroke-dasharray:276.46;stroke-dashoffset:276.46;animation:hold-confirm .7s linear forwards;filter:drop-shadow(0 0 3px #edbf64)}@keyframes hold-confirm{to{stroke-dashoffset:0}}.just-confirmed .token{animation:confirmation .3s ease-out}@keyframes confirmation{0%{transform:scale(.8);filter:brightness(1.5)}100%{transform:scale(1);filter:brightness(1)}}
body[data-trim=archive-gold] .token{border:3px double #ffe3a4;box-shadow:0 0 0 3px #9b7135,0 4px 12px #0008}body[data-trim=onyx] .token{border:3px solid #e0bd78;box-shadow:0 0 0 4px #120d11,0 0 0 5px #b18c51}body[data-trim=laurel] .token{border:4px double #f3db94;box-shadow:0 0 0 3px #a37a3c,0 0 15px #e8c87d44}body[data-trim=master-seal] .token{border:5px double #fff0b9;box-shadow:0 0 0 3px #9c7032,0 0 20px #e5bb6c55}body[data-trim=master-seal] .reputation-seal{border-radius:25%;border:4px double #ffe5a5;transform:rotate(-5deg)}@media(max-width:700px){.reputation-card{gap:10px;padding:14px;flex-wrap:wrap}.reputation-card strong{font-size:18px}.reputation-meter{min-width:110px}.reputation-card button{margin-left:auto}.reputation-card .eyebrow{font-size:8px}.suspect-heading>div{gap:5px;flex-wrap:wrap;justify-content:flex-end}}
.tile.manual-blocked{background:repeating-linear-gradient(45deg,#38152144 0 8px,#d4ad6e22 8px 9px)}.tile.manual-blocked:before{content:'×';position:absolute;inset:0;display:grid;place-content:center;color:#e0b77899;font:32px Georgia;pointer-events:none}.marking-mode .tile:not(:disabled){cursor:crosshair}#markMode[aria-pressed=true]{border-color:#f4d49b;background:#79334c;color:#ffe6b8}.chief-review{display:flex;gap:13px;align-items:center;padding:12px;background:linear-gradient(110deg,#5e2938,#2b111b);border:1px solid #cfb178;margin:14px 0;position:sticky;top:38px;z-index:21}.chief-review[hidden]{display:none}.chief-review strong{display:block;font:18px Georgia;color:#f4dca8}.chief-review small{display:block;margin-top:3px;color:#d8c3a6}.chief-shield{display:grid;place-content:center;width:42px;height:45px;border:3px double #ddbd80;border-radius:40% 40% 50% 50%;color:#ffe0a2;font:28px Georgia}.reviewing button,.reviewing select{pointer-events:none}.review-correct .token{border-color:#c2df9f;box-shadow:0 0 0 4px #6e9a55,0 0 20px #b3da7d77}.review-wrong .token{border-color:#ffc3a6;box-shadow:0 0 0 4px #b14d50,0 0 20px #e65c5c66}.review-badge{position:absolute;right:6px;bottom:8px;z-index:12;background:#2f1b21;border:1px solid #e6c58d;border-radius:50%;width:24px;height:24px;display:grid;place-content:center;color:#ffe4b8;font:18px Georgia}.review-correct .review-badge{background:#425c30}.review-wrong .review-badge{background:#842f42}

.show-room-names .room-labels{display:block}.room-label{background:#36121de8;border-color:#d3ad70;color:#f3ddb6}#roomNames[aria-pressed=true]{border-color:#efce92;background:#793047}.map-tools{flex-wrap:wrap;justify-content:flex-end}
