:root{--paper:#f3ede2;--panel:#fbf7f0;--card:#efe3c8;--card-edge:#d6c39b;--ink:#221d17;--muted:#6d6356;--line:#d8cdb9;--guilty:#b0291f;--guilty-bg:#f3d9d3;--clear:#2d6a3e;--clear-bg:#d9eadb;--accent:#8a5a12;--hint:#d99a0b;--focus:#1f5fbf;--tag-1:#e0a526;--tag-2:#3a7bd5;--tag-3:#c2448f;--shadow:0 1px 0 #3c280a1f, 0 2px 6px #3c280a14;--font-display:"Special Elite", "Courier New", monospace;--font-body:"Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#17150f;--panel:#201d16;--card:#2c271d;--card-edge:#4a4130;--ink:#eee6d6;--muted:#a99d89;--line:#3a342a;--guilty:#ff8a7d;--guilty-bg:#4a221d;--clear:#8fd3a0;--clear-bg:#1f3a27;--accent:#e0b25c;--hint:#f2b73a;--focus:#7fb0ff;--shadow:0 1px 0 #0006, 0 2px 8px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-text-size-adjust:100%;margin:0;font-size:16px;line-height:1.45}button{font:inherit;color:inherit}a{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}kbd{font-family:var(--font-display);border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 4px;font-size:.85em}.page{max-width:720px;margin:0 auto;padding:24px 16px 64px}.page__title{font-family:var(--font-display);margin:12px 0 4px;font-size:2.2rem;font-weight:400}.page__subtitle{font-family:var(--font-display);margin:32px 0 8px;font-size:1.3rem;font-weight:400}.page__lead{color:var(--muted);margin:0 0 24px}.link-back{color:var(--muted);font-size:.95rem;text-decoration:none}.link-back:hover{color:var(--ink)}.btn{border:1.5px solid var(--ink);background:var(--panel);cursor:pointer;letter-spacing:.01em;border-radius:6px;min-height:44px;padding:8px 16px;font-weight:700}.btn:hover:not(:disabled){background:var(--card)}.btn:disabled{opacity:.45;cursor:default}.btn--on{background:var(--ink);color:var(--paper)}.btn--on:hover:not(:disabled){background:var(--ink)}.btn--primary{background:var(--ink);color:var(--paper)}.btn--primary:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.btn--innocent{border-color:var(--clear);color:var(--clear)}.btn--innocent:hover:not(:disabled){background:var(--clear-bg)}.btn--criminal{border-color:var(--guilty);color:var(--guilty)}.btn--criminal:hover:not(:disabled){background:var(--guilty-bg)}.btn--ghost{color:var(--muted);background:0 0;border-color:#0000;font-weight:400}.hero{border-bottom:2px dashed var(--line);padding:32px 0 16px}.hero__kicker{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin:0;font-size:.75rem}.hero__title{font-family:var(--font-display);letter-spacing:.04em;margin:8px 0;font-size:clamp(3rem,14vw,5.5rem);font-weight:400;line-height:1}.hero__tagline{max-width:34ch;margin:0;font-size:1.15rem}.howto{margin:24px 0}.howto h2{font-family:var(--font-display);margin:0 0 8px;font-size:1.3rem;font-weight:400}.howto ol{margin:0 0 8px;padding-left:1.3em}.howto li{margin-bottom:4px}.levels{gap:12px;margin-top:24px;display:grid}@media (width>=640px){.levels{grid-template-columns:repeat(3,1fr)}}.level-card{border:1.5px solid var(--ink);background:var(--panel);color:var(--ink);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:6px;padding:18px 16px;text-decoration:none;transition:transform .12s;display:flex;position:relative}.level-card:hover{transform:translateY(-2px)}.level-card:before{content:"";background:var(--clear);border-radius:6px 6px 0 0;height:6px;position:absolute;inset:0 0 auto}.level-card--hard:before{background:var(--accent)}.level-card--expert:before{background:var(--guilty)}.level-card__name{font-family:var(--font-display);font-size:1.6rem}.level-card__blurb{color:var(--muted);flex:1;font-size:.95rem}.level-card__progress{font-size:.9rem;font-weight:700}.cases{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.case{border:1.5px solid var(--card-edge);background:var(--card);min-height:76px;color:var(--ink);border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;padding:14px;text-decoration:none;display:flex}.case:hover{border-color:var(--ink)}.case__no{font-family:var(--font-display);font-size:1.4rem}.case__state{color:var(--muted);font-size:.85rem}.case--solved{background:var(--clear-bg);border-color:var(--clear)}.case--solved .case__state{color:var(--clear);font-weight:700}.case--started .case__state{color:var(--accent);font-weight:700}.rules{padding-left:1.2em}.rules li{margin-bottom:6px}.glossary{gap:10px;margin:0;display:grid}.glossary div{border-left:3px solid var(--card-edge);padding-left:10px}.glossary dt{font-weight:700}.glossary dd{color:var(--muted);margin:0}.play{max-width:760px;margin:0 auto;padding:12px 16px 96px}.play__bar{border-bottom:2px dashed var(--line);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:10px;display:flex}.play__title{font-family:var(--font-display);text-align:center;flex:1;margin:0;font-size:1.5rem;font-weight:400}.play__stats{font-variant-numeric:tabular-nums;gap:12px;font-size:.95rem;font-weight:700;display:flex}.play__note{background:color-mix(in srgb, var(--hint) 18%, transparent);border-radius:6px;margin:0 0 10px;padding:8px 10px;font-size:.9rem}.board{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:8px;display:grid}.board>[role=gridcell]{min-width:0}.card{height:100%;position:relative}.card__main{border:1.5px solid var(--card-edge);background:var(--card);width:100%;height:100%;min-height:132px;box-shadow:var(--shadow);cursor:pointer;text-align:center;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:18px 6px 8px;transition:transform .1s,border-color .1s,opacity .15s;display:flex;position:relative;overflow:hidden}.card--unknown .card__main:hover{border-color:var(--ink);transform:translateY(-2px)}.card__cell{font-family:var(--font-display);color:var(--muted);font-size:.7rem;position:absolute;top:4px;left:6px}.card__head{flex-direction:column;align-items:center;min-width:0;max-width:100%;display:flex}.card__emoji{font-size:1.9rem;line-height:1.1}.card__name{text-overflow:ellipsis;max-width:100%;font-size:.95rem;font-weight:700;overflow:hidden}.card__job{color:var(--muted);font-size:.72rem}.card--innocent .card__main,.card--criminal .card__main{cursor:pointer;justify-content:flex-start}.card--innocent .card__head,.card--criminal .card__head{flex-flow:wrap;justify-content:center;column-gap:4px}.card--innocent .card__emoji,.card--criminal .card__emoji{font-size:1.1rem}.card--innocent .card__job,.card--criminal .card__job{display:none}.card--innocent .card__main{background:var(--clear-bg);border-color:var(--clear)}.card--criminal .card__main{background:var(--guilty-bg);border-color:var(--guilty)}.card__statement{overflow-wrap:anywhere;font-size:.82rem;line-height:1.3}.card--dim .card__main{opacity:.45}.card__tag{cursor:pointer;background:0 0;border:0;border-top-right-radius:6px;width:34px;height:34px;position:absolute;top:0;right:0}.card__tag:after{content:"";border:1.5px dashed var(--card-edge);border-radius:50%;width:12px;height:12px;position:absolute;top:6px;right:6px}.card[data-tag="1"] .card__tag:after{background:var(--tag-1);border:0}.card[data-tag="2"] .card__tag:after{background:var(--tag-2);border:0}.card[data-tag="3"] .card__tag:after{background:var(--tag-3);border:0}.card[data-tag="1"] .card__main{box-shadow:inset 0 0 0 2px var(--tag-1)}.card[data-tag="2"] .card__main{box-shadow:inset 0 0 0 2px var(--tag-2)}.card[data-tag="3"] .card__main{box-shadow:inset 0 0 0 2px var(--tag-3)}.card--source .card__main{border-color:var(--hint);box-shadow:0 0 0 3px var(--hint);opacity:1}.card--hinted .card__main{border-color:var(--hint);animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 4px var(--hint)}}.shake{animation:.4s shake}@keyframes shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.toolbar{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.toolbar .btn{flex:auto}.board-help{color:var(--muted);margin:10px 0 0;font-size:.85rem}mark.ref-name,mark.ref-job{color:inherit;background:0 0;font-weight:700}mark.ref-name{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:2px}mark.ref-job{color:var(--accent)}.toast{background:var(--ink);max-width:min(92vw,460px);color:var(--paper);box-shadow:var(--shadow);z-index:30;text-align:center;border-radius:8px;padding:12px 16px;font-weight:700;transition:transform .2s;position:fixed;bottom:20px;left:50%;transform:translate(-50%,140%)}.toast:not(.toast--show){visibility:hidden}.toast--show{transform:translate(-50%)}.toast--bad{background:var(--guilty);color:#fff}.toast--good{background:var(--clear);color:#fff}.error-banner{border:1.5px solid var(--guilty);background:var(--guilty-bg);color:var(--guilty);border-radius:6px;margin:0 0 12px;padding:10px 12px;font-weight:700}.sheet-backdrop{z-index:20;background:#140e0673;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}@media (width>=640px){.sheet-backdrop{align-items:center}}.sheet{background:var(--panel);border:1.5px solid var(--ink);text-align:center;width:min(100%,340px);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;align-items:center;gap:8px;max-height:calc(100vh - 32px);padding:20px;display:flex;overflow:auto}.sheet--wide{width:min(100%,460px)}.sheet__emoji{font-size:2.6rem}.sheet__name{font-family:var(--font-display);margin:0;font-size:1.5rem;font-weight:400}.sheet__job{color:var(--muted);margin:0}.sheet__actions{gap:10px;width:100%;margin-top:8px;display:flex}.sheet__actions .btn{flex:1}.inspect__quote{margin:4px 0 8px;font-size:1.1rem}.sheet .glossary{text-align:left;width:100%}.solved__stamp{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;color:var(--guilty);border:3px solid var(--guilty);margin:0;padding:2px 12px;animation:.3s ease-out stamp-in;transform:rotate(-6deg)}@keyframes stamp-in{0%{opacity:0;transform:rotate(-6deg)scale(2)}}.solved__stats{margin:0;font-weight:700}.solved__grid{margin:4px 0;font-family:inherit;font-size:1.4rem;line-height:1.2}@media (width<=600px){.play{padding:8px 8px 88px}.play__bar{margin-bottom:8px;padding-bottom:6px}.play__title{font-size:1.2rem}.board{gap:4px}.card__main{gap:2px;min-height:104px;padding:14px 3px 5px}.card__cell{font-size:.6rem;top:2px;left:4px}.card__emoji{font-size:1.45rem}.card__name{font-size:.8rem}.card__job{font-size:.64rem}.card--innocent .card__emoji,.card--criminal .card__emoji{font-size:.9rem}.card__statement{font-size:.66rem;line-height:1.22}.toolbar{margin-top:8px}.board-help{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
