@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/jetbrains-mono-latin-700-normal.woff2) format("woff2")}:root{--bg: #f8fafc;--panel: #ffffff;--panel-2: #f1f5f9;--hairline: #f1f5f9;--hover-blue: #eff6ff;--ink: #0f172a;--muted: #475569;--faint: #94a3b8;--border: #e2e8f0;--border-strong: #cbd5e1;--accent: #4f6ef7;--accent-hover: #3b57d9;--accent-soft: rgba(79, 110, 247, .08);--primary: #4f6ef7;--primary-dark: #3b57d9;--ring: rgba(79, 110, 247, .4);--panel-glass: rgba(255, 255, 255, .72);--cyber: #7c3aed;--cyber-hover: #6d28d9;--cyber-soft: rgba(124, 58, 237, .1);--ok: #10b981;--ok-soft: rgba(16, 185, 129, .12);--warn: #f59e0b;--warn-soft: rgba(245, 158, 11, .14);--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .1);--radius: 8px;--r-sm: 4px;--r-lg: 12px;--r-xl: 16px;--r-pill: 999px;--shadow: none;--shadow-lg: 0 12px 32px rgba(15, 23, 42, .16);--skeleton-base: rgba(16, 24, 40, .06);--skeleton-shine: rgba(16, 24, 40, .12);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--fs-11: 11px;--fs-12: 12px;--fs-14: 14px;--fs-16: 16px;--fs-20: 20px;--fs-24: 24px;--fs-32: 32px;--lh-tight: 1.4;--lh-base: 1.6;--lh-loose: 1.75;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Roboto, Helvetica Neue, Arial, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}[data-theme=dark]{--bg: #1e1e2b;--panel: #2a2a3a;--panel-2: #26263a;--hairline: #334155;--hover-blue: rgba(79, 110, 247, .08);--ink: #f1f5f9;--muted: #cbd5e1;--faint: #94a3b8;--border: #334155;--border-strong: #475569;--accent: #4f6ef7;--accent-hover: #3b57d9;--accent-active: #2e46b5;--accent-soft: rgba(79, 110, 247, .12);--primary: #4f6ef7;--primary-dark: #3b57d9;--ring: rgba(79, 110, 247, .35);--cyber: #7c3aed;--cyber-hover: #6d28d9;--grad-brand: linear-gradient(135deg, #4f6ef7, #3b57d9);--glow-btn: 0 0 14px rgba(79, 110, 247, .25);--glow-input: 0 0 0 3px rgba(79, 110, 247, .1);--glow-bar: none;--panel-glass: rgba(42, 42, 58, .85);--modal-bg: #2a2a3a;--input-bg: #1e1e2b;--tooltip-bg: #334155;--ok: #22c55e;--ok-soft: rgba(34, 197, 94, .14);--warn: #f59e0b;--warn-soft: rgba(245, 158, 11, .14);--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .12);--info: #60a5fa;--info-soft: rgba(96, 165, 250, .12);--text-disabled: #64748b;--shadow-card: 0 1px 3px rgba(0, 0, 0, .2);--shadow-card-hover: 0 2px 8px rgba(79, 110, 247, .08);--shadow: none;--shadow-lg: 0 16px 40px rgba(0, 0, 0, .45);--skeleton-base: rgba(255, 255, 255, .06);--skeleton-shine: rgba(255, 255, 255, .14)}[data-theme=dark]{--dur-fast: .15s;--dur-normal: .25s;--dur-slow: .4s}body[data-scheme=green]{--bg: #f0f6f0;--panel: #ffffff;--panel-2: #e9f1e9;--ink: #1b2b1f;--muted: #5f7564;--faint: #92a597;--border: #e0ebe0;--border-strong: #cbdccd;--accent: #1e7a46;--accent-hover: #18633a;--accent-soft: rgba(30, 122, 70, .08);--primary: #1e7a46;--primary-dark: #18633a;--ring: rgba(30, 122, 70, .4)}body[data-scheme=paper]{--bg: #f7f1e6;--panel: #fffdf7;--panel-2: #f1ead9;--ink: #2b2418;--muted: #7a6f5c;--faint: #a89d8a;--border: #e9e1d0;--border-strong: #d6cbb4;--accent: #8a5a2b;--accent-hover: #73491f;--accent-soft: rgba(138, 90, 43, .08);--primary: #8a5a2b;--primary-dark: #73491f;--ring: rgba(138, 90, 43, .4)}.katex{color:var(--ink)}.pg{color:var(--muted);font-size:11px}.conf{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:5px;vertical-align:middle}.conf-高{background:var(--ok)}.conf-中{background:var(--warn)}.conf-低{background:var(--danger)}.formula-panel h4{margin:14px 0 6px;font-size:14px}.formula-item{padding:6px 8px;border-radius:6px;overflow-x:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.formula-item:hover{background:#2563eb0f}.tex-raw{font-family:ui-monospace,monospace;font-size:12px;background:var(--bg);padding:4px 6px;border-radius:4px}.pg-link{border:none;background:none;color:var(--primary);cursor:pointer;font-size:12px;padding:0}.pseudocode{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px;overflow-x:auto;white-space:pre;line-height:1.5}.pdf-textlayer{position:absolute;top:0;right:0;bottom:0;left:0}.pdf-line:hover{background:#2563eb1f}.pdf-line.hl{background:#facc158c;transition:background 1.5s}.dim-popover{position:fixed;z-index:60;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:12px;max-width:340px;font-size:13px;color:var(--ink)}.dim-pop-item{margin-bottom:8px;line-height:1.5}.dim-pop-item .pg-link{margin-left:6px}.cell-flash{animation:cellflash 2s}@keyframes cellflash{0%,to{background:transparent}50%{background:#facc1566}}*{box-sizing:border-box}body{margin:0;font-family:var(--font-ui);font-size:var(--fs-16);line-height:var(--lh-base);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-spacing-trim:trim-all;text-rendering:optimizeLegibility;transition:background-color .3s ease,color .3s ease}.app-header,.card,.dropzone,.scenario-card,.chart-card,.tab,.chip,.btn,.paper-item,.modal,.queue-item{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.theme-anim,.theme-anim *,.theme-anim *:before,.theme-anim *:after{transition:background-color .32s ease,color .32s ease,border-color .32s ease,fill .32s ease,box-shadow .32s ease!important;animation-duration:.32s!important}@keyframes appIn{0%{opacity:0}to{opacity:1}}.container{animation:appIn .5s ease both}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:var(--lh-tight);color:var(--ink)}a{color:var(--accent)}img,svg{max-width:100%}.app-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);width:100%;padding:var(--sp-3) var(--sp-5);background:color-mix(in srgb,var(--panel) 88%,transparent);-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--border);color:var(--ink)}.brand{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.brand-mark{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:var(--r-sm);background:var(--accent);color:#fff}.brand-text{min-width:0}.app-header h1{margin:0;font-size:var(--fs-16);letter-spacing:-.01em;font-weight:650;white-space:nowrap}.app-header .sub{display:block;margin-top:1px;font-size:var(--fs-11);color:var(--faint);letter-spacing:.02em}.header-actions{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap;justify-content:flex-end}.view-mode-wrap{position:relative}.view-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:132px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow);padding:4px;z-index:50}.view-item{display:block;width:100%;text-align:left;background:transparent;border:none;border-radius:var(--r-sm);padding:8px 10px;font-size:13px;color:var(--ink);cursor:pointer}.view-item:hover{background:var(--panel-2)}.view-item.on{color:var(--accent);font-weight:600}.sync-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--danger);margin-left:5px;vertical-align:middle}.btn.icon-only{padding:7px;line-height:0}.container{max-width:1280px;margin:0 auto;padding:var(--sp-5)}@media (min-width: 1600px){.container{max-width:1480px}}.tab{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--border);background:var(--panel);border-radius:var(--r-pill);cursor:pointer;font-size:var(--fs-14);font-family:inherit;color:var(--muted);transition:background .15s,color .15s,border-color .15s}.tab:hover{border-color:var(--border-strong);color:var(--ink)}.tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tabs{display:flex;gap:var(--sp-5);margin:0 0 var(--sp-6);flex-wrap:wrap;border-bottom:1px solid var(--border)}.tabs .tab{padding:11px 0;border:none;border-bottom:2px solid transparent;border-radius:0;background:transparent;margin-bottom:-1px;color:var(--muted)}.tabs .tab:hover{color:var(--ink);background:transparent;border-bottom-color:var(--border-strong)}.tabs .tab.active{color:var(--ink);font-weight:600;background:transparent;border-bottom-color:var(--accent)}.tabs .tab.active .ic{color:var(--accent)}.ic{display:inline-block;vertical-align:middle;flex:none}.tab .cap-dot{display:inline-block;width:5px;height:5px;border-radius:50%;margin-left:2px;vertical-align:middle;background:var(--ok);opacity:0;transition:opacity .15s ease}.tab:hover .cap-dot,.tab.active .cap-dot{opacity:1}.tab .cap-dot.mixed{background:var(--warn)}.tab .cap-dot.cloud{background:var(--accent)}.tab-more{position:relative;display:inline-flex}.tab-more .more-trigger{gap:4px}.tab-more .more-trigger .more-chev{transition:transform .15s ease}.tab-more.open .more-trigger .more-chev,.tab-more .more-trigger[aria-expanded=true] .more-chev{transform:rotate(180deg)}.tab-more-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:184px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column;gap:2px;z-index:50}.tab-more-item{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border:none;background:transparent;border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-14);font-family:inherit;color:var(--muted);text-align:left}.tab-more-item:hover{background:var(--panel-2);color:var(--ink)}.tab-more-item.active{color:var(--ink);font-weight:600;background:var(--accent-soft)}.tab-more-item .cap-dot{margin-left:auto;opacity:1}@media (max-width: 720px){.tabs{gap:var(--sp-3);flex-wrap:wrap}.tabs .tab{white-space:nowrap;padding:9px 0}.tab-more-menu{right:0;left:auto}.app-header .sub{display:none}}.status-bar{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.status-dot{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-11);padding:3px 9px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--panel);color:var(--muted);white-space:nowrap}.status-dot.local{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,var(--border))}.status-dot.local.busy{background:var(--ok-soft);animation:pulse-soft 1.4s ease-in-out infinite}.status-dot.cloud{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.status-dot.cloud.busy{background:var(--accent-soft);animation:pulse-soft 1.4s ease-in-out infinite}.status-dot.cloud.retry{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,var(--border));background:var(--warn-soft)}.status-dot.off{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:var(--danger-soft)}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.55}}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-5);margin-bottom:var(--sp-4)}.card>h3,.card>h4{font-size:var(--fs-20);margin-bottom:var(--sp-3)}.card--inset{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4)}.btn{background:var(--accent);color:#fff;border:1px solid var(--accent);padding:9px 18px;border-radius:var(--radius);cursor:pointer;font-size:var(--fs-14);font-family:inherit;transition:background .15s,border-color .15s,transform .08s ease}.btn:active{transform:translateY(1px)}.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn.ghost:hover{background:var(--accent-soft)}table.matrix{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}table.matrix th,table.matrix td{border:none;border-bottom:1px solid var(--border);padding:var(--sp-3) var(--sp-4);text-align:left;vertical-align:top;line-height:var(--lh-loose)}table.matrix th{position:sticky;top:0;z-index:3;background:var(--panel);color:var(--muted);font-weight:600;font-size:var(--fs-11);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--border-strong);padding-top:var(--sp-2);padding-bottom:var(--sp-2)}table.matrix th:first-child,table.matrix td:first-child{position:sticky;left:0;z-index:2;background:var(--panel);border-right:1px solid var(--border)}table.matrix th:first-child{z-index:4}table.matrix tbody tr:hover td{background:var(--panel-2)}table.matrix tbody tr:last-child td{border-bottom:none}table.matrix th.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}table.matrix th.th-sort:hover{color:var(--ink);background:var(--panel-2)}table.matrix th.th-sort.on{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}table.matrix th.th-sort[draggable=true]{cursor:grab}table.matrix th.th-sort[draggable=true]:active{cursor:grabbing}table.matrix th .th-grip{display:inline-block;width:8px;height:14px;margin-left:6px;vertical-align:middle;opacity:0;transition:opacity .15s ease;background-image:radial-gradient(circle,var(--muted) 1px,transparent 1.6px);background-size:4px 5px;background-position:0 1px}table.matrix th.th-sort[draggable=true]:hover .th-grip{opacity:.45}table.matrix th.th-sort[draggable=true]:active .th-grip{opacity:.85}table.matrix th .sort-ic{margin-left:4px;font-size:10px}table.matrix th .th-fill{border:none;background:transparent;cursor:pointer;font-size:12px;line-height:1;padding:2px 4px;margin-left:6px;border-radius:var(--r-sm);color:var(--muted)}table.matrix th .th-fill:hover{color:var(--accent);background:var(--accent-soft)}table.matrix th .th-fill:disabled{opacity:.35;cursor:default}.matrix-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;max-height:calc(100vh - 232px);overflow-y:auto}.skeleton{display:block;background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-shine) 37%,var(--skeleton-base) 63%);background-size:400% 100%;border-radius:6px;animation:shimmer 1.4s ease infinite}.skeleton-line{height:11px;margin:7px 0}.skeleton-line.short{width:55%}.skeleton-line.mid{width:75%}.skeleton-block{height:30px;border-radius:8px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.skeleton.sk-card{border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin:6px 0;background-clip:padding-box}.skeleton.sk-title{height:13px;width:72%;margin-bottom:8px}.skeleton.sk-meta{height:11px;width:46%;margin-bottom:12px}.skeleton.sk-btn{height:24px;width:82px;border-radius:999px}.skeleton.sk-line{height:12px;margin:9px 0;border-radius:6px}.skeleton.sk-line.lg{height:14px;width:62%}.skeleton.sk-ic{width:34px;height:34px;border-radius:50%;flex:none}.insight-skel{display:flex;gap:12px;padding:10px 0;align-items:flex-start}.insight-skel .sk-body{flex:1}.empty-hint{display:inline-flex;align-items:flex-start;gap:6px;line-height:1.6}.empty-hint .ic{margin-top:2px;flex:none;color:var(--accent)}.dropzone{position:relative;overflow:hidden}.dropzone.over{animation:dropPulse 1.1s ease-in-out infinite;transform:scale(1.012)}@keyframes dropPulse{0%,to{border-color:var(--accent);box-shadow:0 0 0 0 var(--accent-soft)}50%{border-color:var(--accent-hover);box-shadow:0 0 0 6px transparent}}.scan-line{position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:0 0 8px var(--accent);animation:scanDown 1.6s linear infinite;pointer-events:none}@keyframes scanDown{0%{top:0;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}.tag.dim{position:relative;transition:transform .2s ease,opacity .2s ease,background .15s ease,color .15s ease}.tag.dim.removing{transform:scale(.6);opacity:0;pointer-events:none}.dim-x:hover{background:var(--accent-soft);border-radius:999px}.chip.add{border-style:dashed;border-color:var(--accent);color:var(--accent)}.chip.add .chip-add-ic{display:inline-flex}.dim-personal-row{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.dim-personal-row .dim-pt-empty{font-size:12px}.chip.ptpl>span[role=button]{cursor:pointer;display:inline-flex;align-items:center;gap:3px}.chip.ptpl .chip-x{margin-left:2px;font-size:13px;line-height:1}.chip-input-pop{display:inline-flex;align-items:center;gap:4px;animation:popIn .18s ease}.chip-input-pop input{width:150px;padding:4px 10px;font-size:13px}@keyframes popIn{0%{opacity:0;transform:translateY(-4px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.collapsible{overflow:hidden;transition:max-height .25s ease,opacity .25s ease,margin .25s ease}.collapsible.collapsed{max-height:0!important;opacity:0;margin-top:0!important}.collapsible-head{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.collapsible-head .chev{transition:transform .25s ease;color:var(--muted)}.collapsible-head.open .chev{transform:rotate(180deg)}@media (max-width: 760px){.matrix-scroll{scroll-snap-type:x proximity;scroll-padding-left:168px}table.matrix th:first-child,table.matrix td:first-child{width:168px;max-width:168px;min-width:168px}table.matrix th:not(:first-child),table.matrix td:not(:first-child){scroll-snap-align:start}}.matrix-scroll.card-mode{max-height:none;overflow:visible}.matrix-scroll.card-mode table.matrix,.matrix-scroll.card-mode table.matrix thead,.matrix-scroll.card-mode table.matrix tbody,.matrix-scroll.card-mode table.matrix tr,.matrix-scroll.card-mode table.matrix th,.matrix-scroll.card-mode table.matrix td{display:block;width:100%!important;max-width:100%!important;min-width:0!important}.matrix-scroll.card-mode table.matrix thead{display:none}.matrix-scroll.card-mode table.matrix tr{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--sp-3);padding:4px var(--sp-2);background:var(--panel)}.matrix-scroll.card-mode table.matrix td{position:static!important;border:none!important;border-bottom:1px dashed var(--border)!important;display:flex;flex-direction:column;gap:2px;padding:8px 4px}.matrix-scroll.card-mode table.matrix tr td:last-child{border-bottom:none!important}.matrix-scroll.card-mode table.matrix td:before{content:attr(data-label);font-size:var(--fs-11);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.matrix-scroll.card-mode table.matrix td.cell .cell-tools{position:static;opacity:1;flex-direction:row;justify-content:flex-end}.matrix-scroll.card-mode table.matrix td.cell:focus-visible,.matrix-scroll.card-mode table.matrix td.cell.cell-focus{outline-offset:-2px}table.matrix td ul{margin:0;padding-left:16px}table.matrix td li{line-height:var(--lh-base);margin-bottom:2px}table.matrix li.pt.active{background:var(--accent-soft);border-radius:3px}.mx-divider{width:1px;height:20px;background:var(--border);margin:0 4px}.mx-filter{padding:4px 10px;border:1px solid var(--border);border-radius:var(--r-pill);font-size:var(--fs-12);width:150px;background:var(--panel);color:var(--ink)}mark.kw-hit{background:color-mix(in srgb,var(--accent) 18%,transparent);color:inherit;border-radius:2px;padding:0 1px;font-weight:600}.trace-nav{display:flex;align-items:center;gap:6px;margin-top:6px;padding-top:4px;border-top:1px dashed var(--border)}.trace-nav .tn-btn{border:1px solid var(--border);background:var(--panel);border-radius:6px;width:24px;height:22px;line-height:1;cursor:pointer;color:var(--ink)}.trace-nav .tn-btn:hover{border-color:var(--accent);color:var(--accent)}.trace-nav .tn-info{font-size:11px;color:var(--muted)}.paper-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-sm);margin-bottom:var(--sp-2);background:var(--panel);transition:border-color .15s ease,background .15s ease}.paper-item:hover{border-color:var(--border-strong);background:var(--panel-2)}.paper-item .title{flex:1;font-size:14px}.paper-item .meta{font-size:12px;color:var(--muted)}.dropzone{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:var(--sp-6) var(--sp-5);text-align:center;color:var(--muted);cursor:pointer;background:var(--panel-2);transition:border-color .18s ease,background .18s ease,color .18s ease}.dropzone:hover{border-color:var(--accent);color:var(--ink)}.dropzone.over{border-color:var(--accent);border-style:solid;background:var(--accent-soft);color:var(--ink)}.progress{height:8px;background:var(--border);border-radius:999px;overflow:hidden;margin-top:10px}.progress>span{display:block;height:100%;background:var(--primary);transition:width .25s ease}.muted{color:var(--muted);font-size:13px}.tag{display:inline-block;background:var(--accent-soft);color:var(--accent);border-radius:var(--r-sm);padding:2px 8px;font-size:var(--fs-12);margin:2px 4px 2px 0}textarea,input[type=text],input[type=search],input[type=number],select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-14);font-family:inherit;line-height:1.5;background:var(--panel);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}textarea,input[type=text]{width:100%}textarea:hover,input[type=text]:hover,input[type=search]:hover,input[type=number]:hover,select:hover{border-color:var(--border-strong)}textarea:focus,input[type=text]:focus,input[type=search]:focus,input[type=number]:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea::placeholder,input::placeholder{color:var(--faint)}.review-out{white-space:pre-wrap;line-height:var(--lh-loose);font-size:var(--fs-14);margin-top:12px;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-4)}.split{display:flex;gap:16px;align-items:flex-start}.split-left{flex:1;min-width:0}.split-right{flex:1;min-width:0;max-height:72vh;overflow:auto;border-left:1px solid var(--border);padding-left:16px}.tag.dim{display:inline-flex;align-items:center;gap:4px}.dim-x{border:none;background:none;color:var(--accent);cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.pdf-viewer{font-size:13px}.pdf-page{margin-bottom:16px;border:1px solid var(--border);border-radius:8px;padding:8px;transition:outline .2s}.pdf-page-num{font-size:12px;color:var(--muted);margin-bottom:6px}.pdf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.pdf-thumb{border:1px solid var(--border);border-radius:var(--r-sm);padding:6px;cursor:pointer;background:var(--panel-2)}.pdf-thumb img{width:100%;border-radius:4px}.btn.tiny{padding:4px 10px;font-size:12px;border-radius:6px}.btn.danger,.btn.ghost.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.btn.ghost.danger:hover{background:#dc262614}.icon-btn{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:14px;line-height:1;padding:3px 5px;border-radius:5px}.icon-btn:hover{background:var(--accent-soft);color:var(--accent)}.icon-btn.has-note{color:var(--accent)}select{cursor:pointer}.hint{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:6px;border-radius:50%;background:var(--border);color:var(--muted);font-size:11px;font-weight:700;cursor:help;position:relative;vertical-align:middle}.hint:hover{background:var(--primary);color:#fff}.hint-pop{display:none;position:absolute;top:22px;left:50%;transform:translate(-50%);width:240px;background:var(--panel);color:var(--ink);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:10px 12px;font-size:12px;font-weight:400;line-height:1.6;text-align:left;z-index:80;white-space:normal}.hint-pop.wide{width:300px}.hint:hover .hint-pop{display:block}.chip-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chip{border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:var(--r-pill);padding:4px 12px;font-size:var(--fs-12);line-height:1.6;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-family:inherit;transition:background .15s ease,border-color .15s ease,color .15s ease}.chip:hover{border-color:var(--border-strong);background:var(--accent-soft);color:var(--ink)}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.chip.on:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.density-switch{display:inline-flex;gap:4px;align-items:center}.dim-market{margin:10px 0 4px;padding:10px 12px;border:1px dashed var(--border);border-radius:10px;background:color-mix(in srgb,var(--accent) 5%,var(--panel))}.dim-market .dm-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px}.dim-market .dm-head .mx-filter{width:130px;margin-left:auto}.dm-grid{display:flex;flex-wrap:wrap;gap:6px}.chip.market{flex-direction:column;align-items:flex-start;gap:0;padding:5px 11px;text-align:left}.chip.market .dm-name{font-weight:600;color:var(--ink)}.chip.market .dm-meta{font-size:10px;color:var(--muted)}.chip.market.added{opacity:.5;cursor:default;background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 40%,var(--border))}.chip.market.added .dm-meta:after{content:" · 已添加"}.dim-suggest-bar{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin:8px 0 2px;padding:9px 12px;border-radius:10px;background:var(--accent-soft);border:1px solid var(--border);border-left:2px solid var(--accent);font-size:var(--fs-12);color:var(--ink)}.dim-suggest-bar .dsb-ic{font-size:16px}.dim-suggest-bar .dsb-text{color:var(--muted)}.dsb-items{display:flex;flex-wrap:wrap;gap:6px}.dsb-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 6px 3px 10px;border-radius:999px;border:1px solid var(--border-strong);background:var(--panel)}.dsb-chip .dsb-ok,.dsb-chip .dsb-x{border:none;width:18px;height:18px;border-radius:50%;cursor:pointer;font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.dsb-chip .dsb-ok{background:var(--ok);color:#fff}.dsb-chip .dsb-ok:hover{background:var(--accent-hover)}.dsb-chip .dsb-x{background:transparent;color:var(--muted)}.dsb-chip .dsb-x:hover{background:#dc262626;color:var(--danger)}.chip.add{border-style:dashed}.chip:disabled{opacity:.5;cursor:not-allowed}.chip.folder>span:first-child{cursor:pointer}.chip-x{border:none;background:none;cursor:pointer;color:inherit;opacity:.6;font-size:11px;padding:0 1px}.chip-x:hover{opacity:1}.dim-name{border:none;background:none;cursor:pointer;font-size:13px;padding:0;color:inherit;font-family:inherit}.dim-name:hover{text-decoration:underline dotted}.tag.dim-edit{font-size:13px;padding:2px 6px;border:1px solid var(--accent);border-radius:999px;outline:none}.dim-wizard{margin-top:14px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--accent) 5%,var(--panel, #fff))}.dw-title{font-weight:600;font-size:13.5px;color:var(--accent)}.dw-input{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:8px;padding:8px 10px;font:inherit;font-size:13px;resize:vertical;background:var(--panel, #fff);color:var(--ink)}.batch-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border-radius:var(--r-sm);background:var(--accent-soft);border:1px solid rgba(37,99,235,.25);font-size:13px}.folder-tag{background:var(--accent-soft);color:var(--accent)}.note-tag,.warn-tag{background:var(--warn-soft);color:var(--warn)}.ok-tag{background:var(--ok-soft);color:var(--ok)}.paper-item .title>.meta{margin-top:3px}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:var(--panel);border-radius:14px;box-shadow:0 20px 60px #00000040;padding:22px;width:100%;max-width:560px;max-height:88vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.modal-head .icon-btn{font-size:20px}.modal-section{margin:18px 0}.modal-section:first-child{margin-top:4px}.modal-section .field{margin-bottom:10px}.modal-foot{margin:14px 0 0;padding-top:14px;border-top:1px solid var(--border)}.shortcut-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.5;color:var(--ink)}.shortcut-list li{display:flex;align-items:baseline;gap:12px}.shortcut-list li>span{flex:none;min-width:168px;text-align:right;color:var(--muted)}.shortcut-list kbd{display:inline-block;padding:1px 7px;margin:0 1px;font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;line-height:1.6;color:var(--ink);background:var(--panel-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:6px}.field{display:block;margin-bottom:12px;flex:1}.field>span{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.field-row{display:flex;gap:12px}.modal select{width:100%}.modal.onboard{max-width:480px}.onboard-body{text-align:center;padding:10px 4px 4px}.onboard-icon{font-size:40px;margin-bottom:6px}.onboard-body h4{margin:6px 0 10px;font-size:17px}.onboard-body p{font-size:14px;line-height:1.75;text-align:left;margin:8px 0}.onboard-foot{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.dots{display:flex;gap:6px}.dot{width:8px;height:8px;border-radius:50%;background:var(--border);cursor:pointer}.dot.on{background:var(--primary);width:20px;border-radius:999px}.onboard-hero{text-align:left;padding:14px 16px;margin:4px 0 14px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,#2563eb0d,#2563eb03)}.oh-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--primary);background:#2563eb1a;border-radius:999px;padding:3px 10px}.onboard-cta{font-size:15px;font-weight:600;padding:10px 18px}.onboard-cta svg{margin-right:4px;vertical-align:-2px}.onboard-how{border-top:1px dashed var(--border);padding-top:10px}.link-btn{background:none;border:none;color:var(--primary);font-size:13px;cursor:pointer;padding:4px 0;display:inline-flex;align-items:center;gap:4px}.link-btn .flip{transform:rotate(180deg)}.ai-style-row{display:flex;gap:6px;flex-wrap:wrap}.ai-style-chip{border:1px solid var(--border);background:var(--surface, #fff);color:inherit;border-radius:999px;padding:5px 14px;font-size:13px;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.ai-style-chip:hover{border-color:var(--accent)}.ai-style-chip.on{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.ai-corr-list{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.chip.ai-corr{align-items:center;gap:4px}.ai-corr-text{word-break:break-all}.ai-cap-toggle{margin:6px 0 4px}.ai-cap-notice{margin:6px 0 0;padding-left:18px;font-size:12px;line-height:1.7;color:var(--muted, #888)}.ai-cap-notice li{margin-bottom:2px}.msg-error{font-size:13px;color:var(--danger);margin:8px 0 0}.btn-row-labeled{display:flex;gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap;align-items:center}.row-label{font-size:var(--fs-11);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-right:2px}.matrix-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--sp-3);gap:var(--sp-3);flex-wrap:wrap}.matrix-toolbar{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;margin-bottom:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border)}.dropdown{position:relative}.dropdown-menu{position:absolute;right:0;top:40px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);min-width:230px;z-index:70;overflow:hidden;padding:4px}.dropdown-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;border:none;background:none;text-align:left;padding:8px 12px;cursor:pointer;border-radius:7px;color:var(--ink);font-family:inherit;font-size:13px}.dropdown-item em{font-style:normal;font-size:11px;color:var(--muted);margin-top:1px}.dropdown-item:hover{background:#2563eb1a}.dropdown-item.sep{border-top:1px solid var(--border);margin-top:4px;padding-top:10px}.copy-feedback{margin-top:6px;font-size:11.5px;color:var(--ok);background:var(--ok-soft);border:1px solid rgba(34,197,94,.35);border-radius:6px;padding:4px 8px;cursor:pointer;white-space:nowrap}table.matrix td.cell{position:relative;padding-right:14px}.cell-tools{position:absolute;top:3px;right:3px;display:flex;gap:1px;opacity:0;transition:opacity .15s;background:var(--panel);border-radius:6px}table.matrix td.cell:hover .cell-tools{opacity:1}.cell-title{font-weight:600;line-height:1.6}.ct-doi{display:inline-block;margin-right:6px;font-size:11px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.ct-main{font-size:14px}.ct-sub{margin-top:3px;font-size:11.5px;font-weight:400;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px;align-items:center}.ct-src{color:var(--primary);text-decoration:none;border:1px solid var(--primary);border-radius:999px;padding:1px 7px;white-space:nowrap;transition:background .15s}.ct-src:hover{background:var(--primary);color:#fff}.ct-badge{display:inline-block;margin-left:6px;padding:0 7px;font-size:11px;line-height:18px;font-weight:600;color:#fff;background:var(--primary);border-radius:999px;vertical-align:middle}.ct-badge.mine{background:var(--ok)}.ct-badge.cite{background:#eaf0fb;color:#2b4cc4}.ct-badge.credit{background:#eef2f9;color:var(--primary)}.ct-badge.credit.ok{background:#e1f1e8;color:#2e7d52}.ct-badge.credit.mid{background:#fbeccb;color:#b9770e}.ct-badge.credit.low{background:#f3e0d8;color:#c0392b}.empty-cell{opacity:.5}.cell-edit textarea{width:100%;font-size:13px;line-height:1.6;padding:8px;border:1px solid var(--primary);border-radius:6px;background:var(--panel);color:var(--ink);resize:vertical}.cell-edit-tip{font-size:11px;margin:4px 0 6px}.cell-note{width:100%;margin-top:8px;font-size:12px;line-height:1.6;padding:7px 9px;border:1px dashed var(--accent);border-radius:6px;background:transparent;color:var(--ink);resize:vertical}.cell-note-view{margin-top:8px;padding:6px 9px;border-left:3px solid var(--accent);background:#0f766e12;border-radius:0 6px 6px 0;font-size:12px;line-height:1.6;color:var(--ink);cursor:text;white-space:pre-wrap}.thoughts-input{width:100%;box-sizing:border-box;font:inherit;font-size:12.5px;line-height:1.6;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel, #fff);color:var(--ink);resize:vertical}.thoughts-input:focus{border-color:var(--accent);outline:none}.cell-thoughts-hl{background:var(--accent-soft, rgba(43, 76, 196, .08))}.cell-thoughts-hl .thoughts-input{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft, rgba(43, 76, 196, .14))}.conf-人工{background:var(--accent)}.ev-chip{display:inline-block;margin-left:6px;padding:0 5px;border-radius:6px;font-size:10.5px;line-height:16px;vertical-align:middle;font-weight:500;border:1px solid transparent;white-space:nowrap}.ev-chip.ev-fact{background:#2ea0641f;color:var(--ok)}.ev-chip.ev-summary{background:#d69e2e26;color:var(--warn)}.ev-chip.ev-inference{background:transparent;color:var(--danger);border:1px dashed var(--danger)}.ev-chip.ev-manual{background:#3b82f61a;color:var(--accent)}li.pt{position:relative}.ev-pop{position:absolute;left:0;top:calc(100% + 4px);z-index:60;display:flex;flex-direction:column;gap:2px;min-width:190px;max-width:280px;padding:6px 9px;background:var(--panel, #fff);border:1px solid var(--border-strong, #d8dbe0);border-radius:6px;box-shadow:0 6px 20px #00000024;font-size:11px;line-height:1.5;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease-out,visibility .15s ease-out}li.pt:hover .ev-pop{opacity:1;visibility:visible}.ev-pop .evp-title{font-weight:600;color:var(--ink, #1f2937);word-break:break-word}.ev-pop .evp-page{color:var(--accent)}.ev-pop .evp-type{align-self:flex-start;padding:0 6px;border-radius:999px;font-size:10px}.ev-pop .evp-type.ev-fact{background:#22c55e1f;color:#15803d}.ev-pop .evp-type.ev-summary{background:#d69e2e1f;color:#a16207}.ev-pop .evp-type.ev-inference{background:transparent;color:var(--danger);border:1px dashed var(--danger)}.ev-pop .evp-type.ev-manual{background:#3b82f61a;color:var(--accent)}.ev-pop .evp-tip{color:var(--muted, #6b7280);word-break:break-word}.ev-pop .evp-section{color:var(--accent);font-size:11px}.ev-pop .evp-source{display:block;color:var(--ink, #1f2937);background:#3b82f60f;border-left:2px solid var(--accent);padding:3px 6px;border-radius:4px;font-size:11px;line-height:1.4;word-break:break-word}.ev-quote{margin:4px 0 2px;padding:3px 8px;border-left:3px solid var(--accent);background:#3b82f60d;color:var(--ink, #1f2937);font-size:11px;line-height:1.45;border-radius:0 4px 4px 0;word-break:break-word}.pt.ev-summary .pt-text{background:#d69e2e14;border-radius:4px;padding:1px 3px}.pt.ev-inference{border:1px dashed rgba(220,90,90,.4);border-radius:6px;padding:2px 4px}.cell-conflicts{display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px;margin-top:5px}.conflict-reason{flex-basis:100%;font-size:11px;line-height:1.45;margin:1px 0 2px;padding-left:2px}.cell-revisions{margin-top:4px;display:flex;flex-direction:column;gap:2px}.cell-revision{background:repeating-linear-gradient(45deg,var(--panel-2, #f2f4f7),var(--panel-2, #f2f4f7) 4px,transparent 4px,transparent 8px);border-left:2px solid var(--border-strong, #d8dbe0);padding:2px 6px;border-radius:0 4px 4px 0;opacity:.62}.cell-revision .rev-label{display:block;font-size:10px;color:var(--muted, #6b7280);margin-bottom:1px}.cell-revision .rev-points{list-style:none;margin:0;padding:0}.cell-revision .rev-points li{font-size:11px;line-height:1.4;color:var(--muted, #6b7280);text-decoration:line-through;text-decoration-color:var(--faint, #9ca3af)}.conflict-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:#d69e2e26;color:#b8831f;border:1px solid rgba(214,158,46,.35);font-size:11.5px;cursor:pointer;max-width:100%}.conflict-chip:hover{background:#d69e2e42}.conflict-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conflict-more{font-size:11px}.upload-queue{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}.queue-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);margin-bottom:8px}.queue-item{display:grid;grid-template-columns:minmax(0,1.4fr) 74px 90px minmax(0,1fr);gap:10px;align-items:center;padding:7px 0;font-size:12px;border-bottom:1px dashed var(--border)}.q-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.q-status{font-size:11px;padding:2px 8px;border-radius:999px;text-align:center;background:var(--border);color:var(--muted)}.q-status.parsing,.q-status.reading{background:var(--accent-soft);color:var(--accent)}.q-status.done{background:var(--ok-soft);color:var(--ok)}.q-status.error{background:var(--danger-soft);color:var(--danger)}.q-bar{margin-top:0;height:6px}.queue-item.done .q-bar>span{background:var(--ok)}.queue-item.error .q-bar>span{background:var(--danger)}.q-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.chat-box{margin-top:14px;max-height:52vh;overflow-y:auto;padding:4px 2px}.bubble{display:flex;flex-direction:column;margin-bottom:14px;max-width:88%}.bubble.user{margin-left:auto;align-items:flex-end}.bubble-actions{display:flex;justify-content:flex-end;margin-bottom:4px}.bubble-copy{border:none;background:transparent;cursor:pointer;font-size:11.5px;line-height:1;color:var(--muted);padding:2px 6px;border-radius:var(--r-sm)}.bubble-copy:hover{color:var(--accent);background:var(--accent-soft)}.bubble-body{padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.75;white-space:pre-wrap;word-break:break-word}.bubble.user .bubble-body{background:var(--primary);color:#fff;border-bottom-right-radius:3px}.bubble.assistant .bubble-body{background:var(--bg);border:1px solid var(--border);border-bottom-left-radius:3px}.bubble-src{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.src-chip{border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:6px;padding:2px 8px;font-size:11px;cursor:pointer;font-family:inherit;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.src-chip:hover{border-color:var(--primary);color:var(--primary)}.typing span{animation:blink 1.2s infinite}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,to{opacity:.2}50%{opacity:1}}.chat-input{display:flex;gap:8px;margin-top:10px;align-items:flex-end}.chat-input input[type=text],.chat-input .chat-textarea{flex:1;font:inherit;font-size:14px;line-height:1.6;padding:9px 12px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);color:var(--ink);resize:none;overflow-y:auto;max-height:140px}.chat-input .chat-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.chat-input input[type=text]{flex:1}@media (max-width: 820px){.split{flex-direction:column}.split-right{border-left:none;border-top:1px solid var(--border);padding-left:0;padding-top:16px;max-height:none}.queue-item{grid-template-columns:minmax(0,1fr) 70px;grid-row-gap:4px}.field-row{flex-direction:column;gap:0}.bubble{max-width:100%}}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.chart-card{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--panel)}.chart-card.chart-wide{grid-column:1 / -1}.chart-title{font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:8px}.chart-svg{width:100%;height:auto;display:block}.chart-axis{stroke:var(--border);stroke-width:1}.chart-bar{fill:var(--accent);opacity:.85;transition:opacity .15s ease,fill .15s ease}.chart-bar:hover{opacity:1}.chart-bar.active,.chart-bar-g.active .chart-bar{fill:var(--accent-strong, var(--accent));opacity:1}.chart-hl-ring{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:3 2;pointer-events:none;animation:hlPulse 1.4s ease-in-out infinite}@keyframes hlPulse{0%,to{opacity:.45}50%{opacity:1}}.chart-bar.highlight,.chart-bar-g.highlight .chart-bar{fill:var(--accent);opacity:1}.chart-bar-g:focus-visible{outline:none}.chart-bar-g:focus-visible .chart-bar{stroke:var(--accent);stroke-width:2}.chart-word{fill:var(--ink);font-weight:600;transition:fill .15s ease,opacity .15s ease}.chart-word:hover{fill:var(--accent)}.chart-word.hl{fill:var(--accent);opacity:1!important}.chart-word-g:focus-visible{outline:none}.chart-word-g:focus-visible .chart-word{fill:var(--accent)}.focus-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;margin:4px 0 14px;background:var(--accent-soft, rgba(43, 76, 196, .08));border:1px solid var(--accent);border-radius:8px;font-size:13px;color:var(--ink)}.focus-banner .fb-icon{color:var(--accent);display:inline-flex}.focus-banner .fb-text{flex:1;line-height:1.5}.focus-banner strong{color:var(--accent)}.metric-focus-hint{margin-top:8px;font-size:12px}.chart-xlabel,.chart-ylabel,.chart-rowlabel{fill:var(--muted);font-size:11px}.metric-select{margin-left:auto;padding:4px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--ink)}.empty-chart{display:flex;align-items:flex-start;gap:12px;padding:18px 14px;border:1px dashed var(--border-strong);border-radius:8px;background:var(--panel-2)}.empty-chart .ec-icon{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.empty-chart .ec-body{min-width:0}.empty-chart .ec-title{font-weight:600;color:var(--ink);margin-bottom:2px}.empty-chart .ec-hint{font-size:12.5px;line-height:1.6;color:var(--muted)}@media (max-width: 720px){.chart-grid{grid-template-columns:1fr}}.rec-block{border-top:1px solid var(--border);padding-top:4px}.rec-block:first-of-type{border-top:none}.rec-sub{font-size:12px;font-weight:600;color:var(--muted);margin:8px 0 4px}.rec-card{border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:6px;background:var(--bg);display:flex;flex-direction:column;gap:2px}.rec-title{font-weight:600}.rec-meta{font-size:12px}.local-badge{display:inline-block;font-size:10px;line-height:1;padding:3px 6px;border-radius:var(--r-pill);background:var(--warn-soft);color:var(--warn);border:1px solid transparent;vertical-align:middle}.chip.project{border-style:dashed;border-color:var(--accent)}.chip.project.on{background:var(--accent);color:#fff;border-color:var(--accent)}.chip.project .chip-x{color:inherit}.cell-tools .icon-btn.has-comment{background:var(--accent-soft);color:var(--accent)}.cell-comments{margin-top:6px;border-top:1px dashed var(--border);padding-top:6px;display:flex;flex-direction:column;gap:6px}.cell-comments .cc-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.cell-comments .cc-head .link-btn{font-size:11px}.cell-comment{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:6px 8px;font-size:13px}.cell-comment .cm-text{white-space:pre-wrap;word-break:break-word}.cell-comment .cm-meta{display:flex;gap:8px;margin-top:4px;font-size:11px;color:var(--muted)}.cell-comment .cm-actions{margin-left:auto;display:flex;gap:6px}.cm-add textarea{width:100%;margin-top:4px}.drawer-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,#000 36%,transparent);display:flex;justify-content:flex-end;z-index:200;animation:fadeIn .18s ease}.drawer{width:min(420px,92vw);height:100%;background:var(--panel);box-shadow:-8px 0 28px #0000002e;display:flex;flex-direction:column;animation:slideInRight .2s ease}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border)}.drawer-tools{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border)}.drawer-tools .metric-select{margin-left:0;max-width:160px}.drawer-body{flex:1;overflow-y:auto;padding:8px 12px 16px}.cm-row{display:block;width:100%;text-align:left;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:8px;cursor:pointer;transition:border-color .15s ease,transform .1s ease}.cm-row:hover{border-color:var(--accent)}.cm-row:active{transform:scale(.995)}.cm-row-top{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin-bottom:4px}.cm-row-top .cm-dim{color:var(--accent);font-weight:600;background:color-mix(in srgb,var(--accent) 12%,transparent);padding:1px 6px;border-radius:5px;white-space:nowrap}.cm-row-top .cm-paper{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-row-top .cm-time{white-space:nowrap}.cm-row-text{font-size:13px;color:var(--ink);white-space:pre-wrap;word-break:break-word}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(24px);opacity:.6}to{transform:translate(0);opacity:1}}.review-comments{margin-top:18px;border-top:2px solid var(--border);padding-top:10px}.rev-para{margin-bottom:14px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.rev-para-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}.rev-para-idx{font-weight:700;color:var(--accent);font-size:12px}.rev-para-text{font-size:14px;line-height:1.6;white-space:pre-wrap;color:var(--ink)}.link-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-size:12px;padding:0}.link-btn:hover{text-decoration:underline}.link-btn.danger{color:var(--danger)}.stepper{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.step{font-size:11px;padding:2px 9px;border-radius:999px;background:var(--border);color:var(--muted);white-space:nowrap}.step.done{background:var(--ok-soft);color:var(--ok)}.step.active{background:var(--accent);color:#fff}.cell ul li{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}.src-btn{margin-left:auto;font-size:12px;opacity:.45;transition:opacity .15s}.cell ul li:hover .src-btn{opacity:1}.cite-chip{display:inline;border:none;background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:0 5px;margin:0 1px;font-size:.92em;cursor:pointer;font-family:inherit;vertical-align:baseline}.cite-chip:hover{background:var(--accent);color:#fff}.webref-trace{margin-top:4px}.webref-card{border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:var(--r-sm);padding:12px 14px;background:var(--surface)}.webref-title{font-weight:600;color:var(--ink);margin-bottom:4px}.webref-link{display:inline-block;margin:6px 0;color:var(--accent);word-break:break-all;font-size:var(--fs-13)}.webref-snippet{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border);font-size:var(--fs-13);color:var(--ink-2);white-space:pre-wrap;line-height:1.6}.trace-banner{background:var(--accent-soft);border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:var(--r-sm);padding:8px 10px;font-size:var(--fs-12);margin-bottom:10px;color:var(--ink)}.trace-banner .trace-text{color:var(--muted)}.trace-banner.focus{background:var(--accent-soft);border-left:2px solid var(--accent)}.trace-banner.focus strong{color:var(--accent)}.insights-card{border-color:var(--border);border-left:2px solid var(--accent);background:var(--panel)}.insights-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.insight-item{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px dashed var(--border)}.insight-ic{font-size:18px;line-height:1.4}.insight-body{flex:1}.insight-title{font-weight:600;font-size:14px}.insight-detail{font-size:13px;color:var(--muted);margin:3px 0 7px;line-height:1.6}.insight-exec{background:var(--accent)}.insight-exec:hover{background:var(--accent-hover)}.advisor-badge{display:inline-block;margin-left:8px;font-size:var(--fs-11);font-weight:600;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--r-pill);padding:1px 9px;vertical-align:middle}.insight-advice{display:flex;gap:6px;align-items:baseline;margin:6px 0 8px;padding:8px 10px;background:var(--panel-2);border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:var(--r-sm);font-size:13px;line-height:var(--lh-base);color:var(--ink)}.advice-ic{flex:none;font-weight:600;font-size:var(--fs-12);color:var(--accent);white-space:nowrap}.vp-summary{display:flex;gap:8px;align-items:flex-start;margin:2px 0 10px;padding:9px 12px;border-radius:8px;font-size:13px;line-height:1.6;background:var(--panel-2);border:1px solid var(--border);border-left:2px solid var(--accent);color:var(--ink)}.vp-summary b{font-weight:700}.gap-card{border-color:var(--border);border-left:2px solid var(--accent)}.gap-sec{margin-top:12px}.gap-sec-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--border)}.gap-item{padding:8px 10px;border-radius:8px;background:var(--panel);border:1px solid var(--border);margin-bottom:8px}.gap-item.conflict{border-color:var(--border);border-left:2px solid var(--danger);background:var(--panel-2)}.gap-item.unresolved{display:flex;gap:6px;align-items:baseline;border-style:dashed;background:var(--panel-2);border-color:var(--border-strong)}.gap-item-title{font-weight:600;font-size:13px;color:var(--ink);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.gap-dim{font-size:10px;color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:0 5px}.gap-detail{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.6}.gap-pts{margin:4px 0 0;padding-left:18px}.gap-pt{font-size:12px;line-height:1.6;color:var(--ink)}.gap-pt:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:3px}.gap-evidence{font-size:11px;color:var(--muted);margin-top:4px}.gap-badge{font-size:10px;padding:1px 7px;border-radius:999px;border:1px solid var(--border)}.gap-badge.none{color:var(--warn);background:var(--warn-soft)}.gap-badge.weak{color:var(--accent);background:var(--accent-soft)}.gap-badge.strong{color:var(--ok);background:var(--ok-soft)}.vs{color:var(--danger);font-weight:700;margin:0 2px}.ro-tree{margin-top:10px;border-left:2px solid var(--border);padding-left:14px}.ro-title{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:4px}.ro-thesis{font-size:13px;color:var(--muted);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:6px 10px;margin-bottom:10px;line-height:1.7}.ro-sec{margin-bottom:14px;padding-left:6px;border-left:3px solid color-mix(in srgb,var(--accent) 45%,transparent)}.ro-gap-sec{border-left-color:#dc262680}.ro-sec-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ro-sec-h{font-size:14px;font-weight:700;color:var(--ink)}.ro-arg{font-size:12.5px;color:var(--muted);margin:4px 0 6px;line-height:1.6}.ro-points{margin:0;padding-left:18px}.ro-point{font-size:13px;line-height:1.65;color:var(--ink);margin-bottom:5px}.ro-children{margin:6px 0 0 14px;border-left:2px dashed var(--border);padding-left:12px}.ro-child-h{font-size:13px;font-weight:600;color:var(--ink);margin-top:6px}.ro-expanded{margin-top:8px;padding:8px 10px;background:var(--panel);border:1px solid var(--border);border-radius:8px}.ro-expanded-h{font-size:11px;font-weight:700;color:var(--accent);margin-bottom:4px}.rec-seed{background:var(--panel-2);border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:var(--r-sm);padding:8px 12px;font-size:13px;margin:6px 0 4px;color:var(--ink)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.btn.primary.demo-cta{font-size:var(--fs-14);padding:10px 18px}.btn.primary.byok-cta{font-size:var(--fs-14);font-weight:650;padding:10px 18px;display:inline-flex;align-items:center;gap:7px}.byok-model-hint{margin-top:6px;font-size:12px;line-height:1.5;color:var(--p-muted)}.byok-model-hint b{color:var(--accent);font-weight:600}.byok-explain{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.65;color:var(--muted);background:var(--accent-soft, #eef3fb);border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin:0 0 12px}.byok-explain svg{flex:0 0 auto;margin-top:2px;color:var(--accent)}.byok-explain b{color:var(--ink)}.demo-hero{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-4) 0 var(--sp-2)}.dh-title{font-size:var(--fs-24);font-weight:650;line-height:var(--lh-tight);letter-spacing:-.02em;color:var(--ink);max-width:22ch}.scenario-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--sp-4)}.scenario-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-5);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease;display:flex;flex-direction:column;gap:6px}.scenario-card:hover{border-color:var(--accent);box-shadow:var(--shadow-lg);transform:translateY(-4px) scale(1.02)}.scenario-card:hover .sc-btn{background:var(--accent-hover);border-color:var(--accent-hover)}.sc-icon{font-size:22px;line-height:1;margin-bottom:2px;opacity:.85}.sc-title{font-size:var(--fs-16);font-weight:650;letter-spacing:-.01em;color:var(--ink)}.sc-tag{font-size:var(--fs-12);font-weight:600;color:var(--accent)}.sc-meta{font-size:var(--fs-12);line-height:var(--lh-base);color:var(--muted);min-height:38px}.sc-dims{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}.sc-dims .tag.dim{font-size:11px;padding:2px 8px}.sc-btn{margin-top:4px;width:100%;justify-content:center}.demo-loader-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#0f172a73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px}.demo-loader{position:relative;overflow:hidden;width:min(440px,92vw);background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:26px 24px;box-shadow:var(--shadow);text-align:center}.dl-caret{color:var(--accent);animation:blink 1s steps(2,start) infinite;margin-left:1px}.dl-icon{font-size:40px}.dl-title{font-size:18px;font-weight:700;color:var(--ink);margin-top:6px}.dl-sub{font-size:13px;color:var(--muted);margin-top:2px}.dl-tip{margin-top:14px;font-size:12px;color:var(--muted);background:var(--bg);border-radius:8px;padding:8px 10px;min-height:40px}.tour-spotlight{z-index:3100;border:2px solid var(--primary);border-radius:8px;box-shadow:0 0 0 9999px #0f172a8c;pointer-events:none;transition:all .35s ease}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;scroll-snap-type:none!important}.cell-flash{animation:none!important}.tour-spotlight{transition:none!important}.demo-loader .progress>div{transition:none!important}.skeleton{animation:none!important;background:var(--skeleton-base)}.dropzone.over{animation:none!important;transform:none}.scan-line{display:none!important}.scenario-card:hover{transform:none}.chip-input-pop{animation:none!important}.tag.dim.removing{transition:none!important;transform:scale(.6);opacity:0}.theme-anim,.theme-anim *,.theme-anim *:before,.theme-anim *:after{transition:none!important;animation:none!important}.chart-hl-ring{animation:none!important;opacity:.9!important}}.topbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:9999;pointer-events:none;opacity:0;transition:opacity .2s ease}.topbar.on{opacity:1}.topbar:after{content:"";position:absolute;left:0;top:0;height:100%;width:38%;border-radius:0 3px 3px 0;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:topbarSlide 1.05s ease-in-out infinite}@keyframes topbarSlide{0%{transform:translate(-120%)}to{transform:translate(360%)}}.spin{animation:spin .8s linear infinite;transform-origin:center}@keyframes spin{to{transform:rotate(360deg)}}.tour-bubble{z-index:3200;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px 16px;max-width:320px;box-shadow:0 12px 30px #00000040}.tour-step-label{font-size:11px;font-weight:700;color:var(--primary);margin-bottom:6px}.tour-text{font-size:13.5px;line-height:1.55;color:var(--ink)}.tour-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tour-progress{height:3px;background:var(--primary);border-radius:999px;margin-top:12px;transition:width .3s ease-out}.demo-try{border:1px dashed var(--border-strong);background:var(--panel-2)}.demo-hint{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--border);border-left:2px solid var(--accent);background:var(--panel-2)}.demo-hint .dh-text{font-size:13px;line-height:1.7;color:var(--ink)}.demo-hint .dh-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.demo-hint .dh-switch{margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.demo-hint .dh-switch-label{font-size:12px;color:var(--muted)}.demo-hint .chip{padding:2px 10px}.demo-mode-chip{display:inline-block;margin-left:10px;padding:2px 10px;font-size:var(--fs-12);font-weight:600;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--r-pill);vertical-align:middle}.ct-src-inline{display:inline-block;padding:0 6px;border:1px solid var(--primary);border-radius:999px;font-size:12px;color:var(--primary);white-space:nowrap}.pdf-viewer.text-mode{max-height:70vh;overflow:auto;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.pdf-page.text-page{margin-bottom:14px}.pdf-textonly{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 14px;line-height:1.9;font-size:14px;color:var(--ink)}.pdf-line-text{cursor:text;-webkit-user-select:text;user-select:text;border-radius:3px;padding:0 2px}.pdf-line-text.hl{background:color-mix(in srgb,var(--accent) 20%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.review-banner{background:var(--panel-2);border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:var(--r-sm);padding:10px 14px;margin:10px 0}.rb-title{font-size:13px;color:var(--ink);margin-bottom:6px}.rb-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:90;background:var(--ink);color:var(--panel);font-size:var(--fs-14);font-weight:500;padding:10px 18px;border-radius:var(--r-pill);box-shadow:0 8px 24px #0000002e;animation:toastPop .35s cubic-bezier(.22,1.4,.4,1)}@keyframes toastPop{0%{opacity:0;transform:translate(-50%,16px) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}.task-center{position:relative}.tc-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;line-height:16px;text-align:center}.tc-panel{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-height:60vh;overflow:auto;background:var(--panel);border:1px solid var(--line, rgba(128, 128, 128, .18));border-radius:12px;box-shadow:0 16px 48px #0000002e;z-index:120;padding:10px}.tc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.tc-title{font-weight:600;font-size:14px;display:flex;gap:8px;align-items:center}.tc-count{font-size:11px;color:var(--accent);font-weight:600}.tc-list{display:flex;flex-direction:column;gap:6px}.tc-empty{padding:16px;text-align:center;font-size:13px}.tc-item{display:flex;gap:10px;align-items:flex-start;padding:8px;border-radius:10px}.tc-item:hover{background:var(--panel-2)}.tc-ic{flex:0 0 auto;margin-top:2px;color:var(--muted)}.tc-ic.spin svg{animation:spin 1s linear infinite}.tc-done .tc-ic{color:#16a34a}.tc-failed .tc-ic,.tc-interrupted .tc-ic{color:#dc2626}.tc-body{flex:1 1 auto;min-width:0}.tc-label{display:flex;align-items:center;gap:6px}.tc-name{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-kind{font-size:10px;padding:1px 6px;border-radius:6px;background:var(--panel-2);color:var(--muted);flex:0 0 auto}.tc-detail{font-size:12px;margin-top:2px;word-break:break-word}.tc-bar{height:4px;margin-top:6px}.tc-actions{flex:0 0 auto;display:flex;gap:4px}.tc-foot{font-size:11px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line, rgba(128, 128, 128, .18))}.task-toast{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line, rgba(128, 128, 128, .18));padding:10px 16px;border-radius:10px;box-shadow:0 12px 32px #0000002e;font-size:13px;font-weight:500;max-width:90vw;animation:toastPop .35s cubic-bezier(.22,1.4,.4,1)}.task-toast.ok{border-left:3px solid #16a34a}.task-toast.fail{border-left:3px solid #dc2626}.task-toast.ok svg{color:#16a34a}.task-toast.fail svg{color:#dc2626}.sci-tip{display:flex;gap:8px;align-items:flex-start;margin-top:12px;padding:10px 14px;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);font-size:13px;line-height:var(--lh-base);color:var(--muted);animation:tipFade .5s ease}.sci-ic{flex:none}@keyframes tipFade{0%{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.adapt-toggle{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:12.5px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.adapt-toggle input{accent-color:var(--accent)}.guide-toggle{align-self:flex-start}.matrix-guide{margin-top:12px;padding:14px 16px;border:1px dashed var(--border);border-radius:10px;background:color-mix(in srgb,var(--accent) 6%,var(--panel, #fff));font-size:13px;line-height:1.7;color:var(--ink)}.matrix-guide h4{margin:14px 0 6px;font-size:14px;color:var(--accent)}.matrix-guide h4:first-of-type{margin-top:4px}.matrix-guide p{margin:6px 0}.matrix-guide ul{margin:6px 0;padding-left:20px}.matrix-guide li{margin:4px 0}.mg-lead{margin:0 0 4px!important}.mg-table{width:100%;border-collapse:collapse;margin:8px 0;font-size:12.5px}.mg-table th,.mg-table td{border:1px solid var(--border);padding:6px 8px;text-align:left;vertical-align:top}.mg-table th{background:var(--panel-2);font-weight:600}.mg-tip{margin-top:10px!important;padding:8px 10px;border-radius:var(--r-sm);background:var(--panel-2);border-left:2px solid var(--accent);color:var(--ink)}.trace-loc{margin-top:5px;font-size:var(--fs-12);font-weight:600;color:var(--accent)}.pdf-line.hl,.pdf-line-text.hl{animation:hlPulse 1.4s ease-in-out infinite alternate}@keyframes hlPulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 0%,transparent)}to{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 40%,transparent)}}.fig-bar{margin-bottom:10px}.fig-strip{display:flex;gap:10px;overflow-x:auto;padding:10px 2px;margin-top:8px;border-top:1px dashed var(--border)}.fig-thumb{flex:none;width:150px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--panel);text-decoration:none;color:var(--ink);transition:transform .15s ease,box-shadow .15s ease}.fig-thumb:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000002e}.fig-thumb img{display:block;width:100%;height:110px;object-fit:contain;background:#fff;border-bottom:1px solid var(--border)}.fig-cap{display:block;font-size:11.5px;padding:5px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.pdf-line-text.math{color:var(--accent);font-style:italic}.math-ic{display:inline-block;margin-right:4px;font-size:var(--fs-11);color:var(--accent);opacity:.8}.rel-toggle{display:inline-flex;align-items:center;gap:4px;font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--ink)}.rel-reason{margin-top:8px;padding:8px 10px;border-radius:var(--r-sm);background:var(--panel-2);border:1px solid var(--border);border-left:2px solid var(--accent);font-size:13px;line-height:var(--lh-base);color:var(--ink)}.rel-rel-list{margin-top:10px;display:flex;flex-direction:column;gap:5px;max-height:280px;overflow:auto}.rel-rel-item{display:flex;align-items:center;gap:6px;text-align:left;font-size:12px;padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--ink);cursor:pointer}.rel-rel-item:hover{border-color:var(--accent)}.rel-legend{margin-top:12px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.rel-legend span{display:inline-flex;align-items:center;gap:4px}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.eb-card{max-width:560px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:28px 30px;box-shadow:var(--shadow);text-align:center}.eb-icon{font-size:40px;margin-bottom:6px}.eb-card h2{margin:4px 0 8px;color:var(--ink)}.eb-detail{text-align:left;font-size:12px;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;max-height:180px;overflow:auto;white-space:pre-wrap;word-break:break-word;margin:14px 0}.eb-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.error-boundary.panel-eb{min-height:60vh;border:1px solid var(--border);border-radius:14px;margin:16px 0}.stale-banner{display:flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--warn) 16%,var(--panel));border:1px solid color-mix(in srgb,var(--warn) 45%,var(--border));color:var(--ink);border-radius:10px;padding:8px 12px;font-size:13px;margin-bottom:12px}.stale-banner .btn{margin-left:auto}.paper-item.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.version-diff{border-top:1px dashed var(--border);padding-top:10px}.vd-head{font-size:13px;font-weight:600;margin-bottom:8px;color:var(--ink)}.vd-row{border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:8px;background:var(--panel)}.vd-meta{font-size:12.5px;margin-bottom:6px;color:var(--muted)}.vd-cols{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vd-a,.vd-b{font-size:12.5px;white-space:pre-wrap;word-break:break-word;border-radius:6px;padding:6px 8px;max-height:160px;overflow:auto}.vd-a{background:color-mix(in srgb,var(--warn) 12%,var(--bg))}.vd-b{background:color-mix(in srgb,var(--ok) 14%,var(--bg))}.vd-a span,.vd-b span{display:inline-block;font-size:10px;font-weight:700;opacity:.7;margin-right:6px}.team-versions{border-top:2px solid var(--accent);margin-top:14px;padding-top:12px}.tv-head{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:13px;color:var(--ink);margin-bottom:8px}.tv-head span{display:inline-flex;align-items:center;gap:6px}.tv-save{display:flex;gap:6px;margin-bottom:10px}.tv-input{flex:1;min-width:0;padding:6px 9px;border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--ink);font-size:13px}.tv-input:focus{outline:none;border-color:var(--accent)}.tv-item{border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:8px;background:var(--panel)}.tv-item .title{font-size:13px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tv-item .meta{font-size:11.5px;color:var(--muted);margin:3px 0 7px}.branch-tag{font-size:10.5px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--bg));border-radius:5px;padding:1px 6px}.tv-actions{display:flex;flex-wrap:wrap;gap:5px}.vd-cols-adopt{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.dh-sub{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:5px 12px;border-radius:999px;font-size:12.5px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.dh-sub .ic{color:var(--accent)}.graph-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg) 55%,transparent);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-radius:12px;overflow:hidden;pointer-events:none}.gl-scan{position:absolute;left:0;right:0;height:90px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--accent) 16%,transparent),transparent);animation:glScan 1.4s ease-in-out infinite}.gl-text{position:relative;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:7px 14px;box-shadow:var(--shadow)}.gl-text .ic{color:var(--accent)}@keyframes glScan{0%{transform:translateY(-90px);opacity:0}35%{opacity:1}65%{opacity:1}to{transform:translateY(620px);opacity:0}}.cmdk{width:min(560px,92vw);padding:0;overflow:hidden}.cmdk-input-wrap{display:flex;align-items:center;gap:9px;padding:13px 14px;border-bottom:1px solid var(--border);color:var(--muted)}.cmdk-input-wrap .ic{color:var(--muted);flex:none}.cmdk-input{flex:1;border:none;outline:none;background:transparent;color:var(--ink);font-size:15px}.cmdk-input::placeholder{color:var(--muted)}.cmdk-kbd{font-size:11px;color:var(--muted);border:1px solid var(--border);border-radius:var(--r-sm);padding:1px 6px;background:var(--panel-2)}.cmdk-list{list-style:none;margin:0;padding:6px;max-height:52vh;overflow-y:auto}.cmdk-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--r-sm);cursor:pointer;color:var(--ink)}.cmdk-item .ic{color:var(--muted);flex:none}.cmdk-item.active{background:var(--accent-soft)}.cmdk-item.active .ic{color:var(--accent)}.cmdk-title{flex:1;font-size:14px}.cmdk-hint{color:var(--muted);font-size:12px}.cmdk-empty{padding:16px;text-align:center;color:var(--muted);font-size:13px}.cmdk-foot{display:flex;gap:16px;padding:9px 14px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}.cmdk-foot kbd{font-size:11px;border:1px solid var(--border);border-radius:var(--r-sm);padding:0 5px;margin-right:3px;background:var(--panel-2)}td.cell:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}td.cell.cell-focus{outline:2px solid var(--accent);outline-offset:-2px;z-index:1}.row-grip{display:inline-flex;align-items:center;justify-content:center;width:16px;height:22px;margin-right:4px;color:var(--muted);cursor:grab;opacity:0;transition:opacity .15s ease;flex:none}tr:hover .row-grip{opacity:1}.row-grip:active{cursor:grabbing}.row-focus{display:inline-flex;align-items:center;justify-content:center;width:18px;height:20px;margin-right:2px;padding:0;border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:var(--r-sm);transition:background .15s ease,color .15s ease;flex:none}.row-focus:hover{background:var(--accent-soft);color:var(--accent)}.row-focus.on{color:#fff;background:var(--accent)}tr:hover .row-focus{opacity:1}.row-selected td{box-shadow:inset 3px 0 0 var(--accent)}.row-selected .cell-title .ct-main{color:var(--accent)}.th-drag-over{box-shadow:inset 3px 0 0 var(--accent)}.tr-drag-over td{border-top:2px solid var(--accent)!important}.row-alert td{background:#c0392b14;box-shadow:inset 3px 0 #c0392b}.row-alert .cell-title .ct-main{color:#c0392b}.dragging{opacity:.45}.view-toggle{display:inline-flex;gap:4px;align-items:center}.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 9px;border:1px solid var(--accent);border-radius:999px;background:var(--accent-soft, rgba(43, 76, 196, .1));color:var(--accent);font-size:var(--fs-12);font-weight:600;white-space:nowrap}.filter-chip-x{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;border-radius:50%;background:transparent;color:var(--accent);cursor:pointer;padding:0}.filter-chip-x:hover{background:#00000014}.dark .filter-chip-x:hover{background:#ffffff29}.cell-ai-suggest{margin-top:8px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft, rgba(43, 76, 196, .08));padding:8px 10px}.ai-suggest-text{font-size:var(--fs-13);line-height:1.6;color:var(--ink);white-space:pre-wrap;word-break:break-word}.ai-suggest-actions{display:flex;gap:6px;margin-top:8px}@keyframes tabIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.matrix-root{animation:tabIn .22s ease both}.q-badge{display:inline-flex;align-items:center;font-size:11px;line-height:1;padding:2px 7px;border-radius:999px;color:var(--ok, #16a34a);background:color-mix(in srgb,var(--ok, #16a34a) 14%,transparent);border:1px solid color-mix(in srgb,var(--ok, #16a34a) 35%,transparent);font-weight:600}.queue-item.cached .q-status{color:var(--ok, #16a34a)}.badge{display:inline-flex;align-items:center;gap:4px;font-weight:600}.badge.ok{color:var(--ok, #16a34a)}.badge.muted{color:var(--muted, #64748b)}.diag-section{display:flex;flex-direction:column;gap:2px;margin:6px 0;border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:6px 10px;background:color-mix(in srgb,var(--panel, #fff) 70%,var(--bg, #f8fafc))}.diag-row{display:grid;grid-template-columns:110px 1fr;gap:8px;align-items:baseline;padding:5px 0;border-bottom:1px dashed color-mix(in srgb,var(--border, #e2e8f0) 70%,transparent)}.diag-row:last-child{border-bottom:none}.diag-label{color:var(--muted, #64748b);font-size:13px}.diag-value{font-size:13px;font-weight:600;color:var(--ink, #1f2937);word-break:break-word}.diag-value .spin{display:inline-block}.metrics-cat{margin-top:8px}.metrics-cat-head{font-size:12px;font-weight:600;color:var(--accent);margin-bottom:4px}.metrics-cat-body{display:flex;flex-direction:column;gap:2px}.metrics-item{display:flex;align-items:center;gap:8px;font-size:12px;padding:2px 0}.metrics-item .mi-name{color:var(--muted, #64748b);min-width:150px}.metrics-item .mi-value{font-weight:600}.metrics-item .mi-hint{font-size:11px}.diag-hint{grid-column:2;font-size:11px}.ai-fb,.ai-fb-done{display:inline-flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}.ai-fb-done{color:var(--muted, #64748b)}.btn.fb-up:hover{color:var(--ok, #16a34a);border-color:color-mix(in srgb,var(--ok, #16a34a) 50%,transparent)}.btn.fb-down:hover{color:var(--danger, #dc2626);border-color:color-mix(in srgb,var(--danger, #dc2626) 50%,transparent)}.btn.fb-report:hover{color:var(--warn, #d97706);border-color:color-mix(in srgb,var(--warn, #d97706) 50%,transparent)}.fig-matrix{display:block}.fig-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:10px}.fig-chips{display:flex;flex-wrap:wrap;gap:6px}.fig-chip{border:1px solid var(--border, #d8dee9);background:var(--bg-soft, #f4f6fb);color:var(--text, #1f2937);border-radius:999px;padding:4px 10px;font-size:12.5px;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.fig-chip:hover{border-color:var(--accent, #2563eb)}.fig-chip.active{background:var(--accent, #2563eb);border-color:var(--accent, #2563eb);color:#fff}.fig-count{font-size:11px;background:#7f7f7f2e;border-radius:999px;padding:0 6px;line-height:16px}.fig-chip.active .fig-count{background:#ffffff47}.fig-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fig-search{border:1px solid var(--border, #d8dee9);border-radius:8px;padding:6px 10px;font-size:13px;background:var(--bg, #fff);color:var(--text, #1f2937);min-width:160px}.fig-search:focus{outline:2px solid color-mix(in srgb,var(--accent, #2563eb) 40%,transparent)}.fig-tools select{border:1px solid var(--border, #d8dee9);border-radius:8px;padding:6px 8px;font-size:13px;background:var(--bg, #fff);color:var(--text, #1f2937)}.fig-hint{font-size:12px;margin:4px 0 14px;line-height:1.6}.fig-err{display:flex;align-items:center;gap:6px;color:var(--danger, #dc2626);background:color-mix(in srgb,var(--danger, #dc2626) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger, #dc2626) 30%,transparent);border-radius:8px;padding:6px 10px;font-size:12.5px;margin-bottom:10px}.fig-group{margin-bottom:18px}.fig-note{display:flex;align-items:center;gap:6px;color:var(--accent, #1f5fff);background:color-mix(in srgb,var(--accent, #1f5fff) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent, #1f5fff) 30%,transparent);border-radius:8px;padding:6px 10px;font-size:12.5px;margin-bottom:10px}.fig-group-title{font-size:13.5px;margin:0 0 10px;font-weight:600}.fig-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.fig-card{margin:0;border:1px solid var(--border, #d8dee9);border-radius:12px;background:var(--bg-soft, #fbfcfe);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}.fig-card:hover{box-shadow:0 6px 18px #141e3c1a;transform:translateY(-2px)}.fig-thumb{display:block;border:0;padding:0;background:#0f172a;cursor:pointer;width:100%;aspect-ratio:4 / 3;overflow:hidden}.fig-thumb img{width:100%;height:100%;object-fit:contain;background:#0f172a}.fig-cap{font-size:12px;line-height:1.45;color:var(--text, #1f2937);padding:8px 10px 2px;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fig-meta{display:flex;align-items:center;gap:6px;padding:4px 10px;flex-wrap:wrap}.fig-badge{font-size:11px;font-weight:600;border-radius:999px;padding:2px 8px;line-height:16px;background:color-mix(in srgb,var(--accent, #2563eb) 14%,transparent);color:var(--accent, #2563eb);border:1px solid color-mix(in srgb,var(--accent, #2563eb) 30%,transparent)}.fig-badge.ai{background:color-mix(in srgb,#7c3aed 16%,transparent);color:#7c3aed;border-color:color-mix(in srgb,#7c3aed 35%,transparent)}.fig-ai-tag{font-size:9px;margin-left:4px;opacity:.85;vertical-align:middle}.fig-local-tag{font-size:9px;margin-left:4px;padding:0 4px;border-radius:4px;background:var(--accent, #2f5bd6);color:#fff;vertical-align:middle}.fig-src{font-size:11px;color:var(--muted, #64748b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.fig-ai{padding:2px 10px 4px;font-size:11.5px}.fig-ai-sum{margin:2px 0;color:var(--text, #1f2937);line-height:1.45}.fig-metrics{margin:4px 0 0;padding-left:16px;color:var(--muted, #475569)}.fig-metrics li{margin:1px 0}.fig-actions{display:flex;gap:6px;padding:8px 10px 10px;margin-top:auto}.fig-actions .btn{flex:1;justify-content:center}.zotero-block{border:1px solid var(--border, #d8dee9);border-radius:10px;padding:12px 14px;margin-bottom:12px;background:var(--bg-soft, #f8fafc)}.zotero-block h4{margin:0 0 10px;font-size:13.5px}.row-btns{display:flex;gap:8px;flex-wrap:wrap}.hint-sm{font-size:11.5px;color:var(--muted, #64748b);margin:8px 0 0;line-height:1.55}.zotero-msg{margin-top:6px;font-size:12.5px;background:color-mix(in srgb,var(--ok, #16a34a) 10%,transparent);border:1px solid color-mix(in srgb,var(--ok, #16a34a) 30%,transparent);color:var(--text, #1f2937);border-radius:8px;padding:8px 10px;line-height:1.55}.data-matrix{display:block}.dm-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.dm-title{font-size:13.5px;margin:14px 0 8px;font-weight:600}.dm-scroll{overflow-x:auto;border:1px solid var(--border, #d8dee9);border-radius:10px}.dm-table{border-collapse:collapse;width:100%;font-size:12px;min-width:480px}.dm-table th,.dm-table td{border:1px solid var(--border, #d8dee9);padding:6px 9px;text-align:left;vertical-align:top;line-height:1.4}.dm-table thead th{background:var(--bg-soft, #f4f6fb);position:sticky;top:0}.dm-label-col{min-width:150px}.dm-label{font-weight:600;background:var(--bg-soft, #f8fafc);color:var(--text, #1f2937)}.dm-col-title{display:block;font-weight:600}.dm-col-page{font-size:10.5px}.dm-empty,.dm-table td.dm-empty{color:var(--muted, #94a3b8)}.dm-merged{margin-bottom:6px}.dm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.dm-card{border:1px solid var(--border, #d8dee9);border-radius:12px;background:var(--bg-soft, #fbfcfe);overflow:hidden;display:flex;flex-direction:column}.dm-card.on{border-color:var(--accent, #2563eb);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent, #2563eb) 25%,transparent)}.dm-check{display:flex;align-items:center;gap:7px;padding:9px 11px;cursor:pointer;border-bottom:1px solid var(--border, #d8dee9)}.dm-check input{width:15px;height:15px}.dm-card-title{font-size:12.5px;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-mini{border-collapse:collapse;width:100%;font-size:11px}.dm-mini td{border:1px solid var(--border, #eef1f6);padding:3px 6px;line-height:1.35}.dm-head-row td{background:color-mix(in srgb,var(--accent, #2563eb) 8%,transparent);font-weight:600}.dm-first{background:var(--bg-soft, #f8fafc);font-weight:600;color:var(--text, #1f2937);white-space:nowrap}.dm-card .btn{margin:8px 11px 11px}.evo-bubble{fill:var(--accent);opacity:.72;transition:opacity .12s,stroke-width .12s;stroke:transparent;stroke-width:0}.evo-bubble:hover{opacity:1;stroke:var(--text);stroke-width:1.5}.evo-tp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.evo-tp-card{display:flex;align-items:center;gap:8px;text-align:left;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;cursor:pointer;font-family:inherit;color:var(--text);transition:border-color .12s,background .12s}.evo-tp-card:hover{border-color:var(--accent);background:var(--accent-soft)}.evo-year{font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;flex:0 0 auto}.evo-method-tag{font-size:11px;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:1px 8px;flex:0 0 auto;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.evo-method-tag.solid{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--accent-soft)}.evo-tp-title{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.evo-bridge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.evo-bridge-card{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.evo-bridge-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.evo-bridge-desc{margin:0 0 6px;font-size:12px;color:var(--muted)}.evo-bridge-list{margin:0;padding-left:18px;font-size:12px;line-height:1.6}.evo-discipline{color:var(--accent);font-weight:600}.deep-verify-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0 4px;margin-top:6px;border-top:1px dashed var(--border)}.switch-inline{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.switch-inline input{position:absolute;opacity:0;width:0;height:0}.switch-track{width:34px;height:18px;border-radius:999px;background:var(--muted);position:relative;transition:background .2s;flex:none}.switch-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000004d;transition:transform .2s}.switch-inline input:checked+.switch-track{background:var(--accent)}.switch-inline input:checked+.switch-track .switch-knob{transform:translate(16px)}.switch-label{display:inline-flex;align-items:center;gap:6px;font-size:13px}.verify-meta{display:flex;align-items:center;gap:8px;margin:10px 0 6px;font-size:13px;color:var(--muted);flex-wrap:wrap}.verify-flag{font-size:11px;padding:2px 8px;border-radius:999px}.conflict-flag{background:#d69e2e2e;color:#b8831f}.verify-section{margin:10px 0;padding:10px 12px;border-radius:10px;background:var(--panel-2, rgba(127, 127, 127, .06))}.verify-section h4{margin:0 0 6px;display:flex;align-items:center;gap:6px;font-size:13px}.verify-section.consensus{background:#22a0701a}.verify-section.consensus h4{color:var(--ok, #1f9d6b)}.verify-section.conflict{background:#d69e2e1f}.verify-section.conflict h4{color:#b8831f}.verify-section ul{margin:0;padding-left:18px}.verify-section li{font-size:13px;line-height:1.6}.conflict-item{padding:6px 0;border-top:1px solid var(--border)}.conflict-item:first-of-type{border-top:none}.conflict-topic{font-weight:600;font-size:13px;margin-bottom:4px}.conflict-ab{display:flex;flex-direction:column;gap:2px;font-size:12.5px}.conflict-rec{margin-top:4px;font-size:12px;color:var(--muted)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.summary-grid b{font-size:12px;color:var(--accent)}.summary-grid p{margin:4px 0 0;font-size:12.5px;line-height:1.5}.verify-raw{margin-top:8px;font-size:12.5px}.verify-raw summary{cursor:pointer;color:var(--muted)}.raw-item{margin-top:6px;padding:8px;border:1px solid var(--border);border-radius:8px}.raw-head{font-size:12px;margin-bottom:4px}.raw-item pre{white-space:pre-wrap;word-break:break-word;margin:0;font-size:12px;line-height:1.5;max-height:200px;overflow:auto}.team-threads{border-top:1px dashed var(--border, #e2e8f0);margin-top:6px;padding-top:6px}.cm-author{font-weight:600;color:var(--accent, #2563eb);margin-right:6px}.cell-comment.resolved{border-left:3px solid var(--ok, #16a34a)}.cell-comment.resolved .cm-text{text-decoration:line-through;opacity:.6}.cm-muted{color:var(--muted, #94a3b8);font-size:12px;padding:4px 0}.cm-reply{margin:6px 0 0 14px;padding-left:8px;border-left:2px solid var(--border, #e2e8f0)}.cm-reply .cm-text{font-size:12px}.cm-reply-add{display:flex;gap:6px;margin-top:6px;align-items:center}.cm-reply-add input{flex:1;padding:4px 6px;font-size:12px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #fff);color:var(--text, #0f172a)}.privacy-notice{display:flex;gap:8px;align-items:flex-start;margin:0 0 10px;padding:8px 12px;border:1px solid var(--border, #e8eaed);border-left:3px solid var(--accent, #2b4cc4);border-radius:8px;background:var(--accent-soft, rgba(43, 76, 196, .08));font-size:12px;line-height:1.6;color:var(--text, #0f172a)}.privacy-notice.compact{margin:6px 0 10px;padding:6px 10px}.privacy-notice-title{flex:none;font-weight:600;color:var(--accent, #2b4cc4);white-space:nowrap}.privacy-notice-body{min-width:0}.panel-shell-head{display:flex;align-items:center;gap:10px}.panel-shell-head>*:first-child{flex:1 1 auto}.panel-shell-head .ps-collapse-btn{flex:none}.panel-shell-collapsed{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;cursor:pointer;background:var(--bg);color:var(--fg);transition:border-color .2s ease,background .2s ease}.panel-shell-collapsed:hover{border-color:var(--accent);background:var(--accent-soft)}.panel-shell-collapsed:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel-shell-collapsed .ps-chev{transform:rotate(-90deg);color:var(--muted, #888)}.panel-shell-collapsed .ps-title{font-weight:600}.panel-shell-collapsed .ps-expand{margin-left:auto}.focus-bar{display:none;align-items:center;justify-content:center;gap:6px;padding:6px;background:var(--accent-soft);color:var(--accent);font-size:12px;cursor:pointer}body.focus-mode .focus-bar{display:flex}.resume-bar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--accent-soft);color:var(--accent);font-size:12px;border-bottom:1px solid var(--border)}.resume-bar .rb-text{flex:1;min-width:0}.resume-bar .icon-btn{font-size:16px;line-height:1;padding:2px 4px}.undo-bar{position:fixed;left:50%;bottom:18px;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--ink, #16191f);color:#fff;border-radius:999px;font-size:13px;box-shadow:0 6px 24px #0000002e;z-index:1200;overflow:hidden;max-width:min(92vw,560px)}.undo-bar .ub-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.undo-bar .ub-undo{flex-shrink:0;background:var(--accent);color:#fff}.undo-bar .ub-close{color:#ffffffb3}.undo-bar .ub-timer{position:absolute;left:0;bottom:0;height:2px;background:var(--accent);transition:width .1s linear}body.focus-mode .tabs,body.focus-mode .demo-hint,body.focus-mode .matrix-guide{display:none!important}body.focus-mode .header-actions>:not(.status-bar){display:none!important}.paper-writer{padding:var(--sp-5)}.paper-writer .pw-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4)}.paper-writer .pw-keygate{display:flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);color:var(--accent);padding:10px 14px;border-radius:var(--radius);margin-bottom:var(--sp-4);font-size:14px}.paper-writer .pw-keygate .btn.link{background:none;border:0;color:var(--accent);cursor:pointer;padding:0 4px;text-decoration:underline}.paper-writer .pw-history{border:1px solid var(--border);border-radius:var(--radius);padding:10px;margin-bottom:var(--sp-4);background:color-mix(in srgb,var(--accent) 3%,transparent)}.paper-writer .pw-history-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.paper-writer .pw-history-row:last-child{border-bottom:0}.paper-writer .pw-label{display:block;margin-bottom:6px;color:var(--ink-2);font-size:13px}.paper-writer .pw-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font:inherit;background:var(--bg-elev);color:var(--ink-1);margin-bottom:var(--sp-4);box-sizing:border-box}.paper-writer .pw-pickbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13px}.paper-writer .pw-paperlist{max-height:420px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius)}.paper-writer .pw-paperrow{display:flex;gap:10px;padding:10px 12px;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);cursor:pointer}.paper-writer .pw-paperrow:last-child{border-bottom:0}.paper-writer .pw-paperrow:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}.paper-writer .pw-paperrow.checked{background:color-mix(in srgb,var(--accent) 8%,transparent)}.paper-writer .pw-paperrow input{margin-top:3px}.paper-writer .pw-paperrow-body{flex:1;min-width:0}.paper-writer .pw-paperrow-title{font-weight:600;font-size:14px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.paper-writer .pw-paperrow-meta{font-size:12px;margin-top:2px}.paper-writer .pw-paperrow-abstract{font-size:12px;margin-top:4px;line-height:1.5}.paper-writer .pw-badge{display:inline-block;padding:1px 6px;border-radius:999px;font-size:11px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.paper-writer .pw-badge.demo{background:color-mix(in srgb,var(--warn, #d97706) 18%,transparent);color:var(--warn, #d97706)}.paper-writer .pw-foot{display:flex;align-items:center;margin-top:var(--sp-4)}.paper-writer .pw-module{margin:var(--sp-5) 0;padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb,var(--bg-elev) 96%,transparent)}.paper-writer .pw-module-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.paper-writer .pw-busy{color:var(--accent);display:flex;align-items:center;gap:6px;padding:12px}.paper-writer .pw-error{background:color-mix(in srgb,#dc2626 8%,transparent);color:#dc2626;padding:10px 12px;border-radius:var(--radius);display:flex;align-items:center;gap:10px}.paper-writer .pw-md{line-height:1.65;color:var(--ink-1)}.paper-writer .pw-md h1,.pw-md h3,.pw-md h4{margin:18px 0 8px}.paper-writer .pw-md table{border-collapse:collapse;width:100%;margin:12px 0;font-size:13px}.paper-writer .pw-md th,.pw-md td{border:1px solid var(--border);padding:6px 10px;text-align:left;vertical-align:top}.paper-writer .pw-md th{background:color-mix(in srgb,var(--accent) 6%,transparent);font-weight:600}.paper-writer .pw-md ul{margin:8px 0;padding-left:22px}.paper-writer .pw-md p{margin:8px 0}.paper-writer .pw-md code{background:color-mix(in srgb,var(--border) 50%,transparent);padding:1px 5px;border-radius:3px;font-size:12.5px}.paper-writer .pw-export{margin-top:var(--sp-5);padding:var(--sp-4);border:1px dashed var(--accent);border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 4%,transparent)}.discover-panel{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin:12px 0;background:color-mix(in srgb,var(--accent) 2%,transparent)}.discover-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.discover-head-title{display:flex;align-items:center;gap:8px}.discover-tabs{display:flex;gap:4px;margin-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.discover-tab{background:none;border:0;padding:8px 14px;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;font:inherit}.discover-tab.on{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.discover-form{display:flex;gap:8px;align-items:stretch}.discover-form-column{display:flex;flex-direction:column;gap:8px}.discover-input{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font:inherit;background:var(--bg-elev);color:var(--ink-1)}.discover-glossary{margin-top:8px}.discover-glossary>summary{cursor:pointer;font-size:12px;color:var(--muted);padding:4px 0}.glossary-list{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 12px}.glossary-item{font-size:12px;line-height:1.5;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;padding:2px 0}.glossary-item.hit{background:var(--accent-soft);border-radius:4px;padding:2px 4px}.glossary-item .g-zh{font-weight:600;color:var(--ink, #1f2937)}.glossary-item .g-en{color:var(--accent);font-family:var(--font-mono, ui-monospace, monospace);font-size:11px}.glossary-item .g-desc{width:100%;font-size:11px}.discover-textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font:inherit;background:var(--bg-elev);color:var(--ink-1);resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;box-sizing:border-box}.discover-advanced{margin-top:10px;border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:var(--radius);padding:6px 10px}.discover-advanced summary{cursor:pointer;color:var(--muted);font-size:13px;-webkit-user-select:none;user-select:none}.discover-advanced-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:8px}.discover-advanced-row label{display:flex;flex-direction:column;gap:4px;font-size:13px}.discover-advanced-row .discover-check{flex-direction:row;align-items:center;gap:6px;padding:6px 0}.discover-tally{margin-top:12px;margin-bottom:6px;font-size:13px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.discover-tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.discover-tag.dup{background:color-mix(in srgb,var(--muted) 18%,transparent);color:var(--muted)}.discover-tag.ok{background:color-mix(in srgb,#16a34a 18%,transparent);color:#16a34a}.discover-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);max-height:480px;overflow-y:auto;margin-top:4px}.discover-row{display:flex;gap:12px;padding:12px 14px;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);align-items:flex-start}.discover-row:last-child{border-bottom:0}.discover-row.dup{background:color-mix(in srgb,var(--muted) 5%,transparent)}.discover-row.checked{background:color-mix(in srgb,var(--accent) 4%,transparent)}.discover-row-body{flex:1;min-width:0}.discover-title{font-weight:600;font-size:14px;line-height:1.45}.discover-title a{color:var(--ink-1);text-decoration:none}.discover-title a:hover{text-decoration:underline}.discover-pdf{color:var(--accent);font-weight:600;text-decoration:none}.discover-pdf:hover{text-decoration:underline}.discover-row-action{flex-shrink:0;align-self:center}.discover-foot{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.discover-foot .btn.primary{margin-left:auto}.radar-empty{display:flex;align-items:flex-start;gap:6px;font-size:13px;margin-top:10px;padding:10px 12px;border:1px dashed var(--border);border-radius:var(--radius);line-height:1.6}.radar-topics{margin-top:10px;display:flex;flex-direction:column;gap:6px}.radar-topic-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev)}.radar-topic-q{font-weight:600;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.radar-topic-meta{font-size:12px;flex:none;white-space:nowrap}.radar-topic-actions{display:flex;gap:6px;flex:none}.radar-tier{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px}.radar-tier.high{background:color-mix(in srgb,#16a34a 16%,transparent);color:#16a34a;font-weight:600}.radar-tier.rel{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.radar-tier.new{background:color-mix(in srgb,var(--muted) 18%,transparent);color:var(--muted)}.decay-tier{display:inline-block;font-size:11px;padding:2px 10px;border-radius:999px;font-weight:600;white-space:nowrap}.decay-tier.retracted{background:color-mix(in srgb,#dc2626 16%,transparent);color:#dc2626}.decay-tier.corrected{background:color-mix(in srgb,#d97706 16%,transparent);color:#d97706}.suggest-bar{border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 6%,transparent);padding:10px 14px;margin-bottom:10px}.suggest-bar-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.suggest-ic{display:inline-flex;color:var(--accent)}.suggest-text{flex:1 1 auto;font-size:13px;min-width:0}.suggest-bar-head .icon-btn{margin-left:auto}.suggest-list{margin-top:8px;display:flex;flex-direction:column;gap:6px}.suggest-row{display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev)}.suggest-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.suggest-sim{flex:none;font-size:12px}.share-matrix-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev)}.share-matrix{border-collapse:collapse;width:100%;min-width:560px;font-size:13px}.share-matrix th,.share-matrix td{border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);padding:8px 10px;vertical-align:top;text-align:left}.share-matrix th{background:color-mix(in srgb,var(--accent) 6%,transparent);font-weight:600;white-space:nowrap}.share-matrix tr:last-child td{border-bottom:0}.share-matrix .sm-th-title,.share-matrix .sm-title{min-width:180px;max-width:260px}.share-matrix .sm-title{cursor:pointer;font-weight:600;line-height:1.45}.share-matrix .sm-title:hover{color:var(--accent)}.share-matrix .sm-cell{min-width:160px;max-width:300px}.sm-point{font-size:12px;line-height:1.5;padding:2px 0}.sm-point+.sm-point{border-top:1px dashed color-mix(in srgb,var(--border) 60%,transparent)}.sm-more{font-size:11px;color:var(--muted);margin-top:2px}.sm-paper-card{position:relative;margin-top:10px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 6%,transparent)}.sm-paper-card .icon-btn{position:absolute;top:8px;right:8px}.sm-paper-title{font-weight:600;font-size:14px;line-height:1.45;padding-right:24px}.verify-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:3px 10px;border-radius:999px;font-weight:600}.verify-badge.pending{background:color-mix(in srgb,#d97706 16%,transparent);color:#d97706}.verify-badge.ok{background:color-mix(in srgb,#16a34a 16%,transparent);color:#16a34a}.audit-list{display:flex;flex-direction:column;gap:6px;margin-top:4px;max-height:420px;overflow-y:auto}.audit-row{display:flex;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);align-items:flex-start}.audit-kind{display:inline-flex;align-items:center;gap:4px;flex:none;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);margin-top:1px}.audit-body{flex:1 1 auto;min-width:0}.audit-detail{font-size:13px;line-height:1.5}.audit-extra{font-size:12px;color:var(--muted);margin-top:2px}.audit-time{font-size:11px;color:var(--muted);margin-top:3px}.portal-shell{display:flex;gap:18px;align-items:stretch;animation:fade-in .25s ease}.portal-nav{flex:0 0 220px;display:flex;flex-direction:column;gap:6px;position:sticky;top:14px;align-self:flex-start}.portal-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;padding:4px 8px 12px;color:var(--text)}.portal-brand-icon{color:var(--accent);padding:2px 8px 10px}.portal-nav nav{display:flex;flex-direction:column;gap:4px}.portal-nav-item{display:grid;grid-template-columns:20px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;text-align:left;background:transparent;border:1px solid transparent;border-radius:8px;padding:9px 10px 9px 9px;cursor:pointer;color:var(--text);box-shadow:inset 3px 0 0 transparent;transition:background .2s ease,box-shadow .2s ease,color .2s ease}.portal-nav-item:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.portal-nav-item.active{background:color-mix(in srgb,var(--accent) 4%,transparent);box-shadow:inset 3px 0 0 var(--accent)}.portal-nav-item.active .portal-nav-label{color:var(--ink);font-weight:700}.portal-nav-item>svg{grid-row:1 / span 2}.portal-nav-label{font-weight:600;font-size:14px}.portal-nav-desc{grid-column:2;font-size:11px;color:var(--muted)}.portal-nav-item.portal-pod-soft .portal-nav-label{font-weight:500;font-size:13px;color:color-mix(in srgb,var(--text) 72%,var(--muted))}.portal-nav-item.portal-pod-soft .portal-nav-desc{display:none}.portal-nav-item.portal-pod-soft{padding-top:5px;padding-bottom:5px;opacity:.82}.portal-data-btn{margin-top:12px;justify-content:center}.portal-content{flex:1 1 auto;min-width:0}.portal-nav-section{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--muted) 25%,transparent)}.portal-section-label{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--muted);padding:0 10px 2px}.portal-tool-item{display:flex;align-items:center;gap:8px;padding:7px 10px}.portal-tool-sub{padding-left:22px;font-size:13px}.portal-tool-go{margin-left:auto;opacity:0;transition:opacity .2s ease,transform .2s ease;transform:translate(-3px);color:var(--muted)}.portal-tool-item:hover .portal-tool-go{opacity:1;transform:translate(0)}.portal-tools-toggle{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--muted);font-size:12px;padding:6px 10px;cursor:pointer;text-align:left;border-radius:8px;transition:background .2s ease,color .2s ease}.portal-tools-toggle:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--text)}.portal-tools-toggle .more-chev{transition:transform .2s ease}.portal-tools-toggle.open .more-chev{transform:rotate(180deg)}.tool-crumb{display:flex;align-items:center;gap:8px;margin-bottom:12px}.tool-crumb .crumb-home{display:inline-flex;align-items:center;gap:4px}.tool-crumb .crumb-sep{color:var(--muted);flex:0 0 auto}.crumb-current{font-weight:600;font-size:14px;color:var(--text)}.tool-crumb .tab-more{margin-left:auto}.cockpit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.cockpit-card-head{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:10px}.cockpit-card-head strong{font-size:14px}.focus-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid color-mix(in srgb,var(--muted) 18%,transparent);font-size:13px}.focus-item:first-of-type{border-top:none}.focus-item.overdue .focus-title{color:#d9534f}.focus-item.reading{border-top:1px dashed color-mix(in srgb,var(--muted) 30%,transparent)}.focus-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wb-badge{display:inline-block;padding:4px 12px;border-radius:999px;font-weight:600;font-size:13px;margin-bottom:8px}.wb-badge.low{background:color-mix(in srgb,#2e9e5b 16%,transparent);color:#1f7a44}.wb-badge.mid{background:color-mix(in srgb,#e0a800 18%,transparent);color:#8a6d00}.wb-badge.high{background:color-mix(in srgb,#d9534f 16%,transparent);color:#b23b37}.wb-tips{margin:8px 0 0;padding-left:2px;list-style:none}.wb-tips li{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text);padding:3px 0}.kfusion{display:grid;grid-template-columns:1fr 320px;gap:14px;align-items:start}.kfusion-main{display:flex;flex-direction:column;gap:14px;min-width:0}.kfusion-launch{display:flex;gap:8px;flex-wrap:wrap}.kfusion-side{position:sticky;top:14px}.eco-list{display:flex;flex-direction:column;gap:10px}.eco-item{border:1px solid color-mix(in srgb,var(--muted) 18%,transparent);border-radius:10px;padding:8px 10px}.eco-paper{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eco-match{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);margin-top:4px;padding-left:19px}.growth{display:flex;flex-direction:column;gap:14px}.skill-cloud{display:flex;flex-wrap:wrap;gap:8px}.skill-node{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);font-size:13px}.skill-node.s2{background:color-mix(in srgb,var(--accent) 16%,transparent)}.skill-node.s3{background:color-mix(in srgb,var(--accent) 24%,transparent);font-weight:600}.skill-src{display:inline-flex;gap:3px}.skill-src i{font-style:normal;font-size:10px;color:var(--muted);border:1px solid color-mix(in srgb,var(--muted) 30%,transparent);border-radius:4px;padding:0 3px}.growth-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rec-list,.job-list{display:flex;flex-direction:column;gap:10px}.rec-item{display:flex;gap:8px;align-items:flex-start;font-size:13px}.job-head{display:flex;align-items:center;gap:8px;font-size:13px}.job-pct{margin-left:auto;font-weight:700;font-size:13px}.job-pct.hi{color:#1f7a44}.job-pct.mid{color:#8a6d00}.job-pct.lo{color:var(--muted)}.job-bar{height:6px;border-radius:999px;background:color-mix(in srgb,var(--muted) 22%,transparent);overflow:hidden;margin:4px 0}.job-bar-fill{height:100%;background:var(--accent);transition:width .3s ease}.campus-flow{display:flex;flex-direction:column;gap:14px}.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.res-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--muted) 18%,transparent);border-radius:10px;font-size:13px}.res-card svg{color:var(--accent);flex:none}.disc-form{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.disc-list{display:flex;flex-direction:column;gap:8px}.disc-item{border:1px solid color-mix(in srgb,var(--muted) 18%,transparent);border-radius:10px;overflow:hidden}.disc-title{width:100%;display:flex;align-items:center;gap:6px;background:transparent;border:none;padding:10px 12px;cursor:pointer;color:var(--text);font-size:13px;text-align:left}.disc-detail{padding:0 12px 10px;border-top:1px solid color-mix(in srgb,var(--muted) 16%,transparent)}.disc-reply{display:flex;align-items:center;gap:6px;font-size:13px;padding:5px 0}.disc-reply-form{display:flex;gap:6px;margin-top:6px}.campus-modal{width:min(720px,94vw);max-height:88vh;display:flex;flex-direction:column}.campus-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px 0;border-bottom:1px solid color-mix(in srgb,var(--muted) 18%,transparent)}.campus-tab{display:inline-flex;align-items:center;gap:5px;background:transparent;border:none;border-bottom:2px solid transparent;padding:8px 10px;cursor:pointer;color:var(--text);font-size:13px;border-radius:6px 6px 0 0}.campus-tab.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.campus-body{padding:16px;overflow-y:auto;flex:1 1 auto}.campus-form{display:flex;flex-direction:column;gap:8px}.campus-label{font-size:12px;color:var(--muted);margin-top:4px}.campus-input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid color-mix(in srgb,var(--muted) 30%,transparent);border-radius:8px;background:var(--bg);color:var(--text);font-size:13px;font-family:inherit}.campus-input.small{width:130px;flex:none}.campus-input.grow{flex:1 1 auto}.campus-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid color-mix(in srgb,var(--muted) 16%,transparent);flex-wrap:wrap}.campus-row:first-of-type{border-top:none}.campus-row-body{flex:1 1 auto;display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.campus-row-body .campus-input{width:auto;flex:1 1 140px}.campus-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.campus-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px 4px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 26%,transparent);font-size:13px}.chip-x{background:transparent;border:none;cursor:pointer;color:var(--muted);display:inline-flex;padding:0}.campus-tag{display:inline-block;font-size:11px;padding:1px 8px;border-radius:999px;flex:none}.campus-tag.research{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.campus-tag.course{background:color-mix(in srgb,#2e9e5b 14%,transparent);color:#1f7a44}.campus-tag.life{background:color-mix(in srgb,#e0a800 16%,transparent);color:#8a6d00}.campus-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.btn.danger:hover{color:#d9534f}.modal-foot{padding:12px 16px;border-top:1px solid color-mix(in srgb,var(--muted) 18%,transparent);display:flex;justify-content:flex-end}@media (max-width: 880px){.cockpit-grid,.growth-grid,.kfusion{grid-template-columns:1fr}.portal-shell{flex-direction:column}.portal-nav{position:static;flex-direction:row;flex-wrap:wrap;flex:1 1 auto}.portal-nav nav{flex-direction:row;flex-wrap:wrap}.portal-nav-section{flex:1 1 100%;flex-direction:row;flex-wrap:wrap;align-items:center}.portal-section-label{flex-basis:100%}.portal-tool-item{flex-direction:column;align-items:flex-start;gap:2px;min-width:96px}.portal-tool-go{display:none}.portal-tools-toggle{flex-basis:100%}.tool-crumb{flex-wrap:wrap}.portal-data-btn{margin-top:0}}.jd-entry{margin:8px 0 10px}.jd-panel textarea{width:100%;resize:vertical}.jd-result{margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px}.jd-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}.chip{font-size:12px;padding:2px 9px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.chip.hit{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.tt-import{margin-bottom:12px}.tt-panel{margin-top:8px;padding:12px;border:1px dashed color-mix(in srgb,var(--muted) 40%,transparent);border-radius:10px;display:flex;flex-direction:column;gap:8px}.tt-modes{display:flex;gap:6px}.tt-file-label{display:flex;align-items:center;gap:10px}.tt-err{font-size:12px;margin:0}.tt-results{border-top:1px solid var(--border);padding-top:6px}.tt-row{display:flex;align-items:center;gap:8px;font-size:13px;padding:3px 0;cursor:pointer}.mood-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}.mood-btn{min-width:44px}.mood-note{margin-top:6px}.mood-week{display:flex;gap:4px;margin-top:6px}.mood-dot{width:10px;height:10px;border-radius:999px;opacity:.85}.mood-dot.d-good{background:#34a853}.mood-dot.d-ok{background:#f5a623}.mood-dot.d-hard{background:#d9534f}.radar-sweep{position:relative;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.radar-sweep:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:999px;border:2px solid transparent;border-top-color:var(--accent);animation:radar-spin 1.6s linear infinite;opacity:.75}.radar-sweep:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:999px;border-top-color:var(--accent);animation:radar-pulse 2.4s ease-out infinite}@keyframes radar-spin{to{transform:rotate(360deg)}}@keyframes radar-pulse{0%{transform:scale(.8);opacity:.7}70%{transform:scale(1.35);opacity:0}to{transform:scale(1.35);opacity:0}}@media (prefers-reduced-motion: reduce){.radar-sweep:before,.radar-sweep:after{animation:none}}.radar-hero{border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.wb-gauge{margin:2px 0 10px}.wb-gauge-track{position:relative;height:10px;border-radius:999px;background:linear-gradient(90deg,#34a853,#34a853 38%,#f5a623 55%,#d9534f);overflow:visible}.wb-gauge-fill{height:100%;border-radius:999px 0 0 999px;background:color-mix(in srgb,var(--bg) 35%,transparent);pointer-events:none}.wb-gauge-pin{position:absolute;top:50%;width:12px;height:12px;border-radius:999px;background:var(--text);border:2px solid var(--bg);transform:translateY(-50%);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent);transition:left .25s ease}.wb-gauge-scale{display:flex;justify-content:space-between;font-size:11px;margin-top:4px}.wb-badge.g-high,.wb-gauge.g-high .wb-gauge-pin{box-shadow:0 0 0 2px #d9534f8c}.quick-actions{display:inline-flex;gap:6px;flex-wrap:wrap}.recent-list{display:flex;flex-direction:column;gap:6px}.recent-item{display:flex;align-items:center;gap:8px;font-size:13px;padding:5px 8px;border-radius:8px;background:color-mix(in srgb,var(--muted) 6%,transparent)}.recent-label{font-weight:600;flex-shrink:0}.recent-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.recent-time{flex-shrink:0;font-size:11px}.portal-data-btn.ready{justify-content:center;opacity:.75}@media (max-width: 880px){.quick-actions{margin-left:0!important;flex-basis:100%}}.lab-panel .lab-form{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.lab-params{display:flex;flex-direction:column;gap:6px}.lab-param-row{display:flex;gap:6px;align-items:center}.lab-param-row .grow{flex:1 1 auto}.lab-list{display:flex;flex-direction:column;gap:10px}.lab-item{padding:10px 12px;border:1px solid var(--border);border-radius:10px}.lab-item.r-success{border-left:3px solid #34a853}.lab-item.r-partial{border-left:3px solid #f5a623}.lab-item.r-fail{border-left:3px solid #d9534f}.lab-kv{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.badge-grid{display:flex;flex-wrap:wrap;gap:6px}.meeting-box{margin:8px 0;padding:10px 12px;border:1px dashed color-mix(in srgb,var(--accent) 40%,transparent);border-radius:10px}.meeting-pre{font-size:12.5px;line-height:1.65;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto;margin:0 0 8px;font-family:inherit}.radar-reason{opacity:.9}.reviewer-panel{margin-top:12px}.reviewer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:8px}.reviewer-card{padding:10px 12px}.reviewer-card .bubble-body{font-size:13px;line-height:1.7;max-height:320px;overflow:auto}.stream-caret{display:inline-block;animation:caret-blink .9s steps(1) infinite;color:var(--accent)}@keyframes caret-blink{50%{opacity:0}}.portal-soon-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;color:color-mix(in srgb,var(--text) 55%,var(--muted));font-size:13px}.soon-badge{margin-left:auto;font-size:10px;padding:1px 7px;border-radius:999px;border:1px dashed var(--muted);color:var(--muted)}.guide-bar{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,transparent)}.gb-text{flex:1 1 auto;font-size:13.5px}.app-toast{position:fixed;top:14px;right:16px;z-index:999;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;background:var(--text);color:var(--bg);font-size:13px;box-shadow:0 6px 24px #0000002e;animation:fade-in .2s ease}.radar-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.chip-btn{padding:4px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);background:transparent;color:var(--accent);font-size:12.5px;cursor:pointer;transition:background .2s ease}.chip-btn:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.chip-btn:disabled{opacity:.5;cursor:not-allowed}.discover-row.fading{opacity:.25;transition:opacity .22s ease}.flash-highlight{animation:flash-hl 1s ease}@keyframes flash-hl{0%{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 55%,transparent)}to{box-shadow:0 0 0 0 transparent}}.focus-empty{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.wb-preview{display:flex;align-items:center;gap:14px}.diag-tabs,.diag-subtabs{display:inline-flex;gap:4px;margin-left:auto}.diag-subtabs{margin:0 0 8px}.diag-tab{padding:3px 12px;border-radius:999px;border:1px solid var(--border);background:transparent;font-size:13px;cursor:pointer;color:var(--muted)}.diag-tab.active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.diag-tab.small{font-size:12px;padding:2px 10px}.diag-body textarea{width:100%;resize:vertical;margin-bottom:6px}.diag-weak-list,.diag-cov-row,.diag-gap-row{display:flex;flex-direction:column;gap:4px}.diag-weak-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:10px;border:1px solid var(--border)}.lv-dot{width:9px;height:9px;border-radius:999px;flex-shrink:0}.lv-dot.lv-red{background:#d9534f}.lv-dot.lv-yellow{background:#f5a623}.lv-dot.lv-green{background:#34a853}.gap-actions{margin-left:auto;display:inline-flex;gap:6px}.diag-score-row{display:flex;align-items:center;gap:14px;margin-bottom:8px}.diag-col-title{font-weight:700;font-size:12.5px;margin:8px 0 4px}.diag-col-title.ok{color:#34a853}.diag-col-title.bad{color:#d9534f}.diag-backfill{margin-top:12px;padding-top:10px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:8px}.diag-skeleton{display:flex;gap:16px;align-items:center;margin-top:10px}.sk-ring{width:86px;height:86px;border-radius:999px;border:8px solid var(--border);border-top-color:var(--muted);animation:radar-spin 1s linear infinite}.sk-lines{flex:1;display:flex;flex-direction:column;gap:8px}.portal-tool-item.is-disabled{opacity:.55;cursor:not-allowed}.sprint-banner{border:1px solid color-mix(in srgb,#f5a623 55%,transparent);background:color-mix(in srgb,#f5a623 8%,transparent)}.sprint-tasks{display:flex;flex-direction:column;gap:8px;margin-top:6px}.sprint-day{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 10px;border-radius:10px;background:color-mix(in srgb,var(--muted) 7%,transparent);font-size:13px}.sprint-day-badge{font-weight:700;color:#f5a623;font-size:12px;min-width:52px}.sprint-day ul{margin:0;padding-left:18px;flex:1 1 100%}.action-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:12px}.action-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:16px;min-height:96px;border-radius:14px;border:1px solid var(--border);background:color-mix(in srgb,var(--muted) 5%,transparent);cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;color:var(--text)}.action-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.action-card.active{border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}.action-card strong{font-size:15px}.qa-sprint{transform:scale(1.06);box-shadow:0 0 0 2px color-mix(in srgb,#f5a623 55%,transparent)}.today-read{margin-bottom:12px}.queue-list{display:flex;flex-direction:column;gap:6px}.queue-row{display:flex;align-items:center;gap:10px;font-size:13px}.queue-idx{width:20px;height:20px;border-radius:999px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-weight:700;font-size:11px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.queue-title{max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-bar{flex:1 1 auto;min-width:60px}.queue-score{width:28px;text-align:right;font-size:11px}.weekly-report .report-list{list-style:none;padding:0;margin:0 0 10px;display:flex;flex-direction:column;gap:8px;font-size:13.5px}.weekly-report .report-plan{border:1px dashed color-mix(in srgb,var(--accent) 45%,transparent);border-radius:10px;padding:10px 12px}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{position:absolute;top:0;right:0;bottom:0;left:0}}.hot-sup{margin-left:2px;font-size:10px;cursor:help}.view-toggle{display:inline-flex;gap:4px}.queue-hot{border:1.5px solid #d9534f;border-radius:10px}.wb-preview.active-live svg path:first-child{stroke:color-mix(in srgb,var(--accent) 60%,transparent)}.field-err{color:var(--danger);font-size:12px;margin-top:4px;display:block}.field input[aria-invalid=true]{border-color:color-mix(in srgb,#d9534f 60%,transparent)}.pwd-wrap{position:relative}.pwd-wrap .pwd-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%)}.forgot-pwd{font-size:12.5px;color:var(--accent)}:root{--ease: cubic-bezier(.4, 0, .2, 1);--dur-fast: .15s;--dur-base: .2s;--dur-slow: .3s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card{animation:fadeInUp var(--dur-base) var(--ease) both}.btn:active{transform:scale(.97)}.modal{animation:fadeInUp var(--dur-base) var(--ease) both,modalPop var(--dur-base) var(--ease)}@keyframes modalPop{0%{transform:scale(.95)}to{transform:scale(1)}}@media print{.app-header,.topbar,.portal-nav,.tool-crumb,.status-bar,.guide-bar,.resume-bar,.tab-more,.portal-data-btn,.btn,.icon-btn,.drawer-mask,.modal-mask{display:none!important}body{background:#fff;color:#000}.container,.portal-content{max-width:none;padding:0}table{page-break-inside:auto}thead{display:table-header-group}tr,img{page-break-inside:avoid}}.tab-fade{animation:tabSlideIn .3s var(--ease) both}@keyframes tabSlideIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.btn,.icon-btn{position:relative;overflow:hidden}.ripple{position:absolute;border-radius:50%;transform:scale(0);background:currentColor;opacity:.28;pointer-events:none;animation:rippleAnim .52s var(--ease)}@keyframes rippleAnim{to{transform:scale(2.4);opacity:0}}.skeleton{position:relative;overflow:hidden;background:var(--skeleton-base, rgba(0, 0, 0, .06));border-radius:6px}[data-theme=dark] .skeleton{background:#ffffff0f}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);animation:shimmer 1.2s infinite}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-line{height:12px;margin:6px 0}.confetti-canvas{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999}.sel-menu{position:fixed;z-index:9000;display:flex;flex-direction:column;gap:2px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:4px;transform:translate(-50%);max-width:320px}.sel-item{border:none;background:transparent;color:var(--ink);text-align:left;padding:6px 10px;border-radius:6px;font-size:13px;cursor:pointer}.sel-item:hover{background:var(--accent-soft)}.sel-item:disabled{opacity:.5;cursor:default}.sel-result{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.sel-result-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin-bottom:4px}.sel-copy{border:none;background:var(--accent-soft);color:var(--accent);border-radius:6px;font-size:11px;padding:1px 6px;cursor:pointer}.sel-result-body{font-size:13px;line-height:1.5;max-height:200px;overflow:auto;white-space:pre-wrap}.matrix td.cross-col,.matrix th.cross-col{background:color-mix(in srgb,var(--accent) 10%,var(--panel))}.matrix tr.cross-row>td,.matrix tr.cross-row>th{background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.matrix td.cross-col.cross-row,.matrix th.cross-col.cross-row{background:color-mix(in srgb,var(--accent) 16%,var(--panel))}.dup-result{border-top:1px solid var(--border);padding-top:8px}.dup-item{display:flex;gap:8px;padding:6px 0;border-bottom:1px dashed var(--border)}.dup-score{flex:0 0 auto;font-family:var(--font-mono);font-size:12px;font-weight:600;padding:2px 6px;border-radius:6px}.dup-score.hi{color:var(--danger);background:var(--danger-soft)}.dup-score.mid{color:var(--warn);background:var(--warn-soft)}.dup-src{font-size:12px;color:var(--muted)}.dup-sentence{font-size:13px;line-height:1.4}.paper-item.active{outline:2px solid var(--primary);outline-offset:-2px;background:var(--panel-2)}.rec-list{display:flex;flex-direction:column;gap:8px}.rec-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.cite-badge{font-size:12px;padding:2px 6px;border-radius:6px;background:var(--panel-2);color:var(--muted);border:1px solid var(--border)}.cite-badge.up{color:var(--primary);border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--panel))}.skeleton-graph{display:flex;flex-direction:column;gap:8px;margin-top:8px}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;text-align:center;color:var(--muted)}.empty-state .es-title{font-size:15px;font-weight:600;color:var(--ink)}.empty-state .btn{margin-top:4px}.perf-badge{font-size:11px;padding:2px 6px;border-radius:6px;background:var(--panel-2);color:var(--muted);border:1px solid var(--border);white-space:nowrap}.radar-sub{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:8px 0}.chip.on{background:color-mix(in srgb,var(--primary) 14%,var(--panel));border-color:var(--primary);color:var(--primary)}.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.kanban-col{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:8px}.kanban-col-head{font-size:13px;font-weight:600;margin-bottom:8px;display:flex;gap:6px;align-items:center}.kanban-card{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:8px;padding:8px;margin-bottom:8px}.kanban-card.r-success{border-left-color:#2e9e5b}.kanban-card.r-fail{border-left-color:#c0392b}.kanban-card.r-partial{border-left-color:#d98a00}@media (max-width: 768px){.kanban{grid-template-columns:1fr}}@media (max-width: 1280px){.cockpit-grid{grid-template-columns:1fr}}@media (max-width: 1024px){.portal-nav{flex-basis:180px}}@media (max-width: 768px){.portal-nav{position:static;flex-basis:auto;flex-direction:row;flex-wrap:wrap}.panel{padding:12px}.modal{width:92vw}.tool-crumb{flex-wrap:wrap}}@media (max-width: 480px){.portal-nav{font-size:13px}.cockpit-grid{gap:10px}}.context-menu{position:fixed;z-index:1200;min-width:188px;background:#111827;color:#e5e7eb;border:1px solid #2A2D38;border-radius:8px;padding:6px;box-shadow:0 8px 24px #00000047;animation:fadeInUp .12s ease-out;font-size:13px}.context-menu .ctx-item{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;color:inherit;padding:7px 9px;border-radius:6px;cursor:pointer;text-align:left;font:inherit}.context-menu .ctx-item:hover{background:#1f2937}.context-menu .ctx-item.danger{color:#f87171}.context-menu .ctx-item.danger:hover{background:#f871711f}.context-menu .ctx-sep{height:1px;background:#2a2d38;margin:5px 2px}.paper-item.active{box-shadow:inset 3px 0 #2563eb}.radar-syncline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;padding:6px 2px;border-bottom:1px dashed #E5E7EB;margin-bottom:8px}.radar-updated{color:#4b5563}.radar-newdot{display:inline-flex;align-items:center;gap:6px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#dc2626;border-radius:999px;padding:2px 10px;font-size:12px;cursor:pointer}.radar-newdot .red-dot{width:7px;height:7px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 3px #ef44442e}.command-palette{position:relative;width:min(560px,92vw);background:#fff;border:1px solid #E5E7EB;border-radius:12px;overflow:hidden;box-shadow:0 18px 48px #11182738;animation:fadeInUp .12s ease-out}[data-theme=dark] .command-palette{background:#1a1d26;border-color:#2a2d38}.cp-input-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #E5E7EB}[data-theme=dark] .cp-input-row{border-color:#2a2d38}.cp-input-row .cp-hint{margin-left:auto;font-size:11px;color:#9ca3af}.cp-input{flex:1;border:none;outline:none;background:transparent;font-size:15px;color:#111827}[data-theme=dark] .cp-input{color:#e5e7eb}.cp-list{max-height:340px;overflow:auto;padding:6px}.cp-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:8px;border:none;background:none;color:#111827;cursor:pointer;text-align:left;font:inherit}[data-theme=dark] .cp-item{color:#e5e7eb}.cp-item.active{background:#eff3ff}[data-theme=dark] .cp-item.active{background:#232a3d}.cp-title{flex:1}.cp-group{font-size:11px;color:#9ca3af;border:1px solid #E5E7EB;border-radius:999px;padding:1px 8px}.cp-empty{padding:18px;text-align:center;color:#9ca3af;font-size:13px}[data-density=compact] .card{padding:10px;gap:8px}[data-density=compact] .panel-shell,.card .card-shell{padding:10px}[data-density=compact] body{font-size:13px}[data-density=compact] .paper-item{padding:6px 8px}[data-density=compact] .radar-topic-row,.discover-row{padding:6px 4px}[data-density=loose] .card{padding:22px;gap:18px}[data-density=loose] body{font-size:15px}[data-density=loose] .paper-item{padding:14px 16px}.view-menu-sep{height:1px;background:#e5e7eb;margin:6px 4px}[data-theme=dark] .view-menu-sep{background:#2a2d38}.view-menu-label{font-size:11px;color:#9ca3af;padding:4px 12px 2px;text-transform:uppercase;letter-spacing:.04em}.es-v2{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 16px;gap:6px;border:1px dashed var(--border);border-radius:12px;margin:10px 0;background:linear-gradient(180deg,transparent,rgba(37,99,235,.03))}.es-v2 .es-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;color:var(--accent);background:#2563eb12;border:1px solid rgba(37,99,235,.18)}.es-v2 .es-title{margin:4px 0 0;font-weight:600;font-size:15px;color:var(--ink)}.es-v2 .es-desc{max-width:420px;font-size:12.5px;line-height:1.6;margin:0}.es-actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap;justify-content:center;align-items:center}.es-examples{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:6px}.es-arrow{font-size:12px;display:block;margin-top:6px}.es-preview{width:min(360px,90%);border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--bg);text-align:left}.es-preview-line{height:9px;border-radius:4px;background:var(--border);margin:7px 0;opacity:.85}.es-preview-line.short{width:52%}.es-preview-line.w60{width:60%;background:var(--accent);opacity:.28}.ac-spark{color:var(--accent);opacity:.9;margin-top:2px}.reader-drawer-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#1118276b;display:flex;justify-content:flex-end;animation:fadeIn .18s ease}.reader-drawer{width:min(760px,94vw);height:100%;background:var(--panel);border-left:1px solid var(--border);box-shadow:-12px 0 36px #1118273d;animation:slideInRight .22s ease;display:flex;flex-direction:column}.reader-drawer-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border)}.reader-drawer-title{flex:1;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-drawer-body{flex:1;min-height:0;overflow:auto}.cloud-sync-body p{line-height:1.65}.cloud-sync-actions{display:flex;flex-direction:column;gap:8px;margin:12px 0}.radar-advanced{margin:6px 0;border-top:1px dashed var(--border);padding-top:6px}.radar-advanced summary{list-style:none}.radar-advanced summary::-webkit-details-marker{display:none}.radar-advanced summary:hover{color:var(--accent)}.radar-set-channels{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.rag-grid{display:grid;grid-template-columns:200px minmax(0,1fr) 220px;gap:12px;align-items:start}.rag-col{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}.rag-col-head{display:flex;align-items:center;gap:6px;padding:8px 10px;font-weight:600;font-size:13px;border-bottom:1px solid var(--border);color:var(--ink)}.rag-doc-list{list-style:none;margin:0;padding:4px 0}.rag-doc-item{display:flex;align-items:center;gap:7px;padding:6px 10px;font-size:12.5px;cursor:grab;border-left:3px solid transparent}.rag-doc-item:hover{background:var(--bg)}.rag-doc-item:active{cursor:grabbing}.rag-doc-n{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:#2563eb1a;color:var(--accent);font-size:11px;font-family:var(--font-mono);flex-shrink:0}.rag-doc-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rag-chat-empty{padding:6px 4px}.rag-trace-body{padding:10px;display:flex;flex-direction:column;gap:6px}.rag-trace-title{font-size:13px;font-weight:600;line-height:1.45}.rag-trace-snippet{margin:0;padding:8px 10px;border-left:3px solid var(--accent);background:var(--bg);font-size:12px;line-height:1.6;border-radius:0 8px 8px 0}@media (max-width:1100px){.rag-grid{grid-template-columns:minmax(0,1fr)}.rag-docs,.rag-trace{display:none}}.pw-split{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,2fr);gap:14px;align-items:start}.pw-paperlist .pw-paperrow.checked{box-shadow:inset 3px 0 #2563eb;background:#2563eb0d}.pw-panel{border:1px solid var(--border);border-radius:12px;padding:12px;margin-bottom:12px;background:var(--panel)}.pw-panel-title{margin:0 0 8px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}@media (max-width:1000px){.pw-split{grid-template-columns:minmax(0,1fr)}}.if-bar{display:block;height:5px;width:120px;max-width:100%;border-radius:999px;background:var(--border);margin-top:6px;overflow:hidden}.if-bar-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--cyber))}.intel-match-row{align-items:center}.venue-radar{flex-shrink:0}.plan-card .diag-subtabs{margin:4px 0 10px}.badge-wall{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 8px;scroll-snap-type:x proximity}.badge-item{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:128px;max-width:150px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--panel);scroll-snap-align:start;text-align:center;transition:border-color .15s var(--ease),transform .15s var(--ease)}.badge-item:hover{border-color:var(--accent);transform:translateY(-1px)}.badge-ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--accent),var(--cyber))}.badge-ico.locked{background:none;border:1.5px dashed var(--border);color:var(--muted)}.badge-name{font-size:12.5px;color:var(--ink)}.badge-desc{font-size:11px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.badge-item.locked{opacity:.55;filter:grayscale(1)}.badge-item.locked .badge-name{color:var(--muted)}.global-progress{position:fixed;top:0;left:0;right:0;height:3px;background:transparent;z-index:9999;pointer-events:none;overflow:hidden}.global-progress.active:after{content:"";position:absolute;left:0;top:0;height:100%;width:40%;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:gp-slide 1.1s ease-in-out infinite}@keyframes gp-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.rating-stars{display:inline-flex;gap:1px;align-self:center;margin:0 4px}.rating-stars .star{border:0;background:none;cursor:pointer;font-size:14px;line-height:1;color:#d1d5db;padding:0 1px;transition:color .15s,transform .1s}.rating-stars .star.on{color:#f59e0b}.rating-stars .star:hover{transform:scale(1.18)}[data-theme=dark] .rating-stars .star{color:#4b5563}.status-dot.dnd-toggle{cursor:pointer;border:0;background:none;font:inherit;color:inherit;display:inline-flex;align-items:center;gap:4px}.status-dot.dnd-toggle.on{color:#7c3aed}.inline-edit{width:100%;font-weight:600}.title>div{cursor:text}.tag-manager-list{max-height:46vh;overflow:auto;display:flex;flex-direction:column;gap:6px;margin:8px 0}.tag-manager-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:8px}.tag-manager-name{font-weight:600;flex:0 0 auto}.tag-manager-count{color:var(--muted);flex:1 1 auto}.tag-manager-edit{display:flex;gap:6px;flex:1 1 auto}.tag-manager-edit .text-input{flex:1 1 auto}.reco-card{border:1px solid var(--border);border-radius:12px;padding:8px 10px;margin-bottom:10px;background:linear-gradient(180deg,rgba(124,58,237,.05),transparent)}.reco-head{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600}.reco-list{display:flex;flex-direction:column;gap:4px;margin-top:6px}.reco-item{display:flex;justify-content:space-between;align-items:center;gap:10px;border:0;background:none;cursor:pointer;text-align:left;padding:6px 8px;border-radius:8px}.reco-item:hover{background:var(--accent-soft,#EEF2FF)}.reco-title{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reco-score{color:#7c3aed;font-size:12px;flex:0 0 auto}[data-theme=dark] .reco-item:hover{background:#7c3aed1f}.glossary-list{max-height:46vh;overflow:auto;display:flex;flex-direction:column;gap:4px;margin-top:6px}.glossary-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--border);border-radius:8px;padding:6px 10px;background:none;cursor:pointer;text-align:left}.glossary-row:hover{background:var(--accent-soft,#EEF2FF)}.glossary-term{flex:1 1 auto;font-weight:600}.glossary-count{color:var(--muted);flex:0 0 auto}.dict-list{display:flex;flex-direction:column;gap:10px;margin-top:6px}.dict-row{display:flex;gap:10px;align-items:flex-start;border-bottom:1px dashed var(--border);padding-bottom:8px}.dict-field{font-family:var(--font-mono);font-size:12px;color:#7c3aed;flex:0 0 180px;word-break:break-all}.achv-card{border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:10px;background:linear-gradient(135deg,#2563eb14,#7c3aed14)}.achv-title{font-weight:700;font-size:16px}.achv-stat{color:var(--muted);margin:4px 0 10px}.achv-badges{display:flex;flex-wrap:wrap;gap:6px}.achv-badge{font-size:12px;padding:3px 8px;border:1px solid var(--border);border-radius:999px;color:var(--muted);opacity:.7}.achv-badge.on{color:#7c3aed;border-color:#7c3aed;opacity:1;background:#7c3aed14}.seg-tabs{display:flex;gap:6px;margin-bottom:10px}.seg{border:1px solid var(--border);background:none;border-radius:8px;padding:5px 12px;cursor:pointer;font:inherit}.seg.on{background:var(--accent);color:#fff;border-color:var(--accent)}.insight-list{display:flex;flex-direction:column;gap:8px}.insight-card{border:1px solid var(--border);border-radius:10px;padding:10px 12px}.insight-title{font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.insight-body{color:var(--ink)}.insight-body ol{margin:4px 0 0;padding-left:18px}.md-block{white-space:pre-wrap;line-height:1.6;font-size:14px;max-height:56vh;overflow:auto}.reply-box{margin-top:10px;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:#2563eb0a}.reply-box .btn{margin-top:6px}.lib-list-col.on{column-count:2;column-gap:12px}.lib-list-col.on .paper-item{break-inside:avoid;margin-bottom:8px}.lib-root.split{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.lib-root.split>.today-read,.lib-root.split>.batch-bar,.lib-root.split>.lib-pager{grid-column:1 / -1}.paper-prog{display:flex;align-items:center;gap:6px;margin-top:4px}.paper-prog-bar{flex:0 0 56px;height:4px;background:var(--border);border-radius:3px;overflow:hidden;display:inline-block}.paper-prog-fill{display:block;height:100%;background:var(--accent);border-radius:3px}.paper-prog-time{font-size:11px;color:var(--muted)}.stat-cards{display:flex;gap:12px;flex-wrap:wrap}.stat-card{flex:1;min-width:120px;border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:var(--card)}.stat-num{font-size:22px;font-weight:700;color:var(--accent)}.stat-label{font-size:12px;color:var(--muted);margin-top:2px}.prog-list{display:flex;flex-direction:column;gap:6px;max-height:46vh;overflow:auto;margin-top:6px}.prog-row{display:flex;align-items:center;gap:10px;font-size:13px}.prog-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prog-bar{flex:0 0 120px;height:6px;background:var(--border);border-radius:4px;overflow:hidden}.prog-fill{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--cyber,#7c3aed))}.prog-num{flex:0 0 44px;text-align:right;color:var(--muted)}.spark{display:inline-block;vertical-align:middle}.cite-num{color:var(--accent);margin-right:4px;font-weight:700}.tag.annot-tag{cursor:pointer;background:none;border:1px solid var(--border)}.tag.annot-tag:hover{border-color:var(--accent);color:var(--accent)}.annot-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;max-height:42vh;overflow:auto}.annot-item{border:1px solid var(--border);border-radius:8px;padding:8px 10px}.annot-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.annot-meta .link-btn{margin-left:auto}.annot-text{margin-top:4px;font-size:13px;white-space:pre-wrap}.offline-banner{display:flex;align-items:center;gap:8px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;border-radius:8px;padding:6px 10px;font-size:12px;margin-bottom:10px}[data-theme=dark] .offline-banner{background:#3a2410;color:#fdba74;border-color:#7c3a06}.tpl-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tpl-card{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--card)}.tpl-name{font-weight:600;display:flex;align-items:center;gap:6px}.tpl-desc{font-size:12px;color:var(--muted);margin:4px 0 6px}.tpl-outline{margin:0 0 8px;padding-left:18px;font-size:13px;line-height:1.7}.tpl-dims{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.tpl-actions{display:flex;gap:6px}@media (max-width:680px){.tpl-grid{grid-template-columns:1fr}}.lib-list-col .paper-item{break-inside:avoid}.paper-item[draggable=true]{cursor:grab}.paper-item[draggable=true]:active{cursor:grabbing}.lib-list-col>div.focused>.paper-item{outline:2px solid var(--accent);outline-offset:2px}.skeleton{background:linear-gradient(90deg,var(--border) 25%,var(--card) 50%,var(--border) 75%);background-size:200% 100%;animation:sk 1.2s infinite;border-radius:6px}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}.autosave-pill{font-size:12px;color:var(--ok);display:inline-flex;align-items:center;gap:4px}.confirm-head{display:flex;align-items:center;gap:8px;font-size:15px;margin-bottom:8px}.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.modal.confirm-sev{padding:0}.modal.confirm-sev .modal-body{padding:16px 18px}.card,.card--inset,.modal,.drawer,.reader-drawer{box-shadow:none}.btn,.btn.primary,.btn.ghost,.btn.tiny,.icon-btn{border-radius:0;box-shadow:none}.btn.ghost:hover{background:var(--accent);border-color:var(--accent);color:#fff}.chip,.chip-btn,.tag,.src-chip,.discover-tag{border-radius:0;box-shadow:none}.campus-input,.pw-input,.chat-textarea,.discover-input,textarea,select{border-radius:0}.hud-mono,.ac-num,.ddl-countdown,.recent-time,.wb-overview,.job-pct,.badge,.radar-topic-meta{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.action-card{position:relative;background:var(--panel);border-radius:4px;overflow:hidden;transition:transform .15s var(--ease),border-color .15s var(--ease)}.action-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--border-strong)}.action-card.tone-blue:before{background:var(--accent)}.action-card.tone-green:before{background:var(--ok)}.action-card.tone-orange:before{background:var(--warn)}.action-card:hover{transform:none;border-color:var(--accent)}.action-card.active{background:var(--panel);border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.action-card.active:before{width:4px}.ac-num{font-size:30px;font-weight:700;line-height:1}.ac-data{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.hud-ring{color:var(--accent);margin-left:auto;flex-shrink:0}.hud-crosshair{display:inline-flex;align-items:center;gap:3px}.ac-empty-ok{display:inline-flex;align-items:center;gap:5px;color:var(--ok);font-size:13px}.focus-ddl-bar{display:flex;align-items:center;gap:10px;margin-bottom:8px}.focus-divider{height:1px;background:var(--hairline);margin:8px 0}.wb-score-title{margin-top:2px}.wb-gauge-scale.spread{justify-content:space-between;letter-spacing:.35em;padding:0 2px;margin-top:2px}.wb-score-line{font-size:12.5px;color:var(--ink)}.mood-links{display:inline-flex;gap:2px}.mood-link{background:none;border:none;color:var(--muted);font-size:12px;cursor:pointer;padding:3px 8px;font-family:inherit;border-bottom:1px solid transparent;transition:color .15s var(--ease),border-color .15s var(--ease)}.mood-link:hover{color:var(--accent)}.mood-link.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.btn-abs{font-size:11px;padding:1px 6px}.recent-abs{background:var(--panel-2);border-left:3px solid var(--accent);padding:6px 10px;margin:2px 0 6px 24px;font-size:12px;color:var(--muted)}.recent-abs p{margin:0 0 4px;line-height:1.6}.wb-gauge{display:flex;flex-direction:column;gap:6px}.wb-badge{align-self:flex-start;font-size:11px;font-weight:600;padding:2px 10px;border-radius:var(--r-pill);border:1px solid;background:transparent;letter-spacing:.02em}.wb-badge.low{color:var(--ok);border-color:var(--ok)}.wb-badge.mid{color:var(--warn);border-color:var(--warn)}.wb-badge.high{color:var(--danger);border-color:var(--danger)}.wb-gauge-track.hud-segs{display:flex;gap:4px;height:14px;background:none;position:relative;margin-top:12px}.hud-seg{flex:1;background:var(--panel-2);border:1px solid var(--border);position:relative}.hud-seg.lit{background:var(--seg-color, var(--warn));border-color:var(--seg-color, var(--warn))}.g-low .hud-seg.lit{--seg-color: var(--ok)}.g-mid .hud-seg.lit{--seg-color: var(--warn)}.g-high .hud-seg.lit{--seg-color: var(--danger)}.hud-seg:after{content:attr(data-v);position:absolute;top:-13px;right:-3px;font-size:9px;font-family:var(--font-mono);color:var(--faint)}.hud-pointer{position:absolute;top:100%;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid var(--ink);transition:left .25s var(--ease)}.wb-gauge-scale{display:flex;justify-content:space-between}.discover-input{background:var(--panel-2);transition:box-shadow .15s var(--ease),border-color .15s var(--ease)}.discover-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #2563eb33}.hud-btn-group{display:inline-flex}.hud-btn-group .btn+.btn{margin-left:-1px}.hud-btn-group .btn{border-radius:0}.hud-btn-group .btn:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.hud-btn-group .btn:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.radar-sub .hud-src{position:relative;padding-left:16px;letter-spacing:.02em}.radar-sub .hud-src:before{content:"";position:absolute;left:6px;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:var(--faint);opacity:.55}.radar-sub .hud-src.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.radar-sub .hud-src.on:before{background:var(--ok);opacity:1;box-shadow:0 0 4px var(--ok)}.hud-push{font-weight:600}.hud-push:not(.on){color:var(--danger);border-color:var(--danger)}.hud-off-ico{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border-radius:50%;background:var(--danger);color:#fff}.hud-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ok);animation:hudPulse 1.6s ease-in-out infinite;vertical-align:middle}@keyframes hudPulse{0%,to{box-shadow:0 0 #10b98173}50%{box-shadow:0 0 0 4px #10b98114}}.hud-live{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono)}.recent-list{gap:0}.recent-item{background:var(--panel);border-radius:0;border-bottom:1px solid var(--hairline);padding:7px 10px;position:relative;transition:background .12s var(--ease)}.recent-item:last-child{border-bottom:none}.recent-item:hover{background:var(--hover-blue);box-shadow:inset 3px 0 0 var(--accent)}.recent-item input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:14px;height:14px;margin:0;border:1.5px solid var(--border-strong);border-radius:0;background:var(--panel);cursor:pointer;display:inline-grid;place-items:center;flex-shrink:0}.recent-item input[type=checkbox]:hover{border-color:var(--accent)}.recent-item input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.recent-item input[type=checkbox]:checked:after{content:"✓";color:#fff;font-size:10px;line-height:1}.link-go{background:none;border:none;color:var(--accent);font-size:12px;cursor:pointer;padding:3px 6px;font-family:inherit;white-space:nowrap}.link-go:hover{background:var(--panel-2)}.link-line{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;font-size:inherit;font-weight:600;transition:text-decoration-color .15s var(--ease)}.link-line:hover{text-decoration-color:var(--accent)}.star-btn{border:none;background:none}.star-off{color:var(--faint);transition:color .12s var(--ease)}.star-btn:hover .star-off{color:#facc15}.star-on{color:#eab308;display:inline-block;animation:starPop .28s var(--ease)}@keyframes starPop{0%{transform:scale(.6)}60%{transform:scale(1.35)}to{transform:scale(1)}}.tagchip-wrap{position:relative;display:inline-block}.hud-tag{font-size:10.5px;padding:1px 6px;border-radius:0;letter-spacing:.01em;cursor:pointer}.hud-tag:hover{border-color:var(--accent)}.hud-tag.t-tech{background:var(--accent);border-color:var(--accent);color:#fff}.hud-tag.t-drug{background:var(--cyber);border-color:var(--cyber);color:#fff}.hud-tag.t-org{background:var(--warn);border-color:var(--warn);color:#fff}.tagchip-menu{position:absolute;z-index:60;top:calc(100% + 3px);left:0;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);min-width:76px}.tagchip-menu button{background:none;border:none;text-align:left;padding:5px 9px;font-size:12px;cursor:pointer;font-family:inherit;color:var(--ink)}.tagchip-menu button:hover{background:var(--hover-blue);color:var(--accent)}.tagchip-menu button.on{color:var(--accent);font-weight:700}.portal-nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:700;box-shadow:inset 3px 0 0 var(--accent);border-radius:0 4px 4px 0}.portal-nav-item.active .portal-nav-label{color:var(--accent)}.portal-tool-sub{border-left:1px solid var(--hairline);margin-left:11px}.autosave-pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted,#6b7280);margin:0 0 8px 2px;padding:2px 8px;border:1px solid var(--border,#e5e7eb);border-radius:999px}body{background:radial-gradient(1200px 700px at 82% -8%,rgba(59,130,246,.1),transparent 60%),radial-gradient(900px 600px at 8% 108%,rgba(124,58,237,.08),transparent 55%),var(--bg);background-attachment:fixed}[data-theme=dark] .card,[data-theme=dark] .panel,[data-theme=dark] .modal,[data-theme=dark] .portal-nav,[data-theme=dark] .toolbar,[data-theme=dark] .panel-shell{background:var(--panel-glass);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}.glass,.card,.panel,.toolbar{border:1px solid var(--border)}.glass:hover,.card:hover,.panel:hover,.toolbar:hover{border-color:var(--border-strong)}.breath{animation:breathGlow 2.4s ease-in-out infinite}@keyframes breathGlow{0%,to{box-shadow:0 0 #3b82f600}50%{box-shadow:0 0 0 1px var(--accent-soft),0 0 12px -2px #3b82f680}}.portal-primary{margin:var(--sp-2) 0 var(--sp-1);padding:var(--sp-2) var(--sp-3);font-weight:700}.portal-group-head{display:flex;align-items:center;gap:var(--sp-2);width:100%;background:transparent;border:none;color:var(--muted);font-size:var(--fs-12);letter-spacing:.14em;text-transform:uppercase;padding:var(--sp-2) var(--sp-3);cursor:pointer}.portal-group-head .more-chev{transition:transform .18s ease}.portal-group-head.open .more-chev{transform:rotate(180deg)}.portal-nav-section{border:none;background:transparent;margin:0;padding:0}.portal-tool-sub{margin-left:var(--sp-3);border-left:1px solid var(--hairline);border-radius:0}.portal-tool-item.active,.portal-nav-item.active{color:var(--ink);font-weight:600}.portal-tool-item.active:before,.portal-nav-item.active:before{background:var(--accent)}.portal-tool-go{margin-left:auto;opacity:0;transition:opacity .15s ease}.portal-tool-item:hover .portal-tool-go{opacity:.6}.btn-cut{position:relative;border:none;background:var(--accent);color:#fff;border-radius:0;padding:7px 14px;font-size:var(--fs-12);font-weight:600;letter-spacing:.04em;cursor:pointer;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%);transition:background .15s ease,box-shadow .15s ease}.btn-cut:hover{background:var(--accent-hover);box-shadow:0 0 14px -3px #3b82f699}.btn-cut-ghost{position:relative;background:transparent;color:var(--accent);border-radius:0;padding:7px 14px;font-size:var(--fs-12);font-weight:600;letter-spacing:.04em;cursor:pointer;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%);box-shadow:inset 0 0 0 1px var(--accent);transition:background .15s ease,color .15s ease}.btn-cut-ghost:hover{background:var(--accent);color:#fff}.seg-control{display:inline-flex;border:1px solid var(--accent);border-radius:0;overflow:hidden}.seg-item{flex:1;background:transparent;color:var(--accent);border:none;padding:5px 12px;font-size:var(--fs-12);cursor:pointer;transition:background .15s ease}.seg-item+.seg-item{border-left:1px solid var(--accent)}.seg-item.active{background:var(--accent);color:#fff}.tab-underline{background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);padding:6px 10px;font-size:var(--fs-12);cursor:pointer}.tab-underline.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.src-switch{display:inline-flex;align-items:center;gap:4px;border-radius:0;padding:3px 8px;font-size:var(--fs-11);font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;border:1px solid var(--border);color:var(--muted);background:var(--panel-2)}.src-switch.on{background:var(--accent);color:#fff;border-color:var(--accent)}.radar-chip{display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--panel-2);color:var(--ink);padding:3px 8px;font-size:var(--fs-12);cursor:pointer}.radar-chip:hover{border-color:var(--accent)}.radar-chip .chip-x{display:none;color:var(--danger);font-weight:700}.radar-chip:hover .chip-x{display:inline}.tagchip{display:inline-flex;align-items:center;gap:3px;border-radius:var(--r-sm);background:var(--panel-2);border:1px solid var(--border);color:var(--ink);font-size:var(--fs-11);padding:1px 6px;cursor:pointer}.tagchip.t-tech{color:var(--accent)}.tagchip.t-drug{color:#a78bfa}.tagchip.t-org{color:var(--warn)}.btn-read{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:var(--fs-11);border:1px solid var(--accent);color:var(--accent);background:transparent;border-radius:0;padding:2px 8px;cursor:pointer}.btn-read:hover{background:var(--accent);color:#fff}.batch-bar{border-top:2px solid var(--accent);background:var(--panel-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:slideDown .18s ease}@keyframes slideDown{0%{transform:translateY(-6px);opacity:0}to{transform:translateY(0);opacity:1}}.wb-badge.glow{box-shadow:0 0 0 1px var(--accent-soft),0 0 10px -2px #3b82f699}.hud-add-btn{border:none;border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--ink);padding:5px 10px;border-radius:0;font-size:var(--fs-12);cursor:pointer}.blink-up{color:var(--ok);animation:blinkUp 1.2s ease-in-out infinite}@keyframes blinkUp{0%,to{opacity:.35}50%{opacity:1}}.hud-diamond{display:inline-block;animation:diamondBlink 1.1s steps(2,jump-none) infinite}@keyframes diamondBlink{0%,49%{opacity:.25}50%,to{opacity:1}}.stepper{display:flex;align-items:center;gap:0;margin:var(--sp-3) 0}.step-node{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-11);font-family:var(--font-mono);border:1px solid var(--border-strong);color:var(--muted);background:var(--panel)}.step-node.done{background:var(--ok);border-color:var(--ok);color:#fff}.step-node.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 10px -1px #3b82f6b3}.step-line{flex:1;height:1px;background:var(--border-strong)}.step-label{font-size:var(--fs-11);color:var(--muted);margin-top:4px;text-align:center}.dragging{opacity:.85;box-shadow:var(--shadow-lg);border-color:var(--accent)}.radar-sweep{width:28px;height:28px;border-radius:50%;position:relative;border:1px solid var(--accent);overflow:hidden}.radar-sweep:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:conic-gradient(from 0deg,rgba(59,130,246,.55),transparent 70%);animation:radarSpin .9s linear infinite}@keyframes radarSpin{to{transform:rotate(360deg)}}.btn-dashed{border:1px dashed var(--border-strong);background:transparent;color:var(--muted);border-radius:0;padding:6px 12px;font-size:var(--fs-12);cursor:pointer}.btn-dashed:hover{border-color:var(--accent);color:var(--accent)}.pulse-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 #3b82f680;animation:pulseDot 1.6s ease-out infinite}@keyframes pulseDot{0%{box-shadow:0 0 #3b82f680}70%{box-shadow:0 0 0 8px #3b82f600}to{box-shadow:0 0 #3b82f600}}.upload-zone.glow{border:1px solid var(--accent);box-shadow:0 0 18px -6px #3b82f6b3;background:#3b82f60a}.lock-badge{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:0;padding:1px 7px;font-size:var(--fs-11);font-family:var(--font-mono);color:var(--ok)}.action-card{border-left:3px solid var(--border)}.action-card.active{border-left-color:var(--accent)}.recent-meta{font-size:11px;flex-basis:100%;opacity:.7}.chip.hud-push{border:1px solid var(--danger);color:var(--danger);background:transparent;border-radius:var(--r-sm);display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:var(--fs-11);cursor:pointer}.chip.hud-push.on{border-color:var(--ok);color:#fff;background:var(--ok)}.chip-row .chip{border:none;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);padding:4px 10px}.chip-row .chip.on{color:var(--ink);border-bottom-color:var(--accent);font-weight:600;background:transparent}.chip-row .chip.add{border:1px dashed var(--border-strong);border-bottom:1px dashed var(--border-strong);color:var(--muted)}.chip-row .chip.add:hover{border-color:var(--accent);color:var(--accent)}.paper-actions{display:flex;flex-wrap:wrap;gap:4px;opacity:0;transition:opacity .15s ease}.paper-item:hover .paper-actions,.paper-item.active .paper-actions{opacity:1}.tag.duplicate-tag{border:1px solid var(--warn);color:var(--warn);background:var(--warn-soft);margin-left:6px}.lib-more{position:relative;display:inline-block}.lib-more>summary{list-style:none;cursor:pointer}.lib-more>summary::-webkit-details-marker{display:none}.lib-more-menu{position:absolute;z-index:30;top:calc(100% + 4px);right:0;min-width:160px;display:flex;flex-direction:column;gap:4px;padding:6px;background:var(--panel-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.lib-more-menu .btn{justify-content:flex-start}.pw-selected-count{display:flex;align-items:center;gap:10px;font-size:13px}.pw-count-num{font-size:30px;font-weight:700;color:var(--accent);line-height:1}.pw-count-bar{flex:1;height:6px;background:var(--panel-2);border:1px solid var(--border);border-radius:0;overflow:hidden;min-width:80px}.pw-count-fill{display:block;height:100%;background:var(--accent)}.stepper .step-node-wrap{width:100%}.stepper .step-line{flex:1}.struct-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}.struct-item{border-left:2px solid var(--accent);padding:2px 0 2px 10px}.struct-title{font-size:13px;font-weight:600;color:var(--ink)}.struct-text{font-size:12px;line-height:1.6;margin:2px 0 0;max-height:96px;overflow:auto}.rec-missed{margin-bottom:14px;border:1px solid var(--border);padding:8px 10px}.ach-progress{position:relative;height:14px;background:var(--panel-glass);border:1px solid var(--border);overflow:hidden}.ach-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--cyber));transition:width .4s ease}.ach-progress-text{position:absolute;right:6px;top:0;font-size:10px;line-height:14px;color:var(--text);font-family:var(--font-mono)}.skill-radar polygon.sr-poly{transition:fill .3s ease}.skill-radar circle.sr-pt{animation:breath 2.2s ease-in-out infinite}.settings-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0a0e1973;display:flex;justify-content:flex-end}.settings-drawer{width:min(40vw,520px);min-width:360px;height:100vh;display:flex;flex-direction:column;background:#111827b8;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-left:1px solid rgba(59,130,246,.35);box-shadow:-8px 0 28px #3b82f62e;animation:settings-slide-in .2s ease}@keyframes settings-slide-in{0%{transform:translate(100%)}to{transform:none}}.settings-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.settings-title{margin:0;display:flex;align-items:center;gap:8px;font-size:15px;font-family:var(--font-mono);letter-spacing:.08em;color:var(--text)}.settings-collapse{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;display:inline-flex;transition:color .15s ease,transform .15s ease}.settings-collapse:hover{color:var(--accent);transform:translate(-2px)}.settings-body{flex:1;overflow-y:auto;padding:4px 16px 12px}.set-group{padding:16px 0;border-bottom:1px solid var(--border)}.set-group:last-child{border-bottom:none}.set-sec-title{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;color:var(--accent);margin-bottom:10px;text-transform:uppercase}.set-hint{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 10px}.set-info{display:flex;gap:8px;background:#3b82f614;border-left:3px solid var(--accent);padding:8px 10px;font-size:12.5px;line-height:1.6;color:var(--muted);margin-bottom:12px}.set-info-ico{font-family:var(--font-mono);color:var(--accent);font-size:12px;flex:none}.set-hl{color:#10b981;font-weight:600}.set-field{display:block;margin-bottom:12px}.set-label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.set-input-wrap{position:relative;display:block}.set-input-wrap input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border);border-radius:0;padding:8px 30px 8px 2px;color:var(--text);font-family:var(--font-mono);font-size:13px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.set-input-wrap input:focus{border-bottom-color:var(--accent);box-shadow:0 1px 0 0 var(--accent),0 4px 10px -6px #3b82f699}.set-eye{position:absolute;right:2px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);cursor:pointer;padding:2px;display:inline-flex}.set-eye:hover{color:var(--accent)}.set-inline{display:flex;gap:6px;align-items:center}.set-inline input{flex:1;padding-right:2px}.set-select{position:relative}.set-select select{width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#ffffff08;border:1px solid var(--border);border-radius:0;padding:8px 28px 8px 10px;color:var(--text);font-family:var(--font-mono);font-size:13px;cursor:pointer;outline:none;transition:border-color .15s ease}.set-select select:focus{border-color:var(--accent)}.set-select:after{content:"";position:absolute;right:10px;top:50%;transform:translateY(-50%);width:10px;height:12px;pointer-events:none;background:no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='12' viewBox='0 0 10 12'%3E%3Cpath d='M1 3l4 4 4-4M1 7l4 4 4-4' fill='none' stroke='%2364748b' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.set-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.set-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px}.btn-set-primary{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--accent);border-radius:0;color:var(--accent);font-size:13px;padding:8px 14px;cursor:pointer;transition:color .15s ease;z-index:0}.btn-set-primary:before{content:"";position:absolute;left:0;top:0;height:100%;width:0;background:var(--accent);transition:width .15s ease;z-index:-1}.btn-set-primary:hover:not(:disabled){color:#fff}.btn-set-primary:hover:not(:disabled):before{width:100%}.btn-set-primary:disabled{opacity:.5;cursor:not-allowed}.btn-set-danger{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid #7f1d1d;border-radius:0;color:#f87171;font-size:13px;padding:8px 14px;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.btn-set-danger:hover:not(:disabled){background:#ef444426;box-shadow:0 0 12px -2px #ef444480}.btn-set-danger:disabled{opacity:.5;cursor:not-allowed}.set-card-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.set-card-col{display:flex;flex-direction:column;gap:8px}.set-card{position:relative;display:block;width:100%;text-align:left;background:#ffffff08;border:1px solid var(--border);border-radius:0;padding:10px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.set-card:hover{border-color:#3b82f680}.set-card.active{border-color:var(--accent)}.set-card-head{display:flex;align-items:center;gap:6px}.set-card-name{font-size:13px;font-weight:600;color:var(--text)}.set-card-prev{display:block;height:18px;margin-top:8px;border:1px solid rgba(255,255,255,.08)}.set-card-desc{display:block;font-size:11px;color:var(--muted);margin-top:6px;line-height:1.5}.set-card-dot{position:absolute;top:8px;right:8px;width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 6px #10b981}.set-card-active{position:absolute;top:6px;right:20px;font-size:9px;letter-spacing:.1em;font-family:var(--font-mono);color:#10b981}.set-privacy-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.set-sync{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.set-switch{width:34px;height:18px;border:1px solid var(--border);background:#ffffff0f;position:relative;flex:none}.set-switch.off .set-switch-knob{position:absolute;left:2px;top:1px;width:14px;height:14px;background:#64748b}.set-sync-note{font-size:11px;color:var(--muted)}.set-links{display:flex;gap:18px;margin-top:4px;flex-wrap:wrap}.set-about{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.set-ver{font-family:var(--font-mono);font-size:13px;color:var(--text)}.link-btn{background:none;border:none;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-size:13px;padding:0;transition:color .15s ease}.link-btn:hover{color:var(--accent)}.link-btn.tiny{font-size:12px}.settings-status{border-top:1px solid var(--border);padding:8px 16px;font-family:var(--font-mono);font-size:11px;color:var(--muted);background:#0003}.set-dirty{color:#f59e0b;animation:set-blink 1s steps(2,start) infinite}@keyframes set-blink{50%{opacity:.35}}@media (max-width: 640px){.settings-drawer{width:92vw;min-width:0}}@media (max-width: 520px){.settings-drawer{width:100vw;padding-left:14px;padding-right:14px}.settings-drawer input[type=text],.settings-drawer input[type=password],.settings-drawer input[type=url],.set-select,.settings-drawer select{max-width:100%;box-sizing:border-box}.rag-grid{grid-template-columns:1fr}.rag-docs,.rag-refs{display:none}}.set-api{margin-bottom:14px}.set-api-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.set-api-label{font-size:12px;color:var(--muted)}.set-api-num{font-family:var(--font-mono);font-size:14px;color:var(--text);tabular-nums:tabular}.api-bar{height:8px;background:#ffffff14;border-radius:0;overflow:hidden}.api-bar-fill{height:100%;background:linear-gradient(90deg,#2563eb,#3b82f6);transition:width .3s ease}.api-bar-fill.warn{background:linear-gradient(90deg,#f59e0b,#ef4444)}.set-api-sub{background:none;border:none;color:var(--muted);cursor:pointer;font-size:11px;padding:4px 0 0;display:inline-block}.set-api-sub:hover{color:var(--accent)}.set-api-count{opacity:.7}.api-log{margin-top:6px;border:1px solid var(--border);background:#00000040;padding:6px 8px;max-height:160px;overflow-y:auto}.api-log-row{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);font-family:var(--font-mono);padding:2px 0}.api-log-empty{font-size:11px;color:var(--muted);padding:4px 0}.set-sec-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.set-sec-title-row .set-sec-title{margin-bottom:0}.sc-list{display:flex;flex-direction:column;gap:6px}.sc-row{display:flex;align-items:center;gap:8px;font-size:13px}.sc-name{color:var(--text);min-width:96px}.sc-colon{color:var(--muted)}.sc-key{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--text);background:#00000059;border:1px solid var(--border);border-radius:999px;padding:3px 12px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.sc-key:hover{border-color:var(--accent)}.sc-key.editing{border-color:var(--accent);color:var(--accent);animation:sc-pulse 1s ease-in-out infinite}.sc-key.saved{border-color:#10b981;color:#10b981;box-shadow:0 0 8px #10b98180}@keyframes sc-pulse{50%{box-shadow:0 0 8px #3b82f680}}.set-storage{display:flex;align-items:center;gap:14px;margin:10px 0 4px}.storage-ring{position:relative;flex:none}.ring-svg{display:block}.ring-track{fill:none;stroke:#ffffff1a;stroke-width:4}.ring-fill{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .4s ease}.storage-cap{font-family:var(--font-mono);font-size:10px;color:var(--muted);margin-top:4px;text-align:center}.storage-btns{display:flex;flex-direction:column;gap:8px}.storage-detail{margin-top:8px;border:1px solid var(--border);padding:6px 8px}.storage-detail-row{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding:2px 0;font-family:var(--font-mono)}.storage-toast{margin-top:6px;font-size:11px;color:#10b981}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.switch-row:last-child{border-bottom:none}.switch-info{display:flex;flex-direction:column;gap:2px}.switch-name{font-size:13px;color:var(--text);display:inline-flex;align-items:center;gap:4px}.switch-desc{font-size:11px;color:var(--muted);line-height:1.4}.switch{flex:none;width:38px;height:20px;border:1px solid var(--border);background:#ffffff0f;position:relative;cursor:pointer;padding:0;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.switch .switch-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;background:#64748b;transition:transform .15s ease,background .15s ease}.switch.on{background:#3b82f640;border-color:var(--accent);box-shadow:0 0 8px #3b82f680}.switch.on .switch-knob{transform:translate(18px);background:var(--accent)}.lab-box{border:1px dashed var(--border);padding:12px}.lab-new{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;color:#f59e0b;border:1px solid #f59e0b;padding:1px 5px;animation:lab-blink 1.2s steps(2,start) infinite}@keyframes lab-blink{50%{opacity:.3}}.lab-warn-ico{color:#f59e0b}.lab-warn{font-size:11px;color:#f59e0b;padding:2px 0 6px}html.reduced-motion *,html.reduced-motion *:before,html.reduced-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.set-sub{font-size:12px;color:var(--muted);margin:10px 0 2px;letter-spacing:.02em}.settings-drawer{--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--text-disabled: #64748b}.settings-drawer button:disabled,.settings-drawer .set-select select:disabled,.settings-drawer input:disabled{color:var(--text-disabled)}.ai-enh-privacy{font-size:11px;color:var(--text-tertiary);margin:2px 0 10px;letter-spacing:.02em}.ai-enh-saved{margin-left:auto}.ai-enh-cleared{font-size:11px;color:var(--text-tertiary)}.status-dot.ai-done.ok{color:var(--ok)}.status-dot.ai-done.warn{color:var(--warn)}.cmp-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;background:#0a0e1980;display:flex;align-items:center;justify-content:center}.cmp-modal{width:min(94vw,1180px);height:min(88vh,780px);display:flex;flex-direction:column;background:#111827eb;-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border:1px solid rgba(59,130,246,.35);box-shadow:0 12px 40px #00000080}.cmp-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.cmp-head h3{margin:0;display:flex;align-items:center;gap:8px;font-size:15px;font-family:var(--font-mono);letter-spacing:.04em}.cmp-body{flex:1;display:flex;min-height:0}.cmp-rail{width:220px;flex:none;border-right:1px solid var(--border);padding:12px 10px;overflow-y:auto}.cmp-rail-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--accent);margin-bottom:8px;text-transform:uppercase}.cmp-rail-empty{font-size:12px;color:var(--muted)}.cmp-conflict{display:flex;align-items:center;gap:6px;width:100%;text-align:left;background:none;border:none;border-left:3px solid transparent;color:var(--text);cursor:pointer;padding:7px 6px;font-size:12px;transition:background .15s ease}.cmp-conflict:hover{background:#3b82f61a;border-left-color:var(--accent)}.cmp-sev{display:inline-flex;align-items:center}.cmp-sev.sev-high{color:#ef4444}.cmp-sev.sev-med{color:#f59e0b}.sev-dot{width:9px;height:9px;background:#f59e0b;display:inline-block}.cmp-conflict-topic{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmp-conflict-sev{font-size:10px;color:var(--muted)}.cmp-rel{margin-top:16px}.cmp-rel-row{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:4px;padding:2px 0}.cmp-cols{flex:1;display:flex;min-width:0}.cmp-col{flex:1;display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--border)}.cmp-col:last-child{border-right:none}.cmp-col-head{padding:8px 12px;border-bottom:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmp-col-body{flex:1;overflow-y:auto;padding:8px 12px;scroll-behavior:smooth}.cmp-cell{padding:10px 0 10px 10px;border-bottom:1px solid var(--border);border-left:3px solid transparent;transition:background .3s ease}.cmp-cell.cmp-flash{background:#f59e0b2e;border-left-color:#f59e0b}.cmp-dim{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--accent);margin-bottom:4px}.cmp-point{font-size:13px;line-height:1.6;color:var(--text)}.cmp-page{font-size:11px;color:var(--muted);margin-top:4px}.settings-drawer .settings-title,.settings-drawer .set-sec-title,.settings-drawer .set-sub,.settings-drawer .set-label,.settings-drawer .set-api-label,.settings-drawer .set-api-num,.settings-drawer .set-badges .badge.ok,.settings-drawer .channel-label,.settings-drawer .set-card-name,.settings-drawer .set-card-active{color:var(--text-primary)}.settings-drawer .set-hint,.settings-drawer .set-api-sub,.settings-drawer .byok-model-hint,.settings-drawer .set-card-desc{color:var(--text-secondary);font-size:13px;line-height:1.5}.settings-drawer .set-info{color:var(--text-secondary)}.settings-drawer .set-hl{color:var(--ok)}.settings-drawer .set-select select,.settings-drawer .set-input-wrap input{color:var(--text-primary)}.settings-drawer .set-input-wrap input::placeholder{color:var(--text-tertiary)}.rag-session-list{border:1px solid var(--border);border-radius:8px;margin:6px 0;padding:6px;display:flex;flex-direction:column;gap:2px;max-height:260px;overflow:auto;background:var(--panel)}.rag-session-row{display:flex;align-items:center;gap:8px;padding:5px 7px;border-radius:6px;font-size:12px;cursor:pointer;border-left:3px solid transparent}.rag-session-row:hover{background:var(--hover,#eff6ff)}.rag-session-row.on{border-left-color:#3b82f6;background:var(--hover,#eff6ff);font-weight:600}.rag-session-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html[data-theme=dark] body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;background-image:linear-gradient(rgba(0,229,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.03) 1px,transparent 1px);background-size:40px 40px}html[data-theme=dark] body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 600px 420px at 8% -4%,rgba(0,229,255,.07),transparent 70%),radial-gradient(ellipse 520px 380px at 96% 104%,rgba(124,58,237,.05),transparent 70%),repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0px,rgba(255,255,255,.02) 1px,transparent 1px,transparent 3px)}html[data-theme=dark] .btn{border-radius:8px}html[data-theme=dark] .btn.primary{background:var(--grad-brand);border-color:transparent;color:#fff;transition:box-shadow var(--dur-fast, .15s) var(--ease),filter var(--dur-fast, .15s) var(--ease),transform .1s var(--ease)}html[data-theme=dark] .btn.primary:hover{box-shadow:var(--glow-btn);filter:brightness(1.08)}html[data-theme=dark] .btn.primary:active{transform:scale(.97);box-shadow:0 0 10px #00e5ff8c;filter:brightness(1.15)}html[data-theme=dark] .btn.ghost{border-color:#00e5ff73;color:var(--accent);background:transparent}html[data-theme=dark] .btn.ghost:hover{background:#00e5ff14;border-color:var(--accent)}html[data-theme=dark] .btn.danger,html[data-theme=dark] .link-btn.danger{color:var(--danger)}html[data-theme=dark] .btn.danger{border-color:#f8717180;background:transparent}html[data-theme=dark] .btn.danger:hover{background:#f871711a;border-color:var(--danger)}html[data-theme=dark] input[type=text],html[data-theme=dark] input[type=password],html[data-theme=dark] input[type=url],html[data-theme=dark] input[type=email],html[data-theme=dark] input[type=number],html[data-theme=dark] textarea,html[data-theme=dark] select{background:var(--input-bg);border-color:#94a3b826;border-radius:8px;transition:border-color var(--dur-fast, .15s) var(--ease),box-shadow var(--dur-fast, .15s) var(--ease)}html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#475569}html[data-theme=dark] input:focus,html[data-theme=dark] textarea:focus,html[data-theme=dark] select:focus{outline:none;border-color:var(--accent);box-shadow:var(--glow-input)}html[data-theme=dark] .card{border-radius:12px;transition:transform var(--dur-fast, .15s) var(--ease),border-color var(--dur-fast, .15s) var(--ease)}html[data-theme=dark] .card:hover{border-color:#94a3b826;transform:translateY(-2px)}html[data-theme=dark] .rag-main{border-color:#00e5ff59;box-shadow:0 0 14px #00e5ff0f}@keyframes cyberBreath{0%,to{opacity:1}50%{opacity:.55}}html[data-theme=dark] .portal-nav-item.active{color:var(--accent);font-weight:600;background:#00e5ff14;border-radius:6px}html[data-theme=dark] .portal-nav-item.active:before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:2px;border-radius:2px;background:var(--accent);box-shadow:var(--glow-bar);animation:cyberBreath 3s ease-in-out infinite}html[data-theme=dark] .bubble.user{background:var(--grad-brand);color:#fff;border-radius:12px 12px 4px}html[data-theme=dark] .bubble.assistant{background:var(--panel);color:var(--ink);border-left:2px solid var(--accent);border-radius:12px 12px 12px 4px}html[data-theme=dark] .bubble-body code,html[data-theme=dark] .bubble-body pre{font-family:var(--font-mono)}html[data-theme=dark] .md-cursor{color:var(--accent);animation:cyberBreath 1s steps(2,start) infinite}html[data-theme=dark] ::-webkit-scrollbar{width:6px;height:6px}html[data-theme=dark] ::-webkit-scrollbar-track{background:transparent}html[data-theme=dark] ::-webkit-scrollbar-thumb{background:#00e5ff33;border-radius:999px}html[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#00e5ff66}html[data-theme=dark] .tag{border-radius:999px;letter-spacing:.03em;font-weight:500}html[data-theme=dark] .tag.ok-tag,html[data-theme=dark] .tag.warn-tag{letter-spacing:.03em}html[data-theme=dark] .hud-live-dot,html[data-theme=dark] .pulse-dot,html[data-theme=dark] .sync-dot{background:var(--accent);box-shadow:0 0 6px #00e5ffb3;animation:cyberBreath 3s ease-in-out infinite}html[data-theme=dark] .modal-mask{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}html[data-theme=dark] .modal,html[data-theme=dark] .command-palette{background:var(--modal-bg)!important;border:1px solid rgba(0,229,255,.25)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}html[data-theme=dark] .settings-drawer{background:#111827eb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-left:1px solid rgba(0,229,255,.25)}html[data-theme=dark] .btn-set-primary{background:var(--grad-brand);color:#fff;border:none}html[data-theme=dark] .btn-set-primary:hover{box-shadow:var(--glow-btn);filter:brightness(1.08)}html[data-theme=dark] .set-card.on{border-color:var(--accent);box-shadow:0 0 12px #00e5ff40;position:relative}html[data-theme=dark] .set-card.on:after{content:"✓";position:absolute;top:6px;right:8px;color:var(--accent);font-size:11px;font-weight:700}html[data-theme=dark] .set-select:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--glow-input)}html[data-theme=dark] .status-bar,html[data-theme=dark] .rag-col-head,html[data-theme=dark] .cockpit-card-head strong{letter-spacing:.05em}html[data-theme=dark] .cmp-col-head{text-transform:none;letter-spacing:.05em}html[data-theme=dark] .rag-session-row.on{border-left-color:var(--accent);background:#00e5ff12}.cyber-scanline{position:relative;height:2px;overflow:hidden;background:#00e5ff1f}.cyber-scanline:after{content:"";position:absolute;top:0;left:-30%;width:30%;height:100%;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:cylonScan 1.2s cubic-bezier(.4,0,.2,1) infinite}@keyframes cylonScan{to{left:100%}}@media (prefers-reduced-motion: reduce){html[data-theme=dark] .portal-nav-item.active:before,html[data-theme=dark] .hud-live-dot,html[data-theme=dark] .pulse-dot,html[data-theme=dark] .sync-dot,html[data-theme=dark] .md-cursor,html[data-theme=dark] .cyber-scanline:after{animation:none!important}}html[data-theme=dark] select{color:#f1f5f9;background-color:var(--input-bg)}html[data-theme=dark] select option,html[data-theme=dark] select optgroup{background:var(--input-bg);color:#f1f5f9}html[data-theme=dark] select:focus option:checked{background:#00e5ff26}html[data-theme=light] select option{color:#0f172a}.ai-platform-hint{display:block;margin-top:4px;font-size:11px;color:var(--faint, #64748b);letter-spacing:.02em}.ai-status{display:block;margin-top:6px;font-size:12px}html[data-theme=dark] .ai-status.ok{color:var(--ok)}html[data-theme=dark] .ai-status.warn{color:var(--warn)}html[data-theme=light] .ai-status.ok{color:#15803d}html[data-theme=light] .ai-status.warn{color:#b45309}.ai-help-line{margin:6px 0 0;font-size:12px;color:var(--muted)}.ai-help-links{list-style:none;padding:0;columns:2;column-gap:16px}.ai-help-links li{break-inside:avoid;margin-bottom:4px}.ai-help-links a{font-family:var(--font-mono);font-size:11px;text-decoration:none;border-bottom:1px dashed transparent;transition:color var(--dur-fast, .15s) var(--ease),border-color var(--dur-fast, .15s) var(--ease)}html[data-theme=dark] .ai-help-links a{color:var(--accent)}html[data-theme=dark] .ai-help-links a:hover{border-bottom-color:var(--accent);text-shadow:0 0 6px rgba(0,229,255,.4)}html[data-theme=light] .ai-help-links a{color:var(--accent, #2563eb)}.emg-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;background:#11182773;display:flex;align-items:center;justify-content:center;animation:emgFade var(--dur-fast, .15s) ease both}@keyframes emgFade{0%{opacity:0}}.emg-panel{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;padding:20px;width:min(480px,calc(100vw - 32px));max-height:min(86vh,720px);overflow:auto;color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;display:flex;flex-direction:column;gap:12px}.emg-head{display:flex;align-items:center;justify-content:space-between}.emg-head-title{font-size:16px;font-weight:600;line-height:24px;color:#1f2937}.emg-x{border:none;background:transparent;cursor:pointer;color:#9ca3af;padding:4px;border-radius:6px}.emg-x:hover{color:#374151;background:#f3f4f6}.emg-desc{margin:0;font-size:14px;line-height:22px;color:#6b7280}.emg-sub{font-size:14px;font-weight:600;color:#1f2937;margin-top:2px}.emg-gpu-warn{margin:8px 0;font-size:14px;line-height:22px;color:#f59e0b}.emg-card{position:relative;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;transition:all .2s ease;display:flex;flex-direction:column;gap:8px}.emg-card:hover,.emg-card.recommended{border-color:#4f6ef7;box-shadow:0 2px 8px #4f6ef714}.emg-ready-bar{position:absolute;left:0;top:0;bottom:0;width:4px;background:#22c55e;border-radius:12px 0 0 12px}.emg-card-top{display:flex;align-items:baseline;gap:8px;padding-left:2px}.emg-model-name{font-size:14px;font-weight:600;line-height:20px;color:#1f2937}.emg-size{font-size:12px;line-height:18px;color:#6b7280}.emg-rec{margin-left:auto;font-size:12px;font-weight:500;color:#f59e0b}.emg-card-desc{font-size:14px;line-height:22px;color:#6b7280}.emg-tag{align-self:flex-start;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;line-height:16px;animation:emgTagIn .15s ease both}@keyframes emgTagIn{0%{opacity:0;transform:translateY(4px)}}.emg-tag.ok{background:#f0fdf4;color:#16a34a}.emg-tag.none{background:#f3f4f6;color:#9ca3af}.emg-bar{height:8px;border-radius:4px;background:#e5e7eb;overflow:hidden}.emg-bar-fill{height:100%;background:#4f6ef7;border-radius:4px;transition:width .3s ease}.emg-bar-meta{font-size:12px;line-height:18px;color:#6b7280;margin-top:-2px}.emg-btn{height:36px;padding:0 16px;border-radius:8px;border:none;background:#4f6ef7;color:#fff;font-size:14px;font-weight:500;line-height:20px;cursor:pointer;transition:all .2s ease}.emg-btn:hover{background:#3b57d9}.emg-btn:active{transform:scale(.98);background:#2e46b5}.emg-btn:disabled{background:#f3f4f6;color:#d1d5db;cursor:not-allowed}.emg-btn-secondary{background:transparent;border:1px solid #d1d5db;color:#374151}.emg-btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.emg-btn.sm{height:32px;padding:0 12px;font-size:13px}.emg-btn-danger{height:32px;padding:0 12px;border-radius:6px;background:transparent;border:1px solid #fca5a5;color:#ef4444;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.emg-btn-danger:hover{background:#fef2f2}.emg-link{border:none;background:transparent;color:#4f6ef7;font-size:13px;font-weight:500;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:4px;align-self:flex-start}.emg-link:hover{text-decoration:underline}.emg-link.center{align-self:center;margin-top:4px}.emg-card-actions{display:flex;gap:8px;margin-top:4px}.emg-card-actions.right{justify-content:flex-end}.emg-card-actions.split{justify-content:space-between}.emg-cur{font-size:14px;color:#1f2937;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.emg-chat{min-height:220px;max-height:44vh;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:4px 2px}.emg-chat-empty{color:#9ca3af;font-size:14px;margin:auto;text-align:center}.emg-msg{max-width:86%;padding:8px 12px;font-size:14px;line-height:22px;white-space:pre-wrap;word-break:break-word}.emg-msg.user{align-self:flex-end;background:#eef2ff;border-radius:12px 12px 4px;color:#1f2937}.emg-msg.assistant{align-self:flex-start;background:#f9fafb;border-radius:12px;color:#1f2937}.emg-caret{color:#4f6ef7;animation:emgBlink 1s steps(2,start) infinite}@keyframes emgBlink{to{visibility:hidden}}.emg-inputrow{display:flex;gap:8px}.emg-inputrow input{flex:1;height:40px;border-radius:8px;border:1px solid #d1d5db;padding:0 12px;font-size:14px;color:#1f2937;outline:none;transition:all .2s ease}.emg-inputrow input::placeholder{color:#9ca3af}.emg-inputrow input:focus{border-color:#4f6ef7;box-shadow:0 0 0 3px #4f6ef71a}.emg-complex{display:flex;flex-direction:column;gap:8px;padding:8px 4px}.emg-complex-ico{font-size:28px}.emg-complex-title{margin:0;font-size:14px;font-weight:600;color:#1f2937}.emg-complex-list{margin:0;padding-left:18px;color:#6b7280;font-size:14px;line-height:22px}.emg-complex-actions{display:flex;gap:8px;margin-top:6px}@media (max-width: 767px){.emg-panel{width:100%;height:100%;max-height:none;border-radius:0;padding:16px}.emg-complex-actions,.emg-inputrow{flex-direction:column;align-items:stretch}}.md-body{line-height:1.7}.md-body p{margin:6px 0}.md-body .md-h{margin:10px 0 4px;font-weight:600}.md-body h3.md-h{font-size:15px}.md-body h4.md-h{font-size:14px}.md-body h5.md-h,.md-body h6.md-h{font-size:13px;color:var(--muted)}.md-list{margin:6px 0;padding-left:18px}.md-quote{border-left:3px solid var(--border-strong, #33415580);padding:2px 10px;margin:8px 0;color:var(--muted);background:#94a3b80f;border-radius:0 4px 4px 0}.md-hr{border:none;border-top:1px dashed var(--border);margin:12px 0}.md-inline{background:#94a3b824;padding:1px 5px;border-radius:4px;font-family:var(--font-mono, monospace);font-size:.92em}.md-code{position:relative;margin:10px 0;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:#0206178c}.md-code-head{display:flex;align-items:center;justify-content:space-between;padding:4px 10px;border-bottom:1px solid var(--border);background:#0f172a80}.md-lang{font-family:var(--font-mono, monospace);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.md-copy{all:unset;cursor:pointer;font-size:11px;color:var(--accent, #60a5fa);padding:2px 6px;border-radius:4px}.md-copy:hover{background:#60a5fa24}.md-code pre{margin:0;padding:10px 12px;overflow-x:auto}.md-code code{font-family:var(--font-mono, monospace);font-size:12.5px;line-height:1.6;white-space:pre}.tok-k{color:#c084fc}.tok-s{color:#86efac}.tok-c{color:#64748b;font-style:italic}.tok-n{color:#fbbf24}.md-table-wrap{overflow-x:auto;margin:10px 0;border:1px solid var(--border);border-radius:6px}.md-table-wrap table{width:100%;border-collapse:collapse;font-size:13px}.md-table-wrap th,.md-table-wrap td{padding:6px 10px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.md-table-wrap thead th{background:#94a3b81a;font-weight:600}.md-tasks{list-style:none;padding-left:6px}.md-task{accent-color:var(--ok, #34d399);margin-right:6px}.md-task-prog{font-family:var(--font-mono, monospace);font-size:11px;color:var(--muted)}.md-katex{overflow-x:auto;margin:8px 0;text-align:center}.md-cursor{animation:blink-cursor 1s steps(1) infinite;color:var(--accent, #60a5fa)}@keyframes blink-cursor{50%{opacity:0}}[data-theme=dark] img.img-bright:not(.img-orig){filter:brightness(.82) contrast(1.05)}.storage-warn{font-size:12px;color:var(--warn, #fbbf24);border:1px solid rgba(245,158,11,.35);background:#f59e0b14;padding:6px 10px;border-radius:6px;margin-bottom:8px}.flags-notice{font-size:12px;color:var(--text-secondary, #A0A0A8);border-left:3px solid var(--accent, #3b82f6);padding:4px 10px;margin:6px 0;background:#3b82f60f}html[data-theme=dark] .settings-drawer{background:#1e1e2bf7}html[data-theme=dark] .settings-drawer .settings-head,html[data-theme=dark] .settings-drawer .set-group,html[data-theme=dark] .settings-drawer .switch-row,html[data-theme=dark] .settings-drawer .settings-status{border-color:#334155}html[data-theme=dark] .settings-drawer .set-select select{border-color:#475569}html[data-theme=dark] .settings-drawer .set-select select:focus,html[data-theme=dark] .settings-drawer .set-input-wrap input:focus{border-color:#4f6ef7;box-shadow:0 0 0 1px #4f6ef74d,0 0 12px -4px #4f6ef78c}html[data-theme=dark] .settings-drawer .switch:not(.on),html[data-theme=dark] .settings-drawer .set-switch.off{background:#475569;border-color:#475569}html[data-theme=dark] .settings-drawer .switch:not(.on) .switch-knob,html[data-theme=dark] .settings-drawer .set-switch.off .set-switch-knob{background:#cbd5e1}html[data-theme=dark] .settings-drawer .sc-key{color:var(--text-primary)}html[data-theme=dark] .settings-drawer .link-btn,html[data-theme=dark] .settings-drawer .sc-name{color:var(--text-secondary)}html[data-theme=dark] .settings-drawer .set-api-count,html[data-theme=dark] .settings-drawer .storage-cap,html[data-theme=dark] .settings-drawer .storage-detail-row,html[data-theme=dark] .settings-drawer .set-sync,html[data-theme=dark] .settings-drawer .set-sync-note,html[data-theme=dark] .settings-drawer .switch-desc,html[data-theme=dark] .settings-drawer .ai-platform-hint,html[data-theme=dark] .settings-drawer .api-log-row,html[data-theme=dark] .settings-drawer .api-log-row span,html[data-theme=dark] .settings-drawer .api-log-empty{color:var(--text-tertiary)}html[data-theme=dark] .settings-drawer .set-links .link-btn,html[data-theme=dark] .settings-drawer .set-links+.link-btn{color:var(--text-disabled)}html[data-theme=dark] .settings-drawer .set-links .link-btn:hover,html[data-theme=dark] .settings-drawer .set-links+.link-btn:hover{color:var(--accent)}html[data-theme=dark] body:before,html[data-theme=dark] body:after{content:none}.btn{border-radius:8px}.btn.primary,html[data-theme=dark] .btn.primary,.btn-set-primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:none;filter:none;transition:background .15s ease,transform .1s ease}.btn.primary:hover,html[data-theme=dark] .btn.primary:hover,.btn-set-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:none;filter:none}.btn.primary:active,html[data-theme=dark] .btn.primary:active,.btn-set-primary:active{background:var(--accent-active, #2e46b5);transform:scale(.98);box-shadow:none;filter:none}.btn.primary:disabled{background:var(--text-disabled, #64748b);border-color:transparent;color:var(--panel)}.btn.ghost,html[data-theme=dark] .btn.ghost{background:transparent;border-color:var(--border-strong);color:var(--muted)}.btn.ghost:hover,html[data-theme=dark] .btn.ghost:hover{background:var(--panel);border-color:var(--faint)}.btn.ghost.danger,.link-btn.danger{color:var(--danger)}.btn.ghost.danger:hover{background:#ef444414;border-color:var(--danger)}.emg-btn-danger{height:32px;padding:0 12px;border-radius:6px;background:transparent;border:1px solid #7f1d1d;color:#fca5a5;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease}.emg-btn-danger:hover{background:#450a0a}.card{border-radius:var(--r-lg)}html[data-theme=dark] .card{background:var(--panel);border:1px solid var(--border);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}html[data-theme=dark] .card:hover{border-color:#4f6ef78c;box-shadow:var(--shadow-card-hover);transform:none}.rag-main,.settings-modal,.emg-panel,.focus-card-xl{border-radius:var(--r-xl)!important;box-shadow:var(--shadow-card, 0 1px 3px rgba(0, 0, 0, .2))}html[data-theme=dark] input[type=text],html[data-theme=dark] input[type=password],html[data-theme=dark] input[type=url],html[data-theme=dark] input[type=email],html[data-theme=dark] input[type=number],html[data-theme=dark] textarea,html[data-theme=dark] select{border-color:var(--border-strong)}html[data-theme=dark] input:focus,html[data-theme=dark] textarea:focus,html[data-theme=dark] select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #4f6ef71a}.switch{width:44px;height:24px;min-width:44px;border-radius:12px;background:var(--border-strong);border:none;box-shadow:none;transition:all .2s ease}.switch .switch-knob{width:20px;height:20px;border-radius:50%;background:#fff;transform:translate(2px);transition:transform .2s ease;box-shadow:none}.switch.on{background:var(--accent);border-color:var(--accent);box-shadow:none}.switch.on .switch-knob{transform:translate(22px);background:#fff}.emg-bar{height:8px;border-radius:4px;background:var(--hairline);overflow:hidden}.emg-bar-fill{height:100%;border-radius:4px;background:var(--accent);transition:width .3s ease}.read-progress{background:var(--hairline)}.read-progress-fill{background:var(--accent);transition:width .3s ease}.emg-tag.ok{display:inline-block;background:#052e16;color:#4ade80;padding:2px 8px;border-radius:4px;font-size:12px;animation:specTagIn .15s ease both}.emg-tag.none{background:#2d2d3d;color:#64748b;padding:2px 8px;border-radius:4px;font-size:12px}@keyframes specTagIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}html[data-theme=dark] .bubble.user{margin-left:auto;align-items:flex-end;background:transparent}html[data-theme=dark] .bubble.user .bubble-body{background:#1e3a5f;color:var(--ink);border-radius:12px;padding:12px 16px;max-width:80%}html[data-theme=dark] .bubble.assistant{background:transparent;border-left:none;border-radius:12px}html[data-theme=dark] .bubble.assistant .bubble-body{background:var(--bg);border:1px solid var(--border);color:var(--muted);border-radius:12px;padding:12px 16px;max-width:80%}.emg-privacy{margin:0 0 10px;padding:8px 12px;border-left:2px solid var(--accent);border-radius:6px;background:#1e2a3a;color:var(--muted);font-size:12px;line-height:22px}.emg-fail-title{font-size:14px;font-weight:600;color:var(--warn);margin-bottom:4px}.emg-fail-err{font-size:11px;color:var(--faint);margin-top:2px}.emg-panel{max-width:480px}.emg-card.recommended{border-color:var(--accent);box-shadow:0 2px 8px #4f6ef726}.settings-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0a0a128c;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.settings-modal{display:flex;width:min(960px,94vw);height:min(640px,86vh);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;text-align:left;animation:specPanelIn .2s ease both}@keyframes specPanelIn{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}.set-side{width:240px;min-width:240px;background:#1a1a25;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:14px 10px;gap:2px;overflow-y:auto}.set-side-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--ink);padding:6px 10px 12px}.set-nav-item{display:flex;align-items:center;gap:9px;height:40px;padding:0 16px;border-radius:6px;border:none;background:transparent;color:#64748b;font-size:13.5px;font-family:inherit;cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease}.set-nav-item:hover{color:var(--muted);background:#4f6ef70d}.set-nav-item.active{color:var(--ink);background:var(--panel)}.set-nav-item .set-nav-ico{display:inline-flex;opacity:.85}.set-side-foot{margin-top:auto;padding:10px 6px 2px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:6px}.set-main-wrap{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.set-main{flex:1;overflow-y:auto;padding:24px}.set-content{max-width:800px}.set-group{border-bottom:none;padding-bottom:4px}.set-sec-title{font-size:16px;font-weight:600;color:var(--ink);margin:24px 0 12px}.set-group .set-sec-title:first-child{margin-top:0}.set-hint{color:var(--faint);margin:0 0 16px}.set-item-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 0;border-bottom:1px solid var(--hairline)}.set-item-row:last-child{border-bottom:none}.set-item-label{font-size:14px;color:var(--ink)}.set-select select{height:36px;border-radius:8px;background:var(--input-bg)}.store-bar-line{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.store-bar-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px;color:var(--muted)}.store-bar{height:4px;border-radius:2px;background:var(--hairline);overflow:hidden}.store-bar-fill{height:100%;border-radius:2px;background:var(--accent);transition:width .3s ease}.set-footer{border-top:1px solid var(--border);padding:12px 24px;display:flex;align-items:center;gap:10px;background:var(--bg)}.set-footer .spacer{flex:1}.lm-info{font-size:14px;color:var(--muted);line-height:22px;margin:0 0 10px}.lm-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;margin-bottom:12px}.lm-card-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.lm-name{font-size:14px;font-weight:600;color:var(--ink)}.lm-meta{font-size:12px;color:var(--faint)}.lm-actions{display:flex;gap:8px;margin-top:10px}.confirm-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;background:#0a0a128c;display:flex;align-items:center;justify-content:center}.confirm-box{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-xl);padding:24px;max-width:400px;width:calc(94vw - 48px);box-shadow:var(--shadow-lg)}.confirm-box h4{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--ink)}.confirm-box p{margin:0 0 16px;font-size:14px;color:var(--muted);line-height:22px}.confirm-box .row{display:flex;gap:8px;justify-content:flex-end}.ai-model-bar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.ai-model-bar label{font-size:12px;color:var(--faint);white-space:nowrap}.ai-model-select{height:36px;border-radius:8px;border:1px solid var(--border-strong);background:var(--input-bg);color:var(--ink);font-size:14px;font-family:inherit;padding:0 10px;max-width:260px}.ai-model-select option{background:var(--input-bg);color:var(--ink)}.rag-emg-entry{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.rag-emg-card{display:flex;align-items:center;gap:10px;height:40px;padding:0 16px;border-radius:8px;background:var(--bg);border:1px solid var(--border);cursor:pointer;font-family:inherit;font-size:14px;color:var(--muted);transition:border-color .2s ease}.rag-emg-card:hover{border-color:var(--accent)}.rag-emg-tag{font-size:11px;padding:2px 8px;border-radius:4px}html[data-theme=dark] .rag-emg-tag.ready{background:#052e16;color:#4ade80}html[data-theme=dark] .rag-emg-tag.none{background:#2d2d3d;color:#64748b}.rag-emg-go{margin-left:auto;color:var(--accent);font-weight:500;font-size:13px}.ck-greet{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:2px 2px 10px}.ck-greet-hello{font-size:16px;font-weight:600;color:var(--ink)}.ck-greet-ddl{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;color:var(--muted);font-size:14px;font-family:inherit;cursor:pointer;padding:4px 8px;border-radius:6px}.ck-greet-ddl:hover{background:var(--hover-blue);color:var(--ink)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;cursor:pointer;font-family:inherit;text-align:left;display:flex;flex-direction:column;gap:6px;transition:border-color .2s ease,box-shadow .2s ease}.stat-card:hover{border-color:var(--accent);box-shadow:var(--shadow-card-hover)}.stat-name{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--faint)}.stat-num{font-size:26px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.15}.stat-aux{font-size:12px;color:var(--faint)}.stat-aux .urgent{color:var(--danger)}.todo-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.todo-list{display:flex;flex-direction:column}.todo-item{display:flex;align-items:center;gap:10px;min-height:40px;padding:4px 2px;border-bottom:1px solid var(--hairline);font-size:14px;color:var(--muted)}.todo-item:last-child{border-bottom:none}.todo-item.done .todo-title{text-decoration:line-through;color:var(--text-disabled)}.todo-dot{width:8px;height:8px;min-width:8px;border-radius:50%}.todo-dot.high{background:#ef4444}.todo-dot.mid{background:#f59e0b}.todo-dot.low{background:#22c55e}.todo-dot.done{background:var(--text-disabled)}.todo-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-due{font-size:11px;color:var(--faint);font-family:var(--font-mono)}.todo-del{opacity:0;border:none;background:transparent;color:var(--faint);cursor:pointer;font-size:14px;padding:2px 6px}.todo-item:hover .todo-del{opacity:1}.todo-del:hover{color:var(--danger)}.todo-empty{color:var(--faint);font-size:13px;padding:10px 2px}.todo-modal-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.todo-modal-field>span{font-size:13px;color:var(--muted)}.todo-modal-field input,.todo-modal-field select{height:40px;border-radius:8px;border:1px solid var(--border-strong);background:var(--input-bg);color:var(--ink);padding:0 12px;font-size:14px;font-family:inherit}.feed-list{display:flex;flex-direction:column}.feed-item{display:flex;align-items:center;gap:10px;min-height:38px;padding:4px 2px;border-bottom:1px solid var(--hairline);font-size:13.5px;color:var(--muted)}.feed-item:last-child{border-bottom:none}.feed-kind{font-size:12px;font-weight:500;padding:1px 8px;border-radius:4px;white-space:nowrap}.feed-kind.new{color:var(--accent);background:var(--accent-soft)}.feed-kind.out{color:var(--ok);background:var(--ok-soft)}.feed-kind.warn{color:var(--warn);background:var(--warn-soft)}.feed-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-go{border:none;background:transparent;color:var(--accent);font-size:12.5px;font-family:inherit;cursor:pointer;white-space:nowrap}.feed-go:hover{text-decoration:underline}.ddl-date-tag{display:inline-block;font-size:12px;font-weight:600;color:var(--accent);background:#1e3a5f;border-radius:4px;padding:2px 8px;min-width:34px;text-align:center}.ddl-time-right{font-size:12px;color:var(--faint);font-family:var(--font-mono);margin-left:auto;white-space:nowrap}.ddl-dashed{width:100%;border:2px dashed var(--border-strong);border-radius:8px;background:transparent;padding:20px;text-align:center;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;gap:4px;align-items:center;transition:border-color .2s ease}.ddl-dashed:hover{border-color:var(--accent)}.ddl-dashed strong{font-size:14px;font-weight:500;color:var(--ink)}.ddl-dashed span{font-size:12px;color:var(--faint)}.ddl-modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-xl);padding:24px;max-width:400px;width:calc(94vw - 48px);box-shadow:var(--shadow-lg)}.ddl-modal h4{margin:0 0 14px;font-size:16px;font-weight:600;color:var(--ink)}.ddl-modal .row{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.focus-lib-row{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}.focus-lib-row .link-go{margin-left:auto}.focus-ai-link{display:block;margin:12px auto 0;border:none;background:transparent;color:var(--faint);font-size:12px;font-family:inherit;cursor:pointer;text-align:center}.focus-ai-link:hover{color:var(--accent);text-decoration:underline}.panel-fade{animation:specFade .2s ease both}@keyframes specFade{0%{opacity:0}to{opacity:1}}@media (max-width: 767px){.stat-grid{grid-template-columns:repeat(2,1fr)}.settings-modal{flex-direction:column;height:92vh}.set-side{width:100%;min-width:0;flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid var(--border);padding:8px}.set-side-title{width:100%;padding-bottom:6px}.set-nav-item{height:34px;padding:0 10px;font-size:12.5px}.set-side-foot{margin-top:0;border-top:none}.set-main{padding:16px}.emg-panel{width:100vw;max-width:100vw;border-radius:0}.emg-card-actions.split{flex-direction:column}}.todo-dot-btn{background:none;border:none;padding:4px;cursor:pointer;display:inline-flex;align-items:center}.todo-pri{font-size:11px;padding:1px 7px;border-radius:4px;white-space:nowrap}html[data-theme=dark] .todo-pri.p-high{color:#f87171;background:#ef44441f}html[data-theme=dark] .todo-pri.p-mid{color:#fbbf24;background:#f59e0b1f}html[data-theme=dark] .todo-pri.p-low{color:#4ade80;background:#22c55e1f}.streak-line{display:flex;align-items:center;gap:8px;padding:8px 14px;margin-bottom:12px;border:1px solid var(--border);background:linear-gradient(90deg,rgba(245,158,11,.1),transparent 65%);color:var(--warn);font-size:13px}.streak-line svg{color:var(--warn)}.streak-line b{font-family:var(--font-mono);font-size:15px}.nudge-banner,.note-ready-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:12px;font-size:13px}.nudge-banner svg,.note-ready-banner svg{color:var(--accent);flex:none}.nudge-text{flex:1;min-width:0}.digest-card{margin-bottom:12px}.digest-item{padding:10px 0;border-top:1px solid var(--hairline)}.digest-item:first-of-type{border-top:none}.digest-top{display:flex;align-items:baseline;gap:8px;min-width:0}.digest-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;color:var(--text);text-decoration:none}.digest-title:hover{color:var(--accent)}.digest-line{font-size:12px;line-height:1.5;margin:4px 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.digest-ops{display:flex;gap:6px}.rel-tag.rel-high{color:#10b981;border-color:#10b98173}.rel-tag.rel-mid{color:#3b82f6;border-color:#3b82f673}.rel-tag.rel-low{color:#94a3b8;border-color:#94a3b866}.rel-tag.rel-none{color:#64748b;border-color:#64748b66;opacity:.85}.unread-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ef4444;margin-right:6px;vertical-align:3px;box-shadow:0 0 0 2px #ef444426}.xp-bar-wrap{position:relative;display:flex;align-items:center;gap:10px;padding:8px 12px;margin-bottom:10px;border:1px solid var(--border);background:var(--panel-2);font-size:12px}.xp-label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);white-space:nowrap}.xp-bar{flex:1;height:8px;background:#94a3b826;overflow:hidden}.xp-bar-fill{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#10b981);transition:width .7s cubic-bezier(.22,1,.36,1)}.xp-pct{font-family:var(--font-mono);font-size:11px;color:var(--muted);white-space:nowrap}.xp-plus{position:absolute;right:44px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-weight:700;color:#10b981;animation:xpFloat 1s ease forwards;pointer-events:none}@keyframes xpFloat{0%{opacity:0;translate:0 6px}30%{opacity:1}to{opacity:0;translate:0 -18px}}.xp-gain .xp-bar-fill{filter:brightness(1.35) saturate(1.2)}.lib-fold-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;margin-bottom:10px;border:1px dashed var(--border-strong);font-size:12px}.lib-fold-toggle{display:inline-flex;align-items:center;gap:7px;cursor:pointer;-webkit-user-select:none;user-select:none}.lib-fold-hint{font-size:11px}.brief-card{margin-top:8px;padding:10px 12px}.brief-row{display:flex;gap:10px;padding:5px 0;border-top:1px solid var(--hairline);font-size:13px;line-height:1.55}.brief-row:first-of-type,.note-block .brief-row:first-of-type{border-top:none}.brief-k{flex:none;width:68px;color:var(--muted);font-size:11px;letter-spacing:.04em;padding-top:2px}.brief-v{flex:1;min-width:0;color:var(--text)}.brief-err{color:#f59e0b;margin:6px 0}.note-block{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border-strong)}.note-head{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--accent);margin-bottom:4px}.cite-tree-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:86;background:#0a0e198c;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cite-tree{width:min(94vw,1080px);max-height:min(88vh,720px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--accent, #3b82f6);box-shadow:var(--shadow-lg)}.cite-tree-head{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border)}.cite-tree-head svg{color:var(--accent)}.cite-tree-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--muted)}.cite-tree-body{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;padding:14px 16px;overflow-y:auto;min-height:0}@media (max-width: 860px){.cite-tree-body{grid-template-columns:1fr}}.cite-col{min-width:0}.cite-col-head{font-size:12px;font-weight:700;letter-spacing:.05em;color:var(--accent);margin-bottom:8px;display:flex;align-items:center;gap:6px}.cite-count{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.cite-empty{font-size:12px}.cite-node{display:block;padding:7px 9px;margin-bottom:6px;border:1px solid var(--border);border-left:3px solid rgba(59,130,246,.5);text-decoration:none;transition:background .15s ease,border-color .15s ease}.cite-node:hover{background:var(--hover-blue);border-left-color:var(--accent)}.cite-node.down{border-left-color:#10b98180}.cite-node.down:hover{border-left-color:#10b981}.cite-node-title{display:block;font-size:12.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cite-node-meta{display:block;font-size:11px;color:var(--muted);margin-top:2px}.cite-self{align-self:start;position:sticky;top:0;width:200px;padding:10px;border:1px solid var(--accent);background:var(--accent-soft);text-align:center}.cite-self-title{font-size:12px;font-weight:700;line-height:1.5;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.cite-self-meta{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-top:6px}.cite-arrow{font-size:10px;letter-spacing:.08em;color:var(--muted);margin-top:6px}.phc-drawer{width:min(520px,94vw)}.phc-body{display:flex;flex-direction:column;gap:10px}.phc-top{display:flex;gap:12px;align-items:center;justify-content:space-around;flex-wrap:wrap}.phc-oneline{margin:0;padding:8px 12px;background:#f9fafb;border-left:3px solid #4f6ef7;border-radius:6px;font-size:14px;color:#374151}.phc-sec{font-size:13px;font-weight:600;color:#1f2937;letter-spacing:.04em}.phc-lights{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.phc-lights li{display:flex;align-items:baseline;gap:8px;font-size:14px;line-height:22px}.phc-lights b{font-weight:600;white-space:nowrap}.phc-detail{color:#6b7280;font-size:13px}.phc-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.phc-loading,.phc-err{font-size:14px}.phc-err{color:#dc2626}.mtp-card{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#eef2ff,#fff);border:1px solid #c7d2fe;border-radius:12px;padding:10px 14px}.mtp-mid{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.mtp-mid strong{font-size:14px;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mtp-sub{font-size:12px;color:#6b7280}.emg-meeting-add{width:100%;border:1px dashed #c7d2fe;background:#fbfcff;border-radius:10px;padding:10px 14px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.emg-meeting-add:hover{border-color:#4f6ef7;background:#f5f7ff}.emg-meeting-add span{font-size:12px;color:#6b7280;font-weight:400}.mtp-modal{width:min(560px,calc(100vw - 32px))}.mtp-sec{font-size:13px;font-weight:600;color:#1f2937;margin-top:4px}.mtp-picklist{max-height:180px;overflow:auto;display:flex;flex-direction:column;gap:4px;padding:4px 0}.mtp-pick{display:flex;gap:8px;align-items:center;font-size:13px;color:#374151}.mtp-doc{max-height:52vh;overflow:auto;padding-right:4px}.mtp-doc-title{margin:0 0 8px;font-size:18px;color:#111827}.mtp-block h4{margin:10px 0 4px;font-size:14px;color:#374151;border-bottom:1px solid #e5e7eb;padding-bottom:3px}.mtp-paper{margin-bottom:8px}.mtp-paper strong{font-size:13.5px;color:#1f2937}.mtp-chain{display:flex;flex-direction:column;padding-left:14px;color:#4b5563;font-size:13px;line-height:20px}.pcv-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:13000;background:#0b1020ee;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#e5e7eb;display:flex;flex-direction:column;animation:emgFade var(--dur-fast,.15s) ease both}.pcv-head{display:flex;align-items:center;gap:12px;padding:14px 22px;border-bottom:1px solid rgba(148,163,184,.15)}.pcv-title{flex:1;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcv-count{font-family:var(--font-mono);font-size:12px;color:#94a3b8}.pcv-stage{position:relative;flex:1;overflow:auto;display:flex;justify-content:center;padding:26px 18px 60px}.pcv-card{position:relative;width:min(760px,100%);background:#111827;border:1px solid rgba(0,229,255,.25);border-radius:16px;padding:26px 30px;box-shadow:0 0 24px #00e5ff0f;animation:fadeInUp var(--dur-normal,.25s) var(--ease) both}.pcv-card h3{margin:0 0 4px;font-size:20px;color:#00e5ff;letter-spacing:.03em}.pcv-sec-src{margin:0 0 14px;font-size:11px;color:#64748b}.pcv-fig{margin:0 0 14px;text-align:center}.pcv-fig img{max-width:100%;border-radius:8px}.pcv-fig figcaption{font-size:12px;color:#94a3b8;margin-top:4px}.pcv-body{white-space:pre-wrap;line-height:1.9;font-size:15px;color:#dbe3ef;max-height:52vh;overflow:auto}.pcv-note-fab{position:absolute;right:18px;bottom:14px;display:flex;gap:8px;align-items:center}.pcv-note-badge{font-size:12px;color:#a78bfa}.pcv-note-box{margin-top:12px;display:flex;flex-direction:column;gap:6px}.pcv-note-box textarea{width:100%;background:#0f172a;border:1px solid rgba(148,163,184,.2);border-radius:8px;color:#e2e8f0;padding:8px 10px;font-size:13px}.pcv-nav{position:fixed;bottom:26px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(0,229,255,.4);background:#111827e6;color:#00e5ff;font-size:20px;cursor:pointer}.pcv-nav.left{left:26px}.pcv-nav.right{right:26px}.pcv-nav:hover{box-shadow:0 0 16px #00e5ff59}.pcv-dots{display:flex;gap:8px;align-items:center;justify-content:center;padding:12px}.pcv-dot{width:8px;height:8px;border-radius:50%;background:#334155;cursor:pointer;transition:all .2s ease}.pcv-dot.on{background:#00e5ff;box-shadow:0 0 8px #00e5ff99}.pcv-hint{margin-left:12px;font-size:11px;color:#64748b}:root{--font-title: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif}.lib-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lib-more-sep{height:1px;background:var(--border);margin:4px 8px}.lib-searchbar{display:flex;align-items:center;gap:8px;margin-top:12px;padding:0 10px;height:40px;border:1px solid var(--border-strong);border-radius:8px;background:var(--input-bg, var(--bg));transition:border-color .2s ease,box-shadow .2s ease}.lib-searchbar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #4f6ef71a}.lib-searchbar .ls-ico{color:#94a3b8;flex-shrink:0}.lib-searchbar input{flex:1;min-width:0;border:none!important;background:transparent!important;box-shadow:none!important;height:100%}.lib-searchbar input:focus{outline:none}.lib-searchbar select{height:28px;border-radius:6px;flex-shrink:0}.ls-clear{border:none;background:transparent;color:#94a3b8;cursor:pointer;font-size:15px;padding:0 4px;line-height:1}.ls-clear:hover{color:var(--ink)}.lib-filter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px}.lfr-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.lfr-label{font-size:13px;white-space:nowrap}.lfr-group select{max-width:220px;height:32px}.lib-root .chip{border-radius:999px;border-color:transparent;background:var(--panel-2);color:var(--muted);font-weight:400}.lib-root .chip:hover{background:var(--hairline);color:var(--ink)}.lib-root .chip.on{background:var(--accent);color:#fff}.lib-tagrow{display:flex;align-items:center;margin-top:10px}.lib-sort-sel{margin-left:auto;height:32px;flex-shrink:0}.lib-root .paper-item{align-items:flex-start;padding:12px 14px;position:relative}.lib-root .pi-main{flex:1;min-width:0}.lib-root .pi-top{display:flex;align-items:baseline;gap:10px}.lib-root .pi-top .title{flex:1;min-width:0}.lib-root .paper-item .title{font-family:var(--font-title);font-size:15.5px;font-weight:600;color:var(--ink);line-height:1.45}.lib-root .paper-item .meta{margin-top:3px;color:#94a3b8;font-size:12px}.lib-root .paper-item .meta .tag{font-size:11px;padding:1px 6px}.lib-root .read-progress{height:3px;max-width:240px;margin-top:6px}.pi-side{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.row-ops{display:flex;align-items:center;gap:5px;flex-shrink:0;margin-left:auto}.row-ops .op-always{opacity:0;transition:opacity .15s ease}.lib-root .paper-item:hover .op-always,.paper-item:focus-within .op-always,.paper-item.active .op-always,.row-ops:hover .op-always{opacity:1}.op-more{width:26px;height:26px;border:none;border-radius:6px;background:transparent;color:#94a3b8;font-size:16px;line-height:1;cursor:pointer;letter-spacing:1px}.op-more:hover,.op-more.open{background:var(--panel-2);color:var(--ink)}.lib-root .op-cluster{opacity:0;visibility:hidden;pointer-events:none;transform:translate(4px);transition:opacity .15s ease,transform .15s ease,visibility .15s}.lib-root .paper-item:hover .op-cluster,.lib-root .paper-item:focus-within .op-cluster,.lib-root .op-cluster.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.lib-root .paper-item>input[type=checkbox]{opacity:0;transition:opacity .15s ease}.lib-root .paper-item:hover>input[type=checkbox],.lib-root .paper-item>input[type=checkbox]:checked,.lib-root.selecting .paper-item>input[type=checkbox],.lib-root .paper-item:focus-within>input[type=checkbox]{opacity:1}.lib-root .paper-item.active{outline:none;background:var(--hover-blue);box-shadow:inset 3px 0 0 var(--accent);border-color:#4f6ef759}.lib-root .paper-item[draggable=true]{outline:none}.lib-root .paper-item.focused{outline:2px solid rgba(79,110,247,.45);outline-offset:-2px}@media (max-width: 767px){.row-ops .op-always{opacity:1}.lib-root .op-cluster{opacity:1;visibility:visible;pointer-events:auto;transform:none;width:100%;order:9;margin-top:6px}.lib-root .paper-item{flex-wrap:wrap}}.res-module{--res-primary: #8b5cf6;--res-primary-soft: rgba(139, 92, 246, .14);--res-ok: #10b981;--res-warn: #f59e0b;--res-err: #ef4444;--res-bg: #121218;--res-edit-bg: #1a1a26;--res-paper: #ffffff;--res-border: #2e2e3d;--res-radius-card: 8px;--res-radius-btn: 6px;--res-radius-input: 4px}.res-module,.res-wizard,.res-confirm,.res-editor,.res-list,.res-empty{color:var(--ink, #e5e7eb);font-family:Source Han Sans SC,思源黑体,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}.res-btn-primary{background:var(--res-primary);border:none;color:#fff;border-radius:var(--res-radius-btn);padding:7px 14px;font-weight:600;cursor:pointer;transition:filter .15s ease}.res-btn-primary:hover{filter:brightness(1.12)}.res-btn-primary:disabled{opacity:.55;cursor:not-allowed}.res-btn-ghost{background:transparent;border:1px solid var(--res-border);color:inherit;border-radius:var(--res-radius-btn);padding:6px 12px;cursor:pointer}.res-btn-ghost:hover{border-color:var(--res-primary);color:var(--res-primary)}.res-link{background:none;border:none;color:var(--res-primary);cursor:pointer;font-size:13px;padding:2px 4px}.res-link.blue{color:#60a5fa}.res-link.danger{color:var(--res-err)}.res-link.muted{color:#9ca3af}.res-link:hover{text-decoration:underline}.res-input,.res-select{background:#101018;border:1px solid var(--res-border);border-radius:var(--res-radius-input);color:inherit;padding:7px 10px;font-size:13px}.res-input:focus,.res-select:focus{outline:none;border-color:var(--res-primary);box-shadow:0 0 0 2px #8b5cf640}.res-hint{font-size:12px;color:#9aa0ae;margin-top:8px}.res-hint.center{text-align:center}.res-hint.warn{color:var(--res-warn)}.res-wizard{max-width:600px;margin:32px auto;background:var(--res-edit-bg);border:1px solid var(--res-border);border-radius:var(--res-radius-card);padding:26px 28px}.res-wizard-title{margin:16px 0 20px;font-size:19px}.res-progress{position:relative;height:22px}.res-progress-fill{height:4px;background:linear-gradient(90deg,#7c3aed,var(--res-primary));border-radius:2px;transition:width .3s ease}.res-progress-label{position:absolute;right:0;top:8px;font-size:11px;color:#9aa0ae}.res-fieldset{margin-bottom:20px}.res-legend{display:block;font-size:13px;color:#c3c8d4;margin-bottom:8px;font-weight:600}.res-radio-row{display:flex;gap:18px}.res-radio{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;cursor:pointer;accent-color:var(--res-primary)}.res-type-list{display:flex;flex-direction:column;gap:8px}.res-type-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:1px solid var(--res-border);border-radius:var(--res-radius-btn);padding:11px 14px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.res-type-card span{color:#9aa0ae;font-size:12.5px}.res-type-card.on{border-color:var(--res-primary);background:var(--res-primary-soft)}.res-engine-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.res-engine-card{display:flex;gap:12px;border:1px solid var(--res-border);border-radius:var(--res-radius-btn);padding:13px 15px;cursor:pointer;accent-color:var(--res-primary)}.res-engine-card.on{border-color:var(--res-primary);background:var(--res-primary-soft)}.res-engine-card p{margin:3px 0 0;font-size:12.5px;color:#9aa0ae}.res-engine-status.ok{color:var(--res-ok)}.res-engine-status.bad{color:var(--res-err)}.res-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.res-actions.center{justify-content:center}.res-loading{text-align:center;padding-bottom:34px}.res-spinner{width:46px;height:46px;margin:30px auto 22px;border:3px solid var(--res-primary-soft);border-top-color:var(--res-primary);border-radius:50%;animation:res-spin .9s linear infinite}@keyframes res-spin{to{transform:rotate(360deg)}}.res-task-list{list-style:none;margin:0 auto;padding:0;max-width:280px;text-align:left}.res-task{padding:5px 0;font-size:14px;color:#6b7280}.res-task.run{color:var(--res-warn)}.res-task.done{color:var(--ink, #e5e7eb)}.res-split{display:grid;grid-template-columns:60% 1fr;gap:24px;align-items:start}.res-edit-pane{background:var(--res-edit-bg);border:1px solid var(--res-border);border-radius:var(--res-radius-card);padding:18px 20px}.res-confirm-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.res-confirm-head h3{margin:0;font-size:17px}.res-block{border-bottom:1px solid var(--res-border);padding:12px 0}.res-block:last-of-type{border-bottom:none}.res-block h4{margin:0 0 10px;font-size:13.5px;color:#c3c8d4;display:flex;justify-content:space-between;align-items:center;cursor:default}.res-block.acc>.res-block-head,.res-block.acc>h4{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;color:#c3c8d4;font-size:13.5px;padding:0;margin:0 0 10px;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left}.res-block.acc.open>.res-block-head svg,.res-block.acc.open>h4 svg{transform:rotate(180deg);transition:transform .2s ease}.res-block-body{padding-top:4px}.res-dir-card{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--res-border);border-radius:var(--res-radius-btn);padding:10px 12px;margin-bottom:8px;accent-color:var(--res-primary)}.res-dir-card.off{opacity:.45}.res-dir-view{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;flex:1}.res-dir-name{font-size:13.5px}.res-dir-kws{color:#9aa0ae;font-size:12px;flex-basis:100%}.res-dir-edit{flex:1;display:flex;gap:8px}.res-conf-high{color:var(--res-ok)}.res-conf-mid{color:var(--res-warn)}.res-conf-low{color:var(--res-err)}.res-add-dashed{width:100%;background:none;border:1px dashed var(--res-border);border-radius:var(--res-radius-btn);color:#9aa0ae;padding:8px;margin-top:6px;cursor:pointer}.res-add-dashed:hover{border-color:var(--res-primary);color:var(--res-primary)}.res-skill-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px}.res-skill-row em{font-style:normal;color:#9aa0ae;font-size:12.5px;min-width:60px}.res-tags{display:flex;flex-wrap:wrap;gap:6px}.res-tags.inline{display:contents}.res-tag{display:inline-flex;align-items:center;gap:5px;background:var(--res-primary-soft);color:#d9c8ff;border:1px solid rgba(139,92,246,.35);border-radius:999px;padding:3px 9px;font-size:12.5px}.res-tag button{background:none;border:none;color:#b9a6e8;cursor:pointer;padding:0;line-height:1}.res-tag button:hover{color:var(--res-err)}.res-tag-adder{background:transparent;border:none;border-bottom:1px dashed var(--res-border);color:inherit;padding:4px 2px;font-size:12.5px;min-width:70px}.res-tag-adder:focus{outline:none;border-bottom-color:var(--res-primary)}.res-exp-card{border:1px solid var(--res-border);border-radius:var(--res-radius-card);padding:12px 14px;margin-bottom:10px;background:#ffffff05}.res-exp-card.low-conf{background:#2a2520;border-color:#f59e0b59}.res-exp-name{width:100%;margin-bottom:8px;font-weight:600}.res-exp-meta-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.res-exp-warn{color:var(--res-warn);font-size:12.5px;margin:6px 0 0}.res-exp-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.res-conf-pill{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--res-border)}.res-contrib{display:flex;align-items:baseline;gap:8px;font-size:13px;padding:3px 0}.res-contrib.editing textarea{flex:1;background:#101018;border:1px solid var(--res-border);border-radius:var(--res-radius-input);color:inherit;padding:6px 8px}.res-contrib-input{width:100%;background:#101018;border:1px solid var(--res-border);border-radius:var(--res-radius-input);color:inherit;padding:6px 8px;margin-bottom:6px;font-size:13px}.res-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.res-field{display:flex;flex-direction:column;gap:4px;position:relative}.res-field>span{font-size:12px;color:#9aa0ae}.res-field .res-todo{position:absolute;right:8px;bottom:9px;font-style:normal;font-size:11px;color:#565d6d;pointer-events:none}.res-read-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:6px}.res-read-list li{display:flex;align-items:center;gap:8px;font-size:13px}.res-read-list li>span{flex:1}.res-picker{list-style:none;margin:8px 0 0;padding:8px;max-height:220px;overflow:auto;border:1px solid var(--res-border);border-radius:var(--res-radius-btn)}.res-history-bar{display:flex;align-items:center;gap:10px;padding-top:12px}.res-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.res-toolbar-spacer{flex:1}.res-lang-tab{background:none;border:1px solid var(--res-border);color:inherit;border-radius:var(--res-radius-btn);padding:5px 12px;cursor:pointer;font-size:12.5px}.res-lang-tab.on{border-color:var(--res-primary);background:var(--res-primary-soft);color:#d9c8ff}.res-bottombar{position:sticky;bottom:0;display:flex;gap:10px;padding:12px 4px;margin-top:16px;background:var(--res-bg);border-top:1px solid var(--res-border);z-index:5}.res-preview-pane{position:relative}.res-preview-head{display:flex;justify-content:flex-end;gap:10px;margin-bottom:10px}.res-page-wrap{background:var(--res-paper);width:794px;max-width:100%;min-height:200px;transform-origin:top left;transform:scale(calc(min(100vw,100%)*0 + 1))}@media (min-width: 901px){.res-preview-pane .res-page-wrap{transform:scale(.52);transform-origin:top left;margin-bottom:-48%}.res-gallery .res-thumb-inner{transform:scale(.13)}}.resume-doc{width:794px;min-height:1123px;box-sizing:border-box;background:#fff;color:#111827;padding:56px 64px;font-size:13.5px;line-height:1.6}.resume-doc h1{font-size:26px;margin:0 0 4px}.rd-section{margin-top:18px}.rd-section h2{font-size:13px;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #333;padding-bottom:3px;margin:0 0 8px}.rd-contact,.rd-advisor{color:#4b5563;font-size:12px;margin:2px 0}.rd-dirs{margin:0}.rd-summary{white-space:pre-wrap}.rd-list,.rd-sub{list-style:none;margin:0;padding:0}.rd-exp-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px}.rd-exp-meta{color:#4b5563;font-size:12px}.rd-exp{margin-bottom:10px}.rd-sub{padding-left:14px;list-style:disc}.rd-tags .rd-tag-row{display:block;margin-bottom:4px;font-size:12.5px}.rd-tags em{font-style:normal;color:#374151}.rd-tags b{font-weight:500;margin-right:6px;background:#f3f4f6;padding:1px 7px;border-radius:3px}.rd-read li{margin-bottom:2px}.page-break{page-break-before:always}.resume-doc.rd-classic{font-family:SimSun,宋体,Times New Roman,serif}.resume-doc.rd-classic .rd-head{text-align:center}.resume-doc.rd-classic .rd-section h2{text-align:left}.resume-doc.rd-modern{display:flex;font-family:Microsoft YaHei,Helvetica Neue,sans-serif;padding:0;gap:0}.resume-doc.rd-modern .rd-head{width:30%;background:#f0f4f8;padding:40px 24px;box-sizing:border-box;height:fit-content;min-height:1123px}.resume-doc.rd-modern .rd-body-main{width:70%}.resume-doc.rd-modern h1{font-size:22px;color:#2c5282}.resume-doc.rd-modern .rd-section:first-child{margin-top:0}.resume-doc.rd-modern .rd-section h2{color:#2c5282;border-bottom:1px solid #cbd5e0}.resume-doc.rd-minimal{font-family:Microsoft YaHei,Helvetica Neue,sans-serif;padding:72px 88px;color:#1f2937}.resume-doc.rd-minimal h1{font-weight:300;letter-spacing:2px}.resume-doc.rd-minimal .rd-section h2{border-bottom:none;color:#9ca3af;letter-spacing:3px}.resume-doc.rd-academic{font-family:SimSun,Times New Roman,serif;columns:2;column-gap:36px}.resume-doc.rd-academic .rd-head{column-span:all;text-align:center;margin-bottom:14px}.resume-doc.rd-academic .rd-section{break-inside:avoid-column}.res-thumb{display:block;width:118px;height:166px;overflow:hidden;border:1px solid #e5e7eb;border-radius:3px;background:#fff;position:relative;flex-shrink:0}.res-thumb-inner{display:block;width:794px;transform:scale(.148);transform-origin:top left;pointer-events:none}.res-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:var(--res-edit-bg);border:1px solid var(--res-border);border-radius:var(--res-radius-card);padding:14px;margin-bottom:12px}.res-gal-card{background:none;border:2px solid transparent;border-radius:var(--res-radius-card);cursor:pointer;color:inherit;padding:6px;text-align:center}.res-gal-card.current{border-color:var(--res-primary)}.res-gal-name{display:block;font-size:12.5px;margin-top:6px;color:#c3c8d4}.res-page-count{font-size:12px;color:#9aa0ae;text-align:center;margin-top:8px}.res-list{padding:6px 2px}.res-list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.res-list-head h3{margin:0;font-size:18px}.res-cards{display:flex;flex-direction:column;gap:12px}.res-card{display:flex;gap:16px;align-items:center;background:var(--res-edit-bg);border:1px solid var(--res-border);border-radius:var(--res-radius-card);padding:14px 18px}.res-card-thumb{background:none;border:none;padding:0;cursor:pointer}.res-card-info{display:flex;flex-direction:column;gap:3px;flex:1}.res-card-info strong{font-size:14.5px}.res-card-info span{font-size:12.5px;color:#9aa0ae}.res-card-info em{font-style:normal;font-size:11.5px;color:#6b7280}.res-card-actions{display:flex;gap:12px;align-items:center}.res-empty{text-align:center;padding:48px 16px}.res-empty-art{position:relative;width:96px;height:110px;margin:0 auto 18px;color:#4b5563;border:2px dashed #3f3f52;border-radius:8px;display:flex;align-items:center;justify-content:center}.res-empty-face{position:absolute;top:-12px;right:-14px;width:30px;height:30px;border-radius:50%;background:var(--res-primary);color:#fff;display:flex;align-items:center;justify-content:center;border:3px solid var(--res-bg)}.res-empty h3{margin:0 0 6px;font-size:17px}.res-guide-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,260px));gap:14px;justify-content:center;margin-top:22px}.res-guide-card{background:var(--res-edit-bg);border:1px solid var(--res-border);border-radius:var(--res-radius-card);padding:18px 16px;text-align:left}.res-guide-card.dashed{border-style:dashed;background:transparent}.res-guide-card h4{margin:0 0 8px;font-size:14px}.res-guide-card p{font-size:12.5px;color:#9aa0ae;margin:0 0 10px;min-height:36px}.res-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:80}.res-modal{width:500px;max-width:92vw;background:var(--res-edit-bg);border:1px solid var(--res-border);border-radius:var(--res-radius-card);padding:22px 24px;animation:res-pop .18s ease}@keyframes res-pop{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.res-modal h3{margin:0 0 16px;font-size:16px}.res-modal .res-radio{display:flex;margin-bottom:8px}.res-suggest-card{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#8b5cf629,#7c3aed14);border:1px solid rgba(139,92,246,.4);border-radius:var(--res-radius-card);padding:12px 16px;margin-bottom:12px}.res-suggest-icon{color:var(--res-primary);display:flex}.res-suggest-text{flex:1;font-size:13px}.res-suggest-actions{display:flex;gap:10px;align-items:center}.btn.tiny{padding:4px 10px;font-size:12px}.app-toast-action{background:none;border:none;color:#93c5fd;font-size:12.5px;cursor:pointer;margin-left:10px;text-decoration:underline}.res-print-area{display:none}@media print{body *{visibility:hidden!important}.res-print-area,.res-print-area *{visibility:visible!important}.res-print-area{display:block!important;position:absolute;top:0;right:0;bottom:0;left:0;background:#fff}.res-print-area .resume-doc{min-height:auto;width:100%;box-shadow:none;page-break-after:always}.res-print-area .resume-doc:last-child{page-break-after:auto}}@media (max-width: 900px){.res-split{grid-template-columns:1fr}.res-preview-pane{order:-1}.res-preview-pane .res-page-wrap{transform:scale(.42);margin-bottom:-62%}.res-grid2{grid-template-columns:1fr}.res-card{flex-wrap:wrap}.res-card-actions{width:100%;justify-content:flex-end}.res-wizard{margin:12px;padding:18px}.res-bottombar{position:fixed;left:0;right:0;bottom:0;padding:10px 14px}}.rg-topic-wrap{position:relative;display:flex;align-items:center}.rg-topic-wrap input{flex:1;padding-right:108px;transition:box-shadow .25s var(--ease),background .25s var(--ease)}.rg-topic-wrap.rg-glow input{animation:rgGlowPulse 1.2s ease-in-out infinite}@keyframes rgGlowPulse{0%,to{box-shadow:0 0 #1890ff00}50%{box-shadow:0 0 0 4px #1890ff24}}.rg-ghost{position:absolute;left:12px;right:110px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:14px;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html[data-theme=dark] .rg-ghost{color:#6b7280}.rg-extract{position:absolute;right:6px;height:28px;padding:0 12px;border:none;border-radius:999px;cursor:pointer;background:linear-gradient(135deg,#1890ff,#7c3aed);color:#fff;font-size:12px;font-weight:500;letter-spacing:.02em;display:inline-flex;align-items:center;gap:4px;transition:filter .15s var(--ease),box-shadow .15s var(--ease)}.rg-extract:hover{filter:brightness(1.1);box-shadow:0 0 12px #1890ff59}.rg-extract:disabled{opacity:.6;cursor:not-allowed}.rg-alts{display:flex;flex-direction:column;gap:4px;margin-top:6px}.rg-alt{text-align:left;padding:6px 10px;border-radius:8px;font-size:13px;background:transparent;border:1px solid var(--border, #e5e7eb);cursor:pointer;transition:all .15s ease}.rg-alt:hover{border-color:#1890ff;background:#1890ff0f}.rg-alt.rec em{color:#16a34a;font-style:normal;font-size:11px;margin-left:4px}.rg-progress{margin-top:14px;padding:16px 18px;border:1px solid var(--border, #e5e7eb);border-radius:12px;background:var(--panel, #fff);animation:fadeInUp var(--dur-normal,.25s) var(--ease) both}.rg-progress-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.rg-progress-head strong{font-size:14px}.rg-stop{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px;border-radius:6px;background:transparent;border:1px solid #fca5a5;color:#ef4444;font-size:12px;cursor:pointer;transition:all .15s ease}.rg-stop:hover{background:#fef2f2}.rg-stopped{margin:0;font-size:13px;color:#6b7280}.rg-progress-grid{display:grid;grid-template-columns:minmax(200px,auto) 1fr;gap:18px;align-items:start}@media (max-width: 640px){.rg-progress-grid{grid-template-columns:1fr}}.rg-timeline{list-style:none;margin:0;padding:0;position:relative}.rg-step{position:relative;display:flex;align-items:center;gap:10px;padding:9px 0 9px 2px}.rg-step:not(:last-child):before{content:"";position:absolute;left:13px;top:32px;bottom:-8px;width:2px;background:#e8e8e8}html[data-theme=dark] .rg-step:not(:last-child):before{background:#334155}.rg-node{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:2px solid #d1d5db;background:transparent;color:transparent;transition:all .25s var(--ease)}.rg-node.done{background:#22c55e;border-color:#22c55e;color:#fff}.rg-node.active{background:#1890ff;border-color:#1890ff;color:#fff;animation:rgPulse 1.6s ease-out infinite}@keyframes rgPulse{0%{box-shadow:0 0 #1890ff73}70%{box-shadow:0 0 0 10px #1890ff00}to{box-shadow:0 0 #1890ff00}}.rg-step-label{font-size:14px;color:var(--ink, #1f2937)}.rg-step.todo .rg-step-label{color:#9ca3af}.rg-dur{font-style:normal;font-size:12px;color:#9ca3af;margin-left:2px}.rg-log{margin:0;padding:10px 12px;min-height:120px;max-height:180px;overflow:auto;background:#0f172a;border-radius:8px;font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:12px;line-height:18px;color:#94a3b8}html[data-theme=light] .rg-log{background:#1f2937;color:#d1d5db}.rg-log-cur{color:#cbd5e1}.rg-caret{color:#1890ff;animation:emgBlink 1s steps(2,start) infinite}@keyframes citeFirstFlash{0%{background:#1890ff80;box-shadow:0 0 0 6px #1890ff40}to{background:transparent;box-shadow:none}}.cite-chip.cite-first-flash{animation:citeFirstFlash 1.6s ease-out 2}@media (prefers-reduced-motion: reduce){.rg-node.active,.rg-caret,.cite-chip.cite-first-flash,.rg-topic-wrap.rg-glow input{animation:none!important}}.rg-templates{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px}.rg-tpl{background:transparent;border:1px solid var(--border, #e2e8f0);border-radius:999px;color:inherit;font-size:12.5px;padding:4px 12px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.rg-tpl:hover{border-color:#3b82f6}.rg-tpl.on{border-color:#3b82f6;background:#3b82f61f;color:#60a5fa}.rg-conflict-opt{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--muted, #94a3b8);margin-left:auto;cursor:pointer}.rg-outline-input,.rev-input{width:100%;margin-top:8px;background:var(--panel, rgba(255,255,255,.04));border:1px solid var(--border, #e2e8f0);border-radius:6px;color:inherit;padding:8px 10px;font-size:13px;font-family:inherit}.rg-outline-input:focus,.rev-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f62e}.rev-input{width:auto;flex:1;min-width:200px}.rg-style-sel{background:transparent;border:1px solid var(--border, #e2e8f0);border-radius:6px;color:inherit;padding:3px 8px;font-size:12px}.rg-wip-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px dashed rgba(245,158,11,.5);background:#f59e0b14;border-radius:8px;padding:10px 14px;margin-top:10px;font-size:13px}.rev-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.audit-panel{border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:12px 14px;margin-top:12px;font-size:13px}.audit-summary{margin-bottom:8px}.audit-item{padding:7px 10px;border-radius:6px;margin-bottom:6px;border-left:3px solid transparent}.audit-item.ok{border-left-color:#10b981}.audit-item.warn{border-left-color:#f59e0b;background:#f59e0b17}.audit-item.bad{border-left-color:#ef4444;background:#ef444417}.audit-n{font-weight:700;margin-right:6px}.audit-src{color:var(--muted, #94a3b8);margin-left:6px;font-size:12px}.audit-sample{color:var(--muted, #94a3b8);font-size:12px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hist-panel{border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:12px 14px;margin-top:12px;font-size:13px}.hist-row{display:flex;align-items:center;gap:12px;padding:5px 0;border-bottom:1px solid var(--hairline, rgba(148,163,184,.15))}.hist-meta{flex:1}.hist-diff{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.diff-col{border:1px solid var(--border, #e2e8f0);border-radius:6px;max-height:260px;overflow:auto;padding:8px 10px}.diff-col h5{margin:0 0 6px;font-size:12px;color:var(--muted, #94a3b8)}.diff-line{font-size:12px;padding:2px 6px;border-radius:3px;word-break:break-all}.diff-line.add{background:#10b98124}.diff-line.del{background:#ef444421;text-decoration:line-through}@media (max-width: 800px){.hist-diff{grid-template-columns:1fr}.rg-conflict-opt{margin-left:0;flex-basis:100%}}
