@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,350;0,9..144,450;0,9..144,600;1,9..144,450&family=Nunito:wght@400;600;700;800&display=swap";:root{--cream-50: #fbf6ee;--cream-100: #f6eee1;--cream-200: #efe2ce;--paper: #fffcf7;--paper-strong: #fffdf9;--paper-muted: #faf3e8;--ink: #2a2530;--ink-soft: #524b5a;--muted: #6d6676;--line: rgba(42, 37, 48, .1);--line-strong: rgba(42, 37, 48, .18);--brand-blue: #4fb3ee;--brand-blue-ink: #12486f;--brand-purple: #b58be8;--brand-star: #ffd35a;--blush: #c77461;--blush-soft: #fadfd4;--blush-ink: #5a2c22;--sage: #80995f;--sage-soft: #dee6d4;--lavender-soft: #e4ddf1;--coral-400: #d46c55;--danger: var(--coral-400);--paper-0: var(--paper);--paper-1: var(--paper-muted);--bone: var(--cream-200);--blush-100: var(--blush-soft);--blush-400: #df8c76;--blush-500: var(--blush);--lavender-100: var(--lavender-soft);--lavender-400: #9985c0;--lavender-ink: #2e2446;--sky-100: #cfe4f8;--sky-400: var(--brand-blue);--sky-500: #3b8ad4;--sky-ink: var(--brand-blue-ink);--bubble-100: #e1d1f7;--bubble-400: #9a7ae0;--bubble-ink: #2f1f5c;--star-100: #fff3c5;--star-300: var(--brand-star);--star-400: #f7c83a;--sage-100: var(--sage-soft);--sage-400: var(--sage);--sage-ink: #24321a;--honey-100: #f5e3b2;--honey-300: #e0b652;--honey-ink: #4b3612;--mist-50: #f1eff2;--mist-400: #7d7289;--ink-900: var(--ink);--ink-700: var(--ink-soft);--ink-500: var(--muted);--ink-400: #aea8b4;--ink-200: #e4e0e6;--bg-app: var(--surface-canvas);--bg-surface-2: var(--paper-1);--bg-raised: var(--paper-strong);--bg-dim: var(--mist-50);--bg-tint: color-mix(in srgb, var(--blush-500) 8%, transparent);--fg-1: var(--ink-900);--fg-2: var(--ink-700);--fg-3: var(--ink-500);--fg-4: var(--ink-400);--fg-on-accent: var(--paper-strong);--accent: var(--brand-blue);--accent-soft: #d6ecfa;--accent-ink: var(--brand-blue-ink);--border-hair: rgba(42, 37, 48, .06);--border-soft: var(--line);--border-firm: var(--line-strong);--success: var(--sage-400);--warning: var(--honey-300);--info: var(--sky-400);--danger-ink: var(--blush-ink);--state-public: var(--sage);--state-public-surface: color-mix(in srgb, var(--state-public) 72%, var(--bg-surface));--state-public-ring: color-mix(in srgb, var(--state-public) 12%, transparent);--surface-canvas: radial-gradient(circle at 8% -10%, rgba(214, 236, 250, .42), transparent 32%), linear-gradient(180deg, rgba(255, 252, 247, .9), rgba(246, 238, 225, .9)), var(--cream-50);--surface-grid: linear-gradient(rgba(42, 37, 48, .025) 1px, transparent 1px), linear-gradient(90deg, rgba(42, 37, 48, .022) 1px, transparent 1px);--surface-panel: color-mix(in oklab, var(--bg-surface) 94%, transparent);--surface-panel-muted: color-mix(in oklab, var(--bg-surface) 88%, transparent);--surface-panel-strong: color-mix(in oklab, var(--bg-raised) 96%, transparent);--surface-hero: color-mix(in oklab, var(--bg-raised) 94%, var(--state-accent-surface));--surface-room: var(--surface-panel-muted);--bg-canvas: var(--bg-app);--bg-grid: var(--surface-grid);--bg-surface: var(--paper-0);--bg-surface-muted: var(--bg-surface-2);--bg-surface-warm: var(--cream-100);--bg-surface-raised: var(--bg-raised);--bg-panel: var(--surface-panel);--bg-panel-muted: var(--surface-panel-muted);--bg-panel-strong: var(--surface-panel-strong);--bg-hero: var(--surface-hero);--bg-room: var(--surface-room);--fg-default: var(--fg-1);--fg-muted: var(--fg-2);--fg-subtle: var(--fg-3);--fg-inverse: var(--fg-on-accent);--fg-accent: var(--accent-ink);--fg-danger: var(--danger-ink);--border-subtle: var(--border-soft);--border-strong: var(--border-firm);--border-accent: var(--accent);--state-accent: var(--accent);--state-accent-ink: var(--accent-ink);--state-accent-strong: var(--sky-500);--state-accent-surface: var(--accent-soft);--state-success: var(--success);--state-success-surface: var(--sage-100);--state-warning: var(--warning);--state-warning-ink: var(--honey-ink);--state-warning-surface: color-mix(in srgb, var(--state-warning) 28%, var(--bg-surface));--state-danger: var(--danger);--state-danger-ink: var(--danger-ink);--state-danger-surface: var(--blush-100);--state-neutral: color-mix(in srgb, var(--fg-subtle) 72%, var(--bg-surface));--state-neutral-ink: var(--fg-subtle);--state-neutral-surface: color-mix(in srgb, var(--fg-subtle) 14%, var(--bg-surface));--state-brand-blush: var(--blush);--state-brand-purple-surface: var(--lavender-soft);--focus-ring: color-mix(in srgb, var(--state-accent) 36%, transparent);--focus-ring-strong: color-mix(in srgb, var(--state-accent) 42%, transparent);--tap-highlight: color-mix(in srgb, var(--state-accent) 18%, transparent);--mark-surface: linear-gradient( 145deg, color-mix(in srgb, var(--state-warning) 92%, transparent), color-mix(in srgb, var(--state-accent) 86%, transparent) 58%, color-mix(in srgb, var(--state-brand-purple-surface) 78%, var(--state-accent)) );--hero-accent-line: color-mix(in srgb, var(--fg-default) 8%, transparent);--hero-accent-ribbon: linear-gradient( 90deg, color-mix(in srgb, var(--state-warning) 10%, transparent), color-mix(in srgb, var(--state-accent) 12%, transparent), color-mix(in srgb, var(--state-brand-purple-surface) 14%, transparent) );--hero-accent-grid: linear-gradient(color-mix(in srgb, var(--fg-default) 7%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--fg-default) 6%, transparent) 1px, transparent 1px);--visual-frame-surface: color-mix(in srgb, var(--fg-default) 6%, transparent);--visual-placeholder-surface: linear-gradient( 135deg, color-mix(in srgb, var(--state-accent-surface) 78%, transparent), color-mix(in srgb, var(--bg-surface-muted) 88%, transparent) );--visual-placeholder-glow: linear-gradient( 90deg, color-mix(in srgb, var(--state-accent) 18%, transparent), color-mix(in srgb, var(--state-warning) 22%, transparent), color-mix(in srgb, var(--state-brand-blush) 18%, transparent) );--visual-portrait-surface: radial-gradient( circle at 42% 36%, color-mix(in srgb, var(--state-warning) 42%, transparent), transparent 34% ), linear-gradient( 145deg, color-mix(in srgb, var(--state-accent-surface) 72%, transparent), color-mix(in srgb, var(--state-danger-surface) 62%, transparent) );--overlay-scrim: linear-gradient( 135deg, color-mix(in srgb, var(--fg-default) 36%, transparent), color-mix(in srgb, var(--state-accent) 20%, transparent) ), color-mix(in srgb, var(--fg-default) 32%, transparent);--lightbox-scrim: color-mix(in srgb, var(--fg-default) 78%, transparent);--terminal-result-surface: linear-gradient( 145deg, color-mix(in srgb, var(--bg-surface) 99%, transparent), color-mix(in srgb, var(--state-accent-surface) 88%, transparent) 68%, color-mix(in srgb, var(--state-danger-surface) 72%, transparent) ), var(--bg-surface);--terminal-result-fail-surface: linear-gradient( 145deg, color-mix(in srgb, var(--bg-surface) 99%, transparent), color-mix(in srgb, var(--state-danger-surface) 88%, transparent) 72%, color-mix(in srgb, var(--bg-surface-warm) 88%, transparent) ), var(--bg-surface);--effect-shadow-feather: 0 1px 2px rgba(90, 44, 34, .04), 0 2px 6px rgba(90, 44, 34, .04);--effect-shadow-soft: 0 2px 6px rgba(90, 44, 34, .06), 0 8px 20px rgba(90, 44, 34, .06);--effect-shadow-lift: 0 4px 12px rgba(90, 44, 34, .08), 0 16px 36px rgba(90, 44, 34, .08);--effect-shadow-sheet: 0 18px 54px rgba(42, 37, 48, .22);--effect-glow-sky: 0 0 0 6px rgba(147, 182, 196, .22), 0 10px 24px rgba(80, 126, 144, .16);--effect-glow-blush: 0 0 0 6px rgba(236, 167, 147, .2), 0 10px 24px rgba(199, 116, 97, .16);--surface-shadow-flat: none;--surface-shadow-raised: var(--effect-shadow-feather);--surface-shadow-modal: var(--effect-shadow-sheet);--shadow: var(--effect-shadow-soft);--shadow-soft: var(--effect-shadow-feather);--shadow-sheet: var(--effect-shadow-sheet);--glow-sky: var(--effect-glow-sky);--glow-blush: var(--effect-glow-blush);--radius: 16px;--radius-xs: 6px;--radius-sm: 10px;--radius-pill: 999px;--max: 1320px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--motion-state-fast: .18s;--motion-state-medium: .34s;--motion-state-slow: .52s;--motion-state-ease: cubic-bezier(.22, .61, .36, 1);--motion-theme-fast: .18s;--motion-theme-medium: .42s;--motion-decorative-medium: 1.6s;--motion-decorative-slow: 2.4s;--motion-decorative-ease: ease-in-out;--motion-critical-fast: .7s;--motion-critical-medium: .9s;--motion-critical-slow: 6.4s;--motion-critical-timer: 5s;--motion-critical-ease: cubic-bezier(.2, .78, .25, 1);--motion-critical-linear: linear;--font-display: "Fraunces", "Cormorant Garamond", Georgia, serif;--font-body: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--z-appearance-transition: 30;--appearance-transition-wash: color-mix(in srgb, var(--bg-canvas) 72%, var(--state-accent-surface));--auth-intro-border: rgba(255, 255, 255, .58);--auth-intro-ink: #352340;--auth-intro-strong: #241733;--auth-intro-muted: rgba(40, 27, 55, .68);--auth-intro-eyebrow: rgba(74, 49, 93, .72);--auth-intro-bg: radial-gradient(circle at 18% 18%, rgba(255, 255, 255, .9) 0 12%, transparent 29%), radial-gradient(circle at 78% 14%, rgba(255, 205, 159, .46) 0 14%, transparent 32%), linear-gradient(135deg, #fbefe4 0%, #f4dce5 47%, #dfe8ff 100%);--auth-intro-shadow: 0 28px 70px rgba(64, 42, 90, .16);--auth-intro-orb: rgba(255, 255, 255, .42);--auth-intro-mark-border: rgba(105, 82, 133, .16);--auth-intro-mark-bg: radial-gradient(circle, rgba(255, 255, 255, .82) 0 28%, rgba(255, 255, 255, .28) 29% 100%);--auth-chip-border: rgba(88, 61, 110, .12);--auth-chip-bg: rgba(255, 255, 255, .44);--auth-chip-dot: linear-gradient(135deg, #86c9e9, #e9b0bd);--auth-chip-dot-ring: 0 0 0 4px rgba(255, 255, 255, .56);--auth-card-border: rgba(87, 69, 96, .1);--auth-card-ink: #2f2637;--auth-card-strong: #22172e;--auth-card-muted: rgba(47, 38, 55, .68);--auth-card-surface: rgba(255, 253, 250, .94);--auth-card-shadow: 0 22px 56px rgba(66, 47, 79, .12);--auth-switch-surface: #f2ebef;--auth-switch-border: rgba(72, 48, 86, .08);--auth-switch-muted: rgba(46, 35, 55, .62);--auth-switch-active-bg: #ffffff;--auth-switch-active-shadow: 0 6px 18px rgba(71, 48, 82, .1);--auth-blush-ink: #a66977;--auth-context-border: rgba(179, 105, 121, .18);--auth-context-bg: linear-gradient(135deg, rgba(255, 248, 242, .96), rgba(248, 235, 240, .92));--auth-context-ink: #a35d6c;--auth-context-muted: rgba(47, 38, 55, .64);--auth-return-border: rgba(88, 145, 177, .2);--auth-return-bg: #edf7fc;--auth-return-ink: #4c7893;--auth-input-border: rgba(65, 47, 74, .18);--auth-input-bg: #ffffff;--auth-input-focus: #c37e91;--auth-input-focus-ring: 0 0 0 4px rgba(195, 126, 145, .16);--auth-action-border: #d8899b;--auth-action-ink: #25162a;--auth-action-bg: linear-gradient(180deg, #ef9fb2, #df879d);--auth-action-shadow: 0 14px 26px rgba(198, 111, 132, .24);--auth-action-bg-hover: linear-gradient(180deg, #f3aabd, #e18ca1);--auth-action-shadow-hover: 0 18px 32px rgba(198, 111, 132, .28);--auth-secondary-border: rgba(65, 47, 74, .14);--auth-secondary-ink: #3a2c44;--auth-secondary-bg: #fff8f6}[data-theme=night]{--night-ink-950: #0d0b18;--night-ink-900: #15122a;--night-ink-850: #1b1734;--night-ink-800: #221e3f;--night-ink-700: #2c264e;--night-ink-600: #3a335f;--night-ink-500: #4f4775;--moon-50: #f4eefb;--moon-100: #e5deef;--moon-200: #c7bfd6;--moon-300: #9f97b3;--moonbeam: rgba(244, 238, 251, .72);--lantern-sky: #8fc8f0;--lantern-sky-soft: #18304a;--lantern-sage: #a8c29a;--lantern-honey: #f2cd7a;--lantern-honey-soft: #3c2e18;--lantern-blush: #f0a593;--lantern-blush-soft: #3a2233;--lantern-lavender: #bba7f0;--lantern-lavender-soft: #2b2546;--aura-night-deep: radial-gradient(circle at 12% -12%, rgba(143, 200, 240, .18), transparent 28%), radial-gradient(circle at 88% 4%, rgba(242, 205, 122, .13), transparent 26%), linear-gradient(180deg, #0d0b18 0%, #15122a 58%, #1b1734 100%);--aura-moonlit-panel: linear-gradient(155deg, rgba(244, 238, 251, .07), rgba(21, 18, 42, .32) 46%, rgba(240, 165, 147, .08));--aura-moonlit-hero: radial-gradient(circle at 18% 12%, rgba(143, 200, 240, .18), transparent 32%), radial-gradient(circle at 86% 22%, rgba(242, 205, 122, .14), transparent 30%), linear-gradient(145deg, rgba(34, 30, 63, .94), rgba(21, 18, 42, .94));--bg-app: var(--aura-night-deep);--bg-surface: var(--night-ink-800);--bg-surface-2: var(--night-ink-700);--bg-raised: var(--night-ink-700);--bg-dim: var(--night-ink-850);--bg-tint: color-mix(in srgb, var(--lantern-blush) 10%, transparent);--fg-1: var(--moon-50);--fg-2: var(--moon-100);--fg-3: var(--moon-200);--fg-4: var(--moon-300);--fg-on-accent: var(--night-ink-900);--accent: var(--lantern-sky);--accent-soft: var(--lantern-sky-soft);--accent-ink: var(--moon-50);--border-hair: rgba(244, 238, 251, .06);--border-soft: rgba(244, 238, 251, .1);--border-firm: rgba(244, 238, 251, .18);--success: var(--lantern-sage);--warning: var(--lantern-honey);--danger: var(--lantern-blush);--danger-ink: color-mix(in srgb, var(--lantern-blush) 58%, var(--moon-50));--info: var(--lantern-sky);--state-public: var(--lantern-sage);--state-public-surface: color-mix(in srgb, var(--state-public) 28%, var(--bg-surface));--state-public-ring: color-mix(in srgb, var(--state-public) 18%, transparent);--state-success-surface: color-mix(in srgb, var(--success) 22%, var(--bg-surface));--state-danger-surface: var(--lantern-blush-soft);--surface-canvas: var(--aura-night-deep);--surface-grid: linear-gradient(rgba(244, 238, 251, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(244, 238, 251, .035) 1px, transparent 1px);--surface-panel: color-mix(in srgb, var(--night-ink-800) 88%, transparent);--surface-panel-muted: color-mix(in srgb, var(--night-ink-850) 82%, transparent);--surface-panel-strong: color-mix(in srgb, var(--night-ink-700) 92%, transparent);--surface-hero: var(--aura-moonlit-hero);--surface-room: color-mix(in srgb, var(--night-ink-850) 86%, transparent);--bg-grid: var(--surface-grid);--bg-surface-muted: var(--bg-surface-2);--bg-surface-warm: var(--night-ink-850);--bg-panel: var(--surface-panel);--bg-panel-muted: var(--surface-panel-muted);--bg-panel-strong: var(--surface-panel-strong);--bg-hero: var(--surface-hero);--bg-room: var(--surface-room);--state-accent-strong: #b8dcf7;--state-warning-surface: color-mix(in srgb, var(--lantern-honey) 20%, var(--bg-surface));--state-warning-ink: var(--lantern-honey);--state-brand-blush: var(--lantern-blush);--state-brand-purple-surface: var(--lantern-lavender-soft);--focus-ring: color-mix(in srgb, var(--lantern-sky) 42%, transparent);--focus-ring-strong: color-mix(in srgb, var(--lantern-honey) 48%, transparent);--tap-highlight: color-mix(in srgb, var(--lantern-sky) 22%, transparent);--mark-surface: linear-gradient( 145deg, color-mix(in srgb, var(--lantern-honey) 84%, transparent), color-mix(in srgb, var(--lantern-sky) 68%, transparent) 58%, color-mix(in srgb, var(--lantern-lavender) 58%, transparent) );--hero-accent-line: color-mix(in srgb, var(--moon-50) 9%, transparent);--hero-accent-ribbon: linear-gradient( 90deg, color-mix(in srgb, var(--lantern-honey) 12%, transparent), color-mix(in srgb, var(--lantern-sky) 12%, transparent), color-mix(in srgb, var(--lantern-lavender) 10%, transparent) );--hero-accent-grid: linear-gradient(color-mix(in srgb, var(--moon-50) 8%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--moon-50) 7%, transparent) 1px, transparent 1px);--visual-frame-surface: color-mix(in srgb, var(--moon-50) 7%, transparent);--visual-placeholder-surface: linear-gradient( 135deg, color-mix(in srgb, var(--lantern-sky-soft) 82%, transparent), color-mix(in srgb, var(--night-ink-700) 88%, transparent) );--visual-placeholder-glow: linear-gradient( 90deg, color-mix(in srgb, var(--lantern-sky) 20%, transparent), color-mix(in srgb, var(--lantern-honey) 16%, transparent), color-mix(in srgb, var(--lantern-blush) 14%, transparent) );--visual-portrait-surface: radial-gradient( circle at 42% 36%, color-mix(in srgb, var(--lantern-honey) 28%, transparent), transparent 34% ), linear-gradient( 145deg, color-mix(in srgb, var(--lantern-sky-soft) 86%, transparent), color-mix(in srgb, var(--lantern-blush-soft) 72%, transparent) );--overlay-scrim: linear-gradient( 135deg, color-mix(in srgb, var(--night-ink-950) 58%, transparent), color-mix(in srgb, var(--lantern-sky) 16%, transparent) ), color-mix(in srgb, var(--night-ink-950) 50%, transparent);--lightbox-scrim: color-mix(in srgb, var(--night-ink-950) 82%, transparent);--terminal-result-surface: linear-gradient( 145deg, color-mix(in srgb, var(--night-ink-800) 96%, transparent), color-mix(in srgb, var(--lantern-sky-soft) 62%, transparent) 68%, color-mix(in srgb, var(--lantern-blush-soft) 42%, transparent) ), var(--bg-surface);--terminal-result-fail-surface: linear-gradient( 145deg, color-mix(in srgb, var(--night-ink-800) 96%, transparent), color-mix(in srgb, var(--lantern-blush-soft) 72%, transparent) 72%, color-mix(in srgb, var(--night-ink-850) 88%, transparent) ), var(--bg-surface);--effect-shadow-feather: 0 1px 0 rgba(244, 238, 251, .06) inset, 0 6px 16px rgba(0, 0, 0, .24);--effect-shadow-soft: 0 1px 0 rgba(244, 238, 251, .07) inset, 0 10px 28px rgba(0, 0, 0, .34);--effect-shadow-lift: 0 1px 0 rgba(244, 238, 251, .08) inset, 0 18px 44px rgba(0, 0, 0, .42);--effect-shadow-sheet: 0 1px 0 rgba(244, 238, 251, .08) inset, 0 18px 54px rgba(0, 0, 0, .55);--effect-glow-sky: 0 0 0 6px rgba(143, 200, 240, .14), 0 14px 32px rgba(143, 200, 240, .16);--effect-glow-blush: 0 0 0 6px rgba(240, 165, 147, .12), 0 14px 32px rgba(240, 165, 147, .14);--surface-shadow-raised: 0 1px 0 rgba(244, 238, 251, .05) inset, 0 6px 16px rgba(0, 0, 0, .35);--surface-shadow-modal: 0 1px 0 rgba(244, 238, 251, .08) inset, 0 18px 44px rgba(0, 0, 0, .55);--shadow: var(--effect-shadow-soft);--shadow-soft: var(--effect-shadow-feather);--shadow-sheet: var(--effect-shadow-sheet);--glow-sky: var(--effect-glow-sky);--glow-blush: var(--effect-glow-blush);--auth-intro-border: rgba(244, 238, 251, .12);--auth-intro-ink: rgba(244, 238, 251, .88);--auth-intro-strong: #f4eefb;--auth-intro-muted: rgba(229, 222, 239, .76);--auth-intro-eyebrow: rgba(184, 220, 247, .86);--auth-intro-bg: radial-gradient(circle at 15% 14%, rgba(143, 200, 240, .22) 0 12%, transparent 31%), radial-gradient(circle at 78% 18%, rgba(240, 165, 147, .16) 0 14%, transparent 34%), linear-gradient(145deg, #15122a 0%, #211b38 52%, #2b2546 100%);--auth-intro-shadow: none;--auth-intro-orb: rgba(244, 238, 251, .06);--auth-intro-mark-border: rgba(244, 238, 251, .13);--auth-intro-mark-bg: radial-gradient(circle, rgba(244, 238, 251, .16) 0 28%, rgba(143, 200, 240, .08) 29% 100%);--auth-chip-border: rgba(244, 238, 251, .12);--auth-chip-bg: rgba(244, 238, 251, .055);--auth-chip-dot: linear-gradient(135deg, #8fc8f0, #f0a593);--auth-chip-dot-ring: 0 0 0 4px rgba(244, 238, 251, .07);--auth-card-border: rgba(244, 238, 251, .1);--auth-card-ink: #f4eefb;--auth-card-strong: #fff9ff;--auth-card-muted: rgba(229, 222, 239, .74);--auth-card-surface: linear-gradient(145deg, #0d0b18 0%, #15122a 58%, #1b1734 100%);--auth-card-shadow: none;--auth-switch-surface: rgba(244, 238, 251, .07);--auth-switch-border: rgba(244, 238, 251, .12);--auth-switch-muted: rgba(229, 222, 239, .66);--auth-switch-active-bg: rgba(244, 238, 251, .16);--auth-switch-active-shadow: 0 8px 22px rgba(0, 0, 0, .22);--auth-blush-ink: #f0a593;--auth-context-border: rgba(240, 165, 147, .24);--auth-context-bg: linear-gradient(135deg, rgba(58, 34, 51, .72), rgba(43, 37, 70, .64));--auth-context-ink: #f0a593;--auth-context-muted: rgba(229, 222, 239, .68);--auth-return-border: rgba(143, 200, 240, .24);--auth-return-bg: rgba(24, 48, 74, .56);--auth-return-ink: #b8dcf7;--auth-input-border: rgba(244, 238, 251, .18);--auth-input-bg: rgba(244, 238, 251, .08);--auth-input-focus: #8fc8f0;--auth-input-focus-ring: 0 0 0 4px rgba(143, 200, 240, .16);--auth-action-border: rgba(240, 165, 147, .78);--auth-action-ink: #15122a;--auth-action-bg: linear-gradient(180deg, #f4b0a2, #f0a593);--auth-action-shadow: 0 14px 30px rgba(240, 165, 147, .18);--auth-action-bg-hover: linear-gradient(180deg, #ffc0b4, #f0a593);--auth-action-shadow-hover: 0 18px 36px rgba(240, 165, 147, .22);--auth-secondary-border: rgba(244, 238, 251, .18);--auth-secondary-ink: #f4eefb;--auth-secondary-bg: rgba(244, 238, 251, .08);color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;min-height:100%;color:var(--fg-default);background:var(--bg-canvas);font-family:var(--font-body);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{position:fixed;inset:0;z-index:-1;pointer-events:none;content:"";opacity:.08;background-image:var(--bg-grid);background-size:48px 48px}html.is-appearance-transitioning:after{position:fixed;inset:0;z-index:var(--z-appearance-transition);background:var(--appearance-transition-wash);opacity:.2;pointer-events:none;transition:opacity var(--motion-theme-medium) var(--motion-state-ease);content:""}html.is-appearance-transitioning.is-appearance-transitioning-active:after{opacity:0}html.is-appearance-transitioning body,html.is-appearance-transitioning .topbar,html.is-appearance-transitioning .language-switcher,html.is-appearance-transitioning .appearance-switcher,html.is-appearance-transitioning .settings-menu-panel,html.is-appearance-transitioning .panel,html.is-appearance-transitioning .field-panel,html.is-appearance-transitioning .room-stage,html.is-appearance-transitioning .story-reader,html.is-appearance-transitioning .notice-dialog,html.is-appearance-transitioning button,html.is-appearance-transitioning input,html.is-appearance-transitioning textarea,html.is-appearance-transitioning select{transition:color var(--motion-theme-fast) var(--motion-state-ease),border-color var(--motion-theme-fast) var(--motion-state-ease),background-color var(--motion-theme-medium) var(--motion-state-ease),box-shadow var(--motion-theme-fast) var(--motion-state-ease)}button,input,textarea,select{font:inherit}button{cursor:pointer}button,input,textarea,select,a{-webkit-tap-highlight-color:var(--tap-highlight)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}button,.brand,.card,.panel,.field-panel,.room-stage,.story-reader{transition:transform var(--motion-state-fast) var(--motion-state-ease),border-color var(--motion-state-fast) var(--motion-state-ease),background-color var(--motion-state-fast) var(--motion-state-ease),box-shadow var(--motion-state-fast) var(--motion-state-ease)}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:flex-start;gap:16px;width:min(var(--max),calc(100% - 32px));margin:0 auto;padding:12px 0 10px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;margin-left:auto}.topbar-menu{display:none}.settings-menu{position:relative;flex:0 0 auto}.desktop-auth-slot{display:contents}.database-connection-slot{display:flex;flex:0 1 auto;min-width:0}.database-connection-slot[hidden],.mobile-database-connection-slot[hidden]{display:none}.active-game-shortcut-slot{display:flex;flex:0 0 auto;margin-left:auto}.active-game-shortcut-slot[hidden]{display:none}.active-game-shortcut-slot:not([hidden])~.topbar-actions,.active-game-shortcut-slot:not([hidden])~.topbar-menu{margin-left:0}.language-switcher,.appearance-switcher,.sound-control{display:inline-flex;align-items:center;gap:2px;min-height:40px;padding:3px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:color-mix(in oklab,var(--bg-surface) 76%,transparent);box-shadow:var(--surface-shadow-raised);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.settings-menu .language-switcher,.settings-menu .appearance-switcher,.settings-menu .sound-control{display:grid;width:100%;min-height:34px;padding:2px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.settings-menu .language-switcher{grid-template-columns:repeat(4,minmax(0,1fr))}.settings-menu .appearance-switcher{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-menu .sound-control{gap:6px;padding:6px;border-radius:18px}.language-switcher button,.appearance-switcher button,.sound-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:32px;border:0;border-radius:var(--radius-pill);padding:6px 9px;color:var(--fg-muted);background:transparent;font-size:12px;font-weight:800;white-space:nowrap}.settings-menu .language-switcher button,.settings-menu .appearance-switcher button,.settings-menu .sound-toggle{min-width:0;min-height:28px;padding:5px 7px;font-size:11px}.appearance-switcher button{min-width:68px}.settings-menu .appearance-switcher button{min-width:0}.sound-control{gap:8px;padding-right:8px}.sound-toggle{min-width:86px}.sound-volume-label{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--fg-muted);font-size:12px;font-weight:800;white-space:nowrap}.sound-volume{width:86px;min-width:72px;accent-color:var(--state-accent)}.settings-menu .sound-toggle,.settings-menu .sound-volume-label{width:100%}.settings-menu .sound-volume-label{justify-content:space-between}.settings-menu .sound-volume{width:min(132px,40vw)}.language-switcher button[aria-pressed=true],.appearance-switcher button[aria-pressed=true],.sound-toggle[aria-pressed=true]{color:var(--fg-accent);background:color-mix(in srgb,var(--state-accent-surface) 95%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--state-accent) 16%,transparent)}.language-switcher button:hover,.appearance-switcher button:hover,.sound-toggle:hover{color:var(--fg-accent);background:color-mix(in srgb,var(--bg-surface) 82%,transparent)}.brand,.nav button,.ghost,.primary,.secondary,.danger,.icon-button{border:1px solid var(--border-subtle);border-radius:var(--radius);color:var(--fg-default);background:color-mix(in oklab,var(--bg-surface) 78%,transparent);font-weight:800}.brand{display:inline-flex;align-items:center;min-width:0;padding:4px;border:0;border-radius:0;background:transparent;font-weight:700;font-family:var(--font-display);font-size:17px;font-style:italic;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.brand-logo{display:block;width:clamp(124px,15vw,168px);height:60px;object-fit:contain;object-position:center}.brand-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav{display:flex;align-items:center;gap:8px;min-width:0}.nav button,.active-game-shortcut,.account-menu summary,.settings-menu summary{min-height:40px;padding:8px 13px;border-radius:var(--radius-pill);color:var(--fg-muted);font-weight:700;white-space:nowrap;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.active-game-shortcut{display:inline-flex;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--state-accent) 24%,transparent);color:var(--fg-accent);background:color-mix(in srgb,var(--state-accent-surface) 86%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fg-inverse) 42%,transparent)}.active-game-shortcut:hover{border-color:color-mix(in srgb,var(--state-accent) 40%,transparent);background:var(--bg-surface-raised)}.active-game-shortcut-dot{width:8px;height:8px;border-radius:50%;background:var(--state-success);box-shadow:0 0 0 4px color-mix(in srgb,var(--state-success) 16%,transparent)}.active-game-shortcut-label-short{display:none}.database-connection-status,.story-engine-connection-status{display:inline-flex;align-items:center;gap:7px;min-width:0;min-height:40px;padding:8px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--fg-muted);background:color-mix(in oklab,var(--bg-surface) 78%,transparent);font-size:12px;font-weight:800;line-height:1;white-space:nowrap;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.settings-menu .database-connection-status,.settings-menu .story-engine-connection-status{width:100%;justify-content:flex-start}.database-connection-status:hover,.story-engine-connection-status:hover{color:var(--fg-accent);background:color-mix(in srgb,var(--bg-surface) 88%,transparent)}.database-connection-status[data-tone=connected],.story-engine-connection-status[data-tone=connected]{border-color:color-mix(in srgb,var(--state-success) 32%,var(--border-subtle));color:color-mix(in srgb,var(--state-success) 72%,var(--fg-default));background:color-mix(in srgb,var(--state-success) 12%,var(--bg-surface))}.database-connection-status[data-tone=disconnected],.story-engine-connection-status[data-tone=disconnected]{border-color:color-mix(in srgb,var(--danger) 36%,var(--border-subtle));color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--bg-surface))}.database-connection-status[data-tone=checking],.story-engine-connection-status[data-tone=checking]{color:var(--fg-accent)}.database-connection-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--fg-subtle);box-shadow:0 0 0 3px color-mix(in srgb,var(--fg-subtle) 12%,transparent)}.database-connection-status[data-tone=connected] .database-connection-dot,.story-engine-connection-status[data-tone=connected] .database-connection-dot{background:var(--state-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--state-success) 16%,transparent)}.database-connection-status[data-tone=disconnected] .database-connection-dot,.story-engine-connection-status[data-tone=disconnected] .database-connection-dot{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 14%,transparent)}.database-connection-status[data-tone=checking] .database-connection-dot,.story-engine-connection-status[data-tone=checking] .database-connection-dot{background:var(--state-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--state-accent) 14%,transparent)}.database-connection-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.account-menu{position:relative}.account-menu summary,.settings-menu summary{display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--state-accent) 20%,transparent);color:var(--fg-accent);background:color-mix(in srgb,var(--state-accent-surface) 78%,transparent);list-style:none;cursor:pointer}.account-menu summary::-webkit-details-marker,.settings-menu summary::-webkit-details-marker,.topbar-menu summary::-webkit-details-marker{display:none}.topbar-menu-section{display:grid;gap:6px}.topbar-menu-label{margin:0;color:var(--fg-subtle);font-size:12px;font-weight:800;line-height:1.2}.account-menu-panel,.settings-menu-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:40;display:grid;gap:10px;width:min(300px,calc(100vw - 32px));padding:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface-raised);box-shadow:var(--surface-shadow-modal)}.settings-menu-panel{gap:11px;width:min(296px,calc(100vw - 32px));padding:11px;border-color:color-mix(in srgb,var(--state-accent) 18%,var(--border-subtle))}.account-menu-email{min-width:0;margin:0;color:var(--fg-muted);font-size:13px;font-weight:700;overflow-wrap:anywhere}.account-menu-summary-label{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-name{min-width:0;margin:0;color:var(--fg-default);font-size:14px;font-weight:850;overflow-wrap:anywhere}.account-nickname-form{display:grid;gap:6px;min-width:0}.account-nickname-form label{color:var(--fg-subtle);font-size:12px;font-weight:800;line-height:1.2}.account-nickname-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.account-nickname-row input{width:100%;min-width:0;min-height:38px;padding:8px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);color:var(--fg-default);background:var(--bg-surface)}.account-nickname-row button{min-height:38px;padding:8px 10px;border-radius:var(--radius-xs);font-size:13px;font-weight:850;white-space:nowrap}.account-nickname-status,.account-nickname-error{min-height:16px;margin:0;font-size:12px;line-height:1.3}.account-nickname-status{color:var(--state-success);font-weight:750}.account-menu-signout{width:100%;min-height:38px;padding:8px 12px;border-radius:var(--radius-xs);font-weight:800}.nav button:hover,.active-game-shortcut:hover,.account-menu summary:hover,.settings-menu summary:hover,.topbar-menu summary:hover,.brand:hover,.ghost:hover,.secondary:hover,.danger:hover,.icon-button:hover{border-color:var(--border-strong);background:var(--bg-surface-raised);transform:translateY(-1px)}.brand:hover{border-color:transparent;background:transparent;box-shadow:none;transform:none}.view{width:min(var(--max),calc(100% - 32px));margin:0 auto;padding:24px 0 56px}.view:focus{outline:none}.hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:16px;align-items:stretch;min-height:min(500px,calc(100vh - 132px))}.hero-panel,.panel,.card,.field-panel,.room-stage,.story-reader{border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--bg-panel);box-shadow:var(--surface-shadow-flat);-webkit-backdrop-filter:none;backdrop-filter:none}.hero-panel{position:relative;display:grid;align-content:start;gap:18px;overflow:hidden;min-height:440px;padding:clamp(24px,3vw,38px);color:var(--fg-default);background:var(--bg-hero);isolation:isolate}.hero-panel:after{position:absolute;right:0;bottom:0;z-index:-1;width:100%;height:30%;border-top:1px solid var(--hero-accent-line);content:"";background:var(--hero-accent-ribbon)}.hero-panel:before{position:absolute;top:0;right:0;bottom:0;z-index:-1;width:28%;border-left:1px solid var(--hero-accent-line);background:var(--hero-accent-grid);background-size:26px 26px;content:"";opacity:.36}.hero-content{max-width:780px}.eyebrow{margin:0 0 12px;color:var(--state-brand-blush);font-size:11px;font-weight:800;letter-spacing:0;text-transform:none}h1,h2,h3,p{margin-top:0}h1{max-width:820px;margin-bottom:18px;font-family:var(--font-body);font-style:normal;font-weight:900;font-size:54px;line-height:1.04;letter-spacing:0;text-wrap:balance}h2{margin-bottom:10px;font-family:var(--font-body);font-weight:900;font-size:38px;line-height:1.1;letter-spacing:0;text-wrap:balance}h3{margin-bottom:8px;font-size:22px;line-height:1.12}.panel-title{margin-bottom:14px}.hero-panel h1{font-family:var(--font-display);font-style:italic;font-weight:450}.lede{max-width:620px;color:var(--fg-subtle);font-size:18px;line-height:1.5;text-wrap:pretty}.hero-panel .eyebrow{color:var(--fg-accent)}.hero-panel .lede{color:var(--fg-muted)}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:28px}.recovery-actions{align-items:center}.recovery-help{flex-basis:min(100%,520px);margin:0}.hero-actions{margin-top:0}.primary,.secondary,.ghost,.danger,.icon-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;text-decoration:none}.hero-panel .ghost{border-color:color-mix(in srgb,var(--fg-default) 16%,transparent);color:var(--fg-default)}.hero-panel .primary{border-color:var(--state-brand-blush);color:var(--fg-inverse);background:var(--state-brand-blush);box-shadow:0 4px 8px color-mix(in srgb,var(--state-brand-blush) 16%,transparent)}.hero-panel .primary:hover{background:color-mix(in srgb,var(--state-brand-blush) 82%,var(--fg-default))}.hero-panel .secondary{border-color:color-mix(in srgb,var(--state-accent) 16%,transparent)}.primary:disabled,.secondary:disabled,.ghost:disabled,.danger:disabled{cursor:not-allowed;opacity:.62}.primary{border-color:var(--state-accent);color:var(--fg-inverse);background:var(--state-accent);box-shadow:0 4px 8px color-mix(in srgb,var(--state-accent) 18%,transparent)}.primary:hover{background:var(--state-accent-strong)}.secondary{border-color:color-mix(in srgb,var(--state-accent) 20%,transparent);color:var(--fg-accent);background:var(--state-accent-surface)}.danger{border-color:color-mix(in srgb,var(--state-danger) 42%,transparent);color:var(--fg-danger);background:color-mix(in srgb,var(--state-danger-surface) 86%,transparent)}.danger:hover{border-color:color-mix(in srgb,var(--state-danger) 60%,transparent);background:color-mix(in srgb,var(--state-danger-surface) 92%,var(--state-danger))}.ghost{background:transparent}.text-button{justify-self:start;min-height:36px;border:0;padding:0;color:var(--state-brand-blush);background:transparent;font-weight:700;text-decoration:underline;text-underline-offset:4px}[data-theme=night] .eyebrow,[data-theme=night] .text-button,[data-theme=night] .auth-story-context span{color:color-mix(in srgb,var(--state-brand-blush) 62%,var(--fg-default))}[data-theme=night] .error,[data-theme=night] .notice-dialog .form-error{color:var(--fg-danger)}.icon-button{width:42px;padding:0}.side-stack{display:grid;gap:14px}.room-main-stack{display:grid;gap:14px;min-width:0}.players-panel{order:-1}.mobile-room-summary{display:none}.panel{padding:20px}.compact-page-head{padding:18px 20px}.compact-page-head h2{margin-bottom:8px;font-size:38px;line-height:1.1}.compact-page-head .lede{max-width:700px;margin-bottom:0}.compact-page-head.room-entry-page{padding:12px 16px}.compact-page-head.room-entry-page h2{margin-bottom:4px;font-size:32px;line-height:1.05}.compact-page-head.room-entry-page .lede{font-size:14px;line-height:1.35}.home-status{display:grid;gap:16px;align-content:start}.home-status button{justify-self:start}.home-status-actions{margin-top:0}.home-task-shell{display:grid;min-height:min(420px,calc(100vh - 132px))}.home-task-panel{display:grid;grid-template-columns:minmax(0,980px);justify-content:center;gap:14px;align-items:start;padding:clamp(22px,4vw,44px);background:var(--bg-panel)}.home-task-copy{width:min(100%,980px);min-width:0;justify-self:center}.home-task-copy h1{max-width:none}.home-task-copy .lede{max-width:760px;margin-bottom:0}.home-flow-actions{display:grid;gap:10px;width:min(100%,980px);margin-top:18px}.home-flow-secondary-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:8px;min-width:0}.home-flow-action{display:grid;justify-content:start;min-width:0;min-height:66px;padding:10px 12px;text-align:left}.home-flow-primary{min-height:78px;padding:14px 16px}.home-flow-action strong,.home-flow-action span{min-width:0;max-width:100%;overflow-wrap:anywhere}.home-flow-action strong{font-size:14px;line-height:1.18}.home-flow-action span{color:currentcolor;font-size:12px;font-weight:700;line-height:1.25;opacity:.78}.home-task-panel .home-status{width:min(100%,420px);min-width:0;justify-self:center;gap:8px;margin-top:4px;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in oklab,var(--bg-surface) 58%,transparent)}.home-task-panel .home-status h3{font-size:20px;line-height:1.15}.home-task-panel .home-status .muted{font-size:13px;line-height:1.35}.home-status-error-detail{max-width:100%;margin-top:8px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--state-danger) 28%,var(--border-subtle));border-radius:var(--radius-xs);background:color-mix(in srgb,var(--state-danger-surface) 24%,var(--bg-surface));font-size:12px;line-height:1.35;overflow-wrap:anywhere}.home-status-error-detail summary{cursor:pointer;color:var(--fg-muted);font-weight:900}.home-status-error-detail p{margin:6px 0 0;color:var(--fg-subtle)}.stat-row,.meta-row{display:flex;flex-wrap:wrap;gap:8px}.pill{display:inline-flex;max-width:100%;min-height:30px;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--fg-subtle);background:color-mix(in srgb,var(--bg-surface) 66%,transparent);font-size:13px;line-height:1.25;overflow-wrap:anywhere}.layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}.room-form{margin-top:12px}.settings-form{display:flex;flex-direction:column;gap:14px;margin-top:14px}.settings-form #room-settings-error{order:3}.settings-form .actions{order:4;margin-top:2px}.story-setup-panel textarea{min-height:84px}.setup-summary,.board-list,.inventory-list{display:grid;gap:10px}.setup-summary .story-text,.board-list p{margin-bottom:0;overflow-wrap:anywhere}.character-board-panel{display:grid;gap:8px;background:var(--bg-panel)}.character-board-panel.is-sanity-warning{border-color:color-mix(in srgb,var(--state-warning) 36%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--state-warning) 14%,transparent)}.character-board-panel.is-sanity-low{border-color:color-mix(in srgb,var(--state-danger) 30%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--state-danger) 13%,transparent)}.character-board-panel.is-sanity-depleted{border-color:color-mix(in srgb,var(--state-danger) 34%,transparent);background:color-mix(in srgb,var(--state-danger-surface) 42%,var(--bg-panel))}.character-board-panel.is-sanity-consumed{animation:sanity-panel-warning var(--motion-critical-medium) ease-out both}.story-visual,.character-portrait,.character-thumb{min-width:0;overflow:hidden;margin:0;border:1px solid var(--border-subtle);background:var(--visual-frame-surface)}.image-lightbox-source{padding:0;color:inherit;font:inherit;text-align:inherit;cursor:zoom-in;touch-action:manipulation}.image-lightbox-source:focus-visible{outline:3px solid var(--focus-ring-strong);outline-offset:3px}.story-visual{flex:0 0 auto;aspect-ratio:16 / 9;height:clamp(156px,22vh,260px);border-radius:var(--radius-sm)}.story-visual img,.character-portrait img{display:block;width:100%;height:100%}.story-visual img{object-fit:contain;object-position:center;background:linear-gradient(135deg,color-mix(in srgb,var(--bg-surface) 88%,transparent),color-mix(in srgb,var(--state-accent-surface) 42%,transparent))}.story-visual-pending{position:relative;display:grid;aspect-ratio:auto;min-height:96px;height:clamp(96px,13vh,136px);place-items:center;background:var(--visual-placeholder-surface),var(--visual-frame-surface)}.story-visual-pending span{position:relative;z-index:1;display:inline-grid;min-height:28px;place-items:center;padding:5px 10px;border-radius:999px;color:var(--fg-muted);background:linear-gradient(90deg,color-mix(in srgb,var(--bg-surface) 72%,transparent),color-mix(in srgb,var(--bg-surface) 42%,transparent));font-size:12px;font-weight:800}.story-visual-pending:before{position:absolute;inset:22% 18%;border-radius:999px;background:var(--visual-placeholder-glow);content:"";filter:blur(18px)}.character-portrait img{object-fit:contain}.character-portrait-pending,.character-thumb-pending{display:grid;place-items:center;color:var(--fg-accent);background:var(--visual-portrait-surface);font-weight:900}.character-portrait-pending span{display:grid;width:54px;height:54px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--bg-surface) 72%,transparent);box-shadow:var(--glow-sky);font-size:24px}.character-thumb-pending span{font-size:14px}.character-thumb img{display:block;width:100%;height:100%;object-fit:cover}.character-portrait{flex:0 0 auto;aspect-ratio:16 / 10;width:100%;max-height:clamp(156px,20vh,240px);margin-bottom:10px;border-radius:var(--radius-sm)}.character-thumb{width:46px;height:46px;border-radius:50%}body.image-lightbox-open{overflow:hidden}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}.image-lightbox-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:var(--lightbox-scrim);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:zoom-out}.image-lightbox-close{position:fixed;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:1;display:grid;width:42px;height:42px;place-items:center;border:1px solid color-mix(in srgb,var(--bg-surface) 32%,transparent);border-radius:var(--radius-pill);color:var(--fg-inverse);background:color-mix(in srgb,var(--fg-default) 72%,transparent);box-shadow:var(--surface-shadow-modal);cursor:pointer}.image-lightbox-close:focus-visible{outline:3px solid var(--state-accent);outline-offset:3px}.image-lightbox-close span{font-size:26px;font-weight:500;line-height:1}.image-lightbox-img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border:1px solid color-mix(in srgb,var(--bg-surface) 32%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-surface) 18%,transparent);box-shadow:var(--surface-shadow-modal)}.inventory-list{margin-top:18px;padding-top:16px;border-top:1px solid var(--border-subtle)}.character-board-hero{display:grid;grid-template-columns:clamp(88px,24%,124px) minmax(0,1fr);gap:10px;align-items:start;min-width:0}.character-board-art{min-width:0}.character-board-art .character-portrait{width:100%;height:auto;min-height:0;max-height:156px;aspect-ratio:4 / 5;margin:0;border-radius:var(--radius-sm);background:linear-gradient(135deg,color-mix(in srgb,var(--bg-surface) 72%,transparent),color-mix(in srgb,var(--state-accent-surface) 38%,transparent))}.character-board-hero-main{display:grid;align-content:start;gap:8px;min-width:0}.character-board-heading{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:6px;align-items:start;min-width:0}.character-board-title{min-width:0}.character-board-title .eyebrow,.character-board-title h3{margin-bottom:3px}.character-board-title h3{overflow-wrap:break-word;word-break:normal}.character-board-status{display:flex;justify-content:flex-end;min-width:0}.character-board-status .sanity-meter{min-height:26px;padding:3px 7px;border-color:color-mix(in srgb,var(--state-success) 34%,transparent);background:color-mix(in srgb,var(--state-success-surface) 82%,transparent);font-size:12px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--state-success) 8%,transparent)}.character-board-status .sanity-cells{gap:2px}.character-board-status .sanity-cell{width:8px;height:8px}.character-board-basics{gap:5px}.character-board-priority{display:grid;gap:6px;min-width:0}.character-board-more{display:grid;gap:4px;min-width:0;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-surface) 58%,transparent)}.character-board-more summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0;min-height:42px;padding:6px 10px;cursor:pointer;list-style:none}.character-board-more summary::-webkit-details-marker{display:none}.character-board-more summary:after{width:12px;height:12px;border-right:2px solid color-mix(in srgb,var(--fg-default) 48%,transparent);border-bottom:2px solid color-mix(in srgb,var(--fg-default) 48%,transparent);content:"";transform:rotate(45deg);transition:transform .16s ease}.character-board-more[open] summary:after{transform:rotate(225deg)}.character-board-more summary strong{display:block;overflow-wrap:anywhere}.character-board-detail-stack{display:grid;gap:7px;min-width:0;padding:0 10px 10px}.character-board-skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.character-board-panel .inventory-list{min-width:0;margin-top:0;padding-top:6px}.character-board-panel .inventory-list:first-of-type{border-top-color:color-mix(in srgb,var(--fg-default) 8%,transparent)}.character-board-panel .stat-row{min-width:0;align-items:center;gap:4px}.character-board-panel .pill{max-width:100%;overflow-wrap:anywhere}.board-appearance,.board-goal{min-width:0;margin:0;padding:12px 14px;border-radius:var(--radius-sm)}.board-appearance{border:1px solid color-mix(in srgb,var(--state-accent) 28%,transparent);background:color-mix(in srgb,var(--state-accent-surface) 58%,transparent)}.board-goal{border:1px solid color-mix(in srgb,var(--state-brand-blush) 26%,transparent);background:color-mix(in srgb,var(--bg-surface-muted) 72%,transparent)}.character-board-priority .board-goal{padding:9px 11px}.character-board-priority .board-goal p:last-child{font-size:14px;font-weight:800;line-height:1.36}.character-board-panel .board-appearance{padding:7px 9px;background:color-mix(in srgb,var(--state-accent-surface) 42%,transparent)}.character-board-panel .board-appearance p:last-child,.character-board-panel .board-list p{color:var(--fg-muted);font-size:13px;line-height:1.34}.character-board-panel .board-list{gap:5px;padding-top:6px;border-top:1px solid color-mix(in srgb,var(--border-subtle) 82%,transparent)}@media(max-width:560px){.character-board-skill-grid{grid-template-columns:1fr;gap:6px}}.board-appearance p:last-child,.board-goal p:last-child{margin-bottom:0;color:var(--fg-default);line-height:1.55;overflow-wrap:anywhere}.sanity-meter{display:inline-grid;grid-template-columns:auto auto auto;align-items:center;gap:8px;max-width:100%;min-height:34px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--state-success) 28%,transparent);border-radius:var(--radius);color:var(--fg-accent);background:color-mix(in srgb,var(--state-success-surface) 70%,transparent);font-size:13px;font-weight:700}.sanity-meter.is-compact{min-height:30px;padding:5px 8px;gap:6px}.sanity-meter.is-depleted{border-color:color-mix(in srgb,var(--state-danger) 32%,transparent);color:var(--state-danger-ink);background:color-mix(in srgb,var(--state-danger-surface) 78%,transparent)}.sanity-meter.is-warning:not(.is-depleted){border-color:color-mix(in srgb,var(--state-warning) 46%,transparent);color:var(--state-warning-ink);background:color-mix(in srgb,var(--state-warning-surface) 84%,transparent)}.sanity-meter.is-low:not(.is-depleted){border-color:color-mix(in srgb,var(--state-danger) 40%,transparent);color:var(--state-danger-ink);background:color-mix(in srgb,var(--state-danger-surface) 78%,transparent)}.sanity-meter.is-consumed{animation:sanity-meter-hit var(--motion-critical-medium) ease-out both}.sanity-label,.sanity-value{white-space:nowrap}.sanity-cells{display:inline-flex;gap:3px}.sanity-cell{width:10px;height:10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--state-neutral) 28%,transparent);background:color-mix(in srgb,var(--bg-surface) 86%,transparent)}.sanity-cell.is-filled{border-color:color-mix(in srgb,var(--state-success) 42%,transparent);background:var(--state-success)}.sanity-meter.is-warning .sanity-cell.is-filled{border-color:color-mix(in srgb,var(--state-warning) 58%,transparent);background:var(--state-warning)}.sanity-meter.is-low .sanity-cell.is-filled,.sanity-meter.is-depleted .sanity-cell.is-filled{border-color:color-mix(in srgb,var(--state-danger) 54%,transparent);background:var(--state-danger)}.sanity-cell.was-lost{border-color:color-mix(in srgb,var(--state-danger) 42%,transparent);background:color-mix(in srgb,var(--state-danger-surface) 90%,transparent);animation:sanity-cell-lost var(--motion-critical-fast) ease-out both}.game-reader{display:flex;flex-direction:column;gap:8px;min-height:clamp(520px,calc(100dvh - 88px),820px)}.game-stage{grid-template-columns:minmax(0,1.78fr) minmax(300px,.72fr);gap:18px;align-items:start;border:0;padding:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.game-stage>div{min-width:0}.game-primary-stack{display:grid;gap:14px;min-width:0}.game-stage .side-stack{align-content:start;gap:10px;width:100%;min-width:0;max-width:none}.game-stage .character-board-panel{order:1;gap:8px;padding:10px}.game-stage .character-board-hero{grid-template-columns:minmax(118px,34%) minmax(0,1fr);align-items:stretch;gap:14px}.game-stage .character-board-art .character-portrait{height:clamp(118px,17vh,168px);min-height:118px;max-height:none;aspect-ratio:4 / 5;border-color:color-mix(in srgb,var(--border-strong) 70%,transparent);background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--state-accent-surface) 42%,transparent),transparent 62%),var(--visual-portrait-surface)}.game-stage .character-board-art .character-portrait img{object-fit:contain;background:linear-gradient(135deg,color-mix(in srgb,var(--bg-surface) 88%,transparent),color-mix(in srgb,var(--state-accent-surface) 28%,transparent))}.game-stage .character-board-heading{align-items:center}.game-stage .character-board-hero-main{align-content:start;gap:8px}.game-stage .character-board-hero-summary{display:grid;gap:7px;min-width:0}.game-stage .character-board-hero-basics{gap:5px}.game-stage .character-board-hero-inventory{display:grid;gap:5px;min-width:0}.game-stage .character-board-hero-inventory .eyebrow,.game-stage .character-board-hero-inventory .muted{margin:0}.game-stage .character-board-hero-inventory .stat-row{align-items:center;gap:5px}.game-stage .players-panel{order:2}.game-stage .story-record-panel{order:3}.game-stage .room-actions-panel{order:4}.game-stage .story-seed-panel{order:5}.game-stage .panel{min-width:0;max-width:100%;padding:14px}.game-stage .panel h3{margin-bottom:6px;font-size:20px;line-height:1.18;overflow-wrap:anywhere}.game-stage .board-list{gap:7px}.game-stage .board-list p{color:var(--fg-muted);font-size:15px;line-height:1.48}.game-stage .inventory-list{margin-top:12px;padding-top:10px}.game-stage .character-board-panel .inventory-list,.game-stage .character-board-panel .board-list{margin-top:0;padding-top:6px}.game-stage .character-board-panel .board-list{gap:5px}.game-stage .players-panel .slot{border-radius:16px;padding:10px}.game-stage .players-panel .slot-actions{justify-items:end;gap:6px}.storyboard-panel{display:grid;gap:0;min-width:0;max-height:clamp(520px,calc(100dvh - 148px),780px);align-content:start;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.game-stage .storyboard-panel{padding:0}.storyboard-meta{display:flex;gap:8px;align-items:center;justify-content:space-between;min-width:0}.game-record-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;min-width:0}.turn-limit-progress{--turn-limit-progress: 0;--turn-limit-track: color-mix(in srgb, var(--state-accent-surface) 62%, transparent);--turn-limit-fill: linear-gradient(90deg, var(--state-accent), color-mix(in srgb, var(--state-success) 72%, var(--state-accent)));display:grid;gap:5px;min-width:0;max-width:100%;padding:8px;border:1px solid color-mix(in srgb,var(--state-accent) 20%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-surface) 88%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bg-panel) 58%,transparent)}.turn-limit-progress.is-final-warning{--turn-limit-track: color-mix(in srgb, var(--state-warning-surface) 74%, transparent);--turn-limit-fill: linear-gradient(90deg, var(--state-warning), color-mix(in srgb, var(--state-danger) 82%, var(--state-warning)));border-color:color-mix(in srgb,var(--state-warning) 38%,transparent);color:var(--state-warning-ink)}.turn-limit-progress-copy{display:flex;gap:8px;align-items:center;justify-content:space-between;min-width:0;color:var(--fg-default);font-size:12px;font-weight:800;line-height:1.15}.turn-limit-progress-copy span,.turn-limit-progress small{min-width:0;overflow-wrap:anywhere}.turn-limit-progress-copy strong{flex:0 0 auto;color:var(--fg-accent);font-variant-numeric:tabular-nums}.turn-limit-progress.is-final-warning .turn-limit-progress-copy strong{color:var(--state-warning-ink)}.turn-limit-progress-track{position:relative;height:7px;overflow:hidden;border-radius:999px;background:var(--turn-limit-track)}.turn-limit-progress-track:before{content:"";position:absolute;inset:0;width:100%;border-radius:inherit;background:var(--turn-limit-fill);transform:scaleX(var(--turn-limit-progress));transform-origin:left center;transition:transform .22s ease,background .22s ease;will-change:transform}.turn-limit-progress small{color:var(--fg-muted);font-size:11px;font-weight:700;line-height:1.25}.turn-limit-progress.is-final-warning small{color:var(--state-warning-ink)}.storyboard-list{display:grid;gap:16px;min-width:0;overflow:visible;padding:16px}.storyboard-segment{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start;min-width:0;padding:12px;border:1px solid color-mix(in srgb,var(--border-strong) 62%,transparent);border-radius:var(--radius-sm);background:linear-gradient(135deg,color-mix(in srgb,var(--bg-surface) 92%,transparent),color-mix(in srgb,var(--state-accent-surface) 18%,transparent)),color-mix(in srgb,var(--bg-panel-strong) 84%,transparent)}.storyboard-segment .story-visual{align-self:start;width:100%;max-width:100%;height:clamp(210px,28vh,320px);min-height:210px;border-color:color-mix(in srgb,var(--border-strong) 76%,transparent);border-radius:var(--radius-sm);background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--state-accent-surface) 42%,transparent),transparent 62%),var(--visual-frame-surface)}.storyboard-segment .story-visual-pending{min-height:156px;height:clamp(156px,22vh,236px)}.storyboard-segment .story-visual img{object-fit:contain}.storyboard-copy{display:grid;gap:7px;min-width:0;min-height:0}.storyboard-meta{align-items:baseline}.storyboard-text{min-width:0;max-width:100%;height:auto;max-height:none;overflow:visible}.storyboard-copy p{min-width:0;max-width:100%;margin:0;color:var(--fg-muted);font-size:14px;line-height:1.46;overflow-wrap:anywhere}.storyboard-text p{white-space:pre-wrap}.game-stage>div>.room-header{display:none}.story-control-panel{display:grid;order:0;gap:10px;align-content:start}.story-control-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;min-width:0;padding:8px;border:1px solid color-mix(in srgb,var(--state-accent) 18%,var(--border-subtle));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-surface-raised) 70%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bg-panel) 42%,transparent)}.story-control-summary .turn-limit-progress{align-self:center;width:100%;min-height:44px;padding:0;border:0;background:transparent;box-shadow:none}.story-control-summary .game-record-actions{align-items:stretch;justify-content:flex-end}.story-control-summary .game-record-actions button{width:auto;min-height:44px;padding-inline:13px;border-color:color-mix(in srgb,var(--state-accent) 30%,var(--border-subtle));color:var(--fg-accent);background:color-mix(in srgb,var(--state-accent-surface) 72%,var(--bg-surface))}.story-control-panel .storyboard-composer{--turn-input-min-height: clamp(92px, 12vh, 128px);position:static;bottom:auto;z-index:auto;margin:0;box-shadow:none}.story-control-panel .story-composer{background:color-mix(in srgb,var(--bg-surface-raised) 70%,transparent)}.story-record-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,208px) auto auto;gap:8px;align-items:center}.story-record-header h3{margin:0;font-size:24px}.story-record-panel.game-reader{min-height:0}.story-record-panel>.story-visual{height:clamp(210px,24vh,300px);min-height:210px}.story-record-panel.game-reader>.story-visual-pending{aspect-ratio:auto;min-height:92px;height:clamp(92px,12vh,128px)}.story-record-panel .story-record-header{grid-template-columns:minmax(0,1fr) auto}.story-record-panel .story-record-header .room-header-share{grid-column:span 1}.room-header-share,.action-record-open{min-height:40px;padding:8px 14px;font-weight:800;white-space:nowrap}.game-stage .pill:not(.ready-pill):not(.sanity-meter):not(.presence-badge){min-height:24px;padding:4px 8px;color:var(--fg-muted);background:color-mix(in srgb,var(--bg-surface) 58%,transparent);font-size:12px;font-weight:700}.story-transcript{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;flex:1 1 auto;gap:8px;min-height:0;overflow:visible;padding:2px 0 8px}.story-chat-panel{display:grid;gap:8px;min-width:0;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-surface) 64%,transparent)}.story-chat-panel summary{display:flex;gap:10px;align-items:center;justify-content:space-between;min-width:0;padding:11px 12px;cursor:pointer;list-style:none}.story-chat-panel summary::-webkit-details-marker{display:none}.story-chat-panel summary:after{flex:0 0 auto;width:10px;height:10px;border-right:2px solid color-mix(in srgb,var(--fg-default) 54%,transparent);border-bottom:2px solid color-mix(in srgb,var(--fg-default) 54%,transparent);content:"";transform:rotate(45deg) translateY(-2px);transition:transform var(--motion-state-fast) var(--motion-state-ease)}.story-chat-panel[open] summary:after{transform:rotate(225deg) translateY(-2px)}.story-chat-panel:not([open]) .story-transcript{display:none}.story-chat-panel summary>span:first-child{display:grid;gap:1px;min-width:0}.story-chat-panel summary strong{min-width:0;overflow-wrap:anywhere;font-size:15px;line-height:1.2}.story-chat-panel .story-transcript{margin:0 10px 10px;min-height:0;max-height:none;padding:2px 0 8px}.game-room-actions-panel,.room-detail-panel{display:grid;gap:0;min-width:0}.game-room-actions-panel summary,.room-detail-panel summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0;cursor:pointer;list-style:none}.game-room-actions-panel summary::-webkit-details-marker,.room-detail-panel summary::-webkit-details-marker{display:none}.game-room-actions-panel summary:after,.room-detail-panel summary:after{width:12px;height:12px;border-right:2px solid color-mix(in srgb,var(--fg-default) 48%,transparent);border-bottom:2px solid color-mix(in srgb,var(--fg-default) 48%,transparent);content:"";transform:rotate(45deg);transition:transform .16s ease}.game-room-actions-panel[open] summary:after,.room-detail-panel[open] summary:after{transform:rotate(225deg)}.game-room-actions-panel summary strong,.room-detail-panel summary strong{display:block;overflow-wrap:anywhere}.game-room-actions-panel .actions,.room-detail-list{margin-top:10px}.room-detail-list{display:grid;gap:8px}.room-detail-list h3{margin:0}.game-reader>.story-visual{height:clamp(260px,32vh,360px)}.game-reader:has(.turn-processing-panel){gap:10px;min-height:0}.game-reader:has(.turn-processing-panel) .story-transcript{flex:0 0 clamp(232px,28vh,360px);min-height:clamp(232px,28vh,360px)}.transcript-scene-group{display:grid;align-content:start;align-items:start;gap:8px;width:100%;min-width:0}.transcript-entry{display:grid;align-items:start;grid-template-columns:34px minmax(0,1fr);gap:9px;width:100%;inline-size:100%;min-width:0}.transcript-marker,.transcript-avatar{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;color:var(--fg-accent);font-weight:800}.transcript-marker{margin-top:4px;border:1px solid color-mix(in srgb,var(--state-brand-blush) 24%,transparent);background:radial-gradient(circle at 42% 40%,color-mix(in srgb,var(--state-warning) 92%,transparent),color-mix(in srgb,var(--state-brand-blush) 42%,transparent) 60%,color-mix(in srgb,var(--bg-surface) 84%,transparent))}.transcript-marker.is-processing{position:relative}.transcript-marker.is-processing:after{position:absolute;inset:5px;border:2px solid color-mix(in srgb,var(--state-accent) 22%,transparent);border-top-color:var(--state-accent);border-radius:50%;content:"";animation:judge-spin var(--motion-critical-medium) var(--motion-critical-linear) infinite}.transcript-avatar{margin-top:3px;border:1px solid color-mix(in srgb,var(--state-accent) 16%,transparent);background:color-mix(in srgb,var(--state-accent-surface) 76%,transparent);font-size:14px;overflow:hidden}.transcript-avatar img{width:100%;height:100%;display:block;object-fit:cover}.transcript-bubble{align-self:start;justify-self:stretch;width:100%;min-width:0;max-width:100%;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:11px 12px;background:color-mix(in srgb,var(--bg-surface) 82%,transparent)}.scene-entry .transcript-bubble{border-color:color-mix(in srgb,var(--state-brand-blush) 18%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--bg-surface) 92%,transparent),color-mix(in srgb,var(--state-danger-surface) 34%,transparent))}.judge-status-entry .transcript-bubble{border-color:color-mix(in srgb,var(--state-accent) 32%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--state-accent-surface) 56%,transparent),color-mix(in srgb,var(--bg-surface) 90%,transparent))}.player-entry{margin-left:16px}.player-entry .transcript-bubble{width:min(100%,72ch);min-width:min(220px,100%);max-width:min(100%,72ch);justify-self:start}.player-entry.is-self{grid-template-columns:minmax(0,1fr) 34px;margin-right:16px;margin-left:0}.player-entry.is-self .transcript-avatar{grid-column:2;grid-row:1}.player-entry.is-self .transcript-bubble{grid-column:1;grid-row:1;justify-self:end;border-color:color-mix(in srgb,var(--state-accent) 38%,transparent);background:color-mix(in srgb,var(--state-accent-surface) 48%,transparent)}.player-entry.is-auto-blank .transcript-bubble{border-color:color-mix(in srgb,var(--state-neutral) 20%,transparent);background:color-mix(in srgb,var(--bg-surface) 70%,transparent)}.player-entry.is-auto-blank .transcript-avatar{color:var(--fg-subtle);background:color-mix(in srgb,var(--bg-surface-muted) 74%,transparent)}.player-entry.is-private-input .transcript-bubble{border-style:dashed;background:color-mix(in srgb,var(--bg-surface) 64%,transparent)}.transcript-meta{display:flex;gap:8px;align-items:baseline;justify-content:space-between;min-width:0;margin-bottom:5px}.transcript-meta .slot-name,.transcript-meta .slot-meta{min-width:0;overflow-wrap:anywhere}.player-entry .transcript-player-meta{display:grid;gap:2px;justify-content:stretch;margin-bottom:7px}.player-entry .transcript-player-role{color:var(--fg-default);font-size:15px;font-weight:800;line-height:1.25}.player-entry .transcript-player-detail{color:var(--fg-subtle);font-size:12px;font-weight:700;line-height:1.28}.transcript-entry p{min-width:0;max-width:100%;margin:0;color:var(--fg-muted);font-size:16px;line-height:1.56;overflow-wrap:anywhere;word-break:normal}.story-composer textarea{width:100%;min-width:0;height:var(--turn-input-min-height);min-height:var(--turn-input-min-height);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:10px 12px;color:var(--fg-default);background:color-mix(in srgb,var(--bg-surface) 72%,transparent);line-height:1.45;resize:vertical}.turn-input-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(88px,auto);gap:8px;grid-column:1 / -1;align-items:stretch;min-width:0}.turn-input-row textarea{grid-column:auto}.suggested-actions-scroll-frame{display:grid;grid-column:1 / -1;min-width:0;position:relative}.suggested-actions-scroll-frame:after{display:none}.suggested-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0}.suggested-action-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;min-height:36px;padding:6px 9px;border:1px solid color-mix(in srgb,var(--state-accent) 44%,var(--border-subtle));border-radius:var(--radius-sm);color:color-mix(in srgb,var(--fg-accent) 70%,var(--fg-default));background:linear-gradient(180deg,color-mix(in srgb,var(--state-accent-surface) 44%,var(--bg-surface)),color-mix(in srgb,var(--bg-surface) 78%,var(--state-accent-surface)));box-shadow:inset 0 1px color-mix(in srgb,var(--fg-inverse) 72%,transparent),0 5px 14px color-mix(in srgb,var(--state-accent) 10%,transparent);font-size:12px;font-weight:850;line-height:1.25;text-align:left;overflow-wrap:anywhere;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.suggested-action-index{display:inline-grid;place-items:center;width:19px;height:19px;border-radius:999px;color:var(--fg-inverse);background:var(--state-accent);box-shadow:0 2px 8px color-mix(in srgb,var(--state-accent) 22%,transparent);font-size:11px;font-weight:900;line-height:1}.suggested-action-option:hover,.suggested-action-option:focus-visible{border-color:color-mix(in srgb,var(--state-accent) 72%,var(--border-strong));background:linear-gradient(180deg,color-mix(in srgb,var(--state-accent-surface) 58%,var(--bg-surface)),color-mix(in srgb,var(--bg-surface) 70%,var(--state-accent-surface)))}.suggested-action-option:active{transform:translateY(1px)}.turn-input-options{display:grid;grid-column:1 / -1;min-width:0;border:1px solid color-mix(in srgb,var(--state-accent) 52%,var(--border-subtle));border-radius:var(--radius-sm);padding:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--state-accent-surface) 66%,var(--bg-surface)),color-mix(in srgb,var(--state-public-surface) 42%,var(--bg-surface))),var(--bg-surface);box-shadow:0 7px 20px color-mix(in srgb,var(--state-accent) 10%,transparent)}.turn-input-options-header{display:flex;gap:8px;align-items:center;justify-content:space-between;min-width:0;min-height:26px;padding:0 2px 6px;border:0;color:var(--fg-accent);background:transparent;font-size:14px;font-weight:900;line-height:1.2}.turn-input-options-header>span:first-child{min-width:0;overflow-wrap:anywhere}.turn-input-options-header>span:first-child:before{display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:999px;background:var(--state-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--state-accent-surface) 70%,transparent);content:"";vertical-align:1px}.turn-input-options-body{display:grid;gap:7px;min-width:0;margin-top:0}.story-composer-submitted-count{flex:0 0 auto;margin-left:auto;padding-inline:2px;font-size:12px;font-weight:800;white-space:nowrap}.turn-visibility-control{display:flex;gap:8px;align-items:center;justify-content:space-between;grid-column:1 / -1;min-width:0;padding:4px 2px 0;border:0;border-top:1px solid color-mix(in srgb,var(--border-subtle) 70%,transparent);border-radius:0;background:transparent;box-shadow:none}.turn-visibility-control input{appearance:none;-webkit-appearance:none;flex:0 0 auto;order:2;position:relative;width:42px;height:24px;margin:0;border:1px solid color-mix(in srgb,var(--border-strong) 72%,transparent);border-radius:999px;background:color-mix(in srgb,var(--fg-subtle) 18%,var(--bg-surface));cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.turn-visibility-control input:before{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:999px;background:var(--bg-surface);box-shadow:0 2px 8px color-mix(in srgb,var(--fg-default) 18%,transparent);transition:transform .18s ease,background .18s ease}.turn-visibility-control input:checked{border-color:color-mix(in srgb,var(--state-public) 72%,var(--border-subtle));background:var(--state-public-surface);box-shadow:0 0 0 3px var(--state-public-ring)}.turn-visibility-control input:checked:before{transform:translate(18px)}.turn-visibility-control input:focus-visible{outline:2px solid color-mix(in srgb,var(--state-public) 58%,var(--fg-default));outline-offset:3px}[data-theme=night] .turn-visibility-control{border-top-color:color-mix(in srgb,var(--moon-50) 10%,transparent)}[data-theme=night] .turn-visibility-control input{border-color:color-mix(in srgb,var(--moon-50) 18%,transparent);background:color-mix(in srgb,var(--night-ink-950) 46%,var(--night-ink-600));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--night-ink-950) 58%,transparent),0 0 0 1px color-mix(in srgb,var(--moon-50) 4%,transparent)}[data-theme=night] .turn-visibility-control input:before{background:color-mix(in srgb,var(--moon-100) 72%,var(--night-ink-600));box-shadow:0 2px 7px color-mix(in srgb,var(--night-ink-950) 42%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--moon-50) 28%,transparent)}[data-theme=night] .turn-visibility-control input:checked{border-color:color-mix(in srgb,var(--lantern-sky) 42%,var(--moon-50) 8%);background:linear-gradient(90deg,color-mix(in srgb,var(--lantern-sky-soft) 72%,var(--night-ink-850)),color-mix(in srgb,var(--lantern-sage) 28%,var(--night-ink-700)));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--night-ink-950) 46%,transparent),0 0 0 3px color-mix(in srgb,var(--lantern-sky) 12%,transparent)}[data-theme=night] .turn-visibility-control input:checked:before{background:color-mix(in srgb,var(--moon-50) 82%,var(--lantern-sky))}[data-theme=night] .turn-visibility-control input:focus-visible{outline-color:color-mix(in srgb,var(--lantern-sky) 52%,transparent)}.turn-visibility-control span{order:1;display:grid;gap:2px;min-width:0}.turn-visibility-control strong{color:var(--fg-default);font-size:12px;line-height:1.2}.turn-visibility-control small{color:var(--fg-subtle);font-size:11px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.storyboard-composer .turn-visibility-control small{display:none}.turn-submit-button{min-width:88px;min-height:var(--turn-input-min-height);padding-inline:14px;white-space:nowrap}.story-composer label{font-weight:800}.story-composer{--turn-input-min-height: 88px;--turn-processing-draft-lines: 4;position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:end;min-width:0;max-width:100%;margin-top:0;padding:8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-surface-raised) 94%,transparent);box-shadow:0 -4px 10px color-mix(in srgb,var(--fg-default) 4%,transparent)}.storyboard-composer{--turn-input-min-height: clamp(84px, 10vh, 112px);position:sticky;bottom:0;z-index:5;gap:10px;padding:12px;border-color:color-mix(in srgb,var(--state-accent) 18%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-surface-raised) 96%,transparent),color-mix(in srgb,var(--bg-panel-strong) 82%,transparent));box-shadow:0 -1px color-mix(in srgb,var(--fg-inverse) 42%,transparent) inset,var(--surface-shadow-raised)}[data-theme=night] .storyboard-composer{border-color:color-mix(in srgb,var(--state-accent) 24%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-panel-strong) 94%,transparent),color-mix(in srgb,var(--bg-room) 92%,transparent))}[data-theme=night] .story-composer textarea{border-color:color-mix(in srgb,var(--state-accent) 22%,transparent);color:var(--fg-default);background:color-mix(in srgb,var(--bg-surface) 90%,transparent)}.story-composer:has(.turn-processing-panel){padding:0;border-color:transparent;background:transparent;box-shadow:none}.story-composer:has(.turn-processing-panel) .turn-heading,.story-composer:has(.turn-processing-panel) .turn-countdown,.story-composer:has(.turn-processing-panel) .turn-input-row,.story-composer:has(.turn-processing-panel) .error{display:none}.storyboard-composer textarea{font-size:16px;line-height:1.5}@media(min-width:921px){.storyboard-composer .turn-input-row{grid-template-columns:minmax(0,1fr) minmax(112px,152px)}.storyboard-composer .turn-submit-button{justify-self:stretch;width:100%;min-width:112px;min-height:var(--turn-input-min-height)}}.story-composer.is-sanity-consumed{border-color:color-mix(in srgb,var(--state-brand-blush) 34%,transparent);box-shadow:0 -8px 18px color-mix(in srgb,var(--fg-default) 4%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--state-brand-blush) 16%,transparent)}.story-composer.is-sanity-depleted{border-color:color-mix(in srgb,var(--state-danger) 36%,transparent)}.story-composer.is-sanity-depleted textarea:disabled{animation:sanity-input-depleted var(--motion-critical-medium) ease-out both}.sanity-loss-chip{position:absolute;top:8px;right:8px;z-index:2;max-width:calc(100% - 16px);padding:4px 8px;border:1px solid color-mix(in srgb,var(--state-brand-blush) 38%,transparent);border-radius:999px;color:var(--fg-danger);background:color-mix(in srgb,var(--bg-surface-muted) 96%,transparent);box-shadow:0 8px 18px color-mix(in srgb,var(--fg-default) 10%,transparent);font-size:12px;font-weight:800;line-height:1;white-space:nowrap;pointer-events:none;animation:sanity-loss-chip var(--motion-critical-medium) ease-out both}.sanity-loss-chip.is-depleted{border-color:color-mix(in srgb,var(--state-danger) 38%,transparent);color:var(--state-danger-ink);background:color-mix(in srgb,var(--state-danger-surface) 96%,transparent)}.sanity-loss-chip.is-inline{position:static;display:inline-flex;align-items:center;min-height:30px;box-shadow:none;animation:sanity-loss-chip-inline var(--motion-critical-slow) ease-out both}.story-composer .turn-heading,.story-composer .turn-countdown,.story-composer .error{grid-column:1 / -1}.story-composer>textarea{grid-column:1 / -1}.story-composer .form-actions{grid-column:1 / -1;display:none;margin-top:0}.story-composer .form-actions .muted{display:none;align-self:center;white-space:nowrap}.story-composer .form-actions .primary{min-width:112px;height:100%;min-height:42px;padding-inline:14px}.turn-processing-panel{position:relative;display:grid;grid-column:1 / -1;grid-template-columns:40px minmax(0,1fr) auto;gap:7px 12px;align-items:center;min-width:0;max-width:100%;overflow:hidden;border:1px solid color-mix(in srgb,var(--state-accent) 18%,transparent);border-radius:var(--radius-sm);padding:8px 10px;background:color-mix(in srgb,var(--bg-surface-raised) 92%,var(--state-accent-surface));box-shadow:inset 0 1px color-mix(in srgb,var(--fg-inverse) 72%,transparent)}.turn-processing-panel:before{position:absolute;inset:0;pointer-events:none;content:"";background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--bg-surface) 72%,transparent),transparent);opacity:.44;transform:translate(-88%);animation:turn-processing-sheen var(--motion-decorative-slow) var(--motion-decorative-ease) infinite}.turn-processing-orbit{display:grid;position:relative;grid-column:1;grid-row:1 / span 2;place-items:center;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--state-accent) 14%,transparent);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--bg-surface) 96%,transparent) 0 42%,color-mix(in srgb,var(--state-accent-surface) 50%,transparent) 43% 58%,transparent 59%),conic-gradient(from 0deg,color-mix(in srgb,var(--state-accent) 24%,transparent),color-mix(in srgb,var(--state-warning) 42%,transparent),color-mix(in srgb,var(--state-brand-blush) 28%,transparent),color-mix(in srgb,var(--state-accent) 24%,transparent));box-shadow:0 0 0 6px color-mix(in srgb,var(--state-accent-surface) 18%,transparent);isolation:isolate;animation:turn-processing-pulse var(--motion-decorative-medium) var(--motion-decorative-ease) infinite}.turn-processing-orbit:before{position:absolute;inset:5px;z-index:0;border-radius:inherit;background:conic-gradient(from 0deg,transparent 0 45deg,color-mix(in srgb,var(--state-accent) 52%,transparent) 46deg 86deg,transparent 87deg 360deg);content:"";animation:turn-processing-spin var(--motion-decorative-medium) var(--motion-critical-linear) infinite}.turn-processing-orbit:after{position:absolute;width:12px;height:12px;z-index:1;border-radius:50%;background:linear-gradient(135deg,var(--state-accent),var(--state-warning));box-shadow:0 0 0 5px color-mix(in srgb,var(--bg-surface) 86%,transparent);content:""}.turn-processing-orbit span{position:absolute;z-index:2;display:block;width:5px;height:5px;border-radius:50%;background:var(--state-accent);opacity:.72;animation:turn-processing-dot var(--motion-decorative-medium) var(--motion-decorative-ease) infinite}.turn-processing-orbit span:nth-child(1){transform:translateY(-13px)}.turn-processing-orbit span:nth-child(2){background:var(--state-warning);transform:translate(11px,7px);animation-delay:.14s}.turn-processing-orbit span:nth-child(3){background:var(--state-brand-blush);transform:translate(-11px,7px);animation-delay:.28s}.turn-processing-copy{grid-column:2;grid-row:1;min-width:0}.turn-processing-copy strong,.turn-processing-copy p{display:block;min-width:0;overflow-wrap:anywhere}.turn-processing-copy strong{margin-bottom:2px;color:var(--fg-default);font-size:14px;line-height:1.25}.turn-processing-copy p{margin:0;color:var(--fg-muted);font-size:13px;line-height:1.35}.turn-processing-progress{position:relative;z-index:1;grid-column:2 / -1;grid-row:2;height:8px;margin:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--state-accent) 12%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--bg-surface) 72%,transparent)}.turn-processing-progress span{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--state-accent),color-mix(in srgb,var(--state-warning) 82%,transparent),color-mix(in srgb,var(--state-brand-blush) 66%,transparent));box-shadow:0 0 0 3px color-mix(in srgb,var(--state-accent-surface) 18%,transparent);transform:scaleX(var(--turn-processing-progress));transform-origin:left center}.turn-processing-panel>.pill{position:relative;z-index:1;grid-column:3;grid-row:1;justify-self:end;align-self:start;min-width:max-content;min-height:26px;padding:5px 9px;border-color:color-mix(in srgb,var(--state-accent) 16%,transparent);color:var(--fg-accent);background:color-mix(in srgb,var(--bg-surface) 78%,transparent);font-size:11px;font-weight:800;white-space:nowrap}.turn-waiting-panel{display:grid;gap:14px}.turn-waiting-panel.storyboard-composer{position:static;inset:auto;z-index:auto}.turn-waiting-panel .turn-heading h3{margin:0;color:var(--fg-default);font-family:var(--font-body);font-size:18px;line-height:1.25;overflow-wrap:anywhere}.turn-waiting-body{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;min-width:0;border:1px solid color-mix(in srgb,var(--state-success) 30%,var(--border-subtle));border-radius:var(--radius-sm);padding:12px;background:color-mix(in srgb,var(--state-success-surface) 48%,var(--bg-surface) 52%)}.turn-waiting-mark{position:relative;width:34px;height:34px;border:1px solid color-mix(in srgb,var(--state-success) 36%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--bg-surface) 72%,transparent)}.turn-waiting-mark span{position:absolute;top:50%;left:50%;width:6px;height:6px;border-radius:var(--radius-pill);background:var(--state-success);transform:translate(-50%,-50%)}.turn-waiting-mark span:nth-child(1){margin-left:-8px;opacity:.56}.turn-waiting-mark span:nth-child(2){opacity:.76;animation:turn-processing-dot var(--motion-decorative-medium) var(--motion-decorative-ease) infinite}.turn-waiting-mark span:nth-child(3){margin-left:8px}.turn-waiting-copy{min-width:0}.turn-waiting-copy strong,.turn-waiting-copy p{display:block;min-width:0;overflow-wrap:anywhere}.turn-waiting-copy strong{margin-bottom:2px;color:var(--fg-default);font-size:14px;line-height:1.25}.turn-waiting-copy p{margin:0;color:var(--fg-muted);font-size:13px;line-height:1.35}.turn-heading{display:flex;gap:12px;align-items:start;justify-content:space-between}.turn-heading .eyebrow{margin-bottom:6px}.turn-heading .pill{flex:0 0 auto;margin-top:2px}.turn-inputs-panel{display:grid;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--border-subtle)}.turn-input-list{display:grid;gap:10px}.turn-input-item{min-width:0;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:12px;background:color-mix(in srgb,var(--bg-surface) 62%,transparent)}.turn-input-item.is-self{border-color:color-mix(in srgb,var(--state-accent) 38%,transparent);background:color-mix(in srgb,var(--state-accent-surface) 50%,transparent)}.turn-input-meta{display:grid;gap:2px;margin-bottom:8px}.turn-input-item p{margin-bottom:0;color:var(--fg-muted);line-height:1.55;overflow-wrap:anywhere}.create-layout{display:grid;grid-template-columns:minmax(0,min(100%,640px));justify-content:center;gap:0;align-items:start}.create-card{display:grid;gap:12px}.room-entry-taskbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-width:0;margin-bottom:12px;padding:14px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-surface) 82%,transparent);box-shadow:var(--surface-shadow-flat)}.room-entry-taskbar>div{min-width:0}.room-entry-taskbar .eyebrow,.room-entry-taskbar h3,.room-entry-taskbar p{margin:0}.room-entry-taskbar h3{font-size:20px;line-height:1.16;overflow-wrap:anywhere}.room-entry-taskbar p:not(.eyebrow){margin-top:4px;color:var(--fg-muted);font-size:13px;line-height:1.35;overflow-wrap:anywhere}.room-entry-taskbar .ghost{min-height:38px;padding:8px 12px;white-space:nowrap}.room-entry-current-room-status{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-width:0;margin-bottom:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--state-warning) 32%,var(--border-subtle));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--state-warning-surface) 58%,var(--bg-surface) 42%)}.room-entry-current-room-status>div{min-width:0}.room-entry-current-room-status .eyebrow,.room-entry-current-room-status strong,.room-entry-current-room-status p{margin:0}.room-entry-current-room-status strong{display:block;color:var(--fg-default);font-size:14px;line-height:1.25;overflow-wrap:anywhere}.room-entry-current-room-status p:not(.eyebrow){margin-top:3px;color:var(--fg-muted);font-size:12px;line-height:1.35;overflow-wrap:anywhere}.room-entry-current-room-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.room-entry-current-room-actions button{min-height:34px;padding:7px 10px}.create-card .room-entry-current-room-status{margin-bottom:0}.room-entry-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.room-entry-mode-button{display:grid;gap:4px;min-width:0;min-height:78px;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--fg-muted);background:color-mix(in srgb,var(--bg-surface) 68%,transparent);text-align:left}.room-entry-mode-button:hover{border-color:color-mix(in srgb,var(--state-accent) 18%,transparent);background:var(--bg-surface-raised)}.room-entry-mode-button[aria-pressed=true]{border-color:color-mix(in srgb,var(--state-accent) 62%,transparent);color:var(--fg-accent);background:color-mix(in srgb,var(--state-accent-surface) 78%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--state-accent) 10%,transparent),var(--surface-shadow-raised)}.room-entry-mode-title,.room-entry-mode-copy{min-width:0;overflow-wrap:anywhere}.room-entry-mode-title{font-weight:900}.room-entry-mode-copy{color:var(--fg-subtle);font-size:13px;line-height:1.3}.room-entry-context{display:grid;gap:8px;padding:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in oklab,var(--bg-surface) 78%,transparent)}.room-entry-helper-chips{gap:6px}.room-entry-details{color:var(--fg-muted);font-size:13px;line-height:1.35}.room-entry-details summary{cursor:pointer;color:var(--fg-accent);font-weight:900}.room-entry-details p{margin:6px 0 0;color:var(--fg-subtle)}.room-entry-panel{display:grid;gap:12px}.create-card .field textarea{min-height:88px}.split-fields{grid-template-columns:minmax(0,1fr) minmax(118px,.34fr);align-items:end}.join-layout{display:grid;grid-template-columns:minmax(320px,560px) minmax(260px,380px);gap:16px;align-items:stretch;margin-top:12px}.join-card,.join-note{min-width:0}.join-card{align-content:start}.join-note{display:grid;align-content:center;background:color-mix(in srgb,var(--state-danger-surface) 36%,var(--bg-panel))}.app-shell:has(.auth-layout){min-height:100dvh}.app-shell:has(.auth-layout) .topbar{position:fixed;inset:0 0 auto;z-index:20;width:100%;padding:clamp(14px,2.2vw,28px) clamp(18px,4vw,60px) 0;pointer-events:none}.app-shell:has(.auth-layout) .brand,.app-shell:has(.auth-layout) .topbar-actions,.app-shell:has(.auth-layout) .topbar-menu,.app-shell:has(.auth-layout) .settings-menu{pointer-events:auto}.app-shell:has(.auth-layout) .brand{padding:4px;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell:has(.auth-layout) .brand:hover{border-color:transparent;background:transparent;box-shadow:none;transform:none}.app-shell:has(.auth-layout) .brand-logo{filter:drop-shadow(0 8px 12px color-mix(in srgb,var(--bg-inverse) 16%,transparent))}.app-shell:has(.auth-layout) .view{width:100%;margin:0;padding:0}.auth-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);align-items:stretch;width:100%;min-height:100dvh;margin:0}.auth-intro,.auth-card{min-width:0}.auth-intro{position:relative;display:grid;align-content:center;gap:18px;min-height:100dvh;overflow:hidden;padding:clamp(108px,14vh,150px) clamp(44px,7vw,118px) clamp(44px,8vh,92px);border:1px solid var(--auth-intro-border);border-width:0 1px 0 0;border-radius:0;color:var(--auth-intro-ink);background:var(--auth-intro-bg);box-shadow:none}.auth-intro:before,.auth-intro:after{position:absolute;pointer-events:none;content:""}.auth-intro:before{right:-96px;bottom:-118px;width:clamp(260px,28vw,430px);height:clamp(260px,28vw,430px);border-radius:var(--radius-pill);background:var(--auth-intro-orb)}.auth-intro:after{top:clamp(26px,4vw,54px);right:clamp(28px,4vw,54px);width:clamp(74px,8vw,112px);height:clamp(74px,8vw,112px);border:1px solid var(--auth-intro-mark-border);border-radius:var(--radius-pill);background:var(--auth-intro-mark-bg)}.auth-brandline{display:inline-flex;width:fit-content;max-width:100%;align-items:center;gap:10px;padding:7px 10px 7px 7px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--fg-muted);background:color-mix(in srgb,var(--bg-raised) 74%,transparent);font-size:12px;font-weight:900;line-height:1;box-shadow:var(--surface-shadow-raised)}.auth-brandline img{display:block;width:54px;height:34px;object-fit:contain}.auth-intro .eyebrow{position:relative;z-index:1;margin:0;color:var(--auth-intro-eyebrow);letter-spacing:0}.auth-intro h1{position:relative;z-index:1;margin:0;max-width:8.8em;color:var(--auth-intro-strong);font-size:clamp(52px,6.4vw,92px);line-height:1.02;text-wrap:balance}.auth-intro .lede{position:relative;z-index:1;max-width:38ch;margin:0;color:var(--auth-intro-muted);font-size:16px;line-height:1.62;text-wrap:pretty}.auth-care-list{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;max-width:46ch;margin:10px 0 0;padding:0;list-style:none}.auth-care-list li{position:relative;flex:1 1 180px;min-width:180px;padding:11px 12px 11px 32px;border:1px solid var(--auth-chip-border);border-radius:var(--radius-sm);color:var(--auth-intro-muted);background:var(--auth-chip-bg);font-size:12px;font-weight:800;line-height:1.42;overflow-wrap:anywhere}.auth-care-list li:before{position:absolute;top:15px;left:13px;width:10px;height:10px;border-radius:var(--radius-pill);background:var(--auth-chip-dot);box-shadow:var(--auth-chip-dot-ring);content:""}.auth-card{display:grid;align-content:center;align-self:stretch;justify-items:center;min-height:100dvh;padding:clamp(104px,13vh,148px) clamp(36px,6vw,92px) clamp(44px,7vh,82px);border:0;border-radius:0;color:var(--auth-card-ink);background:var(--auth-card-surface);box-shadow:none}.auth-card>*{width:min(100%,430px);justify-self:center}.auth-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:28px;padding:4px;border:1px solid var(--auth-switch-border);border-radius:var(--radius-pill);background:var(--auth-switch-surface)}.auth-mode-option{min-height:38px;border:0;border-radius:var(--radius-pill);color:var(--auth-switch-muted);background:transparent;font:inherit;font-size:13px;font-weight:900;cursor:pointer}.auth-mode-option[aria-current=page]{color:var(--auth-intro-strong);background:var(--auth-switch-active-bg);box-shadow:var(--auth-switch-active-shadow)}.auth-card-head{display:grid;gap:8px;margin-bottom:18px}.auth-card-head .eyebrow{margin:0;color:var(--auth-blush-ink);letter-spacing:0}.auth-card-head h1{margin:0;color:var(--auth-card-strong);font-size:clamp(30px,3vw,38px);line-height:1.1;text-wrap:balance}.auth-card-head p{max-width:36ch;margin:0;color:var(--auth-card-muted);font-size:14px;line-height:1.52;text-wrap:pretty}.auth-story-context{display:grid;gap:6px;margin-bottom:12px;padding:13px 14px;border:1px solid var(--auth-context-border);border-radius:14px;background:var(--auth-context-bg)}.auth-story-context span{color:var(--auth-context-ink);font-size:11px;font-weight:900;letter-spacing:0}.auth-story-context strong{color:var(--auth-card-ink);font-size:16px;line-height:1.25}.auth-story-context p{margin:0;color:var(--auth-context-muted);font-size:13px;line-height:1.4}.auth-return-intent{display:grid;gap:3px;margin-bottom:16px;padding:11px 12px;border:1px solid var(--auth-return-border);border-radius:14px;color:var(--auth-card-ink);background:var(--auth-return-bg)}.auth-return-intent span{color:var(--auth-return-ink);font-size:11px;font-weight:900;letter-spacing:0;text-transform:uppercase}.auth-return-intent strong{min-width:0;max-width:100%;color:var(--auth-card-ink);font-size:14px;line-height:1.35;overflow-wrap:anywhere}.auth-card .field label,.auth-card .field-label{color:var(--auth-card-ink)}.auth-card .field input{min-height:48px;border-color:var(--auth-input-border);border-radius:14px;color:var(--auth-card-strong);background:var(--auth-input-bg);box-shadow:none}.auth-card .field input:focus{border-color:var(--auth-input-focus);box-shadow:var(--auth-input-focus-ring)}.auth-card .helper,.auth-card .auth-reset-block,.auth-card .auth-alt-action{color:var(--auth-context-muted)}.auth-card .primary{min-height:48px;border-color:var(--auth-action-border);color:var(--auth-action-ink);background:var(--auth-action-bg);box-shadow:var(--auth-action-shadow)}.auth-card .primary:hover{transform:translateY(-1px);background:var(--auth-action-bg-hover);box-shadow:var(--auth-action-shadow-hover)}.auth-card .secondary{min-height:48px;border-color:var(--auth-secondary-border);color:var(--auth-secondary-ink);background:var(--auth-secondary-bg);box-shadow:none}.auth-card .ghost{min-height:48px;border-color:var(--auth-secondary-border);color:var(--auth-secondary-ink);background:var(--auth-secondary-bg)}.auth-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:4px}.official-auth-panel{display:grid;gap:18px}.official-auth-status{margin:0;padding:12px 14px;border:1px solid var(--auth-return-border);border-radius:14px;color:var(--auth-context-ink);background:var(--auth-return-bg);font-size:13px;font-weight:800;line-height:1.45}.official-auth-status[data-tone=alert]{border-color:color-mix(in srgb,var(--danger) 38%,var(--auth-return-border));color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--auth-return-bg))}.official-auth-actions{display:grid;gap:10px}.auth-notice{display:none}.auth-notice.is-visible{display:block}.auth-reset-block{margin-top:22px;padding-top:22px;border-top:1px solid var(--border-subtle)}.form-grid{display:grid;gap:16px}.field-panel{padding:20px}.field{display:grid;gap:8px}.field label,.field-label{color:var(--fg-default);font-weight:700}.field input,.field textarea,.field select{width:100%;min-width:0;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:11px 12px;color:var(--fg-default);background:color-mix(in srgb,var(--bg-surface) 90%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--bg-surface) 86%,transparent)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--state-accent);box-shadow:var(--glow-sky);outline:none}.field textarea{min-height:104px;resize:vertical}.panel:has(+.story-grid){padding:clamp(20px,3vw,32px)}.panel:has(+.story-grid) h2{max-width:13em;margin-bottom:8px;font-size:42px;line-height:1.06}.panel:has(+.story-grid) .lede{max-width:48em;margin-bottom:0}.helper,.muted{color:var(--fg-subtle);line-height:1.5}.error{display:none;margin:0;color:var(--state-danger);font-weight:700}.error.is-visible{display:block}.form-actions{margin-top:4px}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.story-card{display:grid;gap:14px;align-content:space-between;border-color:color-mix(in srgb,var(--border-subtle) 82%,var(--state-accent) 18%);background:linear-gradient(180deg,color-mix(in oklab,var(--bg-surface) 94%,transparent),color-mix(in oklab,var(--bg-surface-muted) 86%,transparent))}.story-card-featured{grid-column:1 / -1;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:clamp(18px,3vw,36px);align-items:center;min-height:0;padding:clamp(18px,2.6vw,32px);border-color:color-mix(in srgb,var(--state-accent) 24%,var(--border-subtle));background:radial-gradient(circle at 88% 14%,color-mix(in srgb,var(--state-accent-surface) 42%,transparent),transparent 32%),linear-gradient(145deg,color-mix(in srgb,var(--bg-surface-raised) 96%,transparent),color-mix(in srgb,var(--state-accent-surface) 18%,var(--bg-surface)))}.story-card-featured .story-card-main{align-self:center;gap:12px}.story-card-featured .meta-row{margin-bottom:2px}.story-card-featured .card-title{max-width:17em;font-size:40px;line-height:1.08;letter-spacing:0;text-wrap:balance}.story-card-featured p{max-width:64ch;margin:0;font-size:16px;line-height:1.62}.story-card-featured .muted{font-size:14px;font-weight:700}.story-card-featured .primary{align-self:center;justify-self:stretch;min-width:0}.story-card-compact{min-height:0;padding:16px}.story-card-compact .card-title{margin-bottom:0;font-size:20px;line-height:1.18}.story-card-compact p{margin:0}.story-card-compact .muted{font-size:13px;font-weight:700}.story-card-compact .secondary{width:100%;min-height:42px;border-color:color-mix(in srgb,var(--state-accent) 28%,var(--border-subtle));background:color-mix(in srgb,var(--state-accent-surface) 78%,var(--bg-surface))}.story-card-main{display:grid;gap:10px;min-width:0}.story-list-more{grid-column:1 / -1;display:flex;gap:12px;align-items:center;justify-content:center;min-width:0;padding:8px 0 2px}.story-list-more p{margin:0}.card{position:relative;overflow:hidden;min-width:0;padding:16px}.card:before{display:block;width:100%;height:1px;margin-bottom:14px;border-radius:0;background:var(--border-subtle);content:""}.card.sky:before{background:color-mix(in srgb,var(--state-accent) 28%,transparent)}.card.story-card-featured:before{display:none}.card p{color:var(--fg-subtle);line-height:1.5}.card-title,.truncate-two{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.truncate-three{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:18px}.toolbar .field{width:min(420px,100%)}.transactions-shell{width:min(1080px,100%);margin:0 auto;padding:clamp(18px,4vw,40px)}.transactions-heading{display:grid;gap:10px;margin-bottom:18px}.transactions-heading h1{margin:0;font-size:clamp(2rem,5vw,4rem)}.transactions-summary{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}.transactions-summary span{display:inline-flex;gap:6px;align-items:center;padding:8px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--bg-surface);color:var(--fg-muted)}.transactions-summary .is-income{border-color:color-mix(in srgb,var(--state-success) 30%,var(--border-subtle));color:var(--state-success)}.transactions-summary .is-expense{border-color:color-mix(in srgb,var(--state-danger) 30%,var(--border-subtle));color:var(--state-danger)}.transactions-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end;margin-bottom:18px}.transaction-list{display:grid;gap:12px}.transaction-card{position:relative;display:grid;gap:14px;overflow:hidden;padding:18px;border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--bg-surface)}.transaction-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--state-neutral)}.transaction-card.is-income:before{background:var(--state-success)}.transaction-card.is-refund:before{background:var(--state-accent)}.transaction-card.is-expense:before{background:var(--state-danger)}.transaction-card-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}.transaction-card h3{margin:2px 0 8px;font-size:1.05rem}.transaction-amount{min-width:128px;text-align:right}.transaction-amount strong{display:block;font-size:1.45rem;line-height:1.1}.transaction-card.is-income .transaction-amount strong{color:var(--state-success)}.transaction-card.is-refund .transaction-amount strong{color:var(--state-accent)}.transaction-card.is-expense .transaction-amount strong{color:var(--state-danger)}.transaction-amount span{color:var(--fg-subtle);font-size:.82rem;text-transform:uppercase}.transaction-facts{display:flex;flex-wrap:wrap;gap:8px}.transaction-details summary{cursor:pointer;color:var(--fg-accent);font-weight:800}.transaction-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 0}.transaction-detail-grid div{min-width:0;padding:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface-muted)}.transaction-detail-grid dt{color:var(--fg-subtle);font-size:.76rem;font-weight:800;text-transform:uppercase}.transaction-detail-grid dd{min-width:0;margin:4px 0 0;overflow-wrap:anywhere;color:var(--fg-muted)}.transaction-detail-grid pre{max-height:180px;margin:0;overflow:auto;white-space:pre-wrap;font:inherit}.transactions-more{justify-content:center;margin-top:18px}@media(max-width:720px){.transactions-shell{padding:16px}.transactions-toolbar,.transaction-card-main,.transaction-detail-grid{grid-template-columns:1fr}.transaction-amount{min-width:0;text-align:left}}.room-stage{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:14px;padding:16px;background:var(--bg-room)}.is-player-room{grid-template-columns:minmax(360px,.88fr) minmax(360px,.72fr);grid-template-areas:"main players" "actions players";align-items:start}.is-player-room>.room-main-stack{grid-area:main;align-content:start}.is-player-room>.side-stack{display:contents}.is-player-room .players-panel{grid-area:players;order:initial}.is-player-room .room-actions-panel{grid-area:actions;order:initial}.is-host-room{grid-template-columns:minmax(360px,.88fr) minmax(360px,.72fr);align-items:start}.is-host-room>div{grid-column:1;min-width:0}.is-host-room>.side-stack{display:grid;align-content:start;gap:14px;grid-column:2;grid-row:1;min-width:0}.is-host-room .players-panel{grid-column:auto;grid-row:auto;align-self:start}.is-host-room .room-player-name-panel,.is-host-room .room-setup-panel,.is-host-room .story-setup-panel{grid-column:1}.is-host-room .room-player-name-panel{grid-row:2}.is-host-room .room-setup-panel{grid-row:3}.is-host-room .story-setup-panel{grid-row:4}.is-host-room .room-actions-panel{grid-column:auto;grid-row:auto;align-self:start}.is-host-room .players-panel .slot{grid-template-columns:1fr;align-items:start}.is-host-room .players-panel .slot-actions{justify-content:start}@media(min-width:921px){.is-host-room>.room-main-stack{gap:12px}.is-host-room .room-setup-panel,.is-host-room .story-setup-panel{padding:18px 20px}.is-host-room .settings-form{margin-top:12px}.is-host-room #room-settings-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,220px) auto;gap:10px 12px;align-items:end}.is-host-room #room-settings-form .field{gap:6px}.is-host-room #room-settings-form .actions{align-self:end;order:initial;margin-top:0}.is-host-room #room-settings-form .actions button{min-height:46px;white-space:nowrap}.is-host-room #room-settings-error{grid-column:1 / -1;order:initial}.is-host-room #story-setup-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,180px);gap:6px 12px;align-items:center}.is-host-room #story-setup-form .field{gap:6px}.is-host-room #story-setup-form .field:first-child{grid-column:1 / -1;grid-row:auto}.is-host-room #story-setup-theme{height:74px;min-height:74px}.is-host-room #story-setup-form .actions{justify-self:end;align-self:center;grid-column:2;grid-row:2;order:initial;margin-top:0}.is-host-room #story-setup-form .actions .primary{width:100%;min-width:0}.is-host-room #story-setup-error{grid-column:1 / -1;grid-row:2;margin-bottom:0}.is-host-room #story-setup-error:not(.is-visible){display:none}.is-host-room #story-setup-form>.muted{grid-column:1;grid-row:2;align-self:center;margin:0}.is-host-room #story-setup-error.is-visible~.room-story-start-actions,.is-host-room #story-setup-error.is-visible~.muted{grid-row:3}}.room-story-start-actions{justify-content:flex-end;margin-top:0}.room-story-start-actions #start-game{min-height:44px;padding:9px 18px;border-radius:var(--radius-sm);border-color:color-mix(in srgb,var(--state-accent) 44%,var(--border-subtle));background:var(--state-accent);box-shadow:0 3px 8px color-mix(in srgb,var(--state-accent) 14%,transparent)}.room-story-start-actions #start-game:not(:disabled):hover{border-color:color-mix(in srgb,var(--state-accent-strong) 58%,var(--border-subtle));background:var(--state-accent-strong);transform:translateY(-1px)}.room-story-start-actions #start-game:disabled{border-color:var(--border-subtle);color:var(--fg-subtle);background:color-mix(in srgb,var(--state-accent-surface) 22%,var(--bg-surface-muted));box-shadow:none;opacity:1}.room-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.is-host-room>div>.room-header{display:flex;justify-content:space-between;gap:14px;min-width:0;margin-bottom:0;padding:14px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-panel)}.is-host-room>div>.room-header>div:first-child{min-width:0}.is-host-room>div>.room-header .room-status-stack{display:flex;flex-wrap:wrap;justify-items:start;justify-content:end}.room-status-stack{display:grid;justify-items:end;gap:8px;flex:0 0 auto}.room-id{overflow-wrap:anywhere;font-family:var(--font-mono);font-weight:700;color:var(--fg-accent)}.slots{display:grid;gap:10px}.slot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-width:0;padding:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-surface) 78%,transparent)}.slot:has(.character-thumb){grid-template-columns:46px minmax(0,1fr) auto}.slot.is-host{border-color:color-mix(in srgb,var(--state-brand-blush) 50%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--state-danger-surface) 88%,transparent),color-mix(in srgb,var(--bg-surface) 76%,transparent));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--state-brand-blush) 22%,transparent)}.slot.is-ready{border-color:color-mix(in srgb,var(--state-accent) 24%,transparent)}.slot.is-ready-exempt{border-color:color-mix(in srgb,var(--state-brand-blush) 50%,transparent)}.slot.is-self-player{border-color:color-mix(in srgb,var(--state-accent) 48%,var(--border-subtle));background:linear-gradient(90deg,color-mix(in srgb,var(--state-accent-surface) 72%,var(--bg-surface)),color-mix(in srgb,var(--bg-surface) 84%,transparent));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--state-accent) 18%,transparent)}.slot.is-self-player .slot-meta{color:var(--fg-accent);font-weight:700}.slot-main{display:grid;gap:4px;min-width:0}.slot-name,.slot-meta{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-name{font-weight:700}.slot-meta{color:var(--fg-subtle);font-size:13px}.slot-actions{display:flex;flex-wrap:wrap;justify-content:end;gap:8px}.host-badge,.presence-badge,.ready-status,.ready-button,.small-action{min-height:34px;border-radius:var(--radius);padding:7px 10px;font-size:13px;font-weight:700;white-space:nowrap}.host-badge{display:none;align-items:center;border:1px solid color-mix(in srgb,var(--state-brand-blush) 36%,transparent);color:var(--fg-danger);background:color-mix(in srgb,var(--state-danger-surface) 90%,transparent)}.host-badge.is-visible{display:inline-flex}.presence-badge{display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--state-success) 32%,transparent);color:var(--fg-accent);background:color-mix(in srgb,var(--state-success-surface) 82%,transparent)}.presence-badge.is-offline{border-color:color-mix(in srgb,var(--state-neutral) 28%,transparent);color:var(--state-neutral-ink);background:color-mix(in srgb,var(--state-neutral-surface) 78%,transparent)}.presence-badge.is-left{border-color:color-mix(in srgb,var(--state-neutral) 34%,transparent);color:var(--state-neutral-ink);background:color-mix(in srgb,var(--state-neutral-surface) 88%,transparent)}.presence-badge.is-depleted{border-color:color-mix(in srgb,var(--state-danger) 32%,transparent);color:var(--state-danger-ink);background:color-mix(in srgb,var(--state-danger-surface) 78%,transparent)}.slot.is-left{background:color-mix(in srgb,var(--bg-surface) 72%,transparent)}.slot.is-sanity-warning:not(.is-sanity-depleted){border-color:color-mix(in srgb,var(--state-warning) 24%,transparent)}.slot.is-sanity-low:not(.is-sanity-depleted){border-color:color-mix(in srgb,var(--state-danger) 24%,transparent)}.slot.is-sanity-consumed{animation:sanity-slot-hit var(--motion-critical-medium) ease-out both}.slot.is-sanity-depleted{border-color:color-mix(in srgb,var(--state-danger) 18%,transparent)}.game-stage .players-panel .slots{gap:8px}.game-stage .player-status-row{display:block;padding:8px;overflow:hidden}.player-status-summary{display:grid;grid-template-columns:38px minmax(0,1fr) minmax(62px,auto) auto;gap:8px;align-items:center;min-width:0}.player-status-summary .character-thumb{width:38px;height:38px}.player-status-summary .presence-badge{min-height:28px;padding:5px 8px;font-size:12px}.player-status-summary .slot-name{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.18}.player-status-summary .sanity-meter{justify-self:end;min-height:28px;padding:4px 7px;gap:5px;border-radius:var(--radius-pill);font-size:12px}.player-status-summary .sanity-meter .sanity-label{display:none}.player-status-summary .sanity-meter .sanity-cell{width:8px;height:8px}.player-status-summary .sanity-loss-chip{width:fit-content;max-width:100%;margin-top:4px}.game-stage .player-status-row.is-self-player{border-color:color-mix(in srgb,var(--state-accent) 42%,var(--border-subtle));background:linear-gradient(90deg,color-mix(in srgb,var(--state-accent-surface) 72%,var(--bg-surface)),color-mix(in srgb,var(--bg-surface) 90%,transparent));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--state-accent) 16%,transparent),0 8px 18px color-mix(in srgb,var(--state-accent) 7%,transparent)}.ready-button,.ready-status{border:1px solid var(--border-subtle);color:var(--fg-subtle);background:color-mix(in srgb,var(--bg-surface) 74%,transparent)}.ready-button.is-ready,.ready-status.is-ready,.ready-pill.is-ready{border-color:color-mix(in srgb,var(--state-accent) 24%,transparent);color:var(--fg-accent);background:color-mix(in srgb,var(--state-accent-surface) 92%,transparent)}.ready-button.is-primary-action{border-color:color-mix(in srgb,var(--state-success) 52%,transparent);color:var(--fg-accent);background:linear-gradient(135deg,color-mix(in srgb,var(--state-success-surface) 96%,transparent),color-mix(in srgb,var(--bg-surface) 86%,transparent));box-shadow:0 8px 18px color-mix(in srgb,var(--state-accent) 12%,transparent)}.ready-button.is-primary-action:not(.is-ready){color:var(--fg-inverse);background:linear-gradient(135deg,var(--state-accent),var(--state-success))}.ready-button:not(:disabled):hover{border-color:color-mix(in srgb,var(--state-success) 50%,transparent);background:color-mix(in srgb,var(--state-success-surface) 82%,transparent)}.small-action{min-height:34px;padding:7px 10px}.member-menu{position:relative}.member-menu summary{min-height:34px;border:1px solid var(--border-subtle);border-radius:var(--radius);padding:7px 10px;color:var(--fg-subtle);background:color-mix(in srgb,var(--bg-surface) 82%,transparent);font-size:13px;font-weight:800;line-height:1.2;list-style:none;cursor:pointer}.member-menu summary::-webkit-details-marker{display:none}.member-menu summary:after{margin-left:6px;content:"v"}.member-menu[open] summary{border-color:color-mix(in srgb,var(--state-accent) 42%,var(--border-subtle));color:var(--fg-accent);background:color-mix(in srgb,var(--state-accent-surface) 78%,var(--bg-surface))}.member-menu[open] summary:after{content:"^"}.member-menu-actions{position:absolute;right:0;z-index:8;display:grid;gap:6px;width:max-content;min-width:132px;margin-top:6px;padding:8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);box-shadow:var(--surface-shadow-raised)}.member-menu-actions .small-action{justify-content:center}.member-inline-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.member-inline-actions .small-action{min-height:34px;padding:7px 10px;font-size:13px}.story-reader{padding:16px}.ready-focus-shell{display:grid;min-width:0}.ready-focus-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,auto);gap:16px;align-items:center;margin-top:0;padding:18px;border:1px solid color-mix(in srgb,var(--state-accent) 22%,transparent);border-radius:var(--radius);background:var(--bg-panel);box-shadow:var(--surface-shadow-raised)}.ready-focus-panel.is-ready{border-color:color-mix(in srgb,var(--state-success) 30%,transparent);background:color-mix(in srgb,var(--state-success-surface) 28%,var(--bg-panel))}.ready-focus-copy{min-width:0}.ready-focus-copy h3{margin-bottom:6px;font-size:clamp(24px,3vw,34px)}.ready-focus-copy .muted{max-width:54ch;margin-bottom:0}.ready-focus-button{min-width:180px;min-height:58px;font-size:17px;font-weight:900}.room-player-name-panel .settings-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;align-items:end;margin-top:0}.room-player-name-panel .field{min-width:0;gap:6px}.room-player-name-panel .helper{grid-column:1 / -1;margin:0}.is-player-room .room-setup-panel,.is-player-room .story-setup-panel{display:none}.is-player-room .side-stack{align-content:start}.room-invite-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-top:18px;padding:16px;border:1px solid color-mix(in srgb,var(--state-accent) 18%,transparent);border-radius:var(--radius);background:var(--bg-panel);box-shadow:var(--surface-shadow-raised)}.room-invite-copy{display:grid;gap:6px;min-width:0}.room-invite-copy strong{min-width:0;color:var(--fg-accent);font-family:var(--font-mono);font-size:clamp(18px,2vw,24px);overflow-wrap:anywhere}.room-invite-copy p{max-width:58ch;margin:0;color:var(--fg-muted);overflow-wrap:anywhere}.share-room-button{min-width:150px;min-height:52px;font-weight:800}.archive-reader{display:grid;gap:18px;max-width:940px;margin:0 auto}.archive-reader-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}.archive-reader-head h3{margin:0 0 8px;font-family:var(--font-body);font-size:clamp(24px,3vw,34px);font-style:normal;line-height:1.12;overflow-wrap:anywhere}.archive-reader-actions{justify-content:end}.archive-reader .story-visual{width:100%;height:auto;min-height:180px;max-height:430px}.archive-story-segments,.archive-appendix{display:grid;gap:18px;min-width:0}.archive-story-segment,.archive-appendix-section{display:grid;gap:12px;min-width:0}.archive-story-segment{padding-bottom:18px;border-bottom:1px solid var(--border-subtle)}.archive-story-segment:last-child{border-bottom:0}.archive-segment-meta,.archive-appendix-heading{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;justify-content:space-between;min-width:0}.archive-appendix{margin-top:10px;padding-top:18px;border-top:1px solid var(--border-strong)}.archive-appendix-heading h3{margin:0;overflow-wrap:anywhere}.archive-appendix-details{padding:16px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-surface) 78%,transparent)}.archive-appendix-summary{display:flex;gap:10px;align-items:center;justify-content:space-between;min-width:0;cursor:pointer;list-style:none}.archive-appendix-summary::-webkit-details-marker{display:none}.archive-appendix-summary:after{content:"";flex:0 0 auto;width:10px;height:10px;border-right:2px solid var(--fg-subtle);border-bottom:2px solid var(--fg-subtle);transform:rotate(45deg) translateY(-2px);transition:transform .18s ease,border-color .18s ease}.archive-appendix-details[open] .archive-appendix-summary:after{transform:rotate(225deg) translate(-2px,-2px)}.archive-appendix-summary span{display:grid;gap:4px;min-width:0}.archive-appendix-summary .eyebrow{margin:0}.archive-appendix-summary strong{color:var(--fg-default);font-family:var(--font-body);font-size:18px;font-style:normal;line-height:1.2;overflow-wrap:anywhere}.archive-appendix-body{display:grid;gap:14px;min-width:0;margin-top:14px}.archive-appendix-details:not([open]) .archive-appendix-body{display:none}.archive-action-record-body .action-record-turn{padding:14px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-surface) 62%,transparent)}.archive-action-record-body .action-record-empty{box-shadow:none}.archive-hidden-story[open]{border-color:color-mix(in srgb,var(--state-accent) 24%,transparent);background:color-mix(in srgb,var(--bg-surface-muted) 68%,transparent)}.archive-character-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px;min-width:0}.archive-character-card{margin:0;min-width:0}.archive-failure-goal{border-color:var(--border-firm);background:color-mix(in srgb,var(--bg-surface) 78%,transparent)}.story-complete-text{max-width:70ch;color:var(--fg-muted);font-size:clamp(17px,2vw,21px);line-height:1.72;overflow-wrap:anywhere;white-space:pre-wrap}.archive-reader-empty{box-shadow:none}.story-text{color:var(--fg-muted);font-size:18px;line-height:1.65;overflow-wrap:anywhere}.composer{display:grid;gap:12px;margin-top:18px}.turn-countdown{--turn-countdown-progress: 1;position:relative;min-height:34px;overflow:hidden;border:1px solid color-mix(in srgb,var(--state-accent) 22%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-surface) 82%,transparent);color:var(--fg-accent);font-size:13px;font-weight:800}.turn-countdown:before{content:"";position:absolute;inset:0;width:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--state-accent) 28%,transparent),color-mix(in srgb,var(--state-success-surface) 48%,transparent));transform:scaleX(var(--turn-countdown-progress));transform-origin:left center;transition:transform .22s linear;will-change:transform}[data-theme=night] .turn-countdown{border-color:color-mix(in srgb,var(--lantern-sky) 18%,var(--moon-50) 6%);background:linear-gradient(180deg,color-mix(in srgb,var(--night-ink-700) 72%,transparent),color-mix(in srgb,var(--night-ink-850) 88%,transparent));color:color-mix(in srgb,var(--moon-50) 88%,var(--lantern-sky));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--moon-50) 5%,transparent),0 4px 10px color-mix(in srgb,var(--night-ink-950) 18%,transparent)}[data-theme=night] .turn-countdown:before{background:linear-gradient(90deg,color-mix(in srgb,var(--lantern-sky) 24%,var(--night-ink-700)),color-mix(in srgb,var(--lantern-lavender) 22%,var(--night-ink-700)))}[data-theme=night] .turn-countdown .turn-dice{border-color:color-mix(in srgb,var(--lantern-sky) 22%,var(--moon-50) 8%);color:color-mix(in srgb,var(--moon-50) 86%,var(--lantern-sky));background:color-mix(in srgb,var(--night-ink-850) 78%,var(--lantern-sky-soft));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--moon-50) 8%,transparent),0 2px 8px color-mix(in srgb,var(--night-ink-950) 18%,transparent)}.turn-countdown #turn-countdown{position:relative;z-index:1;display:flex;gap:8px;min-height:34px;align-items:center;padding:7px 10px}.notice{padding:12px;border:1px solid color-mix(in srgb,var(--state-accent) 22%,transparent);border-radius:var(--radius-sm);color:var(--fg-accent);background:color-mix(in srgb,var(--state-accent-surface) 70%,transparent)}.empty{padding:28px;border:1px dashed var(--border-strong);border-radius:var(--radius);text-align:center;background:color-mix(in srgb,var(--bg-surface) 68%,transparent)}.empty-actions{justify-content:center;margin-top:18px}.app-shell[aria-busy=true]{-webkit-user-select:none;user-select:none}.story-start-page-active .topbar{pointer-events:none;opacity:.62}.story-start-page{display:grid;place-items:center;align-content:center;gap:16px;min-height:calc(100vh - 180px);padding:clamp(16px,5vw,48px)}.story-start-dialog{display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px;width:min(520px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid color-mix(in srgb,var(--bg-surface) 74%,transparent);border-radius:var(--radius);padding:22px;color:var(--fg-default);background:linear-gradient(145deg,color-mix(in srgb,var(--bg-surface) 96%,transparent),color-mix(in srgb,var(--state-accent-surface) 82%,transparent) 58%,color-mix(in srgb,var(--state-danger-surface) 86%,transparent)),var(--bg-surface);box-shadow:var(--surface-shadow-modal)}.story-start-page .story-start-dialog{width:min(560px,100%)}.story-start-page>.room-id{margin:0;text-align:center}.story-start-dialog:focus{outline:none}.story-start-mark{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;align-self:start;width:48px;min-height:74px;border:1px solid color-mix(in srgb,var(--state-accent) 16%,transparent);border-radius:var(--radius-sm);padding:8px;background:color-mix(in srgb,var(--bg-surface) 68%,transparent)}.story-start-mark span{display:block;border-radius:var(--radius-pill);background:linear-gradient(180deg,var(--state-accent),var(--state-warning),var(--state-brand-blush));animation:story-start-mark-rise var(--motion-decorative-medium) var(--motion-decorative-ease) infinite}.story-start-mark span:nth-child(2){animation-delay:.16s}.story-start-mark span:nth-child(3){animation-delay:.32s}.story-start-content{min-width:0}.story-start-content h2{margin-bottom:8px;font-size:clamp(30px,6vw,42px)}.story-start-content .story-text{margin-bottom:18px;font-size:16px}.story-start-progress{width:100%;height:12px;overflow:hidden;border:1px solid color-mix(in srgb,var(--state-accent) 14%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--fg-default) 8%,transparent)}.story-start-progress span{--story-start-progress: .12;display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--state-accent),var(--state-warning),var(--state-brand-blush));transform:scaleX(var(--story-start-progress));transform-origin:left center;transition:transform var(--motion-state-slow) var(--motion-state-ease);will-change:transform}.story-start-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.story-start-steps span{min-width:0;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:7px 8px;color:var(--fg-subtle);background:color-mix(in srgb,var(--bg-surface) 62%,transparent);font-size:12px;font-weight:800;text-align:center;overflow-wrap:anywhere}.story-start-steps span.is-active{border-color:color-mix(in srgb,var(--state-accent) 24%,transparent);color:var(--fg-accent);background:color-mix(in srgb,var(--state-accent-surface) 90%,transparent)}.story-start-elapsed{margin:10px 0 0;color:var(--fg-subtle);font-family:var(--font-mono);font-size:12px;font-weight:800}.story-start-retry-state{margin:8px 0 0;color:var(--fg-accent);font-size:13px;font-weight:800;line-height:1.45}.story-start-recovery{margin-top:16px;border:1px solid color-mix(in srgb,var(--state-danger) 22%,transparent);border-radius:var(--radius-sm);padding:12px;background:color-mix(in srgb,var(--state-danger-surface) 82%,transparent)}.story-start-recovery p{margin:0;color:var(--fg-default);font-size:13px;line-height:1.45}.story-start-actions{margin-top:12px}.turn-dice{flex:0 0 auto;min-width:58px;border:1px solid color-mix(in srgb,var(--state-accent) 18%,transparent);border-radius:var(--radius-pill);padding:3px 8px;color:var(--fg-default);background:color-mix(in srgb,var(--bg-surface) 76%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fg-inverse) 50%,transparent);text-align:center;font-variant-numeric:tabular-nums}.turn-dice.is-rolled{animation:turn-dice-inline-hit var(--motion-critical-medium) var(--motion-critical-ease) both}.turn-dice-roll-backdrop{position:fixed;inset:0;z-index:75;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));overflow:hidden;pointer-events:none;background:radial-gradient(circle at 50% 43%,color-mix(in srgb,var(--bg-surface) 46%,transparent),transparent 36%),var(--overlay-scrim);opacity:0}.turn-dice-roll-backdrop.is-leaving{opacity:0}.turn-dice-roll-stage{position:relative;display:grid;width:min(90vw,360px);gap:10px;justify-items:center;padding:0;background:transparent;perspective:980px;transform-style:preserve-3d}.turn-dice-roll-stage p{display:grid;width:fit-content;max-width:min(86vw,320px);justify-items:center;gap:3px;margin:0;border:1px solid color-mix(in srgb,var(--state-accent) 16%,transparent);border-radius:999px;padding:8px 17px;color:var(--fg-accent);background:color-mix(in srgb,var(--bg-surface) 94%,transparent);box-shadow:0 12px 26px color-mix(in srgb,var(--fg-default) 16%,transparent);font-size:14px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1.22;opacity:0;transform:translateY(8px) scale(.96);will-change:transform,opacity}.turn-dice-roll-result strong{font-size:16px}.turn-dice-roll-result span{max-width:100%;color:var(--fg-muted);font-size:11px;font-weight:800;white-space:normal}.turn-dice-roll-throw{position:relative;display:grid;width:clamp(220px,27vw,314px);aspect-ratio:1;place-items:center;perspective:980px;transform-style:preserve-3d}.turn-dice-roll-throw:before{position:absolute;bottom:7%;left:50%;width:76%;height:24%;border:0;border-radius:50%;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--bg-surface) 82%,transparent),color-mix(in srgb,var(--state-accent-surface) 34%,transparent) 54%,color-mix(in srgb,var(--state-accent) 8%,transparent),transparent 76%);content:"";transform:translate(-50%) rotateX(62deg);transform-origin:50% 50%}.turn-dice-roll-die{position:relative;display:grid;width:clamp(196px,23vw,270px);aspect-ratio:1;place-items:center;color:var(--fg-default);transform-style:preserve-3d;transform-origin:50% 58%;will-change:transform,opacity}.turn-dice-roll-die:before{position:absolute;inset:11% 10% 7%;border-radius:50%;background:radial-gradient(circle at 42% 24%,color-mix(in srgb,var(--bg-surface) 86%,transparent),color-mix(in srgb,var(--state-accent-surface) 42%,transparent) 38%,color-mix(in srgb,var(--state-accent) 14%,transparent) 76%,transparent 79%);content:"";opacity:.58;transform:translate3d(0,16px,-26px) scale(.88)}.turn-dice-roll-die:after{position:absolute;top:50%;left:50%;width:clamp(158px,30vw,226px);aspect-ratio:1;border:2px solid color-mix(in srgb,var(--state-warning) 54%,transparent);border-radius:50%;opacity:0;content:"";transform:translate(-50%,-50%)}.turn-dice-roll-canvas{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;filter:drop-shadow(0 16px 14px color-mix(in srgb,var(--fg-default) 18%,transparent)) drop-shadow(8px 13px 16px color-mix(in srgb,var(--state-accent) 15%,transparent));transform:translateZ(0);transform-origin:50% 58%}.turn-dice-roll-shadow{position:absolute;bottom:7%;left:50%;width:78%;height:18%;border-radius:50%;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--fg-default) 42%,transparent),color-mix(in srgb,var(--fg-default) 0%,transparent) 70%);filter:blur(8px);transform:translate(-50%);opacity:0;will-change:transform,opacity}.turn-dice-roll-ripple{position:absolute;bottom:4%;left:50%;width:86%;aspect-ratio:1;border:2px solid color-mix(in srgb,var(--state-warning) 50%,transparent);border-radius:50%;opacity:0;transform:translate(-50%) scale(.6);transform-origin:50% 50%;will-change:transform,opacity}.turn-dice-roll-settle-ripple{position:absolute;top:50%;left:50%;z-index:1;width:82%;aspect-ratio:1;border:2px solid color-mix(in srgb,var(--state-warning) 42%,transparent);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--state-warning) 12%,transparent),transparent 58%),radial-gradient(circle,color-mix(in srgb,var(--state-accent) 12%,transparent),transparent 68%);box-shadow:0 0 22px color-mix(in srgb,var(--state-warning) 16%,transparent);opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.72);transform-origin:50% 50%;will-change:transform,opacity}.turn-dice-roll-settle-ripple-b{width:96%;border-color:color-mix(in srgb,var(--state-accent) 28%,transparent);box-shadow:0 0 24px color-mix(in srgb,var(--state-accent) 14%,transparent)}.toast-region{position:fixed;top:max(14px,calc(env(safe-area-inset-top) + 12px));left:50%;z-index:70;display:grid;gap:10px;width:min(540px,calc(100vw - 28px));max-width:calc(100vw - 28px);pointer-events:none;transform:translate(-50%)}.toast{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;width:100%;padding:14px 16px;border:1px solid color-mix(in srgb,var(--bg-surface) 78%,transparent);border-radius:var(--radius);color:var(--fg-default);background:linear-gradient(135deg,color-mix(in srgb,var(--bg-surface) 98%,transparent),color-mix(in srgb,var(--bg-surface-warm) 92%,transparent)),var(--bg-surface);box-shadow:0 18px 44px color-mix(in srgb,var(--fg-default) 18%,transparent),0 1px color-mix(in srgb,var(--fg-inverse) 74%,transparent) inset;pointer-events:none;animation:toast-float-in var(--motion-state-medium) var(--motion-critical-ease) both}.toast:after{position:absolute;inset:1px;z-index:-1;border-radius:inherit;content:"";background:radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--state-accent) 18%,transparent),transparent 28%),radial-gradient(circle at 88% 0%,color-mix(in srgb,var(--state-warning) 18%,transparent),transparent 30%)}.toast.is-hiding{animation:toast-float-out var(--motion-state-slow) ease both}.toast-marker{display:grid;place-items:center;width:28px;height:28px;border:1px solid color-mix(in srgb,var(--state-accent) 28%,transparent);border-radius:50%;background:radial-gradient(circle at 50% 48%,var(--state-warning) 0 27%,transparent 29%),linear-gradient(145deg,color-mix(in srgb,var(--state-accent-surface) 96%,transparent),color-mix(in srgb,var(--bg-surface) 92%,transparent));box-shadow:0 6px 14px color-mix(in srgb,var(--state-accent) 18%,transparent)}.toast-message{min-width:0;max-width:100%;color:var(--fg-default);font-weight:800;line-height:1.36;overflow-wrap:anywhere}.notice-dialog-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:var(--overlay-scrim);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.notice-dialog-backdrop.is-above-terminal-result{z-index:95}.notice-dialog{width:min(420px,100%);max-height:calc(100dvh - 36px);overflow:auto;border:1px solid color-mix(in srgb,var(--bg-surface) 72%,transparent);border-radius:var(--radius);padding:20px;color:var(--fg-default);background:linear-gradient(145deg,color-mix(in srgb,var(--bg-surface) 98%,transparent),color-mix(in srgb,var(--state-accent-surface) 88%,transparent) 70%),var(--bg-surface);box-shadow:var(--surface-shadow-modal)}.notice-dialog h2{margin:0 0 8px;font-size:28px;line-height:1.05}.notice-dialog .story-text{margin-bottom:18px}.notice-dialog-detail,.notice-dialog-diagnostic{max-width:100%;margin:-8px 0 18px;color:var(--fg-subtle);font-size:14px;line-height:1.45;overflow-wrap:anywhere}.notice-dialog-detail strong,.notice-dialog-diagnostic summary{color:var(--fg-default);font-weight:900}.notice-dialog-diagnostic{padding:8px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);background:color-mix(in srgb,var(--bg-surface-raised) 74%,transparent)}.notice-dialog-diagnostic summary{cursor:pointer}.notice-dialog-diagnostic p{margin:6px 0 0}.notice-dialog .form-error{display:none;margin:0;color:var(--state-danger);font-size:14px;line-height:1.45}.notice-dialog .form-error.is-visible{display:block}.notice-dialog .actions{justify-content:flex-end;margin-top:16px}.story-start-stars-dialog{width:min(500px,100%)}.story-start-stars-dialog .actions{flex-wrap:wrap;gap:10px}.story-start-stars-meter{display:grid;gap:8px;margin:0 0 10px}.story-start-stars-meter div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface-muted)}.story-start-stars-meter dt,.story-start-stars-meter dd{min-width:0;margin:0}.story-start-stars-meter dt{color:var(--fg-muted);font-size:13px;font-weight:800}.story-start-stars-meter dd{color:var(--fg-default);font-size:22px;font-weight:900;line-height:1;overflow-wrap:anywhere;text-align:right}.story-start-stars-rate{margin:0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--state-accent) 22%,var(--border-subtle));border-radius:var(--radius-sm);color:var(--fg-muted);background:color-mix(in srgb,var(--state-accent) 8%,var(--bg-surface-muted));font-size:13px;font-weight:750;line-height:1.45;overflow-wrap:anywhere}.action-result-dialog{position:relative;width:min(540px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;scrollbar-color:color-mix(in srgb,var(--fg-default) 20%,transparent) transparent}.action-result-difficulty-stage,.action-result-dice-stage,.action-result-details,.action-result-static-dice{min-width:0;border:1px solid color-mix(in srgb,var(--state-accent) 18%,var(--border-subtle));border-radius:var(--radius-sm)}.action-result-difficulty-stage{display:grid;place-items:center;gap:4px;min-height:116px;margin:14px 0 12px;padding:16px;color:var(--fg-default);text-align:center;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--state-warning) 20%,transparent),transparent 58%),linear-gradient(180deg,color-mix(in srgb,var(--bg-surface) 98%,transparent),color-mix(in srgb,var(--state-accent-surface) 58%,transparent));will-change:transform,opacity}.action-result-difficulty-stage span,.action-result-static-dice span,.action-result-dice-stage>.eyebrow{color:var(--fg-muted);font-size:12px;font-weight:800}.action-result-difficulty-stage strong{font-family:var(--font-display);font-size:clamp(54px,16vw,78px);font-weight:900;line-height:.92}.action-result-dice-stage{display:grid;gap:0;margin:0 0 12px;padding:12px;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--state-accent-surface) 70%,transparent),transparent 54%),linear-gradient(135deg,color-mix(in srgb,var(--bg-surface) 92%,transparent),color-mix(in srgb,var(--bg-surface-warm) 78%,transparent));will-change:transform,opacity}.action-result-dice-stage>.eyebrow{justify-self:center;margin:0}.action-result-dice-roll{display:grid;min-height:154px;margin:0;overflow:hidden;place-items:center;padding:2px 4px 8px}.action-result-dice-roll .turn-dice-roll-stage{grid-template-columns:minmax(118px,156px);width:100%;max-width:220px;align-items:center;justify-content:center;justify-items:center;gap:12px}.action-result-dice-roll .turn-dice-roll-throw{width:clamp(118px,30vw,156px)}.action-result-dice-roll .turn-dice-roll-die{width:clamp(102px,26vw,136px)}.action-result-dice-roll .turn-dice-roll-die:before{inset:12% 10% 8%}.action-result-dice-roll .turn-dice-roll-die:after{width:clamp(86px,22vw,116px)}.action-result-dice-roll .turn-dice-roll-canvas{filter:drop-shadow(0 10px 10px color-mix(in srgb,var(--fg-default) 16%,transparent)) drop-shadow(5px 8px 11px color-mix(in srgb,var(--state-accent) 13%,transparent))}.action-result-dice-roll .turn-dice-roll-stage p{justify-items:center;width:auto;min-width:112px;max-width:100%;border-radius:var(--radius-xs);padding:10px 12px;text-align:center;border:1px solid color-mix(in srgb,var(--state-accent) 14%,var(--border-subtle));background:color-mix(in srgb,var(--bg-surface) 88%,transparent)}.action-result-dice-roll .turn-dice-roll-result strong{font-size:22px;line-height:1}.action-result-dice-roll .turn-dice-roll-result span{color:var(--fg-muted);font-size:12px;line-height:1.25}@media(max-width:520px){.action-result-dice-roll{min-height:190px;padding:0 0 8px}.action-result-dice-roll .turn-dice-roll-stage{grid-template-columns:1fr;justify-items:center;gap:6px}.action-result-dice-roll .turn-dice-roll-stage p{justify-items:center;text-align:center}}.action-result-backdrop{z-index:90;background:radial-gradient(circle at 50% 44%,color-mix(in srgb,var(--bg-surface) 28%,transparent),transparent 36%),var(--overlay-scrim);animation:action-result-backdrop-in var(--motion-state-medium) ease-out both}.action-result-backdrop.is-leaving{animation:action-result-backdrop-out var(--motion-state-medium) ease-in both}.action-result-backdrop .action-result-dialog{animation:action-result-dialog-in var(--motion-state-slow) var(--motion-critical-ease) both;will-change:transform,opacity}.action-result-backdrop.is-leaving .action-result-dialog{animation:action-result-dialog-out var(--motion-state-medium) ease-in both}.action-result-dialog [data-action-result-reveal],.action-result-dialog .action-result-timer,.action-result-dialog .action-result-details li,.action-result-dialog .action-result-modifier-total-badge{opacity:0;visibility:hidden}.action-result-dialog.is-fail{border-color:color-mix(in srgb,var(--state-danger) 52%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--bg-surface) 98%,transparent),color-mix(in srgb,var(--state-danger-surface) 90%,transparent) 72%),var(--bg-surface)}.action-result-dialog.is-success{border-color:color-mix(in srgb,var(--state-success) 48%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--bg-surface) 98%,transparent),color-mix(in srgb,var(--state-success-surface) 90%,transparent) 72%),var(--bg-surface)}.action-result-summary{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;color:var(--fg-muted);font-size:14px}.action-result-summary span,.action-result-score{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:5px 9px;background:color-mix(in srgb,var(--bg-surface) 76%,transparent)}.action-result-details{position:relative;display:grid;gap:12px;margin-top:12px;padding:14px 14px 16px;background:linear-gradient(145deg,color-mix(in srgb,var(--bg-surface) 96%,transparent),color-mix(in srgb,var(--bg-surface-warm) 80%,transparent)),var(--bg-surface);will-change:transform,opacity}.action-result-details-heading{display:flex;gap:12px;align-items:start;justify-content:space-between;min-width:0}.action-result-details-heading h2{margin:2px 0 0;font-size:24px;line-height:1.08}.action-result-details .eyebrow{margin:0}.action-result-details ul{display:grid;gap:8px;min-width:0;margin:0;padding:0;list-style:none}.action-result-sanity{display:grid;gap:4px;margin:14px 0;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:14px}.action-result-sanity strong{font-size:24px;line-height:1}.action-result-sanity.is-lost{border-color:color-mix(in srgb,var(--state-danger) 58%,transparent);color:var(--fg-danger);background:color-mix(in srgb,var(--state-danger-surface) 84%,transparent);box-shadow:var(--glow-blush)}.action-result-sanity.is-safe{border-color:color-mix(in srgb,var(--state-success) 42%,transparent);background:color-mix(in srgb,var(--state-success-surface) 72%,transparent)}.action-result-modifiers{margin-top:14px}.action-result-modifiers ul{display:grid;gap:8px;margin:8px 0 0;padding:0;list-style:none}.action-result-modifiers li{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px;color:var(--fg-muted);background:color-mix(in srgb,var(--bg-surface) 72%,transparent)}.action-result-details li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;min-width:0;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);padding:10px;padding-inline-end:min(72px,18vw);color:var(--fg-muted);background:color-mix(in srgb,var(--bg-surface) 76%,transparent);will-change:transform,opacity}.action-result-details li span:last-child{min-width:0;overflow-wrap:anywhere}.action-result-details li.is-neutral{grid-template-columns:1fr;padding-inline-end:10px}.action-result-modifier-total-badge{display:grid;min-width:52px;min-height:44px;place-items:center;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);padding:8px 10px;color:var(--fg-default);background:color-mix(in srgb,var(--bg-surface) 84%,transparent);font-family:var(--font-display);font-size:22px;font-weight:900;line-height:1;will-change:transform,opacity}.action-result-details>.action-result-modifier-total-badge,.action-result-details-heading .action-result-modifier-total-badge{flex:0 0 auto}.action-result-modifier-total-badge.is-negative{border-color:color-mix(in srgb,var(--state-danger) 44%,transparent);color:var(--fg-danger);background:color-mix(in srgb,var(--state-danger-surface) 76%,transparent)}.action-result-modifier-total-badge.is-positive{border-color:color-mix(in srgb,var(--state-success) 36%,transparent);color:var(--state-success-ink);background:color-mix(in srgb,var(--state-success-surface) 78%,transparent)}.action-result-stamp{position:absolute;left:50%;top:min(62%,calc(100% - 118px));z-index:2;display:grid;width:clamp(210px,62%,360px);max-width:calc(100% - 48px);min-width:0;min-height:78px;place-items:center;border:4px double currentColor;border-radius:var(--radius-sm);padding:12px clamp(14px,4vw,22px);background:color-mix(in srgb,var(--bg-surface) 72%,transparent);box-shadow:0 16px 34px color-mix(in srgb,var(--fg-default) 14%,transparent),inset 0 0 0 2px color-mix(in srgb,currentColor 18%,transparent);text-align:center;text-transform:uppercase;translate:-50% -50%;transform:rotate(-7deg);transform-origin:50% 50%;will-change:transform,opacity;pointer-events:none}.action-result-stamp h2{max-width:100%;margin:0;font-family:var(--font-display);font-size:clamp(24px,6vw,40px);font-weight:900;letter-spacing:0;line-height:.95;overflow-wrap:anywhere;text-wrap:balance;white-space:normal}.action-result-stamp.is-success{color:var(--state-success-ink)}.action-result-stamp.is-fail{color:var(--fg-danger)}.action-result-static-judgement{display:grid;gap:10px;min-width:0}.round-judgement-record .action-result-difficulty-stage{min-height:72px;margin:0;padding:12px}.round-judgement-record .action-result-difficulty-stage strong{font-size:34px}.action-result-static-dice{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;background:color-mix(in srgb,var(--state-accent-surface) 42%,var(--bg-surface))}.action-result-static-dice strong{font-family:var(--font-display);font-size:26px;line-height:1}.round-judgement-record .action-result-details{margin-top:0;padding:12px}.round-judgement-record .action-result-details h2{font-size:18px}.round-judgement-record .action-result-details li{padding-inline-end:10px}.action-result-timer{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:16px;margin-top:16px}.action-result-timer span{display:block;width:100%;height:6px;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--state-accent) 88%,transparent),color-mix(in srgb,var(--state-warning) 90%,transparent));transform-origin:left center;transform:scaleX(1)}.action-result-timer:before{position:absolute;top:5px;right:42px;left:0;height:6px;border-radius:999px;background:color-mix(in srgb,var(--fg-default) 8%,transparent);content:""}.action-result-timer-label{color:var(--fg-muted);font-size:12px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1}.action-result-backdrop[data-action-result-countdown-state=running] .action-result-timer span{position:relative;z-index:1;animation:action-result-timer var(--action-result-visible-ms, var(--motion-critical-timer)) var(--motion-critical-linear) both}.action-result-modifiers li.is-negative .action-result-score{color:var(--fg-danger);background:var(--state-danger-surface)}.action-result-modifiers li.is-positive .action-result-score{color:var(--state-success-ink);background:var(--state-success-surface)}.action-result-modifiers li.is-neutral{grid-template-columns:1fr}.action-record-backdrop{position:fixed;inset:0;z-index:92;display:grid;place-items:center;min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--bg-surface) 26%,transparent),transparent 36%),var(--overlay-scrim);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.action-record-dialog{display:grid;width:min(540px,100%);max-height:calc(100dvh - 36px);overflow:hidden;gap:14px;border:1px solid color-mix(in srgb,var(--bg-surface) 78%,transparent);border-radius:var(--radius);padding:20px;color:var(--fg-default);background:linear-gradient(145deg,color-mix(in srgb,var(--bg-surface) 99%,transparent),color-mix(in srgb,var(--state-accent-surface) 90%,transparent) 68%,color-mix(in srgb,var(--state-danger-surface) 80%,transparent)),var(--bg-surface);box-shadow:var(--surface-shadow-modal)}.action-record-dialog{width:min(760px,100%);grid-template-rows:auto minmax(0,1fr) auto}.action-record-topbar,.round-judgement-heading{display:flex;gap:10px;align-items:center;justify-content:space-between;min-width:0}.action-record-topbar{align-items:flex-start}.action-record-topbar h2{margin:0;font-size:clamp(28px,6vw,42px);line-height:1.02}.action-record-close{width:40px;max-width:40px;height:40px;min-height:40px;flex:0 0 auto;padding:0;border-radius:999px;font-size:22px;line-height:1}.action-record-content{display:grid;gap:12px;min-width:0}.action-record-content{max-height:min(64vh,620px);overflow-y:auto;padding-right:4px;scrollbar-color:color-mix(in srgb,var(--fg-default) 22%,transparent) transparent}.action-record-turn{display:grid;gap:10px;min-width:0;border:1px solid color-mix(in srgb,var(--state-accent) 12%,transparent);border-radius:var(--radius-sm);padding:12px;background:color-mix(in srgb,var(--bg-surface) 72%,transparent)}.action-record-turn.is-anchor-turn{border-color:color-mix(in srgb,var(--state-accent) 36%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--state-accent-surface) 54%,transparent),color-mix(in srgb,var(--bg-surface) 78%,transparent)),var(--bg-surface)}.action-record-turn-heading,.action-record-footer{display:flex;gap:10px;align-items:center;justify-content:space-between;min-width:0}.action-record-turn-heading h3{margin:0;font-size:18px;line-height:1.18}.action-record-turn-list{display:grid;gap:8px;min-width:0}.round-judgement-record{display:grid;gap:10px;min-width:0;border:1px solid color-mix(in srgb,var(--state-accent) 18%,var(--border-subtle));border-radius:var(--radius-sm);padding:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--state-accent-surface) 46%,transparent),color-mix(in srgb,var(--bg-surface) 86%,transparent)),var(--bg-surface)}.round-judgement-record.is-fail{border-color:color-mix(in srgb,var(--state-danger) 22%,var(--border-subtle));background:linear-gradient(135deg,color-mix(in srgb,var(--state-danger-surface) 36%,transparent),color-mix(in srgb,var(--bg-surface) 88%,transparent)),var(--bg-surface)}.round-judgement-record.is-empty{border-style:dashed;color:var(--fg-subtle);background:color-mix(in srgb,var(--bg-surface) 72%,transparent)}.round-judgement-heading h4{margin:0;font-size:17px;line-height:1.18}.action-record-dialog .transcript-entry{grid-template-columns:30px minmax(0,1fr)}.action-record-dialog .player-entry.is-self{grid-template-columns:minmax(0,1fr) 30px}.action-record-dialog .transcript-bubble{max-width:100%}.action-record-sanity-entry .transcript-bubble{border-color:color-mix(in srgb,var(--state-danger) 18%,var(--border-subtle));background:linear-gradient(135deg,color-mix(in srgb,var(--state-danger-surface) 38%,transparent),color-mix(in srgb,var(--bg-surface) 88%,transparent))}.action-record-empty{place-items:center;min-height:180px;border:1px dashed color-mix(in srgb,var(--state-accent) 20%,transparent);border-radius:var(--radius-sm);padding:24px 18px;color:var(--fg-muted);text-align:center;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--state-accent-surface) 72%,transparent),transparent 58%),color-mix(in srgb,var(--bg-surface) 70%,transparent)}.action-record-empty-mark{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;color:var(--sky-ink);background:color-mix(in srgb,var(--state-accent-surface) 90%,transparent);font-family:var(--font-display);font-size:24px;font-weight:900}.cast-intro-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 44%,color-mix(in srgb,var(--bg-surface) 24%,transparent),transparent 38%),var(--overlay-scrim);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.cast-intro-dialog{display:grid;gap:14px;width:min(560px,100%);max-height:calc(100dvh - 36px);overflow-y:auto;border:1px solid color-mix(in srgb,var(--bg-surface) 74%,transparent);border-radius:var(--radius);padding:20px;color:var(--fg-default);background:linear-gradient(145deg,color-mix(in srgb,var(--bg-surface) 98%,transparent),color-mix(in srgb,var(--state-accent-surface) 90%,transparent) 72%),var(--bg-surface);box-shadow:var(--surface-shadow-modal)}.cast-intro-dialog h2{margin:0;font-size:clamp(28px,5vw,38px);line-height:1.04}.cast-intro-dialog .story-text{margin:0}.cast-intro-list{display:grid;gap:8px;min-width:0}.cast-intro-card{display:grid;grid-template-columns:46px minmax(0,1fr) minmax(96px,auto);gap:10px;align-items:center;min-width:0;border:1px solid color-mix(in srgb,var(--state-accent) 14%,transparent);border-radius:var(--radius-sm);padding:10px;background:color-mix(in srgb,var(--bg-surface) 68%,transparent)}.cast-intro-card.is-self-player{border-color:color-mix(in srgb,var(--state-accent) 58%,var(--border-subtle));background:linear-gradient(90deg,color-mix(in srgb,var(--state-accent-surface) 82%,var(--bg-surface)),color-mix(in srgb,var(--bg-surface) 88%,transparent)),var(--bg-surface);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--state-accent) 24%,transparent),0 8px 18px color-mix(in srgb,var(--state-accent) 9%,transparent)}.cast-intro-card .slot-name,.cast-intro-card .slot-meta,.cast-intro-card strong{min-width:0;overflow-wrap:anywhere}.cast-intro-card .slot-name,.cast-intro-card .slot-meta{margin:0}.cast-intro-card strong{justify-self:end;color:var(--fg-accent)}.cast-intro-rules{display:grid;gap:8px;min-width:0;border-top:1px solid color-mix(in srgb,var(--state-accent) 14%,transparent);padding-top:12px}.cast-intro-rules .eyebrow{margin:0;color:var(--fg-accent)}.cast-intro-rules ol{display:grid;gap:7px;min-width:0;margin:0;padding-left:22px}.cast-intro-rules li{min-width:0;color:var(--fg-subtle);font-size:13px;font-weight:700;line-height:1.42;overflow-wrap:anywhere}.cast-intro-actions{justify-content:flex-end}.cast-intro-gate{display:grid;gap:8px;min-width:0;padding-top:2px;color:var(--fg-accent);font-size:13px;font-weight:900}.cast-intro-progress{position:relative;height:9px;overflow:hidden;border:1px solid color-mix(in srgb,var(--state-accent) 20%,transparent);border-radius:999px;background:color-mix(in srgb,var(--bg-surface) 72%,transparent)}.cast-intro-progress span{--cast-intro-progress: 1;display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--state-accent) 78%,transparent),color-mix(in srgb,var(--state-success-surface) 90%,transparent));transform:scaleX(var(--cast-intro-progress));transform-origin:left center;transition:transform var(--motion-state-fast) linear;will-change:transform}.terminal-result-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:var(--overlay-scrim);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.terminal-result-dialog{display:grid;width:min(560px,100%);max-height:calc(100dvh - 36px);overflow:auto;gap:12px;border:1px solid color-mix(in srgb,var(--bg-surface) 78%,transparent);border-radius:var(--radius);padding:22px;color:var(--fg-default);background:var(--terminal-result-surface);box-shadow:var(--surface-shadow-modal)}.terminal-result-dialog.is-fail{background:var(--terminal-result-fail-surface)}.terminal-result-mark{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;color:var(--fg-accent);background:color-mix(in srgb,var(--state-accent-surface) 94%,transparent);box-shadow:var(--glow-sky);font-size:24px;font-weight:900}.terminal-result-dialog.is-fail .terminal-result-mark{color:var(--fg-danger);background:color-mix(in srgb,var(--state-danger-surface) 95%,transparent);box-shadow:var(--glow-blush)}.terminal-result-dialog h2{margin:0;font-size:clamp(28px,6vw,46px);line-height:1.02}.terminal-result-dialog .story-text{margin:0;color:var(--fg-muted)}.terminal-result-list{display:grid;gap:10px;margin-top:4px}.terminal-result-reason{display:grid;gap:6px;border:1px solid color-mix(in srgb,var(--state-danger) 16%,transparent);border-radius:var(--radius-sm);padding:12px 13px;background:color-mix(in srgb,var(--state-danger-surface) 82%,transparent)}.terminal-result-reason p{margin:0}.terminal-result-winner{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;padding:14px;border:1px solid color-mix(in srgb,var(--state-accent) 14%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-surface) 70%,transparent)}.terminal-result-portrait{width:46px;min-width:0}.terminal-result-portrait .character-thumb{margin:0}.terminal-result-winner h3{margin:0 0 2px;font-size:18px}.terminal-result-winner p,.terminal-result-empty{max-width:100%;margin:6px 0 0;overflow-wrap:anywhere}.terminal-result-empty{padding:12px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--fg-muted);background:color-mix(in srgb,var(--bg-surface) 62%,transparent)}.terminal-result-error{min-height:1.4em;margin:0}.terminal-result-actions{position:sticky;bottom:-24px;justify-content:stretch;margin:6px -24px -24px;padding:14px 24px 24px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-surface) 0%,transparent),color-mix(in srgb,var(--bg-surface) 98%,transparent) 32%)}.terminal-result-actions .primary,.terminal-result-actions .secondary,.terminal-result-actions .danger{flex:1 1 180px;justify-content:center}@keyframes judge-spin{to{transform:rotate(360deg)}}@keyframes turn-processing-sheen{0%,42%{transform:translate(-88%)}to{transform:translate(88%)}}@keyframes turn-processing-spin{to{transform:rotate(360deg)}}@keyframes turn-processing-pulse{0%,to{box-shadow:0 0 0 6px color-mix(in srgb,var(--state-accent-surface) 18%,transparent)}50%{box-shadow:0 0 0 9px #ffd35a24}}@keyframes turn-processing-dot{0%,to{opacity:.48}50%{opacity:1}}@keyframes sanity-meter-hit{0%{border-color:#b4444aad;box-shadow:0 0 #b4444a57;transform:translateY(0)}35%{box-shadow:0 0 0 5px #b4444a24;transform:translateY(-1px)}to{box-shadow:0 0 #b4444a00;transform:translateY(0)}}@keyframes sanity-panel-warning{0%{box-shadow:inset 0 0 0 1px #b4444a38,0 0 #b4444a52}42%{box-shadow:inset 0 0 0 1px #b4444a38,0 0 0 6px #b4444a21}to{box-shadow:inset 0 0 0 1px #b4444a14,0 0 #b4444a00}}@keyframes sanity-cell-lost{0%{transform:scale(1.16)}to{transform:scale(1)}}@keyframes sanity-input-depleted{0%{border-color:#b4444ab8;box-shadow:0 0 #b4444a52}40%{box-shadow:0 0 0 5px #b4444a21}to{box-shadow:0 0 #b4444a00}}@keyframes sanity-loss-chip{0%{opacity:0;transform:translateY(4px)}18%,72%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-3px)}}@keyframes sanity-loss-chip-inline{0%{opacity:0;transform:translateY(4px)}6%,88%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-3px)}}@keyframes sanity-slot-hit{0%{border-color:#b4444a80;box-shadow:0 0 #b4444a38}38%{box-shadow:0 0 0 4px #b4444a1a}to{box-shadow:0 0 #b4444a00}}@keyframes turn-dice-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes turn-dice-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes turn-dice-drop{0%{opacity:0;transform:translate3d(42vw,-36vh,0) rotateX(-108deg) rotateY(28deg) rotate(0) scale(.68)}12%{opacity:1;transform:translate3d(31vw,-27vh,0) rotateX(146deg) rotateY(176deg) rotate(116deg) scale(.8)}34%{transform:translate3d(14vw,-15vh,0) rotateX(356deg) rotateY(408deg) rotate(246deg) scale(.98)}62%{opacity:1;transform:translateZ(0) rotateX(720deg) rotateY(720deg) rotate(360deg) scale(1.08)}74%{transform:translate3d(0,-12px,0) rotateX(720deg) rotateY(720deg) rotate(360deg) scale(.96)}86%{transform:translate3d(0,4px,0) rotateX(720deg) rotateY(720deg) rotate(360deg) scale(1.04)}to{opacity:1;transform:translateZ(0) rotateX(720deg) rotateY(720deg) rotate(360deg) scale(1)}}@keyframes turn-dice-ripple{0%{opacity:0;transform:translate(-50%,-50%) scale(.72)}18%{opacity:.78}to{opacity:0;transform:translate(-50%,-50%) scale(1.52)}}@keyframes turn-dice-result-pop{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes turn-dice-shadow{0%{opacity:0;transform:translate(-18px,18px) scale(.42)}54%{opacity:.16;transform:translateY(4px) scale(.82)}72%,to{opacity:.28;transform:translate(0) scale(1)}}@keyframes turn-dice-focus-pulse{0%,62%{filter:saturate(1)}74%{filter:saturate(1.25) brightness(1.04)}to{filter:saturate(1.05)}}@keyframes turn-dice-inline-hit{0%{border-color:#ffd35ac2;box-shadow:0 0 #ffd35a57;transform:scale(1)}42%{box-shadow:0 0 0 6px #ffd35a24;transform:scale(1.04)}to{box-shadow:0 0 #ffd35a00;transform:scale(1)}}@media(prefers-reduced-motion:reduce){:root{--motion-state-fast: 1ms;--motion-state-medium: 1ms;--motion-state-slow: 1ms;--motion-theme-fast: 1ms;--motion-theme-medium: 1ms;--motion-decorative-medium: 1ms;--motion-decorative-slow: 1ms;--motion-critical-fast: 1ms;--motion-critical-medium: 1ms;--motion-critical-slow: 1ms;--motion-critical-timer: 1ms}.state-motion,.state-motion:before,.state-motion:after,.critical-feedback,.critical-feedback:before,.critical-feedback:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.decorative-motion,.decorative-motion:before,.decorative-motion:after{animation:none!important;transition-duration:1ms!important}html.is-appearance-transitioning:after{opacity:0!important;transition-duration:1ms!important}.story-start-mark span,.turn-dice-roll-die,.turn-dice-roll-shadow,.turn-dice-roll-stage p,.turn-processing-orbit{opacity:1;transform:none}.transcript-marker.is-processing:after,.turn-processing-panel:before,.turn-processing-orbit:before,.turn-processing-orbit span{opacity:0}.turn-dice-roll-settle-ripple{opacity:0}.turn-dice-roll-die:after{opacity:0}.toast.is-hiding{opacity:0;transform:translateY(-8px) scale(.98)}}@keyframes story-start-mark-rise{0%,to{transform:scaleY(.58);transform-origin:bottom;opacity:.68}50%{transform:scaleY(1);opacity:1}}@keyframes toast-float-in{0%{opacity:0;transform:translateY(-18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-float-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-22px) scale(.98)}}@keyframes action-result-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes action-result-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes action-result-dialog-in{0%{opacity:0;transform:translateY(14px) scale(.94)}62%{opacity:1;transform:translateY(-2px) scale(1.012)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes action-result-dialog-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.98)}}@keyframes action-result-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(max-width:1040px){.topbar{gap:10px;width:min(var(--max),calc(100% - 20px))}.brand{padding-right:10px}.brand-logo{width:clamp(116px,14vw,148px);height:52px}.topbar-actions{gap:6px}.settings-menu summary{padding-right:11px;padding-left:11px}.nav button{padding-right:10px;padding-left:10px}.game-stage{grid-template-columns:minmax(0,1fr)}.game-stage>.side-stack{order:1;max-width:none}.game-stage>div{order:0}}@media(max-width:920px){.hero,.layout,.create-layout,.join-layout,.auth-layout,.room-stage{grid-template-columns:1fr}.is-player-room{grid-template-columns:1fr;grid-template-areas:"summary" "main" "players" "actions"}.hero{min-height:auto}.auth-layout{grid-template-columns:1fr;min-height:100dvh;gap:0}.auth-intro{align-content:start;gap:10px;min-height:34dvh;padding:92px 22px 24px;border-width:0 0 1px;border-radius:0}.auth-intro h1{max-width:9em;font-size:clamp(30px,8vw,42px)}.auth-intro .lede{font-size:14px}.topbar-actions{max-width:min(540px,calc(100vw - 230px))}.auth-card{align-self:stretch;min-height:66dvh;padding:28px 24px 36px;border-radius:0}.auth-card-head h1{font-size:30px}.hero-panel{min-height:auto;padding:22px}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-card-featured{grid-template-columns:minmax(0,1fr);align-items:start;min-height:0}.story-card-featured .primary{justify-self:stretch}.room-stage>.side-stack{order:-1}.room-stage:not(.game-stage)>div{order:-1}.room-stage:not(.game-stage)>.side-stack{order:0}.is-host-room>.side-stack{display:grid;grid-column:auto;grid-row:auto;order:0}.is-host-room>div{grid-template-columns:1fr}.is-host-room>.room-main-stack{order:-1}.is-host-room>.room-main-stack>.room-player-name-panel,.is-host-room>.room-main-stack>.room-setup-panel,.is-host-room>.room-main-stack>.story-setup-panel{order:0}.is-host-room .players-panel,.is-host-room .room-player-name-panel,.is-host-room .room-setup-panel,.is-host-room .story-setup-panel,.is-host-room .room-actions-panel{grid-column:auto;grid-row:auto}.game-stage>.side-stack{order:1}.game-stage>div{order:0}.mobile-room-summary{display:grid;gap:8px;grid-area:summary;order:-2}.is-host-room .mobile-room-summary{display:none}.is-host-room>.side-stack>.story-setup-panel{order:-3}.is-host-room>.side-stack>.players-panel{order:-2}.is-host-room>.side-stack>.room-setup-panel{order:-1}.is-host-room>.side-stack>.room-actions-panel{order:0}.room-stage>div>.room-header{display:none}.is-host-room>.room-main-stack>.room-header{display:flex}.players-panel{order:-3}.game-stage .players-panel{order:2}.game-stage .character-board-panel{order:1}.character-board-panel{order:-1}.storyboard-segment{grid-template-columns:minmax(0,1fr)}.storyboard-panel{max-height:clamp(480px,calc(100dvh - 132px),720px)}.storyboard-panel{max-height:clamp(520px,calc(100dvh - 84px),760px)}.game-reader>.story-visual{height:clamp(210px,24vh,260px)}.story-transcript{min-height:0;max-height:none}.story-composer{grid-template-columns:minmax(0,1fr) minmax(96px,auto);gap:8px;align-items:center;padding:8px}.storyboard-composer{--turn-input-min-height: clamp(132px, 20vh, 178px);position:sticky;right:auto;bottom:max(8px,env(safe-area-inset-bottom));left:auto;z-index:5;grid-template-columns:minmax(0,1fr);align-items:stretch;max-height:none;overflow:visible;padding:12px}.storyboard-composer .turn-heading{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal}.storyboard-composer .turn-input-row{grid-template-columns:minmax(0,1fr)}.storyboard-composer .turn-submit-button{justify-self:end;width:min(180px,100%);min-height:48px}.story-composer .turn-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.story-composer .primary,.story-composer .secondary{min-height:48px;padding-right:10px;padding-left:10px}.rule-panel,.join-note{align-content:start}}@media(min-width:621px)and (max-height:760px){.auth-layout{min-height:100dvh}.auth-intro{gap:10px;min-height:46dvh;padding:96px 30px 32px}.auth-intro .eyebrow{margin-top:0}.auth-intro h1{font-size:42px}.auth-intro .lede{font-size:14px;line-height:1.45}.auth-care-list{gap:5px}.auth-care-list li{font-size:12px}.auth-card{min-height:54dvh;padding:24px 30px 34px}.auth-card .form-grid{gap:10px}.game-reader>.story-visual{height:clamp(210px,30vh,240px)}.story-transcript{min-height:0;max-height:none}.story-composer{grid-template-columns:minmax(0,1fr) minmax(96px,auto);gap:8px;align-items:center}.storyboard-composer{--turn-input-min-height: clamp(84px, 14vh, 112px);grid-template-columns:minmax(0,1fr);align-items:stretch}.storyboard-composer .turn-heading{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal}.storyboard-composer .turn-input-row{grid-template-columns:minmax(0,1fr)}.storyboard-composer .turn-submit-button{justify-self:end;width:min(180px,100%);min-height:48px}.story-composer .turn-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.story-composer .primary,.story-composer .secondary{min-height:48px;padding-right:10px;padding-left:10px}}.story-composer.turn-waiting-panel .turn-heading{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal}@media(min-width:921px)and (max-height:920px){.compact-page-head.room-entry-page{display:none}.create-layout,.join-layout{margin-top:0}.room-entry-taskbar{margin-bottom:8px;padding:10px 12px}.create-card{gap:8px;padding:16px}.room-entry-mode-button{min-height:64px;padding:9px 10px}.room-entry-context{gap:6px;padding:8px}.story-composer{grid-template-columns:minmax(0,1fr) minmax(96px,auto);gap:8px;align-items:center;position:sticky;bottom:10px;z-index:5;padding:8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-surface-raised) 94%,transparent);box-shadow:0 -4px 10px color-mix(in srgb,var(--fg-default) 6%,transparent)}.storyboard-composer{--turn-input-min-height: clamp(84px, 11vh, 108px);position:sticky;bottom:10px;z-index:5;grid-template-columns:minmax(0,1fr);align-items:stretch}.storyboard-composer .turn-heading{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal}.storyboard-composer .turn-input-row{grid-template-columns:minmax(0,1fr) minmax(112px,144px)}.storyboard-composer .turn-submit-button{justify-self:stretch;width:100%;min-height:var(--turn-input-min-height)}.story-composer .turn-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.story-composer .primary,.story-composer .secondary{min-height:48px;padding-right:10px;padding-left:10px}.game-reader:has(.turn-processing-panel) .story-composer{position:relative;bottom:auto;z-index:auto}}@media(max-width:620px){.suggested-actions-scroll-frame:after{display:block;position:absolute;top:0;right:0;bottom:2px;width:42px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--state-public-surface) 22%,var(--bg-surface)) 44%,var(--bg-surface) 100%);pointer-events:none;content:""}.suggested-actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,84%);grid-template-columns:none;overflow-x:auto;overscroll-behavior-x:contain;padding:0 42px 2px 0;scroll-padding-right:42px;scrollbar-width:thin}.suggested-actions::-webkit-scrollbar{height:4px}.suggested-actions::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--state-accent) 42%,transparent)}.suggested-action-option{min-height:34px;white-space:normal}.storyboard-panel{padding-bottom:14px}.topbar,.view{width:min(100% - 20px,var(--max))}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;position:relative;gap:8px;padding-top:8px;padding-bottom:8px}.brand{width:100%;padding:4px 7px}.brand-logo{width:clamp(112px,35vw,136px);height:44px}.topbar-actions{display:none}.topbar-menu{display:block;grid-column:3;grid-row:1;justify-self:end;margin-left:0}.active-game-shortcut-slot{grid-column:2;grid-row:1;justify-self:end;margin-left:0}.active-game-shortcut{min-height:38px;padding-right:11px;padding-left:11px}.active-game-shortcut-label{display:none}.active-game-shortcut-label-short{display:inline}.topbar-menu summary{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:38px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--fg-muted);background:color-mix(in oklab,var(--bg-surface) 78%,transparent);font-weight:800;list-style:none;cursor:pointer}.topbar-menu-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:60;display:grid;gap:14px;width:min(300px,calc(100vw - 20px));padding:14px;border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--bg-surface-raised);box-shadow:var(--surface-shadow-modal)}.settings-menu{display:none}.topbar-menu-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.topbar-menu-nav button,.mobile-auth-slot button{width:100%;min-width:0;min-height:38px;padding:6px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--fg-muted);background:color-mix(in oklab,var(--bg-surface) 78%,transparent);font-weight:800}.mobile-database-connection-slot{display:block;min-width:0}.mobile-database-connection-slot .database-connection-status,.mobile-database-connection-slot .story-engine-connection-status{width:100%;justify-content:flex-start;min-height:38px;padding-right:10px;padding-left:10px}.topbar-menu-section{display:grid;gap:8px}.topbar-menu-label{margin:0;color:var(--fg-subtle);font-size:12px;font-weight:800}.mobile-language-switcher,.mobile-appearance-switcher,.mobile-sound-control{display:grid;width:100%;min-height:34px;padding:2px}.mobile-language-switcher{grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-appearance-switcher{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-sound-control{grid-template-columns:1fr;gap:8px;padding:8px}.mobile-sound-control .sound-toggle{width:100%}.mobile-sound-control .sound-volume-label{justify-content:space-between;width:100%}.mobile-sound-control .sound-volume{width:min(170px,56vw)}.mobile-language-switcher button,.mobile-appearance-switcher button,.mobile-sound-control button{min-width:0;min-height:28px;padding:6px 4px;font-size:11px}.mobile-account-card{display:grid;gap:8px}.view{padding-top:8px;padding-bottom:40px}.hero-panel,.auth-intro,.panel,.field-panel,.room-stage,.story-reader{padding:16px}.compact-page-head{padding:14px 16px}.compact-page-head h2{margin-bottom:4px;font-size:30px;line-height:1.05}.compact-page-head .lede{font-size:14px;line-height:1.35}.players-panel{padding:14px}.room-invite-panel,.ready-focus-panel{grid-template-columns:1fr;gap:12px;padding:14px}.ready-focus-button{width:100%;min-width:0;min-height:54px}.room-player-name-panel .settings-form{grid-template-columns:1fr;gap:8px}.room-invite-panel .primary{width:100%}.players-panel .slots{gap:8px}.players-panel .slot{gap:8px;padding:9px}.players-panel .slot-main{gap:2px}.players-panel .slot-actions{gap:6px}.players-panel .host-badge,.players-panel .presence-badge,.players-panel .ready-status,.players-panel .ready-button,.players-panel .member-menu summary{min-height:30px;padding:5px 8px;font-size:12px}.players-panel .member-menu-actions{position:static;width:100%;min-width:0}.hero{gap:12px}.hero-panel{gap:14px;padding:16px}.hero-panel h1{margin-bottom:10px;font-size:34px;line-height:1}.hero-panel .lede{font-size:15px;line-height:1.35}.story-start-dialog{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:14px}.story-start-mark{width:34px;min-height:62px;padding:6px}.story-start-content h2{font-size:28px;line-height:1}.story-start-content .story-text{margin-bottom:12px;font-size:13px;line-height:1.35}.story-start-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.story-start-steps span{padding:5px 4px;font-size:10px}.story-start-actions{display:grid;grid-template-columns:1fr;justify-content:stretch}.story-start-page{min-height:0;padding:0 0 18px}.notice-dialog-backdrop,.cast-intro-backdrop,.terminal-result-backdrop,.action-record-backdrop{align-items:start;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}.notice-dialog,.cast-intro-dialog,.terminal-result-dialog,.action-record-dialog{width:100%;max-height:calc(100dvh - 24px);border-radius:14px;padding:16px}.action-record-turn-heading,.action-record-footer,.round-judgement-heading{align-items:stretch;flex-direction:column}.action-record-topbar{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:start}.action-record-content{max-height:min(68dvh,620px)}.action-record-close{width:40px;max-width:40px}.auth-intro{align-content:start;gap:8px;min-height:28dvh;padding:86px 18px 20px}.auth-brandline{padding:5px 8px 5px 5px;font-size:11px}.auth-brandline img{width:46px;height:28px}.auth-intro .eyebrow{margin-top:0;letter-spacing:.06em}.auth-intro h1{margin-bottom:0;max-width:none;font-size:31px}.auth-intro .lede{display:block;font-size:13px;line-height:1.4}.auth-care-list{display:none}.auth-story-context{gap:3px;margin-bottom:8px;padding:10px}.auth-story-context strong{font-size:15px}.auth-story-context p{font-size:12px;line-height:1.35}.auth-card .form-grid{gap:9px}.auth-mode-switch{margin-bottom:18px}.auth-card-head{margin-bottom:14px}.auth-card-head h1{font-size:28px}.form-grid,.create-card,.join-card{gap:10px}.auth-card .field{gap:6px}.game-reader{height:auto;min-height:0;gap:10px}.game-stage{gap:12px}.game-stage .side-stack{gap:10px}.game-stage .panel{padding:16px}.game-reader>.story-visual{display:none}.character-portrait{max-height:220px}.character-board-heading{grid-template-columns:minmax(0,1fr)}.character-board-status{justify-content:flex-start}.story-record-header{align-items:start}.story-record-header h3{font-size:24px}.story-record-header{grid-template-columns:minmax(0,1fr) auto;gap:10px}.storyboard-panel{max-height:clamp(520px,calc(100dvh - 84px),760px)}.story-transcript{flex:0 1 auto;min-height:0;max-height:none;padding-right:2px;padding-bottom:8px;scroll-padding-bottom:8px}.game-reader:has(.turn-processing-panel) .story-transcript{flex-basis:auto;min-height:0}.cast-intro-dialog{gap:12px;padding:18px}.cast-intro-card{grid-template-columns:42px minmax(0,1fr)}.cast-intro-card strong{grid-column:2;justify-self:start}.transcript-entry{grid-template-columns:28px minmax(0,1fr);gap:8px}.transcript-marker,.transcript-avatar{width:28px;height:28px;font-size:12px}.player-entry{margin-left:0}.player-entry.is-self{grid-template-columns:minmax(0,1fr) 28px;margin-right:0;margin-left:0}.player-entry .transcript-bubble{min-width:min(180px,100%)}.transcript-bubble{padding:10px}.transcript-entry p{font-size:16px}.auth-card .field input{padding:9px 12px}.field input,.field textarea,.field select{padding:10px 12px}.auth-actions{grid-template-columns:1fr;margin-top:0}.create-layout,.join-layout{gap:10px;margin-top:0}.compact-page-head.room-entry-page{display:none}.room-entry-mode{grid-template-columns:repeat(2,minmax(0,1fr))}.room-entry-mode-button{min-height:52px;padding:7px 9px;text-align:center}.room-entry-mode-copy{display:block;font-size:11px;line-height:1.25}.room-entry-mode-button:not([aria-pressed=true]) .room-entry-mode-copy{display:none}.split-fields{grid-template-columns:1fr}.room-entry-context{gap:6px;padding:7px}.room-entry-helper-chips{gap:5px}.room-entry-helper-chips .pill{min-height:26px;padding:4px 8px;font-size:12px}.room-entry-details{display:block;font-size:12px;line-height:1.3}.room-entry-details p{margin-top:4px}.hero-panel:before{width:34%}h1{font-size:36px;line-height:1.06}.lede{font-size:16px}.home-task-shell{min-height:auto}.home-task-panel{grid-template-columns:1fr;justify-content:stretch;gap:14px;padding:16px}.home-flow-secondary-actions{grid-template-columns:1fr;gap:8px}.home-flow-action{min-height:54px}.home-task-panel .home-status{width:auto;padding:14px}.actions,.toolbar,.room-header{align-items:stretch;flex-direction:column}.room-status-stack{justify-items:start}.slot{grid-template-columns:1fr}.slot:has(.character-thumb){grid-template-columns:42px minmax(0,1fr)}.slot:has(.character-thumb) .slot-actions{grid-column:2}.slot-actions{justify-content:start}.story-composer{--turn-processing-draft-lines: 3;grid-template-columns:minmax(0,1fr);gap:8px;align-items:center;position:sticky;bottom:max(8px,env(safe-area-inset-bottom));z-index:5;padding:8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in oklab,var(--bg-surface) 96%,transparent);box-shadow:var(--surface-shadow-raised)}.storyboard-segment{grid-template-columns:minmax(0,1fr);gap:10px;padding:10px}.storyboard-segment .story-visual{height:clamp(168px,40vw,240px);min-height:168px}.storyboard-segment .story-visual-pending{min-height:136px;height:clamp(136px,34vw,210px)}.storyboard-list{max-height:none;overflow:visible}.storyboard-composer{--turn-input-min-height: 74px;position:sticky;right:auto;bottom:max(8px,env(safe-area-inset-bottom));left:auto;z-index:5;align-items:stretch;max-height:none;overflow:visible;padding:10px}.storyboard-composer .turn-heading{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal}.storyboard-composer .turn-input-row{grid-template-columns:minmax(0,1fr) minmax(76px,88px)}.storyboard-composer .turn-submit-button{justify-self:stretch;width:100%;min-height:var(--turn-input-min-height);padding-inline:8px}.turn-heading,.story-composer .error{grid-column:1 / -1}.turn-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.form-actions{display:grid;grid-template-columns:1fr 1fr;position:static;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.room-entry-page .lede{display:none}.create-card .room-entry-mode{order:0}.room-entry-taskbar{align-items:start;margin-bottom:6px;padding:7px 9px}.room-entry-taskbar h3{font-size:16px;line-height:1.12}.room-entry-taskbar p:not(.eyebrow){margin-top:2px;font-size:11px;line-height:1.24}.room-entry-current-room-status{grid-template-columns:minmax(0,1fr);gap:7px;margin-bottom:6px;padding:8px}.room-entry-current-room-status strong{font-size:13px}.room-entry-current-room-status p:not(.eyebrow){font-size:11px;line-height:1.28}.room-entry-current-room-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.room-entry-current-room-actions button{width:100%;min-width:0;min-height:34px;padding:7px 8px}.create-card{gap:6px;padding:10px}.create-card .room-entry-panel{order:1}.create-card .room-entry-password{order:2}.create-card #room-entry-error{order:3}.create-card .room-entry-primary-actions{order:4}.create-card .room-entry-current-room-status{order:5}.create-card .room-entry-context{order:6}.create-card .room-entry-helper,.create-card .auth-notice{order:7}.story-composer .form-actions{grid-column:1 / -1;display:none;order:initial;padding:0;border:0;background:transparent;box-shadow:none}.story-composer .form-actions .primary{min-width:88px}.story-composer .form-actions .muted{display:none}.turn-processing-panel{grid-template-columns:38px minmax(0,1fr);gap:8px 10px;padding:11px;border-radius:16px}.turn-processing-orbit{width:36px;height:36px;box-shadow:0 0 0 4px color-mix(in srgb,var(--state-accent-surface) 16%,transparent)}.turn-processing-panel>.pill{grid-column:2;grid-row:2;justify-self:start;min-height:24px;padding:4px 8px;font-size:10px}.turn-processing-progress{grid-column:1 / -1;grid-row:3}.turn-processing-copy strong{font-size:12px}.turn-processing-copy p{font-size:11px}.story-composer textarea{grid-column:1}.story-composer .primary,.story-composer .secondary{min-height:48px;padding-right:10px;padding-left:10px}.field textarea{min-height:92px}.primary,.secondary,.ghost,.danger{width:100%}.language-switcher .primary,.language-switcher .secondary,.language-switcher .ghost,.language-switcher .danger,.settings-menu .primary,.settings-menu .secondary,.settings-menu .ghost,.settings-menu .danger,.story-composer .primary,.story-composer .secondary{width:auto}.notice-dialog .actions,.cast-intro-actions,.terminal-result-actions{display:grid;grid-template-columns:1fr;justify-content:stretch}.terminal-result-actions{bottom:-16px;margin:4px -16px -16px;padding:12px 16px 16px}.archive-reader{gap:14px;padding:16px}.archive-reader-head{grid-template-columns:1fr}.archive-reader-actions{justify-content:stretch}.archive-reader .story-visual{min-height:150px}.story-complete-text{font-size:18px;line-height:1.7}.story-grid{grid-template-columns:1fr;gap:14px}.story-card-featured{gap:16px;padding:16px}.story-card-featured .card-title{font-size:30px;line-height:1.08}.story-card-featured p{font-size:15px;line-height:1.55}.story-card-compact{padding:14px}.story-card-compact .card-title{font-size:19px}.story-list-more{align-items:stretch;flex-direction:column}}@media(max-width:560px)and (max-height:700px){.auth-layout{gap:8px}.auth-intro{gap:4px;min-height:116px;padding:76px 14px 12px}.auth-brandline,.auth-intro .lede,.auth-care-list{display:none}.auth-intro .eyebrow{margin-top:0;font-size:10px}.auth-intro h1{margin-bottom:0;font-size:28px;line-height:1}.auth-card{min-height:calc(100dvh - 116px);padding:14px 16px 20px}.auth-mode-switch{margin-bottom:12px}.auth-card-head{gap:5px;margin-bottom:10px}.auth-card-head h1{font-size:25px}.auth-card-head p{font-size:12px;line-height:1.35}.auth-story-context,.auth-return-intent{padding:9px 10px}.auth-card .form-grid{gap:8px}.auth-card .helper{display:none}}@media(max-width:560px)and (max-height:900px){.auth-layout:has(.auth-story-context){gap:8px}.auth-layout:has(.auth-story-context) .auth-intro{gap:4px;min-height:116px;padding:76px 14px 12px}.auth-layout:has(.auth-story-context) .auth-brandline,.auth-layout:has(.auth-story-context) .auth-intro .lede,.auth-layout:has(.auth-story-context) .auth-care-list{display:none}.auth-layout:has(.auth-story-context) .auth-intro .eyebrow{margin-top:0;font-size:10px}.auth-layout:has(.auth-story-context) .auth-intro h1{margin-bottom:0;font-size:28px;line-height:1}}@media(max-width:390px){.auth-card{padding:14px 12px 20px}.auth-mode-option{min-height:34px;font-size:12px}.auth-card-head h1{font-size:24px}.room-entry-taskbar{grid-template-columns:minmax(0,1fr) auto;gap:8px}.room-entry-taskbar .ghost{min-height:36px;padding:7px 9px}.archive-reader-head{gap:10px}.archive-reader-actions{justify-content:start}.archive-reader-actions .ghost{width:auto;min-height:40px;padding:9px 12px}}@media(max-width:360px){.topbar,.view{width:min(100% - 16px,var(--max))}.topbar{gap:6px}.brand{width:fit-content;max-width:100%;padding:3px 6px}.brand-logo{width:106px;height:42px}.topbar-menu summary{min-width:68px;min-height:36px;padding-right:10px;padding-left:10px}.active-game-shortcut{min-height:36px;padding-right:9px;padding-left:9px}}.game-stage .story-control-panel .story-composer,.game-stage .story-control-panel .storyboard-composer{position:static;right:auto;bottom:auto;left:auto;z-index:auto;max-height:none;overflow:visible;box-shadow:none}.game-stage .story-control-panel .turn-input-row{grid-template-columns:minmax(0,1fr) auto;align-items:end}.game-stage .story-control-panel .turn-submit-button{align-self:end;justify-self:end;width:auto;min-width:78px;min-height:48px;padding-inline:16px}@media(max-width:420px){.story-control-summary{grid-template-columns:minmax(0,1fr)}.story-control-summary .game-record-actions,.story-control-summary .game-record-actions button{width:100%}}
