:root{--bg:#f2f4f7;--card:#fff;--ink:#0b1220;--ink2:#0b122099;--ink3:#0b122052;--sep:#0b12201a;--accent:#0fb5c9;--accent-ink:#087d8c;--fill:#7676801f;--spring:cubic-bezier(.32,.72,0,1);--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter", system-ui, "Segoe UI", Roboto, sans-serif;--round:ui-rounded, "SF Pro Rounded", -apple-system, "Nunito", system-ui, sans-serif;--st:env(safe-area-inset-top,0px);--sb:env(safe-area-inset-bottom,0px);--shadow:0 1px 2px #0b12200f, 0 8px 24px #0b122014}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--ink);font:17px/1.35 var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.num{font-family:var(--round);font-variant-numeric:tabular-nums;font-weight:700}#splash{z-index:100;transition:opacity .5s var(--spring), transform .5s var(--spring);background:linear-gradient(160deg,#e6fafd,#f2f4f7 60%);place-content:center;justify-items:center;gap:14px;display:grid;position:fixed;inset:0}#splash img{width:108px;height:108px;animation:pop .7s var(--spring) both;border-radius:24px;box-shadow:0 12px 32px #0fb5c959}#splash b{letter-spacing:-.02em;animation:pop .7s 80ms var(--spring) both;font-size:22px}#splash.out{opacity:0;pointer-events:none;transform:scale(1.06)}@keyframes pop{0%{opacity:0;transform:scale(.8)translateY(8px)}}#app{height:100%}.screen{-webkit-overflow-scrolling:touch;padding:calc(var(--st) + 52px) 16px calc(var(--sb) + 96px);opacity:0;pointer-events:none;transition:opacity .32s var(--spring), transform .32s var(--spring);position:absolute;inset:0;overflow-y:auto;transform:translate(16px)}.screen.on{opacity:1;pointer-events:auto;transform:none}.screen.wash{flex-direction:column;display:flex;overflow:hidden}.nav{z-index:20;height:calc(var(--st) + 48px);padding:var(--st) 16px 0;-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background:#f2f4f7b8;border-bottom:.5px solid #0000;justify-content:space-between;align-items:center;transition:border-color .2s;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{border-bottom-color:var(--sep)}.nav .mini{opacity:0;font-size:17px;font-weight:600;transition:opacity .2s}.nav.scrolled .mini{opacity:1}.cash{background:var(--card);box-shadow:var(--shadow);border-radius:99px;align-items:center;gap:6px;padding:6px 12px 6px 8px;font-size:17px;display:inline-flex}.cash i{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;font-style:normal;font-weight:800;display:grid}.cash.bump{animation:bump .45s var(--spring)}@keyframes bump{40%{transform:scale(1.12)}}.stars{color:var(--ink2);align-items:center;gap:4px;margin-right:8px;font-size:15px;display:inline-flex}h1.large{letter-spacing:-.02em;margin:4px 4px 2px;font-size:34px;font-weight:700;line-height:1.1}.sub{color:var(--ink2);margin:0 4px 14px;font-size:15px}h2.sect{text-transform:uppercase;letter-spacing:.04em;color:var(--ink2);margin:22px 16px 8px;font-size:13px;font-weight:500}.tabs{z-index:20;padding:6px 8px calc(var(--sb) + 6px);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-top:.5px solid var(--sep);background:#f9fafbbf;display:flex;position:fixed;bottom:0;left:0;right:0}.tabs button{color:#3c3c4399;transition:transform .2s var(--spring);flex:1;justify-items:center;gap:2px;padding:4px 0;font-size:10px;font-weight:500;display:grid}.tabs button svg{width:26px;height:26px}.tabs button.on{color:var(--accent-ink)}.tabs button:active{transform:scale(.9)}.tabs .badge{color:#fff;background:#ff3b30;border-radius:9px;place-items:center;min-width:17px;height:17px;margin-top:-2px;margin-left:22px;padding:0 4px;font-size:11px;font-weight:600;display:grid;position:absolute}.card{background:var(--card);box-shadow:var(--shadow);border-radius:20px}.list{background:var(--card);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.row{align-items:center;gap:12px;min-height:60px;padding:12px 16px;display:flex;position:relative}.row+.row:before{content:"";border-top:.5px solid var(--sep);position:absolute;top:0;left:64px;right:0}.row .ico{color:#fff;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.row .ico svg{width:22px;height:22px}.row .txt{flex:1;min-width:0}.row .txt b{font-size:16px;font-weight:600;display:block}.row .txt small{color:var(--ink2);font-size:13px;display:block}.lvl{gap:3px;margin-top:5px;display:flex}.lvl span{background:var(--fill);border-radius:2px;width:14px;height:4px}.lvl span.f{background:var(--accent)}.pill{background:var(--accent);color:#fff;height:34px;transition:transform .25s var(--spring), opacity .2s;white-space:nowrap;border-radius:99px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:15px;font-weight:600;display:inline-flex}.pill.gray{background:var(--fill);color:var(--accent-ink)}.pill.dark{background:var(--ink)}.pill[disabled]{opacity:.38}.pill:active:not([disabled]),.press:active{transform:scale(.96)}.big{border-radius:14px;width:100%;height:50px;font-size:17px}.seg{background:var(--fill);border-radius:9px;margin:0 0 16px;padding:2px;display:flex;position:relative}.seg button{z-index:1;border-radius:7px;flex:1;height:30px;font-size:13px;font-weight:500;transition:color .2s;position:relative}.seg .thumb{transition:transform .35s var(--spring);background:#fff;border-radius:7px;position:absolute;top:2px;bottom:2px;left:2px;box-shadow:0 3px 8px #0000001f,0 3px 1px #0000000a}.seg button.on{font-weight:600}.queue{scrollbar-width:none;gap:8px;min-height:58px;padding:2px 4px 10px;display:flex;overflow-x:auto}.queue::-webkit-scrollbar{display:none}.qcar{background:var(--card);width:74px;height:46px;box-shadow:var(--shadow);animation:slidein .5s var(--spring) both;border-radius:14px;flex:none;place-items:center;display:grid;position:relative}.qcar canvas{width:62px;height:30px}.qcar .pat{background:var(--fill);border-radius:2px;height:3px;position:absolute;bottom:5px;left:8px;right:8px;overflow:hidden}.qcar .pat i{background:#34c759;border-radius:2px;height:100%;transition:width 1s linear;display:block}.qcar .pat i.low{background:#ff9500}.qempty{border:1.5px dashed var(--ink3);opacity:.5;border-radius:14px;flex:none;width:74px;height:46px}@keyframes slidein{0%{opacity:0;transform:translate(30px)scale(.9)}}.stagecard{min-height:260px;box-shadow:var(--shadow);background:#fff;border-radius:24px;flex:1;position:relative;overflow:hidden}.stagecard canvas{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.hud{pointer-events:none;gap:6px;display:flex;position:absolute;top:12px;left:12px;right:12px}.hud div{-webkit-backdrop-filter:blur(16px)saturate(180%);backdrop-filter:blur(16px)saturate(180%);height:30px;color:var(--ink2);background:#ffffff8c;border-radius:99px;flex:1;place-items:center;font-size:12px;font-weight:600;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 .5px #fffc}.hud div i{background:#0fb5c947;transition:width .15s;position:absolute;top:0;bottom:0;left:0}.hud div span{position:relative}.hud div.on{color:var(--ink);background:#fffc}.hud div.ok{color:#fff;background:var(--accent)}.hint{text-align:center;pointer-events:none;position:absolute;bottom:14px;left:0;right:0}.hint span{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b1220a8;border-radius:99px;padding:8px 14px;font-size:14px;font-weight:500;transition:opacity .3s;display:inline-block}.washbar{align-items:center;gap:10px;padding:12px 2px 0;display:flex}.washbar .meta{flex:1;min-width:0}.washbar .meta b{white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:600;display:block;overflow:hidden}.washbar .meta small{color:var(--ink2);font-size:13px}.focus .nav,.focus .tabs{opacity:.35;transition:opacity .4s}.nav,.tabs{transition:opacity .4s}.dim{z-index:40;pointer-events:none;opacity:0;transition:opacity .35s var(--spring);background:#00000040;position:fixed;inset:0}.dim.on{opacity:1;pointer-events:auto}.sheet{z-index:41;background:var(--bg);padding:8px 16px calc(var(--sb) + 16px);transition:transform .45s var(--spring);border-radius:14px 14px 0 0;max-height:92vh;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(105%)}.sheet.on{transform:none}.sheet .grab{background:var(--ink3);border-radius:3px;width:36px;height:5px;margin:0 auto 12px}.ba{touch-action:none;background:linear-gradient(#e6f6fa,#fff);border-radius:18px;height:170px;position:relative;overflow:hidden}.ba img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.ba .after{clip-path:inset(0 0 0 var(--cut,50%))}.ba .knob{top:0;bottom:0;left:var(--cut,50%);background:#fff;width:2px;position:absolute;box-shadow:0 0 6px #0000004d}.ba .knob:after{content:"‹ ›";width:34px;height:34px;color:var(--ink2);box-shadow:var(--shadow);background:#fff;border-radius:50%;place-items:center;font-size:15px;font-weight:700;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ba .tag{background:#fffc;border-radius:99px;padding:3px 8px;font-size:12px;font-weight:600;position:absolute;top:10px}.receipt .row{min-height:44px;padding:10px 16px}.receipt .row+.row:before{left:16px}.total{letter-spacing:-.02em;text-align:center;margin:14px 0 2px;font-size:40px}.show{height:300px;transition:background .6s var(--spring);box-shadow:var(--shadow);border-radius:28px;position:relative;overflow:hidden}.show canvas{width:100%;height:100%;position:absolute;inset:0}.show .label{color:#fff;text-shadow:0 1px 8px #00000040;position:absolute;top:18px;left:20px}.show .label b{letter-spacing:-.02em;font-size:28px;font-weight:700;display:block}.show .label small{opacity:.9;font-size:15px}.swatches{gap:8px;display:flex;position:absolute;top:92px;left:20px;right:18px}.swatches button{width:26px;height:26px;transition:transform .25s var(--spring);border-radius:50%;box-shadow:0 0 0 2px #ffffffe6,0 2px 6px #0003}.swatches button.on{transform:scale(1.2)}.picker{scrollbar-width:none;gap:10px;padding:14px 2px 4px;display:flex;overflow-x:auto}.picker::-webkit-scrollbar{display:none}.picker button{background:var(--card);width:96px;box-shadow:var(--shadow);transition:transform .25s var(--spring), box-shadow .2s;border-radius:16px;flex:none;justify-items:center;gap:4px;padding:10px 6px 8px;font-size:12px;font-weight:600;display:grid}.picker button.on{box-shadow:0 0 0 2px var(--accent), var(--shadow)}.picker button.lock{color:var(--ink3)}.picker canvas{width:80px;height:36px}.stat3{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat3 .card{padding:14px}.stat3 small{color:var(--ink2);font-size:12px;font-weight:500;display:block}.stat3 .num{font-size:22px}.chart{padding:16px}.bars{align-items:flex-end;gap:6px;height:110px;margin-top:10px;display:flex}.bars i{background:linear-gradient(var(--accent), #7fe3ee);transform-origin:bottom;min-height:4px;animation:grow .6s var(--spring) both;border-radius:6px 6px 3px 3px;flex:1}@keyframes grow{0%{transform:scaleY(0)}}.club{color:#fff;background:linear-gradient(135deg,#0b1220,#16304a);padding:18px}.club small{opacity:.7}.ring{flex:none;width:64px;height:64px}.switch{background:#78788029;border-radius:16px;flex:none;width:51px;height:31px;transition:background .25s;position:relative}.switch:after{content:"";width:27px;height:27px;transition:transform .3s var(--spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 3px 8px #00000026,0 3px 1px #0000000f}.switch.on{background:#34c759}.switch.on:after{transform:translate(20px)}.loccard{margin-bottom:12px;padding:0;overflow:hidden}.loccard .sky{height:86px;position:relative}.loccard .sky b{letter-spacing:-.02em;font-size:22px;font-weight:700;position:absolute;bottom:10px;left:16px}.loccard .foot{align-items:center;gap:10px;padding:12px 16px;display:flex}.loccard .foot small{color:var(--ink2);flex:1;font-size:13px}.toast{top:calc(var(--st) + 8px);z-index:60;-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);transition:transform .5s var(--spring);background:#ffffffd1;border-radius:18px;align-items:center;gap:10px;padding:12px 16px;font-size:15px;display:flex;position:fixed;left:12px;right:12px;transform:translateY(-140%);box-shadow:0 10px 30px #00000026}.toast.on{transform:none}.toast i{font-size:22px;font-style:normal}.float{z-index:30;pointer-events:none;color:var(--accent-ink);animation:floatup 1.1s var(--spring) forwards;font-size:22px;position:fixed}@keyframes floatup{to{opacity:0;transform:translateY(-60px)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width>=600px){#app{max-width:480px;margin:0 auto;position:relative}.nav,.tabs{max-width:480px;margin:0 auto}}[hidden]{display:none!important}
