@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#101e21;--panel:#17282b;--line:#354244;--gold:#c5a76d;--paper:#eee9dd;--muted:#a5b3b0;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--sans);font-size:14px;line-height:1.65}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{color:inherit}a{color:inherit;text-decoration:none}.top{min-height:90px;border-bottom:1px solid var(--line);padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{font-size:13px;letter-spacing:2.7px;font-weight:600;display:flex;align-items:center;gap:15px}.brand small{font-size:9px;color:var(--muted);font-weight:400;border-left:1px solid var(--line);padding-left:17px}.brandmark{font-size:31px;color:var(--gold)}.top-actions{display:flex;align-items:center;gap:20px;font-size:11px}.quiet{background:none;border:0;padding:8px 0;color:var(--muted);font-size:12px}.quiet:hover{color:var(--gold)}.eyebrow{color:var(--gold);font-size:10px;font-weight:600;letter-spacing:2.7px;text-transform:uppercase}.hero{min-height:680px;display:grid;grid-template-columns:.9fr 1.1fr;max-width:1440px;margin:auto;position:relative}.hero-copy{padding:75px 7% 62px 11%;position:relative;z-index:1}.hero h1{font-family:var(--serif);font-size:clamp(62px,6.3vw,94px);font-weight:400;line-height:.99;letter-spacing:-2px;margin:24px 0}.hero h1 em{color:var(--gold);font-weight:400}.intro{color:#bec7c3;font-size:14px;max-width:360px;line-height:1.9}.hero-art{position:relative;overflow:hidden;background:#11292c;min-height:580px}.hero-art svg{height:100%;width:100%;position:absolute;object-fit:cover}.hero-art:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--bg),transparent 24%),linear-gradient(0deg,var(--bg),transparent 35%)}.art-caption{position:absolute;bottom:45px;left:80px;z-index:1;letter-spacing:3px;color:#b8c7bc;font-size:10px}.name-form{margin-top:30px;max-width:360px}.name-form label{display:block;color:var(--muted);font-size:11px;margin-bottom:9px}.input{background:#102024;border:1px solid #56605b;border-radius:2px;color:var(--paper);padding:13px 15px;width:100%;outline:none}.input:focus{border-color:var(--gold);box-shadow:0 0 0 2px #c5a76d22}.primary{background:var(--gold);color:#172025;border:1px solid var(--gold);padding:13px 23px;letter-spacing:.4px;font-weight:600;border-radius:2px}.primary:hover{background:#dac18d}.name-form .primary{width:100%;margin-top:12px;display:flex;justify-content:space-between}.meta{display:flex;gap:21px;margin-top:25px;color:var(--muted);font-size:10px}.hero-bottom{border-top:1px solid var(--line);padding:26px 5%;display:flex;justify-content:space-between;color:var(--muted);font-size:11px;gap:25px}.hero-bottom strong{color:var(--paper);font-weight:400}.shell{max-width:1440px;margin:auto;padding:30px 5% 50px}.case-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.case-top h1{font-family:var(--serif);font-size:37px;font-weight:400;line-height:1.1;margin:7px 0}.progress{text-align:right;color:var(--muted);font-size:11px}.progress-track{width:150px;height:3px;background:#324144;margin-top:9px}.progress-fill{height:3px;background:var(--gold);transition:width .4s}.tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:27px}.tab{background:none;border:0;border-bottom:2px solid transparent;padding:12px 2px;color:var(--muted);font-size:12px}.tab.active{border-color:var(--gold);color:var(--gold)}.play-grid{display:grid;grid-template-columns:185px 1fr 245px;gap:24px}.room-nav{display:flex;flex-direction:column;gap:7px}.room-btn{background:none;text-align:left;border:1px solid transparent;padding:14px 12px;color:var(--muted);border-radius:2px}.room-btn.active{background:#213336;border-color:#48534b;color:var(--paper)}.room-btn span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.room-btn b{font-weight:500}.room-num{color:var(--gold);font-family:var(--serif);font-size:21px;display:inline!important;margin-right:10px}.scene{min-height:360px;position:relative;overflow:hidden;border:1px solid #3b4b49;background:#172d2d}.scene svg{width:100%;height:100%;position:absolute;inset:0}.scene-label{position:absolute;top:18px;left:20px;letter-spacing:2px;font-size:9px;color:#c2ccc6}.hotspot{position:absolute;border:1px solid #c5a76d99;background:#101f22e8;color:#e5d7b9;border-radius:30px;padding:7px 12px;font-size:11px;box-shadow:0 0 30px #0005;min-height:35px}.hotspot:before{content:'+';color:var(--gold);margin-right:7px;font-size:15px}.hotspot.found:before{content:'✓'}.hotspot:hover{background:#b89d65;color:#102024}.scene-caption{display:flex;justify-content:space-between;padding:13px 0;font-size:10px;color:var(--muted)}.room-description{font-family:var(--serif);font-size:23px;line-height:1.5;margin:10px 0;color:#d5d8cb}.side-card{border-top:1px solid var(--gold);padding-top:15px}.side-card h3{font-family:var(--serif);font-size:25px;font-weight:400;margin:10px 0}.side-card p{font-size:12px;color:var(--muted)}.small-label{font-size:9px;letter-spacing:2px;color:var(--gold)}.outline{border:1px solid #53605a;background:transparent;padding:10px 16px;border-radius:2px;color:#d8dacc;font-size:12px}.outline:hover{border-color:var(--gold);color:var(--gold)}.side-card .outline{width:100%;margin-top:10px}.note{margin-top:28px;padding:18px;background:#c5a76d0b;border:1px solid #c5a76d28;color:var(--muted);font-size:11px}.note strong{color:var(--gold);display:block;margin-bottom:6px;font-weight:500}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);padding:24px;background:#182a2c}.card h3{font-family:var(--serif);font-weight:400;font-size:27px;margin:12px 0 7px}.card p{font-size:12px;color:var(--muted)}.card .outline{margin-top:10px}.portrait{width:55px;height:55px;border-radius:50%;background:radial-gradient(circle at 40% 30%,#65706a,#233b3c);border:1px solid #718075;color:#d5c197;display:grid;place-items:center;font-family:var(--serif);font-size:27px}.evidence-number{color:var(--gold);font-family:var(--serif);font-size:25px}.empty{padding:60px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line)}.lead{font-family:var(--serif);font-size:28px;margin:0 0 23px;font-weight:400}.dialog-title{font-family:var(--serif);font-size:38px;line-height:1.15;font-weight:400;margin:13px 0 20px}dialog{color:var(--paper);background:#1a2b2d;border:1px solid #697268;border-radius:3px;padding:38px;max-width:580px;width:calc(100% - 32px);max-height:85vh;box-shadow:0 25px 100px #000a}dialog::backdrop{background:#071417dd;backdrop-filter:blur(7px)}.close{position:absolute;right:15px;top:9px;background:none;border:0;color:var(--muted);font-size:28px}dialog p{color:#bdc8c1;font-size:14px}dialog blockquote{margin:20px 0;border-left:2px solid var(--gold);padding:10px 18px;font-family:var(--serif);font-size:22px;color:#e0d7c3;background:#c5a76d08}dialog label{display:block;font-size:12px;color:var(--muted);margin:15px 0 8px}dialog .primary{margin-top:18px}.error{min-height:24px;color:#e2b996;font-size:12px;margin-top:9px}.hint{margin-top:15px;border-top:1px solid var(--line);padding-top:13px}.hint p{font-size:12px}.question{display:block;width:100%;text-align:left;margin-top:9px}.reply{padding:14px 0;color:#c4cfc6}.accusation{max-width:680px;margin:25px auto;border:1px solid var(--line);padding:35px;background:#192b2d}.accusation label{display:block;margin:19px 0 7px;color:var(--muted);font-size:12px}.accusation .primary{margin-top:25px;width:100%}.ending{max-width:800px;margin:35px auto;text-align:center}.ending h2{font-family:var(--serif);font-size:62px;line-height:1.1;font-weight:400}.ending p{color:var(--muted);font-size:15px}.ending .solution{text-align:left;margin:30px 0;border:1px solid var(--line);padding:25px}.ending .solution p{font-size:13px}.ending .outline{margin:10px}.guest-list{font-size:12px;color:var(--muted);line-height:2}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:24px 5%;font-size:9px;letter-spacing:1px;color:#899d98}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(100px);background:#dcc696;color:#132427;padding:12px 25px;border-radius:3px;z-index:20;transition:transform .25s;max-width:90vw;font-size:12px}#toast.show{transform:translateX(-50%) translateY(0)}.rain{pointer-events:none;position:absolute;inset:0;background:repeating-linear-gradient(110deg,transparent 0,transparent 75px,#a6c7c30e 76px,transparent 77px);animation:rain 1.5s linear infinite}@keyframes rain{to{background-position:-40px 120px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:1050px){.play-grid{grid-template-columns:160px 1fr}.side-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.note{margin:0}.side-card .note{grid-column:2;grid-row:1/5}.cards{grid-template-columns:repeat(2,1fr)}.brand small{display:none}}@media(max-width:680px){.top{padding:14px 5%;min-height:70px}.brand{font-size:10px;letter-spacing:1.5px;gap:8px}.brandmark{font-size:25px}.top-actions{gap:15px}#detectiveBadge{display:none}.hero{display:flex;flex-direction:column-reverse}.hero-art{min-height:280px;max-height:280px}.hero-art:after{background:linear-gradient(0deg,var(--bg),transparent 70%)}.art-caption{bottom:30px;left:25px;font-size:8px}.hero-copy{padding:15px 7% 40px}.hero h1{font-size:67px;margin:17px 0}.hero-copy .intro,.name-form{max-width:none}.hero-bottom{flex-wrap:wrap;gap:10px;font-size:10px}.meta{gap:15px}.case-top h1{font-size:29px}.progress-track{width:95px}.tabs{gap:0;justify-content:space-between}.tab{font-size:11px}.play-grid{grid-template-columns:1fr;gap:16px}.room-nav{flex-direction:row}.room-btn{flex:1;font-size:11px;padding:10px 6px}.room-btn span{font-size:8px}.room-num{font-size:16px}.scene{min-height:320px}.hotspot{font-size:10px;padding:6px 8px}.side-card{display:block}.note{margin-top:15px}.cards{grid-template-columns:1fr}.shell{padding-top:22px}.accusation{padding:22px}.ending h2{font-size:46px}footer{flex-wrap:wrap;font-size:8px;gap:9px}dialog{padding:30px 23px}.dialog-title{font-size:32px}.hero-bottom span{flex:1;min-width:110px}}
