:root{--text:#d6deee;--muted:#8f9ab3;--source:#ffb347;--optic:#5ce1ff;--wave:#c99bff;--particle:#ff7ad9;--stellar:#ffd166;--life:#7dffb2;--sink:#5dffa8;--warn:#f35;--metal-top:#2a2e36;--metal-bottom:#1d2026;--metal-edge:#0c0d10;--metal-hi:#ffffff14;--lcd-bg:#04121a;--lcd-text:#c4f6ff;--lcd-dim:#3f6f80;--lcd-glow:#5ce1ffa6;--holo:#5ce1ff;--cut:8px;--amplify:#c79bff;--record:#9fb6ff;--converge:#e6fbff;--mono:"JetBrains Mono", "Cascadia Mono", ui-monospace, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;color:var(--text);-webkit-user-select:none;user-select:none;background:radial-gradient(60% 55% at 40% 45%,#465a8229,#0000 70%),radial-gradient(120% 100%,#0b0e14,#030406 85%);margin:0;font-family:system-ui,-apple-system,Segoe UI,Hiragino Sans,Yu Gothic UI,sans-serif;font-size:14px}#app{flex-direction:column;height:100%;display:flex}.metal{background:linear-gradient(180deg, var(--metal-top), var(--metal-bottom));border:1px solid var(--metal-edge);box-shadow:inset 0 1px 0 var(--metal-hi), inset 0 -1px 0 #00000080, 0 2px 4px #0000008c}.hud{z-index:2;box-shadow:inset 0 1px 0 var(--metal-hi), inset 0 -1px 0 #000000b3, 0 3px 10px #0009;background:linear-gradient(#23272f,#15181d);flex-wrap:wrap;align-items:center;gap:10px 24px;padding:12px 20px;display:flex;position:relative}.title{letter-spacing:.32em;text-transform:uppercase;white-space:nowrap;color:#c9d3e6;text-shadow:0 -1px #000c,0 1px #ffffff14;margin:0;font-size:15px;font-weight:700}.counter{background:linear-gradient(180deg, #020a10, var(--lcd-bg));border-radius:6px;align-items:baseline;gap:10px;min-width:0;padding:6px 14px;display:flex;box-shadow:inset 0 2px 6px #000000e6,inset 0 0 0 1px #000c,0 1px #ffffff12}.photons-label{color:#4f9fb5;letter-spacing:.2em;font-size:11px}.photons-value{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--lcd-text);text-shadow:0 0 6px #5ce1ffcc,0 0 18px #5ce1ff59;font-size:28px;font-weight:600}.rate{font-family:var(--mono);font-variant-numeric:tabular-nums;color:#8fe9ff}.hud-buttons{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.btn{border:1px solid var(--metal-edge);color:var(--text);font:inherit;cursor:pointer;background:linear-gradient(#353a44,#24282f);border-radius:6px;padding:6px 14px;font-size:13px;box-shadow:inset 0 1px #ffffff1f,0 2px 3px #0009}.btn:hover:not(:disabled){background:linear-gradient(#3d4350,#2a2f37)}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px 4px #0009,0 1px 1px #0009}.btn:disabled{opacity:.35;cursor:default}.btn-danger{color:#ff9aac}.main{flex:1;min-height:0;display:flex}.board{touch-action:none;flex:1;min-width:0;position:relative}.board canvas{display:block;position:absolute;inset:0}.panel{background:linear-gradient(#1b1e24,#121418);flex-shrink:0;width:340px;padding:16px 16px 24px;overflow-y:auto;box-shadow:inset 1px 0 #ffffff0d,-4px 0 12px #00000080}.panel h2{letter-spacing:.3em;text-transform:uppercase;color:var(--muted);text-shadow:0 -1px #000c;align-items:center;gap:10px;margin:6px 0 10px;font-size:11px;font-weight:600;display:flex}.panel h2:after{content:"";background:linear-gradient(#000000b3 50%,#ffffff0f 50%);flex:1;height:2px}.panel h2+*{margin-bottom:18px}.palette,.upgrades{flex-direction:column;gap:6px;display:flex}.part{--accent:var(--optic);cursor:grab;touch-action:none;opacity:.5;border-radius:10px;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;padding:10px 12px 10px 18px;transition:opacity .15s,box-shadow .15s;display:grid;position:relative}.part:before{content:"";background:var(--accent);width:4px;box-shadow:0 0 6px color-mix(in srgb, var(--accent) 60%, transparent);opacity:.5;border-radius:3px;position:absolute;top:10px;bottom:10px;left:5px}.part.affordable,.part.affordable:before{opacity:1}.part.affordable:active{cursor:grabbing;transform:translateY(1px)}.part.locked{opacity:.28;cursor:not-allowed}.part.locked:before{background:var(--muted);box-shadow:none}.part-icon{filter:drop-shadow(0 1px 1px #000c);justify-content:center;display:flex}.part-text{flex-direction:column;gap:2px;min-width:0;display:flex}.part-name{font-weight:600}.part-flow{color:#9fd8c4;margin-top:2px;font-size:11px;line-height:1.45;display:block}.part-flow[hidden]{display:none}.part-desc{color:var(--muted);font-size:12px;line-height:1.4}.part-meta{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.part-owned{color:var(--muted);font-size:11px;font-family:var(--mono)}.part-cost,.up-cost{font-family:var(--mono);font-variant-numeric:tabular-nums;background:var(--lcd-bg);color:var(--lcd-dim);border-radius:4px;padding:2px 9px;font-size:13px;box-shadow:inset 0 1px 3px #000000e6}.part.affordable .part-cost,.upgrade.affordable .up-cost{color:var(--lcd-text);text-shadow:0 0 6px var(--lcd-glow);box-shadow:inset 0 1px 3px #000000e6,0 0 8px #5ce1ff33}.part.locked .part-icon svg{display:none}.part.locked .part-icon:after{content:"?";font-family:var(--mono);color:var(--muted);font-size:18px}.part.locked .part-cost{font-family:inherit;font-size:11px}.upgrade{text-align:left;color:var(--text);font:inherit;cursor:pointer;opacity:.5;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px 10px 14px;transition:opacity .15s,box-shadow .15s;display:flex}.upgrade.affordable{opacity:1}.upgrade.affordable:active{transform:translateY(1px)}.part.affordable:hover,.upgrade.affordable:hover{box-shadow:inset 0 1px 0 #ffffff1a, 0 3px 8px #0009, inset 0 0 0 1px color-mix(in srgb, var(--accent,var(--source)) 55%, transparent);background:linear-gradient(#313641,#22262d)}.up-text{flex-direction:column;gap:2px;display:flex}.up-name{font-weight:600}.up-lv{font-family:var(--mono);color:var(--source);margin-left:4px;font-size:11px}.up-desc{color:var(--muted);font-size:12px}.toasts{pointer-events:none;z-index:20;flex-direction:column;align-items:center;gap:6px;max-width:calc(100vw - 32px);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{border-radius:6px;padding:8px 18px;transition:opacity .4s;box-shadow:0 4px 14px #0009}.toast-warn{color:#ffb3c0;border-color:#6a2233}.toast.out{opacity:0}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#02040ab3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{width:min(520px,100%);max-height:100%;box-shadow:inset 0 1px 0 var(--metal-hi), 0 20px 60px #000000b3;-webkit-user-select:text;user-select:text;border-radius:12px;padding:20px 22px;overflow-y:auto}.modal h2{letter-spacing:.2em;margin:0 0 8px;font-size:16px}.modal h3{letter-spacing:.15em;color:var(--optic);margin:18px 0 6px;font-size:12px}.modal .hint{color:var(--muted);margin:0 0 8px;font-size:12px}.save-text{background:var(--lcd-bg);width:100%;color:var(--lcd-text);font-family:var(--mono);resize:vertical;word-break:break-all;border:1px solid #000;border-radius:6px;margin-bottom:8px;padding:8px 10px;font-size:11.5px;box-shadow:inset 0 2px 5px #000000e6}.save-text:focus{outline:1px solid #5ce1ff66}.modal-footer{justify-content:space-between;margin-top:20px;display:flex}@media (width<=800px){.main{flex-direction:column}.board{flex:none;height:min(58vh,100vw)}.panel{flex:1;width:auto;box-shadow:inset 0 1px #ffffff0d,0 -4px 12px #00000080}.hud{padding:10px 16px}.counter{flex-basis:100%;order:3}.btn{padding:5px 11px}.photons-value{font-size:24px}}.panel{flex-direction:column;padding:0;display:flex;overflow:hidden}.tabs{background:linear-gradient(#202329,#181a1f);grid-template-columns:repeat(4,1fr);gap:4px;padding:12px 12px 0;display:grid;box-shadow:inset 0 -1px #000c}.tab{--accent:var(--optic);border:1px solid var(--metal-edge);color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:linear-gradient(#2a2e36,#1f2228);border-bottom:none;border-radius:8px 8px 0 0;justify-content:center;align-items:center;gap:6px;padding:9px 4px 10px;font-size:13px;font-weight:600;display:flex;position:relative;box-shadow:inset 0 1px #ffffff0f}.tab:hover{color:var(--text)}.tab.active{color:#fff;box-shadow:inset 0 1px 0 #ffffff1f, inset 0 2px 0 color-mix(in srgb, var(--accent) 70%, transparent);z-index:1;background:linear-gradient(#343943,#1b1e24);margin-bottom:-1px}.tab-lamp{background:#2b2f36;border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:inset 0 1px 1px #000c}.tab-lamp.on{background:var(--accent);box-shadow:0 0 6px var(--accent)}.panel-body{background:linear-gradient(#1b1e24,#121418);flex:1;padding:14px 14px 24px;overflow-y:auto}[hidden]{display:none!important}.counter,.metal,.btn,.tab,.part-cost,.up-cost{border-radius:0}.counter,.metal{clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut))}.btn{--cut:6px;clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut))}.tab{clip-path:polygon(var(--cut) 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%, 0 var(--cut))}.part-cost,.up-cost{--cut:4px;clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut))}.counter{position:relative}.counter:before{content:"";left:var(--cut);background:linear-gradient(90deg, var(--holo), transparent 70%);opacity:.7;height:1px;position:absolute;top:0;right:0}.hud:after{content:"";background:linear-gradient(90deg,#0000,#5ce1ff80 20% 80%,#0000);height:1px;position:absolute;bottom:0;left:0;right:0}.title{color:#d8f6ff;text-shadow:0 0 8px #5ce1ff73,0 -1px #000c}.tab.active{box-shadow:inset 0 1px 0 #ffffff1f, inset 0 2px 0 color-mix(in srgb, var(--accent) 80%, transparent), inset 0 12px 18px -14px var(--accent)}.tabs{box-shadow:inset 0 -1px #000c,0 1px #5ce1ff26}.keys{color:var(--muted);flex-wrap:wrap;gap:8px 14px;margin-top:6px;font-size:11.5px;display:flex}.key{align-items:center;gap:6px;display:inline-flex}kbd{--cut:3px;font-family:var(--mono);color:var(--lcd-text);background:var(--lcd-bg);clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));padding:2px 6px;font-size:10.5px;box-shadow:inset 0 0 0 1px #5ce1ff40}.inspector{z-index:15;pointer-events:none;min-width:170px;padding:10px 12px;font-size:12px;position:fixed}.ins-title{color:#fff;margin-bottom:6px;font-size:13px;font-weight:600}.ins-row{color:var(--muted);justify-content:space-between;gap:16px;line-height:1.7;display:flex}.ins-val{font-family:var(--mono);color:var(--lcd-text)}.ins-row.gain .ins-val{color:#8fffc4}.ins-row.warn .ins-val,.ins-note.warn{color:#ff8a9c}.ins-flow{color:#9fd8c4;font-size:11.5px;line-height:1.5}.ins-note{color:var(--muted);margin-top:4px;font-size:11.5px}.run{font-family:var(--mono);color:var(--lcd-dim);align-items:baseline;gap:6px;margin-left:6px;padding-left:10px;font-size:12px;display:inline-flex;box-shadow:inset 1px 0 #5ce1ff26}.run-label{letter-spacing:.15em;color:#4f9fb5;font-family:inherit;font-size:10.5px}.run-value{color:var(--lcd-text)}.power{background:linear-gradient(180deg, #020a10, var(--lcd-bg));clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));align-items:center;gap:8px;padding:8px 12px;display:flex;position:relative;box-shadow:inset 0 2px 6px #000000e6,inset 0 0 0 1px #000c,0 1px #ffffff12}.power:before{content:"";left:var(--cut);background:linear-gradient(90deg, var(--source), transparent 70%);opacity:.6;height:1px;position:absolute;top:0;right:0}.power-label{letter-spacing:.2em;color:#b98a4a;font-size:11px}.power-cells{gap:3px;display:inline-flex}.power-cell{background:#1a1408;width:9px;height:14px;transform:skew(-12deg);box-shadow:inset 0 0 0 1px #ffb3472e}.power-cell.on{background:linear-gradient(180deg, #ffd08a, var(--source));box-shadow:0 0 8px #ffb347a6}.power-text{font-family:var(--mono);color:#ffd9a3;text-shadow:0 0 6px #ffb34780;font-variant-numeric:tabular-nums;font-size:13px}.loop-box{background:linear-gradient(180deg, #020a10, var(--lcd-bg));clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));align-items:center;gap:8px;padding:8px 12px;display:flex;box-shadow:inset 0 2px 6px #000000e6,inset 0 0 0 1px #000c,0 1px #ffffff12}.loop-label{letter-spacing:.2em;color:#4f9fb5;font-size:11px}.loop-value{font-family:var(--mono);color:var(--lcd-text);font-variant-numeric:tabular-nums;font-size:13px}.loop-dots{gap:6px;display:inline-flex}.loop-dot{background:conic-gradient(#5ce1ffbf calc(var(--p,0) * 1%), #0f2a34 0);border-radius:50%;width:13px;height:13px;-webkit-mask:radial-gradient(circle,#0000 3.5px,#000 4px);mask:radial-gradient(circle,#0000 3.5px,#000 4px)}.loop-dot.on{background:var(--holo);filter:drop-shadow(0 0 4px #5ce1ffcc)}.send-box{background:linear-gradient(180deg, #020a10, var(--lcd-bg));clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));align-items:center;gap:14px;padding:8px 12px;display:flex;position:relative;box-shadow:inset 0 2px 6px #000000e6,inset 0 0 0 1px #000c,0 1px #ffffff12}.send-box:before{content:"";left:var(--cut);background:linear-gradient(90deg, var(--holo), transparent 70%);opacity:.6;height:1px;position:absolute;top:0;right:0}.send-head{letter-spacing:.2em;color:#4f9fb5;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.send-head:after{content:"››";letter-spacing:-.1em;color:var(--holo);opacity:.85;font-size:15px;line-height:1}.send-item{white-space:nowrap;align-items:baseline;gap:6px;display:inline-flex}.send-dot{opacity:.35;align-self:center;width:7px;height:7px;transform:rotate(45deg)}.send-item.on .send-dot{opacity:1;box-shadow:0 0 8px}.send-glyph{opacity:.45;align-self:center;width:18px;height:18px}.send-item.on .send-glyph,.fp-send.on .send-glyph{opacity:1;filter:drop-shadow(0 0 4px #ffffff59)}.fp-send .send-glyph{width:16px;height:16px;margin-right:6px}.send-value{font-family:var(--mono);color:var(--lcd-text);font-variant-numeric:tabular-nums;font-size:13px}.send-rate{font-family:var(--mono);color:#4f9fb5;font-variant-numeric:tabular-nums;font-size:11px}.tabs{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:3px;padding:12px 10px 0}.tab{gap:4px;padding:9px 2px 10px;font-size:12px}.tab-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.tab-lamp{width:5px;height:5px}.section-title{letter-spacing:.3em;text-transform:uppercase;color:var(--muted);text-shadow:0 -1px #000c;align-items:center;gap:10px;margin:4px 0 10px;font-size:11px;font-weight:600;display:flex}.section-title:after{content:"";background:linear-gradient(#000000b3 50%,#ffffff0f 50%);flex:1;height:2px}.conv{flex-direction:column;gap:6px;margin-bottom:18px;padding:12px 14px 14px;display:flex}.conv-row{color:var(--muted);justify-content:space-between;align-items:baseline;font-size:12px;display:flex}.conv-row.sub{font-size:11px}.conv-points,.conv-gain-value,.conv-num{font-family:var(--mono);color:var(--lcd-text);font-variant-numeric:tabular-nums}.conv-points{text-shadow:0 0 8px var(--lcd-glow);font-size:22px}.conv-gain-value{color:#8fe9ff;font-size:15px}.conv-bar{background:var(--lcd-bg);clip-path:polygon(4px 0,100% 0,calc(100% - 4px) 100%,0 100%);height:8px;margin-top:4px;box-shadow:inset 0 1px 3px #000000e6}.conv-bar-fill{background:linear-gradient(90deg, #5ce1ff66, var(--holo));width:0;height:100%;box-shadow:0 0 10px var(--lcd-glow);transition:width .3s}.conv-remain{font-family:var(--mono);color:var(--lcd-dim);font-size:11px}.conv-button{width:100%;margin-top:6px;padding:9px 14px}.conv-gain{font-family:var(--mono);color:var(--lcd-text);text-shadow:0 0 8px var(--lcd-glow);margin:6px 0 10px;font-size:20px}.btn-primary{color:#d8f6ff;text-shadow:0 0 6px #5ce1ff80;background:linear-gradient(#1d4352,#12262f);box-shadow:inset 0 1px #ffffff26,inset 0 0 0 1px #5ce1ff73,0 2px 3px #0009}.btn-primary:hover:not(:disabled){background:linear-gradient(#24586b,#163440)}@media (width<=800px){.power{order:4}.send-box{flex-wrap:wrap;order:4;gap:6px 12px}.phase-tune{order:5}.run-label{display:none}}.bp{margin-top:18px}.bp-list{flex-direction:column;gap:6px;display:flex}.bp-row{justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.bp-info{flex-direction:column;min-width:0;display:flex}.bp-name{font-size:12.5px;font-weight:600}.bp-count{font-family:var(--mono);color:var(--lcd-dim);font-size:11px}.bp-actions{gap:4px;display:flex}.bp-actions .btn{padding:4px 9px;font-size:12px}.bp-import{width:100%;margin-top:8px}.tree-entry{flex-direction:column;gap:8px;padding:12px 14px;display:flex}.tree-entry-count{font-family:var(--mono);color:var(--lcd-dim);font-size:12px}.tree-entry.ready .tree-entry-count{color:var(--lcd-text);text-shadow:0 0 6px var(--lcd-glow)}.tree-entry-open{width:100%;padding:9px 14px}.tree-overlay{z-index:12;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 50% 55%,#28467840,#0000 60%),radial-gradient(120% 100%,#0a0e16,#020306 85%);flex-direction:column;display:flex;position:fixed;inset:0}.tree-head{box-shadow:inset 0 1px 0 var(--metal-hi), inset 0 -1px 0 #5ce1ff59, 0 3px 10px #0009;z-index:1;background:linear-gradient(#23272f,#15181d);align-items:center;gap:16px;padding:12px 20px;display:flex}.tree-title{letter-spacing:.3em;color:#d8f6ff;text-shadow:0 0 8px #5ce1ff73;margin:0;font-size:15px}.tree-lcd{background:linear-gradient(180deg, #020a10, var(--lcd-bg));clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));align-items:baseline;gap:10px;margin-right:auto;padding:6px 14px;display:flex;box-shadow:inset 0 2px 6px #000000e6}.tree-lcd-label{letter-spacing:.15em;color:#4f9fb5;font-size:11px}.tree-points{font-family:var(--mono);color:var(--lcd-text);text-shadow:0 0 8px var(--lcd-glow);font-size:22px}.tree-view{cursor:grab;touch-action:none;flex:1;position:relative;overflow:hidden}.tree-view:active{cursor:grabbing}.tree-world{transform-origin:0 0;position:absolute;top:0;left:0}.tree-links{pointer-events:none;position:absolute;overflow:visible}.tree-link{stroke:#788caa2e;stroke-width:2px}.tree-link.lit{stroke:color-mix(in srgb, var(--c) 55%, transparent);stroke-dasharray:6 6}.tree-link.done{stroke:var(--c);stroke-width:3px;stroke-dasharray:none;filter:drop-shadow(0 0 4px var(--c))}.tree-core{width:112px;height:112px;box-shadow:0 0 0 6px var(--metal-bottom), 0 0 0 7px var(--metal-edge), inset 0 0 0 1px #5ce1ff73, inset 0 0 18px #000000e6, 6px 9px 18px #000000bf, 0 0 26px #5ce1ff2e;background-color:#0000;background-image:radial-gradient(circle,#f2feff 0 5%,#7fe9ff 9%,#5ce1ff59 15%,#0000 24%),repeating-radial-gradient(circle,#0000 0 13px,#5ce1ff47 13px 14px),radial-gradient(circle,#061018 0 60%,#020609 72%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:padding-box;border:6px solid #0000;border-radius:50%;place-items:center;display:grid;position:absolute}.tree-core:before{content:"";background:conic-gradient(from 0deg, #5ce1ffd9 0 9%, transparent 9% 50%, #5ce1ff80 50% 56%, transparent 56%);border-radius:50%;animation:18s linear infinite core-turn;position:absolute;inset:-4px;-webkit-mask:radial-gradient(circle,#0000 0 calc(50% - 3px),#000 calc(50% - 3px) 50%,#0000 50%);mask:radial-gradient(circle,#0000 0 calc(50% - 3px),#000 calc(50% - 3px) 50%,#0000 50%)}@keyframes core-turn{to{transform:rotate(360deg)}}.tree-core span{font-family:var(--mono);letter-spacing:.3em;color:var(--lcd-text);white-space:nowrap;font-size:10px;position:absolute;top:calc(100% + 16px)}.tree-branch{font-family:var(--mono);letter-spacing:.3em;color:var(--c);white-space:nowrap;background:var(--lcd-bg);border-left:2px solid var(--c);padding:2px 8px 2px 10px;font-size:10px;font-weight:600;position:absolute;box-shadow:inset 0 1px 3px #000000e6}.tnode{--c:var(--optic);width:152px;height:58px;color:var(--text);font:inherit;text-align:left;cursor:pointer;clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));background:linear-gradient(90deg, transparent 18%, color-mix(in srgb, var(--c) 22%, transparent) 50%, transparent 82%) top / 100% 1.5px no-repeat, linear-gradient(180deg, #ffffff06, transparent 60%) 4px 4px / calc(100% - 8px) calc(100% - 8px) no-repeat, linear-gradient(180deg, var(--metal-top), var(--metal-bottom));filter:drop-shadow(3px 5px 6px #000000b3);border:none;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;margin:-29px 0 0 -76px;padding:0 10px 0 52px;transition:filter .15s;display:flex;position:absolute;box-shadow:inset 1px 1px #ffffff24,inset -1px -1px #000000b3,inset 0 0 0 4px #0000,inset 0 0 0 5px #00000059}.tnode:before{content:"";background:radial-gradient(circle, var(--core,#2a3542) 0 18%, transparent 24%), radial-gradient(circle, transparent 0 46%, color-mix(in srgb, var(--c) 45%, transparent) 46% 50%, transparent 50%), radial-gradient(circle, #04090d 0 64%, #000 74%);border-radius:50%;width:32px;height:32px;margin-top:-16px;position:absolute;top:50%;left:11px;box-shadow:0 0 0 1px #000c,0 0 0 2px #ffffff0f}.tnode:after{content:"";background:color-mix(in srgb, var(--c) 30%, #000);width:5px;height:5px;position:absolute;bottom:5px;left:5px;transform:rotate(45deg)}.tnode-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;font-weight:600;line-height:1.2;overflow:hidden}.tnode-sub{text-overflow:ellipsis;max-width:100%;color:var(--muted);white-space:nowrap;font-size:10px;line-height:1.1;overflow:hidden}.tnode-cost{font-family:var(--mono);color:var(--lcd-text);background:var(--lcd-bg);padding:0 6px;font-size:10.5px;box-shadow:inset 0 1px 3px #000000e6,0 0 0 1px #5ce1ff40}.tnode.sealed{filter:saturate(.15)brightness(.5)drop-shadow(3px 5px 6px #000000b3)}.tnode.open{--core:color-mix(in srgb, var(--c) 55%, #10161c)}.tnode.affordable{--core:var(--c)}.tnode.affordable:before{animation:1.8s ease-in-out infinite node-ready}@keyframes node-ready{50%{filter:brightness(1.6) drop-shadow(0 0 6px var(--c))}}.tnode.affordable:after,.tnode.owned:after{background:var(--c);box-shadow:0 0 6px var(--c)}.tnode.owned{--core:#f4feff;background:linear-gradient(90deg, transparent 18%, var(--c) 50%, transparent 82%) top / 100% 1.5px no-repeat, linear-gradient(180deg, color-mix(in srgb, var(--c) 7%, transparent), transparent 60%) 4px 4px / calc(100% - 8px) calc(100% - 8px) no-repeat, linear-gradient(180deg, var(--metal-top), var(--metal-bottom))}.tnode.owned:before{box-shadow:0 0 0 1px #000c, 0 0 10px color-mix(in srgb, var(--c) 60%, transparent)}.tnode.owned .tnode-cost{color:var(--c);text-shadow:0 0 6px var(--c)}.tnode:hover{filter:brightness(1.2)drop-shadow(3px 5px 6px #000000b3)}.tree-zoom{gap:6px;display:flex;position:absolute;bottom:16px;right:16px}.tree-zoom .btn{min-width:38px}.tree-card{z-index:13;flex-direction:column;gap:6px;width:220px;padding:12px 14px;display:flex;position:fixed}.tree-card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.tree-card-name{font-size:13.5px;font-weight:600}.tree-card-cost{font-family:var(--mono);color:var(--lcd-text);background:var(--lcd-bg);padding:0 8px}.tree-card-eff{font-family:var(--mono);color:var(--lcd-text);font-size:12.5px}.tree-card-desc{color:#b9c6d2;max-width:260px;font-size:11.5px;line-height:1.55}.tree-card-note{color:var(--muted);font-size:11.5px}.tree-card-note.warn{color:#ff8a9c}@media (width<=800px){.tree-head{gap:10px;padding:10px 14px}.tree-title{letter-spacing:.15em;font-size:13px}}.records-btn{position:relative}.records-lamp{background:#2a3038;border-radius:50%;width:6px;height:6px;position:absolute;top:3px;right:3px}.records-btn.unread .records-lamp{background:var(--holo);box-shadow:0 0 6px var(--holo);animation:1.6s ease-in-out infinite node-ready}.rec-overlay{z-index:12;background:radial-gradient(circle at 30% 20%,#28467838,#0000 60%),radial-gradient(120% 100%,#0a0e16,#020306 85%);flex-direction:column;display:flex;position:fixed;inset:0}.rec-head{box-shadow:inset 0 1px 0 var(--metal-hi), inset 0 -1px 0 #5ce1ff59, 0 3px 10px #0009;background:linear-gradient(#23272f,#15181d);align-items:center;gap:16px;padding:12px 20px;display:flex}.rec-title{letter-spacing:.3em;color:#d8f6ff;text-shadow:0 0 8px #5ce1ff73;margin:0;font-size:15px}.rec-tabs{gap:4px;margin-right:auto;display:flex}.rec-tab{color:var(--muted);font:inherit;cursor:pointer;clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));background:#14181e;border:none;align-items:baseline;gap:8px;padding:7px 14px;font-size:13px;display:flex;position:relative}.rec-tab.active{color:#d8f6ff;box-shadow:inset 0 -2px 0 var(--holo);background:linear-gradient(#1d2a33,#121a21)}.rec-tab.unread:after{content:"";background:var(--holo);width:5px;height:5px;box-shadow:0 0 5px var(--holo);border-radius:50%;position:absolute;top:4px;right:4px}.rec-count{font-family:var(--mono);color:var(--lcd-dim);font-size:11px}.rec-body{flex:1;grid-template-columns:240px 1fr;gap:16px;min-height:0;padding:16px 20px;display:grid}.rec-list{flex-direction:column;gap:4px;display:flex;overflow-y:auto}.rec-item{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:#14181ed9;border:none;border-left:2px solid #0000;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:13px;display:flex}.rec-item:hover{background:#1e2832e6}.rec-item.active{border-left-color:var(--holo);color:#d8f6ff;background:linear-gradient(90deg,#5ce1ff24,#14181ed9)}.rec-item.locked{color:#4a5262;font-family:var(--mono);letter-spacing:.1em;cursor:default;font-size:12px}.rec-new{font-family:var(--mono);color:var(--lcd-text);text-shadow:0 0 6px var(--lcd-glow);font-size:10px}.rec-page{max-width:720px;clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));background:linear-gradient(#040c12eb,#02080ceb);padding:18px 24px;font-size:14px;line-height:1.75;overflow-y:auto;box-shadow:inset 0 0 0 1px #5ce1ff2e,inset 0 2px 12px #000c}.rec-page p{margin:0 0 10px}.rec-h{color:#d8f6ff;letter-spacing:.08em;margin:0 0 14px;font-size:17px}.rec-author{font-family:var(--mono);letter-spacing:.2em;margin-bottom:4px;font-size:11px}.rec-ai{color:var(--holo)}.rec-predecessor{color:#ffc46b}@media (width<=800px){.rec-head{flex-wrap:wrap;gap:8px 10px;padding:10px 14px}.rec-title{letter-spacing:.15em;font-size:13px}.rec-tabs{order:3;width:100%;margin-right:0}.rec-tab{flex:1;justify-content:center}.rec-head .btn{margin-left:auto}.rec-body{grid-template-rows:auto 1fr;grid-template-columns:1fr;gap:10px;padding:10px 14px 14px}.rec-list{flex-direction:row;padding-bottom:4px;overflow:auto hidden}.rec-item{border-bottom:2px solid #0000;border-left:none;flex:none}.rec-item.active{border-bottom-color:var(--holo)}.rec-page{padding:14px 16px}}.log-scene{z-index:30;opacity:0;cursor:pointer;-webkit-user-select:none;user-select:none;background:#000;place-items:center;padding:24px 16px;transition:opacity .5s;display:grid;position:fixed;inset:0}.log-scene.in{opacity:1}.log-term{width:min(560px,100%);font-family:var(--mono);color:#9fe9ff;text-shadow:0 0 6px #5ce1ff73;font-size:14px;line-height:1.9}.log-head{letter-spacing:.25em;color:#4f9fb5;border-bottom:1px solid #5ce1ff33;gap:10px;margin-bottom:14px;padding-bottom:6px;font-size:11px;display:flex}.log-line:before,.rec-page .log-line:before{content:"> ";color:#4f9fb5}.log-line.typing:after{content:"█";margin-left:2px;animation:.8s step-end infinite log-caret}@keyframes log-caret{50%{opacity:0}}.log-cont{color:var(--lcd-text);margin-top:18px;font-size:12px;animation:1.4s step-end infinite log-caret}.log-skip{font-family:var(--mono);color:#3a4a55;font-size:11px;position:fixed;bottom:14px;right:16px}.rec-page .log-line{font-family:var(--mono);color:#b9e9f5;font-size:13px;line-height:1.9}.rec-replay{margin-top:16px}.rec-page.memo{background:linear-gradient(#161008eb,#0c0905eb);box-shadow:inset 0 0 0 1px #ffc46b33,inset 0 2px 12px #000c}.rec-page.memo .rec-h{color:#ffe2b0}.rec-memo{font-family:var(--mono);color:#f0dcc0;font-size:13.5px}.toast-ach{color:#ffe2b0;box-shadow:0 4px 14px #0009,inset 0 0 0 1px #ffc46b73,0 0 12px #ffb34740}.toast-ach:before{content:"◆ ";color:var(--source)}.rec-body>.ach-wrap{display:none}.rec-body.ach-mode{display:block;overflow-y:auto}.rec-body.ach-mode>.rec-list,.rec-body.ach-mode>.rec-page{display:none}.rec-body.ach-mode>.ach-wrap{display:block}.ach-folders{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.ach-folder{font:inherit;color:var(--muted);cursor:pointer;--cut:5px;clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));background:#101318e6;border:0;align-items:center;gap:8px;padding:6px 12px;font-size:12.5px;display:inline-flex;box-shadow:inset 0 0 0 1px #788caa2e}.ach-folder.active{color:var(--text);box-shadow:inset 0 0 0 1px var(--holo)}.ach-wrap>.ach-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;max-width:980px;display:grid}.ach-card{clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));background:#101318e6;grid-template-rows:auto auto;grid-template-columns:22px 1fr;align-items:center;column-gap:10px;padding:12px 14px;display:grid;box-shadow:inset 0 0 0 1px #788caa24}.ach-mark{border:1.5px solid #3a4250;grid-row:1/3;justify-self:center;width:14px;height:14px;transform:rotate(45deg)}.ach-name{color:#5a6375;font-size:13.5px;font-weight:600}.ach-desc{color:var(--muted);font-size:12px}.ach-card.got{background:linear-gradient(#281e0ee6,#140f08e6);box-shadow:inset 0 0 0 1px #ffc46b59}.ach-card.got .ach-mark{border-color:var(--source);background:var(--source);box-shadow:0 0 8px var(--source)}.ach-card.got .ach-name{color:#ffe2b0}.tut-card{z-index:2;max-width:calc(100% - 24px);clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));pointer-events:none;background:linear-gradient(#08161ef0,#040c12f0);align-items:center;gap:10px;padding:8px 8px 8px 14px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #5ce1ff73,0 0 16px #5ce1ff33,0 4px 14px #0009}.tut-card.pop{animation:.5s ease-out tut-pop}@keyframes tut-pop{0%{opacity:0;transform:translate(-50%,-6px)}}.tut-count{font-family:var(--mono);color:var(--lcd-dim);font-size:11px}.tut-text{color:#d8f6ff;font-size:13px}.tut-close{width:26px;height:26px;color:var(--muted);cursor:pointer;pointer-events:auto;background:0 0;border:none;flex:none;font-size:16px}.tut-close:hover{color:var(--text)}.tut-glow{animation:1.3s ease-in-out infinite tut-glow;position:relative}@keyframes tut-glow{0%,to{box-shadow:inset 0 0 0 1px #5ce1ff59}50%{box-shadow:inset 0 0 0 2px var(--holo), 0 0 14px #5ce1ff8c}}@media (width<=800px){.tut-card{opacity:.92;top:auto;bottom:6px}.tut-text{font-size:12px}}.goal{flex-direction:column;gap:4px;margin:10px 10px 0;padding:9px 12px 10px;display:flex}.goal-head{align-items:baseline;gap:8px;display:flex}.goal-label{letter-spacing:.25em;color:var(--holo);font-size:11px}.goal-step{font-family:var(--mono);color:var(--lcd-dim);font-size:11px}.goal-reward{font-family:var(--mono);color:var(--source);margin-left:auto;font-size:11px}.goal-name{color:#d8f6ff;font-size:13px;font-weight:600}.goal-bar{background:var(--lcd-bg);height:14px;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #000000e6}.goal-fill{background:linear-gradient(90deg,#5ce1ff40,#5ce1ff99);width:0;transition:width .3s ease-out;position:absolute;inset:0 auto 0 0;box-shadow:0 0 8px #5ce1ff80}.goal-hint{color:#b9c6d2;border-left:2px solid #5ce1ff73;margin:6px 0 0;padding-left:10px;font-size:11.5px;line-height:1.55}.goal-value{font-family:var(--mono);text-align:right;color:var(--lcd-text);padding:0 6px;font-size:10.5px;line-height:14px;display:block;position:relative}.layers{scrollbar-width:none;gap:4px;min-width:0;max-width:100%;display:flex;overflow-x:auto}.layers::-webkit-scrollbar{display:none}.layer-btn{white-space:nowrap;color:var(--muted);font:inherit;letter-spacing:.05em;cursor:pointer;clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));background:#14181e;border:none;flex:none;padding:5px 10px;font-size:12px}.layer-btn:hover{color:var(--text)}.layer-btn.active{color:#d8f6ff;box-shadow:inset 0 -2px 0 var(--holo);background:linear-gradient(#1d2a33,#121a21)}.layer-select{color:#d8f6ff;font:inherit;letter-spacing:.05em;appearance:none;background:linear-gradient(45deg, transparent 50%, var(--holo) 50%) right 14px center / 5px 5px no-repeat, linear-gradient(-45deg, transparent 50%, var(--holo) 50%) right 9px center / 5px 5px no-repeat, linear-gradient(180deg, #1d2a33, #121a21);box-shadow:inset 0 -2px 0 var(--holo);cursor:pointer;border:none;padding:6px 28px 6px 12px;font-size:13px;display:none}.layer-select option{color:#d8f6ff;background:#121a21}@media (width<=800px){.hud .counter{flex-wrap:wrap;row-gap:4px}.counter .res-box{flex:100%}.counter .res-box:has(.res-list:empty){display:none}.layer-btn{display:none}.layer-select{display:block}}.dev-panel{z-index:40;flex-direction:column;gap:6px;max-width:calc(100vw - 24px);padding:10px 12px;font-size:12px;display:flex;position:fixed;bottom:12px;left:12px}.dev-title{font-family:var(--mono);color:#ff8a9c;letter-spacing:.2em}.dev-row{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.dev-label{width:56px;font-family:var(--mono);color:var(--muted)}.dev-row .btn{padding:3px 8px;font-size:11px}.dev-info{font-family:var(--mono);color:var(--lcd-text);font-size:11px}.res-box{flex:1;align-items:baseline;gap:10px;min-width:0;display:flex;position:relative}.res-list{flex-wrap:nowrap;gap:14px;min-width:0;display:flex;overflow:hidden}.res-list:empty{display:none}.res{white-space:nowrap;align-items:baseline;gap:5px;display:flex}.res-need .res-value{color:#e8fbff}.res-more{color:var(--lcd-dim);font-family:var(--mono);cursor:pointer;background:0 0;border:1px solid #5ce1ff59;flex:none;padding:1px 7px;font-size:11px}.res-more:hover,.res-more.active{color:var(--lcd-text);border-color:#5ce1ffb3}.res-pop{z-index:30;grid-template-columns:repeat(2,auto);gap:6px 18px;padding:10px 14px;display:grid;position:fixed}.res-pop[hidden]{display:none}.res-name{color:var(--lcd-dim);font-size:11px}.res-cap{font-family:var(--mono);color:var(--lcd-dim);font-size:11px}.res-value{font-family:var(--mono);color:var(--lcd-text);text-shadow:0 0 6px var(--lcd-glow);font-size:13px}.ins-swatch{vertical-align:middle;border-radius:2px;width:10px;height:3px;margin-right:6px;display:inline-block;box-shadow:0 0 6px}.integ{flex-direction:column;gap:8px;margin-top:6px;padding:10px 12px;display:flex}.integ[data-open=false]{display:none}.integ-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.integ-title{letter-spacing:.08em;color:#d8f6ff;font-size:12px}.integ-count{font-family:var(--mono);color:var(--lcd-text);font-size:12px}.part{position:relative}.part-discard{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:13px;position:absolute;top:2px;right:4px}.part-discard:hover{color:#ff8a9c}.inlet-hint{color:var(--muted);border-left:2px solid var(--particle);padding:10px 12px;font-size:12px;line-height:1.6}.tut-card[hidden]{display:none}.tr-hint{color:var(--muted);font-size:12px}.ach-card.hidden-ach:not(.got) .ach-desc{color:var(--muted);font-style:italic}.title-screen{z-index:200;background:#05070b;place-items:center;transition:opacity .4s;display:grid;position:fixed;inset:0}.title-screen.closing{opacity:0;pointer-events:none}.title-bg{width:100%;height:100%;position:absolute;inset:0}.title-center{flex-direction:column;align-items:center;gap:14px;max-width:calc(100vw - 32px);margin-bottom:18vh;padding:32px 28px;display:flex;position:relative}.title-name{letter-spacing:.32em;color:#e9fbff;text-shadow:0 0 18px #5ce1ffb3,0 0 42px #5ce1ff59;white-space:nowrap;margin:0;font-size:clamp(30px,8vw,64px);font-weight:600}.title-sub{letter-spacing:.2em;color:var(--lcd-dim);margin:0 0 12px;font-size:14px}.title-menu{--cut:10px;width:min(300px,84vw);clip-path:polygon(var(--cut) 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, var(--cut) 100%, 0 calc(100% - var(--cut)), 0 var(--cut));background:linear-gradient(#2a2f3b,#12151e);flex-direction:column;align-items:stretch;gap:10px;padding:18px 18px 16px;display:flex;position:relative;box-shadow:inset 0 1px #ffffff1f,inset 0 -1px #000000b3,0 8px 24px #000000b3}.title-menu:before{content:"";background:var(--holo);height:1.5px;box-shadow:0 0 6px var(--holo);opacity:.85;position:absolute;top:6px;left:25%;right:25%}.title-btn{letter-spacing:.12em;padding:12px 18px;font-size:15px}.title-debug{color:#ffd9a0;border-color:#ffb34773;margin-top:10px}.title-hint{text-align:center;color:var(--muted);margin:0;font-size:11px;line-height:1.5}.title-lang{position:absolute;top:16px;right:16px}.debug-badge{color:#ffb347;letter-spacing:.12em;border-color:#ffb34799}.life-panel{flex-direction:column;gap:8px;margin-bottom:8px;padding:10px 12px;display:flex}.life-title{letter-spacing:.12em;color:var(--life);font-size:12px}.life-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.route-cards{grid-template-columns:1fr 1fr;gap:8px;display:grid}.route-card{text-align:left;white-space:normal;flex-direction:column;align-items:flex-start;gap:4px;padding:10px;display:flex}.route-card[hidden]{display:none}.route-name{color:var(--life);font-size:14px}.route-desc{color:var(--muted);font-size:11px;line-height:1.5}.route-chosen{color:var(--life);font-size:13px}.evo-stats{flex-direction:column;gap:2px;display:flex}.evo-row{align-items:center;gap:6px;display:flex}.evo-label{color:var(--muted);flex:1;font-size:12px}.evo-strength.active{border-color:var(--life);color:var(--life)}.dash-modal{width:min(980px,100%)}.dash-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.dash-card{color:var(--text);font:inherit;text-align:left;cursor:pointer;border:none;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.dash-card.active{box-shadow:inset 0 0 0 1px var(--holo)}.dash-head{letter-spacing:.08em;color:var(--holo);font-size:12px}.dash-main{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.dash-res{color:var(--muted);font-size:11px}.dash-val{font-family:var(--mono);color:var(--lcd-text);font-size:18px}.dash-rate,.dash-up,.dash-next{font-family:var(--mono);color:#9fd8c4;font-size:11px}.dash-stall{color:var(--muted);font-size:11px}.dash-stall.warn{color:#ff8a9c}.dash-why{color:#c9a0aa;font-size:10.5px;line-height:1.4}.dash-bar{background:#ffffff14;height:4px;margin-top:3px}.dash-bar span{background:var(--holo);height:100%;display:block}.dash-foot{justify-content:flex-end;margin-top:12px;display:flex}.confirm-backdrop{z-index:300}.confirm-modal{width:min(380px,100%)}.confirm-text{margin:0 0 14px;line-height:1.6}.phase-tune{font:inherit;color:var(--text);cursor:pointer;background:linear-gradient(180deg, #020a10, var(--lcd-bg));clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));touch-action:manipulation;-webkit-user-select:none;user-select:none;border:none;align-items:center;gap:8px;padding:8px 12px;display:flex;box-shadow:inset 0 2px 6px #000000e6,inset 0 0 0 1px #000c}.phase-tune[hidden]{display:none}.pt-label{color:var(--muted);letter-spacing:.08em;font-size:11px}.pt-track{background:#ffffff0a;width:96px;height:14px;position:relative;overflow:hidden}.pt-zone{background:#54e6ff38;position:absolute;top:0;bottom:0;box-shadow:inset 0 0 0 1px #54e6ff8c}.pt-pulse{width:3px;box-shadow:0 0 6px #fff, 0 0 12px var(--holo);background:#fff;margin-left:-1.5px;position:absolute;top:1px;bottom:1px}.pt-mult{min-width:64px;font-family:var(--mono);color:var(--muted);font-size:12px}.phase-tune.boost .pt-mult{color:var(--lcd-text)}.phase-tune.locked .pt-track{opacity:.35}.phase-tune.hit .pt-track{animation:.35s ease-out pt-hit}.phase-tune.miss .pt-track{animation:.35s ease-out pt-miss}@keyframes pt-hit{0%{box-shadow:0 0 14px var(--holo)}to{box-shadow:none}}@keyframes pt-miss{0%{box-shadow:0 0 10px #ff5a6e}to{box-shadow:none}}.ch-modal{width:min(560px,100%)}.ch-list{flex-direction:column;gap:8px;display:flex}.ch-row{background:#ffffff08;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.ch-row.done{opacity:.75}.ch-name{align-items:center;gap:8px;font-size:14px;display:flex}.ch-done{color:#0b1a12;background:#7ee8a8;padding:1px 6px;font-size:10.5px}.ch-desc{color:var(--muted);margin:2px 0 0;font-size:12px;line-height:1.5}.ch-reward{font-family:var(--mono);color:#9fd8c4;font-size:11px}.ch-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.ch-size{font:inherit;color:var(--text);background:#0b141c;border:1px solid #ffffff26;padding:4px 8px}.ch-bar{flex-direction:column;gap:6px;padding:10px 12px;display:flex}.ch-bar[hidden]{display:none}.ch-bar-head{color:var(--holo);justify-content:space-between;gap:8px;font-size:13px;display:flex}.ch-bar-status{color:#7ee8a8}.ch-bar-meter{background:#ffffff0f;height:18px;position:relative}.ch-bar-fill{background:#54e6ff59;position:absolute;inset:0 auto 0 0}.ch-bar.solved .ch-bar-fill{background:#7ee8a873}.ch-bar-goal{font-family:var(--mono);padding:0 6px;font-size:11.5px;line-height:18px;display:block;position:relative}.ch-bar-inv{flex-wrap:wrap;align-items:center;gap:5px;font-size:11.5px;display:flex}.ch-inv-label{color:var(--muted)}.ch-chip{background:#ffffff12;padding:1px 6px}.ch-chip.used{opacity:.4}.ch-bar-buttons{gap:6px;display:flex}.ch-bar-buttons .btn[hidden]{display:none}body.in-challenge .counter,body.in-challenge .power,body.in-challenge .send-box,body.in-challenge .phase-tune{visibility:hidden}body.in-life-proto .counter,body.in-life-proto .send-box,body.in-chem-proto .counter,body.in-chem-proto .send-box,body.in-fusion-proto .counter,body.in-fusion-proto .send-box{visibility:visible}.log-stage{align-items:baseline;gap:14px;margin:4px 0 18px;animation:.9s ease-out both stage-in;display:flex}.log-stage-no{letter-spacing:.08em;color:#e8fbff;text-shadow:0 0 14px #5ce1ffcc;font-size:30px}.log-stage-name{letter-spacing:.3em;color:#9fe9ff;font-size:20px}@keyframes stage-in{0%{opacity:0;letter-spacing:.6em}}.goal-stage{font-family:var(--mono);color:#0b1a22;background:var(--holo);margin-right:8px;padding:0 6px;font-size:10.5px}.goal-stage[hidden]{display:none}.conv-loom-root{z-index:30;pointer-events:none;--label:0;position:fixed;inset:0}.conv-loom{width:100%;height:100%}.conv-loom-label{left:50%;top:calc(50% + var(--core,30px) * 2.4 + 18px);font-family:var(--mono);opacity:var(--label);white-space:nowrap;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;transform:translate(-50%)}.conv-loom-head{letter-spacing:.32em;color:#5ce1ff99;margin-bottom:6px;font-size:10px}.conv-loom-points{letter-spacing:.06em;color:#f2fdff;text-shadow:0 0 10px #5ce1ffe6,0 0 28px #5ce1ff73;font-size:38px;font-weight:300;line-height:1}.conv-loom-unit{letter-spacing:.4em;color:#9fe9ff;font-size:11px}.conv-loom-hint{letter-spacing:.2em;color:#9fe9ffb3;opacity:0;margin-top:14px;font-size:11px;transition:opacity .4s}.conv-loom-root.waiting{pointer-events:auto;cursor:pointer}.conv-loom-root.waiting .conv-loom-hint{opacity:1;animation:1.6s ease-in-out infinite conv-hint}@keyframes conv-hint{50%{opacity:.4}}.conv-loom-root.reduced{--label:1;background:#02040ab3;transition:opacity .5s}.conv-loom-root.reduced.leaving{opacity:0}.pp-stats{grid-template-columns:1fr 1fr;gap:2px 12px;font-size:11.5px;display:grid}.pp-row{color:var(--muted);justify-content:space-between;gap:6px;display:flex}.pp-val{font-family:var(--mono);color:var(--lcd-text)}.pp-row.pp-e .pp-val{color:#4fc3ff}.pp-row.pp-p .pp-val{color:#ff8a4c}.pp-row.pp-pr .pp-val{color:#ffd34f}.pp-row.pp-n .pp-val{color:#b8c0c8}.pp-row.warn .pp-val{color:#ff8a9c}.pp-help{color:#b9c6d2;margin:0;font-size:11px;line-height:1.55}.pp-feed{background:#ffffff0a;flex-direction:column;gap:3px;padding:6px 8px;display:flex}.pp-feed-main{color:var(--holo);justify-content:space-between;font-size:12.5px;display:flex}.pp-feed-val{font-family:var(--mono);color:var(--lcd-text)}.pp-feed-bar{background:#ffffff14;height:4px}.pp-feed-bar span{background:#7ee8a8;height:100%;display:block}.pp-feed-sub{color:var(--muted);font-size:11px}.pp-help-box{font-size:11px}.pp-help-box summary{cursor:pointer;color:var(--holo);list-style:none}.pp-help-box summary:before{content:"▸ "}.pp-help-box[open] summary:before{content:"▾ "}.pp-help-box .pp-help{margin:4px 0 0}.fp-badge{color:#1a0d00;background:#ffb347;margin-left:8px;padding:1px 6px;font-size:11px}.fp-badge[hidden]{display:none}.fp-ign-bar span{background:#ff9a3c}.pp-row.fp-d .pp-val{color:#ff9a3c}.pp-row.fp-he .pp-val{color:#ff6fc8}.fp-sends{background:#ffffff0a;flex-direction:column;gap:3px;padding:6px 8px;display:flex}.fp-send{color:var(--muted);grid-template-columns:10px 1fr auto auto;align-items:center;gap:8px;font-size:12px;display:grid}.fp-send.on{color:var(--holo)}.fp-swatch{border-radius:2px;width:10px;height:10px}.fp-move{white-space:nowrap;padding:1px 8px;font-size:11px}.photons-value{text-align:right;min-width:8ch;display:inline-block}.rate{min-width:11ch;display:inline-block}.run-value,.res-value,.send-value{text-align:right;font-variant-numeric:tabular-nums;min-width:8ch;display:inline-block}.send-rate{min-width:10ch;display:inline-block}.power-text,.loop-value{text-align:right;min-width:6ch;display:inline-block}@media (width>=801px){.hud{grid-template-columns:auto auto minmax(0,1fr) auto auto;grid-template-areas:"title layers counter counter power""send send send loop phase""btns btns btns btns btns";align-items:center;gap:10px 20px;display:grid}.hud>.title{grid-area:title}.hud>.layers{grid-area:layers}.hud>.counter{grid-area:counter;justify-self:start;max-width:100%}.hud>.power{grid-area:power;justify-self:end}.hud>.send-box{flex-wrap:wrap;grid-area:send;justify-self:start;max-width:100%}.hud>.loop-box{grid-area:loop}.hud>.phase-tune{grid-area:phase;justify-self:end}.hud>.hud-buttons{grid-area:btns;justify-self:end;margin-left:0}}.photons-label{white-space:nowrap}@media (width>=801px) and (width<=1199px){.hud{grid-template-areas:"title layers layers layers power""counter counter counter counter counter""send send send loop phase""btns btns btns btns btns"}}@media (width<=800px){.rate{min-width:0}}.title-lang{gap:8px;display:flex}.settings{width:min(460px,100vw - 32px)}.set-row{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.set-label{color:var(--text);white-space:nowrap;font-size:13px}.set-ctl{align-items:center;gap:10px;display:flex}.set-value{text-align:right;min-width:4ch;font-family:var(--mono);color:var(--lcd-text);font-variant-numeric:tabular-nums;font-size:13px;display:inline-block}.seg{background:linear-gradient(180deg, #020a10, var(--lcd-bg));gap:2px;padding:3px;display:inline-flex;box-shadow:inset 0 2px 6px #000000e6}.seg-btn{padding:4px 10px;font-size:12px}.seg-btn.on{color:#e9fbff;border-color:#5ce1ffb3;box-shadow:inset 0 0 0 1px #5ce1ff66,0 0 8px #5ce1ff59}.set-range{width:min(180px,40vw);accent-color:var(--holo)}.set-actions{flex-wrap:wrap;gap:8px;padding:6px 0;display:flex}.settings-backdrop{z-index:300}
