.ui-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ui-spacer{margin-left:auto}.ui-grid{gap:var(--space-3);display:grid}.ui-grid--2{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.ui-grid--3{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.ui-stack{gap:var(--space-4);flex-direction:column;display:flex}.ui-field{flex-direction:column;min-width:0;display:flex}.ui-label{margin:0 0 var(--space-2);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-faint);font-weight:700;display:block}.ui-input,.ui-area,.ui-select{width:100%;padding:var(--space-3);border:var(--border-width) solid var(--c-border);background:var(--c-surface);color:var(--c-text);font-family:var(--font-mono);font-size:var(--step--1);font-variant-numeric:tabular-nums;border-radius:0}.ui-input:focus-visible,.ui-area:focus-visible,.ui-select:focus-visible{border-color:var(--c-accent);box-shadow:var(--shadow-sm);outline:none}.ui-area{resize:vertical;line-height:var(--leading-snug)}.ui-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:2.5rem;padding:0 var(--space-4);border:var(--border-width) solid var(--c-border);background:var(--c-surface);color:var(--c-text);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:box-shadow var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease);border-radius:0;font-weight:700;display:inline-flex}.ui-btn:hover:not(:disabled){border-color:var(--c-accent);color:var(--c-accent);box-shadow:var(--shadow-sm);transform:translate(-1px,-1px)}.ui-btn:active:not(:disabled){box-shadow:none;transform:none}.ui-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.ui-btn--primary{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-accent-contrast)}.ui-btn--primary:hover:not(:disabled){color:var(--c-accent-contrast);border-color:var(--c-accent-hover);box-shadow:var(--shadow-ink-2)}.ui-btn--ghost{background:0 0}.ui-btn--sm{min-height:2rem;padding:0 var(--space-3);font-size:var(--step--2)}.ui-panel{padding:var(--space-4);border:var(--border-width) solid var(--c-border);background:var(--c-surface);border-radius:0}.ui-panel--flat{background:var(--c-bg-subtle)}.ui-note{padding:var(--space-3) var(--space-4);border-left:var(--ink-bar-width) solid var(--c-text-faint);background:var(--c-bg-subtle);font-size:var(--step--1);color:var(--c-text-muted);margin:0}.ui-note--err{border-left-color:var(--c-accent);color:var(--c-text)}.ui-note--ok{border-left-color:var(--c-ink-2)}.ui-empty{padding:var(--space-6);border:var(--border-hair) dashed var(--c-border);color:var(--c-text-faint);font-size:var(--step--1);text-align:center;margin:0}.ui-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ui-faint{color:var(--c-text-faint)}.ui-stats{gap:var(--space-5);flex-wrap:wrap;display:flex}.ui-stat{flex-direction:column;gap:2px;display:flex}.ui-stat .k{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.1em;text-transform:uppercase;color:var(--c-text-faint);font-weight:700}.ui-stat .v{font-family:var(--font-mono);font-size:var(--step-2);font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.ui-stat .v.is-accent{color:var(--c-accent)}.ui-tabs{border-bottom:var(--border-width) solid var(--c-border);flex-wrap:wrap;display:flex}.ui-tab{min-height:2.25rem;margin-bottom:calc(var(--border-width) * -1);padding:0 var(--space-4);border:0;border-bottom:var(--border-width) solid transparent;color:var(--c-text-muted);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;font-weight:700}.ui-tab:hover{color:var(--c-accent)}.ui-tab.is-on{color:var(--c-text);border-bottom-color:var(--c-accent)}.ui-table{border-collapse:collapse;width:100%;font-size:var(--step--1)}.ui-table th,.ui-table td{padding:var(--space-2) var(--space-3);border-bottom:var(--border-hair) solid var(--c-border);text-align:left}.ui-table th{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-faint);font-weight:700}.ui-check{align-items:center;gap:var(--space-2);font-size:var(--step--1);color:var(--c-text-muted);cursor:pointer;display:inline-flex}.ui-check input{width:1.05rem;height:1.05rem;accent-color:var(--c-accent)}.ui-overlay{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--c-bg);opacity:.95;text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.ui-overlay-title{font-size:var(--step-2);margin:0;font-weight:800}.ui-overlay-sub{color:var(--c-text-muted);font-size:var(--step--1);margin:0}.scenes-page{gap:var(--space-7);flex-direction:column;display:flex}.scenes-head{gap:var(--space-4);max-width:46rem;display:grid}.scenes-eyebrow{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.18em;text-transform:uppercase;color:var(--c-accent);margin:0;font-weight:700}.scenes-title{font-size:var(--step-4);margin:0;line-height:1.06}.scenes-lead{max-width:var(--measure);font-size:var(--step-1);line-height:var(--leading-snug);color:var(--c-text-muted);margin:0}.scene-list{gap:var(--space-5);margin:0;padding:0;list-style:none;display:grid}@media (width>=720px){.scene-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.scene-card{gap:var(--space-3);height:100%;padding:var(--space-5);border:var(--border-width) solid var(--c-border);background:var(--c-surface);box-shadow:var(--shadow-ink);color:inherit;text-decoration:none;display:grid}.scene-card:hover,.scene-card:focus-visible{box-shadow:var(--shadow-accent)}.scene-card-index{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.18em;color:var(--c-accent);font-weight:700}.scene-card-title{font-size:var(--step-2);font-weight:800;line-height:1.15}.scene-card-desc{color:var(--c-text-muted);line-height:var(--leading-snug)}.scene-card-tags{gap:var(--space-2);padding-top:var(--space-2);flex-wrap:wrap;margin-top:auto;display:flex}.scene-card-tag{padding:0 var(--space-2);border:var(--border-hair) solid var(--c-border);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-faint)}.scene-page{gap:var(--space-7);flex-direction:column;display:flex}.scene-head{gap:var(--space-4);max-width:46rem;display:grid}.scene-eyebrow{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.18em;text-transform:uppercase;color:var(--c-accent);margin:0;font-weight:700}.scene-title{font-size:var(--step-4);margin:0;line-height:1.06}.scene-lead{max-width:var(--measure);font-size:var(--step-1);line-height:var(--leading-snug);color:var(--c-text-muted);margin:0}.scene-facts{gap:var(--space-4) var(--space-7);flex-wrap:wrap;margin:0;display:flex}.scene-facts dt{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-faint)}.scene-facts dd{margin:var(--space-1) 0 0;font-family:var(--font-mono);font-size:var(--step-2);font-weight:800;line-height:1}.scene-stage{border:var(--border-width) solid var(--c-border);background:var(--c-surface);height:clamp(20rem,62vh,42rem);box-shadow:var(--shadow-ink);position:relative;overflow:hidden}.scene-stage[data-state=ready] .scene-skeleton,.scene-stage[data-state=error] .scene-skeleton,.scene-stage:not([data-state=error]) .scene-error{display:none}.scene-stage-inner{position:absolute;inset:0}.scene-skeleton{background:var(--c-bg-subtle);color:var(--c-text-faint);font-size:var(--step--1);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scene-error{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-5);background:var(--c-bg);text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.scene-error-title{font-size:var(--step-1);margin:0;font-weight:700}.scene-error-hint{color:var(--c-text-muted);font-size:var(--step--1);margin:0}.scene{position:absolute;inset:0}.scene:fullscreen{background:var(--c-bg);position:fixed;inset:0}.scene-canvas{position:absolute;inset:0}.scene-meta{top:var(--space-3);left:var(--space-3);gap:var(--space-3);padding:var(--space-1) var(--space-2);border:var(--border-hair) solid var(--c-border);background:color-mix(in oklab, var(--c-bg) 86%, transparent);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-muted);flex-wrap:wrap;margin:0;display:flex;position:absolute}.scene-hud{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:var(--border-width) solid var(--c-border);background:color-mix(in oklab, var(--c-bg) 90%, transparent);flex-wrap:wrap;display:flex;position:absolute;bottom:0;left:0;right:0}.scene-presets,.scene-tools{gap:var(--space-2);flex-wrap:wrap;display:flex}.scene-fail{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-5);background:var(--c-bg);text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.scene-fail-text{max-width:32rem;color:var(--c-text-muted);margin:0}.scene-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scene-notes{gap:var(--space-4);display:grid}@media (width>=720px){.scene-notes{grid-template-columns:repeat(3,minmax(0,1fr))}}.scene-note{padding:var(--space-4);border:var(--border-width) solid var(--c-border);background:var(--c-surface);box-shadow:var(--shadow-sm)}.scene-note h2{margin:0 0 var(--space-2);font-size:var(--step-1)}.scene-note p{color:var(--c-text-muted);line-height:var(--leading-snug);margin:0}.scene-siblings{gap:var(--space-3);flex-wrap:wrap;display:flex}.scene-sibling{padding:var(--space-2) var(--space-4);border:var(--border-width) solid var(--c-border);background:var(--c-surface);box-shadow:var(--shadow-sm);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;color:inherit;text-decoration:none}.scene-sibling:hover,.scene-sibling:focus-visible{border-color:var(--c-accent);color:var(--c-accent)}@media (prefers-reduced-motion:reduce){.scene-stage{box-shadow:var(--shadow-sm)}}
