:root{--sky: #101820;--panel: rgba(18, 28, 42, .86);--line: rgba(255, 255, 255, .1);--text: #f4f7fb;--dim: rgba(244, 247, 251, .55);--teal: #4ecdc4;--yellow: #ffc93c;--red: #ff6b6b;--purple: #9b8cff;--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);font-family:ui-rounded,SF Pro Rounded,Nunito,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:var(--sky);color:var(--text);touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}[hidden]{display:none!important}#stage{position:fixed;top:0;left:0;transform-origin:0 0;overflow:hidden}html.turned{--safe-t: env(safe-area-inset-right, 0px);--safe-r: env(safe-area-inset-bottom, 0px);--safe-b: env(safe-area-inset-left, 0px);--safe-l: env(safe-area-inset-top, 0px)}#game{position:absolute;inset:0;display:block}#hud{position:absolute;inset:0;padding:calc(10px + var(--safe-t)) calc(12px + var(--safe-r)) 0 calc(12px + var(--safe-l));display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;font-weight:800;font-size:13px;letter-spacing:.04em;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px rgba(0,0,0,.6)}.hud-left{display:flex;flex-direction:column;gap:5px}#hearts{display:flex;gap:4px}#hearts svg{width:20px;height:20px;fill:var(--red);filter:drop-shadow(0 1px 1px rgba(0,0,0,.5));transition:fill .2s,transform .2s}#hearts svg.off{fill:#ffffff24;transform:scale(.84)}#tries{display:flex;gap:4px}#tries i{width:9px;height:9px;border-radius:2px;background:var(--yellow);transition:background .2s,transform .2s}#tries i.off{background:#ffffff24;transform:scale(.8)}#tries.last i:not(.off){background:var(--red)}#zone{color:var(--dim);font-size:11px;letter-spacing:.16em}#attempt{color:var(--dim);font-size:11px;letter-spacing:.1em}.hud-right{display:flex;align-items:center;gap:12px}.stat{display:flex;align-items:center;gap:5px}.stat-time{min-width:52px;justify-content:flex-end;color:var(--dim)}.ico{display:inline-block;width:11px;height:11px}.ico-coin{background:var(--yellow);transform:rotate(45deg) scale(.82)}.ico-star{width:14px;height:14px;background:var(--yellow);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.ico-pts{width:12px;height:12px;border-radius:3px;background:var(--yellow);box-shadow:inset 0 0 0 3px #101820cc}.stat-pts{color:var(--yellow)}#pause{pointer-events:auto;width:38px;height:38px;margin:-6px -4px 0 0;border:1px solid var(--line);border-radius:12px;background:#121c2a8c;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer}#pause i{width:4px;height:14px;border-radius:1px;background:var(--text)}#hint{position:absolute;left:50%;bottom:calc(22px + var(--safe-b));transform:translate(-50%);padding:9px 16px;border-radius:999px;background:#0a101ab3;border:1px solid var(--line);font-weight:800;font-size:13px;letter-spacing:.06em;width:max-content;max-width:min(calc(92 * var(--vw, 1vw)),520px);text-align:center;line-height:1.3;pointer-events:none;animation:rise .25s ease-out}#overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:calc(16px + var(--safe-t)) calc(16px + var(--safe-r)) calc(16px + var(--safe-b)) calc(16px + var(--safe-l));pointer-events:none}#overlay.dim:not(.map){background:radial-gradient(ellipse at center,#080c1459,#080c14b8)}.card{width:min(360px,100%);max-height:100%;overflow:auto;padding:22px 22px 20px;border-radius:20px;background:var(--panel);border:1px solid var(--line);box-shadow:0 18px 50px #00000073;text-align:center;animation:rise .22s ease-out}.card.bare{background:none;border:none;box-shadow:none}.card.wide{width:min(760px,100%)}@keyframes rise{0%{opacity:0;translate:0 10px}}h1,h2,p{margin:0}h1{font-size:clamp(34px,calc(9 * var(--vw, 1vw)),54px);font-weight:900;letter-spacing:.14em;margin-right:-.14em;text-shadow:0 4px 0 rgba(0,0,0,.35)}h2{font-size:28px;font-weight:900;letter-spacing:.08em}h2.win{font-size:44px;color:var(--teal)}h2.lost{font-size:40px;color:var(--red)}#card-lost .big{color:var(--yellow);font-variant-numeric:tabular-nums}.card p{margin-top:8px;color:var(--dim);font-weight:700;font-size:14px}.card p.big{font-size:30px;font-weight:900;color:var(--text);font-variant-numeric:tabular-nums}.eyebrow{margin:0 0 4px!important;font-size:11px!important;letter-spacing:.22em;text-transform:uppercase}.cta{margin-top:18px!important;color:var(--text)!important;letter-spacing:.12em;text-transform:uppercase;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.4}}.badge{display:inline-block;margin-top:12px!important;padding:4px 12px;border-radius:999px;background:var(--yellow);color:#1b1b2f!important;font-size:11px!important;letter-spacing:.16em;text-transform:uppercase}.record{margin-top:16px!important;font-size:12px!important;letter-spacing:.08em}.logo{width:84px;height:84px;margin:0 auto 18px;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px #00000047;animation:hop 1.6s ease-in-out infinite}.logo i{display:block}.logo .hair{flex:22;background:var(--hero-hair, #1b1b2f)}.logo .face{flex:44;background:var(--hero-skin, #f6d3ae);position:relative}.logo .face b{position:absolute;top:34%;width:15%;aspect-ratio:1;background:#101820}.logo .face b:first-child{left:40%}.logo .face b:last-child{left:68%}.logo .shirt{flex:34;background:linear-gradient(90deg,#1e78c8 22%,#35a7ff 22% 78%,#1e78c8 78%)}@keyframes hop{0%,to{transform:translateY(0) scale(1.04,.96)}50%{transform:translateY(-14px) scale(.97,1.04)}}.howto{list-style:none;margin:20px auto 0;padding:0;display:grid;grid-template-columns:auto auto;gap:6px 10px;width:fit-content;font-size:13px;font-weight:700;color:var(--dim);text-align:left}.howto li{display:contents}.howto b{color:var(--text);text-align:right;font-weight:800}.card.menu{width:100%;height:100%;max-height:none;padding:0;overflow:visible;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;align-items:center;animation:none}.card.menu .brand{align-self:flex-start;gap:10px}.card.menu .brand .logo{width:38px;height:38px;border-radius:6px;box-shadow:0 5px #00000047;animation:none}.card.menu .brand h1{font-size:20px}.card.menu .tagline{margin-top:1px!important;font-size:11px!important}.shop-btn{pointer-events:auto;font:inherit;cursor:pointer;margin-left:6px;padding:8px 12px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);display:flex;flex-direction:column;align-items:center;gap:2px;transition:transform .08s}.shop-btn:active{transform:scale(.96)}.shop-btn span{font-size:10px;font-weight:800;letter-spacing:.2em;color:var(--purple)}.shop-btn b{font-size:15px;font-weight:900;color:var(--yellow);font-variant-numeric:tabular-nums}.tally{margin-top:12px;text-align:left;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}.tally .row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:5px 0;border-bottom:1px solid var(--line);opacity:0;translate:-10px 0;transition:opacity .22s ease-out,translate .22s ease-out}.tally .row.in{opacity:1;translate:0 0}.tally .row.no.in{opacity:.4}.tally .row span{display:flex;align-items:center;gap:7px;min-width:0;color:var(--dim)}.tally .row em{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tally .row i{flex:none;width:12px;height:12px;border-radius:3px;border:1.5px solid var(--dim)}.tally .row.ok i{border-color:var(--teal);background:var(--teal)}.tally .row b{flex:none;color:var(--yellow)}.tally .row.no b{color:var(--dim)}.tally-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:8px;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}.tally-total b{font-size:30px;letter-spacing:0;color:var(--yellow);font-variant-numeric:tabular-nums}.card p.wallet{margin-top:2px;font-size:12px;letter-spacing:.06em}.card.shop{pointer-events:auto;text-align:left}.shop-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.wallet-big{display:flex;align-items:center;gap:8px;font-size:22px;font-weight:900;color:var(--yellow);font-variant-numeric:tabular-nums}.wallet-big .ico{width:14px;height:14px}.shop-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px;margin-top:14px}.up{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:#ffffff0a}.up.maxed{opacity:.55}.up-body{flex:1;min-width:0}.up strong{display:block;font-size:14px;font-weight:900;letter-spacing:.08em;color:var(--purple)}.up-desc{display:block;font-size:12px;font-weight:700;color:var(--dim)}.up-tier{display:block;margin-top:2px;font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--teal)}.pips{display:flex;flex-direction:column-reverse;gap:3px;flex:none}.pips i{width:8px;height:8px;border-radius:2px;background:#ffffff24}.pips i.on{background:var(--teal)}.buy{pointer-events:auto;flex:none;min-width:64px;padding:10px;border-radius:12px;font:inherit;font-size:13px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--dim);border:1px solid var(--line);background:#ffffff0d;cursor:default}.buy.can{color:#1b1b2f;background:var(--yellow);border-color:transparent;cursor:pointer}.buy.can:active{transform:scale(.96)}.ticket{pointer-events:auto;display:flex;align-items:center;gap:10px;width:min(620px,100%);padding:10px;border-radius:18px;background:var(--panel);border:1px solid var(--line);box-shadow:0 14px 40px #00000073;text-align:left}.ticket-body{flex:1;min-width:0}.ticket .num{font-size:10px;font-weight:800;letter-spacing:.2em;color:var(--dim)}.ticket strong{display:block;font-size:17px;font-weight:900;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket .blurb{display:block;font-size:12px;font-weight:700;color:var(--dim)}.ticket .meta{display:flex;gap:10px;align-items:center;margin-top:4px;font-size:12px;font-weight:800;color:var(--dim)}.ticket .go{width:auto;margin:0;padding:14px 22px;flex:none}.nav{pointer-events:auto;flex:none;width:40px;height:48px;border-radius:12px;border:1px solid var(--line);background:#ffffff0f;color:var(--text);font:inherit;font-size:24px;font-weight:900;cursor:pointer}.nav:disabled{opacity:.25}.brand{display:flex;align-items:center;justify-content:center;gap:18px;text-align:left}.brand .logo{margin:0;flex:none;width:clamp(56px,calc(16 * var(--vw, 1vw)),84px);height:clamp(56px,calc(16 * var(--vw, 1vw)),84px)}.brand h1{font-size:clamp(26px,calc(7.4 * var(--vw, 1vw)),50px)}.tagline{margin-top:4px!important;font-size:12px!important;letter-spacing:.04em}.tagline b{color:var(--text)}.levels{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}.level{pointer-events:auto;font:inherit;color:var(--text);cursor:pointer;flex:1 1 180px;max-width:210px;padding:14px 14px 12px;border-radius:16px;border:1px solid var(--line);background:var(--panel);text-align:left;transition:transform .08s,border-color .15s}.level:active{transform:scale(.97)}.level.next{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal),0 10px 30px #4ecdc42e}.level.locked{opacity:.4;cursor:default}.level .num{font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--dim)}.level strong{display:block;margin-top:3px;font-size:15px;font-weight:900;letter-spacing:.08em}.level .blurb{display:block;margin-top:3px;min-height:2.5em;font-size:12px;font-weight:700;color:var(--dim)}.level .meta{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:12px;font-weight:800;color:var(--dim);font-variant-numeric:tabular-nums}.stars{display:inline-flex;gap:3px}.stars i{width:13px;height:13px;background:#ffffff29;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.stars i.on{background:var(--yellow)}.win-stars{margin-top:10px;display:flex;justify-content:center}.win-stars .stars{gap:8px}.win-stars .stars i{width:30px;height:30px}.btn,.perk{pointer-events:auto;font:inherit;color:var(--text);cursor:pointer;border:1px solid var(--line);background:#ffffff0f;transition:transform .08s,background .15s}.btn:active,.perk:active{transform:scale(.97);background:#ffffff24}.btn{display:block;width:100%;margin-top:10px;padding:13px 16px;border-radius:14px;font-weight:800;font-size:14px;letter-spacing:.1em}.btn.primary{margin-top:16px;background:var(--teal);border-color:transparent;color:#0c1a1c}.btn.danger{color:var(--red)}#travel{margin-top:16px}.list .btn{margin-top:6px;color:var(--purple)}.perks{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;justify-content:center}.perk{flex:1 1 200px;max-width:260px;padding:16px 14px;border-radius:16px;text-align:center}.perk strong{display:block;font-size:16px;font-weight:900;letter-spacing:.08em;color:var(--purple)}.perk span{display:block;margin-top:6px;font-size:13px;font-weight:700;color:var(--dim)}html.short{.brand{gap:10px}.brand .logo{width:34px;height:34px;border-radius:5px}.brand h1{font-size:22px}.tagline{display:none}.levels{margin-top:12px;gap:8px}.level{padding:10px 12px}.level .blurb{min-height:0}h2.win{font-size:30px}.card p.big{font-size:22px}.win-stars .stars i{width:22px;height:22px}.logo{width:54px;height:54px;margin-bottom:10px;border-radius:7px}h1{font-size:32px}.howto{margin-top:10px;grid-template-columns:auto auto auto auto;font-size:12px}.cta{margin-top:10px!important}.card{padding:14px 18px}.btn{padding:10px 14px;margin-top:7px}.perk{padding:10px 12px}#card-win{width:min(660px,100%);display:grid;grid-template-columns:1fr 1.25fr;grid-template-rows:auto auto auto auto;column-gap:22px;align-items:start}#card-win .win-head{grid-column:1;grid-row:1 / span 3;align-self:center}#card-win .tally{grid-column:2;grid-row:1;margin-top:0;font-size:12px}#card-win .tally-total{grid-column:2;grid-row:2}#card-win .wallet{grid-column:2;grid-row:3;text-align:right}#card-win .win-btns{grid-column:1 / -1;grid-row:4;display:flex;gap:8px}#card-win .win-btns .btn{flex:1;margin-top:8px;padding:9px 8px;font-size:12px}.tally .row{padding:3px 0}.tally-total b{font-size:22px}.win-stars{margin-top:4px}.shop-list{margin-top:8px;gap:6px}.up{padding:7px 10px}.shop-btn{padding:5px 10px}}#card-gear{display:flex;flex-direction:column}#card-gear .shop-head,#card-gear .win-btns{flex:none}.gear-list{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:12px;margin-top:12px;overflow-y:auto;-webkit-overflow-scrolling:touch}.gear-row .eyebrow{color:var(--dim)}.chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.chip{position:relative;pointer-events:auto;padding:8px 10px;border-radius:12px;border:1px solid var(--line);background:#ffffff0a;cursor:default}.chip.on{border-color:var(--teal);background:#4ecdc41f}.chip.locked{opacity:.6}.chip.locked.can{opacity:1;cursor:pointer}.chip.locked.can .chip-foot{color:#1b1b2f;background:var(--yellow);border-radius:8px;padding:1px 6px}.chip-name{display:block;font-size:12px;font-weight:900;letter-spacing:.08em;color:var(--purple)}.chip.on .chip-name{color:var(--teal)}.chip-desc{display:block;margin-top:1px;font-size:11px;font-weight:700;line-height:1.25;color:var(--dim)}.chip-foot{display:inline-block;margin-top:4px;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-variant-numeric:tabular-nums}.chip .sw{position:absolute;top:8px;right:8px;width:14px;height:14px;border-radius:4px;border:1px solid rgba(255,255,255,.25)}.pips.flat{flex-direction:row;margin-top:6px}.buy.up{margin-top:6px;width:100%;min-width:0;padding:5px 6px;font-size:11px}@media(max-width:720px){.chips{grid-template-columns:repeat(auto-fill,minmax(128px,1fr))}}#card-title{pointer-events:auto;width:min(420px,100%);padding:26px 26px 22px}#card-title h1{margin-bottom:18px}.title-btns{width:min(300px,100%);margin:0 auto}.title-btns .btn:disabled{opacity:.45;color:var(--dim);cursor:default}.title-btns .btn:disabled:active{transform:none}.badge.debug{background:var(--purple)}#card-hero{display:flex;flex-direction:column}#card-hero .shop-head,#card-hero .win-btns,#card-hero .warn{flex:none}.hero-body{flex:1 1 auto;min-height:0;display:flex;gap:16px;margin-top:10px}.hero-preview{flex:none;width:150px;display:flex;flex-direction:column;align-items:center;gap:2px}.hero-preview canvas{width:150px;height:150px;border-radius:16px;background:radial-gradient(circle at 50% 70%,#4ecdc429,#ffffff05 70%)}.hero-preview strong{font-size:15px;font-weight:900;letter-spacing:.12em;color:var(--teal)}.hero-preview span{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--dim);text-transform:uppercase}#card-hero .gear-list{margin-top:0;text-align:left}.card p.warn{color:var(--yellow);font-size:12px}.chips.klasses{grid-template-columns:repeat(2,1fr)}.chip.klass{cursor:pointer}.chips.tight{grid-template-columns:repeat(4,1fr)}.chip.small{padding:7px 8px;text-align:center;cursor:pointer}.bars{margin-top:6px;display:grid;gap:2px}.bar{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:6px}.bar span{font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.bar i{height:5px;border-radius:3px;background:linear-gradient(90deg,var(--teal) calc(var(--v) * 20%),rgba(255,255,255,.1) 0)}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatch{pointer-events:auto;width:30px;height:30px;border-radius:8px;border:2px solid rgba(255,255,255,.18);cursor:pointer;padding:0}.swatch.on{border-color:var(--text);box-shadow:0 0 0 2px var(--teal)}@media(max-width:560px){.hero-body{flex-direction:column}.hero-preview{width:100%;flex-direction:row;justify-content:center;gap:12px}.hero-preview canvas{width:80px;height:80px}}html.short #card-hero,html.short #card-gear{padding:12px 14px 10px}html.short #card-hero h2,html.short #card-gear h2{font-size:20px}html.short #card-hero .win-btns,html.short #card-gear .win-btns{display:flex;gap:8px}html.short #card-hero .win-btns .btn,html.short #card-gear .win-btns .btn{margin-top:8px;padding:9px 8px;font-size:12px}html.short .hero-body{margin-top:6px}html.short .hero-preview{width:96px}html.short .hero-preview canvas{width:72px;height:72px}html.short .card p.warn{margin-top:4px;font-size:11px}#gadget{position:absolute;right:calc(18px + var(--safe-r));bottom:calc(18px + var(--safe-b));width:74px;height:74px;border-radius:50%;border:none;padding:5px;cursor:pointer;background:conic-gradient(var(--teal) var(--lvl, 360deg),rgba(255,255,255,.12) 0);opacity:.55;touch-action:none;transition:opacity .15s,transform .08s}#gadget.ready{opacity:.9}#gadget.on{opacity:1;transform:scale(.94)}#gadget b{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:#0e1622e6;color:var(--text);font-size:28px;font-weight:900}#gadget.on b{background:#4ecdc459}
