:root{--bg:#0A1030;--panel:#111733;--line:#23283F;--line2:#2E3A78;--ink:#0A1030;--paper:#E8F0FF;--pass:#F4EFE2;--mute:#8A93B8;--mute2:#5A6390;--amber:#FFB000;--pink:#FF4D8D;--green:#5CFF8A;--red:#FF5A5A;--purple:#C04CFF;--sky:#7FD1FF;--pixel:"Silkscreen",ui-monospace,monospace;--num:"VT323",ui-monospace,monospace;--body:"Pixelify Sans",system-ui,sans-serif;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;background:var(--bg)}body{color:var(--paper);font:15px/1.4 var(--body);-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit}a{color:inherit}.tap{transition:transform .08s steps(2)}.tap:active{transform:translateY(2px)}.px{image-rendering:pixelated}.station{min-height:100vh;min-height:100dvh;overflow-x:clip;background:radial-gradient(120% 90% at 50% 30%,#121A48 0%,var(--bg) 60%,#060A1E 100%)}.app{max-width:440px;margin:0 auto;display:flex;flex-direction:column;gap:10px;padding-block:calc(env(safe-area-inset-top,0px) + 8px) 28px;padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px))}.top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px}.top .dj-back{margin-left:-4px;background:#1a2350;border-radius:0;border:2px solid var(--line2)}.title{font:700 clamp(16px,5.2vw,20px)/1 var(--pixel);color:#fff;text-shadow:2px 2px 0 var(--pink);white-space:nowrap}.top .no{justify-self:end;font:400 11px var(--pixel);color:var(--amber)}.board{background:#07080f;border:3px solid var(--line);box-shadow:inset 0 0 0 2px #000,0 4px #000;padding:8px 10px 9px}.brow{display:flex;justify-content:space-between;font:400 11px var(--pixel);color:var(--mute)}.brow #clk{color:var(--green)}.brow #clk.low{color:var(--red);animation:blink .5s steps(1) infinite}.flaps{margin-top:6px;display:flex;justify-content:center;gap:3px;perspective:200px;min-height:46px}.flap{display:inline-block;width:clamp(24px,7.4vw,30px);height:46px;background:linear-gradient(#1b1e2e 0 49%,#000 49% 51%,#15182a 51%);color:var(--amber);font:400 44px/46px var(--num);text-align:center;box-shadow:inset 0 -2px #000}.flap.flip{animation:flap .45s steps(5) both}.flap.ok{color:var(--green)}.flap.bad{color:var(--red)}@keyframes flap{0%{transform:rotateX(90deg);filter:brightness(.4)}60%{transform:rotateX(-12deg)}to{transform:none}}.rule{margin-top:7px;text-align:center;font:700 13px/1.25 var(--pixel);color:#fff;background:var(--pink);padding:5px 6px;box-shadow:0 2px #7a1840}.tol{margin-top:5px;text-align:center;font:400 10px var(--pixel);color:var(--amber)}.map{position:relative;height:226px;border:3px solid var(--line);box-shadow:0 4px #000;background:#0b2350;overflow:hidden}.map svg{display:block;width:100%;height:100%}.map .lbl{font-family:var(--pixel);fill:#fff;stroke:#000;paint-order:stroke}.hud{position:absolute;left:8px;top:8px;display:flex;align-items:center;gap:6px;padding:4px 6px;background:#07080fd1;border:2px solid var(--line)}.hud span{font:400 10px var(--pixel);color:var(--mute)}.hud i{display:block;width:70px;height:8px;background:var(--line)}.hud i b{display:block;height:8px;background:var(--amber)}.hud em{font:400 16px/1 var(--num);color:var(--amber);font-style:normal}.hid{position:absolute;right:8px;bottom:8px;padding:4px 6px;background:#07080fd1;border:2px solid var(--line);font:400 10px var(--pixel);color:var(--mute)}.scan{pointer-events:none;position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px)}.pass{display:grid;grid-template-columns:1fr 28px 1fr;background:var(--panel);border:3px solid var(--line);box-shadow:0 4px #000}.pass.ok{background:#0f2f24}.pass.rare{background:#2a1650}.pass.bad{background:#3a1020}.pass .sep{display:flex;align-items:center;justify-content:center;border-left:2px dashed var(--line2);border-right:2px dashed var(--line2);font:400 18px var(--num);color:var(--pink)}.slot{min-height:58px;padding:6px 10px;border:0;background:transparent;text-align:left;display:flex;flex-direction:column;justify-content:center;cursor:pointer}.slot[data-slot="1"]{text-align:right;align-items:flex-end}.slot small{font:400 10px var(--pixel);color:var(--mute)}.slot b{font:600 17px/1.15 var(--body);color:#fff}.slot b.empty{color:var(--mute2);font-weight:500}.slot em{font:400 11px var(--body);color:var(--mute);font-style:normal}form{position:relative;display:flex;gap:6px}input{flex:1;min-width:0;height:48px;padding:0 12px;border:3px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);font:500 16px var(--body)}input::placeholder{color:var(--mute2)}input:focus{outline:3px solid var(--amber);outline-offset:0}.add{flex:none;width:64px;height:48px;border:3px solid var(--line2);background:#1a2350;color:#fff;font:400 13px var(--pixel);cursor:pointer}.msg{min-height:20px;font:500 13px var(--body);color:var(--mute);text-align:center}.msg .warn{color:#ffc2d4}.dym{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}.dym.pick{flex-direction:column;align-items:stretch;width:100%}.dym span{font:400 11px var(--pixel);color:var(--mute)}.dym button{min-height:44px;padding:0 12px;border:3px solid #000;font:600 14px var(--body);cursor:pointer}.dym .y{background:var(--amber);color:var(--ink)}.go{height:54px;border:3px solid #000;background:var(--pink);color:#fff;font:700 18px var(--pixel);box-shadow:0 4px #000;cursor:pointer}.go[disabled]{background:#4a2340;color:#b99ab0;box-shadow:none}.card{padding:10px 12px;background:var(--paper);color:var(--ink);border:3px solid var(--line);box-shadow:0 4px #000;opacity:0;transform:translateY(8px);transition:opacity .3s steps(4),transform .3s steps(4)}.card.in{opacity:1;transform:none}.card .r1{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.card .v{font:700 18px var(--pixel)}.card .v.ok{color:#14833f}.card .v.rare{color:#8a2be2}.card .v.bad{color:#c0203a}.card .p{font:400 30px/1 var(--num)}.card .rows{margin-top:4px;display:grid;grid-template-columns:1fr auto;gap:2px 10px;font:500 14px/1.35 var(--body)}.card .rows i{font:400 18px/1 var(--num);text-align:right;font-style:normal}.next{height:54px;border:3px solid #000;background:var(--amber);color:var(--ink);font:700 15px var(--pixel);box-shadow:0 4px #000;cursor:pointer;opacity:0;transition:opacity .3s steps(3)}.next.in{opacity:1}.bp{background:var(--pass);color:var(--ink);border:3px solid #000;box-shadow:0 5px #000}.bph{display:flex;justify-content:space-between;padding:8px 12px;background:var(--pink);color:#fff;font:700 13px var(--pixel)}.bpt{display:flex;justify-content:space-between;align-items:flex-end;padding:10px 12px 8px}.bpt small{font:400 10px var(--pixel);color:#6a6f8c}.bpt .big{font:400 64px/.9 var(--num)}.bpt .big span{font-size:26px;color:#6a6f8c}.bpt .r{text-align:right}.bpt .mid{font:400 32px/1 var(--num)}.bpt .g{font:700 11px var(--pixel);color:var(--pink)}.tear{border-top:3px dashed #B9B2A0}.list{display:flex;flex-direction:column;gap:4px;padding:8px 12px}.li{display:grid;grid-template-columns:62px 1fr auto;gap:8px;align-items:center}.li b{font:400 22px var(--num);font-weight:400}.li span{font:600 14px/1.2 var(--body)}.li span small{display:block;font:400 11px var(--body);color:#6a6f8c}.li span em{font-style:normal;color:#6a6f8c}.li i{font:400 20px var(--num);font-style:normal;white-space:nowrap}.li i.ok{color:#14833f}.li i.rare{color:#8a2be2}.li i.bad{color:#c0203a}.bp .bar{margin:2px 12px 12px;height:24px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 7px,transparent 7px 8px,var(--ink) 8px 9px,transparent 9px 12px)}.pct{margin:0;text-align:center;font:500 14px var(--body);color:var(--mute)}.sharebox{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:3px solid var(--line);background:var(--panel);font:400 18px/1.25 var(--num);white-space:pre-line}.sharebox .tiny{font:400 10px var(--pixel);color:var(--mute)}.sharebox .muted{color:var(--mute)}.primary{height:54px;border:3px solid #000;background:var(--amber);color:var(--ink);font:700 15px var(--pixel);box-shadow:0 4px #000;cursor:pointer}.pop{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:3px solid var(--line);background:var(--panel)}.pop h3{margin:0;font:400 10px var(--pixel);color:var(--mute)}.pop .row{display:grid;grid-template-columns:62px 1fr;gap:8px;align-items:start;font:500 13px/1.4 var(--body)}.pop .row b{font:400 20px var(--num);color:var(--amber);font-weight:400}.pop .row em{font-style:normal;color:var(--mute)}.toast{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 60px);transform:translate(-50%,-20px);opacity:0;padding:10px 16px;border:3px solid #000;background:var(--amber);color:var(--ink);font:700 13px var(--pixel);transition:opacity .25s,transform .25s;pointer-events:none;z-index:20}.toast.on{opacity:1;transform:translate(-50%)}.loading{text-align:center;color:var(--mute);padding:40px 0;font:400 12px var(--pixel)}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:.15}}.blink{animation:blink .5s steps(1) infinite}@keyframes burst{0%{transform:scale(.2);opacity:1}to{transform:scale(2.6);opacity:0}}.burst{transform-box:fill-box;transform-origin:50% 50%;animation:burst .9s steps(6) forwards}@keyframes wave{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.wave{animation:wave .6s steps(2) infinite}@keyframes popin{0%{transform:translateY(10px) scale(.4);opacity:0}70%{transform:translateY(-2px) scale(1.1);opacity:1}to{transform:none;opacity:1}}.pop g,.map .pop{transform-box:fill-box;transform-origin:50% 100%;animation:popin .4s steps(4) both}@keyframes chute{0%{transform:translateY(-14px) rotate(-6deg)}50%{transform:translateY(-6px) rotate(6deg)}to{transform:translateY(0) rotate(-2deg)}}.chute{transform-box:fill-box;transform-origin:50% 0%;animation:chute 1.6s steps(8) both}@keyframes ring{0%{transform:scale(.3);opacity:.9}to{transform:scale(2.2);opacity:0}}.ring{transform-box:fill-box;transform-origin:50% 50%;animation:ring 1.2s steps(6) infinite}html.kb .map{display:none}html.kb .flaps{min-height:34px}html.kb .flap{height:34px;font-size:32px;line-height:34px}html.kb .app{gap:7px;padding-block:calc(env(safe-area-inset-top,0px) + 6px) 8px}html.kb .station{min-height:0}@media(prefers-reduced-motion:reduce){.flap,.burst,.wave,.chute,.ring,.blink,.map .pop{animation-duration:.01s;animation-delay:0s;animation-iteration-count:1}}.skipf{min-height:44px;border:0;background:transparent;color:#b8c4e8;font:400 20px var(--num);text-decoration:underline;cursor:pointer}
