:root{
  --ink:#eef0e8;--muted:#9da39a;--dim:#565d57;--line:#2a302d;--yellow:#ffdb16;--blue:#2649c8;--orange:#ff7a12;--danger:#ff4b40;--ok:#82d6a1;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;width:100%;height:100%;background:#020303;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden}
button{font:inherit;color:inherit}
button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.app{height:100svh;max-width:680px;margin:auto;position:relative;background:radial-gradient(120% 80% at 50% 0,#1a1b18 0,#090a09 42%,#030404 78%);overflow:hidden;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.app::after{content:"";position:absolute;inset:0;z-index:80;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px),radial-gradient(circle at 50% 45%,transparent 45%,rgba(0,0,0,.56) 100%);mix-blend-mode:screen}
.top{height:48px;padding:0 14px;border-bottom:1px solid #202421;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:60;background:#030504d9;backdrop-filter:blur(10px)}
.brand{font-size:9px;letter-spacing:.16em;color:#7f8880}.brand b{color:#e9ece6;font-weight:900}.clock{font-size:12px;color:#c9cdc7}.screen{position:absolute;inset:48px 0 0;z-index:5;display:flex;flex-direction:column}
.sceneWrap{position:relative;flex:1;min-height:0;background:#080908;overflow:hidden;touch-action:manipulation}
.scene{position:absolute;inset:0;transition:filter .18s ease,transform .2s ease;background:#090a09;overflow:hidden}
.scene svg{width:100%;height:100%;display:block}
.scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(10,8,5,.08),rgba(0,0,0,.1)),repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.015) 4px)}
.scene.flicker{animation:flick .13s steps(2) 5}@keyframes flick{50%{filter:brightness(.38)}}
.blackout{position:absolute;inset:0;background:#000;z-index:25;opacity:0;pointer-events:none;display:grid;place-items:center;transition:opacity .08s}.blackout.on{opacity:1}.blackout span{font-size:10px;letter-spacing:.22em;color:#272c28}
.hotspot{position:absolute;z-index:18;border:0;background:transparent;border-radius:10px;padding:0;margin:0;cursor:pointer}.hotspot:active{background:rgba(255,255,255,.05)}
.hotspot.reveal{border:2px solid var(--danger);background:rgba(255,75,64,.12);box-shadow:0 0 0 999px rgba(0,0,0,.20),0 0 28px rgba(255,75,64,.5);animation:pulse .55s ease 2}@keyframes pulse{50%{transform:scale(1.05)}}
.hs-sign{left:23%;top:31%;width:39%;height:16%}.hs-car{left:0;top:55%;width:29%;height:37%}.hs-sheet{left:25%;top:52%;width:18%;height:24%}.hs-fence{left:43%;top:48%;width:29%;height:31%}.hs-beam{left:5%;top:7%;width:82%;height:22%}.hs-lamp{right:0;top:36%;width:23%;height:30%}.hs-pillar{right:0;top:54%;width:18%;height:28%}.hs-stop{left:31%;bottom:5%;width:37%;height:11%}.hs-post{right:8%;top:58%;width:9%;height:18%}.hs-shadow{left:52%;top:45%;width:18%;height:28%}
.hud{position:absolute;z-index:22;left:12px;right:12px;top:12px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;text-shadow:0 1px 4px #000}.phase{font-size:9px;letter-spacing:.15em;color:#d5dad4;padding:6px 8px;border:1px solid #ffffff2b;background:#0506069c;backdrop-filter:blur(4px)}.phase.look{border-color:#e7e0a766;color:#fff3a5}.phase.find{border-color:#ff7a1266;color:#ffc58f}.phase.danger{border-color:#ff4b4070;color:#ff8b84}.round{font-size:9px;color:#b0b8b0;padding-top:6px}
.scan{position:absolute;left:0;right:0;bottom:0;height:3px;z-index:23;background:#191d1a}.scan i{display:block;height:100%;width:100%;transform-origin:left;background:linear-gradient(90deg,var(--orange),#ffe66e);transform:scaleX(0)}.scan.run i{animation:scan var(--find-time,6s) linear forwards}@keyframes scan{to{transform:scaleX(1)}}
.controls{height:120px;border-top:1px solid #202522;background:#050706;padding:10px 14px 12px;position:relative;z-index:50}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}.stat{border:1px solid #242a26;background:#090b0a;padding:8px 10px;min-width:0}.stat small{display:block;font-size:8px;letter-spacing:.13em;color:#687169;margin-bottom:3px}.stat b{font-size:18px;letter-spacing:-.04em}.fee b{color:#ffe27b}.fee.limit b{color:#ff746c;animation:blink .55s infinite}@keyframes blink{50%{opacity:.45}}.message{height:34px;display:flex;align-items:center;justify-content:space-between;gap:8px}.message span{font-size:10px;color:#9ba49c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.none{flex:0 0 auto;border:1px solid #596159;background:#0c100e;padding:8px 11px;font-size:9px;letter-spacing:.06em}.none:disabled{opacity:.28}.none:active{transform:translateY(1px)}
.flash{position:absolute;inset:0;z-index:55;pointer-events:none;opacity:0}.flash.ok{animation:flashOk .34s ease}.flash.bad{animation:flashBad .34s ease}@keyframes flashOk{30%{opacity:1;background:#82d6a126}100%{opacity:0}}@keyframes flashBad{30%{opacity:1;background:#ff4b4030}100%{opacity:0}}
.toast{position:absolute;z-index:58;left:50%;top:46%;transform:translate(-50%,-50%) scale(.96);opacity:0;pointer-events:none;padding:10px 14px;border:1px solid #ffffff2c;background:#050606e9;font-size:11px;letter-spacing:.08em;white-space:nowrap}.toast.show{animation:toast .8s ease}@keyframes toast{15%,72%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-56%) scale(1)}}
.overlay{position:absolute;inset:48px 0 0;z-index:70;background:linear-gradient(#060807e8,#020303f7);display:grid;place-items:center;padding:18px;backdrop-filter:blur(9px)}.card{width:min(100%,480px);border:1px solid #323834;background:#090b0af5;padding:22px;box-shadow:0 26px 80px #000a}.eyebrow{font-size:9px;letter-spacing:.18em;color:#737c75}.title{margin:12px 0 18px;font-family:system-ui,-apple-system,sans-serif;font-size:clamp(48px,14vw,76px);line-height:.87;letter-spacing:-.07em}.title em{font-style:normal;color:var(--yellow);text-shadow:0 0 34px #ffdf2140}.desc{font-family:system-ui,-apple-system,sans-serif;font-size:13px;line-height:1.75;color:#adb4ad}.how{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:18px 0}.how div{min-height:78px;border:1px solid #252b27;padding:10px 8px;font-size:9px;line-height:1.5;color:#89928a}.how b{display:block;color:#d8ded8;margin-bottom:12px;font-size:10px}.primary{width:100%;margin-top:10px;padding:14px 16px;border:1px solid #ded15a;background:#f7dd20;color:#11130e;font-weight:900;display:flex;justify-content:space-between;align-items:center}.primary:active{transform:translateY(1px);background:#ffe946}.smallnote{font-size:9px;line-height:1.55;color:#606860;margin-top:12px}.endTitle{font-family:system-ui,-apple-system,sans-serif;font-size:38px;line-height:1;margin:10px 0 14px;letter-spacing:-.05em}.receipt{border:1px dashed #585f58;background:#d7d5ca;color:#171a16;padding:15px;margin:16px 0;font-size:10px;line-height:1.8;transform:rotate(-.5deg);box-shadow:0 14px 34px #0007}.receipt hr{border:0;border-top:1px dashed #6d706a}.receipt .big{font-size:26px;font-weight:900;display:flex;justify-content:space-between}.red{color:#af312d}.hidden{display:none!important}
#signPriceBad,#bayBad,#gateOpen,#mirrorGone,#stopGone,#postFlip,#beamCrack,#shadowFigure,#sheetTall,#lampRed{display:none}
.scene[data-anomaly="sign"] #signPriceNormal{display:none}.scene[data-anomaly="sign"] #signPriceBad{display:block}
.scene[data-anomaly="bay"] #bayNormal{display:none}.scene[data-anomaly="bay"] #bayBad{display:block}
.scene[data-anomaly="gate"] #gateClosed{display:none}.scene[data-anomaly="gate"] #gateOpen{display:block}
.scene[data-anomaly="mirror"] #mirrorNormal{display:none}.scene[data-anomaly="mirror"] #mirrorGone{display:block}
.scene[data-anomaly="stop"] #stopNormal{display:none}.scene[data-anomaly="stop"] #stopGone{display:block}
.scene[data-anomaly="post"] #postNormal{display:none}.scene[data-anomaly="post"] #postFlip{display:block}
.scene[data-anomaly="beam"] #beamCrack{display:block}
.scene[data-anomaly="shadow"] #shadowFigure{display:block}
.scene[data-anomaly="sheet"] #sheetNormal{display:none}.scene[data-anomaly="sheet"] #sheetTall{display:block}
.scene[data-anomaly="lamp"] #lampNormal{display:none}.scene[data-anomaly="lamp"] #lampRed{display:block}
@media(max-height:720px){.top{height:42px}.screen{inset:42px 0 0}.overlay{inset:42px 0 0}.controls{height:104px;padding-top:7px}.stat{padding:6px 8px}.stat b{font-size:15px}.message{height:28px}.title{font-size:46px;margin:8px 0 12px}.card{padding:17px}.how{margin:12px 0}.how div{min-height:62px}.desc{font-size:12px}.primary{padding:12px 14px}}
