:root{--bg:#0B4F43;--bg2:#073A31;--glow:#0F7A63;--cream:#F2E8D5;--cream2:#E9DCC3;--ink:#17171B;--ink2:#4A5565;--mute:#9FD1C3;--mute2:#8A8276;--yellow:#FFE600;--red:#FF3B5C;--red2:#C9203F;--green:#39FF88;--purple:#C04CFF;--bad:#FF6B6B;--display:"Bricolage Grotesque",system-ui,sans-serif;--body:"Outfit",system-ui,sans-serif;--mono:"Martian Mono",ui-monospace,Menlo,monospace;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;background:var(--bg2)}body{color:var(--cream);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 .12s cubic-bezier(.32,.72,0,1)}.tap:active{transform:scale(.96)}.station{min-height:100vh;min-height:100dvh;overflow-x:clip;background:radial-gradient(120% 70% at 50% 0%,var(--glow) 0%,var(--bg) 50%,var(--bg2) 100%)}.app{max-width:440px;margin:0 auto;display:flex;flex-direction:column;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));gap:12px}.top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px}.top .dj-back{margin-left:-4px;background:#f2e8d524}.title{font:800 clamp(16px,5vw,22px)/1 var(--display);letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap;text-align:center}.top .no{justify-self:end;font:700 12px var(--mono);color:var(--yellow)}.trow{display:flex;align-items:center;gap:12px}.trow .rnd{font:700 11px var(--mono);letter-spacing:.1em;color:var(--yellow);white-space:nowrap}.bar{flex:1;height:8px;border-radius:4px;background:#f2e8d52e;overflow:hidden}.bar i{display:block;height:100%;background:var(--yellow);transition:width .25s linear}.bar.low i{background:var(--bad)}.trow .clk{font:700 14px var(--mono);min-width:40px;text-align:right}.trow.low .clk{color:var(--bad);animation:blink 1s ease-in-out infinite}@keyframes blink{50%{opacity:.4}}.ask{text-align:center}.ask small{display:block;font:600 12px var(--mono);letter-spacing:.14em;color:var(--mute)}.ask .gap{font:800 clamp(48px,15vw,60px)/1 var(--display);letter-spacing:-.04em;color:var(--yellow);text-shadow:0 0 18px rgba(255,230,0,.55)}.ask .gap span{font-size:20px;letter-spacing:0;color:var(--cream);margin-left:8px}.scene{border-radius:14px;overflow:hidden;box-shadow:0 6px #00000040;background:#0e6b5b}.scene svg{display:block;width:100%;height:auto}.slots{display:grid;grid-template-columns:1fr 1fr;gap:8px}.slot{min-height:50px;padding:6px 10px;border-radius:10px;background:#f2e8d51a;color:var(--mute);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font:700 13px/1.2 var(--body);border:0;cursor:pointer}.slot.on{background:var(--cream);color:var(--ink)}.slot .yr{margin-top:2px;font:700 11px var(--mono);color:var(--mute2)}.slot.on .x{position:absolute}form{position:relative;display:flex;gap:6px}input{flex:1;min-width:0;height:48px;padding:0 14px;border-radius:12px;border:0;background:var(--cream);color:var(--ink);font:600 16px var(--body)}input::placeholder{color:#8a8276}input:focus{outline:3px solid var(--yellow)}.add{flex:none;width:64px;height:48px;border:0;border-radius:12px;background:#f2e8d529;color:var(--cream);font:800 14px var(--display);cursor:pointer}.sug{position:absolute;left:0;right:70px;top:52px;z-index:5;display:flex;flex-direction:column;background:var(--cream);color:var(--ink);border-radius:12px;overflow:hidden;box-shadow:0 10px 24px #00000059}.sug button{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:0;background:transparent;text-align:left;font:600 15px var(--body);cursor:pointer;border-top:1px solid var(--cream2)}.sug button:first-child{border-top:0}.sug button:active,.sug button.hi{background:#e6dcc6}.sug .t{font:700 10px var(--mono);letter-spacing:.06em;color:#8a8276;text-transform:uppercase;white-space:nowrap}.msg{min-height:20px;font:600 13px var(--body);color:var(--mute);text-align:center}.dym.pick{flex-direction:column;align-items:stretch;width:100%}.dym.pick button{min-height:44px;font-size:14px}.dym{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.dym button{min-height:36px;padding:0 14px;border-radius:999px;border:0;font:800 13px var(--body);cursor:pointer}.dym .y{background:var(--yellow);color:var(--ink)}.dym .n{background:#f2e8d529;color:var(--cream)}.step{height:54px;border:0;border-radius:12px;background:var(--red);color:var(--cream);font:800 17px var(--display);cursor:pointer}.step[disabled]{background:#ff3b5c66;color:#f2e8d5b3}.card{padding:12px 14px;border-radius:14px;background:var(--cream);color:var(--ink);opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}.card.in{opacity:1;transform:none}.card .r1{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.card .v{font:800 24px/1.1 var(--display);letter-spacing:-.02em}.card .p{font:800 20px var(--mono)}.card .rows{margin-top:6px;display:grid;grid-template-columns:1fr auto;gap:3px 10px;font:600 13px var(--body)}.card .rows i{font:700 12px var(--mono);text-align:right;font-style:normal}.rare{display:inline-block;margin-left:8px;padding:3px 8px;border-radius:999px;background:var(--purple);color:#fff;font:800 11px var(--body);letter-spacing:.08em;vertical-align:middle}.btns{display:grid;grid-template-columns:1fr;gap:8px}.next{height:54px;border:0;border-radius:12px;background:var(--yellow);color:var(--ink);font:800 17px var(--display);cursor:pointer;opacity:0;transition:opacity .3s}.next.in{opacity:1}.final{text-align:center}.final small{display:block;font:600 12px var(--mono);letter-spacing:.14em;color:var(--mute)}.final .big{font:800 64px/1 var(--display);letter-spacing:-.04em;color:var(--yellow);text-shadow:0 0 18px rgba(255,230,0,.5)}.final .big span{font-size:22px;color:var(--mute);letter-spacing:0;margin-left:6px}.final .sub{margin-top:6px;font:600 14px var(--body);color:var(--mute)}.pct{margin:0;text-align:center;font:600 14px var(--body);color:var(--mute)}.list{display:flex;flex-direction:column;gap:6px}.li{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:#f2e8d51a}.li b{font:800 18px var(--mono);color:var(--yellow)}.li span{font:600 14px/1.25 var(--body)}.li span em{font-style:normal;color:var(--mute)}.li i{font:700 12px var(--mono);font-style:normal;white-space:nowrap}.li i.ok{color:var(--green)}.li i.bad{color:var(--bad)}.sharebox{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:#f2e8d51f;font:600 13px/1.5 var(--mono);white-space:pre-line}.sharebox .tiny{font:600 10px var(--mono);letter-spacing:.14em;color:var(--mute)}.sharebox .muted{color:var(--mute)}.primary{height:54px;border:0;border-radius:12px;background:var(--red);color:var(--cream);font:800 16px var(--display);cursor:pointer}.pop{display:flex;flex-direction:column;gap:6px}.pop h3{margin:4px 0 0;font:600 12px var(--mono);letter-spacing:.14em;color:var(--mute)}.pop .row{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:start;font:600 13px/1.4 var(--body)}.pop .row b{font:800 16px var(--mono);color:var(--yellow)}.pop .row span{color:var(--cream)}.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-radius:999px;background:var(--cream);color:var(--ink);font:700 14px var(--body);transition:opacity .25s,transform .25s;z-index:20;pointer-events:none}.toast.on{opacity:1;transform:translate(-50%)}.loading{text-align:center;color:var(--mute);padding:40px 0}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.idle{animation:bob 1.6s ease-in-out infinite}@keyframes fall{0%{transform:translate(0) rotate(0)}18%{transform:translate(2px) rotate(-9deg)}36%{transform:translate(4px,2px) rotate(10deg)}52%{transform:translate(8px,6px) rotate(-6deg)}to{transform:translate(34px,110px) rotate(95deg);opacity:0}}.fell{animation:fall 1.1s cubic-bezier(.5,0,.9,.4) .1s forwards}@keyframes bang{0%{transform:scale(0);opacity:0}30%{transform:scale(1.3);opacity:1}70%{transform:scale(1);opacity:1}to{transform:scale(1) translateY(60px);opacity:0}}.bang{animation:bang 1.1s ease-out .1s forwards;transform-box:fill-box;transform-origin:50% 100%}@keyframes sit{0%{transform:translateY(-10px) scale(.7);opacity:0}to{transform:none;opacity:1}}.seat{animation:sit .45s cubic-bezier(.2,.8,.3,1.2) both;transform-box:fill-box;transform-origin:50% 100%}@keyframes aura{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.95;transform:scale(1.25)}}.aura{animation:aura 1.3s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 50%}@keyframes pop{0%{transform:translate(0) scale(0);opacity:1}to{transform:translate(var(--cx),var(--cy)) rotate(var(--r));opacity:0}}.conf{animation:pop .9s cubic-bezier(.2,.7,.3,1) forwards;transform-box:fill-box;transform-origin:50% 50%}@keyframes badge{0%{transform:translateY(14px) scale(.6);opacity:0}60%{transform:translateY(-4px) scale(1.08);opacity:1}to{transform:none;opacity:1}}.badge{animation:badge .5s cubic-bezier(.2,.9,.3,1.3) .35s both;transform-box:fill-box;transform-origin:50% 50%}@keyframes shut{to{transform:scaleX(1)}}.door{transform-box:fill-box;transform-origin:0 50%;transform:scaleX(0);animation:shut .5s ease-in .4s forwards}.door.r{transform-origin:100% 50%}@keyframes depart{0%{transform:translate(0)}22%{transform:translate(-9px)}40%{transform:translate(4px)}to{transform:translate(430px)}}.depart{animation:depart 1.25s cubic-bezier(.55,0,.9,.3) forwards}@keyframes zoom{0%{transform:translate(60px);opacity:0}30%{opacity:1}to{transform:translate(-120px);opacity:0}}.zoom{animation:zoom .9s ease-out .35s both}@keyframes leave{0%{transform:translate(0)}to{transform:translate(430px)}}.leave{animation:leave 1.1s cubic-bezier(.6,0,.9,.4) .2s forwards}html.kb .ask .gap{font-size:34px}html.kb .scene{display:none}html.kb .app{gap:8px;padding-block:calc(env(safe-area-inset-top,0px) + 6px) 8px}html.kb .station{min-height:0}@media(prefers-reduced-motion:reduce){.idle,.fell,.bang,.seat,.aura,.conf,.badge,.depart,.zoom,.leave{animation-duration:.01s;animation-delay:0s}.door{animation-duration:.01s}}
