:root{--bg:#08090a;--bg-2:#0f1011;--bg-3:#191a1b;--bg-4:#23252a;--bg-5:rgba(255,255,255,.04);--border:rgba(255,255,255,.08);--border-subtle:rgba(255,255,255,.05);--border-strong:rgba(255,255,255,.12);--text:#f7f8f8;--text-dim:#d0d6e0;--text-mute:#8a8f98;--text-faint:#7d838b;--accent:#8275d4;--accent-hover:#9b8fff;--accent-bg:#5e6ad2;--accent-2:#c2ef4e;--accent-2-on-light:#5b7c1a;--success:#10b981;--success-2:#27a644;--danger:#f85149;--warn:#d29922;--info:#58a6ff;--purple-deep:#1f1633;--border-purple:#362d59;--text-primary:#f7f8f8;--text-secondary:#d0d6e0;--text-tertiary:#8a8f98;--card-bg:rgba(255,255,255,.04);--font:"Geist","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--font-mono:"Geist Mono","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--shadow-card:0 0 0 1px rgba(255,255,255,.08),0 2px 4px rgba(0,0,0,.2);--shadow-elevated:0 0 0 1px rgba(255,255,255,.08),0 8px 24px rgba(0,0,0,.4);--shadow-inset-btn:inset 0 1px 0 0 rgba(255,255,255,.08),inset 0 -1px 0 0 rgba(0,0,0,.4);--shadow-focus:0 0 0 2px var(--accent);--radius-sm:4px;--radius:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px}:root[data-theme=light]{--bg:#ffffff;--bg-2:#f6f8fa;--bg-3:#eef1f5;--bg-4:#ffffff;--bg-5:rgba(0,0,0,.04);--border:rgba(31,35,40,.1);--border-subtle:rgba(31,35,40,.06);--border-strong:rgba(31,35,40,.16);--text:#1f2328;--text-dim:#57606a;--text-mute:#6e7781;--text-faint:#57606a;--accent:#4f5bd5;--accent-hover:#4553c4;--accent-bg:#4f5bd5;--accent-2:#5b7c1a;--accent-2-on-light:#5b7c1a;--success:#1a7f37;--success-2:#27a644;--danger:#cf222e;--warn:#9a6700;--info:#0969da;--purple-deep:#f3eefb;--border-purple:#d4c5f0;--text-primary:#1f2328;--text-secondary:#57606a;--text-tertiary:#6e7781;--card-bg:#ffffff;--shadow-card:0 0 0 1px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shadow-elevated:0 0 0 1px rgba(0,0,0,.08),0 8px 24px rgba(0,0,0,.08);--shadow-inset-btn:inset 0 1px 0 0 rgba(255,255,255,.6),inset 0 -1px 0 0 rgba(0,0,0,.06)}@media(prefers-color-scheme:light){:root:not([data-theme]){--bg:#ffffff;--bg-2:#f6f8fa;--bg-3:#eef1f5;--bg-4:#ffffff;--bg-5:rgba(0,0,0,.04);--border:rgba(0,0,0,.1);--border-subtle:rgba(0,0,0,.05);--border-strong:rgba(0,0,0,.16);--text:#1f2328;--text-dim:#57606a;--text-mute:#8c959f;--text-faint:#afb8c1;--text-primary:#1f2328;--text-secondary:#57606a;--text-tertiary:#6e7781;--card-bg:#ffffff;--accent:#5e6ad2;--accent-hover:#4553c4;--accent-bg:#4f5bd5;--shadow-card:0 0 0 1px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shadow-elevated:0 0 0 1px rgba(0,0,0,.08),0 8px 24px rgba(0,0,0,.08)}}.theme-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-5);border:1px solid var(--border);border-radius:999px;color:var(--text-dim);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:inherit;min-height:32px}.theme-toggle:hover{background:var(--bg-3);border-color:var(--border-strong);color:var(--text)}.theme-toggle:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.theme-toggle .theme-icon{font-size:14px;line-height:1}.theme-toggle .theme-label{letter-spacing:.3px}:root[data-theme=light] .ext-link{background:linear-gradient(135deg,#0969da1a,#1a7f371a);border-color:#0969da59;color:var(--accent)}:root[data-theme=light] .ext-link:hover{background:linear-gradient(135deg,#0969da2e,#1a7f372e);border-color:var(--accent)}@media(max-width:768px){.theme-toggle .theme-label{display:none}.theme-toggle{padding:6px 8px}}@media(max-width:480px){.theme-toggle{padding:4px 6px}}*{box-sizing:border-box;margin:0;padding:0}.error-state{grid-column:1 / -1;display:grid;justify-items:start;gap:8px;padding:18px;border:1px solid color-mix(in srgb,var(--danger)45%,var(--border));border-radius:12px;background:var(--card-bg);color:var(--text-primary)}.error-state>span{color:var(--text-secondary)}.error-state>small{color:var(--text-tertiary)}body{font-family:var(--font);background:var(--bg);color:var(--text);height:100vh;min-height:100vh;line-height:1.5;font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column;overflow-x:hidden;overflow:hidden;scrollbar-gutter:stable}body>main{flex:1 1 auto;min-height:0;height:calc(100vh - 96px);overflow-y:auto}main{padding:28px 32px;max-width:1400px;margin:0 auto;width:100%}.topbar{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;background:var(--bg-2);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:14px}.brand .logo{font-size:32px;color:var(--accent-hover);text-shadow:0 0 16px rgba(130,143,255,.4)}.brand h1{font-size:20px;font-weight:500;letter-spacing:-.288px}.brand .sub{font-size:12px;color:var(--text-mute)}.status-pill{display:flex;align-items:center;gap:8px;padding:6px 14px;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius-pill);font-size:13px}.topbar-right{display:flex;align-items:center;gap:12px;margin-left:auto}.ext-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#58a6ff26,#7ee78726);border:1px solid rgba(88,166,255,.4);border-radius:999px;color:var(--accent);text-decoration:none;font-size:13px;font-weight:500;transition:all .15s ease}.ext-link:hover{background:linear-gradient(135deg,#58a6ff4d,#7ee7874d);border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #58a6ff33}.status-pill .dot{width:8px;height:8px;border-radius:50%;background:var(--warn);box-shadow:0 0 8px currentColor}.status-pill.ok .dot{background:var(--accent-2)}.status-pill.error .dot{background:var(--danger)}.tabs{display:flex;gap:4px;padding:0 32px;background:var(--bg-2);border-bottom:1px solid var(--border)}.tab{background:transparent;border:none;color:var(--text-dim);padding:14px 20px;cursor:pointer;font-size:14px;font-weight:500;letter-spacing:-.165px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--accent-hover)}main{padding:28px 32px;max-width:1400px;margin:0 auto}.panel{display:none}.panel.active{display:block}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.panel-header h2{font-size:18px;font-weight:600}.actions{display:flex;gap:8px;flex-wrap:wrap}.task-layout{display:grid;grid-template-columns:320px 1fr;gap:20px;min-height:500px}.task-sidebar{background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px;max-height:78vh;overflow:hidden}.task-sidebar-header{display:flex;flex-direction:column;gap:6px}.task-sidebar-header input[type=search]{min-width:0;width:100%}.task-sidebar-header select{background:var(--bg-3);border:1px solid var(--border);color:var(--text);padding:6px 8px;border-radius:6px;font-size:13px;outline:none}.task-list{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:6px}.task-card{position:relative;background:var(--bg-3);border:1px solid transparent;border-radius:6px;padding:10px 12px 10px 14px;cursor:pointer;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s}.task-card:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:0 2px 2px 0;background:var(--border);transition:background .15s,box-shadow .15s}.task-card:has(.tag.status-triage):before{background:var(--text-dim)}.task-card:has(.tag.status-todo):before{background:#8b949e}.task-card:has(.tag.status-scheduled):before{background:#79c0ff}.task-card:has(.tag.status-ready):before{background:var(--accent)}.task-card:has(.tag.status-running):before{background:var(--accent);box-shadow:0 0 6px #58a6ff99;animation:task-card-running-pulse 1.6s ease-in-out infinite}@keyframes task-card-running-pulse{0%,to{opacity:1}50%{opacity:.55}}.task-card:has(.tag.status-blocked):before{background:#f85149}.task-card:has(.tag.status-review):before{background:#d29922}.task-card:has(.tag.status-done):before{background:#3fb950}.task-card:has(.tag.status-archived):before{background:#484f58}.task-card:hover{border-color:var(--border);transform:translate(1px)}.task-card:hover:before{box-shadow:0 0 4px #828fff66}.task-card.selected{border-color:var(--accent);background:var(--bg-2);box-shadow:0 0 0 1px #58a6ff26}.task-card.selected:before{background:var(--accent);box-shadow:0 0 8px #58a6ff80}.task-card .task-title{font-size:13px;font-weight:600;line-height:1.3;margin-bottom:4px;word-break:break-word}.task-card .task-meta{display:flex;gap:4px;flex-wrap:wrap;font-size:11px;align-items:center}.task-card .task-id{color:var(--text-dim);font-family:monospace}.tag.status-triage{color:var(--text-dim);border-color:var(--border)}.tag.status-todo{color:#8b949e;border-color:#8b949e66}.tag.status-scheduled{color:#79c0ff;border-color:#79c0ff66}.tag.status-ready{color:var(--accent);border-color:#58a6ff66}.tag.status-running{color:#58a6ff;border-color:#58a6ff99;background:#58a6ff1a;animation:pulse-running 1.8s ease-in-out infinite}@keyframes pulse-running{0%,to{opacity:1}50%{opacity:.55}}.tag.status-blocked{color:var(--danger);border-color:#f8514966;background:#f8514914}.tag.status-review{color:var(--warn);border-color:#d2992266;background:#d2992214}.tag.status-done{color:var(--accent-2);border-color:#7ee78766}.tag.status-archived{color:#6e7681;border-color:#6e76814d;font-style:italic}.tag.status-pending{color:var(--text-dim)}.running-banner{margin:8px 0 4px;padding:8px 10px;background:linear-gradient(135deg,#58a6ff14,#7ee7870a);border:1px solid rgba(88,166,255,.3);border-radius:6px}.running-banner-header{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim);margin-bottom:6px}.running-banner-header strong{color:var(--accent);font-size:12px}.running-pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);animation:pulse-running 1.5s ease-in-out infinite}.running-count{background:var(--accent);color:var(--bg);font-size:11px;font-weight:600;padding:1px 6px;border-radius:8px;min-width:18px;text-align:center}.running-list{display:flex;flex-direction:column;gap:4px}.running-item{background:var(--bg-3);border:1px solid var(--border);border-radius:4px;padding:6px 8px;cursor:pointer;transition:border-color .15s,background .15s}.running-item:hover{border-color:var(--accent);background:var(--bg-2)}.running-title{font-size:12px;font-weight:600;line-height:1.3;margin-bottom:3px;word-break:break-word;color:var(--text)}.running-meta{display:flex;gap:6px;flex-wrap:wrap;font-size:10px;color:var(--text-dim);align-items:center}.running-assignee{color:var(--accent-2)}.running-assignee.unassigned{color:var(--warn)}.running-id{font-family:monospace}.running-hb{font-size:11px}.running-hb.fresh{color:var(--accent-2)}.running-hb.stale{color:var(--warn)}.running-hb.dead{color:var(--danger);animation:pulse-running 1.2s ease-in-out infinite}.task-detail{background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px;min-height:500px}.task-detail-header{border-bottom:1px solid var(--border);padding-bottom:12px}.task-detail-header h3{font-size:16px;margin-bottom:6px}.task-detail-header .meta{color:var(--text-dim);font-size:12px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.task-detail-header .meta .task-id-mono{font-family:var(--font-mono,"Geist Mono","JetBrains Mono","SF Mono",monospace);font-size:11px;color:var(--text);background:var(--bg-elev-2,rgba(255,255,255,.04));border:1px solid var(--border);border-radius:4px;padding:1px 6px;letter-spacing:-.01em}.task-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}.task-header-actions{display:flex;gap:6px;flex-shrink:0}.task-header-btn{display:inline-flex;align-items:center;gap:4px;font-family:inherit;font-size:11.5px;font-weight:500;color:var(--text-dim);background:var(--bg-elev-2,rgba(255,255,255,.03));border:1px solid var(--border);border-radius:5px;padding:4px 9px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .06s ease;white-space:nowrap;user-select:none}.task-header-btn:hover{background:var(--bg-elev-3,rgba(255,255,255,.06));border-color:var(--text-dim,#555);color:var(--text)}.task-header-btn:active{transform:scale(.97)}.task-header-btn-ok{background:#22c55e1f!important;border-color:#22c55e73!important;color:#56e082!important}.task-header-btn-fail{background:#ef44441a!important;border-color:#ef444466!important;color:#f87171!important}.task-subtabs{display:flex;gap:4px;border-bottom:1px solid var(--border);padding-bottom:6px}.task-overview{padding:14px 0 6px;display:flex;flex-direction:column;gap:12px}.task-overview-loading{color:var(--text-dim);font-size:13px;padding:8px 0}.task-overview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.stat-card{background:var(--bg-elev-1,rgba(255,255,255,.03));border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.stat-label{color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:6px}.stat-value{font-size:16px;font-weight:500;color:var(--text)}.stat-ok{color:#5bcc8a}.stat-alert{color:#f5a05b}.pri-pill{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600;background:#a0a0a826;color:var(--text-dim);border:1px solid var(--border)}.pri-pill.pri-high{background:#ff636326;color:#ff7a7a;border-color:#ff63634d}.pri-pill.pri-med{background:#f5a05b26;color:#f5a05b;border-color:#f5a05b4d}.pri-pill.pri-low{background:#78b4ff26;color:#9bbcff;border-color:#78b4ff4d}.pri-pill.pri-none{background:transparent;color:var(--text-dim)}.active-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#5bcc8a;box-shadow:0 0 6px #5bcc8a99;animation:active-pulse 1.4s ease-in-out infinite}@keyframes active-pulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.task-overview-body{display:flex;flex-direction:column;gap:8px}.task-overview-lifecycle{padding:4px 2px 2px}.lifecycle-timeline{background:var(--bg-elev-1,rgba(255,255,255,.03));border:1px solid var(--border);border-radius:8px;padding:14px 16px 10px;display:flex;flex-direction:column;gap:10px}.lifecycle-track{position:relative;height:8px;background:var(--bg-elev-2,rgba(255,255,255,.06));border-radius:4px;margin:6px 0 14px}.lifecycle-fill{position:absolute;left:0;top:0;height:100%;border-radius:4px;transition:width .4s ease}.lifecycle-pending .lifecycle-fill{background:linear-gradient(90deg,#ffffff1a,#ffffff2e)}.lifecycle-running .lifecycle-fill{background:linear-gradient(90deg,#9bbcff,#5b9eff);box-shadow:0 0 8px #5b9eff66}.lifecycle-done .lifecycle-fill{background:linear-gradient(90deg,#5bcc8a,#4ab875)}.lifecycle-failed .lifecycle-fill{background:linear-gradient(90deg,#ff7a7a,#d85050)}.lifecycle-milestone{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.milestone-dot{width:14px;height:14px;border-radius:50%;background:var(--bg);border:2px solid var(--text-dim);transition:transform .15s,border-color .15s}.lifecycle-milestone:hover .milestone-dot{transform:scale(1.25)}.lifecycle-milestone.milestone-done .milestone-dot{border-color:#5bcc8a;background:#5bcc8a}.lifecycle-milestone.milestone-running .milestone-dot{border-color:#5b9eff;background:#5b9eff;box-shadow:0 0 6px #5b9eff99}.lifecycle-milestone.milestone-pending .milestone-dot{border-color:var(--text-dim);background:var(--bg-elev-2)}.lifecycle-milestone.milestone-failed .milestone-dot{border-color:#ff7a7a;background:#ff7a7a}.milestone-tip{position:absolute;bottom:22px;left:50%;transform:translate(-50%);background:var(--bg-4);border:1px solid var(--border);border-radius:6px;padding:6px 9px;min-width:130px;font-size:11px;color:var(--text);opacity:0;pointer-events:none;transition:opacity .15s;z-index:5;box-shadow:0 4px 14px #00000073;white-space:nowrap}.lifecycle-milestone:hover .milestone-tip{opacity:1}.milestone-tip-label{font-weight:600;font-size:12px;margin-bottom:2px}.milestone-tip-time{color:var(--text-dim);font-size:10px;font-family:var(--font-mono,monospace)}.milestone-tip-delta{color:#5b9eff;font-size:10px;margin-top:2px}.milestone-tip-live{color:#ff7a7a;font-size:10px;margin-top:2px;animation:live-pulse 1.5s infinite}@keyframes live-pulse{0%,to{opacity:.7}50%{opacity:1}}.lifecycle-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11.5px;color:var(--text-dim)}.lifecycle-meta-item strong{color:var(--text);font-weight:500;margin-left:4px;font-family:var(--font-mono,monospace);font-size:11px}.lifecycle-meta-item .muted{margin-left:4px;font-size:10.5px}.lifecycle-meta-item.lifecycle-live strong{color:#5b9eff}.lifecycle-meta-item.lifecycle-live strong:after{content:" \1f534";animation:live-pulse 1.5s infinite}.lifecycle-status-pill{margin-left:auto;padding:2px 8px;border-radius:10px;font-size:10.5px;font-weight:500;letter-spacing:.3px;text-transform:uppercase}.lifecycle-status-pill.status-pending{background:#a0a0a81f;color:#a0a0a8}.lifecycle-status-pill.status-running{background:#5b9eff26;color:#9bbcff}.lifecycle-status-pill.status-done{background:#5bcc8a26;color:#5bcc8a}.lifecycle-status-pill.status-failed{background:#ff636326;color:#ff7a7a}@media(max-width:768px){.lifecycle-track{height:10px}.milestone-dot{width:16px;height:16px}.lifecycle-meta{font-size:11px}.milestone-tip{display:none}}.overview-section{background:var(--bg-elev-1,rgba(255,255,255,.03));border:1px solid var(--border);border-left:3px solid var(--border);border-radius:6px;padding:8px 12px}.overview-section.overview-error{border-left-color:#ff7a7a;background:#ff63630f}.overview-section-label{color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.overview-section-body{color:var(--text);font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.overview-section-body code{font-size:12px;background:#0000004d;padding:1px 4px;border-radius:3px}.overview-meta{color:var(--text-dim);font-size:12px;padding:4px 0}.overview-meta span{margin-right:6px}.task-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:1100px){.task-overview-grid{grid-template-columns:1fr}}.overview-panel{background:var(--bg-elev-1,rgba(255,255,255,.03));border:1px solid var(--border);border-radius:8px;padding:10px 12px;min-width:0}.overview-panel-title{color:var(--text);font-size:13px;font-weight:600;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.runs-timeline{display:flex;flex-direction:column;gap:8px}.runs-timeline-empty{align-items:center;justify-content:center;min-height:56px;border:1px dashed var(--border);border-radius:6px;background:#ffffff04;padding:14px 12px}.runs-empty-state{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-dim,#777);font-family:var(--font-sans)}.runs-empty-icon{font-size:14px;opacity:.6}.runs-empty-text{letter-spacing:.01em}.events-empty{display:flex;align-items:center;gap:10px;padding:16px 14px;border:1px dashed var(--border);border-radius:6px;background:#ffffff03;font-size:12px;color:var(--text-dim,#777);line-height:1.5}.events-empty-icon{font-size:18px;opacity:.55;flex-shrink:0}.events-empty-text{letter-spacing:.01em}.run-row{border:1px solid var(--border);border-radius:6px;padding:6px 8px;background:var(--bg-elev-2,rgba(255,255,255,.02));cursor:default;transition:border-color .15s}.run-row:hover{border-color:var(--text-dim,#555)}.run-meta{display:flex;align-items:center;gap:6px;font-size:12px;margin-bottom:4px;flex-wrap:wrap}.run-idx{display:inline-block;min-width:20px;text-align:center;background:var(--bg-elev-1,rgba(255,255,255,.05));border-radius:3px;padding:0 4px;color:var(--text-dim);font-weight:600}.run-id{color:var(--text-dim);font-size:11px;font-family:var(--font-mono,monospace)}.run-status{padding:1px 6px;font-size:11px;border-radius:3px}.run-status.completed,.run-status.done,.run-status.success{background:#5bcc8a26;color:#5bcc8a}.run-status.failed,.run-status.crashed,.run-status.timed_out,.run-status.spawn_failure{background:#ff636326;color:#ff7a7a}.run-status.running,.run-status.active,.run-status.pending{background:#78b4ff26;color:#9bbcff}.run-status.muted{background:var(--bg-elev-1,rgba(255,255,255,.05));color:var(--text-dim)}.run-when{font-size:11px}.run-dur{color:var(--text);font-weight:500;font-size:12px;margin-left:auto}.run-bar-track{height:4px;background:var(--bg-elev-1,rgba(255,255,255,.05));border-radius:2px;overflow:hidden;margin-top:2px}.run-bar-fill{height:100%;border-radius:2px;transition:width .3s ease}.run-bar-fill.completed,.run-bar-fill.done,.run-bar-fill.success{background:#5bcc8a}.run-bar-fill.failed,.run-bar-fill.crashed,.run-bar-fill.timed_out{background:#ff7a7a}.run-bar-fill.running,.run-bar-fill.active{background:#9bbcff}.run-bar-fill.muted{background:var(--text-dim)}.run-summary{font-size:12px;color:var(--text);margin-top:6px;padding:4px 6px;background:#0003;border-radius:4px;line-height:1.4}.run-error{font-size:11px;color:#ff7a7a;margin-top:4px;font-family:var(--font-mono,monospace)}.events-list{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow-y:auto}.event-row{display:flex;gap:8px;align-items:flex-start;position:relative;padding:4px 6px 4px 8px;border-radius:4px;border-left:2px solid transparent;transition:background .12s ease,border-left-color .12s ease,transform .12s ease}.event-row:hover{background:#ffffff0a;border-left-color:var(--accent);transform:translate(1px)}.event-row:hover .event-dot{box-shadow:0 0 0 2px #828fff59}.event-dot{width:8px;height:8px;border-radius:50%;background:var(--text-dim);margin-top:5px;flex-shrink:0}.event-dot.created{background:#9bbcff}.event-dot.completed{background:#5bcc8a}.event-dot.failed,.event-dot.crashed,.event-dot.timed_out{background:#ff7a7a}.event-dot.claimed,.event-dot.started{background:#f5a05b}.event-body{flex:1;min-width:0}.event-head{display:flex;gap:6px;align-items:center;font-size:12px;margin-bottom:2px}.event-kind{font-weight:600;font-size:11px;padding:1px 5px;border-radius:3px;background:var(--bg-elev-1,rgba(255,255,255,.05))}.event-kind.created{color:#9bbcff}.event-kind.completed{color:#5bcc8a}.event-kind.failed,.event-kind.crashed{color:#ff7a7a}.event-when{font-size:11px}.event-payload{font-size:11px;color:var(--text-dim);background:#0003;border-radius:4px;padding:3px 6px;margin-top:2px;word-break:break-all;line-height:1.4;max-height:100px;overflow-y:auto}.event-payload code{font-family:var(--font-mono,monospace);font-size:11px}.task-overview-comments{display:flex;flex-direction:column;gap:6px}.comment-row{background:var(--bg-elev-1,rgba(255,255,255,.03));border:1px solid var(--border);border-radius:6px;padding:8px 12px;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.comment-row:hover{border-color:var(--accent);transform:translate(1px);box-shadow:0 0 0 1px #58a6ff26}.comment-head{display:flex;gap:8px;align-items:baseline;font-size:12px;margin-bottom:4px}.comment-body{font-size:13px;color:var(--text);line-height:1.5;white-space:pre-wrap}.subtab{background:transparent;border:1px solid transparent;color:var(--text-dim);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px;transition:all .15s}.subtab:hover{color:var(--text);background:var(--bg-3)}.subtab.active{color:var(--accent);border-color:var(--accent);background:var(--bg-3)}.subtab-pane{padding:12px 0}.subtab-pane.active{display:block}.acl-banner{padding:10px 14px;border-radius:6px;background:var(--bg-elev);border-left:3px solid var(--accent);font-size:13px}.acl-banner.ok{border-left-color:#3ecf8e}.acl-banner.warn{border-left-color:#f5a623}.acl-banner.danger{border-left-color:#f5576c}.acl-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}@media(max-width:900px){.acl-grid{grid-template-columns:1fr}}.acl-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:14px}.acl-card h3{margin:0 0 8px;font-size:14px}.acl-card h4{margin:0 0 6px;font-size:13px;color:var(--text-dim)}.acl-cidr-item{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:var(--bg-elev);border-radius:4px;margin:4px 0;font-family:ui-monospace,SF Mono,monospace;font-size:13px}.acl-cidr-item .badge-extra{font-size:10px;opacity:.6}.btn-warning{background:#f5a623!important;color:#fff!important}.btn-warning:hover{background:#e6951a!important}.task-subtab-content{flex:1;overflow-y:auto;max-height:60vh}.artifact-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:13px;font-family:monospace;border:1px solid transparent}.artifact-row:hover{background:var(--bg-3)}.artifact-row.current{background:var(--bg-3);border-color:var(--accent)}.artifact-row .art-name{flex:1;word-break:break-all}.artifact-row .art-size{color:var(--text-dim);font-size:11px}.artifact-row .art-kind{font-size:10px;padding:1px 5px;border-radius:3px;background:var(--bg-3);color:var(--text-dim)}.artifact-row .art-kind.binary{color:#f59e0b}.artifact-row .art-kind.modified{color:#3b82f6}.art-table{width:100%;border-collapse:collapse;font-size:13px;border-radius:8px;border:1px solid var(--border);overflow:hidden}.art-table th,.art-table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:top;transition:background .15s ease}.art-table th{font-size:11px;text-transform:uppercase;color:var(--text-dim);letter-spacing:.3px;font-weight:600;background:var(--bg-3);padding:10px 12px}.art-table tr:last-child td{border-bottom:none}.art-table tbody tr:hover td{background:var(--accent-soft,rgba(88,166,255,.04))}.art-table code{font-size:12px}.art-table .art-path-full{color:var(--text-dim);font-size:11px;font-family:monospace}.art-table .ts{color:var(--text-dim);font-size:11px;white-space:nowrap}.art-table-hint{color:var(--text-dim);font-size:11px;margin-top:8px;padding:0 10px}.badge-count{font-size:10px;padding:1px 6px;border-radius:8px;background:var(--accent);color:var(--bg-1);font-weight:600}.badge-multi{font-size:10px;padding:1px 5px;border-radius:3px;background:#f59e0b;color:var(--bg-1);font-weight:600;margin-left:4px}.diff-toggle-row{display:flex;align-items:center;gap:10px;padding:6px 10px;margin-bottom:8px;font-size:12px;color:var(--text-dim)}.diff-toggle-row label{cursor:pointer;color:var(--text)}.diff-toggle-row .muted{font-size:11px}.preview-pane{background:var(--bg-3);border:1px solid var(--border);border-radius:6px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:60vh;overflow:auto}.preview-pane.binary{color:#f59e0b}.preview-pane .trunc-warn{color:#f59e0b;font-weight:600;font-size:12px;margin-bottom:8px;font-family:var(--font)}.diff-pane{display:flex;flex-direction:column;gap:8px}.diff-row{background:var(--bg-3);border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-family:monospace;font-size:12px}.diff-row .diff-path{font-weight:600;margin-bottom:4px;word-break:break-all}.diff-row .diff-stats{color:var(--text-dim);font-size:11px;margin-bottom:4px}.diff-row .diff-series{color:var(--text)}.diff-row .delta-pos{color:#10b981}.diff-row .delta-neg{color:#ef4444}input[type=search]{background:var(--bg-3);border:1px solid var(--border);color:var(--text);padding:8px 14px;border-radius:var(--radius);font-size:14px;min-width:280px;outline:none;font-family:var(--font);transition:border-color .15s,box-shadow .15s}input[type=search]:focus{border-color:var(--accent-hover);box-shadow:0 0 0 3px #828fff26}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--bg-3);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12' fill='none' stroke='%238b949e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><polyline points='3 5 6 8 9 5'/></svg>");background-repeat:no-repeat;background-position:right 10px center;background-size:10px 10px;border:1px solid var(--border);color:var(--text);padding:6px 30px 6px 10px;border-radius:6px;font-size:13px;font-family:var(--font);line-height:1.4;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s,background-color .15s;box-shadow:var(--shadow-inset-btn);min-height:30px}select:hover{border-color:var(--border-strong);background-color:var(--bg-4)}select:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-inset-btn),0 0 0 3px #5e6ad240}select option{background-color:var(--bg-2);color:var(--text);padding:4px 6px}select optgroup{background-color:var(--bg-1);color:var(--text-dim);font-weight:600;font-style:normal}select[multiple],select[size]{background-image:none;padding:6px 10px}.task-sidebar-header select{padding-right:26px;min-height:28px;font-size:12px}#boardSender,#boardPriority{padding:4px 26px 4px 8px!important;min-height:28px;font-size:12px}.btn{background:var(--bg-3);color:var(--text);border:1px solid var(--border);padding:8px 16px;border-radius:var(--radius);cursor:pointer;font-size:13px;font-weight:500;letter-spacing:-.1px;transition:border-color .15s,color .15s,background .15s,box-shadow .15s;box-shadow:var(--shadow-inset-btn)}.btn:hover{border-color:var(--border-strong);background:var(--bg-4);color:var(--text)}.btn.primary{background:var(--accent-bg);color:#fff;border-color:var(--accent-bg);font-weight:500}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-inset-btn),0 0 0 2px #5e6ad24d}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-login{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px}.btn-login.is-locked{border-color:#f85149;color:#f85149}.btn-login.is-locked:hover{background:#f851491a}.btn-login.is-anonymous{border-color:#7d7d8c73;color:#b4b9c8d9;background:#ffffff05;cursor:pointer;animation:skh-anonymous-pulse 2.4s ease-in-out infinite}.btn-login.is-anonymous:hover{background:#7d7d8c1f;color:#dce1f0;border-color:#9696aab3;animation:none}.btn-login.is-ip-trusted{border-color:#10b98199;color:#10b981;background:#10b9811a;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn-login.is-ip-trusted:hover{background:#10b98133;border-color:#10b981d9;color:#34d399}.btn-login.is-ip-trusted .btn-login-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#10b981;box-shadow:0 0 6px #10b981b3;margin-right:4px;animation:ipTrustedPulse 2.2s ease-in-out infinite}@keyframes ipTrustedPulse{0%,to{opacity:.7;box-shadow:0 0 4px #10b98180}50%{opacity:1;box-shadow:0 0 8px #10b981e6}}.ip-trusted-toast{position:fixed;top:64px;right:24px;z-index:9999;padding:10px 14px;background:#10b98124;border:1px solid rgba(16,185,129,.45);border-radius:8px;color:#34d399;font-size:13px;font-weight:500;box-shadow:0 6px 20px #00000047;backdrop-filter:blur(8px);animation:ipTrustedToastIn .32s cubic-bezier(.16,1,.3,1) both;display:flex;align-items:center;gap:8px}@keyframes ipTrustedToastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.btn-login.is-ip-trusted .btn-login-dot{animation:none}}@keyframes skh-anonymous-pulse{0%,to{box-shadow:0 0 #7d7d8c00}50%{box-shadow:0 0 0 4px #7d7d8c26}}@media(prefers-reduced-motion:reduce){.btn-login.is-anonymous{animation:none}}.login-content{width:360px;max-width:92vw}.login-form{display:flex;flex-direction:column;gap:14px;padding:18px 20px 20px}.login-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-2,#8b949e)}.login-form input{background:var(--bg-2,#161b22);border:1px solid var(--border);border-radius:6px;padding:8px 10px;color:var(--text,#c9d1d9);font-size:14px;font-family:inherit}.login-form input:focus{outline:none;border-color:var(--accent,#58a6ff)}.login-actions{display:flex;gap:8px;margin-top:4px}.login-actions .btn{flex:1}.btn-primary{background:var(--accent,#58a6ff);color:#0d1117;border-color:var(--accent,#58a6ff);font-weight:500}.btn-primary:hover{background:#79b8ff}.btn-unlock{background:#f85149;color:#fff;border-color:#f85149}.btn-unlock:hover{background:#ff6b63}.login-msg{min-height:20px;font-size:13px;line-height:1.4}.login-msg.error{color:#f85149}.login-msg.success{color:#3fb950}.login-msg.info{color:#d29922}.login-hint{padding:0 20px 16px;font-size:12px;color:var(--text-2,#8b949e);line-height:1.5}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.skill-card{background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:16px;box-shadow:var(--shadow-card);transition:border-color .18s,box-shadow .18s,transform .18s}.skill-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-elevated);transform:translateY(-1px)}.skill-card .name{font-weight:600;font-size:15px;color:var(--accent);margin-bottom:6px;font-family:SF Mono,Cascadia Code,Consolas,monospace}.skill-card .meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.tag{font-size:11px;padding:2px 8px;border-radius:4px;background:var(--bg-3);color:var(--text-dim);border:1px solid var(--border)}.tag.builtin{color:var(--accent-2);border-color:#7ee7874d}.tag.hub{color:var(--accent);border-color:#58a6ff4d}.tag.user{color:var(--warn);border-color:#d299224d}.tag.enabled{color:var(--accent-2);border-color:#7ee7874d}.tag.disabled{color:var(--text-dim)}.skill-card .footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--border);font-size:12px;color:var(--text-dim)}.quick-install{margin-bottom:18px;padding:14px 16px;background:var(--bg-2);border:1px solid var(--border);border-radius:8px}.quick-install .hint{font-size:12px;color:var(--text-dim);margin-right:10px}.chip-row{display:inline-flex;gap:6px;flex-wrap:wrap;margin-top:6px}.chip{background:var(--bg-3);border:1px solid var(--border);color:var(--text);padding:4px 10px;border-radius:999px;font-size:12px;cursor:pointer;font-family:SF Mono,Consolas,monospace;transition:all .15s}.chip:hover{border-color:var(--accent);color:var(--accent)}.output-block{background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:18px;font-family:SF Mono,Consolas,monospace;font-size:13px;white-space:pre-wrap;word-break:break-word;min-height:200px;max-height:none;overflow:visible;color:var(--text)}.output-block--scrollable{max-height:600px;overflow:auto}@media(max-width:768px){.output-block{max-height:80vh;overflow:auto}}.output-block.placeholder,.output-block .placeholder{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-dim);font-family:inherit;font-style:normal;letter-spacing:.5px;min-height:120px;background:repeating-linear-gradient(45deg,transparent 0,transparent 8px,rgba(255,255,255,.012)8px,rgba(255,255,255,.012)16px)}.output-block.placeholder:after,.output-block .placeholder:after{content:"\2014";font-size:15px;color:var(--text-dim);opacity:.4}.output-block.placeholder .placeholder-dots,.output-block .placeholder .placeholder-dots{display:inline-flex;gap:5px;align-items:center}.output-block.placeholder .placeholder-dots span,.output-block .placeholder .placeholder-dots span{width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.35;animation:placeholder-pulse 1.4s ease-in-out infinite}.output-block.placeholder .placeholder-dots span:nth-child(2),.output-block .placeholder .placeholder-dots span:nth-child(2){animation-delay:.2s}.output-block.placeholder .placeholder-dots span:nth-child(3),.output-block .placeholder .placeholder-dots span:nth-child(3){animation-delay:.4s}@keyframes placeholder-pulse{0%,60%,to{opacity:.25;transform:scale(.85)}30%{opacity:1;transform:scale(1.15)}}.placeholder{color:var(--text-dim);font-style:normal;padding:28px 20px;text-align:center;font-size:13.5px;border:1px dashed var(--border);border-radius:8px;background:#ffffff04;letter-spacing:.3px}.loading{display:inline-flex;align-items:center;gap:12px;color:var(--text-dim);padding:14px 18px;background:var(--bg-3);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;font-size:13.5px;letter-spacing:.2px;box-shadow:0 2px 8px #0000002e}.chart-card.is-loading{position:relative;min-height:180px;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:22px 20px}.chart-card.is-loading:before{content:"\52a0\8f7d\4e2d\2026";position:absolute;top:12px;right:16px;font-size:11px;letter-spacing:.4px;color:var(--text-dim);opacity:.7}.skel-bar{display:block;height:14px;border-radius:6px;background:linear-gradient(90deg,#ffffff06,#ffffff14,#ffffff06);background-size:200% 100%;animation:skel-shimmer 1.4s ease-in-out infinite}.skel-bar.w-30{width:30%}.skel-bar.w-50{width:50%}.skel-bar.w-70{width:70%}.skel-bar.w-90{width:90%}.skel-bar.h-big{height:90px;border-radius:8px}.skel-bar.h-med{height:22px}@keyframes skel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.metric-grid.is-loading{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:22px}.metric-grid.is-loading:before{content:""}.metric-skel{background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:16px 18px;min-height:92px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}.metric-skel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.04)50%,transparent 100%);background-size:200% 100%;animation:skel-shimmer 1.4s ease-in-out infinite;pointer-events:none}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.08);border-top-color:var(--accent);border-right-color:var(--accent-2);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:24px;right:24px;background:var(--bg-3);border:1px solid var(--border);border-left:3px solid var(--accent);padding:12px 20px;border-radius:6px;font-size:14px;box-shadow:0 8px 24px #0006;transform:translate(120%);transition:transform .3s;z-index:1000;max-width:400px}.toast.show{transform:translate(0)}.toast.success{border-left-color:var(--accent-2)}.toast.error{border-left-color:var(--danger)}#modalBody{padding:18px 20px;overflow:auto;font-family:SF Mono,Consolas,monospace;font-size:13px;white-space:pre-wrap;color:var(--text);flex:1}#unlockTokenModal .modal-content{max-width:var(--modal-max-w,440px)}.unlock-token-body{padding:12px 16px}.unlock-token-body .form-desc{margin:0 0 12px;color:var(--text-dim);font-size:14px}.unlock-token-body .form-input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius,6px);font-family:var(--font-mono,monospace);background:var(--bg);color:var(--text);font-size:13px;transition:border-color .12s,box-shadow .12s}.unlock-token-body .form-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus,0 0 0 2px var(--accent))}.unlock-token-body .form-msg{margin-top:8px}.unlock-token-body .form-actions{margin-top:16px;display:flex;gap:8px;justify-content:flex-end}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:22px}.metric-card{background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:16px 18px;position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.metric-card.ok:before{background:var(--accent-2)}.metric-card.warn:before{background:var(--warn)}.metric-card.bad:before{background:var(--danger)}.metric-card .label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);margin-bottom:8px}.metric-card .value{font-size:28px;font-weight:600;font-family:SF Mono,Consolas,monospace;line-height:1.1}.metric-card .sub{font-size:12px;color:var(--text-dim);margin-top:6px}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}@media(max-width:900px){.charts-grid{grid-template-columns:1fr}}.chart-card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px 20px;box-shadow:var(--shadow-card);transition:border-color .18s,box-shadow .18s,transform .18s}.chart-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-elevated);transform:translateY(-1px)}.chart-card.is-empty,.chart-card:has(>.placeholder:only-child):not(.is-loading){position:relative;min-height:180px}.chart-card.is-empty:after,.chart-card:has(>.placeholder:only-child):not(.is-loading):after{content:"\6682\65e0\6570\636e";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;letter-spacing:.5px;color:var(--text-dim);opacity:.6;pointer-events:none;background:radial-gradient(circle at 50% 60%,rgba(106,95,193,.06)0%,transparent 70%)}.chart-card h3{font-size:14px;font-weight:500;letter-spacing:-.165px;margin-bottom:14px;color:var(--text)}.chart-area{min-height:180px;display:flex;align-items:center;justify-content:center}.donut-svg{display:block;margin:0 auto}.donut-svg text.center-num{font-size:28px;font-weight:700;fill:var(--text);font-family:SF Mono,Consolas,monospace}.donut-svg text.center-label{font-size:11px;fill:var(--text-dim);text-transform:uppercase;letter-spacing:.6px}.donut-slice{transition:opacity .2s,transform .2s;transform-origin:center;cursor:pointer}.donut-slice:hover{opacity:.8}.legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;justify-content:center}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim)}.legend-swatch{width:10px;height:10px;border-radius:2px}.bar-row{display:grid;grid-template-columns:140px 1fr 50px;align-items:center;gap:10px;margin-bottom:8px;font-size:12px}.bar-row .bar-label{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-row .bar-track{background:var(--bg-3);height:18px;border-radius:3px;overflow:hidden;position:relative}.bar-row .bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),#79b8ff);border-radius:3px;transition:width .4s}.bar-row .bar-value{color:var(--text-dim);font-family:SF Mono,Consolas,monospace;text-align:right}.components-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.comp-card{background:var(--bg-3);border:1px solid var(--border);border-radius:6px;padding:12px 14px}.comp-card .comp-name{font-size:12px;color:var(--text-dim);margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}.comp-card .comp-ratio{font-size:18px;font-weight:600;font-family:SF Mono,Consolas,monospace}.comp-card .comp-bar{height:4px;background:var(--bg-2);border-radius:2px;margin-top:8px;overflow:hidden}.comp-card .comp-bar-fill{height:100%;background:var(--accent-2);border-radius:2px}.comp-card.warn .comp-bar-fill{background:var(--warn)}.comp-card.bad .comp-bar-fill{background:var(--danger)}.comp-card .comp-sub{font-size:11px;color:var(--text-dim);margin-top:6px}.cron-list{font-size:13px}.cron-empty{color:var(--text-dim);font-style:italic;padding:24px;text-align:center}.cron-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-3);border:1px solid var(--border);border-radius:6px;margin-bottom:6px}.cron-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 6px currentColor;flex-shrink:0}.cron-dot.paused{background:var(--text-dim);box-shadow:none}.cron-name{font-family:SF Mono,Consolas,monospace;color:var(--accent);font-size:13px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cron-sched{color:var(--text-dim);font-size:12px;margin-left:auto}.hint{color:var(--text-dim);font-size:12px}.source-bar{display:flex;gap:8px;margin-bottom:18px;padding:10px;background:var(--bg-2);border:1px solid var(--border);border-radius:10px;overflow-x:auto;scrollbar-width:thin}.source-tab{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 14px;background:var(--bg-3);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s;min-width:130px;text-align:left;color:var(--text);flex-shrink:0}.source-tab:hover{border-color:var(--accent);transform:translateY(-1px)}.source-tab.active{background:linear-gradient(135deg,#58a6ff26,#7ee7871a);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.source-tab .src-icon{font-size:18px;line-height:1}.source-tab .src-name{font-size:13px;font-weight:600;color:var(--text)}.source-tab.active .src-name{color:var(--accent)}.source-tab .src-tag{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px}.search-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}.search-card{background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;transition:all .15s}.search-card:hover{border-color:var(--accent);transform:translateY(-1px)}.search-card .name{font-family:SF Mono,Consolas,monospace;font-size:14px;font-weight:600;color:var(--accent);margin-bottom:4px;word-break:break-all}.search-card .desc{font-size:12px;color:var(--text-dim);line-height:1.5;margin:8px 0 6px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;white-space:pre-wrap}.search-card .desc.expanded{-webkit-line-clamp:unset;display:block;overflow:visible}.search-card .desc.desc-missing{font-style:italic;opacity:.55;-webkit-line-clamp:unset;display:block}.search-card .meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.search-card .install-btn{margin-top:auto;align-self:flex-start}.btn-link{background:none;border:none;color:var(--accent);font-size:11px;cursor:pointer;padding:0 0 8px;text-align:left}.btn-link:hover{text-decoration:underline}.skill-card .desc{font-size:12px;color:var(--text);line-height:1.55;margin:8px 0 10px;padding:8px 10px;background:#ffffff08;border-left:2px solid var(--accent);border-radius:4px;word-break:break-word;white-space:pre-wrap;max-height:none;overflow:visible}.skill-card .desc.desc-missing{color:var(--text-dim);font-style:italic;background:transparent;border-left-color:var(--text-dim);padding-left:10px}.tag.version{color:var(--accent-2);border-color:#7ee7874d;font-family:ui-monospace,SFMono-Regular,monospace;font-size:10px}.skill-card .desc-en,.search-card .desc-en{font-size:11px;color:var(--text-dim);line-height:1.45;margin:0 0 8px;padding:4px 10px;background:#ffffff05;border-left:2px solid var(--text-dim);border-radius:3px;word-break:break-word;white-space:pre-wrap;font-style:italic;max-height:none;overflow:visible}.no-results{padding:40px 20px;text-align:center;color:var(--text-dim);font-style:italic}.search-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding:0 4px;font-size:12px;color:var(--text-dim)}.pager{display:flex;gap:6px}.config-layout{display:grid;grid-template-columns:240px 1fr;gap:20px;min-height:540px}.config-sidebar{background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px;max-height:78vh;overflow-y:auto}.config-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;cursor:pointer;font-size:13.5px;border:1px solid transparent;transition:background .12s,border-color .12s}.config-nav-item:hover{background:var(--bg-3)}.config-nav-item.active{background:var(--bg-3);border-color:var(--accent);color:var(--accent)}.config-nav-item .nav-icon{font-size:16px}.config-nav-item .nav-label{flex:1}.config-nav-item .nav-count{font-size:11px;color:var(--text-dim);background:var(--bg-2);padding:1px 6px;border-radius:8px}.config-nav-item.active .nav-count{background:var(--accent);color:var(--bg)}.config-form{background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:20px 24px;max-height:78vh;overflow-y:auto}.config-group-header{display:flex;align-items:center;gap:10px;padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid var(--border)}.config-group-header .gh-icon{font-size:22px}.config-group-header .gh-title{font-size:16px;font-weight:600}.config-group-header .gh-desc{font-size:12px;color:var(--text-dim);margin-top:2px}.field-row{display:grid;grid-template-columns:220px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--bg-3);align-items:start}.field-row:last-child{border-bottom:none}.field-row.dirty{background:#d299220f}.field-row.search-hidden{display:none}.field-label{display:flex;flex-direction:column;gap:4px}.field-label .label-text{font-size:13px;font-weight:500;display:flex;align-items:center;gap:6px}.field-label .label-key{font-family:monospace;font-size:11px;color:var(--text-dim)}.field-label .dirty-dot{width:6px;height:6px;border-radius:50%;background:var(--warn);box-shadow:0 0 6px var(--warn)}.field-label .label-desc{font-size:11.5px;color:var(--text-dim);line-height:1.45}.field-label .label-readonly{font-size:11px;color:var(--text-dim);background:var(--bg-3);padding:1px 6px;border-radius:3px;margin-left:4px}.field-control{display:flex;flex-direction:column;gap:6px;align-items:stretch}.field-control input[type=text],.field-control input[type=number],.field-control select,.field-control textarea{background:var(--bg-3);border:1px solid var(--border);color:var(--text);padding:7px 10px;border-radius:5px;font-size:13px;font-family:inherit;outline:none;transition:border-color .15s;width:100%;max-width:460px}.field-control input:focus,.field-control select:focus,.field-control textarea:focus{border-color:var(--accent)}.field-control input:disabled,.field-control select:disabled{opacity:.5;cursor:not-allowed}.field-control .current-value{font-size:11px;color:var(--text-dim);font-family:monospace;margin-top:2px}.field-control .current-value.dirty-now{color:var(--warn)}input[type=checkbox],input[type=radio]{appearance:none;-webkit-appearance:none;-moz-appearance:none;margin:0;cursor:pointer;vertical-align:middle;position:relative;flex-shrink:0;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease}input[type=checkbox]{width:16px;height:16px;border:1.5px solid var(--border-strong,#444c56);border-radius:4px;background-color:var(--bg-2,#161b22)}input[type=checkbox]:hover{border-color:var(--text-faint,#8b949e);background-color:var(--bg-3,#21262d)}input[type=checkbox]:focus-visible{outline:none;border-color:var(--accent,#6a5fc1);box-shadow:0 0 0 3px #6a5fc140}input[type=checkbox]:checked{background-color:var(--accent-bg,#5e6ad2);border-color:var(--accent-bg,#5e6ad2);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M1.5 5l2.5 2.5L8.5 2' stroke='%23ffffff' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center center!important;background-size:10px 10px!important}input[type=checkbox]:checked:hover{background-color:var(--accent-hover,#7a8aff);border-color:var(--accent-hover,#7a8aff)}input[type=checkbox]:indeterminate{background-color:var(--accent-bg,#5e6ad2);border-color:var(--accent-bg,#5e6ad2);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 5h6' stroke='%23ffffff' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center center!important;background-size:10px 10px!important}input[type=checkbox]:disabled{opacity:.4;cursor:not-allowed}input[type=radio]{width:16px;height:16px;border:1.5px solid var(--border-strong,#444c56);border-radius:50%;background-color:var(--bg-2,#161b22)}input[type=radio]:hover{border-color:var(--text-faint,#8b949e);background-color:var(--bg-3,#21262d)}input[type=radio]:focus-visible{outline:none;border-color:var(--accent,#6a5fc1);box-shadow:0 0 0 3px #6a5fc140}input[type=radio]:checked{border-color:var(--accent-bg,#5e6ad2);background-color:var(--bg-2,#161b22);background-image:radial-gradient(circle,var(--accent-bg,#5e6ad2)0%,var(--accent-bg,#5e6ad2)35%,transparent 40%)!important;background-repeat:no-repeat!important;background-position:center center!important;background-size:16px 16px!important}input[type=radio]:checked:hover{border-color:var(--accent-hover,#7a8aff);background-image:radial-gradient(circle,var(--accent-hover,#7a8aff)0%,var(--accent-hover,#7a8aff)35%,transparent 40%)!important;background-repeat:no-repeat!important;background-position:center center!important;background-size:16px 16px!important}input[type=radio]:disabled{opacity:.4;cursor:not-allowed}label:has(>input[type=checkbox]),label:has(>input[type=radio]){cursor:pointer;user-select:none}.table-wrap input[type=checkbox],.session-table-wrap input[type=checkbox],.mcp-list input[type=checkbox]{width:18px;height:18px}.table-wrap input[type=checkbox]:checked,.session-table-wrap input[type=checkbox]:checked,.mcp-list input[type=checkbox]:checked{background-size:12px 12px!important}.toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle .slider{position:absolute;cursor:pointer;inset:0;background:var(--bg-3);border:1px solid var(--border);border-radius:999px;transition:.18s}.toggle .slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;top:3px;background:var(--text-dim);border-radius:50%;transition:.18s}.toggle input:checked+.slider{background:var(--accent);border-color:var(--accent)}.toggle input:checked+.slider:before{transform:translate(20px);background:#0d1117}.toggle input:disabled+.slider{opacity:.4;cursor:not-allowed}.field-label .label-text mark{background:#58a6ff4d;color:var(--accent);padding:0 2px;border-radius:2px}.quick-config{margin-top:18px;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:14px 18px}.quick-config-header{display:flex;align-items:baseline;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}.quick-config-header h3{font-size:15px}.quick-config-header .hint{font-size:11.5px}.quick-config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.quick-field{background:var(--bg-3);border:1px solid var(--border);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;transition:border-color .12s}.quick-field.dirty{border-color:var(--warn);background:#d2992214}.qf-label{font-size:13px;font-weight:500}.qf-control{display:flex;align-items:center;gap:8px}.qf-control input[type=number],.qf-control input[type=text],.qf-control select{background:var(--bg-2);border:1px solid var(--border);color:var(--text);padding:5px 8px;border-radius:4px;font-size:13px;font-family:inherit;outline:none;flex:1;min-width:0}.qf-control input:focus,.qf-control select:focus{border-color:var(--accent)}.qf-desc{font-size:11.5px;color:var(--text-dim);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.restart-banner{display:flex;align-items:center;gap:12px;margin:12px 0 0;padding:10px 14px;background:#58a6ff1a;border:1px solid var(--accent);border-radius:6px;font-size:13px}.restart-banner .banner-icon{font-size:18px}.restart-banner .banner-content{flex:1}.restart-banner code{background:var(--bg-3);padding:1px 5px;border-radius:3px;font-size:11.5px}.restart-banner .banner-close{padding:4px 8px;font-size:14px}.filter-toggle{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;background:var(--bg-3);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:12.5px;user-select:none;transition:all .12s}.filter-toggle:hover{border-color:var(--warn)}.filter-toggle input{margin:0;cursor:pointer}.filter-toggle:has(input:checked){background:#d2992233;border-color:var(--warn);color:var(--warn)}.nav-dirty-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--warn);box-shadow:0 0 6px var(--warn);margin-left:-4px}.label-restart{font-size:10px;padding:1px 6px;border-radius:3px;background:#58a6ff2e;color:var(--accent);border:1px solid rgba(88,166,255,.4);margin-left:4px;cursor:help}.field-row.save-ok{animation:saveOkFlash 2s ease-out}@keyframes saveOkFlash{0%{background:#7ee78733}to{background:transparent}}.field-row.save-fail{border-left:3px solid var(--danger);background:#f851490f;cursor:help}.kv-list{display:flex;flex-direction:column;gap:6px;font-size:13px}.kv-list .kv-row{display:flex;justify-content:space-between;align-items:baseline;padding:5px 8px;border-bottom:1px dashed rgba(88,166,255,.08);gap:8px}.kv-list .kv-row:last-child{border-bottom:none}.kv-list .kv-key{color:var(--text-dim);flex-shrink:0}.kv-list .kv-val{color:var(--text);text-align:right;word-break:break-all;font-family:SF Mono,Consolas,monospace;font-size:12px}.kv-list .kv-val.kv-warn{color:var(--warn)}.kv-list .kv-val.kv-ok{color:var(--accent-2)}.kv-list .kv-val.kv-danger{color:var(--danger)}.kv-list .kv-preview{color:var(--text-dim);font-size:11px;margin-top:6px;padding:6px 8px;background:var(--bg);border-left:2px solid var(--accent);border-radius:0 4px 4px 0;max-height:110px;overflow-y:auto;line-height:1.5}.kv-list .kv-preview div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hbar-list{display:flex;flex-direction:column;gap:6px}.hbar-list .hbar{display:grid;grid-template-columns:140px 1fr 50px;align-items:center;gap:10px;font-size:12px}.hbar-list .hbar-name{color:var(--text);font-family:SF Mono,Consolas,monospace;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-list .hbar-bar{height:14px;background:var(--bg-3);border-radius:3px;overflow:hidden;position:relative}.hbar-list .hbar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:3px;transition:width .3s}.hbar-list .hbar-count{color:var(--text-dim);font-family:SF Mono,Consolas,monospace;text-align:right}.hbar-list .hbar-empty{color:var(--text-dim);font-size:12px;padding:8px;text-align:center}.mcp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.mcp-card{padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:12px}.mcp-card .mcp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.mcp-card .mcp-name{font-weight:600;color:var(--text);font-family:SF Mono,Consolas,monospace}.mcp-card .mcp-tag{font-size:10px;padding:2px 6px;border-radius:3px;background:var(--bg-3);color:var(--text-dim)}.mcp-card .mcp-tag.on{color:var(--accent-2)}.mcp-card .mcp-tag.off{color:var(--text-dim)}.mcp-card .mcp-cmd{color:var(--text-dim);font-family:SF Mono,Consolas,monospace;font-size:11px;word-break:break-all}.mcp-card .mcp-env{margin-top:4px;font-size:10px;color:var(--warn)}.mcp-empty{color:var(--text-dim);font-size:13px;padding:20px;text-align:center;background:var(--bg);border-radius:6px}.session-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--border);background:var(--bg)}.session-table{width:100%;border-collapse:collapse;font-size:12px}.session-table th{text-align:left;padding:10px 12px;color:var(--text-dim);border-bottom:1px solid var(--border);font-weight:600;font-size:11px;letter-spacing:.3px;text-transform:uppercase;background:var(--bg-3);position:sticky;top:0}.session-table td{padding:9px 12px;border-bottom:1px solid var(--border);color:var(--text);transition:background .15s ease}.session-table tr:last-child td{border-bottom:none}.session-table tr:hover td{background:var(--accent-soft,rgba(88,166,255,.04))}.session-table tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.session-table .s-id{font-family:SF Mono,Consolas,monospace;font-size:11px;color:var(--text-dim);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-table .s-platform{display:inline-block;padding:2px 8px;background:var(--bg-3);border-radius:4px;font-size:10px;color:var(--accent);font-weight:500}.session-table .s-num{font-family:SF Mono,Consolas,monospace;text-align:right;font-variant-numeric:tabular-nums}.session-table .s-time{color:var(--text-dim);font-size:11px;white-space:nowrap}.learn-subtabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:16px}.learn-subtabs .subtab{background:var(--bg-2);border:1px solid var(--border);color:var(--text-dim);padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:color .15s,background-color .15s,border-color .15s,padding-left .2s}.learn-subtabs .subtab:hover{color:var(--text);background:var(--bg-3);border-color:var(--accent)}.learn-subtabs .subtab.active{color:var(--accent);border-color:var(--accent);background:linear-gradient(90deg,#828fff1f,#828fff0a);font-weight:600}.learn-breadcrumb{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--bg-2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:4px;margin-bottom:14px;font-size:13px;color:var(--text-dim);animation:panelFadeIn .2s ease both}.learn-breadcrumb-icon{font-size:14px}.learn-breadcrumb-text strong{color:var(--accent);font-weight:600}.learn-breadcrumb-hint{margin-left:auto;padding:2px 8px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font-size:11.5px;color:var(--text-dim)}.learn-section[data-learn-page],.learn-intro[data-learn-page],.learn-footer[data-learn-page]{animation:learnPageFadeIn .24s cubic-bezier(.16,1,.3,1)both}@keyframes learnPageFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}#learn-resources h4{margin:18px 0 8px;color:var(--text);font-size:14px;font-weight:600;border-left:2px solid var(--accent);padding-left:8px}#learn-resources h4:first-of-type{margin-top:6px}#learn-resources .learn-videos{margin-bottom:14px}.learn-footer-note{margin-top:18px;padding:10px 14px;background:var(--bg);border:1px dashed var(--accent);border-radius:4px;color:var(--text-dim);font-size:12.5px}.learn-intro{background:var(--bg-2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;padding:16px 20px;margin-bottom:20px;font-size:14px;line-height:1.7;box-shadow:var(--shadow-card);transition:border-color .18s,box-shadow .18s,transform .18s}.learn-intro:hover{border-color:var(--border-strong);box-shadow:var(--shadow-elevated);transform:translateY(-1px)!important}.learn-intro p{margin:6px 0}.learn-toc-title{margin-top:12px!important;font-weight:600;color:var(--text-dim)}.learn-toc{margin:6px 0 0;padding-left:22px;line-height:1.9}.learn-toc a{color:var(--accent);text-decoration:none}.learn-toc a:hover{text-decoration:underline}.learn-section{background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:18px 22px;margin-bottom:18px;box-shadow:var(--shadow-card);transition:border-color .18s,box-shadow .18s,transform .18s;content-visibility:auto;contain-intrinsic-size:auto 800px}.learn-section:hover{border-color:var(--border-strong);box-shadow:var(--shadow-elevated);transform:translateY(-1px)!important}.learn-section h3{margin:0 0 12px;color:var(--text);font-size:18px;border-bottom:1px solid var(--border);padding-bottom:10px}.learn-section p{line-height:1.75;margin:8px 0}.learn-section ul,.learn-section ol{line-height:1.85;padding-left:22px}.learn-section li{margin:4px 0}.learn-section strong{color:var(--accent-2)}.learn-section em{color:var(--warn);font-style:normal}.learn-section code{background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:1px 6px;font-size:.9em;color:var(--accent);font-family:SF Mono,Consolas,monospace}.code-block{background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--accent-2);border-radius:4px;padding:10px 14px;font-size:12.5px;line-height:1.6;overflow-x:auto;font-family:SF Mono,Consolas,monospace;color:#c9d1d9;margin:8px 0}.learn-videos{margin-top:14px;padding:10px 14px;background:var(--bg);border-radius:6px;border:1px dashed var(--border);box-shadow:var(--shadow-card);transition:border-color .18s,box-shadow .18s,transform .18s}.learn-videos:hover{border-color:var(--border-strong);box-shadow:var(--shadow-elevated);transform:translateY(-1px)!important}.learn-videos>p{margin:0 0 6px;font-weight:600;color:var(--text-dim);font-size:13px}.learn-videos ul{margin:0;padding-left:20px}.learn-videos li{margin:3px 0;line-height:1.7}.learn-videos a{color:var(--accent);text-decoration:none}.learn-videos a:hover{text-decoration:underline;color:var(--accent-2)}.learn-directions{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:14px 0}.learn-dir-card{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:12px 14px;transition:transform .15s,border-color .15s}.learn-dir-card:hover{transform:translateY(-2px);border-color:var(--accent)}.learn-dir-card h4{margin:0 0 8px;font-size:15px;color:var(--accent-2)}.learn-dir-card p{margin:4px 0;font-size:12.5px;line-height:1.6;color:var(--text-dim)}.learn-footer{margin-top:24px;padding:16px 20px;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;font-size:13.5px;line-height:1.7}.learn-footer p{margin:4px 0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 24px;background:var(--bg);border:1px dashed var(--border);border-radius:8px;text-align:center;min-height:200px}.empty-state .empty-icon{font-size:42px;margin-bottom:10px;opacity:.6}.empty-state .empty-title{font-size:16px;font-weight:600;color:var(--text);margin-bottom:8px}.empty-state .empty-sub{font-size:13px;color:var(--text-dim);line-height:1.6;max-width:460px;margin-bottom:14px}.empty-state .empty-note{background:#58a6ff14;border-left:3px solid var(--accent);padding:8px 12px;border-radius:0 4px 4px 0;font-size:12.5px;color:var(--text);line-height:1.6;max-width:520px;margin-bottom:14px;text-align:left}.empty-state .empty-tips{background:var(--bg-2);border:1px solid var(--border);border-radius:6px;padding:10px 14px;font-size:12.5px;line-height:1.7;color:var(--text-dim);max-width:520px;text-align:left}.empty-state .empty-tips strong{color:var(--accent-2)}.empty-state .empty-tips ol{margin:6px 0 0;padding-left:20px}.empty-state .empty-tips li{margin:3px 0}.empty-state .empty-tips code{background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-size:11.5px;color:var(--accent);font-family:SF Mono,Consolas,monospace}.tab-search-trigger{margin-left:auto;display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg-3);border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-size:12px;cursor:pointer;transition:border-color .15s,background .15s;min-width:180px}.tab-search-trigger:hover{border-color:var(--accent);background:var(--bg-2);color:var(--text)}.tab-search-trigger .search-icon{font-size:13px}.tab-search-trigger .search-placeholder{flex:1;text-align:left}.tab-search-trigger .search-kbd{background:var(--bg-2);border:1px solid var(--border);border-radius:3px;padding:1px 6px;font-size:11px;font-family:SF Mono,Consolas,monospace;color:var(--text-dim)}.global-search-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}.global-search-modal[hidden]{display:none!important}.global-search-backdrop{position:absolute;inset:0;background:#0009;backdrop-filter:blur(2px)}.global-search-box{position:relative;width:640px;max-width:92vw;max-height:70vh;background:var(--bg-2);border:1px solid var(--border);border-radius:10px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;overflow:hidden}.global-search-input-row{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);background:var(--bg-3)}.global-search-icon{font-size:16px;color:var(--text-dim)}.global-search-input-row input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:15px;font-family:inherit}.global-search-input-row input::placeholder{color:var(--text-dim)}.global-search-kbd{background:var(--bg-2);border:1px solid var(--border);border-radius:3px;padding:1px 6px;font-size:11px;font-family:SF Mono,Consolas,monospace;color:var(--text-dim)}.global-search-results{flex:1;overflow-y:auto;padding:4px 0;min-height:80px;max-height:50vh}.global-search-empty{padding:30px 24px;color:var(--text-dim);font-size:13px;text-align:center}.global-search-empty p{margin-bottom:10px;color:var(--text);font-size:14px;font-weight:600}.global-search-empty ul{display:inline-block;text-align:left;font-size:12px;line-height:1.8;list-style:none}.global-search-empty ul li:before{content:"\2022  ";color:var(--accent)}.gs-section{padding:6px 0}.gs-section-label{padding:4px 14px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.gs-item{display:flex;align-items:center;gap:10px;padding:8px 14px;cursor:pointer;border-left:2px solid transparent;transition:background .1s,border-color .1s}.gs-item:hover{background:var(--bg-3)}.gs-item.active{background:#58a6ff1a;border-left-color:var(--accent)}.gs-icon{font-size:18px;width:22px;text-align:center;flex-shrink:0}.gs-content{flex:1;min-width:0;overflow:hidden}.gs-title{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gs-subtitle{font-size:11.5px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.gs-title mark,.gs-subtitle mark{background:#58a6ff40;color:var(--accent);border-radius:2px;padding:0 1px}.gs-personal{border-bottom:1px solid var(--border);margin-bottom:4px;padding-bottom:2px}.gs-section-fav .gs-section-label,.gs-section-hist .gs-section-label{display:flex;align-items:center;justify-content:space-between}.gs-clear-hist{background:transparent;border:1px solid var(--border);color:var(--text-dim);font-size:10px;padding:1px 8px;border-radius:10px;cursor:pointer;letter-spacing:.3px;transition:all .1s}.gs-clear-hist:hover{color:var(--accent);border-color:var(--accent)}.gs-item-personal{position:relative}.gs-item-personal .gs-icon{opacity:.75}.gs-item-hist{background:#ffffff04}.gs-item-hist:hover{background:var(--bg-3)}.gs-fav-btn{background:transparent;border:1px solid transparent;color:var(--text-dim);font-size:14px;width:28px;height:28px;border-radius:6px;cursor:pointer;flex-shrink:0;opacity:.35;transition:all .12s;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.gs-item:hover .gs-fav-btn,.gs-item-personal .gs-fav-btn{opacity:1}.gs-fav-btn:hover{background:var(--bg-3);color:var(--warn);border-color:var(--border);transform:scale(1.08)}.gs-fav-btn.gs-fav-on{opacity:1;color:var(--warn);filter:drop-shadow(0 0 4px rgba(210,153,34,.4))}.gs-fav-btn.gs-fav-on:hover{background:#d299221a;border-color:var(--warn)}@media(max-width:768px){.gs-fav-btn{width:36px;height:36px;font-size:16px}}.global-search-footer{display:flex;align-items:center;gap:14px;padding:8px 14px;border-top:1px solid var(--border);background:var(--bg-3);font-size:11px;color:var(--text-dim);flex-wrap:wrap}.global-search-footer kbd{background:var(--bg-2);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-size:10.5px;font-family:SF Mono,Consolas,monospace;color:var(--text);margin-right:3px}.global-search-hint{margin-left:auto;font-size:10.5px;opacity:.8}.panel-intro{padding:0 0 16px;color:var(--muted,#666);font-size:14px}.panel-intro .hint{font-size:12px;margin-top:6px;opacity:.8}.gateway-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;padding:8px 0}.gateway-card{background:var(--bg-3);border:1px solid var(--border);border-radius:8px;padding:14px 16px;position:relative;transition:box-shadow .15s,border-color .15s}.gateway-card:hover{box-shadow:0 2px 8px #00000014}.gateway-card--home{border-color:var(--accent,#3b82f6);background:linear-gradient(135deg,rgba(59,130,246,.04),transparent)}.gateway-card--disabled{opacity:.6}.gateway-card--loading,.gateway-card--error,.gateway-card--empty{text-align:center;padding:40px 20px;color:var(--muted,#666)}.gateway-card--error{color:#c00}.gateway-card--anon-banner{grid-column:1 / -1;text-align:center;padding:14px 18px;margin-bottom:6px;background:linear-gradient(135deg,#635bff14,#8b5cf60a);border:1px dashed rgba(99,91,255,.35);border-radius:10px;color:var(--text,#1a1a2e);font-size:13px;letter-spacing:.01em}.gateway-card--anon-banner strong{color:#5b4eff;margin-right:4px}.gateway-readonly-toggle{display:inline-flex;align-items:center;padding:4px 10px;font-size:12px;font-weight:500;background:#635bff0f;border:1px solid rgba(99,91,255,.18);border-radius:999px;color:var(--muted,#555);user-select:none}.gateway-redacted{display:inline-block;padding:2px 8px;background:repeating-linear-gradient(45deg,#0000000a,#0000000a4px,#000000124px8px);border:1px solid rgba(0,0,0,.08);border-radius:6px;color:var(--muted,#888);font-style:italic;font-size:12px;letter-spacing:.02em}.gateway-home-badge{position:absolute;top:8px;right:8px;background:var(--accent-bg);color:var(--text);font-size:11px;padding:2px 8px;border-radius:10px}.gateway-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-right:80px}.gateway-name{margin:0;font-size:16px;font-weight:600}.gateway-meta{display:flex;flex-direction:column;gap:4px;font-size:12px;margin:8px 0 12px}.gateway-meta-row{display:flex;align-items:center;gap:8px}.gateway-meta-label{color:var(--muted,#888);min-width:70px;text-align:right}.gateway-meta code{background:var(--code-bg,#f3f4f6);padding:1px 5px;border-radius:3px;font-size:11px;word-break:break-all}.gateway-card-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.btn-sm{padding:4px 10px;font-size:12px}.btn-danger{background:var(--danger,#dc2626);color:var(--text);border:1px solid var(--danger,#dc2626)}.btn-danger:hover{background:var(--danger,#b91c1c)}.gw-channel-list{display:flex;flex-direction:column;gap:10px}.gw-channel-item{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;transition:all .2s}.gw-channel-item:hover{border-color:var(--color-accent)}.gw-channel-info{display:flex;flex-direction:column;gap:4px}.gw-channel-name{font-weight:600;font-size:15px}.gw-channel-detail{font-size:12px;opacity:.7}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background:var(--color-border);transition:.3s;border-radius:24px}.slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:#fff;transition:.3s;border-radius:50%}input:checked+.slider{background:var(--color-accent,#58a6ff)}input:checked+.slider:before{transform:translate(20px)}input:disabled+.slider{opacity:.4;cursor:not-allowed}.metric-value.ok{color:var(--color-success,#3fb950)}.metric-value.bad{color:var(--color-danger,#f85149)}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--bg-3);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 5l4-4 4 4' stroke='%23a0a0a8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 11px center!important;background-size:10px 6px!important;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 32px 8px 12px;font:inherit;font-size:13px;line-height:1.4;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease;min-height:32px}select:hover{border-color:var(--text-faint);background-color:var(--bg-4)}select:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}select:disabled{opacity:.5;cursor:not-allowed}select option{background:var(--bg-2);color:var(--text);padding:6px 12px}select option:checked{background:var(--accent-bg);color:#fff}#filterTaskStatus{font-size:12px;padding:6px 28px 6px 10px;min-height:28px;background-color:var(--bg-2)}#filterTaskStatus option[value=running]{color:var(--accent-2);font-weight:500}table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;background:var(--bg-2);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card)}thead th{text-align:left;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:10px 14px;background:var(--bg-3);border-bottom:1px solid var(--border);white-space:nowrap}tbody td{padding:12px 14px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:top}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--bg-3)}tbody tr.selected{background:#6a5fc11f}tbody td code{font-family:var(--font-mono);font-size:12px;color:var(--accent-2);background:var(--bg-3);padding:2px 6px;border-radius:var(--radius-sm)}.art-path-full{display:block;font-family:var(--font-mono);font-size:11px;color:var(--text-faint);margin-top:2px;word-break:break-all}.modal{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:modalFade .16s ease}.modal.hidden{display:none}.modal-content{background:var(--bg-2);border:1px solid var(--border-purple);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);max-width:560px;width:90%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlide .2s cubic-bezier(.2,.8,.2,1)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--purple-deep)}.modal-header h3{font-size:15px;font-weight:500;color:var(--text);margin:0;letter-spacing:-.01em}.modal-header .close{background:none;border:none;color:var(--text-muted);font-size:22px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:var(--radius);transition:background .12s,color .12s}.modal-header .close:hover{background:var(--bg-3);color:var(--text)}.modal pre,.modal-body{padding:16px 20px;margin:0;font-family:var(--font-mono);font-size:12px;line-height:1.6;color:var(--text);background:var(--bg);overflow:auto;max-height:60vh;white-space:pre-wrap;word-break:break-word}@keyframes modalFade{0%{opacity:0}to{opacity:1}}@keyframes modalSlide{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.global-search-modal{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:100}.global-search-modal[hidden]{display:none}.global-search-modal>div{background:var(--bg-2);border:1px solid var(--border-purple);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);max-width:640px;width:90%;overflow:hidden;animation:modalSlide .2s cubic-bezier(.2,.8,.2,1)}.global-search-input-row{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--purple-deep)}.global-search-input-row input{flex:1;background:transparent;border:none;color:var(--text);font:inherit;font-size:15px;outline:none}.global-search-input-row input::placeholder{color:var(--text-faint)}select{transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease,background-image .16s ease}select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #828fff52,inset 0 0 0 1px #828fff2e}select:focus:hover{box-shadow:0 0 0 3px #828fff66,inset 0 0 0 1px #828fff38}input[type=search]:focus{border-color:var(--accent);box-shadow:0 0 0 3px #828fff52,inset 0 0 0 1px #828fff2e}.session-table tbody tr,.art-table tbody tr,tbody tr{position:relative;transition:background-color .2s ease}.session-table tbody tr:hover,.art-table tbody tr:hover,tbody tr:hover{background:var(--bg-3)}.session-table tbody tr:before,.art-table tbody tr:before,tbody tr:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);opacity:0;transition:opacity .2s ease;pointer-events:none}.session-table tbody tr:hover:before,.art-table tbody tr:hover:before,tbody tr:hover:before{opacity:1}.session-table tbody tr.selected:before,.art-table tbody tr.selected:before,tbody tr.selected:before{opacity:1;background:var(--accent-hover);width:3px}button:focus-visible,.btn:focus-visible,.tab:focus-visible,.subtab:focus-visible{outline:none;box-shadow:0 0 0 3px #828fff52,inset 0 0 0 1px #828fff2e}button:focus:not(:focus-visible){box-shadow:none}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12)transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px;border:2px solid transparent;background-clip:padding-box;transition:background-color .16s ease}*::-webkit-scrollbar-thumb:hover{background:#828fff73;background-clip:padding-box;border:2px solid transparent}*::-webkit-scrollbar-thumb:active{background:#828fffa6;background-clip:padding-box;border:2px solid transparent}*::-webkit-scrollbar-corner{background:transparent}.tab{position:relative;overflow:hidden}.tab:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#828fff1a,#828fff0a);opacity:0;transition:opacity .18s ease;pointer-events:none;z-index:0}.tab>*{position:relative;z-index:1}.tab:hover:before{opacity:.6}.tab.active{border-bottom-width:3px;padding-bottom:13px;background:transparent}.tab.active:before{opacity:1}.tab.active:after{content:"";position:absolute;left:16px;right:16px;bottom:-1px;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-hover));border-radius:2px 2px 0 0;box-shadow:0 0 8px #828fff73;animation:tabActiveBarIn .28s cubic-bezier(.16,1,.3,1)both;z-index:2}@keyframes tabActiveBarIn{0%{transform:scaleX(.4);opacity:0}to{transform:scaleX(1);opacity:1}}.subtab{position:relative;padding-left:14px;transition:color .15s,background-color .15s,border-color .15s,padding-left .2s}.subtab:before{content:"";position:absolute;left:4px;top:50%;transform:translateY(-50%)scaleY(0);width:3px;height:60%;background:linear-gradient(180deg,var(--accent),var(--accent-hover));border-radius:2px;transition:transform .22s cubic-bezier(.16,1,.3,1)}.subtab:hover{background:var(--bg-3);padding-left:14px}.subtab.active{color:var(--accent);border-color:var(--accent);background:linear-gradient(90deg,#828fff1f,#828fff0a);padding-left:16px;font-weight:600}.subtab.active:before{transform:translateY(-50%)scaleY(1)}.subtab:hover:before{transform:translateY(-50%)scaleY(.5)}.source-tab{transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.source-tab:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #828fff2e,0 1px 3px #0006}.source-tab:active{transform:translateY(0);box-shadow:0 1px 2px #00000080}.source-tab.active{box-shadow:0 0 0 1px var(--accent),0 4px 16px #828fff40;transform:translateY(-1px)}.panel{animation:panelFadeIn .2s ease both}@keyframes panelFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.disk-bar-wrap{padding:12px 4px 4px}.disk-bar-track{position:relative;width:100%;height:14px;background:var(--bg-3,rgba(255,255,255,.06));border:1px solid var(--border-1,rgba(255,255,255,.08));border-radius:7px;overflow:hidden;margin:6px 0 8px}.disk-bar-fill{height:100%;border-radius:7px;transition:width .36s cubic-bezier(.4,0,.2,1);background-image:linear-gradient(180deg,rgba(255,255,255,.18),transparent)}.disk-fill-ok{background-color:#3ecf8e}.disk-fill-warn{background-color:#f5a623}.disk-fill-danger{background-color:#f05b5b}.disk-bar-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);letter-spacing:.02em}.disk-bar-legend{display:flex;justify-content:space-between;font-size:12px;color:var(--text-2,rgba(255,255,255,.62));padding:0 2px;flex-wrap:wrap;gap:6px}.disk-bar-legend b{color:var(--text-1,rgba(255,255,255,.92));font-weight:600}.token-bar{display:flex;width:100%;height:8px;background:var(--bg-3,rgba(255,255,255,.06));border-radius:4px;overflow:hidden;margin:12px 0 6px;border:1px solid var(--border-1,rgba(255,255,255,.08))}.token-bar-in{background:linear-gradient(90deg,#4a8eff,#6ba3ff);transition:width .36s cubic-bezier(.4,0,.2,1)}.token-bar-out{background:linear-gradient(90deg,#9b6dff,#b88aff);transition:width .36s cubic-bezier(.4,0,.2,1)}.token-bar-legend{display:flex;justify-content:space-between;font-size:11px;color:var(--text-2,rgba(255,255,255,.62));padding:0 2px}.cron-job-list{max-height:360px;overflow-y:auto}.cron-jobs-inner{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;padding:4px 2px}.cron-job-card{background:var(--bg-2,rgba(255,255,255,.03));border:1px solid var(--border-1,rgba(255,255,255,.08));border-radius:8px;padding:10px 12px;transition:border-color .16s ease,background .16s ease;border-left:3px solid rgba(255,255,255,.12)}.cron-job-card.ok{border-left-color:#3ecf8e}.cron-job-card.err{border-left-color:#f05b5b}.cron-job-card:hover{border-color:var(--accent,#7c7cff);background:var(--bg-3,rgba(255,255,255,.05))}.cron-job-head{display:flex;align-items:center;gap:6px;margin-bottom:6px}.cron-job-icon{font-size:12px;line-height:1}.cron-job-name{font-weight:600;font-size:13px;color:var(--text-1,rgba(255,255,255,.92));flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cron-job-status{font-size:10px;padding:2px 6px;border-radius:3px;background:#ffffff0f;color:var(--text-2,rgba(255,255,255,.62));text-transform:uppercase;letter-spacing:.04em}.cron-job-card.ok .cron-job-status{background:#3ecf8e1f;color:#3ecf8e}.cron-job-card.err .cron-job-status{background:#f05b5b1f;color:#f05b5b}.cron-job-meta{display:flex;gap:12px;font-size:11px;color:var(--text-2,rgba(255,255,255,.55));margin-bottom:4px}.cron-job-meta span{white-space:nowrap}.cron-job-last{font-size:11px;color:var(--text-2,rgba(255,255,255,.55));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.cron-job-last-label{color:var(--text-3,rgba(255,255,255,.42));margin-right:4px}.cron-job-last-val{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font-size:10.5px}.log-table{width:100%;border-collapse:collapse;font-size:13px}.log-table th{text-align:left;font-weight:500;color:var(--text-2,rgba(255,255,255,.55));font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;border-bottom:1px solid var(--border-1,rgba(255,255,255,.08))}.log-table td{padding:8px 10px;border-bottom:1px solid var(--border-1,rgba(255,255,255,.05));color:var(--text-1,rgba(255,255,255,.82))}.log-table tbody tr:hover{background:var(--bg-3,rgba(255,255,255,.04))}.log-table tbody tr:last-child td{border-bottom:none}.log-name{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font-size:12px;padding:2px 6px;border-radius:3px;background:#ffffff0d;color:var(--text-1,rgba(255,255,255,.85))}.log-name-err{background:#f05b5b24;color:#f05b5b}.log-name-warn{background:#f5a62324;color:#f5a623}#hermesProcHealth .disk-bar-track{height:10px;margin-top:4px}#hermesProcHealth .disk-bar-label{font-size:10px}#tab-hermes .charts-grid:last-of-type{margin-bottom:6px}#hermesCronCount{font-size:11px;background:var(--accent-bg,rgba(124,124,255,.15));color:var(--accent,#7c7cff);padding:1px 6px;border-radius:8px;margin-left:4px;font-weight:600;letter-spacing:.02em}html{-webkit-text-size-adjust:100%}body{overscroll-behavior-y:contain}input,select,textarea,button{font-size:max(16px,1rem)}@media(max-width:768px){.topbar{padding:12px 16px;gap:8px;flex-wrap:nowrap}.brand .sub{display:none}.brand h1{font-size:17px}.brand .logo{font-size:26px}.ext-link span:not(:first-child){display:none}.ext-link{padding:6px 10px;font-size:12px}.status-pill{padding:4px 10px;font-size:12px}.topbar-right{gap:6px}.btn-login{padding:6px 10px;font-size:12px}main{padding:16px}.tabs{padding:0 12px;gap:2px}.tab{padding:12px 10px;font-size:13px}.tab-search-trigger{padding:8px 10px}.search-placeholder{display:none}}@media(max-width:480px){.topbar{padding:10px 12px}.brand{gap:10px}.brand h1{font-size:16px}.brand .logo{font-size:22px}.ext-link{display:none}.btn-login{padding:5px 8px;font-size:11px}.btn-login span:not(:first-child){display:inline}.status-pill{padding:3px 8px;font-size:11px}.status-pill span#healthText{display:none}main{padding:12px}.panel-header{flex-direction:column;align-items:flex-start;gap:8px}.panel-header h2{font-size:16px}.tab{padding:10px 8px;font-size:12px}.actions{gap:6px}.actions .btn{padding:6px 10px;font-size:12px}}@media(max-width:768px){.tabs{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.tab{white-space:nowrap;flex-shrink:0;scroll-snap-align:start}.tab-search-trigger{flex-shrink:0}}@media(max-width:900px){.metric-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.charts-grid{grid-template-columns:1fr}.components-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}}@media(max-width:480px){.metric-grid{grid-template-columns:repeat(2,1fr);gap:8px}.metric-card{padding:12px}.metric-card .metric-value{font-size:22px}.metric-card .metric-label{font-size:11px}}@media(max-width:768px){[style*="grid-template-columns:repeat(auto-fill,minmax(320px"],[style*="grid-template-columns:repeat(auto-fill,minmax(340px"],[style*="grid-template-columns:repeat(auto-fill,minmax(280px"],[style*="grid-template-columns:repeat(auto-fill,minmax(220px"]{grid-template-columns:1fr!important}}@media(max-width:480px){[style*="grid-template-columns:repeat(auto-fit,minmax(220px"],[style*="grid-template-columns:repeat(auto-fit,minmax(150px"]{grid-template-columns:1fr!important}}@media(max-width:900px){.task-layout{grid-template-columns:1fr!important;gap:12px}.task-sidebar{max-height:none!important;overflow:visible!important}.task-list{max-height:280px!important;overflow-y:auto!important}}@media(max-width:480px){.task-sidebar{padding:10px}.task-sidebar-header input[type=search],.task-sidebar-header select{font-size:14px;padding:8px 10px}}@media(max-width:900px){[style*="grid-template-columns:240px 1fr"],[style*="grid-template-columns:220px 1fr"],[style*="grid-template-columns:320px 1fr"]{grid-template-columns:1fr!important}}@media(max-width:480px){.config-sidebar,.config-form{padding:12px}.config-form input,.config-form select,.config-form textarea{font-size:14px;padding:8px 10px}}@media(max-width:768px){.learn-subtabs,.task-subtabs{overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.learn-subtabs .learn-subtab,.task-subtabs button{flex-shrink:0;white-space:nowrap;padding:8px 12px;font-size:12px}}@media(max-width:768px){.global-search-box,.modal-content,.login-content{width:96vw!important;max-width:96vw!important}.modal-content{padding:16px!important}}@media(max-width:480px){.global-search-input-row input{font-size:14px;padding:10px}.global-search-footer{font-size:11px;gap:6px}.global-search-footer kbd{padding:1px 5px;font-size:10px}.modal-content h2,.login-content h2{font-size:16px}}@media(max-width:768px){.cron-list{font-size:12px}.cron-list .cron-row{grid-template-columns:1fr auto!important;row-gap:4px}.kv-list{grid-template-columns:1fr!important}.kv-list .kv-key{font-size:11px}.kv-list .kv-val{font-size:12px;word-break:break-all}}@media(max-width:480px){.toast,.notification{right:8px!important;left:8px!important;max-width:none!important}}html,body{overflow-x:hidden}img,svg,video,canvas{max-width:100%;height:auto}@media(max-width:768px){.tab,.btn,.panel-header button,.status-pill,.ext-link{min-height:36px}}@media(max-width:480px){.tab{min-height:40px}}@media(max-width:768px){::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}}@media(max-width:480px){body{font-size:14px}.panel p,.panel li{font-size:13px;line-height:1.55}pre,code{font-size:12px}}.careers-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px;margin:16px 0 24px;background:linear-gradient(135deg,#6a5fc11a,#6a5fc105);border:1px solid rgba(106,95,193,.25);border-radius:12px;position:relative;overflow:hidden}.careers-hero:before{content:"";position:absolute;top:-50%;right:-10%;width:320px;height:320px;background:radial-gradient(circle,rgba(106,95,193,.18)0%,transparent 70%);pointer-events:none}.careers-hero-text{flex:1;min-width:0;position:relative;z-index:1}.careers-hero-text h3{font-size:24px;font-weight:600;margin:0 0 8px;letter-spacing:-.01em;color:var(--text)}.careers-hero-text p{font-size:14px;line-height:1.6;color:var(--text-dim);margin:0;max-width:560px}.careers-accent{background:linear-gradient(90deg,#828fff,#c2ef4e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:700}.careers-hero-stats{display:flex;gap:28px;position:relative;z-index:1;flex-shrink:0}.careers-stat{text-align:center;padding:0 4px}.careers-stat-num{font-size:28px;font-weight:700;color:var(--accent-hover);font-family:-apple-system,system-ui,SF Pro Display,sans-serif;line-height:1}.careers-stat-unit{font-size:18px;color:var(--accent-2);margin-left:2px}.careers-stat-label{font-size:12px;color:var(--text-dim);margin-top:4px;letter-spacing:.02em}.careers-subtabs{display:flex;gap:4px;margin:0 0 24px;padding:4px;background:var(--bg-2);border:1px solid var(--border);border-radius:10px;overflow-x:auto;-webkit-overflow-scrolling:touch}.careers-subtabs .subtab{flex:1;min-width:max-content;padding:10px 18px;font-size:14px;font-weight:500;color:var(--text-dim);background:transparent;border:none;border-radius:7px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.careers-subtabs .subtab:hover{color:var(--text);background:var(--bg-3)}.careers-subtabs .subtab.active{background:var(--accent);color:#fff;box-shadow:0 2px 6px #6a5fc159}.careers-subtabs .subtab:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px}.careers-section-intro{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.careers-section-intro h4{font-size:18px;font-weight:600;color:var(--text);margin:0 0 6px;letter-spacing:-.01em}.careers-section-intro p{font-size:14px;color:var(--text-dim);margin:0;line-height:1.6}.careers-card{background:var(--bg-2);border:1px solid var(--border);border-radius:10px;padding:20px;transition:all .2s ease;display:flex;flex-direction:column}.careers-card:hover{border-color:#6a5fc173;background:var(--bg-3);transform:translateY(-1px);box-shadow:0 4px 12px #00000040}.careers-card-icon{font-size:28px;line-height:1;margin-bottom:12px}.careers-card h5{font-size:15px;font-weight:600;color:var(--text);margin:0 0 8px}.careers-card p{font-size:13px;color:var(--text-dim);line-height:1.55;margin:0 0 12px}.careers-card p strong{color:var(--text);font-weight:600}.careers-card-list{list-style:none;padding:0;margin:0 0 16px;flex:1}.careers-card-list li{font-size:12.5px;color:var(--text-dim);padding:4px 0 4px 18px;position:relative;line-height:1.5}.careers-card-list li:before{content:"\25b8";position:absolute;left:0;top:4px;color:var(--accent-hover);font-size:11px}.careers-card-link{font-size:13px;color:var(--accent-hover);text-decoration:none;font-weight:500;align-self:flex-start;transition:color .15s ease}.careers-card-link:hover{color:var(--accent-2)}.careers-card-link:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px;border-radius:2px}.careers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:28px}.careers-timeline{background:var(--bg-2);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-top:8px}.careers-timeline h5{font-size:14px;font-weight:600;color:var(--text);margin:0 0 18px}.careers-timeline-track{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:relative}.careers-timeline-track:before{content:"";position:absolute;top:14px;left:6%;right:6%;height:2px;background:linear-gradient(90deg,var(--accent)0%,var(--accent-hover)50%,var(--accent-2)100%);opacity:.4;z-index:0}.careers-timeline-step{text-align:center;position:relative;z-index:1}.careers-timeline-dot{display:inline-block;padding:4px 12px;background:var(--bg-3);border:2px solid var(--accent);border-radius:12px;font-size:11px;font-weight:600;color:var(--accent-hover);margin-bottom:10px;font-family:-apple-system,system-ui,SF Pro Display,monospace}.careers-timeline-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}.careers-timeline-desc{font-size:11.5px;color:var(--text-dim);line-height:1.5;padding:0 4px}.careers-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:20px;padding:12px 16px;background:var(--bg-2);border:1px solid var(--border);border-radius:10px}.careers-filter-label{font-size:13px;color:var(--text-dim);margin-right:4px}.careers-chip{padding:5px 14px;font-size:12.5px;font-weight:500;color:var(--text-dim);background:transparent;border:1px solid var(--border);border-radius:999px;cursor:pointer;transition:all .15s ease}.careers-chip:hover{color:var(--text);border-color:var(--accent)}.careers-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.careers-chip:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px}.careers-course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:28px}.careers-course{background:var(--bg-2);border:1px solid var(--border);border-radius:10px;padding:18px 20px;display:flex;flex-direction:column;transition:all .2s ease}.careers-course:hover{border-color:#6a5fc173;background:var(--bg-3)}.careers-course-tag{display:inline-block;align-self:flex-start;padding:2px 8px;font-size:10.5px;font-weight:500;color:var(--accent-2);background:#c2ef4e14;border:1px solid rgba(194,239,78,.25);border-radius:4px;margin-bottom:10px;letter-spacing:.02em}.careers-course h5{font-size:15px;font-weight:600;color:var(--text);margin:0 0 8px}.careers-course>p{font-size:12.5px;color:var(--text-dim);line-height:1.5;margin:0 0 14px;flex:1}.careers-course-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:11.5px;color:var(--text-dim);margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.careers-course-progress{height:4px;background:var(--bg-3);border-radius:2px;overflow:hidden;margin-bottom:14px}.careers-course-bar{height:100%;background:linear-gradient(90deg,var(--accent)0%,var(--accent-2)100%);border-radius:2px;transition:width .3s ease}.careers-mentor{background:var(--bg-2);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-top:8px}.careers-mentor h5{font-size:14px;font-weight:600;color:var(--text);margin:0 0 16px}.careers-mentor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.careers-mentor-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-3);border:1px solid var(--border);border-radius:8px;transition:border-color .15s ease}.careers-mentor-card:hover{border-color:var(--accent)}.careers-mentor-avatar{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent)0%,var(--accent-hover)100%);color:#fff;font-size:16px;font-weight:600;border-radius:50%}.careers-mentor-name{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px}.careers-mentor-tag{font-size:11.5px;color:var(--text-dim)}.careers-ladder{background:var(--bg-2);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:24px}.careers-ladder h5{font-size:14px;font-weight:600;color:var(--text);margin:0 0 18px}.careers-ladder-track{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;position:relative}.careers-ladder-track:before{content:"";position:absolute;top:18px;left:8%;right:8%;height:2px;background:linear-gradient(90deg,var(--text-dim)0%,var(--accent-hover)50%,var(--accent-2)100%);opacity:.35;z-index:0}.careers-ladder-step{text-align:center;position:relative;z-index:1}.careers-ladder-dot{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--bg-3);border:2px solid var(--accent);border-radius:50%;font-size:12px;font-weight:700;color:var(--accent-hover);margin-bottom:8px;font-family:-apple-system,system-ui,SF Pro Display,monospace}.careers-ladder-step[data-level=P6] .careers-ladder-dot{border-color:var(--accent-2);color:var(--accent-2)}.careers-ladder-title{font-size:12.5px;font-weight:600;color:var(--text);margin-bottom:2px}.careers-ladder-when{font-size:10.5px;color:var(--text-dim);font-family:-apple-system,system-ui,SF Pro Display,monospace}.careers-criteria{background:var(--bg-2);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:24px}.careers-criteria h5{font-size:14px;font-weight:600;color:var(--text);margin:0 0 18px}.careers-criteria-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.careers-criteria-item{padding:14px 16px;background:var(--bg-3);border:1px solid var(--border);border-radius:8px}.careers-criteria-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.careers-criteria-name{font-size:13.5px;font-weight:600;color:var(--text)}.careers-criteria-weight{font-size:12px;font-weight:700;color:var(--accent-2);font-family:-apple-system,system-ui,SF Pro Display,monospace}.careers-criteria-bar{height:6px;background:var(--bg-2);border-radius:3px;overflow:hidden;margin-bottom:8px}.careers-criteria-fill{height:100%;background:linear-gradient(90deg,var(--accent)0%,var(--accent-2)100%);border-radius:3px;transition:width .4s ease}.careers-criteria-item p{font-size:11.5px;color:var(--text-dim);margin:0;line-height:1.5}.careers-process{background:var(--bg-2);border:1px solid var(--border);border-radius:10px;padding:20px 24px}.careers-process h5{font-size:14px;font-weight:600;color:var(--text);margin:0 0 18px}.careers-process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.careers-process-step{padding:16px;background:var(--bg-3);border:1px solid var(--border);border-radius:8px;position:relative}.careers-process-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--accent);color:#fff;font-size:13px;font-weight:700;border-radius:50%;margin-bottom:10px;font-family:-apple-system,system-ui,SF Pro Display,monospace}.careers-process-title{font-size:13.5px;font-weight:600;color:var(--text);margin-bottom:4px}.careers-process-desc{font-size:12px;color:var(--text-dim);line-height:1.5}@media(max-width:768px){.careers-hero{flex-direction:column;align-items:flex-start;padding:20px 18px;gap:18px}.careers-hero-text h3{font-size:19px}.careers-hero-text p{font-size:13px}.careers-hero-stats{width:100%;justify-content:space-between;gap:12px}.careers-stat-num{font-size:22px}.careers-subtabs{padding:3px}.careers-subtabs .subtab{padding:8px 12px;font-size:12.5px}.careers-grid,.careers-course-grid,.careers-criteria-grid,.careers-process-grid{grid-template-columns:1fr}.careers-timeline-track{grid-template-columns:repeat(2,1fr);gap:18px}.careers-timeline-track:before{display:none}.careers-ladder-track{grid-template-columns:repeat(3,1fr);gap:12px}.careers-ladder-track:before{display:none}}@media(max-width:480px){.careers-hero{padding:16px 14px;margin:12px 0 18px}.careers-hero-text h3{font-size:17px}.careers-hero-stats{gap:8px}.careers-stat-num{font-size:20px}.careers-stat-label{font-size:11px}.careers-timeline,.careers-mentor,.careers-ladder,.careers-criteria,.careers-process,.careers-filter-row{padding:14px}.careers-card,.careers-course{padding:16px}.careers-ladder-track{grid-template-columns:repeat(2,1fr)}.careers-ladder-dot{width:32px;height:32px;font-size:11px}}.shortcuts-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}.shortcuts-modal[hidden]{display:none!important}.shortcuts-backdrop{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:shortcuts-fade-in .15s ease-out;z-index:1}.shortcuts-content{position:relative;z-index:2;background:var(--bg-1,#1a1b1e);border:1px solid var(--border,#2c2d31);border-radius:10px;box-shadow:0 16px 48px #00000073,0 0 0 1px #ffffff0a inset;width:min(540px,92vw);max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:shortcuts-pop-in .18s cubic-bezier(.16,1,.3,1);font-family:inherit}@keyframes shortcuts-fade-in{0%{opacity:0}to{opacity:1}}@keyframes shortcuts-pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.shortcuts-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;border-bottom:1px solid var(--border,#2c2d31)}.shortcuts-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text,#e6e7e9);letter-spacing:.01em}.shortcuts-header .close{background:transparent;border:0;font-size:22px;line-height:1;color:var(--text-dim,#8b8d93);cursor:pointer;padding:0 6px;border-radius:4px;transition:background .15s,color .15s}.shortcuts-header .close:hover{background:var(--bg-3,#26272b);color:var(--text,#e6e7e9)}.shortcuts-body{padding:14px 18px 18px;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}@media(max-width:520px){.shortcuts-body{grid-template-columns:1fr;gap:14px}}.shortcut-group h4{margin:0 0 8px;font-size:11px;font-weight:600;color:var(--text-dim,#8b8d93);text-transform:uppercase;letter-spacing:.08em}.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0;font-size:13px;color:var(--text,#e6e7e9)}.shortcut-desc{flex:1;color:var(--text,#e6e7e9)}.shortcut-keys{display:inline-flex;gap:3px;align-items:center}.shortcut-keys kbd{display:inline-block;min-width:22px;text-align:center;padding:2px 6px;font-family:SF Mono,Consolas,Monaco,monospace;font-size:11px;line-height:1.4;color:var(--text,#e6e7e9);background:var(--bg-3,#26272b);border:1px solid var(--border,#2c2d31);border-bottom-width:2px;border-radius:4px;box-shadow:0 1px #00000014}.shortcuts-footer{padding:10px 18px;border-top:1px solid var(--border,#2c2d31);font-size:11.5px;color:var(--text-dim,#8b8d93);background:var(--bg-0,#14151a);text-align:center}:root[data-theme=light] .shortcuts-backdrop{background:#0f101166}:root[data-theme=light] .shortcuts-content{box-shadow:0 16px 48px #0f101126,0 0 0 1px #0f10110a inset}:root[data-theme=light] .shortcuts-footer{background:var(--bg-1,#ffffff)}.cp-modal[hidden]{display:none!important}.cp-box{width:min(640px,96vw);max-height:70vh;display:flex;flex-direction:column;animation:shortcuts-pop-in .16s cubic-bezier(.16,1,.3,1)}.cp-kbd-trigger{background:linear-gradient(180deg,var(--accent,#5e6ad2),var(--accent-dim,#4c54b6));color:#fff;font-weight:600;padding:2px 7px;border-radius:4px;font-size:10px;letter-spacing:.02em}.cp-results{flex:1 1 auto;overflow-y:auto;padding:4px 0}.cp-empty{padding:18px 22px}.cp-footer{font-size:11px;padding:8px 14px}.cp-footer kbd{padding:1px 5px;font-size:10px}.cp-hint{font-size:10.5px;opacity:.7}.cp-item{display:flex;align-items:center;gap:10px;padding:7px 16px;cursor:pointer;border-left:3px solid transparent;font-size:13px;color:var(--text,#e6e7e9);transition:background .08s ease}.cp-item:hover,.cp-item.active{background:var(--bg-2,#222428);border-left-color:var(--accent,#5e6ad2)}.cp-item.active{background:#5e6ad21f}.cp-num{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;font-family:SF Mono,Consolas,Monaco,monospace;font-size:11px;font-weight:600;color:var(--text-dim,#8b8d93);background:var(--bg-3,#26272b);border:1px solid var(--border,#2c2d31);border-bottom-width:2px;border-radius:4px}.cp-item.active .cp-num{color:#fff;background:var(--accent,#5e6ad2);border-color:var(--accent,#5e6ad2)}.cp-icon{font-size:16px;flex-shrink:0;width:22px;text-align:center}.cp-body{flex:1 1 auto;min-width:0}.cp-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text,#e6e7e9)}.cp-subtitle{font-size:11px;color:var(--text-dim,#8b8d93);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-section-label{padding:8px 16px 4px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint,#6b6d72)}.cp-section-label .cp-section-count{margin-left:6px;padding:0 5px;background:var(--bg-3,#26272b);border-radius:8px;font-weight:500;letter-spacing:0;text-transform:none;font-size:10px;color:var(--text-dim,#8b8d93)}.cp-empty-results{padding:30px 16px;text-align:center;color:var(--text-dim,#8b8d93);font-size:13px}.cp-mark{background:#5e6ad238;color:var(--accent,#5e6ad2);padding:0 2px;border-radius:3px;font-weight:600}.cp-fav-btn{flex-shrink:0;width:24px;height:24px;padding:0;border:none;border-radius:4px;background:transparent;cursor:pointer;font-size:14px;line-height:1;opacity:0;transition:opacity .12s ease,background .12s ease,transform .1s ease}.cp-item:hover .cp-fav-btn,.cp-item.active .cp-fav-btn,.cp-fav-btn.cp-fav-on{opacity:1}.cp-fav-btn:hover{background:#5e6ad22e;transform:scale(1.15)}.cp-fav-btn.cp-fav-on{color:#f5b800;text-shadow:0 0 4px rgba(245,184,0,.4)}.cp-fav-btn.cp-fav-off{color:var(--text-faint,#6b6d72)}.cp-fav-spacer{display:inline-block;width:24px;height:24px;flex-shrink:0}:root[data-theme=light] .cp-fav-btn.cp-fav-on{color:#d49000;text-shadow:0 0 3px rgba(212,144,0,.25)}.cp-section-label.cp-section-fav,.cp-section-label[data-cp-section=fav]{color:#f5b800}.cp-section-label.cp-section-hist,.cp-section-label[data-cp-section=hist]{color:#5e6ad2}:root[data-theme=light] .cp-section-label.cp-section-fav,:root[data-theme=light] .cp-section-label[data-cp-section=fav]{color:#d49000}:root[data-theme=light] .cp-section-label.cp-section-hist,:root[data-theme=light] .cp-section-label[data-cp-section=hist]{color:#4554c0}:root[data-theme=light] .cp-item:hover,:root[data-theme=light] .cp-item.active{background:var(--bg-2,#eef1f5)}:root[data-theme=light] .cp-item.active{background:#5e6ad21a}:root[data-theme=light] .cp-kbd-trigger{color:#fff}select{box-shadow:inset 0 0 0 0 transparent;transition:border-color .12s ease,box-shadow .16s cubic-bezier(.2,.8,.2,1),background-color .12s ease}select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6a5fc12e,inset 0 0 0 1px var(--accent-bg)}select:focus:not(:focus-visible){box-shadow:0 0 0 3px #6a5fc12e,inset 0 0 0 1px var(--accent-bg)}select:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6a5fc147,inset 0 0 0 1px var(--accent-bg)}tbody tr:nth-child(even)td{background:#ffffff03}thead th{position:sticky;top:0;z-index:1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:linear-gradient(180deg,var(--bg-3),rgba(25,26,27,.85))}tbody td{transition:background-color .12s ease}.modal-content table thead th{position:relative;top:auto}table.compact thead th,table.compact tbody td{padding:8px 12px;font-size:12px}.modal{backdrop-filter:blur(6px)saturate(140%);-webkit-backdrop-filter:blur(6px)saturate(140%)}.modal-header{background:linear-gradient(180deg,var(--purple-deep),rgba(31,22,51,.6));border-bottom:1px solid var(--border-purple)}.modal-header .close{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:300;transition:background .14s,color .14s,transform .2s cubic-bezier(.2,.8,.2,1)}.modal-header .close:hover{background:var(--bg-4);color:var(--danger);transform:rotate(90deg)}.modal-content{transition:box-shadow .2s ease}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border);background:var(--bg-3)}.modal-footer:empty{display:none}select option{padding:8px 12px}select option:hover,select option:focus{background:var(--bg-4);color:var(--accent-2)}:root[data-theme=light] select:focus{box-shadow:0 0 0 3px #5e6ad238,inset 0 0 0 1px var(--accent-bg)}:root[data-theme=light] thead th{background:linear-gradient(180deg,#f6f8fa,#f6f8faeb);color:var(--text-dim,#57606a);border-bottom:1px solid var(--border,#d0d7de)}:root[data-theme="light"] tbody tr:nth-child(even)td{background:#0f101105}:root[data-theme=light] .modal-header{background:linear-gradient(180deg,#f6f8fa,#f6f8fad9)}:root[data-theme=light] .modal-footer{background:#f6f8fa}.d6-gw-cells{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;padding:4px 0}.d6-gw-cell{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--bg-3);border:1px solid var(--border);border-radius:6px;font-size:12px}.d6-gw-icon{font-size:14px;line-height:1}.d6-gw-label{font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.d6-home-mark{color:var(--accent);margin-left:2px;font-size:10px}.d6-gw-meta{color:var(--text-dim);font-size:11px;white-space:nowrap}.d6-light-green{border-left:3px solid #10b981}.d6-light-yellow{border-left:3px solid #f59e0b}.d6-light-red{border-left:3px solid #ef4444}.d6-light-gray{border-left:3px solid #6b7280;opacity:.7}.kv-list .kv-val.kv-ok{color:#10b981;font-weight:500}.kv-list .kv-val.kv-warn{color:#f59e0b;font-weight:500}.kv-list .kv-val.kv-danger{color:#ef4444;font-weight:500}.kv-list .kv-val[style*=kv-warn]{color:#f59e0b}.d6-spark-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--text-dim);margin-bottom:6px}.d6-spark-meta b{color:var(--text);font-weight:600}.d6-sparkline{display:block;width:100%;height:80px}.d6-spark-axis{display:flex;justify-content:space-between;margin-top:4px}.d6-spark-tick{font-size:10px;color:var(--text-dim);text-align:center;flex:1;line-height:1.4}.d6-spark-tick b{color:var(--text);font-weight:500}.d6-fail-summary{font-size:13px;padding:4px 0 8px;color:var(--text)}.d6-fail-summary b{color:#ef4444;font-weight:600}.d6-fail-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px;max-height:180px;overflow-y:auto}.d6-fail-item{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;padding:6px 8px;background:var(--bg-3);border-left:3px solid #ef4444;border-radius:0 4px 4px 0;font-size:12px}.d6-fail-name{color:var(--text);font-weight:500;flex:0 1 auto}.d6-fail-ago{color:var(--text-dim);margin-left:auto;font-size:11px}.d6-fail-err{flex:1 1 100%;color:#ef4444;font-size:11px;font-family:monospace;opacity:.85;word-break:break-all}.d6-today-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.d6-today-tile{text-align:center;padding:12px 8px;background:var(--bg-3);border:1px solid var(--border);border-radius:6px}.d6-today-icon{font-size:18px;margin-bottom:4px}.d6-today-val{font-size:22px;font-weight:600;color:var(--accent)}.d6-today-val.kv-ok{color:#10b981}.d6-today-val.kv-warn{color:#f59e0b}.d6-today-label{font-size:11px;color:var(--text-dim);margin-top:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg,#0d1117),0 0 0 4px #58a6ff8c;border-radius:4px;transition:box-shadow .12s ease}.theme-icon{display:inline-block;transition:transform .2s cubic-bezier(.16,1,.3,1)}.theme-toggle:hover .theme-icon{transform:rotate(20deg)scale(1.15)}.theme-toggle:active .theme-icon{transform:rotate(0)scale(.95)}.theme-label{transition:color .15s ease,letter-spacing .2s ease}.theme-toggle:hover .theme-label{color:var(--accent,#58a6ff);letter-spacing:.5px}.cp-kbd-trigger{transition:background .16s ease,border-color .16s ease,transform .12s ease,box-shadow .2s ease;cursor:pointer}.cp-kbd-trigger:hover{background:var(--bg-3,#1c2128)!important;border-color:var(--accent,#58a6ff)!important;transform:translateY(-1px);box-shadow:0 2px 8px #58a6ff1f}.cp-kbd-trigger:active{transform:translateY(0);box-shadow:none}.shortcut-row{transition:background .14s ease,padding-left .16s ease,border-left-color .16s ease;border-left:2px solid transparent;padding-left:6px}.shortcut-row:hover{background:var(--bg-3,#1c2128);padding-left:10px;border-left-color:var(--accent,#58a6ff)}.task-subtabs button{transition:background .16s ease,color .16s ease,border-color .16s ease,transform .12s ease}.task-subtabs button:hover{background:var(--bg-3,#1c2128);color:var(--text,#e6edf3);transform:translateY(-1px)}.task-subtabs button:active{transform:translateY(0)}.careers-criteria-item{transition:background .18s ease,border-color .18s ease,transform .14s ease,box-shadow .2s ease;cursor:default}.careers-criteria-item:hover{background:var(--bg-3,#1c2128);border-color:var(--accent,#58a6ff);transform:translateY(-1px);box-shadow:0 2px 10px #0000002e}.careers-filter-row{transition:background .16s ease}.careers-filter-row:hover{background:var(--bg-3,#1c2128)}.careers-filter-row>*{transition:color .16s ease}.careers-filter-row:hover>*{color:var(--text,#e6edf3)}.careers-card-icon{transition:transform .2s cubic-bezier(.16,1,.3,1),filter .2s ease}.careers-card:hover .careers-card-icon{transform:scale(1.12)rotate(-4deg);filter:brightness(1.15)}.global-search-input-row{transition:border-color .18s ease,box-shadow .2s ease,background .18s ease}.global-search-input-row:focus-within{border-color:var(--accent,#58a6ff);background:var(--bg-3,#1c2128);box-shadow:0 0 0 3px #58a6ff1f,0 4px 16px #0000002e}.session-table-wrap{transition:border-color .18s ease}.session-table-wrap:hover{border-color:var(--border-strong,#3a3f4b)}.tabs{transition:gap .18s ease}.tab{position:relative;transition:color .14s ease,background .16s ease,transform .12s ease}.tab:not(.active):hover{background:var(--bg-3,#1c2128);transform:translateY(-1px)}.actions>*,.form-actions>*,.login-actions>*{transition:transform .14s cubic-bezier(.16,1,.3,1)}.actions>*:hover,.form-actions>*:hover,.login-actions>*:hover{transform:translateY(-1px)}.actions>*:active,.form-actions>*:active,.login-actions>*:active{transform:translateY(0)}.gateway-card--loading{position:relative;overflow:hidden}.gateway-card--loading:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--accent,#58a6ff)50%,transparent 100%);background-size:200% 100%;animation:e3-shimmer 1.6s linear infinite;pointer-events:none}@keyframes e3-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.btn:active,.cp-kbd-trigger:active,.task-subtabs button:active,.chip:active{transform:translateY(0)scale(.98);transition-duration:60ms}@media(prefers-reduced-motion:reduce){.theme-icon,.cp-kbd-trigger,.shortcut-row,.task-subtabs button,.careers-criteria-item,.careers-filter-row,.careers-card-icon,.global-search-input-row,.session-table-wrap,.tab,.gateway-card--loading:after,.actions>*,.form-actions>*,.login-actions>*,.btn,.chip{animation:none!important;transition:none!important}.cp-kbd-trigger:hover,.careers-criteria-item:hover,.tab:not(.active):hover,.actions>*:hover,.form-actions>*:hover,.login-actions>*:hover,.task-subtabs button:hover{transform:none!important}}:root[data-theme=light] .global-search-input-row:focus-within{box-shadow:0 0 0 3px #58a6ff33,0 4px 16px #0000000f}:root[data-theme=light] .careers-criteria-item:hover{box-shadow:0 2px 10px #0000000f}:root[data-theme=light] .cp-kbd-trigger:hover{box-shadow:0 2px 8px #58a6ff29}.skill-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;padding:4px;width:100%}.skill-icon-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 6px 8px;border-radius:10px;background:var(--card-bg);border:1px solid var(--border);text-align:center;cursor:default;transition:transform .15s ease,border-color .15s ease;position:relative}.skill-icon-tile:hover{transform:translateY(-2px);border-color:#58a6ff66}.skill-icon-tile.tier-1{border-color:#f5c518;background:linear-gradient(135deg,#f5c5181a,#f5c51805)}.skill-icon-tile.tier-2{border-color:silver}.skill-icon-tile.tier-3{border-color:#cd7f32}.skill-icon-glyph{font-size:28px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}.skill-icon-name{font-size:11px;color:var(--text-secondary,rgba(255,255,255,.7));max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-icon-count{font-size:13px;font-weight:600;color:var(--text-primary,rgba(255,255,255,.95));font-variant-numeric:tabular-nums}.skill-icon-share{font-size:10px;color:var(--text-tertiary,rgba(255,255,255,.45));font-variant-numeric:tabular-nums}.skill-icon-footer{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding:6px 4px 0;font-size:11px;color:var(--text-secondary,rgba(255,255,255,.6));border-top:1px dashed rgba(255,255,255,.08)}.skill-icon-footer .dot{opacity:.4}.skill-icon-footer .muted{opacity:.6}.skill-icon-footer b{color:var(--text-primary,rgba(255,255,255,.9));font-variant-numeric:tabular-nums}.skill-cat-empty{padding:24px 12px!important;text-align:center}.skill-cat-empty .placeholder-sub{font-size:11px;opacity:.6;margin-top:4px;display:inline-block}.data-unavailable{display:inline-block;padding:1px 6px;font-size:11px;color:#ffb400d9;background:#ffb40014;border:1px dashed rgba(255,180,0,.35);border-radius:4px;font-style:italic;cursor:help}.memory-detail{margin-top:10px;display:flex;flex-direction:column;gap:12px}.memory-section{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden}.memory-section-head{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.08);font-size:12px}.memory-section-title{font-weight:600;color:var(--text-primary,rgba(255,255,255,.95))}.memory-section-meta{color:var(--text-tertiary,rgba(255,255,255,.55));font-size:11px;font-variant-numeric:tabular-nums}.memory-section-status{color:#ff6b6b;font-size:11px}.memory-section-empty{padding:12px;color:var(--text-tertiary,rgba(255,255,255,.5));font-size:12px}.memory-section-body{padding:8px 0;max-height:240px;overflow-y:auto}.memory-preview{margin:0;padding:0 12px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11.5px;line-height:1.6;color:var(--text-primary,rgba(255,255,255,.85));white-space:pre-wrap;word-break:break-word}.memory-line{min-height:1.6em}.badge-duration{display:inline-block;padding:1px 6px;font-size:11px;background:#58a6ff1f;color:#58a6fff2;border-radius:4px;font-variant-numeric:tabular-nums;cursor:help}.badge-duration-missing{background:#ffb40014;color:#ffb400d9;border:1px dashed rgba(255,180,0,.35)}.badge-duration-live{background:#50dc781f;color:#50dc78f2}.s-title-col{min-width:200px;max-width:320px}.s-id-col{min-width:110px}.session-table .s-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}.session-table .s-time-live{color:#50dc78f2;font-weight:500}.session-table .s-time-missing{display:inline-block;padding:1px 6px;font-size:10.5px;color:#ffb400d9;background:#ffb40014;border:1px dashed rgba(255,180,0,.35);border-radius:4px;font-style:italic}.session-table code.s-id{font-size:10.5px;color:var(--text-tertiary,rgba(255,255,255,.55));font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.cron-table-wrap{width:100%;overflow-x:auto}.cron-table{width:100%;border-collapse:collapse;font-size:12px}.cron-table thead th{text-align:left;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.12);background:#ffffff0a;font-weight:600;position:sticky;top:0;z-index:1}.cron-table tbody td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:top}.cron-table tbody tr:hover{background:#ffffff0a}.cron-row.err{background:#ff50500f}.cron-row.err:hover{background:#ff50501f}.cron-row.paused{opacity:.6}.cron-col-name{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cron-col-status{white-space:nowrap;min-width:84px}.cron-col-sched code{font-size:11px;background:#ffffff0f;padding:2px 6px;border-radius:4px}.cron-col-last{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary,rgba(255,255,255,.7))}.cron-col-docs{width:90px;text-align:center}.cron-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ffffff4d;margin-right:6px;vertical-align:middle}.cron-dot.ok{background:#4ade80}.cron-dot.err{background:#f87171}.cron-dot.paused{background:#9ca3af}.cron-docs-btn{font-size:11px;padding:3px 8px}.cron-no-id{color:#ffffff4d;font-size:11px}.cron-doc-modal{width:min(900px,92vw);max-height:80vh;display:flex;flex-direction:column;background:var(--bg,#1a1a1a);color:var(--text,#fff);border-radius:8px}.cron-doc-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.cron-doc-modal .modal-header h3{margin:0;font-size:14px;font-weight:600}.cron-doc-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.cron-doc-loading{padding:20px;text-align:center;color:var(--text-secondary,rgba(255,255,255,.6))}.cron-doc-layout{display:flex;flex:1;min-height:0}.cron-report-list{list-style:none;margin:0;padding:8px;width:200px;border-right:1px solid rgba(255,255,255,.1);overflow-y:auto;flex-shrink:0}.cron-report-item{padding:8px 10px;margin-bottom:2px;border-radius:4px;cursor:pointer;display:flex;gap:8px;font-size:12px;align-items:baseline;transition:background .12s ease}.cron-report-item:hover{background:#ffffff0f}.cron-report-item.active{background:#58a6ff2e}.cron-report-date{font-weight:600}.cron-report-time{color:#ffffff80;font-size:11px}.cron-report-size{color:#fff6;font-size:11px;margin-left:auto}.cron-report-view{flex:1;overflow:auto;padding:16px;background:#0003}.cron-report-content{white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:1.5;margin:0;color:var(--text,rgba(255,255,255,.9))}.cron-empty{padding:20px;text-align:center;color:#ffffff80;font-size:13px}.gateway-edit-modal{width:min(520px,92vw);background:var(--bg,#1a1a1a);color:var(--text,#fff);border-radius:8px;padding:16px 20px 20px;max-height:80vh;overflow:auto}.gateway-edit-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:16px}.gateway-edit-modal .modal-header h3{margin:0;font-size:14px;font-weight:600}.gateway-edit-body{display:flex;flex-direction:column;gap:14px}.gateway-edit-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#ffffff08;border-radius:6px;border:1px solid rgba(255,255,255,.06)}.gateway-edit-label{font-size:13px;font-weight:500;min-width:130px;color:var(--text-dim)}.gateway-edit-row #gwEditHomeId{flex:1;font-family:ui-monospace,monospace;font-size:12px}.gateway-edit-extras{display:flex;flex-wrap:wrap;gap:6px}.gateway-edit-extras code{background:#ffffff14;padding:3px 8px;border-radius:4px;font-size:11px}.gateway-edit-hint{font-size:11px;color:#ffffff80;margin-left:142px;margin-top:4px}.gateway-edit-actions{justify-content:flex-end;border:none;padding:8px 0 0;background:transparent}.gateway-edit-actions .btn{min-width:80px}.gateway-edit-modal .gateway-edit-row:has(#gwAddPlatform),.gateway-edit-modal .gateway-edit-row:has(#gwAddExtra){align-items:stretch;flex-wrap:wrap}.gateway-edit-modal #gwAddPlatform,.gateway-edit-modal #gwAddExtra{flex:1 1 100%;width:100%;box-sizing:border-box;font-family:ui-monospace,SF Mono,monospace;font-size:12px;padding:8px 10px;background:#ffffff0a;color:var(--text,#fff);border:1px solid rgba(255,255,255,.12);border-radius:4px;resize:vertical}.gateway-edit-modal #gwAddPlatform:focus,.gateway-edit-modal #gwAddExtra:focus{outline:none;border-color:var(--accent,#4a9eff)}#gwAddResult{font-family:ui-monospace,monospace;word-break:break-all}.btn-icon{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px}.btn-icon:hover{background:#ffffff14;color:var(--text)}.skip-link{position:absolute;top:-100px;left:8px;z-index:999999;padding:8px 16px;background:var(--accent,#a78bfa);color:#fff;text-decoration:none;border-radius:4px;font-weight:600;font-size:14px;transition:top .15s ease}.skip-link:focus,.skip-link:focus-visible{top:8px;outline:2px solid var(--accent,#a78bfa);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}main#main:focus{outline:none}main#main:focus-visible{outline:2px solid var(--accent,#a78bfa);outline-offset:-2px}.tabs .tab:focus-visible{outline:2px solid var(--accent,#a78bfa);outline-offset:-2px}.modal,.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto;overscroll-behavior:contain;background:radial-gradient(circle at 50% 28%,rgba(106,95,193,.14),transparent 36%),#06070ac2;backdrop-filter:blur(10px)saturate(135%);-webkit-backdrop-filter:blur(10px)saturate(135%);animation:e47-modal-backdrop-in .16s ease-out both}.modal.hidden{display:none!important}.modal>.modal-content,.modal-overlay>.modal-content{position:relative;isolation:isolate;border:1px solid color-mix(in srgb,var(--border-purple)74%,rgba(255,255,255,.18));border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 26%),var(--bg-2);box-shadow:0 28px 80px #0000008a,0 8px 24px #00000047,0 0 0 1px #ffffff09 inset;animation:e47-modal-panel-in .21s cubic-bezier(.16,1,.3,1)both;transform-origin:50% 42%}.modal>.modal-content:before,.modal-overlay>.modal-content:before{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(167,139,250,.08),transparent 28%)}.modal.is-closing,.modal-overlay.is-closing{pointer-events:none;animation:e47-modal-backdrop-out .15s ease-in both}.modal.is-closing>.modal-content,.modal-overlay.is-closing>.modal-content{animation:e47-modal-panel-out .15s ease-in both}.modal .modal-header,.modal-overlay .modal-header{min-height:54px;padding:13px 16px 13px 20px;border-bottom:1px solid color-mix(in srgb,var(--border-purple)58%,var(--border));background:linear-gradient(180deg,#6a5fc121,#6a5fc109)}.modal .modal-header h3,.modal-overlay .modal-header h3{font-size:14px;font-weight:600;letter-spacing:-.012em}.modal .modal-header .close,.modal-overlay .modal-header .close,.modal-overlay .modal-header .btn-icon{width:30px;height:30px;flex:0 0 30px;display:inline-grid;place-items:center;padding:0;border:1px solid transparent;border-radius:7px;color:var(--text-muted);background:transparent;transition:color .14s ease,background-color .14s ease,border-color .14s ease,transform .18s cubic-bezier(.16,1,.3,1)}.modal .modal-header .close:hover,.modal-overlay .modal-header .close:hover,.modal-overlay .modal-header .btn-icon:hover{color:var(--text);border-color:var(--border-strong);background:#fff1;transform:none}.modal .modal-header .close:focus-visible,.modal-overlay .modal-header .close:focus-visible,.modal-overlay .modal-header .btn-icon:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6a5fc147}.modal pre,.modal .modal-body,.modal-overlay .cron-doc-body,.modal-overlay .gateway-edit-body{scrollbar-gutter:stable}.modal .modal-footer{padding:12px 20px;background:color-mix(in srgb,var(--bg-3)88%,transparent)}@keyframes e47-modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes e47-modal-panel-in{0%{opacity:0;transform:translateY(12px)scale(.975)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes e47-modal-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes e47-modal-panel-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.985)}}:root[data-theme=light] .modal,:root[data-theme=light] .modal-overlay{background:radial-gradient(circle at 50% 28%,rgba(94,106,210,.13),transparent 38%),#1118277a}:root[data-theme=light] .modal>.modal-content,:root[data-theme=light] .modal-overlay>.modal-content{box-shadow:0 28px 72px #1f233038,0 8px 20px #1f23301a}@media(max-width:640px){.modal,.modal-overlay{align-items:flex-end;padding:12px}.modal>.modal-content,.modal-overlay>.modal-content{width:100%!important;max-width:100%!important;max-height:min(90dvh,760px);border-radius:14px}}@media(prefers-reduced-motion:reduce){.modal,.modal-overlay,.modal>.modal-content,.modal-overlay>.modal-content,.modal.is-closing,.modal-overlay.is-closing,.modal.is-closing>.modal-content,.modal-overlay.is-closing>.modal-content{animation:none!important;transition:none!important}}#dashUpdated{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums;font-size:12px;line-height:1.4;white-space:nowrap}#dashUpdated .dash-updated-server{color:var(--text-muted,rgba(255,255,255,.55))}#dashUpdated .dash-updated-local{color:var(--text-dim,rgba(255,255,255,.38));margin-left:2px}#dashUpdated .dash-updated-sep{color:var(--text-faint,rgba(255,255,255,.22));margin:0 2px;user-select:none}#dashUpdated .dash-updated-age{color:var(--accent,#828fff);font-weight:500;margin-left:2px;transition:color .2s ease}#dashUpdated .dash-updated-age[data-freshness=stale]{color:#f0b65c}#dashUpdated:hover .dash-updated-age{color:var(--accent-hover,#a3acff)}#boardList{display:flex;flex-direction:column;gap:18px;margin-top:12px}#boardList .board-state{text-align:center;padding:32px 16px;color:var(--text-muted,rgba(255,255,255,.55));font-size:13px}#boardList .board-state-err{color:#ef4444}.board-thread{border:1px solid var(--border,rgba(255,255,255,.08));border-radius:10px;background:var(--bg-surface,rgba(255,255,255,.02));overflow:hidden}.board-thread-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;background:var(--bg-elevated,rgba(255,255,255,.04));border-bottom:1px solid var(--border,rgba(255,255,255,.06));font-size:11px}.board-thread-id{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--text-dim,rgba(255,255,255,.55));letter-spacing:.02em}.board-thread-stats{color:var(--text-muted,rgba(255,255,255,.42));font-size:11px}.board-thread-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px}.board-row-left,.board-row-right,.board-row-center{display:flex;width:100%;position:relative}.board-row-left{justify-content:flex-start}.board-row-right{justify-content:flex-end}.board-row-center{justify-content:center}.board-reply{margin-left:32px;margin-top:-2px}.board-row-right.board-reply{margin-left:0;margin-right:32px}.board-reply .board-thread-line{position:absolute;top:-8px;bottom:50%;width:2px;background:var(--border,rgba(255,255,255,.12));border-radius:1px}.board-row-left.board-reply .board-thread-line{left:16px}.board-row-right.board-reply .board-thread-line{right:16px;left:auto}.board-bubble{max-width:min(560px,78%);padding:10px 12px 8px;border-radius:10px;font-size:13px;line-height:1.5;border:1px solid transparent;word-break:break-word;position:relative;display:flex;flex-direction:column;gap:4px}.board-bubble-workbuddy{background:#10b9811a;border-color:#10b98152;color:var(--text,rgba(255,255,255,.92))}.board-bubble-hermes{background:#7a8aff1a;border-color:#7a8aff52;color:var(--text,rgba(255,255,255,.92))}.board-bubble-other{background:#ffffff0a;border-color:var(--border,rgba(255,255,255,.1));color:var(--text,rgba(255,255,255,.78))}.board-bubble-high{border-color:#ef44448c;box-shadow:0 0 0 1px #ef44442e}.board-bubble-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px}.board-sender{font-weight:600;font-size:12px}.board-bubble-workbuddy .board-sender{color:#34d399}.board-bubble-hermes .board-sender{color:#a3acff}.board-bubble-other .board-sender{color:#9ca3af}.board-reply-mark{font-size:11px;color:var(--text-muted,rgba(255,255,255,.42));font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;cursor:help;border-bottom:1px dashed rgba(255,255,255,.18);padding-bottom:1px;transition:color .12s ease,border-color .12s ease}.board-reply-mark:hover{color:var(--text-default,rgba(255,255,255,.86));border-bottom-color:#ffffff6b}.board-reply-from{margin-left:2px;padding:0 4px;border-radius:3px;background:#828fff1a;color:var(--accent,#828fff);font-size:10px;font-weight:500;font-family:var(--font-sans,"Geist","Inter",system-ui,sans-serif);letter-spacing:.01em}.board-bubble[title]:hover{outline:1px dashed rgba(130,143,255,.28);outline-offset:2px}.board-meta-right{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:10px}.board-id{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--text-faint,rgba(255,255,255,.32));letter-spacing:.02em}.board-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:500;letter-spacing:.02em;line-height:1.5}.board-badge-pending{background:#fbbf242e;color:#fbbf24}.board-badge-done{background:#10b9812e;color:#34d399}.board-badge-high{background:#ef444433;color:#fca5a5}.board-content{white-space:pre-wrap;word-break:break-word;font-size:13px;color:var(--text,rgba(255,255,255,.88))}.board-bubble-foot{display:flex;justify-content:flex-end;margin-top:2px}.board-tags{display:inline-flex;flex-wrap:wrap;gap:3px;margin:0 6px}.board-tag{font-size:10.5px;padding:1px 7px;border-radius:8px;background:#58a6ff1a;color:#58a6ffb3;border:1px solid #58a6ff40;cursor:pointer;font-family:var(--font-mono,"Geist Mono",ui-monospace,monospace);transition:background .14s ease,border-color .14s ease}.board-tag:hover{background:#58a6ff2e;border-color:#58a6ff80}.board-tag[data-active="1"]{background:#58a6ff40;color:#fff;border-color:#58a6ffcc}.board-bubble-foot{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:2px}.board-ts{font-size:10.5px;color:var(--text-faint,rgba(255,255,255,.32));font-variant-numeric:tabular-nums}.board-read-receipt{display:inline-flex;align-items:center;gap:3px;font-size:10px;color:var(--accent-2,#34d399);transition:opacity .2s ease}.board-read-receipt.board-unread{color:var(--text-faint,rgba(255,255,255,.18))}.board-read-icon{font-size:9px;line-height:1;letter-spacing:-1px}.board-read-label{font-size:9.5px;font-weight:500;letter-spacing:.02em}.board-bubble:hover .board-read-receipt.board-unread{color:var(--text-mute,rgba(255,255,255,.35))}.board-actions{display:flex;gap:6px;margin-top:4px;padding-top:6px;border-top:1px dashed rgba(255,255,255,.08)}
.board-action{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;font-size:11px;font-family:inherit;line-height:1;border:1px solid var(--border,rgba(255,255,255,.12));background:transparent;color:var(--text-secondary,#d0d6e0);border-radius:5px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.board-action:hover{background:var(--bg-3,rgba(255,255,255,.06));border-color:var(--border-strong,rgba(255,255,255,.2));color:var(--text,#f7f8f8)}
.board-action:active{transform:translateY(1px)}
.board-action-danger{color:var(--danger,#f85149);border-color:color-mix(in srgb,var(--danger,#f85149)40%,transparent)}
.board-action-danger:hover{background:color-mix(in srgb,var(--danger,#f85149)15%,transparent);border-color:var(--danger,#f85149)}
/* 2026-08-17 E-107 §A.7 DingTalk-style 撤回按钮 (中性,与删按钮区分) */
.board-action-retract{color:var(--text-mute,#8a8f98);border-style:dashed}
.board-action-retract:hover{background:color-mix(in srgb,var(--text-mute,#8a8f98)12%,transparent);border-color:var(--text-mute,#8a8f98);color:var(--text-secondary,#d0d6e0)}
/* 2026-08-17 E-107 §A.7 DingTalk-style 撤回态气泡 (内容脱敏, 钉钉/微信"撤回了一条消息"提示) */
.board-bubble-retracted{opacity:.55}
.board-bubble-retracted .board-bubble-content-retracted{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;background:var(--bg-2,rgba(255,255,255,.04));border:1px dashed var(--border,rgba(255,255,255,.1));font-size:12px;color:var(--text-mute,#8a8f98);font-style:italic}
.board-retract-icon{display:inline-block;font-size:14px;line-height:1;color:var(--text-faint,#7d838b);transform:rotate(45deg)}.board-refresh-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;margin-left:6px;font-size:11px;font-family:var(--font-mono,"Geist Mono",ui-monospace,monospace);font-weight:500;line-height:1;color:var(--text-muted,#6b7280);background:var(--bg-elevated,#f7f8fa);border:1px solid var(--border-subtle,rgba(0,0,0,.06));border-radius:6px;user-select:none;letter-spacing:.02em;white-space:nowrap;transition:border-color .2s ease,color .2s ease}.board-refresh-chip:not(:empty){border-color:#828fff59;color:var(--text-primary,#1a1d24)}.board-refresh-chip .board-refresh-dot{width:6px;height:6px;border-radius:50%;background:#10b981;box-shadow:0 0 #10b98180;animation:boardRefreshPulse 1.6s ease-out infinite;flex-shrink:0}.board-refresh-chip .board-refresh-label{font-weight:600;color:var(--accent,#828fff)}.board-refresh-chip .board-refresh-stats{color:var(--text-muted,#6b7280);font-size:10px;padding-left:6px;margin-left:2px;border-left:1px solid var(--border-subtle,rgba(0,0,0,.08))}.board-refresh-chip[data-mode=manual] .board-refresh-dot{background:var(--accent,#828fff);box-shadow:0 0 #828fff80}.board-refresh-chip[data-mode=live]{border-color:#10b98180;background:#10b98114;color:#10b981e6}.board-refresh-chip[data-mode=live] .board-refresh-label{color:#10b981}.board-refresh-chip[data-mode=live] .board-refresh-dot{background:#10b981;box-shadow:0 0 8px #10b981cc;animation:boardLivePulse 1.2s ease-in-out infinite}@keyframes boardLivePulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}@keyframes boardRefreshPulse{0%{box-shadow:0 0 #10b98173}70%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 #10b98100}}.board-day-group{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.board-day-group:last-child{margin-bottom:0}.board-date-sep{display:flex;align-items:center;gap:12px;padding:6px 4px;margin-top:8px;border-bottom:1px dashed var(--border,rgba(255,255,255,.08))}.board-date-sep:first-child{margin-top:0}.board-date-sep-tag{font-size:13px;font-weight:600;color:var(--text-primary,#e6e6e6);letter-spacing:.02em}.board-date-sep-count{font-size:11px;color:var(--text-muted,#9ca3af);margin-left:auto}.board-date-sep-tag:has-text("\4eca\5929"){color:var(--accent,#828fff)}@keyframes boardBubbleIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.board-bubble{animation:boardBubbleIn .3s ease-out both}.board-thread-body>.board-row:nth-child(2).board-bubble{animation-delay:.03s}.board-thread-body>.board-row:nth-child(3).board-bubble{animation-delay:.06s}.board-thread-body>.board-row:nth-child(4).board-bubble{animation-delay:.09s}.board-thread-body>.board-row:nth-child(5).board-bubble{animation-delay:.12s}.board-thread-body>.board-row:nth-child(6).board-bubble{animation-delay:.15s}@keyframes boardDayFadeIn{0%{opacity:0}to{opacity:1}}.board-day-group{animation:boardDayFadeIn .25s ease-out both}.board-day-group:nth-child(1){animation-delay:0s}.board-day-group:nth-child(2){animation-delay:.04s}.board-day-group:nth-child(3){animation-delay:.08s}.board-day-group:nth-child(4){animation-delay:.12s}.board-day-group:nth-child(5){animation-delay:.16s}.board-bubble:hover{transform:translateY(-1.5px);border-color:#828fff66;box-shadow:0 2px 8px #0000001f;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.board-unread-badge{position:absolute;top:-4px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--bg-2,#0f1011);animation:boardBadgeIn .2s ease-out both;pointer-events:none;z-index:5}.tab[data-tab=board]{position:relative}@keyframes boardBadgeIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.board-new-msg-hint{position:sticky;bottom:12px;align-self:center;display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--accent,#5e6ad2);color:#fff;border:none;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;box-shadow:0 4px 12px #5e6ad266;z-index:10;animation:boardHintSlideUp .25s ease-out both;transition:transform .15s ease,box-shadow .15s ease;user-select:none}.board-new-msg-hint:hover{transform:translateY(-2px);box-shadow:0 6px 18px #5e6ad280}.board-new-msg-hint:active{transform:translateY(0)}.board-new-msg-icon{font-size:16px;font-weight:700;line-height:1}.board-new-msg-text{font-size:13px}@keyframes boardHintSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}#boardList{overflow-y:auto;flex:1 1 auto;min-height:0;scroll-behavior:smooth;position:relative;padding-right:4px}#tab-board.active{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:calc(100vh - 140px)}#tab-board.active>.panel-header{flex:0 0 auto}#tab-board.active>.board-search{flex:0 0 auto}#tab-board.active>.board-compose{flex:0 0 auto}#tab-board.active>#boardList{flex:1 1 auto;min-height:200px;overflow-y:auto}@media(max-width:640px){#tab-board.active>#boardList{min-height:260px}}@media(prefers-reduced-motion:reduce){.board-bubble,.board-day-group{animation:none}.board-bubble:hover{transform:none;transition:none}}.e77-skill-detail{padding:8px 0;display:flex;flex-direction:column;gap:14px}.e77-skill-detail .e77-tags{display:flex;flex-wrap:wrap;gap:6px}.e77-skill-detail .e77-name{margin:0;font-size:1.4em;font-weight:600;color:var(--text-1,#e6e6e6)}.e77-skill-detail .e77-desc{margin:0;line-height:1.55;color:var(--text-2,#b0b0b0);font-size:.95em}.e77-skill-detail .e77-meta{width:100%;border-collapse:collapse;font-size:.9em;margin:4px 0}.e77-skill-detail .e77-meta th{text-align:left;padding:5px 10px 5px 0;color:var(--text-3,#888);font-weight:500;width:90px;vertical-align:top}.e77-skill-detail .e77-meta td{padding:5px 0;color:var(--text-1,#e6e6e6);border-bottom:1px solid var(--border-1,rgba(255,255,255,.06))}.e77-skill-detail .e77-md{border:1px solid var(--border-1,rgba(255,255,255,.1));border-radius:6px;padding:8px 12px;background:var(--bg-2,rgba(255,255,255,.02))}.e77-skill-detail .e77-md summary{cursor:pointer;color:var(--accent,#58a6ff);font-weight:500;padding:4px 0}.e77-skill-detail .e77-md-body{margin:8px 0 0;padding:10px;background:var(--bg-1,#0f1011);border-radius:4px;font-family:JetBrains Mono,SF Mono,monospace;font-size:.78em;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:280px;overflow-y:auto;color:var(--text-2,#b0b0b0)}.e77-skill-detail .e77-footer{margin:0;font-size:.75em;color:var(--text-3,#888);border-top:1px dashed var(--border-1,rgba(255,255,255,.1));padding-top:8px}.e77-skill-detail .e77-footer code{background:var(--bg-2,rgba(255,255,255,.05));padding:1px 5px;border-radius:3px;font-size:.92em}.skill-card{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.skill-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000002e}

/* 2026-08-13 §A.2 E-103 DingTalk-style 留言板布局:
   - 消息列表 (boardList) 移到 compose 上方, 占据主滚动区
   - compose 折叠成单行输入 + 高级按钮 (默认收起次要控件)
   - 高级选项区 (board-compose-advanced) 用 [hidden] 切换
   - 每日的全部对话包在 board-day-group, 日期 separator 紧凑横线
*/
#tab-board.active{box-sizing:border-box}
#tab-board.active>#boardList{gap:6px;padding:8px 4px 12px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
.board-day-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding-bottom:6px;border-bottom:1px dashed var(--border,rgba(255,255,255,.06))}
.board-day-group:last-child{margin-bottom:0;border-bottom:none}
.board-day-group .board-thread{margin:0}
.board-day-group[data-ymd]:first-child .board-date-sep{padding-top:2px}
/* 紧凑型日期 separator: 左右横线 + 日期 + 计数 (钉钉风格) */
.board-date-sep{display:flex;align-items:center;gap:8px;padding:6px 8px;margin:2px 0 4px;font-size:11px;color:var(--text-muted,#9ca3af);background:var(--bg-elevated,rgba(255,255,255,.02));border-radius:6px;border:1px solid var(--border-subtle,rgba(255,255,255,.04))}
.board-date-sep-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--border,rgba(255,255,255,.18)),transparent);min-width:24px}
.board-date-sep-tag{font-weight:600;color:var(--text-secondary,#d0d6e0);font-size:12px;padding:0 4px}
.board-day-group[data-ymd]:first-child .board-date-sep-tag{color:var(--accent,#828fff)}
.board-date-sep-count{font-size:10.5px;color:var(--text-faint,#7d838b);font-variant-numeric:tabular-nums;padding:0 4px}
/* sticky 底部 compose (钉钉风格: 输入框固定底部, 滚动消息时不动) */
.board-compose-sticky{position:sticky;bottom:0;z-index:20;margin:8px 0 0;padding:10px 12px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-2)85%,transparent),var(--bg-2));border:1px solid var(--border,rgba(255,255,255,.1));border-radius:10px;box-shadow:0 -4px 12px #00000026;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:8px;flex:0 0 auto}
.board-compose-main{display:flex;flex-direction:column;gap:8px;position:relative}
.board-reply-quote{display:flex;align-items:center;gap:8px;padding:6px 10px;margin-bottom:6px;background:var(--bg-elevated,#f0f4f8);border:1px solid var(--border,#e5e7eb);border-left:3px solid var(--accent,#1677ff);border-radius:6px;font-size:13px;color:var(--text,#1f2937);animation:replyQuoteFadeIn .18s ease-out}
.board-reply-quote[hidden]{display:none}
.board-reply-quote-icon{color:var(--accent,#1677ff);font-weight:600;flex-shrink:0}
.board-reply-quote-sender{font-weight:600;color:var(--accent,#1677ff);flex-shrink:0}
.board-reply-quote-content{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted,#6b7280);font-size:12px}
.board-reply-quote-clear{background:none;border:none;color:var(--text-muted,#6b7280);cursor:pointer;font-size:14px;padding:2px 6px;border-radius:4px;flex-shrink:0;line-height:1}
.board-reply-quote-clear:hover{background:rgba(0,0,0,.08);color:var(--text,#1f2937)}
@keyframes replyQuoteFadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.board-compose-textarea{width:100%;min-height:42px;max-height:160px;padding:8px 10px;border-radius:6px;border:1px solid var(--border,rgba(255,255,255,.12));background:var(--bg-3,rgba(255,255,255,.02));color:var(--text);font-family:inherit;font-size:13px;line-height:1.5;box-sizing:border-box;resize:vertical}
.board-compose-textarea:focus{outline:none;border-color:var(--accent,#828fff);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent,#828fff)33%,transparent)}
.board-compose-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.board-compose-toggle{padding:4px 12px;font-size:12px}
.board-send-status{font-size:11px;color:var(--text-muted,#9ca3af);margin-left:4px}
.board-compose-advanced{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px dashed var(--border,rgba(255,255,255,.08))}
.board-compose-advanced[hidden]{display:none}
.board-compose-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--text-dim,#d0d6e0)}
.board-compose-field{display:inline-flex;align-items:center;gap:4px}
.board-compose-field-grow{flex:1;min-width:180px}
.board-compose-input{padding:4px 8px;border:1px solid var(--border,rgba(255,255,255,.12));background:var(--bg-3,rgba(255,255,255,.02));border-radius:4px;font-family:inherit;font-size:12px;color:var(--text);min-width:0}
.board-compose-input-narrow{width:120px;font-family:var(--font-mono,monospace)}
.board-compose-select{padding:4px 8px;border:1px solid var(--border,rgba(255,255,255,.12));background:var(--bg-3,rgba(255,255,255,.02));border-radius:4px;font-family:inherit;font-size:12px;color:var(--text)}
.btn-mini{padding:3px 8px;font-size:11px}
.board-due-preview{font-size:11px;color:var(--text-muted,#9ca3af);margin-left:4px}
.board-tpl-popup{display:none;position:absolute;top:100%;left:0;margin-top:6px;min-width:280px;max-width:420px;max-height:320px;overflow-y:auto;background:var(--bg-2,#1a1d24);border:1px solid var(--border-strong,rgba(255,255,255,.16));border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.5);z-index:50;padding:6px}
.board-tpl-list{display:flex;flex-direction:column;gap:4px}
.board-tpl-empty{display:none;padding:12px;color:var(--text-muted,#9ca3af);font-size:12px;text-align:center}
@media(max-width:640px){.board-compose-sticky{padding:8px;border-radius:8px}.board-compose-input-narrow{width:90px}.board-compose-field-grow{min-width:120px}}
@media(prefers-reduced-motion:reduce){.board-compose-sticky{transition:none}}

/* E-95 thread fold — toggle + collapsed state */
.board-thread-head{cursor:default}
.board-thread-toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:6px;padding:0;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-muted,rgba(255,255,255,.55));font-size:14px;line-height:1;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease;flex-shrink:0}
.board-thread-toggle:hover{background:var(--bg-3,rgba(255,255,255,.06));border-color:var(--border,rgba(255,255,255,.12));color:var(--text,rgba(255,255,255,.92))}
.board-thread-toggle:focus-visible{outline:none;border-color:var(--accent,#58a6ff);box-shadow:0 0 0 2px #58a6ff40}
.board-thread-body.collapsed{display:none}
.board-thread-folded{opacity:.92}
.board-thread-folded .board-thread-head{border-bottom-color:transparent}
.board-default-fold-toggle{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;font-size:10.5px;font-family:var(--font-mono,"Geist Mono",ui-monospace,monospace);background:transparent;border:1px solid var(--border,rgba(255,255,255,.1));border-radius:4px;color:var(--text-muted,rgba(255,255,255,.55));cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}
.board-default-fold-toggle:hover{background:var(--bg-3,rgba(255,255,255,.06));color:var(--text,rgba(255,255,255,.85));border-color:var(--border-strong,rgba(255,255,255,.18))}

/* ===== E-96 长消息自动摘要 / 折叠 (2026-08-03 17:00 cron) ===== */
.board-summary-toggle{
  display:inline-block;
  margin-left:6px;
  font-size:11px;
  font-weight:500;
  color:var(--accent,#828fff);
  background:transparent;
  border:1px solid color-mix(in srgb,var(--accent,#828fff) 35%, transparent);
  border-radius:10px;
  padding:1px 9px;
  cursor:pointer;
  transition:background .14s ease,border-color .14s ease,color .14s ease,transform .1s ease;
  vertical-align:baseline;
  line-height:1.5;
  font-family:inherit;
  user-select:none;
}
.board-summary-toggle:hover{
  background:color-mix(in srgb,var(--accent,#828fff) 18%, transparent);
  border-color:var(--accent,#828fff);
  color:var(--accent-hover,#a3acff);
  transform:translateY(-1px);
}
.board-summary-toggle:active{transform:translateY(0)}
.board-summary-toggle:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg,#0f1011),0 0 0 4px #58a6ff8c}
.board-summary-ellipsis{color:var(--text-faint,rgba(255,255,255,.4));margin-left:2px;font-weight:600}
/* 浅底主题适配 */
:root[data-theme=light] .board-summary-toggle{
  color:var(--accent,#4f5bd5);
  border-color:#4f5bd559;
}
:root[data-theme=light] .board-summary-toggle:hover{
  background:#4f5bd514;
  border-color:var(--accent,#4f5bd5);
  color:var(--accent-hover,#4553c4);
}


/* === E-97 board-tags + status badge (2026-08-03 19:00 cron) === */
.board-badge-status{font-size:10px;padding:1px 6px;border-radius:4px;font-weight:500;letter-spacing:.02em;line-height:1.5;display:inline-flex;align-items:center;gap:3px}
.board-badge-in_progress{background:#58a6ff2e;color:#9bbcff;border:1px solid rgba(88,166,255,.35)}
.board-badge-review{background:#d299222e;color:#e3b341;border:1px solid rgba(210,153,34,.4)}
/* 2026-08-08 §B.31 E-100: archived 第 5 态 (灰蓝斜体, 表示隐藏归档) */
.board-badge-archived{background:#6e76812e;color:#8b949e;border:1px solid rgba(110,118,129,.35);font-style:italic;opacity:.85}
.board-badge-prio{margin-left:4px}
:root[data-theme=light] .board-badge-in_progress{background:#0969da26;color:#0969da;border-color:rgba(9,105,218,.4)}
:root[data-theme=light] .board-badge-review{background:#9a670026;color:#9a6700;border-color:rgba(154,103,0,.45)}
:root[data-theme=light] .board-badge-archived{background:#6e768126;color:#57606a;border-color:rgba(110,118,129,.4)}
/* 2026-08-08 §B.31 E-100: 同步 board.js 老渲染管道 board-status-* 类 (4→5 态, 加 archived) */
.board-status{font-size:10px;padding:1px 6px;border-radius:4px;font-weight:500;letter-spacing:.02em;line-height:1.5;display:inline-flex;align-items:center;gap:3px;margin-left:4px}
.board-status-pending{background:#6e76812e;color:#8b949e;border:1px solid rgba(110,118,129,.35)}
.board-status-in_progress{background:#58a6ff2e;color:#9bbcff;border:1px solid rgba(88,166,255,.35)}
.board-status-review{background:#d299222e;color:#e3b341;border:1px solid rgba(210,153,34,.4)}
.board-status-done{background:#3fb9502e;color:#7ee787;border:1px solid rgba(63,185,80,.4)}
.board-status-archived{background:#6e76812e;color:#8b949e;border:1px solid rgba(110,118,129,.35);font-style:italic;opacity:.85}
:root[data-theme=light] .board-status-pending{background:#6e768126;color:#57606a;border-color:rgba(110,118,129,.4)}
:root[data-theme=light] .board-status-in_progress{background:#0969da26;color:#0969da;border-color:rgba(9,105,218,.4)}
:root[data-theme=light] .board-status-review{background:#9a670026;color:#9a6700;border-color:rgba(154,103,0,.45)}
:root[data-theme=light] .board-status-done{background:#1a7f3726;color:#1a7f37;border-color:rgba(26,127,55,.4)}
:root[data-theme=light] .board-status-archived{background:#6e768126;color:#57606a;border-color:rgba(110,118,129,.4);font-style:italic}
/* 让 board-tags 在 board-bubble-foot 内与 board-ts 并排 (flex) */
.board-bubble-foot .board-tags{margin-right:6px}
@media(max-width:640px){.board-bubble-head .board-badge-status{font-size:9px;padding:1px 4px}.board-tag{font-size:9.5px;padding:1px 5px}}
/* === E-97 end === */

/* E-98: 调试能力章节 - CSDN 风格 (checklist / 进度条 / 折叠答案 / 难度等级 / 思维导图) */
.learn-checklist{list-style:none;margin:12px 0;padding:0;display:flex;flex-direction:column;gap:8px}
.learn-check{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--bg-2,rgba(255,255,255,.03));border:1px solid var(--border,rgba(255,255,255,.08));border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s}
.learn-check:hover{border-color:var(--accent,#58a6ff);background:var(--bg-3,rgba(255,255,255,.06))}
.learn-check input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}
.learn-check-box{flex-shrink:0;width:20px;height:20px;border:2px solid var(--text-mute,#6e7681);border-radius:5px;background:var(--bg,#0d1117);display:inline-flex;align-items:center;justify-content:center;margin-top:2px;transition:all .15s}
.learn-check input:checked + .learn-check-box{background:var(--accent-2,#5bcc8a);border-color:var(--accent-2,#5bcc8a)}
.learn-check input:checked + .learn-check-box::after{content:"✓";color:#fff;font-size:14px;font-weight:700;line-height:1}
.learn-check input:checked ~ .learn-check-text{opacity:.55;text-decoration:line-through}
.learn-check-text{flex:1;display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.5}
.learn-check-text strong{color:var(--text-primary,#e6edf3);font-weight:600}
.learn-diff{display:inline-block;font-size:11px;padding:1px 7px;border-radius:10px;font-weight:600;margin-left:6px;font-family:var(--font-mono,monospace)}
.learn-diff-easy{background:#10b98126;color:#34d399;border:1px solid #10b98159}
.learn-diff-mid{background:#d2992226;color:#fbbf24;border:1px solid #d2992259}
.learn-diff-hard{background:#f8514926;color:#f87171;border:1px solid #f8514959}
.learn-check-hint{font-size:11.5px;color:var(--text-mute,#8b949e);font-weight:400;margin-top:2px}
.learn-progress-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0;padding:10px 14px;background:var(--bg-2,rgba(255,255,255,.04));border:1px solid var(--border,rgba(255,255,255,.08));border-radius:8px;font-size:13px}
.learn-progress-bar{flex:1 1 200px;min-width:160px;height:10px;background:var(--bg-3,rgba(255,255,255,.08));border-radius:5px;overflow:hidden;position:relative}
.learn-progress-fill{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#10b981,#5bcc8a);width:0%;transition:width .35s cubic-bezier(.4,0,.2,1);border-radius:5px}
.learn-progress-text{font-family:var(--font-mono,monospace);font-size:12px;color:var(--text-primary,#e6edf3);min-width:90px;font-weight:600}
.learn-progress-reset{font-size:11px;padding:4px 10px;background:var(--bg-3,rgba(255,255,255,.08));border:1px solid var(--border,rgba(255,255,255,.12));border-radius:5px;color:var(--text-dim,#8b949e);cursor:pointer;font-family:inherit;transition:all .15s}
.learn-progress-reset:hover{background:var(--bg-4,rgba(255,255,255,.12));color:var(--text-primary,#e6edf3)}
.learn-exercise{background:var(--bg-2,rgba(255,255,255,.03));border:1px solid var(--border,rgba(255,255,255,.1));border-left:3px solid var(--accent,#58a6ff);border-radius:6px;padding:8px 12px;margin:10px 0}
.learn-exercise>summary{cursor:pointer;font-size:13px;color:var(--text-primary,#e6edf3);font-weight:500;padding:4px 0;list-style:none;display:flex;align-items:center;gap:6px}
.learn-exercise>summary::before{content:"▸";display:inline-block;color:var(--accent,#58a6ff);transition:transform .15s;font-size:11px}
.learn-exercise[open]>summary::before{transform:rotate(90deg)}
.learn-exercise>summary::-webkit-details-marker{display:none}
.learn-answer{margin:8px 0 4px 12px;border-left:2px solid var(--success,#10b981);padding:4px 0 4px 10px}
.learn-answer>summary{cursor:pointer;font-size:12px;color:var(--success,#10b981);font-weight:500;list-style:none;display:inline-flex;align-items:center;gap:4px}
.learn-answer>summary::-webkit-details-marker{display:none}
.learn-mindmap{background:var(--bg-2,#0d1117)!important;font-size:11.5px!important;line-height:1.45!important;color:var(--text-primary,#e6edf3);padding:14px 16px!important;border:1px dashed var(--accent,#58a6ff)40!important;white-space:pre;overflow-x:auto}
.learn-next-card{transition:transform .15s,border-color .15s;cursor:default}
.learn-next-card:hover{transform:translateY(-2px);border-color:var(--accent,#58a6ff)}

/* === E-101 §B.32: SkillHub Web Improvement Plan (审查报告) =====================
   5 项落地:
   1) 骨架屏 (skeleton-card / skeleton-row) 替代纯 spinner
   2) 顶部加载进度条 (loading-progress)
   3) 功能状态徽章 (feature-badge — 取代"骨架中")
   4) 模态框 ESC 提示 (close-hint) + 遮罩关闭优化
   5) 自动刷新开关 (auto-refresh-toggle) + 倒计时
============================================================================ */
/* 1) 顶部全局进度条 — 在 JS 里用 #loadingProgress .progress-bar 调宽度 */
.loading-progress{position:fixed;top:0;left:0;right:0;height:3px;background:rgba(255,255,255,.08);z-index:10000;pointer-events:none;opacity:0;transition:opacity .2s ease}
.loading-progress.active{opacity:1}
.loading-progress .progress-bar{height:100%;width:0;background:linear-gradient(90deg,#8275d4,#a78bfa,#8275d4);background-size:200% 100%;transition:width .25s ease;animation:shimmer-bar 1.4s linear infinite}
@keyframes shimmer-bar{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* 2) 骨架屏 — shimmer 渐变 */
.skeleton{background:linear-gradient(90deg,var(--bg-3) 0%,var(--bg-4) 50%,var(--bg-3) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:6px;color:transparent!important;user-select:none}
@keyframes skeleton-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.skeleton-card{display:block;height:96px;border-radius:8px;margin:8px 0;padding:16px;border:1px solid var(--border)}
.skeleton-card.skeleton-title{height:18px;width:40%;margin-bottom:12px}
.skeleton-card.skeleton-content{height:10px;width:80%;margin-bottom:8px}
.skeleton-card.skeleton-content.short{width:55%}
.skeleton-row{display:block;height:14px;margin:8px 0;border-radius:4px}
.skeleton-row.w90{width:90%}.skeleton-row.w70{width:70%}.skeleton-row.w50{width:50%}.skeleton-row.w30{width:30%}
.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:12px}
.skeleton-grid .skeleton-card{height:120px}
@media (prefers-reduced-motion:reduce){.skeleton,.loading-progress .progress-bar{animation:none}}

/* 3) 功能状态徽章 — 取代"骨架中 / 即将上线" 等零散文案 */
.feature-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1;border:1px solid transparent;white-space:nowrap}
.feature-badge .badge-icon{font-size:13px;line-height:1}
.feature-badge[data-status="developing"]{background:rgba(210,153,34,.12);color:#d29922;border-color:rgba(210,153,34,.35)}
.feature-badge[data-status="coming"]{background:rgba(88,166,255,.12);color:#58a6ff;border-color:rgba(88,166,255,.35)}
.feature-badge[data-status="beta"]{background:rgba(167,139,250,.14);color:#a78bfa;border-color:rgba(167,139,250,.4)}
.feature-badge[data-status="deprecated"]{background:rgba(248,81,73,.12);color:#f85149;border-color:rgba(248,81,73,.35)}
.feature-badge[data-status="ready"]{background:rgba(16,185,129,.12);color:#10b981;border-color:rgba(16,185,129,.35)}
.btn-notify{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:6px;border:1px dashed var(--border-strong);background:transparent;color:var(--text-mute);cursor:pointer;font-size:12px;transition:all .15s ease}
.btn-notify:hover{border-color:var(--accent);color:var(--text);background:var(--bg-5)}
.btn-notify.subscribed{border-style:solid;border-color:var(--success);color:var(--success);background:rgba(16,185,129,.08)}

/* 4) 模态框 ESC 提示 + 关闭按钮改进 */
.modal-content .close,.modal-header .close,.shortcuts-header .close{position:relative;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--bg-3);color:var(--text-mute);font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}
.modal-content .close:hover,.modal-header .close:hover,.shortcuts-header .close:hover{background:var(--bg-4);color:var(--text);border-color:var(--accent)}
.close-hint{position:absolute;top:-18px;right:-4px;font-size:10px;color:var(--text-mute);background:var(--bg-2);padding:1px 5px;border-radius:3px;border:1px solid var(--border);pointer-events:none;opacity:0;transition:opacity .15s ease;white-space:nowrap;font-family:ui-monospace,monospace}
.close:hover .close-hint,.close:focus-visible .close-hint{opacity:1}
/* 模态框打开时给 body 加锁滚 */
body.modal-open{overflow:hidden}

/* 5) 自动刷新开关 + 倒计时 */
.auto-refresh{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-3);font-size:12px;color:var(--text-mute);cursor:pointer;user-select:none;transition:all .15s ease}
.auto-refresh:hover{border-color:var(--accent);color:var(--text)}
.auto-refresh.on{border-color:var(--success);color:var(--success);background:rgba(16,185,129,.08)}
.auto-refresh .ar-dot{width:6px;height:6px;border-radius:50%;background:var(--text-mute);transition:all .15s ease}
.auto-refresh.on .ar-dot{background:var(--success);box-shadow:0 0 0 0 rgba(16,185,129,.5);animation:ar-pulse 1.5s ease-in-out infinite}
.auto-refresh .ar-count{font-family:ui-monospace,monospace;font-size:11px;opacity:.7;min-width:18px;text-align:right}
@keyframes ar-pulse{0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,.5)}50%{box-shadow:0 0 0 6px rgba(16,185,129,0)}}

/* 6) 列表视图骨架（任务产物 / 已装技能 通用） */
.skeleton-list{display:flex;flex-direction:column;gap:6px}
.skeleton-list .skeleton-row{margin:0}

/* 7) 旧的 .spinner 容器 — 保留但减少抖动 */
.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}


/* 2026-08-17 E-108 §A.7: 已读未读 marker (DingTalk-style) — 紧凑小勾, 跟在 actions 行末尾 */
.board-read-marker{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:18px;padding:0 6px;margin-left:auto;border-radius:9px;font-size:10px;font-weight:600;letter-spacing:-.5px;line-height:1;font-family:var(--font-mono,"Geist Mono",ui-monospace,monospace);user-select:none;transition:opacity .2s ease}
.board-read-marker.is-read{color:var(--accent-2,#34d399);background:#10b98114;border:1px solid #10b98140}
.board-read-marker.is-unread{color:var(--text-faint,rgba(255,255,255,.22));background:transparent;border:1px solid var(--border,rgba(255,255,255,.06))}
.board-bubble:hover .board-read-marker.is-unread{color:var(--text-mute,rgba(255,255,255,.4))}
:root[data-theme=light] .board-read-marker.is-unread{color:#9ca3af;border-color:rgba(0,0,0,.08)}
:root[data-theme=light] .board-bubble:hover .board-read-marker.is-unread{color:#6b7280}
@media(prefers-reduced-motion:reduce){.board-read-marker{transition:none}}

/* 2026-08-17 E-109 §A.7: emoji reactions (DingTalk/Slack-style) */
/* 钉钉风紧凑 pill, 跟在 content 行下方; picker 是 popup 风格, 悬浮展开 */
.board-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;align-items:center;min-height:24px}
.board-reaction-pill{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:12px;border:1px solid var(--border,rgba(255,255,255,.08));background:var(--bg-2,#222);font-size:12px;line-height:1.2;cursor:pointer;transition:all .15s ease;color:var(--text-mute,#9ca3af);user-select:none}
.board-reaction-pill:hover{border-color:var(--accent,#58a6ff);background:var(--bg-3,#2a2a2a);color:var(--text,#e5e7eb)}
.board-reaction-pill.is-me{border-color:var(--accent,#58a6ff);background:rgba(88,166,255,.14);color:var(--accent,#58a6ff)}
.board-reaction-pill.is-me:hover{background:rgba(88,166,255,.22)}
.board-reaction-emoji{font-size:13px;line-height:1}
.board-reaction-count{font-size:11px;font-family:var(--font-mono,ui-monospace,monospace);opacity:.85;font-weight:600}
/* picker: + button + 弹出 6 个 emoji */
.board-reaction-picker{position:relative;display:inline-flex;align-items:center}
.board-reaction-add{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:11px;border:1px dashed var(--border,rgba(255,255,255,.18));background:transparent;color:var(--text-faint,rgba(255,255,255,.32));font-size:13px;line-height:1;cursor:pointer;transition:all .15s ease;user-select:none}
.board-reaction-add:hover{border-color:var(--accent,#58a6ff);color:var(--accent,#58a6ff);background:var(--bg-3,#2a2a2a)}
.board-reaction-picker-list{position:absolute;bottom:calc(100% + 6px);left:0;display:inline-flex;align-items:center;gap:2px;padding:4px 6px;border-radius:8px;border:1px solid var(--border,rgba(255,255,255,.12));background:var(--bg-2,#1a1a1a);box-shadow:0 4px 16px rgba(0,0,0,.4);z-index:10;white-space:nowrap}
.board-reaction-picker-list[hidden]{display:none}
.board-reaction-emoji-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;font-size:18px;line-height:1;cursor:pointer;transition:all .12s ease;padding:0}
.board-reaction-emoji-btn:hover{background:var(--bg-3,#2a2a2a);transform:scale(1.2)}
@media(prefers-reduced-motion:reduce){.board-reaction-pill,.board-reaction-add,.board-reaction-emoji-btn{transition:none}.board-reaction-emoji-btn:hover{transform:none}}


/* E-112 §A.6 View Transitions API: tab 切换 fade 动画 (Chrome 111+/Firefox 127+ 内建)
   不支持时浏览器自动忽略 (no-op), 100% 向后兼容. prefers-reduced-motion 用户也忽略.
   借鉴 PWA E-106 + View Transitions API 2026 web platform standard. */
::view-transition-old(active-tab),::view-transition-new(active-tab){animation-duration:.18s;animation-timing-function:cubic-bezier(.16,1,.3,1)}
@media(prefers-reduced-motion:reduce){::view-transition-old(active-tab),::view-transition-new(active-tab){animation-duration:0s;animation:none}}
.code-block-wrap{position:relative}.code-block-copy-btn{position:absolute;top:6px;right:6px;z-index:2;padding:2px 8px;font-size:11px;line-height:1.5;color:var(--text-dim);background:var(--bg-3);border:1px solid var(--border);border-radius:4px;cursor:pointer;opacity:.7;transition:opacity .15s,color .15s;font-family:inherit}.code-block-copy-btn:hover{opacity:1;color:var(--text);border-color:var(--border-strong)}.code-block-wrap .code-block{padding-top:14px}
/* === 2026-08-25 E-196 §A.2: DingTalk-style 留言板 polish ===
   1) 相对时间 (相对时刻 chip)  
   2) 发件人头像圆点 (1 字符 + sender-specific 颜色)  
   3) 紧凑布局 (减少短列表大片空白) */
.board-time{font-variant-numeric:tabular-nums;color:var(--text-muted,rgba(255,255,255,.55));font-size:11px;letter-spacing:.01em}
.board-time[title]{cursor:help;border-bottom:1px dotted var(--border,rgba(255,255,255,.12))}
.board-avatar{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:10px;font-weight:600;line-height:1;color:#fff;margin-right:5px;flex:0 0 auto;letter-spacing:0;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.board-avatar[data-sender="workbuddy"]{background:linear-gradient(135deg,#10b981,#059669)}
.board-avatar[data-sender="hermes"]{background:linear-gradient(135deg,#7a8aff,#5b6cf2)}
.board-avatar[data-sender="user"]{background:linear-gradient(135deg,#f59e0b,#d97706)}
.board-avatar[data-sender="unknown"]{background:linear-gradient(135deg,#6b7280,#4b5563)}
.board-avatar[data-sender="workbuddy-fallback"]{background:linear-gradient(135deg,#10b981,#047857)}
.board-avatar[data-sender="workbuddy-e2e"]{background:linear-gradient(135deg,#10b981,#065f46)}
.board-avatar[data-sender="verify"]{background:linear-gradient(135deg,#a78bfa,#7c3aed)}
.board-avatar[data-sender="demo_user"]{background:linear-gradient(135deg,#f59e0b,#b45309)}

/* 紧凑布局: 减少"留言板短时大片空白" */
#tab-board.active>#boardList{gap:4px;padding:6px 4px 10px}
.board-day-group{margin-bottom:8px;padding-bottom:2px}
.board-day-group:last-child{margin-bottom:0;padding-bottom:0}
.board-date-sep{margin:2px 0 2px;padding:4px 8px}

/* bubble 内部更紧凑 */
.board-bubble{padding:8px 11px 7px}
.board-bubble-head{gap:5px;margin-bottom:1px}
.board-thread-body{gap:5px;padding:10px 12px 12px}
.board-thread-head{padding:6px 12px}

/* E-196 specificity fix: ensure compact board list wins over #tab-board.active>#boardList */
#tab-board.active>#boardList{gap:4px;padding:6px 4px 10px}

/* === 2026-08-26 E-202 PHASE_B.6: Skill 实战项目 (W.2) 前端联动 === */
.e202-projects{margin-top:14px;padding:12px 14px;border:1px solid var(--border-subtle,rgba(0,0,0,.08));border-radius:8px;background:var(--bg-elevated,rgba(247,248,250,.6))}
.e202-projects-title{margin:0 0 8px 0;font-size:13px;font-weight:600;color:var(--text-primary,#1a1d24);display:flex;align-items:center;gap:8px;letter-spacing:.01em}
.e202-projects-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 6px;border-radius:9px;background:var(--accent,#828fff);color:#fff;font-size:11px;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:0}
.e202-cache-badge{font-size:10px;color:var(--text-muted,#6b7280);font-weight:500;padding:2px 6px;border-radius:4px;background:rgba(130,143,255,.1);letter-spacing:.02em}
.e202-msg{margin:4px 0;font-size:12px;color:var(--text-muted,#6b7280);line-height:1.5}
.e202-msg-error{color:#dc2626}
.e202-project-list{list-style:none;margin:6px 0 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.e202-project-item{padding:10px 12px;border:1px solid var(--border-subtle,rgba(0,0,0,.06));border-radius:6px;background:var(--bg-base,#fff);transition:border-color .2s ease,box-shadow .2s ease}
.e202-project-item:hover{border-color:var(--accent,#828fff);box-shadow:0 1px 4px rgba(130,143,255,.12)}
.e202-project-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.e202-project-title{font-size:13px;font-weight:600;color:var(--text-primary,#1a1d24);line-height:1.4;flex:1;min-width:0}
.e202-project-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;letter-spacing:.04em;flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}
.e202-diff-beginner{background:#dcfce7;color:#166534}
.e202-diff-intermediate{background:#fef3c7;color:#92400e}
.e202-diff-expert{background:#fee2e2;color:#991b1b}
.e202-project-desc{margin:4px 0 6px 0;font-size:12px;color:var(--text-secondary,#374151);line-height:1.55}
.e202-project-meta{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--text-muted,#6b7280);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.e202-project-meta span{display:inline-flex;align-items:center;gap:3px}
.e202-project-deliverable{margin-top:6px}
.e202-project-deliverable summary{cursor:pointer;font-size:11px;color:var(--text-muted,#6b7280);padding:3px 0;user-select:none;letter-spacing:.02em}
.e202-project-deliverable summary:hover{color:var(--accent,#828fff)}
.e202-project-deliverable pre{margin:4px 0 0 0;padding:8px 10px;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--bg-elevated,#f7f8fa);border-radius:4px;white-space:pre-wrap;word-break:break-word;color:var(--text-secondary,#374151);line-height:1.5;max-height:160px;overflow-y:auto}
.e202-loading .spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--border-subtle,rgba(0,0,0,.1));border-top-color:var(--accent,#828fff);border-radius:50%;animation:e202Spin .8s linear infinite;margin-right:6px;vertical-align:middle}
@keyframes e202Spin{to{transform:rotate(360deg)}}

/* E-206 learn reading progress bar (2026-08-26) */
.learn-progress-track{position:sticky;top:0;z-index:5;height:3px;background:var(--bg-3);border-radius:0 0 4px 4px;overflow:hidden;opacity:1;transition:opacity .2s}
.learn-progress-track.is-hidden{opacity:0}
.learn-progress-fill{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:0 2px 2px 0}
@media(prefers-reduced-motion:reduce){.learn-progress-track{transition:none}}

/* 2026-08-26 E-208 §A.PHASE_B.2 DingTalk-style: @mention popup + highlight */
.board-mention-popup{position:absolute;left:6px;right:6px;bottom:calc(100% + 6px);min-width:200px;max-height:190px;overflow-y:auto;background:var(--bg-elevated,#1b1d21);border:1px solid var(--border,rgba(255,255,255,.12));border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.35);z-index:40;padding:4px}
.board-mention-popup[hidden]{display:none}
.board-mention-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text,#e6e6e6);white-space:nowrap}
.board-mention-item.is-active{background:var(--accent,#828fff22);color:var(--accent,#828fff)}
.board-mention-avatar{width:20px;height:20px;border-radius:50%;background:var(--accent,#5e6ad2);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.board-mention-tag{font-size:11px;color:var(--text-muted,#9ca3af);margin-left:auto;overflow:hidden;text-overflow:ellipsis;max-width:120px}
.board-bubble-content .board-mention{color:var(--accent,#828fff);font-weight:600;background:color-mix(in srgb,var(--accent,#828fff) 14%,transparent);border-radius:4px;padding:0 3px}

/* === E-226 学习行为聚合视图 (2026-09-03 §B.68 ship) === */
.ba-row {
  display: grid;
  grid-template-columns: 110px 1fr 50px 50px;
  gap: 8px;
  align-items: center;
  padding: 4px 6px;
  font-size: 12px;
}
.ba-row[data-status="good"] { background: rgba(46, 160, 67, 0.06); }
.ba-row[data-status="mid"]  { background: rgba(227, 179, 65, 0.06); }
.ba-row[data-status="low"]  { background: rgba(220, 50, 47, 0.06); }
.ba-name {
  font-weight: 500;
  color: var(--text-color, #ccc);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ba-bar-wrap {
  position: relative;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 3px;
  height: 14px;
  overflow: hidden;
}
.ba-bar {
  height: 100%;
  transition: width 0.3s ease;
  background: linear-gradient(90deg, #2ea043 0%, #3fb950 100%);
}
.ba-row[data-status="mid"] .ba-bar { background: linear-gradient(90deg, #e3b341 0%, #f0c14b 100%); }
.ba-row[data-status="low"] .ba-bar { background: linear-gradient(90deg, #dc322f 0%, #e8593d 100%); }
.ba-num {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 11px;
  color: var(--muted-text, #888);
  text-align: right;
}
.ba-rate {
  font-weight: 600;
  text-align: right;
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: 11px;
  color: var(--text-color, #ccc);
}
.ba-summary {
  display: flex;
  gap: 14px;
  padding: 6px 4px 8px;
  font-size: 12px;
  color: var(--muted-text, #888);
  border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
  margin-bottom: 4px;
}
.ba-summary span b {
  color: var(--text-color, #ccc);
  font-weight: 600;
  margin-right: 2px;
}

/* B.65 (E-227) 搜索联想下拉 */
.skill-suggest-dropdown {
  position: absolute;
  z-index: 10000;
  background: var(--bg-elev, #1e1e1e);
  border: 1px solid var(--border, #333);
  border-radius: 6px;
  box-shadow: 0 6px 24px rgba(0,0,0,.4);
  max-height: 360px;
  overflow-y: auto;
  font-size: 13px;
  padding: 4px 0;
}
.skill-suggest-dropdown[hidden] { display: none !important; }
.ss-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  cursor: pointer;
  color: var(--fg, #e0e0e0);
  transition: background-color .08s ease;
}
.ss-item:hover, .ss-item.active {
  background: var(--accent-bg, rgba(80,140,255,.15));
  color: var(--accent-fg, #80c8ff);
}
.ss-term { flex: 1; word-break: break-all; }
.ss-badge {
  flex-shrink: 0;
  font-size: 10px;
  padding: 2px 6px;
  border-radius: 3px;
  font-weight: 500;
  letter-spacing: .02em;
}
.ss-badge-syn { background: rgba(255,180,80,.18); color: #ffb450; }
.ss-badge-pre { background: rgba(80,180,120,.18); color: #50b478; }
.ss-badge-cat { background: rgba(140,100,200,.18); color: #a888d8; }
.ss-badge-sub { background: rgba(120,120,120,.18); color: #aaa; }

/* Light mode fallback */
:root[data-theme="light"] .skill-suggest-dropdown,
:root:not([data-theme="dark"]) .skill-suggest-dropdown {
  background: #fff;
  border-color: #d0d0d0;
  box-shadow: 0 6px 24px rgba(0,0,0,.15);
}
:root[data-theme="light"] .ss-item,
:root:not([data-theme="dark"]) .ss-item { color: #222; }
:root[data-theme="light"] .ss-item:hover,
:root[data-theme="light"] .ss-item.active,
:root:not([data-theme="dark"]) .ss-item:hover,
:root:not([data-theme="dark"]) .ss-item.active {
  background: rgba(40,100,200,.1);
  color: #2466c0;
}
