:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:Inter, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-regular:400;--font-medium:500;--font-semibold:600;--text-xs:12px;--text-sm:14px;--text-md:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-metric:26px;--leading-xs:16px;--leading-sm:20px;--leading-md:24px;--leading-lg:28px;--letter-spacing:0;--space-0:0;--space-0-5:2px;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-2-5:10px;--space-3:12px;--space-4:16px;--space-4-5:18px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-1:4px;--radius-1-5:6px;--radius-2:8px;--radius-2-5:10px;--radius-3:12px;--radius-4:16px;--radius-5:20px;--radius-6:24px;--radius-pill:999px;--indigo-400:#adadfb;--purple-400:#b899eb;--blue-400:#7dbbff;--green-400:#71dd8c;--yellow-400:#f7c66b;--red-400:#ff8a8a;--cyan-400:#6ee7d2;--chart-blue:#9dbcf0;--chart-violet:#ba8bea;--color-canvas:#fff;--color-surface:#fff;--color-surface-subtle:#f9f9fa;--color-surface-strong:#f3f3f4;--color-text:#000;--color-text-secondary:#0006;--color-text-tertiary:#0003;--color-border:#0000001a;--color-border-strong:#0003;--color-interactive:#0000000a;--color-interactive-hover:#0000000f;--color-interactive-active:#00000014;--color-overlay:#00000059;--color-focus:#7dbbff;--color-on-accent:#fff;--color-primary:#111;--color-on-primary:#fff;--color-metric-blue:#e8f4ff;--color-metric-violet:#efedff;--color-metric-text:#050507;--color-icon-on-pastel:#202124;--color-nav-overlay:#00000047;--shadow-float:0 24px 80px #00000038;--shadow-drawer:-20px 0 50px #0000002e;--shadow-mobile-nav:20px 0 50px #0000001f;--focus-ring:0 0 0 3px #7dbbff59;--duration-fast:.12s;--duration-normal:.18s;--duration-slow:.22s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--layout-sidebar:212px;--layout-content:948px;--layout-rightbar:280px;--layout-header:68px;--layout-page-padding:28px;--layout-min-height:640px;--breakpoint-tablet:1180px;--breakpoint-mobile:880px;--z-sidebar-overlay:60;--z-sidebar:70;--z-drawer:80;--z-modal:90;--z-toast:100}.app-shell[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-canvas:#333;--color-surface:#333;--color-surface-subtle:#ffffff0a;--color-surface-strong:#444;--color-text:#fff;--color-text-secondary:#fff6;--color-text-tertiary:#fff3;--color-border:#ffffff26;--color-border-strong:#ffffff5c;--color-interactive:#ffffff1a;--color-interactive-hover:#ffffff14;--color-interactive-active:#ffffff21;--color-overlay:#00000080;--color-primary:#fff;--color-on-primary:#111;--color-metric-blue:#dfefff;--color-metric-violet:#e9e5ff}*{box-sizing:border-box}html{background:#191919;min-width:320px}body{min-height:100vh;font-family:var(--font-sans);letter-spacing:var(--letter-spacing);margin:0}button,input,select{font:inherit}button{cursor:pointer}button,input,select{transition:border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard)}button:focus-visible,input:focus-visible,select:focus-visible,[role=button]:focus-visible{box-shadow:var(--focus-ring);outline:0}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.45}#root{min-height:100vh}.app-shell{--bg:var(--color-canvas);--panel:var(--color-surface-subtle);--panel-strong:var(--color-surface-strong);--text:var(--color-text);--muted:var(--color-text-secondary);--faint:var(--color-text-tertiary);--line:var(--color-border);--line-soft:var(--color-border-strong);--hover:var(--color-interactive-hover);--active:var(--color-interactive-active);--chip:var(--color-interactive);--surface:var(--color-surface);--accent:var(--indigo-400);--accent-2:var(--blue-400);--accent-3:var(--cyan-400);--accent-line:var(--indigo-400);--radius-xl:var(--radius-6);--radius-lg:var(--radius-4);--radius-md:var(--radius-3);--sidebar:var(--layout-sidebar);--rightbar:var(--layout-rightbar);grid-template-columns:var(--sidebar) minmax(0, 1fr) var(--rightbar);width:100%;height:100dvh;min-height:var(--layout-min-height);border-radius:var(--radius-xl);color:var(--text);background:var(--bg);font-size:var(--text-sm);line-height:var(--leading-sm);font-variant-numeric:tabular-nums;display:grid;overflow:hidden}.app-shell.rightbar-collapsed{grid-template-columns:var(--sidebar) minmax(0, 1fr)}.app-shell.sidebar-collapsed{--sidebar:0px}.sidebar,.rightbar,.topbar{border-color:var(--line)}.sidebar{gap:var(--space-2-5);height:100%;padding:var(--space-4);border-right:.5px solid var(--line);transition:transform var(--duration-slow) var(--ease-standard), opacity var(--duration-slow) var(--ease-standard);flex-direction:column;display:flex;position:relative;overflow:hidden auto}.sidebar-collapsed .sidebar{opacity:0;pointer-events:none;transform:translate(-100%)}.sidebar-backdrop{display:none}.brand,.nav-link,.side-item,.toolbar,.crumbs,.search-box,.project-stats,.tabs-row,.page-head{align-items:center;display:flex}.brand{gap:var(--space-2-5);min-height:32px;margin-bottom:var(--space-3);padding:var(--space-1) var(--space-2);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--font-regular)}.avatar-dot,.mini-avatar{border-radius:var(--radius-pill);flex:none;place-items:center;display:inline-grid}.avatar-dot{object-fit:cover;width:24px;height:24px}.nav-section,.nav-label{color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-xs);margin:16px 12px 4px}.two-tabs{color:var(--faint);gap:34px;margin-top:0;display:flex}.nav-link{gap:var(--space-2);border-radius:var(--radius-3);width:100%;min-height:32px;color:var(--text);text-align:left;font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--font-regular);transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:0;padding:6px 10px}.nav-link svg{stroke-width:2px;flex:none}.nav-link:hover,.icon-button:hover,.text-button:hover,.pill-button:hover{background:var(--hover)}.nav-link.active{background:var(--active)}.nav-link.active-sub{background:var(--color-surface-strong)}.nav-link.quiet{min-height:32px;font-size:var(--text-sm);font-weight:var(--font-regular);padding-left:6px}.nav-link.indent{min-height:32px;font-size:var(--text-sm);font-weight:var(--font-regular);justify-content:flex-start;padding:6px 10px 6px 48px}.nav-group,.nav-children{gap:var(--space-2-5);display:grid}.nav-children{animation:.16s revealNav}@keyframes revealNav{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.bullet{border-radius:var(--radius-pill);background:var(--faint);width:5px;height:5px}.snow-logo{font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--text);justify-content:center;align-items:center;gap:5px;margin-top:auto;padding:10px 32px;display:flex}.snow-logo strong{font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--font-semibold)}.snow-logo img{object-fit:contain;width:28px;height:28px}.secondary-metrics{gap:var(--space-4);margin-bottom:var(--space-7);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.secondary-metrics article{min-height:104px;padding:var(--space-5);border-radius:var(--radius-4);background:var(--panel);grid-template-columns:1fr auto;align-content:space-between;display:grid}.secondary-metrics span{font-size:var(--text-sm);grid-column:1/-1}.secondary-metrics strong{font-size:var(--text-2xl)}.secondary-metrics small{color:var(--muted);align-self:end}.record-list{display:grid}.record-list button{border:0;border-bottom:1px solid var(--line);min-height:58px;color:var(--text);text-align:left;background:0 0;grid-template-columns:34px minmax(0,1fr) auto 16px;align-items:center;gap:12px;padding:8px 10px;display:grid}.record-list button:hover{background:var(--hover)}.record-list button:last-child{border-bottom:0}.record-index{color:var(--muted);font-size:var(--text-xs)}.record-list strong,.record-list small{display:block}.record-list small{color:var(--muted);margin-top:3px}.system-grid{gap:var(--space-7);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.spec-sections{margin-top:var(--space-10)}.spec-section{padding:var(--space-7) 0;border-top:1px solid var(--line)}.spec-section h2{font-size:var(--text-md);margin-bottom:var(--space-4)}.spec-table-scroll{overflow-x:auto}.spec-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:560px}.spec-table th,.spec-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}.spec-table th{background:var(--panel);font-weight:var(--font-semibold)}.spec-table th:first-child{width:24%}.spec-table th:nth-child(2){width:32%}.spec-section ul{padding-left:var(--space-5);margin:var(--space-4) 0 0;color:var(--muted)}.spec-section li+li{margin-top:var(--space-2)}.type-samples{gap:var(--space-3);display:grid}.type-samples .type-metric{font-size:var(--text-metric);line-height:var(--leading-lg);font-weight:var(--font-semibold)}.type-samples .type-feature{font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--font-semibold)}.type-samples .type-page{font-size:var(--text-md);line-height:var(--leading-lg);font-weight:var(--font-semibold)}.type-samples small{color:var(--muted);font-size:var(--text-xs)}.swatch-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.swatch{gap:var(--space-2);color:var(--muted);font-size:var(--text-xs);display:grid}.swatch i{height:var(--space-10);border:1px solid var(--line);border-radius:var(--radius-3)}.control-samples,.status-samples,.radius-samples{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.specimen-form{margin-top:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr))}.status-samples{margin-bottom:var(--space-7)}.radius-samples i{width:var(--space-12);height:var(--space-12);color:var(--muted);background:var(--chip);font-size:var(--text-xs);place-items:center;font-style:normal;display:grid}.radius-samples i:first-child{border-radius:var(--radius-3)}.radius-samples i:nth-child(2){border-radius:var(--radius-4)}.radius-samples i:nth-child(3){border-radius:var(--radius-5)}.radius-samples i:nth-child(4){border-radius:var(--radius-6)}.workspace{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.topbar{flex:0 0 var(--layout-header);min-height:var(--layout-header);padding:var(--space-5) var(--space-7);border-bottom:.5px solid var(--line);justify-content:space-between;gap:var(--space-5);display:flex}.crumbs{color:var(--muted);font-size:var(--text-xs);gap:12px}.crumbs strong{color:var(--text);font-weight:500}.toolbar{align-items:center;gap:var(--space-2);display:flex}.icon-button,.pill-button,.text-button{color:var(--text);background:0 0;border:0}.icon-button{border-radius:var(--radius-3);place-items:center;width:32px;height:32px;display:inline-grid}.icon-button.soft,.pill-button{background:var(--chip)}.search-box{border-radius:var(--radius-4);width:160px;color:var(--faint);background:var(--chip);gap:8px;padding:4px 8px}.search-box input{width:100%;min-width:0;color:var(--text);font-size:var(--text-sm);background:0 0;border:0;outline:0}.search-box input::placeholder{color:var(--faint)}kbd{border:1px solid var(--line);border-radius:var(--radius-1-5);min-width:20px;color:var(--faint);text-align:center;font-size:var(--text-xs);padding:0 5px}.content-scroll{scroll-behavior:smooth;flex:auto;min-height:0;overflow:auto}.page{width:100%;max-width:none;padding:var(--layout-page-padding)}.page-head{justify-content:space-between;margin-bottom:20px}h1,h2,p{margin:0}h1{font-size:var(--text-md);line-height:var(--leading-lg);font-weight:var(--font-semibold)}h2{font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--font-semibold);margin-bottom:22px}.card-head{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:22px;display:flex}.card-head h2{margin:0}.text-button{border-radius:var(--radius-3);min-height:32px;color:var(--text);font-size:var(--text-xs);justify-content:center;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.metric-grid{gap:var(--space-7);margin-bottom:var(--space-7);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.metric-card{min-height:108px;padding:var(--space-6);border-radius:var(--radius-lg);color:var(--color-metric-text);transition:transform .18s,box-shadow .18s;position:relative}.metric-card:hover,.card:hover,.project-hero:hover{transform:translateY(-2px)}.metric-card.blue{background:var(--color-metric-blue)}.metric-card.violet{background:var(--color-metric-violet)}.metric-card span,.metric-card small{font-size:var(--text-sm);display:block}.metric-card strong{font-size:var(--text-metric);margin-top:12px;line-height:1;display:inline-block}.metric-card small{position:absolute;bottom:28px;right:24px}.dashboard-grid,.project-grid{gap:var(--space-7);grid-template-columns:minmax(0,2fr) minmax(202px,1fr);display:grid}.card,.project-hero{border-radius:var(--radius-5);background:var(--panel)}.card{min-height:198px;padding:var(--space-6);transition:transform .18s,background .18s;overflow:hidden}.card.wide{grid-column:span 1}.card.bottom{grid-column:1/-1}.original-books-page .page-head p{color:var(--muted);font-size:var(--text-xs);margin-top:4px}.original-summary{gap:var(--space-4);margin-bottom:var(--space-7);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.original-summary article{min-height:96px;padding:var(--space-5);border-radius:var(--radius-4);background:var(--panel);align-content:center;gap:8px;display:grid}.original-summary span{color:var(--muted);font-size:var(--text-xs)}.original-summary strong{font-size:var(--text-2xl);font-variant-numeric:tabular-nums}.original-book-list{background:0 0;overflow:visible}.book-list-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);border-radius:var(--radius-3);background:var(--panel);min-height:44px;padding:8px;display:flex}.book-list-tools{color:var(--text);align-items:center;gap:4px;display:flex}.book-list-toolbar .icon-button,.book-toolbar-select{border-radius:var(--radius-2);width:28px;min-width:28px;height:28px;min-height:28px;color:var(--text);place-items:center;padding:0;display:inline-grid}.book-list-toolbar .icon-button svg,.book-status-filter>svg{stroke-width:2px;color:currentColor;width:16px;height:16px}.book-list-toolbar .icon-button:disabled{color:var(--text);opacity:1}.book-toolbar-select{cursor:pointer}.book-toolbar-select:hover,.book-list-toolbar .icon-button.active{background:var(--chip)}.book-list-toolbar .icon-button.destructive:not(:disabled):hover{color:#d64545;background:#ee5b5b1f}.book-status-filter{align-items:center;gap:4px;height:28px;padding-left:4px;display:flex}.book-status-filter .form-select{width:108px}.book-status-filter .form-select>button{min-height:28px;font-size:var(--text-xs);background:0 0;border:0;padding:4px 8px}.book-table-search{border:1px solid var(--line);border-radius:var(--radius-2);background:color-mix(in srgb, var(--surface) 40%, transparent);width:180px;height:28px;color:var(--muted);align-items:center;gap:6px;padding:4px 8px;display:flex}.book-table-search input{width:100%;min-width:0;color:var(--text);font-size:var(--text-sm);background:0 0;border:0;outline:0;padding:0}.book-table-search input::placeholder{color:var(--muted)}.book-table-frame{min-width:0;position:relative}.book-table-frame:after{content:"";z-index:4;pointer-events:none;width:1px;position:absolute;top:0;bottom:0;right:210px;box-shadow:-8px 0 16px 2px #0000001f}.book-table-scroll{overflow-x:auto}.book-original-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:920px;font-size:var(--text-xs)}.book-original-table th,.book-original-table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;text-overflow:ellipsis;height:40px;padding:8px 12px;line-height:18px;overflow:hidden}.book-original-table th{color:var(--muted);font-weight:var(--font-regular);border-bottom-color:color-mix(in srgb, var(--text) 20%, transparent)}.book-original-table th:first-child{width:44px}.book-original-table th:nth-child(2){width:100px}.book-original-table th:nth-child(3){width:auto}.book-original-table th:nth-child(4){width:140px}.book-original-table th:nth-child(5){width:90px}.book-original-table th:nth-child(6){width:130px}.book-original-table th:nth-child(7){width:110px}.book-original-table th:nth-child(8){width:210px;min-width:210px;max-width:210px}.book-original-table th:last-child,.book-original-table td:last-child{z-index:2;background:var(--surface);position:sticky;right:0}.book-original-table th:last-child{z-index:3}.book-original-table tbody tr{transition:background .14s}.book-original-table tbody tr:hover,.book-original-table tbody tr.selected,.book-original-table tbody tr:hover td:last-child,.book-original-table tbody tr.selected td:last-child{background:var(--panel)}.book-original-table tbody tr.selected td:first-child{border-radius:var(--radius-3) 0 0 var(--radius-3)}.book-original-table tbody tr.selected td:last-child{border-radius:0 var(--radius-3) var(--radius-3) 0}.book-original-table td strong{font-weight:var(--font-medium)}.book-check-cell{text-align:center!important;padding-left:8px!important;padding-right:8px!important}.book-check-cell input,.book-toolbar-select input{appearance:none;border:1px solid color-mix(in srgb, var(--text) 28%, transparent);background-color:var(--surface);cursor:pointer;vertical-align:middle;background-position:50%;background-repeat:no-repeat;background-size:11px 11px;border-radius:3px;flex:none;order:0;width:16px;min-width:16px;height:16px;min-height:16px;margin:0}.book-check-cell input{margin:0 auto;display:block}.book-check-cell input:hover,.book-toolbar-select input:hover{border-color:color-mix(in srgb, var(--text) 48%, transparent)}.book-check-cell input:checked,.book-toolbar-select input:checked{border-color:var(--color-primary);background-color:var(--color-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m2.2 6.2 2.3 2.3 5.3-5.3' fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.book-check-cell input:focus-visible,.book-toolbar-select input:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary) 34%, transparent);outline-offset:2px}.book-id-cell{color:var(--muted);font-variant-numeric:tabular-nums}.book-status{width:fit-content;font-size:var(--text-xs);align-items:center;gap:7px;display:inline-flex}.book-status i{background:#59a8d4;border-radius:50%;width:8px;height:8px}.book-status.status-已识别 i{background:#4aa785}.book-status.status-待拆分 i{background:#ffc555}.book-status.status-识别中 i{background:#8a8cd9}.book-table-empty{min-height:160px;color:var(--muted);font-size:var(--text-xs);place-items:center;display:grid}.book-table-footer{justify-content:flex-end;align-items:center;gap:var(--space-5);min-height:44px;color:var(--muted);font-size:var(--text-xs);display:flex}.ebook-page{flex-direction:column;height:100%;min-height:0;display:flex}.ebook-head{align-items:center;gap:var(--space-5);margin-bottom:var(--space-5);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ebook-head small{color:var(--muted)}.ebook-workspace{border-radius:var(--radius-5);background:var(--panel);flex:1;grid-template-columns:236px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.ebook-toc{padding:var(--space-5);border-right:1px solid var(--line);overflow-y:auto}.ebook-toc button{border-radius:var(--radius-3);width:100%;min-height:40px;color:var(--text);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.ebook-toc button:hover,.ebook-toc button.active{background:var(--chip)}.ebook-toc button small{color:var(--muted)}.ebook-reader{grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.ebook-toolbar{justify-content:center;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);min-height:52px;font-size:var(--text-xs);display:flex}.ebook-toolbar .form-select{width:82px}.ebook-toolbar .form-select>button{min-height:28px;font-size:var(--text-xs);padding:4px 8px}.ebook-spread{min-height:0;padding:var(--space-6);background:var(--surface);grid-template-columns:repeat(2,minmax(280px,1fr));align-items:start;gap:2px;display:grid;overflow:auto}.ebook-spread article{color:#171717;transform:scale(var(--reader-zoom));transform-origin:top;background:#fffdf8;padding:54px 48px 84px;font-family:Songti SC,SimSun,serif;position:relative;box-shadow:0 2px 10px #0000000f}.ebook-spread article small{text-align:center;color:#0006;font-family:var(--font-sans);font-variant-numeric:tabular-nums;display:block;position:absolute;bottom:28px;left:0;right:0}.ebook-spread article h2{text-align:center;margin-bottom:28px;font-size:18px}.ebook-spread article p{text-indent:2em;margin-bottom:20px;font-size:16px;line-height:2}.book-row-actions{flex-wrap:nowrap;align-items:center;gap:12px;display:flex}.row-text-action{border-radius:var(--radius-2);color:#1677d2;min-height:28px;font-size:var(--text-xs);font-weight:var(--font-medium);white-space:nowrap;background:0 0;border:0;padding:4px 8px;transition:background .14s,color .14s}.row-text-action.split{color:#7352b8}.row-text-action:hover{background:var(--chip);color:#0f63b0;text-decoration:none}.row-text-action.split:hover{background:var(--chip);color:#5f3d9e}.row-text-action:disabled{color:var(--faint);background:0 0}.split-confirm-modal{text-align:center;width:min(440px,100vw - 32px)}.split-confirm-icon{width:48px;height:48px;margin:0 auto var(--space-4);border-radius:var(--radius-pill);background:var(--color-metric-blue);place-items:center;display:grid}.split-confirm-modal h2{margin-bottom:var(--space-3);font-size:var(--text-md)}.split-confirm-modal>p{color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-md)}.split-confirm-modal .drawer-actions{margin-top:var(--space-6);justify-content:center}.structure-page .page-head p{color:var(--muted);font-size:var(--text-xs);margin-top:4px}.structure-head-actions{align-items:center;gap:14px;display:flex}.structure-book-select{width:190px}.structure-book-select .form-select>button{border:1px solid var(--line);border-radius:var(--radius-2);background:var(--surface);min-height:32px;font-size:var(--text-xs);padding:6px 10px}.structure-complete{color:#32896d;font-size:var(--text-xs);align-items:center;gap:7px;display:flex}.structure-summary{margin-bottom:var(--space-5);border-radius:var(--radius-4);background:var(--panel);grid-template-columns:repeat(6,minmax(0,1fr));display:grid;overflow:hidden}.structure-summary>div{border-right:1px solid var(--line);align-content:center;gap:5px;min-height:78px;padding:14px 18px;display:grid}.structure-summary>div:last-child{border-right:0}.structure-summary span{color:var(--muted);font-size:var(--text-xs)}.structure-summary strong{font-size:var(--text-xl);line-height:var(--leading-lg)}.structure-workspace{min-width:0}.structure-tabs{border-radius:var(--radius-3);background:var(--panel);align-items:center;gap:12px;min-height:44px;padding:6px;display:flex}.structure-tab-buttons{align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.structure-tabs button{border-radius:var(--radius-2);min-height:32px;color:var(--muted);white-space:nowrap;font-size:var(--text-xs);background:0 0;border:0;align-items:center;gap:7px;padding:5px 10px;display:inline-flex}.structure-tabs button:hover{color:var(--text);background:var(--hover)}.structure-tabs button.active{color:var(--text);background:var(--surface);box-shadow:0 1px 3px #00000012}.structure-tabs small{border-radius:var(--radius-pill);background:var(--chip);min-width:20px;color:var(--muted);padding:1px 5px;font-size:10px;line-height:14px}.structure-tab-search{border:1px solid var(--line);border-radius:var(--radius-2);width:210px;min-width:160px;min-height:32px;color:var(--muted);background:var(--surface);align-items:center;gap:7px;margin-left:auto;padding:5px 9px;display:flex}.structure-tab-search:focus-within{border-color:var(--accent-2);box-shadow:0 0 0 2px var(--accent-soft)}.structure-tab-search input{width:100%;min-width:0;color:var(--text);font-size:var(--text-xs);background:0 0;border:0;outline:0}.structure-bulkbar{border-bottom:1px solid var(--line);align-items:center;gap:8px;min-height:42px;padding:7px 0;display:flex}.structure-bulkbar .book-toolbar-select{width:44px;min-width:44px}.structure-bulkbar button{border-radius:var(--radius-2);color:#32896d;min-height:28px;font-size:var(--text-xs);background:0 0;border:0;padding:4px 9px}.structure-bulkbar button:hover:not(:disabled){background:#4aa7851f}.structure-bulkbar button:disabled{color:var(--faint);cursor:default}.structure-bulkbar>span{color:var(--muted);font-size:var(--text-xs)}.structure-bulk-actions{align-items:center;gap:8px;margin-left:auto;margin-right:8px;display:flex}.structure-bulk-actions .structure-pass-selected,.structure-bulk-actions .structure-pass-all{border:1px solid var(--line);border-radius:var(--radius-2);background:var(--surface);min-height:30px;font-weight:var(--font-medium);padding:5px 12px}.structure-bulk-actions .structure-pass-selected:not(:disabled){color:#32896d;border-color:#4aa78559}.structure-bulk-actions .structure-pass-all{border-color:var(--color-primary);color:var(--color-on-primary);background:var(--color-primary)}.structure-bulk-actions .structure-pass-all:hover:not(:disabled){color:var(--color-on-primary);background:color-mix(in srgb, var(--color-primary) 88%, white)}.structure-table-frame{min-width:0;position:relative}.structure-table-frame:after{content:"";z-index:4;pointer-events:none;width:1px;position:absolute;top:0;bottom:0;right:128px;box-shadow:-8px 0 16px 2px #0000001a}.structure-table-scroll{min-width:0;overflow-x:auto}.structure-result-note{border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-xs);text-align:center;padding:11px 16px}.structure-data-table{border-collapse:collapse;table-layout:auto;width:100%;min-width:860px;font-size:var(--text-xs)}.structure-data-table th,.structure-data-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;height:42px;padding:8px 12px}.structure-data-table th.book-check-cell,.structure-data-table td.book-check-cell{width:44px;min-width:44px;max-width:44px}.structure-data-table th:last-child,.structure-data-table td:last-child{z-index:2;background:var(--surface);width:128px;min-width:128px;max-width:128px;position:sticky;right:0}.structure-data-table th:last-child{z-index:3}.structure-data-table th{color:var(--muted);font-weight:var(--font-regular)}.structure-data-table td{text-overflow:ellipsis;max-width:360px;overflow:hidden}.structure-data-table tbody tr:hover,.structure-data-table tbody tr.selected,.structure-data-table tbody tr:hover td:last-child,.structure-data-table tbody tr.selected td:last-child{background:var(--panel)}.structure-edit-backdrop{padding:32px}.modal-card.structure-edit-modal{border-radius:var(--radius-5);background:var(--surface);grid-template-rows:auto minmax(0,1fr) auto;width:min(720px,100%);max-height:min(820px,100vh - 64px);padding:0;display:grid;overflow:hidden}.modal-card.structure-edit-modal-chapter{width:min(820px,100%)}.modal-card.structure-edit-modal-compact{width:min(520px,100%)}.structure-edit-head{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;margin:0;padding:20px 24px}.structure-edit-head h2{font-size:var(--text-lg);margin:0;line-height:26px}.structure-edit-head .icon-button{border-radius:var(--radius-3);width:32px;height:32px}.structure-edit-body{background:var(--surface);min-height:0;padding:24px;overflow-y:auto}.structure-edit-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.structure-edit-fields label{min-width:0;color:var(--muted);font-size:var(--text-xs);align-content:start;gap:8px;display:grid}.structure-edit-fields label>span{color:var(--text);font-size:var(--text-sm);line-height:20px;font-weight:var(--font-medium);justify-content:space-between;align-items:center;gap:12px;display:flex}.structure-edit-fields label>span small{color:var(--muted);font-size:10px;font-weight:var(--font-regular)}.structure-edit-field-full{grid-column:1/-1}.structure-edit-fields input,.structure-edit-fields textarea{border:1px solid var(--line);border-radius:var(--radius-3);width:100%;color:var(--text);background:var(--surface);font:inherit;font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);outline:none;padding:11px 12px;line-height:22px}.structure-edit-fields input{min-height:40px}.structure-edit-fields textarea{resize:vertical;min-height:220px}.structure-edit-modal-chapter .structure-edit-fields textarea{min-height:400px}.structure-edit-modal-content .structure-edit-fields textarea{min-height:280px}.structure-edit-fields input:hover,.structure-edit-fields textarea:hover{border-color:var(--color-border-strong)}.structure-edit-fields input:focus,.structure-edit-fields textarea:focus{border-color:var(--color-focus);box-shadow:var(--focus-ring)}.structure-edit-actions{border-top:1px solid var(--line);background:var(--surface);justify-content:flex-end;align-items:center;min-height:68px;margin:0;padding:14px 24px}.structure-edit-actions .pill-button,.structure-edit-actions .primary-action{border-radius:var(--radius-3);min-width:88px;min-height:40px}.structure-edit-actions .pill-button{background:var(--color-surface-subtle)}.structure-edit-actions .pill-button:hover{background:var(--color-interactive-hover)}.structure-review{align-items:center;gap:6px;display:inline-flex}.structure-review i{background:#4aa785;border-radius:50%;width:7px;height:7px}.structure-row-action{min-width:112px}.structure-row-action button{border-radius:var(--radius-2);color:#1677d2;min-height:26px;font-size:var(--text-xs);background:0 0;border:0;padding:3px 8px}.structure-row-action button:hover{background:var(--chip)}.structure-row-action button+button{color:#32896d}.structure-row-action button.passed{color:var(--muted)}.structure-row-action button:disabled{cursor:default;background:0 0}.structure-state{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.structure-state i{background:#b9bdc5;border-radius:50%;width:7px;height:7px}.structure-state.done{color:#32896d}.structure-state.done i{background:#4aa785}.structure-state.changed{color:#7a5ab8}.structure-state.changed i{background:#8a72c9}.risk-level{border-radius:var(--radius-pill);color:#32896d;background:#4aa7851f;padding:2px 7px;display:inline-flex}.risk-level.medium{color:#a56c00;background:#ffc5552e}.structure-empty{min-height:180px;color:var(--muted);font-size:var(--text-xs);place-items:center;display:grid}.metadata-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.metadata-detail-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:76px;padding:14px 16px}.metadata-detail-grid article:nth-child(3n){border-right:0}.metadata-detail-grid article.wide{border-right:0;grid-column:1/-1}.metadata-detail-grid span{color:var(--muted);font-size:var(--text-xs);margin-bottom:7px;display:block}.metadata-detail-grid strong{font-size:var(--text-sm);font-weight:var(--font-medium)}.metadata-detail-grid p{max-width:820px;color:var(--text);font-size:var(--text-xs);line-height:var(--leading-md)}.managed-books-page .page-head p{color:var(--muted);font-size:var(--text-xs);margin-top:4px}.managed-book-summary{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.managed-book-summary article{border-radius:var(--radius-4);background:var(--panel);align-content:center;gap:7px;min-height:88px;padding:16px 18px;display:grid}.managed-book-summary span{color:var(--muted);font-size:var(--text-xs)}.managed-book-summary strong{font-size:var(--text-xl)}.managed-book-list{min-width:0}.managed-book-toolbar{border-radius:var(--radius-3);background:var(--panel);justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:8px;display:flex}.managed-book-toolbar>div{color:var(--muted);font-size:var(--text-xs);align-items:center;gap:8px;display:flex}.managed-book-table-scroll{min-width:0;overflow-x:auto}.managed-book-table{border-collapse:collapse;width:100%;min-width:1040px;font-size:var(--text-xs)}.managed-book-table th,.managed-book-table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;height:42px;padding:8px 12px}.managed-book-table th{color:var(--muted);font-weight:var(--font-regular)}.managed-book-table tbody tr:hover,.managed-book-table tbody tr.selected{background:var(--panel)}.managed-book-table td strong{font-weight:var(--font-medium)}.managed-book-actions{align-items:center;gap:2px;min-width:154px;display:flex}.managed-book-status{color:#32896d;align-items:center;gap:7px;display:inline-flex}.managed-book-status i{background:#4aa785;border-radius:50%;width:7px;height:7px}.annotation-book-locked{color:var(--muted);font-size:var(--text-xs);align-items:center;gap:7px;display:inline-flex}.annotation-task-summary{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.annotation-task-summary article{border-radius:var(--radius-4);background:var(--panel);align-content:center;gap:6px;min-height:84px;padding:14px 18px;display:grid}.annotation-task-summary span{color:var(--muted);font-size:var(--text-xs)}.annotation-task-summary strong{font-size:var(--text-xl)}.annotation-task-list{min-width:0}.annotation-task-toolbar{border-bottom:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:center;gap:16px;min-height:46px;padding:8px 10px;display:flex}.annotation-task-toolbar>div{align-items:baseline;gap:10px;display:flex}.annotation-task-toolbar strong{font-size:var(--text-sm)}.annotation-task-toolbar span{color:var(--muted);font-size:var(--text-xs)}.annotation-task-table-scroll{min-width:0;overflow-x:auto}.annotation-task-table{border-collapse:collapse;width:100%;min-width:880px;font-size:var(--text-xs)}.annotation-task-table th,.annotation-task-table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;height:44px;padding:8px 12px}.annotation-task-table th{color:var(--muted);font-weight:var(--font-regular)}.annotation-task-table tbody tr:hover{background:var(--panel)}.annotation-task-table td strong{font-weight:var(--font-medium)}.annotation-detail-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:48px;padding:8px 12px;display:flex}.plot-pulse-page{letter-spacing:0}.plot-pulse-page .page-head{margin-bottom:var(--space-5)}.plot-pulse-page .page-head h1{font-size:var(--text-lg);line-height:26px}.plot-pulse-page .page-head p{color:var(--muted);font-size:var(--text-xs);margin-top:4px}.plot-head-actions{align-items:center;gap:var(--space-3);display:flex}.plot-head-actions .character-status-select{width:112px}.plot-overview{min-height:92px;margin-bottom:var(--space-5);border-radius:var(--radius-4);background:var(--panel);grid-template-columns:minmax(360px,1.35fr) minmax(420px,1fr);display:grid;overflow:hidden}.plot-run-state{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-right:1px solid var(--line);display:flex}.plot-book-mark{color:#357b65;background:color-mix(in srgb, var(--green-400) 18%, var(--surface));border-radius:50%;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid}.plot-run-state>div:last-child{gap:3px;min-width:0;display:grid}.plot-run-state span{color:#32896d;font-size:var(--text-xs);align-items:center;gap:7px;display:flex}.plot-run-state span i{background:var(--green-400);border-radius:50%;width:7px;height:7px}.plot-run-state strong{font-size:var(--text-sm);font-weight:var(--font-medium)}.plot-run-state small{color:var(--muted);font-size:var(--text-xs)}.plot-overview dl{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.plot-overview dl>div{border-right:1px solid var(--line);align-content:center;gap:5px;padding:12px;display:grid}.plot-overview dl>div:last-child{border-right:0}.plot-overview dt{color:var(--muted);font-size:var(--text-xs)}.plot-overview dd{font-size:var(--text-xl);font-weight:var(--font-semibold);font-variant-numeric:tabular-nums;margin:0}.plot-workspace{min-width:0;min-height:580px}.plot-workspace>.structure-tabs{margin-bottom:var(--space-4)}.plot-section-heading{justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--line);min-height:52px;padding:0 4px 12px;display:flex}.plot-section-heading>div{gap:3px;display:grid}.plot-section-heading strong{font-size:var(--text-sm);font-weight:var(--font-medium)}.plot-section-heading span{color:var(--muted);font-size:var(--text-xs)}.plot-review-note{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--yellow-400) 18%, transparent);padding:5px 9px;color:#8a651d!important}.plot-stage-track{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:18px;display:grid;position:relative}.plot-stage-track article{border-right:1px solid var(--line);min-width:0;padding:0 16px 18px;position:relative}.plot-stage-track article:nth-child(3n){border-right:0}.plot-stage-track article:nth-child(-n+3){border-bottom:1px solid var(--line);margin-bottom:18px}.plot-stage-track article>button{text-align:left;width:100%;min-width:0;color:var(--text);background:0 0;border:0;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:5px 0 14px;display:grid}.plot-stage-track article>button:hover strong{color:#1677d2}.plot-stage-index{z-index:1;border:4px solid var(--surface);color:#28745d;width:34px;height:34px;font-size:10px;font-weight:var(--font-semibold);background:#dff2eb;border-radius:50%;place-items:center;display:grid;position:relative}.plot-stage-track button>div{gap:2px;min-width:0;display:grid}.plot-stage-track button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.plot-stage-track button strong{font-size:var(--text-xs);line-height:18px;font-weight:var(--font-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.plot-tone{border-radius:var(--radius-pill);color:#5c6380;background:#eef1fa;grid-column:2;justify-self:start;padding:1px 6px;font-size:10px}.plot-stage-track article>p{min-height:64px;color:var(--text);font-size:var(--text-xs);margin:0;line-height:21px}.plot-stage-track footer{border-top:1px dashed var(--line);color:var(--muted);font-size:var(--text-xs);padding-top:12px;line-height:20px}.plot-stage-track footer span{color:#28745d;margin-bottom:3px;font-size:10px;display:block}.plot-chapter-layout{border:1px solid var(--line);border-radius:var(--radius-3);grid-template-columns:220px minmax(0,1fr);min-height:560px;display:grid;overflow:hidden}.plot-chapter-list{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;min-width:0;padding:12px;display:flex}.plot-chapter-list>header{justify-content:space-between;align-items:center;min-height:34px;padding:0 6px 8px;display:flex}.plot-chapter-list>header strong{font-size:var(--text-xs)}.plot-chapter-list>header span{color:var(--muted);font-size:10px}.plot-chapter-list>div{align-content:start;gap:3px;min-height:0;display:grid;overflow-y:auto}.plot-chapter-list button{border-radius:var(--radius-2);text-align:left;min-width:0;min-height:38px;color:var(--text);background:0 0;border:0;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:6px;padding:5px 7px;display:grid}.plot-chapter-list button:hover{background:var(--hover)}.plot-chapter-list button.active{background:var(--surface)}.plot-chapter-list button>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.plot-chapter-list button strong{font-size:var(--text-xs);font-weight:var(--font-regular);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.plot-chapter-list button small{color:var(--faint);white-space:nowrap;font-size:10px}.plot-chapter-detail{background:var(--surface);min-width:0;min-height:0;overflow:auto}.plot-chapter-detail>header{justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--line);min-height:92px;padding:16px 20px;display:flex}.plot-chapter-detail>header span:first-child{color:#32896d;font-size:var(--text-xs)}.plot-chapter-detail h2{font-size:var(--text-md);margin:3px 0;line-height:24px}.plot-chapter-detail>header p{color:var(--muted);font-size:var(--text-xs);margin:0}.plot-chapter-review{align-items:center;gap:var(--space-2);display:flex}.plot-chapter-review .character-status{min-height:32px;font-size:var(--text-xs);padding:6px 10px}.plot-chapter-review .pill-button{min-height:32px;font-size:var(--text-xs)}.plot-chapter-summary{border-bottom:1px solid var(--line);background:var(--panel);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.plot-chapter-summary>div{border-right:1px solid var(--line);min-height:96px;padding:14px 20px}.plot-chapter-summary>div:last-child{border-right:0}.plot-chapter-summary strong{font-size:var(--text-xs);font-weight:var(--font-medium)}.plot-chapter-summary p{font-size:var(--text-xs);margin:7px 0 0;line-height:20px}.plot-event-list{padding:16px 20px 24px}.plot-event-list>header{align-items:baseline;gap:10px;padding-bottom:10px;display:flex}.plot-event-list>header strong{font-size:var(--text-sm)}.plot-event-list>header span{color:var(--muted);font-size:var(--text-xs)}.plot-event-list article{border-bottom:1px solid var(--line);grid-template-columns:26px minmax(0,1fr) auto;gap:12px;padding:13px 0;display:grid}.plot-event-order{color:#5c6380;background:#eef1fa;border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;display:grid}.plot-event-list article>div{min-width:0}.plot-event-list article strong{font-size:var(--text-xs);font-weight:var(--font-medium)}.plot-event-location{color:var(--muted);margin-top:3px;font-size:10px;line-height:16px;display:block}.plot-event-list article p{color:var(--muted);font-size:var(--text-xs);margin:4px 0 7px;line-height:20px}.plot-event-list footer{font-size:var(--text-xs)}.plot-event-list footer span{color:#32896d;margin-right:7px;font-size:10px}.plot-event-list .evidence-link{align-self:start}.plot-table-wrap{border:1px solid var(--line);border-radius:var(--radius-3);min-width:0;overflow-x:auto}.plot-data-table{min-width:1180px}.plot-data-table th,.plot-data-table td{height:46px}.plot-data-table td{max-width:360px}.plot-data-table td strong{font-weight:var(--font-medium)}.plot-data-table th:first-child,.plot-data-table td:first-child{width:166px;min-width:166px;max-width:190px}.plot-data-table th:not(:last-child),.plot-data-table td:not(:last-child){white-space:normal;line-height:20px}.plot-evidence-modal{width:min(720px,100%);max-height:min(760px,100vh - 48px);overflow:hidden}.plot-evidence-list{max-height:600px;padding:0 20px 20px;overflow-y:auto}.plot-evidence-list article{border-bottom:1px solid var(--line);padding:12px 0}.plot-evidence-list article header{color:#1677d2;font-size:var(--text-xs);justify-content:space-between;align-items:center;gap:12px;display:flex}.plot-evidence-list article small{color:var(--muted)}.plot-evidence-list article p{font-size:var(--text-sm);margin:6px 0 0;line-height:24px}.language-expression-page{letter-spacing:0}.language-expression-page .page-head{margin-bottom:var(--space-5)}.language-expression-page .page-head h1{font-size:var(--text-lg);line-height:26px}.language-expression-page .page-head p{color:var(--muted);font-size:var(--text-xs);margin-top:4px}.language-head-actions{align-items:center;gap:var(--space-3);display:flex}.language-overview{min-height:92px;margin-bottom:var(--space-5);border-radius:var(--radius-4);background:var(--panel);grid-template-columns:minmax(360px,1.35fr) minmax(420px,1fr);display:grid;overflow:hidden}.language-run-state{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-right:1px solid var(--line);display:flex}.language-icon{color:#5c6380;background:#e9edf8;border-radius:50%;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid}.language-run-state>div:last-child{gap:3px;min-width:0;display:grid}.language-run-state span{color:#32896d;font-size:var(--text-xs);align-items:center;gap:7px;display:flex}.language-run-state span i{background:var(--green-400);border-radius:50%;width:7px;height:7px}.language-run-state strong{font-size:var(--text-sm);font-weight:var(--font-medium)}.language-run-state small{color:var(--muted);font-size:var(--text-xs)}.language-overview dl{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.language-overview dl>div{border-right:1px solid var(--line);align-content:center;gap:5px;padding:12px;display:grid}.language-overview dl>div:last-child{border-right:0}.language-overview dt{color:var(--muted);font-size:var(--text-xs)}.language-overview dd{font-size:var(--text-xl);font-weight:var(--font-semibold);font-variant-numeric:tabular-nums;margin:0}.language-workspace{min-width:0;min-height:560px}.language-workspace>.structure-tabs{margin-bottom:var(--space-4)}.language-style-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.language-style-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:20px 22px}.language-style-grid article:nth-child(2n){border-right:0}.language-style-grid article:nth-last-child(-n+2){border-bottom:0}.language-style-grid article>header{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;display:grid}.language-style-grid article>header>span{color:#5c6380;width:34px;height:34px;font-size:10px;font-weight:var(--font-semibold);background:#eef1fa;border-radius:50%;place-items:center;display:grid}.language-style-grid article>header div{gap:2px;display:grid}.language-style-grid article>header small{color:var(--muted);font-size:10px}.language-style-grid article>header strong{font-size:var(--text-sm);font-weight:var(--font-medium)}.language-style-grid article>p{min-height:44px;font-size:var(--text-xs);margin:14px 0;line-height:21px}.language-style-grid article dl{border-top:1px dashed var(--line);gap:8px;margin:0;padding-top:12px;display:grid}.language-style-grid article dl>div{grid-template-columns:64px minmax(0,1fr);gap:10px;display:grid}.language-style-grid article dt{color:var(--muted);font-size:10px}.language-style-grid article dd{font-size:var(--text-xs);margin:0;line-height:20px}.language-style-evidence{text-align:left;color:#1677d2;font:inherit;background:0 0;border:0;padding:0;line-height:20px}.language-style-evidence:hover{text-decoration:underline}.language-style-evidence+small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.language-table-wrap{border:1px solid var(--line);border-radius:var(--radius-3);min-width:0;overflow-x:auto}.language-data-table{min-width:1680px}.language-data-table th,.language-data-table td{height:auto;min-height:52px}.language-data-table td{max-width:320px}.language-data-table td strong{font-weight:var(--font-medium)}.language-data-table th:first-child,.language-data-table td:first-child{width:166px;min-width:166px;max-width:166px}.language-data-table th:not(:last-child),.language-data-table td:not(:last-child){white-space:normal;line-height:20px}.language-data-table th:last-child,.language-data-table td:last-child{width:166px;min-width:166px;max-width:166px}.language-type-tag{border-radius:var(--radius-pill);color:#5c6380;min-height:24px;font-size:var(--text-xs);white-space:nowrap;background:#eef1fa;align-items:center;padding:3px 7px;display:inline-flex}.language-quote{text-align:left;color:#1677d2;max-width:320px;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;line-height:20px;overflow:hidden}.language-quote:hover{text-decoration:underline}.language-sentence-id{color:var(--muted);font-size:10px;line-height:16px;font-weight:var(--font-regular);margin-top:3px;display:block}.language-data-table .row-text-action+.row-text-action{margin-left:4px}.language-data-table .row-text-action:disabled{color:var(--muted);cursor:default}.language-evidence-modal{width:min(620px,100%)}.language-evidence-modal blockquote{border-radius:0 var(--radius-2) var(--radius-2) 0;color:var(--text);background:var(--panel);font-size:var(--text-md);border-left:3px solid #8a72c9;margin:0 20px 22px;padding:18px 20px;line-height:30px}.language-analysis-modal{width:min(760px,100%);max-height:min(820px,100vh - 48px);overflow:auto}.language-analysis-content{padding:0 20px}.language-analysis-content section>span{color:var(--muted);font-size:var(--text-xs);margin-bottom:7px;display:block}.language-analysis-content blockquote{border-radius:0 var(--radius-2) var(--radius-2) 0;background:var(--panel);font-size:var(--text-sm);border-left:3px solid #8a72c9;margin:0;padding:16px 18px;line-height:26px}.language-analysis-content dl{border-top:1px solid var(--line);margin:18px 0 0;display:grid}.language-analysis-content dl>div{border-bottom:1px solid var(--line);grid-template-columns:128px minmax(0,1fr);gap:18px;padding:13px 0;display:grid}.language-analysis-content dt{color:var(--muted);font-size:var(--text-xs)}.language-analysis-content dd{font-size:var(--text-sm);margin:0;line-height:23px}.theme-thought-page{letter-spacing:0}.theme-thought-page .page-head{margin-bottom:var(--space-5)}.theme-thought-page .page-head h1{font-size:var(--text-lg);line-height:26px}.theme-thought-page .page-head p{color:var(--muted);font-size:var(--text-xs);margin-top:4px}.theme-head-actions{align-items:center;gap:var(--space-3);display:flex}.theme-overview{min-height:92px;margin-bottom:var(--space-5);border-radius:var(--radius-4);background:var(--panel);grid-template-columns:minmax(360px,1.35fr) minmax(420px,1fr);display:grid;overflow:hidden}.theme-run-state{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-right:1px solid var(--line);display:flex}.theme-icon{color:#7b6741;background:#f5eedf;border-radius:50%;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid}.theme-run-state>div:last-child{gap:3px;min-width:0;display:grid}.theme-run-state span{color:#32896d;font-size:var(--text-xs);align-items:center;gap:7px;display:flex}.theme-run-state span i{background:var(--green-400);border-radius:50%;width:7px;height:7px}.theme-run-state strong{font-size:var(--text-sm);font-weight:var(--font-medium)}.theme-run-state small{color:var(--muted);font-size:var(--text-xs)}.theme-overview dl{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.theme-overview dl>div{border-right:1px solid var(--line);align-content:center;gap:5px;padding:12px;display:grid}.theme-overview dl>div:last-child{border-right:0}.theme-overview dt{color:var(--muted);font-size:var(--text-xs)}.theme-overview dd{font-size:var(--text-xl);font-weight:var(--font-semibold);font-variant-numeric:tabular-nums;margin:0}.theme-workspace{min-width:0;min-height:560px}.theme-workspace>.structure-tabs{margin-bottom:var(--space-4)}.theme-card-grid{border:1px solid var(--line);border-radius:var(--radius-3);background:var(--surface);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.theme-card-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:20px 22px}.theme-card-grid article:nth-child(2n){border-right:0}.theme-card-grid article:nth-last-child(-n+2){border-bottom:0}.theme-card-grid article>header{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.theme-card-grid article>header>span:first-child{color:#7b6741;width:34px;height:34px;font-size:10px;font-weight:var(--font-semibold);background:#f5eedf;border-radius:50%;place-items:center;display:grid}.theme-card-grid article>header div{gap:2px;min-width:0;display:grid}.theme-card-grid article>header small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.theme-card-grid article>header strong{font-size:var(--text-sm);font-weight:var(--font-medium)}.theme-confidence{color:#32896d;font-size:var(--text-xs);font-variant-numeric:tabular-nums}.theme-card-grid article>p{min-height:44px;font-size:var(--text-xs);margin:14px 0;line-height:21px}.theme-card-grid article dl{border-top:1px dashed var(--line);gap:8px;margin:0;padding-top:12px;display:grid}.theme-card-grid article dl>div{grid-template-columns:64px minmax(0,1fr);gap:10px;display:grid}.theme-card-grid article dt{color:var(--muted);font-size:10px}.theme-card-grid article dd{font-size:var(--text-xs);margin:0;line-height:20px}.theme-card-grid article footer{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.theme-table-wrap{border:1px solid var(--line);border-radius:var(--radius-3);min-width:0;overflow-x:auto}.theme-data-table{min-width:1600px}.theme-data-table th,.theme-data-table td{height:auto;min-height:52px}.theme-data-table td{white-space:normal;max-width:320px;line-height:20px}.theme-data-table td strong{font-weight:var(--font-medium)}.theme-data-table th:first-child,.theme-data-table td:first-child{width:168px;min-width:168px;max-width:168px}.theme-data-table th:last-child,.theme-data-table td:last-child{width:92px;min-width:92px;max-width:92px}.chapter-theme-table{min-width:1260px}.theme-level-tag{border-radius:var(--radius-pill);color:#7b6741;min-height:24px;font-size:var(--text-xs);white-space:nowrap;background:#f5eedf;align-items:center;padding:3px 7px;display:inline-flex}.theme-data-table .row-text-action:disabled,.theme-card-grid .row-text-action:disabled{color:var(--muted);cursor:default}.theme-evidence-modal{width:min(720px,100%);max-height:min(760px,100vh - 48px);overflow:hidden}.managed-detail-back>span{color:var(--muted);font-size:var(--text-xs);margin-left:12px}.managed-detail-back{align-items:center;min-height:32px;margin-bottom:8px;display:flex}.managed-detail-back .text-button{color:var(--muted);align-items:center;gap:5px;padding-left:0;display:inline-flex}.managed-detail-back .text-button:hover{color:var(--text);background:0 0}.annotation-task-table tbody tr.selected{background:#f7faff}.annotation-selected-book{color:#1677ff;font-size:var(--text-xs);margin-left:8px;font-weight:500}.table-pagination{border-top:1px solid var(--line);background:var(--surface);min-width:min(100%,520px);color:var(--muted);font-size:var(--text-xs);justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex;position:sticky;left:0}.table-pagination-navigation{align-items:center;gap:8px;display:flex}.table-pagination .icon-button{width:28px;min-width:28px;height:28px;padding:0;font-size:20px;line-height:1}.table-pagination .icon-button:disabled{opacity:.35;cursor:not-allowed}.table-pagination-pages{align-items:center;gap:4px;display:flex}.table-pagination-pages button{width:28px;height:28px;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;font-size:14px;display:grid}.table-pagination-pages button:hover{background:var(--hover)}.table-pagination-pages button.active{background:#1c1c1c0d}.table-pagination-size{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.table-pagination-size select{border:1px solid var(--line);background:var(--surface);height:30px;color:var(--text);font:inherit;cursor:pointer;border-radius:6px;padding:0 28px 0 9px}.managed-book-detail .page-head p{color:var(--muted);font-size:var(--text-xs);margin-top:4px}.managed-detail-approved{color:#32896d;font-size:var(--text-sm)!important}.managed-detail-table-scroll{min-width:0;overflow-x:auto}.managed-detail-table-scroll .structure-data-table{min-width:780px}.labeling-modal{width:min(620px,100%)}.labeling-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.labeling-type-grid button{border:1px solid var(--line);border-radius:var(--radius-3);text-align:left;min-height:64px;color:var(--text);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:12px 14px;display:grid}.labeling-type-grid button:hover{border-color:color-mix(in srgb, var(--text) 25%, var(--line));background:var(--panel)}.labeling-type-grid strong{font-size:var(--text-sm);font-weight:var(--font-medium)}.labeling-type-grid span{color:var(--muted);font-size:var(--text-xs);grid-column:1}.labeling-type-grid svg{color:var(--muted);grid-area:1/2/3}.character-annotation-page .page-head p{color:var(--muted);font-size:var(--text-xs);margin-top:4px}.character-annotation-page{letter-spacing:0}.character-annotation-page .page-head h1{font-size:var(--text-lg);line-height:26px;font-weight:var(--font-semibold)}.character-annotation-page .page-head p{line-height:18px;font-weight:var(--font-regular)}.character-head-actions{align-items:center;gap:var(--space-3);display:flex}.character-book-select{width:210px}.character-book-select .form-select>button{border:1px solid var(--line);border-radius:var(--radius-3);background:var(--surface);min-height:38px;font-size:var(--text-xs);padding:8px 11px}.character-overview{min-height:92px;margin-bottom:var(--space-5);border-radius:var(--radius-4);background:var(--panel);grid-template-columns:minmax(300px,1.25fr) minmax(400px,1fr);display:grid;overflow:hidden}.character-run-state{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-right:1px solid var(--line);display:flex}.character-progress-ring{--character-progress:0deg;background:conic-gradient(var(--green-400) var(--character-progress), var(--chip) 0);border-radius:50%;flex:0 0 58px;place-items:center;width:58px;height:58px;display:grid}.character-progress-ring:before{background:var(--panel);content:"";border-radius:50%;grid-area:1/1;width:46px;height:46px}.character-progress-ring>div{grid-area:1/1;align-items:baseline;display:flex;position:relative}.character-progress-ring strong{font-size:var(--text-md);line-height:1;font-weight:var(--font-semibold);font-variant-numeric:tabular-nums}.character-progress-ring span{color:var(--muted);font-size:10px}.character-run-copy{gap:3px;min-width:0;display:grid}.character-run-copy>span{color:#32896d;font-size:var(--text-xs);line-height:18px;font-weight:var(--font-regular);align-items:center;gap:7px;display:inline-flex}.character-run-copy>span.running{color:#6c4da2}.character-run-copy>span i{background:var(--green-400);border-radius:50%;width:7px;height:7px}.character-run-copy>span.running i{background:var(--purple-400)}.character-run-copy>strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);line-height:20px;font-weight:var(--font-medium);overflow:hidden}.character-run-copy>small{color:var(--muted);font-size:var(--text-xs);line-height:18px;font-weight:var(--font-regular)}.character-overview>dl{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.character-overview>dl>div{padding:var(--space-3);border-right:1px solid var(--line);align-content:center;gap:6px;display:grid}.character-overview>dl>div:last-child{border-right:0}.character-overview dt{color:var(--muted);font-size:var(--text-xs);line-height:18px;font-weight:var(--font-regular)}.character-overview dd{font-size:var(--text-xl);line-height:28px;font-weight:var(--font-semibold);font-variant-numeric:tabular-nums;margin:0}.character-workspace{border:1px solid var(--line);border-radius:var(--radius-4);grid-template-columns:268px minmax(0,1fr);min-height:560px;display:grid;overflow:hidden}.character-list-panel{min-width:0;padding:var(--space-4);border-right:1px solid var(--line);background:var(--panel)}.character-list-head{justify-content:space-between;gap:var(--space-3);min-height:40px;font-size:var(--text-xs);display:flex}.character-list-head>div{gap:2px;display:grid}.character-list-head strong{font-size:var(--text-sm)}.character-list-head span{color:var(--muted)}.character-search{align-items:center;gap:var(--space-2);height:38px;margin:var(--space-3) 0 var(--space-2);border:1px solid var(--line);border-radius:var(--radius-3);color:var(--muted);background:var(--surface);padding:8px 11px;display:flex}.character-search:focus-within{border-color:var(--color-focus);box-shadow:var(--focus-ring)}.character-search input{width:100%;min-width:0;color:var(--text);font-size:var(--text-xs);background:0 0;border:0;outline:0}.character-filter{margin-bottom:var(--space-3);border-radius:var(--radius-2-5);background:var(--chip);grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;display:grid}.character-filter button{border-radius:var(--radius-2);min-height:28px;color:var(--muted);font-size:var(--text-xs);background:0 0;border:0;padding:4px 6px}.character-filter button:hover{color:var(--text)}.character-filter button.active{color:var(--text);background:var(--surface)}.character-list{gap:var(--space-1);display:grid}.character-list>button{align-items:center;gap:var(--space-2);border-radius:var(--radius-3);text-align:left;min-height:44px;color:var(--text);transition:background var(--duration-fast) var(--ease-standard);background:0 0;border:0;grid-template-columns:30px minmax(0,1fr) auto;padding:5px 8px;display:grid}.character-list>button:hover{background:var(--hover)}.character-list>button.active{background:var(--surface)}.character-avatar{background:var(--color-metric-blue);width:30px;height:30px;color:var(--color-icon-on-pastel);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:50%;place-items:center;display:grid}.character-avatar.large{width:42px;height:42px;font-size:var(--text-sm)}.character-list strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-sm);font-weight:var(--font-medium);overflow:hidden}.character-list small{color:var(--muted);font-size:var(--text-xs)}.character-status{border-radius:var(--radius-pill);color:#8a651d;background:color-mix(in srgb, var(--yellow-400) 20%, transparent);white-space:nowrap;align-items:center;min-height:24px;padding:3px 7px;font-size:10px;line-height:16px;display:inline-flex}.character-status.reviewed{color:#28745d;background:color-mix(in srgb, var(--green-400) 18%, transparent)}.character-list-empty{min-height:150px;padding:var(--space-4);text-align:center;place-items:center;gap:4px;display:grid}.character-list-empty strong{font-size:var(--text-sm)}.character-list-empty span{color:var(--muted);font-size:var(--text-xs)}.character-detail-panel{background:var(--surface);min-width:0}.character-structure-workspace{background:0 0;border:0;border-radius:0;min-width:0;overflow:visible}.character-structure-workspace .structure-tabs{margin-bottom:0}.character-content-grid{gap:var(--space-4);grid-template-columns:200px minmax(0,1fr);align-items:stretch;min-width:0;height:600px;display:grid;overflow:visible}.character-content-grid.collapsed{grid-template-columns:64px minmax(0,1fr)}.character-main-panel{flex-direction:column;gap:12px;min-width:0;min-height:0;display:flex;overflow:hidden}.character-compact-list{gap:var(--space-3);min-width:0;min-height:0;padding:var(--space-4);border-radius:var(--radius-3);background:#f9f9fa;border:0;flex-direction:column;display:flex;overflow:hidden}.character-compact-list>header{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:32px;padding:4px 0;display:flex}.character-compact-list>header strong{font-size:var(--text-xs);line-height:18px;font-weight:var(--font-medium)}.character-compact-list>header span{color:var(--muted);font-size:10px}.character-list-toggle{width:26px;min-width:26px;height:26px;margin-left:auto;padding:0}.character-compact-list .character-list{align-content:start;gap:var(--space-1);scrollbar-width:thin;flex:1;min-height:0;overflow-y:auto}.character-compact-list .character-list>button{border-radius:var(--radius-2);background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;min-height:36px;padding:6px 8px}.character-compact-list .character-list>button:hover{background:#1c1c1c0a}.character-compact-list .character-list>button.active{background:var(--surface);box-shadow:none}.character-compact-list .character-avatar{width:28px;height:28px}.character-compact-list .character-status{grid-column:auto;justify-self:end;min-height:18px;margin-top:0;padding:1px 5px;line-height:14px}.character-compact-list .character-list strong{font-size:var(--text-xs);line-height:18px;font-weight:var(--font-regular)}.character-compact-list .character-status{font-size:10px;font-weight:var(--font-regular)}.character-content-grid.collapsed .character-compact-list>header strong{display:none}.character-content-grid.collapsed .character-compact-list>header{justify-content:center;padding:0}.character-content-grid.collapsed .character-list-toggle{margin-left:0}.character-content-grid.collapsed .character-list>button{text-align:center;grid-template-columns:minmax(0,1fr);padding:6px 4px}.character-content-grid.collapsed .character-list>button strong{text-align:center}.character-tab-tools{color:var(--muted);flex:none;align-items:center;gap:6px;margin-left:auto;display:flex}.character-status-select{width:108px}.character-status-select .form-select>button{border:1px solid var(--line);border-radius:var(--radius-2);background:var(--surface);min-height:32px;font-size:var(--text-xs);padding:5px 9px}.character-main-panel .structure-tabs button{font-size:var(--text-xs);line-height:18px;font-weight:var(--font-regular)}.character-main-panel .structure-tabs button.active{font-weight:var(--font-medium)}.character-main-panel>.structure-tabs{background:#f7f9fb;border-radius:8px;flex:none;min-height:52px;padding:8px}.character-tab-tools .icon-button{width:32px;min-width:32px;height:32px;color:var(--muted);padding:0}.character-tab-tools .structure-tab-search{width:180px;min-width:140px;margin-left:0}.character-structure-workspace .character-detail-panel{border-radius:0;flex-direction:column;flex:1;min-width:0;display:flex}.character-structure-workspace .character-profile,.character-structure-workspace .character-profile-section,.character-structure-workspace .character-detail-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.character-structure-workspace .character-table-wrap{flex-direction:column;flex:1;min-height:0;padding-top:0;display:flex;overflow:auto}.character-structure-workspace .character-profile,.character-structure-workspace .character-profile-section{flex-direction:column;flex:1;min-height:0;display:flex}.character-structure-workspace .table-pagination{background:0 0;border-top:0;justify-content:flex-end;margin-top:auto;padding:8px 0 0}.character-structure-workspace .table-pagination-summary{display:none}.character-detail-head{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:58px;padding:10px var(--space-5);border-bottom:1px solid var(--line);display:flex}.character-table-toolbar{min-height:52px;padding:7px 8px}.character-current-name{font-size:13px;line-height:20px;font-weight:var(--font-medium);padding-left:4px}.character-person-select{width:180px}.character-person-select .form-select>button{border:1px solid var(--line);border-radius:var(--radius-2);background:var(--surface);min-height:32px;font-size:var(--text-xs);padding:5px 10px}.character-identity{align-items:center;gap:var(--space-3);grid-template-columns:30px minmax(0,auto);min-width:0;height:32px;display:grid}.character-identity>div{gap:1px;min-width:0;display:grid}.character-detail-head h2{font-size:var(--text-sm);margin:0;line-height:20px}.character-detail-head small{color:var(--muted);font-size:10px;line-height:12px}.character-detail-actions{align-items:center;gap:var(--space-2);display:flex}.character-detail-actions .character-status{min-height:32px;font-size:var(--text-xs);padding:6px 12px;line-height:20px}.character-table-toolbar .character-status,.character-table-toolbar .pill-button{font-size:13px}.character-annotation-page .primary-action,.character-annotation-page .pill-button{font-size:var(--text-xs);line-height:18px;font-weight:var(--font-medium)}.character-annotation-page .character-table-toolbar .pill-button{font-size:13px}.character-tabs{gap:var(--space-4);min-height:48px;padding:0 var(--space-5);border-bottom:1px solid var(--line);display:flex;overflow-x:auto}.character-tabs button{white-space:nowrap;color:var(--muted);font-size:var(--text-sm);background:0 0;border:0;padding:12px 2px;position:relative}.character-tabs button:hover{color:var(--text)}.character-tabs button.active{color:var(--text);font-weight:var(--font-medium)}.character-tabs button.active:after{background:var(--text);content:"";border-radius:2px;height:2px;position:absolute;bottom:-1px;left:0;right:0}.character-profile{gap:var(--space-5);padding:0;display:grid}.character-profile-lead{align-items:center;gap:var(--space-5);padding:var(--space-5);border-radius:var(--radius-3);background:var(--panel);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.character-profile-lead.pinned-summary{margin:var(--space-4) var(--space-5) var(--space-2);padding:var(--space-4)}.character-profile-lead>div{align-content:center;gap:5px;display:grid}.character-profile-lead span,.character-profile-section header span,.character-profile-insights span{color:var(--muted);font-size:var(--text-xs)}.character-profile-lead>div>strong{font-size:var(--text-lg)}.character-profile-lead>div>p{max-width:620px;color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-md)}.character-profile-lead>dl{grid-template-columns:repeat(3,minmax(76px,1fr));margin:0;display:grid}.character-profile-lead>dl>div{padding:0 var(--space-4);border-left:1px solid var(--line);align-content:center;gap:4px;display:grid}.character-profile-lead dt{color:var(--muted);font-size:var(--text-xs)}.character-profile-lead dd{font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.character-summary-edit{align-self:start}.character-profile-section{min-width:0}.character-profile-section>header{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);min-height:42px;margin-bottom:0;padding:7px 8px;display:flex}.character-profile-section>header strong{font-size:var(--text-sm)}.profile-table-wrap{padding:0;overflow-x:auto}.profile-data-table{min-width:640px}.profile-data-table th:first-child{width:130px}.profile-data-table th:nth-child(3){width:120px}.profile-data-table th:last-child{width:72px}.field-source{color:var(--muted)}.evidence-link{border-radius:var(--radius-2);color:#316b8f;background:color-mix(in srgb, var(--blue-400) 13%, transparent);min-height:28px;font-size:var(--text-xs);white-space:nowrap;border:0;padding:4px 8px}.evidence-link:hover{background:color-mix(in srgb, var(--blue-400) 22%, transparent)}.character-fields{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.character-fields>div{min-height:66px;padding:10px var(--space-3);border-right:1px solid var(--line);border-bottom:1px solid var(--line);align-content:center;gap:5px;display:grid}.character-fields dt{color:var(--muted);font-size:var(--text-xs)}.character-fields dd{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);margin:0;overflow:hidden}.character-profile-insights{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.character-profile-insights>section{min-height:112px;padding:var(--space-4);border-radius:var(--radius-3);background:var(--panel);align-content:start;gap:6px;display:grid}.character-profile-insights>section>strong{font-size:var(--text-sm)}.character-profile-insights>section>p{color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-md)}.character-profile-insights>.character-reasons{background:color-mix(in srgb, var(--green-400) 10%, var(--surface))}.character-table-wrap,.character-evidence{min-width:0;padding:var(--space-3) 0 0;overflow-x:auto}.character-section-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);min-height:42px;display:flex}.character-section-head>div{gap:2px;display:grid}.character-section-head strong{font-size:var(--text-sm)}.character-section-head span{color:var(--muted);font-size:var(--text-xs)}.character-data-table{border-collapse:collapse;width:100%;min-width:620px;font-size:var(--text-xs);line-height:var(--leading-sm);font-weight:var(--font-regular)}.character-data-table th,.character-data-table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;height:40px;padding:8px 12px}.character-data-table th{color:var(--muted);font-size:var(--text-xs);line-height:18px;font-weight:var(--font-medium)}.character-data-table tbody tr:hover{background:var(--panel)}.character-data-table td strong{font-weight:var(--font-medium)}.character-data-table th:last-child,.character-data-table td:last-child{z-index:4;background:var(--surface);width:84px;min-width:84px;position:sticky;right:0;box-shadow:-12px 0 16px -16px #12182373}.character-data-table th:last-child{z-index:5}.character-data-table tbody tr:hover td:last-child{background:var(--panel)}.relation-label{border-radius:var(--radius-pill);text-align:center;color:#68489c;background:color-mix(in srgb, var(--purple-400) 16%, transparent);min-width:48px;padding:2px 8px;display:inline-block}.character-evidence{gap:var(--space-3);display:grid}.character-evidence-table-scroll{border-top:1px solid var(--line);min-width:0;max-height:440px;overflow:auto}.character-evidence-table{min-width:1040px}.character-evidence-table thead{z-index:1;background:var(--surface);position:sticky;top:0}.character-evidence-table th:first-child{width:54px}.character-evidence-table th:nth-child(2){width:90px}.character-evidence-table th:nth-child(3){width:82px}.character-evidence-table th:nth-child(4){width:98px}.character-evidence-table th:nth-child(5){width:160px}.character-evidence-table th:last-child{width:88px}.character-evidence-table td{vertical-align:top}.character-evidence-table code{color:var(--muted);font-size:var(--text-xs)}.character-evidence-table .evidence-text{white-space:normal;min-width:300px;line-height:var(--leading-sm)}.evidence-kind{border-radius:var(--radius-pill);color:#316b8f;background:color-mix(in srgb, var(--blue-400) 16%, transparent);white-space:nowrap;padding:2px 7px;display:inline-block}.character-edit-modal{width:min(520px,100vw - 32px)}.character-evidence-modal{width:min(680px,100vw - 32px)}.embedded-evidence-list{gap:var(--space-2);max-height:min(520px,58vh);margin-top:var(--space-5);display:grid;overflow-y:auto}.embedded-evidence-list article{padding:var(--space-3) var(--space-4);border-radius:var(--radius-3);background:var(--panel)}.embedded-evidence-list header{justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2);color:var(--muted);font-size:var(--text-xs);display:flex}.embedded-evidence-list code{color:var(--muted)}.embedded-evidence-list p{font-size:var(--text-sm);line-height:var(--leading-md)}.character-edit-field{gap:var(--space-2);margin-top:var(--space-5);color:var(--text);font-size:var(--text-sm);display:grid}.character-edit-field textarea{resize:vertical;min-height:120px;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-3);color:var(--text);background:var(--surface);font:inherit;line-height:var(--leading-md);outline:0}.character-edit-field textarea:focus{border-color:var(--color-focus);box-shadow:var(--focus-ring)}@media (width<=880px){.structure-edit-backdrop{padding:12px}.structure-edit-modal{max-height:calc(100vh - 24px)}.structure-edit-head{padding:18px 18px 15px}.structure-edit-body{padding:16px 18px 20px}.structure-edit-modal-chapter .structure-edit-fields textarea,.structure-edit-modal-content .structure-edit-fields textarea{min-height:240px}.structure-edit-actions{padding:12px 18px}.original-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.book-list-toolbar{flex-direction:column;align-items:stretch}.book-table-search{width:100%}.ebook-workspace{grid-template-columns:1fr}.ebook-toc{display:none}.ebook-head{grid-template-columns:1fr auto}.ebook-head>.text-button{grid-column:1/-1;justify-self:start}.structure-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.structure-summary>div{border-bottom:1px solid var(--line)}.structure-page .page-head,.structure-head-actions{align-items:stretch}.structure-head-actions{flex-direction:column}.structure-book-select{width:100%}.structure-edit-fields{grid-template-columns:1fr}.managed-book-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.managed-book-toolbar{flex-direction:column;align-items:stretch}.labeling-type-grid,.character-overview{grid-template-columns:1fr}.character-annotation-page .page-head,.character-head-actions{flex-direction:column;align-items:stretch}.character-head-actions,.character-book-select{width:100%}.character-run-state{border-right:0;border-bottom:1px solid var(--line)}.character-structure-workspace .structure-tabs{flex-direction:column;align-items:stretch}.character-tab-tools{width:100%;margin-left:0}.character-tab-tools .structure-tab-search{flex:1;width:auto}.character-content-grid{grid-template-columns:156px minmax(0,1fr)}.character-table-toolbar{flex-direction:column;align-items:stretch}.character-person-select{width:100%}.character-table-wrap{overflow-x:auto}.structure-toolbar{flex-direction:column;align-items:stretch}.structure-toolbar label{width:100%}.metadata-detail-grid{grid-template-columns:1fr}.metadata-detail-grid article,.metadata-detail-grid article:nth-child(3n){border-right:0}}@media (width<=560px){.ebook-spread{padding:var(--space-3);grid-template-columns:minmax(280px,1fr)}.ebook-spread article:nth-child(2){display:none}.character-overview>dl{grid-template-columns:repeat(2,minmax(0,1fr))}.character-overview>dl>div:nth-child(2){border-right:0}.character-overview>dl>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.character-list{grid-template-columns:1fr}.character-detail-actions{width:100%}.character-detail-actions .pill-button{flex:1}.character-content-grid{grid-template-columns:1fr}.character-compact-list{border-right:0;border-bottom:1px solid var(--line)}.character-compact-list .character-list{grid-template-columns:repeat(2,minmax(0,1fr))}.character-tab-tools{flex-wrap:wrap}.character-tab-tools .structure-tab-search{flex:1 0 100%;order:2}.character-profile-lead{grid-template-columns:1fr}.character-profile-lead.pinned-summary{margin:var(--space-3)}.character-summary-edit{justify-self:start}.character-profile-lead>dl>div:first-child{border-left:0;padding-left:0}.character-fields,.character-profile-insights{grid-template-columns:1fr}.character-evidence header{flex-direction:column;align-items:flex-start}}.line-chart{min-height:210px}.chart-tabs{color:var(--muted);font-size:var(--text-sm);gap:26px;margin-bottom:24px;display:flex}.chart-tabs strong{color:var(--text)}.line-chart svg{width:100%;height:170px;overflow:visible}.traffic-list{font-size:var(--text-sm);gap:22px;display:grid}.traffic-list div{grid-template-columns:72px 1fr;align-items:center;display:grid}.traffic-list i{border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--text), var(--line));height:2px}.bar-chart{grid-template-columns:repeat(6,1fr);align-items:end;gap:18px;height:170px;display:grid}.bar-chart div{color:var(--muted);font-size:var(--text-xs);justify-items:center;gap:10px;display:grid}.bar-chart i{border-radius:var(--radius-2);width:28px}.bar-0{background:var(--chart-blue)}.bar-1{background:var(--cyan-400)}.bar-2{background:var(--indigo-400)}.bar-3{background:var(--blue-400)}.bar-4{background:var(--chart-violet)}.bar-5{background:var(--green-400)}.donut-wrap{grid-template-columns:130px 1fr;align-items:center;gap:30px;min-height:156px;display:grid}.donut{border-radius:var(--radius-pill);background:conic-gradient(var(--indigo-400) 0 52%, var(--blue-400) 52% 75%, var(--green-400) 75% 89%, var(--chart-blue) 89% 100%);width:120px;height:120px;position:relative}.donut:after{content:"";border-radius:inherit;background:var(--panel);position:absolute;inset:33px}.legend{font-size:var(--text-sm);gap:14px;display:grid}.legend p{justify-content:space-between;gap:18px;display:flex}.timeline-bars{align-items:end;gap:20px;height:190px;display:flex}.timeline-bars i{background:linear-gradient(180deg, var(--blue-400), var(--cyan-400));border-radius:8px 8px 0 0;flex:1}.rightbar{border-left:.5px solid var(--line);height:100%;padding:16px;animation:.22s slideInRight;overflow:auto}.ai-rightbar{gap:var(--space-4);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.ai-rail-head,.ai-rail-title,.ai-composer-actions,.ai-composer-actions>div{align-items:center;display:flex}.ai-rail-head{justify-content:space-between;gap:12px;min-height:40px}.ai-rail-title{min-width:0}.ai-rail-title h2{font-size:var(--text-sm);line-height:var(--leading-sm);margin:0}.ai-rail-title small{color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-xs);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;display:block;overflow:hidden}.ai-rail-head>i{background:#4aa785;border-radius:50%;flex:none;width:8px;height:8px}.ai-chat-body{flex-direction:column;flex:1;gap:10px;min-height:0;padding:4px 2px 12px;display:flex;overflow-y:auto}.ai-context-note{border-radius:var(--radius-3);background:var(--panel);color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-sm);padding:10px 12px}.ai-message{font-size:var(--text-xs);line-height:var(--leading-sm);display:flex}.ai-message span{background:var(--panel);border-radius:12px;max-width:90%;padding:9px 11px}.ai-message.user{justify-content:flex-end}.ai-message.user span{color:var(--color-on-primary);background:var(--color-primary)}.ai-suggestions{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.ai-suggestions button,.ai-tools-panel button{border:1px solid var(--line);border-radius:var(--radius-pill);min-height:28px;color:var(--text);font-size:var(--text-xs);background:0 0;padding:5px 9px}.ai-suggestions button:hover,.ai-tools-panel button:hover{background:var(--chip)}.ai-tools-panel{border-radius:var(--radius-3);background:var(--panel);flex-wrap:wrap;gap:6px;padding:10px 12px;display:flex}.ai-composer{border:.5px solid color-mix(in srgb, var(--text) 4%, transparent);background:color-mix(in srgb, var(--surface) 80%, transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;flex-direction:column;flex:none;gap:12px;padding:12px;display:flex;box-shadow:0 4px 10px #0000001a}.ai-composer textarea{resize:none;width:100%;min-height:44px;max-height:120px;color:var(--text);font:inherit;font-size:var(--text-sm);line-height:var(--leading-sm);background:0 0;border:0;outline:0;padding:4px 8px}.ai-composer textarea::placeholder{color:var(--muted)}.ai-composer-actions{justify-content:space-between;gap:8px;min-height:28px}.ai-composer-actions>div{gap:8px}.ai-composer-actions button{border-radius:var(--radius-pill);min-width:28px;min-height:28px;color:var(--text);font-size:var(--text-xs);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.ai-composer-actions button:hover,.ai-composer-actions button.active{background:var(--chip)}.ai-composer-actions .ai-send{background:var(--chip);width:28px;padding:4px}.ai-composer-actions .ai-send:not(:disabled){color:var(--color-on-primary);background:var(--color-primary)}.ai-composer-actions .ai-send:disabled{color:var(--faint)}.side-panel{margin-bottom:20px}.side-panel h2{font-size:var(--text-sm);margin:0 4px 8px}.side-item{border-radius:var(--radius-md);gap:10px;min-height:38px;padding:7px 8px}.side-item:hover{background:var(--hover)}.mini-avatar{width:24px;height:24px;color:var(--color-icon-on-pastel);background:var(--chip);overflow:hidden}.mini-avatar.has-image img{object-fit:cover;width:100%;height:100%}.side-item span:last-child{min-width:0}.side-item strong,.side-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.side-item strong{font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:500}.side-item small{color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-xs)}.tabs-row{gap:18px;min-height:32px;margin-bottom:20px}.tabs-row>span{flex:1}.tab{color:var(--muted);font-size:var(--text-sm);background:0 0;border:0;border-bottom:2px solid #0000;padding:0 0 8px}.tab.active{color:var(--text);border-color:var(--text)}.pill-button{border-radius:var(--radius-pill);min-height:32px;color:var(--muted);font-size:var(--text-xs);justify-content:center;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.pill-button.primary{color:var(--color-on-primary);background:var(--color-primary)}.text-button.danger{color:var(--red-400)}.project-hero{outline:0;justify-content:space-between;gap:20px;min-height:144px;margin-bottom:28px;padding:24px;transition:transform .18s,background .18s;display:flex}.project-hero h1{font-size:var(--text-lg);margin-bottom:18px}.project-stats{gap:28px}.stat{border-right:1px solid var(--line);min-width:116px;padding-right:28px}.stat:last-child{border-right:0}.stat span,.stat strong{display:block}.stat span{font-size:var(--text-sm);margin-bottom:8px}.stat strong{font-size:var(--text-lg);line-height:var(--leading-lg)}.project-stats .stat:first-child{flex:0 0 208px;width:208px}.status-progress{border-radius:var(--radius-4);background:var(--chip);width:180px;height:28px;position:relative;overflow:hidden}.status-progress>i{background:var(--indigo-400);width:51%;position:absolute;inset:0 auto 0 0}.status-progress>span{font-size:var(--text-lg);white-space:nowrap;justify-content:center;align-items:center;gap:0;line-height:24px;display:flex;position:absolute;inset:0}.status-progress b{font-weight:600}.status-progress .on-progress{color:var(--color-on-accent)}.status-progress em{color:var(--faint);font-style:normal;font-weight:400}.hero-mark{object-fit:contain;align-self:center;width:64px;height:64px}.roadmap,.files-list{gap:10px;display:grid}.calendar-strip{grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px;display:grid}.calendar-strip span{border-radius:var(--radius-2-5);color:var(--muted);text-align:center;font-size:var(--text-xs);padding:6px 4px}.calendar-strip .selected{color:var(--color-on-primary);background:var(--color-primary)}.file-row{grid-template-columns:24px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:4px 0;display:grid}.file-row strong,.file-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.file-row strong{font-size:var(--text-sm)}.file-row small{color:var(--muted);font-size:var(--text-xs)}.upload-zone{border-radius:var(--radius-lg);width:100%;min-height:48px;color:var(--muted);background:var(--surface);font-size:var(--text-xs);border:0;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:10px;padding:16px 0;display:flex}.upload-zone button{border-radius:var(--radius-3);min-width:24px;min-height:24px;color:var(--text);background:var(--chip);font-size:var(--text-xs);border:0;padding:4px 12px;line-height:16px}.image-upload-page{gap:var(--space-7);display:grid}.upload-head{margin-bottom:0}.upload-head small{color:var(--muted);font-size:var(--text-xs);margin-bottom:2px;display:block}.upload-overview{gap:var(--space-7);grid-template-columns:1fr;display:grid}.book-form{gap:var(--space-4) var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.book-form-compact{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width>=561px) and (width<=1180px){.book-form-compact{grid-template-columns:repeat(2,minmax(0,1fr))}}.book-field{gap:var(--space-2);font-size:var(--text-sm);display:grid}.book-save-note{font-size:var(--text-xs);color:var(--muted)}.image-upload-page .upload-overview .card-head{flex-wrap:wrap}.image-upload-page .upload-overview .card-head .form-select{width:240px}.image-upload-page .upload-overview .card-head .form-select>button{min-height:28px;font-size:var(--text-xs);padding:4px 8px}.image-upload-page .upload-overview .card-head .form-select>button>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.form-select{min-width:0;position:relative}.form-select>button{border:1px solid var(--line);border-radius:var(--radius-3);width:100%;min-height:38px;color:var(--text);background:var(--surface);font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.form-select>button:hover{border-color:var(--color-border-strong)}.form-select>button[aria-expanded=true]{border-color:var(--color-focus);box-shadow:var(--focus-ring)}.form-select-options{z-index:30;border:1px solid var(--line);border-radius:var(--radius-3);background:var(--surface);min-width:100%;box-shadow:0 8px 24px var(--line);padding:4px;position:absolute;top:calc(100% + 6px);left:0}.metadata-list .form-select-options{border-color:var(--color-border-strong);background:var(--bg);opacity:1;isolation:isolate;max-height:240px;padding:6px;overflow-y:auto;box-shadow:0 12px 32px #00000029}.metadata-list .form-select>button>span{color:var(--text);font-size:var(--text-sm);text-align:left;background:0 0;place-self:auto;padding:0}.metadata-list .form-select-options button{color:var(--text);background:var(--bg);font-size:var(--text-sm);font-weight:var(--font-regular);opacity:1}.metadata-list .form-select-options button+button{border-top:1px solid var(--line)}.metadata-list .form-select-options button.active,.metadata-list .form-select-options button:hover{color:var(--text);background:var(--chip)}.metadata-list input[type=date]{cursor:pointer}.form-select-options button{border-radius:var(--radius-2);width:100%;min-height:36px;color:var(--text);white-space:nowrap;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:8px;display:flex}.form-select-options button.active,.form-select-options button:hover{background:var(--chip)}.form-select-options button[aria-selected=true]{font-weight:var(--font-semibold)}.image-upload-page .upload-overview .card{overflow:visible}.preview-toolbar{z-index:2;position:relative}.preview-toolbar .form-select>button{min-height:28px;font-size:var(--text-xs);padding:4px 8px}.book-form input:hover,.metadata-list input:hover,.metadata-list textarea:hover{border-color:var(--color-border-strong)}.book-form input,.metadata-list input,.metadata-list textarea{cursor:text}.metadata-list input:focus,.metadata-list textarea:focus{border-color:var(--color-focus);box-shadow:var(--focus-ring);outline:0}.metadata-list input[readonly]{background:var(--panel);color:var(--muted);cursor:default}.image-upload-page .upload-overview{display:block}.image-upload-page .upload-overview>.card{min-height:0;padding-block:var(--space-6)}.image-upload-page .upload-overview .card-head{margin-bottom:var(--space-6)}.image-upload-page .image-workbench-card{background:var(--panel);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-5);flex-direction:column;display:flex}.image-upload-page .book-form label{color:var(--text)}.image-list-summary{color:var(--text);font-size:var(--text-xs);padding:8px}.thumb img{object-fit:cover;width:100%;height:100%}.page-preview{min-width:0;overflow:hidden}.uploaded-preview{background:var(--panel);justify-content:center;align-items:center;height:480px;display:flex;overflow:auto}.uploaded-preview img{object-fit:contain;max-width:90%;max-height:90%;transition:transform var(--duration-normal)}.preview-caption{border-top:1px solid var(--line);font-size:var(--text-xs);overflow-wrap:anywhere;padding:12px 16px}.preview-toolbar{flex-wrap:wrap;gap:8px}.preview-toolbar select{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-3);padding:4px 8px}.metadata-backdrop{z-index:80;background:var(--color-overlay);position:fixed;inset:0}.metadata-list article{grid-template-columns:104px minmax(0,1fr)}.metadata-list input,.metadata-list textarea{border:1px solid var(--line);border-radius:var(--radius-3);background:var(--surface);width:100%;color:var(--text);font:inherit;padding:10px 12px}.metadata-list textarea{resize:vertical;min-height:100px}.sr-only{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}button:disabled{cursor:not-allowed;opacity:.45}@media (width<=880px){.image-upload-page .image-workbench{grid-template-columns:180px minmax(0,1fr)}}@media (width<=560px){.image-upload-page .image-workbench,.book-form-compact{grid-template-columns:1fr}.image-list{max-height:200px}.uploaded-preview{height:360px}}.book-form label{gap:var(--space-2);color:var(--muted);font-size:var(--text-sm);display:grid}.book-form input,.book-form select{border:1px solid var(--line);border-radius:var(--radius-3);width:100%;min-height:38px;color:var(--text);background:var(--surface);outline:0;padding:8px 12px}.book-form input:focus,.book-form select:focus{border-color:var(--color-focus);box-shadow:var(--focus-ring)}.overlay-drawer.metadata-drawer{flex-direction:column;width:min(760px,100vw);display:flex}.metadata-list{border:1px solid var(--line);border-radius:var(--radius-4);min-height:0;overflow:auto}.metadata-list article{gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--line);grid-template-columns:120px minmax(0,1fr);display:grid}.metadata-list article:last-child{border-bottom:0}.metadata-list article>label{min-width:0}.metadata-list strong,.metadata-list small{display:block}.metadata-list small{color:var(--muted);margin-top:4px}.metadata-list p{color:var(--text);line-height:var(--leading-md)}.drawer-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);display:flex}.side-process{gap:var(--space-3);display:grid}.image-rightbar{gap:var(--space-6)}.rail-stats-title{font-size:var(--text-sm);font-weight:var(--font-semibold);margin:0}.rail-stat-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.rail-stat{min-width:0;min-height:112px;padding:var(--space-4);border-radius:var(--radius-2);background:var(--panel);align-content:start;gap:var(--space-2);display:grid}.rail-stat.uploaded{background:var(--color-metric-blue);color:var(--color-metric-text)}.rail-stat>span{font-size:var(--text-xs)}.rail-stat strong,.rail-stat input{font-size:var(--text-2xl);line-height:var(--leading-lg);font-weight:var(--font-semibold);font-variant-numeric:tabular-nums}.rail-stat input{border:0;border-bottom:1px solid var(--line);width:100%;min-width:0;color:var(--text);background:0 0;border-radius:0;padding:0}.rail-stat input::placeholder{font-size:var(--text-sm);font-weight:var(--font-regular)}.rail-stat small{font-size:var(--text-xs);line-height:var(--leading-xs)}.rail-upload-progress{gap:var(--space-3);padding-bottom:var(--space-6);border-bottom:1px solid var(--line);display:grid}.rail-upload-progress>div{font-size:var(--text-xs);justify-content:space-between;gap:8px;display:flex}.rail-upload-progress progress{border-radius:var(--radius-pill);width:100%;height:6px;accent-color:var(--color-primary);border:0;overflow:hidden}.rail-upload-progress progress::-webkit-progress-bar{background:var(--chip)}.rail-upload-progress progress::-webkit-progress-value{background:var(--color-primary)}.rail-upload-progress p{font-size:var(--text-xs);line-height:var(--leading-sm)}.upload-rail-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.upload-rail-heading h2{font-size:var(--text-sm);margin:0}.upload-rail-heading>span{font-size:var(--text-xs);background:var(--chip);border-radius:var(--radius-2);padding:4px 8px}.image-rightbar .side-panel{padding-bottom:var(--space-6);border-bottom:1px solid var(--line)}.rail-process{gap:var(--space-4);display:grid}.rail-process>div{grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:24px;display:grid;position:relative}.rail-process>div:not(:last-child):after{content:"";background:var(--line);width:1px;height:12px;position:absolute;top:28px;left:11px}.rail-process i{border-radius:var(--radius-pill);background:var(--chip);width:24px;height:24px;font-size:var(--text-xs);place-items:center;font-style:normal;display:grid}.rail-process .done i{color:var(--text);background:0 0}.rail-process .current i{background:var(--color-primary);color:var(--color-on-primary)}.rail-process small{font-size:var(--text-xs);color:var(--muted)}.rail-file{align-items:center;gap:12px;min-width:0;display:flex}.rail-file-icon{border-radius:var(--radius-3);background:var(--panel);flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.rail-file>div:last-child{min-width:0}.rail-file strong{font-weight:var(--font-medium);overflow-wrap:anywhere;display:block}.rail-file small{color:var(--muted);margin-top:4px;display:block}.rail-empty{text-align:center;justify-items:center;gap:12px;padding:20px 8px;display:grid}.rail-empty svg{color:var(--muted)}.rail-empty p,.rail-service p{font-size:var(--text-xs);line-height:var(--leading-sm);color:var(--muted)}.rail-check-heading{font-size:var(--text-xs);justify-content:space-between;margin-bottom:12px;display:flex}.rail-checks{gap:16px;display:grid}.rail-checks label{cursor:pointer;align-items:center;gap:10px;display:flex}.rail-checks input{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer;margin:0}.rail-service{border-radius:var(--radius-4);background:var(--panel);gap:8px;margin-top:auto;padding:16px;display:grid}.rail-service>span{align-items:center;gap:8px;display:flex}.rail-service strong{font-size:var(--text-xs);font-weight:var(--font-medium)}.side-process div{align-items:center;gap:var(--space-2);min-height:28px;color:var(--muted);grid-template-columns:24px minmax(0,1fr) auto;display:grid}.side-process i{border-radius:var(--radius-pill);background:var(--chip);width:24px;height:24px;color:var(--muted);font-size:var(--text-xs);place-items:center;font-style:normal;display:inline-grid}.side-process .done,.side-process .current{color:var(--text)}.side-process .done i{color:var(--color-on-primary);background:var(--green-400)}.side-process .current i{color:var(--color-on-primary);background:var(--accent-2)}.side-process small{font-size:var(--text-xs)}.side-stats{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.side-stats article{min-height:64px;padding:var(--space-3);border-radius:var(--radius-3);background:var(--surface);align-content:center;gap:4px;display:grid}.side-stats span{color:var(--muted);font-size:var(--text-xs)}.side-stats strong{font-size:var(--text-lg);line-height:var(--leading-lg)}.image-actions,.image-tools{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.image-workbench-card{min-height:0}.image-actions{min-height:32px;margin-bottom:var(--space-4);align-items:center}.image-actions>span{color:var(--muted);font-size:var(--text-xs);margin-right:auto}.upload-picker{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.upload-picker input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.image-workbench{gap:var(--space-4);grid-template-columns:224px minmax(0,1fr);min-height:480px;display:grid}.image-list{max-height:620px;padding:var(--space-2);border-radius:var(--radius-4);background:var(--surface);align-content:start;gap:2px;display:grid;overflow:auto}.image-list button{align-items:center;gap:var(--space-2);border-radius:var(--radius-3);min-width:0;min-height:42px;color:var(--text);text-align:left;font-size:var(--text-xs);background:0 0;border:0;grid-template-columns:28px 34px minmax(0,1fr) 20px;padding:6px 8px;display:grid}.image-list button:hover,.image-list button.selected{background:var(--chip)}.camera-upload{min-height:64px;margin-top:var(--space-3);border:1px dashed var(--color-border-strong);border-radius:var(--radius-3);color:var(--text);background:var(--surface);cursor:pointer;transition:border-color var(--duration-fast), background var(--duration-fast);align-content:center;place-items:center;gap:6px;padding:10px;display:grid;position:sticky;bottom:0}.camera-upload:hover{border-color:var(--color-focus);background:var(--chip)}.camera-upload>span{min-width:0;color:var(--text);font-size:var(--text-xs);white-space:nowrap;background:0 0;padding:0}.camera-upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.image-list span:not(.thumb):not(.warn){text-overflow:ellipsis;white-space:nowrap;color:var(--muted);overflow:hidden}.thumb{border-radius:var(--radius-1-5);background:linear-gradient(135deg, var(--panel-strong), var(--surface));border:1px solid var(--line);width:28px;height:28px}.image-list svg{color:var(--green-400)}.warn{border-radius:var(--radius-pill);width:16px;height:16px;color:var(--color-on-primary);background:var(--red-400);font-size:10px;font-weight:var(--font-semibold);place-items:center;display:inline-grid}.page-preview{border-radius:var(--radius-4);background:var(--surface);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;display:grid;overflow:hidden}.preview-viewport{isolation:isolate;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.preview-viewport .paper-preview{pointer-events:none}.preview-toolbar{justify-content:center;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);min-height:44px;color:var(--muted);font-size:var(--text-xs);display:flex}.preview-toolbar strong{color:var(--text)}.paper-preview{align-content:center;place-items:center;gap:var(--space-4);min-height:316px;margin:var(--space-5);border-radius:var(--radius-3);color:var(--text);background:linear-gradient(180deg, #f7c66b29, var(--color-surface));text-align:center;display:grid}.paper-preview small{font-size:var(--text-lg);font-weight:var(--font-semibold)}.paper-preview p{max-width:360px;color:var(--muted)}.paper-preview svg{color:var(--accent-2)}@media (width>=881px){.image-upload-page{grid-template-rows:auto auto minmax(400px,1fr);min-height:100%}.image-upload-page .image-workbench{flex:1;min-height:320px}.image-upload-page .image-list{min-height:0;max-height:none}.image-upload-page .page-preview{grid-template-rows:auto minmax(0,1fr) auto}.image-upload-page .uploaded-preview{height:100%;min-height:0}.image-upload-page .paper-preview{min-height:0}}.side-checklist,.side-checklist p{gap:var(--space-2);display:grid}.side-checklist p{margin:0 0 var(--space-2)}.side-checklist strong,.side-checklist small{display:block}.side-checklist small{color:var(--muted)}.side-checklist span{align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--text-sm);display:flex}.side-checklist svg{color:var(--green-400)}.image-tools.compact{margin-top:var(--space-3)}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;padding:12px 0}.data-table th{color:var(--muted);font-weight:400}.data-table tbody tr{transition:background .16s}.data-table tbody tr:hover{background:var(--hover)}.interactive-table tbody tr,.project-hero,.data-table tbody tr{cursor:pointer}.table-person{align-items:center;gap:10px;display:inline-flex}.table-person i{border-radius:var(--radius-pill);background-position:50%;background-size:cover;width:24px;height:24px}.status{color:var(--purple-400)}.status-1{color:var(--green-400)}.status-2{color:var(--blue-400)}.status-3{color:var(--yellow-400)}.status-4{color:var(--muted)}.table-tools{gap:10px;margin-bottom:20px;display:flex}.filter-chip{border-radius:var(--radius-pill);min-height:30px;color:var(--muted);background:var(--chip);border:0;padding:6px 12px}.filter-chip.active{color:var(--text);background:var(--active)}.document-grid,.settings-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:28px;display:grid}.document-row{border-radius:var(--radius-3);min-height:44px;padding:8px;transition:background .16s}.document-row:hover{background:var(--hover)}.empty-state{min-height:190px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:10px;display:grid}.empty-state strong{color:var(--text)}.empty-state small{max-width:260px}.skeleton-list{gap:12px;margin-bottom:20px;display:grid}.skeleton-list span{border-radius:var(--radius-3);background:linear-gradient(90deg, var(--chip), var(--active), var(--chip));background-size:220% 100%;height:38px;animation:1.5s linear infinite shimmer}.form-grid{gap:14px;display:grid}.form-grid label{color:var(--muted);font-size:var(--text-sm);gap:8px;display:grid}.form-grid input,.form-grid select{border:1px solid var(--line);border-radius:var(--radius-3);width:100%;min-height:38px;color:var(--text);background:var(--chip);outline:0;padding:8px 12px}.form-grid input:focus,.form-grid select:focus{border-color:var(--color-focus);box-shadow:var(--focus-ring)}.toggle-row{grid-template-columns:18px 1fr;align-items:center}.toggle-row input{width:16px;min-height:auto}.token-list{gap:12px;display:grid}.token-list p{justify-content:space-between;align-items:center;display:flex}.token-list i{border:1px solid var(--line);border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--accent), var(--accent-2), var(--accent-3));width:58px;height:28px}.overlay-drawer{z-index:var(--z-drawer);border-left:1px solid var(--line);width:min(420px,100vw);height:100vh;color:var(--text);background:var(--bg);box-shadow:var(--shadow-drawer);padding:22px;animation:.22s slideInRight;position:fixed;top:0;right:0}.drawer-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.drawer-head h2{margin:0 0 6px}.drawer-head p{color:var(--muted);font-size:var(--text-sm)}.drawer-section{border-radius:var(--radius-4);background:var(--panel);gap:16px;margin-bottom:24px;padding:18px;display:grid}.drawer-section .stat{border-right:0;width:100%}.activity-feed{gap:4px;margin-bottom:24px;display:grid}.member-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;display:grid}.member-row{border-radius:var(--radius-3);min-height:52px;color:var(--text);text-align:left;background:0 0;border:0;grid-template-columns:24px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:8px;display:grid}.member-row:hover{background:var(--hover)}.member-row strong,.member-row small{display:block}.member-row small{color:var(--muted);margin-top:2px}.primary-action{border-radius:var(--radius-pill);min-height:38px;color:var(--color-on-primary);background:var(--color-primary);border:0;padding:8px 16px}.modal-backdrop{z-index:var(--z-modal);background:var(--color-overlay);place-items:center;padding:24px;animation:.16s fadeIn;display:grid;position:fixed;inset:0}.modal-backdrop.compact{place-items:start center;padding-top:110px}.modal,.modal-card,.command-card{border:1px solid var(--line);border-radius:var(--radius-5);width:min(520px,100%);color:var(--text);background:var(--surface);box-shadow:var(--shadow-float);animation:.18s popIn}.modal,.modal-card{padding:22px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.command-card{padding:8px;overflow:hidden}.command-search{min-height:42px;color:var(--muted);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:0 12px;display:flex}.command-card button{border-radius:var(--radius-3);width:100%;min-height:42px;color:var(--text);background:0 0;border:0;justify-content:space-between;align-items:center;padding:0 12px;display:flex}.command-card button:hover{background:var(--hover)}.toast{z-index:var(--z-toast);border:1px solid var(--line);border-radius:var(--radius-pill);min-height:34px;color:var(--text);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:var(--text-sm);place-items:center;padding:8px 14px;display:grid;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@keyframes slideInRight{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.book-table-scroll,.structure-table-scroll,.managed-detail-table-scroll,.managed-book-table-scroll,.annotation-task-table-scroll,.character-table-wrap,.plot-table-wrap,.language-table-wrap,.theme-table-wrap,.spec-table-scroll,.card.bottom{overscroll-behavior-x:contain;scrollbar-width:thin;min-width:0;max-width:100%;overflow-x:auto}:is(.data-table,.book-original-table,.structure-data-table,.managed-book-table,.annotation-task-table,.character-data-table,.plot-data-table,.language-data-table,.theme-data-table,.spec-table){border-collapse:collapse;width:100%;color:var(--text);font-size:var(--text-xs);font-variant-numeric:tabular-nums;line-height:20px}:is(.data-table,.book-original-table,.structure-data-table,.managed-book-table,.annotation-task-table,.character-data-table,.plot-data-table,.language-data-table,.theme-data-table,.spec-table) thead th{height:42px;color:var(--muted);background:var(--surface);font-size:var(--text-xs);line-height:20px;font-weight:var(--font-regular);text-align:left;vertical-align:middle;white-space:nowrap;padding:9px 12px}:is(.data-table,.book-original-table,.structure-data-table,.managed-book-table,.annotation-task-table,.character-data-table,.plot-data-table,.language-data-table,.theme-data-table,.spec-table) tbody td{vertical-align:middle;min-height:42px;font-size:var(--text-xs);line-height:20px;font-weight:var(--font-regular);padding:9px 12px}:is(.data-table,.book-original-table,.structure-data-table,.managed-book-table,.annotation-task-table,.character-data-table,.plot-data-table,.language-data-table,.theme-data-table,.spec-table) tbody td strong{font-weight:var(--font-medium)}:is(.data-table,.book-original-table,.structure-data-table,.managed-book-table,.annotation-task-table,.character-data-table,.plot-data-table,.language-data-table,.theme-data-table,.spec-table) :is(button,select,input){letter-spacing:0}.plot-data-table thead th:not(:last-child),.language-data-table thead th:not(:last-child),.theme-data-table thead th:not(:last-child){white-space:nowrap}.plot-data-table th:first-child,.plot-data-table td:first-child,.language-data-table th:first-child,.language-data-table td:first-child,.theme-data-table th:first-child,.theme-data-table td:first-child{z-index:3;background:var(--surface);position:sticky;left:0;box-shadow:12px 0 16px -18px #12182380}.plot-data-table thead th:first-child,.language-data-table thead th:first-child,.theme-data-table thead th:first-child{z-index:5}.plot-data-table tbody tr:hover td:first-child,.language-data-table tbody tr:hover td:first-child,.theme-data-table tbody tr:hover td:first-child{background:var(--panel)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}@media (width<=1180px){.app-shell{grid-template-columns:212px minmax(0,1fr)}.rightbar{display:none}.page{width:100%}}@media (width<=880px){.app-shell{border-radius:0;grid-template-columns:1fr;min-height:100dvh}.sidebar{z-index:var(--z-sidebar);width:212px;color:var(--text);background:var(--bg);opacity:0;pointer-events:none;box-shadow:var(--shadow-mobile-nav);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar-open .sidebar{opacity:1;pointer-events:auto;transform:translate(0)}.sidebar-open .sidebar-backdrop{z-index:var(--z-sidebar-overlay);background:var(--color-nav-overlay);border:0;display:block;position:fixed;inset:0}.workspace{height:100dvh}.topbar,.project-stats,.tabs-row{flex-wrap:wrap}.metric-grid,.dashboard-grid,.project-grid,.document-grid,.settings-grid,.upload-overview{grid-template-columns:1fr}.image-workbench{grid-template-columns:minmax(180px,.65fr) minmax(320px,1.35fr)}.system-grid{grid-template-columns:1fr}.secondary-metrics{grid-template-columns:repeat(3,minmax(150px,1fr));overflow-x:auto}.project-stats{align-items:stretch}.stat{border-right:0;width:calc(50% - 14px)}}@media (width<=560px){.page,.topbar{padding:18px}.metric-grid{gap:16px}.upload-head,.upload-head .toolbar,.image-actions{align-items:stretch}.upload-head{gap:var(--space-3);display:grid}.book-form,.image-workbench{grid-template-columns:1fr}.metadata-list article{gap:var(--space-2);grid-template-columns:1fr}.metadata-list span{justify-self:start}.image-actions>span{width:100%;margin-right:0}.image-list{max-height:260px}.project-hero,.donut-wrap{grid-template-columns:1fr;display:grid}.toolbar{width:100%}.topbar{flex:none;align-items:flex-start}.crumbs>span{display:none}.tabs-row{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.tabs-row>span,.tabs-row .pill-button,.tabs-row .icon-button{display:none}.project-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%;display:grid}.stat{width:auto;min-width:0;padding-right:0}.project-hero{align-items:flex-start}.hero-mark{width:48px;height:48px}.card.bottom{overflow-x:auto}.data-table{min-width:620px}.member-grid,.specimen-form,.swatch-grid{grid-template-columns:1fr}.record-list button{grid-template-columns:28px minmax(0,1fr) 16px}.record-list .status{display:none}.search-box{flex:1}.plot-head-actions{flex-direction:column;align-items:stretch;width:100%}.plot-head-actions .character-status-select{width:100%}.plot-overview{grid-template-columns:1fr}.plot-run-state{border-right:0;border-bottom:1px solid var(--line)}.plot-overview dl{grid-template-columns:repeat(2,minmax(0,1fr))}.plot-overview dl>div:nth-child(2){border-right:0}.plot-overview dl>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.plot-stage-track{grid-template-columns:1fr;gap:0}.plot-stage-track article,.plot-stage-track article:nth-child(3n),.plot-stage-track article:nth-child(-n+3){border-bottom:0;border-right:0;margin-bottom:0;padding:0 8px}.plot-stage-track article>p{min-height:0;padding-left:44px}.plot-stage-track article footer{margin:10px 0 16px 44px}.plot-chapter-layout{grid-template-columns:1fr}.plot-chapter-list{border-right:0;border-bottom:1px solid var(--line);max-height:250px}.plot-chapter-summary{grid-template-columns:1fr}.plot-chapter-summary>div{border-right:0;border-bottom:1px solid var(--line)}.plot-chapter-summary>div:last-child{border-bottom:0}.plot-event-list article{grid-template-columns:26px minmax(0,1fr)}.plot-event-list .evidence-link{grid-column:2;justify-self:start}.language-head-actions{flex-direction:column;align-items:stretch;width:100%}.language-overview{grid-template-columns:1fr}.language-run-state{border-right:0;border-bottom:1px solid var(--line)}.language-overview dl{grid-template-columns:repeat(2,minmax(0,1fr))}.language-overview dl>div:nth-child(2){border-right:0}.language-overview dl>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.language-style-grid{grid-template-columns:1fr}.language-style-grid article,.language-style-grid article:nth-child(2n),.language-style-grid article:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--line)}.language-style-grid article:last-child{border-bottom:0}.theme-head-actions{flex-direction:column;align-items:stretch;width:100%}.theme-overview{grid-template-columns:1fr}.theme-run-state{border-right:0;border-bottom:1px solid var(--line)}.theme-overview dl{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-overview dl>div:nth-child(2){border-right:0}.theme-overview dl>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.theme-card-grid{grid-template-columns:1fr}.theme-card-grid article,.theme-card-grid article:nth-child(2n),.theme-card-grid article:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--line)}.theme-card-grid article:last-child{border-bottom:0}}@media (width<=880px){:is(.data-table,.book-original-table,.structure-data-table,.managed-book-table,.annotation-task-table,.character-data-table,.plot-data-table,.language-data-table,.theme-data-table,.spec-table) thead th,:is(.data-table,.book-original-table,.structure-data-table,.managed-book-table,.annotation-task-table,.character-data-table,.plot-data-table,.language-data-table,.theme-data-table,.spec-table) tbody td{padding-left:10px;padding-right:10px}.plot-data-table{min-width:1080px}.language-data-table{min-width:1540px}.theme-data-table{min-width:1480px}.chapter-theme-table{min-width:1160px}.plot-data-table th:first-child,.plot-data-table td:first-child,.language-data-table th:first-child,.language-data-table td:first-child,.theme-data-table th:first-child,.theme-data-table td:first-child{width:150px;min-width:150px;max-width:150px}.plot-data-table th:last-child,.plot-data-table td:last-child,.language-data-table th:last-child,.language-data-table td:last-child,.theme-data-table th:last-child,.theme-data-table td:last-child{background:var(--surface);box-shadow:none;position:static}.table-pagination{min-width:100%}}.managed-book-status.pending{color:#a56c00}.managed-book-status.pending i{background:#ffc555}.managed-book-status.undone{color:var(--muted)}.managed-book-status.undone i{background:#b9bdc5}.book-save-note.error{color:#d64545}.filter-words-note{color:#b8860b}.filter-hit{color:inherit;background:#ffe9a8;border-radius:3px;padding:0 2px;box-shadow:inset 0 -1px #e0a800}.filter-words-field{gap:var(--space-2);font-size:var(--text-sm);display:grid}.filter-words-field textarea{border:1px solid var(--line);border-radius:var(--radius-3);min-height:120px;color:var(--text);background:var(--surface);font-size:var(--text-sm);resize:vertical;padding:8px 12px;font-family:inherit}.filter-words-field textarea:focus{border-color:var(--color-focus);box-shadow:var(--focus-ring);outline:none}.toc-upload-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(132px,1fr));align-items:start;display:grid}.toc-upload-grid>p{grid-column:1/-1;margin:0}.toc-upload-grid figure{padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--surface);justify-items:center;gap:6px;margin:0;display:grid;position:relative}.toc-upload-grid .thumb{width:100%;height:120px}.toc-upload-grid figcaption{text-overflow:ellipsis;white-space:nowrap;text-align:center;width:100%;color:var(--muted);font-size:var(--text-xs);overflow:hidden}.toc-upload-grid .icon-button,.toc-upload-grid .warn{position:absolute;top:4px}.toc-upload-grid .icon-button{right:4px}.toc-upload-grid .warn{left:4px}.login-shell{min-height:100vh;padding:var(--space-6);background:var(--color-canvas);color:var(--color-text);font-size:var(--text-sm);line-height:var(--leading-sm);justify-content:center;align-items:center;display:flex}.login-card{gap:var(--space-4);width:100%;max-width:360px;padding:var(--space-8);border:.5px solid var(--color-border);border-radius:var(--radius-4);background:var(--color-surface);box-shadow:var(--shadow-float);flex-direction:column;display:flex}.login-brand{align-items:center;gap:var(--space-3);display:flex}.login-brand img{object-fit:contain;width:40px;height:40px}.login-brand div{flex-direction:column;display:flex}.login-brand strong{font-size:var(--text-md);line-height:var(--leading-md);font-weight:var(--font-semibold)}.login-brand span{color:var(--color-text-secondary);font-size:var(--text-xs);line-height:var(--leading-xs)}.login-field{gap:var(--space-1-5);flex-direction:column;display:flex}.login-field span{color:var(--color-text-secondary);font-size:var(--text-xs);line-height:var(--leading-xs)}.login-field input{height:38px;padding:0 var(--space-3);border:.5px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface-subtle);color:var(--color-text)}.login-field input:focus{border-color:var(--color-focus);background:var(--color-surface)}.login-error{padding:var(--space-2) var(--space-3);border-radius:var(--radius-2);color:#c0392b;font-size:var(--text-xs);line-height:var(--leading-xs);background:#ff8a8a24;margin:0}.login-submit{border-radius:var(--radius-2);background:var(--color-primary);height:38px;color:var(--color-on-primary);font-size:var(--text-sm);font-weight:var(--font-medium);border:0}.login-submit:hover:not(:disabled){opacity:.88}.login-note{color:var(--color-text-tertiary);font-size:var(--text-xs);line-height:var(--leading-xs);text-align:center;margin:0}.sidebar-user{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);display:flex}.sidebar-user-info{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar-user-info strong,.sidebar-user-info span{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);line-height:var(--leading-xs);overflow:hidden}.sidebar-user-info strong{font-weight:var(--font-semibold)}.sidebar-user-info span{color:var(--muted)}.sidebar-logout{border-radius:var(--radius-2);width:26px;height:26px;color:var(--muted);background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.sidebar-logout:hover{background:var(--hover);color:var(--text)}.logs-page{gap:var(--space-4);flex-direction:column;display:flex}.logs-toolbar{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.logs-filter{gap:var(--space-1-5);flex-direction:column;display:flex}.logs-filter span{color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-xs)}.logs-filter input{width:180px;height:32px;padding:0 var(--space-3);border:.5px solid var(--line);border-radius:var(--radius-2);background:var(--surface);color:var(--text)}.logs-search{height:32px;padding:0 var(--space-5);border-radius:var(--radius-2);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--text-sm);border:0}.logs-search:hover{opacity:.88}.logs-count{color:var(--muted);font-size:var(--text-xs);margin-left:auto}.logs-error{color:#c0392b;font-size:var(--text-xs);margin:0}.logs-table-wrap{border:.5px solid var(--line);border-radius:var(--radius-3);overflow:auto}.logs-table{border-collapse:collapse;width:100%;font-size:var(--text-xs)}.logs-table th,.logs-table td{padding:var(--space-2-5) var(--space-3);border-bottom:.5px solid var(--line);text-align:left;white-space:nowrap}.logs-table th{background:var(--panel);color:var(--muted);font-weight:var(--font-medium);position:sticky;top:0}.logs-table tbody tr:hover td{background:var(--hover)}.logs-table tr:last-child td{border-bottom:0}.logs-empty{padding:var(--space-8) 0;color:var(--muted);text-align:center}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.logs-pager{align-items:center;gap:var(--space-3);color:var(--muted);font-size:var(--text-xs);display:flex}.logs-pager button{height:28px;padding:0 var(--space-3);border:.5px solid var(--line);border-radius:var(--radius-2);background:var(--surface);color:var(--text)}.logs-pager button:hover:not(:disabled){background:var(--hover)}.image-list-row{align-items:center;display:flex}.image-list-row>button:first-child{flex:1;min-width:0}.image-list-row .row-delete{border-radius:var(--radius-2);width:24px;height:24px;min-height:0;color:var(--muted);background:0 0;border:0;flex:none;grid-template-columns:none;place-items:center;padding:0;display:grid}.image-list-row .row-delete:hover{color:var(--red-400);background:var(--chip)}.image-list-row .row-delete svg{color:inherit}.ebook-toc .filter-hit-badge{color:var(--red-400);flex:none;display:inline-flex}.image-list-row>button:first-child{grid-template-columns:28px 34px minmax(0,1fr)}.image-list-row>.warn,.image-list-row>svg{flex:none}.image-list-row>button.warn-button{cursor:pointer;min-height:0;color:var(--color-on-primary);background:var(--red-400);border:0;grid-template-columns:none;padding:0;font-size:10px}.page-confirm-modal .page-confirm-preview{max-height:260px;margin-top:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--chip);place-items:center;display:grid;overflow:auto}.page-confirm-modal .page-confirm-preview img{object-fit:contain;max-width:100%;max-height:258px}.ebook-spread article .page-text-edit{border-radius:var(--radius-2);color:#fff;min-height:28px;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;background:#1677d2;border:1px solid #0000;padding:4px 12px;transition:background .14s,box-shadow .14s;position:absolute;bottom:20px;right:20px;box-shadow:0 1px 4px #1677d24d}.ebook-spread article .page-text-edit:hover{background:#0f63b0;box-shadow:0 2px 8px #1677d266}.page-text-editor textarea{border:1px solid color-mix(in srgb, var(--text) 16%, transparent);border-radius:var(--radius-2);color:#171717;resize:vertical;background:#fff;width:100%;min-height:380px;padding:12px 14px;font-family:inherit;font-size:16px;line-height:2}.page-text-editor .page-text-editor-note{color:#00000073;font-family:var(--font-sans);font-size:var(--text-xs);line-height:var(--leading-sm);text-indent:0;margin:8px 0 0}.ebook-spread article .page-text-actions{font-family:var(--font-sans);justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.ebook-spread article .page-text-actions .pill-button{min-height:30px;font-size:var(--text-xs);padding:6px 14px}.structure-tab-filter{width:132px;min-width:120px}.structure-tab-filter .form-select>button{border:1px solid var(--line);border-radius:var(--radius-2);background:var(--surface);min-height:32px;font-size:var(--text-xs);padding:5px 9px}
