*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{color:#e9f6ff;-webkit-user-select:none;user-select:none;overscroll-behavior:none;background:#04010d;margin:0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}body{visibility:visible}html.racing,html.racing body{overflow:hidden}body>:where(:not(#about)){touch-action:none}#about{z-index:15;margin-top:100vh;-webkit-user-select:text;user-select:text;touch-action:pan-y;background:#04010d;border-top:1px solid #39e6ff40;margin-top:100dvh;padding:32px 16px 48px;font:16px/1.65 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;position:relative}#about>*{max-width:680px;margin-inline-start:auto;margin-inline-end:auto}#about h1{text-shadow:0 0 18px #39e6ff73;font:700 max(24px,min(5vw,34px))/1.2 ui-monospace,SF Mono,Menlo,monospace}#about h2{color:#39e6ff;margin-top:1.6em;font:700 19px/1.3 ui-monospace,SF Mono,Menlo,monospace}#about .lead{color:#cfe3f3;font-size:18px}#about a{color:#39e6ff}#about .play{color:#e9f6ff;border:2px solid #ff5ad9;border-radius:10px;padding:10px 20px;font:700 15px ui-monospace,SF Mono,Menlo,monospace;text-decoration:none;display:inline-block}#about kbd{background:#0b0f22;border:1px solid #1d2340;border-bottom-width:2px;border-radius:5px;padding:1px 6px;font:13px ui-monospace,Menlo,monospace}[hidden]{display:none!important}#game{width:100%;height:100%;display:block;position:fixed;top:0;bottom:0;left:0;right:0}#hud{top:calc(env(safe-area-inset-top,0px) + 12px);pointer-events:none;text-shadow:0 0 8px #39e6ff99;position:fixed;left:16px}#time{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:34px;font-weight:700}#best{opacity:.7;margin-top:2px;font-size:12px}#debug{opacity:.6;margin-top:6px;font-size:11px}#buttons{top:calc(env(safe-area-inset-top,0px) + 12px);gap:8px;display:flex;position:fixed;right:16px}#buttons button{font:inherit;color:#e9f6ff;background:#140a2899;border:1px solid #39e6ff66;border-radius:8px;min-height:32px;padding:6px 10px;font-size:12px}#overlay{text-align:center;pointer-events:none;background:#080314b8;border:1px solid #ff5ad980;border-radius:14px;width:min(88vw,360px);padding:20px 16px;line-height:1.5;position:fixed;top:30%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 30px #ff5ad940}#overlay .big{letter-spacing:.04em;color:#fff;text-shadow:0 0 14px #ff5ad9;font-size:40px;font-weight:800}#overlay .dim{opacity:.6;font-size:12px}#overlay .site-links{flex-wrap:wrap;justify-content:center;gap:0 12px;margin-top:14px;font-size:12px;display:flex}#overlay .site-links a{color:inherit;pointer-events:auto}#overlay .help{margin-top:10px;font-size:13px}#overlay kbd{min-width:1.6em;font:inherit;border:1px solid #e9f6ff59;border-bottom-width:2px;border-radius:5px;margin:0 1px;padding:0 5px;font-size:12px;line-height:1.5;display:inline-block}#overlay .squares{letter-spacing:2px;margin:6px 0;font-size:22px}#buttons #mode{color:#e9f6ff8c;border-color:#39e6ff2e}#buttons #mode[data-mode=easy],#overlay .mode-note[data-mode=easy]{color:#b6ff3b;border-color:#b6ff3b99}#buttons #mode[data-mode=hard],#overlay .mode-note[data-mode=hard]{color:#ff5ad9;border-color:#ff5ad999}#overlay .mode-note[data-mode=endless]{color:#ffd23f;border-color:#ffd23f99}#overlay .mode-note{letter-spacing:.04em;margin:6px 0;font-size:12px}#overlay .friend{color:#ffd9a0;border:1px solid #ffb13d80;border-radius:8px;margin:10px 0;padding:8px}#overlay .friend>div{margin:2px 0}#overlay .friend-dot{vertical-align:1px;background:var(--c);width:8px;height:8px;box-shadow:0 0 6px var(--c);border-radius:50%;margin-right:6px;display:inline-block}#overlay .ahead,#split.ahead{color:#44ff9a}#overlay .behind,#split.behind{color:#ff6b6b}#overlay button{pointer-events:auto;font:inherit;color:#04010d;background:#39e6ff;border:0;border-radius:10px;width:100%;margin-top:14px;padding:12px 16px;font-size:15px;font-weight:700;box-shadow:0 0 18px #39e6ff80}#overlay button.secondary{color:#e9f6ff;box-shadow:none;background:#140a2899;border:1px solid #39e6ff80;margin-top:8px}#overlay button:not(.secondary) .pro-tag{background:#04010d}#overlay .revive-end{gap:8px;display:flex}#overlay button.share-icon{vertical-align:-3px;color:#39e6ff;width:auto;box-shadow:none;background:0 0;border-radius:6px;margin:-7px -3px -7px 0;padding:7px;display:inline-flex}#overlay .title{flex-direction:column;align-items:center;gap:2px;margin:0;display:flex}#overlay .title .wordmark{width:min(100%,250px);height:auto;display:block}#overlay .title span{letter-spacing:.04em;color:#fff;text-shadow:0 0 14px #ff5ad9;font-size:26px;font-weight:800}#overlay .title.small .wordmark{width:min(100%,150px)}#overlay .title.small span{font-size:17px}#overlay .countdown{font-variant-numeric:tabular-nums;margin-top:10px}.pad-btn{pointer-events:none;color:#ffc4f0;letter-spacing:.08em;background:#28082859;border:2px solid #ff5ad9d9;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:9px;font-weight:700;transition:transform 60ms,background 60ms;display:flex;position:fixed;box-shadow:0 0 16px #ff5ad973,inset 0 0 12px #ff5ad940}.pad-btn svg{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;width:46%;height:46%}.pad-btn.down{background:#ff5ad959;transform:scale(.92)}#zones{pointer-events:none;opacity:0;transition:opacity .4s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}#zones.show{opacity:1}#zones.flash{animation:.45s ease-in-out 4 zone-flash}#zones>div{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 12vh);color:#bff6ff;text-align:center;text-shadow:0 0 8px #000;background:#39e6ff12;border:2px dashed #39e6ff73;flex:1;justify-content:center;align-items:flex-end;font-size:13px;line-height:1.5;display:flex}#zones>div.jump{color:#ffc4f0;background:#ff5ad914;border-color:#ff5ad98c}@keyframes zone-flash{0%,to{opacity:.15}50%{opacity:1}}#split{font-variant-numeric:tabular-nums;text-shadow:0 0 12px;pointer-events:none;font-size:28px;font-weight:800;position:fixed;top:22%;left:50%;transform:translate(-50%)}#overlay .cta-pill{color:#04010d;letter-spacing:.02em;background:#39e6ff;border-radius:999px;margin:14px auto 0;padding:11px 16px;font-size:15px;font-weight:800;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 10px #39e6ff59}50%{box-shadow:0 0 26px #39e6ffcc}}#overlay .endless-link{pointer-events:auto;color:#e9f6ff;text-align:left;background:#ffd23f0f;border:1px solid #ffd23f66;border-radius:10px;align-items:center;gap:10px;margin-top:12px;padding:8px 12px;font-size:13px;line-height:1.35;text-decoration:none;display:flex}#overlay .endless-link>span:nth-child(2){flex:1}#overlay .endless-link .pro-tag{vertical-align:2px}#overlay .endless-link small{opacity:.6;font-size:11px;display:block}#overlay .endless-link .inf{text-align:center;color:#ffd23f;text-shadow:0 0 10px #ffd23f99;flex:none;width:24px;font-size:24px}#overlay .endless-link .go{color:#ffd23f;font-size:20px}#overlay .mode-links{flex-direction:column;gap:8px;margin-top:12px;display:flex}#overlay .mode-links .endless-link{margin-top:0}#overlay .endless-link.play-row{pointer-events:none;background:#39e6ff1a;border-color:#39e6ff;flex-wrap:wrap;padding:10px 12px 12px;animation:1.6s ease-in-out infinite pulse}#overlay .play-row .cta-pill{text-align:center;flex-basis:100%;margin:4px 0 0;animation:none}#overlay .play-row .share-icon{pointer-events:auto}#overlay .endless-link .day{color:#04010d;background:#39e6ff;border-radius:6px;flex:none;place-items:center;width:24px;height:24px;font-size:12px;font-weight:800;display:grid;box-shadow:0 0 12px #39e6ff99}#overlay .day-link{background:#39e6ff0f;border-color:#39e6ff73}#overlay .day-link .go{color:#39e6ff}#overlay button.endless-link{width:100%;font:inherit;cursor:pointer;background:#e9f6ff0d;border-color:#e9f6ff4d;font-size:13px}#overlay .endless-link .lb{text-align:center;color:#e9f6ff;flex:none;width:24px;font-size:20px;font-weight:800}#overlay .board-link .go{color:#e9f6ff}#overlay .camp-link{background:#ff5ad914;border-color:#ff5ad980}#overlay .camp-link .sun{background:radial-gradient(circle,#fff6c8,#ffd23f 50%,#ff8c2880 75%,#0000 77%);border-radius:50%;flex:none;width:24px;height:24px;box-shadow:0 0 14px #ffbe3c73}#overlay .camp-link .go{color:#ff5ad9}#overlay .camp-link .camp-at{opacity:1;color:#ffe58ad9}#overlay .camp-link .camp-at b{color:#ffd23f}#overlay .login-card+.camp-link{margin-top:10px}#overlay .back-link{pointer-events:auto;color:#e9f6ffb3;margin-top:10px;font-size:12px;display:inline-block}#overlay button.link-btn{color:#39e6ff;width:auto;box-shadow:none;text-underline-offset:3px;background:0 0;margin-top:8px;padding:4px 8px;font-size:13px;font-weight:700;text-decoration:underline}#overlay .quota{color:#ffd23f;margin-top:6px;font-size:12px}#overlay .cta-link.secondary{color:#e9f6ff;box-shadow:none;background:#140a2899;border:1px solid #39e6ff80}#overlay .card-foot{border-top:1px solid #e9f6ff1a;margin-top:14px;padding-top:8px}#overlay .card-foot .countdown,#overlay .card-foot .site-links{margin-top:0;font-size:11px}#overlay .cta{color:#39e6ff;margin-top:14px;animation:1.2s ease-in-out infinite blink}@keyframes blink{50%{opacity:.35}}#menu{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);touch-action:pan-y;-webkit-user-select:none;user-select:none;background:#04010df0;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@media (min-width:700px){#menu{border:1px solid #39e6ff59;border-radius:16px;width:640px;top:5vh;bottom:5vh;left:50%;right:auto;transform:translate(-50%);box-shadow:0 0 40px #39e6ff26}}.menu-head{border-bottom:1px solid #39e6ff33;flex-direction:column;gap:10px;padding:10px 16px 12px;display:flex}.menu-top{justify-content:space-between;align-items:center;display:flex}.menu-logo{filter:drop-shadow(0 0 8px #2cf2ff59);width:auto;height:30px}.menu-tabs{gap:6px;display:flex}.menu-tabs button{flex:1}.view-title{text-transform:uppercase;letter-spacing:-.01em;background:linear-gradient(#9ffcff,#2cf2ff 45%,#00c8f0);color:#0000;filter:drop-shadow(0 0 6px #2cf2ff73);-webkit-background-clip:text;background-clip:text;margin:2px 0 0;font:italic 900 26px/1.1 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.menu-head button{font:inherit;color:#bff6ff;background:0 0;border:1px solid #39e6ff59;border-radius:8px;min-height:36px;padding:8px 14px;font-size:14px}.menu-head .menu-tabs button.on{color:#04010d;background:#39e6ff;font-weight:700}.menu-body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:10px;padding:12px 16px 24px;display:flex;overflow-y:auto}.menu-foot{border-top:1px solid #39e6ff33;flex-wrap:wrap;justify-content:center;gap:2px 12px;padding:8px 16px 10px;font-size:11px;display:flex}.menu-foot a{color:#bff6ff;opacity:.6}.track-card{color:#e9f6ff;background:#0d1b338c;border:1px solid #39e6ff2e;border-radius:12px;padding:10px 12px 12px;text-decoration:none;display:block}.track-card.track-today{border-color:#ff5ad9b3;padding:12px 14px 14px;box-shadow:0 0 18px #ff5ad938}.track-today .track-title{font-size:20px}.track-kicker{letter-spacing:.14em;text-transform:uppercase;color:#ff5ad9;margin-bottom:2px;font-size:11px;font-weight:800}.track-card.current{border-color:#39e6ff;box-shadow:0 0 14px #39e6ff4d}.track-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;column-gap:8px;display:flex}.track-title{white-space:nowrap;font-size:15px;font-weight:800}.track-times{white-space:nowrap;opacity:.8;font-variant-numeric:tabular-nums;font-size:12px}.track-sub{opacity:.55;margin:2px 0 8px;font-size:11px}.track-strip{width:100%;height:48px;display:block}.track-go{text-align:right;color:#39e6ff;margin-top:10px;font-size:13px;font-weight:800;display:block}.track-today .track-go{color:#ff5ad9}.track-endless{color:#e9f6ff;background:linear-gradient(100deg,#ffd23f1a,#0d1b338c 60%);border:1px solid #ffd23f73;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px 12px;margin-bottom:10px;padding:12px 14px;text-decoration:none;display:grid}.track-endless.current{border-color:#ffd23f;box-shadow:0 0 14px #ffd23f4d}.track-endless .inf{color:#ffd23f;text-shadow:0 0 12px #ffd23f99;font-size:34px;line-height:1}.endless-text{flex-direction:column;gap:2px;min-width:0;display:flex}.endless-text small{opacity:.6;font-size:11px}.endless-text .endless-meta{opacity:1;color:#ffe58ad9;font-variant-numeric:tabular-nums}.track-endless .go{color:#ffd23f;font-size:22px}.endless-strip{grid-column:1/-1;width:100%;display:block;-webkit-mask-image:linear-gradient(90deg,#000 55%,#0000);mask-image:linear-gradient(90deg,#000 55%,#0000)}.daily h3 small{letter-spacing:.02em;text-transform:none;margin-left:6px;font-size:11px;font-weight:600}.cal{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal>b{opacity:.45;padding-bottom:2px;font-size:10px;font-weight:700}.cal>button,.cal>.cal-off{height:44px;font:inherit;font-variant-numeric:tabular-nums;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:14px;font-weight:700;display:flex}.cal>button{color:#e9f6ff;cursor:pointer;background:#04010d66;border:1px solid #39e6ff40;position:relative}.cal>button i{height:11px;font-size:11px;font-style:normal;line-height:1}.cal>button.raced i{color:#39e6ff}.cal>button.par{border-color:#ffd23f80}.cal>button.par i{color:#ffd23f}.cal>button.on{color:#04010d;background:#39e6ff;border-color:#39e6ff}.cal>button.on i{color:#04010d}.cal>.cal-off{opacity:.25}.cal>button.today{color:#ff5ad9;border-color:#ff5ad9b3;box-shadow:0 0 10px #ff5ad940}.cal>button.today.on{color:#04010d;background:#ff5ad9;border-color:#ff5ad9}.cal>button.locked{color:#e9f6ff8c;border-style:dashed;border-color:#ffd23f40}.cal>button.locked.on{color:#e9f6ff;background:#ffd23f2e;border:1px solid #ffd23f}.cal>button.locked.on i{color:inherit}.cal>button s{line-height:0;position:absolute;top:3px;right:4px}.cal>button s svg{fill:none;stroke:#ffd23f;stroke-width:1.6px;stroke-linecap:round;width:9px;height:9px}.controls small.cal-note{opacity:1;color:#e9f6ffa6}.cal-note .pro-tag{margin-left:2px}.cal-pick{background:#04010d59;margin-top:6px}.cal-pick.locked{border-color:#ffd23f73}.pick-strip{position:relative}.cal-pick.locked .track-strip{opacity:.3;filter:grayscale(.6)}.pick-lock{justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.pick-lock svg{fill:none;stroke:#ffd23f;stroke-width:1.4px;stroke-linecap:round;filter:drop-shadow(0 0 6px #ffd23f99);width:30px;height:30px}.pick-pro{width:100%;min-height:40px;font:inherit;color:#04010d;cursor:pointer;background:#ffd23f;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;margin-top:10px;font-size:14px;font-weight:800;display:flex}.pick-pro svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:13px;height:13px}.track-go svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;vertical-align:-1px;width:11px;height:11px}.ship-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.ship-card{font:inherit;color:#e9f6ff;cursor:pointer;background:#0d1b338c;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:8px;display:flex;position:relative}.ship-card canvas{width:100%;height:84px}.ship-card span{color:var(--c);font-size:13px;font-weight:700}.ship-card.on{border-color:var(--c);box-shadow:0 0 16px color-mix(in srgb, var(--c) 45%, transparent)}.menu-note{opacity:.55;text-align:center;font-size:12px}.setting-row{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:4px;display:flex}.setting-row>span{flex:none;min-width:8.5em;font-size:13px}.setting-row>.seg,.setting-row>input{flex:160px}.setting-row b{color:#ffb13d}.setting-row input[type=range]{accent-color:#ffb13d;touch-action:pan-x}.seg.modes button{flex-direction:column;align-items:center;gap:1px;display:flex}.seg.modes button small{opacity:.6;font-size:11px;font-weight:400}.seg button:disabled{opacity:.45}details.controls summary{cursor:pointer;align-items:baseline;gap:8px;list-style:none;display:flex}details.controls summary::-webkit-details-marker{display:none}details.controls summary:after{content:"▾";opacity:.6;margin-left:auto}details.controls[open] summary:after{content:"▴"}.toggle-row{width:100%;font:inherit;color:#e9f6ff;text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #e9f6ff14;align-items:center;gap:10px;padding:8px 2px;display:flex}.controls h3+.toggle-row{border-top:0}.toggle-row>span{flex-direction:column;flex:1;display:flex}.toggle-row .dot{background:var(--c);width:10px;height:10px;box-shadow:0 0 8px var(--c);border-radius:50%;flex:none}.toggle-row .switch{background:#e9f6ff26;border-radius:11px;flex:none;width:40px;height:22px;transition:background .15s;position:relative}.toggle-row .switch:after{content:"";background:#e9f6ff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px}.toggle-row[aria-checked=true] .switch{background:var(--c)}.toggle-row[aria-checked=true] .switch:after{background:#04010d;transform:translate(18px)}.controls{background:#0d1b338c;border:1px solid #39e6ff4d;border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px 12px;font-size:14px;display:flex}.pro-tag{vertical-align:1px;color:#ffd23f;letter-spacing:.1em;text-transform:none;opacity:1;border:1px solid #ffd23f;border-radius:4px;align-items:center;gap:3px;margin-left:6px;padding:1px 5px;font-size:10px;font-weight:700;line-height:1.4;display:inline-flex}.pro-tag svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:10px;height:10px}.controls h3{text-transform:uppercase;letter-spacing:.08em;color:#e9f6ff99;margin:4px 0 0;font-size:12px;font-weight:700}.controls small{opacity:.65;font-size:12px;line-height:1.35}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg button{font:inherit;color:#e9f6ff;background:#04010d66;border:1px solid #ffffff24;border-radius:8px;flex:22%;padding:8px 4px;font-size:13px;font-weight:700}.seg button.on{color:#39e6ff;border-color:#39e6ff;box-shadow:0 0 12px #39e6ff4d}#meter{pointer-events:none;align-items:center;display:flex;position:fixed}#meter i{background:#39e6ff4d;border-radius:50%;width:8px;height:8px}#meter i.on{background:#39e6ff;transform:scale(1.5);box-shadow:0 0 10px #39e6ff}#meter.edge i.on{background:#ff5a5a;box-shadow:0 0 10px #ff5a5a}.pad-btn.arrow{color:#bff6ff;background:#0d1b3359;border-color:#39e6ffcc;box-shadow:0 0 14px #39e6ff59,inset 0 0 10px #39e6ff33}.pad-btn.arrow svg{stroke-width:6px;width:52%;height:52%}.pad-btn.arrow.down{background:#39e6ff59}#split.coach{color:#ffb13d;font-size:22px}.ship-new{border-style:dashed;border-color:#39e6ff73;justify-content:center;min-height:118px}.ship-new b{color:#39e6ff;font-size:32px;line-height:1}.ship-edit{font:inherit;color:#e9f6ff;background:#04010d99;border:1px solid #fff3;border-radius:6px;padding:3px 7px;font-size:11px;position:absolute;top:6px;right:6px}.builder{flex-direction:column;gap:10px;display:flex}.build-preview{border:1px solid color-mix(in srgb, var(--c,#39e6ff) 55%, transparent);background:radial-gradient(at 50% 70%,#39e6ff1f,#04010d99);border-radius:12px;width:100%;height:170px}.build-name{font:inherit;color:#e9f6ff;background:#04010d80;border:1px solid #ffffff2e;border-radius:8px;padding:8px 10px;font-size:16px}.build-row{align-items:center;gap:10px;font-size:13px;display:flex}.build-row>span{opacity:.75;flex:none;width:84px}.build-row input[type=range]{accent-color:#39e6ff;touch-action:pan-x;flex:1}.build-row .seg{flex:1}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{background:var(--c);width:32px;height:32px;box-shadow:0 0 10px color-mix(in srgb, var(--c) 50%, transparent);border:2px solid #ffffff26;border-radius:50%}.swatch.on{border-color:#fff;transform:scale(1.12)}.build-actions{gap:8px;display:flex}.build-actions button{font:inherit;color:#e9f6ff;background:#04010d80;border:1px solid #ffffff2e;border-radius:10px;flex:1;padding:10px 8px;font-size:14px;font-weight:700}.build-actions button.primary{color:#04010d;background:#39e6ff;border-color:#39e6ff;flex:2}#overlay .login-card{background:#0d1b338c;border:1px solid #39e6ff73;border-radius:10px;margin-top:12px;padding:12px 10px 10px}#overlay .login-card button{margin:10px 0 8px}#overlay .cta-link{pointer-events:auto;color:#04010d;background:#39e6ff;border-radius:10px;margin:10px 0 4px;padding:12px 16px;font-size:15px;font-weight:700;text-decoration:none;display:block;box-shadow:0 0 18px #39e6ff80}#overlay .rank:empty{display:none}#overlay .rank{color:#39e6ff;font-weight:700}#overlay button.rank-btn{color:#39e6ff;box-shadow:none;background:#140a2899;border:1px solid #39e6ff80;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}#overlay button.rank-btn span{color:#e9f6ff;white-space:nowrap;font-size:13px}#overlay .badges-won{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:6px 0 2px;display:flex}#overlay .badges-won[hidden]{display:none}#overlay .badges-won small{color:#ffd23f;letter-spacing:.08em;text-transform:uppercase;width:100%;font-size:11px;font-weight:700}.badge-chip{color:#ffd23f;background:#ffd23f1a;border:1px solid #ffd23f99;border-radius:999px;align-items:center;gap:5px;padding:4px 10px 4px 7px;font-size:13px;font-weight:700;animation:.35s ease-out both badge-pop;display:inline-flex}.badge-chip i{font-style:normal}@keyframes badge-pop{0%{opacity:0;transform:scale(.6)}}@media (prefers-reduced-motion:reduce){.badge-chip{animation:none}}.account button,.account input{font:inherit;color:#e9f6ff;background:#04010d66;border:1px solid #39e6ff80;border-radius:8px;padding:8px 10px;font-size:14px}.account>button,.account form button{color:#04010d;background:#39e6ff;border:0;font-weight:700}.account>button.secondary{color:#e9f6ff;background:#04010d66;border:1px solid #39e6ff80;font-weight:400}.account form,.account .acct-row{gap:6px;display:flex}.account input{flex:1;min-width:0}.account .acct-row>*{flex:1}.account .tip-jar{flex-direction:column;gap:6px;margin-top:4px;display:flex}.account .tip-row{gap:6px;display:flex}.account .tip-row>*{flex:1}.account .danger{color:#ff8a8a;border-color:#ff6b6b99}.avatar{color:#fff;background:#1a0b3a;border:2px solid #ff2bf0;border-radius:50%;place-items:center;width:26px;height:26px;font-size:12px;font-weight:700;line-height:1;display:inline-grid;box-shadow:0 0 8px #ff2bf099}.avatar.big{border-width:3px;flex:none;width:52px;height:52px;font-size:24px}.avatar.empty{box-shadow:none;color:#e9f6ff99;border-color:#39e6ff80}#buttons #acct-btn.in{background:0 0;border-color:#0000;border-radius:50%;min-width:32px;padding:3px}.profile{align-items:center;gap:12px;padding:4px 0;display:flex}.profile>div{flex-direction:column;gap:2px;min-width:0;display:flex}.profile b{overflow-wrap:anywhere;font-size:18px}.stats{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px;display:grid}.stats>div{background:#04010d66;border-radius:8px;flex-direction:column;align-items:center;padding:8px 4px;display:flex}.stats b{color:#39e6ff;font-size:20px}.stats span{opacity:.65;font-size:11px}.badges h3 small{opacity:.65;margin-left:4px;font-size:12px;font-weight:400}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.badge-grid li{text-align:center;opacity:.45;background:#04010d66;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;display:flex}.badge-grid li i{filter:grayscale();font-size:22px;font-style:normal}.badge-grid li b{font-size:12px}.badge-grid li small{opacity:.75;font-size:10px}.badge-grid li.on{opacity:1;border-color:#ffd23f80}.badge-grid li.on i{filter:none}.badge-grid li.on b{color:#ffd23f}.badge-grid li{cursor:pointer}.badge-pop{z-index:1;background:#04010db3;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.badge-pop-card{text-align:center;background:#0d0620;border:1px solid #39e6ff66;border-radius:14px;flex-direction:column;align-items:center;gap:4px;width:min(100%,280px);padding:20px 16px 16px;display:flex}.badge-pop-card.on{border-color:#ffd23f99;box-shadow:0 0 24px #ffd23f33}.badge-pop-card i{filter:grayscale();opacity:.6;font-size:40px;font-style:normal}.badge-pop-card.on i{filter:none;opacity:1}.badge-pop-card b{font-size:17px}.badge-pop-card.on b{color:#ffd23f}.badge-pop-card p{margin:0;font-size:14px}.badge-pop-card small{opacity:.7;font-size:12px}.badge-pop-card button{min-width:96px;font:inherit;color:#39e6ff;background:0 0;border:1px solid #39e6ff66;border-radius:8px;margin-top:10px;padding:8px 16px;font-size:14px}.board ol{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.board li{border-radius:6px;align-items:baseline;gap:10px;padding:6px 8px;display:flex}.board li span{text-align:right;opacity:.6;font-variant-numeric:tabular-nums;width:2.2em}.board li b{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.board li time{font-variant-numeric:tabular-nums;color:#39e6ff}.board li.bot{opacity:.55}.board li.bot b{font-style:italic;font-weight:400}.board li.bot time{color:inherit}.board li .bot-chip{letter-spacing:.5px;text-align:center;border:1px solid;border-radius:4px;align-self:center;min-width:3.4em;padding:2px 3px;font:700 9px/1 ui-monospace,SF Mono,Menlo,monospace}.board li[data-mode]{--mode:57, 230, 255;background:rgba(var(--mode), .07);box-shadow:inset 3px 0 0 rgba(var(--mode), .7)}.board li[data-mode=easy]{--mode:182, 255, 59}.board li[data-mode=hard]{--mode:255, 90, 217}.board li[data-mode] time{color:rgb(var(--mode))}.board li .mode-chip{letter-spacing:.5px;color:rgb(var(--mode));border:1px solid rgba(var(--mode), .6);text-align:center;border-radius:4px;align-self:center;min-width:3.4em;padding:2px 3px;font:700 9px/1 ui-monospace,SF Mono,Menlo,monospace}.board li .dev-slot{opacity:.7;align-self:center;width:14px;display:flex}.dev{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;vertical-align:-2px;width:14px;height:14px}.board li.me{background:#e9f6ff1f;outline:1.5px solid #e9f6ffbf}.board li.gap,.board li.board-empty{opacity:.6;justify-content:center;font-size:13px}@media (max-width:429px){#buttons{gap:5px;right:10px}#buttons button{padding:6px 8px}#menu-btn .label{display:none}#time{font-size:30px}}@media (max-width:340px){#buttons{gap:4px}#buttons button{padding:5px 6px}#time{font-size:26px}}@media (max-width:400px){.menu-head{padding:10px 10px 12px}.menu-tabs{gap:4px}.menu-head button{padding:8px 9px;font-size:13px}}.board-open{font:inherit;color:#39e6ff;background:0 0;border:1px solid #39e6ff66;border-radius:8px;margin-top:6px;padding:10px;font-size:14px}.board-nav{align-items:center;gap:6px;display:flex}.board-nav button{font:inherit;color:#e9f6ff;background:#04010d66;border:1px solid #39e6ff66;border-radius:8px;min-width:40px;min-height:40px;font-size:16px}.board-nav button:disabled{opacity:.3}.board-day{flex-direction:column;flex:1;align-items:center;display:flex}.board-day b{font-size:16px}.board.full .seg button{flex:1}#paywall{z-index:30;padding:max(16px, env(safe-area-inset-top,0px)) 16px max(16px, env(safe-area-inset-bottom,0px));background:#04010dd1;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}#paywall .pw-card{color:#e9f6ff;text-align:left;background:#0d1b33f5;border:1px solid #ffd23f8c;border-radius:14px;width:min(100%,360px);padding:18px 16px 14px;font-size:14px;position:relative;box-shadow:0 0 28px #ffd23f2e}#paywall h2{letter-spacing:.06em;margin:0 0 10px;font-size:18px}#paywall .pw-close{width:36px;height:36px;font:inherit;color:#bff6ff;background:0 0;border:0;position:absolute;top:8px;right:8px}#paywall .pw-perks{flex-direction:column;gap:8px;margin:0 0 14px;padding:0;list-style:none;display:flex}#paywall .pw-perks li{flex-direction:column;padding-left:18px;display:flex;position:relative}#paywall .pw-perks li:before{content:"◆";color:#ffd23f;font-size:11px;position:absolute;top:2px;left:0}#paywall .pw-perks small,#paywall .pw-msg{opacity:.7;font-size:12px}#paywall .pw-buy{flex-direction:column;gap:8px;display:flex}#paywall .pw-buy button,#paywall .pw-ad button{font:inherit;color:#e9f6ff;background:#04010d66;border:1px solid #39e6ff80;border-radius:10px;padding:12px 14px;font-size:15px}#paywall .pw-buy button.best,#paywall .pw-buy button[data-login],#paywall .pw-buy button[data-reload]{color:#04010d;background:#ffd23f;border-color:#ffd23f;font-weight:700}#paywall .pw-buy button:disabled,#paywall .pw-ad button:disabled{opacity:.5}#paywall .pw-ad{text-align:center;flex-direction:column;gap:6px;margin-top:6px;display:flex}#paywall .pw-ad small{opacity:.7;font-size:12px}#paywall .pw-ad small:empty{display:none}#paywall .pw-msg{text-align:center;margin-top:10px;display:block}#claim{z-index:30;padding:max(16px, env(safe-area-inset-top,0px)) 16px max(16px, env(safe-area-inset-bottom,0px));background:#04010dd1;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}#claim .pw-card{color:#e9f6ff;text-align:left;background:#0d1b33f5;border:1px solid #39e6ff8c;border-radius:14px;width:min(100%,360px);padding:18px 16px 14px;font-size:14px;position:relative;box-shadow:0 0 28px #39e6ff2e}#claim h2{letter-spacing:.06em;margin:0 36px 10px 0;font-size:18px}#claim .pw-close{width:36px;height:36px;font:inherit;color:#bff6ff;background:0 0;border:0;position:absolute;top:8px;right:8px}#claim .pw-msg{opacity:.8;margin:0 0 14px}#claim .pw-buy{flex-direction:column;display:flex}#claim .itch-top{margin:0 0 14px;padding:0;font-size:13px;list-style:none}#claim .itch-top li{border-radius:6px;grid-template-columns:3.2em 1fr auto;gap:8px;padding:4px 6px;display:grid}#claim .itch-top li span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#claim .itch-top li.you{color:#04010d;background:#39e6ff;font-weight:700}#claim .itch-top li.gap{opacity:.5}#claim .pw-link{text-align:center;color:#04010d;background:#39e6ff;border-radius:10px;padding:12px 14px;font-size:15px;font-weight:700;text-decoration:none;display:block}#claim .pw-link.secondary{color:#e9f6ff;background:0 0;border:1px solid #39e6ff80;font-weight:400}#overlay button.itch-board-btn{color:#e9f6ff;margin-top:4px;font-weight:400;text-decoration-color:#39e6ff99}#overlay button.itch-board-btn b{color:#39e6ff}#claim .pw-buy button{font:inherit;color:#04010d;background:#39e6ff;border:0;border-radius:10px;padding:12px 14px;font-size:15px;font-weight:700}.account a.secondary{box-sizing:border-box;text-align:center;color:#e9f6ff;border:1px solid #39e6ff80;border-radius:8px;padding:8px 10px;font-size:14px;text-decoration:none;display:block}.account a.secondary.danger{color:#ff8a8a;border-color:#ff6b6b99}#overlay .login-card button[data-pro]{color:#04010d;background:#ffd23f;box-shadow:0 0 18px #ffd23f73}.seg.schemes button{flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;display:flex}.seg.schemes svg{fill:none;stroke-linecap:round;stroke-linejoin:round;width:40px;height:70px}.seg.schemes svg.tilted{transform:rotate(-10deg)}.seg.schemes.mirror svg{transform:scaleX(-1)}.seg.schemes.mirror svg.tilted{transform:scaleX(-1)rotate(-10deg)}.seg.schemes .p{stroke:#e9f6ff73;stroke-width:1.5px}.seg.schemes .z{fill:#ffd23f33}.seg.schemes .s{stroke:#39e6ff;stroke-width:1.6px}.seg.schemes .j{stroke:#ffd23f;stroke-width:1.6px}.seg.schemes .jl{stroke:#ffd23f;stroke-width:1.4px}.seg.schemes .d circle{fill:#39e6ff66}.seg.schemes .d circle.on{fill:#39e6ff}.revives-box .revive-count{align-items:baseline;gap:6px;display:flex}.revives-box .revive-count b{color:#39e6ff;font-size:22px}.watch-bar{left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:30;color:#44ff9a;background:#080414d9;border:1px solid #44ff9a80;border-radius:12px;align-items:center;gap:4px;padding:6px 8px;font:700 12px/1 ui-monospace,monospace;display:flex;position:fixed;transform:translate(-50%)}.watch-bar span{padding:0 6px}.watch-bar button{font:inherit;color:#e9f6ff;cursor:pointer;background:0 0;border:1px solid #e9f6ff33;border-radius:8px;padding:8px 9px}.watch-bar button.on{color:#04010d;background:#44ff9a;border-color:#44ff9a}.admin-list{flex-direction:column;gap:6px;margin:6px 0;padding:0;list-style:none;display:flex}.admin-list li{align-items:center;gap:6px;display:flex}.admin-list li>span{flex-direction:column;flex:1;display:flex}.admin-list li>span small{opacity:.6}.admin-list a{color:#04010d;background:#44ff9a;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:700;text-decoration:none}.admin-list a.secondary{color:#e9f6ff;background:0 0;border:1px solid #39e6ff80}.nowrap{white-space:nowrap}#lesson{text-align:center;pointer-events:none;z-index:5;background:#0a0418d1;border:1px solid #39e6ff99;border-radius:12px;width:max-content;max-width:calc(100vw - 32px);padding:10px 16px;position:fixed;top:20%;left:50%;transform:translate(-50%);box-shadow:0 0 18px #39e6ff59}#lesson b{color:#39e6ff;font-size:20px;font-weight:800;display:block}#lesson small{color:#e9f6ffcc;margin-top:4px;font-size:13px;display:block}#lesson.note{border-color:#44ff9a99;box-shadow:0 0 18px #44ff9a4d}#lesson.note b{color:#44ff9a}#cue{color:#b6ff3b;text-shadow:0 0 14px #b6ff3bbf;pointer-events:none;z-index:5;width:max-content;max-width:calc(100vw - 32px);font-size:32px;font-weight:800;position:fixed;top:40%;left:50%;transform:translate(-50%)}#lesson.note small:empty{display:none}#overlay .drill-steps{text-align:left;max-width:36ch;margin:10px auto 6px;padding-left:22px;font-size:14px;line-height:1.4}#overlay .drill-steps li+li{margin-top:4px}.pad-btn.hint{border-color:#39e6ff;animation:.9s ease-in-out infinite pulse;box-shadow:0 0 24px #39e6ffe6,inset 0 0 14px #39e6ff80}#overlay .tut-link{pointer-events:auto;color:#39e6ff;margin-top:8px;font-size:13px;font-weight:700;display:inline-block}#menu .tut-link{color:#39e6ff;font-weight:700}#menu .drill{flex-direction:column;gap:2px;margin-top:10px;display:flex}#lesson .go{color:#39e6ff;margin-top:8px;font-size:13px;font-weight:700;animation:1.2s ease-in-out infinite blink;display:block}#app-update{z-index:40;padding:max(16px, env(safe-area-inset-top,0px)) 16px max(16px, env(safe-area-inset-bottom,0px));background:#04010deb;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}#app-update .au-card{color:#e9f6ff;text-align:center;background:#0d1b33f5;border:1px solid #39e6ff80;border-radius:14px;width:min(100%,360px);padding:18px 16px 16px;font-size:14px}#app-update h2{letter-spacing:.06em;margin:0 0 10px;font-size:18px}#app-update .au-dim{color:#8fb3c9}#app-update .au-btn{color:#04010d;background:#39e6ff;border-radius:10px;margin-top:14px;padding:12px 16px;font-weight:700;text-decoration:none;display:block;box-shadow:0 0 18px #39e6ff80}#campaign-map{--sys:#ffd23f;z-index:22;background:radial-gradient(ellipse 90% 50% at 50% 12%, color-mix(in srgb, var(--sys) 22%, transparent), transparent 70%), radial-gradient(ellipse at 50% 60%, #280e50eb, #04010dfa 75%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px);touch-action:pan-x;flex-direction:column;transition:background .4s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}#campaign-map:before{content:"";pointer-events:none;opacity:.5;background-image:radial-gradient(1px 1px at 12% 18%,#fff,#0000),radial-gradient(1px 1px at 78% 9%,#fff,#0000),radial-gradient(1px 1px at 33% 72%,#fff,#0000),radial-gradient(1.5px 1.5px at 88% 54%,#fff,#0000),radial-gradient(1px 1px at 55% 33%,#fff,#0000),radial-gradient(1px 1px at 8% 88%,#fff,#0000),radial-gradient(1.5px 1.5px at 66% 91%,#fff,#0000),radial-gradient(1px 1px at 42% 48%,#fff,#0000);position:absolute;top:0;bottom:0;left:0;right:0}#campaign-map button{font:inherit;color:inherit}.cm-head{align-items:center;gap:12px;padding:12px 16px 4px;display:flex;position:relative}.cm-title{letter-spacing:.06em;text-shadow:0 0 12px #ff5ad9;flex:1;font-size:20px;font-weight:800}.cm-total{opacity:.8;font-size:13px}.cm-total b{color:#ffd23f}.cm-close{background:#140a2899;border:1px solid #39e6ff66;border-radius:8px;min-width:40px;min-height:40px}.cm-chain{justify-content:center;align-items:flex-start;padding:8px 12px 4px;display:flex;position:relative}.cm-link{background:#e9f6ff33;flex:8px;max-width:28px;height:2px;margin-top:13px}.cm-sys-dot{background:0 0;border:0;flex-direction:column;flex:none;align-items:center;gap:4px;width:50px;padding:0;display:flex}.cm-sys-orb{background:radial-gradient(circle at 35% 30%, #fff, var(--hue) 50%, #00000080);width:26px;height:26px;box-shadow:0 0 10px var(--hue);border-radius:50%;place-items:center;transition:transform .2s,box-shadow .2s;display:grid}.cm-sys-dot.locked .cm-sys-orb{box-shadow:none;color:#e9f6ff99;background:#e9f6ff14;border:1px solid #e9f6ff40}.cm-sys-dot.on .cm-sys-orb{box-shadow:0 0 0 2px #04010d, 0 0 0 4px var(--hue), 0 0 18px var(--hue);transform:scale(1.25)}.cm-sys-tag{white-space:nowrap;opacity:.6;font-size:10px;font-weight:700}.cm-sys-dot.on .cm-sys-tag{opacity:1}.cm-sys-dot.locked .cm-sys-tag{color:#ffe58a}.cm-pages{scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;display:flex;position:relative;overflow:auto hidden}.cm-pages::-webkit-scrollbar{display:none}.cm-system{scroll-snap-align:start;box-sizing:border-box;flex-direction:column;flex:0 0 100%;min-height:0;padding:8px 16px 4px;display:flex}.cm-sys-head{justify-content:space-between;align-items:flex-end;gap:8px;width:100%;max-width:520px;margin:0 auto;display:flex}.cm-sys-n{letter-spacing:.2em;opacity:.5;font-size:10px;display:block}.cm-sys-name{color:var(--hue);text-shadow:0 0 14px color-mix(in srgb, var(--hue) 60%, transparent);font-size:26px;font-weight:800}.cm-sys-stars{color:#ffe58a;white-space:nowrap;padding-bottom:4px;font-size:14px;font-weight:700}.cm-gate{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--hue) 45%, transparent);text-align:left;background:#08031499;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;width:100%;max-width:520px;margin:8px auto 0;padding:8px 12px;display:grid}.cm-tut-blurb{opacity:.8;margin:6px 0 10px;font-size:13px;line-height:1.4}.cm-gate.open{background:color-mix(in srgb, var(--hue) 18%, #08031499)}.cm-gate.end{text-align:center;opacity:.8;font-size:12px;display:block}.cm-gate-name{color:var(--hue);font-size:13px;font-weight:800}.cm-gate-need{opacity:.8;white-space:nowrap;font-size:11px}.cm-gate-bar{background:#e9f6ff1f;border-radius:3px;grid-column:1/-1;height:5px;display:block;overflow:hidden}.cm-gate-bar i{background:linear-gradient(90deg, #ffd23f, var(--hue,#ffd23f));border-radius:3px;height:100%;display:block}.cm-orrery{--tilt:56deg;perspective:900px;perspective-origin:50% 30%;flex:1;place-items:center;min-height:190px;display:grid;position:relative;overflow:hidden}.cm-plane{aspect-ratio:1;width:min(100%,440px,62vh);transform-style:preserve-3d;transform:rotateX(var(--tilt));position:relative}.cm-plane:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--hue) 30%, transparent), color-mix(in srgb, var(--hue) 8%, transparent) 45%, transparent 70%);border-radius:50%;position:absolute;top:0;bottom:0;left:0;right:0}.cm-sun{aspect-ratio:1;width:16%;transform:translate(-50%, -50%) rotateX(calc(-1 * var(--tilt)));transform-origin:50%;background:radial-gradient(circle at 40% 35%, #fff, color-mix(in srgb, var(--hue) 55%, #fff) 25%, var(--hue) 55%, color-mix(in srgb, var(--hue) 60%, #000) 100%);box-shadow:0 0 30px 6px color-mix(in srgb, var(--hue) 60%, transparent), 0 0 80px 20px color-mix(in srgb, var(--hue) 25%, transparent);pointer-events:none;border-radius:50%;position:absolute;top:50%;left:50%}.cm-orbit{width:calc(var(--r) * 2);aspect-ratio:1;margin:calc(var(--r) * -1) 0 0 calc(var(--r) * -1);box-sizing:border-box;transform-style:preserve-3d;animation:cm-spin var(--t) linear infinite;animation-delay:var(--d);pointer-events:none;border:1.5px dashed #e9f6ff38;border-radius:50%;position:absolute;top:50%;left:50%}.cm-orbit.done{border:2px solid color-mix(in srgb, var(--hue) 70%, transparent);box-shadow:0 0 10px color-mix(in srgb, var(--hue) 40%, transparent)}@keyframes cm-spin{to{transform:rotate(360deg)}}.cm-planet{transform-origin:50%;animation:cm-counter var(--t) linear infinite;animation-delay:var(--d);pointer-events:auto;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;align-items:center;gap:1px;padding:6px;display:flex;position:absolute;top:0;left:50%}@keyframes cm-counter{0%{transform:translate(-50%, -50%) rotateZ(0deg) rotateX(calc(-1 * var(--tilt))) translateY(-40%)}to{transform:translate(-50%, -50%) rotateZ(-360deg) rotateX(calc(-1 * var(--tilt))) translateY(-40%)}}@media (prefers-reduced-motion:reduce){.cm-orbit,.cm-planet{animation-play-state:paused}}.cm-ball{width:var(--size);height:var(--size);color:#04010d;background:radial-gradient(circle at 35% 30%, #fff 0, var(--hue) 35%, color-mix(in srgb, var(--hue) 45%, #000) 80%, #000 100%);box-shadow:0 0 12px color-mix(in srgb, var(--hue) 60%, transparent);border-radius:50%;place-items:center;font-size:12px;font-weight:800;transition:transform .2s;display:grid}.cm-planet:not(.done) .cm-ball{filter:saturate(.6)brightness(.8)}.cm-planet.current .cm-ball{filter:none;animation:1.6s ease-out infinite cm-pulse}@keyframes cm-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--hue) 80%, transparent), 0 0 12px var(--hue)}to{box-shadow:0 0 0 12px transparent, 0 0 12px var(--hue)}}.cm-planet.gold .cm-ball{box-shadow:0 0 0 2px #ffd23f,0 0 16px 3px #ffd23fb3}.cm-planet.picked .cm-ball{outline-offset:3px;outline:2px solid #fff;transform:scale(1.25)}.cm-pstars{line-height:1;display:flex}.cm-pstars i,.cm-stars i{color:#e9f6ff38;font-style:normal}.cm-pstars i{font-size:9px}.cm-stars i{font-size:18px}.cm-pstars i.on,.cm-stars i.on{color:#ffd23f;text-shadow:0 0 6px #ffd23fb3}.cm-system.locked .cm-orbit{border-color:#e9f6ff1f}.cm-system.locked .cm-sun{filter:saturate(.4)brightness(.6)}.cm-system.locked .cm-ball{filter:none;color:#e9f6ffd9;background:radial-gradient(circle at 35% 30%,#c9d2e3 0,#6b7590 35%,#2a3042 75%,#0b0d14 100%);box-shadow:0 0 8px #a0afd240}.cm-ball>svg{fill:none;stroke:currentColor;stroke-width:1.4px;width:50%;height:50%}.cm-system.locked .cm-pstars{visibility:hidden}.cm-detail{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--hue) 40%, transparent);background:#080314bf;border-radius:12px;width:100%;max-width:520px;margin:0 auto 6px;padding:10px 12px}.cm-d-head{align-items:center;gap:10px;display:flex}.cm-d-n{color:#04010d;background:radial-gradient(circle at 35% 30%, #fff 0, var(--hue) 40%, color-mix(in srgb, var(--hue) 45%, #000) 100%);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.cm-d-title{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.cm-d-title b{white-space:nowrap;text-overflow:ellipsis;font-size:16px;overflow:hidden}.cm-d-title small{opacity:.65;font-size:11px}.cm-goals{flex-wrap:wrap;gap:4px 12px;margin:8px 0;padding:0;font-size:12px;list-style:none;display:flex}.cm-goals li{opacity:.6}.cm-goals li:before{content:"☆ "}.cm-goals li.met{opacity:1}.cm-goals li.met:before{content:"★ ";color:#ffd23f}.cm-race{background:var(--hue);border:0;border-radius:10px;width:100%;min-height:42px;font-weight:800;color:#04010d!important}.cm-locked-card{z-index:2;border:1px solid color-mix(in srgb, var(--hue) 50%, transparent);width:min(240px,80%);box-shadow:0 0 30px color-mix(in srgb, var(--hue) 25%, transparent);text-align:center;background:#080314ed;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:16px;font-size:12px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cm-locked-card>svg{fill:none;width:24px;height:24px;stroke:var(--hue);stroke-width:1.4px}.cm-locked-card b{color:var(--hue);font-size:22px}.cm-locked-card span:first-of-type{color:#ffe58a;font-size:15px;font-weight:700}.cm-locked-card .cm-gate-bar{width:100%}.cm-foot{text-align:center;opacity:.5;padding:4px 16px 10px;font-size:10px;position:relative}#overlay .camp-goals{text-align:left;margin:10px auto 4px;padding:0;font-size:13px;list-style:none;display:inline-block}#overlay .camp-goals li{opacity:.6}#overlay .camp-goals li.met{opacity:1}#overlay .camp-goals li:before{content:"☆ ";color:#e9f6ff80}#overlay .camp-goals li.met:before{content:"★ ";color:#ffd23f}#overlay .camp-stars{letter-spacing:.15em;margin:4px 0;font-size:34px}#overlay .camp-stars i{color:#e9f6ff2e;font-style:normal;display:inline-block}#overlay .camp-stars i.on{color:#ffd23f;text-shadow:0 0 12px #ffd23fcc}#overlay .camp-stars i.new{animation:.5s cubic-bezier(.2,1.6,.4,1) both camp-star-in;animation-delay:calc(var(--k) * .25s + .15s)}@keyframes camp-star-in{0%{opacity:0;transform:scale(2.4)rotate(-40deg)}to{opacity:1;transform:none}}#overlay .camp-unlocked{color:#ffd23f;margin-top:8px;font-weight:800}#overlay .camp-row{gap:8px;display:flex}#overlay .camp-row button{flex:1}.cm-ball svg,.cm-sys-stars svg,.cm-sys-orb svg,.cm-gate-name svg,.cm-race svg{fill:none;stroke:currentColor;stroke-width:1.6px;vertical-align:-1px;width:13px;height:13px}.track-campaign{color:#e9f6ff;background:linear-gradient(100deg,#ff5ad91f,#0d1b338c 60%);border:1px solid #ff5ad973;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;column-gap:12px;margin-bottom:10px;padding:12px 14px;text-decoration:none;display:grid}.track-campaign.current{border-color:#ff5ad9;box-shadow:0 0 14px #ff5ad94d}.track-campaign .sun{background:radial-gradient(circle,#fff6c8,#ffd23f 50%,#ff8c2880 75%,#0000 77%);border-radius:50%;width:30px;height:30px;box-shadow:0 0 16px #ffbe3c73}.track-campaign .go{color:#ff5ad9;font-size:22px}
