:root{--bg: #F9F7F4;--bg-elevated: #FFFFFF;--bg-subtle: #F0EDE8;--bg-glass: rgba(249, 247, 244, .8);--bg-glass-strong: rgba(249, 247, 244, .95);--text: #1E1C1A;--text-secondary: #6A645E;--text-tertiary: #A09890;--text-ghost: #C4BCB4;--shadow-xs: 0 1px 3px rgba(0,0,0,.04), 0 1px 2px rgba(0,0,0,.03);--shadow-sm: 0 2px 8px rgba(0,0,0,.06), 0 1px 3px rgba(0,0,0,.04);--shadow-md: 0 4px 20px rgba(0,0,0,.07), 0 2px 6px rgba(0,0,0,.04);--shadow-lg: 0 12px 40px rgba(0,0,0,.1), 0 4px 12px rgba(0,0,0,.05);--shadow-xl: 0 24px 64px rgba(0,0,0,.13), 0 8px 20px rgba(0,0,0,.06);--accent: #E8A87C;--accent-dim: #D9956A;--accent-press: #C8825A;--accent-glow: rgba(232, 168, 124, .16);--hl-amber: #E8A87C;--hl-amber-bg: rgba(232, 168, 124, .22);--hl-sage: #8BAF8B;--hl-sage-bg: rgba(139, 175, 139, .22);--hl-rose: #C97C8B;--hl-rose-bg: rgba(201, 124, 139, .22);--font-ui: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-reading: "Lora", Georgia, serif;--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--r-pill: 999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--t-fast: .12s;--t-base: .28s;--t-slow: .48s;--topbar-h: 56px;--drawer-w: 312px}@media (prefers-color-scheme: dark){:root{--bg: #1A1A1A;--bg-elevated: #232220;--bg-subtle: #1E1D1B;--bg-glass: rgba(26, 26, 26, .8);--bg-glass-strong: rgba(26, 26, 26, .96);--text: #EAE5DE;--text-secondary: #A09890;--text-tertiary: #6A645E;--text-ghost: #3A3530;--shadow-xs: 0 1px 3px rgba(0,0,0,.35);--shadow-sm: 0 2px 8px rgba(0,0,0,.45);--shadow-md: 0 4px 20px rgba(0,0,0,.55);--shadow-lg: 0 12px 40px rgba(0,0,0,.65);--shadow-xl: 0 24px 64px rgba(0,0,0,.75);--accent-glow: rgba(232, 168, 124, .12)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html,body{height:100%;overflow:hidden}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit;border:none;outline:none;background:none;cursor:pointer;-webkit-appearance:none}a{color:inherit;text-decoration:none}#app{position:relative;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}#app.immersive .top-bar,#app.immersive .progress-bar,#app.immersive .highlight-pill,#app.immersive .nav-arrow{opacity:0;pointer-events:none}#app.immersive .reader-container:hover .nav-arrow{opacity:.45;pointer-events:auto}#app.immersive .nav-arrow:hover{opacity:1!important}.main-content{flex:1;overflow:hidden;position:relative;margin-top:var(--topbar-h)}.mode-panel{position:absolute;top:0;right:0;bottom:0;left:0;transition:opacity .2s var(--ease-out)}.mode-panel.hidden{opacity:0;pointer-events:none}.top-bar{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 10px;background:var(--bg-glass);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 1px #0000000d,var(--shadow-sm);transition:opacity var(--t-base) var(--ease-out),transform var(--t-base) var(--ease-out)}.top-bar.hidden-bar{opacity:0;transform:translateY(-100%);pointer-events:none}.top-bar-left{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.top-bar-center{flex:1;display:flex;align-items:center;justify-content:center;gap:10px}.top-bar-right{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:4px}.doc-title{font-size:13.5px;font-weight:500;color:var(--text);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;opacity:.88}.reading-progress{font-size:12px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.reading-time{font-size:12px;color:var(--text-ghost);font-variant-numeric:tabular-nums}.progress-bar{position:fixed;top:var(--topbar-h);left:0;right:0;height:2px;z-index:99}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-dim),var(--accent));transition:width .3s var(--ease-out);border-radius:0 1px 1px 0}.mode-toggle{display:flex;align-items:center;background:var(--bg-subtle);border-radius:var(--r-pill);padding:3px;box-shadow:var(--shadow-sm),inset 0 1px #ffffff80}@media (prefers-color-scheme: dark){.mode-toggle{box-shadow:var(--shadow-sm),inset 0 1px #ffffff0a}}.mode-tab{font-family:var(--font-ui);font-size:12.5px;font-weight:500;letter-spacing:.01em;padding:5px 14px;border-radius:var(--r-pill);color:var(--text-secondary);transition:color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast);white-space:nowrap;-webkit-user-select:none;user-select:none}.mode-tab.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px #e8a87c66,0 1px 2px #0000001a}.mode-tab:hover:not(.active){color:var(--text);background:#0000000a}@media (prefers-color-scheme: dark){.mode-tab:hover:not(.active){background:#ffffff0f}}.btn-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);color:var(--text-secondary);transition:background var(--t-fast),color var(--t-fast);flex-shrink:0}.btn-icon:hover{background:var(--bg-subtle);color:var(--text)}.btn-icon:active{transform:scale(.93)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-size:13px;font-weight:500;letter-spacing:.01em;padding:9px 20px;border-radius:var(--r-md);box-shadow:0 2px 8px #e8a87c59,0 1px 2px #00000014;transition:background var(--t-fast),box-shadow var(--t-fast),transform 80ms;white-space:nowrap}.btn-primary:hover{background:var(--accent-dim);box-shadow:0 4px 16px #e8a87c73}.btn-primary:active{background:var(--accent-press);transform:scale(.97)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;background:var(--bg-elevated);color:var(--text-secondary);font-size:13px;font-weight:500;padding:8px 18px;border-radius:var(--r-md);box-shadow:var(--shadow-xs),0 0 0 1px #0000000f;transition:background var(--t-fast),color var(--t-fast)}.btn-secondary:hover{background:var(--bg-subtle);color:var(--text)}.btn-secondary:active{transform:scale(.97)}.btn-ghost{font-size:13px;color:var(--text-secondary);padding:7px 14px;border-radius:var(--r-sm);transition:color var(--t-fast),background var(--t-fast)}.btn-ghost:hover{color:var(--text);background:var(--bg-subtle)}.btn-control{font-size:12px;font-weight:500;color:var(--text-secondary);padding:5px 11px;border-radius:var(--r-sm);box-shadow:var(--shadow-xs),0 0 0 1px #00000012;background:var(--bg-elevated);transition:background var(--t-fast),color var(--t-fast)}.btn-control:hover{background:var(--bg-subtle);color:var(--text)}.btn-control:active{transform:scale(.95)}.library-drawer{position:fixed;top:0;left:0;bottom:0;width:var(--drawer-w);z-index:200;display:flex;flex-direction:column;background:var(--bg-elevated);box-shadow:var(--shadow-xl);transform:translate(-100%);transition:transform var(--t-base) var(--ease-out);will-change:transform}.library-drawer.open{transform:translate(0)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:199;background:#0000002e;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity var(--t-base) var(--ease-out)}.drawer-overlay.visible{opacity:1;pointer-events:auto}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;flex-shrink:0}.drawer-title{font-size:17px;font-weight:600;letter-spacing:-.02em}.drawer-upload{margin:0 12px 8px;border-radius:var(--r-xl);background:var(--bg-subtle);transition:background var(--t-fast),box-shadow var(--t-fast);cursor:pointer;overflow:hidden}.drawer-upload.drag-over{background:var(--accent-glow);box-shadow:0 0 0 2px var(--accent)}.drop-zone-inner{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 16px;text-align:center}.drop-zone-inner p{font-size:13px;font-weight:500;color:var(--text-secondary)}.manuscript-list{flex:1;overflow-y:auto;padding:4px 10px 32px;display:flex;flex-direction:column;gap:2px}.manuscript-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:var(--r-lg);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--t-fast)}.manuscript-item:hover{background:var(--bg-subtle)}.manuscript-item.active{background:var(--accent-glow)}.manuscript-cover{width:34px;height:46px;border-radius:5px;background:var(--bg-subtle);box-shadow:var(--shadow-xs),0 0 0 1px #00000012;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;letter-spacing:.05em;color:var(--text-tertiary);text-transform:uppercase;overflow:hidden}.manuscript-cover img{width:100%;height:100%;object-fit:cover}.manuscript-cover--empty{background:var(--bg-subtle);border:1.5px dashed var(--text-ghost);box-shadow:none;cursor:pointer;color:var(--text-ghost);transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast)}.manuscript-cover--empty:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.manuscript-cover--empty svg{pointer-events:none}.manuscript-info{min-width:0;flex:1}.manuscript-title{font-size:13px;font-weight:500;color:var(--text);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manuscript-meta{font-size:11px;color:var(--text-tertiary);margin-top:2px}.manuscript-delete{opacity:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);color:var(--text-ghost);flex-shrink:0;transition:opacity var(--t-fast),background var(--t-fast),color var(--t-fast)}.manuscript-item:hover .manuscript-delete{opacity:1}.manuscript-delete:hover{background:var(--hl-rose-bg);color:var(--hl-rose)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:64px 32px;text-align:center;height:100%}.empty-icon{width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);border-radius:var(--r-xl);color:var(--text-ghost);margin-bottom:4px}.empty-state h3{font-size:19px;font-weight:600;letter-spacing:-.02em;color:var(--text-secondary)}.empty-state p{font-size:14px;color:var(--text-tertiary);line-height:1.65;max-width:240px}.highlight-pill{position:fixed;z-index:500;display:flex;align-items:center;gap:0;background:var(--bg-glass-strong);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border-radius:var(--r-pill);box-shadow:var(--shadow-lg),0 0 0 1px #00000012;transform:translate(-50%) translateY(calc(-100% - 12px));overflow:hidden;animation:pill-rise .16s var(--ease-spring);pointer-events:auto}@keyframes pill-rise{0%{opacity:0;transform:translate(-50%) translateY(calc(-100% - 4px)) scale(.88)}to{opacity:1;transform:translate(-50%) translateY(calc(-100% - 12px)) scale(1)}}.pill-colors{display:flex;align-items:center;gap:7px;padding:9px 12px}.pill-divider{width:1px;height:22px;flex-shrink:0;background:#00000014}@media (prefers-color-scheme: dark){.pill-divider{background:#ffffff1a}}.pill-action{display:flex;align-items:center;gap:5px;padding:8px 12px;font-size:12px;font-weight:500;color:var(--text-secondary);transition:background var(--t-fast),color var(--t-fast);white-space:nowrap}.pill-action:hover{background:var(--bg-subtle);color:var(--text)}.color-dot{width:21px;height:21px;border-radius:50%;flex-shrink:0;box-shadow:0 1px 4px #0000002e,0 0 0 2px #ffffff73;transition:transform var(--t-fast) var(--ease-spring),box-shadow var(--t-fast)}.color-dot:hover{transform:scale(1.22);box-shadow:0 2px 8px #00000038,0 0 0 2px #ffffff8c}.color-dot:active{transform:scale(1.05)}.note-ghost{position:fixed;z-index:490;width:310px;background:var(--bg-glass-strong);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border-radius:var(--r-xl);box-shadow:var(--shadow-lg),0 0 0 1px #00000012;overflow:hidden;transform:translate(-50%);animation:ghost-appear .2s var(--ease-out)}@keyframes ghost-appear{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.note-input{width:100%;padding:14px 16px 10px;font-size:14px;line-height:1.65;color:var(--text);background:transparent;resize:none}.note-input::placeholder{color:var(--text-ghost)}.note-tags-row{padding:0 14px 4px}.note-tag-input{width:100%;font-size:12px;color:var(--text-secondary);background:var(--bg-subtle);border-radius:var(--r-sm);padding:5px 10px}.note-tag-input::placeholder{color:var(--text-ghost)}.note-tag-list{display:flex;flex-wrap:wrap;gap:5px;padding:4px 14px 0;min-height:0}.tag-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:var(--accent-dim);background:var(--accent-glow);padding:3px 8px 3px 9px;border-radius:var(--r-pill)}.tag-chip-del{font-size:13px;line-height:1;opacity:.6;padding:0 1px;transition:opacity var(--t-fast)}.tag-chip-del:hover{opacity:1}.tag-chip-small{display:inline-block;font-size:10px;font-weight:500;color:var(--text-tertiary);background:var(--bg-subtle);padding:2px 7px;border-radius:var(--r-pill)}.note-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:8px 12px 10px;border-top:1px solid rgba(0,0,0,.05)}@media (prefers-color-scheme: dark){.note-actions{border-top-color:#ffffff0d}}.controls-popover{position:fixed;top:calc(var(--topbar-h) + 10px);right:14px;z-index:150;width:224px;background:var(--bg-glass-strong);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border-radius:var(--r-xl);box-shadow:var(--shadow-lg),0 0 0 1px #0000000f;padding:16px;animation:popover-drop .15s var(--ease-out)}@keyframes popover-drop{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.control-group{margin-bottom:15px}.control-group:last-child{margin-bottom:0}.control-group label{display:block;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:8px}.control-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.control-row>span{font-size:13px;color:var(--text-secondary);min-width:32px;text-align:center;font-variant-numeric:tabular-nums}.font-switcher,.theme-switcher{gap:4px}.btn-font,.btn-theme{flex:1;font-size:12px;font-weight:500;padding:7px 4px;border-radius:var(--r-sm);color:var(--text-secondary);background:var(--bg-subtle);box-shadow:0 0 0 1px #0000000f;transition:all var(--t-fast);text-align:center}.btn-font.active,.btn-theme.active{background:var(--accent-glow);color:var(--accent-dim);box-shadow:0 0 0 1.5px var(--accent);font-weight:600}.btn-font:hover:not(.active),.btn-theme:hover:not(.active){background:var(--bg-elevated);color:var(--text)}#annotation-popover{position:fixed;z-index:490;width:min(320px,92vw);background:var(--bg-glass-strong);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border-radius:var(--r-xl);box-shadow:var(--shadow-lg),0 0 0 1px #00000012;overflow:hidden;animation:ghost-appear .2s var(--ease-out)}.ap-inner{padding:14px 16px 12px;display:flex;flex-direction:column;gap:8px}.ap-header{display:flex;align-items:center;justify-content:space-between}.ap-title{font-size:13px;font-weight:600;color:var(--text)}.ap-close-btn{background:none;border:none;color:var(--text-ghost);font-size:18px;cursor:pointer;line-height:1;padding:0 2px}.ap-close-btn:hover{color:var(--text-secondary)}.ap-note-textarea{width:100%;box-sizing:border-box;background:var(--bg-subtle);border-radius:var(--r-md);padding:10px 12px;font-size:14px;line-height:1.6;color:var(--text);font-family:inherit;resize:vertical;min-height:72px;border:none;outline:none}.ap-note-textarea::placeholder{color:var(--text-ghost)}.ap-tag-input-field{width:100%;box-sizing:border-box;font-size:12px;font-family:inherit;color:var(--text-secondary);background:var(--bg-subtle);border:none;border-radius:var(--r-sm);padding:6px 10px;outline:none}.ap-tag-input-field::placeholder{color:var(--text-ghost)}.ap-tag-list{display:flex;flex-wrap:wrap;gap:5px;min-height:0}.ap-map-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--text-secondary)}.ap-map-label{font-size:13px;color:var(--text-secondary)}.ap-map-toggle{position:relative;width:38px;height:22px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--text-ghost);border-radius:11px;cursor:pointer;transition:background var(--t-fast);flex-shrink:0}.ap-map-toggle:checked{background:var(--accent)}.ap-map-toggle:after{content:"";position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:3px;left:3px;transition:left var(--t-fast);box-shadow:0 1px 3px #0000002e}.ap-map-toggle:checked:after{left:19px}.ap-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid rgba(0,0,0,.05);padding-top:8px;margin-top:2px}@media (prefers-color-scheme: dark){.ap-actions{border-top-color:#ffffff0f}}.ap-actions-right{display:flex;gap:6px;margin-left:auto}.ap-delete-btn{background:none;border:none;color:var(--hl-rose);font-size:12px;cursor:pointer;padding:0}.ap-delete-btn:hover{opacity:.8}.ap-hidden{display:none!important}.ap-skip-btn{background:none;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;padding:6px 10px;border-radius:var(--r-pill)}.ap-skip-btn:hover{background:var(--bg-subtle)}.ap-save-btn{background:var(--accent);border:none;color:#fff;font-size:13px;font-weight:500;cursor:pointer;padding:7px 18px;border-radius:var(--r-pill);transition:opacity var(--t-fast)}.ap-save-btn:hover{opacity:.88}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#00000038}@media (prefers-color-scheme: dark){::-webkit-scrollbar-thumb{background:#ffffff1a}::-webkit-scrollbar-thumb:hover{background:#ffffff2e}}.manuscript-item.revision{margin-left:20px;border-left:2px solid var(--accent-glow);padding-left:8px;border-radius:0 var(--r-lg) var(--r-lg) 0}.manuscript-revision-badge{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-dim);background:var(--accent-glow);border-radius:var(--r-pill);padding:2px 6px;flex-shrink:0}.manuscript-item-actions{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity var(--t-fast)}.manuscript-item:hover .manuscript-item-actions{opacity:1}.manuscript-link-btn{font-size:10px;color:var(--text-ghost);background:none;border:none;cursor:pointer;padding:3px 6px;border-radius:var(--r-sm);transition:background var(--t-fast),color var(--t-fast);white-space:nowrap}.manuscript-link-btn:hover{background:var(--bg-subtle);color:var(--text-secondary)}.rs-cluster-panel{margin-top:8px;border-radius:var(--r-lg);background:var(--bg-subtle, #F0EDE8);border:1px solid rgba(0,0,0,.06);overflow:hidden;animation:rs-panel-appear .18s var(--ease-out)}@keyframes rs-panel-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.rs-cluster-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px;border-bottom:1px solid rgba(0,0,0,.06)}.rs-cluster-panel-title{font-size:11px;font-weight:600;color:var(--text-secondary, #6A645E);text-transform:uppercase;letter-spacing:.05em}.rs-cluster-panel-close{background:none;border:none;color:var(--text-ghost, #C4BCB4);font-size:16px;cursor:pointer;line-height:1;padding:0 2px;transition:color var(--t-fast)}.rs-cluster-panel-close:hover{color:var(--text-secondary, #6A645E)}.rs-cluster-panel-loading{padding:12px 14px;font-size:12px;color:var(--text-tertiary, #aaa)}.rs-cluster-panel-cards{display:flex;flex-direction:column;gap:0;max-height:420px;overflow-y:auto}.rs-cluster-panel-cards::-webkit-scrollbar{width:3px}.rs-cluster-panel-cards::-webkit-scrollbar-thumb{background:#0000001f;border-radius:2px}.rs-ann-card{display:flex;align-items:stretch;border-bottom:.5px solid rgba(0,0,0,.06);transition:background .14s}.rs-ann-card:last-child{border-bottom:none}.rs-ann-card:hover{background:#00000005}.rs-ann-card-accent{width:3px;min-height:48px;flex-shrink:0;opacity:.75}.rs-ann-card-body{flex:1;padding:10px 12px 9px;min-width:0;display:flex;flex-direction:column;gap:4px}.rs-ann-card-text{font-family:Lora,Georgia,serif;font-size:13px;line-height:1.65;color:var(--text, #1E1C1A);word-break:break-word}.rs-ann-card-note{font-family:Inter,sans-serif;font-size:11.5px;line-height:1.6;color:var(--text-secondary, #6A645E);font-style:italic;padding:5px 9px;border-radius:6px;background:#00000008;border-left:2px solid rgba(232,168,124,.35)}.rs-ann-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.rs-ann-card-chapter{font-size:11px;color:var(--text-tertiary, #aaa);font-family:Inter,sans-serif}.rs-ann-card-tag{font-size:10px;background:#0000000f;color:var(--text-secondary, #6A645E);border-radius:3px;padding:1px 5px;font-family:Inter,sans-serif}.rs-ann-card-jump{padding:0 14px;color:var(--text-ghost, #C4BCB4);font-size:13px;flex-shrink:0;align-self:center;background:none;border:none;cursor:pointer;transition:color .14s;border-radius:0}.rs-ann-card-jump:hover{color:var(--accent, #E8A87C)}.rs-cluster-view-btn{font-size:10px;font-weight:500;color:var(--accent, #E8A87C);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline;text-decoration-style:dotted;white-space:nowrap;transition:opacity .14s}.rs-cluster-view-btn:hover{opacity:.75}.rs-cluster-view-btn.active{color:var(--text-secondary, #6A645E);text-decoration:none}.ms-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#00000073;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .2s ease}.ms-overlay.ms-visible{opacity:1}.ms-modal{width:min(860px,94vw);height:min(680px,90vh);background:var(--bg-elevated, #fff);border-radius:var(--r-xl, 16px);box-shadow:var(--shadow-xl),0 0 0 1px #0000000f;display:flex;flex-direction:column;overflow:hidden;transform:translateY(8px);transition:transform .2s cubic-bezier(.16,1,.3,1)}.ms-overlay.ms-visible .ms-modal{transform:translateY(0)}.ms-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 14px;border-bottom:1px solid rgba(0,0,0,.06);flex-shrink:0}.ms-header-left{min-width:0}.ms-header-right{display:flex;align-items:center;gap:16px;flex-shrink:0}.ms-title{font-size:15px;font-weight:700;color:var(--text, #1E1C1A);letter-spacing:-.01em}.ms-subtitle{font-size:11px;color:var(--text-tertiary, #aaa);margin-top:2px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.ms-steps{display:flex;align-items:center;gap:0}.ms-step{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-ghost, #C4BCB4);font-weight:500}.ms-step.active{color:var(--accent, #E8A87C)}.ms-step.done{color:var(--text-secondary, #6A645E)}.ms-step-num{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;background:#0000000d;color:var(--text-ghost, #C4BCB4)}.ms-step.active .ms-step-num{background:var(--accent-glow, #FFF0E6);color:var(--accent, #E8A87C)}.ms-step.done .ms-step-num{background:#0000000f;color:var(--text-secondary)}.ms-step-label{font-size:11px}.ms-step-divider{width:20px;height:1px;background:#0000001a;margin:0 6px}.ms-close-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm, 6px);font-size:18px;color:var(--text-ghost, #C4BCB4);transition:background var(--t-fast),color var(--t-fast)}.ms-close-btn:hover{background:var(--bg-subtle);color:var(--text-secondary)}.ms-body{flex:1;overflow-y:auto;padding:20px 22px;min-height:0}.ms-body::-webkit-scrollbar{width:4px}.ms-body::-webkit-scrollbar-thumb{background:#0000001f;border-radius:2px}.ms-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid rgba(0,0,0,.06);flex-shrink:0}.ms-footer-left{flex:1}.ms-footer-right{display:flex;gap:8px}.ms-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary, #6A645E);margin-bottom:6px;display:flex;align-items:center;gap:8px}.ms-section-hint{font-size:12px;color:var(--text-tertiary, #aaa);line-height:1.55;margin-bottom:12px}.ms-optional{font-size:10px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--text-ghost, #C4BCB4)}.ms-btn-primary{padding:8px 18px;background:var(--accent, #E8A87C);color:#fff;border-radius:var(--r-pill, 999px);font-size:13px;font-weight:600;transition:opacity .15s}.ms-btn-primary:hover{opacity:.88}.ms-btn-primary:disabled{opacity:.5;cursor:not-allowed}.ms-btn-secondary{padding:8px 16px;background:var(--bg-subtle, #F0EDE8);color:var(--text-secondary, #6A645E);border-radius:var(--r-pill, 999px);font-size:13px;font-weight:500;transition:background .15s}.ms-btn-secondary:hover{background:#00000012}.ms-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.ms-text-btn{font-size:11px;color:var(--accent, #E8A87C);text-decoration:underline;text-decoration-style:dotted;padding:0;background:none;cursor:pointer}.ms-add-btn{font-size:12px;color:var(--accent, #E8A87C);padding:7px 0;background:none;display:block;margin-top:4px;cursor:pointer;font-weight:500}.ms-add-btn:hover{opacity:.75}.ms-add-btn-inline{font-size:10px;font-weight:500;color:var(--accent, #E8A87C);background:none;border:none;cursor:pointer;padding:0 2px;text-transform:none;letter-spacing:0}.ms-icon-btn{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm, 6px);color:var(--text-ghost, #C4BCB4);transition:background .14s,color .14s;flex-shrink:0}.ms-icon-btn:hover{background:#0000000f;color:var(--text-secondary)}.ms-input{width:100%;padding:7px 10px;border-radius:var(--r-md, 8px);border:1px solid rgba(0,0,0,.1);background:var(--bg-subtle, #F0EDE8);font-size:13px;color:var(--text, #1E1C1A);font-family:Inter,sans-serif;transition:border-color .15s;box-sizing:border-box}.ms-input:focus{outline:none;border-color:var(--accent, #E8A87C);background:#fff}.ms-input::placeholder{color:var(--text-ghost, #C4BCB4)}.ms-input-sm{font-size:12px;padding:5px 8px}.ms-select{padding:7px 10px;border-radius:var(--r-md, 8px);border:1px solid rgba(0,0,0,.1);background:var(--bg-subtle, #F0EDE8);font-size:12px;color:var(--text, #1E1C1A);font-family:Inter,sans-serif;cursor:pointer}.ms-select-sm{font-size:11px;padding:5px 8px}.ms-empty-hint{font-size:12px;color:var(--text-ghost, #C4BCB4);padding:12px 0;font-style:italic}.ms-char-list{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}.ms-char-card{background:var(--bg-subtle, #F0EDE8);border-radius:var(--r-lg, 12px);padding:12px;display:flex;flex-direction:column;gap:8px;border:1px solid rgba(0,0,0,.06)}.ms-char-row{display:flex;align-items:center;gap:8px}.ms-char-row .ms-input{flex:1}.ms-char-aliases-row .ms-input{width:100%}.ms-chip-input-wrap{display:flex;flex-direction:column;gap:8px}.ms-chip-list{display:flex;flex-wrap:wrap;gap:6px;min-height:28px}.ms-chip{display:flex;align-items:center;gap:4px;padding:4px 10px;background:var(--accent-glow, #FFF0E6);border:1px solid rgba(232,168,124,.25);border-radius:var(--r-pill, 999px);font-size:12px;color:var(--text, #1E1C1A);font-family:Inter,sans-serif}.ms-chip-del{color:var(--text-ghost, #C4BCB4);font-size:14px;line-height:1;padding:0 1px;transition:color .12s}.ms-chip-del:hover{color:var(--text-secondary)}.ms-existing-note{display:flex;align-items:flex-start;gap:7px;padding:10px 12px;background:var(--bg-subtle, #F0EDE8);border-radius:var(--r-md, 8px);font-size:12px;color:var(--text-secondary, #6A645E);line-height:1.55;margin-top:16px;border:1px solid rgba(0,0,0,.06)}.ms-scan-progress{margin-top:20px;display:flex;flex-direction:column;gap:8px}.ms-scan-bar{height:3px;background:#00000014;border-radius:2px;overflow:hidden}.ms-scan-fill{height:100%;background:var(--accent, #E8A87C);border-radius:2px;transition:width .3s ease;width:0%}.ms-scan-label{font-size:11px;color:var(--text-tertiary, #aaa);font-family:Inter,sans-serif}.ms-editor-layout{display:grid;grid-template-columns:260px 1fr;gap:20px;min-height:100%}.ms-editor-left{display:flex;flex-direction:column;gap:4px;border-right:1px solid rgba(0,0,0,.06);padding-right:20px}.ms-editor-right{display:flex;flex-direction:column;gap:4px;min-width:0}.ms-char-editor-list{display:flex;flex-direction:column;gap:8px}.ms-char-row-compact{display:flex;flex-direction:column;gap:5px;padding:8px 10px;background:var(--bg-subtle, #F0EDE8);border-radius:var(--r-md, 8px);border:1px solid rgba(0,0,0,.05)}.ms-char-compact-main{display:flex;align-items:center;gap:5px}.ms-char-compact-main .ms-input{flex:1;min-width:0}.ms-aliases-input{font-size:11px!important}.ms-detected-chars{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.ms-detect-pill{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;background:#0000000a;border-radius:var(--r-pill, 999px);font-size:11px;color:var(--text-secondary, #6A645E);border:1px solid rgba(0,0,0,.08)}.ms-detect-count{font-size:10px;color:var(--text-ghost, #C4BCB4)}.ms-detect-add,.ms-detect-dismiss{font-size:12px;color:var(--text-ghost);padding:0 1px;transition:color .12s}.ms-detect-add:hover{color:var(--accent, #E8A87C)}.ms-detect-dismiss:hover{color:var(--text-secondary)}.ms-cluster-cards{display:flex;flex-direction:column;gap:10px;overflow-y:auto;max-height:480px;padding-right:4px}.ms-cluster-cards::-webkit-scrollbar{width:3px}.ms-cluster-cards::-webkit-scrollbar-thumb{background:#0000001a;border-radius:2px}.ms-cluster-card{background:var(--bg-subtle, #F0EDE8);border:1px solid rgba(0,0,0,.07);border-radius:var(--r-lg, 12px);padding:12px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s}.ms-cluster-card:hover{border-color:#0000001f}.ms-cluster-card-header{display:flex;align-items:center;gap:6px}.ms-cluster-label-input{flex:1;font-weight:600!important;background:transparent!important;border:none!important;padding:0!important;font-size:13px!important}.ms-cluster-label-input:focus{background:var(--bg-subtle)!important;padding:4px 6px!important;border-radius:4px!important}.ms-kw-section,.ms-suggest-section{display:flex;flex-direction:column;gap:6px}.ms-kw-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-ghost, #C4BCB4);display:flex;align-items:center;gap:5px}.ms-kw-count{font-weight:400;text-transform:none;letter-spacing:0;font-size:10px}.ms-kw-chips{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.ms-kw-chip{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;background:#0000000f;border-radius:var(--r-pill, 999px);font-size:11px;color:var(--text, #1E1C1A);font-family:Inter,sans-serif}.ms-kw-add-input{width:90px!important;padding:3px 7px!important;font-size:11px!important;border-radius:var(--r-pill, 999px)!important;background:#0000000a!important;border:1px dashed rgba(0,0,0,.15)!important}.ms-kw-add-input:focus{width:120px!important;background:#fff!important}.ms-suggest-chips{display:flex;flex-wrap:wrap;gap:5px}.ms-suggest-chip{display:inline-flex;align-items:center;border-radius:var(--r-pill, 999px);border:1px solid rgba(0,0,0,.1);overflow:hidden;font-size:11px;background:#fff}.ms-suggest-chip.ms-suggest-thesaurus{border-color:#8baf8b59;background:#8baf8b0f}.ms-suggest-add{padding:3px 8px;color:var(--text-secondary, #6A645E);font-size:11px;transition:background .12s,color .12s}.ms-suggest-add:hover{background:var(--accent-glow, #FFF0E6);color:var(--accent, #E8A87C)}.ms-suggest-dismiss{padding:3px 6px;color:var(--text-ghost, #C4BCB4);font-size:12px;border-left:1px solid rgba(0,0,0,.08);transition:background .12s,color .12s}.ms-suggest-dismiss:hover{background:#0000000d;color:var(--text-secondary)}.ms-coverage{display:flex;align-items:center;gap:8px}.ms-coverage-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-ghost, #C4BCB4)}.ms-coverage-bar{width:80px;height:3px;background:#00000014;border-radius:2px;overflow:hidden}.ms-coverage-fill{height:100%;background:var(--accent, #E8A87C);border-radius:2px;transition:width .3s ease}.ms-coverage-pct{font-size:11px;color:var(--text-tertiary, #aaa)}@media (max-width: 480px){.top-bar{padding:0 4px!important;gap:2px!important}.doc-title{font-size:11px!important;max-width:65px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:4px!important}.top-bar-right{gap:0px!important;margin-left:auto}.top-bar-right .btn-icon.reader-only{width:26px!important;height:26px!important;padding:0!important;margin:0!important}.mode-toggle{margin-left:2px!important;padding:1px!important;gap:0px!important}.mode-tab{padding:4px 5px!important;font-size:9.5px!important;letter-spacing:-.02em}#editorial-signal-dot{position:absolute;right:4px;top:12px;margin:0!important}.setup-modal{width:95%!important;max-height:90vh!important;margin:10px auto!important;display:flex;flex-direction:column}.setup-modal-bar{flex-direction:column!important;align-items:flex-start!important;gap:12px;padding:16px!important}.setup-steps{flex-wrap:wrap;gap:6px}.setup-step{font-size:10px!important;padding:4px 8px!important}.setup-body{flex-direction:column!important;overflow-y:auto!important;height:auto!important}.setup-left,.setup-right{width:100%!important;border-right:none!important;border-bottom:1px solid var(--bg-subtle);padding:16px!important}.setup-char-row{flex-direction:column!important;align-items:flex-start!important;gap:4px;padding:10px 0!important}.setup-char-aliases{font-size:11px!important;opacity:.8}.chip-row{display:flex;flex-wrap:wrap!important;gap:6px!important}.chip{font-size:11px!important;padding:4px 10px!important;white-space:nowrap}.ms-suggest-chips{gap:6px!important;margin-top:8px}.setup-modal{width:92%!important;height:auto!important;max-height:85vh!important;overflow-y:auto!important;display:block!important}.setup-body{display:block!important;height:auto!important}.setup-left,.setup-right{width:100%!important;display:block!important;border-right:none!important;border-bottom:1px solid var(--bg-subtle);padding:20px 16px!important}.chip-row,.ms-suggest-chips{display:flex!important;flex-wrap:wrap!important;gap:8px!important;width:100%!important}.chip,.ms-suggest-chip{flex-shrink:0!important;margin:0!important}.setup-modal-bar{display:block!important;padding:16px!important}.setup-steps{margin-top:12px;justify-content:flex-start!important;gap:4px!important}@media screen and (max-width: 480px){.manuscript-item{padding:10px 8px!important;display:flex!important;align-items:center!important}.manuscript-title{flex:0 1 auto!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:13px!important;margin-right:8px!important}.manuscript-actions{display:flex!important;flex-shrink:0!important;gap:10px!important;opacity:1!important;visibility:visible!important}.ms-modal{width:96vw!important;height:94vh!important;left:2vw!important;top:3vh!important;transform:none!important;display:flex!important;flex-direction:column!important}.ms-body{display:block!important;overflow-y:auto!important;flex:1!important;padding:12px!important}.ms-editor-layout{display:block!important}.ms-editor-left,.ms-editor-right{width:100%!important;max-width:100%!important;display:block!important;border:none!important;padding:0 0 20px!important}.ms-kw-chips{display:flex!important;flex-wrap:wrap!important;gap:6px!important}.ms-kw-chip{flex:0 0 auto!important;max-width:100%!important}.ms-header{height:auto!important;padding:12px!important;display:flex!important;flex-direction:column!important;gap:10px!important}.setup-step{font-size:9px!important;padding:4px 8px!important;flex:1 1 auto!important;text-align:center!important;white-space:nowrap!important}.ms-header-right{width:100%!important;justify-content:flex-end!important}.manuscript-item{display:flex!important;flex-direction:row!important;align-items:center!important;padding:8px!important;gap:8px!important;width:100%!important;height:auto!important}.manuscript-cover{width:32px!important;height:40px!important;flex-shrink:0!important}.manuscript-cover span{font-size:8px!important}.manuscript-info{display:flex!important;flex-direction:column!important;gap:4px!important;flex:1!important;min-width:0!important}.manuscript-title{display:block!important;font-size:12px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;width:100%!important;color:var(--text)!important}.manuscript-meta{display:flex!important;flex-wrap:wrap!important;gap:4px!important;font-size:10px!important;line-height:1.4!important}.manuscript-actions{display:flex!important;flex-shrink:0!important;gap:4px!important;margin-left:auto!important}.manuscript-action-btn,.manuscript-delete{width:26px!important;height:26px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:var(--bg-subtle)!important;border-radius:4px!important;opacity:1!important;color:var(--text-secondary)!important}.manuscript-actions svg{width:14px!important;height:14px!important}}.cluster-badge,.manuscript-revision-badge{display:inline-block!important;padding:1px 6px!important;border-radius:4px!important;background:var(--bg-subtle)!important;white-space:nowrap!important}.ms-steps{display:flex!important;flex-shrink:1!important;flex-wrap:nowrap!important;gap:0!important;width:100%!important;justify-content:space-evenly!important;overflow:hidden!important}.ms-step-label{flex:1 1 0%!important;min-width:0!important;padding:4px 1px!important;font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;text-align:center!important;border-radius:0!important}}#read-panel{height:100%}.reader-container{height:100%;overflow:hidden;position:relative;background:var(--bg)}.reader-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.nav-arrow{position:absolute;top:50%;z-index:20;width:40px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-lg);color:var(--text-tertiary);background:var(--bg-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-sm),0 0 0 1px #0000000d;transform:translateY(-50%);transition:background var(--t-fast),color var(--t-fast),opacity var(--t-fast),transform var(--t-fast);opacity:.5}.nav-arrow:hover{background:var(--bg-elevated);color:var(--text);opacity:1}.nav-arrow:active{transform:translateY(-50%) scale(.94)}.nav-arrow-prev{left:12px}.nav-arrow-next{right:12px}.epub-viewer:hover~.nav-arrow,.epub-viewer:focus-within~.nav-arrow{opacity:.3}.nav-arrow:hover{opacity:1!important}.epub-viewer{height:100%;overflow:hidden;position:relative;background:var(--bg);transition:background .3s}.epub-viewer iframe{border:none!important}.epub-viewer.sepia{background:#faf0dc}.epub-viewer.dark{background:#1c1c1e}:root{--hl-amber-bg: rgba(232, 168, 124, .4);--hl-sage-bg: rgba(139, 175, 139, .4);--hl-rose-bg: rgba(201, 124, 139, .4)}.epub-viewer .epub-highlight-rect{position:absolute;border-radius:2px;pointer-events:none;mix-blend-mode:multiply}.epub-viewer .epub-highlight-rect[data-color=amber]{background-color:var(--hl-amber-bg)}.epub-viewer .epub-highlight-rect[data-color=sage]{background-color:var(--hl-sage-bg)}.epub-viewer .epub-highlight-rect[data-color=rose]{background-color:var(--hl-rose-bg)}.epub-annotation-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.pdf-viewer{height:100%;overflow-y:auto;overflow-x:hidden;padding:40px 0 80px;background:var(--bg);display:flex;flex-direction:column;align-items:center;gap:28px}.pdf-page-wrapper{position:relative;background:#fff;border-radius:4px;box-shadow:0 2px 4px #0000000a,0 8px 32px #00000014,0 24px 64px #0000000d;overflow:hidden;max-width:min(680px,92vw)}.pdf-page-wrapper canvas{display:block;max-width:100%;height:auto}.pdf-text-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;user-select:text;-webkit-user-select:text}.pdf-text-layer>span{position:absolute;white-space:pre;transform-origin:0% 0%;cursor:text;color:transparent}.pdf-annotation-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.pdf-highlight-rect{position:absolute;border-radius:2px;pointer-events:none}.pdf-highlight-rect[data-color=amber]{background:var(--hl-amber-bg)}.pdf-highlight-rect[data-color=sage]{background:var(--hl-sage-bg)}.pdf-highlight-rect[data-color=rose]{background:var(--hl-rose-bg)}.reader-loading{display:flex;align-items:center;justify-content:center;height:100%;gap:10px;font-size:13.5px;color:var(--text-tertiary)}.reader-loading:before{content:"";width:18px;height:18px;border:2px solid rgba(0,0,0,.08);border-top-color:var(--accent);border-radius:50%;animation:spin .65s linear infinite;flex-shrink:0}@media (prefers-color-scheme: dark){.reader-loading:before{border-color:#ffffff14;border-top-color:var(--accent)}}@keyframes spin{to{transform:rotate(360deg)}}.toc-panel{position:fixed;top:var(--topbar-h);left:0;bottom:0;width:280px;z-index:90;background:var(--bg-elevated);box-shadow:var(--shadow-xl);transform:translate(-100%);transition:transform var(--t-base) var(--ease-out);display:flex;flex-direction:column}.toc-panel.open{transform:translate(0)}.toc-header{display:flex;align-items:center;justify-content:space-between;padding:18px 16px 14px;flex-shrink:0;border-bottom:1px solid rgba(0,0,0,.05)}@media (prefers-color-scheme: dark){.toc-header{border-bottom-color:#ffffff0d}}.toc-title{font-size:15px;font-weight:600;letter-spacing:-.01em}.toc-list{list-style:none;overflow-y:auto;flex:1;padding:8px 0 32px}.toc-list ul{list-style:none}.toc-item{display:block;width:100%;padding:8px 16px;font-size:13px;font-weight:400;line-height:1.5;color:var(--text-secondary);text-align:left;transition:background var(--t-fast),color var(--t-fast);border-radius:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toc-item:hover{background:var(--bg-subtle);color:var(--text)}.toc-item:active{background:var(--accent-glow)}.search-panel{position:fixed;top:var(--topbar-h);right:0;bottom:0;width:320px;z-index:90;background:var(--bg-elevated);box-shadow:var(--shadow-xl);transform:translate(100%);transition:transform var(--t-base) var(--ease-out);display:flex;flex-direction:column}.search-panel.open{transform:translate(0)}.search-header{padding:14px 14px 10px;flex-shrink:0;border-bottom:1px solid rgba(0,0,0,.05);display:flex;flex-direction:column;gap:8px}@media (prefers-color-scheme: dark){.search-header{border-bottom-color:#ffffff0d}}.search-input-wrap{display:flex;align-items:center;gap:6px;background:var(--bg-subtle);border-radius:var(--r-md);padding:0 8px}.search-icon{color:var(--text-tertiary);flex-shrink:0}.search-input{flex:1;font-size:13px;color:var(--text);padding:9px 4px;background:transparent}.search-input::placeholder{color:var(--text-ghost)}.search-input::-webkit-search-cancel-button{display:none}.search-go{align-self:flex-end;padding:7px 16px;font-size:13px}.search-results{flex:1;overflow-y:auto;padding:8px 0 32px}.search-loading,.search-none{padding:24px 16px;font-size:13px;color:var(--text-tertiary);text-align:center}.search-result-item{display:block;width:100%;text-align:left;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.04);transition:background var(--t-fast);cursor:pointer}.search-result-item:hover{background:var(--bg-subtle)}@media (prefers-color-scheme: dark){.search-result-item{border-bottom-color:#ffffff0a}}.search-result-label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:4px}.search-result-excerpt{font-size:13px;line-height:1.55;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.editorial-dot{width:8px;height:8px;border-radius:50%;background:var(--accent, #E8A87C);box-shadow:0 0 0 2px #e8a87c40;cursor:pointer;flex-shrink:0;transition:transform var(--t-fast),box-shadow var(--t-fast);animation:dot-pulse 2s ease-in-out infinite}.editorial-dot:hover{transform:scale(1.3);box-shadow:0 0 0 4px #e8a87c33}@keyframes dot-pulse{0%,to{box-shadow:0 0 0 2px #e8a87c40}50%{box-shadow:0 0 0 5px #e8a87c1a}}.editorial-drawer{position:fixed;top:var(--topbar-h);right:0;bottom:0;width:300px;z-index:88;background:var(--bg-elevated);box-shadow:var(--shadow-xl);transform:translate(100%);transition:transform var(--t-base) var(--ease-out);display:flex;flex-direction:column;border-left:1px solid rgba(0,0,0,.06)}.editorial-drawer.open{transform:translate(0)}@media (prefers-color-scheme: dark){.editorial-drawer{border-left-color:#ffffff0f}}.editorial-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;flex-shrink:0;border-bottom:1px solid rgba(0,0,0,.06)}@media (prefers-color-scheme: dark){.editorial-drawer-header{border-bottom-color:#ffffff0f}}.editorial-drawer-title{font-size:13px;font-weight:600;color:var(--text-secondary);letter-spacing:-.01em}.editorial-drawer-content{flex:1;overflow-y:auto;padding:8px 0 32px}.editorial-drawer-chapter{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);padding:10px 16px 6px}.editorial-drawer-item{padding:10px 16px;border-top:1px solid rgba(0,0,0,.04)}@media (prefers-color-scheme: dark){.editorial-drawer-item{border-top-color:#ffffff0a}}.editorial-drawer-text{font-size:13px;font-weight:500;color:var(--text);line-height:1.45;margin-bottom:4px}.editorial-drawer-sub{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:8px}.editorial-drawer-dash-link{font-size:11px;color:var(--accent);padding:3px 0;cursor:pointer;background:none;border:none;transition:opacity var(--t-fast)}.editorial-drawer-dash-link:hover{opacity:.7}.editorial-drawer-empty{font-size:13px;color:var(--text-tertiary);padding:24px 16px;text-align:center}.editorial-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.editorial-toggle-label{font-size:13px;color:var(--text-secondary)}.editorial-toggle-switch{position:relative;width:36px;height:20px;flex-shrink:0}.editorial-toggle-switch input{opacity:0;width:0;height:0}.editorial-toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;background:#0000001f;border-radius:10px;transition:background var(--t-fast)}.editorial-toggle-slider:before{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform var(--t-fast);box-shadow:0 1px 3px #0003}.editorial-toggle-switch input:checked+.editorial-toggle-slider{background:var(--accent)}.editorial-toggle-switch input:checked+.editorial-toggle-slider:before{transform:translate(16px)}@media (prefers-color-scheme: dark){.editorial-toggle-slider{background:#ffffff1f}}.ap-tags-section{padding:8px 0 4px}.ap-tags-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin-bottom:6px}.ap-tag-list{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px;min-height:22px}.ap-tag-chip{display:inline-flex;align-items:center;gap:3px;font-size:12px;background:var(--accent-glow, rgba(232,168,124,.15));color:var(--accent, #E8A87C);border-radius:var(--r-pill, 999px);padding:3px 10px;font-weight:500}.ap-tag-chip-del{background:none;border:none;color:var(--accent, #E8A87C);cursor:pointer;font-size:13px;padding:0 0 0 2px;line-height:1;opacity:.7}.ap-tag-chip-del:hover{opacity:1}.ap-map-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0 10px;font-size:12px;color:var(--text-secondary)}.ap-map-toggle-wrap{position:relative;display:inline-block;width:32px;height:18px;flex-shrink:0}.ap-map-toggle-wrap input{opacity:0;width:0;height:0}.ap-map-slider{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;background:#0000001f;border-radius:9px;transition:background .2s}.ap-map-slider:before{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .2s;box-shadow:0 1px 3px #0003}.ap-map-toggle-wrap input:checked+.ap-map-slider{background:var(--accent, #E8A87C)}.ap-map-toggle-wrap input:checked+.ap-map-slider:before{transform:translate(14px)}@media (prefers-color-scheme: dark){.ap-map-slider{background:#ffffff1f}}#map-panel{height:100%;background:#141414;position:relative}#node-go-source{display:none!important}.map-container{width:100%;height:100%;position:relative;overflow:hidden;background:#141414}.map-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px),radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px);background-size:80px 80px,37px 37px;background-position:0 0,20px 20px;pointer-events:none;z-index:0}#force-graph{width:100%;height:100%;cursor:grab;position:relative;z-index:1}#force-graph:active{cursor:grabbing}#graph-canvas{will-change:transform}.graph-edge{stroke:#e8a87c;stroke-opacity:.25;stroke-width:1;fill:none;pointer-events:none;transition:stroke-opacity .18s ease-out}.graph-edge.highlighted{stroke-opacity:.7;stroke-width:1.5}.graph-edge.dimmed{stroke-opacity:.04}.graph-node{cursor:pointer;transition:opacity .18s ease-out}.node-card{fill:#262420;stroke:#ffffff0f;stroke-width:1;filter:none;transition:fill .18s,stroke .18s,filter .18s}.graph-node:hover .node-card,.graph-node.highlighted .node-card{fill:#2e2a26;stroke:#e8a87c4d;filter:drop-shadow(0 0 12px rgba(232,168,124,.15))}.graph-node.dimmed{opacity:.14}.node-accent-strip{transition:opacity .18s}.node-label{fill:#eae5de99;font-family:Inter,-apple-system,sans-serif;font-size:11px;font-weight:400;pointer-events:none;transition:fill .18s}.graph-node:hover .node-label,.graph-node.highlighted .node-label{fill:#eae5dee0}.cluster-halo{pointer-events:none}.graph-tooltip{position:fixed;z-index:600;max-width:280px;padding:11px 14px;background:#242220;color:#eae5dee0;font-family:Inter,sans-serif;font-size:12.5px;line-height:1.6;border-radius:12px;border:1px solid rgba(255,255,255,.07);box-shadow:0 16px 48px #000000a6;pointer-events:none;opacity:0;transition:opacity .12s ease-out;word-break:break-word}.graph-tooltip.visible{opacity:1}.node-detail{position:absolute;bottom:28px;left:50%;transform:translate(-50%);width:min(460px,88vw);background:#1e1c1a;border-radius:22px;border:1px solid rgba(255,255,255,.08);box-shadow:0 28px 72px #000000bf,0 8px 24px #0006;padding:20px 20px 18px;z-index:200;animation:detail-rise .24s cubic-bezier(.16,1,.3,1)}@keyframes detail-rise{0%{opacity:0;transform:translate(-50%) translateY(14px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.node-detail-close{position:absolute;top:12px;right:12px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:#ffffff4d;transition:background .14s,color .14s}.node-detail-close:hover{background:#ffffff0f;color:#ffffffa6}.node-detail-color-bar{width:28px;height:3px;border-radius:2px;margin-bottom:12px;opacity:.85}.node-detail-text{font-family:Lora,Georgia,serif;font-size:15px;line-height:1.78;color:#eae5dee0;margin-bottom:12px;word-break:break-word}.node-detail-note{font-family:Inter,sans-serif;font-size:13px;line-height:1.65;color:#eae5de73;padding:10px 12px;border-radius:10px;background:#ffffff08;border-left:2px solid rgba(232,168,124,.3);margin-bottom:14px}.computing-overlay{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:300;animation:badge-appear .28s cubic-bezier(.16,1,.3,1)}@keyframes badge-appear{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.computing-badge{display:flex;align-items:center;gap:9px;padding:9px 16px;background:#1a1816eb;border:1px solid rgba(232,168,124,.22);border-radius:999px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-family:Inter,sans-serif;font-size:12px;font-weight:500;color:#eae5dea6;letter-spacing:.02em}.shimmer-dot{width:7px;height:7px;background:var(--accent, #E8A87C);border-radius:50%;animation:shimmer-pulse 1.3s ease-in-out infinite}@keyframes shimmer-pulse{0%,to{opacity:.25;transform:scale(.75)}50%{opacity:1;transform:scale(1.1)}}.map-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:2}.empty-state.dark{color:#eae5de33}.empty-state.dark .empty-icon.dark-icon{background:#ffffff0a;color:#eae5de33}.empty-state.dark h3{color:#eae5de59}.empty-state.dark p{color:#eae5de33}.cluster-node{cursor:pointer}.cluster-node circle{transition:fill-opacity .18s,stroke-opacity .18s,filter .18s}.cluster-node:hover circle:first-child{fill-opacity:.22;stroke-opacity:.8;filter:drop-shadow(0 0 14px currentColor)}.cluster-edge{stroke:#e8a87c4d;stroke-linecap:round;fill:none;pointer-events:stroke;transition:stroke-opacity .16s}.cluster-edge:hover{stroke-opacity:.85!important;stroke:#e8a87c}.map-explore-btn{width:100%;padding:8px 0;background:#e8a87c1f;border:1px solid rgba(232,168,124,.25);border-radius:10px;color:#e8a87c;font-size:12px;font-weight:600;font-family:Inter,sans-serif;letter-spacing:.03em;cursor:pointer;transition:background .15s,border-color .15s}.map-explore-btn:hover{background:#e8a87c33;border-color:#e8a87c73}.explore-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:400;background:#000000a6;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:explore-fade-in .18s ease-out}@keyframes explore-fade-in{0%{opacity:0}to{opacity:1}}.explore-panel{width:min(720px,92vw);height:min(680px,88vh);background:#1a1816;border-radius:20px;border:1px solid rgba(255,255,255,.09);box-shadow:0 32px 80px #000c,0 8px 24px #00000080;display:flex;flex-direction:column;overflow:visible;animation:explore-rise .22s cubic-bezier(.16,1,.3,1);clip-path:inset(0 round 20px)}@keyframes explore-rise{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.explore-header{display:flex;align-items:center;gap:12px;padding:18px 20px 14px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}.explore-color-bar{width:24px;height:3px;border-radius:2px;opacity:.85;flex-shrink:0}.explore-title{font-size:15px;font-weight:600;color:#eae5dee6;font-family:Inter,sans-serif;flex:1;letter-spacing:-.01em}.explore-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:#ffffff4d;font-size:18px;transition:background .14s,color .14s;flex-shrink:0}.explore-close:hover{background:#ffffff0f;color:#ffffffa6}.explore-score-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 20px 10px;border-bottom:1px solid rgba(255,255,255,.05);flex-shrink:0}.explore-score-label{font-size:11px;color:#eae5de59;font-family:Inter,sans-serif}.explore-score-dist{display:flex;gap:6px}.explore-score-pill{font-size:10px;font-weight:600;font-family:Inter,sans-serif;padding:2px 8px;border-radius:10px;letter-spacing:.03em}.explore-score-pill.strong{background:#8baf8b26;color:#8baf8b}.explore-score-pill.medium{background:#e8a87c26;color:#e8a87c}.explore-score-pill.weak{background:#ffffff0f;color:#eae5de59}.explore-cards{flex:1;overflow-y:scroll;overflow-x:hidden;padding:12px 16px 16px;display:flex;flex-direction:column;gap:10px;min-height:0}.explore-cards::-webkit-scrollbar{width:4px}.explore-cards::-webkit-scrollbar-track{background:transparent}.explore-cards::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.explore-card{display:flex;align-items:stretch;gap:0;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:visible;flex-shrink:0;transition:border-color .15s,background .15s}.explore-card:hover{background:#ffffff0d;border-color:#ffffff1a}.explore-card-accent{width:3px;min-height:60px;align-self:stretch;border-radius:12px 0 0 12px;flex-shrink:0;opacity:.85}.explore-card-body{flex:1;padding:14px 14px 12px;min-width:0;display:flex;flex-direction:column;gap:6px}.explore-card-text{font-family:Lora,Georgia,serif;font-size:13.5px;line-height:1.7;color:#eae5dee6;word-break:break-word;white-space:normal}.explore-card-note{font-family:Inter,sans-serif;font-size:12px;line-height:1.6;color:#eae5de80;padding:6px 10px;border-radius:7px;background:#ffffff08;border-left:2px solid rgba(232,168,124,.25);margin-bottom:7px;font-style:italic}.explore-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:4px}.explore-card-chapter{font-size:11px;color:#eae5de4d;font-family:Inter,sans-serif}.explore-reason-pill{font-size:10px;font-family:Inter,sans-serif;padding:1px 7px;border-radius:8px;font-weight:500}.explore-reason-keyword{background:#7ca8c926;color:#7ca8c9}.explore-reason-tag{background:#8baf8b26;color:#8baf8b}.explore-reason-keymoment{background:#e8a87c26;color:#e8a87c}.explore-score-chip{font-size:10px;font-family:Inter,sans-serif;padding:1px 7px;border-radius:8px;font-weight:600}.explore-score-chip.strong{background:#8baf8b1f;color:#8baf8b}.explore-score-chip.medium{background:#e8a87c1f;color:#e8a87c}.explore-score-chip.weak{background:#ffffff0d;color:#eae5de4d}.explore-card-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.explore-tag{font-size:10px;background:#ffffff0f;color:#eae5de73;border-radius:3px;padding:1px 5px;font-family:Inter,sans-serif}.explore-card-jump{padding:0 16px;color:#eae5de33;font-size:15px;transition:color .15s,background .15s;flex-shrink:0;align-self:center;display:flex;align-items:center;min-height:100%;border-radius:0 12px 12px 0}.explore-card-jump:hover{color:#e8a87c;background:#e8a87c0f}#notes-panel{height:100%;background:var(--bg);overflow:hidden}.notes-container{height:100%;display:flex;flex-direction:column;overflow:hidden;max-width:760px;margin:0 auto;width:100%}.notes-header{padding:28px 28px 12px;flex-shrink:0}.notes-panel-title{font-size:24px;font-weight:600;letter-spacing:-.03em;color:var(--text)}.notes-empty{display:flex;align-items:center;justify-content:center;flex:1}.notes-list{flex:1;overflow-y:auto;padding:4px 20px 48px;display:flex;flex-direction:column;gap:6px}.notes-chapter{display:flex;flex-direction:column}.notes-chapter-header{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:var(--r-md);cursor:pointer;transition:background var(--t-fast);-webkit-user-select:none;user-select:none;text-align:left}.notes-chapter-header:hover{background:var(--bg-subtle)}.notes-chapter-title{font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--text-secondary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notes-chapter-count{font-size:11px;font-weight:600;color:var(--text-ghost);background:var(--bg-subtle);padding:2px 7px;border-radius:var(--r-pill);min-width:22px;text-align:center}.chapter-chevron{color:var(--text-ghost);flex-shrink:0;transition:transform var(--t-fast) var(--ease-out)}.notes-chapter-header[aria-expanded=true] .chapter-chevron{transform:rotate(180deg)}.notes-chapter-body{display:none;flex-direction:column;gap:4px;padding:0 0 8px 4px;overflow:hidden}.notes-chapter-body.open{display:flex}.notes-entry{position:relative;display:flex;align-items:stretch;gap:0;border-radius:var(--r-lg);background:var(--bg-elevated);box-shadow:var(--shadow-xs),0 0 0 1px #0000000d;overflow:hidden;transition:box-shadow var(--t-fast)}.notes-entry:hover{box-shadow:var(--shadow-sm),0 0 0 1px #0000000f}.notes-entry.editing{box-shadow:0 0 0 2px var(--accent),var(--shadow-md)}@media (prefers-color-scheme: dark){.notes-entry{box-shadow:var(--shadow-xs),0 0 0 1px #ffffff0f}.notes-entry:hover{box-shadow:var(--shadow-sm),0 0 0 1px #ffffff14}}.notes-entry-bar{width:3px;flex-shrink:0;min-height:100%;border-radius:0;opacity:.75}.notes-entry-body{flex:1;padding:12px 14px;min-width:0;display:flex;flex-direction:column;gap:6px}.notes-highlight-text{font-family:var(--font-reading);font-size:14.5px;line-height:1.75;color:var(--text);word-break:break-word}.notes-highlight-link{cursor:pointer;transition:color var(--t-fast)}.notes-highlight-link:hover{color:var(--accent)}.notes-highlight-text[contenteditable=true]{outline:none;border-radius:var(--r-sm);background:var(--bg-subtle);padding:6px 8px;box-shadow:0 0 0 1.5px var(--accent)}.notes-note-text{font-size:13px;line-height:1.65;color:var(--text-secondary);padding:8px 10px;background:var(--bg-subtle);border-radius:var(--r-sm);border-left:2px solid rgba(0,0,0,.08);word-break:break-word}@media (prefers-color-scheme: dark){.notes-note-text{border-left-color:#ffffff14}}.notes-note-text[contenteditable=true]{outline:none;box-shadow:0 0 0 1.5px var(--accent);border-left-color:var(--accent)}.notes-tags{display:flex;flex-wrap:wrap;gap:4px}.notes-add-note-wrap{margin-top:2px}.notes-add-note{font-size:12px;color:var(--text-ghost);transition:color var(--t-fast);padding:2px 0}.notes-add-note:hover{color:var(--accent)}.notes-inline-textarea{width:100%;font-size:13px;line-height:1.6;color:var(--text);background:var(--bg-subtle);border-radius:var(--r-sm);padding:8px 10px;resize:vertical;min-height:56px;margin-bottom:6px}.notes-inline-textarea:focus{box-shadow:0 0 0 1.5px var(--accent)}.notes-inline-textarea::placeholder{color:var(--text-ghost)}.notes-inline-actions{display:flex;gap:6px;justify-content:flex-end}.notes-entry-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:2px}.notes-action-btn{font-size:12px;font-weight:500;color:var(--text-ghost);padding:4px 10px;border-radius:var(--r-sm);transition:background var(--t-fast),color var(--t-fast)}.notes-action-btn:hover{background:var(--bg-subtle);color:var(--text-secondary)}.notes-edit-btn,.notes-delete-btn{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center}.notes-delete-btn:hover{background:var(--hl-rose-bg);color:var(--hl-rose)}.notes-save-btn{background:var(--accent);color:#fff;padding:5px 12px;border-radius:var(--r-sm);font-size:12px;font-weight:500;box-shadow:0 1px 4px #e8a87c59}.notes-save-btn:hover{background:var(--accent-dim)}.notes-cancel-btn{color:var(--text-tertiary);padding:5px 10px}#dashboard-panel{height:100%;background:var(--bg);overflow:hidden}.dash-container{height:100%;display:flex;flex-direction:column;overflow:hidden;max-width:860px;margin:0 auto;width:100%}.dash-header{padding:28px 28px 12px;flex-shrink:0;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.dash-title{font-size:24px;font-weight:600;letter-spacing:-.03em;color:var(--text)}.dash-meta{font-size:12px;color:var(--text-ghost);font-variant-numeric:tabular-nums;letter-spacing:.01em}.dash-body{flex:1;min-height:0;overflow-y:auto;padding:4px 20px 56px;display:flex;flex-direction:column;gap:16px}.dash-empty{flex:1;display:flex;align-items:center;justify-content:center}.dash-card{background:var(--bg-elevated);border-radius:var(--r-xl);box-shadow:var(--shadow-sm),0 0 0 1px #0000000d;overflow:hidden;flex-shrink:0;transition:box-shadow var(--t-fast)}.dash-card:hover{box-shadow:var(--shadow-md),0 0 0 1px #0000000f}@media (prefers-color-scheme: dark){.dash-card{box-shadow:var(--shadow-xs),0 0 0 1px #ffffff0f}.dash-card:hover{box-shadow:var(--shadow-sm),0 0 0 1px #ffffff14}}.dash-card-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:18px 20px 12px;border-bottom:1px solid rgba(0,0,0,.05)}@media (prefers-color-scheme: dark){.dash-card-head{border-bottom-color:#ffffff0d}}.dash-card-title{font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--text)}.dash-card-hint{font-size:11.5px;color:var(--text-ghost);letter-spacing:.01em}.dash-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dash-legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0}.dash-legend-label{font-size:11.5px;color:var(--text-tertiary);margin-right:4px}.dash-timeline-wrap{padding:16px 20px 20px;overflow-x:auto;-webkit-overflow-scrolling:touch}.dash-timeline-wrap svg{display:block;min-width:320px}.tl-ch-label{font-family:var(--font-ui);font-size:10.5px;font-weight:500;fill:var(--text-tertiary, #A09890);letter-spacing:.01em}.tl-band-label{font-family:var(--font-ui);font-size:11px;fill:var(--text-tertiary, #A09890)}.tl-char-label{font-family:var(--font-ui);font-size:10px;font-weight:500}.tl-ruler-label{font-family:var(--font-ui);font-size:9.5px;fill:var(--text-ghost, #C4BCB4);font-variant-numeric:tabular-nums}.dash-graph-wrap{padding:16px 20px 20px;overflow-x:auto;-webkit-overflow-scrolling:touch}.dash-graph-wrap svg{display:block}.co-node{cursor:default;transition:opacity var(--t-fast)}.co-node:hover{opacity:.85}.co-node-label{font-family:var(--font-ui);font-size:11px;font-weight:500;fill:var(--text-secondary, #6A645E);pointer-events:none;letter-spacing:.01em}@media (prefers-color-scheme: dark){.co-node-label{fill:#eae5dea6}.tl-ch-label,.tl-band-label{fill:#eae5de66}.tl-ruler-label{fill:#eae5de40}}.pill-filter{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;border:1.5px solid rgba(0,0,0,.1);background:transparent;font-size:12.5px;color:var(--text-secondary, #6A645E);cursor:pointer;transition:background var(--t-fast, .15s),border-color var(--t-fast, .15s)}@media (prefers-color-scheme: dark){.pill-filter{border-color:#ffffff1f}.pill-count{background:#ffffff1a}}.dash-dismiss-btn,.dash-flag-btn{font-size:12px;font-weight:500;padding:4px 10px;border-radius:var(--r-sm, 6px);cursor:pointer;transition:background var(--t-fast, .15s),color var(--t-fast, .15s)}.dash-dismiss-btn{color:var(--text-secondary, #6A645E);background:var(--bg-subtle, #F0EDE8);border:none}.dash-dismiss-btn:hover{background:var(--bg-elevated, #fff);color:var(--text, #3a3530);box-shadow:var(--shadow-xs)}.dash-flag-btn{color:var(--hl-rose, #C97C8B);background:var(--hl-rose-bg, rgba(201,124,139,.1));border:none}.dash-flag-btn:hover{background:#c97c8b38}.dash-alert{display:flex;align-items:flex-start;gap:12px;padding:14px 20px;border-bottom:1px solid rgba(0,0,0,.05);animation:alert-slide-in .2s var(--ease-out)}.dash-alert:last-child{border-bottom:none}@media (prefers-color-scheme: dark){.dash-alert{border-bottom-color:#ffffff0d}}@keyframes alert-slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dash-alert-icon{width:28px;height:28px;border-radius:var(--r-sm);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;margin-top:1px}.dash-alert-icon.level-warn{background:#e8a87c2e;color:var(--accent-dim)}.dash-alert-icon.level-info{background:#8baf8b2e;color:var(--hl-sage)}.dash-alert-icon.level-flag{background:#c97c8b2e;color:var(--hl-rose)}.dash-alert-body{flex:1;min-width:0}.dash-alert-text{font-size:13.5px;line-height:1.55;color:var(--text)}.dash-alert-sub{font-size:11.5px;color:var(--text-tertiary);margin-top:2px}.dash-alert-actions{display:flex;gap:6px;margin-top:8px}.dash-alert-btn{font-size:12px;font-weight:500;padding:4px 10px;border-radius:var(--r-sm);color:var(--text-secondary);background:var(--bg-subtle);transition:background var(--t-fast),color var(--t-fast)}.dash-alert-btn:hover{background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow-xs)}.dash-alert-btn.flag{color:var(--hl-rose);background:var(--hl-rose-bg)}.dash-alert-btn.flag:hover{background:#c97c8b4d}.dash-alert.dismissed{opacity:.45;pointer-events:none}.dash-alert{cursor:pointer}.dash-alert-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.dash-alert-caret{font-size:11px;line-height:1;color:var(--text-ghost);flex-shrink:0;margin-top:2px;transition:transform var(--t-fast);-webkit-user-select:none;user-select:none}.dash-alert.expanded .dash-alert-caret{transform:rotate(180deg)}.dash-alert-detail{display:none;font-size:12.5px;color:var(--text-tertiary);line-height:1.65;padding-top:8px;margin-top:8px;border-top:1px solid rgba(0,0,0,.05)}@media (prefers-color-scheme: dark){.dash-alert-detail{border-top-color:#ffffff0d}}.dash-alert.expanded .dash-alert-detail{display:block}.dash-alert-actions{cursor:default}.dash-empty-hint{font-size:13px;color:var(--text-ghost);padding:16px 20px;line-height:1.6}.dash-stat-row{display:flex;align-items:center;gap:10px;padding:10px 20px;border-bottom:1px solid rgba(0,0,0,.04)}.dash-stat-row:last-child{border-bottom:none}@media (prefers-color-scheme: dark){.dash-stat-row{border-bottom-color:#ffffff0a}}.dash-stat-term{font-family:var(--font-ui);font-size:13px;font-weight:500;color:var(--text);min-width:100px}.dash-stat-bar-wrap{flex:1;height:6px;background:var(--bg-subtle);border-radius:var(--r-pill);overflow:hidden}.dash-stat-bar{height:100%;border-radius:var(--r-pill);background:var(--accent);opacity:.7}.dash-stat-val{font-size:11.5px;color:var(--text-tertiary);font-variant-numeric:tabular-nums;min-width:48px;text-align:right}@media (pointer: coarse){.dash-card-head{padding:20px 20px 14px}.dash-timeline-wrap,.dash-graph-wrap{padding:16px 16px 20px}.dash-alert{padding:16px 20px}.dash-alert-btn{padding:7px 14px}.co-node circle{r:12}}@media (prefers-color-scheme: dark){#dashboard-panel{background:var(--bg)}}#dash-char-filters{display:flex;flex-wrap:wrap;gap:10px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.05)}.dash-check-label{display:flex;align-items:center;padding:6px 12px;background:#f9f9f9;border:1px solid #eee;border-radius:20px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.dash-check-label:hover{background:#f0f0f0;border-color:#ddd}.dash-check-label input{display:none}.dash-check-dot{width:8px;height:8px;border-radius:50%;margin-right:8px;background-color:var(--char-color);opacity:.3;transition:opacity .2s ease,transform .2s ease}.dash-check-label input:checked+.dash-check-dot{opacity:1;transform:scale(1.3)}.dash-check-label:has(input:checked){background:#fff;border-color:var(--char-color);box-shadow:0 2px 4px #0000000d}.dash-check-text{font-size:13px;font-weight:500;color:#666}.dash-check-label input:checked~.dash-check-text{color:#333}.dash-tag-input-wrapper{display:flex;flex-direction:column;gap:12px;width:100%;padding:14px 20px}.dash-pill-input{border:1px solid #eaeaea;border-radius:6px;font-size:12px;width:100%;padding:14px 20px;outline:none;transition:border-color .2s}.dash-pill-input:focus{border-color:var(--char-color, #ccc)}.dash-pills-container{display:flex;flex-wrap:wrap;gap:6px}.dash-pill{display:flex;align-items:center;background:#fff;border:1px solid #eaeaea;padding:2px 8px;border-radius:4px;box-shadow:0 1px 2px #00000008}.dash-pill-dot{width:6px;height:6px;border-radius:50%;background:var(--char-color);margin-right:6px}.dash-pill-text{font-size:11px;font-weight:500;color:#444;margin-right:6px}.dash-pill-remove{background:none;border:none;color:#ccc;cursor:pointer;font-size:14px;padding:0;line-height:1}.dash-pill-remove:hover{color:#ff4d4d}.pill-filter{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;border:1.5px solid rgba(0,0,0,.1);background:transparent;font-size:12.5px;color:var(--text-secondary, #6A645E);cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.pill-filter:hover{background:var(--bg-subtle, #F0EDE8);border-color:#0000002e}.pill-filter.active{background:var(--accent, #E8A87C);border-color:var(--accent, #E8A87C);color:#fff}.pill-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#00000012;font-size:11px;font-weight:600;color:var(--text-secondary, #6A645E)}.dash-dismiss-btn,.dash-flag-btn,.dash-go-btn{font-size:12px;font-weight:500;padding:4px 10px;border-radius:var(--r-sm, 6px);cursor:pointer;border:none;transition:background .15s,color .15s}.dash-dismiss-btn{color:var(--text-secondary, #6A645E);background:var(--bg-subtle, #F0EDE8)}.dash-flag-btn{color:var(--hl-rose, #C97C8B);background:#c97c8b1a}.dash-go-btn{color:var(--accent, #E8A87C);background:#e8a87c1f}.dash-clear-all-btn{display:block;width:calc(100% - 40px);margin:12px 20px;padding:8px;border:1.5px dashed rgba(0,0,0,.12);border-radius:var(--r-sm,6px);background:transparent;font-size:12px;color:var(--text-tertiary, #A09890);cursor:pointer;transition:border-color .15s,color .15s}.dash-thread-card.resolved{opacity:.5}.dash-thread-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.dash-thread-name{font-size:13px;font-weight:600;color:var(--text,#1E1C1A);flex:1}.dash-thread-badge.manual{background:#7ca8c933;color:#3a6880}.dash-thread-note{width:100%;box-sizing:border-box;background:transparent;border:1px solid rgba(0,0,0,.1);border-radius:4px;padding:6px 8px;font-size:12px;color:var(--text-secondary,#6A645E);resize:vertical;font-family:inherit;transition:border-color .15s}.dash-roadmap-list{padding:12px 20px 20px;display:flex;flex-direction:column;gap:10px}.dash-roadmap-card{background:var(--bg-subtle,#F0EDE8);border-radius:var(--r-sm,8px);padding:12px 14px;cursor:grab;transition:opacity .2s,box-shadow .15s;border-left:3px solid transparent}.dash-roadmap-card:active{cursor:grabbing}.dash-roadmap-card.drag-over{box-shadow:0 0 0 2px var(--accent,#E8A87C)}.dash-roadmap-card.resolved{opacity:.45}.dash-roadmap-card.dismissed{opacity:.3}.dash-roadmap-card.status-todo{border-left-color:#e8a87c99}.dash-roadmap-card.status-inprogress{border-left-color:#7ca8c9b3}.dash-roadmap-card.status-done{border-left-color:#8baf8bb3}.dash-roadmap-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:8px}.dash-roadmap-left{flex:1;min-width:0}.dash-roadmap-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.dash-roadmap-title{font-size:13px;font-weight:500;color:var(--text,#1E1C1A);margin-bottom:2px}.dash-roadmap-sub{font-size:11.5px;color:var(--text-tertiary,#A09890)}.dash-status-select{font-size:12px;padding:3px 8px;border-radius:6px;border:1.5px solid rgba(0,0,0,.1);background:var(--bg-elevated,#fff);color:var(--text-secondary,#6A645E);cursor:pointer;transition:border-color .15s}.dash-status-select:focus{outline:none;border-color:var(--accent,#E8A87C)}.dash-roadmap-note{width:100%;box-sizing:border-box;background:transparent;border:1px solid rgba(0,0,0,.08);border-radius:4px;padding:6px 8px;font-size:12px;color:var(--text-secondary,#6A645E);resize:vertical;font-family:inherit;transition:border-color .15s}.dash-roadmap-note:focus{outline:none;border-color:var(--accent,#E8A87C)}@media (prefers-color-scheme: dark){.pill-filter{border-color:#ffffff1f}.pill-count{background:#ffffff1a}.dash-thread-card,.dash-roadmap-card,.dash-expanded-examples{background:#ffffff0a}.dash-thread-note,.dash-roadmap-note{border-color:#ffffff1a}.dash-status-select{background:#ffffff0f;border-color:#ffffff1f;color:#eae5decc}}.tl-tooltip{position:absolute;background:var(--bg-elevated, #fff);border:1px solid rgba(0,0,0,.1);border-radius:6px;padding:4px 9px;font-size:11.5px;font-weight:500;color:var(--text, #1E1C1A);white-space:nowrap;pointer-events:none;box-shadow:0 2px 8px #0000001a;z-index:10;transition:opacity .1s}.pill-filter{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;border:1.5px solid rgba(0,0,0,.1);background:transparent;font-size:12.5px;color:var(--text-secondary, #6A645E);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.dash-dismiss-btn,.dash-flag-btn,.dash-go-btn{font-size:12px;font-weight:500;padding:4px 10px;border-radius:var(--r-sm,6px);cursor:pointer;border:none;transition:background .15s}.dash-thread-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.dash-thread-name{font-size:13px;font-weight:600;color:var(--text,#1E1C1A);flex:1;min-width:80px}.dash-thread-mentions{font-size:11px;color:var(--text-ghost,#C4BCB4)}.dash-thread-nav{font-size:11.5px;font-weight:500;padding:3px 9px;border-radius:6px;border:none;background:#e8a87c26;color:var(--accent,#E8A87C);cursor:pointer;white-space:nowrap}.dash-thread-nav:hover{background:#e8a87c47}.dash-thread-drop-info{font-size:11.5px;color:var(--text-tertiary,#A09890);margin-bottom:8px}.dash-architecture-body{padding:16px 20px 20px}.dash-arch-tension-bar{display:flex;align-items:flex-end;justify-content:center;gap:16px;padding:12px 0 16px;border-bottom:1px solid rgba(0,0,0,.05);margin-bottom:16px}.dash-arch-act-col{display:flex;flex-direction:column;align-items:center;gap:4px}.dash-arch-act-bar-wrap{display:flex;align-items:flex-end;height:64px}.dash-arch-act-bar{width:40px;border-radius:4px 4px 0 0;min-height:4px;transition:height .3s}.dash-arch-act-label{font-size:11px;font-weight:600;color:var(--text-tertiary,#A09890)}.dash-arch-act-val{font-size:10.5px;color:var(--text-ghost,#C4BCB4)}.dash-arch-section{margin-bottom:20px}.dash-arch-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary,#A09890);margin-bottom:10px}.dash-arch-card{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.05)}.dash-arch-card:last-child{border-bottom:none}.dash-arch-icon{width:28px;height:28px;border-radius:var(--r-sm,6px);flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px}.dash-arch-icon.level-warn{background:#e8a87c2e;color:var(--accent,#E8A87C)}.dash-arch-icon.level-info{background:#8baf8b2e;color:#4a8a4a}.dash-arch-icon.level-flag{background:#c97c8b2e;color:var(--hl-rose,#C97C8B)}.dash-arch-text{flex:1;min-width:0}.dash-arch-obs-title{font-size:13.5px;font-weight:500;color:var(--text,#1E1C1A);margin-bottom:4px;line-height:1.4}.dash-arch-obs-detail{font-size:12.5px;color:var(--text-tertiary,#A09890);line-height:1.65;margin-bottom:6px}@media (prefers-color-scheme: dark){.tl-tooltip{background:#2a2826;border-color:#ffffff1f}.pill-filter{border-color:#ffffff1f}.pill-count{background:#ffffff1a}.dash-thread-card,.dash-expanded-examples{background:#ffffff0a}.dash-thread-note{border-color:#ffffff1a}.dash-arch-card,.dash-arch-tension-bar{border-bottom-color:#ffffff0d}}.dash-alert-filters{display:flex;flex-wrap:wrap;gap:6px;padding:12px 20px 10px}.pill-filter{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;border:1.5px solid rgba(0,0,0,.1);background:transparent;font-size:12.5px;color:var(--text-secondary,#6A645E);cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.pill-filter:hover{background:var(--bg-subtle,#F0EDE8);border-color:#0000002e}.pill-filter.active{background:var(--accent,#E8A87C);border-color:var(--accent,#E8A87C);color:#fff}.pill-filter.active .pill-count{background:#ffffff47;color:#fff}.pill-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#00000012;font-size:11px;font-weight:600;color:var(--text-secondary,#6A645E)}.dash-dismiss-btn,.dash-flag-btn,.dash-go-btn{font-size:12px;font-weight:500;padding:4px 10px;border-radius:var(--r-sm,6px);cursor:pointer;border:none;transition:background .15s,color .15s}.dash-dismiss-btn{color:var(--text-secondary,#6A645E);background:var(--bg-subtle,#F0EDE8)}.dash-dismiss-btn:hover{background:#00000014}.dash-flag-btn{color:var(--hl-rose,#C97C8B);background:#c97c8b1a}.dash-flag-btn:hover{background:#c97c8b33}.dash-go-btn{color:var(--accent,#E8A87C);background:#e8a87c1f}.dash-go-btn:hover{background:#e8a87c3d}.dash-clear-all-btn{display:block;width:calc(100% - 40px);margin:12px 20px;padding:8px;border:1.5px dashed rgba(0,0,0,.12);border-radius:var(--r-sm,6px);background:transparent;font-size:12px;color:var(--text-tertiary,#A09890);cursor:pointer;transition:border-color .15s,color .15s}.dash-clear-all-btn:hover{border-color:#c97c8b80;color:var(--hl-rose,#C97C8B)}.dash-alert-expanded-content{margin-top:0}.dash-expanded-examples{margin-top:10px;padding:10px 12px;background:var(--bg-subtle,#F0EDE8);border-radius:var(--r-sm,6px)}.dash-expanded-label{font-size:11px;font-weight:600;color:var(--text-tertiary,#A09890);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.dash-expanded-sentence{font-size:12.5px;color:var(--text-secondary,#6A645E);line-height:1.6;padding:5px 0;border-bottom:1px solid rgba(0,0,0,.05)}.dash-expanded-sentence:last-child{border-bottom:none}.dash-expanded-sentence mark{background:#e8a87c59;color:inherit;border-radius:2px;padding:0 1px}.dash-timeline-wrap{position:relative}.tl-tooltip{position:absolute;z-index:10;background:var(--bg-elevated,#fff);border-radius:var(--r-sm,8px);box-shadow:0 4px 16px #0000001f,0 0 0 1px #0000000f;padding:10px 12px;min-width:160px;pointer-events:none}.tl-tooltip[hidden]{display:none}.tl-tooltip-title{font-size:12.5px;font-weight:600;color:var(--text,#1E1C1A);margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid rgba(0,0,0,.06)}.tl-tooltip-row{display:flex;justify-content:space-between;gap:12px;font-size:11.5px;color:var(--text-secondary,#6A645E);padding:2px 0}.tl-tooltip-row span:last-child{color:var(--text,#1E1C1A);font-weight:500}.dash-thread-add{padding:12px 20px 8px;border-bottom:1px solid rgba(0,0,0,.05)}.dash-thread-list{padding:8px 20px 16px;display:flex;flex-direction:column;gap:10px}.dash-thread-card{background:var(--bg-subtle,#F0EDE8);border-radius:var(--r-sm,8px);padding:12px 14px;transition:opacity .2s}.dash-thread-card.resolved{opacity:.45}.dash-thread-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.dash-thread-name{font-size:13px;font-weight:600;color:var(--text,#1E1C1A);flex:1;min-width:0}.dash-thread-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;text-transform:uppercase;letter-spacing:.04em}.dash-thread-badge.resolved{background:#8baf8b33;color:#4a8a4a}.dash-thread-find{font-size:11.5px;font-weight:500;padding:3px 8px;border-radius:5px;border:none;background:#e8a87c26;color:var(--accent,#E8A87C);cursor:pointer;flex-shrink:0}.dash-thread-find:hover{background:#e8a87c47}.dash-thread-remove{background:none;border:none;color:var(--text-ghost,#C4BCB4);font-size:16px;cursor:pointer;padding:0 2px;line-height:1}.dash-thread-remove:hover{color:var(--hl-rose,#C97C8B)}.dash-thread-strip{margin-bottom:8px}.dash-thread-note{width:100%;box-sizing:border-box;background:transparent;border:1px solid rgba(0,0,0,.1);border-radius:4px;padding:6px 8px;font-size:12px;color:var(--text-secondary,#6A645E);resize:vertical;font-family:inherit}.dash-thread-note:focus{outline:none;border-color:var(--accent,#E8A87C)}.dash-bookends-body{display:flex;flex-direction:column}.dash-bookend-row{border-bottom:1px solid rgba(0,0,0,.05)}.dash-bookend-row:last-child{border-bottom:none}.dash-bookend-row:hover{background:var(--bg-subtle,#F0EDE8)}.dash-thread-header{cursor:pointer}.dash-thread-caret{font-size:11px;color:var(--text-ghost,#C4BCB4);margin-left:2px;flex-shrink:0;line-height:1;transition:transform .15s ease}.dash-thread-expanded{border-top:1px solid rgba(0,0,0,.06);margin-top:8px;padding-top:10px}.dash-thread-signal{display:flex;align-items:flex-start;gap:8px;background:var(--bg-subtle,#F0EDE8);border-radius:var(--r-sm,6px);padding:8px 10px}.dash-thread-signal-dot{width:6px;height:6px;border-radius:50%;margin-top:5px;flex-shrink:0}.dash-thread-signal-text{font-size:12px;color:var(--text-secondary,#6A645E);line-height:1.5}.dash-thread-signal-text strong{color:var(--text,#1E1C1A);font-weight:500}#dash-architecture-body{padding:4px 20px 20px}.arch-section{margin-bottom:24px}.arch-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary,#A09890);margin-bottom:12px}.arch-act-bars{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.arch-act-bar-row{display:flex;align-items:center;gap:10px}.arch-act-label{font-size:12px;color:var(--text-secondary,#6A645E);width:38px;flex-shrink:0}.arch-act-bar-wrap{flex:1;height:10px;background:var(--bg-subtle,#F0EDE8);border-radius:5px;overflow:hidden}.arch-act-bar{height:100%;background:var(--accent,#E8A87C);border-radius:5px;opacity:.75;transition:width .4s ease}.arch-act-val{font-size:11.5px;color:var(--text-tertiary,#A09890);width:36px;text-align:right;font-variant-numeric:tabular-nums}.arch-observation{padding:10px 12px;border-radius:var(--r-sm,8px);margin-bottom:8px}.arch-observation.sev-warn{background:#e8a87c1f}.arch-observation.sev-info{background:#8baf8b1a}.arch-observation.sev-ok{background:#00000008}.arch-obs-text{font-size:13px;font-weight:500;color:var(--text,#1E1C1A);margin-bottom:4px}.arch-obs-detail{font-size:12px;color:var(--text-secondary,#6A645E);line-height:1.6;margin-bottom:6px}.arch-go-btn{margin-top:4px}.arch-go-small{font-size:11px;padding:3px 8px}.arch-char-row{padding:10px 12px;border-radius:var(--r-sm,8px);background:var(--bg-subtle,#F0EDE8);margin-bottom:6px}.arch-char-header{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.arch-char-name{font-size:13px;font-weight:600;color:var(--text,#1E1C1A);flex:1}.arch-char-count{font-size:11.5px;color:var(--text-tertiary,#A09890)}.arch-char-strip-wrap{position:relative;height:8px;background:#00000014;border-radius:4px;margin-bottom:6px;overflow:hidden}.arch-char-strip{position:absolute;top:0;height:100%;background:var(--accent,#E8A87C);border-radius:4px;opacity:.65}.arch-char-note{font-size:12px;color:var(--text-secondary,#6A645E);margin-bottom:4px}.arch-char-row.sev-warn .arch-char-strip{background:var(--hl-rose,#C97C8B)}.arch-char-row.sev-info .arch-char-strip{background:var(--sage,#8BAF8B)}#dash-bookends-body{padding:4px 20px 20px}.bookend-row{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.05);align-items:flex-start}.bookend-row:last-child{border-bottom:none}.bookend-chapter{font-size:12px;font-weight:600;color:var(--text,#1E1C1A);width:100px;flex-shrink:0;display:flex;flex-direction:column;gap:6px}.bookend-lines{flex:1;display:flex;flex-direction:column;gap:6px}.bookend-line{font-size:12px;color:var(--text-secondary,#6A645E);line-height:1.55}.bookend-tag{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-ghost,#C4BCB4);margin-right:6px;flex-shrink:0}.bookend-line.opening .bookend-tag{color:#8baf8be6}.bookend-line.closing .bookend-tag{color:#c97c8bcc}@media (prefers-color-scheme:dark){.pill-filter{border-color:#ffffff1f}.pill-count{background:#ffffff1a}.tl-tooltip{background:#282623f5;box-shadow:0 4px 16px #0006,0 0 0 1px #ffffff14}.dash-thread-card,.arch-char-row{background:#ffffff0a}.arch-observation.sev-warn{background:#e8a87c1a}.arch-observation.sev-info{background:#8baf8b14}.arch-observation.sev-ok{background:#ffffff08}.dash-expanded-examples{background:#ffffff0a}.dash-thread-note{border-color:#ffffff1a}.arch-act-bar-wrap,.arch-char-strip-wrap{background:#ffffff14}}@media (pointer:coarse){.dash-thread-find,.arch-go-btn{padding:7px 12px}.bookend-row{flex-direction:column;gap:6px}.bookend-chapter{width:auto}}.dash-arch-bookend-hint{font-size:12px;color:var(--text-ghost,#C4BCB4);margin-bottom:12px;line-height:1.5}.dash-arch-bookend-row{padding:12px 0;border-bottom:1px solid rgba(0,0,0,.05)}.dash-arch-bookend-row:last-child{border-bottom:none}.dash-arch-bookend-title{font-size:12px;font-weight:600;color:var(--text-tertiary,#A09890);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.dash-arch-bookend-line{font-size:12.5px;color:var(--text-secondary,#6A645E);line-height:1.6;margin-bottom:4px}.dash-arch-bookend-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:1px 5px;border-radius:3px;margin-right:6px}.dash-arch-bookend-line.opening .dash-arch-bookend-tag{background:#8baf8b33;color:#4a8a4a}.dash-arch-bookend-line.closing .dash-arch-bookend-tag{background:#c97c8b26;color:var(--hl-rose,#C97C8B)}.dash-reanalyze-btn{margin-left:12px;padding:4px 10px;background:#f0ede8;border:1px solid rgba(0,0,0,.06);border-radius:4px;font-size:12px;color:#6a645e;cursor:pointer;display:flex;align-items:center;transition:all .2s}.dash-reanalyze-btn:hover{background:#e8a87c;color:#fff}.dash-reanalyze-btn.spinning svg{animation:dash-spin 1s linear infinite}@keyframes dash-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dash-arch-spark-wrap{margin-bottom:24px;padding:12px;background:var(--dash-bg-subtle);border-radius:8px}.dash-arch-spark-label{font-size:11px;color:var(--dash-text-sec);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.dash-arch-spark-svg{width:100%;height:60px;overflow:visible}.dash-arch-spark-meta{display:flex;justify-content:space-between;font-size:10px;color:var(--dash-text-tert);margin-top:6px}.dash-arch-act-val{font-size:10px;font-weight:600;color:var(--dash-text-sec)}.dash-arch-8-seq-wrap{display:flex;justify-content:space-between;align-items:flex-end;height:120px;padding:20px 10px;background:var(--dash-bg-subtle);border-radius:12px;margin-bottom:24px}.dash-arch-seq-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}.dash-arch-seq-bar-bin{width:70%;height:80px;display:flex;align-items:flex-end;justify-content:center}.dash-arch-seq-bar{width:100%;background:var(--dash-accent);border-radius:3px 3px 1px 1px;transition:height .3s ease}.dash-arch-seq-label{font-size:9px;color:var(--dash-text-tert);text-transform:uppercase;font-weight:700}.dash-arch-section-title{font-size:11px;font-weight:800;color:var(--dash-text-sec);text-transform:uppercase;letter-spacing:.1em;margin:20px 0 10px 4px;border-left:3px solid var(--dash-accent);padding-left:8px}.dash-tabs{display:flex;gap:0;padding:0 20px;border-bottom:1px solid rgba(0,0,0,.06)}.dash-tab{font-size:12.5px;font-weight:500;color:var(--text-secondary,#6A645E);background:none;border:none;border-bottom:2px solid transparent;padding:10px 14px;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.dash-tab:hover{color:var(--text,#1E1C1A)}.dash-tab.active{color:var(--text,#1E1C1A);border-bottom-color:var(--accent,#E8A87C)}.dash-connections-add{padding:12px 20px 8px;border-bottom:1px solid rgba(0,0,0,.05)}.dash-connections-list{padding:8px 20px 16px;display:flex;flex-direction:column;gap:10px}.dash-connection-card{background:var(--bg-subtle,#F0EDE8);border-radius:var(--r-sm,8px);padding:12px 14px}.dash-connection-header{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.dash-connection-name{font-size:13px;font-weight:600;color:var(--text,#1E1C1A);flex:1;min-width:0}.dash-connection-meta{font-size:11.5px;color:var(--text-tertiary,#A09890)}.dash-connection-remove{background:none;border:none;color:var(--text-ghost,#C4BCB4);font-size:16px;cursor:pointer;padding:0 2px;line-height:1}.dash-connection-remove:hover{color:var(--hl-rose,#C97C8B)}.dash-observations-wrap{border-top:1px solid rgba(0,0,0,.05)}.dash-obs-toggle{padding:0}.dash-obs-btn{width:100%;text-align:left;font-size:12px;font-weight:500;color:var(--text-secondary,#6A645E);background:none;border:none;padding:10px 20px;cursor:pointer;display:flex;align-items:center;gap:6px}.dash-obs-btn:hover{color:var(--text,#1E1C1A)}.dash-obs-caret{font-size:11px;color:var(--text-ghost,#C4BCB4)}.dash-cross-signals{border-bottom:1px solid rgba(0,0,0,.05)}.dash-alert-chapter-filter{padding:10px 20px 0}.dash-chapter-select{font-size:12px;color:var(--text-secondary,#6A645E);background:var(--bg-subtle,#F0EDE8);border:.5px solid rgba(0,0,0,.1);border-radius:6px;padding:5px 10px;cursor:pointer;outline:none;width:100%;max-width:260px}.dash-chapter-select:focus{border-color:var(--accent,#E8A87C)}.conn-expand-btn:hover{opacity:.75}.dash-mode-toggle{display:flex;align-items:center;background:var(--bg-subtle, #F0EDE8);border-radius:8px;padding:2px;gap:2px;margin-left:4px}.dash-mode-btn{font-size:12px;font-weight:500;color:var(--text-tertiary, #A09890);background:none;border:none;border-radius:6px;padding:5px 14px;cursor:pointer;transition:background var(--t-fast),color var(--t-fast);white-space:nowrap}.dash-mode-btn:hover{color:var(--text-secondary)}.dash-mode-btn.active{background:var(--bg-elevated, #fff);color:var(--text);box-shadow:0 1px 4px #00000014}.dash-restructure-body{flex:1;min-height:0;overflow-y:auto;padding-bottom:48px}.be-progress-flag{display:inline-flex;align-items:center;font-size:10px;font-weight:500;padding:2px 7px;border-radius:4px;cursor:pointer;background:var(--bg-subtle, #F0EDE8);color:var(--text-tertiary, #A09890);border:.5px solid rgba(0,0,0,.08);transition:background var(--t-fast),color var(--t-fast);-webkit-user-select:none;user-select:none}.be-progress-flag.active{background:#e8a87c2e;color:var(--accent, #E8A87C);border-color:#e8a87c59}.be-progress-flag:hover{opacity:.8}.dash-key-scenes-body{padding:0}.map-notes-list{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}.map-notes-list::-webkit-scrollbar{width:4px}.map-notes-list::-webkit-scrollbar-track{background:transparent}.map-notes-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}
