@font-face{font-family:Orbitron;font-style:normal;font-weight:500 900;font-display:swap;src:url(/fonts/Orbitron-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/JetBrainsMono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-void:#05070d;--color-surface:#0e1424;--color-elevated:#182238;--color-hover:#1a2236;--color-border-line:#243350;--color-border-glow:#2a3a55;--color-core:#00e5ff;--color-core-dim:#00b8cc;--color-core-deep:#006b7a;--color-amber:#ffb627;--color-amber-deep:#ff8c00;--color-quantum:#2ee6a0;--color-alert:#f8546f;--color-plasma:#a78bfa;--color-layer-stellar:#e879f9;--color-layer-cluster:#60a5fa;--color-layer-arm:#fb7185;--color-layer-galaxy:#facc15;--color-layer-void:#38bdf8;--color-sector-dark:#e84393;--color-silencer:#94a3b8;--color-rarity-common:#8b96a8;--color-singularity:#fbbf24;--color-t-primary:#e8edf5;--color-t-secondary:#8b96a8;--color-t-tertiary:#7a8699;--color-on-core:#05070d;--font-display:"Orbitron", "PingFang SC", "HarmonyOS Sans SC", system-ui, sans-serif;--font-body:"PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei UI", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--radius-xs:3px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--icon-xs:12px;--icon-sm:14px;--icon-md:18px;--icon-lg:24px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:40px;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:20px;--text-xl:25px;--text-2xl:31px;--text-display:39px;--ease-out:cubic-bezier(.16, 1, .3, 1);--elevation-1:0 1px 0 #ffffff08 inset, 0 2px 8px #0000004d;--elevation-2:0 1px 0 #ffffff0d inset, 0 8px 24px #0006;--elevation-3:0 1px 0 #ffffff12 inset, 0 16px 48px #00000080;--color-locked:#6387ab}*,:before,:after{box-sizing:border-box;border:0 solid;margin:0;padding:0}html{-webkit-text-size-adjust:100%;line-height:1.5;overflow-x:clip}body{font-family:var(--font-body);background:var(--color-void);color:var(--color-t-primary);font-size:var(--text-sm);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5;overflow-x:hidden}button{font-family:inherit;font-size:100%;font-weight:inherit;color:inherit;cursor:pointer;background:0 0;border:none}ul,ol{list-style:none}input,textarea,select{font:inherit}img,svg,video,canvas{vertical-align:middle;display:block}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}:focus-visible{outline:2px solid var(--color-core);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-glow);border-radius:var(--radius-xs)}body:after{content:"";z-index:0;pointer-events:none;background: radial-gradient(ellipse 80% 60% at 15% 20%, color-mix(in srgb, var(--color-core) 4.5%, transparent) 0%, color-mix(in srgb, var(--color-core) 2%, transparent) 40%, transparent 70%),  radial-gradient(ellipse 70% 50% at 85% 75%, color-mix(in srgb, var(--color-plasma) 4%, transparent) 0%, color-mix(in srgb, var(--color-plasma) 1.5%, transparent) 45%, transparent 75%),  radial-gradient(ellipse 60% 40% at 50% 90%, color-mix(in srgb, var(--color-amber) 2.5%, transparent) 0%, transparent 60%);box-shadow:inset 0 0 120px 40px color-mix(in srgb, var(--color-void) 60%, transparent), inset 0 0 60px 20px color-mix(in srgb, var(--color-void) 30%, transparent);position:fixed;top:0;bottom:0;left:0;right:0}.star-field{z-index:0;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}.star{border-radius:50%;width:2px;height:2px;animation:3s ease-in-out infinite twinkle;position:absolute}#app{z-index:1;position:relative}@keyframes screenIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spinRing{to{transform:rotate(360deg)}}@keyframes corePulse{0%,to{box-shadow:0 0 40px color-mix(in srgb, var(--color-core) 40%, transparent), inset 0 0 20px #fff3;transform:scale(1)}50%{box-shadow:0 0 60px color-mix(in srgb, var(--color-core) 60%, transparent), inset 0 0 30px #ffffff4d;transform:scale(1.08)}}@keyframes twinkle{0%,to{opacity:.3}50%{opacity:.8}}@keyframes modalIn{0%{opacity:0;transform:scale(.92)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes floatUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes actionPulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--c,var(--color-core)) 20%, transparent)}50%{box-shadow:0 0 12px 2px color-mix(in srgb, var(--c,var(--color-core)) 15%, transparent)}}@keyframes coreClickPulse{0%{transform:scale(1)}20%{transform:scale(1.12)}60%{transform:scale(.97)}to{transform:scale(1)}}@keyframes flowPulse{0%,to{opacity:.3}50%{opacity:.6}}@keyframes warpFlash{0%{opacity:0}30%{opacity:.7}to{opacity:0}}@keyframes warpOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}@keyframes warpIn{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes particleRise{0%{opacity:0;transform:translateY(0)scale(.5)}20%{opacity:1;transform:translateY(-6px)scale(1)}to{opacity:0;transform:translateY(-28px)scale(.8)}}.warp-enter-active{animation:warpIn .3s var(--ease-out)}.warp-leave-active{animation:warpOut .2s var(--ease-out)}@keyframes flashSuccess{0%{box-shadow:var(--elevation-1)}15%{box-shadow:var(--elevation-1), 0 0 0 2px color-mix(in srgb, var(--flash-color,var(--color-core)) 60%, transparent), 0 0 24px color-mix(in srgb, var(--flash-color,var(--color-core)) 40%, transparent)}to{box-shadow:var(--elevation-1)}}.flash-success{animation:flashSuccess .4s var(--ease-out)}@keyframes shakeError{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.shake-error{animation:shakeError .3s var(--ease-out)}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.page-title{font-size:var(--text-lg);color:var(--color-core);font-weight:700}.page-sub{font-size:var(--text-xs);color:var(--color-t-secondary);margin-top:calc(-1 * var(--space-3))}.section-title{color:var(--color-t-primary);margin-bottom:var(--space-3);padding-left:var(--space-2);border-left:2px solid var(--color-core);font-size:17px;font-weight:600}.section-title.sub{font-size:var(--text-sm);margin-bottom:var(--space-2);border-left:none;position:relative}.section-title.sub:before{content:"";background:var(--color-core);border-radius:1px;width:12px;height:2px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.section-title.alert{font-size:var(--text-sm);margin-bottom:var(--space-2);border-left-color:var(--color-alert)}.section-title.with-icon{align-items:center;gap:var(--space-2);display:flex}.stat{font-size:var(--text-xs);font-family:var(--font-mono);padding:var(--space-1) var(--space-2);background:var(--color-elevated);border-radius:var(--radius-sm)}.time-tag{font-size:var(--text-xs);color:var(--color-t-tertiary)}.empty-msg{font-size:var(--text-xs);color:var(--color-t-tertiary);text-align:center}.auto-badge{font-size:var(--text-xs);color:var(--color-quantum);margin-top:calc(-1 * var(--space-2));margin-bottom:var(--space-2);letter-spacing:.05em}.s-type{font-size:var(--text-xs);color:var(--color-t-secondary)}.fade-enter-active,.fade-leave-active{transition:opacity .2s var(--ease-out)}.fade-enter-from,.fade-leave-to{opacity:0}.empty-state{align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center;flex-direction:column;display:flex}.empty-state .empty-icon{color:var(--color-t-tertiary);opacity:.5}.empty-state .empty-text{font-size:var(--text-sm);color:var(--color-t-tertiary)}.empty-state .empty-hint{font-size:var(--text-xs);color:var(--color-t-tertiary);opacity:.7}.modal-overlay{z-index:200;background:color-mix(in srgb, var(--color-void) 85%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.confirm-title{font-size:var(--text-base);color:var(--color-alert);text-align:center;margin-bottom:var(--space-2);font-weight:700}.confirm-actions{gap:var(--space-2);display:flex}@media (max-width:767px){.side-nav{display:none!important}}@media (min-width:768px){.bottom-nav{display:none!important}}.brand-name{letter-spacing:2px;text-shadow:0 0 12px color-mix(in srgb, var(--color-core) 40%, transparent);padding-left:2px;font-family:PingFang SC,HarmonyOS Sans SC,Microsoft YaHei UI,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rarity-badge{font-size:var(--text-xs);padding:1px var(--space-2);border-radius:var(--radius-xs);color:var(--color-void);font-weight:700}.r-name{font-size:var(--text-sm);margin-bottom:var(--space-1);font-weight:600}.r-head{margin-bottom:var(--space-1);color:var(--c);justify-content:space-between;align-items:center;display:flex}.r-effects{gap:var(--space-1);flex-wrap:wrap;display:flex}.eff-mini{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);background:var(--color-elevated);border-radius:var(--radius-xs);color:var(--color-t-primary)}.synth-product{border:1px solid var(--c);border-radius:var(--radius-md);background:color-mix(in srgb, var(--c) 8%, var(--color-surface));padding:var(--space-3);margin:var(--space-3) 0}.btn,.btn-primary,.btn-secondary,.btn-accent,.btn-ghost{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-md);transition:all .15s var(--ease-out);cursor:pointer;display:inline-flex}.btn-primary{background:var(--color-core);color:var(--color-on-core);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--color-core-dim);box-shadow:0 0 16px color-mix(in srgb, var(--color-core) 30%, transparent)}.btn-primary:active{transition:transform .1s var(--ease-out);transform:scale(.95)}.btn-primary:disabled{background:var(--color-elevated);color:var(--color-t-tertiary);cursor:not-allowed;opacity:.4;pointer-events:none}.btn-secondary{background:var(--color-elevated);color:var(--color-t-primary);border:1px solid var(--color-border-line);font-weight:500}.btn-secondary:hover:not(:disabled){background:var(--color-hover);border-color:var(--color-border-glow)}.btn-secondary:active{transition:transform .1s var(--ease-out);transform:scale(.95)}.btn-secondary:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-accent{background:var(--accent,var(--color-core));color:var(--color-on-core);font-weight:600}.btn-accent:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 0 16px color-mix(in srgb, var(--accent,var(--color-core)) 30%, transparent)}.btn-accent:active{transition:transform .1s var(--ease-out);transform:scale(.95)}.btn-accent:disabled{background:var(--color-elevated);color:var(--color-t-tertiary);cursor:not-allowed;opacity:.4;pointer-events:none}.btn-ghost{color:var(--color-t-secondary);background:0 0;font-weight:500}.btn-ghost:hover:not(:disabled){background:var(--color-hover);color:var(--color-t-primary)}.btn-ghost:active{transition:transform .1s var(--ease-out);transform:scale(.95)}.btn-ghost:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-primary.sm,.btn-secondary.sm,.btn-accent.sm,.btn-ghost.sm{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);min-height:40px}.btn-primary.block,.btn-secondary.block,.btn-accent.block,.btn-ghost.block{width:100%}.bulk-toggle{border:1px solid var(--color-border-line);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.seg-btn{padding:var(--space-1) var(--space-3);min-height:32px;font-size:var(--text-xs);font-family:var(--font-mono,monospace);color:var(--color-t-secondary);transition:all .15s var(--ease-out);background:0 0}.seg-btn+.seg-btn{border-left:1px solid var(--color-border-line)}.seg-btn:hover{color:var(--color-t-primary);background:var(--color-hover)}.seg-btn.active{color:var(--accent,var(--color-core));background:color-mix(in srgb, var(--accent,var(--color-core)) 10%, transparent)}.btn-busy{pointer-events:none}.btn-busy:before{content:"";border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.7s linear infinite spinRing}.toast{background:var(--color-surface);border:1px solid var(--color-border-line);color:var(--color-core);font-size:var(--text-sm);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);z-index:300;pointer-events:none;font-weight:500;position:fixed;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}@media (max-width:767px){.toast{bottom:128px}}.toast-enter-active,.toast-leave-active{transition:opacity .25s,transform .25s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%)translateY(8px)}
