:root{--radius: 6px;--radius-lg: 10px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--font-ui: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", system-ui, sans-serif;--font-read: "Iowan Old Style", "Charter", "Source Serif Pro", Georgia, "Times New Roman", serif;--font-mono: ui-monospace, "JetBrains Mono", "SF Mono", Menlo, monospace;--text-xs: 11px;--text-sm: 12.5px;--text-base: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--text-3xl: 36px;--motion-fast: .12s cubic-bezier(.16, 1, .3, 1);--motion-base: .2s cubic-bezier(.16, 1, .3, 1);--motion-slow: .32s cubic-bezier(.16, 1, .3, 1);--reader-font-size: 18px;--reader-line-height: 1.62;--reader-measure: 720px;--reader-text-align: left;--app-overlay-inset-top: 0px;--accent: #c79e6d;--accent-soft: rgba(199, 158, 109, .16);--on-accent: #1a1208;--ai: #7aa2ff;--ai-soft: rgba(122, 162, 255, .14);--note: #94d3a2;--note-soft: rgba(148, 211, 162, .14);--danger: #ef6b6b;--warning: #e7b66b;--success: #94d3a2;--bg: #0e0e10;--bg-1: #131316;--bg-2: #18181c;--bg-3: #1f1f24;--line: #232328;--line-soft: #1c1c20;--ink: #e9e9ec;--ink-1: #b9b9c0;--ink-2: #7c7c85;--ink-3: #4a4a52}html[data-shell=tauri]{--app-overlay-inset-top: 32px}[data-theme=slate]{--bg: #0e0e10;--bg-1: #131316;--bg-2: #18181c;--bg-3: #1f1f24;--line: #232328;--line-soft: #1c1c20;--ink: #e9e9ec;--ink-1: #b9b9c0;--ink-2: #7c7c85;--ink-3: #4a4a52}[data-theme=oled]{--bg: #000000;--bg-1: #0a0a0c;--bg-2: #111114;--bg-3: #16161a;--line: #1e1e22;--line-soft: #141417;--ink: #f1f1f3;--ink-1: #b6b6bd;--ink-2: #72727a;--ink-3: #3e3e46}[data-theme=paper]{--bg: #f3eee3;--bg-1: #ebe4d3;--bg-2: #e3dac4;--bg-3: #d8cdb2;--line: #d6cbb1;--line-soft: #e3dac4;--ink: #2b261e;--ink-1: #4d4639;--ink-2: #7a7160;--ink-3: #a89e89;--accent: #a35a2a;--accent-soft: rgba(163, 90, 42, .12);--ai: #4a6db1;--ai-soft: rgba(74, 109, 177, .12);--note: #4f8159;--note-soft: rgba(79, 129, 89, .12)}[data-theme=ivory]{--bg: #fbfaf6;--bg-1: #f3f1ea;--bg-2: #ebe9e1;--bg-3: #ddd9cd;--line: #e2dfd5;--line-soft: #ece9df;--ink: #1c1a16;--ink-1: #444038;--ink-2: #76716a;--ink-3: #a8a397;--accent: #b46a30;--accent-soft: rgba(180, 106, 48, .1);--ai: #4d6cb8;--ai-soft: rgba(77, 108, 184, .1);--note: #4f8c5f;--note-soft: rgba(79, 140, 95, .1)}[data-font-read=iowan]{--font-read: "Iowan Old Style", "Charter", Georgia, serif}[data-font-read=charter]{--font-read: "Charter", "Iowan Old Style", Georgia, serif}[data-font-read=merriweather]{--font-read: "Merriweather", "Iowan Old Style", Georgia, serif}[data-font-read=lora]{--font-read: "Lora", "Iowan Old Style", Georgia, serif}[data-font-read=source]{--font-read: "Source Serif 4", "Source Serif Pro", "Iowan Old Style", Georgia, serif}[data-font-read=inter]{--font-read: "Inter", "Helvetica Neue", -apple-system, sans-serif}[data-font-read=plex]{--font-read: "IBM Plex Sans", -apple-system, sans-serif}[data-font-read=atkinson]{--font-read: "Atkinson Hyperlegible", -apple-system, sans-serif}[data-font-ui=system]{--font-ui: ui-sans-serif, -apple-system, "Segoe UI", system-ui, sans-serif}[data-font-ui=inter]{--font-ui: "Inter", ui-sans-serif, -apple-system, system-ui, sans-serif}[data-font-ui=plex]{--font-ui: "IBM Plex Sans", ui-sans-serif, -apple-system, system-ui, sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color var(--motion-base),color var(--motion-base)}@media (prefers-reduced-motion: reduce){body{transition:none}}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--ink-3)}::-webkit-scrollbar-track{background:transparent}.icon{width:16px;height:16px;stroke-width:1.6;flex-shrink:0}.icon-sm{width:13px;height:13px;stroke-width:1.6;flex-shrink:0}.icon-lg{width:20px;height:20px;stroke-width:1.6;flex-shrink:0}kbd,.kbd{font-family:var(--font-mono);font-size:var(--text-xs);line-height:1;color:var(--ink-2);background:var(--bg-2);border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:2px 5px}.chip{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--ink-1);padding:4px 8px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--bg-1)}.chip .dot,.dot{width:6px;height:6px;border-radius:999px;display:inline-block}.chip-accent{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.chip-ai{color:var(--ai);border-color:var(--ai);background:var(--ai-soft)}.chip-note{color:var(--note);border-color:var(--note);background:var(--note-soft)}.btn,.btn-ghost{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--radius);font-size:var(--text-sm);transition:background-color var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast)}.btn-primary{background:var(--accent);color:#1a1208;font-weight:500}.btn-secondary{background:var(--bg-2);color:var(--ink);border:1px solid var(--line)}.btn-ai{background:var(--ai);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius);color:var(--ink-2);transition:background-color var(--motion-fast),color var(--motion-fast)}.btn-ghost:hover,.btn-ghost.active{background:var(--bg-2);color:var(--ink)}.input{background:var(--bg-2);border:1px solid var(--line);color:var(--ink);border-radius:var(--radius);padding:7px 10px;font:inherit;font-size:var(--text-sm)}.input::placeholder{color:var(--ink-3)}.input:focus{outline:none;border-color:var(--accent)}.spine-markdown{color:var(--ink);font-family:var(--font-ui);font-size:var(--text-base);line-height:1.6;overflow-wrap:anywhere}.spine-markdown>:first-child{margin-top:0}.spine-markdown>:last-child{margin-bottom:0}.spine-markdown h1,.spine-markdown h2,.spine-markdown h3,.spine-markdown h4,.spine-markdown h5,.spine-markdown h6{color:var(--ink);font-weight:600;line-height:1.25;margin:var(--space-5) 0 var(--space-3)}.spine-markdown h1{font-size:var(--text-xl)}.spine-markdown h2{font-size:var(--text-lg)}.spine-markdown h3{font-size:var(--text-md)}.spine-markdown h4,.spine-markdown h5,.spine-markdown h6{font-size:var(--text-base)}.spine-markdown p,.spine-markdown ul,.spine-markdown ol,.spine-markdown blockquote,.spine-markdown pre,.spine-markdown table{margin:0 0 var(--space-4)}.spine-markdown ul,.spine-markdown ol{padding-left:var(--space-5)}.spine-markdown li{margin-bottom:var(--space-1)}.spine-markdown a{color:var(--accent);text-decoration:underline}.spine-markdown strong{font-weight:600}.spine-markdown blockquote{border-left:3px solid var(--line);padding-left:var(--space-4);color:var(--ink-2);font-style:italic}.spine-markdown hr{border:none;border-top:1px solid var(--line);margin:var(--space-5) 0}.spine-markdown code,.spine-markdown kbd,.spine-markdown samp{font-family:var(--font-mono);font-size:.9em;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:.1em .3em}.spine-markdown pre{font-family:var(--font-mono);background:var(--bg-1);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);overflow-x:auto}.spine-markdown pre code,.spine-markdown pre kbd,.spine-markdown pre samp{background:none;border:0;border-radius:0;padding:0;font-size:inherit}.spine-markdown table{border-collapse:collapse;width:100%}.spine-markdown th,.spine-markdown td{border:1px solid var(--line);padding:var(--space-2) var(--space-3);text-align:left}.spine-markdown th{background:var(--bg-1);font-weight:600}.spine-markdown img{max-width:100%;height:auto}.spine-markdown-empty{color:var(--ink-2);font-style:italic}.import-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9990;display:flex;align-items:center;justify-content:center;padding:var(--space-7);background:#0a0a0cd1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.import-zone{width:100%;max-width:620px;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-7) var(--space-6);text-align:center;border:2px dashed var(--accent);border-radius:16px;background:var(--accent-soft)}.import-zone.is-quiet{border-color:var(--line);background:var(--bg-1)}.import-zone-icon{width:56px;height:56px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent)}.import-zone.is-quiet .import-zone-icon{background:var(--bg-2);color:var(--ink-2)}.import-zone h3{margin:0;font-family:var(--font-read);font-weight:500;font-size:var(--text-xl);color:var(--ink)}.import-zone p{margin:0;max-width:420px;font-size:var(--text-sm);line-height:1.55;color:var(--ink-2)}.import-files{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-top:var(--space-1)}.import-ghost-file{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg-1);color:var(--ink-1);font-size:var(--text-sm)}.import-ghost-file svg{color:var(--accent)}.import-ghost-file.is-more{color:var(--ink-3)}.import-skip-note{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-3)}.import-skip-note code{font-family:var(--font-mono)}.import-alt{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.import-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9990;overflow-y:auto;background:var(--bg)}.import-panel-inner{max-width:760px;margin:0 auto;padding:var(--space-6) var(--space-6) 60px}.import-panel h1{margin:0 0 var(--space-1);font-family:var(--font-read);font-weight:500;font-size:var(--text-2xl);color:var(--ink)}.import-panel .import-sub{margin-bottom:var(--space-5);font-size:var(--text-sm);color:var(--ink-2)}.import-source-card{display:flex;align-items:center;gap:var(--space-4);padding:14px 16px;margin-bottom:18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-1)}.import-source-card .ic{width:40px;height:40px;border-radius:var(--radius-lg);display:inline-flex;align-items:center;justify-content:center;background:var(--bg-2);color:var(--accent)}.import-source-card .body{flex:1;min-width:0}.import-source-card .path{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-source-card .stat{margin-top:2px;font-size:var(--text-sm);color:var(--ink-3)}.import-opt-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-1);border-bottom:1px solid var(--line-soft)}.import-opt-row:last-of-type{border-bottom:0}.import-opt-row .lbl{flex:1}.import-opt-row .lbl .t{font-size:var(--text-base);color:var(--ink)}.import-opt-row .lbl .d{margin-top:2px;font-size:var(--text-sm);color:var(--ink-3)}.import-opt-row .lbl .d code{font-family:var(--font-mono)}.import-toggle{position:relative;flex-shrink:0;width:38px;height:22px;border:0;border-radius:var(--radius-pill);background:var(--accent);cursor:pointer;transition:background-color var(--motion-fast)}.import-toggle[aria-checked=false]{background:var(--bg-3)}.import-toggle:after{content:"";position:absolute;top:2px;left:18px;width:18px;height:18px;border-radius:var(--radius-pill);background:#fff;transition:left var(--motion-fast)}.import-toggle[aria-checked=false]:after{left:2px}.import-collection-select{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg-1);color:var(--ink-1);font-size:var(--text-sm);cursor:pointer}.import-collection-select .dot{width:8px;height:8px}.import-collection-select svg{color:var(--ink-3)}.import-progress-track{height:4px;margin-bottom:var(--space-2);border-radius:4px;overflow:hidden;background:var(--line)}.import-progress-track>i{display:block;height:100%;width:var(--p, 0%);background:var(--accent);transition:width var(--motion-base)}.import-progress-meta{display:flex;justify-content:space-between;margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--ink-3)}.import-review-h{display:flex;align-items:baseline;gap:var(--space-3);margin:26px 0 var(--space-2)}.import-review-h h3{margin:0;font-weight:500;font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.import-review-h .grow{flex:1}.import-row{display:grid;grid-template-columns:34px 1fr 90px 130px;gap:var(--space-3);align-items:center;padding:9px 6px;border-bottom:1px solid var(--line-soft)}.import-row.is-attention{border-radius:6px;background:var(--accent-soft)}.import-row.is-failed .ti .t,.import-row.is-failed .ti .a{color:var(--danger)}.import-row.is-attention .ti .t{color:var(--accent)}.import-row .cv{aspect-ratio:2 / 3;display:flex;align-items:center;justify-content:center;border-radius:2px;background:var(--bg-2);color:var(--ink-3);font-family:var(--font-read);font-style:italic;font-size:9px}.import-row .ti{min-width:0}.import-row .ti .t{font-size:var(--text-sm);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-row .ti .a{font-size:var(--text-sm);color:var(--ink-2)}.import-row .ti .file{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-3)}.import-row .ti .bar{position:relative;height:3px;margin-top:var(--space-1);border-radius:4px;overflow:hidden;background:var(--line)}.import-row .ti .bar:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--p, 0%);background:var(--ai)}.import-row .fmt{justify-self:start;padding:1px 7px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--bg-2);color:var(--ink-2);font-size:10.5px}.import-row .state{text-align:right;font-size:var(--text-xs)}.import-row .state.ok{color:var(--note)}.import-row .state.dup{color:var(--ink-3)}.import-row .state.work{color:var(--ai)}.import-row .state.err{color:var(--danger)}.import-foot{display:flex;align-items:center;gap:var(--space-3);margin-top:20px;padding-top:14px;border-top:1px solid var(--line)}.import-foot .summary{font-size:var(--text-sm);color:var(--ink-2)}.import-foot .summary .clean{color:var(--note)}.import-foot .grow{flex:1}.import-quiet{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--radius);font-size:var(--text-sm);color:var(--ink-2);transition:color var(--motion-fast)}.import-quiet:hover{color:var(--ink)}.import-change{font-size:var(--text-sm);color:var(--ai);cursor:pointer}.auth-modal-overlay{background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:fixed;top:0;right:0;bottom:0;left:0;animation:overlayShow .15s cubic-bezier(.16,1,.3,1);z-index:2000}.auth-modal-content{background:var(--bg-1);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 60px #00000080;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90vw;max-width:400px;padding:24px;animation:contentShow .15s cubic-bezier(.16,1,.3,1);z-index:2001}@keyframes contentShow{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (max-width: 768px){.auth-modal-content{top:auto;left:0;right:0;bottom:0;transform:none;width:100%;max-width:none;border-radius:16px 16px 0 0;border-bottom:0;padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px));animation:sheetSlideUp .22s cubic-bezier(.16,1,.3,1)}}@keyframes sheetSlideUp{0%{opacity:.6;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.auth-modal-title{font-family:var(--font-read);font-weight:500;font-size:20px;color:var(--ink);margin-bottom:20px}.auth-modal-close{position:absolute;top:16px;right:16px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--ink-2);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.auth-modal-close:hover{background:var(--bg-2);border-color:var(--line);color:var(--ink)}@media (max-width: 768px){.auth-modal-close{width:44px;height:44px;top:10px;right:8px}.auth-modal-title{margin-top:4px;text-align:center}}@media (max-width: 768px){.auth-modal-content:before{content:"";display:block;width:38px;height:4px;margin:-4px auto 12px;border-radius:999px;background:var(--line)}}.auth-tabs-list{display:flex;gap:4px;padding:4px;background:var(--bg-2);border-radius:var(--radius-lg);margin-bottom:20px}.auth-tabs-trigger{flex:1;padding:6px 12px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;border:none;border-radius:var(--radius);font:inherit;font-size:13px;font-weight:500;color:var(--ink-2);cursor:pointer;transition:background-color .15s ease,color .15s ease}.auth-tabs-trigger:hover{color:var(--ink)}.auth-tabs-trigger[data-state=active]{background:var(--bg-1);color:var(--ink)}.auth-tabs-content{animation:slideIn .15s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.auth-form-group{margin-bottom:16px}.auth-label{display:block;font-size:12px;font-weight:500;color:var(--ink-2);margin-bottom:6px}.auth-input{width:100%;padding:8px 12px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);font:inherit;font-size:13px;color:var(--ink);transition:border-color .15s ease,background-color .15s ease;box-sizing:border-box}@media (max-width: 768px){.auth-input{padding:12px 14px;font-size:16px}.auth-submit-button{padding:14px 16px;font-size:15px}}.auth-input:focus{outline:none;border-color:var(--accent);background:var(--bg-1)}.auth-input:disabled{opacity:.5;cursor:not-allowed}.auth-input::placeholder{color:var(--ink-3)}.auth-forgot-link{display:inline-block;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;border:none;color:var(--accent);font:inherit;font-size:12px;cursor:pointer;padding:0;margin-top:-8px;margin-bottom:16px;transition:opacity .15s ease}.auth-forgot-link:hover{opacity:.8}.auth-error{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--accent-soft);border:1px solid var(--danger);border-radius:var(--radius);color:var(--danger);font-size:12px;margin-bottom:16px;animation:shake .15s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.auth-success{padding:8px 12px;background:var(--note-soft);border:1px solid var(--note);border-radius:var(--radius);color:var(--note);font-size:12px;margin-bottom:16px}.auth-submit-button{width:100%;padding:10px 16px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--accent);border:none;border-radius:var(--radius);font:inherit;font-size:13px;font-weight:500;color:var(--on-accent);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:opacity .15s ease,transform .15s ease}.auth-submit-button:hover:not(:disabled){transform:translateY(-1px)}.auth-submit-button:disabled{opacity:.6;cursor:not-allowed}.auth-spinner{animation:spin 1s linear infinite}body{font-family:var(--font-ui);background-color:var(--bg);color:var(--ink);margin:0;padding:0;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation}:root{--touch-target-min: 44px;--touch-target-recommended: 48px;--bp-mobile: 768px;--bp-tablet: 1024px;--bp-desktop: 1200px}.mobile-shell{position:fixed;top:0;left:0;right:0;height:100vh;height:100dvh;overscroll-behavior:none}.mobile-library-inner{max-width:720px;margin:0 auto}@media (min-width: 900px){.mobile-library-inner{max-width:1080px}.mobile-library-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;align-items:start}}.shortcut-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:1100}.shortcut-modal-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:8px;box-shadow:0 10px 25px #0000001a;width:500px;z-index:1101}.shortcut-modal{padding:24px}.shortcut-modal-title{font-size:18px;font-weight:600;margin-bottom:8px;color:#333}.shortcut-modal-description{color:#6c757d;margin-bottom:20px;font-size:14px}.shortcut-modal-section{margin-bottom:20px}.shortcut-modal-label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.shortcut-input-container{margin-bottom:16px}.shortcut-input{display:flex;gap:8px}.shortcut-text-input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:monospace;background-color:#f8f9fa}.shortcut-record-button{padding:8px 12px;border:1px solid #007bff;background-color:#007bff;color:#fff;border-radius:6px;cursor:pointer;font-size:14px;min-width:40px}.shortcut-record-button:hover{background-color:#0056b3}.shortcut-record-button:disabled{background-color:#dc3545;border-color:#dc3545;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.shortcut-context-display{padding:8px 12px;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;font-size:14px;color:#6c757d}.shortcut-modal-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.shortcut-action-group{display:flex;gap:8px}.shortcut-clear-button{padding:8px 16px;border:1px solid #dc3545;background-color:transparent;color:#dc3545;border-radius:6px;cursor:pointer;font-size:14px}.shortcut-clear-button:hover{background-color:#dc3545;color:#fff}.shortcut-cancel-button{padding:8px 16px;border:1px solid #6c757d;background-color:transparent;color:#6c757d;border-radius:6px;cursor:pointer;font-size:14px}.shortcut-cancel-button:hover{background-color:#6c757d;color:#fff}.shortcut-save-button{padding:8px 16px;border:1px solid #007bff;background-color:#007bff;color:#fff;border-radius:6px;cursor:pointer;font-size:14px}.shortcut-save-button:hover{background-color:#0056b3}.responsive-container{min-height:0;display:flex;flex-direction:column}.responsive-container--mobile{padding:var(--space-2)}.responsive-container--tablet{padding:var(--space-4);flex-direction:row}.responsive-container--desktop{padding:var(--space-5);flex-direction:row}.touch-target{min-height:var(--touch-target-min);min-width:var(--touch-target-min);display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.touch-target--large{min-height:var(--touch-target-recommended);min-width:var(--touch-target-recommended)}main{flex:1;padding:var(--space-2);overflow-y:auto;background-color:var(--bg);-webkit-overflow-scrolling:touch}main.fullscreen{padding:0;overflow:hidden}@media (min-width: 768px){.app{flex-direction:row}main{padding:var(--space-4);background-color:var(--bg-1)}main.fullscreen{padding:0;background-color:var(--bg)}}@media (min-width: 1024px){main{padding:var(--space-5)}main.fullscreen{padding:0;background-color:var(--bg)}}.sidebar li{cursor:pointer;padding:5px 0}.sidebar li:hover{color:#007bff}.book-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.book-item{background-color:#fff;padding:15px;border-radius:5px;box-shadow:0 2px 5px #0000001a;cursor:pointer}.book-item:hover{box-shadow:0 4px 8px #00000026}.book-reader{height:100%}main.fullscreen .book-reader{height:100%;padding:0}.pdf-reader{background:var(--bg)}.pdf-reader .PdfHighlighter{background:var(--bg);scrollbar-width:thin;scrollbar-color:var(--line) transparent;touch-action:pan-x pan-y}.pdf-reader .PdfHighlighter::-webkit-scrollbar{width:10px;height:10px}.pdf-reader .PdfHighlighter::-webkit-scrollbar-thumb{background:var(--line);border:3px solid transparent;background-clip:content-box;border-radius:var(--radius-pill)}.pdf-reader .PdfHighlighter::-webkit-scrollbar-thumb:hover{background:var(--ink-3);background-clip:content-box}.pdf-reader .pdfViewer .page{margin:var(--space-5) auto;border:none;border-radius:var(--radius);box-shadow:0 1px 3px #0000002e,0 8px 28px #00000047}.dialog-overlay{background-color:#00000080;position:fixed;top:0;right:0;bottom:0;left:0}.dialog-content{background-color:#fff;border-radius:6px;box-shadow:0 2px 10px #0000001f;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90vw;max-width:450px;max-height:85vh;padding:25px}.dropzone{border:2px dashed #ccc;border-radius:4px;padding:20px;text-align:center;margin-bottom:20px}.breadcrumb{margin-bottom:20px}.command-palette-overlay{background-color:#00000080;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;animation:overlayShow .15s cubic-bezier(.16,1,.3,1)}.command-palette-content{background-color:#fff;border-radius:6px;box-shadow:0 10px 30px #0003;position:fixed;top:20%;left:50%;transform:translate(-50%);width:90vw;max-width:500px;max-height:85vh;z-index:9999;animation:contentShow .15s cubic-bezier(.16,1,.3,1)}.command-palette-content [cmdk-input]{font-family:inherit;width:100%;padding:12px 16px;font-size:16px;outline:none;border:none;border-bottom:1px solid #e2e8f0}.command-palette-content [cmdk-list]{max-height:400px;overflow:auto;overscroll-behavior:contain;padding:8px}.command-palette-content [cmdk-item]{cursor:pointer;height:40px;border-radius:4px;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px;-webkit-user-select:none;user-select:none;will-change:background,color;transition:all .15s ease;transition-property:none}.command-palette-content [cmdk-item][aria-selected=true]{background:#e2e8f0;color:#1a202c}.command-palette-content [cmdk-group-heading]{-webkit-user-select:none;user-select:none;font-size:12px;color:#a0aec0;padding:8px 8px 4px;display:flex;align-items:center}.command-shortcut{font-size:12px;color:#6b7280;background:#f3f4f6;padding:2px 6px;border-radius:3px;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace}.command-palette-content [cmdk-item][aria-selected=true] .command-shortcut{background:#d1d5db;color:#374151}@keyframes overlayShow{0%{opacity:0}to{opacity:1}}@keyframes contentShow{0%{opacity:0;transform:translate(-50%,-4px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}.mobile-command-palette-overlay{background-color:#0009;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-command-palette-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100vw - 32px);max-width:400px;max-height:80vh;background-color:var(--bg);border-radius:12px;border:1px solid var(--line);box-shadow:0 10px 30px #0003;z-index:9999;overflow:hidden}.mobile-command-palette-content [cmdk-input]{font-size:var(--text-md);padding:var(--space-4);border:none;outline:none;background:transparent;color:var(--ink);border-bottom:1px solid var(--line)}.mobile-command-palette-content [cmdk-list]{max-height:60vh;overflow-y:auto;padding:var(--space-2);-webkit-overflow-scrolling:touch}.mobile-command-palette-content [cmdk-item]{padding:var(--space-4);font-size:var(--text-md);min-height:var(--touch-target-min);border-radius:8px;margin-bottom:4px;cursor:pointer;display:flex;align-items:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mobile-command-palette-content [cmdk-item][aria-selected=true]{background:var(--bg-2);color:var(--ink)}.mobile-command-palette-content [cmdk-group-heading]{font-size:var(--text-md);color:var(--ink-2);padding:var(--space-4) var(--space-4) var(--space-2);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.mobile-command-palette-content [cmdk-empty]{padding:var(--space-6) var(--space-4);text-align:center;color:var(--ink-2);font-size:var(--text-md)}.pull-gesture-indicator{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:var(--bg);border:1px solid var(--line);border-radius:20px;box-shadow:0 2px 10px #0000001a;font-size:var(--text-base);color:var(--ink-2);pointer-events:none;transition:opacity .2s ease}.sidebar ul{list-style-type:none;padding:0;margin:0}.sidebar li{display:flex;align-items:center;padding:5px 0;cursor:pointer}.category-color{width:12px;height:12px;border-radius:50%;margin-right:8px;cursor:pointer}.color-picker-content{background-color:#fff;border-radius:4px;padding:8px;box-shadow:0 2px 10px #0000001a}.color-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.color-option{width:24px;height:24px;border:none;border-radius:50%;cursor:pointer}.color-option:hover{transform:scale(1.1)}.breadcrumb{display:flex;align-items:center;font-size:14px;color:var(--ink-2);padding:10px 20px}main.fullscreen .breadcrumb{padding:8px 20px 4px;margin-bottom:0}.breadcrumb span{cursor:pointer}.breadcrumb span:hover{text-decoration:underline}.breadcrumb-separator{margin:0 8px;color:var(--ink-2)}.breadcrumb-category{display:flex;align-items:center}.category-color-dot{width:8px;height:8px;border-radius:50%;margin-right:6px;display:inline-block}.book-list-container{padding:20px}.book-list-view{display:flex;flex-direction:column;gap:10px}.book-list-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background-color:var(--bg);border:1px solid var(--line);border-radius:6px;cursor:pointer;margin-bottom:4px;transition:all .15s ease}.book-list-item:hover{background-color:var(--bg-2);border-color:var(--accent);box-shadow:0 1px 3px #0000001a}.book-info h3{margin:0 0 2px;font-size:15px;font-weight:600;color:var(--ink);line-height:1.3}.book-info p{margin:1px 0;font-size:13px;color:var(--ink-2);line-height:1.2}.book-actions{display:flex;align-items:center;gap:12px;color:var(--ink-2);font-size:13px}.book-card-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.book-card{background-color:var(--bg-2);border-radius:4px;padding:15px;cursor:pointer}.book-card-header{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-2);margin-bottom:10px}.book-card h3{margin:0;font-size:16px}.book-card p{margin:5px 0;font-size:14px;color:var(--ink-2)}.book-card-footer{display:flex;justify-content:flex-end;margin-top:10px}.comment-count{font-size:12px;color:var(--ink-2)}.context-menu-content{min-width:120px;background-color:var(--bg);border-radius:4px;padding:5px;box-shadow:0 2px 10px #0000001a}.context-menu-item{font-size:14px;padding:5px 10px;cursor:pointer}.context-menu-item:hover{background-color:var(--bg-2)}.book-command-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.book-title{font-weight:500;font-size:14px}.book-author{font-size:12px;color:var(--ink-2)}.ai-panel{width:100%;background:var(--bg-1);color:var(--ink);display:flex;flex-direction:column;height:100%}.ai-panel-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);background:var(--bg-1);flex-shrink:0}.ai-panel-title{flex:1;margin:0;font-size:var(--text-sm);font-weight:500;color:var(--ink)}.ai-panel-back-btn,.ai-panel-menu-btn,.ai-panel-action-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:none;border:0;border-radius:var(--radius);color:var(--ink-2);cursor:pointer;transition:background-color var(--motion-fast),color var(--motion-fast)}.ai-panel-back-btn:hover,.ai-panel-menu-btn:hover,.ai-panel-action-btn:hover{background:var(--bg-2);color:var(--ink)}.ai-panel-menu-container{position:relative}.ai-panel-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:1000;min-width:140px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 12px #0000002e;overflow:hidden}.ai-panel-dropdown-item{display:block;width:100%;padding:var(--space-2) var(--space-3);background:none;border:0;color:var(--ink);cursor:pointer;font-size:var(--text-sm);text-align:left;transition:background-color var(--motion-fast)}.ai-panel-dropdown-item:hover{background:var(--bg-2)}.ai-ctx{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--line);background:var(--ai-soft);color:var(--ink-2);font-size:var(--text-xs);flex-shrink:0}.ai-ctx-pulse{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--ai);box-shadow:0 0 0 4px #7aa2ff2e;flex-shrink:0}.ai-ctx-label b{color:var(--ai);font-weight:500}.ai-ctx-grow{flex:1}.ai-ctx-hint{color:var(--ink-2)}.ai-panel-content-wrapper{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.ai-panel-content{flex:1;overflow-y:auto;padding:var(--space-4);min-height:0}.ai-panel-content>*:last-child,.ai-panel-content>*:last-child>*:last-child{margin-bottom:0!important}.ai-panel-content-thread,.ai-panel-content-history{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.ai-panel-content-thread{padding:0}.ai-scrollable-list{flex:1;overflow-y:auto;min-height:0}.ai-recent-section{margin-bottom:var(--space-5)}.ai-recent-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.ai-recent-header h3,.ai-start-section h3{margin:0 0 var(--space-3);font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.ai-recent-header h3{margin-bottom:0}.ai-view-all-btn{background:none;border:0;color:var(--ai);cursor:pointer;font-size:var(--text-xs);padding:2px var(--space-2);border-radius:var(--radius);transition:background-color var(--motion-fast)}.ai-view-all-btn:hover{background:var(--ai-soft)}.ai-thread-list{display:flex;flex-direction:column;gap:var(--space-1)}.ai-thread-item{padding:var(--space-2) var(--space-3);border-radius:var(--radius);cursor:pointer;transition:background-color var(--motion-fast)}.ai-thread-item:hover{background:var(--bg-2)}.ai-thread-title{font-size:var(--text-sm);color:var(--ink);margin-bottom:2px}.ai-thread-date{font-size:var(--text-xs);color:var(--ink-3)}.ai-start-actions{display:flex;flex-direction:column;gap:var(--space-2)}.ai-start-btn{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);cursor:pointer;font-size:var(--text-sm);transition:border-color var(--motion-fast),background-color var(--motion-fast)}.ai-start-btn:hover{background:var(--bg-1);border-color:var(--ai)}.ai-start-shortcut{font-size:var(--text-xs);color:var(--ink-3);font-family:var(--font-mono)}.ai-messages-container{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);flex:1;overflow-y:auto;min-height:0}.ai-messages-scroll-ref{height:1px;flex-shrink:0}.ai-msg{font-size:13.5px;line-height:1.55;max-width:100%}.ai-msg-who{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-1)}.ai-msg-who-dot{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--ai)}.ai-msg-assist .ai-msg-who-label{color:var(--ai)}.ai-msg-who-grounded{color:var(--ink-3)}.ai-msg-content{color:var(--ink-1);white-space:pre-wrap;word-wrap:break-word;margin:0}.ai-msg-user{align-self:flex-end;max-width:86%;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3)}.ai-msg-user .ai-msg-who{color:var(--ink-3)}.ai-msg-user .ai-msg-content{color:var(--ink)}.ai-msg-assist .ai-msg-content b{color:var(--ink);font-weight:500}.ai-citation{display:inline-flex;align-items:baseline;gap:4px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ai);border-bottom:1px dashed var(--ai);padding:0 2px;cursor:pointer}.ai-quoteblock{border-left:2px solid var(--ai);padding:var(--space-1) var(--space-3);margin:var(--space-2) 0;font-family:var(--font-read);font-style:italic;color:var(--ink-1)}.ai-quick{display:flex;gap:var(--space-1);flex-wrap:wrap;margin-top:var(--space-3)}.ai-quick-btn{font-size:11.5px;padding:4px 9px;border-radius:var(--radius-pill);background:var(--bg-2);color:var(--ink-1);border:1px solid var(--line);cursor:pointer;transition:border-color var(--motion-fast),color var(--motion-fast)}.ai-quick-btn:hover{border-color:var(--ai);color:var(--ai)}.ai-msg-entities{margin-top:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1)}.ai-entity-card{border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-2) var(--space-3);background:var(--bg-2);transition:background-color var(--motion-fast),border-color var(--motion-fast)}.ai-entity-card.is-clickable{cursor:pointer}.ai-entity-card.is-clickable:hover{background:var(--bg-1);border-color:var(--ink-3)}.ai-entity-card-head{display:flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-1)}.ai-entity-card-type{font-size:var(--text-xs);color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em}.ai-entity-card-title{font-size:var(--text-sm);color:var(--ink);margin-bottom:2px}.ai-entity-card-body{font-size:13px;color:var(--ink-2);line-height:1.4}.ai-input-section{position:relative;border-top:1px solid var(--line);padding:var(--space-3);background:var(--bg-1);flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-2)}.ai-input-box{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);transition:border-color var(--motion-fast)}.ai-input-box:focus-within{border-color:var(--ai)}.ai-pills{display:flex;flex-wrap:wrap;gap:var(--space-1)}.ai-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:var(--radius-pill);background:var(--ai-soft);color:var(--ai);border:1px solid rgba(122,162,255,.3);font-size:11px}.ai-pill-icon{font-size:11px;line-height:1}.ai-pill-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.ai-pill-close{background:none;border:0;color:var(--ink-3);cursor:pointer;padding:0 2px;font-size:12px;line-height:1;transition:color var(--motion-fast)}.ai-pill-close:hover{color:var(--ink)}.ai-input-field{display:flex;align-items:flex-end;gap:var(--space-2)}.ai-input-textarea{flex:1;background:transparent;border:0;outline:none;color:var(--ink);font:inherit;font-size:13.5px;resize:none;min-height:28px;max-height:140px;padding:4px 0;line-height:1.5}.ai-input-textarea::placeholder{color:var(--ink-3)}.ai-send-button{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:var(--ai);color:#fff;border:0;border-radius:var(--radius);cursor:pointer;flex-shrink:0;transition:opacity var(--motion-fast),background-color var(--motion-fast)}.ai-send-button:hover:not(:disabled){opacity:.9}.ai-send-button:disabled{background:var(--bg-3);color:var(--ink-3);cursor:not-allowed}.ai-meta-row{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-1);color:var(--ink-3);font-size:11px}.ai-meta-model{display:inline-flex;align-items:center;gap:4px;color:var(--ink-2)}.ai-meta-dot{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--ai)}.ai-meta-sep{color:var(--ink-3)}.ai-meta-scope{color:var(--ink-2)}.ai-meta-grow{flex:1}.ai-meta-hint{display:inline-flex;align-items:center;gap:4px}.ai-autocomplete-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999998;background:transparent}.ai-autocomplete-menu{position:fixed;z-index:999999;min-width:220px;max-height:220px;overflow-y:auto;padding:4px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 25px #00000052,0 4px 10px #0003;font-size:var(--text-sm)}.ai-autocomplete-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius);cursor:pointer;color:var(--ink-1);transition:background-color var(--motion-fast),color var(--motion-fast)}.ai-autocomplete-option:hover{background:var(--bg-2);color:var(--ink)}.ai-autocomplete-option.is-selected{background:var(--ai);color:#fff}.ai-autocomplete-option.is-selected .ai-autocomplete-desc{color:#fffc}.ai-autocomplete-icon{font-size:16px}.ai-autocomplete-label{font-size:var(--text-sm)}.ai-autocomplete-desc{font-size:var(--text-xs);color:var(--ink-3);margin-top:2px}.ai-history-header{padding:var(--space-3) var(--space-4) 0}.ai-search-container{display:flex;align-items:center;gap:var(--space-2);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:6px var(--space-3)}.ai-search-icon{color:var(--ink-3)}.ai-search-input{flex:1;background:none;border:0;outline:none;color:var(--ink);font-size:var(--text-sm)}.ai-search-input::placeholder{color:var(--ink-3)}.ai-history-filter{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.ai-filter-btn{background:none;border:1px solid var(--line);color:var(--ink-2);cursor:pointer;padding:4px var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-xs);transition:border-color var(--motion-fast),color var(--motion-fast),background-color var(--motion-fast)}.ai-filter-btn.ai-filter-active{background:var(--ai-soft);border-color:var(--ai);color:var(--ai)}.ai-filter-btn:hover:not(.ai-filter-active){border-color:var(--ink-3);color:var(--ink)}.ai-history-list{display:flex;flex-direction:column;gap:2px;padding:0 var(--space-2) var(--space-4)}.ai-history-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius);cursor:pointer;transition:background-color var(--motion-fast)}.ai-history-item:hover{background:var(--bg-2)}.ai-history-item-content{flex:1;min-width:0}.ai-history-item-title{font-size:var(--text-sm);color:var(--ink);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-history-item-date{font-size:var(--text-xs);color:var(--ink-3)}.ai-history-item-action{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:0;color:var(--ink-3);cursor:pointer;border-radius:var(--radius);opacity:0;transition:opacity var(--motion-fast),background-color var(--motion-fast),color var(--motion-fast)}.ai-history-item:hover .ai-history-item-action{opacity:1}.ai-history-item-action:hover{background:var(--bg-3);color:var(--ink)}.ai-provider-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--bg-2);color:var(--ink-2);font-size:var(--text-xs);cursor:pointer;max-width:160px;transition:border-color var(--motion-fast),color var(--motion-fast),background-color var(--motion-fast)}.ai-provider-chip:hover:not(:disabled){border-color:var(--ink-3);color:var(--ink)}.ai-provider-chip-dot{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--ink-3);flex-shrink:0}.ai-provider-chip-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-provider-chip-connected{border-color:#7aa2ff4d;color:var(--ai);background:var(--ai-soft)}.ai-provider-chip-connected .ai-provider-chip-dot{background:var(--ai)}.ai-provider-chip-loading{color:var(--ink-2)}.ai-provider-chip-loading .ai-provider-chip-dot{background:var(--ai);animation:spin 1s linear infinite}.ai-provider-chip-error{border-color:#ef6b6b4d;color:var(--danger);background:#ef6b6b14}.ai-provider-chip-error .ai-provider-chip-dot{background:var(--danger)}.ai-provider-chip-unconfigured .ai-provider-chip-dot{background:var(--ink-3)}.ai-history-entry{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;padding:14px 8px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}.ai-history-entry:hover{background:var(--ai-soft)}.ai-history-entry span,.ai-history-entry small,.ai-history-scope{color:var(--ink-3);font-size:12px}.ai-source{padding:10px 16px;border-bottom:1px solid var(--line);font-size:12px;max-height:30%;overflow:auto;flex-shrink:0}.ai-source summary{color:var(--ai);cursor:pointer}.ai-source blockquote{margin:12px 0;padding-left:12px;border-left:2px solid var(--ai);white-space:pre-wrap}.ai-answer-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.ai-turn-error{padding:10px 16px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-2)}.ai-msg-content{overflow-wrap:anywhere}.ai-msg-content pre{overflow-x:auto;white-space:pre}.ai-empty-state{padding:12px 0;line-height:1.6}.ai-conversation-messages{display:flex;flex-direction:column;gap:24px}.ai-msg-content{white-space:normal}.ai-input-box.ai-input-field{flex-direction:row}.ai-input-textarea{min-width:0;min-height:64px}.ai-execution-details{max-height:40vh;overflow:auto}.ai-execution-details section{padding-block:10px;border-bottom:1px solid var(--line)}.ai-execution-details dl{display:grid;gap:4px 10px;grid-template-columns:minmax(90px,1fr) minmax(0,2fr);font-size:11px}.ai-execution-details dd{margin:0;overflow-wrap:anywhere}.ai-execution-details pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.admin-page{max-width:1120px;margin:0 auto;padding:48px 24px;color:var(--ink)}.admin-page header,.admin-page nav,.admin-page form{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.admin-page header{justify-content:space-between;margin-bottom:48px}.admin-eyebrow{font-size:12px;letter-spacing:.12em;color:var(--ink-2)}.admin-page h1{font-size:32px;margin:8px 0}.admin-page h2{font-size:20px;margin:0 0 20px}.admin-page section{border-top:1px solid var(--line);padding:28px 0}.admin-page label{display:grid;gap:8px}.admin-page input{background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:10px;border-radius:6px;min-width:260px}.admin-page button{border:1px solid var(--line);background:var(--bg-1);color:var(--ink);border-radius:6px;padding:10px 16px;cursor:pointer}.admin-page button:disabled{opacity:.5;cursor:default}.admin-page a{color:var(--accent)}.admin-table{overflow-x:auto}.admin-page table{width:100%;text-align:left;border-collapse:collapse}.admin-page th,.admin-page td{padding:12px;border-bottom:1px solid var(--line)}.admin-page small{display:block;color:var(--ink-2)}.admin-page li{margin:12px 0;overflow-wrap:anywhere}.admin-error{padding:16px;border:1px solid currentColor;color:var(--ink)}
