:root{
  --background:#050912;
  --foreground:#e6edf9;
  --font-display:"Inter","Noto Sans SC","Microsoft YaHei",sans-serif;
  --font-data-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --grad-accent:linear-gradient(135deg,#38bdf8 0%,#818cf8 55%,#a78bfa 100%);
}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{
  position:relative;background:var(--background);color:var(--foreground);
  font-family:var(--font-display);font-size:14px;line-height:1.6;overflow-x:hidden;
  background-image:radial-gradient(circle at 14% 8%,rgba(34,211,238,.09),transparent 28%),radial-gradient(circle at 18% 22%,rgba(167,139,250,.16),transparent 40%),radial-gradient(circle at 84% 14%,rgba(56,189,248,.10),transparent 32%),linear-gradient(160deg,#030712 0%,#071024 45%,#08162c 100%);
  background-attachment:fixed;
}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(rgba(125,211,252,.018) 1px,transparent 1px) 0 0/100% 36px,linear-gradient(90deg,rgba(125,211,252,.018) 1px,transparent 1px) 0 0/36px 100%;opacity:.24}
button,input,select,textarea{font:inherit}
.hidden{display:none!important}
.app{position:relative;z-index:1;display:grid;grid-template-columns:248px 1fr;min-height:100vh}
.sidebar{padding:1.375rem .625rem .625rem;position:sticky;top:0;align-self:start;height:100vh;display:flex}
.sidebar-panel{position:relative;overflow:hidden;border-radius:18px;flex:1;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(5,10,21,.94),rgba(12,20,40,.84));border:1px solid rgba(148,163,184,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 26px 65px -45px rgba(56,189,248,.72)}
.brand{padding:1rem;border-bottom:1px solid rgba(148,163,184,.14);display:flex;align-items:center;gap:.7rem}
.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--grad-accent);display:grid;place-items:center;color:#06121f;font-size:20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 14px 26px -16px rgba(129,140,248,.9)}
.brand-name{font-weight:600;font-size:15px}
.brand-sub{font-size:11px;color:#5d6788;letter-spacing:.16em;text-transform:uppercase;font-family:var(--font-data-mono)}
.nav{padding:.5rem;overflow-y:auto;flex:1}
.nav-group-label{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#64708b;padding:.85rem .6rem .4rem;display:flex;justify-content:space-between;font-family:var(--font-data-mono)}
.nav-divider{height:1px;margin:.25rem;background:linear-gradient(90deg,transparent,rgba(125,211,252,.32),transparent)}
.nav-item{position:relative;display:flex;align-items:center;gap:.65rem;padding:.5rem .65rem;margin:.12rem 0;border-radius:11px;color:#9aa6c8;text-decoration:none;font-size:13.5px;cursor:pointer}
.nav-item i{font-size:17px;width:18px;text-align:center;color:#64759a}
.nav-item .ms{margin-left:auto;font-size:9.5px;font-family:var(--font-data-mono);color:#64708b}
.nav-item:hover{background:rgba(148,163,184,.08);color:#dbe4f7}
.nav-item.active{color:#eaf3ff;background:rgba(56,189,248,.14)}
.nav-item.active::before{content:"";position:absolute;left:-.5rem;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:3px;background:var(--grad-accent)}
.nav-item.muted{opacity:.55}
.user-mini{margin:.5rem;padding:.6rem .7rem;border-radius:12px;display:flex;align-items:center;gap:.6rem;background:rgba(148,163,184,.06);border:1px solid rgba(148,163,184,.12)}
.avatar{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#1e293b,#334155);display:grid;place-items:center;font-size:12px;color:#a5f3fc;border:1px solid rgba(56,189,248,.3)}
.link-btn{border:0;background:transparent;color:#7dd3fc;padding:0;cursor:pointer}
.main{min-width:0}.page{display:none}.page.show{display:block}
.content{padding:1.7rem 1.6rem 2.6rem;max-width:1480px}
.hero-band{position:relative;overflow:hidden;padding:1.5rem 1.6rem 1.7rem;border-bottom:1px solid rgba(148,163,184,.16);background:linear-gradient(138deg,rgba(6,10,22,.9),rgba(16,24,46,.8))}
.hero-function-panel{position:relative;overflow:hidden;border-radius:24px;border:1px solid rgba(56,189,248,.2);background:rgba(2,6,23,.28);padding:1.5rem 1.6rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 32px 66px -52px rgba(56,189,248,.88);max-width:1480px}
.hero-fx{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 25%,rgba(34,211,238,.14),transparent 30%),radial-gradient(circle at 84% 18%,rgba(56,189,248,.14),transparent 38%)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:1.6rem;align-items:start}
.eyebrow{font-size:13px;font-weight:500;color:#bae6fd;text-shadow:0 0 14px rgba(56,189,248,.6);margin:0}
.hero-title{margin:.75rem 0 0;font-weight:600;letter-spacing:-.02em;line-height:1.1;font-size:clamp(1.7rem,2.1vw,2.3rem);color:transparent;background-image:linear-gradient(102deg,#f5fcff,#abf3ff,#9dc7ff,#cbbdff);-webkit-background-clip:text;background-clip:text}
.hero-desc{margin:1rem 0 0;max-width:46rem;font-size:15px;line-height:1.75;color:rgba(226,232,240,.9)}
.hero-actions{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.75rem}
.tech-button,.tech-button-outline{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:.75rem;padding:.55rem 1.05rem;font-size:14px;font-weight:600;cursor:pointer}
.tech-button{border:1px solid rgba(125,211,252,.42);background:linear-gradient(124deg,#5eead4,#38bdf8 46%,#6366f1);color:#020617;box-shadow:0 16px 32px -16px rgba(56,189,248,.9)}
.tech-button-outline{border:1px solid rgba(148,163,184,.38);background:rgba(15,23,42,.46);color:#f8fafc}
.danger-action{border-color:rgba(244,63,94,.36);background:rgba(244,63,94,.1);color:#fecdd3}
.stat-card,.glass-card,.card{border-radius:18px;background:linear-gradient(140deg,rgba(6,12,26,.92),rgba(9,16,34,.86) 54%,rgba(16,25,44,.82));border:1px solid rgba(148,163,184,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.stat-card{padding:.85rem}.le-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#cbd5e1}.tech-kicker{text-transform:uppercase;letter-spacing:.22em;font-size:10px;font-weight:600;color:#9be8ff}
.le-online{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;padding:.1rem .5rem;font-size:12px;color:#a7f3d0;border:1px solid rgba(52,211,153,.3);background:rgba(16,185,129,.15)}
.status-dot{position:relative;display:inline-flex;width:.5rem;height:.5rem;border-radius:9999px}.status-dot-online{background:#34d399;box-shadow:0 0 10px rgba(52,211,153,.82)}
.kpi-mini-grid{margin-top:.7rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.kpi-mini{border-radius:12px;padding:.45rem .55rem;background:rgba(34,211,238,.1);border:1px solid rgba(103,232,249,.25)}.kpi-mini p{margin:0}
.tech-gradient-number{font-family:var(--font-data-mono);font-size:1.32rem;font-weight:600;color:transparent;background-image:linear-gradient(98deg,#a5f3fc,#7dd3fc,#93c5fd,#c4b5fd);-webkit-background-clip:text;background-clip:text}
.le-load{margin-top:.7rem;border-radius:12px;padding:.6rem .65rem;border:1px solid rgba(255,255,255,.15);background:rgba(2,6,23,.55)}.le-load .row{display:flex;justify-content:space-between;font-size:10px}.le-track{height:6px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.1)}.le-track>i{display:block;height:100%;width:18%;background:var(--grad-accent)}
.ds-banner{border-radius:16px;border:1px solid rgba(16,185,129,.3);background:rgba(15,23,42,.6);padding:.75rem 1rem;font-size:13px;color:#cbd5e1;margin-bottom:1.4rem}.chip{display:inline-flex;border-radius:999px;padding:.12rem .6rem;font-size:11px;font-weight:600;background:rgba(16,185,129,.15);color:#a7f3d0;font-family:var(--font-data-mono)}
.week-head{display:flex;align-items:center;gap:.6rem;margin:1.2rem 0 1.1rem}.week-line{flex:1;height:1px;background:linear-gradient(90deg,rgba(125,211,252,.28),transparent)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}.card{padding:1.05rem 1.15rem 1rem}.card-top{display:flex;justify-content:space-between;gap:.6rem;margin-bottom:.7rem}
.rank{display:inline-grid;place-items:center;min-width:34px;height:34px;border-radius:10px;font-family:var(--font-data-mono);font-weight:600;color:#9fb0d0;background:rgba(148,163,184,.1);border:1px solid rgba(148,163,184,.18)}.rank.top{color:#06121f;background:var(--grad-accent);border:0}
.src-chip{font-size:11px;font-family:var(--font-data-mono);padding:.25rem .55rem;border-radius:999px;background:rgba(244,63,94,.1);border:1px solid rgba(244,63,94,.22);color:#fda4af}.topic{display:flex;gap:.4rem;font-size:16px;font-weight:500;color:#eaf0ff;text-decoration:none;line-height:1.4}.note{font-size:12px;color:#7e8cab;margin:.45rem 0 .85rem}
.heat-val{font-family:var(--font-data-mono);font-size:20px;font-weight:600;color:#bae6fd}.heat-bar{height:4px;border-radius:999px;background:rgba(148,163,184,.12);overflow:hidden;margin-bottom:.95rem}.heat-bar>i{display:block;height:100%;background:var(--grad-accent)}
.card-foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.act,.del{cursor:pointer;border-radius:10px}.act{padding:.42rem .8rem;border:1px solid rgba(56,189,248,.4);background:rgba(56,189,248,.14);color:#cffafe}.act.ghost{border-color:rgba(52,211,153,.32);background:rgba(16,185,129,.1);color:#a7f3d0}.del{width:32px;height:32px;color:#64759a;background:transparent;border:1px solid rgba(148,163,184,.14)}
.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.glass-card{padding:1rem}.row-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem 0;border-bottom:1px solid rgba(148,163,184,.12)}.row-card input{max-width:220px}
.inline-form{display:grid;grid-template-columns:minmax(240px,1fr) 140px 140px auto;gap:.75rem;align-items:end;margin-bottom:1rem}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0}.toolbar input{max-width:340px}.queue-shell{border:1px solid rgba(148,163,184,.18);border-radius:18px;background:rgba(6,12,26,.58);overflow:hidden}.queue-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid rgba(148,163,184,.14);background:rgba(15,23,42,.34)}.queue-head h1{font-size:18px;margin:0;color:#f8fafc}.queue-head p{margin:.2rem 0 0;color:#94a3b8;font-size:13px}.queue-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.queue-stats-bar{margin:1rem;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:rgba(15,23,42,.45);padding:.75rem 1rem;color:#cbd5e1;font-family:var(--font-data-mono);font-size:12px}.task-list{display:grid;gap:12px;padding:0 1rem 1rem}.task-card{display:grid;gap:.45rem;padding:1rem;border-radius:16px;background:rgba(6,12,26,.78);border:1px solid rgba(148,163,184,.18)}.task-card-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.status-badge{border-radius:999px;padding:.15rem .55rem;font-family:var(--font-data-mono);font-size:11px;background:rgba(148,163,184,.12);color:#cbd5e1}.status-badge.queued,.status-badge.running{background:rgba(245,158,11,.16);color:#fbbf24}.status-badge.done{background:rgba(16,185,129,.14);color:#86efac}.status-badge.failed{background:rgba(244,63,94,.14);color:#fda4af}.task-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(420px,100%);display:grid;gap:.8rem;padding:1.4rem;border-radius:22px;background:rgba(6,12,26,.9);border:1px solid rgba(148,163,184,.2)}.login-card h1{margin:0}.login-card p{margin:0;color:#94a3b8}
input,select,textarea{width:100%;border-radius:10px;border:1px solid rgba(148,163,184,.28);background:rgba(15,23,42,.76);color:#e6edf9;padding:.62rem .72rem}textarea{min-height:84px}.form-error{color:#fb7185;min-height:1.4em}
.modal{position:fixed;inset:0;z-index:10;display:grid;place-items:center;background:rgba(2,6,23,.7);padding:1rem}.modal-card{width:min(520px,100%);display:grid;gap:.8rem;padding:1.2rem;border-radius:18px;background:#071024;border:1px solid rgba(148,163,184,.24)}.modal-actions{display:flex;justify-content:flex-end;gap:.7rem}
.toast{position:fixed;right:1rem;bottom:1rem;z-index:20;padding:.7rem 1rem;border-radius:12px;background:rgba(15,23,42,.95);border:1px solid rgba(56,189,248,.3);color:#dbeafe}
.stack-state{color:#9aa6c8}.danger{color:#fda4af}
@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{display:none}.hero-grid{grid-template-columns:1fr}}

/* ===== 帮助页 · 使用说明书（scoped, 2026-06-14） ===== */
.help-doc h2{font-size:18px;font-weight:600;color:#dbe4f7;margin:26px 0 12px;padding-left:10px;border-left:3px solid #38bdf8;}
.help-doc h3{font-size:14.5px;font-weight:600;color:#eaf3ff;margin:0 0 8px;display:flex;align-items:center;gap:8px;}
.help-doc h3 i{color:#7dd3fc;font-size:17px;}
.help-doc p{color:#aebbd8;font-size:13.5px;line-height:1.75;margin:0 0 8px;}
.help-doc ul,.help-doc ol{margin:6px 0;padding-left:20px;color:#aebbd8;font-size:13.5px;}
.help-doc li{margin:3px 0;}
.help-doc b{color:#dbe4f7;font-weight:600;}
.help-doc code{font-family:var(--font-data-mono,monospace);font-size:12px;color:#a5f3fc;background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.2);border-radius:5px;padding:1px 6px;margin:0 1px;}
.help-doc .chip{display:inline-flex;align-items:center;font-size:11px;font-family:var(--font-data-mono,monospace);color:#cbd5e1;background:rgba(148,163,184,.12);border:1px solid rgba(148,163,184,.22);border-radius:999px;padding:2px 9px;margin:2px 4px 2px 0;}
.help-doc .grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));}

/* 人设 TOP 排名 + 主力矩阵标（2026-06-14） */
.persona-rank{display:inline-flex;align-items:center;font-family:var(--font-data-mono,monospace);font-size:11px;font-weight:600;color:#9fb0d0;background:rgba(148,163,184,.14);border:1px solid rgba(148,163,184,.22);border-radius:7px;padding:1px 7px;margin-right:7px;}
.persona-rank.core{color:#06121f;border:none;background:linear-gradient(135deg,#38bdf8,#818cf8);box-shadow:0 6px 14px -8px rgba(129,140,248,.9);}
.persona-core{display:inline-flex;align-items:center;font-size:11px;color:#fde68a;background:rgba(245,158,11,.14);border:1px solid rgba(245,158,11,.4);border-radius:999px;padding:1px 8px;margin-right:6px;}
