*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #09090a;--text: #ebe6dc;--text-soft: #d9d3c7;--muted: #8f8b84;--dim: #6d6a64;--line: #2a2927;--line-strong: #5d5a55;--red: #e3262f;--on-red: #0b0a0a;--print: #e9e4da;--placard: #0d0d0d;--font-display: "Big Shoulders Display", "Arial Narrow", sans-serif;--font: "Newsreader", Georgia, serif;--transition: .16s ease}html,body,#root{height:100%}body{background-color:var(--bg);color:var(--text);font-family:var(--font);font-size:17px;line-height:1.45;-webkit-font-smoothing:antialiased;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='0.09'/%3E%3C/svg%3E");background-size:160px 160px;background-attachment:fixed}.lamp-room{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.lamp{position:absolute;top:-6vh;left:-60vw;width:220vw;height:112vh;transform-origin:50% 0;background:radial-gradient(31.8% 37.5% at 50% 1.8%,rgba(255,238,210,.13),transparent 70%)}:root:has(.stamp) .lamp,:root:has(.stamp-end) .lamp{animation:swing 3.4s .25s linear both}:root:has(.stamp--late) .lamp{animation-delay:1.08s}:root:has(.stamp-end) .lamp{animation-delay:.83s}@keyframes swing{0%{transform:rotate(0);animation-timing-function:ease-in-out}14.3%{transform:rotate(8deg);animation-timing-function:ease-in-out}28.6%{transform:rotate(-6deg);animation-timing-function:ease-in-out}42.9%{transform:rotate(4.2deg);animation-timing-function:ease-in-out}57.1%{transform:rotate(-2.6deg);animation-timing-function:ease-in-out}71.4%{transform:rotate(1.4deg);animation-timing-function:ease-in-out}85.7%{transform:rotate(-.6deg);animation-timing-function:ease-in-out}to{transform:rotate(0)}}body.is-offline .lamp{animation:flicker 1.7s linear infinite}body.is-offline:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:#0006;pointer-events:none;animation:fadeIn .26s ease both}@keyframes flicker{0%,50%,66%,to{opacity:1}4%{opacity:.2}8%{opacity:.95}53%{opacity:.1}56%{opacity:.7}60%{opacity:.15}}.blackout{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;background:#000;pointer-events:none;animation:relight .52s linear both}@keyframes relight{0%,23%{opacity:1}35%{opacity:.5}45%{opacity:.92}62%{opacity:.3}75%{opacity:.6}to{opacity:0}}:focus-visible{outline:2px solid var(--red);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:calc(34px + 1.6rem) 1.35rem 1.75rem}.screen{width:100%;max-width:440px;flex:1;display:flex;flex-direction:column;gap:1.1rem}.screen-head{display:flex;justify-content:space-between;gap:1rem}.grow{flex:1}.stack{display:flex;flex-direction:column;gap:1rem}.stack-sm{display:flex;flex-direction:column;gap:.5rem}.row{display:flex;gap:.75rem;align-items:center}.center{text-align:center}.flex-1{flex:1;min-width:0}.lbl{font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.lbl--red{color:var(--red)}.lbl--light{color:var(--text)}.display{font-family:var(--font-display);font-weight:900;line-height:.94;letter-spacing:-.005em;text-transform:uppercase;overflow-wrap:anywhere}.display--xl{font-size:clamp(6.5rem,38vw,9.25rem);line-height:.82}.display--lg{font-size:clamp(3.4rem,23vw,5.9rem)}.display--md{font-size:clamp(2.6rem,13vw,3.4rem)}.display--red{color:var(--red)}.title{font-family:var(--font-display);font-size:1.5rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1.1}.lede{font-size:1.3rem;font-style:italic;line-height:1.35;color:var(--text-soft)}.muted{color:var(--muted)}.small{font-size:.9rem}.text-red{color:var(--red)}.rule-red{width:64px;height:4px;background:var(--red)}.q-reminder{font-size:.9rem;font-style:italic;line-height:1.4;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.quote{position:relative;padding-left:1.8rem}.quote:before{content:"«";position:absolute;left:-.1rem;top:-.55em;font-size:3.6rem;line-height:1;color:var(--red)}.quote-text{font-size:1.6rem;line-height:1.22}.quote--sm:before{font-size:2.75rem;top:-.4em}.quote--sm .quote-text{font-size:1.25rem;font-style:italic;line-height:1.3;color:var(--text-soft)}.question{font-size:clamp(1.55rem,7vw,1.9rem);font-style:italic;line-height:1.22}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:58px;padding:0 1.25rem;border:1.5px solid transparent;border-radius:0;font-family:var(--font-display);font-size:1.3rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:background var(--transition),color var(--transition),border-color var(--transition),transform var(--transition),opacity var(--transition)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-full{width:100%}.btn-red{background:var(--red);color:var(--on-red)}.btn-red:hover:not(:disabled){filter:brightness(1.08)}.btn-line{background:transparent;color:var(--text);border-color:var(--text)}.btn-line:hover:not(:disabled){background:#ebe6dc0f}.btn-sm{min-height:42px;padding:0 .85rem;font-size:.85rem;font-weight:800;letter-spacing:.16em;background:transparent;color:var(--text);border-color:var(--line-strong)}.btn-sm:hover:not(:disabled){border-color:var(--text)}.link{align-self:center;display:inline-flex;align-items:center;gap:.4rem;min-height:36px;padding:0 .25rem;background:none;border:none;font-family:var(--font-display);font-size:.82rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:var(--muted);cursor:pointer;transition:color var(--transition)}.link:hover{color:var(--text)}.link--red{color:var(--red)}.field{display:flex;flex-direction:column;gap:.35rem}input[type=text],textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line-strong);border-radius:0;padding:.45rem 0;color:var(--text);font-family:var(--font);font-size:1.5rem;outline:none;transition:border-color var(--transition)}input[type=text]:focus,textarea:focus{border-bottom-color:var(--text)}input::placeholder,textarea::placeholder{color:#57544e}textarea{min-height:7.5rem;resize:none;line-height:1.35;font-size:1.3rem;background:#ffffff06;padding:.75rem .85rem}.input-code{font-family:var(--font-display)!important;font-weight:900;letter-spacing:.18em;text-transform:uppercase;font-size:2rem!important}.tabs{display:flex;gap:1.4rem;flex-wrap:wrap}.tab{background:none;border:none;border-bottom:3px solid transparent;padding:.3rem 0;font-family:var(--font-display);font-size:.95rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);cursor:pointer;transition:color var(--transition),border-color var(--transition)}.tab.active{color:var(--text);border-bottom-color:var(--red)}.toggle-pill{position:relative;flex-shrink:0;width:46px;height:26px;background:transparent;border:1.5px solid var(--line-strong);border-radius:0;cursor:pointer;transition:background var(--transition),border-color var(--transition)}.toggle-pill:after{content:"";position:absolute;top:4px;left:4px;width:15px;height:15px;background:var(--dim);transition:transform var(--transition),background var(--transition)}.toggle-pill.active{background:var(--red);border-color:var(--red)}.toggle-pill.active:after{transform:translate(19px);background:var(--on-red)}.option-row{display:flex;align-items:center;gap:1rem}.option-row-title{font-family:var(--font-display);font-size:1.05rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.option-row-desc{font-size:.95rem;font-style:italic;color:var(--muted);line-height:1.35}.fold{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.fold summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:48px;cursor:pointer;list-style:none;font-family:var(--font-display);font-size:.9rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;-webkit-tap-highlight-color:transparent}.fold summary::-webkit-details-marker{display:none}.fold summary:after{content:"+";color:var(--red);font-size:1.1rem}.fold[open] summary:after{content:"−"}.fold-body{padding:.25rem 0 1.25rem;display:flex;flex-direction:column;gap:1.1rem}.suspects{display:grid;grid-template-columns:repeat(var(--cols, 4),minmax(0,1fr));gap:1.1rem .65rem;padding-top:.35rem}.suspect{position:relative;display:flex;flex-direction:column;min-width:0;background:none;border:none;padding:0;color:var(--text);text-align:center;transform:rotate(var(--tilt, 0deg));-webkit-tap-highlight-color:transparent;transition:opacity var(--transition),transform var(--transition)}button.suspect{cursor:pointer;touch-action:manipulation}button.suspect:active{transform:rotate(var(--tilt, 0deg)) scale(.97)}.suspect-frame{display:block;background:var(--print);padding:4px 4px 0;box-shadow:0 8px 18px #0009;transition:background var(--transition),box-shadow var(--transition)}.suspect-print{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1 / .98;overflow:hidden;background:radial-gradient(circle at 50% 30%,#cfcac1,#7a766f 80%);transition:opacity var(--transition)}.suspect-print:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(180deg,transparent 0 11px,rgba(0,0,0,.16) 11px 12px);pointer-events:none}.suspect-print img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15)}.suspect-print.is-blank{background:#1b1b1a;font-family:var(--font-display);font-size:clamp(2rem,11vw,2.8rem);font-weight:900;color:#5f5c57;text-transform:uppercase}.suspect-print.is-blank:after{background:repeating-linear-gradient(180deg,transparent 0 11px,rgba(255,255,255,.05) 11px 12px)}.suspect-plac{display:block;margin:0 -4px;padding:.3rem .2rem .35rem;background:var(--placard);font-family:var(--font-display);font-size:.95rem;font-weight:900;letter-spacing:.05em;line-height:1;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--transition),color var(--transition)}.suspect-pin{position:absolute;top:-5px;left:50%;margin-left:-5px;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff8a7e,#d42a20 60%,#6e120d);box-shadow:0 3px 4px #0009;z-index:2}.suspect-tag{position:absolute;top:-9px;right:-6px;z-index:3;background:var(--text);color:var(--on-red);padding:2px 4px;font-family:var(--font-display);font-size:.6rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.suspect.is-sel .suspect-frame{background:var(--red);box-shadow:0 0 0 1px var(--red),0 10px 30px #e3262f59}.suspect.is-sel .suspect-plac{background:var(--red);color:var(--on-red)}.suspect.is-off{opacity:.55}.suspect.is-wait{opacity:.4}.suspect-remove{position:absolute;top:-10px;left:-8px;z-index:3;width:26px;height:26px;background:var(--placard);border:1px solid var(--line-strong);color:var(--text);font-family:var(--font-display);font-size:1rem;font-weight:900;line-height:1;cursor:pointer}.viewfinder{position:relative;width:100%;max-width:340px;align-self:center;aspect-ratio:1 / 1.05;overflow:hidden;background:radial-gradient(circle at 50% 32%,#c9c4bb,#6f6b65 85%)}.viewfinder:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:repeating-linear-gradient(180deg,transparent 0 23px,rgba(0,0,0,.18) 23px 24px);pointer-events:none}.viewfinder img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15);animation:flashIn .7s ease-out both}.viewfinder .mugshot-mark{z-index:2}.viewfinder-guide{position:absolute;left:50%;top:38%;width:42%;height:50%;transform:translate(-50%,-50%);border:1.5px dashed rgba(235,230,220,.75);border-radius:50%}.vf-corner{position:absolute;z-index:2;width:22px;height:22px;border:0 solid var(--text)}.vf-corner.tl{top:12px;left:12px;border-top-width:2px;border-left-width:2px}.vf-corner.tr{top:12px;right:12px;border-top-width:2px;border-right-width:2px}.vf-corner.bl{bottom:12px;left:12px;border-bottom-width:2px;border-left-width:2px}.vf-corner.br{bottom:12px;right:12px;border-bottom-width:2px;border-right-width:2px}.viewfinder-plac{position:absolute;z-index:3;left:50%;bottom:6%;transform:translate(-50%);min-width:62%;max-width:88%;padding:.35rem .8rem .45rem;background:var(--placard);border:1.5px solid var(--text-soft);text-align:center}.viewfinder-plac .display{font-size:2.4rem;line-height:1;margin-top:.2rem}.viewfinder-plac .lbl{font-size:.6rem;letter-spacing:.24em;color:#b5afa4}@keyframes flashIn{0%{filter:grayscale(1) brightness(3)}to{filter:grayscale(1) contrast(1.15)}}.suspect-slot{position:relative;min-width:0;display:flex;flex-direction:column}.mugshot{position:relative;width:min(250px,72vw);align-self:center;background:var(--print);padding:7px 7px 0;box-shadow:0 20px 40px #000000b3;animation:hang .5s .5s cubic-bezier(.2,.9,.3,1.2) both}.mugshot .suspect-pin{width:14px;height:14px;margin-left:-7px;top:-7px}.mugshot-print{position:relative;aspect-ratio:1 / 1.02;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 30%,#d8d3ca,#7a766f 80%)}.mugshot-print:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(180deg,transparent 0 24px,rgba(0,0,0,.18) 24px 25px);pointer-events:none}.mugshot-print img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15)}.mugshot-print.is-blank{background:#1b1b1a;font-family:var(--font-display);font-size:7rem;font-weight:900;color:#4a4844;text-transform:uppercase}.mugshot-print.is-blank:after{background:repeating-linear-gradient(180deg,transparent 0 24px,rgba(255,255,255,.05) 24px 25px)}.mugshot-mark{position:absolute;right:6px;z-index:2;font-family:var(--font-display);font-size:.65rem;font-weight:800;color:#00000073}.mugshot-print.is-blank .mugshot-mark{color:#ffffff2e}.mugshot-flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:#fffdf6;pointer-events:none;animation:flash .9s .6s ease-out both}.mugshot-plac{margin:0 -7px;padding:.5rem .6rem .6rem;background:var(--placard);text-align:center}.mugshot-plac .display{font-size:clamp(2.8rem,15vw,3.9rem);line-height:1;margin:.35rem 0 .1rem}.mugshot-plac .lbl{font-size:.62rem;letter-spacing:.24em;color:#b5afa4}.mugshot-plac .lbl--red{color:var(--red)}@keyframes hang{0%{opacity:0;transform:translateY(-18px) rotate(-6deg)}60%{opacity:1;transform:translateY(2px) rotate(-2deg)}to{opacity:1;transform:translateY(0) rotate(-2deg)}}@keyframes flash{0%{opacity:0}8%{opacity:.95}to{opacity:0}}.after-flash{animation:fadeIn .4s 1.3s both}.verdict-lines{display:flex;flex-direction:column;gap:.6rem}.verdict-lines .names{font-size:1.1rem;margin-top:.1rem}.slips,.slip-backs{display:flex;flex-direction:column;gap:.75rem}.slip{display:flex;flex-direction:column;gap:.35rem;text-align:left;background:var(--print);color:#17150f;border:0;border-left:5px solid transparent;padding:.85rem 1rem .95rem;font-family:var(--font);cursor:pointer;box-shadow:0 6px 14px #0000008c;transform:rotate(var(--rot, 0deg));transition:opacity var(--transition),transform var(--transition),border-color var(--transition);animation:fadeIn .3s ease both}.slip:nth-child(1){--rot: -.6deg}.slip:nth-child(2){--rot: .5deg;animation-delay:60ms}.slip:nth-child(3){--rot: -.3deg;animation-delay:.12s}.slip .lbl{color:#6b665c}.slip p{font-style:italic;font-size:1.2rem;line-height:1.22}.slips.has-sel .slip{opacity:.45}.slips.has-sel .slip.is-sel{opacity:1;border-left-color:var(--red);transform:translate(4px)}.slip--flying{position:fixed;z-index:50;margin:0;transform:none;animation:none;pointer-events:none}.slip-back{height:4.6rem;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;background:#1b1b1a repeating-linear-gradient(135deg,transparent 0 8px,rgba(255,255,255,.03) 8px 9px);border:1px solid var(--line-strong);transition:border-color .2s,transform .2s}.slip-back.is-sel{border-color:var(--red);transform:translate(6px)}.slip-back.is-sel .lbl{color:var(--red)}.links{display:flex;justify-content:center;flex-wrap:wrap;gap:0 1.4rem}.handoff{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.75rem;padding:2rem 0}.is-filing>*{opacity:0;transition:opacity .24s ease}.filing{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;pointer-events:none}.filing-back,.filing-front{position:absolute;left:0;right:0;bottom:-10vh;width:min(418px,calc(100vw - 2rem));margin:0 auto;animation:file-folder 1.9s both}.filing-back{top:52vh;background:#1f1c19;box-shadow:0 20px 40px #0009}.filing-back:before{content:"";position:absolute;top:-16px;left:0;width:110px;height:16px;background:#1f1c19}.filing-front{top:calc(52vh + 40px);display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.1rem;background:#2b2723;border-top:1px solid #3d3832;box-shadow:0 -6px 16px #00000073}.filing-front .lbl{color:#9c958a}.filing-sheet{--drop: calc(52vh + 16px - var(--y) - var(--h) * .07);position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);overflow:hidden;padding:.75rem .85rem;font-size:1.3rem;line-height:1.35;background:var(--print);color:#17150f;box-shadow:0 8px 18px #00000080;animation:file-sheet 1.9s both}@keyframes file-sheet{0%{transform:none;background:#ffffff06;color:var(--text);box-shadow:none}14.7%{transform:rotate(-1.2deg);background:var(--print);color:#17150f;box-shadow:0 8px 18px #00000080}33.7%{transform:rotate(-1.2deg);animation-timing-function:cubic-bezier(.5,0,.75,0)}56.8%{transform:translateY(var(--drop)) scale(.86)}59%{transform:translate(1.5px,calc(var(--drop) + 2px)) scale(.86)}61%{transform:translate(-1px,calc(var(--drop) - 1px)) scale(.86)}63%,79%{transform:translateY(var(--drop)) scale(.86);animation-timing-function:cubic-bezier(.5,0,.8,.4)}to{transform:translateY(calc(var(--drop) + 100vh)) scale(.86)}}@keyframes file-folder{0%,14.7%{transform:translateY(100vh);animation-timing-function:cubic-bezier(.2,.8,.3,1)}33.7%,56.8%{transform:none}59%{transform:translate(1.5px,2px)}61%{transform:translate(-1px,-1px)}63%,79%{transform:none;animation-timing-function:cubic-bezier(.5,0,.8,.4)}to{transform:translateY(100vh)}}.suspects--wall .suspect{animation:pin-in .56s cubic-bezier(.2,.9,.3,1.2) backwards}.suspects--wall .suspect-pin{animation:pin-pop .18s .43s ease-in backwards}.suspects--wall .is-falling .suspect{transform-origin:14% 4%;pointer-events:none;animation:unpin .95s cubic-bezier(.45,0,.7,.6) both}.suspects--wall .is-falling .suspect-pin{animation:pin-out .16s ease-out both}@keyframes pin-in{0%{opacity:0;transform:translateY(-26px) rotate(calc(var(--tilt) - 9deg))}60%{opacity:1;transform:translateY(3px) rotate(calc(var(--tilt) - 1deg))}to{transform:rotate(var(--tilt))}}@keyframes pin-pop{0%{opacity:0;transform:scale(2.2)}to{opacity:1;transform:scale(1)}}@keyframes unpin{0%{transform:rotate(var(--tilt))}35%{transform:rotate(calc(var(--tilt) + 26deg))}to{transform:translateY(190px) rotate(calc(var(--tilt) + 52deg));opacity:0}}@keyframes pin-out{to{opacity:0;transform:translateY(-12px) scale(1.3)}}.case-no{font-family:var(--font-display);font-size:clamp(3rem,16vw,3.8rem);font-weight:900;line-height:.9;letter-spacing:.06em}.invite-qr{display:block;width:min(220px,64vw);background:var(--print);animation:fadeIn .2s ease both}.credits{display:flex;flex-direction:column;gap:1.5rem}.stamp-end{align-self:flex-start;display:inline-block;margin:.15rem 0 0 .2rem;padding:.05em .22em .1em;border:5px solid var(--red);color:var(--red);font-family:var(--font-display);font-size:clamp(2.9rem,19vw,4.9rem);font-weight:900;line-height:.95;letter-spacing:.06em;text-transform:uppercase;transform:rotate(-5deg);transform-origin:30% 50%;animation:stamp-slam .32s .65s cubic-bezier(.3,0,.4,1) both}@keyframes stamp-slam{0%{opacity:0;transform:rotate(-5deg) scale(2.4)}55%{opacity:1;transform:rotate(-5deg) scale(.94)}to{opacity:1;transform:rotate(-5deg) scale(1)}}.end-screen{animation:thud .18s .83s linear}.end-late{animation:fadeIn .4s 1.2s both}.end-dim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;background:#000;pointer-events:none;animation:end-dim 2.9s 1.9s both}@keyframes end-dim{0%{opacity:0;animation-timing-function:ease-in}22%,72%{opacity:.82;animation-timing-function:ease-out}to{opacity:0}}.credits--lit{position:relative;z-index:3}.credits--lit .credit{animation:fadeIn .22s both;animation-delay:calc(2.55s + var(--i) * .38s)}.credits--lit .suspect-print{animation:develop .75s ease-out both;animation-delay:calc(2.55s + var(--i) * .38s)}@keyframes develop{0%{filter:brightness(3.4)}to{filter:none}}.end-screen .fold,.end-screen .btn,.end-screen .link,.end-screen .progress{animation:reveal-late .5s 4s both}@keyframes reveal-late{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:visible}}.credit{display:flex;align-items:center;gap:1.1rem}.credit .suspect{flex:0 0 82px}.credit-name{font-family:var(--font-display);font-size:2.3rem;font-weight:900;line-height:1;letter-spacing:.04em;text-transform:uppercase;margin-top:.1rem}.credit-why{font-size:.95rem;font-style:italic;color:var(--muted);margin-top:.15rem}.round-record{display:flex;flex-direction:column;gap:.7rem;padding-top:1rem;border-top:1px solid var(--line)}.round-record:first-child{border-top:none;padding-top:0}.round-answer{font-size:1.05rem;line-height:1.35}.round-meta{font-size:.88rem;font-style:italic;color:var(--muted);margin-top:.1rem}.class-bar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;height:34px;padding:0 1rem 0 1.35rem;background:linear-gradient(180deg,#09090af2,#09090ab3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.class-bar-mark{font-family:var(--font-display);font-size:1rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.class-bar-mark span{color:var(--red)}.header-menu-wrap{position:relative}.header-menu-btn{display:flex;align-items:center;justify-content:center;width:34px;height:30px;background:none;border:none;color:var(--muted);font-size:1.2rem;cursor:pointer}.header-menu-btn:hover{color:var(--text)}.header-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:190px;background:#121212;border:1px solid var(--line-strong);box-shadow:0 16px 36px #0009;z-index:200;animation:fadeIn .15s ease both}.header-dropdown-item{display:flex;align-items:center;gap:.6rem;width:100%;min-height:46px;padding:0 1rem;background:none;border:none;font-family:var(--font-display);font-size:.9rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--text);text-align:left;cursor:pointer}.header-dropdown-item:hover{background:#ffffff0d}.header-dropdown-item.danger{color:var(--red)}.header-dropdown-sep{height:1px;background:var(--line)}.error-msg{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .9rem;border:1px solid var(--red);color:var(--text);font-size:.95rem;cursor:pointer}.error-msg-close{color:var(--red);font-size:1.2rem;line-height:1}.toast{position:fixed;top:calc(34px + .6rem);left:50%;transform:translate(-50%);z-index:90;width:min(440px,calc(100% - 2.7rem));background:var(--bg);animation:fadeIn .2s ease both}.stamp{--rot: -8deg;position:absolute;left:50%;top:50%;z-index:4;transform:translate(-50%,-50%) rotate(var(--rot));border:3px solid var(--red);color:var(--red);background:#09090a99;padding:.3rem .7rem .35rem;font-family:var(--font-display);font-size:1.9rem;font-weight:900;letter-spacing:.1em;line-height:1;text-transform:uppercase;white-space:nowrap;pointer-events:none;animation:stamp .32s cubic-bezier(.3,0,.4,1) both}@keyframes stamp{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--rot)) scale(2.3)}55%{opacity:1;transform:translate(-50%,-50%) rotate(var(--rot)) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) rotate(var(--rot)) scale(1)}}@keyframes thud{0%,to{transform:none}30%{transform:translate(1.5px,2px)}60%{transform:translate(-1px,-1px)}}.page--spot{position:relative;overflow:clip}.page--spot .btn,.page--spot .link{position:relative;z-index:2}.spot{position:absolute;left:0;top:0;z-index:1;width:400vmax;height:400vmax;margin:-200vmax 0 0 -200vmax;background:radial-gradient(circle,transparent 0 calc(var(--r) * .6),rgba(3,3,4,.72) calc(var(--r) * 1.25));opacity:0;pointer-events:none;transition:opacity .35s ease,transform .55s cubic-bezier(.5,0,.2,1)}.spot.is-on{opacity:1}@starting-style{.spot.is-on{opacity:0}}.stamp--tile{--rot: -12deg;top:42%;border-width:2px;background:#09090ab3;padding:2px 6px 3px;font-size:.95rem}.suspects.is-closing{animation:thud .18s .28s linear both}.suspects.is-closing .suspect:not(.is-sel){opacity:.18;transition:opacity .3s .25s}.carton{position:fixed;top:34px;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;justify-content:center;gap:.9rem;padding:0 max(1.35rem,calc((100% - 440px)/2));background:var(--bg);animation:fadeIn .35s ease both}.carton .display{font-size:clamp(3.4rem,20vw,5rem)}.missing-dep{position:relative;display:flex;flex-direction:column;gap:.3rem;margin-top:.3rem;padding:1rem 1.1rem;border:1.5px dashed var(--line-strong)}.missing-dep-text{font-size:2rem;font-style:italic;color:var(--dim)}.stamp--late{animation-delay:.9s}.mugshot--late{width:min(190px,55vw);animation-delay:1.6s}.mugshot--late .mugshot-flash{animation-delay:1.7s}.mugshot--late .mugshot-plac .display{font-size:clamp(2rem,11vw,2.8rem)}.class-bar{transition:background .25s ease,border-color .25s ease}.class-bar.is-offline{background:var(--red);border-bottom-color:var(--red)}.class-bar.is-offline .class-bar-mark,.class-bar.is-offline .class-bar-mark span{color:var(--on-red)}.class-bar-offline{font-family:var(--font-display);font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--on-red)}body.is-offline .btn,body.is-offline button.suspect{opacity:.35;pointer-events:none}.rules{padding-left:1.2rem;display:flex;flex-direction:column;gap:.5rem;color:var(--muted)}.header-rules{width:min(320px,calc(100vw - 2rem));padding:.4rem 1rem 1rem;font-size:.95rem;line-height:1.4}.progress{font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--dim);text-align:center}.icon{display:inline-flex;flex-shrink:0;line-height:1}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.anim-fadeup{animation:fadeUp .35s ease both}.anim-fadein{animation:fadeIn .3s ease both}.waiting-dots:after{content:"";animation:dots 1.5s steps(4,end) infinite}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-strong)}
