:root{color-scheme:dark;--bg: #111315;--surface: #191d20;--surface-2: #20262a;--line: rgba(255, 255, 255, .09);--text: #f1f4f2;--muted: #9ca7a1;--green: #7bd66f;--green-2: #45b263;--amber: #efbd4d;--cyan: #6ccde8;--violet: #9f87ff;--red: #f0736e;--value-shadow: 0 1px 1px rgba(0, 0, 0, .72);--floating-nav-height: 70px;--floating-nav-edge-gap: 10px;--floating-nav-content-gap: 12px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.draft-modal .autodraft-paused-copy{grid-column:1 / -1;width:100%;margin:0;color:#f4d58a;font-size:11px;font-weight:800;line-height:1.2}.autodraft-notice{position:fixed;z-index:40;left:50%;bottom:calc(var(--floating-nav-height) + var(--floating-nav-edge-gap) + 6px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 28px);transform:translate(-50%);padding:9px 12px;border:1px solid rgba(108,205,232,.32);border-radius:8px;background:#171b1ef5;box-shadow:0 8px 24px #00000061;color:#ddf7ff;font-size:11px;font-weight:850;line-height:1.3;text-align:center;pointer-events:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;overflow:hidden;background:var(--bg);color:var(--text);user-select:none;-webkit-user-select:none}html,body,#root{height:100%;background:var(--bg)}.selectable{user-select:text;-webkit-user-select:text}button{border:1px solid var(--line);border-radius:8px;background:#ffffff0e;color:var(--text);font:inherit;font-size:12px;font-weight:850;min-height:34px;padding:0 12px;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}.app-shell{--app-top-gutter: 0px;--app-hud-top-gutter: 0px;width:min(100vw,980px);height:100vh;height:100dvh;margin:0 auto;position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);user-select:none;-webkit-user-select:none;background:var(--bg)}.app-shell.web-beta-pwa.ios-standalone.no-hud{--app-top-gutter: 64px}.app-shell.web-beta-pwa.ios-standalone:not(.no-hud){--app-hud-top-gutter: 8px}.app-shell.no-hud{grid-template-rows:minmax(0,1fr)}.hud{padding:calc(max(12px,env(safe-area-inset-top)) + var(--app-hud-top-gutter)) 14px 10px;border-bottom:1px solid var(--line);background:var(--bg)}.top-line{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:8px;margin-bottom:10px}.top-actions{display:flex;gap:8px}.clock{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;font-weight:900;text-shadow:var(--value-shadow)}.boost-chip{min-width:88px;min-height:32px;padding:0 12px;border-color:#7bd66f57;background:#7bd66f1a;color:#dfffdc;font-size:11px}.boost-chip.active{min-width:72px;min-height:26px;display:grid;place-items:center;padding:0 9px;border:1px solid rgba(123,214,111,.26);border-radius:8px;background:#7bd66f14;color:#dfffdc;font-size:10px;font-weight:950;font-variant-numeric:tabular-nums;text-shadow:var(--value-shadow)}.boost-chip.active:disabled{cursor:default;opacity:1}.utility-button{min-height:30px;color:#ddf7ff;border-color:#6ccde847;background:#6ccde814}.resource-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:11px}.resource-strip div{min-width:0;display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:5px;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:#ffffff0b;color:var(--muted)}.game-icon{width:var(--game-icon-size);height:var(--game-icon-size);display:block;object-fit:contain;opacity:var(--game-icon-opacity);flex:0 0 auto;justify-self:var(--game-icon-justify-self);transform:translate(var(--game-icon-shift-x),var(--game-icon-shift-y));margin-right:var(--game-icon-gap-after)}.game-icon-tint-yellow{filter:brightness(0) saturate(100%) invert(88%) sepia(18%) saturate(690%) hue-rotate(352deg) brightness(104%) contrast(102%)}.resource-strip strong{display:block;color:var(--text);font-size:clamp(14px,3.7vw,20px);line-height:1;overflow:hidden;text-shadow:var(--value-shadow);text-overflow:ellipsis;white-space:nowrap}.meters{display:grid;gap:10px}.meter-head,.building-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;font-weight:820}.meter-head strong,.building-head h2{color:var(--text);font-size:13px;font-weight:950}.meter-head strong span{margin-left:7px;color:var(--amber);font-size:11px;font-weight:900;text-shadow:var(--value-shadow)}.meter-head .infection-stage-label{display:inline-flex;align-items:baseline;gap:4px;color:var(--text)}.meter-head .infection-stage-label span{margin-left:0;color:inherit}.meter-head .infection-stage-label .infection-percent{color:var(--cyan);font-variant-numeric:tabular-nums}.meter-head>span,.icon-value-button span,.building-head>span{text-shadow:var(--value-shadow)}.next-stage-preview{color:#c4d3da9e;white-space:nowrap}.meter-next-resource{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px}.meter-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;margin-top:0}.meter-copy{min-width:0}.meter-button{min-width:104px;min-height:38px;align-self:stretch;padding:0 12px;border-color:#efbd4d61;background:#efbd4d14;color:#ffe6a8;font-size:11px;line-height:1.1}.meter-button.prestige{border-color:#9f87ff6b;background:#9f87ff17;color:#e5dcff}.icon-value-button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.card-browser-button{border-color:#6ccde85c;background:#6ccde814;color:#ddf7ff}.meter-button.infection-claim{border-color:#5fb0be6b;background:#5fb0be17;color:#d9fbff}.track{height:13px;margin-top:7px;overflow:hidden;border:1px solid rgba(255,255,255,.065);border-radius:99px;background:#00000059}.meter-action-row .track{height:13px;margin-top:7px}.fill{width:0%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green-2),var(--green))}.fill.throughput{background:var(--green);box-shadow:0 0 9px #7bd66f33}.fill.infection,.fill.invasion{background:linear-gradient(90deg,#5fb0be,var(--cyan))}.fill.infection.throughput,.fill.invasion.throughput{background:var(--cyan);box-shadow:0 0 9px #6ccde838}.building-row.stalled .fill.throughput{filter:saturate(.25);opacity:.42;box-shadow:none}.fill.prestige{background:linear-gradient(90deg,#7255d9,var(--violet))}.fill.adaptation{background:linear-gradient(90deg,#b98326,var(--amber))}.content{min-height:0;height:100%;overflow:auto;padding:12px 14px calc(var(--floating-nav-height) + var(--floating-nav-edge-gap) + var(--floating-nav-content-gap) + env(safe-area-inset-bottom));scroll-padding-bottom:calc(var(--floating-nav-height) + var(--floating-nav-edge-gap) + var(--floating-nav-content-gap) + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overflow-anchor:none;scrollbar-width:none;-ms-overflow-style:none}.content::-webkit-scrollbar{display:none;width:0;height:0}.replication-unlock-prompt{margin:0 0 10px;color:#cceff8;font-size:11px;font-weight:850;line-height:1.3;text-align:center;text-shadow:var(--value-shadow)}.objective-banner{position:relative;width:100%;min-width:0;min-height:38px;display:grid;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:6px;margin:0;padding:3px 8px;border:1px solid rgba(108,205,232,.2);border-radius:8px;background:#6ccde80e;color:#dff7fb;text-align:center}.objective-banner:hover{border-color:#6ccde861;background:#6ccde81a}.objective-banner.required{border-color:#7bd66f61;background:#7bd66f13}.objective-banner.suggestion{border-color:#efbd4d57;background:#efbd4d11}.objective-banner.suggestion .objective-banner-copy>span{color:var(--amber)}.objective-banner:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.objective-banner-copy{min-width:0;display:flex;align-items:baseline;justify-content:center;gap:5px;text-align:center}.objective-banner-copy strong{min-width:0;color:#dff7fb;font-size:10px;font-weight:900;line-height:1.2;overflow:hidden;text-shadow:var(--value-shadow);text-overflow:ellipsis;white-space:nowrap}.objective-banner-copy>span{flex:0 0 auto;color:var(--cyan);font-size:10px;font-weight:950;font-variant-numeric:tabular-nums;line-height:1;text-shadow:var(--value-shadow);white-space:nowrap}.building-info-button{min-width:30px;width:30px;min-height:30px;height:30px;display:grid;place-items:center;padding:0;border-color:#6ccde83d;background:#6ccde812;color:#cceff8}.objective-banner-info{display:block;justify-self:end;color:#cceff8;opacity:.82;pointer-events:none}.building-info-button:hover{border-color:#6ccde86b;background:#6ccde81f}.objective-announcement,.replication-unlock-announcement{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.app-shell.no-hud .content{padding-top:calc(12px + var(--app-top-gutter))}.building-list,.shop-grid{display:grid;gap:10px}.building-slot-list{grid-template-columns:1fr}.building-section{display:grid;gap:8px}.building-section-head{width:100%;min-height:24px;display:flex;align-items:center;gap:8px;padding:0;border:0;border-radius:0;background:transparent;color:var(--muted);text-align:left}.building-section-head:after{content:"";order:2;height:1px;flex:1;background:#ffffff14}.building-section-head:hover,.building-section-head:focus-visible{color:#f1f4f2e6}.building-section-head-static{pointer-events:none}.building-section-head:hover:after,.building-section-head:focus-visible:after{background:#ffffff21}.building-section-head h2{order:1;margin:0;color:#f1f4f2c7;font-size:10px;font-weight:950;letter-spacing:0;text-transform:uppercase}.section-mode-arrow{order:3;width:10px;height:14px;display:grid;place-items:center;flex:0 0 auto}.section-mode-arrow:before{content:"";display:block;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:8px solid #8fa098}.section-mode-arrow.expanded:before{transform:rotate(-90deg)}.building-row,.shop-row,.prestige-shop-header{border:1px solid var(--line);border-radius:8px;background:#ffffff0a;padding:12px}.building-row.locked{opacity:.58}.building-compact-grid{display:grid;grid-template-columns:repeat(var(--building-compact-columns, 3),minmax(0,1fr));gap:var(--building-compact-gap, 8px);overflow-x:hidden;overflow-anchor:none}.building-compact-card{width:100%;min-width:0;aspect-ratio:5 / 6;display:block;padding:0;border:1px solid var(--line);border-radius:8px;background:#ffffff0a;text-align:center;overflow:hidden;container-type:inline-size;overflow-anchor:none}.building-compact-card-inner{width:100%;height:100%;display:grid;grid-template-rows:minmax(22.6cqw,auto) minmax(0,1fr) auto;justify-items:center;align-items:center;gap:4cqw;padding:8.1cqw 6.5cqw}.building-compact-card-inner h3{align-self:start;margin:0;color:var(--text);font-size:8.9cqw;font-weight:950;line-height:1.05;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.building-compact-radial{width:58cqw;aspect-ratio:1 / 1;position:relative;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#171c1f;box-shadow:inset 0 0 0 1px #7bd66f24}.building-compact-card.invasion .building-compact-radial{box-shadow:inset 0 0 0 1px #6ccde826}.building-compact-ring{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;transform:rotate(-90deg)}.building-compact-ring circle{fill:none;stroke-width:14}.building-compact-ring-track{stroke:#7bd66f38}.building-compact-ring-progress{stroke:#a6ee9c}.building-compact-card.invasion .building-compact-ring-track{stroke:#6ccde838}.building-compact-card.invasion .building-compact-ring-progress{stroke:#8cecff}.building-compact-card.stalled .building-compact-radial{opacity:.62}.building-compact-radial span{position:relative;z-index:1;color:var(--cyan);font-size:8.1cqw;font-weight:950;font-variant-numeric:tabular-nums;line-height:1;text-shadow:var(--value-shadow);white-space:nowrap}.building-compact-radial.milestone span{font-size:8.3cqw;letter-spacing:-.035em}.building-compact-output{max-width:100%;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:2.8cqw;color:var(--text);font-size:8.1cqw;font-weight:950;line-height:1.1;overflow:hidden;text-shadow:var(--value-shadow)}.building-compact-output .game-icon{width:10.5cqw;height:10.5cqw;margin-right:0}.building-compact-output span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.building-compact-empty-slot{width:100%;min-width:0;aspect-ratio:1 / 1;display:grid;place-items:center;padding:0;border:1px dashed rgba(255,255,255,.16);border-radius:8px;background:#ffffff05;color:#b9d6bbb3;container-type:inline-size}.building-compact-empty-slot:disabled{cursor:default;opacity:1}.building-compact-empty-slot svg{display:block;width:21cqw;height:21cqw}.building-head h2,.building-head p,.shop-row h3,.shop-row p{margin:0}.building-head p,.shop-row p{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.35}.building-head span{color:var(--cyan);font-size:11px;font-weight:900}.building-head-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;flex:0 0 auto}.building-head-actions>span{white-space:nowrap}.building-head-actions .building-info-button{min-width:28px;width:28px;min-height:28px;height:28px}.building-summary-rows{display:grid;gap:4px;margin-top:8px}.building-effect-scope{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0;padding:7px 8px;border:1px solid rgba(108,205,232,.14);border-radius:7px;background:#6ccde80a;line-height:1.2}.building-effect-scope span{color:#cceff8;font-size:10px;font-weight:900}.building-effect-scope strong{flex:0 0 auto;color:var(--cyan);font-size:12px;font-weight:950;text-align:right;text-shadow:var(--value-shadow)}.building-input-row{border-color:#ffffff14;background:#ffffff06}.building-input-row span,.building-input-row strong{color:var(--muted)}.building-input-row.unaffordable{border-color:#f0736e2e;background:#f0736e09}.building-input-row.unaffordable span,.building-input-row.unaffordable strong{color:var(--red)}.building-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.building-detail-grid span{color:var(--muted);font-size:10px;font-weight:800}.building-detail-grid strong{display:block;margin-top:3px;color:var(--text);font-size:12px;font-weight:950}.bottom-tabs{position:absolute;z-index:5;right:calc(14px + env(safe-area-inset-right));bottom:calc(var(--floating-nav-edge-gap) + env(safe-area-inset-bottom));left:calc(14px + env(safe-area-inset-left));width:auto;display:grid;grid-template-columns:repeat(var(--tab-count, 4),1fr);gap:0;padding:5px;isolation:isolate;border:1px solid rgba(255,255,255,.13);border-radius:22px;background:#161b1de0;box-shadow:0 16px 34px #0000007a,inset 0 1px #ffffff0f;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}.bottom-tab-selection{position:absolute;z-index:0;top:5px;bottom:5px;left:5px;width:calc((100% - 10px) / var(--tab-count, 4));border:1px solid rgba(123,214,111,.44);border-radius:17px;background:linear-gradient(180deg,#7bd66f38,#7bd66f1c);box-shadow:0 4px 14px #2d844529,inset 0 1px #ffffff0f;transform:translate(calc(var(--active-tab-index) * 100%));transition:transform .28s cubic-bezier(.22,1,.36,1);pointer-events:none}.bottom-tabs button{position:relative;z-index:1;min-width:0;min-height:58px;display:grid;grid-template-rows:36px auto;place-items:center;align-content:center;gap:2px;padding:3px 2px;border:0;border-radius:17px;background:transparent;color:var(--muted);font-size:9px;line-height:1}.bottom-tabs svg{display:block}.tab-icon-stage{width:36px;height:36px;display:grid;place-items:center}.tab-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-image-icon{width:22px;height:22px;display:block;object-fit:contain}.tab-sprite-icon{width:36px;height:36px;display:block;background-position:0 0;background-repeat:no-repeat;animation-name:tab-icon-sprite;animation-iteration-count:infinite}@keyframes tab-icon-sprite{to{background-position:var(--tab-icon-end-position) 0}}.bottom-tabs button.selected{border-color:transparent;background:transparent;color:#dfffdc}.bottom-tabs button:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}.bottom-tabs button:disabled{cursor:not-allowed;opacity:.48}.bottom-tabs button.tutorial-locked{cursor:not-allowed}.bottom-tabs button.tutorial-locked svg{color:#fff}.replication-unlock-progress{position:absolute;right:6px;bottom:3px;left:6px;height:2px;overflow:hidden;border-radius:999px;background:#ffffff1f}.replication-unlock-progress>span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#5fb0be,var(--cyan))}.bottom-tabs button.replication-unlocked{animation:replication-unlocked-pulse 1.6s ease-out 1}.tab-new-indicator{position:absolute;top:7px;left:calc(50% + 10px);width:7px;height:7px;border:1px solid rgba(17,19,21,.8);border-radius:50%;background:var(--amber);box-shadow:0 0 0 2px #efbd4d24}@keyframes replication-unlocked-pulse{0%,to{border-color:var(--line);box-shadow:none}32%{border-color:#6ccde8e6;background:#6ccde82b;box-shadow:0 0 0 2px #6ccde82e,0 0 18px #6ccde83d;color:#e4faff}}@media(prefers-reduced-motion:reduce){.bottom-tab-selection{transition:none}.tab-sprite-icon{animation:none}.bottom-tabs button.replication-unlocked{animation:none;border-color:#6ccde8b8;background:#6ccde81f}}.prestige-view{display:grid;gap:10px;min-height:min-content}.prestige-shop-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.prestige-shop-header span{color:var(--muted);font-size:11px;font-weight:950;text-transform:uppercase}.prestige-shop-header strong{color:var(--text);font-size:18px;font-weight:950;text-shadow:var(--value-shadow)}.primary-action{border-color:#9f87ff6b;background:#9f87ff21}.danger-action{border-color:#f0736e70;background:#f0736e1f;color:#ffd2d0}.secondary-action{border-color:#ffffff21;background:#ffffff0e;color:var(--text)}.shop-row{display:grid;gap:8px;align-items:start}.shop-row>button,.shop-purchase-row>button:not(.upgrade-effect){width:112px;min-height:52px;display:grid;place-items:center;align-content:center;gap:3px;padding:6px 8px}.shop-row>button span,.shop-purchase-row>button:not(.upgrade-effect) span{color:inherit;font-size:12px;font-weight:950}.shop-row>button small,.shop-purchase-row>button:not(.upgrade-effect) small{color:var(--muted);font-size:9px;font-weight:850;line-height:1}.shop-purchase-row>button.shop-buy-button.icon-value-button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.shop-buy-button.unaffordable:disabled{border-color:#f0736e57;background:#f0736e11;color:var(--red);opacity:.92}.shop-buy-button.unaffordable:disabled span{color:var(--red)}.shop-buy-button.unaffordable:disabled .game-icon{filter:brightness(0) saturate(100%) invert(61%) sepia(35%) saturate(1208%) hue-rotate(315deg) brightness(101%) contrast(88%)}.shop-main{min-width:0}.shop-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.shop-tabs button{min-width:0;min-height:36px;display:flex;align-items:center;justify-content:center;gap:4px;padding:0 6px;color:var(--muted);font-size:10px;line-height:1.05}.shop-tab-new{padding:2px 4px;border-radius:99px;background:#efbd4d29;color:#f8d986;font-size:7px;font-weight:950;letter-spacing:.04em;line-height:1;text-transform:uppercase}.shop-tabs button.selected{border-color:#7bd66f6b;background:#7bd66f1c;color:#dfffdc}.shop-title-row,.shop-purchase-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.shop-purchase-row{margin-top:8px}.shop-title-row h3{min-width:0}.shop-row p{margin-top:2px}.shop-title-row span{display:block;color:var(--cyan);font-size:10px;font-weight:850}.upgrade-effect{position:relative;display:grid;gap:5px;justify-items:start;min-width:0;width:100%;min-height:52px;padding:8px 10px;border:1px solid rgba(255,255,255,.075);border-radius:8px;background:#0000002e;text-align:left}.upgrade-effect small{color:var(--muted);font-size:10px;font-weight:850;line-height:1.1}.upgrade-effect strong{font-size:16px;line-height:1;overflow:hidden;text-shadow:var(--value-shadow);text-overflow:ellipsis;white-space:nowrap}.effect-current{color:#aeb7b1;text-shadow:var(--value-shadow)}.effect-next{color:#dfffdc;text-shadow:var(--value-shadow)}.effect-arrow{display:inline-block;width:0;height:0;margin:0 7px 1px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid #8fa098}.upgrade-info-icon{position:absolute;top:8px;right:8px;color:var(--muted);opacity:.85}.upgrade-details{display:grid;gap:8px}.upgrade-details .modal-head{align-items:flex-start;margin-bottom:0}.upgrade-details .close-button:not(.icon-close-button){width:30px;height:30px;min-height:30px}.upgrade-detail-actions{display:grid}.upgrade-detail-actions .shop-buy-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.detail-summary{display:grid;gap:5px;padding:8px 10px;border:1px solid rgba(255,255,255,.075);border-radius:8px;background:#0000002e}.detail-summary small{color:var(--muted);font-size:10px;font-weight:850}.detail-summary strong{font-size:18px;text-shadow:var(--value-shadow)}.infection-permanent-summary{gap:9px}.permanent-unlock-list{display:grid;gap:6px}.permanent-unlock-list strong{display:block;color:var(--text);font-size:12px;font-weight:850;line-height:1.2}.stage-unlock-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:8px}.stage-unlock-actions.single{grid-template-columns:1fr}.stage-unlock-actions button{min-height:44px}.draft-warning-modal{display:grid;gap:12px}.draft-warning-modal .modal-head{align-items:flex-start;margin-bottom:0}.draft-warning-actions{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:8px}.draft-warning-actions button{min-height:44px}.prestige-confirm{display:grid;gap:12px}.prestige-gain-summary strong{color:var(--violet);text-shadow:var(--value-shadow)}.prestige-recommendation{margin:0;padding:9px 10px;border:1px solid rgba(239,189,77,.2);border-radius:8px;background:#efbd4d0e;color:#f3ddb0;font-size:11px;font-weight:750;line-height:1.35}.prestige-recommendation.ready{border-color:#7bd66f42;background:#7bd66f0f;color:#dfffdc}.prestige-impact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.prestige-impact-section{padding:10px;border:1px solid rgba(255,255,255,.065);border-radius:8px;background:#ffffff09}.prestige-impact-section h3{margin:0 0 8px;color:var(--muted);font-size:10px;font-weight:950;text-transform:uppercase}.prestige-impact-section ul{display:grid;gap:6px;margin:0;padding-left:16px;color:var(--text);font-size:12px;font-weight:750;line-height:1.25}.prestige-confirm-actions{display:grid;grid-template-columns:1fr;gap:8px}.prestige-confirm-actions button{min-height:44px}.detail-table{display:grid;gap:6px}.detail-table-head,.detail-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.75fr) minmax(0,.75fr);gap:8px;align-items:center}.detail-table-head{color:var(--muted);font-size:9px;font-weight:950}.detail-row{padding:8px;border:1px solid rgba(255,255,255,.065);border-radius:8px;background:#ffffff09;font-size:12px;font-weight:850}.shop-row.disabled{opacity:.55}.modal-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:end center;padding:16px 16px calc(94px + env(safe-area-inset-bottom));background:#00000094}.modal-card{width:min(100%,720px);max-height:min(82vh,760px);overflow:auto;border:1px solid var(--line);border-radius:10px;background:#171b1e;padding:14px}.modal-card.compact{max-width:420px}.education-modal{max-height:min(82vh,680px);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;user-select:none;-webkit-user-select:none}.education-modal .modal-head{align-items:center;margin-bottom:10px}.modal-head .education-eyebrow{margin:0 0 4px;color:var(--cyan);font-size:9px;font-weight:950;letter-spacing:.08em;line-height:1;text-transform:uppercase}.education-sections{min-height:0;display:grid;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;touch-action:pan-y;gap:8px}.education-sections::-webkit-scrollbar{display:none;width:0;height:0}.goal-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 10px;padding:9px 10px;border:1px solid rgba(108,205,232,.16);border-radius:8px;background:#6ccde80b}.goal-progress>span:first-child{color:var(--muted);font-size:10px;font-weight:850}.goal-progress>strong{color:var(--cyan);font-size:11px;font-weight:950;font-variant-numeric:tabular-nums;text-shadow:var(--value-shadow)}.goal-progress-track{grid-column:1 / -1;height:7px;overflow:hidden;border-radius:99px;background:#00000052}.goal-progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5fb0be,var(--cyan))}.goal-story{margin:0;padding:0 2px;color:#cbd5d0;font-size:11px;font-weight:700;line-height:1.4}.goal-gameplay-card{display:grid;gap:9px;padding:10px;border:1px solid rgba(123,214,111,.16);border-radius:8px;background:#7bd66f0a}.goal-gameplay-card>div{display:grid;gap:4px}.goal-gameplay-card h3,.goal-gameplay-card p{margin:0}.goal-gameplay-card h3{color:var(--text);font-size:11px;font-weight:950;line-height:1.2}.goal-gameplay-card p{color:var(--muted);font-size:11px;font-weight:650;line-height:1.4}.goal-gameplay-card .education-action{color:#dfffdc;font-weight:850}.goal-gameplay-card .goal-abstraction{margin-top:2px}.goal-reward{padding-top:9px;border-top:1px solid rgba(255,255,255,.065)}.goal-primary-action{width:100%;min-height:44px;border-color:#7bd66f6b;background:#7bd66f1f;color:#dfffdc}.goal-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:8px}.goal-actions>:only-child{grid-column:1 / -1}.goal-actions .goal-primary-action,.goal-actions .goal-secondary-action{min-height:44px}.goal-secondary-action{width:100%;color:#d7dfda}.autodraft-tier-notice{position:absolute;z-index:40;left:50%;bottom:calc(var(--floating-nav-height) + var(--floating-nav-edge-gap) + 6px + env(safe-area-inset-bottom));width:min(420px,calc(100% - 28px));display:grid;gap:9px;transform:translate(-50%);padding:11px;border:1px solid rgba(108,205,232,.32);border-radius:12px;background:#171b1ef7;box-shadow:0 10px 28px #0000007a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.autodraft-tier-copy{display:grid;gap:3px}.autodraft-tier-copy strong{color:#ddf7ff;font-size:12px;font-weight:950}.autodraft-tier-copy p{margin:0;color:var(--muted);font-size:10px;font-weight:700;line-height:1.35}.autodraft-tier-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}.autodraft-tier-actions button{min-height:38px;padding:0 8px;font-size:10px}.education-disclosure{overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#ffffff06}.education-disclosure>summary{min-height:40px;display:list-item;padding:9px 10px;color:#cceff8;font-size:11px;font-weight:900;line-height:20px;cursor:pointer;list-style-position:inside}.education-disclosure>summary:hover{background:#6ccde80e}.education-disclosure>summary:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}.education-disclosure-body{display:grid;gap:8px;padding:0 8px 8px}.education-section,.education-term,.education-sources{padding:9px 10px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#ffffff08}.education-section h3,.education-sources h3,.education-term strong{margin:0;color:var(--text);font-size:11px;font-weight:950;line-height:1.2}.education-section p,.education-term p,.education-section ul,.education-sources ul{margin:5px 0 0;color:var(--muted);font-size:11px;font-weight:650;line-height:1.4}.education-section ul,.education-sources ul{display:grid;gap:4px;padding-left:16px}.education-section .education-action{color:#dfffdc;font-weight:800}.education-term{border-color:#efbd4d2e;background:#efbd4d0e}.education-term strong{color:#ffe6a8}.education-sources a{color:#cceff8;text-decoration-color:#6ccde873;text-underline-offset:2px}.education-sources a span{color:var(--muted)}.modal-head{display:flex;justify-content:space-between;gap:14px;margin-bottom:12px}.modal-head h2,.modal-head p{margin:0}.modal-head p{margin-top:4px;color:var(--muted);font-size:12px}.close-button{width:34px;padding:0}.icon-close-button{min-width:34px;width:34px;height:34px;min-height:34px;display:grid;place-items:center;flex:0 0 auto;border-color:#ffffff24;background:#ffffff0e;color:var(--text)}.icon-close-button:hover{border-color:#ffffff3d;background:#ffffff17}.icon-close-button svg{display:block}.promo-modal{display:grid;gap:12px}.promo-modal .modal-head{margin-bottom:0;align-items:center}.promo-modal .close-button{margin-top:-2px}.promo-art{width:100%;aspect-ratio:16 / 9;display:block;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#0000003d;object-fit:cover}.promo-hook{margin:0;color:#dfffdc;font-size:13px;font-weight:750;line-height:1.3;text-align:center}.promo-actions{display:grid;gap:8px}.promo-primary-action,.promo-claim-action{width:100%;min-width:0;min-height:46px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;padding:8px 12px;font:inherit;font-size:12px;font-weight:900;line-height:1.1}.promo-primary-action{border:1px solid rgba(123,214,111,.64);background:linear-gradient(180deg,#58b95e,#3f914e);color:#fff;text-decoration:none;text-shadow:var(--value-shadow);box-shadow:inset 0 1px #ffffff29}.promo-primary-action:hover{background:linear-gradient(180deg,#65c66a,#49a057)}.promo-primary-action:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.promo-claim-action{border-color:#7bd66f52;background:#7bd66f14;color:#dfffdc}.promo-remove-action{min-height:40px;justify-self:center;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-color:transparent;background:transparent;color:var(--muted)}.promo-remove-action:hover{border-color:#ffffff1a;background:#ffffff09;color:var(--text)}.purchase-placeholder{display:grid;gap:9px;padding:10px;border:1px solid rgba(159,135,255,.24);border-radius:8px;background:#9f87ff12}.purchase-placeholder h3,.purchase-placeholder p{margin:0}.purchase-placeholder h3{font-size:14px}.purchase-placeholder p{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.35}.purchase-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.draft-modal .modal-head{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:7px}.draft-modal-title-row,.draft-modal-secondary-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.draft-modal .modal-head h2{min-width:0;white-space:nowrap}.draft-modal .draft-selection-count{margin:0}.draft-modal-status{min-width:0;display:grid;align-content:center;gap:3px}.draft-modal-status .autodraft-paused-copy{margin:0;line-height:1.15}.draft-modal-actions{display:flex;align-items:stretch;gap:8px}.draft-modal-actions .draft-reroll-button{width:44px;min-width:44px;height:38px;min-height:38px;display:grid;place-items:center;gap:1px;padding:3px 4px}.draft-reroll-button svg{width:15px;height:15px}.draft-modal-actions .card-browser-button{align-self:stretch}.draft-modal-actions small{color:var(--muted);font-size:9px;line-height:1}.draft-modal .close-button{justify-self:end;width:30px;height:30px;min-height:30px}.choice-grid{display:grid;gap:8px}.choice-card{min-height:78px;display:grid;grid-template-rows:auto 1fr;gap:4px;padding:10px;text-align:left}.choice-title-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.choice-card .choice-title{font-size:16px;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.choice-title{color:#f4f4f0}.choice-card-meta{min-width:0;display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;color:var(--muted);font-size:11px;font-weight:850;line-height:1}.choice-card-icon{width:24px;height:24px;flex:0 0 24px;object-fit:contain;opacity:.9;transform:scale(1.4)}.choice-effect-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.choice-description{min-width:0;color:var(--muted);font-size:12px;font-weight:500;line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.choice-impact-values{display:inline-flex;align-items:center;justify-content:flex-end;font-size:14px;font-weight:950;line-height:1;white-space:nowrap}.choice-impact-values .effect-current{color:#aeb7b1}.choice-impact-values .effect-arrow{margin-left:6px;margin-right:6px;transform:scale(.82)}.choice-impact-values .effect-next{color:#ffd56f}.choice-card.building .choice-effect-row{grid-template-columns:minmax(0,1fr)}.choice-card.uncommon .choice-title{color:#78d88f}.choice-card.rare .choice-title{color:#68b9ff}.choice-card.epic .choice-title{color:#c58cff}.choice-card.legendary .choice-title{color:#ff6b6b}.choice-card.uncommon{border-color:#78d88f42}.choice-card.rare{border-color:#68b9ff4d}.choice-card.epic{border-color:#c58cff52}.choice-card.legendary{border-color:#ff6b6b5c}.stat-number{color:#ffe6a8;font-weight:950;text-shadow:var(--value-shadow)}.card-browser-backdrop{grid-template-rows:minmax(0,1fr) auto;place-items:stretch center;align-content:stretch;gap:8px}.modal-card.compact.card-browser-modal{width:min(100%,540px);max-width:540px;height:100%;max-height:none;min-height:0;overflow:hidden}.card-browser-modal{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px}.card-browser-head{margin-bottom:0;align-items:flex-start}.card-browser-head-actions{display:inline-flex;align-items:flex-start;gap:7px;flex:0 0 auto}.card-browser-scale-controls{display:inline-flex;gap:5px}.card-browser-scale-button{padding:0;border-color:#6ccde833;background:#6ccde813;color:#c8f3ee}.card-browser-scale-button svg{margin:auto}.card-browser-scale-button:hover:not(:disabled){border-color:#6ccde861;background:#6ccde824}.card-browser-scale-button:disabled{opacity:.34;cursor:default}.card-browser-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.card-browser-filters button{min-width:0;min-height:32px;padding:5px 6px;color:var(--muted);font-size:10px;line-height:1}.card-browser-filters button.selected{border-color:#6ccde861;background:#6ccde81a;color:#ddf7ff}.card-browser-scroll{min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:6px;scrollbar-width:none;-ms-overflow-style:none}.card-browser-scroll::-webkit-scrollbar{display:none;width:0;height:0}.card-browser-grid{display:grid;grid-template-columns:repeat(var(--card-browser-columns, 3),minmax(0,1fr));gap:var(--card-browser-grid-gap, 8px);overflow-x:hidden}.card-browser-tile{width:100%;min-width:0;aspect-ratio:108 / 124;display:block;padding:0;overflow:hidden;text-align:left;container-type:inline-size}.card-browser-tile-inner{width:100%;height:100%;display:grid;grid-template-rows:auto minmax(35.2cqw,1fr) auto;gap:5.6cqw;padding:8.3cqw 9.3cqw;align-content:stretch;pointer-events:none}.card-browser-tile.selected{border-color:#6ccde875;background:#6ccde81a}.card-browser-tile.active{border-color:#7bd66f4d}.card-browser-tile.remembered{box-shadow:inset 0 0 0 1px #ffd56f2e}.card-browser-tile.locked{opacity:.54}.card-browser-tile.inactive{border-color:#ffffff1c;opacity:.62}.card-browser-tile.unknown{border-color:#ffffff1f;opacity:.64}.card-browser-tile.unknown .card-browser-tile-name{color:#c7cfca}.card-browser-tile-icon{min-width:0;display:grid;align-items:center;justify-items:center;align-self:center}.card-browser-tile-icon img{width:35.2cqw;height:35.2cqw;object-fit:contain;opacity:.88}.card-browser-unknown-icon{width:35.2cqw;height:35.2cqw;display:grid;place-items:center;border:max(1px,1.85cqw) solid rgba(191,225,201,.42);border-radius:50%;color:#bfe1c9b8;font-size:20.4cqw;font-weight:950;line-height:1}.card-browser-unknown-icon.detail{width:28px;height:28px;font-size:16px}.card-browser-tile-name{min-width:0;color:var(--text);font-size:11.1cqw;font-weight:900;line-height:1.08;text-align:center;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.card-browser-tile-footer{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:5.6cqw}.card-browser-tile-meta{min-width:0;color:var(--muted);font-size:8.3cqw;font-weight:850;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-browser-tile.unknown .card-browser-tile-meta{display:-webkit-box;color:#aeb7b1;font-weight:750;line-height:1.18;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:3}.card-browser-tile-footer strong{color:#ffe6a8;font-size:11.1cqw;font-weight:950;line-height:1;text-align:right;text-shadow:var(--value-shadow);white-space:nowrap}.card-browser-tile-footer.requirement-only{grid-template-columns:minmax(0,1fr);align-items:center}.card-browser-tile-footer.requirement-only strong{min-width:0;overflow:hidden;display:-webkit-box;line-height:1.06;text-align:center;text-wrap:balance;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.card-browser-tile-footer.requirement-only strong.long{font-size:9.2cqw;line-height:1.08;-webkit-line-clamp:3}.card-browser-tile-status-icon{display:grid;place-items:center;width:13cqw;height:13cqw;color:#ffe6a8;filter:drop-shadow(0 1px 1px rgba(0,0,0,.38))}.card-browser-tile-status-icon svg{width:100%;height:100%;stroke-width:3.2}.card-browser-detail{display:grid;gap:8px;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0a}.card-browser-detail-dock{width:min(100%,540px);max-width:540px;height:180px;overflow:hidden;background:#1b2226}.card-browser-detail-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.card-browser-detail-head img{width:28px;height:28px;object-fit:contain}.card-browser-detail h3,.card-browser-detail p{margin:0}.card-browser-detail h3{color:var(--text);font-size:16px;line-height:1.05}.card-browser-detail-head p,.card-browser-detail-description,.card-browser-unlock span{color:var(--muted);font-size:11px;line-height:1.35}.card-browser-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.card-browser-stat-grid span{min-width:0;display:grid;gap:2px;padding:7px;border-radius:7px;background:#0000002e;color:var(--muted);font-size:9px;font-weight:850;line-height:1}.card-browser-stat-grid strong{min-width:0;color:#ffe6a8;font-size:12px;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-browser-effect{display:flex;align-items:center;gap:7px;color:#aeb7b1;font-size:13px;font-weight:950;line-height:1}.card-browser-effect strong{color:#ffd56f}.card-browser-unlock{display:grid;gap:3px}.card-browser-unlock strong{color:var(--text);font-size:12px;line-height:1.2}.debug-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.settings-view{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;min-height:100%}.settings-view>h2{margin:0 0 12px;font-size:16px}.settings-actions{display:grid;gap:8px}.settings-toggle-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.075);border-radius:8px;background:#0000002e}.settings-choice-row{display:grid;gap:8px;padding:10px;border:1px solid rgba(255,255,255,.075);border-radius:8px;background:#0000002e}.settings-toggle-row span,.settings-choice-row span{display:grid;gap:4px;font-size:13px;font-weight:900}.settings-toggle-row small,.settings-choice-row small{color:var(--muted);font-size:11px;font-weight:750;line-height:1.3}.settings-toggle-row input{width:20px;height:20px;accent-color:var(--green)}.settings-segmented-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.autodraft-rarity-control{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.25fr) minmax(0,.8fr)}.settings-segmented-control button{min-height:34px;padding:5px 8px;color:var(--muted)}.settings-segmented-control button.selected{border-color:#6ccde861;background:#6ccde81a;color:#ddf7ff}.settings-version{align-self:end;margin:6px 0 0;color:#9ca7a1b8;font-size:11px;font-weight:800;text-align:center}@media(max-width:359px){.shop-tab-new{width:7px;height:7px;padding:0;border-radius:50%;font-size:0}.autodraft-rarity-control{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:760px)and (orientation:landscape){.app-shell{--hud-panel-width: clamp(380px, 44vw, 430px);grid-template-columns:var(--hud-panel-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.app-shell.no-hud{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}.hud{grid-column:1;grid-row:1;border-right:1px solid var(--line);border-bottom:0}.content{grid-column:2;grid-row:1}.bottom-tabs{right:calc(14px + env(safe-area-inset-right))}.app-shell:not(.no-hud) .bottom-tabs{left:calc(var(--hud-panel-width) + 14px)}.app-shell:not(.no-hud) .autodraft-tier-notice{right:14px;left:calc(var(--hud-panel-width) + 14px);width:min(420px,calc(100% - var(--hud-panel-width) - 28px));margin-inline:auto;transform:none}.app-shell.no-hud .content{grid-column:1}.resource-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-strip div:first-child{grid-column:span 2}.choice-grid,.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.content.lineage-content,.app-shell.no-hud .content.lineage-content{position:relative;overflow:hidden;padding:0;scroll-padding:0}.lineage-view,.lineage-view.setup{position:relative;width:100%;height:100%;min-height:0;display:block;margin:0;padding:0;overflow:hidden}.lineage-tree-stage{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:#0d1113}.lineage-tree-graph{position:absolute;inset:0;display:block;min-width:0;padding:0;overflow:hidden;border:0;border-radius:0;background:#0d1113;box-shadow:none}.lineage-tree-viewport{position:absolute;inset:0;width:100%;height:auto;min-height:0;overflow:hidden;border:0;border-radius:0;background:linear-gradient(rgba(255,255,255,.016) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px),#0d1113;background-size:32px 32px,32px 32px,auto;cursor:grab;isolation:isolate;overscroll-behavior:contain;-webkit-user-select:none;user-select:none}.lineage-tree-viewport:active{cursor:grabbing}.lineage-reset-action{position:absolute;z-index:4;top:calc(12px + var(--app-top-gutter));left:max(12px,env(safe-area-inset-left));min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;border-radius:9px;background:#1a2022;box-shadow:0 7px 18px #00000059;color:var(--text);font-size:9px;font-weight:900;white-space:nowrap}.lineage-tree-control-stack{position:absolute;z-index:4;top:calc(12px + var(--app-top-gutter));right:max(12px,env(safe-area-inset-right));display:grid;justify-items:end;gap:8px}.lineage-tree-controls{display:grid;grid-template-columns:44px 42px 44px;align-items:center;gap:2px;padding:4px;border-color:#ffffff21;border-radius:9px;background:#171c1e;box-shadow:0 7px 18px #00000059;backdrop-filter:none;-webkit-backdrop-filter:none}.lineage-tree-controls button{width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:var(--text)}.lineage-tree-controls button:not(:disabled):hover{background:#6ccde81a;color:var(--cyan)}.lineage-tree-controls button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.lineage-tree-controls button:disabled{opacity:.3}.lineage-tree-zoom{min-width:42px;color:#b7c2bc;font-size:9px;font-weight:900;text-align:center}.lineage-tree-recenter{width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:#171c1e;box-shadow:0 7px 18px #00000059;color:var(--text)}.lineage-tree-recenter:hover{border-color:#6ccde86b;color:var(--cyan)}.lineage-tree-recenter:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.lineage-tree-canvas{will-change:transform}.lineage-tree-edges{z-index:0;overflow:visible;pointer-events:none}.lineage-tree-edge{stroke:color-mix(in srgb,var(--lineage-branch-color, var(--cyan)) 46%,#323a3e);stroke-width:3;stroke-linecap:round;opacity:.38;transition:stroke .16s ease,opacity .16s ease,stroke-width .16s ease}.lineage-tree-edge.active,.lineage-tree-edge.root-unlocked{stroke:var(--lineage-branch-color, var(--green));stroke-width:4;opacity:.9}.lineage-tree-edge.planned{stroke:var(--amber);stroke-width:4;opacity:.95}.lineage-tree-edge.removal-planned{stroke:var(--red);stroke-dasharray:7 7;opacity:.72}.lineage-tree-edge.available,.lineage-tree-edge.replaceable,.lineage-tree-edge.unallocated{stroke:var(--lineage-branch-color, var(--cyan));opacity:.62}.lineage-tree-edge.locked,.lineage-tree-edge.unaffordable{stroke-dasharray:7 8;opacity:.2}.lineage-tree-node-wrap{z-index:1;width:124px;display:grid;justify-items:center;gap:7px;pointer-events:none;transform:translate(-50%,-32px)}.lineage-tree-node-wrap.root{transform:translate(-50%,-36px)}.lineage-tree-node,.lineage-tree-node.unallocated,.lineage-tree-node.unaffordable,.lineage-tree-node.locked,.lineage-tree-node.root-locked{position:relative;width:64px;height:64px;display:grid;place-items:center;padding:0;pointer-events:auto;border:2px solid color-mix(in srgb,var(--lineage-branch-color, white) 45%,#2c3438);border-radius:17px;background:#171d1f;color:#ffffffe0;box-shadow:0 7px 16px #0006,inset 0 1px #ffffff0e;opacity:1;filter:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.lineage-tree-node-wrap.root .lineage-tree-node{width:72px;height:72px;border-radius:20px}.lineage-tree-node:hover{border-color:var(--lineage-branch-color, var(--cyan))}.lineage-tree-node:focus-visible{outline:3px solid #ffffff;outline-offset:4px}.lineage-tree-node.inspected{outline:3px solid #ffffff;outline-offset:4px;box-shadow:0 0 0 7px #ffffff1c,0 9px 22px #0000008c}.lineage-tree-node.root-unlocked,.lineage-tree-node.active{border-color:var(--green);background:#2d5934;color:#f1ffef;box-shadow:0 0 0 4px #7bd66f17,0 7px 18px #00000073}.lineage-tree-node.planned{border-color:var(--amber);background:#5e481d;color:#fff4cf;box-shadow:0 0 0 4px #efbd431a}.lineage-tree-node.removal-planned{border-color:var(--red);border-style:dashed;background:#482725;color:#ffb1ad}.lineage-tree-node.available{border-color:var(--lineage-branch-color, var(--cyan));background:color-mix(in srgb,var(--lineage-branch-color, var(--cyan)) 18%,#151b1d);color:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--lineage-branch-color, var(--cyan)) 10%,transparent),0 8px 18px #00000073}.lineage-tree-node.replaceable{border-color:var(--violet);background:#3b2f57;color:#eadfff}.lineage-tree-node.unallocated{border-color:color-mix(in srgb,var(--lineage-branch-color, var(--cyan)) 50%,#3a4144);color:#aeb7b2}.lineage-tree-node.unaffordable,.lineage-tree-node.locked,.lineage-tree-node.root-locked{border-color:color-mix(in srgb,var(--lineage-branch-color, white) 24%,#293033);border-style:dashed;background:#111618;color:#78817d}.lineage-tree-node-state{position:absolute;top:calc(100% - 4px);left:50%;max-width:108px;overflow:hidden;padding:2px 5px;border:1px solid rgba(255,255,255,.1);border-radius:5px;background:#090c0d;color:var(--muted);font-size:8px;font-weight:950;letter-spacing:.025em;line-height:1.2;text-overflow:ellipsis;text-transform:uppercase;transform:translate(-50%);white-space:nowrap}.lineage-tree-node-badge{position:absolute;top:-7px;right:-7px;width:24px;height:24px;display:grid;place-items:center;border:2px solid #111719;border-radius:8px;background:#242c2f;color:var(--muted);box-shadow:0 3px 8px #00000073}.lineage-tree-node.active .lineage-tree-node-badge,.lineage-tree-node.root-unlocked .lineage-tree-node-badge{background:#315e37;color:#eaffdf}.lineage-tree-node.planned .lineage-tree-node-badge{background:#70541c;color:#fff0b4}.lineage-tree-node.available .lineage-tree-node-badge{background:#245e6b;color:#e2fbff}.lineage-tree-node.replaceable .lineage-tree-node-badge{background:#554085;color:#f1e8ff}.lineage-tree-node.removal-planned .lineage-tree-node-badge{background:#6e3330;color:#ffd3d0}.lineage-tree-node.active .lineage-tree-node-state,.lineage-tree-node.root-unlocked .lineage-tree-node-state{color:var(--green)}.lineage-tree-node.planned .lineage-tree-node-state{color:var(--amber)}.lineage-tree-node.available .lineage-tree-node-state{color:var(--cyan)}.lineage-tree-node.locked .lineage-tree-node-state,.lineage-tree-node.unallocated .lineage-tree-node-state,.lineage-tree-node.unaffordable .lineage-tree-node-state{display:none}.lineage-tree-node-name{width:auto;max-width:122px;min-height:0;padding:2px 4px;border-radius:4px;background:transparent;color:var(--text);font-size:13px;font-weight:850;line-height:1.12;text-align:center;text-shadow:0 2px 4px #000000}.lineage-tree-node.locked+.lineage-tree-node-name,.lineage-tree-node.root-locked+.lineage-tree-node-name{color:#7f8884;opacity:1}.lineage-setup-footer{position:fixed;z-index:4;right:calc(14px + env(safe-area-inset-right));bottom:calc(var(--floating-nav-height) + var(--floating-nav-edge-gap) + 10px + env(safe-area-inset-bottom));left:calc(14px + env(safe-area-inset-left));display:grid;gap:7px;padding:9px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:#171c1e;box-shadow:0 12px 30px #0000007a}.lineage-allocation-state{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase}.lineage-allocation-state button{min-height:26px;display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border:0;background:transparent;color:var(--cyan);font-size:9px}.lineage-setup-footer>.primary-action{min-height:44px}.lineage-node-details{gap:11px}.lineage-node-detail-effect{display:grid;gap:4px;padding:11px;border:1px solid rgba(108,205,232,.18);border-radius:9px;background:#6ccde80d}.lineage-node-detail-effect small{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.045em;line-height:1.15;text-transform:uppercase}.lineage-node-detail-effect strong{color:#dff8ff;font-size:14px;line-height:1.3}.lineage-node-description{margin:0;padding:0 2px;color:var(--muted);font-size:11px;font-weight:700;line-height:1.42}.lineage-node-detail-actions{display:grid;gap:6px}.lineage-node-detail-actions button{min-height:44px}.lineage-node-unavailable,.lineage-node-run-status{margin:0;color:var(--muted);font-size:10px;font-weight:800;line-height:1.35;text-align:center}.lineage-node-run-status.active{color:var(--green)}.lineage-node-requirement{margin:0;padding:8px 10px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#00000021;color:var(--muted);font-size:10px;font-weight:850}.lineage-node-cost{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid rgba(239,189,77,.18);border-radius:8px;background:#efbd4d0e;color:var(--muted);font-size:10px;font-weight:850}.lineage-node-cost strong{color:#ffe4a0;font-size:10px}@media(max-width:420px){.lineage-reset-action{left:max(10px,env(safe-area-inset-left))}.lineage-tree-control-stack{right:max(10px,env(safe-area-inset-right))}}@media(min-width:760px)and (orientation:landscape){.lineage-setup-footer{right:18px;left:18px;width:min(680px,calc(100% - 36px));margin-inline:auto}}@media(prefers-reduced-motion:reduce){.lineage-tree-canvas,.lineage-tree-edge,.lineage-tree-node,.lineage-setup-footer{scroll-behavior:auto;transition:none}}
