:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}html,body,#root{min-height:100%}body{margin:0}:root{--ink:#22212b;--ink-soft:#4f4b58;--paper:#fbfaf5;--paper-warm:#fff6dc;--surface:#fffdf8;--surface-clean:#fff;--nav-bg:#fbfaf5f0;--nav-link-bg:#fff;--grid-line-soft:#22212b6b;--paper-grid:#22212b09;--paper-speckle:#22212b14;--glow-mint:#b9ece861;--glow-gold:#ffde9757;--mint:#b9ece8;--mint-strong:#45c2c0;--cream:#fff5dc;--pink:#f4d6de;--lilac:#e7e2ef;--blue:#dceff2;--green:#d9ead3;--case-tan:#d7caac;--gold:#d8b64f;--red:#e26165;--line:#22212b;--shadow:5px 6px 0 #22212b80;--shadow-soft:3px 4px 0 #22212b2e;--shadow-hover:2px 2px 0 #22212b61;--radius:8px;--rounded-font:"Arial Rounded MT Bold", "Trebuchet MS", "Nunito", ui-rounded, system-ui, sans-serif;--body-font:"Trebuchet MS", "Nunito", ui-rounded, system-ui, sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f7f0df;--ink-soft:#cfc4ae;--paper:#14151d;--paper-warm:#272131;--surface:#202231;--surface-clean:#1a1c28;--nav-bg:#14151df0;--nav-link-bg:#202231;--grid-line-soft:#f7f0df57;--paper-grid:#f7f0df0e;--paper-speckle:#f7f0df17;--glow-mint:#45c2c038;--glow-gold:#d8b64f30;--mint:#225f64;--mint-strong:#6de3dd;--cream:#3d3324;--pink:#51303f;--lilac:#34304b;--blue:#263f50;--green:#2f4935;--case-tan:#554936;--gold:#e2bf55;--red:#ff7b7f;--line:#f7f0df;--shadow:5px 6px 0 #0000009e;--shadow-soft:3px 4px 0 #0000006b;--shadow-hover:2px 2px 0 #0000008c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--ink);background:linear-gradient(var(--paper-grid) 1px, transparent 1px), linear-gradient(90deg, var(--paper-grid) 1px, transparent 1px), radial-gradient(900px 620px at 10% 22%, var(--glow-mint), transparent 60%), radial-gradient(920px 650px at 96% 14%, var(--glow-gold), transparent 62%), var(--paper);font-family:var(--body-font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-size:28px 28px,28px 28px,auto,auto,auto;margin:0;font-weight:700}body:before{content:"";pointer-events:none;opacity:.28;background-image:radial-gradient(var(--paper-speckle) .8px, transparent 1px);background-size:8px 8px;position:fixed;inset:0}button,a{font:inherit}a{color:inherit;text-decoration:none}.topbar{z-index:10;border-bottom:3px solid var(--line);background:var(--nav-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;gap:24px;min-height:58px;padding:10px clamp(12px,3vw,28px);display:flex;position:sticky;top:0}.brand{color:var(--ink);font-family:var(--rounded-font);letter-spacing:-.04em;align-items:center;gap:10px;font-size:clamp(1.2rem,2.4vw,1.75rem);font-weight:950;display:inline-flex}.brandMark{border:3px solid var(--line);width:34px;height:34px;color:var(--ink);background:var(--mint);box-shadow:2px 3px 0 var(--red);letter-spacing:-.02em;border-radius:999px;place-items:center;font-size:.78rem;display:grid}.navLinks,.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.navLinks{font-size:.92rem}.navLinks>a:not(.button){border:2px solid var(--line);background:var(--surface-clean);min-height:36px;box-shadow:var(--shadow-soft);border-radius:7px;align-items:center;padding:.45rem .85rem;display:inline-flex}.button{border:3px solid var(--line);min-height:44px;color:var(--ink);background:var(--surface-clean);box-shadow:var(--shadow-soft);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:.78rem 1.05rem;font-weight:950;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.button:hover{box-shadow:var(--shadow-hover);transform:translate(1px,1px)}.buttonPrimary{background:var(--mint-strong)}.buttonGhost{background:var(--cream)}.themeToggle{background:var(--lilac);gap:.45rem}.themeToggle[aria-pressed=true]{background:var(--case-tan)}.section{padding:clamp(46px,7vw,92px) clamp(18px,8vw,120px)}.hero{grid-template-columns:minmax(0,.94fr) minmax(320px,.9fr);align-items:center;gap:clamp(30px,6vw,76px);min-height:calc(100vh - 60px);display:grid}.eyebrow{border:3px solid var(--line);width:fit-content;color:var(--ink);background:var(--mint);font-family:var(--rounded-font);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin:0 0 16px;padding:.34rem .72rem;font-size:.76rem;font-weight:950}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--rounded-font);letter-spacing:-.055em;font-weight:950}h1{text-wrap:balance;max-width:760px;margin-bottom:22px;font-size:clamp(3.5rem,8vw,6.7rem);line-height:.94}h1 span{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);text-underline-offset:.06em;text-decoration-thickness:.14em}.lead{max-width:660px;color:var(--ink-soft);font-size:clamp(1.1rem,1.8vw,1.32rem);line-height:1.62}.smallLead{max-width:620px;font-size:1.02rem}.heroCopy .actions{margin-top:28px}.evidencePanel{border:4px solid var(--line);background:var(--surface-clean);box-shadow:var(--shadow);border-radius:10px;padding:16px;position:relative;transform:rotate(1deg)}.evidencePanel:before,.evidencePanel:after{content:"";z-index:2;border:3px solid var(--line);background:var(--red);border-radius:999px;width:26px;height:26px;position:absolute}.evidencePanel:before{top:26px;left:34px}.evidencePanel:after{background:var(--gold);top:74px;right:44px}.caseBoard{border:4px solid var(--line);background:var(--line);grid-template-columns:repeat(5,1fr);gap:0;display:grid;overflow:hidden}.cell{aspect-ratio:1;border-right:2px solid var(--grid-line-soft);border-bottom:2px solid var(--grid-line-soft);color:var(--ink);background:var(--cream);font-family:var(--rounded-font);place-items:center;font-size:clamp(1.1rem,2.2vw,1.7rem);font-weight:950;display:grid}.cell:nth-child(5n){border-right:0}.cell:nth-child(n+21){border-bottom:0}.cell:nth-child(3n){background:var(--pink)}.cell:nth-child(4n){background:var(--blue)}.cell:nth-child(7n){background:var(--green)}.cellHot{position:relative;background:var(--mint)!important}.cellHot:before{content:"";border:3px dashed color-mix(in srgb, var(--line) 42%, transparent);border-radius:999px;position:absolute;inset:8px}.cellBad:after{content:"×";color:var(--red);font-size:2.1rem}.clueCard{border:3px solid var(--line);color:var(--ink);background:var(--cream);box-shadow:var(--shadow-soft);border-radius:8px;gap:6px;margin-top:14px;padding:14px 16px;display:grid}.clueCard strong{color:var(--ink);font-family:var(--rounded-font);letter-spacing:.02em;text-transform:uppercase;font-size:.84rem}.sectionHeader{max-width:900px;margin-bottom:26px}.sectionHeader h2,.continueCase h2{margin-bottom:0;font-size:clamp(2.45rem,5vw,4.7rem);line-height:1}.stepGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.card,.quickCard{border:4px solid var(--line);border-radius:var(--radius);background:var(--surface-clean);box-shadow:var(--shadow-soft)}.card{padding:22px}.card:first-child{background:var(--cream)}.card:nth-child(2){background:var(--mint)}.card:nth-child(3){background:var(--pink)}.cardNumber{border:3px solid var(--line);background:var(--surface-clean);min-width:42px;height:42px;font-family:var(--rounded-font);border-radius:7px;place-items:center;margin-bottom:12px;font-weight:950;display:inline-grid}.card h3{margin:0 0 10px;font-size:1.9rem;line-height:1.02}.card p,.quickCard span{color:var(--ink-soft);line-height:1.55}.caseSelect{min-height:calc(100vh - 60px);padding-inline:clamp(16px,4vw,72px)}.caseSelectHeader{text-align:center;justify-items:center;max-width:760px;margin:0 auto 24px;display:grid}.caseSelectHeader .eyebrow{margin-bottom:10px}.caseSelectHeader h1{margin-bottom:10px;font-size:clamp(2.7rem,5.4vw,5rem)}.caseSelectHeader>p{max-width:560px;color:var(--ink-soft);margin-bottom:10px;line-height:1.5}.caseStats{font-family:var(--rounded-font);justify-content:center;align-items:center;gap:14px;display:flex}.caseStats strong,.caseStats span{border:3px solid var(--line);background:var(--surface-clean);min-height:32px;box-shadow:var(--shadow-soft);border-radius:999px;align-items:center;padding:0 .72rem;display:inline-flex}.caseStats span{color:var(--mint-strong);background:var(--cream)}.caseControls{justify-items:center;gap:14px;margin-bottom:32px;display:grid}.difficultyFilters,.sortRow{flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;display:flex}.filterButton,.sortRow select{border:3px solid var(--line);min-height:38px;color:var(--ink);background:var(--surface-clean);box-shadow:var(--shadow-soft);border-radius:8px;padding:.45rem .78rem;font-weight:950}.filterButton{cursor:pointer}.filterButtonActive{background:var(--gold)}.sortRow label{color:var(--ink-soft);font-size:.9rem}.caseGrid{grid-template-columns:repeat(5,minmax(190px,1fr));gap:clamp(18px,2vw,26px);max-width:1380px;margin:0 auto;display:grid}.caseCard{border:4px solid var(--line);min-height:332px;color:var(--ink);background:var(--paper-warm);box-shadow:var(--shadow);border-radius:12px;position:relative;overflow:hidden}.playableCase,.lockedCase{text-align:center;align-content:start;gap:10px;padding:16px;display:grid}.caseThumb{border:3px solid var(--line);background:var(--surface-clean);border-radius:8px;padding:8px}.caseThumb .caseBoard{border-width:3px}.caseThumb .cell{font-size:.9rem}.caseCard h2{letter-spacing:-.04em;overflow-wrap:anywhere;margin:0;font-size:1.05rem;line-height:1}.playableCase h2{white-space:normal;font-size:.92rem}.playableCase .caseMeta{font-size:.68rem}.caseMeta{color:var(--ink-soft);flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;margin:0;font-size:.78rem;display:flex}.difficultyTag{border:2px solid var(--mint-strong);color:var(--mint-strong);background:var(--surface-clean);text-transform:uppercase;border-radius:999px;padding:.12rem .38rem}.casePlayButton{justify-self:center;min-height:38px;padding:.52rem .72rem;font-size:.86rem}.envelopeCase{cursor:pointer;text-transform:uppercase;align-content:center;justify-items:center;gap:8px;padding:92px 18px 34px;display:grid}.envelopeCase:before,.envelopeCase:after{content:"";border:3px solid color-mix(in srgb, var(--line) 35%, transparent);background:color-mix(in srgb, var(--case-tan) 82%, var(--surface-clean));height:58%;position:absolute;left:-8%;right:-8%}.envelopeCase:before{transform-origin:0 0;top:0;transform:skewY(18deg)translateY(-50%)}.envelopeCase:after{background:var(--case-tan);height:70%;bottom:-8%}.envelopeCase>strong,.envelopeCase>span:not(.envelopePeek){z-index:2;position:relative}.envelopeCase strong{max-width:160px;font-family:var(--rounded-font);letter-spacing:-.01em;font-size:clamp(1.08rem,1.35vw,1.48rem);line-height:1}.envelopeCase>span:not(.envelopePeek){color:var(--ink-soft);font-size:.78rem}.envelopePeek{z-index:1;position:absolute;top:-8px;left:12%;right:12%;transform:rotate(1deg)}.envelopePeek .caseBoard{border-width:3px}.envelopePeek .cell{font-size:.8rem}.lockedCase{background:var(--lilac);align-content:center}.lockedBadge{border:3px solid var(--line);background:var(--surface-clean);box-shadow:var(--shadow-soft);border-radius:999px;justify-self:center;padding:.45rem .8rem}.appHome,.playScreen{min-height:calc(100vh - 60px)}.appShell{border:4px solid var(--line);background:var(--surface);max-width:1240px;box-shadow:var(--shadow);border-radius:10px;margin:0 auto;overflow:hidden}.appShellStandalone{background:linear-gradient(var(--paper-grid) 1px, transparent 1px), linear-gradient(90deg, var(--paper-grid) 1px, transparent 1px), var(--surface);background-size:24px 24px}.appHeader{border-bottom:4px solid var(--line);background:color-mix(in srgb, var(--surface-clean) 80%, transparent);justify-content:space-between;align-items:center;gap:16px;padding:16px 22px;display:flex}.pill{border:3px solid var(--line);min-height:34px;color:var(--ink);background:var(--cream);border-radius:999px;align-items:center;padding:0 .78rem;font-size:.9rem;display:inline-flex}.homeGrid{grid-template-columns:1.05fr .95fr;gap:22px;padding:24px;display:grid}.homeGridStandalone{align-items:stretch}.continueCase{border:4px solid var(--line);background:var(--paper-warm);min-height:350px;box-shadow:var(--shadow-soft);border-radius:10px;padding:clamp(22px,4vw,34px)}.continueCase h1{margin-bottom:12px;font-size:clamp(3rem,6vw,5.4rem)}.continueCase h2{color:var(--ink-soft);margin-bottom:14px;font-size:clamp(1.8rem,3.4vw,3rem)}.continueCase .actions{margin-top:24px}.stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px;display:grid}.stats div{border:3px solid var(--line);background:var(--surface-clean);border-radius:8px;padding:14px}.stats strong{color:var(--ink);font-family:var(--rounded-font);font-size:2rem;line-height:1;display:block}.stats span{color:var(--ink-soft);font-size:.9rem}.homeSidebar{gap:16px;display:grid}.miniBoardCard{border:4px solid var(--line);background:var(--lilac);box-shadow:var(--shadow-soft);border-radius:10px;padding:14px}.miniBoardCard p{color:var(--ink-soft);margin:12px 0 0}.quickGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.quickGridStandalone .quickCard:first-child{background:var(--mint)}.quickGridStandalone .quickCard:nth-child(2){background:var(--cream)}.quickGridStandalone .quickCard:nth-child(3){background:var(--pink)}.quickGridStandalone .quickCard:nth-child(4){background:var(--blue)}.quickCard{min-height:138px;color:var(--ink);text-align:left;cursor:pointer;padding:18px;transition:transform .12s,box-shadow .12s}.quickCard:hover{box-shadow:var(--shadow-hover);transform:translate(1px,1px)}.quickCard strong{font-family:var(--rounded-font);margin-bottom:8px;font-size:1.35rem;line-height:1.05;display:block}.playScreen{min-height:calc(100vh - 60px);padding:clamp(18px,3vw,32px)}.playHeader{justify-content:space-between;align-items:flex-end;gap:18px;max-width:1440px;margin:0 auto 18px;display:flex}.playHeader .eyebrow{margin-bottom:8px}.playHeader h1{margin-bottom:0;font-size:clamp(2.5rem,5vw,4.6rem)}.gameLayout{grid-template-columns:minmax(260px,.92fr) minmax(420px,1.55fr) minmax(230px,.55fr);align-items:stretch;gap:clamp(16px,2.4vw,28px);max-width:1440px;margin:0 auto;display:grid}.suspectsPanel,.boardPanel,.toolsPanel{border:4px solid var(--line);background:var(--surface-clean);min-width:0;box-shadow:var(--shadow-soft);border-radius:12px}.suspectsPanel,.toolsPanel{padding:16px}.boardPanel{background:linear-gradient(var(--paper-grid) 1px, transparent 1px), linear-gradient(90deg, var(--paper-grid) 1px, transparent 1px), var(--surface);background-size:22px 22px;padding:clamp(14px,2vw,22px)}.panelHeader{align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.panelHeader h2{margin:0 0 4px;font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:.95}.panelHeader p{color:var(--ink-soft);margin:0;font-size:.86rem;line-height:1.35}.panelKicker{border:3px solid var(--line);background:var(--mint);min-width:36px;height:36px;box-shadow:2px 2px 0 var(--red);font-family:var(--rounded-font);border-radius:8px;flex:none;place-items:center;font-weight:950;display:inline-grid}.suspectGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.suspectCard{border:3px solid var(--line);background:var(--cream);box-shadow:var(--shadow-soft);border-radius:10px;gap:8px;padding:10px;display:grid}.suspectCard:nth-child(2n){background:var(--blue)}.suspectCard:nth-child(3n){background:var(--pink)}.portrait{aspect-ratio:1/.78;border:3px solid var(--line);background:radial-gradient(circle at 50% 38%, var(--surface-clean) 0 19%, transparent 20%), linear-gradient(135deg, var(--lilac), var(--mint));border-radius:8px;place-items:center;display:grid}.portrait span{border:3px solid var(--line);background:var(--surface-clean);width:48px;height:48px;font-family:var(--rounded-font);border-radius:999px;place-items:center;font-size:1.65rem;font-weight:950;display:grid}.portrait-coral{background:linear-gradient(135deg, var(--red), var(--pink))}.portrait-mint{background:linear-gradient(135deg, var(--mint), var(--green))}.portrait-blue{background:linear-gradient(135deg, var(--blue), var(--mint))}.portrait-lilac{background:linear-gradient(135deg, var(--lilac), var(--blue))}.portrait-gold{background:linear-gradient(135deg, var(--gold), var(--cream))}.suspectNameRow{justify-content:space-between;align-items:center;gap:8px;display:flex}.suspectNameRow h3{letter-spacing:-.04em;margin:0;font-size:1.18rem}.victimBadge{border:2px solid var(--line);background:var(--surface-clean);color:var(--red);text-transform:uppercase;border-radius:999px;padding:.16rem .42rem;font-size:.68rem}.suspectCard p{color:var(--ink-soft);margin:0;font-size:.84rem;line-height:1.28}.mysteryBoard{aspect-ratio:1;border:5px solid var(--line);background:var(--line);box-shadow:var(--shadow);grid-template-columns:repeat(5,1fr);display:grid;position:relative;overflow:hidden}.boardSquare{border:0;border-right:3px solid var(--line);border-bottom:3px solid var(--line);min-width:0;color:var(--ink);background:var(--cream);cursor:pointer;position:relative}.boardSquare:nth-child(5n){border-right:0}.boardSquare:nth-child(n+21){border-bottom:0}.boardSquare:hover{z-index:1;outline:4px solid var(--red);outline-offset:-8px}.square-1{background:var(--case-tan)}.square-2{background:var(--paper-warm)}.square-3{background:var(--blue)}.square-4{background:var(--green)}.boardProp,.boardMark{border:3px solid var(--line);background:var(--surface-clean);box-shadow:var(--shadow-soft);border-radius:999px;place-items:center;font-size:clamp(1.2rem,3vw,2rem);display:grid;position:absolute;inset:22%}.boardMark{color:var(--red);background:var(--pink)}.roomLabel{z-index:2;color:var(--surface-clean);background:var(--line);font-family:var(--rounded-font);letter-spacing:-.05em;text-transform:uppercase;border-radius:6px;padding:.12rem .42rem;font-size:clamp(.84rem,1.7vw,1.35rem);font-weight:950;position:absolute}.topLeft{top:35%;left:3%}.topRight{top:24%;right:5%}.midRight{top:58%;right:8%}.bottomLeft{bottom:5%;left:4%}.bottomRight{bottom:5%;right:7%}.compactHeader{display:grid}.compactHeader h2{font-size:clamp(1.5rem,2vw,1.9rem)}.toolStack{gap:10px;display:grid}.toolButton{border:3px solid var(--line);min-height:82px;color:var(--ink);background:var(--surface-clean);box-shadow:var(--shadow-soft);cursor:pointer;text-align:center;border-radius:10px;gap:4px;padding:10px;transition:transform .12s,box-shadow .12s;display:grid}.toolButton:hover{box-shadow:var(--shadow-hover);transform:translate(1px,1px)}.toolButton span{font-size:1.55rem;line-height:1}.toolButton strong{font-family:var(--rounded-font);font-size:.92rem;line-height:1}.toolButton small{color:var(--ink-soft);font-size:.68rem;line-height:1.2}@media (width<=1180px){.caseGrid{grid-template-columns:repeat(3,minmax(180px,1fr))}}@media (width<=920px){.hero,.homeGrid,.gameLayout{grid-template-columns:1fr}.hero{min-height:auto}.stepGrid{grid-template-columns:1fr}}@media (width<=640px){.topbar,.appHeader{flex-direction:column;align-items:flex-start}.navLinks a:not(.button){display:none}.section{padding-inline:16px}h1{font-size:3rem}.homeGrid{padding:14px}.quickGrid,.stats,.suspectGrid,.caseGrid{grid-template-columns:1fr}.caseStats,.sortRow{flex-direction:column;align-items:stretch}.playHeader{flex-direction:column;align-items:flex-start}.playScreen{padding-inline:16px}.evidencePanel{transform:none}}
