:root{color-scheme:light;--bg: #E8ECE7;--surface: #F6F8F5;--card: #FFFFFF;--ink: #1D2328;--muted: #5F6A72;--line: #C6CEC7;--asphalt: #3A4047;--hivis: #FF6B1A;--hivis-ink: #C24B07;--water: #1E88E5;--transit: #7A5AF8;--vip: #F2C230;--coin: #D99A00;--good: #2E9E6A;--warn: #E39B00;--crit: #E5484D;--display: "Unbounded", "Arial Black", system-ui, sans-serif;--body: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--ease: cubic-bezier(.2, .8, .2, 1);--shadow: 0 10px 30px -14px rgba(29, 35, 40, .45);--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px)}[hidden]{display:none!important}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;overflow:hidden;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}#app{height:100%;height:100dvh;max-width:620px;margin:0 auto;padding:var(--safe-t) 16px 0;display:flex;flex-direction:column}body.in-game #app{max-width:1120px}.screen{flex:1;min-height:0;display:flex;flex-direction:column}.screen:not([hidden]){animation:screenIn .32s var(--ease)}@keyframes screenIn{0%{opacity:0;transform:translateY(6px)}}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}button:focus-visible,canvas:focus-visible,.lv:focus-visible{outline:2px solid var(--hivis);outline-offset:2px}canvas:focus{outline:none}canvas:focus-visible{outline-offset:-2px}b{font-weight:700}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted)}.coin{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-weight:700;font-variant-numeric:tabular-nums}.coin:before{content:"";width:12px;height:12px;border-radius:50%;background:var(--coin);box-shadow:inset 0 -2px #0000002e,0 0 0 1px #0000000d;flex:none}.coin.bump{animation:bump .35s var(--ease)}@keyframes bump{40%{transform:scale(1.18)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:12px;font-weight:700;background:var(--surface);border:1px solid var(--line);transition:transform .12s var(--ease),background-color .15s,border-color .15s,box-shadow .15s}.btn:not(:disabled):hover{border-color:var(--ink)}.btn:not(:disabled):active{transform:scale(.97)}.btn.primary{background:var(--ink);color:var(--surface);border-color:var(--ink)}.btn.primary:not(:disabled):hover{background:#2b343b}.btn:disabled{opacity:.45;cursor:not-allowed}.foot{display:flex;gap:10px;flex-wrap:wrap}.note{margin:0;color:var(--muted);font-size:14px;line-height:1.45}.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}#menu{overflow-y:auto;padding-block:18px calc(28px + var(--safe-b));gap:16px}#menu,#result,#shop{scrollbar-width:none;overscroll-behavior:contain}#menu>*,#result>*,#shop>*{flex-shrink:0}#menu,#result,#shop{overflow-x:hidden}#menu::-webkit-scrollbar,#result::-webkit-scrollbar,#shop::-webkit-scrollbar{display:none}.hero{position:relative;flex:none;height:clamp(230px,40vh,340px);border-radius:22px;overflow:hidden;background:#c9d1ca;box-shadow:0 18px 40px -22px #1d232899}#heroCv{position:absolute;inset:0;width:100%;height:100%}.heroTxt{position:absolute;left:0;right:0;bottom:0;padding:64px 20px 20px;background:linear-gradient(180deg,#12161a00,#12161ae0);color:#fff;display:grid;gap:6px}.heroTxt .eyebrow{color:#ffffffbf}.wordmark{display:flex;align-items:center;gap:.28em;margin:0 0 .12em;font-family:var(--display);font-weight:700;font-size:clamp(34px,9.6vw,52px);line-height:1;letter-spacing:-.03em;color:#fff}.wordmark .wm{white-space:nowrap}.wordmark .mark{width:1.16em;height:1.16em;flex:none;filter:drop-shadow(0 8px 16px rgba(0,0,0,.45))}.wordmark .mark svg{width:100%;height:100%;display:block}.wordmark .st{position:relative;display:inline-block}.wordmark .st:after{content:"";position:absolute;left:.03em;right:.03em;bottom:-.24em;height:.17em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 8'%3E%3Cpath d='M4 6.6L14.5 1.4' stroke='%23FF6B1A' stroke-width='3.6' stroke-linecap='round'/%3E%3C/svg%3E") left center / .5em 100% repeat-x;animation:sew 1s steps(9,end) .35s both}@keyframes sew{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.wordmark .mark .s{stroke-dasharray:23;animation:stitchIn .35s var(--ease) both}.wordmark .mark .s1{animation-delay:.1s}.wordmark .mark .s2{animation-delay:.25s}.wordmark .mark .s3{animation-delay:.4s}@keyframes stitchIn{0%{stroke-dashoffset:23}to{stroke-dashoffset:0}}.heroTxt p{margin:0;color:#ffffffdb;font-size:15px}.big{width:100%;min-height:70px;justify-content:space-between;padding:0 14px 0 20px;text-align:left;border-radius:16px;flex:none}.big>span:first-child{display:grid;gap:2px;min-width:0}.big small{display:block;font-size:12px;font-weight:600;opacity:.7;letter-spacing:.04em}.big b{font-family:var(--display);font-weight:500;font-size:18px}.big .go{width:44px;height:44px;border-radius:50%;background:var(--hivis);display:grid;place-items:center;flex:none;box-shadow:0 6px 16px -6px #ff6b1acc;transition:transform .2s var(--ease)}.big:hover .go{transform:translate(3px)}.statsRow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.statsRow div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;gap:2px;min-width:0}.statsRow b{font-family:var(--mono);font-size:18px}.statsRow span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-weight:700}.daily{background:linear-gradient(135deg,#2b3238,#1d2328);color:#f6f8f5;border-radius:16px;padding:14px 14px 14px 16px;display:grid;gap:10px;position:relative;overflow:hidden}.daily:after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,#ff6b1a59,#ff6b1a00 70%);pointer-events:none}.daily .eyebrow{color:#aeb7be}.daily .dTop{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:baseline}.daily .dNext{font-family:var(--mono);font-size:11px;color:#8e99a2}.daily .dMain{display:flex;align-items:center;justify-content:space-between;gap:12px}.daily .dTxt{display:grid;gap:3px;min-width:0}.daily .dTxt b{font-family:var(--display);font-weight:500;font-size:18px}.daily .dTxt span{font-size:13px;color:#c3cbd1;line-height:1.35}.daily .btn.primary{background:var(--hivis);border-color:var(--hivis);color:#fff;min-width:96px;position:relative;z-index:1}.daily .btn.primary:not(:disabled):hover{background:#ff7f38}.daily .dBest{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12.5px;color:#c3cbd1;border-top:1px solid rgba(255,255,255,.12);padding-top:9px}.daily .dBest b{color:#ffb083;font-family:var(--mono)}.daily.locked .btn.primary{background:#4a535b;border-color:#4a535b}.menuFoot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}@media(max-width:440px){.menuFoot{grid-template-columns:repeat(2,minmax(0,1fr))}}.pauseAudio{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn[aria-pressed=false]{color:var(--muted)}.menuFoot .btn{padding:0 8px;font-size:14px}.chapters{display:grid;gap:14px}.chapter{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:12px}.chapter.locked{opacity:.78}.chapter header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.chapter h2{font-family:var(--display);font-weight:500;font-size:20px;margin:2px 0 0}.chapter .tag{font-size:12.5px;color:var(--muted);max-width:30ch}.chapter .tag.gate{color:var(--ink);font-weight:600}.chapter .progress{height:4px;border-radius:2px;background:var(--line);overflow:hidden}.chapter .progress i{display:block;height:100%;background:var(--coin);border-radius:2px}.levels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.lv{min-width:0}.lv{aspect-ratio:1;border-radius:12px;background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-family:var(--mono);font-weight:700;font-size:17px;position:relative;transition:transform .12s var(--ease),border-color .15s}.lv:not(:disabled):hover{border-color:var(--ink)}.lv:not(:disabled):active{transform:scale(.95)}.lv .st{font-size:10px;letter-spacing:1px;color:var(--coin)}.lv .st .off{opacity:.25}.lv .sz{font-size:9px;font-weight:500;color:var(--muted);letter-spacing:0}.lv.cur{background:var(--asphalt);color:var(--surface);border-color:var(--asphalt)}.lv.cur .sz{color:#aeb7be}.lv.cur:after{content:"";position:absolute;inset:auto 22% 3px;height:3px;border-radius:2px;background:var(--hivis)}.lv.cur{padding-bottom:5px}.lv:disabled{opacity:.4}.lv.event{border-style:dashed;border-width:1.5px}.lv.event.cur{border-color:var(--hivis)}.soon{border:1px dashed var(--line);border-radius:16px;padding:14px 16px;display:grid;gap:4px;color:var(--muted)}.soon b{color:var(--ink);font-weight:600}.credits{margin:4px 0 0;text-align:center;font-size:12px;color:var(--muted);line-height:1.7}.linkbtn{font-size:inherit;color:var(--muted);text-decoration:underline;padding:2px 4px;min-height:0}.linkbtn:hover{color:var(--ink)}.linkbtn.armed{color:var(--crit);font-weight:700}#game{position:relative;padding-block:10px calc(12px + var(--safe-b));gap:10px}.hud{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.hud .title{min-width:0;display:grid}.hud .title .eyebrow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud .title b{font-family:var(--display);font-weight:500;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud .right{display:flex;align-items:center;gap:8px}.wallet{font-size:16px}.combo{font-family:var(--mono);font-weight:700;font-size:12px;padding:4px 9px;border-radius:999px;background:var(--hivis);color:#fff;animation:pop .3s var(--ease)}@keyframes pop{0%{transform:scale(.6);opacity:0}}.iconbtn{width:44px;height:44px;border-radius:12px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;flex:none}.iconbtn:hover{border-color:var(--ink)}.gpill{font-size:12px;font-weight:700;min-height:32px;padding:0 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface);white-space:nowrap}.gpill.done{background:var(--good);color:#fff;border-color:var(--good)}.meters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.meter{display:grid;gap:5px;min-width:0}.meter .row{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.meter .row span:first-child{overflow:hidden;text-overflow:ellipsis}.meter .row span:last-child{font-family:var(--mono);letter-spacing:0;color:var(--ink)}.track{height:8px;border-radius:4px;background:var(--line);overflow:hidden;position:relative}.track i{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--ink);opacity:.6}.track i.s{background:var(--coin);opacity:.9}.fill{height:100%;width:0;border-radius:4px;background:var(--ink);transition:width .25s linear,background-color .3s}#moodFill.good{background:var(--good)}#moodFill.warn{background:var(--warn)}#moodFill.crit{background:var(--crit)}#moodTrack.low{animation:lowMood 1s ease-in-out infinite}@keyframes lowMood{50%{box-shadow:0 0 0 3px #e5484d40}}#dayFill{background:linear-gradient(90deg,#f2b33d,#9fb7d9 55%,#8a74e8);transition:none}.stage{flex:1;min-height:0;position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);background:#c9d1ca}#cv{position:absolute;inset:0;width:100%;height:100%;touch-action:none;display:block}.ctrls{position:absolute;right:8px;top:8px;display:grid;gap:6px;justify-items:end;z-index:3}.ctl{width:44px;height:44px;border-radius:12px;background:#f6f8f5f2;border:1px solid var(--line);font-family:var(--mono);font-weight:700;font-size:20px;display:grid;place-items:center;box-shadow:0 4px 12px -8px #00000080;transition:transform .12s var(--ease)}.ctl:active{transform:scale(.94)}.ctl.issue{width:auto;min-width:44px;padding:0 10px;display:flex;align-items:center;gap:6px;font-size:14px;background:var(--crit);border-color:var(--crit);color:#fff}.ctl.issue.calm{background:#f6f8f5f2;border-color:var(--line);color:var(--muted)}.ctl.issue:not(.calm){animation:nudge 2.4s ease-in-out infinite}@keyframes nudge{0%,85%,to{transform:none}90%{transform:translate(-3px)}95%{transform:translate(2px)}}.hint{position:absolute;left:8px;right:60px;top:8px;z-index:4;background:#1d2328f0;color:#f6f8f5;border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.38;display:flex;gap:10px;align-items:flex-start;box-shadow:0 10px 24px -14px #0009;animation:drop .3s var(--ease)}@keyframes drop{0%{opacity:0;transform:translateY(-8px)}}.hint b{color:#ffb083}.hint button{margin-left:auto;font-size:12px;font-weight:700;color:#b9c2c9;padding:4px 6px;white-space:nowrap;min-height:28px}.hint .glist{display:grid;gap:4px;margin-top:4px}.hint .glist span{display:flex;gap:8px}.hint .glist i{font-style:normal;width:1.2em;text-align:center}.hint .glist .ok{color:#7be0a8}.hint .glist .no{color:#ff8a8e}.toast{position:absolute;left:10px;bottom:10px;z-index:4;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:9px 14px;font-size:13px;font-weight:600;white-space:nowrap;max-width:calc(100% - 150px);overflow:hidden;text-overflow:ellipsis;box-shadow:0 6px 18px -10px #0006;animation:rise .25s var(--ease)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.countdown{position:absolute;left:50%;top:10px;transform:translate(-50%);z-index:4;font-family:var(--mono);font-weight:700;font-size:22px;padding:6px 16px;border-radius:999px;background:var(--crit);color:#fff;box-shadow:0 8px 20px -10px #00000080}.countdown.tick{animation:tick .3s var(--ease)}@keyframes tick{30%{transform:translate(-50%) scale(1.12)}}.evpill{position:absolute;left:10px;top:10px;z-index:4;display:flex;align-items:center;gap:8px;min-height:36px;padding:0 13px;border-radius:999px;font-weight:700;font-size:13px;color:#1d2328;background:var(--vip);box-shadow:0 8px 20px -10px #00000080;max-width:calc(100% - 80px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:drop .3s var(--ease)}.evpill.convoy{background:var(--hivis);color:#fff}.evpill.rain{background:#5b8def;color:#fff}.evpill .mono{font-family:var(--mono)}.evpill .dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:blink 1s steps(2) infinite;flex:none}@keyframes blink{50%{opacity:.25}}.dock{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:8px 12px;flex-wrap:wrap;min-height:50px}.dock .grp{display:flex;align-items:center;gap:8px;min-width:0}.lbl{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.crews{display:flex;gap:5px;flex-wrap:wrap}.crew{width:24px;height:15px;border-radius:4px;background:var(--hivis);box-shadow:inset 0 -4px #ffffff8c;transition:background-color .2s}.crew.busy{background:var(--line);box-shadow:inset 0 -4px #0000000f}.crew.home{opacity:.35}.qn{font-family:var(--mono);font-size:12px;color:var(--muted)}.slots{display:flex;gap:6px;flex-wrap:wrap}.slot{width:32px;height:32px;border-radius:9px;border:1px dashed var(--line);display:grid;place-items:center;color:var(--water)}.slot.full{border:1px solid rgba(30,136,229,.35);background:#1e88e514}.slot svg{width:22px;height:22px}.sheet{position:absolute;left:8px;right:8px;bottom:8px;z-index:5;margin-inline:auto;max-width:420px;background:#f6f8f5f7;border:1px solid var(--line);border-radius:16px;padding:10px 10px 10px 12px;display:grid;gap:7px;box-shadow:0 -10px 40px -18px #00000073;animation:sheetUp .22s var(--ease);max-height:calc(100% - 16px);overflow-y:auto;overscroll-behavior:contain}@keyframes sheetUp{0%{opacity:0;transform:translateY(18px)}}.shead{display:flex;justify-content:space-between;align-items:center;gap:8px}.stitle{display:flex;align-items:baseline;gap:8px;min-width:0;flex-wrap:wrap}.sheet h3{margin:0;font-family:var(--display);font-weight:500;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.sheet .sub{font-size:12.5px;color:var(--muted);white-space:nowrap}.sheet .sub b{font-weight:800}.iconbtn.sm{width:34px;height:34px;border-radius:10px;font-size:13px}.chips{display:flex;gap:5px;flex-wrap:wrap}.chip{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--card);border:1px solid var(--line)}.chip.weak{border-color:#e5484d66;color:#b4262b}.chip.combo{background:var(--hivis);border-color:var(--hivis);color:#fff}.hp{height:4px;border-radius:2px;background:var(--line);overflow:hidden}.hp i{display:block;height:100%;border-radius:2px}.opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.opt{display:grid;align-content:center;gap:2px;text-align:left;padding:7px 9px;border-radius:11px;border:1px solid var(--line);background:var(--card);min-height:52px;transition:border-color .15s,transform .12s var(--ease),box-shadow .15s}.opt .on{font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opt .meta{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opt .price{font-family:var(--mono);font-weight:700;font-size:12px;color:var(--ink);margin-right:3px;gap:4px}.opt .price.coin:before{width:9px;height:9px}.opt:not(:disabled):hover{border-color:var(--ink)}.opt:not(:disabled):active{transform:scale(.97)}.opt:disabled{opacity:.48;cursor:not-allowed}.opt.water{border-color:#1e88e573;background:#1e88e50f}.opt.glow{border-color:var(--hivis);box-shadow:0 0 0 3px #ff6b1a4d;animation:glow 1.4s ease-in-out infinite}@keyframes glow{50%{box-shadow:0 0 0 6px #ff6b1a2e}}.digrow{display:grid;grid-template-columns:1fr minmax(0,150px);gap:6px}.need{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:11px;background:#1e88e514;min-width:0}.need svg{width:26px;height:26px;color:var(--water);flex:none}.need b{display:block;font-size:13px}.kbd{font-family:var(--mono);font-size:9px;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 3px;margin-left:5px;vertical-align:1px}.coach{position:absolute;z-index:6;left:12px;top:12px;width:min(300px,calc(100% - 24px));background:var(--ink);color:#f6f8f5;border-radius:14px;padding:13px 14px;box-shadow:0 14px 30px -14px #0009;display:grid;gap:10px;font-size:14.5px;line-height:1.4;transition:left .25s var(--ease),top .25s var(--ease)}.coach b{color:#ffb083}.coach,.hint{pointer-events:none}.coach button,.hint button{pointer-events:auto}.coach .row{display:flex;gap:10px;align-items:center;justify-content:space-between}.coach .btn{min-height:40px;padding:0 16px;background:var(--hivis);border-color:var(--hivis);color:#fff}.coach .link{font-size:12px;color:#aeb7be;font-weight:600;text-decoration:underline;padding:6px;margin-left:auto}.coach .stepn{font-family:var(--mono);font-size:11px;color:#8e99a2}.overlay{position:absolute;inset:0;z-index:10;background:#e8ece7d1;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:grid;place-items:center;padding:16px 8px;animation:fade .2s ease}@keyframes fade{0%{opacity:0}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px;display:grid;gap:12px;width:min(100%,380px);box-shadow:0 24px 60px -30px #00000080;animation:panelIn .28s var(--ease);max-height:100%;overflow-y:auto}@keyframes panelIn{0%{opacity:0;transform:translateY(10px) scale(.98)}}#bStart,#pResume{position:sticky;bottom:0;z-index:1;box-shadow:0 -12px 14px -4px var(--surface)}#pResume{top:0;bottom:auto;box-shadow:0 12px 14px -4px var(--surface)}.panel h3{margin:0;font-family:var(--display);font-weight:500;font-size:22px}.brief{display:grid;gap:8px}.brief div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:7px;font-size:14px}.brief div span:first-child{color:var(--muted);white-space:nowrap}.brief div span:last-child{font-weight:700;text-align:right}.brief .ev{display:inline-flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.brief .ev i{font-style:normal;font-size:12px;padding:2px 8px;border-radius:999px;color:#fff}.brief .ev .convoy{background:var(--hivis)}.brief .ev .rain{background:#5b8def}.brief .ev .vip{background:var(--vip);color:var(--ink)}.brief .new{background:#ff6b1a1a;border:1px solid rgba(255,107,26,.3);border-radius:12px;padding:10px 12px;font-size:13.5px;line-height:1.4;display:block}.brief .new b{color:var(--hivis-ink)}.pauseGoals{display:grid;gap:6px;font-size:14px}.pauseGoals div{display:flex;justify-content:space-between;gap:10px}#result{overflow-y:auto;padding-block:22px calc(28px + var(--safe-b));gap:16px}#result h2{font-family:var(--display);font-weight:700;font-size:clamp(26px,8vw,34px);line-height:1;margin:4px 0 0}.stars{display:flex;gap:8px}.star{width:38px;height:38px;color:var(--line)}.star.on{color:var(--coin);animation:starIn .5s var(--ease) both}.star.on:nth-child(2){animation-delay:.15s}.star.on:nth-child(3){animation-delay:.3s}@keyframes starIn{0%{transform:scale(0) rotate(-40deg);opacity:0}70%{transform:scale(1.2)}}.snap{display:grid;grid-template-columns:minmax(0,150px) 1fr;gap:16px;align-items:start}@media(min-width:640px){.snap{grid-template-columns:minmax(0,220px) 1fr;gap:24px}}.snap figure{margin:0;display:grid;gap:6px}.snap canvas{width:100%;height:auto;border-radius:12px;box-shadow:var(--shadow);display:block}.snap figcaption{font-size:11px;color:var(--muted);text-align:center;letter-spacing:.04em}.stats{display:grid;gap:8px;min-width:0}.stat{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding-bottom:6px;font-size:14px}.stat span:last-child{font-family:var(--mono);font-weight:700}.stat.total{border-bottom:0;font-size:15px}.stat.total span:last-child{color:var(--coin)}.goalsRes{display:grid;gap:6px}.goalsRes div{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:9px 11px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}.goalsRes .ok{color:var(--good);font-weight:700;white-space:nowrap}.goalsRes .no{color:var(--muted);white-space:nowrap}.resFoot{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.resFoot #rNext{grid-column:1 / -1;min-height:52px;font-size:16px}.resFoot .btn{padding:0 8px}.scoreBlock{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px}.scoreNum{display:grid}.scoreNum b{font-family:var(--mono);font-size:clamp(38px,12vw,52px);line-height:1;animation:pop .5s var(--ease)}.scoreNum span{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.rank{display:grid;gap:4px;min-width:0}.rank b{font-family:var(--display);font-weight:500;font-size:17px;color:var(--hivis-ink)}.rankBar{height:6px;border-radius:3px;background:var(--line);overflow:hidden}.rankBar i{display:block;height:100%;background:var(--hivis);border-radius:3px}.rank .note{font-size:12.5px}#shop{overflow-y:auto;padding-block:18px 0;gap:14px}#shop h2{font-family:var(--display);font-weight:500;font-size:24px;margin:0}.shopList{display:grid;gap:18px}.branch{display:grid;gap:8px}.up{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.up.bought{animation:bought .6s var(--ease)}@keyframes bought{30%{border-color:var(--hivis);box-shadow:0 0 0 4px #ff6b1a33}}.up .d{font-size:13px;color:var(--muted);grid-column:1;line-height:1.38}.up .pips{display:flex;gap:4px;grid-column:1;margin-top:2px}.up .pips i{width:18px;height:4px;border-radius:2px;background:var(--line)}.up .pips i.on{background:var(--hivis)}.up .buy{grid-row:1 / 4;grid-column:2;min-width:88px}.foot.sticky{position:sticky;bottom:0;padding-block:12px calc(16px + var(--safe-b));background:linear-gradient(180deg,rgba(232,236,231,0),var(--bg) 30%)}.foot.sticky .btn{flex:1}.side{display:contents}.sideOnly{display:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;gap:8px}.sideGoals{display:grid;gap:6px;font-size:13.5px}.sideGoals div{display:flex;justify-content:space-between;gap:8px}.sideGoals .ok{color:var(--good);font-weight:700}.sideGoals .no{color:var(--crit);font-weight:700}.sideGoals .open{color:var(--muted);font-family:var(--mono)}.legend div{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.legend .lbl{margin-top:4px}.sw{width:14px;height:14px;border-radius:50%;flex:none}.sw.crack{background:#ffc83d}.sw.hole{background:#ff8a1f}.sw.crater{background:var(--crit);box-shadow:0 0 0 3px #e5484d40}.keys{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12.5px;color:var(--muted)}kbd{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--ink);background:var(--card);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:0 5px;margin-right:3px}@media(min-width:900px),(orientation:landscape)and (max-height:520px)and (min-width:560px){#game{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:auto auto minmax(0,1fr);column-gap:16px;row-gap:10px}#game .hud,#game .meters{grid-column:1 / -1}#game .stage{grid-column:1;grid-row:3}.side{display:flex;flex-direction:column;gap:10px;grid-column:2;grid-row:3;min-height:0;overflow-y:auto}.side .dock{flex-direction:column;align-items:stretch;gap:10px}.side .dock .grp{flex-wrap:wrap}.sideOnly{display:grid}}@media(orientation:landscape)and (max-height:520px){#game{padding-block:6px calc(6px + var(--safe-b));row-gap:6px;column-gap:10px;grid-template-columns:minmax(0,1fr) 230px}.hud .iconbtn{width:40px;height:40px}.hud .title b{font-size:14px}.meter{gap:3px}.legend{display:none!important}.side .card{padding:10px 12px}.sheet{inset:8px 8px 8px auto;width:min(360px,60%);max-width:none;margin:0;align-content:start;gap:10px;padding:12px;animation:sheetSide .26s var(--ease)}.opt{min-height:48px;padding:7px 9px}}@keyframes sheetSide{0%{opacity:0;transform:translate(24px)}}@media(max-width:440px){.combo .cw{display:none}}@media(max-width:380px){.meters{gap:8px}.meter .row{font-size:10px;letter-spacing:.04em}.hud{gap:8px}.menuFoot .btn{font-size:13px}}@media(hover:none)and (pointer:coarse){.kbd{display:none}}.splash{--mw: min(44vmin, 236px);position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:hidden;cursor:pointer;background:radial-gradient(120% 90% at 50% 40%,#262c31,#15191c 55%,#0a0c0e);color:#fff;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;transition:opacity .6s ease .12s}.spRoad{position:absolute;top:0;bottom:0;left:50%;width:calc(var(--mw) * .6875);transform:translate(-50%) scaleY(0);transform-origin:50% 40%;border-inline:2px solid rgba(232,236,231,.14);background:linear-gradient(90deg,#ffffff03,#ffffff09,#ffffff03);transition:transform .9s var(--ease)}.spStage{position:relative;display:flex;flex-direction:column;align-items:center;gap:0;transition:transform .7s var(--ease),filter .7s ease}.spMarkWrap{position:relative;width:var(--mw);aspect-ratio:1}.spMark{width:100%;height:100%;opacity:.38;transform:scale(.9);transition:opacity .4s ease,transform .4s var(--ease);filter:drop-shadow(0 18px 30px rgba(0,0,0,.55))}.spMark svg{width:100%;height:100%;display:block;overflow:visible}.spGlow{position:absolute;inset:-30%;border-radius:50%;background:radial-gradient(closest-side,#ff6b1a8c,#ff6b1a00);opacity:0;transform:scale(.7);transition:opacity .35s ease,transform .5s var(--ease)}.spMark .lanes{transform-box:fill-box;transform-origin:center;transform:scaleY(0);transition:transform .5s var(--ease)}.spMark .crack{stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .3s cubic-bezier(.7,0,.9,.5)}.spMark .s{stroke-dasharray:23;stroke-dashoffset:23;transition:stroke-dashoffset .2s ease-out}.spMark .d{opacity:0;transition:opacity .12s ease .14s}.spWord{position:relative;margin-top:calc(var(--mw) * .2);font-family:var(--display);font-weight:700;font-size:min(64px,calc(var(--mw) * .27),10.5vw);line-height:1;letter-spacing:-.03em;white-space:nowrap}.spWord .w1,.spWord .w2{display:inline-block;opacity:0;transition:opacity .3s ease,transform .45s var(--ease),filter .45s ease;filter:blur(6px)}.spWord .w1{transform:translate(-.35em)}.spWord .w2{position:relative;transform:translate(.35em)}.spWord .ul{position:absolute;left:.03em;right:.03em;bottom:-.24em;height:.17em;display:flex}.spWord .ul i{flex:1;clip-path:inset(0 100% 0 0);transition:clip-path .3s steps(5,end);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 8'%3E%3Cpath d='M4 6.6L14.5 1.4' stroke='%23FF6B1A' stroke-width='3.6' stroke-linecap='round'/%3E%3C/svg%3E") left center / .5em 100% repeat-x}.spTap{position:absolute;left:50%;bottom:-10px;transform:translate(-50%,100%);margin-top:0;font:600 15px/1 var(--body);letter-spacing:.02em;color:#fff;padding:14px 26px;border-radius:999px;background:#ffffff12;border:1px solid rgba(255,255,255,.2);cursor:pointer;white-space:nowrap;animation:breathe 2.2s ease-in-out infinite;transition:opacity .25s ease}.spTap:focus-visible{outline:2px solid var(--hivis);outline-offset:3px}.spHint{position:absolute;left:50%;bottom:-78px;transform:translate(-50%,100%);margin:0;font:500 12px/1 var(--body);color:#ffffff73;white-space:nowrap;transition:opacity .25s ease}@keyframes breathe{50%{background:#ff6b1a38;border-color:#ff6b1a99}}.spFlash{position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,#ffe1cfe6,#ff6b1a59 35%,#ff6b1a00 70%);opacity:0;pointer-events:none}.spark{position:absolute;left:50.4%;width:0;height:0;pointer-events:none}.spark.k1{top:23.8%}.spark.k2{top:48.8%}.spark.k3{top:73.8%}.spark:before,.spark:after{content:"";position:absolute;left:0;top:0;opacity:0}.spark:before{width:calc(var(--mw) * .5);height:calc(var(--mw) * .5);margin:calc(var(--mw) * -.25);border-radius:50%;border:2px solid rgba(255,107,26,.9);transform:scale(.1)}.spark:after{width:4px;height:4px;margin:-2px;border-radius:50%;background:#ffe1cf;box-shadow:18px 0 #ff6b1a,-18px 0 #ff6b1a,13px 13px #ffe1cf,-13px 13px #ffe1cf,13px -13px #ffe1cf,-13px -13px #ffe1cf,0 18px #ff6b1a,0 -18px #ff6b1a;transform:scale(.3)}@keyframes ring{0%{opacity:1;transform:scale(.1)}to{opacity:0;transform:scale(1)}}@keyframes sparks{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(2.4)}}@keyframes thump{0%{transform:scale(.86)}40%{transform:scale(1.07)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-3px,1px) rotate(-.6deg)}45%{transform:translate(3px,-1px) rotate(.5deg)}70%{transform:translate(-2px)}}@keyframes pull{0%{transform:scale(1)}35%{transform:scale(.975)}to{transform:scale(1)}}@keyframes flash{0%{opacity:0}25%{opacity:1}to{opacity:0}}.splash.go .spTap,.splash.go .spHint{opacity:0;pointer-events:none;animation:none}.splash.tile .spRoad{transform:translate(-50%) scaleY(1)}.splash.tile .spMark{opacity:1;transform:none;animation:thump .5s var(--ease)}.splash.tile .spMark .lanes{transform:scaleY(1)}.splash.crack .spMark{animation:shake .34s linear .12s}.splash.crack .spMark .crack,.splash.s1 .spMark .s1,.splash.s2 .spMark .s2,.splash.s3 .spMark .s3{stroke-dashoffset:0}.splash.s1 .spMark .d1,.splash.s2 .spMark .d2,.splash.s3 .spMark .d3{opacity:1}.splash.s1 .k1:before,.splash.s2 .k2:before,.splash.s3 .k3:before{animation:ring .55s ease-out both}.splash.s1 .k1:after,.splash.s2 .k2:after,.splash.s3 .k3:after{animation:sparks .45s ease-out both}.splash.s1 .spGlow{opacity:.2;transform:scale(.8)}.splash.s2 .spGlow{opacity:.35;transform:scale(.9)}.splash.s3 .spGlow{opacity:.5;transform:scale(1)}.splash.s1 .spMarkWrap{animation:pull .25s ease-out}.splash.s2 .spMarkWrap{animation:thump .3s ease-out}.splash.s3 .spMarkWrap{animation:pull .25s ease-out}.splash.road .spWord .w1,.splash.stitch .spWord .w2{opacity:1;transform:none;filter:none}.splash.u1 .spWord .ul i:first-child,.splash.u2 .spWord .ul i:last-child{clip-path:inset(0 0 0 0)}.splash.drop .spFlash{animation:flash .7s ease-out both}.splash.drop .spGlow{opacity:.9;transform:scale(1.5)}.splash.drop .spStage{transform:scale(1.08)}.splash.out{opacity:0;pointer-events:none}.splash.out .spStage{transform:scale(1.16);filter:blur(2px)}.splash.fast,.splash.fast *{transition-duration:.22s!important;transition-delay:0s!important}@media(max-height:520px){.splash{--mw: min(40vmin, 200px)}.spWord{margin-top:calc(var(--mw) * .14)}.spHint{display:none}}#menu.reveal>*{animation:rise .55s var(--ease) both}#menu.reveal>:nth-child(2){animation-delay:.06s}#menu.reveal>:nth-child(3){animation-delay:.12s}#menu.reveal>:nth-child(4){animation-delay:.18s}#menu.reveal>:nth-child(5){animation-delay:.24s}#menu.reveal>:nth-child(n+6){animation-delay:.3s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
