:root{--bg:#f3f2ee;--card:#fff;--ink:#141820;--ink2:#5b6372;--ink3:#9aa1ad;--hair:#1418201a;--accent:#e5482f;--accent-ink:#c0361f;--blue:#1f6feb;--gold:#f2a900;--spring:cubic-bezier(.32,.72,0,1);--r:18px;--sat:env(safe-area-inset-top);--sab:env(safe-area-inset-bottom);--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter", system-ui, sans-serif;--num:ui-rounded, "SF Pro Rounded", -apple-system, system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{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;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}#splash{z-index:100;color:#fff;transition:opacity .5s ease, transform .6s var(--spring);background:#10151f;place-content:center;justify-items:center;gap:14px;display:grid;position:fixed;inset:0}#splash img{border-radius:24px;width:104px;height:104px;box-shadow:0 14px 40px #00000073}#splash b{font:700 22px var(--font);letter-spacing:-.01em}#splash.gone{opacity:0;pointer-events:none;transform:scale(1.06)}#screens{position:fixed;inset:0}.page{flex-direction:column;display:flex;position:absolute;inset:0}.page.enter{animation:pageIn .42s var(--spring)}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}}.navbar{z-index:5;padding:calc(var(--sat) + 10px) 16px 10px;text-align:center;background:0 0;border-bottom:.5px solid #0000;transition:background .25s,border-color .25s;position:absolute;top:0;left:0;right:0}.navbar .nav-title{opacity:0;font-size:17px;font-weight:600;transition:opacity .2s}.navbar.collapsed{-webkit-backdrop-filter:saturate(180%)blur(20px);border-color:var(--hair);background:#f3f2eeb8}.navbar.collapsed .nav-title{opacity:1}.scroll{-webkit-overflow-scrolling:touch;padding:calc(var(--sat) + 44px) 16px 0;flex:1;overflow-y:auto}.large-title-wrap{padding:4px 4px 14px}.large-title{letter-spacing:-.022em;transform-origin:0;margin:0;font-size:34px;font-weight:700;line-height:1.1}.lt-sub{color:var(--ink2);margin:4px 0 0;font-size:15px}.tab-spacer{height:calc(96px + var(--sab))}.tabbar{z-index:20;padding:6px 8px calc(var(--sab) + 4px);-webkit-backdrop-filter:saturate(180%)blur(20px);border-top:.5px solid var(--hair);transition:transform .4s var(--spring);background:#f9f9f7c7;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:var(--ink3);transition:transform .2s var(--spring), color .2s;flex:1;justify-items:center;gap:2px;padding:4px 0;font-size:10.5px;font-weight:600;display:grid}.tabbar button svg{width:26px;height:26px}.tabbar button.on{color:var(--accent)}.tabbar button:active{transform:scale(.9)}body.in-game .tabbar{transform:translateY(120%)}.segmented{background:#7676801f;border-radius:9px;margin:0 0 16px;padding:2px;display:flex}.segmented button{color:var(--ink);transition:background .25s var(--spring), box-shadow .25s;border-radius:7px;flex:1;padding:6px 0;font-size:13px;font-weight:600}.segmented button.on{background:#fff;box-shadow:0 3px 8px #0000001f,0 3px 1px #0000000a}.segmented.dark{background:#ffffff1f;flex:none;margin:0}.segmented.dark button{color:#fff;padding:7px 11px;font-size:13px}.segmented.dark button.on{color:var(--ink);background:#fffffff2}.card{text-align:left;background:var(--card);border-radius:var(--r);width:100%;margin-bottom:14px;display:block;box-shadow:0 1px 2px #1418200f,0 8px 24px #1418200f}button.card,.row,.btn{transition:transform .18s var(--spring), background .2s}button.card:active,button.row:active,.btn:active{transform:scale(.97)}.hero{background:#bcd9ea;height:236px;position:relative;overflow:hidden}.hero canvas{width:100%;height:100%;position:absolute;inset:0}.hero-txt{-webkit-backdrop-filter:saturate(180%)blur(18px);background:#ffffffb8;border-radius:16px;padding:12px 16px;position:absolute;bottom:14px;left:14px}.hero-txt h2{letter-spacing:-.02em;margin:2px 0 0;font-size:28px;line-height:1}.hero-txt p{color:var(--ink2);margin:4px 0 0;font-size:13px;font-weight:500}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);font-size:11px;font-weight:700}.resume{align-items:center;gap:12px;padding:14px 16px;display:flex}.resume .dot{background:#2fbf71;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 4px #2fbf712e}.resume div{flex:1}.resume small{color:var(--ink2);font-size:13px;display:block}.resume i{color:var(--accent)}.group-h{color:var(--ink2);text-transform:uppercase;letter-spacing:.04em;margin:22px 4px 8px;font-size:13px;font-weight:600}.group{background:var(--card);border-radius:var(--r);margin-bottom:14px;overflow:hidden;box-shadow:0 1px 2px #1418200d}.row{text-align:left;align-items:center;gap:12px;width:100%;min-height:52px;padding:11px 16px;display:flex;position:relative}.row+.row:before{content:"";border-top:.5px solid var(--hair);position:absolute;top:0;left:16px;right:0}.row .rt{flex:1;min-width:0}.row b{font-size:16px;font-weight:600}.row small{color:var(--ink2);margin-top:1px;font-size:13px;display:block}.row.danger b{color:#d7301f}.row[disabled]{opacity:.45}.row .num{color:#fff;width:34px;height:34px;font:700 15px var(--num);background:#141820;border-radius:10px;flex:none;place-items:center;display:grid}.row .num.ic{color:var(--ink);background:#eef0f3}.row .num.ic svg{width:20px;height:20px}.level:nth-child(7n+1) .num{background:#e5482f}.level:nth-child(7n+2) .num{background:#1f6feb}.level:nth-child(7n+3) .num{color:#141820;background:#f2a900}.level:nth-child(7n+4) .num{background:#1e9e6a}.level:nth-child(7n+5) .num{background:#8e44c9}.level:nth-child(7n+6) .num{background:#0fa3b1}.level:nth-child(7n+7) .num{background:#141820}.level.locked{opacity:.55}.level.locked .num{color:#fff;background:#c9cdd4!important}.lk{color:var(--ink3)}.cost{font:600 15px var(--num);color:var(--ink2)}.stars{gap:1px;display:inline-flex}.stars i{color:#d5d8de;display:inline-flex}.stars i.on{color:var(--gold)}.stars svg{fill:currentColor;stroke:none;width:16px;height:16px}.stars.lg svg{width:30px;height:30px}.stars.xl svg{width:44px;height:44px}.stars.xl i.on{animation:pop .5s var(--spring) both}.stars.xl i:nth-child(2){animation-delay:.15s}.stars.xl i:nth-child(3){animation-delay:.3s}@keyframes pop{0%{opacity:0;transform:scale(.2)}}.soon-card{text-align:center;padding:28px 22px}.soon-card h3{margin:10px 0 6px;font-size:22px}.soon-card p{color:var(--ink2);margin:0 0 16px;font-size:15px}.soon-art{background:#eef0f3;border-radius:18px;place-items:center;width:64px;height:64px;display:inline-grid}.soon-art svg{width:32px;height:32px}.btn{border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:9px 18px;font-size:15px;font-weight:600;display:inline-flex}.btn.filled{background:var(--accent);color:#fff}.btn.tinted{color:var(--accent-ink);background:#e5482f1f}.btn.plain{color:var(--ink2)}.btn.destructive{color:#fff;background:#d7301f}.btn.big{border-radius:14px;width:100%;margin-top:10px;padding:15px;font-size:17px}.btn[disabled]{opacity:.6}.banner{color:#7a4b00;background:#fff4e5;border-radius:14px;align-items:center;gap:10px;margin-bottom:14px;padding:12px 14px;font-size:14px;display:flex}.banner svg{flex:none}.prod{align-items:center;gap:12px;padding:14px;display:flex}.prod .pt{flex:1;min-width:0}.prod b{font-size:16px;display:block}.prod small{color:var(--ink2);font-size:13px;display:block}.prod .pic{color:#fff;background:linear-gradient(145deg,#2b3340,#141820);border-radius:14px;flex:none;place-items:center;width:52px;height:52px;display:grid}.prod .pic svg{width:26px;height:26px}.prod .pic.map{background:linear-gradient(145deg,#3d86f5,#1f5fcb)}.prod .pic.train{background:linear-gradient(145deg,#f7b733,#e07b00)}.prod .pic.cube{background:linear-gradient(145deg,#2cc08a,#138a5e)}.prod .pic.heart{background:linear-gradient(145deg,#ff6a55,#d7301f)}.prod.feat{color:#fff;background:linear-gradient(160deg,#1a2130,#0e131c);padding:18px 16px}.prod.feat small{color:#ffffffb3}.prod.feat .pic{background:linear-gradient(145deg,#ff7a5c,#e5482f)}.prod.feat .btn.tinted{color:#fff;background:#ffffff29}.tag{color:var(--accent);background:#e5482f1f;border-radius:6px;margin-bottom:3px;padding:2px 7px;font-size:11px;font-weight:700;display:inline-block}.feat .tag{color:#fff;background:#e5482fe6}.price{min-width:68px;font-family:var(--num)}.fine{color:var(--ink3);margin:6px 6px 18px;font-size:12.5px;line-height:1.4}.tiles{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px;display:grid}.tiles.three{grid-template-columns:repeat(3,1fr);margin:16px 0 6px}.tile{background:var(--card);border-radius:16px;padding:14px;box-shadow:0 1px 2px #1418200d}.tile b{font:700 24px var(--num);letter-spacing:-.01em;display:block}.tile small{color:var(--ink2);font-size:12.5px}.sheet .tile{box-shadow:none;text-align:center;background:#f3f2ee}.sheet .tile b{font-size:20px}.a2hs{align-items:center;gap:12px;padding:14px;display:flex}.a2hs img{border-radius:12px;width:52px;height:52px}.a2hs div{flex:1}.a2hs b{font-size:15px}.a2hs small{color:var(--ink2);font-size:12.5px;display:block}.ib svg{vertical-align:-2px;width:14px;height:14px;color:var(--blue)}.switch{appearance:none;background:#e3e4e8;border-radius:99px;flex:none;width:51px;height:31px;margin:0;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 1px 1px #00000014}.switch:checked{background:#34c759}.switch:checked:after{transform:translate(20px)}.sheet-back{z-index:60;background:0 0;transition:background .35s;position:fixed;inset:0}.sheet-back.in{background:#0a0e1659}.sheet{z-index:61;max-height:88vh;padding:8px 18px calc(var(--sab) + 18px);transition:transform .42s var(--spring);touch-action:pan-y;background:#fbfbf9;border-radius:22px 22px 0 0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(105%);box-shadow:0 -10px 40px #0000002e}.sheet.in{transform:none}.grabber{background:#d3d5da;border-radius:3px;width:36px;height:5px;margin:0 auto 12px}.sheet h2{letter-spacing:-.02em;margin:4px 0 6px;font-size:24px;line-height:1.15}.muted{color:var(--ink2);margin:0 0 14px;font-size:15px}.sheet .group{background:#fff;box-shadow:0 1px 2px #1418200f}.goals i{color:var(--gold);display:inline-flex}.goals i svg{fill:currentColor;stroke:none}.best{text-align:center;margin:4px 0 2px}.end{text-align:center}.end .stars{margin:6px 0 0}.poster{color:#fff;text-align:left;background:radial-gradient(120% 90% at 85% 0,#f2a900 0 18%,#0000 19%),linear-gradient(170deg,#e5482f 0 46%,#1f6feb 46% 72%,#141820 72%);border-radius:18px;margin:4px auto 14px;padding:22px 16px 18px;box-shadow:0 10px 30px #14182040}.poster span{font:700 11px var(--font);letter-spacing:.2em;opacity:.9}.poster b{letter-spacing:-.03em;text-transform:uppercase;margin-top:46px;font-size:30px;font-weight:800;line-height:1;display:block}#toast{left:50%;top:calc(var(--sat) + 74px);z-index:80;opacity:0;color:#fff;-webkit-backdrop-filter:blur(16px);max-width:88vw;transition:transform .4s var(--spring), opacity .25s;pointer-events:none;text-align:center;background:#141820db;border-radius:14px;padding:10px 16px;font-size:14px;font-weight:600;position:fixed;transform:translate(-50%,-20px)}#toast.show{opacity:1;transform:translate(-50%)}#toast.bad{background:#c0361feb}#toast.ok{background:#0e8a4feb}.game{z-index:30;opacity:0;transition:opacity .35s, transform .45s var(--spring);background:#bcd9ea;position:fixed;inset:0;transform:scale(1.03)}.game.in{opacity:1;transform:none}.game canvas{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.hud{padding:calc(var(--sat) + 8px) 10px 0;pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.hud>*{pointer-events:auto}.hud-btn{-webkit-backdrop-filter:saturate(180%)blur(20px);width:42px;height:42px;transition:transform .2s var(--spring);background:#ffffffb8;border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:0 2px 10px #1418201f}.hud-btn:active{transform:scale(.9)}.hud-pill{-webkit-backdrop-filter:saturate(180%)blur(20px);background:#ffffffb8;border-radius:16px;flex-direction:column;flex:1;align-items:flex-start;gap:0;min-width:0;padding:6px 12px;display:flex;box-shadow:0 2px 10px #1418201f}.hud-pill.goal{flex-direction:row;flex:none;align-items:center;gap:7px;padding:6px 10px 6px 7px}.hud-cash{font:700 19px var(--num);letter-spacing:-.01em;font-variant-numeric:tabular-nums;line-height:1.1}.hud-cash.sm{font-size:15px}.hud-sub{color:var(--ink2);white-space:nowrap;font-size:11.5px;font-weight:600}.ring{width:30px;height:30px;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:4px;stroke:#1418201a}#ringFg{stroke:var(--accent);stroke-dasharray:94.25;stroke-dashoffset:94.25px;transition:stroke-dashoffset .5s var(--spring)}.dock{left:10px;right:10px;bottom:calc(var(--sab) + 10px);-webkit-backdrop-filter:saturate(180%)blur(20px);color:#fff;background:#141820c7;border-radius:22px;align-items:center;gap:10px;padding:8px;display:flex;position:absolute;box-shadow:0 10px 30px #0a0e164d}.lines{scrollbar-width:none;flex:1;justify-content:safe center;gap:7px;min-width:0;margin:-6px 0;padding:6px 5px;display:flex;overflow-x:auto}.lines::-webkit-scrollbar{display:none}.chip{background:var(--c);color:#fff;width:34px;height:34px;font:700 14px var(--num);transition:transform .25s var(--spring);border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:inset 0 -2px #0000002e}.chip svg{stroke-width:2.6px;width:16px;height:16px}.chip.empty{border:2.5px solid var(--c);color:var(--c);background:0 0}.chip.on{transform:scale(1.12);box-shadow:0 0 0 2.5px #fff,0 4px 12px #0006}.speed{width:42px;height:34px;font:700 14px var(--num);color:#fff;background:#ffffff24;border-radius:12px}.coach{left:50%;bottom:calc(var(--sab) + 82px);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);white-space:nowrap;pointer-events:none;background:#ffffffe6;border-radius:14px;padding:10px 14px 10px 44px;font-size:14px;font-weight:600;position:absolute;transform:translate(-50%);box-shadow:0 4px 16px #14182026}.coach .finger{background:var(--blue);width:20px;height:20px;animation:swipe 1.6s var(--spring) infinite;border-radius:50%;margin-top:-10px;position:absolute;top:50%;left:14px;box-shadow:0 0 0 5px #1f6feb40}@keyframes swipe{0%{opacity:0;transform:translate(0)}15%{opacity:1}70%{opacity:1;transform:translate(14px)}to{opacity:0;transform:translate(14px)}}@media (height<=700px){.hero{height:190px}.large-title{font-size:30px}.hud-cash{font-size:17px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.rw{color:#fff;background:#ffffff24;border-radius:12px;flex:none;place-items:center;width:38px;height:34px;display:grid;position:relative}.rw svg{fill:currentColor;stroke:none;width:18px;height:18px}.rw span{background:var(--accent);min-width:17px;height:17px;font:700 10.5px/17px var(--num);border-radius:9px;padding:0 4px;position:absolute;top:-5px;right:-5px}.coach{white-space:normal;text-align:left;width:max-content;max-width:calc(100vw - 32px)}.coach.noswipe{padding-left:14px}.coach.noswipe .finger{display:none}.prod .buy{flex:none;justify-items:center;gap:5px;display:grid}.prod .pr{font:700 16px var(--num)}.prod.feat .pr{color:#fff}.prod .have{color:var(--accent-ink);margin-top:5px;font-size:12px;font-weight:600;display:inline-block}.segmented.mini{width:132px;margin:8px 0 0}.segmented.mini button{padding:4px 0;font-size:12px}@media (width<=380px){.dock{gap:7px;padding:7px}.segmented.dark button{padding:7px 9px}.chip{width:32px;height:32px}.speed{width:36px}}.profile{align-items:center;gap:12px;margin:-4px 2px 12px;display:flex}.lvl-badge{color:#fff;background:linear-gradient(160deg,#2b3446,#141820);border-radius:14px;flex:none;place-items:center;width:46px;height:46px;display:grid;transform:rotate(-4deg);box-shadow:inset 0 -3px #00000059,0 4px 10px #14182033}.lvl-badge b{font:800 20px var(--num);transform:rotate(4deg)}.xp{flex:1}.xp-top{justify-content:space-between;align-items:baseline;display:flex}.xp-top b{font-size:15px}.xp-top small{color:var(--ink2);font:600 12.5px var(--num)}.xp-bar{background:#14182014;border-radius:6px;height:9px;margin-top:5px;overflow:hidden}.xp-bar i{background:linear-gradient(90deg,#f2a900,#e5482f);border-radius:6px;height:100%;display:block;box-shadow:inset 0 -2px #0000001f}.pills{gap:8px;margin-bottom:12px;display:flex}.pill{height:34px;font:700 15px var(--num);background:#fff;border-radius:17px;align-items:center;gap:5px;padding:0 11px 0 9px;display:inline-flex;box-shadow:0 1px 2px #1418200f,0 4px 12px #1418200d}.pill svg{width:17px;height:17px}.pill:first-child svg{color:var(--gold);fill:var(--gold);stroke:none}.pill:nth-child(2) svg{color:var(--blue)}.pill small{color:var(--ink3);font-size:12px;font-weight:600}.pill.plus{margin-left:auto;padding-right:4px}.pill.plus svg{color:var(--accent)}.pill.plus i{background:var(--accent);color:#fff;border-radius:13px;place-items:center;width:26px;height:26px;display:grid;box-shadow:inset 0 -2px #0003}.pill.plus i svg{color:#fff;stroke-width:3px;width:14px;height:14px}.usmap{height:340px;position:relative;overflow:hidden}.usmap canvas{width:100%;height:100%;position:absolute;inset:0}.map-tag{-webkit-backdrop-filter:saturate(180%)blur(18px);background:#ffffffbd;border-radius:14px;padding:9px 13px;position:absolute;top:12px;left:12px}.map-tag b{letter-spacing:-.02em;font-size:20px;line-height:1.1;display:block}.map-tag small{color:var(--ink2);font-size:12px;font-weight:600}.chunky-row{gap:10px;margin:2px 0 4px;display:flex}.chunky{color:var(--ink);transition:transform .15s var(--spring), box-shadow .15s;background:#fff;border-radius:18px;align-items:center;gap:10px;display:flex;box-shadow:inset 0 -4px #1418201a,0 2px 6px #14182014}.chunky:active{transform:translateY(3px)scale(.98);box-shadow:inset 0 -1px #1418201a,0 1px 2px #14182014}.chunky.primary{color:#fff;background:linear-gradient(#f0573d,#e0432a);flex:1;min-width:0;padding:12px 16px 15px;box-shadow:inset 0 -4px #a92d18,0 6px 16px #e5482f59}.chunky.primary:active{box-shadow:inset 0 -1px #a92d18,0 2px 6px #e5482f4d}.chunky.wide{justify-content:center;width:100%;margin-top:12px;padding:15px 16px 18px}.ck-ic{background:#fff3;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;display:grid}.ck-ic svg{fill:#fff;stroke:none}.ck-tx{text-align:left;min-width:0}.ck-tx b{letter-spacing:-.01em;font-size:18px;font-weight:800;display:block}.ck-tx small{opacity:.9;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;display:block;overflow:hidden}.chunky.wide .ck-tx{text-align:center}.chunky.sq{flex-direction:column;flex:none;justify-content:center;gap:2px;width:70px;padding:8px 0 11px}.chunky.sq svg{width:26px;height:26px}.chunky.sq small{color:var(--ink2);font-size:11.5px;font-weight:700}@media (height<=700px){.usmap{height:236px}}.looks{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.look{text-align:center;transition:transform .15s var(--spring);background:#fff;border-radius:16px;padding:8px;box-shadow:inset 0 -3px #14182014,0 1px 3px #1418200f}.look:active{transform:translateY(2px)scale(.98)}.look canvas{border-radius:10px;width:100%;height:auto;display:block}.look small{margin-top:6px;font-size:13px;font-weight:600;display:block}.look.on{box-shadow:0 0 0 2.5px var(--accent), inset 0 -3px 0 #14182014}.look.locked canvas{opacity:.75;filter:saturate(.7)}.map-next{color:#fff;-webkit-backdrop-filter:blur(14px);background:#141820d1;border-radius:14px;align-items:center;gap:6px;padding:7px 12px 7px 9px;font-size:12.5px;font-weight:600;display:flex;position:absolute;bottom:12px;right:12px}.map-next svg{width:16px;height:16px}.map-next b{font:800 15px var(--num)}
