.scene-container{background:var(--bg-scene);cursor:grab}.el-card{width:var(--card-width);height:var(--card-height)}.el-card-inner{border:var(--line-mid);border-radius:var(--radius-md);font-family:var(--font-ui);box-shadow:var(--shadow-card-box);padding:var(--space-3);transition:filter var(--t-ui),transform var(--t-ui)}.el-card:hover .el-card-inner{filter:brightness(1.3) saturate(1.2);transform:scale(var(--hover-scale))}.el-num{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--on-surface-dim);padding-left:var(--space-2);align-self:flex-start}.el-sym{font-size:var(--fs-display);font-weight:var(--fw-extrabold);color:var(--text-primary);text-shadow:0 var(--space-0) var(--space-2) var(--shadow-text)}.el-name{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--on-surface-mid);margin-top:var(--space-2);line-height:var(--lh-snug);letter-spacing:var(--ls-tight)}.el-mass{font-size:var(--fs-xs);color:var(--on-surface-muted);margin-top:var(--space-1)}.popup{position:fixed;z-index:var(--z-popup);width:var(--popup-width);background:var(--bg-surface);border:var(--space-1) solid var(--accent, #555);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-popup-box);animation:popIn var(--t-mid) var(--ease-spring);pointer-events:auto}@keyframes popIn{0%{opacity:0;transform:scale(var(--anim-scale-from)) translateY(var(--anim-slide-from))}to{opacity:1;transform:scale(1) translateY(0)}}.popup-header{gap:var(--space-5);padding:var(--space-5) var(--space-6)}.popup-num{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--on-surface-muted);min-width:var(--icon-btn-size)}.popup-sym{font-size:var(--fs-hero);font-weight:var(--fw-extrabold);color:var(--text-primary);text-shadow:0 var(--space-0) var(--space-2) var(--shadow-text)}.popup-titles{overflow:hidden}.popup-name{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--on-surface-strong);overflow:hidden;text-overflow:ellipsis}.popup-cat{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--on-surface-muted);text-transform:capitalize;margin-top:var(--space-1)}.popup-x{background:var(--overlay-base);border:none;color:var(--on-surface-dim);width:var(--icon-btn-size);height:var(--icon-btn-size);border-radius:var(--radius-full);font-size:var(--fs-lg);transition:var(--transition-colors)}.popup-x:hover{background:var(--overlay-hover);color:var(--overlay-press)}.popup-body{padding:var(--space-6) var(--space-7);gap:var(--space-4)}.popup-row{gap:var(--space-4)}.popup-label{font-size:var(--fs-sm);color:var(--text-faint)}.popup-value{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-bright)}.popup-value.mono{font-family:var(--font-mono);font-weight:var(--fw-normal);font-size:var(--fs-sm);word-break:break-all}:root{--bg-app: #080810;--bg-surface: #13132a;--bg-deep: #1a1a4e;--bg-mid: #0d0d1f;--bg-nav: rgba(5, 5, 20, .85);--bg-scene: radial-gradient(ellipse at 50% 40%, var(--bg-deep) 0%, var(--bg-mid) 60%, var(--bg-app) 100%);--text-primary: #fff;--text-secondary: rgba(255, 255, 255, .8);--text-muted: rgba(255, 255, 255, .55);--text-faint: rgba(255, 255, 255, .42);--text-bright: rgba(255, 255, 255, .88);--on-surface-strong: rgba(0, 0, 0, .85);--on-surface-mid: rgba(0, 0, 0, .78);--on-surface-dim: rgba(0, 0, 0, .65);--on-surface-muted: rgba(0, 0, 0, .6);--border-accent: rgba(198, 110, 110, .08);--border-faint: rgba(255, 255, 255, .08);--border-dim: rgba(255, 255, 255, .15);--border-mid: rgba(255, 255, 255, .22);--border-strong: rgba(255, 255, 255, .5);--line-accent: 1px solid var(--border-accent);--line-faint: 1px solid var(--border-faint);--line-dim: 1px solid var(--border-dim);--line-mid: 1px solid var(--border-mid);--line-strong: 1px solid var(--border-strong);--surface-ghost: rgba(255, 255, 255, .04);--surface-faint: rgba(255, 255, 255, .09);--surface-raised: rgba(255, 255, 255, .12);--surface-inset: rgba(255, 255, 255, .18);--surface-hover: rgba(255, 255, 255, .3);--overlay-base: rgba(0, 0, 0, .18);--overlay-hover: rgba(0, 0, 0, .35);--overlay-press: rgba(0, 0, 0, .9);--shadow-card: rgba(0, 0, 0, .5);--shadow-popup: rgba(0, 0, 0, .7);--shadow-text: rgba(0, 0, 0, .45);--shadow-card-box: 0 var(--space-1) var(--space-6) var(--shadow-card), inset 0 var(--space-0) 0 var(--surface-inset);--shadow-popup-box: 0 var(--space-4) var(--space-10) var(--shadow-popup), 0 0 0 var(--space-0) var(--surface-ghost);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--radius-full: 50%;--space-0: 1px;--space-1: 2px;--space-2: 4px;--space-3: 6px;--space-4: 8px;--space-5: 10px;--space-6: 12px;--space-7: 14px;--space-8: 18px;--space-9: 20px;--space-10: 40px;--card-width: 120px;--card-height: 160px;--popup-width: 270px;--icon-btn-size: 22px;--z-popup: 1000;--lh-snug: 1.25;--anim-scale-from: .88;--anim-slide-from: calc(-1 * var(--space-3));--hover-scale: 1.06;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--t-fast: .12s;--t-ui: .15s;--t-mid: .18s;--transition-colors: background var(--t-fast), color var(--t-fast);--transition-tab: background var(--t-mid), color var(--t-mid), border-color var(--t-mid), box-shadow var(--t-mid);--blur-ui: blur(12px);--fs-xs: 10px;--fs-sm: 12px;--fs-md: 14px;--fs-lg: 16px;--fs-hero: 34px;--fs-display: 40px;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--ls-tight: .2px;--ls-normal: .5px;--ls-wide: .8px;--font-ui: system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Courier New", monospace}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{align-items:center;justify-content:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.flex-1{flex:1}.shrink-0{flex-shrink:0}.w-full{width:100%}.h-full{height:100%}.h-screen{height:100vh}.overflow-hidden{overflow:hidden}.relative{position:relative}.box-border{box-sizing:border-box}.text-center{text-align:center}.text-right{text-align:right}.nowrap{white-space:nowrap}.line-1{line-height:1}.fw-500{font-weight:var(--fw-medium)}.fw-600{font-weight:var(--fw-semibold)}.fw-700{font-weight:var(--fw-bold)}.fw-800{font-weight:var(--fw-extrabold)}.cursor-pointer{cursor:pointer}.no-select{-webkit-user-select:none;user-select:none}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-ui);background:var(--bg-app);color:var(--text-primary);height:100vh;overflow:hidden}#root{height:100vh;display:flex;flex-direction:column}.tabs{gap:var(--space-6);padding:var(--space-9) var(--space-8);-webkit-backdrop-filter:var(--blur-ui);backdrop-filter:var(--blur-ui);border-bottom:var(--line-accent)}.tabs-header{padding:var(--space-5) var(--space-8);background:var(--bg-nav);-webkit-backdrop-filter:var(--blur-ui);backdrop-filter:var(--blur-ui);border-bottom:var(--line-faint)}.tabs-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--ls-normal);color:var(--text-secondary);margin-right:var(--space-2)}.tabs-buttons{gap:var(--space-3)}.tab-btn{padding:var(--space-4) var(--space-8);border:var(--line-dim);border-radius:var(--radius-sm);background:var(--surface-ghost);color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);transition:var(--transition-tab)}.tab-btn:hover{background:var(--surface-faint);color:var(--text-secondary);border-color:var(--surface-hover)}.tab-btn.active{background:var(--surface-raised);color:var(--text-primary);border-color:var(--border-strong);box-shadow:0 0 14px var(--border-faint)}
