:root{--ink:#211331;--deep:#160d23;--panel:#30203f;--panel2:#3c2a50;--purple:#8452ba;--lavender:#d6b7ff;--cream:#fff5e8;--muted:#bfb0ce;--gold:#ffd479;--success:#c3efd7;--line:#594168;--radius:20px;--sans:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}body{margin:0;color:var(--cream);background:var(--deep);font-family:var(--sans);font-size:16px;line-height:1.5}button,a,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button{color:inherit;border:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button{transition:background .18s,transform .18s}button:not(:disabled):hover{filter:brightness(1.1)}button:not(:disabled):active{transform:translateY(1px)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15}h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.6vw,68px);letter-spacing:-1.8px}h2{font-size:28px;font-family:var(--serif);font-weight:400}h3{font-size:22px;font-family:var(--serif);font-weight:400}em{color:var(--lavender);font-style:italic}p{line-height:1.65}h1:focus,h2:focus{outline:none}.icon{width:22px;height:22px;vertical-align:middle;flex-shrink:0}.small,small{font-size:13px;line-height:1.6}.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.1px;color:var(--lavender);line-height:1.6}.intro{color:var(--muted);font-size:17px;max-width:620px;margin-top:22px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:14px 24px;border-radius:12px;font-size:14px;font-weight:700}.primary{background:var(--lavender);color:var(--ink);box-shadow:0 5px 0 #674581}.primary .icon{filter:brightness(.25)}.secondary{background:var(--panel2);border:1px solid #735b87}.primary:disabled{opacity:.45;box-shadow:none}.text-button{background:transparent;padding:10px 0;font-size:14px;color:var(--lavender);display:inline-flex;align-items:center;gap:9px;min-height:44px}.pill{display:inline-flex;gap:8px;align-items:center;font-size:12px;padding:8px 14px;background:var(--panel);border:1px solid var(--line);border-radius:30px;white-space:normal}.topbar{height:94px;display:flex;align-items:center;gap:30px;max-width:1320px;margin:auto;padding:0 48px;border-bottom:1px solid #392746}.brand{display:flex;align-items:center;gap:12px;background:transparent;letter-spacing:2.5px;font-size:13px;text-align:left;line-height:1.25}.brand .icon{width:39px;height:39px}.brand b{display:block;font-size:10px;letter-spacing:4px;font-weight:400;margin-top:6px}.topbar nav{display:flex;margin-left:auto;gap:24px;align-items:center}.topbar nav button{background:transparent;color:var(--muted);font-size:13px;min-height:44px;padding:8px 0}.topbar nav button[aria-current]{color:var(--cream)}.topbar nav button[aria-current]:after{content:'';display:block;height:2px;background:var(--lavender);margin-top:6px}.star-total{background:#34233f;padding:8px 14px;border-radius:20px;color:var(--gold);display:flex;align-items:center;gap:7px;font-size:14px;font-weight:700}main{max-width:1224px;margin:0 auto;padding:0 0 60px;min-height:calc(100vh - 170px)}footer{max-width:1224px;margin:auto;padding:26px 0;border-top:1px solid #392746;color:#b7a5c5;font-size:11px;display:flex;justify-content:space-between}.hero{position:relative;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;min-height:495px;gap:35px;padding:35px 0 42px}.hero-copy{position:relative;z-index:1}.hero h1{margin-top:20px}.hero .intro{max-width:490px;font-size:16px}.hero-art{width:100%;filter:drop-shadow(0 24px 35px #05020866)}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:27px}.hero-actions .small{color:var(--muted)}.hero-stats{display:flex;gap:18px;font-size:11px;color:var(--muted);margin-top:28px;flex-wrap:wrap}.hero-stats .icon{width:16px;height:16px;margin-right:5px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.section-heading h2{margin-top:7px}.casebook{padding-top:25px}.case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:19px}.case-card{text-align:left;border-radius:16px;overflow:hidden;background:var(--panel);border:1px solid var(--line);padding:0;transition:transform .2s}.case-card:not(:disabled):hover{transform:translateY(-5px)}.case-card.locked{opacity:.62}.case-visual{height:142px;background:#4d3466;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.case-visual:before{content:'';position:absolute;border:1px solid #9c74bd55;border-radius:50%;width:220px;height:220px}.case-visual .icon{width:110px;height:110px;position:relative}.case-visual-1{background:#403350}.case-visual-2{background:#42314f}.case-visual-3{background:#49354f}.case-number{position:absolute;top:13px;left:15px;font-size:9px;letter-spacing:2px;color:#e1c6fc}.case-copy{padding:20px 17px}.case-copy .eyebrow{font-size:9px;letter-spacing:1.4px}.case-copy h3{margin-top:11px;font-size:23px;min-height:54px}.card-foot{display:flex;justify-content:space-between;gap:7px;font-size:10px;border-top:1px solid #60446e;margin-top:18px;padding-top:13px;color:var(--lavender)}.solved-tag{position:absolute;bottom:10px;right:12px;font-size:9px;background:var(--ink);color:var(--gold);padding:5px 8px;border-radius:4px}.brief-header{padding:52px 0 36px;max-width:830px}.brief-header h1{margin-top:15px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.brief-layout{display:grid;grid-template-columns:1.65fr 1fr;gap:48px}.mission-list{display:flex;flex-direction:column;gap:13px;margin:24px 0}.mission{display:flex;align-items:center;gap:18px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;text-align:left;width:100%}.mission:disabled{opacity:.55}.mission-icon,.round-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--panel2);border:1px solid var(--line);border-radius:15px;width:56px;height:56px}.mission-icon .icon,.round-icon .icon{width:32px;height:32px}.mission strong{display:block;font:24px var(--serif);margin:4px 0 8px}.mission small{color:var(--muted);display:block}.mission-status{margin-left:auto;color:var(--gold);font-size:13px}.dossier{align-self:start;position:relative;background:#30213b;border:1px solid #694772;border-radius:18px;padding:32px;margin-top:0}.dossier h2{margin:20px 0 28px}.stamp-mark{width:72px;height:72px;position:absolute;right:15px;top:-30px;transform:rotate(12deg)}.suspects{display:flex;flex-direction:column;gap:18px;margin-bottom:24px}.suspects>div{display:flex;align-items:center;gap:14px;font-size:13px}.suspects .icon{width:50px;height:54px;background:#4c365b;border-radius:12px}.four-stars{display:flex;gap:10px;justify-content:center;margin:24px auto 15px}.four-stars .icon{width:38px;height:38px}.dossier .small{text-align:center;color:var(--muted)}.practice-preview,.review-card{margin-top:35px;padding:24px;border:1px solid var(--line);border-radius:16px}.practice-preview p{color:var(--muted);margin-top:10px}.mini-phrases{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.mini-phrases button{background:var(--panel);border-radius:8px;padding:10px 12px;min-height:44px;text-align:left;font-size:13px}.mini-phrases .icon{width:16px;height:16px;margin-left:8px}.review-card p{margin-top:15px}.review-card .muted{display:block;font-size:13px}.game-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:25px}.progress-track{height:4px;background:#3b294a;border-radius:10px;margin-top:15px}.progress-track>div{height:100%;background:var(--gold);border-radius:10px}.game-heading{text-align:center;padding:28px 0}.game-heading h1{font-size:44px;margin-top:15px}.game-heading p{color:var(--muted);margin-top:12px;font-size:15px}.game-heading .round-icon{width:44px;height:44px}.game-heading .round-icon .icon{width:26px;height:26px}.play-area{max-width:820px;margin:auto;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 18px 70px #0002}.match-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px}.match-columns .eyebrow{margin-bottom:15px}.match-card{width:100%;min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff2df;color:#32213d;border:2px solid transparent;border-radius:10px;padding:13px 16px;text-align:left;margin-bottom:10px;font-size:15px}.match-card.translation{background:#493253;color:var(--cream);border:1px solid #78558d}.match-card.selected{border:3px solid var(--gold);background:#f8dcad;box-shadow:0 0 0 3px #ffd47922}.match-card.matched{background:#30483f;color:#d1efdc;border:1px solid #608770;opacity:.72}.match-card span:last-child{color:#74557e}.match-card.matched span:last-child{color:var(--success)}.hint-row{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;margin-top:12px}.feedback{max-width:820px;margin:20px auto 0;text-align:center;color:var(--muted);min-height:30px;font-size:14px}.feedback.positive{color:var(--success)}.next-row{text-align:center;margin-top:15px}.game-foot{text-align:center;color:var(--muted);font-size:12px;margin-top:24px}.tape-player{display:flex;gap:28px;align-items:center;justify-content:center;padding:8px 0 22px}.tape-art{width:170px;max-width:40%}.tape-copy h2{margin:12px 0}.wave{display:flex;gap:4px;align-items:center;height:50px}.wave i{display:block;width:4px;border-radius:5px;background:var(--lavender)}.audio-controls{display:flex;justify-content:center;gap:12px;margin:10px 0 22px}.audio-note{padding:15px 18px;background:#473349;border:1px solid #715578;border-radius:12px;font-size:13px;color:#ead9f0;margin:16px auto}.transcript-toggle{display:flex;margin:auto;font-size:13px}.transcript{border:1px dashed var(--gold);border-radius:10px;padding:12px;text-align:center;font-size:24px;font-family:var(--serif);margin:10px 0 20px;color:var(--gold)}.options{display:flex;flex-direction:column;gap:12px;margin-top:20px}.answer-option{display:flex;align-items:center;gap:16px;width:100%;text-align:left;min-height:60px;background:#483255;border:1px solid #77548a;border-radius:12px;padding:13px 18px;font-size:17px}.option-number{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;background:#2e1d3b;border-radius:7px;color:var(--lavender);font-size:12px}.answer-option.right{border-color:var(--success);background:#30483f}.answer-option.right>span:last-child{margin-left:auto}.note-prompt{text-align:center;margin:6px 0 28px}.note-prompt h2{margin:12px 0;font-size:32px}.note-prompt .small{color:var(--muted)}.sentence-slot{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;min-height:112px;background:#24182f;border:1px dashed #956ab5;border-radius:14px;padding:18px}.word-bank{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:28px 0}.word-tile{padding:13px 18px;background:#fff2de;border-radius:8px;box-shadow:0 4px 0 #c1a998;color:#30203e;min-height:50px;font-size:19px}.word-tile:disabled{opacity:.27}.word-tile.placed{background:var(--lavender);box-shadow:0 4px 0 #8b65a9}.word-tile.placed:disabled{opacity:1}.note-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.scenario{text-align:center;background:#402b4e;border:1px solid #77558a;border-radius:15px;padding:28px 32px}.scenario .round-icon{margin-bottom:20px}.scenario h2{font-size:28px;line-height:1.4;margin:15px auto;max-width:580px}.scenario .small{color:var(--muted)}.envelope-screen{max-width:720px;margin:auto;text-align:center;padding:45px 0}.envelope-art{width:180px;height:150px;margin:20px 0 10px}.envelope-screen h1{font-size:43px}.clue-paper{background:var(--cream);color:var(--ink);border-radius:6px;padding:30px 40px;margin:30px 0 24px;box-shadow:0 12px 40px #0003;transform:rotate(-1deg)}.clue-paper .eyebrow{color:#71488c;font-size:9px}.clue-paper h2{margin:15px}.clue-paper p{font-size:19px}.envelope-screen .intro{margin:20px auto}.envelope-screen>.text-button{display:flex;justify-content:center;margin:15px auto}.celebration{text-align:center;padding:38px 0;max-width:850px;margin:auto;position:relative}.celebration-glow{position:absolute;top:0;left:0;width:100%;height:470px;z-index:-1;background:radial-gradient(ellipse at center,#75459a55,transparent 67%)}.trophy{height:140px;margin-top:20px}.celebration .four-stars{margin:8px auto 13px}.celebration h1{font-size:clamp(65px,7vw,100px);color:var(--gold)}.celebration .intro{margin:14px auto}.reward-chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:24px 0}.reward-chips .pill{border-color:#8b6c4e;color:var(--gold);background:#3a2b37}.reveal{text-align:left;max-width:650px;margin:28px auto;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:28px 32px}.reveal h2{font-size:29px;margin:12px 0}.reveal p:not(.eyebrow){color:var(--muted);font-size:14px}.reveal details{margin-top:15px;font-size:13px;color:var(--lavender)}summary{cursor:pointer;min-height:44px;padding:10px 0}details li{margin-bottom:10px;line-height:1.6}.celebration-actions{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.celebration>.text-button{margin:15px auto}.phrase-section{margin:20px 0 40px}.phrase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.phrase-card{display:flex;justify-content:space-between;gap:14px;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.phrase-card h3{font-size:23px;line-height:1.35}.phrase-card details{font-size:13px;color:var(--lavender);margin-top:12px}.phrase-card details p{color:var(--cream)}.phrase-card small{color:var(--muted);display:block;margin-top:9px}.phrase-audio{display:flex;flex-direction:column;gap:10px}.phrase-audio button{background:var(--panel2);border-radius:8px;min-width:44px;min-height:44px;font-size:11px}.settings-screen{max-width:760px;margin:auto;padding:60px 0}.settings-screen h1{margin:20px 0 35px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:25px 0;border-top:1px solid var(--line)}.setting-row h2{font-size:25px;margin-bottom:12px}.setting-row p{font-size:14px;color:var(--muted)}.toggle{min-width:70px;padding:12px 18px;border-radius:30px;background:var(--panel2);border:1px solid var(--line)}.toggle[aria-checked=true]{background:var(--lavender);color:var(--ink)}#particles{position:fixed;inset:0;z-index:100;pointer-events:none;overflow:hidden}.falling-star{position:absolute;top:-50px;animation:fall linear both}@keyframes fall{from{transform:translateY(-5vh) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(500deg);opacity:0}}.still *{animation:none!important;transition:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-90px;left:20px;z-index:150;color:var(--ink);background:var(--gold);padding:14px}.skip:focus{top:15px}
@media(max-width:1320px){main,footer{margin-left:40px;margin-right:40px}.topbar{padding:0 40px}.hero h1{font-size:53px}}
@media(max-width:1000px){.hero h1{font-size:44px}.hero{gap:10px;min-height:440px}.hero-stats{gap:10px}.case-grid{grid-template-columns:repeat(2,1fr)}.brief-layout{gap:25px;grid-template-columns:1.4fr 1fr}.dossier{padding:22px}.phrase-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){main,footer{margin-left:20px;margin-right:20px}.topbar{height:78px;padding:0 20px;gap:12px}.brand{font-size:11px;letter-spacing:1px;gap:8px}.brand b{letter-spacing:2px;font-size:9px}.brand .icon{width:30px;height:30px}.topbar nav{gap:12px}.topbar nav button{font-size:11px}.topbar nav button:first-child{display:none}.star-total{padding:7px 10px;font-size:12px}.star-total .icon{width:16px;height:16px}.hero{grid-template-columns:1fr;padding:35px 0 0;gap:0}.hero h1{font-size:47px;max-width:480px}.hero .intro{font-size:15px}.hero-art{max-width:440px;margin:5px auto -5px;max-height:340px}.hero-actions{gap:16px}.hero-stats{font-size:10px}.casebook{padding-top:20px}.section-heading{align-items:flex-start;gap:10px}.section-heading h2{font-size:27px}.section-heading>.pill{font-size:10px}.case-grid{gap:13px}.case-visual{height:120px}.case-copy{padding:16px 12px}.case-copy h3{font-size:21px;min-height:50px}.case-copy .eyebrow{font-size:8px;letter-spacing:1px}.card-foot{font-size:9px}.case-number{left:10px;font-size:8px}.brief-header{padding:35px 0}.brief-header h1{font-size:43px}.brief-layout{grid-template-columns:1fr}.dossier{margin-top:25px}.mission{padding:16px;gap:12px}.mission strong{font-size:22px}.mission-icon{width:44px;height:44px}.mission-status{font-size:11px}.game-top{flex-wrap:wrap}.game-top .eyebrow{font-size:8px;letter-spacing:1px;order:3;width:100%;text-align:center}.game-heading{padding:22px 0}.game-heading h1{font-size:34px}.game-heading p{font-size:13px}.play-area{padding:18px 14px;border-radius:17px}.match-columns{gap:10px}.match-columns .eyebrow{font-size:8px;letter-spacing:1px}.match-card{font-size:13px;min-height:70px;padding:10px;gap:5px}.match-card span:last-child{font-size:12px}.hint-row{gap:10px}.hint-row .text-button{font-size:12px}.tape-player{gap:16px}.tape-art{width:120px}.tape-copy h2{font-size:23px}.wave{gap:3px}.wave i{width:3px}.tape-copy .eyebrow{font-size:8px;letter-spacing:1px}.audio-controls{gap:10px}.audio-controls button{padding:12px;font-size:12px}.answer-option{font-size:16px;gap:12px;padding:13px}.note-prompt h2{font-size:26px}.word-tile{font-size:17px;padding:11px 13px}.note-actions{justify-content:center;gap:8px 18px}.note-actions .primary{width:100%}.scenario{padding:20px 15px}.scenario h2{font-size:24px}.envelope-screen h1{font-size:35px}.clue-paper{padding:26px 23px}.clue-paper p{font-size:17px}.celebration{padding-top:30px}.celebration .eyebrow{font-size:8px;letter-spacing:1.4px}.celebration h1{font-size:70px}.reveal{padding:24px}.reveal h2{font-size:27px}.celebration-actions{flex-direction:column}.phrase-grid{grid-template-columns:1fr}.phrase-card{padding:21px}.settings-screen{padding:35px 0}.setting-row{gap:20px}.setting-row h2{font-size:23px}.setting-row p{font-size:13px}footer{flex-direction:column;gap:8px;font-size:10px}.feedback{font-size:13px}.primary,.secondary{min-height:48px}.game-foot{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:380px){.topbar{height:auto;min-height:106px;flex-wrap:wrap;padding:13px 16px 7px;gap:5px 12px}.topbar nav{order:3;width:100%;justify-content:flex-end;gap:20px}.topbar nav button{min-height:32px}.star-total{margin-left:auto}.hero h1{font-size:42px}.case-grid{grid-template-columns:1fr}.case-copy h3{min-height:0}.case-visual{height:135px}.match-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.play-area{padding:16px 10px}.match-card{font-size:12px;padding:8px}.match-card span{overflow-wrap:anywhere}.game-top>.eyebrow{overflow-wrap:anywhere}.note-actions .text-button{font-size:12px}.celebration h1{font-size:61px}}
