:root{--bg:#09090b;--surface-1:#121216;--surface-2:#18181d;--surface-3:#1f1f26;--border:hsla(0,0%,100%,.08);--border-strong:hsla(0,0%,100%,.16);--primary:#f7f7f8;--secondary:#a1a1aa;--muted:#6b6b76;--accent:#8b5cf6;--accent-2:#6d5cff;--accent-soft:rgba(139,92,246,.14);--success:#34d399;--warning:#fbbf24;--danger:#f87171;--radius-card:14px;--radius-panel:16px;--radius-btn:11px;--radius-chip:999px;--control-h:44px;--control-h-sm:36px;--header-h:64px;--font-sans:Inter,"Segoe UI",Geist,"Instrument Sans",system-ui,-apple-system,"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--font-mono:"Cascadia Code","JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;--gradient-accent:linear-gradient(120deg,var(--accent) 0%,var(--accent-2) 100%);--shadow-panel:0 18px 48px rgba(0,0,0,.45);--shadow-pop:0 24px 64px rgba(0,0,0,.6);--shell-max:1440px;--reading-max:1160px}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}html{color-scheme:dark}body{min-height:100vh;background-color:var(--bg);color:var(--primary);font-family:var(--font-sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(1200px 480px at 50% -12%,rgba(139,92,246,.16),transparent 70%),linear-gradient(90deg,hsla(0,0%,100%,.022) 1px,transparent 0),linear-gradient(180deg,hsla(0,0%,100%,.022) 1px,transparent 0);background-size:auto,64px 64px,64px 64px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4,ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}::selection{background:rgba(139,92,246,.36)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.12);border-radius:999px;border:3px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.2)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.shell{max-width:var(--shell-max)}.shell,.shell-narrow{width:100%;margin:0 auto;padding:0 32px}.shell-narrow{max-width:var(--reading-max)}.display-1{font-size:68px;line-height:1.02;letter-spacing:-.045em;font-weight:640}.display-2{font-size:42px;line-height:1.08;letter-spacing:-.035em;font-weight:620}.title-1{font-size:26px;line-height:1.2;letter-spacing:-.02em;font-weight:600}.title-2{font-size:19px;line-height:1.3;letter-spacing:-.012em;font-weight:600}.body-lg{font-size:17px;line-height:1.6}.body,.body-lg{color:var(--secondary)}.body{font-size:15px}.micro{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.micro,.mono{font-family:var(--font-mono)}.mono{font-size:12px;letter-spacing:.02em}.text-accent{color:var(--accent)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-secondary{color:var(--secondary)}.spectrum-rule{position:relative;height:1px;width:100%;background:linear-gradient(90deg,transparent,var(--border-strong) 12%,var(--border-strong) 88%,transparent)}.spectrum-rule:after{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,var(--accent-soft) 1px,transparent 1px);background-size:11px 100%;opacity:.5}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:20px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--secondary)}.eyebrow:before{content:"";width:18px;height:1px;background:var(--accent)}.panel{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-panel)}.panel-2{background:var(--surface-2)}.card,.panel-2{border:1px solid var(--border);border-radius:var(--radius-card)}.card{background:var(--surface-1);transition:border-color .18s ease,transform .18s ease,background .18s ease}.card-hover:hover{border-color:var(--border-strong);background:var(--surface-2);transform:translateY(-2px)}.stack{display:flex;flex-direction:column}.row,.row-between{display:flex;align-items:center}.row-between{justify-content:space-between}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.gap-32{gap:32px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-48{margin-top:48px}.mt-64{margin-top:64px}.grow{flex:1 1 auto;min-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-cards{display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--control-h);padding:0 18px;border-radius:var(--radius-btn);border:1px solid transparent;background:var(--surface-2);color:var(--primary);font-size:14px;font-weight:550;cursor:pointer;white-space:nowrap;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.btn:hover:not(:disabled){border-color:var(--border-strong)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--gradient-accent);color:#fff;border-color:transparent;box-shadow:0 10px 26px rgba(109,92,255,.28)}.btn-primary:hover:not(:disabled){filter:brightness(1.07);border-color:transparent}.btn-secondary{background:transparent;border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-2)}.btn-ghost{background:transparent;border-color:transparent;color:var(--secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--primary)}.btn-danger{background:hsla(0,91%,71%,.14);color:var(--danger);border-color:hsla(0,91%,71%,.32)}.btn-sm{height:var(--control-h-sm);padding:0 12px;font-size:13px;border-radius:9px}.btn-lg{height:52px;padding:0 26px;font-size:15px}.btn-block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--control-h-sm);height:var(--control-h-sm);border-radius:9px;border:1px solid transparent;background:transparent;color:var(--secondary);cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--primary)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn.is-active{color:var(--accent);border-color:rgba(139,92,246,.34);background:var(--accent-soft)}.field{display:flex;flex-direction:column;gap:8px}.label{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--secondary)}.input,.select,.textarea{width:100%;min-height:var(--control-h);padding:10px 14px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--primary);transition:border-color .16s ease,background .16s ease}.input::placeholder,.textarea::placeholder{color:var(--muted)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:rgba(139,92,246,.6);background:var(--surface-2)}.textarea{min-height:132px;resize:vertical;line-height:1.6}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,var(--secondary) 50%),linear-gradient(135deg,var(--secondary) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.select option{background:var(--surface-1);color:var(--primary)}.field-error{font-size:12.5px;color:var(--danger)}.field-hint{font-size:12.5px;color:var(--muted)}.chip{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:var(--radius-chip);border:1px solid var(--border);background:var(--surface-1);color:var(--secondary);font-size:13.5px;cursor:pointer;transition:all .16s ease}.chip:hover{border-color:var(--border-strong);color:var(--primary)}.chip.is-active{border-color:rgba(139,92,246,.55);background:var(--accent-soft);color:var(--primary)}.tag{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:7px;border:1px solid var(--border);background:var(--surface-2);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--secondary)}.tag-accent{border-color:rgba(139,92,246,.4);background:var(--accent-soft);color:#cdb9ff}.tag-success{border-color:rgba(52,211,153,.35);background:rgba(52,211,153,.12);color:var(--success)}.tag-warning{border-color:rgba(251,191,36,.35);background:rgba(251,191,36,.12);color:var(--warning)}.tag-danger{border-color:hsla(0,91%,71%,.35);background:hsla(0,91%,71%,.12);color:var(--danger)}.tabs{display:inline-flex;gap:4px;padding:4px;background:var(--surface-1);border:1px solid var(--border);border-radius:12px}.tab{height:36px;padding:0 16px;border-radius:9px;border:none;background:transparent;color:var(--secondary);font-size:13.5px;cursor:pointer;transition:all .16s ease}.tab:hover{color:var(--primary)}.tab[aria-selected=true]{background:var(--surface-3);color:var(--primary);box-shadow:inset 0 0 0 1px rgba(139,92,246,.34)}.switch{position:relative;width:44px;height:26px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;transition:background .18s ease,border-color .18s ease}.switch[aria-checked=true]{background:var(--gradient-accent);border-color:transparent}.switch span{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:999px;background:#fff;transition:transform .18s ease}.switch[aria-checked=true] span{transform:translateX(18px)}.skeleton{position:relative;overflow:hidden;background:var(--surface-2);border-radius:8px}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.06),transparent);animation:skeleton-sweep 1.5s infinite}@keyframes skeleton-sweep{to{transform:translateX(100%)}}.pulse-bars{display:flex;align-items:flex-end;gap:3px;height:34px}.pulse-bars i{width:3px;border-radius:2px;background:var(--accent);animation:pulse-bar 1.1s ease-in-out infinite}@keyframes pulse-bar{0%,to{height:8px;opacity:.6}50%{height:30px;opacity:1}}.modal-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(5,5,7,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade-in .16s ease}.modal{width:100%;max-width:520px;max-height:86vh;overflow-y:auto;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-panel);box-shadow:var(--shadow-pop);animation:pop-in .18s ease}.modal-wide{max-width:760px}.modal-narrow{max-width:420px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 14px}.modal-body{padding:0 22px 20px}.modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 22px 20px;border-top:1px solid var(--border)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}.toast-stack{position:fixed;right:22px;bottom:108px;z-index:80;flex-direction:column;width:340px}.toast,.toast-stack{display:flex;gap:10px}.toast{align-items:flex-start;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:10px;box-shadow:var(--shadow-panel);font-size:13.5px;animation:toast-in .2s ease}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--danger)}.toast-warning{border-left-color:var(--warning)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.tip{position:relative}.tip:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);padding:6px 10px;border-radius:8px;background:var(--surface-3);border:1px solid var(--border);color:var(--primary);font-size:12px;white-space:nowrap;display:none;opacity:0;pointer-events:none;z-index:50}.tip:focus-visible:after,.tip:hover:after{display:block;opacity:1}.progress{height:4px;border-radius:999px;background:var(--surface-3);overflow:hidden}.progress i{display:block;height:100%;background:var(--gradient-accent);transition:width .4s ease}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}.table th{text-align:left;padding:12px 14px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.table td,.table th{border-bottom:1px solid var(--border)}.table td{padding:13px 14px;color:var(--secondary);vertical-align:middle}.table tr:hover td{background:hsla(0,0%,100%,.02);color:var(--primary)}.empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:56px 24px;border:1px dashed var(--border-strong);border-radius:var(--radius-panel);text-align:center;color:var(--secondary)}.player-bar{position:fixed;left:0;right:0;bottom:0;z-index:70;border-top:1px solid var(--border-strong);background:rgba(12,12,15,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.skeleton-grid{display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.rise{animation:rise .5s cubic-bezier(.22,1,.36,1) both}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (max-width:1280px){.shell,.shell-narrow{padding:0 24px}.display-1{font-size:58px}.display-2{font-size:36px}}