@import url('/quest/fonts.css?v=3');
.investigation-page{--paper:#e8dfc8;--ink:#090c0c;--acid:#c9ff00;--blood:#a92420;background:var(--ink);color:var(--paper)}
.investigation-page .site-header,.investigation-page .site-footer{background:#090c0c}
.investigation-page .site-footer{margin-top:0;border-top:1px solid #514e42}
#solution-app,#quest-app{font:1rem/1.65 'Special Elite','Courier New',monospace;color:var(--paper)}
#solution-app h1,#quest-app h1,#quest-app h2,#quest-app h3{font-family:'Creepster',Impact,sans-serif;font-weight:400;letter-spacing:.015em;line-height:1.08;margin:0 0 22px}
#solution-app h1{font-size:clamp(2.5rem,4.3vw,4.3rem)}
#quest-app h1{font-size:clamp(2.5rem,4vw,4rem)}
#quest-app h2{font-size:clamp(1.65rem,2.3vw,2.5rem)}
#quest-app h3{font-size:1.65rem}
#solution-app p,#quest-app p{margin:0 0 22px}
#solution-app button,#quest-app button,#solution-app input,#quest-app input{font:inherit}
#solution-app button,#quest-app button{cursor:pointer}
#solution-app button:disabled,#quest-app button:disabled{cursor:default;opacity:.5}
#solution-app a,#quest-app a{color:inherit;text-underline-offset:5px}
#solution-app [hidden],#quest-app [hidden]{display:none!important}
#solution-app :focus-visible,#quest-app :focus-visible{outline:3px solid var(--acid);outline-offset:5px}
#solution-app .case-file :focus-visible,#quest-app .case-file :focus-visible,#quest-app .notebook-dialog :focus-visible{outline-color:#354b00}
#solution-app .small,#quest-app .small{font-size:.875rem;line-height:1.6}
.case-ground{padding:64px 24px 70px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 97% 0%,#c9ff0018,transparent 24%)}
.case-ground:before{content:'REGISTER\A 001   ADAMS\A 002   BAKER\A 003   CARTER\A 004   DAVIES\A 005   EVANS\A 006   FISHER\A 007   GRAY\A 008   HARRIS\A 009   HUGHES\A 010   JENKINS\A 011   KING\A 012   LEWIS';white-space:pre;position:absolute;inset:80px auto auto 3%;font:1.1rem/2.6 'Courier Prime',monospace;transform:rotate(-6deg);color:#ded4b214;filter:blur(1.2px);z-index:-1}
.case-file{position:relative;width:min(100%,820px);margin:0 auto;padding:76px 56px 44px;background:radial-gradient(ellipse at 10% 30%,#b58c4530,transparent 47%),radial-gradient(ellipse at 90% 90%,#a57b3223,transparent 47%),var(--paper);color:var(--ink);border:1px solid #bfad87;clip-path:polygon(0 1%,2% .6%,4% 1.1%,7% .3%,10% .8%,13% .4%,16% .9%,20% .3%,23% .8%,27% .5%,30% .9%,34% .2%,37% .7%,42% .3%,47% .9%,50% .3%,54% .7%,58% .2%,61% .6%,65% .2%,68% .7%,73% .4%,76% .9%,80% .2%,84% .6%,88% .3%,92% .8%,96% .2%,100% .7%,100% 99.7%,97% 100%,94% 99.7%,90% 100%,85% 99.6%,80% 100%,76% 99.7%,70% 100%,65% 99.8%,60% 100%,54% 99.7%,48% 100%,43% 99.6%,39% 100%,34% 99.7%,29% 100%,23% 99.6%,18% 100%,13% 99.7%,7% 100%,3% 99.7%,0 100%)}
.case-file:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.8' filter='url(%23n)'/%3E%3C/svg%3E")}
.paperclip{position:absolute;left:35px;top:8px;width:18px;height:58px;border:3px solid #787b72;border-radius:12px;transform:rotate(10deg);box-shadow:1px 1px 0 #fff8;z-index:1}
.paperclip:after{content:'';position:absolute;inset:5px 3px 8px 3px;border:1px solid #777;border-radius:10px}
.file-mark{position:absolute;right:40px;top:23px;border:2px solid #9c29224d;color:#9c29225e;padding:3px 12px;transform:rotate(-4deg);font-size:.8rem}
.case-intro{font-size:1.15rem}
.game-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:12px 24px;border:1px solid var(--acid);border-radius:3px;background:var(--acid);color:var(--ink)!important;text-decoration:none;text-align:center;font-family:'Special Elite',monospace;font-size:1.15rem;line-height:1.4;transition:background .15s,transform .15s}
.game-button:hover:not(:disabled){background:#d8ff4c;transform:translateY(-1px)}
.game-button.outline{border:1px solid currentColor;background:transparent;color:inherit!important}
.game-button.outline:hover{background:#c9ff0018}
.game-button.danger-outline{background:transparent;border-color:var(--blood);color:var(--blood)!important}
.case-file .game-button{width:100%;font-size:1.25rem;border-color:var(--ink)}
.case-actions{display:grid;gap:12px;margin:32px 0}
.button-pair{display:flex;gap:12px;flex-wrap:wrap}.button-pair>*{flex:1;min-width:150px}
#answer-form label,.task label,.case-file>label{display:block;margin:24px 0 8px;font-size:1rem}
#solution-app input,#quest-app input{display:block;width:100%;min-width:0;background:#faf7ed;color:var(--ink);border:1px solid #443c2b;border-radius:2px;min-height:54px;padding:12px 16px;font-size:1.1rem}
#answer-form input{margin-bottom:26px;min-height:62px}
#answer-form .game-button{margin-top:3px}
#answer-form input[aria-invalid=true]{border:2px solid var(--blood)}
.feedback{min-height:1.4em;margin:16px 0!important;color:#ffaaa0;white-space:normal}
.case-file .feedback{color:#8e211b}
.feedback:empty{display:none}
.wrong{animation:shake .3s}.case-help{display:grid;gap:16px;margin:28px 0}
.skip-note{padding-top:26px;margin-bottom:0!important;border-top:1px solid #6e6147;font-size:.9rem}
.text-button{border:0;padding:5px 0;min-height:44px;text-decoration:underline;text-underline-offset:5px;background:transparent;color:inherit;font-size:inherit}
.opening-note{border-left:3px solid #6c781d;padding:8px 14px;margin-top:24px!important}
.demo-notice{max-width:1320px;margin:0 auto 20px;font:14px/1.5 'Special Elite',monospace;border-bottom:1px solid #777056;padding:10px 0;color:#cec5a6}.demo-notice a{margin-left:12px}
.demo-answer{font-size:.85rem;border-left:2px solid #596e17;padding:8px 14px}
.demo-entry{margin-top:22px!important}.stamp{display:table!important;border:5px double currentColor;color:var(--blood);padding:12px 18px;margin:20px auto 54px!important;transform:rotate(-8deg);font-size:clamp(3rem,6vw,5.5rem)!important;animation:stamp .25s ease-out}
.stamp.cure-stamp{color:#407000}
.reveal-band{background:var(--blood);color:var(--paper);padding:14px;font-size:2.5rem!important}
.checked{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spoiler{border:0;background:transparent;padding:6px;max-width:100%;color:inherit}.spoiler span{filter:blur(6px);transition:filter .15s}.spoiler:hover span,.spoiler[aria-pressed=true] span{filter:blur(0)}
.remember{border-top:1px solid #ac9f82;padding-top:22px;margin-top:26px!important}
.quest-main{padding:20px 28px 55px;min-height:70vh}#quest-app{max-width:1320px;margin:auto}
.quest-progress{list-style:none;display:flex;justify-content:space-between;gap:16px;margin:0 0 26px;padding:10px 0 20px;border-bottom:1px solid #68614d}
.quest-progress li{white-space:nowrap;font-size:1rem;padding:8px 0;color:#a9a28d}.quest-progress li.done,.quest-progress li.current{color:var(--acid)}.quest-progress li.current{box-shadow:0 3px var(--acid)}.quest-progress .step-num{margin-right:7px}.quest-progress .check{margin-right:6px}
.quest-heading{position:relative;text-align:center;padding:8px 0 3px}.quest-heading .step-caption{position:absolute;left:0;top:23px;font-size:.85rem}
.quest-scene{position:relative;border:1px solid #887f66;overflow:hidden;background:#070b0a;margin:0 0 32px}
.quest-columns{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:0 35px 28px}.quest-columns>.task{border-left:1px solid #80755d;padding-left:48px}.quest-columns p{font-size:1.03rem;line-height:1.75}.quest-columns .game-button{width:100%}.quest-columns h2{margin-bottom:14px!important}
.quest-meta{border-top:1px solid #80775f;padding:15px 0 0;display:flex;justify-content:space-between;gap:20px;font-size:.875rem}
.notebook-tab{position:fixed;right:0;top:230px;z-index:20;writing-mode:vertical-rl;min-height:160px;padding:16px 12px;background:var(--paper);color:var(--ink);border:1px solid #b8a984;border-radius:0;font-family:'Special Elite',monospace;font-size:.875rem;box-shadow:0 3px 20px #0004}.notebook-tab.glow{box-shadow:0 0 30px #c9ff00a0}
.notebook-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(530px,94vw);height:100%;max-height:100%;max-width:100%;padding:0;border:0;background:var(--paper);color:var(--ink);font:1rem/1.65 'Special Elite',monospace;box-shadow:-10px 0 60px #0008}
.notebook-dialog::backdrop{background:#0009}
.notebook-head{position:sticky;top:0;z-index:2;background:var(--paper);border-bottom:1px solid #aa9e80;padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:12px}.notebook-head h2{font:2rem/1 'Creepster',sans-serif;margin:0!important}.notebook-head button{color:var(--ink);background:transparent;border:1px solid #746747;min-width:44px;min-height:44px}
.notebook-body{padding:25px 30px 55px;background:repeating-linear-gradient(transparent 0px,transparent 31px,#98886730 32px);line-height:2}.notebook-body p{margin:0 0 24px!important}.notebook-body strong{font-family:'Courier Prime',monospace}.notebook-body h3{font:2rem/1.2 'Creepster',sans-serif;margin:28px 0 14px}.wall-note{border:1px solid #a49574;padding:16px;margin:24px 0}.notebook-tabs{display:flex;gap:10px;flex-wrap:wrap;padding:16px 26px 0}.notebook-tabs button{min-height:44px;border:1px solid #a49574;background:transparent;font:inherit;padding:5px 12px;color:var(--ink)}
.evidence-tray{display:flex;align-items:center;gap:22px;border-block:1px solid #776f58;padding:12px 22px;margin-top:32px;margin-bottom:18px;min-height:95px}.evidence-tray>span{font-size:.85rem;white-space:nowrap}.tray-item{display:flex;gap:16px;align-items:center;font-size:.8rem;text-align:left;color:var(--paper);border:0;border-left:1px solid #777056;background:transparent;padding:4px 20px}.tray-item .vial{width:35px;height:59px;min-width:35px}.tray-item .key-card{font-size:.48rem;width:70px;min-height:48px;padding:5px}.evidence-tray .tray-note{color:var(--acid)}
.wristband{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(12deg,#c3b18a55,transparent 50%),var(--paper);color:var(--ink);padding:20px 45px;border:1px solid #c7b996;border-radius:45px 12px 12px 45px;font:1.25rem/1.45 'Special Elite',monospace;box-shadow:inset 0 0 15px #85724720;overflow-wrap:anywhere}
.wristband:before{content:'';width:14px;height:14px;background:var(--ink);border-radius:50%;border:1px solid #897750;position:absolute;left:16px;top:calc(50% - 7px)}.wristband:after{content:'';width:20px;height:20px;border:3px solid #877858;border-radius:50%;position:absolute;right:12px;top:calc(50% - 10px)}
.band-scene{padding:75px 8% 35px;min-height:290px}.band-scene>.wristband{font-size:clamp(1.1rem,2.3vw,2rem);padding:25px 50px;min-height:105px}.register-totals{display:flex;justify-content:space-around;gap:20px;border-top:5px double #766845;background:#151913;margin-top:40px;padding:18px 22px;font:1.1rem/1.5 'Courier Prime',monospace;color:var(--paper)}.register-totals span{opacity:.7;letter-spacing:.1em}
.gate-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.gate-button{border:1px solid #aaa087;border-radius:2px;min-height:48px;padding:8px;color:var(--paper);background:transparent;font-size:.84rem!important;line-height:1.4}.gate-button[aria-pressed=true]{background:var(--acid);border-color:var(--acid);color:var(--ink)}.gate-button:hover{border-color:var(--acid)}.live-name{font-size:1.05rem;background:var(--paper);color:var(--ink);padding:12px 16px}.totals-help{margin:16px 0!important;font-size:.9rem!important}.band-success .wristband{animation:tie .25s}
.help-actions{display:flex;gap:22px;flex-wrap:wrap;margin-top:12px}.help-actions button{color:var(--paper);font-size:.875rem;background:transparent;border:0;text-decoration:underline;text-underline-offset:5px;min-height:44px;padding:6px 0}.hint-copy{border-left:2px solid var(--acid);padding:8px 16px;margin-top:20px!important;color:#e6efc2}.step-success{color:var(--acid);margin:12px 0 20px}.step-success p{font-size:1.05rem}
.crowd-scene{height:600px;touch-action:pan-y}.crowd-tools{position:absolute;inset:14px 18px auto;display:flex;justify-content:space-between;align-items:center;gap:15px;z-index:6;font-size:.82rem}.crowd-tools button{font-size:.85rem!important;min-height:44px;padding:8px 15px;background:#090c0c!important;color:var(--paper)!important;border-color:#a99b76}.crowd-field{position:absolute;inset:85px 0 35px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(5,1fr);gap:24px 10px;padding:0 20px}.crowd-band{position:relative;z-index:1;align-self:center;background:var(--paper);color:var(--ink);border:1px solid #998967;border-radius:24px 5px 5px 24px;padding:10px 9px 10px 16px;min-height:59px;font-size:.65rem!important;line-height:1.3;text-align:center;opacity:.17;filter:blur(1.2px);animation:drift 16s ease-in-out infinite alternate;animation-delay:var(--delay);transform:rotate(var(--tilt));overflow-wrap:anywhere;transition:opacity .12s,filter .12s}.crowd-band span{display:block}.crowd-band:before{content:'';position:absolute;left:6px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--ink)}.crowd-band.lit,.crowd-band:focus-visible{opacity:1;filter:none;z-index:3}.crowd-band:hover,.crowd-band:focus{animation-play-state:paused}.crowd-band.selected{outline:3px solid var(--acid);opacity:1;filter:none}.crowd-band.rejected{outline:2px solid #db5d4f}.torch-light{position:absolute;z-index:2;pointer-events:none;width:360px;height:360px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#d5b74828 0%,#c0a33b16 42%,transparent 72%)}.lights-on .crowd-band{opacity:.85;filter:none;animation-duration:30s}.crowd-scene.completed .crowd-band{animation-play-state:paused;opacity:.1}.crowd-scene.completed .crowd-band.selected{opacity:1}.scene-instruction{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:.8rem;margin:0!important}.target-band{font-size:1rem;padding:20px 36px;margin:20px 0}
.coat-scene{aspect-ratio:2;background:url('/assets/quest/coat-scene.webp') center/cover no-repeat}.pocket-hotspot{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border:0;border-radius:50%;padding:0;background:#050a0566;color:var(--paper);display:grid;place-items:center;z-index:2}.pocket-hotspot:before{content:'';position:absolute;inset:9px;border:2px solid currentColor;border-radius:50%;box-shadow:0 0 0 4px #0008;animation:pulse 2s infinite}.pocket-hotspot.opened{color:var(--acid);font-size:1rem}.pocket-hotspot.opened:before{animation:none;border-color:var(--acid)}.pocket-hotspot:hover{background:#c9ff0022}.coat-evidence{position:absolute;left:73%;right:4%;top:12%;bottom:8%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.coat-evidence>*{max-width:100%;animation:slide-in .2s}.evidence-item{font-size:.8rem;text-align:center;width:100%}.evidence-item .vial{width:70px;height:100px;margin:0 auto}.evidence-item p{font-size:.7rem;line-height:1.3;margin:6px 0!important}.ticket,.key-card{background:var(--paper);color:var(--ink);border:1px solid #ae9b70;padding:15px;font:.85rem/1.5 'Special Elite',monospace;overflow-wrap:anywhere}.ticket{border-block:3px dashed #a8966f}.key-card{border-radius:5px;min-height:80px}.key-card strong{font-size:1.7em;float:right}.vial{position:relative;width:76px;height:130px;margin:0 auto;border:2px solid #c9bd9a;border-radius:9px 9px 13px 13px;background:linear-gradient(90deg,#bba37624,transparent 30%,#bba37619 70%,#fff3);display:flex;align-items:center;justify-content:center;padding:4px}.vial:before{content:'';position:absolute;top:-15px;left:3px;right:3px;height:18px;background:repeating-linear-gradient(90deg,#282a22 0 4px,#a29b7d 4px 5px);border:1px solid #c2b99c;border-radius:4px}.vial-label{display:block;width:100%;color:var(--ink);background:var(--paper);font:.67rem/1.25 'Special Elite',monospace;padding:7px 3px;overflow-wrap:anywhere}.blood-vial{background:linear-gradient(90deg,#571c14,#84292055 60%,#571c14);height:158px;width:72px;border-radius:4px 4px 24px 24px}.blood-vial .vial-label{font-size:.65rem}.vial.small-vial{height:80px;width:50px}
.pocket-text-list{display:flex;flex-wrap:wrap;gap:5px;list-style:none;padding:0;margin:0 0 20px}.pocket-text-list button{background:transparent;border:0;text-decoration:underline;color:#d6ceb9;min-height:44px;font-size:.8rem!important;padding:5px 12px}.order-list{display:grid;gap:8px;margin:12px 0 20px}.order-card{background:var(--paper);color:var(--ink);border:1px solid #a99a79;display:flex;align-items:center;gap:14px;padding:10px 12px;text-align:left;font-size:.88rem!important;min-height:48px}.order-card .order-num{width:25px;height:25px;min-width:25px;border:1px solid #504b3a;border-radius:50%;display:grid;place-items:center}.order-card[aria-pressed=true]{background:#e3edb6}.order-card[aria-pressed=true] .order-num{background:var(--ink);color:var(--acid)}
.door-scene{display:grid;grid-template-columns:1fr 1fr;min-height:420px;background:#11150f}.night-preview{background:var(--paper);color:var(--ink);padding:28px 36px;position:relative;background-image:repeating-linear-gradient(transparent 0 31px,#998e7630 32px);border-right:6px double #6f6347}.night-preview h2{font:1.8rem/1.2 'Special Elite',monospace!important}.night-preview p{font:1rem/1.75 'Special Elite',monospace!important;margin-bottom:20px!important}.lab-door{padding:32px;display:grid;grid-template-columns:.8fr 1.2fr;gap:25px;background:repeating-linear-gradient(91deg,#ffffff03 0 1px,transparent 1px 21px);border-left:1px solid #7d7156;transition:transform .25s,opacity .25s}.door-plaque{border:2px solid #716850;padding:12px;text-align:center;font-size:.9rem;background:#77705430}.door-plaque strong{display:block;font-size:2rem}.reader-slot{height:9px;background:var(--acid);box-shadow:0 0 8px #c9ff0077;margin:30px 0 12px;border:1px solid #fff5}.reader .key-card{font-size:.7rem;transform:rotate(3deg)}.keypad-screen{min-height:100px;background:#050805;border:1px solid #897a58;padding:14px;margin-bottom:15px;text-align:center}.keypad-screen small{display:block;color:var(--acid);font-size:.75rem}.code-digits{display:block;letter-spacing:.25em;font-size:1.6rem;margin-top:15px}.keypad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.keypad-grid button{background:#090c0c;color:var(--paper);border:1px solid #b1a484;border-radius:3px;min-height:50px;font-size:1.3rem!important}.keypad-grid button[data-key=enter]{color:var(--acid);border-color:var(--acid);font-size:.8rem!important}.door-open .lab-door{transform:translateX(100%);opacity:0}
.bench-scene{height:470px;background:url('/assets/quest/lab-bench.webp') center/cover no-repeat;display:grid;grid-template-columns:1fr .68fr 1fr;align-items:end;gap:18px;padding:130px 24px 50px}.bench-wall{position:absolute;top:22px;left:25%;right:12%;font:.9rem/1.6 'Special Elite',monospace;color:#ded5bd8c;text-align:center}.serum-shelf,.blood-rack{display:flex;align-items:flex-end;justify-content:center;gap:15px}.ingredient{background:transparent;color:var(--paper);border:0;padding:18px 4px 8px;position:relative;min-width:44px;transition:transform .2s}.ingredient:hover{transform:translateY(-6px)}.ingredient[aria-pressed=true]{outline:2px solid var(--acid);outline-offset:4px}.ingredient[aria-pressed=true]:after{content:'✓';position:absolute;top:-10px;right:-5px;background:var(--acid);border-radius:50%;color:var(--ink);padding:0 4px}.ingredient.hint-glow{outline:2px solid var(--acid);box-shadow:0 0 20px #c9ff0055}.bench-scene .vial{width:62px;height:117px}.bench-scene .blood-vial{width:65px;height:149px}.coffee{display:flex;align-items:center;justify-content:center;position:relative;border:2px solid #baa984;border-radius:4px 4px 16px 16px;background:#403b2c;width:62px;height:70px;font-size:.65rem;padding:5px}.coffee:after{content:'';position:absolute;right:-17px;top:10px;width:19px;height:32px;border:3px solid #baa984;border-radius:10px}.flask-wrap{text-align:center}.flask{width:100%;height:240px;overflow:visible}.flask .liquid{fill:#5c655247;transition:fill .25s}.flask .bubble{fill:var(--acid);opacity:0}.mixed .flask .liquid{fill:var(--acid)}.mixed .flask .bubble{opacity:.8;animation:bubble 1.1s infinite;animation-delay:var(--delay)}.smoke .flask{animation:shake .3s}.smoke .smoke-cloud{opacity:.6;animation:smoke .6s forwards}.smoke-cloud{opacity:0;fill:#cac7b4}.mixture-slots{display:grid;gap:10px;margin-bottom:20px}.mixture-slot{min-height:48px;border:1px solid #a29575;padding:9px 14px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.86rem}.mixture-slot button{border:0;background:transparent;color:inherit;min-width:36px;min-height:36px}
.needle-scene{padding:26px 24px 0}.syringe{display:block;width:min(850px,90%);height:100px;margin:0 auto 25px}.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.choice-card{padding:0 20px 24px;border-left:1px solid #746d58;display:flex;flex-direction:column;text-align:center}.choice-card:first-child{border:0}.clothing{width:100%;aspect-ratio:512/768;background-image:url('/assets/quest/clothing-atlas.webp');background-size:400% 100%;background-position:var(--position) center;background-repeat:no-repeat;margin-bottom:8px}.choice-card h2{font-size:1.65rem!important;margin-bottom:10px!important}.choice-card p{font-size:.9rem;line-height:1.55;flex:1}.choice-card .game-button{font-size:1rem;width:100%;margin-top:10px}.choice-card.selected{outline:2px solid var(--acid)}
.quest-opening{margin:35px auto 25px}.quest-opening .quest-subtitle{font-size:1.5rem}.quest-opening .game-button{margin-top:12px}
.reward-canvas{display:block;width:min(100%,390px);height:auto;aspect-ratio:1;margin:28px auto 24px;background:var(--ink);border:1px solid #80775e}.reward-actions{display:grid;gap:12px}.reward-file{text-align:left}.reward-file>.game-button{margin-top:20px}.reward-file .replay{text-align:center;margin:24px 0}.end-tally{text-align:center;margin-bottom:0!important}
@keyframes shake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
@keyframes stamp{from{transform:rotate(-8deg) scale(2.5);opacity:0}to{transform:rotate(-8deg) scale(1);opacity:1}}
@keyframes tie{50%{transform:scaleX(.98)}}
@keyframes pulse{50%{box-shadow:0 0 0 6px #c9ff0025}}
@keyframes slide-in{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
@keyframes drift{from{transform:translateX(-18px) rotate(var(--tilt))}to{transform:translateX(18px) rotate(var(--tilt))}}
@keyframes drift-down{from{transform:translateY(-14px) rotate(var(--tilt))}to{transform:translateY(14px) rotate(var(--tilt))}}
@keyframes bubble{from{transform:translateY(0);opacity:.8}to{transform:translateY(-40px);opacity:0}}
@keyframes smoke{from{transform:translateY(0);opacity:.6}to{transform:translateY(-35px);opacity:0}}
@media(max-width:1100px){.quest-columns{gap:28px;margin-inline:8px}.quest-columns>.task{padding-left:28px}.quest-heading .step-caption{position:static;font-size:.75rem;display:block;margin-bottom:12px}.quest-progress{gap:12px}.quest-progress li{font-size:.84rem}.bench-scene{gap:9px;padding-inline:15px}.serum-shelf,.blood-rack{gap:4px}.bench-scene .vial{width:46px;height:105px}.bench-scene .blood-vial{width:49px;height:130px}.vial-label{font-size:.55rem!important}.coffee{width:43px;font-size:.55rem}.lab-door{gap:15px;padding:24px}.night-preview{padding:25px}.crowd-field{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(8,1fr);gap:17px 12px}.crowd-scene{height:810px}.choice-card{padding-inline:12px}.choice-card h2{font-size:1.4rem!important}}
@media(max-width:760px){.case-ground{padding:32px 16px 42px}.case-file{padding:70px 26px 34px}.case-intro{font-size:1rem}.file-mark{right:25px}.paperclip{left:25px}.case-help{font-size:.9rem}.stamp{margin-bottom:38px!important;font-size:clamp(2.65rem,9vw,4.2rem)!important;padding:10px}.case-file .game-button{font-size:1.05rem}.quest-main{padding:15px 16px 45px}.quest-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 14px;padding-top:0;margin-bottom:18px}.quest-progress li{font-size:.8rem;text-align:center}.quest-progress .step-num{margin-right:3px}.quest-columns{grid-template-columns:1fr;gap:24px;margin:0 0 28px}.quest-columns>.task{border:0;border-top:1px solid #746c55;padding:25px 0 0}.quest-columns p{font-size:1rem}.quest-scene{margin-bottom:24px}.notebook-tab{top:auto;bottom:18px;writing-mode:horizontal-tb;min-height:48px;padding:10px 15px;border-radius:4px 0 0 4px;font-size:.8rem}.notebook-dialog{inset:auto 0 0;width:100%;height:85dvh;border-radius:12px 12px 0 0}.notebook-body{padding:20px 24px 60px}.notebook-head{padding:18px 24px}.band-scene{padding:40px 5% 25px;min-height:240px}.band-scene>.wristband{font-size:1rem;min-height:90px}.register-totals{margin-top:28px;padding:14px 5px;font-size:.78rem}.register-totals span{letter-spacing:0}.gate-button{font-size:.84rem!important}.crowd-scene{height:1080px}.crowd-field{inset:96px 0 28px;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(10,1fr);gap:18px 7px;padding:0 9px}.crowd-band{font-size:.61rem!important;min-height:66px;padding:8px 4px 8px 12px;animation-name:drift-down}.crowd-tools{left:12px;right:12px;font-size:.73rem}.torch-light{width:270px;height:270px}.coat-scene{aspect-ratio:1.6;background-size:100% auto;background-position:center top}.coat-evidence{display:none}.pocket-hotspot{left:var(--mobile-x)!important;top:var(--mobile-y)!important}.pocket-text-list{gap:0}.pocket-text-list button{padding:5px 9px;font-size:.75rem!important}.door-scene{grid-template-columns:1fr}.night-preview{max-height:330px;overflow:auto;border-right:0;border-bottom:5px double #807354}.lab-door{grid-template-columns:1fr 1.25fr;padding:25px;gap:25px}.bench-scene{height:auto;min-height:690px;background-size:auto 100%;grid-template-columns:1fr 1fr;padding:130px 18px 35px;gap:28px 15px}.bench-wall{left:18px;right:18px;font-size:.8rem;top:20px}.flask-wrap{grid-column:1/-1;grid-row:3}.flask{height:170px;max-width:210px}.serum-shelf{flex-wrap:wrap;gap:25px 12px}.blood-rack{flex-wrap:wrap;gap:25px 12px}.bench-scene .vial{width:56px;height:108px}.bench-scene .blood-vial{width:57px;height:123px}.bench-scene .vial-label{font-size:.6rem!important}.coffee{width:50px}.evidence-tray{flex-wrap:wrap;gap:12px;padding:15px 0}.evidence-tray>span{width:100%}.tray-item{padding:4px 10px;gap:10px;font-size:.7rem;max-width:49%;overflow-wrap:anywhere}.tray-item .vial{min-width:27px;width:27px;height:48px}.tray-item .key-card{min-width:50px;width:50px}.needle-scene{padding:20px 10px 0}.choice-grid{grid-template-columns:1fr 1fr;gap:22px 0}.choice-card:nth-child(3){border-left:0}.choice-card{padding-inline:10px}.choice-card p{font-size:.8rem}.choice-card h2{font-size:1.4rem!important}.syringe{height:75px;margin-bottom:5px}.quest-meta{font-size:.75rem;padding-bottom:35px}.reward-file{padding-inline:24px}.reward-actions .button-pair{flex-direction:column}.button-pair>*{min-width:0}.reward-file .stamp{font-size:clamp(2.45rem,8vw,3.7rem)!important}.reward-file .button-pair{gap:10px}}
@media(max-width:380px){.case-file{padding-inline:20px}.crowd-field{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(14,1fr)}.crowd-scene{height:1370px}.gate-grid{grid-template-columns:1fr}.lab-door{gap:15px;padding:18px}.quest-progress li{font-size:.73rem}.bench-scene{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){#solution-app *,#quest-app *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.crowd-band{transform:none!important}}

.case-help a,.demo-entry a,.demo-notice a{text-decoration:underline;text-underline-offset:5px}.quest-scene .key-card{display:block}.step-success .game-button{font-size:1rem}.case-file input{color-scheme:light}

/* Keep playable labels readable; the crowd scrolls within its scene on phones. */
.crowd-scene{height:710px;overflow-y:auto;scrollbar-color:#aaa084 #11150e}
.crowd-tools{position:sticky;inset:auto;top:0;padding:12px 18px;background:#090c0cf5;border-bottom:1px solid #55503f;min-height:72px}
.crowd-field{position:relative;inset:auto;padding:20px;grid-template-rows:repeat(5,110px);gap:18px 10px}
.crowd-band{font-size:.875rem!important;line-height:1.3;min-height:90px;padding:10px 8px 10px 16px}
.crowd-scene .scene-instruction{position:sticky;bottom:0;padding:8px;background:#090c0cef;z-index:5}
.bench-scene .vial{width:76px;height:140px}.bench-scene .blood-vial{width:82px;height:175px}
.bench-scene .vial-label,.vial-label{font-size:.875rem!important;line-height:1.15}
@media(max-width:1100px){.crowd-scene{height:680px}.crowd-field{grid-template-rows:repeat(8,110px)}.bench-scene .vial{width:56px;height:140px}.bench-scene .blood-vial{width:62px;height:175px}}
@media(max-width:760px){.crowd-scene{height:650px}.crowd-field{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(14,115px);padding:15px 8px;gap:18px 8px}.crowd-band{font-size:.875rem!important;padding:9px 6px 9px 14px}.crowd-tools{padding:10px;min-height:82px}.serum-shelf,.blood-rack{gap:25px 6px}.bench-scene .vial{width:62px;height:150px}.bench-scene .blood-vial{width:62px;height:185px}.bench-scene .vial-label{font-size:.875rem!important}.coat-scene .vial-label{font-size:.75rem!important}}
@media(max-width:380px){.crowd-field{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(20,115px)}.crowd-scene{height:650px}}

/* The final case includes four blood samples and the coffee decoy. */
.wristband,.crowd-band,.blood-vial .vial-label{text-transform:uppercase}
.bench-scene{height:570px}
.blood-rack{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 8px;align-items:end}
.blood-rack .ingredient{justify-self:center;min-width:0;width:100%}
.blood-rack .blood-vial{width:min(100%,76px)}
.blood-rack [data-ingredient="coffee"]{grid-column:4;justify-self:end;width:auto;margin-right:14px}
@media(max-width:1100px){.bench-scene{grid-template-columns:1fr .6fr 1.1fr}.blood-rack{gap:16px 4px}.blood-rack .blood-vial{width:min(100%,62px)}}
@media(max-width:760px){.bench-scene{height:auto;grid-template-columns:1fr 1fr;align-items:start}.blood-rack{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 6px}.blood-rack [data-ingredient="coffee"]{grid-column:2}.blood-rack .blood-vial{width:62px}.flask-wrap{grid-row:2;align-self:end}}
@media(max-width:480px){.bench-scene{grid-template-columns:1fr}.serum-shelf{max-width:310px;justify-self:center}.blood-rack{max-width:260px;width:100%;justify-self:center}.blood-rack .blood-vial{width:82px}.flask-wrap{grid-row:3}}
