.renderer{background:var(--color-bg);height:100dvh;color:var(--color-text);flex-direction:column;display:flex}.renderer__toolbar{align-items:center;gap:var(--space-2) var(--space-5);padding:var(--space-2) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;display:flex}.renderer__doc{align-items:center;gap:var(--space-3);flex:1;min-width:240px;display:flex}.renderer__back{border:1px solid var(--color-border);border-radius:var(--radius-md);width:28px;height:28px;color:var(--color-text-muted);flex-shrink:0;justify-content:center;align-items:center;font-size:16px;text-decoration:none;display:inline-flex}.renderer__back:hover{background:var(--color-surface-muted);color:var(--color-text);text-decoration:none}.renderer__doc-meta{flex-direction:column;min-width:0;display:flex}.renderer__doc-title{font-weight:600;font-size:var(--font-size-lg);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.renderer__doc-id{color:var(--color-text-subtle);font-size:var(--font-size-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.renderer__pager,.renderer__zoom{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.renderer__pager button,.renderer__zoom button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);cursor:pointer;width:28px;height:28px;padding:0;font-size:15px;line-height:1}.renderer__pager button:hover:not(:disabled),.renderer__zoom button:hover:not(:disabled){background:var(--color-surface-muted)}.renderer__pager button:disabled,.renderer__zoom button:disabled{color:var(--color-text-subtle);cursor:default}.renderer__pager-label{color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap;padding:0 var(--space-2)}.renderer__zoom-value{width:auto;min-width:52px;padding:0 var(--space-2);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.renderer__search{gap:var(--space-2);flex-shrink:0;width:300px;display:flex}.renderer__search input{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);font-size:var(--font-size-md);flex:1;min-width:0}.renderer__search input:focus{outline:2px solid var(--color-accent-tint-strong);border-color:var(--color-accent)}.renderer__search button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);cursor:pointer;font-weight:600}.renderer__search button:hover:not(:disabled){background:var(--color-surface-muted)}.renderer__search button:disabled{color:var(--color-text-subtle);cursor:default}@media (width<=1280px){.renderer__toolbar{gap:var(--space-2) var(--space-4)}.renderer__search{width:260px}}@media (width<=1100px){.renderer__search{flex:1;width:auto;min-width:220px}}.renderer__body{flex:1;min-height:0;display:flex}.renderer__viewport{background:var(--color-surface-muted);flex:1;min-width:0;display:flex;overflow:hidden}.renderer__viewport-placeholder{padding:var(--space-6);color:var(--color-text-muted);text-align:center;max-width:480px;margin:auto}.renderer__status-detail{color:var(--color-text-subtle);font-size:var(--font-size-sm);word-break:break-word}.renderer__status-warnings{text-align:left;color:var(--color-warning);font-size:var(--font-size-sm);padding-left:var(--space-5)}.renderer__status-actions{margin-top:var(--space-4);justify-content:center;gap:var(--space-3);display:flex}.renderer__status-actions button,.renderer__status-actions a{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);font-weight:600;font-size:var(--font-size-md);cursor:pointer;text-decoration:none}.renderer__status-actions button:hover,.renderer__status-actions a:hover{background:var(--color-surface-muted);text-decoration:none}.renderer__pdf-scroll{min-width:0;padding:var(--space-5);flex:1;overflow:auto}.renderer__pages{align-items:center;gap:var(--space-4);flex-direction:column;min-width:min-content;display:flex}.renderer__page{box-shadow:var(--shadow-1);background:#fff;flex-shrink:0;position:relative}.renderer__page canvas{display:block}.renderer__page-image{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.renderer__page--pending{background:var(--color-surface);border:1px dashed var(--color-border);place-items:center;display:grid}.renderer__page--pending canvas,.renderer__page--pending .renderer__page-image{display:none}.renderer__page-overlay{pointer-events:none;position:absolute;inset:0}.renderer__highlight-box{outline:1.5px solid var(--color-accent);background:#ffd54f29;border-radius:2px;position:absolute}.renderer__page-overlay--fuzzy{border:3px dashed var(--color-warning)}.renderer__page-banner{top:var(--space-2);max-width:calc(100% - var(--space-6));padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-1);font-size:var(--font-size-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:600;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.renderer__page-banner--fuzzy{border:1px solid var(--color-warning);color:var(--color-warning)}.renderer__page-banner--page_only{border:1px solid var(--color-accent);color:var(--color-accent)}.renderer__anchor-notice{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-warning);border-radius:var(--radius-md);background:var(--color-warning-tint);color:var(--color-warning);font-size:var(--font-size-sm)}.renderer__artifact-preview{max-width:100%;margin:0 0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;display:block}.renderer__page-pending-label{color:var(--color-text-subtle);font-size:var(--font-size-xl);font-variant-numeric:tabular-nums}.renderer__page-error{color:var(--color-error);font-size:var(--font-size-sm);padding:var(--space-3);text-align:center}.renderer__sidebar{border-left:1px solid var(--color-border);background:var(--color-surface);width:300px;padding:var(--space-4);flex-shrink:0;overflow-y:auto}@media (width<=1280px){.renderer__sidebar{width:260px}}@media (width>=1680px){.renderer__sidebar{width:340px}}.renderer__sidebar-title{margin:0 0 var(--space-3);font-size:var(--font-size-md);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-weight:600}.renderer__sidebar-empty{color:var(--color-text-subtle);font-size:var(--font-size-md);margin:0}.renderer__sidebar-subtitle{margin:var(--space-4) 0 var(--space-2);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-weight:600}.renderer__meta dl{margin:0 0 var(--space-3)}.renderer__meta dt{color:var(--color-text-subtle);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.03em}.renderer__meta dd{margin:2px 0 var(--space-3);font-size:var(--font-size-md);word-break:break-word}.renderer__warnings{margin:0 0 var(--space-3);padding-left:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-muted)}.renderer__warnings li[data-severity=error]{color:var(--color-error)}.renderer__warnings li[data-severity=warning]{color:var(--color-warning)}.renderer__sidebar-section{margin-bottom:var(--space-5)}.renderer__sidebar-section:last-child{margin-bottom:0}.renderer__search-count{margin:0 0 var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm)}.renderer__search-error p{margin:0 0 var(--space-1);color:var(--color-error);font-size:var(--font-size-md)}.renderer__search-retry{margin-top:var(--space-2);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);cursor:pointer;font-weight:600}.renderer__search-retry:hover{background:var(--color-surface-muted)}.renderer__search-results{gap:var(--space-3);flex-direction:column;display:flex}.renderer__search-group ul{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.renderer__search-group-title{margin:0 0 var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600}.renderer__search-result{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;color:var(--color-text);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);cursor:pointer;line-height:1.4;display:block}.renderer__search-result:hover{background:var(--color-surface-muted)}.renderer__search-result.is-selected{border-color:var(--color-accent);background:var(--color-accent-tint)}.renderer__search-snippet{overflow-wrap:anywhere}.renderer__search-snippet mark{background:var(--color-warning-tint);color:inherit;border-radius:2px;padding:0 1px;font-weight:600}.renderer__rail-filters{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.renderer__rail-search{width:100%;height:30px;font-size:var(--font-size-sm)}.renderer__rail-facets,.renderer__search-facets{gap:var(--space-2);flex-wrap:wrap;display:flex}.renderer__search-facets{margin-bottom:var(--space-2)}.renderer__rail-facet{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);border-radius:var(--radius-pill,999px);padding:2px var(--space-3);font-size:var(--font-size-sm);cursor:pointer}.renderer__rail-facet:hover:not(:disabled){background:var(--color-surface-muted)}.renderer__rail-facet.is-active{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-tint)}.renderer__fragment-text{white-space:pre-wrap;display:block}.renderer__show-all{margin-top:var(--space-1);color:var(--color-accent);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.renderer__show-all:hover:not(:disabled){background:0 0;text-decoration:underline}.renderer__rail-toggle{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);padding:0 var(--space-3);height:28px;font-size:var(--font-size-sm);cursor:pointer;flex-shrink:0;font-weight:600}.renderer__rail-toggle:hover{background:var(--color-surface-muted)}.renderer__rail-toggle.is-active{border-color:var(--color-accent);color:var(--color-accent)}.renderer__rail{border-right:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;flex-shrink:0;width:320px;min-height:0;display:flex}@media (width<=1280px){.renderer__rail{width:280px}}.renderer__rail-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.renderer__rail-tabs{gap:var(--space-1);display:flex}.renderer__rail-tab{color:var(--color-text-muted);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:1px solid #0000;font-weight:600}.renderer__rail-tab:hover{background:var(--color-surface-muted)}.renderer__rail-tab.is-active{background:var(--color-accent-tint);color:var(--color-accent)}.renderer__rail-title{font-size:var(--font-size-md);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:0;font-weight:600}.renderer__rail-count{color:var(--color-text-subtle);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.renderer__rail-empty{padding:var(--space-4);color:var(--color-text-subtle);font-size:var(--font-size-md);margin:0}.renderer__rail-scroll{min-height:0;padding:var(--space-2) 0 var(--space-4);flex:1;overflow-y:auto}.renderer__rail-group{margin-top:var(--space-2)}.renderer__rail-group-head{z-index:1;justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-4);background:var(--color-surface-muted);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600;display:flex;position:sticky;top:0}.renderer__rail-group-head.is-onscreen{color:var(--color-accent)}.renderer__rail-onscreen{font-size:var(--font-size-xs,11px);text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);font-weight:600}.renderer__rail-list{margin:0;padding:0;list-style:none}.renderer__rail-item{gap:var(--space-1);text-align:left;border:none;border-bottom:1px solid var(--color-border);width:100%;color:var(--color-text);padding:var(--space-2) var(--space-4);cursor:pointer;background:0 0;border-left:3px solid #0000;flex-direction:column;display:flex}.renderer__rail-item:hover{background:var(--color-surface-muted)}.renderer__rail-item.is-selected{background:var(--color-accent-tint);border-left-color:var(--color-accent)}.renderer__rail-item-meta{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.renderer__rail-chip{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:lowercase;font-weight:600}.renderer__rail-chip[data-quality=exact]{color:var(--color-accent)}.renderer__rail-section{font-size:var(--font-size-sm);color:var(--color-text-subtle);font-variant-numeric:tabular-nums}.renderer__rail-status{font-size:var(--font-size-xs,11px);text-transform:uppercase;letter-spacing:.03em;color:var(--color-warning);font-weight:600}.renderer__rail-status[data-status=stale]{color:var(--color-error)}.renderer__rail-item-text{font-size:var(--font-size-sm);color:var(--color-text);-webkit-line-clamp:4;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.renderer__outline{padding:var(--space-1) 0;margin:0;list-style:none}.renderer__outline-item{align-items:baseline;gap:var(--space-2);text-align:left;width:100%;color:var(--color-text);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-4);cursor:pointer;background:0 0;border:none;border-left:3px solid #0000;line-height:1.4;display:flex}.renderer__outline-item:hover{background:var(--color-surface-muted)}.renderer__outline-item.is-selected{background:var(--color-accent-tint);border-left-color:var(--color-accent)}.renderer__outline-item.is-onscreen .renderer__outline-page{color:var(--color-accent)}.renderer__outline-item--heading .renderer__outline-title{font-weight:600}.renderer__outline-item--landmark .renderer__outline-title{color:var(--color-text-muted);font-style:italic}.renderer__outline-title{font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.renderer__outline-item.is-selected .renderer__outline-title{text-overflow:clip;white-space:normal;overflow:visible}.renderer__outline-page{font-size:var(--font-size-sm);color:var(--color-text-subtle);font-variant-numeric:tabular-nums;flex-shrink:0}.renderer__page-anchors{pointer-events:none;position:absolute;inset:0}.renderer__page-anchors .renderer__page-anchor{cursor:pointer;pointer-events:auto;background:0 0;border:1px solid #0000;border-radius:2px;padding:0;transition:background .1s,border-color .1s;position:absolute}.renderer__page-anchors .renderer__page-anchor:hover{border-color:var(--color-accent);background:#3884ff24}.renderer__page-anchors .renderer__page-anchor.is-selected{border-color:var(--color-accent);background:#3884ff1a}.renderer__page-anchors .renderer__page-anchor:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.renderer__actions-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.renderer__actions-buttons button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);cursor:pointer;font-weight:600}.renderer__actions-buttons button:hover:not(:disabled){background:var(--color-surface-muted)}.renderer__actions-buttons button:disabled{color:var(--color-text-subtle);cursor:default}.renderer__actions-hint{margin:var(--space-3) 0 0;color:var(--color-text-subtle);font-size:var(--font-size-sm)}.renderer__actions-buttons button.is-active{border-color:var(--color-accent);color:var(--color-accent)}.renderer__actions-buttons button.is-danger{border-color:var(--color-error);color:var(--color-error)}.renderer__actions-buttons button.is-primary{border-color:var(--color-accent);background:var(--color-accent-tint);color:var(--color-accent)}.renderer__actions-form{gap:var(--space-2);margin-top:var(--space-3);align-items:center;display:flex}.renderer__actions-form--column{flex-direction:column;align-items:stretch}.renderer__actions-form select,.renderer__actions-form textarea{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);flex:1;font-family:inherit}.renderer__actions-form textarea{resize:vertical;min-height:96px;line-height:1.4}.renderer__actions-error{margin:var(--space-2) 0 0;color:var(--color-error);font-size:var(--font-size-sm)}.renderer__draw-overlay{z-index:5;cursor:crosshair;touch-action:none;background:color-mix(in srgb, var(--color-accent) 6%, transparent);position:absolute;inset:0}.renderer__draw-rect{border:2px solid var(--color-accent);background:color-mix(in srgb, var(--color-accent) 18%, transparent);pointer-events:none;position:absolute}.renderer__draw-banner{z-index:6;justify-content:space-between;align-items:center;gap:var(--space-3);margin:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-1);font-size:var(--font-size-sm);font-weight:600;display:flex;position:sticky;top:0}.renderer__draw-banner--error{border-color:var(--color-danger);color:var(--color-danger)}.renderer__rail-status[data-status=redacted]{color:var(--color-danger);border-color:var(--color-danger)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f5f7fa;--color-surface:#fff;--color-surface-muted:#eef1f6;--color-surface-raised:#fff;--color-border:#e4e8ef;--color-border-strong:#c8d0db;--color-text:#141925;--color-text-muted:#586173;--color-text-subtle:#8a93a3;--color-accent:#2f6bed;--color-accent-strong:#1f53cc;--color-on-accent:#fff;--color-success:#15924a;--color-warning:#c2700c;--color-error:#d6392b;--color-error-bg:#fdecec;--color-accent-tint:#2f6bed17;--color-accent-tint-strong:#2f6bed2e;--color-success-tint:#15924a1a;--color-warning-tint:#c2700c1f;--color-scrim:#11182780;--gradient-brand:linear-gradient(135deg, #2f6bed 0%, #5b8def 100%);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-sm:6px;--radius-md:9px;--radius-lg:14px;--radius-pill:999px;--header-height:60px;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-size-sm:12.5px;--font-size-md:14px;--font-size-lg:16px;--font-size-xl:20px;--shadow-1:0 1px 2px #141e320f, 0 1px 3px #141e320d;--shadow-2:0 6px 16px #141e321f;--shadow-lg:0 18px 48px #141e3238}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0c0f16;--color-surface:#161b24;--color-surface-muted:#1f2531;--color-surface-raised:#1b212c;--color-border:#2a313d;--color-border-strong:#3b4452;--color-text:#e8ebf1;--color-text-muted:#a3acbb;--color-text-subtle:#6b7484;--color-accent:#5d9bff;--color-accent-strong:#87b6ff;--color-on-accent:#08101f;--color-success:#4fc26d;--color-warning:#e6a155;--color-error:#ec6f63;--color-error-bg:#ec6f6324;--color-accent-tint:#5d9bff26;--color-accent-tint-strong:#5d9bff47;--color-success-tint:#4fc26d26;--color-warning-tint:#e6a15529;--color-scrim:#000000a6;--gradient-brand:linear-gradient(135deg, #3f7ae0 0%, #6aa0ff 100%);--shadow-1:0 1px 2px #0006;--shadow-2:0 6px 18px #0000008c;--shadow-lg:0 20px 52px #000000b3}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-md);-webkit-font-smoothing:antialiased;line-height:1.45}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-strong);text-decoration:underline}code{font-family:var(--font-mono);background:var(--color-surface-muted);border-radius:var(--radius-sm);padding:1px 4px;font-size:.9em}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-shell__topbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--space-2) var(--space-5);min-height:var(--header-height);align-items:center;gap:var(--space-3) var(--space-5);z-index:10;box-shadow:var(--shadow-1);flex-wrap:wrap;display:flex;position:sticky;top:0}.app-shell__brand{align-items:center;gap:var(--space-2);font-size:var(--font-size-lg);letter-spacing:-.01em;white-space:nowrap;flex-shrink:0;font-weight:700;display:inline-flex}.app-shell__logo{border-radius:var(--radius-md);background:var(--gradient-brand);color:#fff;width:30px;height:30px;box-shadow:var(--shadow-1);place-items:center;font-size:15px;display:inline-grid}.app-shell__brand-name{background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.app-shell__nav{gap:var(--space-1);flex:1;display:flex}.app-shell__nav a{color:var(--color-text-muted);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);font-weight:500;text-decoration:none;transition:background .12s,color .12s}.app-shell__nav a:hover{background:var(--color-surface-muted);color:var(--color-text)}.app-shell__nav a.is-active{background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-1)}.app-shell__controls{align-items:center;gap:var(--space-3);flex-shrink:0;display:inline-flex}.theme-toggle{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;width:34px;height:34px;padding:0;font-size:16px;line-height:1;transition:background .12s}.theme-toggle:hover{background:var(--color-surface-muted)}.project-switcher{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);flex-shrink:1;margin:0;display:inline-flex}.project-switcher__label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-subtle);font-size:11px;font-weight:600}.project-switcher__select{position:relative}.project-switcher__select:after{content:"▾";pointer-events:none;color:var(--color-text-muted);font-size:11px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.project-switcher select{min-width:160px;max-width:280px;height:34px;padding:0 26px 0 var(--space-3);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface-muted);border-color:var(--color-border);border-radius:var(--radius-pill);appearance:none;cursor:pointer;font-weight:600}.lang-toggle{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);flex-shrink:0;display:flex;overflow:hidden}.lang-toggle__btn{color:var(--color-text-muted);font-weight:600;font-size:var(--font-size-sm);padding:var(--space-1) var(--space-3);cursor:pointer;background:0 0;border:none;border-radius:0}.lang-toggle__btn:hover{background:var(--color-surface-muted);color:var(--color-text)}.lang-toggle__btn.is-active{background:var(--color-accent);color:var(--color-on-accent)}.user-menu{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);flex-shrink:0;display:inline-flex}.user-menu__avatar{border-radius:var(--radius-pill);background:var(--color-accent-tint-strong);width:28px;height:28px;color:var(--color-accent-strong);font-weight:700;font-size:var(--font-size-sm);place-items:center;display:inline-grid}.user-menu__name{color:var(--color-text);font-weight:600}.user-menu button{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);cursor:pointer;font-weight:600}.user-menu button:hover{background:var(--color-surface-muted)}.app-shell__main{padding:var(--space-5);flex:1;width:100%;max-width:1440px;margin:0 auto}.auth-loading,.login-page{min-height:100vh;padding:var(--space-5);background:linear-gradient(135deg, #3b82f61f, transparent 42%), linear-gradient(315deg, #10b9811f, transparent 38%), var(--color-bg);place-items:center;display:grid}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(100%,420px);box-shadow:var(--shadow-2);padding:var(--space-5)}.login-card__brand{color:var(--color-accent);font-size:var(--font-size-sm);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.login-card h1{margin:var(--space-2) 0 var(--space-1);font-size:26px}.login-card p{margin:0 0 var(--space-4);color:var(--color-text-muted)}.page-header{margin-bottom:var(--space-5)}.page-header h1{margin:0 0 var(--space-1) 0;letter-spacing:-.02em;font-size:24px;font-weight:700}.page-header p{color:var(--color-text-muted);margin:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-1)}.card+.card{margin-top:var(--space-4)}.metric-grid{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.grid-3{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.metric{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-5);box-shadow:var(--shadow-1);transition:box-shadow .14s,transform .14s;position:relative;overflow:hidden}.metric:before{content:"";background:var(--gradient-brand);width:4px;position:absolute;top:0;bottom:0;left:0}.metric:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.metric__label{color:var(--color-text-muted);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.metric__value{margin-top:var(--space-2);letter-spacing:-.02em;font-size:30px;font-weight:700}.metric--alert:before{background:var(--color-error)}.metric--warn:before{background:var(--color-warning)}.metric--ok:before{background:var(--color-success)}.metric__sub{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm)}.observe-list{gap:var(--space-3);flex-direction:column;display:flex}.observe-row{justify-content:space-between;align-items:flex-start;gap:var(--space-2) var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.observe-row:last-child{border-bottom:none;padding-bottom:0}.observe-row__title{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.severity-badges{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.status-badge{align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);border:1px solid;border-radius:999px;padding:2px 8px;font-weight:500;display:inline-flex}.status-badge--ok{color:var(--color-success);background:var(--color-success-tint)}.status-badge--warn{color:var(--color-warning);background:var(--color-warning-tint)}.status-badge--error{color:var(--color-error);background:var(--color-error-bg)}.status-badge--neutral{color:var(--color-text-muted);background:var(--color-surface-muted);border-color:var(--color-border)}.badge{margin-left:var(--space-2);font-size:var(--font-size-sm);border:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text-muted);border-radius:999px;align-items:center;padding:1px 6px;display:inline-flex}.badge--info{color:var(--color-accent);border-color:var(--color-accent);background:var(--color-accent-tint)}.badge--danger{color:var(--color-error);border-color:var(--color-error);background:var(--color-error-bg)}button,.button{appearance:none;border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font:inherit;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background .12s,border-color .12s}button:hover:not(:disabled),.button:hover:not(:disabled){background:var(--color-surface-muted)}button:disabled{cursor:not-allowed;opacity:.5}button.is-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);font-weight:600}button.is-primary:hover:not(:disabled){background:var(--color-accent-strong);border-color:var(--color-accent-strong)}button.is-danger{border-color:var(--color-error);color:var(--color-error)}button.is-danger:hover:not(:disabled){background:var(--color-error-bg)}a.button{align-items:center;gap:var(--space-1);line-height:1.1;text-decoration:none;display:inline-flex}a.button.is-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);font-weight:600}a.button.is-primary:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.button--ghost{background:0 0}.doc-header-actions{gap:var(--space-2);align-items:center;display:inline-flex}input,select,textarea{font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:6px 10px}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-width:0}input[type=file]{max-width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-accent);outline-offset:0;border-color:var(--color-accent)}textarea{resize:vertical;min-height:80px;font-family:inherit}label{font-weight:500;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-1);display:block}.form-row{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.form-row>*{min-width:0}.form-stack{gap:var(--space-3);display:grid}.form-field--file{min-width:min(100%,320px)}.checkbox-row{align-items:center;gap:var(--space-2);color:var(--color-text);margin:0;display:flex}.stats-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.stat{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface-muted)}.stat__value{font-size:22px;font-weight:700}.stat__label{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:var(--space-1)}.toolbar{gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.toolbar>*{min-width:0}.tabs{gap:var(--space-2);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.tabs button{padding:var(--space-2) var(--space-3);color:var(--color-text-muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0}.tabs button.is-active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.flex{display:flex}.flex--gap{gap:var(--space-3)}.flex--column{flex-direction:column}.flex--wrap{flex-wrap:wrap}.flex--center{align-items:center}.split{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(280px,360px);display:grid}@media (width<=1024px){.split{grid-template-columns:minmax(0,1fr)}}.muted{color:var(--color-text-muted)}.error{color:var(--color-error);background:var(--color-error-bg);border:1px solid var(--color-error);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.empty{color:var(--color-text-muted);padding:var(--space-4);text-align:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-muted);font-style:italic}.data-table{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);max-height:480px;overflow:auto}.data-table--document-detail{max-height:clamp(32rem,72vh,64rem)}.data-table table{border-collapse:collapse;width:100%;font-size:var(--font-size-md)}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top;padding:8px 10px}.data-table thead th{background:var(--color-surface-muted);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);font-weight:600;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;z-index:1;position:sticky;top:0}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:var(--color-surface-muted)}.data-table tbody tr.is-selected{background:var(--color-accent-tint)}.data-table tbody tr.is-selected:hover{background:var(--color-accent-tint-strong)}.preview{background:var(--color-surface-muted);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--space-3);max-height:320px;overflow:auto}.preview--compact{max-height:5.5rem}.preview__text{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--font-body)}.preview__text--table{font-family:var(--font-mono);font-size:var(--font-size-sm)}.structured-table{max-width:100%;overflow-x:auto}.structured-table table{border-collapse:collapse;font-size:var(--font-size-sm);width:100%}.structured-table td{border:1px solid var(--color-border);vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere;padding:4px 8px}.button--link{color:var(--color-accent);background:0 0;border-color:#0000;padding:0}.button--link:hover:not(:disabled){color:var(--color-accent-strong);background:0 0}.asset-preview{object-fit:contain;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);width:min(100%,360px);max-height:220px;margin-bottom:var(--space-2);display:block}.table-text-preview{margin:0 0 var(--space-2);padding:var(--space-2);white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);overflow:auto}.source-label-list{gap:var(--space-1);flex-wrap:wrap;display:flex}.source-label-list span{border:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-size-sm);border-radius:999px;padding:1px 6px}.page-preview{margin-top:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);padding:var(--space-2)}.page-preview__text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--font-size-sm);line-height:1.45}.section-tree{font-size:var(--font-size-md)}.section-tree__item{margin:0}.section-tree__node{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;padding:4px;display:flex}.section-tree__node:hover{background:var(--color-surface-muted)}.section-tree__node.is-active{background:var(--color-accent-tint)}.section-tree__caret--button{cursor:pointer;border-radius:var(--radius-sm);color:var(--color-text-muted);background:0 0;border:none;padding:2px 4px;font-size:12px;line-height:1}.section-tree__caret--button:hover{background:var(--color-border);color:var(--color-text)}.section-tree__caret--button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.section-tree__label{cursor:pointer;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);text-align:left;min-width:0;font:inherit;color:inherit;background:0 0;border:none;flex:1;padding:4px;display:flex}.section-tree__label:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.section-tree__dot{text-align:center;flex-shrink:0;width:14px;font-size:14px;line-height:1;display:inline-block}.section-tree__title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.section-tree__count{font-size:var(--font-size-sm);color:var(--color-text-muted);background:var(--color-surface-muted);border-radius:999px;flex-shrink:0;padding:1px 6px}.section-tree__node.is-active{color:var(--color-accent-strong);font-weight:600}.section-tree__caret{text-align:center;width:12px;color:var(--color-text-subtle);display:inline-block}.section-tree__children{margin:0;padding-left:18px;list-style:none}.requirements-list{gap:var(--space-3);flex-direction:column;display:flex}.requirements-list article{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface)}.requirements-list article header{margin-bottom:var(--space-1);font-weight:600}.requirements-list article p{white-space:pre-wrap;margin:0}.notice{background:var(--color-surface-muted);border-left:3px solid var(--color-accent);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-muted)}.notice--warn{border-left-color:var(--color-warning)}.notice--error{border-left-color:var(--color-error);background:var(--color-error-bg);color:var(--color-error)}.repair-progress{align-items:center;gap:var(--space-2);margin:var(--space-1) 0;display:flex}.repair-progress__track{background:var(--color-surface-muted);border-radius:var(--radius-sm);flex:1;height:6px;overflow:hidden}.repair-progress__fill{background:var(--color-accent);height:100%;transition:width .3s}.detail-panel{z-index:40;gap:var(--space-3);width:min(560px,100vw);height:100vh;padding:var(--space-4);border-left:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-lg);display:grid;position:fixed;top:0;right:0;overflow:auto}.detail-panel__header{gap:var(--space-3);justify-content:space-between;align-items:flex-start;display:flex}.detail-panel__header h2{margin:0 0 var(--space-2);font-size:20px}.detail-list{gap:var(--space-2);grid-template-columns:minmax(120px,180px) minmax(0,1fr);margin:0;display:grid}.detail-list dt{color:var(--color-text-muted)}.detail-list dd{overflow-wrap:anywhere;min-width:0;margin:0}.metadata-block{max-height:220px;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);white-space:pre-wrap;overflow:auto}.workspace-grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}@media (width<=1200px){.workspace-grid{grid-template-columns:minmax(0,1fr)}}.workspace3{gap:var(--space-3);grid-template-columns:280px minmax(0,1.4fr) minmax(0,1fr);align-items:start;display:grid}@media (width<=1400px){.workspace3{grid-template-columns:240px minmax(0,1.2fr) minmax(0,1fr)}}@media (width<=1100px){.workspace3{grid-template-columns:minmax(0,1fr)}}.workspace3__pane{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3);box-shadow:var(--shadow-1);min-height:200px}.workspace3--expand-editor,.workspace3--expand-right{grid-template-columns:minmax(0,1fr)}.workspace3--expand-editor .workspace3__pane--nav,.workspace3--expand-editor .workspace3__pane--finder,.workspace3--expand-right .workspace3__pane--nav,.workspace3--expand-right .workspace3__pane--editor{display:none}.workspace3__pane-controls{margin-bottom:var(--space-1);justify-content:flex-end;display:flex}.workspace3__tabs-spacer{flex:1}.pane-expand-btn{font-size:var(--font-size-sm);border-radius:var(--radius-md);color:var(--color-text-muted);padding:2px 8px;line-height:1.4}.pane-expand-btn:hover:not(:disabled),.pane-expand-btn.is-active{color:var(--color-accent);border-color:var(--color-accent)}.workspace3__pane--nav{max-height:calc(100vh - 140px);top:var(--space-3);position:sticky;overflow:auto}.workspace3__pane--finder{flex-direction:column;max-height:calc(100vh - 140px);display:flex;overflow:hidden}.workspace3__pane h2{margin:0 0 var(--space-2) 0;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:14px;font-weight:600}.section-header{gap:var(--space-1);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-3);flex-direction:column;display:flex}.section-header__title{align-items:baseline;gap:var(--space-2);font-size:18px;font-weight:600;display:flex}.section-header__code{color:var(--color-text-muted)}.section-header__meta{gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-wrap:wrap;align-items:center;display:flex}.expected-checklist{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.expected-checklist li{align-items:flex-start;gap:var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-muted);font-size:var(--font-size-md);padding:6px 8px;display:flex}.expected-checklist li.is-covered{background:var(--color-success-tint)}.expected-checklist__mark{text-align:center;flex-shrink:0;width:16px;font-weight:700;display:inline-block}.expected-checklist__mark.is-covered{color:var(--color-success)}.expected-checklist__mark.is-empty{color:var(--color-text-subtle)}.mapped-list{gap:var(--space-2);flex-direction:column;display:flex}.mapped-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface);gap:var(--space-2);flex-direction:column;display:flex}.mapped-card.is-needs-review{border-color:var(--color-warning);background:var(--color-warning-tint)}.mapped-card.is-stale{border-color:var(--color-error);background:var(--color-error-bg);opacity:.85}.mapped-card__header{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.mapped-card__type{font-size:var(--font-size-sm);background:var(--color-surface-muted);border-radius:var(--radius-sm);color:var(--color-text-muted);padding:1px 6px}.mapped-card__title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.mapped-card__text{font-size:var(--font-size-md);color:var(--color-text);-webkit-line-clamp:3;white-space:pre-wrap;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.mapped-card__note{font-size:var(--font-size-sm);color:var(--color-text-muted);border-left:2px solid var(--color-border-strong);padding-left:var(--space-2);font-style:italic}.mapped-card__actions{gap:var(--space-2);justify-content:flex-end;display:flex}.finder-toolbar{gap:var(--space-2);margin-bottom:var(--space-2);grid-template-columns:1fr;display:grid}.finder-toolbar>*{min-width:0}.finder-toolbar input[type=search],.finder-toolbar select{width:100%;max-width:100%}.finder-toolbar__row{gap:var(--space-2);flex-wrap:wrap;display:flex}.finder-toolbar__row>*{flex:1 1 0;min-width:0;max-width:100%}.finder-list{gap:var(--space-2);flex-direction:column;flex:1;padding-right:4px;display:flex;overflow:auto}.finder-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--color-surface);cursor:pointer;flex-direction:column;gap:4px;display:flex}.finder-card:hover{background:var(--color-surface-muted)}.finder-card.is-selected{border-color:var(--color-accent);background:var(--color-accent-tint)}.finder-card__head{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);display:flex}.finder-card__type{background:var(--color-surface-muted);border-radius:var(--radius-sm);font-size:var(--font-size-sm);padding:1px 6px}.finder-card__text{font-size:var(--font-size-md);-webkit-line-clamp:2;white-space:pre-wrap;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.finder-card__actions{justify-content:flex-end;display:flex}.finder-action-bar{border-top:1px solid var(--color-border);padding-top:var(--space-2);margin-top:var(--space-2);gap:var(--space-2);flex-direction:column;display:flex}.finder-action-bar__buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.finder-action-bar__buttons>button{flex:auto}.fragment-viewer-window{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);overflow:hidden}.fragment-viewer-window__inner{flex-direction:column;height:100%;display:flex}.fragment-viewer-window__titlebar{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface-muted);border-bottom:1px solid var(--color-border);cursor:move;flex:none;display:flex}.fragment-viewer-window__title{font-weight:600;font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fragment-viewer-window__actions{align-items:center;gap:var(--space-1);flex:none;display:flex}.fragment-viewer-window__pin.is-active{filter:none;opacity:1}.fragment-viewer-window__pin{opacity:.45;background:0 0;border-color:#0000}.fragment-viewer-window__body{padding:var(--space-3);flex:auto;overflow:auto}.fragment-viewer__meta{gap:var(--space-2);flex-wrap:wrap;display:flex}.fragment-viewer__facts{gap:var(--space-2);margin-top:var(--space-3);font-size:var(--font-size-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.fragment-viewer__context{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.fragment-viewer__block{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);background:var(--color-surface-muted)}.fragment-viewer__block.is-target{border-color:var(--color-accent);background:var(--color-accent-tint)}.fragment-viewer__block>header{justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2);font-size:var(--font-size-sm);display:flex}.fragment-viewer__caption{margin-bottom:var(--space-2);font-style:italic}.fragment-citation{border:1px solid var(--color-accent);background:var(--color-accent-tint);color:var(--color-text);font-size:var(--font-size-md);vertical-align:baseline;cursor:default;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;max-width:100%;margin:0 2px;padding:2px 8px;line-height:1.3;display:inline-flex}.fragment-citation.is-selected{outline:2px solid var(--color-accent);outline-offset:1px}.fragment-citation__icon{color:var(--color-accent);flex-shrink:0;font-size:14px;line-height:1}.fragment-citation__text{text-overflow:ellipsis;max-width:360px;font-style:italic;overflow:hidden}.fragment-citation__source{color:var(--color-text-muted);font-size:var(--font-size-sm);border-left:1px solid var(--color-border-strong);flex-shrink:0;margin-left:2px;padding-left:6px}.fragment-citation--static{color:var(--color-text-muted);font-style:italic}.section-draft{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-1);margin-bottom:var(--space-4)}.section-draft__header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.section-draft__header h2{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:0;font-size:14px;font-weight:600}.section-draft__save{font-size:var(--font-size-sm)}.section-draft__save--pending{color:var(--color-warning)}.section-draft__save--ok{color:var(--color-success)}.section-draft__save--error{color:var(--color-error)}.tiptap-toolbar{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);margin-bottom:var(--space-2);flex-wrap:wrap;align-items:center;gap:4px;padding:6px;display:flex}.tiptap-toolbar__btn{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);font-size:var(--font-size-md);border-radius:var(--radius-sm);cursor:pointer;min-width:30px;padding:4px 8px;line-height:1}.tiptap-toolbar__btn:hover:not(:disabled){background:var(--color-surface-muted);border-color:var(--color-border-strong)}.tiptap-toolbar__btn.is-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.tiptap-toolbar__btn:disabled{opacity:.4;cursor:not-allowed}.tiptap-toolbar__sep{background:var(--color-border);width:1px;height:18px;margin:0 4px;display:inline-block}.tiptap-editor__content{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface);min-height:200px;max-height:480px;font-size:var(--font-size-md);outline:none;line-height:1.55;overflow:auto}.tiptap-editor__content:focus{border-color:var(--color-accent)}.tiptap-editor__content p,.tiptap-editor__content h1,.tiptap-editor__content h2,.tiptap-editor__content h3,.tiptap-editor__content blockquote,.tiptap-editor__content ul,.tiptap-editor__content ol,.tiptap-editor__content pre{margin:0 0 var(--space-2) 0}.tiptap-editor__content h1{font-size:22px;font-weight:700}.tiptap-editor__content h2{font-size:18px;font-weight:700}.tiptap-editor__content h3{font-size:15px;font-weight:700}.tiptap-editor__content blockquote{border-left:3px solid var(--color-accent);padding-left:var(--space-3);color:var(--color-text-muted);font-style:italic}.tiptap-editor__content ul,.tiptap-editor__content ol{padding-left:var(--space-5)}.tiptap-editor__content pre{background:var(--color-surface-muted);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-sm);overflow-x:auto}.tiptap-editor__content p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--color-text-subtle);float:left;pointer-events:none;height:0}.review-panel-backdrop{background:var(--color-scrim);z-index:100;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.review-panel{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);width:min(960px,100%);max-height:calc(100vh - var(--space-6));box-shadow:var(--shadow-2);flex-direction:column;display:flex}.review-panel__head{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.review-panel__head h2{color:var(--color-text);text-transform:none;letter-spacing:0;margin:0;font-size:16px;font-weight:600}.review-panel__close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:4px 8px;font-size:20px}.review-panel__body{padding:var(--space-3) var(--space-4);gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow:auto}.review-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface)}.review-item__title{margin-bottom:var(--space-2);font-weight:600}.review-item__path{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-2)}.review-diff{gap:var(--space-2);margin-bottom:var(--space-2);grid-template-columns:1fr 1fr;display:grid}@media (width<=720px){.review-diff{grid-template-columns:1fr}}.review-diff__column h4{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:0 0 4px}.review-diff__text{white-space:pre-wrap;font-family:var(--font-body);font-size:var(--font-size-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2);max-height:240px;overflow:auto}.review-diff__text--before{background:var(--color-error-bg);border-color:var(--color-error)}.review-diff__text--after{background:var(--color-success-tint);border-color:var(--color-success)}.review-item__actions{gap:var(--space-2);margin-top:var(--space-2);justify-content:flex-end;display:flex}.review-item__note{font-size:var(--font-size-sm);color:var(--color-text-muted);border-left:2px solid var(--color-border-strong);padding-left:var(--space-2);margin-bottom:var(--space-2);font-style:italic}.toggle{align-items:center;gap:var(--space-1);display:inline-flex}.dropzone{border:2px dashed var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-5);background:var(--color-surface-muted);text-align:center;color:var(--color-text-muted)}.dropzone strong{color:var(--color-text);margin-bottom:var(--space-1);display:block}.tpl-tabs{margin-top:var(--space-4);gap:var(--space-1)}.tpl-tabs button{font-weight:600}.tpl-sections{max-height:560px;padding-right:var(--space-1);overflow:auto}.tpl-sections>details{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2);margin-bottom:var(--space-2)}.tpl-sections details details{padding:var(--space-1) 0 0;margin-bottom:var(--space-1);border:none}.tpl-sections summary{cursor:pointer;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;font-weight:600;list-style:none;display:flex}.tpl-sections summary::-webkit-details-marker{display:none}.tpl-sections summary:before{content:"▸";color:var(--color-text-muted);flex-shrink:0}.tpl-sections details[open]>summary:before{content:"▾"}.tpl-sections summary code{flex-shrink:0}.tpl-sections summary .muted{font-weight:400;font-size:var(--font-size-sm)}.tpl-section__body{margin-top:var(--space-2);margin-left:var(--space-2);padding-left:var(--space-3);border-left:2px solid var(--color-border)}.tpl-section__form{gap:var(--space-2);margin-bottom:var(--space-2);display:grid}.tpl-section__form label span{font-size:var(--font-size-sm);margin-bottom:2px;display:block}.tpl-section__group{margin:var(--space-2) 0 0;font-size:var(--font-size-sm)}.tpl-section__group dt{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:var(--font-size-xs,11px);margin-bottom:2px}.tpl-section__group dd{margin:0 0 var(--space-2)}.tpl-diff{border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:360px;font-family:monospace;font-size:12px;overflow:auto}.tpl-diff__line{padding:0 var(--space-2);white-space:pre-wrap;word-break:break-word}.tpl-diff__line--add{background:var(--color-success-tint)}.tpl-diff__line--del{background:var(--color-error-bg)}.tpl-diff__line--skip{color:var(--color-text-muted);text-align:center;padding:2px var(--space-2)}.issue-stats{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.issue-stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-1);position:relative}.issue-stat__value{letter-spacing:-.02em;font-size:28px;font-weight:700;line-height:1.1}.issue-stat__label{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:2px;font-weight:600}.issue-stat--accent .issue-stat__value{color:var(--color-accent)}.issue-stat--warn .issue-stat__value{color:var(--color-warning)}.issue-stat--ok .issue-stat__value{color:var(--color-success)}.severity-chips{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.severity-chip{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);background:var(--color-surface);font-weight:600;font-size:var(--font-size-sm);display:inline-flex}.severity-chip.is-active{border-color:var(--color-accent);background:var(--color-accent-tint);color:var(--color-accent-strong)}.severity-chip__count{background:var(--color-surface-muted);border-radius:var(--radius-pill);padding:0 7px;font-size:11px}.issue-dot{background:var(--color-text-subtle);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.issue-dot--lg{width:11px;height:11px;margin-top:5px}.issue-dot[data-sev=critical]{background:var(--color-error)}.issue-dot[data-sev=major]{background:var(--color-warning)}.issue-dot[data-sev=minor]{background:var(--color-text-subtle)}.issue-dot[data-sev=info]{background:var(--color-accent)}.issue-workspace{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(320px,380px);align-items:start;display:grid}@media (width<=1024px){.issue-workspace{grid-template-columns:minmax(0,1fr)}}.issue-main{min-width:0}.issue-toolbar{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.issue-toolbar__search{flex:220px;min-width:0}.issue-toolbar select{width:auto;min-width:140px}.seg{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);flex-shrink:0;display:inline-flex;overflow:hidden}.seg__btn{color:var(--color-text-muted);font-weight:600;font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);background:0 0;border:none;border-radius:0}.seg__btn.is-active{background:var(--color-accent);color:var(--color-on-accent)}.issue-result-count{margin:0 0 var(--space-2);font-size:var(--font-size-sm)}.issue-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.issue-row{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-1);cursor:pointer;transition:border-color .12s,box-shadow .12s;display:flex}.issue-row:hover{border-color:var(--color-border-strong)}.issue-row:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.issue-row.is-selected{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent) inset}.issue-row__main{flex:1;min-width:0}.issue-row__title{font-weight:600}.issue-row__desc{font-size:var(--font-size-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;display:-webkit-box;overflow:hidden}.issue-row__meta{align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.issue-row__actions{gap:var(--space-1);flex-direction:column;flex-shrink:0;justify-content:center;align-items:stretch;display:flex}.chip{border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-size-sm);align-items:center;padding:1px 8px;font-weight:500;display:inline-flex}.chip--ghost{border:1px solid var(--color-border);background:0 0}.issue-status-pill{border-radius:var(--radius-pill);font-size:var(--font-size-sm);border:1px solid;align-items:center;padding:1px 8px;font-weight:600;display:inline-flex}.issue-status-pill--ok{color:var(--color-success);background:var(--color-success-tint)}.issue-status-pill--warn{color:var(--color-warning);background:var(--color-warning-tint)}.issue-status-pill--error{color:var(--color-error);background:var(--color-error-bg)}.issue-status-pill--info{color:var(--color-accent);background:var(--color-accent-tint)}.issue-status-pill--neutral{color:var(--color-text-muted);background:var(--color-surface-muted);border-color:var(--color-border)}.issue-detail{top:calc(var(--header-height) + var(--space-4));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:var(--space-4);max-height:calc(100vh - var(--header-height) - var(--space-5));position:sticky;overflow:auto}.issue-detail>.empty{background:0 0;border:none}.issue-detail__head{gap:var(--space-2);align-items:flex-start;display:flex}.issue-detail__head h2{margin:0 0 var(--space-2);font-size:18px;line-height:1.3}.issue-detail__section-title{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:var(--space-3) 0 var(--space-2)}.issue-detail__actions{gap:var(--space-2);margin:var(--space-4) 0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);display:grid}.issue-detail__actions label{margin:0}.issue-detail__timestamps{font-size:var(--font-size-sm);margin-top:var(--space-3)}.issue-detail__metadata{margin-top:var(--space-3)}.issue-detail__metadata summary{cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600}.export-console{gap:var(--space-4);grid-template-columns:minmax(300px,360px) minmax(0,1fr);align-items:start;display:grid}@media (width<=1024px){.export-console{grid-template-columns:minmax(0,1fr)}}.export-config{top:calc(var(--header-height) + var(--space-4));position:sticky}@media (width<=1024px){.export-config{position:static}}.export-config__context{margin:0 0 var(--space-3);font-size:var(--font-size-sm)}.export-config__desc{margin:var(--space-1) 0 0;font-size:var(--font-size-sm)}.export-config__actions{gap:var(--space-2);margin-top:var(--space-4);display:grid}.export-config__actions .is-primary{justify-content:center;width:100%}.export-config__gate{margin:var(--space-2) 0 0;font-size:var(--font-size-sm);color:var(--color-warning)}.export-advanced{margin-top:var(--space-4);border-top:1px solid var(--color-border);padding-top:var(--space-3)}.export-advanced summary{cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600}.export-advanced>*{margin-top:var(--space-2)}.export-main{gap:var(--space-4);min-width:0;display:grid}.seg--full{width:100%;display:flex}.seg--full .seg__btn{text-align:center;flex:1}.export-banner{gap:var(--space-3);background:var(--color-success-tint);border:1px solid var(--color-success);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.export-banner__actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.export-metrics{gap:var(--space-2);margin:var(--space-3) 0;grid-template-columns:repeat(3,1fr);display:grid}.export-metric{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--color-surface-muted)}.export-metric__value{font-size:22px;font-weight:700;line-height:1.1}.export-metric__label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:2px}.export-metric--ok .export-metric__value{color:var(--color-success)}.export-metric--warn .export-metric__value{color:var(--color-warning)}.export-metric--error .export-metric__value{color:var(--color-error)}.export-history{gap:var(--space-3);display:grid}.export-history__row{gap:var(--space-1);border-top:1px solid var(--color-border);padding-top:var(--space-3);display:grid}.export-history__actions{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;align-items:center;display:flex}.docs-list__head{gap:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.docs-import{margin-top:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);gap:var(--space-3);display:grid}.docs-import__form{display:block}.note-body{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.work-tabs{margin:var(--space-4) 0 var(--space-3)}.work-tabs__count{margin-left:var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-muted);min-width:20px;color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center;padding:0 6px;font-weight:600;display:inline-block}.work-tabs button.is-active .work-tabs__count{background:var(--color-accent-tint);color:var(--color-accent)}.work-section-title{margin:0 0 var(--space-2)}.assistant-chat{flex-direction:column;flex:1;min-height:0;display:flex}.assistant-chat__header{padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-2);flex-shrink:0}.assistant-chat__hint{margin:var(--space-1) 0 0;font-size:var(--font-size-sm)}.assistant-threads{align-items:center;gap:var(--space-1);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-2);flex-shrink:0;min-width:0;display:flex}.assistant-threads__list{gap:var(--space-1);scrollbar-width:thin;flex:1;min-width:0;display:flex;overflow-x:auto}.assistant-threads__chip{max-width:190px;font-size:var(--font-size-sm);border-radius:var(--radius-pill);color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;padding:2px 10px;display:inline-flex}.assistant-threads__chip.is-active{color:var(--color-accent);border-color:var(--color-accent);background:var(--color-surface-muted)}.assistant-threads__title{text-overflow:ellipsis;overflow:hidden}.assistant-threads__age{opacity:.7;flex-shrink:0;font-size:11px}.assistant-threads__new{font-size:var(--font-size-sm);border-radius:var(--radius-pill);color:var(--color-text-muted);flex-shrink:0;padding:2px 9px}.assistant-threads__new.is-active,.assistant-threads__new:hover:not(:disabled){color:var(--color-accent);border-color:var(--color-accent)}.assistant-threads__actions{flex-shrink:0;gap:2px;display:inline-flex}.assistant-threads__actions button{font-size:var(--font-size-sm);border-radius:var(--radius-md);color:var(--color-text-muted);padding:1px 7px}.assistant-threads__actions button:hover:not(:disabled){color:var(--color-accent);border-color:var(--color-accent)}.assistant-chat__thread{gap:var(--space-3);flex-direction:column;flex:1;min-height:0;padding:2px;display:flex;overflow-y:auto}.assistant-msg{max-width:100%}.assistant-msg--user{max-width:85%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-accent-tint);color:var(--color-accent);align-self:flex-end}.assistant-msg--assistant{align-self:stretch}.assistant-chat__composer{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border);margin-top:var(--space-2);flex-shrink:0;display:flex}.assistant-presets{gap:var(--space-1);margin-top:var(--space-2);flex-wrap:wrap;flex-shrink:0;display:flex}.assistant-presets button{font-size:var(--font-size-sm);border-radius:var(--radius-pill);color:var(--color-text-muted);padding:2px 10px}.assistant-presets button:hover:not(:disabled){color:var(--color-accent);border-color:var(--color-accent)}.assistant-answer{padding:var(--space-3);background:var(--color-surface-muted);border-radius:var(--radius-md);white-space:pre-wrap}.assistant-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--color-surface);gap:var(--space-1);display:grid}.assistant-card__head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.assistant-card__type{font-size:var(--font-size-sm);background:var(--color-accent-tint);color:var(--color-accent);border-radius:var(--radius-sm);white-space:nowrap;padding:1px 6px}.assistant-card__title{overflow-wrap:anywhere;font-weight:600}.assistant-card__text{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:pre-wrap;overflow-wrap:anywhere}.assistant-refs{gap:var(--space-1);flex-wrap:wrap;display:flex}.assistant-chip{font-size:var(--font-size-sm);font-family:var(--font-mono);background:var(--color-surface-muted);color:var(--color-text-muted);border-radius:var(--radius-pill);white-space:nowrap;padding:0 8px}.assistant-card__foot{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);display:flex}.assistant-card__foot button,.assistant-card__foot a{font-size:var(--font-size-sm);padding:2px 10px}.assistant-trace summary{cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-sm)}.assistant-trace__list{gap:var(--space-1);margin-top:var(--space-2);display:grid}.assistant-trace__row{align-items:baseline;gap:var(--space-2);font-size:var(--font-size-sm);display:flex}.assistant-trace__dot{background:var(--color-text-muted);border-radius:50%;flex-shrink:0;align-self:center;width:8px;height:8px}.assistant-trace__dot.is-succeeded{background:var(--color-success)}.assistant-trace__dot.is-failed{background:var(--color-error)}.assistant-trace__name{white-space:nowrap;font-weight:600}.assistant-trace__detail{color:var(--color-text-muted);overflow-wrap:anywhere}.grid--2{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stack{gap:var(--space-3);flex-direction:column;display:flex}@media (width<=900px){.grid--2{grid-template-columns:1fr}}
