*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--font-sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--font-serif:"Source Serif 4",Georgia,serif;--bg:#f6f5f2;--sidebar-bg:#fff;--card-bg:#fff;--card-hover:#faf9f7;--border:#e6e3dd;--border-strong:#d6d2ca;--text:#1c1f24;--text-sub:#3d4148;--text-muted:#6b6f76;--text-dim:#8e9198;--text-faint:#c9c6c0;--accent:#22314a;--accent-bg:#eef1f6;--accent-border:#c9d2e0;--ok:#2f7d5b;--danger:#b4463c;--danger-bg:#fbf0ee;--danger-border:#ecc9c3;--nav-hover:#f2f0ec;--input-bg:#fff;--shadow:0 1px 2px rgba(28,31,36,.04);--weekend-bg:rgba(28,31,36,.035);--s1:#3b5b8c;--s2:#4f9bc0;--s3:#c99a5b;color-scheme:light}[data-theme=dark]{--bg:#111317;--sidebar-bg:#16191d;--card-bg:#181b20;--card-hover:#1d2026;--border:#2a2e35;--border-strong:#3a3f47;--text:#e8e6e1;--text-sub:#c4c2bd;--text-muted:#9a9ea5;--text-dim:#74787f;--text-faint:#3a3e45;--accent:#8fa8d6;--accent-bg:#1d2533;--accent-border:#33415a;--ok:#5dbb8e;--danger:#e07a6e;--danger-bg:#2a1a18;--danger-border:#553029;--nav-hover:#23272e;--input-bg:#1d2026;--shadow:none;--weekend-bg:hsla(0,0%,100%,.04);color-scheme:dark}body,html{min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font-family:inherit;cursor:pointer}a{text-decoration:none;color:inherit}input,select{font-family:inherit}.layout-root{display:flex;min-height:100vh}.layout-main{flex:1 1;padding:36px clamp(16px,3vw,44px);min-width:0}.sidebar{width:224px;min-height:100vh;background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:22px 14px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.logo{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text);margin-bottom:28px;padding:0 8px;white-space:nowrap}.logo b{font-weight:700;letter-spacing:.08em}.logo i{width:1px;height:14px;background:var(--border-strong)}.logo span{color:var(--text-muted);font-weight:500}.sidebar-nav{flex:1 1}.nav-label{font-size:11px;font-weight:500;letter-spacing:.04em;color:var(--text-dim);text-transform:uppercase;margin-bottom:6px;margin-top:12px;padding:0 8px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;border:none;background:transparent;color:var(--text-muted);font-size:13px;text-align:left;transition:background .15s,color .15s;margin-bottom:2px}.nav-item.active,.nav-item:hover{background:var(--nav-hover);color:var(--text)}.nav-item svg{width:16px;height:16px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.page-link.active{color:var(--text);background:var(--nav-hover);font-weight:600}.nav-dot{width:7px;height:7px;border-radius:2px;flex-shrink:0}.sidebar-extra{margin-top:4px}.sidebar-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}.theme-toggle{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:12px;transition:all .15s}.theme-toggle:hover{color:var(--text);border-color:var(--border-strong)}.theme-btn svg,.theme-toggle svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.period-btn{display:block;width:100%;padding:7px 10px;border-radius:8px;border:none;background:transparent;color:var(--text-muted);font-size:12px;text-align:left;margin-bottom:2px;transition:all .15s}.period-btn.active,.period-btn:hover{color:var(--text);background:var(--nav-hover)}.period-btn.active{font-weight:600}.seg{gap:2px;padding:3px;border:1px solid var(--border);border-radius:10px;background:var(--card-bg);flex-wrap:wrap}.seg,.seg button{display:inline-flex}.seg button{border:none;background:transparent;color:var(--text-muted);font-size:12px;padding:6px 11px;border-radius:7px;align-items:center;gap:6px;white-space:nowrap}.seg button.on,.seg button:hover{color:var(--text)}.seg button.on{background:var(--nav-hover);font-weight:500;box-shadow:0 0 0 1px var(--border)}.sw{width:7px;height:7px;border-radius:2px;flex-shrink:0;display:inline-block}.mobile-filters,.mobile-tabbar,.mobile-topbar{display:none}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.page-eyebrow{font-size:12px;color:var(--text-muted);margin-bottom:6px}.page-title{font-family:var(--font-serif);font-size:clamp(24px,2.6vw,32px);font-weight:400;color:var(--text);letter-spacing:-.01em;line-height:1.15}.page-subtitle{font-size:12px;color:var(--text-dim);margin-top:6px}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:16px 18px;box-shadow:var(--shadow)}.card-label{font-size:12px;color:var(--text-muted);margin-bottom:10px}.card-value{font-family:var(--font-serif);font-size:32px;font-weight:400;color:var(--text);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card-sub{margin-top:8px}.card-sub,.section-label{font-size:11px;color:var(--text-dim)}.section-label{font-weight:500;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px}.chart-box{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:20px 22px;margin-bottom:20px;box-shadow:var(--shadow)}.chart-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:18px}.chart-sub{color:var(--text-dim);font-weight:400;font-size:12px}.chart-scroll{width:100%;overflow-x:auto}.msg-error{color:var(--danger);font-size:13px;padding:40px 0;text-align:center}.msg-empty,.msg-loading{color:var(--text-dim);font-size:13px;text-align:center;padding:60px 0}.refresh-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--card-bg);color:var(--text-muted);font-size:12px;transition:all .15s;box-shadow:var(--shadow)}.refresh-btn:hover{border-color:var(--border-strong);color:var(--text)}.refresh-btn:disabled{opacity:.4;cursor:not-allowed}@keyframes spin{to{transform:rotate(1turn)}}.spinning{display:inline-block;animation:spin .7s linear infinite}@media (max-width:768px){.sidebar{display:none}.layout-root{flex-direction:column}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:color-mix(in srgb,var(--sidebar-bg) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:20}.mobile-topbar .logo{margin:0;padding:0;font-size:13px}.mobile-actions{display:flex;align-items:center;gap:8px}.filter-btn,.theme-btn{height:36px;min-width:36px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:10px;border:1px solid var(--border);background:var(--card-bg);color:var(--text-muted);font-size:12px}.filter-btn.on{color:var(--text);border-color:var(--border-strong);background:var(--nav-hover)}.filter-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round}.mobile-filters{display:block;background:var(--sidebar-bg);border-bottom:1px solid var(--border);padding:4px 12px 14px;position:-webkit-sticky;position:sticky;top:57px;z-index:19;max-height:60vh;overflow-y:auto}.mobile-filters[hidden]{display:none}.layout-main{padding:18px 16px calc(84px + env(safe-area-inset-bottom))}.mobile-tabbar{display:flex;justify-content:space-around;position:fixed;left:0;right:0;bottom:0;z-index:20;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--sidebar-bg) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border)}.tab{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;font-size:10px;color:var(--text-muted);border-radius:10px}.tab svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.tab.active{color:var(--accent);font-weight:600}.tab.active svg{stroke-width:2}.page-header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:18px}.page-title{font-size:24px}.seg{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.seg::-webkit-scrollbar{display:none}.seg button{flex:1 1;justify-content:center}.chart-box{padding:16px 14px}.card,.chart-box{border-radius:14px}.card-value{font-size:28px}}.theme-picker{display:flex;flex-direction:column;gap:2px}.theme-opt{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-muted);font-size:12px;text-align:left;transition:all .15s}.theme-opt svg{width:15px;height:15px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.theme-opt.on,.theme-opt:hover{color:var(--text);background:var(--nav-hover)}.theme-opt.on{border-color:var(--border);font-weight:600}.theme-btn svg{width:16px;height:16px}.logo-rocket{display:none}[data-theme=galaxia]{--font-serif:"Space Grotesk","Inter",sans-serif;--bg:#05060f;--sidebar-bg:rgba(10,12,30,.72);--card-bg:rgba(16,20,44,.58);--card-hover:rgba(26,32,66,.66);--border:rgba(130,150,255,.16);--border-strong:rgba(130,150,255,.32);--text:#eef0ff;--text-sub:#c9cdf2;--text-muted:#9ca3d4;--text-dim:#7076a6;--text-faint:#2c3160;--accent:#5ee7ff;--accent-bg:rgba(94,231,255,.1);--accent-border:rgba(94,231,255,.35);--ok:#4ade80;--danger:#ff6b8b;--danger-bg:rgba(255,107,139,.1);--danger-border:rgba(255,107,139,.35);--nav-hover:rgba(130,150,255,.12);--input-bg:rgba(16,20,44,.8);--shadow:0 0 0 1px rgba(130,150,255,.04),0 10px 40px -20px rgba(94,231,255,.35);--weekend-bg:rgba(130,150,255,.06);--neon-1:#7c8cff;--neon-2:#5ee7ff;--neon-3:#f0abfc;color-scheme:dark}[data-theme=galaxia] body{background:radial-gradient(ellipse 80% 60% at 85% -10%,rgba(124,140,255,.28),transparent 60%),radial-gradient(ellipse 60% 50% at -10% 110%,rgba(240,171,252,.16),transparent 60%),#05060f;background-attachment:fixed}[data-theme=galaxia] .layout-root{position:relative;z-index:1}.galaxy{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.galaxy .stars{position:absolute;inset:-50% 0 0 0;background-repeat:repeat}.galaxy .s1{background-image:radial-gradient(1px 1px at 20px 30px,#fff,transparent),radial-gradient(1px 1px at 80px 120px,hsla(0,0%,100%,.8),transparent),radial-gradient(1px 1px at 150px 60px,hsla(0,0%,100%,.7),transparent),radial-gradient(1px 1px at 200px 180px,#fff,transparent),radial-gradient(1px 1px at 120px 210px,hsla(0,0%,100%,.6),transparent);background-size:240px 240px;opacity:.55}.galaxy .s2{background-image:radial-gradient(1.5px 1.5px at 60px 90px,#cfe9ff,transparent),radial-gradient(1.5px 1.5px at 260px 40px,#fff,transparent),radial-gradient(1.5px 1.5px at 180px 300px,#e9d5ff,transparent);background-size:360px 360px;opacity:.7}.galaxy .s3{background-image:radial-gradient(2px 2px at 100px 200px,#fff,transparent),radial-gradient(2px 2px at 420px 120px,#a5f3fc,transparent);background-size:520px 520px;opacity:.8}.galaxy .nebula{position:absolute;width:60vmax;height:60vmax;right:-20vmax;top:20%;background:radial-gradient(circle,rgba(94,231,255,.1),rgba(124,140,255,.06) 40%,transparent 70%);filter:blur(20px)}.galaxy .shooting{position:absolute;top:12%;left:70%;width:120px;height:1px;background:linear-gradient(90deg,hsla(0,0%,100%,.9),transparent);transform:rotate(-25deg);opacity:0}.galaxy .rocket{position:absolute;right:4vw;bottom:8vh;width:54px;height:54px;color:var(--neon-2);filter:drop-shadow(0 0 10px rgba(94,231,255,.6));transform:rotate(35deg)}.galaxy .rocket svg{width:100%;height:100%;stroke:currentColor;fill:rgba(94,231,255,.08);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.galaxy .flame{position:absolute;left:50%;top:88%;width:10px;height:22px;margin-left:-5px;border-radius:50% 50% 50% 50%/30% 30% 70% 70%;background:radial-gradient(ellipse at 50% 20%,#fff,#f0abfc 40%,rgba(124,140,255,0) 75%);filter:blur(1px)}@media (prefers-reduced-motion:no-preference){.galaxy .s1{animation:drift 160s linear infinite}.galaxy .s2{animation:drift 100s linear infinite}.galaxy .s3{animation:drift 60s linear infinite}.galaxy .rocket{animation:float 6s ease-in-out infinite}.galaxy .flame{animation:flicker .18s ease-in-out infinite alternate}.galaxy .shooting{animation:shoot 9s ease-out 2s infinite}[data-theme=galaxia] .logo-rocket svg{animation:hover 3s ease-in-out infinite}}@keyframes drift{to{transform:translateY(50%)}}@keyframes float{0%,to{transform:rotate(35deg) translate(0)}50%{transform:rotate(35deg) translateY(-14px)}}@keyframes flicker{0%{transform:scaleY(.8);opacity:.8}to{transform:scaleY(1.15);opacity:1}}@keyframes shoot{0%{opacity:0;transform:rotate(-25deg) translateX(0)}3%{opacity:1}10%,to{opacity:0;transform:rotate(-25deg) translateX(-420px)}}@keyframes hover{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}[data-theme=galaxia] .mobile-filters,[data-theme=galaxia] .mobile-tabbar,[data-theme=galaxia] .mobile-topbar,[data-theme=galaxia] .sidebar{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}[data-theme=galaxia] .card,[data-theme=galaxia] .chart-box,[data-theme=galaxia] .seg{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}[data-theme=galaxia] .card,[data-theme=galaxia] .chart-box{transition:border-color .2s,box-shadow .2s}[data-theme=galaxia] .card:hover{border-color:var(--border-strong);box-shadow:0 0 0 1px rgba(94,231,255,.08),0 12px 40px -16px rgba(94,231,255,.45)}[data-theme=galaxia] .logo-rocket{display:inline-flex;color:var(--neon-2)}[data-theme=galaxia] .logo-rocket svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(94,231,255,.7))}[data-theme=galaxia] .logo b{background:linear-gradient(90deg,var(--neon-2),var(--neon-1),var(--neon-3));-webkit-background-clip:text;background-clip:text;color:transparent}[data-theme=galaxia] .page-title{font-weight:600;letter-spacing:-.02em;background:linear-gradient(90deg,#fff 30%,var(--neon-2));-webkit-background-clip:text;background-clip:text;color:transparent}[data-theme=galaxia] .nav-label,[data-theme=galaxia] .page-eyebrow,[data-theme=galaxia] .section-label{font-family:JetBrains Mono,ui-monospace,monospace;letter-spacing:.1em}[data-theme=galaxia] .card-value{font-weight:600;text-shadow:0 0 24px rgba(94,231,255,.25)}[data-theme=galaxia] .page-link.active,[data-theme=galaxia] .period-btn.active,[data-theme=galaxia] .seg button.on{color:var(--accent);background:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--accent-border)}[data-theme=galaxia] .tab.active{color:var(--accent);filter:drop-shadow(0 0 6px rgba(94,231,255,.6))}[data-theme=galaxia] .theme-opt.tech.on{color:var(--accent);background:var(--accent-bg);border-color:var(--accent-border)}[data-theme=galaxia] [fill="#3B5B8C"]{fill:var(--neon-1)}[data-theme=galaxia] [fill="#4F9BC0"]{fill:var(--neon-2)}[data-theme=galaxia] [fill="#C99A5B"]{fill:var(--neon-3)}[data-theme=galaxia] [stroke="#8FA8D6"]{stroke:var(--neon-2)}[data-theme=galaxia] [style*="rgb(59, 91, 140)"]{background:var(--neon-1)!important;--c:var(--neon-1)!important}[data-theme=galaxia] [style*="rgb(79, 155, 192)"]{background:var(--neon-2)!important;--c:var(--neon-2)!important}[data-theme=galaxia] [style*="rgb(201, 154, 91)"]{background:var(--neon-3)!important;--c:var(--neon-3)!important}[data-theme=galaxia] [style*="--c: #3B5B8C"],[data-theme=galaxia] [style*="--c:#3B5B8C"]{--c:var(--neon-1)!important}[data-theme=galaxia] [style*="--c: #4F9BC0"],[data-theme=galaxia] [style*="--c:#4F9BC0"]{--c:var(--neon-2)!important}[data-theme=galaxia] [style*="--c: #C99A5B"],[data-theme=galaxia] [style*="--c:#C99A5B"]{--c:var(--neon-3)!important}[data-theme=galaxia] .recharts-bar-rectangle path{filter:drop-shadow(0 0 4px rgba(94,231,255,.25))}@media (max-width:768px){.galaxy .rocket{right:16px;bottom:calc(96px + env(safe-area-inset-bottom));width:40px;height:40px}}