:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#eee3cb;font-synthesis:none;--ink:#071018;--surface:#0c1720;--surface-raised:#101e28;--paper:#eee3cb;--parchment:#e4cfaa;--parchment-ink:#261c13;--signal:#cf442f;--brass:#b58a4a;--muted:#a99f90;--line:#c29b5a3d;background:#071018;font-family:DM Mono,monospace}*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:smooth}body{background:radial-gradient(circle at 50% -20%,#182631 0,#071018 48rem);min-width:320px;min-height:100dvh;margin:0}html.game-focus-active,body.game-focus-active{overscroll-behavior:none;width:100%;height:100%;overflow:hidden}button,a{font:inherit}a,button{color:inherit}.game-shell{width:min(1460px,100%);min-height:100dvh;padding:max(18px, env(safe-area-inset-top)) clamp(16px, 2.5vw, 38px) max(30px, env(safe-area-inset-bottom));margin:auto}.centered{text-align:center;place-content:center;display:grid}.game-header{border:1px solid var(--line);background:#08121bdb;grid-template-columns:auto auto 1fr;align-items:center;min-height:72px;display:grid;box-shadow:0 16px 50px #0004}.wordmark{border-right:1px solid var(--line);letter-spacing:.08em;flex-direction:column;justify-content:center;min-height:70px;padding:0 clamp(18px,2vw,30px);font-size:clamp(14px,1.5vw,20px);font-weight:500;line-height:.93;text-decoration:none;display:inline-flex}.wordmark span:last-child{color:var(--signal);transform:translate(9px)}.case-file{border-right:1px solid var(--line);color:var(--brass);align-self:stretch;align-items:center;gap:12px;padding:0 clamp(16px,2vw,28px);display:flex}.case-file>span{font-size:20px;transform:rotate(-3deg)}.case-file div{gap:3px;display:grid}.case-file strong{letter-spacing:.1em;font-size:11px;font-weight:500}.case-file small{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:8px}.game-header nav{justify-content:flex-end;align-items:center;gap:6px;padding-right:12px;display:flex}.game-header nav a,.account-button,.auth-unconfigured{min-height:40px;color:var(--muted);letter-spacing:.08em;border:1px solid #0000;align-items:center;gap:7px;padding:0 12px;font-size:10px;text-decoration:none;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.game-header nav a>span{color:var(--brass);font-size:10px}.game-header nav a[aria-current=page]{border-color:var(--line);color:var(--paper);background:#c49c5b0d}.game-header nav a:hover,.game-header nav a:focus-visible,.account-button:hover,.account-button:focus-visible{border-color:var(--line);color:var(--paper);background:#ffffff08;outline:none}.account-button,.auth-unconfigured{cursor:pointer;background:0 0;font-family:DM Mono,monospace}.auth-panel{position:relative}.auth-popover{z-index:20;border:1px solid var(--line);background:#1a1815;gap:14px;width:min(340px,100vw - 32px);padding:24px;display:grid;position:absolute;top:28px;right:0;box-shadow:0 24px 70px #000b}.auth-popover strong,.auth-popover label{letter-spacing:.12em;font:500 10px DM Mono,monospace}.auth-popover p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.auth-popover input{border:1px solid var(--line);width:100%;color:var(--paper);background:#0e0d0b;margin-top:8px;padding:12px}.auth-popover button{border:1px solid var(--line);color:var(--paper);letter-spacing:.08em;background:0 0;padding:11px;font:500 9px DM Mono,monospace}.auth-popover>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.intro{padding:0}.eyebrow{color:var(--signal);letter-spacing:.13em;text-transform:uppercase;margin:0 0 12px;font-size:11px}h1,h2{letter-spacing:-.02em;font-family:Instrument Serif,Georgia,serif;font-weight:400}.case-briefing{background-color:var(--parchment);color:var(--parchment-ink);background-image:linear-gradient(90deg,#0000 0 69%,#5f47211f 69% 69.15%,#0000 69.15%),radial-gradient(circle at 90% 12%,#6f512218,#0000 22rem);border:1px solid #b18a54;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;margin:clamp(20px,2.5vw,34px) 10px 20px;padding:clamp(20px,2.8vw,34px) clamp(22px,3.2vw,44px);display:grid;position:relative;box-shadow:9px 9px #9d79472b,0 20px 55px #0005}.case-briefing:before{content:"";opacity:.75;border:2px solid #78674f;border-radius:8px;width:12px;height:42px;position:absolute;top:-8px;left:18px}.case-briefing .eyebrow{color:#9f2e20;margin-bottom:8px}.intro h1{text-transform:uppercase;text-wrap:balance;max-width:920px;margin:0;font-size:clamp(38px,4vw,58px);line-height:.9}.promise{color:#3e3024;max-width:720px;margin:12px 0 0;font-family:Instrument Serif,Georgia,serif;font-size:clamp(18px,1.65vw,24px);line-height:1.3}.case-stamp{color:#604427;border-left:1px solid #6d502c4d;min-width:210px;padding-left:28px;display:grid}.case-stamp span{letter-spacing:.1em;margin-bottom:15px;font-size:9px}.case-stamp strong,.case-stamp small{color:#a52820;letter-spacing:.08em;border:2px solid #b33326;width:max-content;padding:5px 9px;font-size:11px;transform:rotate(-2deg)}.case-stamp small{border-top:0;padding-top:0;font-size:9px}.puzzle-card{border:1px solid var(--line);background:#071018;border-radius:5px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 28px 80px #0008}.puzzle-pair{background:#0d1821;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px;display:grid}.puzzle-panel{background:#060c11;border:1px solid #a47e464f;border-radius:4px;min-width:0;margin:0;padding-top:43px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #111e28}.puzzle-panel figcaption{z-index:3;height:43px;color:var(--paper);letter-spacing:.08em;pointer-events:none;background:#111d26;border-bottom:1px solid #a47e464f;align-items:center;font-size:10px;display:flex;position:absolute;inset:0 0 auto}.puzzle-panel figcaption span{color:#dfbd7f;border-right:1px solid #a47e464f;align-self:stretch;place-items:center;padding:0 15px;display:grid}.puzzle-panel figcaption small{color:#c4b9a7;letter-spacing:.08em;padding:0 14px;font-size:9px}.puzzle-panel.changed figcaption span{color:#fff0d1}.image-viewer{aspect-ratio:3/2;touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;place-items:center;display:grid;position:relative;overflow:hidden}.image-transform{transform-origin:50%;will-change:transform, filter;place-items:center;width:100%;height:100%;transition:transform .32s cubic-bezier(.2,.85,.2,1),filter .16s ease-out;display:grid;position:relative}.image-viewer.has-reveal .image-transform{transition-duration:.14s}.image-viewer.is-interacting .image-transform{transition:none}.image-viewer.is-zoomed{cursor:grab}.image-viewer.is-zoomed.is-interacting{cursor:grabbing}.image-transform img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.phase-ready .image-transform{filter:blur(14px)brightness(.62)saturate(.6);transform:scale(1.07)}.phase-ready .image-viewer:after{content:"EVIDENCE SEALED";z-index:2;color:#fff4df;letter-spacing:.18em;text-shadow:0 2px 14px #000;pointer-events:none;background:#07101824;place-items:center;font-size:10px;display:grid;position:absolute;inset:0}.phase-ready .zoom-controls{opacity:0;visibility:hidden}.tap-marker{border:2px solid var(--signal);background:#bd33221c;border-radius:50%;width:38px;height:38px;animation:2s forwards marker-out;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #090d10,0 0 24px #cf442f80}.tap-marker:before,.tap-marker:after{content:"";transform-origin:50%;background:#fff4df;width:17px;height:2px;position:absolute;top:50%;left:50%}.tap-marker:before{transform:translate(-50%,-50%)rotate(45deg)}.tap-marker:after{transform:translate(-50%,-50%)rotate(-45deg)}.tap-marker.marker-report{border-color:var(--brass);background:#b58a4a24;box-shadow:0 0 0 1px #090d10,0 0 24px #b58a4a80}.tap-marker.marker-report:before,.tap-marker.marker-report:after{background:#fff4df;border-radius:50%;width:3px;height:3px}.tap-marker.marker-found{background:#d9ad6326;border-color:#d9ad63;animation:none;box-shadow:0 0 0 2px #08131c,0 0 0 4px #d9ad63,0 0 26px #d9ad6399}.tap-marker.marker-found:before{width:13px;transform:translate(-58%,-15%)rotate(45deg)}.tap-marker.marker-found:after{width:22px;transform:translate(-28%,-52%)rotate(-45deg)}@keyframes marker-out{0%{opacity:0;scale:.35}18%{opacity:1;scale:1.18}35%{scale:1}75%{opacity:1}to{opacity:0;scale:1.45}}.reveal{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.reveal-scrim{fill:#0000;fill-opacity:0}.reveal-halo,.reveal-outline{vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%}.reveal-halo{fill:#c6492a18;stroke:#f0d49b;stroke-width:4px;filter:drop-shadow(0 1px 2px #000d)}.reveal-outline{fill:#0000;stroke:#b53825;stroke-width:1.75px;filter:drop-shadow(0 0 1px #fff1c7)}.zoom-controls{z-index:3;background:#11110feb;border:1px solid #ffffff30;border-radius:4px;display:flex;position:absolute;bottom:12px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 6px 24px #0005}.zoom-controls button{cursor:pointer;background:0 0;border:0;border-right:1px solid #fff2;min-width:44px;min-height:44px;font-size:12px}.zoom-controls button:last-child{border-right:0}.start-layer{border-top:1px solid var(--line);background:#0b161e;justify-content:center;align-items:center;gap:28px;padding:18px 24px 22px;display:flex}.start-layer>div{min-width:0}.start-layer .eyebrow{margin-bottom:5px;font-size:9px}.start-layer p{color:#bcb6ac;margin:8px 0 0;font-size:11px;line-height:1.5}.start-layer .button{flex:none;width:min(520px,55%)}.button{color:#fff9ef;letter-spacing:.1em;cursor:pointer;background:linear-gradient(#ba3b2b,#9e2e22);border:1px solid #e06952;justify-content:center;align-items:center;min-height:52px;padding:0 28px;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:inset 0 0 0 2px #7f251b,0 5px 18px #0005}.button:disabled{opacity:.55;cursor:wait}.button:hover,.button:focus-visible{outline:2px solid var(--paper);outline-offset:3px;background:#f06650;transform:translateY(-2px)}.hud{z-index:5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a151ef2;grid-template-columns:repeat(3,1fr);min-height:66px;display:grid;position:sticky;bottom:0}.hud>*{border:0;border-right:1px solid var(--line);min-height:66px;color:var(--paper);letter-spacing:.06em;text-align:center;background:0 0;place-content:center;gap:4px;padding:0 18px;font-size:13px;display:grid}.hud small{color:var(--muted);letter-spacing:.12em;font-size:8px}.hud .timer{color:#dfb770;font-size:17px;font-weight:500}.hud button{color:#dfb770;cursor:pointer;border-right:0}.hud button:hover,.hud button:focus-visible{outline:2px solid var(--paper);outline-offset:-3px;background:#ffffff0d}.phase-playing .puzzle-panel.changed{border-color:#c59a5f;box-shadow:inset 0 0 0 2px #b58a4a2e,0 0 30px #b58a4a12}.phase-playing .puzzle-panel.changed figcaption span{background:#b58a4a17}.phase-playing .puzzle-panel.changed figcaption small:after{content:"  ·  ACTIVE";color:#dfb770}.puzzle-card.phase-playing{z-index:20;overscroll-behavior:none;border:0;border-radius:0;grid-template-rows:minmax(0,1fr) auto;width:100%;height:100dvh;display:grid;position:fixed;inset:0;overflow:hidden}.phase-playing .puzzle-pair{align-items:center;height:100%;min-height:0}.phase-playing .puzzle-panel{grid-template-rows:43px auto;height:auto;min-height:0;padding-top:0;display:grid}.phase-playing .puzzle-panel figcaption{height:43px;position:static}.phase-playing .image-viewer{aspect-ratio:3/2;height:auto;min-height:0}.phase-playing .hud{position:static}.in-play-hints{z-index:8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;background:#08131ef2;border:1px solid #d5ad70;width:min(520px,100% - 24px);margin:0;position:absolute;bottom:80px;right:12px;box-shadow:0 14px 45px #000b}.in-play-hints p{font-size:11px;line-height:1.5}.phase-solved .puzzle-panel.changed{border-color:#f1b65d;box-shadow:inset 0 0 0 2px #f1b65d80,0 0 38px #d44a2b35}.phase-solved .puzzle-panel.changed figcaption{background:#362414}.phase-solved .puzzle-panel.changed figcaption small{color:#fff0ce}.verdict{z-index:40;border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#08131ced;grid-template-columns:auto minmax(0,1fr);align-items:center;width:min(460px,100vw - 30px);min-height:104px;padding:12px 18px 12px 12px;animation:.42s cubic-bezier(.16,1,.3,1) both verdict-in;display:grid;position:fixed;top:clamp(96px,16vh,180px);left:50%;transform:translate(-50%);box-shadow:0 26px 80px #000c}.verdict-word{border:1px solid;align-self:stretch;place-items:center;min-width:92px;margin-right:18px;font-family:Instrument Serif,Georgia,serif;font-size:48px;line-height:1;display:grid}.verdict>span:last-child{gap:7px;display:grid}.verdict strong{color:var(--paper);letter-spacing:-.01em;font-family:Instrument Serif,Georgia,serif;font-size:24px;font-weight:400}.verdict small{color:var(--muted);letter-spacing:.04em;font-size:9px;line-height:1.55}.verdict-wrong{color:#ef684f;animation-name:verdict-in,verdict-no;animation-duration:.42s,.38s;animation-delay:0s,.18s}.verdict-correct{color:#e1b873;border-color:#c79a55}@keyframes verdict-in{0%{opacity:0;transform:translate(-50%,-20px)scale(.94)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes verdict-no{0%,to{margin-left:0}30%{margin-left:-8px}65%{margin-left:8px}}.modal-backdrop{z-index:70;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#02070bd9;place-items:center;padding:18px;animation:.24s ease-out both modal-fade-in;display:grid;position:fixed;inset:0}.victory-modal,.save-progress-modal{text-align:center;background:#0a151f;border:1px solid #d5ad70;width:min(560px,100%);padding:clamp(28px,6vw,58px);animation:.44s cubic-bezier(.16,1,.3,1) both modal-card-in;position:relative;box-shadow:0 30px 100px #000d,inset 0 0 0 4px #d5ad7012}.victory-modal:before,.save-progress-modal:before{content:"";pointer-events:none;border:1px solid #ffffff14;position:absolute;inset:10px}.victory-modal h2,.save-progress-modal h2{color:var(--paper);margin:8px 0 12px;font:400 clamp(52px,11vw,92px)/.9 Instrument Serif,Georgia,serif}.victory-modal p,.save-progress-modal p{color:#c8c1b5;max-width:430px;margin:0 auto 22px;font:21px/1.4 Instrument Serif,Georgia,serif}.victory-modal>strong{color:#e1b873;margin:18px 0;font:400 54px/1 Instrument Serif,Georgia,serif;display:block}.victory-modal>small{color:var(--muted);letter-spacing:.12em;font-size:9px;display:block}.victory-modal .victory-continue{margin:24px auto 0}.save-progress-modal{text-align:left}.save-progress-modal h2{font-size:clamp(48px,9vw,76px)}.save-progress-modal p{margin-left:0}.save-progress-modal .email-sign-in{margin-top:26px}.save-progress-modal .text-button{margin:20px auto 0;display:block}.modal-close{z-index:2;width:44px;height:44px;color:var(--paper);cursor:pointer;background:0 0;border:1px solid #ffffff28;font:25px/1 sans-serif;position:absolute;top:16px;right:16px}@keyframes modal-fade-in{0%{opacity:0}}@keyframes modal-card-in{0%{opacity:0;transform:translateY(20px)scale(.96)}}.feedback{left:50%;bottom:max(24px, env(safe-area-inset-bottom));z-index:40;background:var(--paper);width:max-content;max-width:calc(100vw - 32px);color:var(--ink);letter-spacing:.05em;text-align:center;margin:0;padding:15px 22px;font-size:11px;line-height:1.4;position:fixed;transform:translate(-50%);box-shadow:0 18px 50px #0008}.hint-stack{border:1px solid #ffffff1d;margin:18px 0}.hint-stack p{color:#d0cbc1;border-bottom:1px solid #ffffff1d;margin:0;padding:16px}.hint-stack p:last-child{border:0}.hint-stack span{color:var(--signal);margin-right:18px}.shell-phase-solved{overscroll-behavior:none;background-color:#03070a;width:100%;height:100dvh;padding:0;position:fixed;inset:0;overflow:hidden}.shell-phase-solved .game-header{top:max(12px, env(safe-area-inset-top));width:min(1380px,100% - 36px);position:absolute;left:50%;transform:translate(-50%)}.result-comparison{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:clamp(8px,1.5vw,24px);width:min(100%,1720px);height:auto;margin:auto;padding:clamp(8px,2vw,32px);display:grid;position:absolute;inset:88px 0 0}.result-panel{min-width:0;margin:0;overflow:hidden}.result-panel .image-viewer{cursor:default;touch-action:auto;width:100%}.result-panel .image-transform{transform:none!important}.result-panel .reveal-scrim{fill-opacity:0}.content-page{flex-direction:column;justify-content:center;align-items:flex-start;max-width:1000px;min-height:100dvh;margin:auto;padding:42px 24px;display:flex}.content-page>.wordmark{margin-bottom:100px}.content-page h1{max-width:860px;margin:0 0 28px;font-size:clamp(54px,8vw,100px);line-height:.9}.content-page>p{color:#c5bfb5;max-width:700px;font-family:Instrument Serif,serif;font-size:26px;line-height:1.45}.content-page>.button{margin-top:30px}.archive{justify-content:flex-start;max-width:1380px}.archive>.game-header{top:max(12px, env(safe-area-inset-top));width:100%;margin-bottom:clamp(64px,9vh,110px);position:sticky}.archive-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;width:100%;display:grid}.archive-grid a{border:1px solid #fff2;text-decoration:none;display:grid}.archive-grid img{aspect-ratio:3/2;object-fit:cover;width:100%}.archive-grid strong,.archive-grid span{padding:12px 14px 0}.archive-grid span{color:var(--muted);text-transform:uppercase;padding-top:0;padding-bottom:12px;font-size:11px}.account-card{border:1px solid var(--line);background:#0b1720f7;gap:18px;padding:28px;display:grid;position:static;box-shadow:0 28px 70px #0008}.account-card h2{margin:5px 0 0;font:42px/1 Instrument Serif,serif}.account-card>p{color:#c6beb2;margin:-5px 0 5px;font:19px/1.45 Instrument Serif,serif}.account-card label{color:var(--muted);letter-spacing:.1em;gap:8px;font-size:9px;display:grid}.account-card label>small{color:#8f9ba2;letter-spacing:.04em;font-size:8px;line-height:1.5}.account-card input[type=email],.account-card input:not([type]){border:1px solid var(--line);width:100%;min-height:48px;color:var(--paper);background:#071018;padding:0 13px;font:13px DM Mono,monospace}.account-card .button{width:100%}.account-card .button:disabled{cursor:not-allowed}.account-card>small,.opt-in small{color:var(--muted);font-size:9px;line-height:1.5}.account-identity{border-block:1px solid #ffffff18;gap:5px;padding:13px 0;display:grid}.account-identity span{color:var(--muted);letter-spacing:.12em;font-size:8px}.account-identity strong{text-overflow:ellipsis;font-size:11px;overflow:hidden}.account-card .opt-in{border:1px solid var(--line);cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:12px;padding:14px;display:grid}.opt-in input{width:18px;height:18px;accent-color:var(--signal)}.opt-in span{gap:5px;display:grid}.opt-in strong{color:var(--paper);font-size:9px}.text-button{color:var(--muted);letter-spacing:.1em;cursor:pointer;background:0 0;border:0;font:9px DM Mono,monospace}.account-message{border-left:2px solid var(--signal);background:#ffffff08;padding:12px;color:var(--paper)!important;margin:0!important;font:11px/1.5 DM Mono,monospace!important}.email-sign-in{grid-template-columns:1fr;gap:12px;display:grid}.email-sign-in label{color:var(--muted);letter-spacing:.1em;gap:8px;font-size:9px;display:grid}.email-sign-in input{border:1px solid var(--line);width:100%;min-height:48px;color:var(--paper);background:#071018;border-radius:0;padding:0 13px;font:13px DM Mono,monospace}.email-sign-in input[autocomplete=one-time-code]{letter-spacing:.35em;text-align:center;font-size:22px}.email-sign-in .button{width:100%}.email-code-step{grid-template-columns:1fr;gap:10px;padding-top:4px;display:grid}.email-code-step small{color:var(--muted);font-size:9px;line-height:1.55}.email-sign-in .button.secondary{border-color:var(--paper);color:var(--paper);background:0 0}.auth-popover>.email-sign-in{grid-template-columns:1fr;gap:10px;display:grid}.auth-popover .email-sign-in .button{min-height:42px}.auth-popover>div:last-of-type:not(.email-sign-in){grid-template-columns:1fr 1fr;gap:8px;display:grid}.auth-callback-page{background:radial-gradient(circle at 50% 20%, #1e3340 0, var(--ink) 55%);min-height:100dvh;padding:22px}.auth-callback-page>.wordmark{margin-bottom:clamp(48px,12vh,120px);display:inline-block}.auth-callback-card{border:1px solid var(--line);background:#0b1720f2;width:min(560px,100%);margin:0 auto;padding:clamp(28px,6vw,54px);box-shadow:0 32px 90px #0007}.auth-callback-card h1{margin:5px 0 18px;font:clamp(46px,8vw,76px)/.95 Instrument Serif,serif}.auth-callback-card>p{color:#c6beb2;margin:0 0 24px;font:19px/1.45 Instrument Serif,serif}.auth-callback-card>.button{justify-content:center;width:100%;display:flex}.auth-callback-card>small{color:var(--muted);margin-top:12px;font-size:9px;display:block}.auth-loader{border:2px solid #ffffff20;border-top-color:var(--signal);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.attempt-history{gap:0;margin-top:8px;display:grid}.attempt-history h3{color:var(--muted);letter-spacing:.1em;margin:0;padding-bottom:10px;font-size:9px}.attempt-history>p{color:var(--muted);font-size:10px;line-height:1.5}.attempt-history a{color:var(--paper);border-top:1px solid #ffffff18;justify-content:space-between;align-items:center;padding:12px 0;font-size:10px;text-decoration:none;display:flex}.attempt-history a span{gap:4px;display:grid}.attempt-history a small{color:var(--muted);font-size:8px}.attempt-history a strong{color:#dfb770;font:21px Instrument Serif,serif}.admin-page{min-height:100dvh;padding:30px}.admin-page>header{justify-content:space-between;align-items:end;margin-bottom:30px;display:flex}.admin-page h1{margin:0;font-size:64px}.reserve{align-items:center;gap:14px;display:flex}.reserve strong{color:var(--signal);font-family:Instrument Serif,serif;font-size:70px;font-weight:400}.reserve span{color:var(--muted);font-size:10px}.admin-grid{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:26px;display:grid}.hotspot-editor{border:1px solid #ffffff20;align-self:start;position:relative}.hotspot-editor img{cursor:crosshair;width:100%;display:block}.hotspot-editor i{border:2px solid var(--signal);pointer-events:none;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%)}.hotspot-editor p{color:var(--muted);margin:0;padding:12px;font-size:10px}.admin-grid aside{border:1px solid #ffffff20;padding:26px}.admin-grid aside h2{font-size:42px;line-height:1}.admin-grid aside>p{color:#c7c0b5;line-height:1.6}.admin-grid aside>label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:7px;margin-top:14px;font-size:10px;display:grid}.admin-grid textarea,.admin-grid input{border:1px solid var(--line);width:100%;min-height:42px;color:var(--paper);resize:vertical;background:#090907;padding:10px;font:12px/1.5 DM Mono,monospace}.admin-grid textarea{min-height:78px}.admin-candidate-tabs{gap:8px;margin-bottom:18px;display:flex;overflow-x:auto}.admin-candidate-tabs button{border:1px solid var(--line);color:var(--muted);cursor:pointer;text-transform:uppercase;background:0 0;flex:none;padding:10px 13px;font-size:10px}.admin-candidate-tabs button.active{border-color:var(--signal);color:var(--paper)}.admin-asset-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:26px;display:grid}.admin-asset-grid figure{border:1px solid var(--line);background:#090907;margin:0}.admin-asset-grid img,.asset-loading{aspect-ratio:3/2;object-fit:contain;width:100%;display:block}.asset-loading{color:var(--muted);place-items:center;font-size:10px;display:grid}.admin-asset-grid figcaption{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.08em;padding:10px 12px;font-size:10px}.admin-grid dl{grid-template-columns:120px 1fr;margin:30px 0;font-size:11px;display:grid}.admin-grid dt,.admin-grid dd{border-top:1px solid #ffffff18;margin:0;padding:10px 0}.admin-grid dt{color:var(--muted)}.admin-actions{gap:8px;display:grid}.admin-actions button:not(.button){cursor:pointer;background:0 0;border:1px solid #ffffff2a;min-height:42px}.admin-actions button.danger{border-color:var(--signal);color:var(--signal)}.status-approved{color:#82be8c!important}.status-rejected{color:var(--signal)!important}body{background:#04090d}.game-shell{background-image:linear-gradient(#0206085c,#02060891),url(/backgrounds/evidence-desk-v1.webp);background-position:top;background-size:cover;background-attachment:fixed;width:100%;max-width:none}.game-shell>.game-header,.game-shell>.puzzle-card{width:min(1380px,100%);margin-inline:auto}.game-header{top:max(12px, env(safe-area-inset-top));z-index:15;-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15);background:#061018d9;border-color:#d9b87955;border-radius:3px;min-height:64px;position:sticky;box-shadow:0 18px 65px #0009}.shell-phase-ready{background:#04090d;min-height:100dvh;padding:0;position:relative}.shell-phase-ready .game-header{top:max(18px, env(safe-area-inset-top));width:min(1380px,100% - 36px);position:absolute;left:50%;transform:translate(-50%)}.wordmark{min-height:62px}.game-header nav a[aria-current=page]{background:#d9b87917;border-color:#d9b87970}.puzzle-card.phase-ready{aspect-ratio:1672/941;width:min(1672px,100%);min-height:0;box-shadow:none;background:#071018 url(/backgrounds/evidence-desk-v1.webp) 50%/cover no-repeat;border:0;border-radius:0}.phase-ready .puzzle-pair{background:0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:3.55%;padding:0;position:absolute;inset:32.9% 14.25% 29.85% 15.8%}.phase-ready .puzzle-panel{background:#242728;border:0;border-radius:2px;height:100%;padding:0;overflow:visible;box-shadow:0 5px 18px #0007}.phase-ready .puzzle-panel figcaption{display:none}.phase-ready .image-viewer{aspect-ratio:auto;height:100%;overflow:hidden}.phase-ready .start-layer{z-index:8;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#071018e8;border:1px solid #d9b87980;width:min(760px,82%);min-height:110px;padding:16px 18px;position:absolute;inset:auto auto 4.5% 50%;transform:translate(-50%);box-shadow:0 20px 65px #000c}.phase-ready .start-layer h1{color:var(--paper);text-transform:uppercase;margin:0;font-size:clamp(28px,3.2vw,46px);line-height:.95}.phase-ready .start-layer .eyebrow{margin-bottom:5px}.phase-ready .start-layer .button{width:min(280px,40%)}.phase-ready .start-layer p{color:#cfc5b6}.puzzle-card.phase-playing{background:#071018 url(/backgrounds/investigation-closeup-v1.webp) 50%/cover no-repeat;display:block}.phase-playing .puzzle-pair{background:0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:9.7%;height:auto;padding:0;display:grid;position:absolute;inset:29.55% 9.63% 28.79%}.phase-playing .puzzle-panel{height:100%;box-shadow:none;background:0 0;border:0;border-radius:2px;padding:0;display:block;overflow:hidden}.phase-playing .puzzle-panel figcaption{display:none}.phase-playing .image-viewer{aspect-ratio:auto;height:100%}.phase-playing .hud{right:4%;bottom:max(2.5%, env(safe-area-inset-bottom));border:1px solid var(--line);position:absolute;left:4%;box-shadow:0 18px 55px #000b}.leaderboard-page{overscroll-behavior:none;background:#061018 url(/backgrounds/leaderboard-scroll-v1.webp) 50%/cover no-repeat;width:100%;height:100dvh;position:fixed;inset:0;overflow:hidden}.leaderboard-page:before{content:"";pointer-events:none;background:linear-gradient(#02060828,#0000 14% 86%,#02060835);position:absolute;inset:0}.leaderboard-heading{border-bottom:1px solid #67492755;justify-content:space-between;align-items:center;gap:24px;margin:0 0 clamp(18px,3vh,34px);padding-bottom:clamp(14px,2.3vh,24px);display:flex}.leaderboard-back{color:#3b2517;letter-spacing:.14em;flex:none;justify-content:flex-end;align-items:center;gap:8px;min-width:72px;min-height:44px;padding:0 4px;font:700 12px/1 IBM Plex Mono,monospace;text-decoration:none;display:inline-flex}.leaderboard-back span{color:#a63327;font-size:22px;line-height:1;transition:transform .14s}.leaderboard-back .leaderboard-back-label{color:inherit;font-size:inherit}.leaderboard-back:hover span,.leaderboard-back:focus-visible span{transform:translate(-3px)}.leaderboard-back:focus-visible{outline-offset:4px;outline:2px solid #a63327}.leaderboard-ledger{z-index:1;color:#2c1d11;grid-template-rows:auto minmax(0,1fr);display:grid;position:absolute;inset:15.5% 19% 13%}.leaderboard-ledger h1{margin:0;font:400 clamp(46px,5vw,72px)/.95 Instrument Serif,serif}.leaderboard-entries{min-height:0;margin:0;padding:0;list-style:none;overflow:hidden}.leaderboard-entries li{border-bottom:1px solid #67492735;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:clamp(44px,6.2vh,62px);display:grid}.leaderboard-entries .rank{color:#a63327;font-variant-numeric:tabular-nums;font:24px/1 Instrument Serif,serif}.leaderboard-entries strong{color:#2c1d11;letter-spacing:.035em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(12px,1.1vw,16px);overflow:hidden}.leaderboard-entries .time{color:#2c1d11;font-variant-numeric:tabular-nums;font:clamp(24px,2.2vw,34px)/1 Instrument Serif,serif}.account-backdrop{z-index:50}.leaderboard-account-modal{width:min(560px,100% - 28px);max-height:min(760px,100dvh - 28px);color:var(--paper);position:relative;overflow:auto}@media (max-width:1024px) and (orientation:portrait){.game-shell{background-image:linear-gradient(#0206085c,#02060891),url(/backgrounds/evidence-desk-portrait-v1.webp);background-position:top;background-size:cover;background-attachment:scroll}.shell-phase-solved{background-position:top;background-repeat:no-repeat;background-size:auto 100dvh}.shell-phase-solved .result-comparison{aspect-ratio:941/1672;width:auto;height:100dvh;margin:0;padding:0;inset:0 auto auto 50%;transform:translate(-50%)}.shell-phase-solved .result-panel{width:62.06%;height:24.34%;position:absolute;left:20.51%}.shell-phase-solved .result-panel:first-child{top:25.84%}.shell-phase-solved .result-panel:nth-child(2){height:25.18%;top:53.83%}.shell-phase-solved .result-panel .image-viewer{aspect-ratio:auto;width:100%;height:100%}.shell-phase-ready{background:#04090d}.puzzle-card.phase-ready{aspect-ratio:9/16;background-image:url(/backgrounds/evidence-desk-portrait-v1.webp);background-position:50%;border:0;padding:0}.phase-ready .puzzle-pair{grid-template-rows:repeat(2,auto);grid-template-columns:1fr;align-content:space-between;gap:0;padding:0;display:grid;position:absolute;inset:25.95% 16.2% 20.55% 20.4%}.phase-ready .puzzle-panel{height:auto;box-shadow:none;background:0 0;border:0;border-radius:2px;padding:0;overflow:hidden}.phase-ready .image-viewer{aspect-ratio:3/2;height:auto}.phase-ready .start-layer{gap:12px;width:min(720px,100% - clamp(18px,4vw,38px));min-height:104px;padding:14px 18px;inset:auto auto 2.4% 50%}.phase-ready .start-layer .button{width:auto;min-width:180px}.puzzle-card.phase-playing{background-image:url(/backgrounds/investigation-closeup-portrait-v1.webp)}.phase-playing .puzzle-pair{grid-template-rows:repeat(2,auto);grid-template-columns:1fr;align-content:space-between;gap:0;inset:20.4% 16.2% 16.5%}.phase-playing .puzzle-panel{height:auto}.phase-playing .image-viewer{aspect-ratio:3/2;height:auto}.leaderboard-page{background-image:url(/backgrounds/leaderboard-scroll-portrait-v1.webp);background-position:50%;background-size:100% 100%}.leaderboard-ledger{inset:21% 19% 11%}}@media (max-width:720px){.game-shell{padding-inline:8px}.game-header{grid-template-columns:1fr auto;align-items:stretch}.wordmark{border-right:0}.case-file{border-right:0;border-left:1px solid var(--line);padding-inline:14px}.case-file>span{display:none}.game-header nav{border-top:1px solid var(--line);grid-column:1/-1;justify-content:flex-start;width:100%;margin:0;padding:6px 8px;overflow-x:auto}.game-header nav a,.account-button,.auth-unconfigured{flex:none;min-height:42px;padding:0 8px;font-size:9px}.game-header nav a>span{font-size:8px}.game-header nav a[href=\/how-to-play]{display:none}.case-briefing{background-image:radial-gradient(circle at 90% 12%,#6f512218,#0000 15rem);grid-template-columns:1fr;gap:16px;margin:14px 4px;padding:22px 24px}.case-briefing:before{left:10px}.intro h1{max-width:360px;font-size:clamp(36px,10.5vw,48px);line-height:.92}.promise{max-width:440px;margin-top:10px;font-size:17px;line-height:1.3}.case-stamp{display:none}.puzzle-card{border-radius:6px}.start-layer{border-top:0;border-bottom:1px solid var(--line);order:-1;align-items:center;gap:14px;padding:14px}.start-layer p{max-width:180px;margin-top:5px;font-size:9px}.start-layer .button{width:auto;min-width:150px;min-height:48px;padding-inline:14px;font-size:9px}.puzzle-pair{grid-template-columns:1fr}.puzzle-panel+.puzzle-panel{border-top:1px solid var(--line)}.puzzle-panel figcaption span{padding-inline:12px}.puzzle-panel figcaption small{padding-inline:10px;font-size:8px}.puzzle-panel .zoom-controls{bottom:8px;left:50%;right:auto}.puzzle-panel .zoom-controls button{min-width:42px;min-height:42px}.hud{grid-template-columns:1fr 1fr 1fr}.hud>*{min-height:58px;padding:0 8px;font-size:11px}.hud .timer{font-size:14px}.hud button{min-width:0}.puzzle-card.phase-playing{padding:0;display:block;overflow:hidden}.phase-playing .puzzle-pair{grid-template-rows:repeat(2,auto);grid-template-columns:1fr;align-content:space-between;gap:0;height:auto;padding:0;display:grid;position:absolute;inset:20.4% 16.2% 16.5%}.phase-playing .puzzle-panel{height:auto;display:block}.phase-playing .puzzle-panel .zoom-controls{bottom:5px}.phase-playing .hud{right:4px;bottom:max(4px, env(safe-area-inset-bottom));padding-bottom:0;position:absolute;left:4px;box-shadow:0 -14px 38px #000b}.phase-playing .hud>*{min-height:56px}.in-play-hints{right:6px;bottom:calc(64px + env(safe-area-inset-bottom));width:calc(100% - 12px)}.verdict{top:max(18px, env(safe-area-inset-top));min-height:92px}.verdict-word{min-width:76px;font-size:40px}.verdict strong{font-size:21px}.admin-grid,.admin-asset-grid{grid-template-columns:1fr}.admin-page>header{align-items:flex-start}.admin-page h1{font-size:42px}.leaderboard-heading{gap:10px;margin-bottom:14px;padding-bottom:12px}.leaderboard-ledger h1{font-size:clamp(32px,10vw,40px)}.leaderboard-heading{grid-template-columns:1fr;align-items:start;display:grid}.leaderboard-back{grid-row:1;justify-content:flex-start;justify-self:start;min-width:78px;min-height:36px;padding:0}.leaderboard-heading h1{grid-row:2}.leaderboard-back-label{display:inline}.leaderboard-entries li{grid-template-columns:28px minmax(0,1fr) auto;gap:8px;min-height:clamp(40px,5.7vh,48px)}.leaderboard-entries li:nth-child(n+9){display:none}.leaderboard-entries .rank{font-size:17px}.leaderboard-entries strong{letter-spacing:0;font-size:10px}.leaderboard-entries .time{font-size:21px}}@media (max-width:430px){.start-layer{display:grid}.phase-ready .start-layer .eyebrow,.phase-ready .start-layer p{display:none}.phase-ready .start-layer h1{text-align:center;font-size:23px}.start-layer .button{width:100%}}@media (max-width:720px) and (orientation:landscape){.start-layer{order:0}.puzzle-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.phase-playing .puzzle-pair{grid-template-rows:auto}.puzzle-panel+.puzzle-panel{border-top:0}}@media (max-width:720px){.game-shell{background-position:top;background-size:auto 100dvh;padding-inline:8px}.shell-phase-ready{background:#04090d;min-height:100dvh;padding:0}.shell-phase-ready .game-header{top:max(6px, env(safe-area-inset-top));width:calc(100% - 12px)}.game-header{top:max(6px, env(safe-area-inset-top));border-radius:2px}.shell-phase-solved .game-header{top:max(6px, env(safe-area-inset-top));width:calc(100% - 12px)}.case-briefing{background:#071018e8;padding:18px 20px;max-width:none!important;margin:12px 2px!important}.case-briefing .promise{color:#d5c9b5}.puzzle-card.phase-ready{aspect-ratio:9/16;background-image:url(/backgrounds/evidence-desk-portrait-v1.webp);background-position:50%;border:0;padding:0}.phase-ready .puzzle-pair{grid-template-rows:repeat(2,auto);grid-template-columns:1fr;align-content:space-between;gap:0;padding:0;display:grid;position:absolute;inset:25.95% 16.2% 20.55% 20.4%}.phase-ready .puzzle-panel{height:auto;box-shadow:none;background:0 0;border:0;border-radius:2px;padding:0;overflow:hidden}.phase-ready .puzzle-panel figcaption{display:none}.phase-ready .image-viewer{aspect-ratio:3/2;height:auto}.phase-ready .start-layer{gap:10px;width:calc(100% - 12px);min-height:96px;padding:12px;inset:auto auto 1.5% 50%}.phase-ready .start-layer h1{font-size:clamp(25px,7.6vw,34px)}.phase-ready .start-layer p{max-width:none}.phase-ready .start-layer .button{width:auto;min-width:148px}.puzzle-card.phase-playing{background-image:url(/backgrounds/investigation-closeup-phone-v2.webp);background-position:top;background-repeat:no-repeat;background-size:100%}.phase-playing .puzzle-pair{width:auto;height:120.61vw;inset:27.95vw 6.1vw auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal-halo,.reveal-outline{animation:none!important}}
