@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-draft-bg:#f4f2ec;--epic-card:#fff;--epic-card-hover:#f7f5ee;--epic-hover:#efece3;--epic-active:#eae6da;--epic-fg:#1a1815;--epic-fg-soft:#4a463e;--epic-fg-mute:#6b6557;--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-draft-bg:#14120f;--epic-card:#1f1d18;--epic-card-hover:#25221c;--epic-hover:#25221c;--epic-active:#2c2922;--epic-fg:#e2dccb;--epic-fg-soft:#b3ad9c;--epic-fg-mute:#999280;--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)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.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);color:var(--epic-fg);transition:border-color .12s,background .12s;display:block}.sds-card[data-interactive=true]:hover{border-color:var(--epic-rule-strong);background:var(--epic-card-hover)}.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{background:var(--epic-rule);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);grid-template-columns:1fr 1fr 1fr;gap:1px;display:grid;overflow:hidden}.sds-trigrid-cell{gap:var(--epic-space-1);padding-block:var(--epic-space-3);padding-inline:var(--epic-space-4);background:var(--epic-card);color:var(--epic-fg);flex-direction:column;display:flex}.sds-trigrid-cell-wide{grid-column:1/-1}.sds-trigrid-label{font-family:var(--epic-meta);letter-spacing:.18em;font-size:9.5px;font-weight:var(--epic-meta-weight);text-transform:uppercase;color:var(--epic-fg-mute);margin:0}.sds-trigrid-body{font-family:var(--epic-body);color:var(--epic-fg);font-size:12.5px;line-height:1.55}.sds-trigrid-body-quote{color:var(--epic-fg);font-size:14px;font-style:italic;font-weight:500}@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-mute);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__shell{position:relative}.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);min-height:var(--epic-prose-min-height,40vh);outline:none}.sds-prose-editor__placeholder{pointer-events:none;-webkit-user-select:none;user-select:none;font-family:var(--epic-prose);font-size:var(--epic-prose-size);line-height:var(--epic-prose-line);color:var(--epic-fg-faint);position:absolute;top:0;left:0}.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-issue-row{gap:var(--epic-space-2);background:var(--epic-card);border:1px solid var(--epic-rule);border-left:3px solid var(--epic-rule-strong);border-radius:var(--epic-radius-card);grid-template-columns:80px 1fr auto;align-items:start;padding:14px 18px;display:grid}.sds-issue-row[data-severity=high]{border-left-color:var(--epic-warn)}.sds-issue-row[data-severity=med]{border-left-color:var(--epic-warn-line)}.sds-issue-row[data-severity=low]{border-left-color:var(--epic-rule-strong)}.sds-issue-row[data-status=dismissed]{opacity:.6}.sds-issue-row__sev{align-items:center;gap:6px;min-width:0;padding-top:3px;display:flex}.sds-issue-row__dot{background:var(--epic-fg-mute);border-radius:50%;flex-shrink:0;width:6px;height:6px}.sds-issue-row[data-severity=high] .sds-issue-row__dot{background:var(--epic-warn)}.sds-issue-row[data-severity=med] .sds-issue-row__dot{background:var(--epic-warn-line)}.sds-issue-row__sev-label{font-family:var(--epic-meta);letter-spacing:.16em;text-transform:uppercase;color:var(--epic-fg-mute);font-size:10px}.sds-issue-row__body{gap:var(--epic-space-1);flex-direction:column;min-width:0;display:flex}.sds-issue-row__category{font-family:var(--epic-meta);letter-spacing:.18em;text-transform:uppercase;color:var(--epic-accent);font-size:9.5px}.sds-issue-row__title{font-family:var(--epic-display);font-size:var(--epic-h3-size);font-weight:var(--epic-h3-weight);color:var(--epic-fg);margin:0}.sds-issue-row__detail{font-family:var(--epic-body);font-size:var(--epic-meta-size);color:var(--epic-fg-soft);margin:0;line-height:1.55}.sds-issue-row__loc{font-family:var(--epic-meta);color:var(--epic-fg-mute);align-items:center;gap:6px;font-size:10.5px;display:inline-flex}.sds-issue-row__loc-glyph{font-size:12px;line-height:1}.sds-issue-row__actions{align-items:stretch;gap:var(--epic-space-1);flex-direction:column;display:flex}.sds-issue-row__action{appearance:none;border-radius:var(--epic-radius-pill);text-align:left;cursor:pointer;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);white-space:nowrap;background:0 0;border:1px solid #0000}.sds-issue-row__action:hover:not([aria-disabled=true]){background:var(--epic-hover);color:var(--epic-fg);border-color:var(--epic-rule)}.sds-issue-row__action:focus-visible{outline:2px solid var(--epic-accent);outline-offset:1px}.sds-issue-row__action[aria-disabled=true]{color:var(--epic-fg-faint);cursor:not-allowed}.sds-issue-row__action--fix{color:var(--epic-accent)}.sds-button{font-family:var(--epic-body);cursor:pointer;border:0}.sds-button:disabled{opacity:.55;cursor:not-allowed}.sds-button[data-variant=primary]{background:var(--epic-accent);color:var(--epic-on-accent);border-radius:var(--epic-radius-btn);letter-spacing:.005em;align-items:center;gap:6px;padding:6px 12px;font-size:11.5px;font-weight:600;transition:filter .12s;display:inline-flex}.sds-button[data-variant=primary]:hover{filter:brightness(1.08)}.sds-button[data-variant=ghost]{color:var(--epic-fg-mute);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-btn);background:0 0;align-items:center;gap:5px;padding:5px 10px;font-size:11.5px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.sds-button[data-variant=ghost]:hover{background:var(--epic-hover);color:var(--epic-fg);border-color:var(--epic-rule-strong)}.sds-button[data-variant=bordered]{color:var(--epic-fg);border:1px solid var(--epic-rule-strong);border-radius:var(--epic-radius-btn);background:0 0;align-items:center;gap:5px;padding:5px 10px;font-size:11.5px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.sds-button[data-variant=bordered]:hover{background:var(--epic-hover);border-color:var(--epic-fg-faint)}.sds-button[data-variant=toggle]{font-family:var(--epic-meta);color:var(--epic-fg-mute);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-btn);letter-spacing:.04em;text-transform:uppercase;background:0 0;align-items:center;gap:6px;padding:5px 10px;font-size:11px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.sds-button[data-variant=toggle]:hover{background:var(--epic-hover);color:var(--epic-fg)}.sds-button[data-variant=toggle][data-on=y]{background:var(--epic-fg);color:var(--epic-bg);border-color:var(--epic-fg)}.sds-button[data-variant=icon]{width:28px;height:28px;color:var(--epic-fg-mute);background:0 0;border-radius:6px;place-items:center;transition:background .12s,color .12s;display:grid}.sds-button[data-variant=icon]:hover{background:var(--epic-hover);color:var(--epic-fg)}.sds-ref{color:var(--epic-fg);font:inherit;text-align:inherit;background-image:linear-gradient(var(--epic-accent), var(--epic-accent));cursor:pointer;white-space:pre-wrap;background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;border:0;padding:0 1px;text-decoration:none;transition:background-color .18s,color .18s;display:inline;position:relative}.sds-ref:before{content:"";background:var(--epic-accent-soft);opacity:0;z-index:-1;border-radius:3px;transition:opacity .15s;position:absolute;inset:-1px -2px}.sds-ref:hover{color:var(--epic-accent)}.sds-ref:hover:before{opacity:1}.sds-ref[data-new=true]{animation:1.6s ease-out sds-ref-flash}@keyframes sds-ref-flash{0%{background-color:#0000}20%{background-color:var(--epic-accent-soft);box-shadow:0 0 0 3px var(--epic-accent-soft)}to{background-color:#0000;box-shadow:0 0 #0000}}.sds-toast{background:var(--epic-fg);color:var(--epic-bg);border:1px solid var(--epic-fg);border-radius:var(--epic-radius-card);z-index:10;align-items:center;gap:10px;max-width:380px;padding:10px 14px 10px 12px;animation:.35s cubic-bezier(.2,.7,.2,1) sds-toast-in;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0000002e}@keyframes sds-toast-in{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}.sds-toast__mark{border-radius:var(--epic-radius-mark);background:var(--epic-accent);width:22px;height:22px;color:var(--epic-on-accent);font-family:var(--epic-display);flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid}.sds-toast__agent{font-family:var(--epic-meta);letter-spacing:.16em;text-transform:uppercase;opacity:.65;margin-bottom:2px;font-size:10px}.sds-toast__msg{font-family:var(--epic-prose);font-size:12px;line-height:1.4}.sds-bar-wrap{display:block}.sds-bar{border-radius:var(--epic-radius-card);background:var(--epic-rule);height:6px;display:flex;overflow:hidden}.sds-bar__int{background:var(--epic-accent)}.sds-bar__act{background:var(--epic-fg-mute)}.sds-bar-legend{font-family:var(--epic-meta);color:var(--epic-fg-mute);justify-content:space-between;margin-top:4px;font-size:9.5px;display:flex}.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:8;background:var(--epic-card);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:absolute;top:46px;bottom:0;right:0;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}.skald-chat-thread{gap:var(--epic-space-3);padding:var(--epic-space-4);background:var(--epic-bg);flex-direction:column;flex:1;display:flex;overflow-y:auto}.skald-chat-row{flex-direction:column;gap:4px;max-width:92%;display:flex}.skald-chat-row-agent{align-self:flex-start}.skald-chat-row-user{align-self:flex-end;align-items:flex-end}.skald-chat-meta{align-items:center;gap:var(--epic-space-2);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);display:flex}.skald-chat-bubble{padding:var(--epic-space-2) var(--epic-space-3);border-radius:var(--epic-radius-card);font-family:var(--epic-body);font-size:var(--epic-body-size);line-height:var(--epic-body-line);border:1px solid var(--epic-rule)}.skald-chat-bubble-agent{background:var(--epic-card);color:var(--epic-fg)}.skald-chat-bubble-user{background:var(--epic-fg);color:var(--epic-bg);border-color:var(--epic-fg)}.skald-chat-findings{margin:var(--epic-space-2) 0 0;flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.skald-chat-finding{gap:var(--epic-space-2);padding-top:var(--epic-space-2);border-top:1px dashed var(--epic-rule);font-family:var(--epic-body);font-size:var(--epic-meta-size);color:var(--epic-fg-soft);grid-template-columns:14px 1fr;align-items:baseline;display:grid}.skald-chat-finding-glyph{text-align:center;font-weight:700}.skald-chat-finding-ok .skald-chat-finding-glyph{color:var(--epic-accent)}.skald-chat-finding-warn .skald-chat-finding-glyph{color:var(--epic-warn)}.skald-chat-finding-info .skald-chat-finding-glyph{color:var(--epic-fg-mute)}.skald-chat-refs{gap:var(--epic-space-2);margin-top:var(--epic-space-2);flex-wrap:wrap;display:flex}.skald-chat-ref{padding:4px var(--epic-space-2);font-family:var(--epic-meta);font-size:var(--epic-meta-size);color:var(--epic-fg-soft);background:var(--epic-bg);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-btn);cursor:pointer;appearance:none;transition:border-color var(--epic-dur) var(--epic-ease);align-items:center;gap:5px;display:inline-flex}.skald-chat-ref:hover{border-color:var(--epic-fg);color:var(--epic-fg)}.skald-chat-ref:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.skald-agent-roster--chips{gap:var(--epic-space-2);padding:var(--epic-space-2) var(--epic-space-4);border-bottom:1px solid var(--epic-rule);background:var(--epic-bg);flex-flow:wrap}.skald-agent-roster--chips .skald-agent-roster-item{padding:3px var(--epic-space-2);border-radius:var(--epic-radius-pill);border-color:var(--agent-line,var(--epic-rule));background:var(--agent-bg,var(--epic-card));flex:none;align-items:center;gap:5px}.skald-agent-roster--chips .skald-agent-roster-swatch{width:5px;height:5px;margin-top:0}.skald-agent-roster--chips .skald-agent-roster-text{flex-direction:row}.skald-agent-roster--chips .skald-agent-roster-name{font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);color:var(--epic-fg-soft);font-weight:500}.skald-agent-roster--chips .skald-agent-roster-role{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skald-chat-suggest{padding:var(--epic-space-2) var(--epic-space-4);border-top:1px solid var(--epic-rule);flex-wrap:wrap;gap:5px;display:flex}.skald-chat-suggest-btn{padding:5px var(--epic-space-3);font-family:var(--epic-meta);font-size:var(--epic-meta-size);color:var(--epic-fg-soft);background:var(--epic-card);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-btn);cursor:pointer;appearance:none;transition:border-color var(--epic-dur) var(--epic-ease)}.skald-chat-suggest-btn:hover{border-color:var(--epic-fg);color:var(--epic-fg)}.skald-chat-suggest-btn: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)}.draft-note{margin-top:var(--epic-space-4);display:block}.draft-note-shell{background:var(--epic-draft-bg);border:1px dashed var(--epic-rule-strong);border-radius:var(--epic-radius-card);padding:16px 18px}.draft-note-input{background:var(--epic-bg);width:100%;color:var(--epic-fg);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);font-family:var(--epic-prose);resize:vertical;transition:border-color var(--epic-dur-fast);box-sizing:border-box;outline:none;padding:12px 14px;font-size:13px;line-height:1.55}.draft-note-input:focus{border-color:var(--epic-accent)}.draft-note-input::placeholder{color:var(--epic-fg-faint);white-space:pre-wrap}.draft-note-preview{background:var(--epic-card);border-left:2px solid var(--epic-accent);border-radius:4px;margin-top:12px;padding:12px 14px}.draft-note-preview p{font-size:13px;line-height:1.6;font-family:var(--epic-prose);color:var(--epic-fg);white-space:pre-wrap;margin:0}.character-lab-content{padding-block:var(--epic-space-6);padding-inline:var(--epic-space-6);background:var(--epic-bg);width:100%;max-width:1440px;color:var(--epic-fg);flex:1;margin-inline:auto;overflow: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{grid-template-columns:232px 1fr;align-items:start;gap:26px;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{text-align:start;border-radius:var(--epic-radius-card);cursor:pointer;width:100%;font:inherit;color:inherit;transition:background var(--epic-dur-fast), border-color var(--epic-dur-fast);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding-block:9px;padding-inline:10px;display:flex}.character-lab-list-button:hover{background:var(--epic-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-strong)}.character-lab-list-text{flex-direction:column;flex:1;min-width:0;display:flex}.character-lab-list-name{font-family:var(--epic-display);color:var(--epic-fg);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.character-lab-list-role{font-family:var(--epic-meta);color:var(--epic-fg-mute);text-overflow:ellipsis;white-space:nowrap;margin-block-start:1px;font-size:10.5px;overflow:hidden}.character-lab-list-pov{font-family:var(--epic-meta);letter-spacing:.14em;background:var(--epic-accent);color:var(--epic-on-accent);border-radius:3px;flex:none;padding-block:2px;padding-inline:6px;font-size:9px;font-weight:600}.character-lab-portrait{border-radius:var(--epic-radius-portrait);object-fit:cover;background:var(--epic-side);color:var(--epic-fg);border:1px solid var(--epic-rule);font-family:var(--epic-display);flex:none;place-items:center;font-weight:600;display:grid}.character-lab-portrait--sm{width:32px;height:32px;font-size:14px}.character-lab-portrait--lg{width:52px;height:52px;font-size:22px}.character-lab-portrait[data-pov=y]{background:var(--epic-accent);color:var(--epic-on-accent);border-color:var(--epic-accent)}.character-lab-portrait--placeholder{background:var(--epic-side);color:var(--epic-fg-mute)}.character-lab-portrait--placeholder[data-pov=y]{background:var(--epic-accent);color:var(--epic-on-accent)}.character-lab-detail{gap:var(--epic-space-5);flex-direction:column;min-width:0;display:flex}.character-lab-detail-header{align-items:center;gap:14px;display:flex}.character-lab-detail-heading{gap:var(--epic-space-1);flex-direction:column;align-items:start;display:flex}.character-lab-detail-name{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}.character-lab-trigrid{margin:0}.character-lab-cell-empty{color:var(--epic-fg-mute);margin:0;font-style:italic}.character-lab-section-head{align-items:center;gap:10px;margin-block-end:10px;display:flex}.character-lab-section-title{font-family:var(--epic-display);font-size:var(--epic-h3-size);font-weight:var(--epic-h3-weight);letter-spacing:var(--epic-h3-tracking);color:var(--epic-fg);flex:none;margin:0}.character-lab-section-rule{background:var(--epic-rule);flex:1;height:1px}.character-lab-bio{display:block}.character-lab-bio-body{font-family:var(--epic-prose);color:var(--epic-fg);text-wrap:pretty;font-size:13.5px;line-height:1.65}.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-relations{background:var(--epic-rule);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.character-lab-relation{background:var(--epic-card);grid-template-columns:180px 110px 1fr;align-items:baseline;gap:14px;padding-block:10px;padding-inline:14px;font-size:12px;display:grid}.character-lab-rel-who{font-family:var(--epic-display);color:var(--epic-fg);font-size:13px;font-weight:600}.character-lab-rel-how{font-family:var(--epic-meta);letter-spacing:.14em;text-transform:uppercase;color:var(--epic-accent);font-size:10px}.character-lab-rel-note{color:var(--epic-fg-soft);line-height:1.5}.character-lab-voice-panel{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{background:var(--epic-rule);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.character-lab-voice-item{align-items:center;gap:var(--epic-space-3);background:var(--epic-card);padding-block:10px;padding-inline:14px;display:flex}.character-lab-voice-text{min-width:0;font-family:var(--epic-body);font-size:12px;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);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;font-size:12px}.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:10px;display:flex}.adaptation-audit__title{font-family:var(--epic-display);font-size:var(--epic-h3-size,14px);font-weight:var(--epic-h3-weight,600);letter-spacing:var(--epic-h3-tracking,.01em);color:var(--epic-fg);margin:0}.adaptation-audit__rule{flex:1}.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;transition:background-color .12s var(--epic-ease);background:0 0}.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-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 var(--epic-ease)}.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{margin-bottom:var(--epic-space-5,24px)}.adaptation-mandate__bar{justify-content:space-between;align-items:center;gap:var(--epic-space-3,12px);margin-bottom:8px;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__grid{background:var(--epic-rule);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card,3px);grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.adaptation-mandate__cell{background:var(--epic-card);padding:12px 16px}.adaptation-mandate__cell .sds-eyebrow{margin-bottom:4px}.adaptation-mandate__value{font-size:12.5px;font-family:var(--epic-display);color:var(--epic-fg);font-weight:600}.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;transition:background-color .12s var(--epic-ease);background:0 0}.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;transition:background-color .12s var(--epic-ease);flex:none}.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-inv{border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card,3px);background:var(--epic-card);overflow:hidden}.adaptation-inv:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.adaptation-inv__row{border-bottom:1px solid var(--epic-rule);color:var(--epic-fg);grid-template-columns:50px 1.4fr 1.6fr 90px 2fr;align-items:center;gap:16px;padding:10px 14px;font-size:11.5px;display:grid}.adaptation-inv__row:last-child{border-bottom:0}.adaptation-inv__head{background:var(--epic-active);letter-spacing:.16em;text-transform:uppercase;color:var(--epic-fg-mute);font-size:9.5px;font-family:var(--epic-meta)}.adaptation-inv__ch{font-family:var(--epic-meta);color:var(--epic-fg-mute);font-variant-numeric:tabular-nums}.adaptation-inv__scene{font-family:var(--epic-display);font-size:13px;font-weight:600}.adaptation-inv__legend{color:var(--epic-fg-mute);font-size:9.5px;font-family:var(--epic-meta);justify-content:space-between;margin-top:4px;display:flex}.adaptation-inv__via-cell{display:flex}.adaptation-inv__via{letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-family:var(--epic-meta);text-align:center;border-radius:3px;padding:3px 8px;font-weight:600}.adaptation-inv__via--ready{background:var(--epic-accent-soft);color:var(--epic-accent)}.adaptation-inv__via--rework{background:var(--epic-warn-bg);color:var(--epic-warn)}.adaptation-inv__note{color:var(--epic-fg-soft);font-size:11px;line-height:1.5}.adaptation-inv__unset{color:var(--epic-fg-faint)}.adaptation-screen__main{min-width:0;padding:var(--epic-space-6,32px) var(--epic-space-7,48px);background:var(--epic-bg);color:var(--epic-fg);flex:auto;overflow-y:auto}.adaptation-head{justify-content:space-between;align-items:flex-end;gap:var(--epic-space-5,24px);border-bottom:1px solid var(--epic-rule);margin-bottom:22px;padding-bottom:22px;display:flex}.adaptation-head-lead{min-width:0}.adaptation-head-title{margin:var(--epic-space-1,4px) 0 6px;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)}.adaptation-lede{max-width:56ch;font-family:var(--epic-body);font-size:var(--epic-body-size,13px);color:var(--epic-fg-soft);margin:6px 0 0;font-style:italic;line-height:1.55}.adaptation-head-meta{align-items:center;gap:var(--epic-space-2,8px);flex-shrink:0;display:flex}.adaptation-section-head{align-items:center;gap:10px;margin:28px 0 14px;display:flex}.adaptation-section-head__title{font-family:var(--epic-display);font-size:var(--epic-h3-size,14px);font-weight:var(--epic-h3-weight,600);letter-spacing:var(--epic-h3-tracking,.01em);color:var(--epic-fg);margin:0}.adaptation-section-head__rule{flex:1}.adaptation-section-head__count{color:var(--epic-fg-mute);font-size:11px;font-family:var(--epic-meta);font-variant-numeric:tabular-nums}.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 var(--epic-ease)}.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-balance__bar .sds-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{border-left:2px solid var(--epic-rule);font-family:var(--epic-meta);color:var(--epic-fg);text-align:left;padding:6px 10px}.sds-marginalia-content{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0;display:block}.sds-marginalia-content:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}@media (prefers-reduced-motion:no-preference){.sds-marginalia{transition:border-color .15s var(--epic-ease), background-color .15s var(--epic-ease)}}.sds-marginalia:hover{background:var(--epic-card-hover)}.sds-marginalia[data-tone=worldbuilder]{border-left-color:var(--epic-accent)}.sds-marginalia[data-tone=voice-keeper]{border-left-color:var(--epic-fg-soft)}.sds-marginalia[data-tone=name-generator]{border-left-color:var(--epic-fg-mute)}.sds-marginalia[data-tone=foreshadow-keeper]{border-left-color:#b07c4f}.sds-marginalia[data-warn=y]{border-left-color:var(--epic-warn);background:var(--epic-warn-bg)}.sds-marginalia-head{align-items:center;gap:6px;margin-bottom:2px;display:flex}.sds-marginalia-glyph{color:var(--epic-fg);font-size:11px;font-weight:700}.sds-marginalia[data-warn=y] .sds-marginalia-glyph{color:var(--epic-warn)}.sds-marginalia-agent{letter-spacing:.18em;text-transform:uppercase;color:var(--epic-fg-mute);font-size:9px}.sds-marginalia-label{font-family:var(--epic-prose);letter-spacing:-.005em;color:var(--epic-fg);margin:0;font-size:13px;font-weight:500;display:block}.sds-marginalia-detail{color:var(--epic-fg-soft);margin:2px 0 0;font-size:11px;line-height:1.5;display:block}.sds-marginalia[data-status=addressed] .sds-marginalia-label,.sds-marginalia[data-status=addressed] .sds-marginalia-detail,.sds-marginalia[data-status=addressed] .sds-marginalia-agent{color:var(--epic-fg-mute)}.sds-marginalia-actions{gap:var(--epic-space-2);opacity:0;max-height:0;margin-top:0;display:flex;overflow:hidden}@media (prefers-reduced-motion:no-preference){.sds-marginalia-actions{transition:max-height .15s var(--epic-ease), opacity .15s var(--epic-ease), margin-top .15s var(--epic-ease)}}.sds-marginalia:hover .sds-marginalia-actions,.sds-marginalia:focus-within .sds-marginalia-actions{max-height:2.5rem;margin-top:var(--epic-space-2);opacity:1}.sds-marginalia-action{font-family:var(--epic-meta);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:11px}.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);transition:opacity .24s var(--epic-ease);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:14px;line-height:1;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);color:var(--epic-fg)}.skald-drafting__inner{max-width:1100px;margin:0 auto;padding:28px 36px 60px}.skald-drafting__head{justify-content:space-between;align-items:flex-end;gap:var(--epic-space-5);border-block-end:1px solid var(--epic-rule);margin-block-end:22px;padding-block-end:22px;display:flex}.skald-drafting__head-lead{min-width:0}.skald-drafting__head-title{margin-block:var(--epic-space-1) 6px;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)}.skald-drafting__lede{max-width:56ch;font-family:var(--epic-body);font-size:var(--epic-body-size);color:var(--epic-fg-soft);margin:6px 0 0;font-style:italic;line-height:1.55}.skald-drafting__head-meta{align-items:center;gap:var(--epic-space-3);flex-shrink:0;display:flex}.skald-drafting__back{color:var(--epic-fg-soft);font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);cursor:pointer;background:0 0;border:none;padding:4px 0}.skald-drafting__back:hover,.skald-drafting__back:focus-visible{color:var(--epic-fg)}.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__rail{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.skald-drafting__chip{border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);background:var(--epic-card);min-width:78px;color:var(--epic-fg);font-family:var(--epic-meta);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;display:flex}@media (prefers-reduced-motion:no-preference){.skald-drafting__chip{transition:border-color .12s var(--epic-ease), background-color .12s var(--epic-ease)}}.skald-drafting__chip:not(:disabled):hover{border-color:var(--epic-rule-strong)}.skald-drafting__chip:disabled{cursor:default;opacity:.7}.skald-drafting__chip[data-active=y]{border-color:var(--epic-fg);background:var(--epic-fg);color:var(--epic-bg)}.skald-drafting__chip:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.skald-drafting__chip-num{letter-spacing:-.01em;font-size:13px;font-weight:600}.skald-drafting__chip-status{letter-spacing:.18em;text-transform:uppercase;opacity:.65;font-size:9px}.skald-drafting__chip-words{opacity:.7;font-variant-numeric:tabular-nums;font-size:10px}.skald-drafting__context{background:var(--epic-card);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);grid-template-columns:220px 140px 1fr;gap:24px;margin-bottom:22px;padding:14px 18px;display:grid}.skald-drafting__context-cell{min-width:0}.skald-drafting__context-val{font-family:var(--epic-prose);letter-spacing:-.005em;color:var(--epic-fg);margin-top:2px;font-size:16px;font-weight:500}.skald-drafting__context-muted{font-family:var(--epic-meta);color:var(--epic-fg-mute);margin-top:2px;font-size:11.5px}.skald-drafting__checks{grid-template-columns:repeat(2,1fr);gap:4px 16px;margin-top:4px;display:grid}.skald-drafting__check{font-family:var(--epic-meta);color:var(--epic-fg-soft);grid-template-columns:14px 1fr auto;align-items:baseline;gap:6px;font-size:11.5px;display:grid}.skald-drafting__check-glyph{color:var(--epic-fg-mute);font-weight:700}.skald-drafting__check-val{color:var(--epic-fg);font-variant-numeric:tabular-nums}.skald-drafting__page{background:var(--epic-paper);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);margin-bottom:24px;padding:32px 28px 40px}.skald-drafting__folio{text-align:center;border-bottom:1px solid var(--epic-rule);margin-bottom:22px;padding:8px 0 18px}.skald-drafting__folio-num{font-family:var(--epic-meta);letter-spacing:.42em;color:var(--epic-fg-mute);font-size:10px}.skald-drafting__folio-title{font-family:var(--epic-prose);letter-spacing:-.012em;color:var(--epic-fg);margin:6px 0 4px;font-size:26px;font-weight:500}.skald-drafting__folio-pov{font-family:var(--epic-meta);letter-spacing:.18em;text-transform:uppercase;color:var(--epic-fg-mute);font-size:10px}.skald-drafting__editor-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;display:flex}.skald-drafting__draft-button{font:inherit;border-radius:var(--epic-radius-btn);border:1px solid var(--epic-rule-strong);color:var(--epic-fg);cursor:pointer;background:0 0;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__confirm{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.skald-drafting__confirm-text{color:var(--epic-fg-soft);font-family:var(--epic-body);font-size:var(--epic-body-size);margin:0}.skald-drafting__confirm-cancel{font:inherit;border-radius:var(--epic-radius-btn);border:1px solid var(--epic-rule);color:var(--epic-fg-mute);cursor:pointer;background:0 0;padding:8px 14px}.skald-drafting__confirm-cancel:hover,.skald-drafting__confirm-cancel:focus-visible{background:var(--epic-hover);color:var(--epic-fg)}.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__voicerules{margin-top:24px}.skald-drafting__voicerules-head{align-items:baseline;gap:var(--epic-space-3);margin-bottom:8px;display:flex}.skald-drafting__voicerules-title{font-family:var(--epic-display);font-size:var(--epic-h3-size);font-weight:var(--epic-h3-weight);letter-spacing:var(--epic-h3-tracking);color:var(--epic-fg);margin:0}.skald-drafting__voicerules-hint{font-family:var(--epic-meta);letter-spacing:.16em;text-transform:uppercase;color:var(--epic-fg-mute);font-size:10px}.skald-drafting__voicerules-empty{font-family:var(--epic-body);font-size:var(--epic-body-size);color:var(--epic-fg-soft);margin:0;font-style:italic}.skald-app[data-focus=on] .skald-drafting__rail,.skald-app[data-focus=on] .skald-drafting__context,.skald-app[data-focus=on] .skald-drafting__voicerules,.skald-app[data-focus=on] .skald-drafting__marginalia{display:none}.skald-app[data-focus=on] .skald-drafting__head{border-block-end:0}.skald-app[data-focus=on] .skald-drafting__page{background:0 0;border:0;padding:0}.skald-app[data-focus=on] .skald-drafting__prose-wrap{grid-template-columns:1fr}.skald-drafting__prose-wrap{grid-template-columns:1fr 240px;gap:28px;display:grid}.skald-drafting__body{min-width:0}.skald-drafting__prose{max-width:60ch;margin:0 auto}.skald-drafting__marginalia{flex-direction:column;align-self:start;gap:10px;min-width:0;padding-top:4px;display:flex;position:sticky;top:24px}@media (width<=960px){.skald-drafting__prose-wrap{grid-template-columns:1fr}.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 var(--epic-ease), border-color .18s var(--epic-ease)}}.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-h1-size);font-weight:var(--epic-h1-weight);letter-spacing:var(--epic-h1-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: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-content{padding-block:var(--epic-space-6);padding-inline:var(--epic-space-6);background:var(--epic-bg);width:100%;max-width:1100px;color:var(--epic-fg);flex:1;margin-inline:auto;overflow: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-head{justify-content:space-between;align-items:flex-end;gap:var(--epic-space-5);border-block-end:1px solid var(--epic-rule);margin-block-end:22px;padding-block-end:22px;display:flex}.outline-head-lead{min-width:0}.outline-head-title{margin-block:var(--epic-space-1) 6px;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)}.outline-lede{max-width:56ch;font-family:var(--epic-body);font-size:var(--epic-body-size);color:var(--epic-fg-soft);margin:6px 0 0;font-style:italic;line-height:1.55}.outline-head-meta{align-items:center;gap:var(--epic-space-2);flex-shrink:0;display:flex}.outline-tree{gap:var(--epic-space-8);flex-direction:column;display:flex}.outline-act-head{align-items:baseline;gap:var(--epic-space-4);display:flex}.outline-act-numeral{font-family:var(--epic-prose);font-size:var(--epic-folio-size);letter-spacing:var(--epic-folio-tracking);color:var(--epic-fg-faint);flex:none;line-height:1}.outline-act-headings{gap:var(--epic-space-1);flex-direction:column;display:flex}.outline-act-title{font-family:var(--epic-prose);font-size:var(--epic-h1-size);font-weight:var(--epic-h1-weight);letter-spacing:var(--epic-h1-tracking);color:var(--epic-fg);margin:0}.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-6)}.outline-chapter-head{align-items:baseline;gap:var(--epic-space-3);margin-block-end:var(--epic-space-4);display:flex}.outline-chapter-title{font-family:var(--epic-prose);font-size:var(--epic-h2-size);font-weight:var(--epic-h2-weight);letter-spacing:var(--epic-h2-tracking);color:var(--epic-fg);margin:0}.outline-scenes{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}@media (width<=1024px){.outline-scenes{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.outline-scenes{grid-template-columns:1fr}}.outline-scene{text-align:start;background:var(--epic-card);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);cursor:pointer;width:100%;font:inherit;color:inherit;transition:border-color var(--epic-dur) var(--epic-ease), transform var(--epic-dur) var(--epic-ease);flex-direction:column;padding:12px 14px;display:flex}.outline-scene:hover{border-color:var(--epic-rule-strong);transform:translateY(-1px)}.outline-scene:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.outline-scene[data-fragment=y]{background:var(--epic-side);border-style:dashed}.outline-scene-top{align-items:center;gap:var(--epic-space-2);font-family:var(--epic-meta);letter-spacing:.12em;text-transform:uppercase;color:var(--epic-fg-mute);margin-block-end:var(--epic-space-2);font-size:9.5px;display:flex}.outline-scene-ch{color:var(--epic-fg);flex:none;font-weight:600}.outline-scene-pov{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.outline-scene-title{font-family:var(--epic-display);font-size:var(--epic-h3-size);font-weight:var(--epic-h3-weight);letter-spacing:-.005em;color:var(--epic-fg);margin:0 0 10px}.outline-scene-gct{grid-template-columns:56px 1fr;gap:4px 10px;margin:0;font-size:11px;line-height:1.45;display:grid}.outline-scene-gct dt{font-family:var(--epic-meta);letter-spacing:.18em;text-transform:uppercase;color:var(--epic-fg-mute);margin:0;padding-top:2px;font-size:9px}.outline-scene-gct dd{margin:0}.outline-gct-value{color:var(--epic-fg-soft);font-family:var(--epic-body)}.outline-gct-empty{color:var(--epic-fg-faint)}.skald-brand{align-items:center;gap:10px;display:flex}.skald-brand-mark{background:var(--epic-mark-bg);width:30px;height:30px;color:var(--epic-mark-fg);border-radius:var(--epic-radius-mark);box-shadow:var(--epic-mark-shadow);font-family:var(--epic-display);letter-spacing:-.02em;flex:none;place-items:center;font-size:17px;font-weight:600;display:grid}.skald-brand-text{flex-direction:column;min-width:0;display:flex}.skald-brand-name{font-family:var(--epic-display);letter-spacing:-.01em;color:var(--epic-fg);font-size:17px;font-weight:600}.skald-brand-sub{font-family:var(--epic-meta);letter-spacing:.18em;text-transform:uppercase;color:var(--epic-fg-mute);margin-top:2px;font-size:9.5px}.skald-notice{align-items:center;gap:var(--epic-space-3);padding:var(--epic-space-3) var(--epic-space-4);background:var(--epic-warn-bg);border:1px solid var(--epic-warn-line);border-radius:var(--epic-radius-card);color:var(--epic-warn);font-family:var(--epic-meta);font-size:var(--epic-body-size);line-height:var(--epic-body-line);flex-wrap:wrap;margin:0;display:flex}.skald-notice p{margin:0}.project-list{min-height:100vh;padding-block:var(--epic-space-8);padding-inline:var(--epic-space-6);background:var(--epic-paper);color:var(--epic-fg);box-sizing:border-box}.project-list-shell{flex-direction:column;max-width:1100px;margin-inline:auto;display:flex}.project-list-brand{margin-block-end:var(--epic-space-6)}.project-list-section-head{align-items:center;gap:var(--epic-space-3);margin-block-end:var(--epic-space-4);display:flex}.project-list-section-label{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}.project-list-rule{background:var(--epic-rule);flex:1;height:1px}.project-list-count{font-family:var(--epic-meta);color:var(--epic-fg-mute);font-variant-numeric:tabular-nums;font-size:11px}.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-grid{grid-template-columns:repeat(4,1fr);align-items:start;gap:10px;margin:0;margin-block-end:var(--epic-space-8);padding:0;list-style:none;display:grid}@media (width<=1279.98px){.project-list-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=767.98px){.project-list-grid{grid-template-columns:1fr}}.project-list-item{margin:0;padding:0}.project-list-card{text-align:start;background:var(--epic-card);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);cursor:pointer;width:100%;font:inherit;color:inherit;margin:0;padding:14px 14px 16px;transition:border-color .12s,background .12s;display:block}.project-list-card:hover{border-color:var(--epic-rule-strong);background:var(--epic-card-hover)}.project-list-card:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.project-list-card-tag{font-family:var(--epic-meta);letter-spacing:.16em;text-transform:uppercase;color:var(--epic-fg-mute);margin-block-end:6px;font-size:9.5px;display:block}.project-list-card-name{font-family:var(--epic-display);letter-spacing:-.005em;color:var(--epic-fg);margin-block-end:4px;font-size:14.5px;font-weight:600;display:block}.project-list-card-note{font-family:var(--epic-body);color:var(--epic-fg-soft);font-size:11.5px;line-height:1.5;display:block}.project-list-create{border-block-start:1px solid var(--epic-rule);padding-block-start:var(--epic-space-6)}.project-list-create-heading{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-cta{align-self:flex-start}.project-list-cta:disabled{opacity:.6;cursor:not-allowed}.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-paper);color:var(--epic-fg);font-family:var(--epic-body);box-sizing:border-box;justify-content:center;align-items:center;display:flex}.signin-shell{align-items:center;gap:var(--epic-space-5);flex-direction:column;width:100%;max-width:420px;display:flex}.signin-brand{align-self:center}.signin-card{gap:var(--epic-space-4);width:100%;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-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);transition:border-color 80ms var(--epic-ease);outline:none}.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-cta{width:100%;padding-block:var(--epic-space-3);justify-content:center}.signin-cta: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-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}.gen-activity{gap:var(--epic-space-3);flex-direction:column;display:flex}.gen-activity-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}.gen-activity-dot{border-radius:var(--epic-radius-pill);background:var(--epic-fg-mute);width:.6rem;height:.6rem;animation:gen-activity-pulse 1.4s var(--epic-ease,ease-in-out) infinite;flex:none}.gen-activity-dot--active{background:var(--epic-accent)}.gen-activity-list{gap:var(--epic-space-3);max-height:16rem;padding:var(--epic-space-3);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);background:var(--epic-paper);flex-direction:column;display:flex;overflow-y:auto}.gen-activity--compact .gen-activity-list{max-height:9rem;padding:var(--epic-space-2) var(--epic-space-3)}.gen-activity-group{gap:var(--epic-space-1);flex-direction:column;display:flex}.gen-activity-group-label{font-family:var(--epic-meta);font-size:var(--epic-meta-size);font-weight:var(--epic-weight-bold,600);letter-spacing:var(--epic-meta-tracking);text-transform:uppercase;color:var(--epic-fg-mute);margin:0}.gen-activity-rows{gap:var(--epic-space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.gen-activity-row{align-items:baseline;gap:var(--epic-space-2);font-family:var(--epic-body);font-size:var(--epic-body-size);color:var(--epic-fg);animation:gen-activity-row-in var(--epic-dur,.24s) var(--epic-ease,ease-out) both;display:flex}.gen-activity-check{color:var(--epic-accent);font-weight:var(--epic-weight-bold,600);flex:none}.gen-activity-row-title{overflow-wrap:anywhere}.gen-activity-skeleton{gap:var(--epic-space-2);flex-direction:column;display:flex}.gen-activity-skeleton-row{border-radius:var(--epic-radius-sm,4px);background:linear-gradient(90deg, var(--epic-rule) 25%, var(--epic-card-hover,var(--epic-card)) 50%, var(--epic-rule) 75%);height:.85rem;animation:gen-activity-shimmer 1.5s var(--epic-ease,ease-in-out) infinite;background-size:200% 100%}.gen-activity-skeleton-row:first-child{width:70%}.gen-activity-skeleton-row:nth-child(2){width:90%}.gen-activity-skeleton-row:nth-child(3){width:55%}.gen-activity-pending{margin:0}.gen-activity-pending-shimmer{border-radius:var(--epic-radius-sm,4px);background:linear-gradient(90deg, var(--epic-rule) 25%, var(--epic-card-hover,var(--epic-card)) 50%, var(--epic-rule) 75%);width:45%;height:.85rem;animation:gen-activity-shimmer 1.5s var(--epic-ease,ease-in-out) infinite;background-size:200% 100%;display:block}.gen-activity-summary{font-family:var(--epic-meta);font-size:var(--epic-meta-size);letter-spacing:var(--epic-meta-tracking);color:var(--epic-fg-mute);margin:0}.gen-activity-prose{max-height:9rem;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);margin:0;overflow-y:auto}@keyframes gen-activity-pulse{0%,to{opacity:.35}50%{opacity:1}}@keyframes gen-activity-row-in{0%{opacity:0;transform:translateY(.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes gen-activity-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.gen-activity-dot,.gen-activity-skeleton-row,.gen-activity-pending-shimmer,.gen-activity-row{animation:none}}.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-list{margin-block:var(--epic-space-1) 0;gap:var(--epic-space-1);flex-direction:column;padding:0;list-style:none;display:flex}.onboarding-upload-item{font-family:var(--epic-body);font-size:var(--epic-meta-size);color:var(--epic-fg-mute);margin:0}.onboarding-upload-error{margin-block:var(--epic-space-1) 0;font-family:var(--epic-body);font-size:var(--epic-meta-size);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-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-start:var(--epic-space-2)}.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-content{padding-block:var(--epic-space-6);padding-inline:var(--epic-space-6);background:var(--epic-bg);width:100%;max-width:1440px;color:var(--epic-fg);flex:1;margin-inline:auto;overflow: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-head{justify-content:space-between;align-items:flex-end;gap:var(--epic-space-5);border-block-end:1px solid var(--epic-rule);margin-block-end:22px;padding-block-end:22px;display:flex}.story-bible-head-lead{min-width:0}.story-bible-head-title{margin-block:var(--epic-space-1) 6px;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-lede{max-width:56ch;font-family:var(--epic-body);font-size:var(--epic-body-size);color:var(--epic-fg-soft);margin:6px 0 0;font-style:italic;line-height:1.55}.story-bible-head-meta{align-items:center;gap:var(--epic-space-2);flex-shrink:0;display:flex}.story-bible-cosmos{background:var(--epic-side);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);align-items:flex-start;gap:22px;margin-block-end:var(--epic-space-3);padding:22px 24px;display:flex;position:relative;overflow:hidden}.story-bible-cosmos-mark{font-size:56px;font-family:var(--epic-display);color:var(--epic-accent);opacity:.9;flex-shrink:0;line-height:1}.story-bible-cosmos-body{flex:1;min-width:0}.story-bible-cosmos-title{margin:var(--epic-space-1) 0 0;max-width:56ch;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);line-height:1.3}.story-bible-cosmos--missing .story-bible-cosmos-title{color:var(--epic-fg-mute)}.story-bible-cosmos-hint{margin-block:var(--epic-space-2) 0;font-family:var(--epic-body);font-size:var(--epic-body-size);line-height:var(--epic-body-line);color:var(--epic-fg-mute)}.story-bible-facts{margin-block:var(--epic-space-3) 0;flex-direction:column;gap:5px;margin-inline:0;padding:0;list-style:none;display:flex}.story-bible-facts li{font-family:var(--epic-body);color:var(--epic-fg-soft);gap:10px;font-size:12.5px;line-height:1.55;display:flex}.story-bible-bullet{color:var(--epic-accent);flex-shrink:0;font-weight:700}.story-bible-section{margin-block-start:var(--epic-space-2)}.story-bible-section-head{align-items:center;gap:var(--epic-space-3);margin-block:28px 14px;display:flex}.story-bible-section-label{font-family:var(--epic-display);font-size:var(--epic-h3-size);font-weight:var(--epic-h3-weight);letter-spacing:var(--epic-h3-tracking);color:var(--epic-fg);margin:0}.story-bible-rule{background:var(--epic-rule);flex:1;height:1px}.story-bible-count{font-family:var(--epic-meta);font-size:var(--epic-meta-size);color:var(--epic-fg-mute);font-variant-numeric:tabular-nums}.story-bible-grid{grid-template-columns:repeat(4,1fr);align-items:start;gap:10px;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-entry{background:var(--epic-card);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);transition:border-color .12s,background .12s;display:block}.story-bible-entry--expanded{grid-column:1/-1}.story-bible-entry:hover{border-color:var(--epic-rule-strong);background:var(--epic-card-hover)}.story-bible-entry-toggle{text-align:start;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;margin:0;padding:14px 14px 16px;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-card-tag{font-family:var(--epic-meta);letter-spacing:.16em;text-transform:uppercase;color:var(--epic-fg-mute);margin-block-end:6px;font-size:9.5px;display:block}.story-bible-card-name{font-family:var(--epic-display);letter-spacing:-.005em;color:var(--epic-fg);margin-block-end:4px;font-size:14.5px;font-weight:600;display:block}.story-bible-card-note{font-family:var(--epic-body);color:var(--epic-fg-soft);font-size:11.5px;line-height:1.5;display:block}.story-bible-entry-body{padding-block:var(--epic-space-3);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);padding-inline:14px}.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-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}.story-bible-entry-actions{gap:var(--epic-space-2);flex-wrap:wrap;margin-block-start:var(--epic-space-3);display:flex}.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}.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-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-section-actions{align-items:flex-start;gap:var(--epic-space-3);flex-wrap:wrap;margin-block-start:var(--epic-space-3);display:flex}.story-bible-section-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}.story-bible-section-add:hover{background:var(--epic-paper);color:var(--epic-fg)}.story-bible-section-add:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.validation-content{padding:var(--epic-space-6,32px) var(--epic-space-6,32px) var(--epic-space-8,64px);gap:var(--epic-space-5,24px);background:var(--epic-bg);width:100%;max-width:920px;color:var(--epic-fg);flex-direction:column;flex:1;margin-inline:auto;display:flex;overflow:auto}.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-head{justify-content:space-between;align-items:flex-end;gap:var(--epic-space-5,24px);border-block-end:1px solid var(--epic-rule);padding-block-end:22px;display:flex}.validation-head-lead{min-width:0}.validation-head-title{margin-block:var(--epic-space-1,4px) 6px;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,0);color:var(--epic-fg)}.validation-lede{max-width:56ch;font-family:var(--epic-body);font-size:var(--epic-body-size,13px);color:var(--epic-fg-soft);margin:6px 0 0;font-style:italic;line-height:1.55}.validation-head-meta{align-items:center;gap:var(--epic-space-2,8px);flex-shrink:0;display:flex}.validation-runbar{gap:var(--epic-space-3,12px);flex-direction:column;display:flex}.validation-cta{padding:var(--epic-space-2,8px) var(--epic-space-4,16px);background:var(--epic-accent);color:var(--epic-on-accent,white);border:1px solid var(--epic-accent);border-radius:var(--epic-radius-pill,2px);font-family:var(--epic-meta);font-size:var(--epic-meta-size,10.5px);letter-spacing:var(--epic-meta-tracking,.16em);text-transform:uppercase;cursor:pointer;align-self:flex-start}.validation-cta:hover{filter:brightness(1.08)}.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-card,3px);background:var(--epic-warn-bg,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-card,3px);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-meta,ui-monospace, monospace);font-size:var(--epic-meta-size,10.5px);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-family:var(--epic-meta);font-size:var(--epic-meta-size,10.5px);color:var(--epic-fg-mute);display:flex}.validation-filters{justify-content:space-between;align-items:center;gap:var(--epic-space-4,16px);flex-wrap:wrap;display:flex}.validation-severity-tabs{gap:var(--epic-space-1,4px);display:flex}.validation-severity-tabs__tab{font-family:var(--epic-meta);color:var(--epic-fg-mute);border-radius:var(--epic-radius-card,3px);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:6px 12px;font-size:11.5px;display:inline-flex}.validation-severity-tabs__tab:hover{background:var(--epic-hover);color:var(--epic-fg)}.validation-severity-tabs__tab[data-active=true]{background:var(--epic-active);color:var(--epic-fg);border-color:var(--epic-rule-strong)}.validation-severity-tabs__tab:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.validation-severity-tabs__count{background:var(--epic-card);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 6px;font-size:10px}.validation-category-facet{align-items:center;gap:var(--epic-space-2,8px);display:inline-flex}.validation-category-facet__label{font-family:var(--epic-meta);letter-spacing:var(--epic-meta-tracking,.16em);text-transform:uppercase;color:var(--epic-fg-mute);font-size:10px}.validation-category-facet__select{font-family:var(--epic-meta);color:var(--epic-fg);background:var(--epic-card);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card,3px);cursor:pointer;padding:6px 10px;font-size:11.5px}.validation-category-facet__select:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.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)}.cross-link-panel{z-index:20;border-left:1px solid var(--epic-rule);background:var(--epic-side);width:320px;animation:cross-link-in .25s var(--epic-ease);padding:22px 22px 28px;position:fixed;top:46px;bottom:0;right:0;overflow:auto}@keyframes cross-link-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.cross-link-panel-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cross-link-panel-close{appearance:none;color:var(--epic-fg-mute);cursor:pointer;border-radius:var(--epic-radius-btn);transition:color var(--epic-dur-fast);background:0 0;border:0;padding:2px 6px;font-size:18px;line-height:1}.cross-link-panel-close:hover{color:var(--epic-fg)}.cross-link-panel-name{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}.cross-link-panel-unresolved{font-family:var(--epic-meta);font-size:var(--epic-meta-size);color:var(--epic-fg-mute);word-break:break-all;margin:4px 0 0}.cross-link-panel-tags{gap:6px;margin:10px 0 14px;display:flex}.cross-link-panel-note{color:var(--epic-fg);font-size:13px;line-height:1.6;font-family:var(--epic-prose);margin:0}.cross-link-panel-rule{margin:22px 0 14px}.cross-link-panel-open{appearance:none;border:1px solid var(--epic-rule-strong);background:var(--epic-card);color:var(--epic-fg);font-family:var(--epic-meta);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--epic-radius-btn);cursor:pointer;transition:border-color var(--epic-dur-fast), color var(--epic-dur-fast);align-items:center;gap:6px;padding:8px 12px;font-size:11px;display:inline-flex}.cross-link-panel-open:hover{border-color:var(--epic-accent);color:var(--epic-accent)}.skald-sidebar{background:var(--epic-side);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;gap:14px;padding:18px 14px 14px;display:flex}.skald-sidebar-brand{align-items:center;gap:10px;display:flex}.skald-sidebar-brand--link{appearance:none;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background var(--epic-dur) var(--epic-ease);background:0 0;border:0;border-radius:6px;margin:0;padding:0}.skald-sidebar-brand--link:hover{background:var(--epic-hover)}.skald-sidebar-brand--link:focus-visible{outline:2px solid var(--epic-accent);outline-offset:2px}.skald-sidebar-brand-mark{background:var(--epic-mark-bg);width:30px;height:30px;color:var(--epic-mark-fg);border-radius:var(--epic-radius-mark);box-shadow:var(--epic-mark-shadow);font-family:var(--epic-display);letter-spacing:-.02em;flex:none;place-items:center;font-size:17px;font-weight:600;display:grid}.skald-sidebar-brand-text{flex-direction:column;min-width:0;display:flex}.skald-sidebar-brand-name{font-family:var(--epic-display);letter-spacing:-.01em;color:var(--epic-fg);font-size:17px;font-weight:600}.skald-sidebar-brand-sub{font-family:var(--epic-meta);letter-spacing:.18em;text-transform:uppercase;color:var(--epic-fg-mute);margin-top:2px;font-size:9.5px}.skald-sidebar-project{background:var(--epic-card);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);padding:10px 12px}.skald-sidebar-project-name{font-family:var(--epic-display);letter-spacing:-.005em;color:var(--epic-fg);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14.5px;font-weight:600;overflow:hidden}.skald-sidebar-project-sub{color:var(--epic-fg-mute);margin:1px 0 0;font-size:11px;font-style:italic}.skald-sidebar-project-meta{font-family:var(--epic-meta);color:var(--epic-fg-mute);align-items:center;gap:6px;margin:8px 0 0;font-size:10.5px;display:flex}.skald-sidebar-dot{border-radius:var(--epic-radius-pill);background:var(--epic-fg-faint);width:3px;height:3px}.skald-sidebar-nav{flex:none}.skald-sidebar-nav-list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.skald-sidebar-nav-button{appearance:none;cursor:pointer;width:100%;font-family:var(--epic-body);color:var(--epic-fg-mute);text-align:left;transition:background var(--epic-dur) var(--epic-ease), color var(--epic-dur) var(--epic-ease);background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:12.5px;font-weight:500;display:flex}.skald-sidebar-nav-icon{color:inherit;opacity:.8;flex:none}.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-accent);font-weight:600}.skald-sidebar-nav-button[data-active=true] .skald-sidebar-nav-icon{opacity:1}.skald-sidebar-nav-label{display:inline-block}.skald-sidebar-spacer{flex:1}.skald-sidebar-agents{background:var(--epic-card);border:1px solid var(--epic-rule);border-radius:var(--epic-radius-card);align-items:center;gap:10px;padding:10px 12px;display:flex}.skald-sidebar-agents-pulse{align-items:center;gap:3px;display:flex}.skald-sidebar-agents-pulse span{border-radius:var(--epic-radius-pill);background:var(--epic-fg-faint);width:4px;height:4px;transition:background var(--epic-dur) var(--epic-ease)}.skald-sidebar-agents.is-active .skald-sidebar-agents-pulse span{background:var(--epic-accent);animation:1.4s ease-in-out infinite skald-sidebar-pulse}.skald-sidebar-agents.is-active .skald-sidebar-agents-pulse span:nth-child(2){animation-delay:.2s}.skald-sidebar-agents.is-active .skald-sidebar-agents-pulse span:nth-child(3){animation-delay:.4s}@keyframes skald-sidebar-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}.skald-sidebar-agents-text{flex-direction:column;flex:1;min-width:0;display:flex}.skald-sidebar-agents-label{font-family:var(--epic-meta);letter-spacing:.16em;text-transform:uppercase;color:var(--epic-fg-mute);font-size:9.5px}.skald-sidebar-agents-task{font-family:var(--epic-meta);color:var(--epic-fg);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}@media (width<=1279.98px){.skald-sidebar{align-items:center;padding:14px 8px}.skald-sidebar-brand-text,.skald-sidebar-project,.skald-sidebar-agents-text{display:none}.skald-sidebar-nav-list{width:100%}.skald-sidebar-nav-label{display:none}.skald-sidebar-nav-button{justify-content:center;padding:8px}.skald-sidebar-agents{justify-content:center}}.skald-topbar{justify-content:space-between;align-items:center;gap:var(--epic-space-4);background:var(--epic-bg);height:46px;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;z-index:9;flex:none;padding:0 22px;display:flex;position:relative}.skald-topbar-breadcrumbs{flex:auto;min-width:0}.skald-topbar-crumb-list{align-items:center;gap:var(--epic-space-2);font-family:var(--epic-meta);color:var(--epic-fg-mute);margin:0;padding:0;font-size:12px;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-mute);opacity:.4;-webkit-user-select:none;user-select:none;font-family:var(--epic-meta)}.skald-topbar-crumb{font-family:var(--epic-meta);white-space:nowrap;text-overflow:ellipsis;font-size:12px;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);padding:var(--epic-space-1) var(--epic-space-2);font-weight:500}.skald-topbar-tools{align-items:center;gap:var(--epic-space-2);flex:none;display:flex}.skald-topbar-rule{background:var(--epic-rule);width:1px;height:18px;margin:0 var(--epic-space-1)}.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}.skald-app{width:100%;height:100vh;font-family:var(--epic-body);color:var(--epic-fg);background:var(--epic-bg);letter-spacing:.005em;box-sizing:border-box;grid-template-columns:232px 1fr;display:grid;position:relative}.skald-app[data-chat=on] .skald-app-main>main{padding-right:360px}@media (prefers-reduced-motion:no-preference){.skald-app-main>main{transition:padding-right var(--epic-dur) var(--epic-ease)}}.skald-app[data-focus=on][data-chat=on] .skald-app-main>main{padding-right:0}.skald-app[data-focus=on] .skald-agent-dock-panel{display:none}.skald-app-main{flex-direction:column;min-width:0;min-height:0;display:flex}.skald-app-main>main{flex:auto;min-height:0}@media (width<=1279.98px){.skald-app{grid-template-columns:64px 1fr}}.skald-app[data-focus=on]{background:var(--epic-paper);grid-template-columns:0 1fr}.skald-app[data-focus=on] .skald-sidebar{visibility:hidden}.skald-app[data-focus=on] .skald-topbar{background:0 0;border-bottom:0;height:64px;padding:0 max(24px,50% - 380px)}.skald-app[data-focus=on] .skald-topbar-breadcrumbs{letter-spacing:.18em;text-transform:uppercase;font-size:10.5px}.skald-app[data-focus=on] .skald-topbar-tools{display:none}.skald-app[data-focus=on] .skald-app-main>main{background:linear-gradient(to right, transparent calc(50% - 380px), var(--epic-rule) calc(50% - 380px), var(--epic-rule) calc(50% - 379px), transparent calc(50% - 379px)), var(--epic-paper);background-attachment:local;width:auto;max-width:none;margin:0;padding:32px max(24px,50% - 380px) 120px}.skald-app[data-focus=on] .skald-app-main>main h1,.skald-app[data-focus=on] .story-bible-cosmos-title,.skald-app[data-focus=on] .character-lab-detail-name,.skald-app[data-focus=on] .validation-title,.skald-app[data-focus=on] .adaptation-screen__heading{font-family:var(--epic-prose);font-weight:500;font-size:var(--epic-folio-size);letter-spacing:var(--epic-folio-tracking);line-height:1.04}@media (prefers-reduced-motion:no-preference){.skald-app,.skald-app .skald-topbar,.skald-app .skald-app-main>main{transition:grid-template-columns var(--epic-dur) var(--epic-ease), background-color var(--epic-dur) var(--epic-ease)}}
