:root{--bg-0: #060708;--bg-1: #0a0b0f;--bg-2: #0e1016;--panel: rgba(16, 19, 27, .62);--panel-2: rgba(22, 26, 36, .72);--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .18);--text: #f5f7fa;--muted: #8a8f98;--dim: #565c67;--common: #8a8f98;--rare: #3b82f6;--epic: #8b5cf6;--legendary: #f5a623;--accent: #3b82f6;--danger: #f87171;--success: #34d399;--warn: #fbbf24;--ore: #c0c6cf;--parts: #60a5fa;--blueprint: #a78bfa;--astra: #5eead4;--r-sm: 6px;--r-md: 12px;--r-lg: 18px;--rail: 76px;--hud: 64px;--font: "Rajdhani", "Eurostile", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", "SF Mono", ui-monospace, "Roboto Mono", monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:radial-gradient(1200px 800px at 78% -10%,rgba(59,130,246,.1),transparent 60%),radial-gradient(1000px 700px at 10% 110%,rgba(139,92,246,.1),transparent 60%),linear-gradient(180deg,var(--bg-1),var(--bg-0));overflow:hidden;-webkit-font-smoothing:antialiased;letter-spacing:.2px}h1,h2,h3{font-weight:700;letter-spacing:.6px;margin:0}.label{text-transform:uppercase;letter-spacing:2px;font-size:11px;color:var(--muted)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.panel{position:relative;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--border);border-radius:var(--r-md);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px #ffffff0d,0 18px 50px #00000073}.panel:before,.panel:after{content:"";position:absolute;width:14px;height:14px;pointer-events:none;border:1.5px solid var(--border-strong);border-radius:1px}.panel:before{top:7px;left:7px;border-right:0;border-bottom:0}.panel:after{bottom:7px;right:7px;border-left:0;border-top:0}.panel.glow{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent),0 0 28px color-mix(in srgb,var(--accent) 22%,transparent),0 18px 50px #00000080;border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.corner{position:absolute;width:16px;height:16px;border:1.5px solid var(--accent);pointer-events:none;opacity:.9}.corner.tl{top:8px;left:8px;border-right:0;border-bottom:0}.corner.tr{top:8px;right:8px;border-left:0;border-bottom:0}.corner.bl{bottom:8px;left:8px;border-right:0;border-top:0}.corner.br{bottom:8px;right:8px;border-left:0;border-top:0}.btn{font-family:var(--font);font-weight:600;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--text);background:#ffffff0a;border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:10px 16px;cursor:pointer;transition:all .18s ease;position:relative}.btn:hover:not(:disabled){background:#ffffff17;transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.38;cursor:not-allowed}.btn-accent{color:#04121f;border-color:transparent;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 92%,white),var(--accent));box-shadow:0 0 22px color-mix(in srgb,var(--accent) 45%,transparent)}.btn-accent:hover:not(:disabled){box-shadow:0 0 34px color-mix(in srgb,var(--accent) 65%,transparent)}.btn-ghost{background:transparent;border-color:var(--border)}.shell{display:grid;grid-template-columns:var(--rail) 1fr;grid-template-rows:var(--hud) 1fr;height:100%;position:relative;z-index:1}.shell>.hudbar{grid-column:1 / 3}.viewport{overflow-y:auto;padding:22px 26px 36px}.view{max-width:1080px;margin:0 auto}.grid-6{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.stack{display:flex;flex-direction:column;gap:16px}@media(max-width:920px){.grid-6{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3,.grid-2{grid-template-columns:1fr}}.view-head{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.view-head h1{font-size:23px}.view-head .sub{color:var(--muted);font-size:12px}.chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:1px;text-transform:uppercase;padding:4px 9px;border-radius:999px;border:1px solid var(--border-strong);color:var(--muted)}.tag{font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:2px 7px;border-radius:4px;border:1px solid currentColor}.bar{height:7px;border-radius:999px;background:#ffffff14;overflow:hidden}.bar>i{display:block;height:100%;border-radius:999px;transition:width .4s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(2000%)}}.fade-up{animation:fadeUp .45s ease both}.lift{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.lift:hover{transform:translateY(-4px)}.viewport::-webkit-scrollbar,.scroll::-webkit-scrollbar{width:9px;height:9px}.viewport::-webkit-scrollbar-thumb,.scroll::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px}.viewport::-webkit-scrollbar-track,.scroll::-webkit-scrollbar-track{background:transparent}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:#020408b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeUp .2s ease}.toasts{position:fixed;top:76px;right:24px;z-index:60;display:flex;flex-direction:column;gap:10px}.toast{animation:fadeUp .25s ease both;min-width:230px}a{color:inherit}button{font-family:inherit}@media(max-width:760px){:root{--rail: 0px;--hud: 56px}.shell{grid-template-columns:1fr;grid-template-rows:var(--hud) 1fr 64px}.viewport{padding:18px 14px 30px}.navrail{position:fixed;bottom:0;left:0;right:0;top:auto!important;width:100%!important;height:64px;flex-direction:row!important;border-right:0!important;border-top:1px solid var(--border);z-index:5}}
