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