:root{color:#1f2933;background:#f6f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}html,body,#root{min-height:100%;background:#f6f7f9}html.darkThemeRoot,html.darkThemeRoot body,html.darkThemeRoot #root{background:#111827;color:#e5edf5}*{box-sizing:border-box}body{margin:0;min-width:320px}button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border:1px solid #c5ccd3;border-radius:4px;background:#fff;color:#1f2933;font:inherit;font-size:.92rem;padding:6px 10px;cursor:pointer}button:hover:not(:disabled){border-color:#768596;background:#f7fafc;color:#101820}button:focus-visible{outline:2px solid #1f7a8c;outline-offset:2px}button:disabled{color:#7b8794;cursor:not-allowed}.gainButton{position:relative;overflow:hidden;isolation:isolate}.gainButton:before{position:absolute;inset:0;z-index:-1;width:0;background:linear-gradient(90deg,#1f7a8c3d,#2f855a47);content:"";transform-origin:left center}.gainButton.cooling:before{animation:gainCooldown var(--cooldown-duration, .7s) linear forwards}.gainButton.ready:before{width:100%;background:#2f855a2e}.gainButton.cooling{color:#1f2933;opacity:1}.themeIde .gainButton:before,.themeDark .gainButton:before{background:linear-gradient(90deg,#38bdf833,#4ade8038)}.themeIde .gainButton.ready:before,.themeDark .gainButton.ready:before{background:#4ade802e}@keyframes gainCooldown{0%{width:0}to{width:100%}}h2,h3,h4,p{margin-top:0}table{width:100%;border-collapse:collapse;background:#fff}th,td{border:1px solid #d9dee4;padding:9px;text-align:left;vertical-align:middle}th{background:#eef1f4;font-weight:700}pre{overflow:auto;margin:0;white-space:pre-wrap}code{font:inherit}.app{min-height:100vh;min-height:100dvh}.themePlain{background:#f6f7f9}.themeClean{background:#f2f5f7}.themeDashboard{background:linear-gradient(180deg,#f7fbfc 0,#eef4f5 240px,#f6f7f9)}.themeIde,.themeDark{background:#111827;color:#e5edf5}.themeIde table,.themeDark table,.themeIde .codeBlock,.themeDark .codeBlock,.themeIde .modal,.themeDark .modal,.themeIde .menuList,.themeDark .menuList,.themeIde .module,.themeDark .module,.themeIde .metric,.themeDark .metric,.themeIde .systemsPanel,.themeDark .systemsPanel{background:#182231;color:#e5edf5;border-color:#304156}.themeIde th,.themeDark th{background:#223044}.themeIde button,.themeDark button{background:#202c3d;border-color:#40536b;color:#eef5fb}.themeIde button:hover:not(:disabled),.themeDark button:hover:not(:disabled){background:#2b3a4f;border-color:#6f86a3;color:#fff}.themeIde button:disabled,.themeDark button:disabled{color:#8fa0b3}.themeIde .gainButton.cooling,.themeDark .gainButton.cooling{color:#eef5fb}.themeIde .topbar,.themeDark .topbar{background:#111827f0;border-color:#304156}.themeIde .eventBanner,.themeDark .eventBanner,.themeIde .offlineBanner,.themeDark .offlineBanner{background:#172234;border-color:#304156;color:#e5edf5}.lowercase{text-transform:lowercase}.withColor .primary{background:#1f7a8c;border-color:#1f7a8c;color:#fff}.withColor .primary:hover:not(:disabled){background:#176477;border-color:#176477;color:#fff}.withColor .danger{background:#b33a3a;border-color:#b33a3a;color:#fff}.withColor .danger:hover:not(:disabled){background:#942d2d;border-color:#942d2d;color:#fff}.styled table{border-radius:6px;overflow:hidden}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;padding:10px 24px;border-bottom:1px solid #d7dde4;background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{display:inline-flex;align-items:center;gap:3px;color:inherit;font-size:1.15rem;font-weight:700;text-decoration:none}.brand img{width:20px;height:20px}.topbarActions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.topbar progress{width:180px;height:16px}.utilityPanel{position:fixed;right:12px;bottom:12px;z-index:15;display:grid;justify-items:end;gap:6px}.languageSwitch,.themeSwitch,.devCode{display:inline-flex;align-items:center;gap:4px;border:1px solid #cfd6de;border-radius:999px;background:#fffffff5;box-shadow:0 10px 28px #1f29331f;padding:4px}.languageSwitch span,.themeSwitch span,.devCode span{padding:0 7px;color:#536273;font-size:.78rem;font-weight:700}.languageSwitch button,.themeSwitch button,.devCode button{min-height:28px;border-radius:999px;padding:3px 8px;font-size:.78rem}.devCode input{width:96px;min-height:28px;border:0;border-radius:999px;background:#eef3f6;color:#1f2933;font:inherit;font-size:.78rem;padding:3px 9px}.languageSwitch .active,.themeSwitch .active{background:#1f7a8c;border-color:#1f7a8c;color:#fff}.languageSwitch .active:hover:not(:disabled),.themeSwitch .active:hover:not(:disabled){background:#176477;border-color:#176477;color:#fff}.themeIde .languageSwitch,.themeDark .languageSwitch,.themeIde .themeSwitch,.themeDark .themeSwitch,.themeIde .devCode,.themeDark .devCode{background:#182231f5;border-color:#40536b}.themeIde .devCode input,.themeDark .devCode input{background:#111827;color:#e5edf5}.themeIde .modalHeader,.themeDark .modalHeader,.themeIde .modalFooter,.themeDark .modalFooter{border-color:#304156}.themeDark .languageSwitch span,.themeDark .themeSwitch span,.themeDark .devCode span,.themeDark .systemsHeader div,.themeDark .metric span,.themeDark .module p,.themeDark .machineUpgradeList small,.themeDark .forceSkillNode span{color:#a9b7c7}.primitive{display:grid;gap:12px;padding:16px}.workspace{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:24px;width:min(1180px,calc(100% - 32px));margin:24px auto}.panel{min-width:0}.acquire{display:grid;grid-template-columns:1fr auto;align-items:start;gap:10px;margin-bottom:22px}.acquireActions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.locked{background:#fff3f1}.themeIde .locked,.themeDark .locked{background:#35202a}.offlineBanner,.eventBanner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;min-height:38px;padding:7px 16px;border-bottom:1px solid #d3dbe3;background:#e8f4f6;color:#17333a}.eventBanner{background:#fff5d9;color:#473700}.systemsPanel,.machinesMain{display:grid;gap:12px;margin-bottom:22px;border:1px solid #d9dee4;border-radius:8px;background:#fff;padding:14px}.themeIde .machinesMain,.themeDark .machinesMain{background:#182231;border-color:#304156}.systemsHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.systemsHeader h2{margin:0}.systemsHeader div{display:flex;flex-wrap:wrap;gap:8px;color:#536273;font-size:.88rem}.systemMetrics,.statsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px}.metric{display:grid;gap:3px;border:1px solid #d9dee4;border-radius:6px;background:#fff;padding:10px}.metric span{color:#65758b;font-size:.78rem}.metric strong{overflow-wrap:anywhere}.miniModules{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.miniModules button{justify-content:flex-start}.tooltipName{border-bottom:1px dashed #65758b}.tooltipHost{position:relative;cursor:help}.tooltipHost:after{position:absolute;left:0;bottom:calc(100% + 8px);z-index:30;width:min(280px,70vw);pointer-events:none;border:1px solid #2f3d4d;border-radius:6px;background:#1f2933;color:#fff;content:attr(data-tooltip);font-size:.78rem;line-height:1.35;opacity:0;padding:7px 9px;text-transform:none;transform:translateY(3px);transition:opacity .12s ease,transform .12s ease}.tooltipHost.tooltipBelow:after{top:calc(100% + 8px);bottom:auto;transform:translateY(-3px)}.tooltipHost:hover:after,.tooltipHost:focus:after{opacity:1;transform:translateY(0)}.compactTable th,.compactTable td{padding:5px}.formatted,.codeBlock{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.codeBlock{min-height:280px;border:1px solid #d9dee4;border-radius:6px;background:#fff;padding:14px}.syntaxCode{color:#24303d}.syntaxCode .token.keyword{color:#9d174d;font-weight:700}.syntaxCode .token.string{color:#047857}.syntaxCode .token.number{color:#7c3aed}.syntaxCode .token.comment{color:#6b7280;font-style:italic}.syntaxCode .token.builtin{color:#0369a1}.syntaxCode .token.identifier{color:#1f2937}.syntaxCode .token.operator{color:#b45309}.themeIde .syntaxCode,.themeDark .syntaxCode{color:#dbeafe}.themeIde .syntaxCode .token.keyword,.themeDark .syntaxCode .token.keyword{color:#f472b6}.themeIde .syntaxCode .token.string,.themeDark .syntaxCode .token.string{color:#86efac}.themeIde .syntaxCode .token.number,.themeDark .syntaxCode .token.number{color:#c4b5fd}.themeIde .syntaxCode .token.comment,.themeDark .syntaxCode .token.comment{color:#94a3b8}.themeIde .syntaxCode .token.builtin,.themeDark .syntaxCode .token.builtin{color:#7dd3fc}.themeIde .syntaxCode .token.identifier,.themeDark .syntaxCode .token.identifier{color:#e5edf5}.themeIde .syntaxCode .token.operator,.themeDark .syntaxCode .token.operator{color:#fbbf24}.tabs{display:flex;gap:6px;margin-bottom:10px;border-bottom:1px solid #d9dee4}.tabs button{border-bottom:0;border-radius:4px 4px 0 0}.tabs .active{background:#1f2933;border-color:#1f2933;color:#fff}.tabs .active:hover:not(:disabled){background:#121922;border-color:#121922;color:#fff}.menu{position:relative}.iconOnly{width:34px;padding:6px}.menuList{position:absolute;top:calc(100% + 6px);right:0;z-index:10;display:none;min-width:190px;border:1px solid #cfd6de;border-radius:6px;background:#fff;box-shadow:0 12px 30px #1f293324;padding:6px}.menu:hover .menuList,.menu:focus-within .menuList{display:grid;gap:3px}.menuList button{justify-content:flex-start;width:100%;border:0}.chartRows{display:grid;gap:8px}.moduleGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.researchActive{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:stretch}.researchActive button{min-height:100%}.module{display:grid;gap:8px;border:1px solid #d9dee4;border-radius:8px;background:#fff;padding:12px}.module h3{display:flex;align-items:center;gap:7px;margin:0}.module p{margin:0;color:#536273}.module.owned{border-color:#2f855a;background:#eefaf3}.themeDark .module.owned,.themeDark .interactiveTree .owned{background:#173326}.themeDark .interactiveTree .available{background:#14343b}.themeDark .interactiveTree .lockedNode{background:#202c3d;color:#a9b7c7}.barRow{display:grid;grid-template-columns:minmax(80px,120px) 1fr minmax(70px,auto);align-items:center;gap:10px}.barRow div{height:13px;overflow:hidden;border-radius:999px;background:#e4e9ee}.barRow i{display:block;height:100%;background:#1f7a8c}.upgradeTree{display:grid;gap:16px}.upgradeTree section{border-left:3px solid #1f7a8c;padding-left:12px}.upgradeTree div{display:flex;flex-wrap:wrap;gap:8px}.upgradeTree span{border:1px solid #cfd6de;border-radius:999px;background:#fff;padding:4px 9px;font-size:.88rem}.treePreview{display:grid;gap:14px}.treePreview>button{justify-self:start}.treeFullscreen{position:fixed;inset:0;z-index:40;display:grid;grid-template-rows:auto 1fr;overflow:hidden;background:#f6f7f9;color:#1f2933}.themeIde .treeFullscreen,.themeDark .treeFullscreen{background:#111827;color:#e5edf5}.treeFullscreenHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid #d7dde4;background:#fffffff5}.themeIde .treeFullscreenHeader,.themeDark .treeFullscreenHeader{background:#111827f5;border-color:#304156}.treeFullscreenHeader h2,.treeFullscreenHeader p{margin:0}.treeHeaderActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.treeFullscreenGrid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);grid-auto-rows:min-content;gap:16px;overflow:auto;padding:18px}.treePanel{border:1px solid #d9dee4;border-radius:8px;background:#fff;padding:14px}.themeIde .treePanel,.themeDark .treePanel,.themeIde .machine,.themeDark .machine{background:#182231;border-color:#304156}.treePanel h3{margin-bottom:12px}.automationCode{min-height:180px;font-size:.82rem}.codeStack{display:grid;gap:12px}.forceTree{position:relative;min-height:0;height:calc(100vh - 82px);overflow:hidden;background:#f8fafc}.themeIde .forceTree,.themeDark .forceTree{background:#111827}.forceTreeSvg{width:100%;height:100%;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.forceTreeSvg:active{cursor:grabbing}.forceTreeSvg line{stroke:#b8c2cc;stroke-width:2.5;vector-effect:non-scaling-stroke}.forceTreeSvg line.available{stroke:#1f7a8c;stroke-width:3.5}.forceTreeSvg line.owned{stroke:#2f855a;stroke-width:4}.forceTreeSvg circle{fill:#fff;stroke:#cfd6de;stroke-width:2.5;vector-effect:non-scaling-stroke}.forceTreeSvg circle.available{stroke:#1f7a8c;fill:#e8f4f6}.forceTreeSvg circle.owned{stroke:#2f855a;fill:#e8f7ee}.themeIde .forceTreeSvg circle,.themeDark .forceTreeSvg circle{fill:#182231}.themeIde .forceTreeSvg circle.available,.themeDark .forceTreeSvg circle.available{fill:#14343b}.themeIde .forceTreeSvg circle.owned,.themeDark .forceTreeSvg circle.owned{fill:#173326}.forceSkillNode{display:grid;align-content:center;justify-items:center;width:100%;height:100%;min-height:0;border:0;background:transparent;text-align:center;white-space:normal;padding:6px}.forceSkillNode:hover:not(:disabled){background:transparent;color:inherit}.themeIde .forceSkillNode:hover:not(:disabled),.themeDark .forceSkillNode:hover:not(:disabled){background:transparent;color:#fff}.forceSkillNode span{color:#65758b;font-size:.72rem}.forceTreeControls,.forceTreePan{position:absolute;z-index:3;display:flex;gap:6px}.forceTreeControls{top:12px;left:12px}.forceTreePan{right:12px;bottom:12px}.forceTreeHint{position:absolute;left:12px;bottom:12px;z-index:3;max-width:280px;border:1px solid #cfd6de;border-radius:999px;background:#ffffffeb;color:#536273;font-size:.78rem;padding:6px 10px}.themeIde .forceTreeHint,.themeDark .forceTreeHint{background:#182231eb;border-color:#40536b;color:#e5edf5}.forceTreeInfo{position:absolute;top:12px;right:12px;z-index:3;width:min(280px,calc(100% - 24px));border:1px solid #cfd6de;border-radius:8px;background:#fffffff2;box-shadow:0 10px 28px #1f29331f;padding:12px}.forceTreeInfo h3,.forceTreeInfo p{margin:0 0 8px}.themeIde .forceTreeInfo,.themeDark .forceTreeInfo{background:#182231f2;border-color:#40536b}.machineGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.machine{display:grid;gap:8px;border:1px solid #d9dee4;border-radius:8px;background:#fff;padding:12px}.machineUpgradeList{display:grid;gap:6px}.machineUpgradeList button{justify-content:space-between;width:100%}.machineUpgradeList small{color:#65758b}.machine h4,.machine p{margin:0}.machine.running{border-color:#2f855a;background:#eefaf3}.themeIde .machine.running,.themeDark .machine.running,.themeIde .forceSkillNode.owned,.themeDark .forceSkillNode.owned{background:#173326}.interactiveTree span{cursor:help}.interactiveTree .owned{border-color:#2f855a;background:#e8f7ee}.interactiveTree .available{border-color:#1f7a8c;background:#e8f4f6}.interactiveTree .owned:hover:not(:disabled),.interactiveTree .available:hover:not(:disabled){color:#101820}.themeIde .interactiveTree .owned:hover:not(:disabled),.themeDark .interactiveTree .owned:hover:not(:disabled),.themeIde .interactiveTree .available:hover:not(:disabled),.themeDark .interactiveTree .available:hover:not(:disabled){color:#fff}.interactiveTree .waiting{border-color:#c8a94d;background:#fff8df}.interactiveTree .lockedNode{color:#7b8794;background:#f0f2f4}.modalOverlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#141c2473;padding:18px}.modal{width:min(720px,100%);max-height:min(760px,calc(100vh - 36px));display:grid;grid-template-rows:auto 1fr auto;border-radius:8px;background:#fff;box-shadow:0 20px 60px #00000038}.modalHeader,.modalFooter{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #d9dee4}.modalFooter{justify-content:flex-end;border-top:1px solid #d9dee4;border-bottom:0}.modalHeader h3{display:flex;align-items:center;gap:8px;margin:0}.modalBody{overflow:auto;padding:14px}.optionRows{display:grid;gap:12px}.optionRows label{display:flex;align-items:center;justify-content:space-between;gap:12px}.debug{max-height:520px}.toast{position:fixed;right:16px;bottom:16px;border-radius:6px;background:#1f2933;color:#fff;padding:10px 14px}.themeDark .toast,.themeIde .toast{background:#e5edf5;color:#111827}.resetConfirm{display:grid;gap:8px}.resetConfirm p{margin:0}@media(max-width:820px){.topbar{align-items:flex-start;flex-direction:column}.topbarActions{justify-content:flex-start}.workspace{grid-template-columns:1fr;width:min(100% - 20px,1180px);margin:14px auto 90px;gap:16px}.acquire{grid-template-columns:1fr}.acquireActions{justify-content:flex-start}.barRow{grid-template-columns:1fr}.treeFullscreenHeader{align-items:flex-start;flex-direction:column}.treeHeaderActions{justify-content:flex-start}.forceSkillNode{font-size:.76rem}}@media(max-width:640px){button{min-height:38px;max-width:100%;white-space:normal}table{display:block;overflow-x:auto;max-width:100%}th,td{padding:7px}.primitive{padding:12px}.topbar{padding:10px 12px}.topbarActions,.acquireActions{width:100%}.topbarActions button,.acquireActions button{flex:1 1 150px}.topbar progress{width:min(100%,240px)}.utilityPanel{right:8px;bottom:8px;left:8px;justify-items:stretch;border-radius:12px}.themeDark .utilityPanel,.themeIde .utilityPanel{background:#111827b8;box-shadow:0 0 0 8px #111827b8}.languageSwitch,.themeSwitch,.devCode{justify-content:center;flex-wrap:wrap;width:100%;border-radius:10px}.devCode input{flex:1 1 120px;min-width:0}.acquire{margin-bottom:16px}.systemsHeader{align-items:flex-start;flex-direction:column}.systemMetrics,.statsGrid,.moduleGrid,.researchActive,.miniModules,.machineGrid{grid-template-columns:1fr}.tabs{overflow-x:auto;padding-bottom:2px}.tabs button{flex:0 0 auto}.menuList{right:auto;left:0}.tooltipHost:after{position:fixed;left:10px;right:10px;bottom:92px;width:auto;max-width:none}.treeFullscreenHeader{padding:10px 12px}.treeFullscreenHeader p{font-size:.88rem}.treeHeaderActions{width:100%}.treeHeaderActions button{flex:1 1 130px}.forceTree{height:calc(100vh - 122px)}.forceTreeControls{top:8px;left:8px}.forceTreePan{right:8px;bottom:8px}.forceTreeHint{display:none}.forceTreeInfo{inset:auto 8px 58px;width:auto;max-height:32vh;overflow:auto}.forceSkillNode{padding:4px;font-size:.7rem}.modalOverlay{padding:10px}.modalHeader,.modalFooter{align-items:flex-start;flex-direction:column}.modalFooter button,.optionRows button{width:100%}.optionRows label{align-items:stretch;flex-direction:column}}
