:root{color-scheme:dark;--bg:#10111b;--panel:#1b1d2b;--line:#34364b;--text:#f5f6fc;--muted:#a9adc5;--pink:#ff428e;--cyan:#63f2e0;--gold:#ffdc7b;--safe-top:0px;--safe-bottom:0px;font-family:Inter,Arial,sans-serif;color:var(--text);background:#090b13;font-size:16px;letter-spacing:0}
*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a,input{outline-offset:4px}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--cyan)}[hidden]{display:none!important}img{display:block;max-width:100%}button img{width:23px;height:23px;object-fit:contain;flex-shrink:0}button{border:0}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}h2{font-size:27px;line-height:1.12}small{font-size:12px;color:var(--muted)}.game-shell{max-width:680px;margin:auto;background:var(--bg);min-height:100dvh;padding-top:var(--safe-top);padding-bottom:max(12px,var(--safe-bottom),env(safe-area-inset-bottom))}.topbar{height:66px;display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid #ffffff12}.wordmark{font-size:16px;font-weight:800;flex:1}.wordmark span{font-size:9px;color:var(--cyan);display:block;margin-top:2px}.top-actions{display:flex;gap:6px}.icon{width:40px;height:40px;display:grid;place-items:center;border-radius:8px;background:transparent;border:1px solid var(--line)}.icon:hover{background:#ffffff12}.icon img{width:22px;height:22px}.screen{animation:enter .18s ease-out}.eyebrow{font-size:10px;font-weight:800;color:var(--cyan)}.home-stage{position:relative;min-height:550px;overflow:hidden;background:#111620}.home-scene{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;top:45px}.home-stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#10111b 0%,transparent 35%,transparent 62%,#10111b 92%)}.home-copy{position:relative;z-index:1;padding:28px 24px 0}.home-copy h1{font-size:60px;font-weight:900;line-height:.92;margin:10px 0 12px;font-style:italic;max-width:300px;text-shadow:3px 4px 0 #0006}.home-copy h1 strong{display:block;color:var(--pink);font-weight:900}.home-copy p{font-size:14px;color:#e3e5f3}.car-tag{position:absolute;right:20px;top:205px;z-index:1;font-size:11px;font-weight:800;background:#10111bdd;border:1px solid #63f2e063;padding:9px 10px;display:flex;align-items:center;gap:7px;border-radius:4px}.car-tag span:last-child{color:var(--muted);border-left:1px solid var(--line);padding-left:7px}.live-dot{display:inline-block;width:6px;height:6px;background:var(--cyan);border-radius:50%}.home-bottom{position:absolute;z-index:1;bottom:16px;left:20px;right:20px}.task-line{display:flex;align-items:center;justify-content:space-between;margin:0 auto 18px;max-width:460px;gap:5px;font-size:12px}.task-line span{display:flex;align-items:center;gap:5px}.task-line img{width:18px;height:18px}.task-line i{font-style:normal;color:var(--muted)}.primary,.secondary{min-height:48px;padding:12px 18px;border-radius:6px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center}.primary{background:var(--pink);color:#12111d;box-shadow:0 4px 0 #0004}.primary:hover{filter:brightness(1.1)}.secondary{background:#202334;border:1px solid #4e526c;color:var(--text)}.play-button{width:100%;font-size:19px;min-height:60px}.play-button b{font-size:12px;margin-left:auto;border-left:1px solid #0004;padding-left:12px;white-space:nowrap}.play-button span{flex:1}.home-meta{display:grid;grid-template-columns:1.1fr 1.4fr .8fr;gap:8px;border-block:1px solid var(--line);margin:0 20px;padding:16px 0}.home-meta div{display:flex;flex-direction:column;gap:6px;min-width:0}.home-meta span{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.home-meta b{font-size:15px}.home-meta div:last-child b{color:var(--gold)}.account-note{font-size:12px;color:var(--muted);line-height:1.5;margin:12px 20px}.account-note a{color:var(--cyan);text-decoration:underline}.home-options{margin:16px 20px;display:grid;grid-template-columns:1.25fr 1fr;gap:10px}.home-options button{display:flex;align-items:center;gap:9px;min-width:0;text-align:left;border:1px solid var(--line);background:#202233;border-radius:8px;padding:14px 10px}.home-options button>img:last-child:not(:first-child){width:16px}.home-options span{display:flex;flex-direction:column;gap:5px;flex:1}.home-options b{font-size:13px}.home-options small{font-size:10px}.home-options .daily-button{border-color:#63f2e04d;background:#172b30}.bottom-nav{display:flex;margin:20px 20px 0;border-top:1px solid var(--line);padding:12px 0 4px;gap:8px}.bottom-nav button{flex:1;background:transparent;display:flex;flex-direction:column;gap:7px;align-items:center;font-size:11px;color:var(--muted);min-height:52px}.bottom-nav .selected{color:var(--cyan)}.challenge-banner{margin:20px;padding:16px 0;border-block:1px solid var(--cyan);display:grid;gap:12px;font-size:14px}.game-heading{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.game-heading h2{font-size:27px;margin-top:5px}.timer{display:flex;align-items:baseline;gap:5px;white-space:nowrap;font-variant-numeric:tabular-nums}.timer img{width:20px;height:20px;align-self:center}.timer b{font-size:30px;width:72px;text-align:right}.timer small{color:var(--cyan)}.timer.urgent{color:var(--pink)}.stage-tabs{display:flex;padding:0 20px 16px;gap:8px}.stage-tabs span{flex:1;font-size:11px;text-align:center;color:var(--muted);border-bottom:3px solid var(--line);padding-bottom:8px}.stage-tabs .active{border-color:var(--pink);color:#fff}.stage-tabs .done{border-color:var(--cyan);color:var(--cyan)}.canvas-stage{position:relative;border-block:1px solid var(--line);background:#10151e;overflow:hidden}.canvas-stage canvas{display:block;width:100%;height:auto;aspect-ratio:1.28;touch-action:none;user-select:none}.countdown{position:absolute;inset:0;display:grid;place-items:center;background:#080b1770;font-size:90px;font-weight:900;color:var(--cyan);pointer-events:none}.stage-flash{position:absolute;top:12px;left:50%;transform:translateX(-50%);background:#10111be6;color:var(--cyan);padding:9px 18px;border:1px solid #63f2e080;font-weight:800;border-radius:4px;opacity:0;pointer-events:none;white-space:nowrap}.stage-flash.show{animation:flash 1s ease both}.work-progress{display:grid;grid-template-columns:1fr auto;gap:10px;padding:18px 20px;font-size:13px}.work-progress b{color:var(--cyan);font-variant-numeric:tabular-nums}progress{width:100%;height:8px;grid-column:1/-1;appearance:none;border:0;border-radius:5px;overflow:hidden;background:#303346}progress::-webkit-progress-bar{background:#303346}progress::-webkit-progress-value{background:var(--cyan)}progress::-moz-progress-bar{background:var(--cyan)}.tool-tray{display:flex;align-items:center;gap:14px;padding:12px 20px;border-block:1px solid var(--line);background:#191c29;min-height:82px}.tool-tray>img{width:85px;height:54px;object-fit:contain}.tool-tray>div{flex:1;min-width:0}.tool-tray b{font-size:13px;display:block;margin-top:5px}.tool-pulse{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--cyan)}.game-note{color:var(--muted);font-size:12px;text-align:center;padding:15px 20px;line-height:1.5}.result-heading{text-align:center;padding:24px 20px 16px}.result-heading h2{margin:8px 0;color:var(--gold);font-size:26px}.score{display:flex;gap:8px;justify-content:center;align-items:baseline}.score b{font-size:70px;line-height:1;font-variant-numeric:tabular-nums}.score span{color:var(--muted);font-size:16px}.comparison{position:relative;aspect-ratio:1.55;overflow:hidden;border-block:1px solid var(--line)}.comparison>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%}#before-image{clip-path:inset(0 50% 0 0)}#compare-line{position:absolute;top:0;bottom:0;left:50%;border-left:2px solid var(--cyan);pointer-events:none}#compare-line:after{content:"‹ ›";position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--cyan);background:#10111bdd;border-radius:50%;font-size:18px}.comparison>span{position:absolute;top:12px;font-size:10px;background:#10111bdd;padding:5px 8px;border:1px solid var(--line)}.before-label{left:12px}.after-label{right:12px}.comparison input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;touch-action:pan-y}.scores{display:grid;grid-template-columns:repeat(4,1fr);padding:18px 20px;gap:8px;border-bottom:1px solid var(--line)}.scores>div{display:grid;gap:6px;text-align:center}.scores span{font-size:11px;color:var(--muted)}.scores b{font-size:16px}.reward{text-align:center;color:var(--gold);padding:16px 20px;font-weight:700;font-size:14px;line-height:1.5}.result-actions{display:grid;gap:10px;margin:0 20px 20px}.text-button{color:var(--muted);background:transparent;min-height:44px;padding:12px;font-size:13px}.pane{padding:26px 20px}.pane h2{margin:7px 0 24px}.pane .account-note{margin:12px 0}.segments{display:flex;background:#1a1c2a;border:1px solid var(--line);border-radius:6px;overflow:hidden}.segments button{flex:1;padding:12px 5px;background:transparent;font-size:12px;min-height:44px}.segments [aria-pressed=true]{background:var(--pink);color:#10111b;font-weight:800}#ranking-list{list-style:none;margin:18px 0;padding:0}#ranking-list li{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:15px 8px;border-bottom:1px solid var(--line);font-size:14px}#ranking-list li.me{background:#63f2e014}#ranking-list small{display:block;margin-top:4px}#ranking-list b{color:var(--gold)}.studio-scene{width:100%;aspect-ratio:1.6;object-fit:cover;border:1px solid var(--line);border-radius:6px}#studio-items{display:grid;gap:12px;margin:20px 0}.studio-item{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.studio-item .swatch{width:36px;height:36px;border-radius:50%;border:4px solid #ffffff40;flex-shrink:0}.studio-item>div{flex:1}.studio-item b{font-size:14px;display:block}.studio-item small{display:block;margin-top:5px}.studio-item button{font-size:12px;padding:10px;min-height:44px}.field{display:grid;gap:8px;font-size:13px;margin:20px 0}.field input,.share-actions input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:5px;background:#191c29;color:var(--text);padding:12px}.check{display:flex;gap:10px;align-items:center;font-size:13px;margin:20px 0}.check input{width:20px;height:20px;accent-color:var(--pink)}.profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px 0;border-block:1px solid var(--line)}.profile-stats>div{display:grid;gap:6px}.profile-stats b{font-size:24px;color:var(--cyan)}.profile-stats span{font-size:12px;color:var(--muted)}#save-profile{width:100%}.share-actions{padding:20px;display:grid;gap:12px;border-top:1px solid var(--line)}.share-actions label{font-size:12px;display:grid;gap:7px}#notice{position:fixed;z-index:20;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(90%,580px);padding:15px 18px;background:#303449;border:1px solid #6f789b;border-radius:8px;box-shadow:0 8px 32px #0006;font-size:14px;line-height:1.4}dialog{max-width:calc(100% - 32px);width:400px;border:1px solid var(--line);border-radius:8px;padding:24px;background:#191c29;color:var(--text)}dialog::backdrop{background:#050711bb}dialog h2{font-size:22px}dialog p{color:var(--muted);font-size:14px;line-height:1.5;margin:15px 0 20px}.dialog-actions{display:flex;gap:10px}.dialog-actions button{flex:1;font-size:13px}.loading{position:fixed;inset:0;z-index:15;background:#10111bf7;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;gap:18px}.loading h2{font-size:24px}.loading p{font-size:13px;color:var(--muted)}.loader-ring{width:48px;height:48px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--cyan);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes flash{0%,100%{opacity:0}15%,80%{opacity:1}}@media(min-width:700px){.game-shell{border-inline:1px solid var(--line)}.home-stage{min-height:625px}.home-scene{top:15px}.home-copy{padding:32px}.home-copy h1{font-size:72px}.home-bottom{left:30px;right:30px}.car-tag{top:240px}.game-heading{padding-top:26px}}@media(max-width:359px){.home-stage{min-height:480px}.home-copy{padding:24px 18px 0}.home-copy h1{font-size:52px}.home-bottom{left:14px;right:14px}.task-line{font-size:10px}.task-line img{width:15px}.home-options{margin-inline:14px;gap:7px}.home-options button{gap:6px;padding:12px 8px}.home-options b{font-size:12px}.home-options button>img{width:19px}.home-meta{margin-inline:14px}.play-button{font-size:17px}.car-tag{top:190px}.game-heading h2{font-size:24px}.work-progress{font-size:12px}.tool-tray{gap:8px}.tool-tray>img{width:70px}.tool-tray b{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}.stage-flash.show{opacity:1}}
:root .home-stage{min-height:min(700px,calc(100vw + 160px))}
:root .home-scene{top:135px;height:auto;object-fit:contain}
.mentor{display:flex;gap:12px;align-items:center;padding:16px 20px 0}.mentor img{width:42px;height:38px;object-fit:cover;flex-shrink:0;border-radius:6px}.mentor p{font-size:12px;color:var(--muted);line-height:1.5}
.comparison.reveal:after{content:"";position:absolute;inset:-30%;background:linear-gradient(110deg,transparent 42%,#ccfaff3b 48%,#fff6 50%,transparent 57%);pointer-events:none;animation:reveal-sweep 1.2s ease-out both}
@keyframes reveal-sweep{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@media(min-width:700px){:root .home-stage{min-height:625px}:root .home-scene{top:95px;height:500px}}
@media(prefers-reduced-motion:reduce){.comparison.reveal:after{display:none}}
.icon{width:44px;height:44px}.duel{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;text-align:center;margin:24px 0}.duel div{display:grid;gap:10px;min-width:0}.duel span{font-size:14px;overflow-wrap:anywhere}.duel b{font-size:54px;color:var(--gold)}.duel i{font-size:18px;color:var(--pink);font-weight:900}.duel div:last-child b{color:var(--cyan)}#accept{width:100%}.result-heading:has(+ .reveal) .score b{animation:score-pop .4s ease-out}@keyframes score-pop{0%{transform:scale(.9)}70%{transform:scale(1.05)}100%{transform:scale(1)}}
