.odometer{line-height:1;display:inline-flex}.odometer__digit{height:1em;display:inline-block;overflow:hidden}.odometer__strip{flex-direction:column;transition:transform 90ms steps(4,end);display:flex}.odometer__strip>span,.odometer__char{height:1em;line-height:1;display:block}[data-motion=reduced] .odometer__strip{transition:none}.hovercard{z-index:60;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius);width:min(320px,100vw - 16px);box-shadow:var(--shadow);font-size:var(--text-sm);pointer-events:none;padding:10px 12px;position:fixed}.hovercard__title{font-size:var(--text-md);margin:0 0 4px;font-weight:600}.hovercard__hint{color:var(--text);margin:0 0 8px}.hovercard__flavor{color:var(--text-faint);margin:0 0 8px;font-style:italic}.hovercard__row{color:var(--text-muted);justify-content:space-between;gap:12px;display:flex}.hovercard__row strong{color:var(--accent-strong);font-weight:500}[data-panel-phase]{animation-name:var(--panel-name);animation-duration:var(--panel-ms);animation-timing-function:cubic-bezier(.2,.7,.3,1);animation-fill-mode:both}[data-panel-phase=out]{pointer-events:none;animation-direction:reverse}.modal[data-panel-phase]{animation-name:panel-fade}.modal[data-panel-phase]>.modal__card{animation:var(--panel-name) var(--panel-ms) cubic-bezier(.2, .7, .3, 1) both}.modal[data-panel-phase=out]>.modal__card{animation-direction:reverse}:root[data-motion=reduced] [data-panel-phase],:root[data-motion=reduced] .modal[data-panel-phase]>.modal__card{animation:none}@keyframes panel-fade{0%{opacity:0}}@keyframes panel-pop{0%{opacity:0;scale:.92}}@keyframes panel-slide{0%{opacity:0;translate:0 10px}}@keyframes panel-grow{0%{opacity:0;transform-origin:top;scale:1 .3}to{transform-origin:top}}@keyframes panel-blur{0%{opacity:0;filter:blur(8px)}}@keyframes panel-wipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes panel-flicker{0%{opacity:0;animation-timing-function:step-end}15%{opacity:.8;animation-timing-function:step-end}25%{opacity:.1;animation-timing-function:step-end}45%{opacity:1;animation-timing-function:step-end}55%{opacity:.4;animation-timing-function:linear}to{opacity:1}}.hint{background:color-mix(in srgb, var(--accent-dim) 45%, var(--panel));border:1px solid var(--accent-dim);border-radius:var(--radius-lg);flex-direction:column;gap:4px;padding:10px 14px 12px;display:flex;position:relative}.hint__title{font-size:var(--text-sm);color:var(--accent-strong);margin:0;font-weight:600}.hint__text{font-size:var(--text-sm);color:var(--text);margin:0;line-height:1.4}.hint__close{font-size:var(--text-xs);border-radius:var(--radius-sm);border:1px solid var(--accent-dim);color:var(--accent-strong);cursor:pointer;background:0 0;align-self:flex-end;margin-top:2px;padding:3px 10px}.hint__close:hover{background:var(--accent-dim)}.hint-more{vertical-align:1px;border:1px solid var(--border-strong);width:16px;height:16px;color:var(--text-faint);letter-spacing:0;text-transform:none;cursor:default;background:0 0;border-radius:50%;place-items:center;margin-left:6px;padding:0;font-size:10px;font-weight:600;line-height:1;display:inline-grid}.hint-more:hover,.hint-more:focus-visible{border-color:var(--accent-dim);color:var(--accent-strong)}.panel-hint__card{margin:0}.collapse-anim{z-index:70;position:fixed;inset:0;overflow:hidden}.collapse-anim-playing,.collapse-anim-playing body{overflow:hidden}.collapse-anim__disc{box-sizing:border-box;border:3px solid var(--warn);will-change:transform;background:#000;border-radius:50%;position:absolute;transform:translate(-50%,-50%)scale(0)}.collapse-anim__flash,.collapse-anim__tint,.collapse-anim__veil{opacity:0;position:absolute;inset:0}.collapse-anim__tint{background:var(--warn)}.collapse-anim__flash{background:#fff}.collapse-anim__veil{background:#000}.collapse-anim__star{opacity:0;width:140px;height:140px;position:absolute;transform:translate(-50%,-50%)}.collapse-anim__star svg{width:100%;height:100%;overflow:visible}.collapse-anim__card{color:var(--warn);opacity:0;align-items:center;gap:6px;font-size:44px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.collapse-anim__icon{--icon-bg:#000;fill:none;stroke:currentColor;stroke-width:3px;width:110px;height:110px}.cur-icon{vertical-align:-.22em;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;width:1.15em;height:1.15em;display:inline-block;overflow:visible}.cur-icon line{stroke-width:1.2px;vector-effect:non-scaling-stroke}.cur-icon--star{vertical-align:-.12em;width:1em;height:1em}.cur-icon--singularity{vertical-align:middle;filter:drop-shadow(0 0 1.5px);width:max(34px,2.4em);height:max(34px,2.4em);margin:-10px -4px}.nstar{fill:none;stroke:currentColor;stroke-width:1.4px}.nstar--still *{animation:none!important}.nstar__turn{transform-box:view-box;transform-origin:0 0;animation:60s steps(600,end) infinite nstar-turn}.nstar__reach,.nstar__ray{transform-box:fill-box;transform-origin:0%;animation-iteration-count:infinite;animation-direction:alternate}.nstar__reach{animation-name:nstar-reach}.nstar__ray{stroke-width:1.6px;stroke-linecap:round;stroke-opacity:.85;vector-effect:non-scaling-stroke;animation-name:nstar-flicker}.nstar__rim{stroke-width:1px;stroke-opacity:.7}@keyframes nstar-turn{to{transform:rotate(360deg)}}@keyframes nstar-reach{0%{opacity:.55;transform:scaleX(.45)}25%{opacity:.616;transform:scaleX(.552)}50%{opacity:.775;transform:scaleX(.8)}75%{opacity:.934;transform:scaleX(1.048)}to{opacity:1;transform:scaleX(1.15)}}@keyframes nstar-flicker{0%{transform:scaleX(.8)}25%{transform:scaleX(.859)}50%{transform:scaleX(1)}75%{transform:scaleX(1.141)}to{transform:scaleX(1.2)}}.buy{text-align:left;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:2px 10px;width:100%;padding:8px 10px;transition:background .12s,border-color .12s,transform 80ms;display:flex}.buy:hover:not(.buy--disabled){background:var(--panel-hover);border-color:var(--accent-dim)}.buy:active:not(.buy--disabled){transform:translateY(1px)}.buy--disabled{cursor:default;opacity:.55}.buy--maxed{opacity:.4}.buy--recommended{border-color:var(--good);box-shadow:inset 3px 0 0 var(--good)}.buy--recommended.buy--disabled{opacity:.85}.buy__top{flex:auto;align-items:baseline;gap:8px;min-width:0;display:flex}.buy__name{font-size:var(--text-md);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.buy__badge{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent)}.buy__detail{font-size:var(--text-xs);color:var(--text-muted);flex-basis:100%;order:2}.buy__locked{color:var(--warn);display:block}.buy__cost{font-size:var(--text-sm);color:var(--text);white-space:nowrap;order:1;margin-left:auto}.buy--disabled .buy__cost{color:var(--text-faint)}.buy-amount{font:inherit;font-size:var(--text-xs);font-variant-numeric:tabular-nums;min-width:4.5ch;color:var(--accent-strong);border:1px solid var(--accent-dim);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:2px 8px}.buy-amount:hover{background:var(--accent-dim)}.slide{grid-template-rows:1fr;min-width:0;display:grid}.slide__inner{min-width:0;min-height:0}.slide--start,.slide--exit{margin-bottom:calc(-1 * var(--slide-gap,var(--gap,12px)));grid-template-rows:0fr}.slide--start .slide__inner,.slide--exit .slide__inner{transform:translate(-105%)}.slide--start .slide__inner,.slide--enter .slide__inner,.slide--exit .slide__inner{overflow:hidden}.slide--enter{transition:grid-template-rows .22s ease-out,margin-bottom .22s ease-out}.slide--enter .slide__inner{transition:transform .26s cubic-bezier(.2,.8,.2,1) .2s}.slide--exit{transition:grid-template-rows .22s ease-in .2s,margin-bottom .22s ease-in .2s}.slide--exit .slide__inner{transition:transform .2s ease-in}.panel__body,.upgrades{--slide-gap:6px}.goal{background:linear-gradient(135deg, #4cc3ff1a, transparent 70%), var(--panel);border:1px solid var(--accent-dim);border-radius:var(--radius-lg);padding:12px 14px 14px;position:relative}.goal__name{font-size:var(--text-lg);margin:4px 0 2px;font-weight:600}.goal__text{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 10px}.goal__text--number{font-size:var(--text-md);color:var(--text)}.goal__badges{flex-wrap:wrap;gap:6px;margin:0 0 10px;display:flex}.goal__badge{border:1px solid var(--accent-dim);font-size:var(--text-xs);color:var(--accent-strong);white-space:nowrap;border-radius:999px;padding:1px 8px}.goal__progress{align-items:center;gap:10px;display:flex}.goal__bar{background:var(--border);border-radius:4px;flex:1;height:8px;position:relative;overflow:hidden}.goal__fill,.goal__afford{transition:width .2s linear;position:absolute;inset:0 auto 0 0}.goal__fill{background:linear-gradient(90deg, var(--accent-dim), var(--accent));box-shadow:0 0 10px #4cc3ff80}.goal__afford{background:#4cc3ff2e}.goal__pct{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.postcard{fill:none;stroke-linecap:round;stroke-linejoin:round;width:100%;max-width:220px;height:auto;margin:0 auto 6px;display:block}.postcard__scene{stroke:var(--text-muted);stroke-width:1.2px}.postcard__ring{stroke:var(--accent);stroke-width:1.6px;filter:drop-shadow(0 0 2px var(--accent))}.goal__body{animation:.3s ease-out goal-swap}@keyframes goal-swap{0%{opacity:0}}[data-motion=reduced] .goal__body{animation:none}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:8px;min-width:0;padding:12px 14px 14px;display:flex}.panel__header{justify-content:space-between;align-items:baseline;gap:var(--gap);display:flex}.panel__title{font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0;font-weight:600}.panel__aside{font-size:var(--text-sm);color:var(--text-muted);align-items:center;gap:10px;display:flex}.panel__body{flex-direction:column;gap:6px;min-width:0;display:flex}.stars{flex-direction:column;gap:14px;height:100%;padding:16px 20px;display:flex;overflow-y:auto}.stars__head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.stars__title{font-size:var(--text-lg);margin:0}.stars__count{font-size:var(--text-lg);color:var(--star)}.stars__section{flex-direction:column;gap:8px;display:flex}.stars__heading{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin:0;font-weight:600}.stars__grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px;display:grid}.stars__stats{font-size:var(--text-sm);flex-wrap:wrap;gap:6px 24px;margin:0;display:flex}.stars__stats dt{font-size:var(--text-xs);color:var(--text-faint)}.stars__stats dd{margin:0}.stars__nurtured{background:radial-gradient(ellipse at 0% 0%, #e6c3ff14, transparent 60%), var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 14px}.stars__feed,.stars__feed:disabled{opacity:.5;cursor:default}.stars__toggle{font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;display:flex}.segmented{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-self:flex-start;gap:2px;padding:3px;display:inline-flex}.segmented__option{font:inherit;font-size:var(--text-sm);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:5px 14px}.segmented__option:hover{color:var(--text)}.segmented__option--on{color:var(--text);background:var(--panel);box-shadow:inset 0 0 0 1px var(--accent-dim)}.select__field{min-width:9em;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text);text-align:left;background:var(--bg-field);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--field-shadow);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:4px 8px;display:inline-flex}.select__value{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.select__arrow{border:solid var(--text-muted);border-width:0 1.5px 1.5px 0;flex:none;width:6px;height:6px;margin-top:-3px;transition:transform .12s;transform:rotate(45deg)}.select__field--open .select__arrow{margin-top:3px;transform:rotate(-135deg)}.select__list{z-index:50;font-family:var(--font-mono);font-size:var(--text-sm);background:var(--bg-field);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow);margin:0;padding:3px 0;list-style:none;position:fixed;overflow-y:auto}.select__option{white-space:nowrap;color:var(--text-muted);cursor:pointer;align-items:center;gap:8px;padding:4px 12px 4px 8px;display:flex}.select__option:before{content:"";border-radius:1px;flex:none;width:6px;height:6px}.select__option[aria-selected=true]{color:var(--text)}.select__option[aria-selected=true]:before{background:var(--good)}.select__option--active{color:var(--text);background:var(--panel-hover)}.defense-view{background:#04070a;flex-direction:column;display:flex;position:absolute;inset:0}.defense-view__status{border-bottom:1px solid var(--border);font-size:var(--text-sm);color:var(--text);flex-wrap:wrap;align-items:center;gap:6px 18px;padding:10px 16px;display:flex}.defense-view__mode{text-transform:uppercase;letter-spacing:.06em;font-weight:600}.defense-view__mode--push{color:#ff6b6b}.defense-view__mode--hold{color:var(--accent)}.defense-view__mode--plan{color:var(--text-muted)}.defense-view__rule{color:var(--challenge)}.defense-view__wave{color:var(--text-muted)}.defense-view__meter{color:var(--text-muted);align-items:center;gap:6px;display:flex}.defense-view__bar{border:1px solid var(--border-strong);background:var(--bg-field);width:90px;height:6px;display:inline-block}.defense-view__bar span{background:#b6ff3c;height:100%;transition:width .2s;display:block}.defense-view__stage{flex:1;min-height:0;position:relative}.defense-view__canvas{cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.defense-view__card{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--panel);max-width:min(560px,92%);box-shadow:var(--shadow);text-align:center;padding:12px 16px;position:absolute;top:16px;left:50%;transform:translate(-50%)}.defense-view__card-title{margin:0 0 10px;font-weight:600}.defense-view__choices{gap:8px;display:flex}.defense-view__choice,.defense-view__button{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-raised);color:var(--text);cursor:pointer;flex-direction:column;flex:1;gap:2px;padding:8px 10px;display:flex}.defense-view__choice:hover,.defense-view__button:hover{border-color:var(--accent)}.defense-view__choice{border-color:color-mix(in srgb, var(--rarity) 60%, var(--border));text-align:left}.defense-view__choice:hover{border-color:var(--rarity)}.defense-panel button{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-raised);color:var(--text);font-size:var(--text-sm);cursor:pointer;padding:4px 8px}.defense-panel button:disabled{opacity:.45;cursor:default}.defense-panel button:not(:disabled):hover{border-color:var(--accent)}.defense-panel button.defense-panel__danger{border-color:color-mix(in srgb, var(--danger) 60%, var(--border));color:var(--danger)}.defense-panel button.defense-panel__danger:not(:disabled):hover{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, var(--bg-raised))}.defense-panel__group{border-left:2px solid var(--border-strong);margin:2px 0;padding:2px 0 4px 10px}.defense-panel__group--load{border-left-color:var(--accent)}.defense-panel__group .defense-panel__heading{margin-top:2px}.defense-panel__group>button{margin:2px 6px 4px 0}.defense-socket{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.panel.defense-panel--inventory,.panel.defense-panel--inventory>.panel__body{flex:auto}.panel.defense-panel--inventory>*,.panel.defense-panel--inventory>.panel__body>*{flex:none}.panel.defense-panel--inventory>.panel__body>.defense-inventory{flex-direction:column;flex:1 1 0;min-height:150px;display:flex}.defense-inventory .defense-panel__heading{margin-top:4px}.defense-inventory__grid.dopants-view__grid{contain:size;flex:1 1 0;align-content:start;min-height:96px;margin:0;padding-right:4px;overflow-y:auto}@media (width<=1099px){.defense-inventory__grid.dopants-view__grid{contain:none;max-height:50vh}}.defense-panel__main{width:100%;margin:4px 0}.defense-panel__line{margin:0 0 6px}.defense-panel__muted{font-size:var(--text-xs);color:var(--text-muted);margin:0 0 6px}.defense-panel__good{font-size:var(--text-xs);color:var(--good);margin:0 0 6px}.defense-panel__heading{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:10px 0 4px;font-weight:600}.defense-panel__buttons{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;display:flex}.defense-panel__row{align-items:center;gap:8px;margin:6px 0;display:flex}.defense-panel__loads{flex-direction:column;gap:4px;margin:6px 0;display:flex}.defense-panel__load{text-align:left;grid-template-columns:70px 1fr auto;align-items:baseline;gap:8px;display:grid}.defense-panel__load .defense-panel__muted{margin:0}.defense-panel__load-name{font-weight:600}.defense-panel__stars{font-size:var(--text-xs);margin:6px 0 0;padding:0;list-style:none}.defense-panel__stars li{color:var(--text-muted);justify-content:space-between;display:flex}.defense-panel__stars li span:last-child{color:var(--challenge)}.defense-dopants{flex-direction:column;gap:4px;margin:0 0 6px;padding:0;list-style:none;display:flex}.defense-panel button.defense-dopant{text-align:left;justify-content:space-between;gap:8px;width:100%;display:flex}.defense-panel button.defense-dopant--on{border-color:#fff}.defense-dopant{flex-direction:column;gap:1px;display:inline-flex}.defense-dopant__name{font-size:var(--text-sm);font-weight:600}.defense-dopant__effect{font-size:var(--text-xs);color:var(--text-muted)}.level-chain{align-items:center;margin:4px 0 6px;padding:0 3px;list-style:none;display:flex}.level-chain__item{align-items:center;display:flex}.level-chain__item+.level-chain__item:before{content:"";background:var(--border-strong);width:10px;height:2px}.level-chain__item:has(.level-chain__node--lit)+.level-chain__item:has(.level-chain__node--lit):before{background:var(--accent)}.level-chain__node,.defense-panel button.level-chain__node{letter-spacing:-.06em;border:1px solid var(--border-strong);background:var(--bg-raised);width:26px;height:26px;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;overflow:hidden}.level-chain__node--lit,.defense-panel button.level-chain__node--lit{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 30%, var(--bg-raised));color:var(--text)}.level-chain__node--closed,.defense-panel button.level-chain__node--closed{opacity:.4;cursor:default}.level-chain__node--current{box-shadow:0 0 0 2px var(--accent)}.defense-panel__rule-name{font-size:var(--text-xs);color:var(--challenge);margin:0 0 6px}.defense-top{grid-column:1/span 3;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-self:stretch;gap:18px;min-height:0;display:grid}.defense-top__block{min-height:0;font-size:var(--text-sm);overflow-y:auto}.defense-top__block .defense-panel__stars{columns:2;column-gap:14px}.defense-top__block .defense-panel__stars li{break-inside:avoid;gap:6px}@media (width<=1099px){.defense-top{grid-column:1/-1;grid-auto-flow:row}}.defense-view__field{position:absolute;inset:0}.defense-view__anchor{pointer-events:none;width:1px;height:1px;position:fixed}.defense-view__pinned{z-index:4}.dopants-view{background:var(--bg);grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:16px;padding:14px 16px;display:grid;position:absolute;inset:0}.dopants-view__half{min-height:0;overflow-y:auto}@media (width<=900px){.dopants-view{display:block;overflow-y:auto}.dopants-view__half{overflow:visible}}.dopants-view__bar{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 12px;display:flex}.dopants-view__count{font-size:var(--text-sm);color:var(--text-muted);margin-left:auto}.dopants-view__scrap{font-size:var(--text-sm)}.dopants-view__grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.defense-panel button.dopants-view__tile,.dopants-view__tile{aspect-ratio:1;border-color:color-mix(in srgb, var(--rarity) 60%, var(--border));width:100%;color:var(--rarity);touch-action:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px;display:flex;position:relative}.defense-panel button.dopants-view__tile--dragged{opacity:.4}.dopants-drag{z-index:1000;border:1px solid color-mix(in srgb, var(--rarity) 60%, var(--border));border-radius:var(--radius);background:var(--bg-raised);pointer-events:none;will-change:transform;width:72px;position:fixed;top:0;left:0;box-shadow:0 4px 14px #00000080}.defense-panel button.dopants-view__tile--on{border-color:#fff;box-shadow:0 0 0 1px #fff}.defense-panel button.dopants-view__tile--fusion{border-style:dashed;border-color:var(--accent)}.dopant-tile__name{text-align:center;flex-direction:column;gap:4px;max-width:100%;font-size:11px;font-weight:600;line-height:1.1;display:flex;overflow:hidden}.dopant-tile__name--multi{gap:3px;font-size:10px}.dopant-tile__effect{flex-direction:column;display:flex}.dopant-tile__label{white-space:pre}.dopant-tile__level{white-space:nowrap;opacity:.85;font-weight:400}.dopants-view__on{background:var(--good);border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:4px}.dopants-view__detail{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);padding:10px 12px}.dopants-fusion{grid-template-columns:auto minmax(0,1fr)}.dopants-fusion__pair{align-items:flex-start;gap:28px;display:flex}.dopants-fusion__head{justify-content:space-between;align-items:center;gap:8px;min-height:22px;margin:0 0 2px;display:flex}.dopants-fusion__head>.assembly__title{margin:0}.dopants-fusion__head>button{font-size:var(--text-xs);padding:1px 8px}.dopants-fusion__head>.defense-panel__muted{font-size:var(--text-xs);cursor:help;margin:0}.dopants-fusion__pair .dopants-fusion__tree{margin:0}:root{--mod:#d65cff}.defense-panel button.dopants-view__tile--mod,.dopants-view__tile--mod{border-style:dashed}.dopants-view__mod-mark{background:var(--mod);width:6px;height:6px;position:absolute;top:4px;left:4px;transform:rotate(45deg)}.defense-dopant__mod{color:var(--mod)}.dopants-market{justify-self:end;width:max-content;max-width:100%}.dopants-market__head{justify-content:space-between;align-items:center;gap:12px;min-height:22px;margin:0 0 4px;display:flex}.dopants-market__head>.assembly__title{margin:0}.dopants-market__head>button{font-size:var(--text-xs);padding:1px 8px}.dopants-market__offers{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin:0;padding:0;list-style:none;display:flex}.dopants-market__offer{flex-direction:column;align-items:stretch;gap:4px;width:72px;display:flex}.dopants-market__offer>button{font-size:var(--text-xs);padding:2px 4px}.dopants-market__lock{font-size:var(--text-xs);color:var(--text-faint);align-items:center;gap:4px;display:flex}.defense-panel__speed{flex-wrap:wrap;align-items:center;gap:6px 8px;margin:8px 0 0;display:flex}.dopants-fusion__tree{--slot:72px;--line:var(--border-strong);grid-template-columns:var(--slot) var(--slot);justify-content:start;column-gap:24px;margin:4px 0 8px;display:grid}.dopants-fusion__tree--ready{--line:var(--accent)}.dopants-fusion__join{height:10px;margin:0 calc(var(--slot) / 2);border:1px solid var(--line);border-top:none;grid-column:1/-1}.dopants-fusion__stem{background:var(--line);grid-column:1/-1;justify-self:center;width:1px;height:10px}.dopants-fusion__out{grid-column:1/-1;justify-self:center}.dopants-fusion__slot,.defense-panel button.dopants-fusion__slot{border:1px solid color-mix(in srgb, var(--rarity,var(--border)) 60%, var(--border));border-radius:var(--radius);background:var(--bg-raised);width:72px;height:72px;color:var(--rarity,var(--text));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px;display:flex}.dopants-fusion__slot--empty{color:var(--text-faint);font-size:var(--text-xs);border-style:dashed}.dopants-fusion__slot--target,.defense-panel button.dopants-fusion__slot--target{border-style:dashed;border-color:var(--accent)}.dopants-fusion__slot--over,.defense-panel button.dopants-fusion__slot--over{box-shadow:0 0 0 2px var(--accent);border-style:solid}.dopants-shop__item{border-bottom:1px solid var(--border);margin:0 0 10px;padding:0 0 8px}.upgrades{flex-direction:column;gap:6px;display:flex}.upgrades+.upgrades{margin-top:8px}.upgrades__group{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin:0;font-weight:600}.upgrades--grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.upgrades--grid .upgrades__group{grid-column:1/-1}.upgrades__toggles{flex-wrap:wrap;gap:4px 16px;padding:4px 10px;display:flex}.upgrades__toggle{font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;display:flex}.bh-view{background:#05070a;flex-direction:column;display:flex;position:absolute;inset:0}.bh-top{grid-column:1/span 3;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-self:stretch;gap:18px;min-height:0;display:grid}.bh-top__block{min-height:0;font-size:var(--text-sm);overflow-y:auto}.bh-top__value{font-size:var(--text-lg);color:var(--text);margin:0 0 8px}.bh-top__value--singularity{color:#ff9a3c;font-weight:600}.bh-top__rows{flex-direction:column;gap:4px;margin:0;display:flex}.bh-top__rows div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.bh-top__rows dt{font-size:var(--text-xs);color:var(--text-muted)}.bh-top__rows dd{color:var(--text);margin:0}.bh-top__note{font-size:var(--text-xs);color:var(--text-faint)}@media (width<=1099px){.bh-top{grid-column:1/-1;grid-auto-flow:row}}.bh-view__stage{flex:1;min-height:0;position:relative}.bh-view__canvas{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.bh-view .bh-tip{z-index:5;border-color:color-mix(in srgb, var(--c,var(--border)) 55%, var(--border-strong));width:auto;max-width:280px;position:absolute}.bh-tip__name,.bh-body__name{color:var(--c,var(--text))}.bh-body__count{font-size:var(--text-xs);color:var(--text-muted);margin:0}.bh-body__facet,.bh-body__game{border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.bh-body .bh-body__buy{color:var(--bg);background:var(--c,var(--accent));border-color:var(--c,var(--accent));margin-top:6px}.bh-body .bh-body__buy:disabled{color:var(--text-muted);border-color:var(--border-strong);background:0 0}.bh-body__note{color:var(--text-muted);font-size:var(--text-xs);margin:6px 0 0}.pinned-card{z-index:4;cursor:grab;touch-action:none;width:300px;max-height:calc(100% - 24px);padding:12px 12px 10px;position:absolute;overflow-y:auto}.pinned-card--tl{top:12px;left:12px}.pinned-card--tr{top:12px;right:12px}.pinned-card--bl{bottom:12px;left:12px}.pinned-card--br{bottom:12px;right:12px}.pinned-card--dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.pinned-card__close{font-size:var(--text-lg);color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 6px;line-height:1;position:absolute;top:4px;right:6px}.pinned-card__close:hover{color:var(--text)}.pinned-card__buy{width:100%;color:var(--bg);background:var(--star);border:1px solid var(--star);border-radius:var(--radius-sm);cursor:pointer;margin-top:10px;padding:7px 10px;font-weight:600}.pinned-card__buy:hover:not(:disabled){filter:brightness(1.1)}.pinned-card__buy:disabled{color:var(--text-muted);border-color:var(--border-strong);cursor:default;background:0 0}.pinned-card__reset{color:var(--text);border-color:var(--border-strong);background:0 0}.pinned-card__reset--sure{color:var(--bg);background:var(--danger);border-color:var(--danger)}.assembly{background:radial-gradient(ellipse at 15% 50%, #4cc3ff0f, transparent 60%), var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-rows:minmax(0,1fr);grid-template-columns:200px minmax(240px,320px) minmax(240px,1fr) minmax(220px,1fr);align-items:center;gap:18px;height:218px;padding:14px 18px;display:grid;overflow:visible clip}.assembly__stage{flex-direction:column;align-items:center;gap:8px;display:flex}.assembly__core{--glow:0;border:2px solid color-mix(in srgb, var(--accent) calc(30% + var(--glow) * 70%), var(--border-strong));background:radial-gradient(circle at 50% 50%, rgb(140 220 255/calc(.15 + var(--glow) * .75)) 0%, rgb(40 140 230/calc(.1 + var(--glow) * .5)) 35%, #0a1e3ce6 70%, var(--bg) 100%);width:168px;height:168px;box-shadow:0 0 calc(10px + var(--glow) * 60px) rgb(76 195 255/calc(.15 + var(--glow) * .55)), inset 0 0 30px #0009;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:50%;transition:box-shadow .2s,border-color .2s,filter .15s;position:relative;overflow:visible}.assembly__core:hover{border-color:var(--accent)}.assembly__core:active{box-shadow:0 0 calc(10px + var(--glow) * 60px) rgb(76 195 255/calc(.15 + var(--glow) * .55)), inset 0 0 44px #000c;transition:none}.assembly__shot-beam{transform-origin:bottom;pointer-events:none;background:linear-gradient(#fff,#c8f0fff2 30%,#8cdcff00);border-radius:3px;width:6px;height:120px;animation:.52s cubic-bezier(.2,.7,.3,1) forwards assembly-shot;position:absolute;bottom:50%;left:calc(50% - 3px);box-shadow:0 0 12px #8cdcffe6}.assembly__beam{align-self:stretch;min-height:0;overflow-y:auto}.assembly__beam .buy{padding:5px 8px}.assembly__beam .buy__name{font-size:var(--text-sm)}.assembly--wait .assembly__core{filter:saturate(.3)brightness(.6);border-color:var(--border-strong)}.assembly--ready .assembly__core{border-color:var(--good);background:radial-gradient(circle,#8cffbee6 0%,#28c87899 40%,#0a2819e6 75%);box-shadow:0 0 60px #5fdc8fb3}.assembly__core-label{font-size:var(--text-sm);letter-spacing:.1em;text-transform:uppercase;text-shadow:0 1px 4px #000c;font-weight:600;position:absolute;top:58px;left:0;right:0}.assembly__core-value{font-size:var(--text-sm);color:var(--accent-strong);text-shadow:0 1px 4px #000c;position:absolute;top:82px;left:0;right:0}.assembly__floater{pointer-events:none;font-size:var(--text-sm);color:var(--accent-strong);text-shadow:0 0 8px #4cc3ffcc;white-space:nowrap;font-weight:600;animation:.9s ease-out forwards assembly-float;position:absolute;transform:translate(-50%,-50%)}.assembly__floater-detail{font-size:var(--text-xs);color:var(--text);text-shadow:none;white-space:nowrap;font-weight:500;display:block}.assembly__floater--big{font-size:var(--text-lg);color:var(--good);text-shadow:0 0 12px #5fdc8fe6}.assembly__floater--timed{border-radius:var(--radius-sm);box-shadow:0 0 0 1px var(--border-strong);text-align:center;z-index:2;background:#0a0e13e0;padding:3px 8px;animation-duration:2.6s}.assembly__title{font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px;font-weight:600}.assembly__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 16px;margin:0;display:grid}.assembly__stats dt{font-size:var(--text-xs);color:var(--text-faint)}.assembly__stats dd{font-size:var(--text-md);margin:0}.assembly__mult{color:var(--accent-strong)}.assembly__status{font-size:var(--text-xs);border-radius:var(--radius-sm);background:var(--bg-raised);color:var(--text-muted);border-left:3px solid var(--border-strong);margin:10px 0 0;padding:6px 8px}.assembly__status:has(.assembly__eta){justify-content:space-between;gap:12px;display:flex}.assembly__eta{text-align:right;flex:none}.assembly__status--rising{border-left-color:var(--accent);color:var(--accent-strong)}.assembly__status--rated{border-left-color:var(--good)}@keyframes assembly-shot{0%{opacity:0;transform:translateY(0)scaleY(.2)}15%{opacity:1}to{opacity:0;transform:translateY(-150px)scaleY(1.4)}}@keyframes assembly-float{0%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-260%)}}[data-motion=reduced] .assembly__floater{animation:.9s ease-in forwards assembly-fade!important}[data-motion=reduced] .assembly__floater--timed{animation-duration:2.6s!important}@keyframes assembly-fade{60%{opacity:1}to{opacity:0}}.assembly__collapse{contain:size;border:1px solid color-mix(in srgb, var(--star) 45%, var(--border));border-radius:var(--radius);background:var(--bg-raised);flex-direction:column;grid-column:4;justify-content:center;place-self:stretch end;width:min(100%,300px);padding:8px 12px;display:flex}.assembly__collapse-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 8px;margin-bottom:4px;display:flex}.assembly__collapse-head .assembly__title{margin:0}.assembly__collapse-gain{font-size:var(--text-lg);align-items:center;gap:10px;margin:0;display:flex}.assembly__collapse-stars{color:var(--star)}.assembly__collapse-hole{color:var(--warn);align-items:center;gap:2px;display:inline-flex}.assembly__collapse-hole-icon{--icon-bg:var(--bg-raised);fill:none;stroke:currentColor;stroke-width:3px;width:34px;height:34px;margin:-6px 0}.assembly__collapse-info{font-size:var(--text-xs);margin:0 0 6px}.assembly__collapse-info div{justify-content:space-between;gap:8px;display:flex}.assembly__collapse-info dt{color:var(--text-muted)}.assembly__collapse-info dd{color:var(--text);margin:0}.assembly__collapse-button{isolation:isolate;width:100%;font:inherit;color:var(--bg);background:var(--star);border-radius:var(--radius-sm);cursor:pointer;border:none;margin-top:4px;padding:7px 12px;font-weight:600;position:relative;overflow:hidden}.assembly__collapse-button:hover:not(:disabled){filter:brightness(1.1)}.assembly__collapse-button:disabled{color:var(--text-muted);background:color-mix(in srgb, var(--star) 16%, var(--bg-raised));cursor:default}.assembly__collapse--hole{border-color:color-mix(in srgb, var(--warn) 60%, var(--border))}.assembly__collapse--hole .assembly__title{color:var(--warn)}.assembly__collapse--hole .assembly__collapse-button{background:var(--warn)}.assembly__collapse--challenge{border-color:color-mix(in srgb, var(--challenge) 55%, var(--border))}.assembly__collapse--challenge .assembly__title,.assembly__collapse-name{color:var(--challenge)}.assembly__collapse-name{font-size:var(--text-md);margin:0;font-weight:600}.assembly__collapse-rule{font-size:var(--text-xs);color:var(--text-muted);margin:0 0 6px}.assembly__collapse--challenge .assembly__collapse-button{background:var(--challenge)}.assembly__collapse-skip{font-size:var(--text-xs);color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;margin-top:8px;display:flex}@media (width<=1099px){.assembly{grid-template-rows:none;grid-template-columns:200px minmax(0,1fr);height:auto}.assembly__beam{max-height:210px}.assembly__readouts,.assembly__collapse{grid-column:1/-1}.assembly__collapse{contain:none}.nurture__info{grid-column:2}}@media (width<=600px){.assembly{grid-template-columns:minmax(0,1fr)}.assembly__stage{justify-self:center}.nurture__info{flex-direction:column;grid-column:1}}.nurture__stage{justify-content:center;height:168px}.nurture__star{filter:drop-shadow(0 0 4px #e6c3ff80);width:168px;height:168px;overflow:visible}.nurture__star--locked{filter:none}.nurture__info{grid-column:2/span 2;align-self:start;gap:18px;display:flex}.nurture__main{flex-direction:column;flex:1 1 0;gap:6px;min-width:0;display:flex}.nurture__locked{font-size:var(--text-sm);color:var(--star);margin:0}.nurture__stats{gap:18px;margin:0;display:flex}.nurture__stats dt{font-size:var(--text-xs);color:var(--text-muted)}.nurture__stats dd{font-size:var(--text-md);margin:0}.nurture__after{color:var(--good)}.nurture__feed{font:inherit;color:var(--bg);background:var(--star);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:7px 12px;font-weight:600}.nurture__feed:hover:not(:disabled){filter:brightness(1.1)}.nurture__feed:disabled{color:var(--text-muted);background:var(--bg-raised);cursor:default}.nurture__evolved{font-size:var(--text-xs);color:var(--star);margin:0}.assembly:has(>.assembly__amount){position:relative}.assembly__amount{justify-content:flex-end;display:flex}.assembly__amount--beam_top,.assembly__amount--beam_bottom{z-index:1;background:var(--panel);padding:2px 0;position:sticky}.assembly__amount--beam_top{margin-bottom:4px;top:0}.assembly__amount--beam_bottom{margin-top:4px;bottom:0}.assembly__amount--corner_top,.assembly__amount--corner_bottom{z-index:1;position:absolute;left:10px}.assembly__amount--corner_top{top:8px}.assembly__amount--corner_bottom{bottom:8px}.assembly__title--amount{align-items:center;gap:6px;display:flex}.assembly__amount--core_title{letter-spacing:normal;text-transform:none;margin-left:auto}.tabs{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);flex-shrink:0;gap:4px;padding:3px;display:flex}.tabs__tab{font:inherit;font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;flex:1;padding:6px 8px}.tabs__tab:hover{color:var(--text);background:var(--panel-hover)}.tabs__tab--active{color:var(--text);background:var(--panel);box-shadow:inset 0 0 0 1px var(--border-strong)}.tabs--compact{align-self:flex-start}.tabs--compact .tabs__tab{flex:none;padding:6px 14px}.garage__yield{color:var(--good);font-family:var(--font-mono)}.mail-button{width:34px;height:34px;color:var(--text-muted);border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;margin-right:10px;padding:0;display:grid;position:relative}.mail-button:hover,.mail-button:focus-visible{color:var(--text);border-color:var(--border-strong)}.mail-button--new{color:var(--text)}.mail-icon{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.mail-button__count{min-width:16px;font-size:var(--text-xs);color:var(--bg);background:var(--danger);border-radius:8px;padding:0 4px;line-height:16px;position:absolute;top:-3px;right:-5px}.mail-button__sale{min-width:16px;font-size:var(--text-xs);color:var(--bg);background:var(--accent);border-radius:8px;padding:0 4px;line-height:16px;position:absolute;bottom:-3px;right:-5px}.modal__card.mail__card{text-align:left;flex-direction:column;width:min(780px,100vw - 32px);height:min(560px,100vh - 64px);padding:18px 20px 20px;display:flex}.mail__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.mail__title{margin:0}.mail__close{font:inherit;font-size:var(--text-sm);color:var(--text);background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;padding:4px 12px}.mail__close:hover{border-color:var(--accent)}.mail__body{flex:1;grid-template-columns:240px 1fr;gap:16px;min-height:0;display:grid}.mail__list{border-right:1px solid var(--border);margin:0;padding:0 8px 0 0;list-style:none;overflow-y:auto}.mail__item{width:100%;font:inherit;text-align:left;color:var(--text-muted);border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #0000;gap:2px;padding:7px 10px 7px 16px;display:grid;position:relative}.mail__item:hover{background:var(--panel-hover)}.mail__item--open{color:var(--text);background:var(--bg-raised);border-color:var(--border-strong)}.mail__item--unsent{opacity:.5}.mail__item--new:before{content:"";background:var(--danger);border-radius:50%;width:6px;height:6px;position:absolute;top:13px;left:5px}.mail__item--new .mail__item-subject{color:var(--text);font-weight:600}.mail__item-from{font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mail__item-from .mail-clip{vertical-align:-3px;color:var(--accent);margin-left:6px}.mail__item-subject{font-size:var(--text-sm)}.mail__letter{border-left:2px solid var(--accent-dim);padding:4px 6px 4px 14px;overflow-y:auto}.mail__letter--lab,.mail__letter--survey{border-left-color:var(--star)}.mail__letter--prince,.mail__letter--coin,.mail__letter--warranty,.mail__letter--chain{border-left-color:var(--good)}.mail__claim{border-color:var(--good)}.mail__buy{border-color:var(--warn);align-items:center;gap:10px;display:inline-flex}.mail__price{color:var(--warn);align-items:center;gap:2px;display:inline-flex}.mail__price-icon{--icon-bg:var(--bg-raised);fill:none;stroke:currentColor;stroke-width:4px;width:22px;height:22px}.mail__from{font-size:var(--text-sm);color:var(--text-muted);margin:0}.mail__subject{font-size:var(--text-lg);margin:4px 0 12px}.mail__para{margin:0 0 10px;line-height:1.5}.mail__sign{color:var(--text-muted);margin:14px 0 0;font-style:italic}.mail__answers{flex-wrap:wrap;gap:8px;margin:14px 0 0;display:flex}.mail__answer{font:inherit;font-size:var(--text-sm);color:var(--text);background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;padding:6px 12px}.mail__answer:hover:not(:disabled){border-color:var(--star)}.mail__answer:disabled{opacity:.5;cursor:default}.mail__answered{color:var(--text-muted);margin:14px 0 0}.mail__reward{font-size:var(--text-sm);color:var(--text-muted);border-top:1px solid var(--border);margin:16px 0 0;padding-top:10px}.mail__reward--paid{color:var(--good)}.mail__attachment{border-top:1px solid var(--border);margin:16px 0 0;padding-top:10px}.mail__attachment-head{font-size:var(--text-sm);color:var(--text-muted);align-items:center;gap:6px;margin:0 0 8px;display:flex}.mail__attachment .mail__reward{border-top:none;margin-top:8px;padding-top:0}.mail-clip{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.mail__pick{color:var(--text-muted)}@media (width<=640px){.mail__body{grid-template-columns:1fr}.mail__list{border-right:none;border-bottom:1px solid var(--border);max-height:30vh;padding:0 0 8px}.mail__letter{padding-left:10px}}.header{background:linear-gradient(180deg, var(--bg-raised), var(--bg));border-bottom:1px solid var(--border);grid-template-columns:minmax(180px,1fr) auto minmax(320px,1.4fr) auto;align-items:center;gap:24px;padding:10px 18px;display:grid}.header__effects{min-width:0;font-size:var(--text-xs);flex-direction:column;justify-content:center;gap:3px;display:flex;overflow:hidden}.header__effects-row{gap:6px;height:18px;display:flex}.header__pill{border:1px solid var(--border-strong);white-space:nowrap;border-radius:9px;flex:none;padding:0 9px;line-height:16px}.header__pill--compact{padding:0 7px}.header__count{align-items:center;gap:8px;display:flex}.header__neutrons{font-size:var(--text-xl);color:var(--accent-strong);text-shadow:0 0 18px #4cc3ff59;justify-content:flex-end;font-weight:600}.header__unit{color:var(--text-muted)}.header__rate{color:var(--good);font-size:var(--text-sm);transition:color .8s ease-out}.header__rate--pulse{color:var(--star);transition-duration:.4s;transition-timing-function:ease-in-out}.header__ladder{flex-direction:column;gap:4px;min-width:0;display:flex}.header__ladder-text{height:18px;font-size:var(--text-sm);white-space:nowrap;align-items:baseline;gap:8px;line-height:18px;display:flex;overflow:hidden}.header__ladder-label,.header__ladder-next{color:var(--text-muted)}.header__ladder-next{margin-left:auto}.header__bar{background:var(--border);border-radius:3px;height:5px;overflow:hidden}.header__bar--total{height:3px}.header__bar-step{background:var(--accent);height:100%;transition:width .2s linear}.header__bar-fill{background:linear-gradient(90deg, var(--accent-dim), var(--star));height:100%;transition:width .2s linear}.header__bar--star .header__bar-fill,.header__bar--star .header__bar-step{background:var(--star)}.header__bar--hole .header__bar-fill{background:var(--warn)}.header__bar--challenge .header__bar-fill{background:var(--challenge)}.header__ladder-star{color:var(--star)}.header__meta{font-size:var(--text-sm);color:var(--text-muted);align-items:center;gap:12px;display:flex}.header__boost,.header__minigame{border:1px solid}.header__offer{color:var(--good);border:1px solid var(--good)}.header__penalty{color:var(--danger);border-color:var(--danger)}.header__clock{flex-direction:column;align-items:flex-end;margin-left:12px;line-height:1.2;display:flex}.header__clock-time{font-size:var(--text-sm);color:var(--text)}.header__clock-date{font-size:var(--text-xs);color:var(--text-faint)}.header__clock--special .header__clock-time,.header__clock--special .header__clock-date{color:var(--danger)}.header__speed{color:var(--bg);background:var(--warn);border-color:var(--warn)}@media (width<=1099px){.header{flex-wrap:wrap;gap:8px 16px;padding:8px 16px;display:flex}.header__effects{flex:auto}.header__ladder{flex:100%;order:2}.header__ladder-text{white-space:normal;flex-wrap:wrap;height:auto}}.notify{z-index:50;pointer-events:none;width:min(540px,100vw - 32px);position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.notify__card{--depth:0;text-align:left;font:inherit;color:var(--text);background:var(--bg-raised);border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;pointer-events:auto;transform:translateY(calc(var(--depth) * -10px)) scale(calc(1 - var(--depth) * .04));transform-origin:50% 0;opacity:calc(1 - var(--depth) * .22);align-items:center;gap:14px;padding:12px 18px;transition:transform .22s ease-out,opacity .2s ease-out;animation:.22s ease-out notify-in;display:flex;position:absolute;bottom:0;left:0;right:0}.notify__body{flex-direction:column;gap:3px;display:flex}.notify__icon{--icon-bg:var(--bg-raised);flex:none;width:48px;height:48px}.notify__shape{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;filter:drop-shadow(0 0 3px);width:100%;height:100%}.notify__card--achievement{border-color:color-mix(in srgb, var(--rarity,var(--good)) 55%, var(--border-strong));border-left-color:var(--rarity,var(--good))}.notify__card--leaving{opacity:0;transform:translateY(8px)}.notify__card--behind{height:var(--front-h);overflow:hidden}.notify__card--behind>*{visibility:hidden}.notify__title{font-size:var(--text-md);color:var(--accent-strong)}.notify__card--achievement .notify__title{color:var(--rarity,var(--good))}.notify__text{font-size:var(--text-sm);color:var(--text-muted);line-height:1.4}@keyframes notify-in{0%{opacity:0;transform:translateY(12px)}}[data-motion=reduced] .notify__card{transition:none;animation:none}.modal{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#04060ab8;place-items:center;display:grid;position:fixed;inset:0}.modal__card{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:min(460px,100vw - 32px);box-shadow:var(--shadow);text-align:center;padding:24px 26px}.modal__card p{margin:8px 0}.modal__card--collapse{border-color:var(--star)}.modal__card--hole{border-color:var(--warn)}.modal__card--hole .modal__title{color:var(--warn)}.modal__stars.modal__hole{color:var(--warn);align-items:center;gap:4px;display:inline-flex}.modal__hole-icon{--icon-bg:var(--panel);fill:none;stroke:currentColor;stroke-width:3px;width:34px;height:34px}.modal__card--hole .modal__button:not(.modal__button--quiet){color:var(--bg);background:var(--warn);border-color:var(--warn)}.modal__card--hole .modal__button:not(.modal__button--quiet):hover{background:color-mix(in srgb, var(--warn) 85%, #fff)}.modal__card--old{width:min(520px,100vw - 32px)}.modal__choices{text-align:left;gap:8px;margin:14px 0 6px;display:grid}.modal__choice{font:inherit;color:var(--text);background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 12px;padding:9px 14px;display:grid}.modal__choice:hover:not(:disabled){border-color:var(--accent)}.modal__choice:disabled{opacity:.5;cursor:default}.modal__choice-name{font-weight:600}.modal__choice-detail{font-size:var(--text-sm);color:var(--text-muted);text-align:right}.modal__choice-tag{font-size:var(--text-xs);color:var(--accent-strong);grid-column:1/-1}.modal__choice--recommended{background:var(--accent-dim);border-color:var(--accent)}.modal__star{background:radial-gradient(circle, #fff 0%, var(--star) 35%, #8c50ff33 70%, transparent 72%);border-radius:50%;width:64px;height:64px;margin:0 auto 12px;animation:1.2s ease-in-out infinite modal-pulse;position:relative}.modal__star:before,.modal__star:after{content:"";animation:inherit;border-radius:50%;position:absolute;inset:0}.modal__star:before{box-shadow:0 0 40px var(--star);animation-name:modal-glow-small}.modal__star:after{box-shadow:0 0 70px var(--star);opacity:0;animation-name:modal-glow-large}.modal__title{font-size:var(--text-lg);margin:0 0 8px}.modal__muted{font-size:var(--text-sm);color:var(--text-muted)}.modal__button{background:var(--accent-dim);border:1px solid var(--accent);border-radius:var(--radius);cursor:pointer;margin-top:14px;padding:10px 26px;font-weight:600}.modal__button:hover{background:color-mix(in srgb, var(--accent-dim) 70%, var(--accent))}@keyframes modal-pulse{50%{transform:scale(.92)}}@keyframes modal-glow-small{50%{opacity:0}}@keyframes modal-glow-large{50%{opacity:1}}.modal__stars{font-size:var(--text-lg);color:var(--star);margin:4px 0 10px}.modal__buttons{grid-template-columns:1fr 1fr;gap:10px;display:grid}.modal__buttons .modal__button{padding-left:12px;padding-right:12px}.modal__button--quiet{border-color:var(--border-strong);background:0 0}.modal__button--quiet:hover{background:var(--panel-hover)}.modal__keep-lose{text-align:center;font-size:var(--text-sm);grid-template-columns:1fr 1fr;gap:16px;margin:12px 0 4px;display:grid}.modal__keep-lose h3{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px;font-weight:600}.modal__keep h3{color:var(--good)}.modal__lose h3{color:var(--warn)}.modal__keep-lose ul{color:var(--text-muted);margin:0;padding:0;list-style:none}.modal__keep-lose li+li{margin-top:3px}.modal__end-stats{text-align:left;gap:4px;margin:14px 0;display:grid}.modal__end-stats div{justify-content:space-between;gap:16px;display:flex}.modal__end-stats dt{color:var(--text-muted)}.modal__end-stats dd{margin:0}.ach{flex-direction:column;gap:10px;height:100%;padding:14px 20px 16px;display:flex}.ach__head{flex-wrap:wrap;align-items:baseline;gap:4px 16px;display:flex}.ach__title{font-size:var(--text-lg);margin:0}.ach__count,.ach__bonus{font-size:var(--text-sm);color:var(--text-muted)}.ach__bonus{color:var(--good)}.ach__legend{font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;gap:4px 14px;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.ach__legend li{align-items:center;gap:4px;display:flex}.ach__legend-icon{width:18px;height:18px;stroke:var(--rarity);stroke-width:4px;fill:none}.ach__legend-icon--hole{stroke-width:3px;width:34px;height:34px;margin:-8px -4px}.ach__frame{flex:1;justify-content:center;align-items:flex-start;min-height:0;display:flex;container-type:size}.ach__table{--cell:min(calc((100cqw - 17 * 4px) / 18), calc((100cqh - 9 * 4px) / 9.4));grid-template-columns:repeat(18, var(--cell));grid-template-rows:repeat(7, var(--cell)) calc(var(--cell) * .4) repeat(2, var(--cell));gap:4px;display:grid}.ach-cell{cursor:default;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);justify-content:center;align-items:center;display:flex;position:relative}.ach-cell--empty{background:0 0;border-color:#212c398c}.ach-cell__symbol{font-size:clamp(8px, calc(var(--cell) * .17), 13px);color:var(--text-faint);position:absolute;top:3px;left:5px}.ach-cell--empty .ach-cell__symbol{font-size:clamp(8px, calc(var(--cell) * .24), 15px);color:#56657799;position:static}.ach-cell__icon{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;shape-rendering:geometricprecision;width:72%;height:72%;color:var(--text-faint);opacity:.45}.ach-cell__edge--back{stroke:color-mix(in srgb, currentColor 30%, var(--icon-bg,var(--bg)))}.ach-cell--reached{border-color:color-mix(in srgb, var(--rarity) 55%, var(--border));background:radial-gradient(circle at 50% 55%, color-mix(in srgb, var(--rarity) calc(var(--glow,1) * 16%), transparent), transparent 70%), var(--bg)}.ach-cell--reached .ach-cell__icon{opacity:1;filter:drop-shadow(0 0 3px color-mix(in srgb, var(--rarity) calc(var(--glow,1) * 100%), transparent))}.ach-cell--reached .ach-cell__symbol{color:var(--text-muted)}.ach-cell--covered .ach-cell__symbol{font-size:clamp(10px, calc(var(--cell) * .34), 22px);color:var(--text-muted);font-weight:600;position:static}.ach-cell__icon--glitch{filter:drop-shadow(2px 0 #ff4f6d)drop-shadow(-2px 0 #4cc3ff);transform:translate(1.5px,-1px)skew(-8deg)}.ach-cell:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ach-cell__level{font-size:clamp(9px, calc(var(--cell) * .17), 13px);color:var(--text-muted);font-weight:600;position:absolute;bottom:3px;right:4px}.ach-cell--reached .ach-cell__level{color:var(--rarity)}.ach-cell--chain{cursor:pointer}.ach-chain{--level:52px;z-index:55;grid-template-columns:repeat(var(--columns,6), var(--level));gap:6px;max-width:min(640px,100vw - 16px);padding:8px;display:grid;position:fixed}.ach-chain--moving,.ach-chain--moving .ach-chain__level{pointer-events:none}.ach-chain__level{--cell:var(--level);width:var(--level);height:var(--level)}.hovercard__next{border-top:1px solid var(--border);color:var(--text-muted);margin:8px 0 0;padding-top:6px}.hovercard__next-label{color:var(--accent)}.hovercard__element{font-size:var(--text-xs);color:var(--text-muted);margin:0 0 4px;font-style:italic}.hovercard__stat{color:var(--accent);margin:6px 0 0}[data-contrast=high] .ach-cell--empty .ach-cell__symbol{color:var(--text-faint)}[data-contrast=high] .ach-cell--empty{border-color:var(--border)}.hovercard__penalty{color:var(--danger);margin:0 0 8px}.ach-cell__face{fill:currentColor;stroke:none}.auto{flex-direction:column;gap:14px;height:100%;padding:16px 20px;display:flex;overflow-y:auto}.auto__help{align-self:flex-start;margin-left:0}.auto__grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-auto-rows:1fr;gap:10px;display:grid}.auto__card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.auto__title{font-size:var(--text-md);margin:0}.auto__hint{font-size:var(--text-xs);color:var(--text-faint);margin:0}.auto__stats{font-size:var(--text-sm);flex-wrap:wrap;gap:6px 20px;margin:0;display:flex}.auto__stats dt{font-size:var(--text-xs);color:var(--text-faint)}.auto__stats dd{margin:0}.auto__switch{font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;display:flex}.auto__spend{font-size:var(--text-xs);color:var(--text-muted);grid-template-columns:1fr auto;align-items:center;gap:2px 8px;display:grid}.auto__spend span:first-child{grid-column:1/-1}.auto__spend input{width:100%;accent-color:var(--accent)}.auto__pct{text-align:right;min-width:3.5em;color:var(--text)}.auto__card--locked{background:0 0;border-style:dashed}.auto__card--locked .auto__title{color:var(--text-muted)}.auto__locked{font-size:var(--text-xs);color:var(--star);margin:0}.challenges-view{background:radial-gradient(at 50% 45%,#465aaa1f,#0000 70%),#05070c;height:100%;position:relative;overflow:hidden}.sky{width:100%;height:100%;position:absolute;inset:0}.sky--layer,.sky--fg{will-change:transform}.sky--layer{pointer-events:none;overflow:visible}[data-motion=reduced] .sky--layer,[data-motion=reduced] .sky--fg{transform:none!important}.sky__milky{fill:none;stroke:#96aaff;stroke-linecap:round;opacity:.005}.sky__field{fill:#cfd8ff}.sky__route{stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:1 7;stroke-linecap:round}.sky__route--lit{stroke:var(--star);opacity:.55}.sky__hit{fill:#0000;cursor:pointer}.sky__line{fill:none;stroke:var(--border-strong);stroke-width:1.2px;stroke-dasharray:.04 .06}.sky__line--lit{stroke:var(--star);stroke-width:1.6px;stroke-dasharray:none}.sky__glow{fill:none;stroke:var(--star);stroke-width:6px;stroke-linecap:round;opacity:.12}.sky__star{cursor:pointer}.sky__target{fill:#0000}.sky__core{fill:var(--text-faint)}.sky__star--lit .sky__core{fill:#fff}.sky__halo{fill:var(--star);opacity:.22}.sky__group--locked{opacity:.4}.sky__group--locked .sky__line{stroke-dasharray:.02 .08}.sky__group:hover .sky__core,.sky__group--picked .sky__core{fill:var(--text-muted)}.sky__group:hover .sky__star--lit .sky__core,.sky__group--picked .sky__star--lit .sky__core{fill:#fff}.sky__label{fill:var(--text-muted);letter-spacing:.16em;text-anchor:middle;text-transform:uppercase;pointer-events:none;font-size:11px}.sky__name{fill:var(--text);text-anchor:middle;pointer-events:none;font-size:12px}.sky__group--complete .sky__label{fill:var(--star)}.sky__running{fill:none;stroke:var(--challenge);stroke-width:1px;stroke-dasharray:4 7;transform-box:fill-box;transform-origin:50%;pointer-events:none;animation:.45s ease-out sky-grow-in,1.5s linear infinite sky-dash}.sky__running--out{animation:.28s cubic-bezier(.4,0,1,1) both sky-balloon}.sky__reticle{fill:none;stroke:var(--star);pointer-events:none;transform-box:fill-box;transform-origin:50%;animation:.45s ease-out sky-zoom}.sky__reticle ellipse{stroke-width:1.1px;stroke-dasharray:1;stroke-dashoffset:1px;animation:.5s ease-out forwards sky-draw}.sky__reticle path{stroke-width:1.6px}.sky__reticle--out{animation:.28s cubic-bezier(.4,0,1,1) both sky-balloon}.sky__reticle--out ellipse{stroke-dashoffset:0;animation:none}.sky__burst{fill:none;stroke:#fff;stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;pointer-events:none;animation:1.4s ease-out forwards sky-burst}.sky__star--new .sky__core{transform-box:fill-box;transform-origin:50%;animation:1.2s ease-out sky-flash}.sky__line--new{stroke-dasharray:1;stroke-dashoffset:1px;animation:.9s cubic-bezier(.61,1,.88,1) .3s forwards sky-draw}.sky__ring{fill:none;stroke:var(--star);stroke-width:2px;vector-effect:non-scaling-stroke;opacity:0;pointer-events:none;animation:1.8s ease-out 1.4s forwards sky-ring}.sky__all{fill:var(--star);letter-spacing:.2em;text-anchor:middle;text-transform:uppercase;opacity:0;pointer-events:none;font-size:22px;animation:4.4s ease-in-out .6s forwards sky-text}@keyframes sky-dash{to{stroke-dashoffset:-11px}}@keyframes sky-zoom{0%{opacity:0;transform:scale(1.35)}}@keyframes sky-grow-in{0%{opacity:0;scale:1.35}}@keyframes sky-balloon{to{opacity:0;scale:1.35}}@keyframes sky-draw{to{stroke-dashoffset:0}}@keyframes sky-burst{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(5)}}@keyframes sky-flash{25%{fill:#fff;transform:scale(2.6)}}@keyframes sky-ring{0%{r:0;opacity:.9}to{r:var(--ring-r);opacity:0}}@keyframes sky-text{20%,75%{opacity:1}to{opacity:0}}[data-motion=reduced] .challenges-view *{animation:none!important}[data-motion=reduced] .sky__line--new,[data-motion=reduced] .sky__reticle ellipse{stroke-dashoffset:0}[data-motion=reduced] .sky__burst,[data-motion=reduced] .sky__ring,[data-motion=reduced] .sky__all{display:none}.sky-card{flex-direction:column;gap:6px;display:flex}.sky-card p{margin:0}.sky-card__sky{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.sky-card__name{font-size:var(--text-md);margin:0}.sky-card__rule,.sky-card__text{font-size:var(--text-xs);color:var(--text-muted)}.sky-card__text--ready{color:var(--good)}.sky-card__text--wait{color:var(--challenge)}.sky-card__row{font-size:var(--text-xs);color:var(--text-muted);justify-content:space-between;gap:8px;display:flex}.sky-card__bar{background:var(--bg-field);border:1px solid var(--border);border-radius:3px;height:5px;overflow:hidden}.sky-card__fill{background:var(--star);height:100%}.modal__card.feedback{text-align:left;flex-direction:column;gap:12px;width:min(600px,100vw - 32px);max-height:calc(100vh - 32px);display:flex;overflow-y:auto}.feedback .modal__title{margin-bottom:0}.feedback__field{flex-direction:column;gap:6px;display:flex}.feedback__label{font-size:var(--text-sm);color:var(--text-muted);justify-content:space-between;margin:0;font-weight:600;display:flex}.feedback__count{color:var(--text-faint);font-weight:400}.feedback__own{align-self:flex-start;width:min(100%,280px)}.feedback__text{min-height:140px;font:inherit;color:var(--text);background:var(--bg-field);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--field-shadow);resize:vertical;outline:none;padding:8px 10px}.feedback__text:focus,.feedback__own:focus{border-color:var(--accent)}.feedback__sent{font-size:var(--text-sm);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.feedback__sent ul{margin:6px 0;padding-left:18px}.feedback__sent p{color:var(--text-muted);margin:6px 0}.feedback__toggle{font:inherit;font-size:var(--text-xs);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:4px 10px}.feedback__toggle:hover{background:var(--panel-hover)}.feedback__data h4{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);margin:10px 0 4px}.feedback__data pre{max-height:180px;font-size:var(--text-xs);white-space:pre;background:var(--bg-field);border:1px solid var(--border);border-radius:var(--radius-sm);margin:0;padding:6px 8px;overflow:auto}.feedback__error{color:var(--danger)}.feedback .modal__button:disabled{opacity:.5;cursor:default}.tabs__feedback{font:inherit;font-size:var(--text-sm);color:var(--accent-strong);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;flex:none;padding:6px 14px}.tabs__feedback:hover{background:var(--accent-dim)}.number-field{background:var(--bg-field);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--field-shadow);align-items:stretch;display:inline-flex}.number-field input[type=number]{width:64px;min-width:0;box-shadow:none;appearance:textfield;background:0 0;border:none}.number-field input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.number-field input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.number-field__arrows{border-left:1px solid var(--border);flex-direction:column;display:flex}.number-field__arrows button{cursor:pointer;background:0 0;border:none;flex:1;place-items:center;width:18px;padding:0;display:grid}.number-field__arrows button+button{border-top:1px solid var(--border)}.number-field__arrows button:hover:not(:disabled){background:var(--panel-hover)}.number-field__arrows button:disabled{cursor:default}.number-field__up,.number-field__down{border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0}.number-field__up{border-bottom:4px solid var(--text-muted)}.number-field__down{border-top:4px solid var(--text-muted)}.number-field__arrows button:hover:not(:disabled) span{border-top-color:var(--text);border-bottom-color:var(--text)}.number-field__arrows button:disabled span{opacity:.35}.tree,.tree__inner{background:radial-gradient(ellipse at 50% 50%, #7896dc14, transparent 70%), var(--bg-raised)}.tree{height:100%;position:relative}.tree__layer,.tree__inner{position:absolute;inset:0}.tree__layer--negative .tree__inner{filter:invert()}.tree__sweep{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.tree__scan{transform-origin:50%;background:#fff;height:2px;position:absolute;top:-1px;left:0;box-shadow:0 0 6px 1px #ffffffb3,0 0 22px 6px #96b9ff59}.tree__fold{--fold:48px;z-index:3;width:var(--fold);height:var(--fold);cursor:pointer;border:0;padding:0;transition:width .15s ease-out,height .15s ease-out;position:absolute}.tree__fold:hover,.tree__fold:focus-visible{outline:none;width:64px;height:64px}.tree__fold--tr{clip-path:polygon(0 0,100% 0,100% 100%);background:linear-gradient(to top right, transparent calc(50% - 1px), #000 calc(50% - 1px), #000 calc(50% + 1px), var(--bg-raised) calc(50% + 1px));filter:invert();top:0;right:0}.tree__fold--bl{clip-path:polygon(0 0,0 100%,100% 100%);background:linear-gradient(to bottom left, transparent calc(50% - 1px), #fff calc(50% - 1px), #fff calc(50% + 1px), var(--bg-raised) calc(50% + 1px));bottom:0;left:0}[data-motion=reduced] .tree__fold{transition:none}.tree__head{pointer-events:none;flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex;position:absolute;top:10px;left:14px;right:14px}.tree__stars{font-size:var(--text-lg);color:var(--star);background:var(--bg-raised);border-radius:4px;padding:2px 8px}.tree__anchor{pointer-events:none;width:1px;height:1px;position:fixed}.tree .pinned-card--tl{top:44px}.flat{position:absolute;inset:0;overflow:hidden}.flat__svg{display:block}.circuit{cursor:grab}.circuit__dot{fill:#7896c81f}.circuit__trace path{fill:none;stroke:var(--border-strong);stroke-width:2px}.circuit__trace--locked path{stroke-dasharray:4 5;opacity:.6}.circuit__trace--on path{stroke:var(--c)}.circuit__trace .circuit__flow{stroke:#fff;stroke-width:2px;stroke-dasharray:3 13;opacity:.7;animation:circuit-flow var(--flow-s,1.6s) steps(16) infinite}@keyframes circuit-flow{to{stroke-dashoffset:-16px}}.circuit__core rect{fill:var(--bg);stroke:var(--star);stroke-width:2.5px}.circuit__core text{fill:var(--star);font-size:22px}.circuit__chip{cursor:pointer}.circuit__chip rect{fill:var(--bg);stroke:var(--border-strong);stroke-width:2px}.circuit__chip--affordable rect{stroke:color-mix(in srgb, var(--c) 45%, var(--border-strong))}.circuit__symbol{font-family:var(--font-mono);fill:var(--text-muted);font-size:15px;font-weight:600}.circuit__picto{fill:none;stroke:var(--text-muted);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.circuit__level{font-family:var(--font-mono);fill:var(--c);font-size:8px}.circuit__chip--owned rect,.circuit__chip--maxed rect{stroke:var(--c)}.circuit__chip--owned .circuit__symbol,.circuit__chip--maxed .circuit__symbol{fill:var(--c)}.circuit__chip--owned .circuit__picto,.circuit__chip--maxed .circuit__picto{stroke:var(--c)}.circuit__chip--maxed rect{fill:color-mix(in srgb, var(--c) 18%, var(--bg))}.circuit__chip--next .circuit__level{fill:#fff;font-weight:700}.circuit__chip--locked{cursor:grab}.circuit__chip--locked rect{stroke:var(--border-strong);stroke-dasharray:4 3}.circuit__chip--locked .circuit__symbol{fill:var(--text-faint)}.circuit__chip--locked .circuit__picto{stroke:var(--text-faint)}.circuit__chip--hover rect{stroke-width:3px}.circuit__chip--core .circuit__picto{stroke-width:1.2px}.circuit__draw{fill:none;stroke:var(--c);stroke-width:2px;stroke-dasharray:1;stroke-dashoffset:1px;animation:.6s ease-out forwards circuit-draw}@keyframes circuit-draw{to{stroke-dashoffset:0}}.circuit__chip-body{transform-box:fill-box;transform-origin:50%}.circuit__chip--bought{animation:.35s ease-out .55s both circuit-pop}.circuit__chip--bought rect{animation:.35s ease-out .55s both circuit-lit}@keyframes circuit-pop{50%{transform:scale(1.15)}}@keyframes circuit-lit{40%{stroke:#fff;stroke-width:3px}}.circuit__chip--unlock rect{animation:.6s ease-out .65s both circuit-unlock}@keyframes circuit-unlock{40%{stroke:#fff;stroke-width:3px}}.circuit__chip--appear{animation:.45s ease-out .8s both circuit-appear}@keyframes circuit-appear{0%{opacity:0;transform:scale(.6)}}.circuit__trace--appear path{animation:.45s ease-out .8s both circuit-fade}@keyframes circuit-fade{0%{opacity:0}}.circuit__chip--reveal{animation:.45s ease-out both circuit-appear;animation-delay:var(--delay)}.circuit__trace--reveal path{animation:.45s ease-out both circuit-fade;animation-delay:var(--delay)}[data-motion=reduced] .circuit__draw,[data-motion=reduced] .circuit__chip--reveal,[data-motion=reduced] .circuit__trace--reveal path,[data-motion=reduced] .circuit__chip-body,[data-motion=reduced] .circuit__chip-body rect,[data-motion=reduced] .circuit__trace--appear path{stroke-dashoffset:0;animation:none}.circuit__chip--spec,.circuit__chip--spec.circuit__chip--locked{cursor:pointer}.circuit__ghosts rect{fill:none;stroke:var(--border);stroke-width:1.5px;stroke-dasharray:3 4;opacity:.7;pointer-events:none}.circuit__chip--other rect{stroke:var(--border);stroke-dasharray:2 3}.circuit__chip--other .circuit__symbol{fill:var(--text-faint);opacity:.6}.circuit__chip--other .circuit__picto{stroke:var(--text-faint);opacity:.6}.circuit__core--click{cursor:pointer}.star-wire line{stroke-width:1.4px;stroke-linecap:butt}.tree-card__level{font-size:var(--text-sm);color:var(--text-muted);font-weight:400}.tree-card__effect{color:var(--star);margin:0 0 8px}.tree-card__note{color:var(--warn);margin:8px 0 0}.settings{flex-direction:column;gap:12px;height:100%;padding:16px 20px;display:flex;overflow-y:auto}.settings__body{width:min(640px,100%)}.settings__body--split{grid-template-columns:minmax(0,640px) minmax(300px,1fr);align-items:start;gap:24px;width:100%;display:grid}@media (width<=1100px){.settings__body--split{grid-template-columns:minmax(0,640px)}}.anim-preview{min-width:0;position:sticky;top:0}.anim-preview__stage{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);place-items:center;height:440px;display:grid;position:relative;overflow:hidden}.anim-preview__stage>svg{width:100%;height:100%}.anim-preview__hint{font-size:var(--text-sm);color:var(--text-muted)}.anim-preview__sky{position:absolute;inset:0}.anim-preview__note{width:min(440px,100% - 32px);height:72px;position:relative}.settings__section{padding:4px 0 12px}.settings__heading{font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px;font-weight:600}.settings__row{font-size:var(--text-sm);border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.settings__locked{color:var(--text-faint)}.settings__buttons{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.settings__buttons button,.settings__row>button{font-size:var(--text-sm);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:6px 12px}.settings__buttons button:hover,.settings__row>button:hover{border-color:var(--accent-dim)}.settings__buttons .settings__danger{border-color:var(--bad,#ff5d6c);color:var(--bad,#ff5d6c)}.settings__buttons .settings__danger--solid{border-color:var(--danger);background:var(--danger);color:var(--bg);font-weight:600}.settings__status{font-size:var(--text-xs);color:var(--text-muted);margin:8px 0 0}.settings__error{font-size:var(--text-xs);color:var(--bad,#ff5d6c);white-space:pre-wrap;margin:8px 0 0}.settings__subheading{font-size:var(--text-xs);color:var(--text-faint);margin:8px 0 2px}.settings__key{grid-template-columns:minmax(0,1fr) auto auto;display:grid}.settings__keys{text-align:right;min-width:8ch;color:var(--accent-strong)}.settings__key--clash .settings__keys{color:var(--warn)}.settings__key-buttons{gap:4px;display:flex}.settings__key-buttons button,.settings__slot button{font-size:var(--text-xs);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:2px 8px}.settings__key-buttons button:hover,.settings__slot button:hover:not(:disabled){border-color:var(--accent-dim)}.settings__slot button:disabled{opacity:.5;cursor:default}.settings__slot{font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:12px;padding:4px 0;display:flex}.settings__slot--active{color:var(--accent-strong)}.settings__slot-name{width:14em;padding:1px 6px}.settings__slot-info{color:var(--text-muted);font-size:var(--text-xs)}.settings__feedback{margin:auto 0 6px}.settings__version{font-size:var(--text-xs);color:var(--text-faint);margin:0}.settings__row--stack{flex-direction:column;align-items:stretch}.bh-looks{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;display:grid}.bh-look{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius,4px);flex-direction:column;align-items:center;gap:4px;margin:0;padding:8px 6px 6px;display:flex}.bh-look svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;filter:drop-shadow(0 0 3px);width:64px;height:64px}.bh-look__back{stroke:color-mix(in srgb, currentColor 30%, var(--bg))}.bh-look figcaption{font-size:var(--text-xs);color:var(--text-muted);text-align:center}.star-cards{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;display:grid}.star-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius,4px);font-size:var(--text-xs);color:var(--text-muted);cursor:pointer;flex-direction:column;align-items:center;gap:4px;padding:8px 6px 6px;display:flex}.star-card--picked{border-color:var(--accent);color:var(--text)}.star-card__big{color:var(--star);font-size:48px;line-height:1}.star-card__big .cur-icon line{stroke-width:1.6px}.star-card__sample{font-size:var(--text-sm);color:var(--text)}.stats{flex-direction:column;gap:14px;height:100%;padding:16px 20px;display:flex;overflow-y:auto}.stats__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.stats__title{font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 6px;font-weight:600}.stats__hint{font-size:var(--text-xs);color:var(--text-muted);margin:0}.stats__copy{font-size:var(--text-sm);background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;flex:none;padding:4px 12px}.stats__copy:hover{border-color:var(--accent)}.stats__grid{columns:300px;column-gap:10px}.stats__card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);break-inside:avoid;flex-direction:column;gap:2px;margin-bottom:10px;padding:12px 14px;display:flex}.stats__card-title{font-size:var(--text-sm);margin:0 0 6px;font-weight:600}.stats__row{font-size:var(--text-xs);color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:12px;padding:2px 0;display:flex}.stats__row .num{color:var(--text);text-align:right}.stats__row--sub{padding-left:12px}.stats__row--parts{cursor:help}.stats__row--parts:hover{color:var(--text)}.stats__more{color:var(--text-faint)}.stats__bars{align-self:center;width:90px;height:18px}.stats__bars rect{fill:var(--star);opacity:.75}.main{gap:var(--gap);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.main__body{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);flex:1;min-height:0;position:relative;overflow:hidden}.main__view{z-index:5;background:var(--bg-raised);position:absolute;inset:0;overflow:hidden}.fission-panel__prompt{cursor:help}.app{flex-direction:column;height:100%;display:flex}.app__main{gap:var(--gap);min-height:0;padding:var(--gap);flex:1;grid-template-columns:340px minmax(0,1fr);display:grid}.app__col{gap:var(--gap);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.app__center{gap:var(--gap);flex-direction:column;min-width:0;min-height:0;display:flex}.app__main--narrow{grid-template-columns:minmax(0,1fr)}.app__main--narrow .main{flex:none;height:75vh;min-height:420px}@media (width<=600px){.app__main{padding:var(--gap-sm) 16px}}:root{--font-ui:"Inter", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", ui-monospace, monospace;--bg:#0a0e13;--bg-raised:#10161e;--panel:#131a23;--panel-hover:#18212c;--bg-field:#04070a;--field-shadow:inset 0 1px 4px #000c;--border:#212c39;--border-strong:#31404f;--text:#d9e2ec;--text-muted:#8494a6;--text-faint:#76869a;--accent:#4cc3ff;--accent-strong:#8ad8ff;--accent-dim:#1d4f6b;--good:#5fdc8f;--warn:#ffb547;--danger:#ff5d5d;--star:#e6c3ff;--challenge:#ffd75f;--radius-sm:2px;--radius:3px;--radius-lg:4px;--gap:12px;--gap-sm:6px;--shadow:0 8px 24px #00000073;--text-xs:11px;--text-sm:12.5px;--text-md:14px;--text-lg:18px;--text-xl:28px}[data-contrast=high]{--text:#f4f7fa;--text-muted:#c6d2de;--text-faint:#a3b3c4;--border:#3f5266;--border-strong:#62798f;--accent-dim:#2b6f96;--panel:#10161e;--bg-raised:#0d1218}*,:before,:after{box-sizing:border-box}*{scrollbar-width:none}::-webkit-scrollbar{display:none}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:var(--text-md);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;cursor:default;line-height:1.4}input,textarea,select{-webkit-user-select:text;user-select:text;cursor:auto}button{font:inherit;color:inherit}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}[data-motion=reduced] *,[data-motion=reduced] :before,[data-motion=reduced] :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}input[type=checkbox]{appearance:none;background:var(--bg-field);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:34px;height:18px;box-shadow:var(--field-shadow);cursor:pointer;flex:none;margin:0;position:relative}input[type=checkbox]:after{content:"";background:var(--text-muted);border-radius:1px;width:12px;height:12px;transition:transform .12s ease-out,background .12s;position:absolute;top:2px;left:2px}input[type=checkbox]:checked:after{background:var(--good);transform:translate(16px)}input[type=checkbox]:disabled{opacity:.5;cursor:default}input[type=number],input[type=text]{font:inherit;font-family:var(--font-mono);color:var(--text);background:var(--bg-field);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--field-shadow);cursor:text;outline:none;padding:4px 8px}input[type=number]{font-variant-numeric:tabular-nums}input[type=checkbox]:focus-visible,.select__field:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=range]{appearance:none;cursor:pointer;background:0 0;height:16px}input[type=range]::-webkit-slider-runnable-track{background:var(--border-strong);border-radius:var(--radius-sm);height:4px}input[type=range]::-moz-range-track{background:var(--border-strong);border-radius:var(--radius-sm);height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border-radius:var(--radius-sm);border:none;width:12px;height:16px;margin-top:-6px}input[type=range]::-moz-range-thumb{background:var(--accent);border-radius:var(--radius-sm);border:none;width:12px;height:16px}
