@import "https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";:root,[data-theme=editorial]{--epic-display:"IBM Plex Sans", system-ui, sans-serif;--epic-prose:"Crimson Pro", "Iowan Old Style", Georgia, serif;--epic-body:"IBM Plex Sans", system-ui, sans-serif;--epic-meta:"IBM Plex Mono", ui-monospace, monospace;--epic-h1-size:30px;--epic-h1-tracking:-.018em;--epic-h1-weight:600;--epic-h2-size:22px;--epic-h2-tracking:-.012em;--epic-h2-weight:600;--epic-h3-size:14px;--epic-h3-tracking:.01em;--epic-h3-weight:600;--epic-body-size:13px;--epic-body-line:1.55;--epic-prose-size:15.5px;--epic-prose-line:1.72;--epic-meta-size:10.5px;--epic-meta-tracking:.16em;--epic-meta-weight:500;--epic-folio-size:56px;--epic-folio-tracking:-.022em;--epic-paper:#f5f1e6;--epic-bg:#fafaf6;--epic-side:#f4f2ec;--epic-card:#fff;--epic-card-hover:#f7f5ee;--epic-hover:#efece3;--epic-active:#eae6da;--epic-fg:#1a1815;--epic-fg-soft:#4a463e;--epic-fg-mute:#807a6e;--epic-fg-faint:#b3aea0;--epic-rule:#e6e2d5;--epic-rule-strong:#c9c4b3;--epic-accent:#6b3320;--epic-accent-soft:#6b332012;--epic-on-accent:#fafaf6;--epic-warn:#8a3a14;--epic-warn-bg:#8a3a140f;--epic-warn-line:#8a3a1438;--epic-agent-worldbuilder-fg:#43583a;--epic-agent-worldbuilder-bg:#43583a12;--epic-agent-worldbuilder-line:#43583a38;--epic-agent-voice-keeper-fg:#3b4a6b;--epic-agent-voice-keeper-bg:#3b4a6b12;--epic-agent-voice-keeper-line:#3b4a6b38;--epic-agent-foreshadow-keeper-fg:#5a3d5c;--epic-agent-foreshadow-keeper-bg:#5a3d5c12;--epic-agent-foreshadow-keeper-line:#5a3d5c38;--epic-agent-name-generator-fg:#7a5a1e;--epic-agent-name-generator-bg:#7a5a1e12;--epic-agent-name-generator-line:#7a5a1e38;--epic-agent-deepen-entry-fg:#2f5d57;--epic-agent-deepen-entry-bg:#2f5d5712;--epic-agent-deepen-entry-line:#2f5d5738;--epic-space-1:4px;--epic-space-2:8px;--epic-space-3:12px;--epic-space-4:16px;--epic-space-5:24px;--epic-space-6:32px;--epic-space-7:48px;--epic-space-8:64px;--epic-radius-card:3px;--epic-radius-btn:3px;--epic-radius-pill:2px;--epic-radius-mark:2px;--epic-radius-portrait:50%;--epic-shadow-card:0 1px 2px #1a18150a;--epic-scrim:#1a181552;--epic-shadow-modal:0 12px 40px #1a18152e;--epic-mark-bg:#1a1815;--epic-mark-fg:#fafaf6;--epic-mark-shadow:none;--epic-ease:cubic-bezier(.2, .7, .2, 1);--epic-dur-fast:.12s;--epic-dur:.18s;--epic-dur-slow:.28s}[data-mode=dark][data-theme=editorial],[data-mode=dark]{--epic-paper:#15130f;--epic-bg:#1a1814;--epic-side:#14120f;--epic-card:#1f1d18;--epic-card-hover:#25221c;--epic-hover:#25221c;--epic-active:#2c2922;--epic-fg:#e2dccb;--epic-fg-soft:#b3ad9c;--epic-fg-mute:#807a6a;--epic-fg-faint:#56523f;--epic-rule:#2c2922;--epic-rule-strong:#423f33;--epic-accent:#c89880;--epic-accent-soft:#c898801a;--epic-on-accent:#1a1814;--epic-warn:#d27d4c;--epic-warn-bg:#d27d4c1f;--epic-warn-line:#d27d4c52;--epic-mark-bg:#e2dccb;--epic-mark-fg:#1a1814;--epic-shadow-card:0 1px 2px #ffffff0f;--epic-scrim:#00000080;--epic-shadow-modal:0 12px 40px #00000073}.epic h1,.epic .epic-h1{font-family:var(--epic-display);font-size:var(--epic-h1-size);letter-spacing:var(--epic-h1-tracking);font-weight:var(--epic-h1-weight);color:var(--epic-fg);margin:4px 0 6px}.epic h2,.epic .epic-h2{font-family:var(--epic-display);font-size:var(--epic-h2-size);letter-spacing:var(--epic-h2-tracking);font-weight:var(--epic-h2-weight);color:var(--epic-fg);margin:0}.epic h3,.epic .epic-h3{font-family:var(--epic-display);font-size:var(--epic-h3-size);letter-spacing:var(--epic-h3-tracking);font-weight:var(--epic-h3-weight);color:var(--epic-fg);margin:0}.epic .epic-eyebrow{font-family:var(--epic-meta);letter-spacing:.2em;text-transform:uppercase;color:var(--epic-fg-mute);font-size:10px;font-weight:500}.epic .epic-prose{font-family:var(--epic-prose);font-size:var(--epic-prose-size);line-height:var(--epic-prose-line);color:var(--epic-fg);text-wrap:pretty}.epic .epic-meta{font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);color:var(--epic-fg-mute)}.epic .epic-ref{color:var(--epic-fg);background-image:linear-gradient(var(--epic-accent), var(--epic-accent));cursor:pointer;transition:color var(--epic-dur);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;padding:0 1px;text-decoration:none;position:relative}.epic .epic-ref:before{content:"";background:var(--epic-accent-soft);opacity:0;z-index:-1;border-radius:3px;transition:opacity .15s;position:absolute;inset:-1px -2px}.epic .epic-ref:hover{color:var(--epic-accent)}.epic .epic-ref:hover:before{opacity:1}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--epic-bg);color:var(--epic-fg);font-family:var(--epic-body);font-size:var(--epic-body-size);line-height:var(--epic-body-line);-webkit-font-smoothing:antialiased}.skald-shell h1{margin-top:8px}.skald-lede{font-family:var(--epic-prose);font-size:var(--epic-prose-size);line-height:var(--epic-prose-line);color:var(--epic-fg-soft);max-width:56ch}.skald-health{font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:.1em;text-transform:uppercase;color:var(--epic-fg-mute);align-items:center;gap:10px;margin:40px 32px 0;display:flex}.skald-dot{border-radius:var(--epic-radius-portrait);background:var(--epic-accent);flex:none;width:8px;height:8px;display:inline-block}.skald-health code{font-family:var(--epic-meta);color:var(--epic-fg)}.skald-health-value{text-transform:none;letter-spacing:0}.skald-health--error{color:var(--epic-warn)}.skald-health--error .skald-dot{background:var(--epic-warn)}.skald-route-status{color:var(--epic-fg-soft);margin-top:40px}.skald-route-placeholder{margin-top:40px}.skald-error-boundary{margin:var(--epic-space-4);padding:var(--epic-space-4);border:1px solid var(--epic-warn-line);background:var(--epic-warn-bg);color:var(--epic-warn);border-radius:var(--epic-radius-card);font-family:var(--epic-body);font-size:var(--epic-body-size)}.skald-error-boundary-reload{margin-top:var(--epic-space-2);font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);border:1px solid var(--epic-warn-line);color:var(--epic-warn);padding-block:var(--epic-space-1);padding-inline:var(--epic-space-3);border-radius:var(--epic-radius-btn);cursor:pointer;background:0 0}.skald-error-boundary-reload:hover{background:var(--epic-warn-bg)}.skald-agent-dock-launcher{right:var(--epic-space-5);bottom:var(--epic-space-5);z-index:50;padding:var(--epic-space-2) var(--epic-space-4);font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);text-transform:uppercase;color:var(--epic-on-accent);background:var(--epic-accent);border:1px solid var(--epic-accent);border-radius:var(--epic-radius-btn);box-shadow:var(--epic-shadow-card);cursor:pointer;appearance:none;position:fixed}.skald-agent-dock-launcher:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}[data-agent=worldbuilder]{--agent-fg:var(--epic-agent-worldbuilder-fg);--agent-bg:var(--epic-agent-worldbuilder-bg);--agent-line:var(--epic-agent-worldbuilder-line)}[data-agent=voice-keeper]{--agent-fg:var(--epic-agent-voice-keeper-fg);--agent-bg:var(--epic-agent-voice-keeper-bg);--agent-line:var(--epic-agent-voice-keeper-line)}[data-agent=foreshadow-keeper]{--agent-fg:var(--epic-agent-foreshadow-keeper-fg);--agent-bg:var(--epic-agent-foreshadow-keeper-bg);--agent-line:var(--epic-agent-foreshadow-keeper-line)}[data-agent=name-generator]{--agent-fg:var(--epic-agent-name-generator-fg);--agent-bg:var(--epic-agent-name-generator-bg);--agent-line:var(--epic-agent-name-generator-line)}[data-agent=deepen-entry]{--agent-fg:var(--epic-agent-deepen-entry-fg);--agent-bg:var(--epic-agent-deepen-entry-bg);--agent-line:var(--epic-agent-deepen-entry-line)}.skald-agent-roster{gap:var(--epic-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.skald-agent-roster-item{align-items:flex-start;gap:var(--epic-space-3);padding:var(--epic-space-3);border:1px solid var(--agent-line,var(--epic-rule));border-radius:var(--epic-radius-card);background:var(--agent-bg,transparent);display:flex}.skald-agent-roster-item[data-active=true]{border-color:var(--agent-fg,var(--epic-accent))}.skald-agent-roster-swatch{width:var(--epic-space-3);height:var(--epic-space-3);border-radius:var(--epic-radius-pill);background:var(--agent-fg,var(--epic-fg-mute));flex:none;margin-top:2px}.skald-agent-roster-text{flex-direction:column;gap:2px;min-width:0;display:flex}.skald-agent-roster-name{font-family:var(--epic-display);font-size:var(--epic-h3-size);letter-spacing:var(--epic-h3-tracking);font-weight:var(--epic-h3-weight);color:var(--agent-fg,var(--epic-fg))}.skald-agent-roster-role{font-family:var(--epic-body);font-size:var(--epic-body-size);line-height:var(--epic-body-line);color:var(--epic-fg-mute)}.skald-finding-agent{font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);text-transform:uppercase;color:var(--agent-fg,var(--epic-fg-mute))}.skald-finding-title{font-family:var(--epic-display);font-size:var(--epic-h3-size);letter-spacing:var(--epic-h3-tracking);font-weight:var(--epic-h3-weight);color:var(--epic-fg)}.skald-finding-detail{font-family:var(--epic-body);font-size:var(--epic-body-size);line-height:var(--epic-body-line);color:var(--epic-fg-soft)}.sds-eyebrow{font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);text-transform:uppercase;color:var(--epic-fg-mute);font-weight:var(--epic-meta-weight);margin:0;display:inline-block}.sds-pill{padding:2px var(--epic-space-2);font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);text-transform:uppercase;border-radius:var(--epic-radius-pill);white-space:nowrap;border:1px solid #0000;align-items:center;display:inline-flex}button.sds-pill{font:inherit;font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);text-transform:uppercase;cursor:pointer;appearance:none}button.sds-pill:focus-visible{outline:2px solid var(--epic-accent);outline-offset:1px}.sds-pill[data-tone=default]{color:var(--epic-fg-soft);background:var(--epic-hover);border-color:var(--epic-rule)}.sds-pill[data-tone=accent]{color:var(--epic-on-accent);background:var(--epic-accent);border-color:var(--epic-accent)}.sds-pill[data-tone=warn]{color:var(--epic-warn);background:var(--epic-warn-bg);border-color:var(--epic-warn-line)}.sds-pill[data-tone=muted]{color:var(--epic-fg-mute);background:var(--epic-hover);border-color:var(--epic-rule)}.sds-card{background:var(--epic-card);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);box-shadow:var(--epic-shadow-card);color:var(--epic-fg);display:block}.sds-hairline{background:var(--epic-rule);border:0;margin:0}.sds-hairline[data-orientation=horizontal]{width:100%;height:1px;display:block}.sds-hairline[data-orientation=vertical]{align-self:stretch;width:1px;min-height:1em;display:inline-block}.sds-trigrid{gap:var(--epic-space-3);grid-template-columns:repeat(3,1fr);display:grid}.sds-trigrid-cell{gap:var(--epic-space-2);padding:var(--epic-space-4);background:var(--epic-card);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);color:var(--epic-fg);flex-direction:column;display:flex}.sds-trigrid-label{font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);font-weight:var(--epic-meta-weight);text-transform:uppercase;color:var(--epic-fg-mute);margin:0}.sds-trigrid-body{font-family:var(--epic-body);font-size:var(--epic-body-size);line-height:var(--epic-body-line);color:var(--epic-fg-soft)}@media (width<=720px){.sds-trigrid{grid-template-columns:1fr}}.sds-status-pill{padding:2px var(--epic-space-2);font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);text-transform:uppercase;border-radius:var(--epic-radius-pill);white-space:nowrap;border:1px solid #0000;align-items:center;display:inline-flex}.sds-status-pill[data-status=planned]{color:var(--epic-fg-faint);border-color:var(--epic-rule);background:0 0}.sds-status-pill[data-status=drafting]{color:var(--epic-fg-soft);background:var(--epic-hover);border-color:var(--epic-rule)}.sds-status-pill[data-status=drafted]{color:var(--epic-fg);background:var(--epic-hover);border-color:var(--epic-accent)}.sds-status-pill[data-status=revised]{color:var(--epic-accent);border-color:var(--epic-accent);background:0 0}.sds-status-pill[data-status=final]{color:var(--epic-on-accent);background:var(--epic-accent);border-color:var(--epic-accent)}.sds-question-prompt{gap:var(--epic-space-4);background:var(--epic-card);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);box-shadow:var(--epic-shadow-card);padding:var(--epic-space-4) var(--epic-space-5);color:var(--epic-fg);font-family:var(--epic-body);flex-direction:column;display:flex}.sds-question-prompt-header{gap:var(--epic-space-2);flex-direction:column;display:flex}.sds-question-prompt-chip{background:var(--epic-hover);color:var(--epic-fg-soft);border-radius:var(--epic-radius-pill);padding:2px var(--epic-space-2);font-family:var(--epic-meta);text-transform:uppercase;letter-spacing:var(--epic-meta-tracking);font-size:11px;font-weight:var(--epic-meta-weight);align-self:flex-start}.sds-question-prompt-question{font-family:var(--epic-display);font-size:var(--epic-h3-size);color:var(--epic-fg);margin:0;font-weight:600}.sds-question-prompt-body{gap:var(--epic-space-4);grid-template-columns:1fr;display:grid}.sds-question-prompt[data-has-preview=true] .sds-question-prompt-body{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.sds-question-prompt-options{gap:var(--epic-space-2);border:none;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.sds-question-prompt-legend{font-family:var(--epic-meta);text-transform:uppercase;letter-spacing:var(--epic-meta-tracking);color:var(--epic-fg-mute);margin-bottom:var(--epic-space-1);padding:0;font-size:11px}.sds-question-prompt-option{column-gap:var(--epic-space-3);padding:var(--epic-space-2) var(--epic-space-3);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);cursor:pointer;background:var(--epic-card);grid-template-columns:auto 1fr;grid-template-areas:"input label""input description";row-gap:2px;display:grid}.sds-question-prompt-option:hover{background:var(--epic-card-hover)}.sds-question-prompt-option[data-selected=true]{border-color:var(--epic-accent);background:var(--epic-accent-soft)}.sds-question-prompt-input{accent-color:var(--epic-accent);grid-area:input;align-self:center;margin:0}.sds-question-prompt-option-label{color:var(--epic-fg);grid-area:label;font-weight:600}.sds-question-prompt-option-description{color:var(--epic-fg-soft);font-size:var(--epic-body-size);grid-area:description}.sds-question-prompt-other-input{margin-top:var(--epic-space-2);padding:var(--epic-space-2) var(--epic-space-3);background:var(--epic-bg);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);font-family:var(--epic-body);font-size:var(--epic-body-size);color:var(--epic-fg)}.sds-question-prompt-other-input:focus{outline:2px solid var(--epic-accent);outline-offset:2px}.sds-question-prompt-preview{background:var(--epic-side);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);padding:var(--epic-space-3);min-width:0;overflow:auto}.sds-question-prompt-preview-body{font-family:var(--epic-meta);color:var(--epic-fg);white-space:pre-wrap;margin:0;font-size:13px}.sds-question-prompt-preview-empty{color:var(--epic-fg-mute);font-family:var(--epic-meta);margin:0;font-size:12px}.sds-question-prompt-footer{gap:var(--epic-space-3);border-top:1px solid var(--epic-rule);padding-top:var(--epic-space-3);justify-content:flex-end;display:flex}.sds-question-prompt-cancel,.sds-question-prompt-submit{font-family:var(--epic-body);font-size:var(--epic-body-size);padding:var(--epic-space-2) var(--epic-space-4);border-radius:var(--epic-radius-card);cursor:pointer;border:1px solid var(--epic-rule);background:var(--epic-card);color:var(--epic-fg)}.sds-question-prompt-cancel:hover{background:var(--epic-hover)}.sds-question-prompt-submit{background:var(--epic-accent);color:var(--epic-on-accent);border-color:var(--epic-accent);font-weight:600}.sds-question-prompt-submit:disabled{opacity:.5;cursor:not-allowed}.sds-prose-editor{font-family:var(--epic-prose);font-size:var(--epic-prose-size);line-height:var(--epic-prose-line);color:var(--epic-prose-color,var(--epic-fg-soft));max-width:var(--epic-prose-max-width,760px);outline:none}.sds-prose-editor:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.sds-prose-editor p{margin:0 0 var(--epic-space-3) 0}.sds-prose-editor p:last-child{margin-bottom:0}.sds-severity-bar{width:100%;height:var(--epic-space-2);border-radius:var(--epic-radius-pill);background:var(--epic-hover);border:1px solid var(--epic-rule);display:flex;overflow:hidden}.sds-severity-bar__segment{height:100%;display:block}.sds-severity-bar__segment[data-severity=P1]{background:var(--epic-accent)}.sds-severity-bar__segment[data-severity=P2]{background:var(--epic-fg-soft)}.sds-severity-bar__segment[data-severity=P3]{background:var(--epic-fg-mute)}.sds-issue-row{gap:var(--epic-space-3);padding:var(--epic-space-3) var(--epic-space-4);border-bottom:1px solid var(--epic-rule);background:0 0;grid-template-columns:auto 1fr auto;align-items:start;display:grid}.sds-issue-row:hover{background:var(--epic-hover)}.sds-issue-row[data-status=dismissed]{opacity:.6}.sds-issue-row__lead{gap:var(--epic-space-1);flex-direction:column;min-width:0;display:flex}.sds-issue-row__category{font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);text-transform:uppercase;color:var(--epic-fg-mute)}.sds-issue-row__body{gap:var(--epic-space-1);flex-direction:column;min-width:0;display:flex}.sds-issue-row__title{font-family:var(--epic-headline);font-size:var(--epic-body-size);color:var(--epic-fg);margin:0}.sds-issue-row__anchor{font-family:var(--epic-mono);font-size:var(--epic-meta-size);color:var(--epic-fg-mute)}.sds-issue-row__detail{font-family:var(--epic-body);font-size:var(--epic-meta-size);color:var(--epic-fg-soft);margin:0}.sds-issue-row__actions{z-index:1;position:relative}.sds-issue-row__affordance{appearance:none;border-radius:var(--epic-radius-pill);color:var(--epic-fg-mute);cursor:pointer;font-size:var(--epic-body-size);padding:var(--epic-space-1) var(--epic-space-2);background:0 0;border:1px solid #0000;line-height:1}.sds-issue-row__affordance:hover{background:var(--epic-hover);color:var(--epic-fg);border-color:var(--epic-rule)}.sds-issue-row__affordance:focus-visible{outline:2px solid var(--epic-accent);outline-offset:1px}.sds-issue-row__panel{top:calc(100% + var(--epic-space-1));background:var(--epic-bg);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);box-shadow:var(--epic-shadow-card);z-index:1;flex-direction:column;min-width:12rem;display:flex;position:absolute;right:0}.sds-issue-row__action{appearance:none;text-align:left;cursor:pointer;padding:var(--epic-space-2) var(--epic-space-3);font-family:var(--epic-meta);font-size:var(--epic-meta-size);color:var(--epic-fg);background:0 0;border:none}.sds-issue-row__action:hover:not([aria-disabled=true]){background:var(--epic-hover)}.sds-issue-row__action:focus-visible{outline:2px solid var(--epic-accent);outline-offset:-2px}.sds-issue-row__action[aria-disabled=true]{color:var(--epic-fg-faint);cursor:not-allowed}.skald-question-bubble{width:100%;display:block}.skald-thinking-bubble{padding:var(--epic-space-3);border-radius:var(--epic-radius-card);border:1px solid var(--agent-line,var(--epic-rule));background:var(--agent-bg,var(--epic-side))}.skald-thinking-bubble[data-state=resolved]{padding:0 0 0 var(--epic-space-3);border:0;border-left:2px solid var(--agent-line,var(--epic-rule));background:0 0;border-radius:0}.skald-thinking-bubble-text{font-family:var(--epic-prose);font-size:var(--epic-prose-size);line-height:var(--epic-prose-line);color:var(--epic-fg);white-space:pre-wrap;margin:0}.skald-thinking-bubble[data-state=streaming] .skald-thinking-bubble-text{color:var(--epic-fg-soft)}.skald-thinking-bubble-pulse{gap:var(--epic-space-1);margin-top:var(--epic-space-2);display:inline-flex}.skald-thinking-bubble-dot{width:var(--epic-space-1);height:var(--epic-space-1);border-radius:var(--epic-radius-portrait);background:var(--agent-fg,var(--epic-fg-mute));animation:1s ease-in-out infinite skald-thinking-pulse}.skald-thinking-bubble-dot:nth-child(2){animation-delay:.15s}.skald-thinking-bubble-dot:nth-child(3){animation-delay:.3s}@keyframes skald-thinking-pulse{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.skald-thinking-bubble-dot{opacity:.6;animation:none}}.skald-event-tree{gap:var(--epic-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.skald-tool-call{padding:var(--epic-space-3);border:1px solid var(--agent-line,var(--epic-rule));border-radius:var(--epic-radius-card);background:var(--agent-bg,var(--epic-side))}.skald-tool-call-header{align-items:baseline;gap:var(--epic-space-2);margin:0;display:flex}.skald-tool-call-eyebrow{font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);text-transform:uppercase;color:var(--epic-fg-mute)}.skald-tool-call-name{font-family:var(--epic-meta);font-size:var(--epic-body-size);color:var(--agent-fg,var(--epic-fg))}.skald-tool-call-children{margin-top:var(--epic-space-2);padding-left:var(--epic-space-3);border-left:2px solid var(--agent-line,var(--epic-rule))}.skald-event-finding{padding:var(--epic-space-3);border-left:2px solid var(--agent-line,var(--epic-rule));border-radius:var(--epic-radius-card);background:var(--agent-bg,var(--epic-side));flex-direction:column;gap:2px;display:flex}.skald-findings-list{gap:var(--epic-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.skald-findings-item{padding:var(--epic-space-3);border-left:2px solid var(--agent-line,var(--epic-rule));border-radius:var(--epic-radius-card);background:var(--agent-bg,var(--epic-side));flex-direction:column;gap:2px;display:flex}.skald-question-modal-backdrop{z-index:50;padding:var(--epic-space-5);background:#1a18156b;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.skald-question-modal{width:min(720px,100%);max-height:80vh;overflow:auto}.skald-agent-dock-panel{z-index:60;background:var(--epic-bg);border-left:1px solid var(--epic-rule);width:360px;max-width:100vw;box-shadow:var(--epic-shadow-card);transition:transform var(--epic-dur-slow) var(--epic-ease);flex-direction:column;display:flex;position:fixed;inset:0 0 0 auto;transform:translate(100%)}.skald-agent-dock-panel[data-open=true]{transform:translate(0)}@media (prefers-reduced-motion:reduce){.skald-agent-dock-panel{transition:none}}.skald-agent-dock-header{align-items:baseline;gap:var(--epic-space-3);padding:var(--epic-space-4);border-bottom:1px solid var(--epic-rule);display:flex}.skald-agent-dock-title{font-family:var(--epic-display);font-size:var(--epic-h2-size);letter-spacing:var(--epic-h2-tracking);font-weight:var(--epic-h2-weight);color:var(--epic-fg);flex:1;margin:0}.skald-agent-dock-status{font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);text-transform:uppercase;color:var(--epic-fg-mute)}.skald-agent-dock-status[data-status=open]{color:var(--epic-accent)}.skald-agent-dock-status[data-status=error]{color:var(--epic-warn)}.skald-agent-dock-close{padding:0 var(--epic-space-1);font-size:var(--epic-h2-size);color:var(--epic-fg-mute);cursor:pointer;appearance:none;background:0 0;border:0;flex:none;line-height:1}.skald-agent-dock-close:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.skald-agent-dock-body{gap:var(--epic-space-4);padding:var(--epic-space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.skald-agent-dock-activity{gap:var(--epic-space-2);flex-direction:column;display:flex}.skald-agent-dock-error{padding:var(--epic-space-3);font-family:var(--epic-body);font-size:var(--epic-body-size);line-height:var(--epic-body-line);color:var(--epic-warn);background:var(--epic-warn-bg);border:1px solid var(--epic-warn-line);border-radius:var(--epic-radius-card);margin:0}.skald-agent-dock-deepen{justify-content:space-between;align-items:center;gap:var(--epic-space-2);margin-inline:var(--epic-space-4);padding:var(--epic-space-2) var(--epic-space-3);border:1px solid var(--agent-line);background:var(--agent-bg);color:var(--agent-fg);border-radius:var(--epic-radius-card);font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);display:flex}.skald-agent-dock-deepen-exit{color:var(--agent-fg);cursor:pointer;font:inherit;background:0 0;border:none;flex:none;padding:0;text-decoration:underline}.skald-agent-dock-deepen-exit:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.skald-agent-dock-prompt{gap:var(--epic-space-2);padding:var(--epic-space-4);border-top:1px solid var(--epic-rule);display:flex}.skald-agent-dock-input{min-width:0;padding:var(--epic-space-2) var(--epic-space-3);font-family:var(--epic-body);font-size:var(--epic-body-size);color:var(--epic-fg);background:var(--epic-card);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-btn);flex:1}.skald-agent-dock-input:focus-visible{outline:2px solid var(--epic-accent);outline-offset:1px}.skald-agent-dock-send{padding:var(--epic-space-2) var(--epic-space-4);font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);text-transform:uppercase;color:var(--epic-on-accent);background:var(--epic-accent);border:1px solid var(--epic-accent);border-radius:var(--epic-radius-btn);cursor:pointer;appearance:none;flex:none}.skald-agent-dock-send:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.sk-ref{color:var(--epic-fg);background-image:linear-gradient(var(--epic-accent), var(--epic-accent));cursor:pointer;transition:color var(--epic-dur);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;padding:0 1px;text-decoration:none;position:relative}.sk-ref:before{content:"";background:var(--epic-accent-soft);opacity:0;z-index:-1;border-radius:3px;transition:opacity .15s;position:absolute;inset:-1px -2px}.sk-ref:hover{color:var(--epic-accent)}.sk-ref:focus-visible{color:var(--epic-accent);outline:none}.sk-ref:hover:before,.sk-ref:focus-visible:before{opacity:1}.canon-scan-panel{margin-block:var(--epic-space-4);padding:var(--epic-space-4);background:var(--epic-card);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card)}.canon-scan-panel-header{justify-content:space-between;align-items:center;gap:var(--epic-space-3);display:flex}.canon-scan-panel-button{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);color:var(--epic-paper);background:var(--epic-accent);border:1px solid var(--epic-accent);border-radius:var(--epic-radius-btn);padding-block:var(--epic-space-2);padding-inline:var(--epic-space-4);cursor:pointer}.canon-scan-panel-button:hover:not(:disabled){background:var(--epic-active)}.canon-scan-panel-button:disabled{opacity:.6;cursor:progress}.canon-scan-panel-results{margin-block-start:var(--epic-space-3)}.canon-scan-panel-empty{color:var(--epic-fg-soft);font-family:var(--epic-body);font-size:var(--epic-body-size)}.canon-scan-panel-error{color:var(--epic-warn);background:var(--epic-warn-bg);border:1px solid var(--epic-warn-line);border-radius:var(--epic-radius-card);padding-block:var(--epic-space-2);padding-inline:var(--epic-space-3);font-family:var(--epic-body);font-size:var(--epic-body-size)}.canon-scan-panel-list{gap:var(--epic-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.canon-scan-suggestion{justify-content:space-between;align-items:flex-start;gap:var(--epic-space-3);padding:var(--epic-space-3);background:var(--epic-bg);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);display:flex}.canon-scan-suggestion-text{font-family:var(--epic-body);font-size:var(--epic-body-size);line-height:var(--epic-body-line);color:var(--epic-fg-soft)}.canon-scan-suggestion-term{color:var(--epic-fg)}.canon-scan-suggestion-error{color:var(--epic-warn);font-size:var(--epic-meta-size);margin-block-start:var(--epic-space-1);display:block}.canon-scan-suggestion-actions{gap:var(--epic-space-2);flex-shrink:0;display:flex}.canon-scan-suggestion-accept,.canon-scan-suggestion-dismiss{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);border-radius:var(--epic-radius-btn);padding-block:var(--epic-space-1);padding-inline:var(--epic-space-3);cursor:pointer}.canon-scan-suggestion-accept{color:var(--epic-paper);background:var(--epic-accent);border:1px solid var(--epic-accent)}.canon-scan-suggestion-accept:hover{background:var(--epic-active)}.canon-scan-suggestion-dismiss{color:var(--epic-fg-soft);border:1px solid var(--epic-rule-strong);background:0 0}.canon-scan-suggestion-dismiss:hover{background:var(--epic-hover)}.skald-sidebar{gap:var(--epic-space-3);padding:var(--epic-space-5);background:var(--epic-side);width:240px;min-height:100%;color:var(--epic-fg);font-family:var(--epic-body);font-size:var(--epic-body-size);border-right:1px solid var(--epic-rule);box-sizing:border-box;flex-direction:column;display:flex}.skald-sidebar-header{padding:var(--epic-space-3);background:var(--epic-card)}.skald-sidebar-eyebrow{margin:0 0 var(--epic-space-1)}.skald-sidebar-name{font-family:var(--epic-display);font-size:var(--epic-h3-size);letter-spacing:var(--epic-h3-tracking);font-weight:var(--epic-h3-weight);color:var(--epic-fg);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.skald-sidebar-nav{flex:auto}.skald-sidebar-nav-list{gap:var(--epic-space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.skald-sidebar-nav-button{appearance:none;cursor:pointer;align-items:center;gap:var(--epic-space-2);width:100%;padding:var(--epic-space-2) var(--epic-space-3);border-radius:var(--epic-radius-btn);font-family:var(--epic-body);font-size:var(--epic-body-size);color:var(--epic-fg-soft);text-align:left;transition:background var(--epic-dur) var(--epic-ease), color var(--epic-dur) var(--epic-ease);background:0 0;border:0;display:flex}.skald-sidebar-nav-button:hover{background:var(--epic-hover);color:var(--epic-fg)}.skald-sidebar-nav-button:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.skald-sidebar-nav-button[data-active=true]{background:var(--epic-active);color:var(--epic-fg);font-weight:var(--epic-h3-weight)}.skald-sidebar-nav-icon{color:inherit;flex:none}.skald-sidebar-nav-label{display:inline-block}.skald-sidebar-meta{gap:var(--epic-space-2);padding-top:var(--epic-space-2);flex-direction:column;display:flex}.skald-sidebar-meta-status{align-self:flex-start}.skald-sidebar-meta-row{align-items:baseline;gap:var(--epic-space-2);font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);color:var(--epic-fg-mute);text-transform:uppercase;margin:0;display:flex}.skald-sidebar-meta-label{font-weight:var(--epic-meta-weight)}.skald-sidebar-meta-time{color:var(--epic-fg-soft);text-transform:none;letter-spacing:0;font-family:var(--epic-body);font-size:var(--epic-body-size)}@media (width<=1279.98px){.skald-sidebar{width:var(--epic-space-8);padding:var(--epic-space-3) var(--epic-space-2)}.skald-sidebar-header,.skald-sidebar-header-divider,.skald-sidebar-eyebrow,.skald-sidebar-name,.skald-sidebar-meta,.skald-sidebar-meta-divider,.skald-sidebar-nav-label{display:none}.skald-sidebar-nav-button{padding:var(--epic-space-2);justify-content:center}}.skald-topbar{justify-content:space-between;align-items:center;gap:var(--epic-space-4);padding:var(--epic-space-3) var(--epic-space-5);background:var(--epic-bg);color:var(--epic-fg);font-family:var(--epic-body);font-size:var(--epic-body-size);border-bottom:1px solid var(--epic-rule);box-sizing:border-box;min-height:var(--epic-space-7);display:flex}.skald-topbar-breadcrumbs{flex:auto;min-width:0}.skald-topbar-crumb-list{align-items:center;gap:var(--epic-space-1);margin:0;padding:0;list-style:none;display:flex}.skald-topbar-crumb-item{align-items:center;gap:var(--epic-space-1);min-width:0;display:flex}.skald-topbar-crumb-sep{color:var(--epic-fg-faint);-webkit-user-select:none;user-select:none;font-family:var(--epic-meta)}.skald-topbar-crumb{font-family:var(--epic-body);font-size:var(--epic-body-size);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.skald-topbar-crumb--link{appearance:none;padding:var(--epic-space-1) var(--epic-space-2);border-radius:var(--epic-radius-btn);color:var(--epic-fg-mute);cursor:pointer;transition:background var(--epic-dur) var(--epic-ease), color var(--epic-dur) var(--epic-ease);background:0 0;border:0}.skald-topbar-crumb--link:hover{background:var(--epic-hover);color:var(--epic-fg)}.skald-topbar-crumb--link:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.skald-topbar-crumb--current{color:var(--epic-fg);font-weight:var(--epic-h3-weight);padding:var(--epic-space-1) var(--epic-space-2)}.skald-topbar-user{flex:none;position:relative}.skald-topbar-user-trigger{appearance:none;padding:var(--epic-space-1) var(--epic-space-2);border-radius:var(--epic-radius-btn);font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);color:var(--epic-fg-mute);cursor:pointer;text-transform:uppercase;transition:background var(--epic-dur) var(--epic-ease), color var(--epic-dur) var(--epic-ease);background:0 0;border:0}.skald-topbar-user-trigger:hover,.skald-topbar-user-trigger[aria-expanded=true]{background:var(--epic-hover);color:var(--epic-fg)}.skald-topbar-user-trigger:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.skald-topbar-user-trigger[data-state=loading]{color:var(--epic-fg-faint)}.skald-topbar-user-menu{top:calc(100% + var(--epic-space-1));background:var(--epic-card);min-width:220px;color:var(--epic-fg);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);box-shadow:var(--epic-shadow-card);padding:var(--epic-space-2);gap:var(--epic-space-2);z-index:10;flex-direction:column;display:flex;position:absolute;right:0}.skald-topbar-user-email{padding:var(--epic-space-1) var(--epic-space-2);font-family:var(--epic-meta);font-size:var(--epic-meta-size);color:var(--epic-fg-soft);word-break:break-all;margin:0}.skald-topbar-user-empty{padding:var(--epic-space-1) var(--epic-space-2);font-family:var(--epic-meta);font-size:var(--epic-meta-size);color:var(--epic-fg-mute);margin:0}.skald-topbar-user-error{padding:var(--epic-space-1) var(--epic-space-2);font-family:var(--epic-meta);font-size:var(--epic-meta-size);color:var(--epic-warn);background:var(--epic-warn-bg);border-radius:var(--epic-radius-btn);margin:0}.skald-topbar-user-signout{appearance:none;border:1px solid var(--epic-rule);padding:var(--epic-space-2) var(--epic-space-3);border-radius:var(--epic-radius-btn);font-family:var(--epic-body);font-size:var(--epic-body-size);color:var(--epic-fg);cursor:pointer;text-align:left;transition:background var(--epic-dur) var(--epic-ease);background:0 0}.skald-topbar-user-signout:hover{background:var(--epic-hover)}.skald-topbar-user-signout:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.character-lab-shell{background:var(--epic-bg);min-height:100vh;color:var(--epic-fg);grid-template-columns:280px 1fr;display:grid}@media (width<=1279.98px){.character-lab-shell{grid-template-columns:72px 1fr}}.character-lab-main{flex-direction:column;min-width:0;display:flex}.character-lab-content{padding-block:var(--epic-space-6);padding-inline:var(--epic-space-6);flex:1;width:100%;max-width:1440px;margin-inline:auto}.character-lab-status{margin-block:var(--epic-space-4);color:var(--epic-fg-soft);font-family:var(--epic-body);font-size:var(--epic-body-size)}.character-lab-status--warn{color:var(--epic-warn);background:var(--epic-warn-bg);border:1px solid var(--epic-warn-line);padding-block:var(--epic-space-3);padding-inline:var(--epic-space-4);border-radius:var(--epic-radius-card)}.character-lab-retry,.character-lab-back{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);border:1px solid var(--epic-warn-line);color:var(--epic-warn);padding-block:var(--epic-space-1);padding-inline:var(--epic-space-3);border-radius:var(--epic-radius-btn);cursor:pointer;background:0 0;margin-inline-start:var(--epic-space-3)}.character-lab-retry:hover,.character-lab-back:hover{background:var(--epic-warn-bg)}.character-lab-empty{text-align:center;padding-block:var(--epic-space-8);color:var(--epic-fg-mute)}.character-lab-empty h2{margin-block:var(--epic-space-3);font-family:var(--epic-display);font-size:var(--epic-h2-size);font-weight:var(--epic-h2-weight);letter-spacing:var(--epic-h2-tracking);color:var(--epic-fg)}.character-lab-empty-cta{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);background:var(--epic-accent);color:var(--epic-on-accent);border-radius:var(--epic-radius-btn);padding-block:var(--epic-space-2);padding-inline:var(--epic-space-5);cursor:pointer;border:none;margin-block-start:var(--epic-space-4)}.character-lab-empty-cta:hover{opacity:.9}.character-lab-empty-cta:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.character-lab-layout{gap:var(--epic-space-6);grid-template-columns:260px 1fr;align-items:start;display:grid}@media (width<=767.98px){.character-lab-layout{grid-template-columns:1fr}}.character-lab-list-panel{gap:var(--epic-space-2);flex-direction:column;min-width:0;display:flex}.character-lab-list{gap:var(--epic-space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.character-lab-list-item{margin:0;padding:0}.character-lab-list-button{align-items:center;gap:var(--epic-space-3);text-align:start;border-radius:var(--epic-radius-card);width:100%;padding-block:var(--epic-space-2);padding-inline:var(--epic-space-2);cursor:pointer;font:inherit;color:inherit;background:0 0;border:1px solid #0000;display:flex}.character-lab-list-button:hover{background:var(--epic-card-hover)}.character-lab-list-button:focus-visible{outline:2px solid var(--epic-accent);outline-offset:1px}.character-lab-list-button[data-active=true]{background:var(--epic-active);border-color:var(--epic-rule)}.character-lab-list-text{flex-direction:column;min-width:0;display:flex}.character-lab-list-name{font-family:var(--epic-display);font-size:var(--epic-body-size);font-weight:var(--epic-h3-weight);color:var(--epic-fg);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.character-lab-list-role{font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);text-transform:uppercase;color:var(--epic-fg-mute)}.character-lab-portrait{border-radius:var(--epic-radius-portrait);object-fit:cover;background:var(--epic-side);flex:none;justify-content:center;align-items:center;display:inline-flex}.character-lab-portrait--sm{width:36px;height:36px}.character-lab-portrait--lg{width:72px;height:72px}.character-lab-portrait--placeholder{background:var(--epic-hover);color:var(--epic-fg-mute);font-family:var(--epic-meta);font-weight:var(--epic-meta-weight)}.character-lab-portrait--sm.character-lab-portrait--placeholder{font-size:var(--epic-body-size)}.character-lab-portrait--lg.character-lab-portrait--placeholder{font-size:var(--epic-h2-size)}.character-lab-detail{gap:var(--epic-space-5);flex-direction:column;min-width:0;display:flex}.character-lab-detail-header{align-items:center;gap:var(--epic-space-4);display:flex}.character-lab-detail-heading{gap:var(--epic-space-2);flex-direction:column;align-items:start;display:flex}.character-lab-detail-name{font-family:var(--epic-display);font-size:var(--epic-h1-size);font-weight:var(--epic-h1-weight);letter-spacing:var(--epic-h1-tracking);color:var(--epic-fg);margin:0}.character-lab-trigrid{margin:0}.character-lab-cell-empty{color:var(--epic-fg-mute);margin:0;font-style:italic}.character-lab-bio{gap:var(--epic-space-2);flex-direction:column;display:flex}.character-lab-bio-body{font-family:var(--epic-body);font-size:var(--epic-body-size);line-height:var(--epic-body-line);color:var(--epic-fg-soft);max-width:720px}.character-lab-bio-body h1,.character-lab-bio-body h2,.character-lab-bio-body h3{font-family:var(--epic-display);color:var(--epic-fg);margin-block-start:var(--epic-space-4);margin-block-end:var(--epic-space-2)}.character-lab-bio-body h2{font-size:var(--epic-h2-size);font-weight:var(--epic-h2-weight);letter-spacing:var(--epic-h2-tracking)}.character-lab-bio-body h3{font-size:var(--epic-h3-size);font-weight:var(--epic-h3-weight)}.character-lab-bio-body p{margin-block:var(--epic-space-2)}.character-lab-bio-body ul,.character-lab-bio-body ol{margin-block:var(--epic-space-2);padding-inline-start:var(--epic-space-5)}.character-lab-bio-body code{background:var(--epic-paper);padding-inline:var(--epic-space-1);border-radius:var(--epic-radius-mark);font-family:var(--epic-meta);font-size:var(--epic-meta-size)}.character-lab-bio-body pre{background:var(--epic-paper);border-radius:var(--epic-radius-card);padding:var(--epic-space-3);font-family:var(--epic-meta);font-size:var(--epic-meta-size);overflow-x:auto}.character-lab-voice{gap:var(--epic-space-2);flex-direction:column;display:flex}.character-lab-voice-status{color:var(--epic-fg-soft);font-family:var(--epic-body);font-size:var(--epic-body-size);margin:0}.character-lab-voice-status--warn{color:var(--epic-warn);background:var(--epic-warn-bg);border:1px solid var(--epic-warn-line);padding-block:var(--epic-space-2);padding-inline:var(--epic-space-3);border-radius:var(--epic-radius-card)}.character-lab-voice-empty{color:var(--epic-fg-mute);font-family:var(--epic-body);font-size:var(--epic-body-size);margin:0}.character-lab-voice-list{gap:var(--epic-space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.character-lab-voice-item{align-items:center;gap:var(--epic-space-3);padding-block:var(--epic-space-2);padding-inline:var(--epic-space-3);background:var(--epic-card);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);display:flex}.character-lab-voice-text{min-width:0;font-family:var(--epic-body);font-size:var(--epic-body-size);line-height:var(--epic-body-line);color:var(--epic-fg-soft);flex:1}.character-lab-voice-actions{gap:var(--epic-space-2);flex:none;display:flex}.character-lab-voice-form{gap:var(--epic-space-2);margin-block-start:var(--epic-space-1);display:flex}.character-lab-voice-input{min-width:0;font-family:var(--epic-body);font-size:var(--epic-body-size);color:var(--epic-fg);background:var(--epic-card);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-btn);padding-block:var(--epic-space-1);padding-inline:var(--epic-space-2);flex:1}.character-lab-voice-input:focus-visible{outline:2px solid var(--epic-accent);outline-offset:1px}.character-lab-voice-button{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);text-transform:uppercase;border:1px solid var(--epic-rule-strong);color:var(--epic-fg-soft);padding-block:var(--epic-space-1);padding-inline:var(--epic-space-3);border-radius:var(--epic-radius-btn);cursor:pointer;background:0 0;flex:none}.character-lab-voice-button:hover{background:var(--epic-hover)}.character-lab-voice-button:focus-visible{outline:2px solid var(--epic-accent);outline-offset:1px}.character-lab-voice-button:disabled{opacity:.5;cursor:not-allowed}.character-lab-voice-error{color:var(--epic-warn);background:var(--epic-warn-bg);border:1px solid var(--epic-warn-line);padding-block:var(--epic-space-2);padding-inline:var(--epic-space-3);border-radius:var(--epic-radius-card);font-family:var(--epic-body);font-size:var(--epic-body-size);margin:0}.adaptation-audit{margin-bottom:var(--epic-space-5,24px);padding:var(--epic-space-4,16px);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card,3px)}.adaptation-audit__header{align-items:center;gap:var(--epic-space-4,16px);display:flex}.adaptation-audit__eyebrow{font-family:var(--epic-meta);font-weight:var(--epic-meta-weight,500);font-size:var(--epic-meta-size,10.5px);text-transform:uppercase;letter-spacing:var(--epic-meta-tracking,.16em);color:var(--epic-fg-mute)}.adaptation-audit__run{font:inherit;font-size:var(--epic-body-size,13px);padding:var(--epic-space-2,8px) var(--epic-space-3,12px);border-radius:var(--epic-radius-pill,2px);border:1px solid var(--epic-rule);color:var(--epic-fg-soft);cursor:pointer;background:0 0;margin-left:auto;transition:background-color .12s}.adaptation-audit__run:hover:not(:disabled){background:var(--epic-hover)}.adaptation-audit__run:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.adaptation-audit__run:disabled{opacity:.6;cursor:default}.adaptation-audit__status{margin:var(--epic-space-3,12px) 0 0;color:var(--epic-fg-mute);font-size:var(--epic-body-size,13px)}.adaptation-audit__status--error{color:var(--epic-accent)}.adaptation-audit__note,.adaptation-audit__clear{margin:var(--epic-space-3,12px) 0 0;color:var(--epic-fg-soft);font-size:var(--epic-body-size,13px)}.adaptation-audit__list{margin:var(--epic-space-3,12px) 0 0;gap:var(--epic-space-3,12px);flex-direction:column;padding:0;list-style:none;display:flex}.adaptation-audit__item{align-items:flex-start;gap:var(--epic-space-3,12px);padding-top:var(--epic-space-3,12px);border-top:1px solid var(--epic-rule);display:flex}.adaptation-audit__severity{flex:none;margin-top:1px}.adaptation-audit__body{gap:var(--epic-space-2,8px);flex-direction:column;display:flex}.adaptation-audit__category{font-family:var(--epic-meta);font-size:var(--epic-meta-size,10.5px);letter-spacing:var(--epic-meta-tracking,.16em);text-transform:uppercase;color:var(--epic-fg-mute)}.adaptation-audit__title{color:var(--epic-fg);font-size:var(--epic-body-size,13px);font-weight:var(--epic-weight-bold,600)}.adaptation-audit__detail{color:var(--epic-fg-soft);font-size:var(--epic-body-size,13px);line-height:1.5}.adaptation-internality-bar{width:100%;height:var(--epic-space-2);border-radius:var(--epic-radius-pill);background:var(--epic-hover);border:1px solid var(--epic-rule);display:flex;overflow:hidden}.adaptation-internality-bar__segment{height:100%;display:block}.adaptation-internality-bar__segment[data-axis=internal]{background:var(--epic-accent)}.adaptation-internality-bar__segment[data-axis=action]{background:var(--epic-fg-mute)}.adaptation-mandate-editor{margin-bottom:var(--epic-space-5,24px);padding:var(--epic-space-4,16px);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card,3px)}.adaptation-mandate-editor__error{margin:0 0 var(--epic-space-3,12px);padding:var(--epic-space-3,12px) var(--epic-space-4,16px);border-radius:var(--epic-radius-card,3px);background:var(--epic-accent-soft);border:1px solid var(--epic-accent);color:var(--epic-accent);font-size:var(--epic-body-size,13px)}.adaptation-mandate-editor__groups{gap:var(--epic-space-4,16px);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.adaptation-mandate-editor__group{padding:var(--epic-space-3,12px);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card,3px);margin:0}.adaptation-mandate-editor__legend{padding:0 var(--epic-space-2,8px);font-family:var(--epic-meta);font-weight:var(--epic-meta-weight,500);font-size:var(--epic-meta-size,10.5px);text-transform:uppercase;letter-spacing:var(--epic-meta-tracking,.16em);color:var(--epic-fg-mute)}.adaptation-mandate-editor__field{margin-bottom:var(--epic-space-3,12px);display:block}.adaptation-mandate-editor__field:last-child{margin-bottom:0}.adaptation-mandate-editor__field-label{margin-bottom:var(--epic-space-2,8px);font-size:var(--epic-body-size,13px);color:var(--epic-fg-soft);display:block}.adaptation-mandate-editor__control{box-sizing:border-box;width:100%;font:inherit;font-size:var(--epic-body-size,13px);padding:var(--epic-space-2,8px);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card,3px);background:var(--epic-bg);color:var(--epic-fg)}.adaptation-mandate-editor__control:focus-visible{outline:2px solid var(--epic-accent);outline-offset:1px}.adaptation-mandate-editor__actions{justify-content:flex-end;gap:var(--epic-space-3,12px);margin-top:var(--epic-space-4,16px);display:flex}.adaptation-mandate-editor__cancel,.adaptation-mandate-editor__save{font:inherit;font-size:var(--epic-body-size,13px);padding:var(--epic-space-2,8px) var(--epic-space-4,16px);border-radius:var(--epic-radius-pill,2px);cursor:pointer;transition:background-color .12s}.adaptation-mandate-editor__cancel{border:1px solid var(--epic-rule);color:var(--epic-fg-soft);background:0 0}.adaptation-mandate-editor__cancel:hover:not(:disabled){background:var(--epic-hover)}.adaptation-mandate-editor__save{font-weight:var(--epic-weight-bold,600);border:1px solid var(--epic-accent);background:var(--epic-accent);color:var(--epic-on-accent,#fafaf6)}.adaptation-mandate-editor__save:hover:not(:disabled){background:color-mix(in srgb, var(--epic-accent) 92%, black)}.adaptation-mandate-editor__cancel:focus-visible,.adaptation-mandate-editor__save:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.adaptation-mandate-editor__cancel:disabled,.adaptation-mandate-editor__save:disabled{opacity:.6;cursor:not-allowed}.adaptation-mandate{align-items:center;gap:var(--epic-space-3,12px) var(--epic-space-4,16px);margin-bottom:var(--epic-space-5,24px);padding:var(--epic-space-3,12px) var(--epic-space-4,16px);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card,3px);flex-wrap:wrap;display:flex}.adaptation-mandate__label{font-family:var(--epic-meta);font-weight:var(--epic-meta-weight,500);font-size:var(--epic-meta-size,10.5px);text-transform:uppercase;letter-spacing:var(--epic-meta-tracking,.16em);color:var(--epic-fg-mute)}.adaptation-mandate__chips{align-items:center;gap:var(--epic-space-3,12px);flex-wrap:wrap;display:flex}.adaptation-mandate__chip{align-items:center;gap:var(--epic-space-2,8px);display:inline-flex}.adaptation-mandate__chip-label{font-family:var(--epic-meta);font-size:var(--epic-meta-size,10.5px);letter-spacing:var(--epic-meta-tracking,.16em);text-transform:uppercase;color:var(--epic-fg-mute)}.adaptation-mandate__edit{font:inherit;font-size:var(--epic-body-size,13px);padding:var(--epic-space-2,8px) var(--epic-space-3,12px);border-radius:var(--epic-radius-pill,2px);border:1px solid var(--epic-rule);color:var(--epic-fg-soft);cursor:pointer;background:0 0;margin-left:auto;transition:background-color .12s}.adaptation-mandate__edit:hover{background:var(--epic-hover)}.adaptation-mandate__edit:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.adaptation-mandate__status{margin:0 0 var(--epic-space-5,24px);color:var(--epic-fg-mute);font-size:var(--epic-body-size,13px)}.adaptation-mandate__status--error{color:var(--epic-accent)}.adaptation-mandate-empty{justify-content:space-between;align-items:center;gap:var(--epic-space-4,16px);margin-bottom:var(--epic-space-5,24px);padding:var(--epic-space-4,16px) var(--epic-space-5,24px);border:1px dashed var(--epic-rule);border-radius:var(--epic-radius-card,3px);background:var(--epic-accent-soft);flex-wrap:wrap;display:flex}.adaptation-mandate-empty__copy{color:var(--epic-fg-soft);font-size:var(--epic-body-size,13px);margin:0}.adaptation-mandate-empty__cta{font:inherit;font-weight:var(--epic-weight-bold,600);padding:var(--epic-space-3,12px) var(--epic-space-5,24px);border-radius:var(--epic-radius-pill,2px);border:1px solid var(--epic-accent);background:var(--epic-accent);color:var(--epic-on-accent,#fafaf6);cursor:pointer;flex:none;transition:background-color .12s}.adaptation-mandate-empty__cta:hover{background:color-mix(in srgb, var(--epic-accent) 92%, black)}.adaptation-mandate-empty__cta:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.adaptation-inventory-table__scroll{overflow-x:auto}.adaptation-inventory-table__scroll:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.adaptation-inventory-table{border-collapse:collapse;width:100%;min-width:640px;font-size:var(--epic-body-size,13px);color:var(--epic-fg)}.adaptation-inventory-table th,.adaptation-inventory-table td{text-align:left;padding:var(--epic-space-3,12px) var(--epic-space-4,16px);vertical-align:baseline}.adaptation-inventory-table thead th{font-family:var(--epic-meta);font-weight:var(--epic-meta-weight,500);color:var(--epic-fg-mute);font-size:var(--epic-meta-size,10.5px);text-transform:uppercase;letter-spacing:var(--epic-meta-tracking,.16em);border-bottom:1px solid var(--epic-rule-strong)}.adaptation-inventory-table__group th{font-family:var(--epic-display);font-weight:var(--epic-h3-weight,600);font-size:var(--epic-h3-size,14px);letter-spacing:var(--epic-h3-tracking,.01em);color:var(--epic-fg-soft);padding-top:var(--epic-space-5,24px);padding-bottom:var(--epic-space-2,8px);border-bottom:1px solid var(--epic-rule)}.adaptation-inventory-table tbody:first-of-type .adaptation-inventory-table__group th{padding-top:var(--epic-space-4,16px)}.adaptation-inventory-table__row td{border-bottom:1px solid var(--epic-rule)}.adaptation-inventory-table__row:hover td{background:var(--epic-hover)}.adaptation-inventory-table__num{font-family:var(--epic-meta);font-variant-numeric:tabular-nums;color:var(--epic-fg-soft);white-space:nowrap;width:1%}.adaptation-inventory-table__balance{white-space:nowrap;width:132px}.adaptation-inventory-table__unset{color:var(--epic-fg-faint)}.adaptation-screen{background:var(--epic-bg);min-height:100vh;color:var(--epic-fg);display:flex}.adaptation-screen__main-col{flex-direction:column;flex:auto;min-width:0;display:flex}.adaptation-screen__main{min-width:0;padding:var(--epic-space-6,32px) var(--epic-space-7,48px);flex:auto;overflow-y:auto}.adaptation-screen__header{justify-content:space-between;align-items:center;gap:var(--epic-space-4,16px);margin-bottom:var(--epic-space-5,24px);display:flex}.adaptation-screen__heading{font-family:var(--epic-display);font-size:var(--epic-h1-size,30px);font-weight:var(--epic-h1-weight,600);letter-spacing:var(--epic-h1-tracking,-.018em);color:var(--epic-fg);margin:0}.adaptation-screen__rebuild{font:inherit;font-weight:var(--epic-weight-bold,600);padding:var(--epic-space-3,12px) var(--epic-space-5,24px);border-radius:var(--epic-radius-pill,2px);border:1px solid var(--epic-accent);background:var(--epic-accent);color:var(--epic-on-accent,#fafaf6);cursor:pointer;transition:background-color .12s}.adaptation-screen__rebuild:hover:not(:disabled){background:color-mix(in srgb, var(--epic-accent) 92%, black)}.adaptation-screen__rebuild:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.adaptation-screen__rebuild:disabled{opacity:.6;cursor:not-allowed}.adaptation-screen__status{color:var(--epic-fg-mute);font-size:var(--epic-body-size,13px);margin:var(--epic-space-6,32px) 0}.adaptation-screen__status--error{color:var(--epic-accent)}.adaptation-screen__empty{padding:var(--epic-space-7,48px);text-align:center;color:var(--epic-fg-soft);border:1px dashed var(--epic-rule);border-radius:var(--epic-radius-card,3px);background:var(--epic-accent-soft)}.adaptation-screen__error{margin-bottom:var(--epic-space-4,16px);padding:var(--epic-space-3,12px) var(--epic-space-4,16px);border-radius:var(--epic-radius-card,3px);background:var(--epic-accent-soft);border:1px solid var(--epic-accent);color:var(--epic-accent);font-size:var(--epic-body-size,13px)}.adaptation-balance{margin-bottom:var(--epic-space-5,24px);max-width:420px}.adaptation-balance__label{font-family:var(--epic-meta);font-weight:var(--epic-meta-weight,500);font-size:var(--epic-meta-size,10.5px);text-transform:uppercase;letter-spacing:var(--epic-meta-tracking,.16em);color:var(--epic-fg-mute);margin-bottom:var(--epic-space-2,8px);display:block}.adaptation-internality-bar.adaptation-balance__bar{height:var(--epic-space-3,12px)}.adaptation-balance__caption{margin-top:var(--epic-space-2,8px);font-size:var(--epic-body-size,13px);color:var(--epic-fg-soft);display:block}.adaptation-balance__empty{font-size:var(--epic-body-size,13px);color:var(--epic-fg-mute);margin:0}.sds-marginalia{gap:var(--epic-space-2);padding:var(--epic-space-3) var(--epic-space-3);border-radius:var(--epic-radius-card);border:1px solid var(--epic-rule);background:var(--epic-card);color:var(--epic-fg);font-family:var(--epic-body);font-size:var(--epic-body-size);cursor:pointer;text-align:left;flex-direction:column;display:flex}@media (prefers-reduced-motion:no-preference){.sds-marginalia{transition:border-color .18s,background-color .18s}}.sds-marginalia:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.sds-marginalia[data-tone=worldbuilder]{border-left:3px solid var(--epic-agent-worldbuilder-line);background:var(--epic-agent-worldbuilder-bg);color:var(--epic-agent-worldbuilder-fg)}.sds-marginalia[data-tone=voice-keeper]{border-left:3px solid var(--epic-agent-voice-keeper-line);background:var(--epic-agent-voice-keeper-bg);color:var(--epic-agent-voice-keeper-fg)}.sds-marginalia[data-tone=foreshadow-keeper]{border-left:3px solid var(--epic-agent-foreshadow-keeper-line);background:var(--epic-agent-foreshadow-keeper-bg);color:var(--epic-agent-foreshadow-keeper-fg)}.sds-marginalia[data-tone=name-generator]{border-left:3px solid var(--epic-agent-name-generator-line);background:var(--epic-agent-name-generator-bg);color:var(--epic-agent-name-generator-fg)}.sds-marginalia[data-status=addressed] .sds-marginalia-body,.sds-marginalia[data-status=addressed] .sds-marginalia-agent{color:var(--epic-fg-mute)}.sds-marginalia-body{color:inherit;margin:0;line-height:1.45}.sds-marginalia-footer{justify-content:space-between;align-items:center;gap:var(--epic-space-2);border-top:1px solid var(--epic-rule);padding-top:var(--epic-space-2);display:flex}.sds-marginalia-agent{font-family:var(--epic-meta);text-transform:uppercase;letter-spacing:var(--epic-meta-tracking);color:var(--epic-fg-mute);font-size:11px}.sds-marginalia-actions{gap:var(--epic-space-2);display:flex}.sds-marginalia-action{font-family:var(--epic-body);padding:2px var(--epic-space-2);border-radius:var(--epic-radius-pill);border:1px solid var(--epic-rule);background:var(--epic-card);color:var(--epic-fg);cursor:pointer;font-size:12px}.sds-marginalia-action:hover{background:var(--epic-hover)}.sds-marginalia-action--address{background:var(--epic-accent);color:var(--epic-on-accent);border-color:var(--epic-accent);font-weight:600}.skald-cold-start-indicator{background:var(--epic-hover);color:var(--epic-fg-soft);font-family:var(--epic-meta);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:14px;line-height:1;transition:opacity .24s;display:inline-flex}.skald-cold-start-indicator[data-visible=false]{display:none}.skald-cold-start-indicator__dot{background:var(--epic-accent);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite skald-cold-start-pulse}@keyframes skald-cold-start-pulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}@media (prefers-reduced-motion:reduce){.skald-cold-start-indicator__dot{opacity:.7;animation:none}}.skald-drafting{background:var(--epic-bg);min-height:100vh;color:var(--epic-fg)}.skald-drafting__folio{max-width:1100px;margin:0 auto;padding:28px 32px 0}.skald-drafting__back{color:var(--epic-fg-soft);font:inherit;cursor:pointer;background:0 0;border:none;margin-bottom:24px;padding:4px 0}.skald-drafting__back:hover,.skald-drafting__back:focus-visible{color:var(--epic-fg)}.skald-drafting__titles{margin-bottom:8px}.skald-drafting__project{font-family:var(--epic-meta);letter-spacing:.16em;text-transform:uppercase;color:var(--epic-fg-mute);margin:0 0 8px;font-size:12px}.skald-drafting__chapter{font-family:var(--epic-meta);letter-spacing:.12em;text-transform:uppercase;color:var(--epic-fg-mute);margin:0 0 4px;font-size:14px}.skald-drafting__scene{font-family:var(--epic-prose);color:var(--epic-fg);margin:0;font-size:34px;font-weight:500;line-height:1.15}.skald-drafting__status,.skald-drafting__draft-error,.skald-drafting__save-error,.skald-drafting__save-status{font-family:var(--epic-meta);color:var(--epic-fg-soft);margin:12px 0;font-size:14px}.skald-drafting__draft-error,.skald-drafting__save-error{color:var(--epic-warn)}.skald-drafting__editor-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;display:flex}.skald-drafting__draft-button{font:inherit;border:1px solid var(--epic-rule-strong);color:var(--epic-fg);cursor:pointer;background:0 0;border-radius:6px;padding:8px 14px}.skald-drafting__draft-button:disabled{cursor:progress;opacity:.6}.skald-drafting__draft-button:not(:disabled):hover,.skald-drafting__draft-button:focus-visible{background:var(--epic-hover)}.skald-drafting__folio-actions{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.skald-drafting__back{margin-bottom:0}.skald-drafting__focus-toggle{font:inherit;border:1px solid var(--epic-rule-strong);color:var(--epic-fg-mute);cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px}.skald-drafting__focus-toggle[aria-pressed=true]{background:var(--epic-accent);color:var(--epic-on-accent);border-color:var(--epic-accent)}.skald-drafting__focus-toggle:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.skald-drafting__marginalia-status,.skald-drafting__marginalia-empty,.skald-drafting__marginalia-error{font-family:var(--epic-meta);color:var(--epic-fg-mute);margin:8px 0;font-size:13px}.skald-drafting__marginalia-error{color:var(--epic-warn)}.skald-drafting__marginalia .sds-marginalia+.sds-marginalia{margin-top:var(--epic-space-3,12px)}.drafting--focus .skald-drafting__folio,.drafting--focus .skald-drafting__marginalia,body.skald-focus .skald-sidebar,body.skald-focus .skald-topbar{display:none}.drafting--focus .skald-drafting__manuscript{grid-template-columns:minmax(0,760px);padding:64px 24px}@media (prefers-reduced-motion:no-preference){.skald-drafting__focus-toggle{transition:background-color .18s,color .18s,border-color .18s}}.skald-drafting__manuscript{grid-template-columns:minmax(0,760px) 280px;justify-content:center;gap:32px;max-width:1100px;margin:0 auto;padding:32px 24px;display:grid}.skald-drafting__body{min-width:0}.skald-drafting__marginalia{align-self:start;min-width:0;position:sticky;top:32px}@media (width<=960px){.skald-drafting__manuscript{grid-template-columns:minmax(0,760px);padding:24px 16px}.skald-drafting__marginalia{position:static}}.skald-drafting__body .paragraph--anchored{background:var(--epic-accent-soft);border-left:3px solid var(--epic-accent);padding-left:var(--epic-space-2)}@media (prefers-reduced-motion:no-preference){.skald-drafting__body .paragraph--anchored{transition:background-color .18s,border-color .18s}}.onboarding-outline{max-width:46rem;padding-block:var(--epic-space-6);padding-inline:var(--epic-space-4);gap:var(--epic-space-6);flex-direction:column;margin-inline:auto;display:flex}.onboarding-outline-header{gap:var(--epic-space-2);flex-direction:column;display:flex}.onboarding-outline-title{font-family:var(--epic-display);font-size:var(--epic-h2-size);font-weight:var(--epic-h2-weight);letter-spacing:var(--epic-h2-tracking);color:var(--epic-fg);margin:0}.onboarding-outline-lede{color:var(--epic-fg-soft);font-family:var(--epic-body);font-size:var(--epic-body-size);margin:0}.onboarding-outline-controls{gap:var(--epic-space-4);flex-direction:column;align-items:flex-start;display:flex}.onboarding-outline-cta{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);background:var(--epic-accent);color:var(--epic-on-accent);border-radius:var(--epic-radius-btn);padding-block:var(--epic-space-2);padding-inline:var(--epic-space-5);cursor:pointer;border:none}.onboarding-outline-cta:disabled{opacity:.6;cursor:not-allowed}.onboarding-outline-cta:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.onboarding-outline-guidance{gap:var(--epic-space-2);flex-direction:column;width:100%;display:flex}.onboarding-outline-guidance>summary{cursor:pointer;font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);color:var(--epic-accent)}.onboarding-outline-guidance>summary:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.onboarding-outline-field{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);color:var(--epic-fg)}.onboarding-outline-textarea{width:100%;font-family:var(--epic-body);font-size:var(--epic-body-size);color:var(--epic-fg);background:var(--epic-card);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-btn);padding-block:var(--epic-space-2);padding-inline:var(--epic-space-3);resize:vertical;min-height:3rem}.onboarding-outline-textarea:focus-visible{outline:2px solid var(--epic-accent);outline-offset:1px;border-color:var(--epic-rule-strong)}.onboarding-outline-steer{color:var(--epic-fg-soft);font-family:var(--epic-body);font-size:var(--epic-meta-size);margin:0}.onboarding-outline-steer-link{color:var(--epic-accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.onboarding-outline-steer-link:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.onboarding-outline-progress{gap:var(--epic-space-3);flex-direction:column;display:flex}.onboarding-outline-progress-status{align-items:center;gap:var(--epic-space-2);font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);color:var(--epic-fg);margin:0;display:flex}.onboarding-outline-dot{border-radius:var(--epic-radius-pill);background:var(--epic-fg-mute);width:.6rem;height:.6rem;animation:onboarding-outline-pulse 1.4s var(--epic-ease,ease-in-out) infinite}.onboarding-outline-dot--active{background:var(--epic-accent)}@keyframes onboarding-outline-pulse{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.onboarding-outline-dot{animation:none}}.onboarding-outline-activity{max-height:12rem;padding:var(--epic-space-3);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);background:var(--epic-paper);font-family:var(--epic-meta);font-size:var(--epic-meta-size);white-space:pre-wrap;word-break:break-word;color:var(--epic-fg-mute);overflow-y:auto}.onboarding-outline-notice{padding-block:var(--epic-space-3);padding-inline:var(--epic-space-4);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);background:var(--epic-paper);color:var(--epic-fg-soft);font-family:var(--epic-body);font-size:var(--epic-body-size);margin:0}.onboarding-outline-notice:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.onboarding-outline-notice--error{color:var(--epic-warn);background:var(--epic-warn-bg);border-color:var(--epic-warn-line)}.outline-shell{background:var(--epic-bg);min-height:100vh;color:var(--epic-fg);grid-template-columns:280px 1fr;display:grid}@media (width<=1279.98px){.outline-shell{grid-template-columns:72px 1fr}}.outline-main{flex-direction:column;min-width:0;display:flex}.outline-content{padding-block:var(--epic-space-6);padding-inline:var(--epic-space-6);flex:1;width:100%;max-width:1100px;margin-inline:auto}.outline-status{margin-block:var(--epic-space-4);color:var(--epic-fg-soft);font-family:var(--epic-body);font-size:var(--epic-body-size)}.outline-status--warn{color:var(--epic-warn);background:var(--epic-warn-bg);border:1px solid var(--epic-warn-line);padding-block:var(--epic-space-3);padding-inline:var(--epic-space-4);border-radius:var(--epic-radius-card)}.outline-retry,.outline-back{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);border:1px solid var(--epic-warn-line);color:var(--epic-warn);padding-block:var(--epic-space-1);padding-inline:var(--epic-space-3);border-radius:var(--epic-radius-btn);cursor:pointer;background:0 0;margin-inline-start:var(--epic-space-3)}.outline-retry:hover,.outline-back:hover{background:var(--epic-warn-bg)}.outline-tree{gap:var(--epic-space-7);flex-direction:column;display:flex}.outline-act-title{margin-block:var(--epic-space-2) 0;font-family:var(--epic-display);font-size:var(--epic-h2-size);color:var(--epic-fg)}.outline-act-empty,.outline-chapter-empty{color:var(--epic-fg-mute);font-family:var(--epic-body);font-size:var(--epic-body-size);font-style:italic}.outline-chapter{margin-block-start:var(--epic-space-5)}.outline-chapter-head{align-items:baseline;gap:var(--epic-space-3);margin-block-end:var(--epic-space-3);display:flex}.outline-chapter-title{font-family:var(--epic-display);font-size:var(--epic-h3-size);color:var(--epic-fg);margin:0}.outline-scene-list{gap:var(--epic-space-4);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin:0;padding:0;list-style:none;display:grid}.outline-scene-button{gap:var(--epic-space-3);text-align:start;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;flex-direction:column;padding:0;display:flex}.outline-scene-button:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.outline-scene-head{justify-content:space-between;align-items:baseline;gap:var(--epic-space-3);display:flex}.outline-scene-title{font-family:var(--epic-display);font-size:var(--epic-body-size);color:var(--epic-fg);margin:0}.outline-gct-value{color:var(--epic-fg-soft);font-family:var(--epic-body);font-size:var(--epic-meta-size)}.outline-gct-empty{color:var(--epic-fg-faint)}.project-list{padding-block:var(--epic-space-8);padding-inline:var(--epic-space-6);max-width:1200px;margin-inline:auto}.project-list-header{margin-block-end:var(--epic-space-6)}.project-list-header h1{font-family:var(--epic-display);font-size:var(--epic-h1-size);font-weight:var(--epic-h1-weight);letter-spacing:var(--epic-h1-tracking);color:var(--epic-fg);margin-block-start:var(--epic-space-2)}.project-list-status{margin-block:var(--epic-space-4);color:var(--epic-fg-soft);font-family:var(--epic-body);font-size:var(--epic-body-size)}.project-list-status--warn{color:var(--epic-warn);background:var(--epic-warn-bg);border:1px solid var(--epic-warn-line);padding-block:var(--epic-space-3);padding-inline:var(--epic-space-4);border-radius:var(--epic-radius-card)}.project-list-retry{font-family:var(--epic-body);font-size:var(--epic-body-size);border:1px solid var(--epic-warn-line);color:var(--epic-warn);padding-block:var(--epic-space-1);padding-inline:var(--epic-space-3);border-radius:var(--epic-radius-btn);cursor:pointer;background:0 0;margin-inline-start:var(--epic-space-3)}.project-list-retry:hover{background:var(--epic-warn-bg)}.project-list-grid{gap:var(--epic-space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:0;margin-block-end:var(--epic-space-8);padding:0;list-style:none;display:grid}.project-list-item{margin:0;padding:0}.project-list-button{text-align:start;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;margin:0;padding:0;display:block}.project-list-button:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px;border-radius:var(--epic-radius-card)}.project-list-name{margin-block:var(--epic-space-2);font-family:var(--epic-display);font-size:var(--epic-h2-size);font-weight:var(--epic-h2-weight);letter-spacing:var(--epic-h2-tracking);color:var(--epic-fg)}.project-list-meta{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);color:var(--epic-fg-mute);margin:0}.project-list-create{border-block-start:1px solid var(--epic-rule);padding-block-start:var(--epic-space-6)}.project-list-create h2{font-family:var(--epic-display);font-size:var(--epic-h2-size);font-weight:var(--epic-h2-weight);letter-spacing:var(--epic-h2-tracking);color:var(--epic-fg);margin-block-end:var(--epic-space-4)}.project-list-form{gap:var(--epic-space-2);flex-direction:column;max-width:480px;display:flex}.project-list-label{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);color:var(--epic-fg-mute)}.project-list-input{font-family:var(--epic-body);font-size:var(--epic-body-size);color:var(--epic-fg);background:var(--epic-card);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-btn);padding-block:var(--epic-space-2);padding-inline:var(--epic-space-3)}.project-list-input:focus-visible{outline:2px solid var(--epic-accent);outline-offset:1px;border-color:var(--epic-rule-strong)}.project-list-submit{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);background:var(--epic-accent);color:var(--epic-on-accent);border-radius:var(--epic-radius-btn);padding-block:var(--epic-space-2);padding-inline:var(--epic-space-4);cursor:pointer;border:none;align-self:flex-start}.project-list-submit:disabled{opacity:.6;cursor:not-allowed}.project-list-submit:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.project-list-create-error{color:var(--epic-warn);font-family:var(--epic-body);font-size:var(--epic-body-size)}.signin-screen{min-height:100vh;padding:var(--epic-space-5);background:var(--epic-bg);color:var(--epic-fg);font-family:var(--epic-body);box-sizing:border-box;justify-content:center;align-items:center;display:flex}.signin-card{gap:var(--epic-space-4);width:100%;max-width:420px;padding:var(--epic-space-6);box-sizing:border-box;flex-direction:column;display:flex}.signin-title{font-family:var(--epic-display);font-size:var(--epic-h2-size);letter-spacing:-.01em;color:var(--epic-fg);margin:0;font-weight:600}.signin-banner{padding:var(--epic-space-3);background:var(--epic-warn-bg);border:1px solid var(--epic-warn-line);border-radius:var(--epic-radius-btn);color:var(--epic-warn);font-family:var(--epic-meta);font-size:var(--epic-body-size);margin:0}.signin-form{gap:var(--epic-space-3);flex-direction:column;display:flex}.signin-field{gap:var(--epic-space-1);flex-direction:column;display:flex}.signin-label{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);text-transform:uppercase;color:var(--epic-fg-soft)}.signin-input{padding:var(--epic-space-3);background:var(--epic-card);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-btn);color:var(--epic-fg);font-family:var(--epic-body);font-size:var(--epic-body-size);outline:none;transition:border-color 80ms ease-out}.signin-input:focus-visible{border-color:var(--epic-accent);box-shadow:0 0 0 2px var(--epic-accent-soft)}.signin-input:disabled{opacity:.65;cursor:not-allowed}.signin-input[aria-invalid=true]{border-color:var(--epic-warn)}.signin-field-error{color:var(--epic-warn);font-family:var(--epic-meta);font-size:var(--epic-meta-size);margin:0}.signin-submit{margin-top:var(--epic-space-1);padding:var(--epic-space-3) var(--epic-space-4);background:var(--epic-accent);border:1px solid var(--epic-accent);border-radius:var(--epic-radius-btn);color:var(--epic-on-accent);font-family:var(--epic-meta);font-size:var(--epic-body-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);text-transform:uppercase;cursor:pointer;transition:opacity 80ms ease-out}.signin-submit:hover:not(:disabled){opacity:.9}.signin-submit:disabled{opacity:.55;cursor:not-allowed}.signin-divider{align-items:center;gap:var(--epic-space-3);margin:var(--epic-space-2) 0;grid-template-columns:1fr auto 1fr;display:grid}.signin-divider-text{color:var(--epic-fg-mute);font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);text-transform:uppercase}.signin-oauth{gap:var(--epic-space-2);flex-direction:column;display:flex}.signin-oauth-button{padding:var(--epic-space-3) var(--epic-space-4);background:var(--epic-card);border:1px solid var(--epic-rule-strong);border-radius:var(--epic-radius-btn);color:var(--epic-fg);font-family:var(--epic-body);font-size:var(--epic-body-size);cursor:pointer;font-weight:500;transition:background-color 80ms ease-out,border-color 80ms ease-out}.signin-oauth-button:hover:not(:disabled){background:var(--epic-card-hover);border-color:var(--epic-accent)}.signin-oauth-button:disabled{opacity:.55;cursor:not-allowed}.signin-toggle{margin:var(--epic-space-2) 0 0;text-align:center;color:var(--epic-fg-soft);font-family:var(--epic-body);font-size:var(--epic-body-size)}.signin-toggle-prompt{color:var(--epic-fg-mute)}.signin-toggle-button{color:var(--epic-accent);font-family:inherit;font-size:inherit;cursor:pointer;text-underline-offset:.2em;background:0 0;border:none;padding:0;font-weight:500;text-decoration:underline}.signin-toggle-button:hover{opacity:.8}.onboarding-panel{max-width:46rem;padding-block:var(--epic-space-6);padding-inline:var(--epic-space-4);gap:var(--epic-space-6);flex-direction:column;margin-inline:auto;display:flex}.onboarding-header{gap:var(--epic-space-2);flex-direction:column;display:flex}.onboarding-title{font-family:var(--epic-display);font-size:var(--epic-h2-size);font-weight:var(--epic-h2-weight);letter-spacing:var(--epic-h2-tracking);color:var(--epic-fg);margin:0}.onboarding-lede{color:var(--epic-fg-soft);font-family:var(--epic-body);font-size:var(--epic-body-size);margin:0}.onboarding-seed-form{gap:var(--epic-space-5);flex-direction:column;display:flex}.onboarding-field{gap:var(--epic-space-1);flex-direction:column;display:flex}.onboarding-field label{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);color:var(--epic-fg)}.onboarding-field input[type=text],.onboarding-textarea{width:100%;font-family:var(--epic-body);font-size:var(--epic-body-size);color:var(--epic-fg);background:var(--epic-card);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-btn);padding-block:var(--epic-space-2);padding-inline:var(--epic-space-3)}.onboarding-field input[type=text]:focus-visible,.onboarding-textarea:focus-visible{outline:2px solid var(--epic-accent);outline-offset:1px;border-color:var(--epic-rule-strong)}.onboarding-textarea{resize:vertical;min-height:3rem}.onboarding-field-grid{gap:var(--epic-space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=36rem){.onboarding-field-grid{grid-template-columns:1fr}}.onboarding-upload-name,.onboarding-upload-error{margin-block:var(--epic-space-1) 0;font-family:var(--epic-body);font-size:var(--epic-meta-size);color:var(--epic-fg-mute)}.onboarding-upload-error{color:var(--epic-warn)}.onboarding-upload-clear{color:var(--epic-accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.onboarding-submit{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);background:var(--epic-accent);color:var(--epic-on-accent);border-radius:var(--epic-radius-btn);padding-block:var(--epic-space-2);padding-inline:var(--epic-space-5);cursor:pointer;border:none;align-self:flex-start}.onboarding-submit:disabled{opacity:.6;cursor:not-allowed}.onboarding-submit:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.onboarding-progress{gap:var(--epic-space-3);flex-direction:column;display:flex}.onboarding-progress-status{align-items:center;gap:var(--epic-space-2);font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);color:var(--epic-fg);margin:0;display:flex}.onboarding-progress-dot{border-radius:var(--epic-radius-pill);background:var(--epic-fg-mute);width:.6rem;height:.6rem;animation:onboarding-pulse 1.4s var(--epic-ease,ease-in-out) infinite}.onboarding-progress-dot--active{background:var(--epic-accent)}@keyframes onboarding-pulse{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.onboarding-progress-dot{animation:none}}.onboarding-activity{max-height:12rem;padding:var(--epic-space-3);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);background:var(--epic-paper);font-family:var(--epic-meta);font-size:var(--epic-meta-size);white-space:pre-wrap;word-break:break-word;color:var(--epic-fg-mute);overflow-y:auto}.onboarding-notice{padding-block:var(--epic-space-3);padding-inline:var(--epic-space-4);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);background:var(--epic-paper);color:var(--epic-fg-soft);font-family:var(--epic-body);font-size:var(--epic-body-size);margin:0}.onboarding-notice:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.onboarding-notice--error{color:var(--epic-warn);background:var(--epic-warn-bg);border-color:var(--epic-warn-line)}.section-gen-trigger{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);color:var(--epic-accent);border:1px dashed var(--epic-rule-strong);border-radius:var(--epic-radius-btn);padding-block:var(--epic-space-1);padding-inline:var(--epic-space-3);cursor:pointer;background:0 0;align-self:flex-start;margin-block-start:var(--epic-space-2)}.section-gen-trigger:hover:not(:disabled){border-style:solid}.section-gen-trigger:disabled{opacity:.5;cursor:not-allowed}.section-gen-trigger:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.section-gen-form{gap:var(--epic-space-2);flex-direction:column;margin-block-start:var(--epic-space-2);display:flex}.section-gen-label{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);color:var(--epic-fg)}.section-gen-textarea{min-height:2.5rem}.section-gen-actions{align-items:center;gap:var(--epic-space-3);display:flex}.section-gen-submit{padding-inline:var(--epic-space-4)}.section-gen-running{margin-block:var(--epic-space-2) 0;align-items:center;gap:var(--epic-space-2);font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);color:var(--epic-fg);display:flex}.story-bible-editor-overlay{z-index:50;padding:var(--epic-space-6);background:var(--epic-scrim);justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.story-bible-editor{background:var(--epic-paper);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);width:100%;max-width:42rem;padding:var(--epic-space-6);box-shadow:var(--epic-shadow-modal)}.story-bible-editor-heading{margin:0 0 var(--epic-space-5);font-family:var(--epic-display);font-size:var(--epic-h2-size);font-weight:var(--epic-h2-weight);letter-spacing:var(--epic-h2-tracking);color:var(--epic-fg)}.story-bible-editor-field{gap:var(--epic-space-1);flex-direction:column;margin-block-end:var(--epic-space-4);display:flex}.story-bible-editor-field label{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);color:var(--epic-fg-soft)}.story-bible-editor-field input,.story-bible-editor-textarea{font-family:var(--epic-body);font-size:var(--epic-body-size);line-height:var(--epic-body-line);color:var(--epic-fg);background:var(--epic-bg);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-btn);padding:var(--epic-space-2) var(--epic-space-3)}.story-bible-editor-textarea{resize:vertical;min-height:4rem}.story-bible-editor-field input:focus-visible,.story-bible-editor-textarea:focus-visible{outline:2px solid var(--epic-accent);outline-offset:1px}.story-bible-editor-hint{font-family:var(--epic-meta);font-size:var(--epic-meta-size);color:var(--epic-fg-mute);margin:0}.story-bible-editor-error{margin:0 0 var(--epic-space-3);font-family:var(--epic-meta);font-size:var(--epic-meta-size);color:var(--epic-warn);background:var(--epic-warn-bg);border:1px solid var(--epic-warn-line);border-radius:var(--epic-radius-btn);padding:var(--epic-space-2) var(--epic-space-3)}.story-bible-editor-actions{align-items:center;gap:var(--epic-space-3);flex-wrap:wrap;margin-block-start:var(--epic-space-4);display:flex}.story-bible-editor-save,.story-bible-editor-cancel,.story-bible-editor-delete,.story-bible-editor-delete-confirm{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);border-radius:var(--epic-radius-btn);padding-block:var(--epic-space-2);padding-inline:var(--epic-space-4);cursor:pointer}.story-bible-editor-save{background:var(--epic-accent);color:var(--epic-paper);border:1px solid var(--epic-accent)}.story-bible-editor-save:disabled{opacity:.5;cursor:not-allowed}.story-bible-editor-cancel{color:var(--epic-fg-soft);border:1px solid var(--epic-rule);background:0 0}.story-bible-editor-delete,.story-bible-editor-delete-confirm{color:var(--epic-warn);border:1px solid var(--epic-warn-line);background:0 0}.story-bible-editor-delete{margin-inline-start:auto}.story-bible-editor-delete-confirm{background:var(--epic-warn-bg)}.story-bible-editor-confirm{align-items:center;gap:var(--epic-space-2);font-family:var(--epic-meta);font-size:var(--epic-meta-size);color:var(--epic-warn);flex-wrap:wrap;margin-inline-start:auto;display:inline-flex}.story-bible-editor-save:focus-visible,.story-bible-editor-cancel:focus-visible,.story-bible-editor-delete:focus-visible,.story-bible-editor-delete-confirm:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.story-bible-shell{background:var(--epic-bg);min-height:100vh;color:var(--epic-fg);grid-template-columns:280px 1fr;display:grid}@media (width<=1279.98px){.story-bible-shell{grid-template-columns:72px 1fr}}.story-bible-main{flex-direction:column;min-width:0;display:flex}.story-bible-content{padding-block:var(--epic-space-6);padding-inline:var(--epic-space-6);flex:1;width:100%;max-width:1440px;margin-inline:auto}.story-bible-status{margin-block:var(--epic-space-4);color:var(--epic-fg-soft);font-family:var(--epic-body);font-size:var(--epic-body-size)}.story-bible-status--warn{color:var(--epic-warn);background:var(--epic-warn-bg);border:1px solid var(--epic-warn-line);padding-block:var(--epic-space-3);padding-inline:var(--epic-space-4);border-radius:var(--epic-radius-card)}.story-bible-retry,.story-bible-back{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);border:1px solid var(--epic-warn-line);color:var(--epic-warn);padding-block:var(--epic-space-1);padding-inline:var(--epic-space-3);border-radius:var(--epic-radius-btn);cursor:pointer;background:0 0;margin-inline-start:var(--epic-space-3)}.story-bible-retry:hover,.story-bible-back:hover{background:var(--epic-warn-bg)}.story-bible-cosmos{background:var(--epic-side);padding-block:var(--epic-space-7);padding-inline:var(--epic-space-6);border-radius:var(--epic-radius-card);margin-block-end:var(--epic-space-6)}.story-bible-cosmos--missing .story-bible-cosmos-title{color:var(--epic-fg-mute)}.story-bible-cosmos-title{margin-block:var(--epic-space-2) var(--epic-space-5);font-family:var(--epic-display);font-size:var(--epic-h1-size);font-weight:var(--epic-h1-weight);letter-spacing:var(--epic-h1-tracking);color:var(--epic-fg)}.story-bible-cosmos-body{font-family:var(--epic-body);font-size:var(--epic-body-size);line-height:var(--epic-body-line);color:var(--epic-fg-soft);max-width:720px}.story-bible-cosmos-body h1,.story-bible-cosmos-body h2,.story-bible-cosmos-body h3{font-family:var(--epic-display);color:var(--epic-fg);margin-block-start:var(--epic-space-4);margin-block-end:var(--epic-space-2)}.story-bible-cosmos-body h2{font-size:var(--epic-h2-size);font-weight:var(--epic-h2-weight);letter-spacing:var(--epic-h2-tracking)}.story-bible-cosmos-body p{margin-block:var(--epic-space-2)}.story-bible-cosmos-hint{color:var(--epic-fg-mute)}.story-bible-grid{gap:var(--epic-space-5);grid-template-columns:repeat(4,1fr);align-items:start;display:grid}@media (width<=1279.98px){.story-bible-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=767.98px){.story-bible-grid{grid-template-columns:1fr}}.story-bible-column{gap:var(--epic-space-2);flex-direction:column;min-width:0;display:flex}.story-bible-column-empty{color:var(--epic-fg-mute);font-family:var(--epic-meta);font-size:var(--epic-meta-size);margin:0}.story-bible-column-list{gap:var(--epic-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.story-bible-entry{margin:0;padding:0}.story-bible-entry-toggle{text-align:start;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;margin:0;padding:0;display:block}.story-bible-entry-toggle:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px;border-radius:var(--epic-radius-card)}.story-bible-entry-meta{align-items:center;gap:var(--epic-space-2);margin-block-end:var(--epic-space-1);display:flex}.story-bible-entry-title{font-family:var(--epic-display);font-size:var(--epic-h3-size,16px);font-weight:var(--epic-h3-weight,600);color:var(--epic-fg);margin:0}.story-bible-entry-body{border-block-start:1px solid var(--epic-rule);font-family:var(--epic-body);font-size:var(--epic-body-size);line-height:var(--epic-body-line);color:var(--epic-fg-soft);margin-block-start:var(--epic-space-3);padding-block-start:var(--epic-space-3)}.story-bible-entry-body h1,.story-bible-entry-body h2,.story-bible-entry-body h3{font-family:var(--epic-display);color:var(--epic-fg);margin-block-start:var(--epic-space-3);margin-block-end:var(--epic-space-1)}.story-bible-entry-body h2{font-size:var(--epic-h2-size)}.story-bible-entry-body p{margin-block:var(--epic-space-2)}.story-bible-entry-body ul,.story-bible-entry-body ol{margin-block:var(--epic-space-2);padding-inline-start:var(--epic-space-5)}.story-bible-entry-deepen{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);color:var(--epic-agent-deepen-entry-fg);border:1px solid var(--epic-agent-deepen-entry-line);border-radius:var(--epic-radius-btn);padding-block:var(--epic-space-1);padding-inline:var(--epic-space-3);cursor:pointer;background:0 0;margin-block-start:var(--epic-space-3)}.story-bible-entry-deepen:hover{background:var(--epic-agent-deepen-entry-bg)}.story-bible-entry-deepen:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.story-bible-entry-actions{gap:var(--epic-space-2);flex-wrap:wrap;margin-block-start:var(--epic-space-3);display:flex}.story-bible-entry-actions .story-bible-entry-deepen{margin-block-start:0}.story-bible-entry-edit{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);color:var(--epic-fg-soft);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-btn);padding-block:var(--epic-space-1);padding-inline:var(--epic-space-3);cursor:pointer;background:0 0}.story-bible-entry-edit:hover{background:var(--epic-paper)}.story-bible-entry-edit:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.story-bible-column-add{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-meta-weight);letter-spacing:var(--epic-meta-tracking);color:var(--epic-fg-soft);border:1px dashed var(--epic-rule);border-radius:var(--epic-radius-btn);padding-block:var(--epic-space-2);padding-inline:var(--epic-space-3);cursor:pointer;background:0 0;margin-block-start:var(--epic-space-3)}.story-bible-column-add:hover{background:var(--epic-paper);color:var(--epic-fg)}.story-bible-column-add:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.story-bible-entry-body code{background:var(--epic-paper);padding-inline:var(--epic-space-1);border-radius:var(--epic-radius-mark);font-family:var(--epic-meta);font-size:var(--epic-meta-size)}.story-bible-entry-body pre{background:var(--epic-paper);border-radius:var(--epic-radius-card);padding:var(--epic-space-3);font-family:var(--epic-meta);font-size:var(--epic-meta-size);overflow-x:auto}.validation-shell{background:var(--epic-bg);min-height:100vh;color:var(--epic-fg);grid-template-columns:280px 1fr;display:grid}@media (width<=1279.98px){.validation-shell{grid-template-columns:72px 1fr}}.validation-main{flex-direction:column;min-width:0;display:flex}.validation-content{padding:var(--epic-space-6,32px) var(--epic-space-6,32px) var(--epic-space-8,64px);gap:var(--epic-space-5,24px);flex-direction:column;flex:1;align-self:center;width:100%;max-width:920px;display:flex}.validation-status{padding:var(--epic-space-4,16px);color:var(--epic-fg-soft)}.validation-status--warn{color:var(--epic-fg);padding:var(--epic-space-5,24px);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-md,8px);background:var(--epic-hover)}.validation-back,.validation-retry{margin-top:var(--epic-space-3,12px);padding:var(--epic-space-2,8px) var(--epic-space-3,12px);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-sm,4px);color:var(--epic-fg);cursor:pointer;font:inherit;background:0 0}.validation-back:hover,.validation-retry:hover{background:var(--epic-hover)}.validation-header__bar{justify-content:space-between;align-items:center;gap:var(--epic-space-4,16px);margin-top:var(--epic-space-2,8px);display:flex}.validation-title{font-size:var(--epic-text-h1,28px);font-weight:var(--epic-weight-bold,600);margin:0;line-height:1.2}.validation-cta{padding:var(--epic-space-3,12px) var(--epic-space-5,24px);background:var(--epic-accent);color:var(--epic-on-accent,white);border:1px solid var(--epic-accent);border-radius:var(--epic-radius-pill,999px);font:inherit;font-weight:var(--epic-weight-bold,600);cursor:pointer}.validation-cta:hover{filter:brightness(1.05)}.validation-cta:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.validation-runs-strip{gap:var(--epic-space-3,12px);flex-direction:column;display:flex}.validation-runs-strip__error{padding:var(--epic-space-3,12px);border:1px solid var(--epic-warn,var(--epic-accent));border-radius:var(--epic-radius-md,8px);background:var(--epic-hover);color:var(--epic-fg)}.validation-runs-strip__empty{padding:var(--epic-space-3,12px) 0;color:var(--epic-fg-mute)}.validation-runs-strip__list{gap:var(--epic-space-3,12px);flex-flow:wrap;margin:0;padding:0;list-style:none;display:flex}.validation-runs-strip__item{gap:var(--epic-space-2,8px);padding:var(--epic-space-3,12px) var(--epic-space-4,16px);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-md,8px);background:var(--epic-card,var(--epic-bg));flex-direction:column;flex:180px;min-width:180px;max-width:240px;display:flex}.validation-runs-strip__head{justify-content:space-between;align-items:center;gap:var(--epic-space-2,8px);display:flex}.validation-runs-strip__id{font-family:var(--epic-font-mono,ui-monospace, monospace);font-size:var(--epic-text-sm,12px);color:var(--epic-fg-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.validation-runs-strip__meta{align-items:center;gap:var(--epic-space-2,8px);font-size:var(--epic-text-sm,12px);color:var(--epic-fg-mute);display:flex}.validation-category-tabs{gap:var(--epic-space-2,8px);scroll-snap-type:x proximity;scroll-padding:var(--epic-space-2,8px);scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--epic-rule) transparent;padding-bottom:var(--epic-space-1,4px);flex-wrap:nowrap;display:flex;overflow:auto hidden}.validation-category-tabs::-webkit-scrollbar{height:6px}.validation-category-tabs::-webkit-scrollbar-thumb{background:var(--epic-rule);border-radius:3px}.validation-category-tabs::-webkit-scrollbar-track{background:0 0}.validation-category-tabs__tab{scroll-snap-align:start;gap:var(--epic-space-2,8px);min-width:96px;padding:var(--epic-space-2,8px) var(--epic-space-3,12px);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-md,8px);color:var(--epic-fg-soft);font:inherit;cursor:pointer;text-align:left;background:0 0;flex-direction:column;flex:none;display:flex}.validation-category-tabs__tab:hover{background:var(--epic-hover)}.validation-category-tabs__tab[data-active=true]{background:var(--epic-hover);color:var(--epic-fg);border-color:var(--epic-fg-soft)}.validation-category-tabs__tab:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.validation-category-tabs__label{align-items:baseline;gap:var(--epic-space-2,8px);font-weight:var(--epic-weight-medium,500);display:flex}.validation-category-tabs__count{font-size:var(--epic-text-sm,12px);color:var(--epic-fg-mute);font-variant-numeric:tabular-nums}.validation-category-tabs__bar{margin-top:auto}.validation-issue-list__items{gap:var(--epic-space-2,8px);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.validation-issue-list__item{gap:var(--epic-space-1,4px);flex-direction:column;display:flex}.validation-empty{padding:var(--epic-space-6,32px) var(--epic-space-4,16px);text-align:center;color:var(--epic-fg-soft);border:1px dashed var(--epic-rule);border-radius:var(--epic-radius-md,8px)}.validation-empty p{margin:var(--epic-space-2,8px) 0 0}.validation-row-error{padding:var(--epic-space-2,8px) var(--epic-space-3,12px);color:var(--epic-fg);background:var(--epic-hover);border-left:2px solid var(--epic-accent);border-radius:var(--epic-radius-sm,4px);font-size:var(--epic-text-sm,12px)}
