:root{--safe-y:5vh;--safe-x:5vw;--accent:#ffd54a;--good:#5be37d;--bad:#ff4d4d;--panel:#06121a99}*{box-sizing:border-box}html,body{color:#fff;cursor:none;-webkit-user-select:none;user-select:none;background:#170833;height:100%;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:2.4vh;overflow:hidden}#stage{width:100vw;height:100vh;display:block;position:fixed;top:0;bottom:0;left:0;right:0}.hidden{display:none!important}.chip{border-radius:50%;flex:none;width:.9em;height:.9em;display:inline-block;box-shadow:0 0 0 .12em #fff}#hud{pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}#turn-banner{top:var(--safe-y);left:var(--safe-x);background:var(--panel);text-shadow:0 .06em .2em #0009;border-radius:1em;align-items:center;gap:.5em;padding:.35em .9em;font-size:2.3rem;font-weight:800;display:flex;position:absolute}#turn-banner.flash{animation:.45s ease-out pop}@keyframes pop{0%{transform:scale(1.25)}to{transform:scale(1)}}#turn-banner .note{color:#ff8a1f;font-size:.6em}#turn-banner .note:empty{display:none}#teeth-left{top:calc(var(--safe-y) + 4.2rem);left:calc(var(--safe-x) + .9em);opacity:.85;font-size:1.3rem;position:absolute}#players{top:var(--safe-y);right:var(--safe-x);background:var(--panel);border-radius:.8em;margin:0;padding:.5em;font-size:1.3rem;list-style:none;position:absolute}#players li{opacity:.75;border-radius:.5em;align-items:center;gap:.5em;padding:.2em .6em;display:flex}#players li.current{opacity:1;background:#fff3;font-weight:700}#players li.out{opacity:.35;text-decoration:line-through}#players .info{opacity:.85;margin-left:auto;padding-left:1em;font-size:.85em}#hint{bottom:var(--safe-y);text-align:center;opacity:.75;font-size:1.2rem;position:absolute;left:0;right:0}#tension{top:var(--safe-y);background:var(--panel);text-align:center;border-radius:1em;padding:.3em 1.1em .55em;position:absolute;left:50%;transform:translate(-50%)}#tension .odds-label{letter-spacing:.25em;text-transform:uppercase;opacity:.75;font-size:.9rem;font-weight:800}#tension .odds{font-size:2.6rem;font-weight:900;line-height:1.1}#tension .meter{background:#ffffff26;border-radius:1rem;width:14rem;height:.55rem;margin-top:.25em;overflow:hidden}#tension .fill{border-radius:inherit;width:4%;height:100%;transition:width .4s,background .4s}#tension.beat .odds{animation:.35s ease-out beat}#tension.danger .odds{color:#ff4d4d}#tension.danger{box-shadow:0 0 1.5rem #ff3c3c73}@keyframes beat{0%{transform:scale(1.2)}to{transform:scale(1)}}#timer{top:calc(var(--safe-y) + 6.6rem);left:var(--safe-x);width:5.5rem;height:5.5rem;position:absolute}#timer svg{width:100%;height:100%;transform:rotate(-90deg)}#timer circle{fill:#06121a99;stroke-width:9px}#timer .track{stroke:#ffffff26}#timer .ring{fill:none;stroke:#8dff4f;stroke-linecap:round;transition:stroke-dashoffset .1s linear,stroke .2s}#timer .secs{justify-content:center;align-items:center;font-size:2.1rem;font-weight:900;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}#timer.urgent .ring{stroke:var(--bad)}#timer.urgent{animation:.25s infinite jitter}@keyframes jitter{0%,to{transform:translate(0)}25%{transform:translate(-.15rem)rotate(-3deg)}75%{transform:translate(.15rem)rotate(3deg)}}#flash{opacity:0;pointer-events:none;z-index:8;background:#ff1a2d;position:fixed;top:0;bottom:0;left:0;right:0}#flash.go{animation:.35s ease-out flash}@keyframes flash{0%{opacity:.85}to{opacity:0}}body #hud{transition:opacity .3s}body.replay #hud{opacity:0}#hud>*{transition:opacity .3s}body.result #turn-banner,body.result #teeth-left,body.result #tension,body.result #timer,body.result #players,body.result #hint{opacity:0}#replay{pointer-events:none;z-index:7;position:fixed;top:0;bottom:0;left:0;right:0}#replay:before,#replay:after{content:"";background:#000;height:11vh;animation:.35s ease-out both bars;position:absolute;left:0;right:0}#replay:before{top:0}#replay:after{bottom:0}@keyframes bars{0%{transform:scaleY(0)}to{transform:scaleY(1)}}#replay .rec{top:13vh;left:var(--safe-x);letter-spacing:.2em;text-shadow:0 .08em .2em #000000b3;align-items:center;gap:.4em;font-size:2rem;font-weight:900;display:flex;position:absolute}#replay .dot{background:#ff2030;border-radius:50%;width:.7em;height:.7em;animation:1s steps(2,end) infinite rec}#replay .speed{letter-spacing:.05em;opacity:.8;font-size:.6em}@keyframes rec{50%{opacity:0}}#poster{color:#3b2412;text-align:center;z-index:6;background:#f3e2b8 radial-gradient(circle at 30% 20%,#fbf0d0,#e6cf98 90%);border-radius:.3rem;width:27vw;padding:1.1rem 1.4rem 1.3rem;font-family:Georgia,Times New Roman,serif;position:fixed;top:50%;right:7vw;transform:translateY(-50%)rotate(3deg);box-shadow:0 1.5rem 3rem #0000008c,inset 0 0 2.5rem #78461459}#poster.drop{animation:.65s cubic-bezier(.3,1.5,.5,1) both poster-in}@keyframes poster-in{0%{opacity:0;transform:translate(40%,-140%)rotate(25deg)}to{opacity:1;transform:translateY(-50%)rotate(3deg)}}#poster:before{content:"";background:radial-gradient(circle at 35% 35%,#ff7a7a,#b3141b);border-radius:50%;width:1rem;height:1rem;margin-left:-.5rem;position:absolute;top:.5rem;left:50%;box-shadow:0 .2rem .3rem #0006}#poster .wanted{letter-spacing:.04em;color:#7a1f10;margin-top:.4rem;font-size:3rem;font-weight:900;line-height:1}#poster .photo{aspect-ratio:16/10;background:#000;border:.35rem solid #3b2412;margin:.6rem 0;overflow:hidden}#poster .photo img{object-fit:cover;filter:sepia(.35)contrast(1.1);width:100%;height:100%}#poster .name{text-shadow:0 .05em #3b2412,0 0 .15em #3b2412;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:2.8rem;font-weight:900;line-height:1.05}#poster .crime{margin-top:.2rem;font-size:1.05rem;font-style:italic}#poster .detail{color:#b3141b;margin-top:.5rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1.8rem;font-weight:900}#poster .bites{letter-spacing:.12em;text-transform:uppercase;margin-top:.3rem;font-size:.95rem}#poster .prompt{opacity:.7;margin-top:.8rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:1rem}#picker{left:50%;bottom:calc(var(--safe-y) + 3rem);text-align:center;z-index:9;background:#170833e6;border-radius:1rem;padding:1rem 1.6rem;animation:.4s ease-out rise;position:fixed;transform:translate(-50%);box-shadow:0 0 0 .2rem #ffd23f,0 1rem 2rem #00000080}#picker .title{color:#ffd23f;margin-bottom:.6rem;font-size:2rem;font-weight:900}#picker ul{flex-wrap:wrap;justify-content:center;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}#picker li{background:#ffffff1a;border-radius:.6em;align-items:center;gap:.4em;padding:.45em .9em;font-size:1.5rem;font-weight:700;transition:transform .1s;display:flex}#picker li.focused{color:#1b1b1b;background:#ffd23f;transform:scale(1.08)}#picker .hint{opacity:.7;margin-top:.6rem;font-size:1rem}#toast{text-align:center;background:#06121ac7;border-radius:1em;min-width:40vw;padding:1em 2em;animation:.3s ease-out pop;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#toast .title{font-size:5rem;font-weight:900;line-height:1.1}#toast .sub{margin-top:.3em;font-size:2rem;font-weight:700}#toast .detail{color:var(--accent);margin-top:.4em;font-size:2.6rem;font-weight:900}#toast .prompt{opacity:.8;margin-top:1em;font-size:1.2rem}#toast .sub:empty,#toast .detail:empty,#toast .prompt:empty{display:none}#toast[data-kind=safe]{background:#0a3c1eb3}#toast[data-kind=safe] .title{color:var(--good)}#toast[data-kind=bite] .title{color:var(--bad)}#toast[data-kind=win] .title{color:var(--accent)}#toast[data-kind=special]{background:#170833d9;box-shadow:0 0 0 .2rem #ffffff40}#toast[data-kind=special] .title{font-size:4.2rem}#toast[data-kind=bite],#toast[data-kind=win]{top:auto;bottom:calc(var(--safe-y) + 2rem);animation:.4s ease-out rise;transform:translate(-50%)}@keyframes rise{0%{opacity:0;transform:translate(-50%,40%)}to{opacity:1;transform:translate(-50%)}}#splash{pointer-events:none;z-index:5;position:fixed;top:0;bottom:0;left:0;right:0}#splash .logo{text-align:center;transition:left .6s cubic-bezier(.5,1.5,.4,1),top .6s cubic-bezier(.5,1.5,.4,1),transform .6s;position:absolute;top:9vh;left:50%;transform:translate(-50%)rotate(-3deg)}#splash .logo-inner{animation:.9s cubic-bezier(.3,1.6,.5,1) both logo-in;position:relative}@keyframes logo-in{0%{opacity:0;transform:scale(.2)rotate(-25deg)}to{opacity:1;transform:none}}.logo .word{letter-spacing:.02em;white-space:nowrap;font-weight:900;line-height:.95;display:block}.logo .w1{color:#8dff4f;text-shadow:0 .05em #2f8f1a,0 .1em #1c5e0e,0 .14em #123f09,0 .2em .25em #0000008c;font-size:7.5rem}.logo .w2{color:#fff;text-shadow:0 .08em #3a1466;margin:.05em 0 .1em;font-size:2.8rem;font-style:italic}.logo .w3{color:#fffaf0;text-shadow:0 .05em #e3242b,0 .1em #a3151b,0 .14em #6d0c10,0 .2em .25em #0000008c;font-size:7.5rem;animation:3.2s ease-in-out infinite ache}.logo .ch{animation:1.8s ease-in-out infinite bob;animation-delay:calc(var(--i) * -.13s);display:inline-block}@keyframes bob{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-.12em)rotate(3deg)}}@keyframes ache{0%,84%,to{transform:none}86%{transform:rotate(-4deg)translate(-.04em)}88%{transform:rotate(4deg)translate(.04em)}90%{transform:rotate(-3deg)}92%{transform:rotate(2deg)}94%{transform:none}}.logo .badge{color:#3a1466;text-transform:uppercase;background:#ffd23f;justify-content:center;align-items:center;width:9.5rem;height:9.5rem;font-size:1.15rem;font-weight:900;line-height:1.05;animation:2.4s ease-in-out infinite badge;display:flex;position:absolute;top:-3rem;right:-8.5rem}.logo .badge span{white-space:pre-line;transform:rotate(14deg)}@keyframes badge{0%,to{transform:rotate(-8deg)scale(1)}50%{transform:rotate(8deg)scale(1.1)}}#tagline{color:#ffd23f;white-space:nowrap;background:#170833b3;border-radius:999px;padding:.25em .9em;font-size:2.3rem;font-weight:800;transition:opacity .3s;position:absolute;top:56vh;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:0 0 0 .12em #ffd23f80}#tagline.swap{animation:.45s cubic-bezier(.3,1.6,.5,1) swap}@keyframes swap{0%{opacity:0;transform:translate(-50%)rotate(-2deg)scale(.4)}to{opacity:1;transform:translate(-50%)rotate(-2deg)scale(1)}}.splash-bottom{left:0;right:0;bottom:calc(var(--safe-y) + 2vh);flex-direction:column;align-items:center;gap:2.5vh;display:flex;position:absolute}.press-ok{text-align:center;text-shadow:0 .08em .2em #0009;font-size:2.4rem;font-weight:800;transition:opacity .3s;animation:1.2s ease-in-out infinite pulse}.okkey{color:#123f09;vertical-align:middle;background:#8dff4f;border-radius:50%;justify-content:center;align-items:center;width:2.3em;height:2.3em;margin:0 .25em;font-size:.8em;display:inline-flex;box-shadow:0 .12em #2f8f1a,0 0 1em #8dff4fb3}@keyframes pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}#splash.compact .logo{top:22vh;left:30%;transform:translate(-50%)scale(.72)rotate(-3deg)}#splash.compact #tagline,#splash.compact .press-ok,#splash.compact #lang-switch{opacity:0;animation:none}#lang-switch{background:#170833b3;border-radius:999px;align-items:center;gap:.5em;padding:.25em .6em;font-size:1.5rem;font-weight:900;transition:opacity .3s;display:flex}#lang-switch .arrow{opacity:.6;font-size:.7em}#lang-switch .opt{color:#ffffff8c;border-radius:999px;padding:.15em .7em;transition:background .2s,color .2s,transform .2s}#lang-switch .opt.active{color:#123f09;background:#8dff4f;transform:scale(1.1)}#menu{z-index:10;background:#170833cc;border-radius:1.2em;width:40vw;padding:1.3em 1.6em 1.1em;animation:.45s cubic-bezier(.3,1.4,.5,1) both card-in;position:fixed;top:50%;right:6vw;transform:translateY(-50%);box-shadow:0 0 0 .2rem #ffd23fb3,0 1.5rem 3rem #00000080}@keyframes card-in{0%{opacity:0;transform:translate(40%,-50%)}to{opacity:1;transform:translateY(-50%)}}.menu-title{color:#ffd23f;margin-bottom:.5em;font-size:2.3rem;font-weight:900}#menu-items{margin:0;padding:0;font-size:1.7rem;list-style:none}#menu-items li{background:#ffffff14;border-radius:.5em;justify-content:space-between;margin:.25em 0;padding:.5em .9em;transition:transform .1s;display:flex}#menu-items li.focused{background:var(--accent);color:#1b1b1b;font-weight:800;transform:scale(1.04)}#menu-items li.focused .value:before{content:"◀ "}#menu-items li.focused .value:after{content:"  ▶"}.menu-hint{opacity:.7;margin-top:1em;font-size:1.1rem}#loading{padding:var(--safe-y) var(--safe-x);text-align:center;z-index:20;background:#170833;justify-content:center;align-items:center;font-size:2rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}#debug{left:var(--safe-x);bottom:calc(var(--safe-y) + 2.5rem);z-index:30;pointer-events:none;background:#000000bf;border-radius:.5em;max-width:60vw;padding:.6em .8em;font:.9rem/1.35 ui-monospace,Menlo,monospace;position:fixed}#debug-stats{color:var(--accent);margin-bottom:.4em}#debug-log{margin:0;padding:0;list-style:none}#debug-log li.unmapped{color:#ff9e9e}
