:root{--ink: #1d2340;--ink-2: #4a5275;--ink-3: #7b83a6;--glass: rgba(255, 255, 255, .86);--glass-2: rgba(255, 255, 255, .7);--line: rgba(29, 35, 64, .1);--blue: #3b6ff5;--blue-2: #2a55d6;--orange: #ff7a45;--green: #22b573;--amber: #f5a524;--red: #ef4b5f;--radius: 18px;--shadow: 0 8px 28px rgba(28, 38, 80, .18), 0 1px 3px rgba(28, 38, 80, .12);--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px);--font: ui-rounded, "SF Pro Rounded", "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#dde8f6;color:var(--ink);font-family:var(--font);-webkit-text-size-adjust:100%}body{position:fixed;inset:0;overscroll-behavior:none}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline:none}#ui{position:fixed;inset:0;pointer-events:none;z-index:2}#ui>*{pointer-events:none}button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:3px solid rgba(59,111,245,.55);outline-offset:2px}[hidden]{display:none!important}.ico{display:inline-flex;line-height:0}.btn{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:0;border-radius:999px;background:#fff;box-shadow:0 1px 2px #00000014,inset 0 0 0 1px var(--line);font-weight:650;font-size:15px;cursor:pointer;transition:transform .12s,background .15s;white-space:nowrap}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:linear-gradient(180deg,#4f82ff,var(--blue-2));color:#fff;box-shadow:0 6px 16px #3b6ff559}.btn.danger{background:var(--red);color:#fff}.btn.soft{background:#ffffffbf}.btn.big{min-height:56px;font-size:17px}.btn.wide{width:100%}.ibtn{pointer-events:auto;width:46px;height:46px;border:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fff;box-shadow:0 1px 2px #00000014,inset 0 0 0 1px var(--line);cursor:pointer;transition:transform .12s,background .15s,color .15s;flex:none}.ibtn:active{transform:scale(.92)}.ibtn:disabled{opacity:.35;cursor:default}.ibtn.on{background:var(--blue);color:#fff}.ibtn.soft{background:#f0f3faf2}.ibtn.ghost{background:transparent;box-shadow:none}.ibtn.danger{color:var(--red)}.ibtn.big{width:56px;height:56px;background:linear-gradient(180deg,#4f82ff,var(--blue-2));color:#fff}.hud{position:absolute;inset:0}.hud-top{pointer-events:auto;position:absolute;top:calc(var(--sat) + 8px);left:calc(var(--sal) + 10px);right:calc(var(--sar) + 10px);display:flex;align-items:center;gap:10px;padding:6px;border-radius:999px;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow)}.hud-title{flex:1;min-width:0;line-height:1.15}.hud-title-main{font-weight:800;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud-title-sub{font-size:12.5px;color:var(--ink-2);font-weight:600}.hud-top-actions{display:flex;gap:6px}.goal-chips{position:absolute;top:calc(var(--sat) + 70px);left:50%;transform:translate(-50%);display:flex;gap:8px}.goal-chip{display:flex;align-items:center;gap:6px;padding:5px 12px 5px 5px;border-radius:999px;background:var(--glass);box-shadow:var(--shadow);font-weight:750;font-size:15px}.goal-flag{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#e84a5f;font-size:13px}.goal-chip[data-label=B] .goal-flag{background:#3d8bfd}.goal-chip[data-label=C] .goal-flag{background:#2fbf71}.goal-chip[data-label=\27f2] .goal-flag{background:#b88a5a}.goal-chip.done{background:#e3f8ec}.goal-chip.done .goal-flag:after{content:""}.sim-info{position:absolute;top:calc(var(--sat) + 114px);left:50%;transform:translate(-50%);padding:4px 12px;border-radius:999px;background:var(--glass-2);font-size:13px;font-weight:650;color:var(--ink-2);white-space:nowrap}.hud-rail{pointer-events:auto;position:absolute;right:calc(var(--sar) + 10px);top:calc(var(--sat) + 78px);display:flex;flex-direction:column;gap:8px;align-items:center;padding:7px;border-radius:30px;background:var(--glass-2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow)}.hud-rail .ibtn{width:42px;height:42px}.hud-rail.sim>:not(:nth-child(n+4)){display:none}.level-ctl{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 0;border-radius:24px;background:#3b6ff51a}.level-box{text-align:center;line-height:1}.level-cap{display:block;font-size:9.5px;font-weight:800;color:var(--blue-2);text-transform:uppercase;letter-spacing:.04em}.level-num{font-size:20px;font-weight:850;color:var(--blue-2)}.hud-bottom{position:absolute;left:calc(var(--sal) + 8px);right:calc(var(--sar) + 8px);bottom:calc(var(--sab) + 8px);display:flex;flex-direction:column;gap:8px;align-items:stretch}.place-bar,.ctx-bar{pointer-events:auto;align-self:center;max-width:100%;display:flex;align-items:center;gap:10px;padding:7px 7px 7px 14px;border-radius:999px;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow);animation:pop .18s ease-out}.place-bar{flex-direction:column;align-items:stretch;gap:6px;padding:7px;border-radius:26px}.place-status{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;min-width:0;padding:0 6px}.place-status b{width:24px;height:24px;flex:none;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:14px}.place-status span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.place-btns .place-ok{flex:1}.place-status.ok b{background:var(--green)}.place-status.warn b{background:var(--amber)}.place-status.bad b{background:var(--red)}.place-btns{display:flex;gap:8px;align-items:center}.place-ok{min-height:46px}.ctx-bar{flex-direction:column;align-items:stretch;gap:6px;padding:8px;border-radius:26px}.ctx-name{padding:0 8px;font-size:13.5px;color:var(--ink-2);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ctx-name b{color:var(--ink)}.ctx-name .lock{display:inline-flex;gap:3px;align-items:center;color:var(--orange);font-weight:700}.ctx-btns{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.ctx-btns .ibtn{width:42px;height:42px}.is-sim .hud-top-actions{visibility:hidden}@media(max-width:440px){.inv-tab:not([aria-selected=true]) .tab-lbl{display:none}.inv-tab{padding:0 10px}}.ctx-btns::-webkit-scrollbar{display:none}.inv-row{display:flex;gap:8px;align-items:flex-end}.inventory{pointer-events:auto;flex:1;min-width:0;padding:8px;border-radius:24px;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow)}.inv-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:7px}.inv-tabs::-webkit-scrollbar,.inv-list::-webkit-scrollbar{display:none}.inv-tab{flex:none;display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 12px;border:0;border-radius:999px;background:#1d23400f;font-size:13px;font-weight:700;color:var(--ink-2);cursor:pointer}.inv-tab[aria-selected=true]{background:var(--ink);color:#fff}.inv-list{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.inv-item{position:relative;flex:none;width:76px;padding:4px 4px 6px;border:0;border-radius:16px;background:#edf1fa;cursor:pointer;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:2px;transition:transform .12s,box-shadow .15s}.inv-item img{width:62px;height:62px;border-radius:12px;display:block;pointer-events:none}.inv-item:active{transform:scale(.94)}.inv-item[aria-pressed=true]{box-shadow:0 0 0 3px var(--blue);background:#fff}.inv-item:disabled{opacity:.38}.inv-name{font-size:10.5px;font-weight:700;line-height:1.1;text-align:center;color:var(--ink-2);max-width:70px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.inv-count{position:absolute;top:3px;right:3px;min-width:24px;padding:1px 6px;border-radius:999px;background:var(--ink);color:#fff;font-size:11px;font-weight:800}.launch{pointer-events:auto;flex:none;width:76px;height:76px;border:0;border-radius:26px;background:linear-gradient(160deg,#ff9a52,#ff5d5d);color:#fff;box-shadow:0 10px 22px #ff5d5d66;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-weight:850;font-size:13px;cursor:pointer;transition:transform .12s}.launch:active{transform:scale(.94)}.sim-bar{width:max-content;max-width:calc(100vw - 12px);pointer-events:auto;position:absolute;left:50%;bottom:calc(var(--sab) + 14px);transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px;border-radius:999px;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow)}.speed{min-width:58px;font-weight:850}.coach{pointer-events:auto;position:absolute;left:calc(var(--sal) + 10px);top:calc(var(--sat) + 78px);width:min(calc(100vw - 84px),460px);padding:12px 14px;border-radius:18px;background:#1d2340;color:#fff;font-size:15px;font-weight:650;line-height:1.35;box-shadow:0 12px 30px #00000047;display:flex;gap:10px;align-items:flex-start;animation:pop .25s ease-out}.coach span{flex:1}.coach-skip{border:0;background:#ffffff24;color:#fff;border-radius:999px;padding:5px 10px;font-size:12.5px;font-weight:700;cursor:pointer;flex:none}.is-sim .coach{top:calc(var(--sat) + 150px)}#toast{position:fixed;z-index:50;left:50%;top:calc(var(--sat) + 76px);transform:translate(-50%,-12px);opacity:0;pointer-events:none;display:flex;align-items:center;gap:12px;max-width:min(92vw,520px);padding:11px 16px;border-radius:16px;background:#1d2340f0;color:#fff;font-size:14.5px;font-weight:600;box-shadow:0 10px 30px #00000040;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%);pointer-events:auto}#toast.warn{background:#8a5a00}#toast.bad{background:#b3263a}.toast-act{border:0;background:#fff;color:var(--ink);border-radius:999px;padding:6px 12px;font-weight:800;cursor:pointer;flex:none}@keyframes pop{0%{transform:scale(.94);opacity:0}to{transform:none;opacity:1}}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important}@media(orientation:landscape)and (max-height:520px){.hud-top{right:auto;width:min(44vw,380px);top:calc(var(--sat) + 6px);padding:4px}.hud-top .ibtn{width:38px;height:38px}.hud-title-main{font-size:14px}.hud-rail{top:calc(var(--sat) + 6px);right:calc(var(--sar) + 8px);gap:4px;padding:4px;border-radius:24px}.hud-rail .ibtn{width:34px;height:34px}.level-ctl{gap:2px;padding:2px 0}.level-num{font-size:16px}.level-cap{font-size:8px}.goal-chips{top:calc(var(--sat) + 8px);left:auto;right:calc(var(--sar) + 60px);transform:none}.sim-info{top:calc(var(--sat) + 52px);left:auto;right:calc(var(--sar) + 60px);transform:none}.hud-bottom{right:calc(var(--sar) + 130px);bottom:calc(var(--sab) + 6px)}.place-bar,.ctx-bar{position:fixed;top:calc(var(--sat) + 6px);left:calc(var(--sal) + min(44vw,380px) + 20px);right:calc(var(--sar) + 60px);align-self:auto}.ctx-bar{flex-direction:row;align-items:center}.ctx-btns{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}.ctx-btns::-webkit-scrollbar{display:none}.ctx-btns .ibtn,.place-btns .ibtn{width:38px;height:38px}.place-bar{flex-direction:row;align-items:center}.place-ok{min-height:40px}.ctx-name{max-width:30%}.inventory{padding:6px;border-radius:20px}.inv-tab .tab-lbl{display:none}.inv-tab{min-height:30px;padding:0 10px}.inv-tab[aria-selected=true] .tab-lbl{display:inline}.inv-tabs{margin-bottom:5px}.inv-item{width:58px;padding:3px}.inv-item img{width:50px;height:50px}.inv-name{display:none}.inv-row{position:relative}.launch{position:fixed;right:calc(var(--sar) + 60px);bottom:calc(var(--sab) + 6px);width:64px;height:64px;border-radius:22px;font-size:12px}.sim-bar{bottom:calc(var(--sab) + 8px);padding:5px}.sim-bar .ibtn.big{width:48px;height:48px}.coach{top:calc(var(--sat) + 60px);left:calc(var(--sal) + 10px);width:min(44vw,380px);padding:9px 12px;font-size:14px}.home-card{width:min(100%,640px);gap:10px}.logo h1{font-size:30px}.tagline{font-size:14px;margin-top:2px}.logo-marbles{display:none}.mode-card{min-height:96px;padding:10px 12px}.mode-ico{width:38px;height:38px;border-radius:12px}.mode-card b{font-size:17px}}@media(min-width:900px){.hud-bottom{left:50%;transform:translate(-50%);width:min(980px,calc(100vw - 40px))}}.cam-bar,.replay-bar,.explore-bar{pointer-events:auto;position:absolute;left:50%;transform:translate(-50%);background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow)}.cam-bar{width:max-content;bottom:calc(var(--sab) + 88px);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:5px;border-radius:26px;max-width:calc(100vw - 16px)}.is-replay .cam-bar{bottom:calc(var(--sab) + 186px)}.cam-modes{display:flex;gap:2px;background:#1d23400f;border-radius:999px;padding:2px}.cam-mode{display:inline-flex;align-items:center;gap:4px;min-height:38px;padding:0 10px;border:0;border-radius:999px;background:transparent;font-size:12.5px;font-weight:750;color:var(--ink-2);cursor:pointer}.cam-mode.on{background:var(--ink);color:#fff}.follow{display:inline-flex;align-items:center;gap:2px}.follow button{width:34px;height:38px;border:0;background:transparent;cursor:pointer;display:grid;place-items:center}.follow .flip{transform:scaleX(-1)}.follow-name{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:13px;white-space:nowrap}.follow-dot{width:14px;height:14px;border-radius:50%;background:#2f7fd8;box-shadow:inset -2px -2px 4px #00000040}.cam-bar .ibtn{width:40px;height:40px}.immerse{min-height:46px}.replay-bar{bottom:calc(var(--sab) + 10px);width:min(calc(100vw - 16px),620px);padding:10px 12px;border-radius:24px;display:flex;flex-direction:column;gap:6px}.rp-head{display:flex;justify-content:space-between;font-size:13px;letter-spacing:.03em;text-transform:uppercase}.rp-head b{color:var(--blue-2)}.rp-time{font-variant-numeric:tabular-nums;font-weight:800}.rp-caption{font-size:14px;font-weight:700;color:var(--ink-2);min-height:18px}.rp-range{width:100%;accent-color:var(--blue);height:28px}.rp-btns{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap}.rp-btns .btn{min-height:42px;padding:0 12px}.rp-btns .ibtn.big{width:50px;height:50px}.btn.show.on{background:#ffe8a3}.ride-info{pointer-events:none;position:absolute;top:calc(var(--sat) + 78px);left:calc(var(--sal) + 10px);display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;padding:10px 12px;border-radius:16px;background:#1d2340d1;color:#fff;font-size:12px;min-width:210px}.ride-info div{display:flex;flex-direction:column}.ride-info span{opacity:.75}.ride-info b{font-size:15px;font-variant-numeric:tabular-nums}.explore-bar{width:max-content;bottom:calc(var(--sab) + 14px);display:flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;border-radius:999px;font-weight:750;font-size:14px;max-width:calc(100vw - 16px)}.explore-bar>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fs-exit{display:none;pointer-events:auto;position:absolute;top:calc(var(--sat) + 10px);right:calc(var(--sar) + 10px);width:44px;height:44px;border:0;border-radius:50%;background:#1d23408c;color:#fff;cursor:pointer;place-items:center}.hud.immersive>:not(.fs-exit){display:none!important}.hud.immersive .fs-exit{display:grid}.hud.immersive.controls-shown>.cam-bar:not([hidden]),.hud.immersive.controls-shown>.replay-bar:not([hidden]),.hud.immersive.controls-shown>.sim-bar:not([hidden]){display:flex!important}@media(max-width:460px){.cam-mode .lbl{display:none}.cam-mode{padding:0 9px}.sim-bar>.btn.soft:first-child .lbl{display:none}.sim-bar>.btn.soft:first-child{width:46px;padding:0}.sim-bar{gap:5px;padding:6px}.sim-bar .immerse{padding:0 14px}.sim-bar .speed{min-width:48px;padding:0 10px}.is-sim:not(.is-replay) .cam-bar .fs-btn{display:none}.follow button{width:28px}}@media(orientation:landscape)and (max-height:520px){.cam-bar{bottom:auto;top:calc(var(--sat) + 6px);left:calc(var(--sal) + min(44vw,380px) + 20px);transform:none;max-width:calc(100vw - min(44vw,380px) - 90px)}.is-replay .cam-bar{bottom:auto}.replay-bar{padding:6px 10px;gap:2px}.rp-caption{display:none}.rp-range{height:22px}.rp-btns .btn{min-height:38px}.rp-btns .ibtn{width:38px;height:38px}.rp-btns .ibtn.big{width:44px;height:44px}.rp-btns .show .lbl,.rp-btns .btn.primary .lbl{display:none}.ride-info{top:calc(var(--sat) + 60px);padding:7px 10px}.cam-mode .lbl{display:none}.cam-mode{padding:0 8px;min-height:34px}.cam-bar .ibtn{width:36px;height:36px}.goal-chips,.is-sim .goal-chips{top:calc(var(--sat) + 60px)}.sim-info{top:calc(var(--sat) + 100px)}}.is-replay .cam-bar{bottom:auto;top:calc(var(--sat) + 74px)}.is-replay .ride-info{top:calc(var(--sat) + 140px)}.rp-btns .btn{padding:0 11px}@media(max-width:460px){.rp-btns .show .lbl,.rp-btns .btn.primary .lbl{display:none}.rp-btns .show{width:44px;padding:0}.rp-btns .ibtn{width:42px;height:42px}.rp-btns{gap:5px}.rp-btns .btn.primary{width:46px;padding:0}.is-replay .hud-rail{top:calc(var(--sat) + 128px)}}.screens{position:absolute;inset:0}.screen{pointer-events:auto;position:absolute;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch;opacity:0;transition:opacity .25s;padding:calc(var(--sat) + 14px) calc(var(--sar) + 14px) calc(var(--sab) + 24px) calc(var(--sal) + 14px)}.screen.in{opacity:1}.home{display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(180deg,#dde8f600 30%,#dde8f6a6 62%,#dde8f6eb)}.home-card{width:min(100%,480px);display:flex;flex-direction:column;gap:14px}.logo{text-align:center;margin-bottom:4px}.logo h1{margin:6px 0 2px;font-size:clamp(30px,8.5vw,42px);line-height:1;font-weight:900;letter-spacing:-.02em;background:linear-gradient(90deg,#2a55d6,#7b4df0 55%,#ff5d7a);-webkit-background-clip:text;background-clip:text;color:transparent}.tagline{margin:6px 0 0;font-weight:700;color:var(--ink-2);font-size:16px}.logo-marbles{display:inline-flex;gap:6px}.logo-marbles i{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 18%,#e23e57 40%,#8e1026);box-shadow:0 3px 6px #0003;animation:bounce 1.6s ease-in-out infinite}.logo-marbles i:nth-child(2){background:radial-gradient(circle at 35% 30%,#fff 0 18%,#3b6ff5 40%,#12308c);animation-delay:.2s}.logo-marbles i:nth-child(3){background:radial-gradient(circle at 35% 30%,#fff 0 18%,#f5b82e 40%,#9c6400);animation-delay:.4s}@keyframes bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-7px)}}.continue{width:100%;justify-content:flex-start;padding:0 20px}.continue small{margin-left:auto;opacity:.85;font-weight:600;font-size:13px}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode-card{position:relative;text-align:left;border:0;border-radius:22px;padding:16px 14px 14px;min-height:150px;display:flex;flex-direction:column;gap:4px;cursor:pointer;color:#fff;box-shadow:var(--shadow);transition:transform .12s;overflow:hidden}.mode-card:active{transform:scale(.97)}.mode-card.challenge{background:linear-gradient(150deg,#5b8cff,#2a55d6)}.mode-card.free{background:linear-gradient(150deg,#ffae5c,#ff5d7a)}.mode-card b{font-size:20px;font-weight:850;margin-top:auto}.mode-card small{font-size:13px;font-weight:600;opacity:.92;line-height:1.25}.mode-ico{width:48px;height:48px;border-radius:16px;background:#ffffff38;display:grid;place-items:center}.mode-stars{position:absolute;top:14px;right:12px;display:inline-flex;gap:4px;align-items:center;font-weight:800;font-size:13px;background:#0000002e;padding:4px 9px;border-radius:999px;color:#ffe38a}.home-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.home-row .btn{flex:1;min-width:0;padding:0 8px;gap:5px;font-size:14px}.home-foot{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink-3);font-weight:650;padding:0 6px}.list-screen{background:linear-gradient(180deg,#e8effaf7,#f6f1e9f7)}.screen-head{position:sticky;top:calc(-1 * var(--sat) - 14px);z-index:2;display:flex;align-items:center;gap:10px;margin:0 -4px 12px;padding:6px 4px;background:inherit}.screen-head h2{margin:0;flex:1;font-size:24px;font-weight:900}.head-stars{display:inline-flex;gap:5px;align-items:center;font-weight:800;color:#c98a00}.head-acts{display:flex;gap:8px}@media(max-width:600px){.screen-head{flex-wrap:wrap}.screen-head h2{font-size:22px}.head-acts{width:100%}.head-acts .btn{flex:1}}.chapters{display:flex;flex-direction:column;gap:18px;max-width:900px;margin:0 auto}.chapter h3{margin:0 0 10px;font-size:17px;display:flex;gap:8px;align-items:baseline}.ch-num{font-size:12px;font-weight:800;color:var(--blue-2);text-transform:uppercase;letter-spacing:.05em}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.level-tile{position:relative;border:0;border-radius:18px;padding:12px;min-height:104px;background:#fff;box-shadow:var(--shadow);text-align:left;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:transform .12s}.level-tile:active{transform:scale(.97)}.level-tile.done{background:linear-gradient(160deg,#fff,#eef9f1)}.level-tile.locked{opacity:.55;cursor:default}.tile-num{font-size:26px;font-weight:900;color:var(--blue-2);line-height:1}.tile-name{font-weight:700;font-size:14px;line-height:1.2}.tile-stars{margin-top:auto;display:flex;gap:2px;color:#d6dbe8}.tile-stars .on{color:#f5b82e}.tile-lock{margin-top:auto;color:var(--ink-3)}.hint{color:var(--ink-2);font-size:13.5px;line-height:1.4}.projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;max-width:1000px;margin:0 auto}.project{background:#fff;border-radius:20px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}.project-open{border:0;background:none;text-align:left;cursor:pointer;display:flex;gap:12px;align-items:center;padding:10px}.thumb{width:108px;height:72px;flex:none;border-radius:12px;overflow:hidden;background:#e9eef8;display:grid;place-items:center;color:var(--ink-3)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.project-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.project-meta b{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-meta small{color:var(--ink-2);font-size:12.5px}.project-acts{display:flex;gap:6px;padding:0 10px 10px;justify-content:flex-end}.project-acts .ibtn{width:40px;height:40px}.empty{grid-column:1 / -1;text-align:center;color:var(--ink-3);padding:40px 10px}#modals{position:fixed;inset:0;z-index:20;pointer-events:none}.modal-back{pointer-events:auto;position:absolute;inset:0;background:#141a3200;display:flex;align-items:center;justify-content:center;padding:calc(var(--sat) + 12px) 12px calc(var(--sab) + 12px);transition:background .18s}.modal-back.in{background:#141a3261}.modal-card{width:min(100%,440px);max-height:100%;display:flex;flex-direction:column;border-radius:24px;background:#fff;box-shadow:0 24px 60px #0000004d;transform:translateY(16px) scale(.98);opacity:0;transition:transform .18s,opacity .18s;overflow:hidden}.modal-card.wide{width:min(100%,720px)}.modal-back.in .modal-card{transform:none;opacity:1}.modal-head{display:flex;align-items:center;gap:8px;padding:14px 10px 6px 20px}.modal-head h2{flex:1;margin:0;font-size:19px;font-weight:850}.modal-body{padding:4px 20px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch;font-size:15px;line-height:1.45}.modal-body p{margin:6px 0}.modal-actions{display:flex;gap:10px;padding:12px 16px 14px;border-top:1px solid var(--line);flex-wrap:wrap}.modal-actions .btn{flex:1}@media(max-width:600px){.modal-back:has(.sheet){align-items:flex-end;padding:0}.modal-card.sheet{width:100%;max-height:88%;border-radius:24px 24px 0 0;padding-bottom:var(--sab);transform:translateY(40px)}}.form{display:flex;flex-direction:column;gap:4px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.row-l{display:flex;flex-direction:column;min-width:0;flex:1 1 140px}.row-l span{font-weight:700}.row-l small{color:var(--ink-3);font-size:12.5px;line-height:1.3}.seg{display:inline-flex;background:#eef1f8;border-radius:999px;padding:3px;gap:2px;flex-wrap:wrap}.seg button{border:0;background:transparent;border-radius:999px;min-height:36px;padding:0 12px;font-weight:700;font-size:13.5px;cursor:pointer;color:var(--ink-2)}.seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px #00000024}.chan{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;font-size:12px;font-weight:850}.switch{position:relative;width:52px;height:32px;border:0;border-radius:999px;background:#d4d9e6;cursor:pointer;transition:background .15s;flex:none}.switch i{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .15s}.switch.on{background:var(--green)}.switch.on i{transform:translate(20px)}.stepper{display:inline-flex;align-items:center;background:#eef1f8;border-radius:999px}.stepper button{width:40px;height:38px;border:0;background:none;font-size:20px;font-weight:800;cursor:pointer}.step-val{min-width:56px;text-align:center;font-weight:800}.swatches{display:flex;flex-wrap:wrap;gap:8px}.sw{width:32px;height:32px;border-radius:50%;border:0;cursor:pointer;box-shadow:inset 0 0 0 2px #00000014}.sw.on{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ink)}.sw.none{background:repeating-linear-gradient(45deg,#fff 0 5px,#e3e7f0 5px 10px)}.field{width:100%;min-height:46px;border:0;border-radius:14px;background:#eef1f8;padding:0 14px;font:inherit;font-size:16px;color:var(--ink)}.stack{display:flex;flex-direction:column;gap:6px;font-weight:700}.menu-list{display:flex;flex-direction:column;gap:6px}.menu-item{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 14px;border:0;border-radius:16px;background:#f2f4fa;font-weight:700;font-size:16px;cursor:pointer;text-align:left}.menu-item:active{background:#e6eaf5}.intro .objective{font-size:17px;font-weight:700}.intro h4{margin:12px 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3)}.inv-summary{display:flex;flex-wrap:wrap;gap:6px}.inv-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 3px;border-radius:999px;background:#eef1f8;font-weight:700;font-size:13.5px}.inv-chip img{width:30px;height:30px;border-radius:50%}.star-goals{display:flex;flex-direction:column;gap:4px;margin-top:12px;font-size:13.5px;color:var(--ink-2)}.star-goals span{display:flex;align-items:center;gap:2px}.star-goals .ico{color:#f5b82e}.result{text-align:center}.result .big{font-size:22px;font-weight:900;margin:6px 0}.result-stars{display:flex;justify-content:center;gap:6px;color:#dfe3ee;margin:6px 0}.result-stars .on{color:#f5b82e;animation:starIn .45s both cubic-bezier(.3,1.6,.5,1)}@keyframes starIn{0%{transform:scale(.2) rotate(-40deg);opacity:0}}.help h3{margin:16px 0 6px;font-size:15px}.help-list{margin:0;padding-left:18px}.help-list li{margin:4px 0}.st-ok{color:var(--green)}.st-warn{color:var(--amber)}.st-bad{color:var(--red)}.help-pieces{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.help-piece{display:flex;gap:10px;align-items:flex-start}.help-piece img{width:56px;height:56px;border-radius:12px;flex:none}.help-piece p{margin:2px 0 0;font-size:13.5px;color:var(--ink-2)}.piece-info{display:flex;gap:14px;align-items:flex-start}.piece-info img{width:96px;height:96px;border-radius:16px}#boot{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:linear-gradient(180deg,#cfe0f7,#f6efe4);transition:opacity .35s}#boot.done{opacity:0;pointer-events:none}#boot .spin{width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 16%,#3b6ff5 40%,#12308c);animation:roll 1.1s linear infinite;box-shadow:0 8px 18px #0003}#boot p{font-weight:800;color:var(--ink-2);text-align:center;margin-top:14px}@keyframes roll{0%{transform:translate(-40px) rotate(0)}50%{transform:translate(40px) rotate(360deg)}to{transform:translate(-40px) rotate(720deg)}}.fatal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:#f3f5fb;text-align:center}.fatal div{max-width:420px}.fatal h1{font-size:22px}.fatal p{color:var(--ink-2);line-height:1.5}
