:root{--dnd-dark: #0f1420;--dnd-darker: #0a0f1a;--dnd-gold: #d4af37;--dnd-gold-light: #e8c95a;--dnd-gold-muted: #b89930;--dnd-gold-dark: #9a7b1a;--dnd-gold-03: rgba(212, 175, 55, .03);--dnd-gold-04: rgba(212, 175, 55, .04);--dnd-gold-05: rgba(212, 175, 55, .05);--dnd-gold-06: rgba(212, 175, 55, .06);--dnd-gold-08: rgba(212, 175, 55, .08);--dnd-gold-10: rgba(212, 175, 55, .1);--dnd-gold-12: rgba(212, 175, 55, .12);--dnd-gold-15: rgba(212, 175, 55, .15);--dnd-gold-18: rgba(212, 175, 55, .18);--dnd-gold-20: rgba(212, 175, 55, .2);--dnd-gold-25: rgba(212, 175, 55, .25);--dnd-gold-30: rgba(212, 175, 55, .3);--dnd-gold-40: rgba(212, 175, 55, .4);--dnd-gold-50: rgba(212, 175, 55, .5);--dnd-red-06: rgba(160, 64, 64, .06);--dnd-red-08: rgba(160, 64, 64, .08);--dnd-red-10: rgba(160, 64, 64, .1);--dnd-red-12: rgba(160, 64, 64, .12);--dnd-red-15: rgba(160, 64, 64, .15);--dnd-red-20: rgba(160, 64, 64, .2);--dnd-red-30: rgba(160, 64, 64, .3);--dnd-text: #ddd0c0;--dnd-text-light: #e8dcc8;--dnd-text-secondary: #a09888;--dnd-text-disabled: #5a564e;--text-muted: #7a7568;--dnd-muted: #7a7568;--dnd-accent-red: #a04040;--dnd-accent-red-light: #c45555;--dnd-accent-purple: #7b68ee;--dnd-accent-gold: #c9a83e;--dnd-success: #4caf50;--dnd-danger: #ef5350;--dnd-warning: #f39c12;--dnd-info: #42a5f5;--dnd-card-bg: #1a2332;--dnd-border: #303050;--dnd-on-gold: #1a1a2e;--surface-input: rgba(9, 25, 26, .8);--surface-hover: var(--dnd-gold-08);--surface-active: var(--dnd-gold-15);--dnd-surface-elevated: rgba(26, 35, 50, .95);--dnd-overlay: rgba(0, 0, 0, .7);--border-subtle: var(--dnd-gold-10);--border-accent: var(--dnd-gold-30);--border-divider: var(--dnd-gold-20);--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--dnd-surface-0: #0a0f1a;--dnd-surface-1: #141e2e;--dnd-surface-2: #1a2332;--dnd-surface-3: #263550;--shadow-xs: 0 1px 2px rgba(0,0,0,.2);--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 8px 24px rgba(0,0,0,.5);--shadow-xl: 0 16px 48px rgba(0,0,0,.6);--shadow-glow-gold: 0 0 20px var(--dnd-gold-15);--shadow-inset: inset 0 1px 2px rgba(0,0,0,.3);--glow-gold-sm: 0 0 12px var(--dnd-gold-15);--glow-gold-md: 0 0 20px var(--dnd-gold-20);--glow-gold-lg: 0 0 30px var(--dnd-gold-30);--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--ease-out: cubic-bezier(.4, 0, .2, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--theme-transition: background-color .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease;--font-primary: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-display: "Cinzel", "Georgia", "Times New Roman", serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--lh-tight: 1.2;--lh-snug: 1.35;--lh-normal: 1.6;--lh-relaxed: 1.75;--sp-0: 0;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--ease-in-out: cubic-bezier(.4, 0, .2, 1);--z-base: 0;--z-raised: 10;--z-header: 50;--z-burger: 100;--z-dropdown: 200;--z-modal-backdrop: 1000;--z-modal: 2000;--z-toast: 9000;--z-tooltip: 9500;--z-critical: 10000;--primary-color: var(--dnd-gold);--primary-dark: var(--dnd-surface-2);--secondary-color: var(--dnd-accent-purple);--accent-color: var(--dnd-accent-purple)}:root[data-theme=light]{--dnd-dark: #ede8df;--dnd-darker: #f8f5f0;--dnd-gold: #7a5c1e;--dnd-gold-light: #8b6b22;--dnd-gold-muted: #6a5018;--dnd-gold-dark: #5a4210;--dnd-gold-03: rgba(122, 92, 30, .03);--dnd-gold-04: rgba(122, 92, 30, .04);--dnd-gold-05: rgba(122, 92, 30, .05);--dnd-gold-06: rgba(122, 92, 30, .06);--dnd-gold-08: rgba(122, 92, 30, .08);--dnd-gold-10: rgba(122, 92, 30, .1);--dnd-gold-12: rgba(122, 92, 30, .12);--dnd-gold-15: rgba(122, 92, 30, .15);--dnd-gold-18: rgba(122, 92, 30, .18);--dnd-gold-20: rgba(122, 92, 30, .2);--dnd-gold-25: rgba(122, 92, 30, .25);--dnd-gold-30: rgba(122, 92, 30, .3);--dnd-gold-40: rgba(122, 92, 30, .4);--dnd-gold-50: rgba(122, 92, 30, .5);--dnd-red-06: rgba(139, 46, 46, .06);--dnd-red-08: rgba(139, 46, 46, .08);--dnd-red-10: rgba(139, 46, 46, .1);--dnd-red-12: rgba(139, 46, 46, .12);--dnd-red-15: rgba(139, 46, 46, .15);--dnd-red-20: rgba(139, 46, 46, .2);--dnd-red-30: rgba(139, 46, 46, .3);--dnd-text: #2d2a24;--dnd-text-light: #4a463b;--dnd-text-secondary: #6a6355;--dnd-text-disabled: #a09888;--text-muted: #7a7366;--dnd-muted: #7a7366;--dnd-accent-red: #8b2e2e;--dnd-accent-red-light: #a04040;--dnd-card-bg: #ffffff;--dnd-border: #c9c0b0;--dnd-on-gold: #ffffff;--surface-input: #ffffff;--surface-hover: var(--dnd-gold-06);--surface-active: var(--dnd-gold-12);--dnd-surface-elevated: rgba(255, 255, 255, .95);--dnd-overlay: rgba(0, 0, 0, .4);--border-subtle: var(--dnd-gold-08);--border-accent: var(--dnd-gold-25);--border-divider: var(--dnd-gold-15);--dnd-surface-0: #f8f5f0;--dnd-surface-1: #ffffff;--dnd-surface-2: #f0ebe3;--dnd-surface-3: #e8e0d5;--dnd-accent-purple: #6b52d8;--dnd-accent-gold: #8b7014;--dnd-success: #27ae60;--dnd-danger: #c0392b;--dnd-warning: #e67e22;--dnd-info: #2980b9;--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--shadow-xl: 0 16px 48px rgba(0,0,0,.16);--shadow-glow-gold: 0 0 20px var(--dnd-gold-10);--shadow-inset: inset 0 1px 2px rgba(0,0,0,.06);--glow-gold-sm: 0 0 12px var(--dnd-gold-10);--glow-gold-md: 0 0 20px var(--dnd-gold-15);--glow-gold-lg: 0 0 30px var(--dnd-gold-20)}:root[data-theme=classic-red]{--dnd-dark: #1a1a1e;--dnd-darker: #121214;--dnd-gold: #C41E3A;--dnd-gold-light: #e03050;--dnd-gold-muted: #a01830;--dnd-gold-dark: #8B1A2B;--dnd-gold-03: rgba(196, 30, 58, .03);--dnd-gold-04: rgba(196, 30, 58, .04);--dnd-gold-05: rgba(196, 30, 58, .05);--dnd-gold-06: rgba(196, 30, 58, .06);--dnd-gold-08: rgba(196, 30, 58, .08);--dnd-gold-10: rgba(196, 30, 58, .1);--dnd-gold-12: rgba(196, 30, 58, .12);--dnd-gold-15: rgba(196, 30, 58, .15);--dnd-gold-18: rgba(196, 30, 58, .18);--dnd-gold-20: rgba(196, 30, 58, .2);--dnd-gold-25: rgba(196, 30, 58, .25);--dnd-gold-30: rgba(196, 30, 58, .3);--dnd-gold-40: rgba(196, 30, 58, .4);--dnd-gold-50: rgba(196, 30, 58, .5);--dnd-red-06: rgba(160, 64, 64, .06);--dnd-red-12: rgba(160, 64, 64, .12);--dnd-text: #d8d0c8;--dnd-text-light: #e8e0d8;--dnd-text-secondary: #a09890;--dnd-text-disabled: #5a5856;--text-muted: #78787e;--dnd-muted: #78787e;--dnd-accent-red: #C41E3A;--dnd-accent-red-light: #e03050;--dnd-card-bg: #222226;--dnd-border: #3a3a40;--dnd-on-gold: #ffffff;--surface-input: rgba(20, 20, 24, .8);--surface-hover: rgba(196, 30, 58, .08);--surface-active: rgba(196, 30, 58, .15);--dnd-surface-elevated: rgba(26, 26, 30, .95);--dnd-overlay: rgba(0, 0, 0, .7);--border-subtle: rgba(196, 30, 58, .1);--border-accent: rgba(196, 30, 58, .3);--border-divider: rgba(196, 30, 58, .2);--dnd-surface-0: #121214;--dnd-surface-1: #1a1a1e;--dnd-surface-2: #222226;--dnd-surface-3: #2c2c32;--dnd-accent-purple: #c45e7a;--dnd-accent-gold: #C41E3A;--dnd-success: #4caf50;--dnd-danger: #ff6b6b;--dnd-warning: #f39c12;--dnd-info: #e88a7a;--shadow-sm: 0 1px 3px rgba(0,0,0,.35);--shadow-md: 0 4px 12px rgba(0,0,0,.45);--shadow-lg: 0 8px 24px rgba(0,0,0,.55);--shadow-glow-gold: 0 0 20px rgba(196, 30, 58, .15);--glow-gold-sm: 0 0 12px rgba(196, 30, 58, .15);--glow-gold-md: 0 0 20px rgba(196, 30, 58, .2);--glow-gold-lg: 0 0 30px rgba(196, 30, 58, .3)}:root[data-theme=paper]{--font-primary: "EB Garamond", Georgia, "Times New Roman", serif;--font-display: "EB Garamond", Georgia, "Times New Roman", serif;--dnd-dark: #ffffff;--dnd-darker: #fafaf7;--dnd-gold: #333333;--dnd-gold-light: #4a4a4a;--dnd-gold-muted: #555555;--dnd-gold-dark: #1a1a1a;--dnd-gold-03: rgba(51, 51, 51, .03);--dnd-gold-04: rgba(51, 51, 51, .04);--dnd-gold-05: rgba(51, 51, 51, .05);--dnd-gold-06: rgba(51, 51, 51, .06);--dnd-gold-08: rgba(51, 51, 51, .08);--dnd-gold-10: rgba(51, 51, 51, .1);--dnd-gold-12: rgba(51, 51, 51, .12);--dnd-gold-15: rgba(51, 51, 51, .15);--dnd-gold-18: rgba(51, 51, 51, .18);--dnd-gold-20: rgba(51, 51, 51, .2);--dnd-gold-25: rgba(51, 51, 51, .25);--dnd-gold-30: rgba(51, 51, 51, .3);--dnd-gold-40: rgba(51, 51, 51, .4);--dnd-gold-50: rgba(51, 51, 51, .5);--dnd-red-06: rgba(40, 40, 40, .06);--dnd-red-08: rgba(40, 40, 40, .08);--dnd-red-10: rgba(40, 40, 40, .1);--dnd-red-12: rgba(40, 40, 40, .12);--dnd-red-15: rgba(40, 40, 40, .15);--dnd-red-20: rgba(40, 40, 40, .2);--dnd-red-30: rgba(40, 40, 40, .3);--dnd-text: #1a1a1a;--dnd-text-light: #2a2a2a;--dnd-text-secondary: #555555;--dnd-text-disabled: #b0b0b0;--text-muted: #888888;--dnd-muted: #888888;--dnd-accent-red: #1a1a1a;--dnd-accent-red-light: #3a3a3a;--dnd-accent-purple: #4a4a4a;--dnd-accent-gold: #333333;--dnd-success: #3a3a3a;--dnd-danger: #1a1a1a;--dnd-warning: #5a5a5a;--dnd-info: #6a6a6a;--dnd-card-bg: #ffffff;--dnd-border: #c8c8c8;--dnd-on-gold: #ffffff;--surface-input: #ffffff;--surface-hover: rgba(51, 51, 51, .05);--surface-active: rgba(51, 51, 51, .12);--dnd-surface-elevated: #ffffff;--dnd-overlay: rgba(0, 0, 0, .4);--border-subtle: rgba(51, 51, 51, .08);--border-accent: rgba(51, 51, 51, .35);--border-divider: rgba(51, 51, 51, .15);--dnd-surface-0: #fafaf7;--dnd-surface-1: #ffffff;--dnd-surface-2: #f5f5f3;--dnd-surface-3: #ebebe8;--shadow-xs: 0 1px 1px rgba(0, 0, 0, .03);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 4px 14px rgba(0, 0, 0, .1);--shadow-xl: 0 8px 28px rgba(0, 0, 0, .12);--shadow-glow-gold: none;--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .04);--glow-gold-sm: none;--glow-gold-md: none;--glow-gold-lg: none}:root[data-theme=modern-dark]{--font-primary: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", system-ui, "Segoe UI", sans-serif;--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", system-ui, "Segoe UI", sans-serif;--dnd-dark: #161a26;--dnd-darker: #0f121b;--dnd-gold: #e0b94a;--dnd-gold-light: #f0cd6a;--dnd-gold-muted: #c9a23a;--dnd-gold-dark: #a8842a;--dnd-gold-03: rgba(224, 185, 74, .03);--dnd-gold-04: rgba(224, 185, 74, .04);--dnd-gold-05: rgba(224, 185, 74, .05);--dnd-gold-06: rgba(224, 185, 74, .06);--dnd-gold-08: rgba(224, 185, 74, .08);--dnd-gold-10: rgba(224, 185, 74, .1);--dnd-gold-12: rgba(224, 185, 74, .12);--dnd-gold-15: rgba(224, 185, 74, .15);--dnd-gold-18: rgba(224, 185, 74, .18);--dnd-gold-20: rgba(224, 185, 74, .2);--dnd-gold-25: rgba(224, 185, 74, .25);--dnd-gold-30: rgba(224, 185, 74, .3);--dnd-gold-40: rgba(224, 185, 74, .4);--dnd-gold-50: rgba(224, 185, 74, .5);--dnd-red-06: rgba(255, 69, 58, .06);--dnd-red-08: rgba(255, 69, 58, .08);--dnd-red-10: rgba(255, 69, 58, .1);--dnd-red-12: rgba(255, 69, 58, .12);--dnd-red-15: rgba(255, 69, 58, .15);--dnd-red-20: rgba(255, 69, 58, .2);--dnd-red-30: rgba(255, 69, 58, .3);--dnd-text: #f2f2f5;--dnd-text-light: #ffffff;--dnd-text-secondary: #aeaeb6;--dnd-text-disabled: #5a5a60;--text-muted: #8e8e95;--dnd-muted: #8e8e95;--dnd-accent-red: #ff453a;--dnd-accent-red-light: #ff6961;--dnd-accent-purple: #bf5af2;--dnd-accent-gold: var(--dnd-gold);--dnd-success: #30d158;--dnd-danger: #ff453a;--dnd-warning: #ffd60a;--dnd-info: #0a84ff;--dnd-card-bg: #1d2130;--dnd-border: rgba(255, 255, 255, .12);--dnd-on-gold: #1a1505;--surface-input: #2c2c2e;--surface-hover: rgba(255, 255, 255, .06);--surface-active: var(--dnd-gold-15);--dnd-surface-elevated: rgba(37, 42, 59, .82);--dnd-overlay: rgba(0, 0, 0, .6);--border-subtle: rgba(255, 255, 255, .08);--border-accent: var(--dnd-gold-40);--border-divider: rgba(255, 255, 255, .1);--dnd-surface-0: #0f121b;--dnd-surface-1: #1d2130;--dnd-surface-2: #252a3b;--dnd-surface-3: #323852;--radius-xs: 5px;--radius-sm: 7px;--radius-md: 10px;--radius-lg: 13px;--radius-xl: 18px;--radius-2xl: 22px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .35);--shadow-md: 0 4px 16px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .55);--shadow-xl: 0 24px 56px rgba(0, 0, 0, .6);--shadow-glow-gold: 0 0 22px var(--dnd-gold-15);--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .35);--glow-gold-sm: 0 0 12px var(--dnd-gold-12);--glow-gold-md: 0 0 20px var(--dnd-gold-18);--glow-gold-lg: 0 0 30px var(--dnd-gold-25);--p-blur: saturate(180%) blur(20px);--p-card-radius: var(--radius-xl);--p-accent: var(--dnd-gold);--p-segment-track: rgba(118, 118, 128, .24);--p-segment-thumb: #383e52;--v-hp-damage: #ff6961;--v-hp-heal: #30d158;--v-hp-temp: #409cff;--v-hp-on-accent: #0f121b}:root[data-theme=modern-darkest]{--font-primary: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", system-ui, "Segoe UI", sans-serif;--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", system-ui, "Segoe UI", sans-serif;--dnd-dark: #090b11;--dnd-darker: #05060a;--dnd-gold: #e0b94a;--dnd-gold-light: #f0cd6a;--dnd-gold-muted: #c9a23a;--dnd-gold-dark: #a8842a;--dnd-gold-03: rgba(224, 185, 74, .03);--dnd-gold-04: rgba(224, 185, 74, .04);--dnd-gold-05: rgba(224, 185, 74, .05);--dnd-gold-06: rgba(224, 185, 74, .06);--dnd-gold-08: rgba(224, 185, 74, .08);--dnd-gold-10: rgba(224, 185, 74, .1);--dnd-gold-12: rgba(224, 185, 74, .12);--dnd-gold-15: rgba(224, 185, 74, .15);--dnd-gold-18: rgba(224, 185, 74, .18);--dnd-gold-20: rgba(224, 185, 74, .2);--dnd-gold-25: rgba(224, 185, 74, .25);--dnd-gold-30: rgba(224, 185, 74, .3);--dnd-gold-40: rgba(224, 185, 74, .4);--dnd-gold-50: rgba(224, 185, 74, .5);--dnd-red-06: rgba(255, 69, 58, .06);--dnd-red-08: rgba(255, 69, 58, .08);--dnd-red-10: rgba(255, 69, 58, .1);--dnd-red-12: rgba(255, 69, 58, .12);--dnd-red-15: rgba(255, 69, 58, .15);--dnd-red-20: rgba(255, 69, 58, .2);--dnd-red-30: rgba(255, 69, 58, .3);--dnd-text: #ededf0;--dnd-text-light: #ffffff;--dnd-text-secondary: #b0b0b8;--dnd-text-disabled: #66666e;--text-muted: #93939b;--dnd-muted: #93939b;--dnd-accent-red: #ff453a;--dnd-accent-red-light: #ff6961;--dnd-accent-purple: #bf5af2;--dnd-accent-gold: var(--dnd-gold);--dnd-success: #30d158;--dnd-danger: #ff453a;--dnd-warning: #ffd60a;--dnd-info: #0a84ff;--dnd-card-bg: #0c0e15;--dnd-border: rgba(255, 255, 255, .15);--dnd-on-gold: #1a1505;--surface-input: #14171f;--surface-hover: rgba(255, 255, 255, .07);--surface-active: var(--dnd-gold-15);--dnd-surface-elevated: rgba(10, 12, 18, .86);--dnd-overlay: rgba(0, 0, 0, .78);--border-subtle: rgba(255, 255, 255, .1);--border-accent: var(--dnd-gold-40);--border-divider: rgba(255, 255, 255, .13);--dnd-surface-0: #05060a;--dnd-surface-1: #0c0e15;--dnd-surface-2: #12151e;--dnd-surface-3: #1b1f2b;--radius-xs: 5px;--radius-sm: 7px;--radius-md: 10px;--radius-lg: 13px;--radius-xl: 18px;--radius-2xl: 22px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .45);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);--shadow-md: 0 4px 16px rgba(0, 0, 0, .6);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .7);--shadow-xl: 0 24px 56px rgba(0, 0, 0, .78);--shadow-glow-gold: 0 0 22px var(--dnd-gold-15);--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .5);--glow-gold-sm: 0 0 12px var(--dnd-gold-12);--glow-gold-md: 0 0 20px var(--dnd-gold-18);--glow-gold-lg: 0 0 30px var(--dnd-gold-25);--p-blur: saturate(180%) blur(20px);--p-card-radius: var(--radius-xl);--p-accent: var(--dnd-gold);--p-segment-track: rgba(118, 118, 128, .2);--p-segment-thumb: #2a2f3d;--v-hp-damage: #ff6961;--v-hp-heal: #30d158;--v-hp-temp: #409cff;--v-hp-on-accent: #05060a}:root[data-theme=modern-light]{--font-primary: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", system-ui, "Segoe UI", sans-serif;--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", system-ui, "Segoe UI", sans-serif;--dnd-dark: #f5f5f7;--dnd-darker: #eef0f3;--dnd-gold: #b8901f;--dnd-gold-light: #cda635;--dnd-gold-muted: #9c7a18;--dnd-gold-dark: #7e6212;--dnd-gold-03: rgba(184, 144, 31, .03);--dnd-gold-04: rgba(184, 144, 31, .04);--dnd-gold-05: rgba(184, 144, 31, .05);--dnd-gold-06: rgba(184, 144, 31, .06);--dnd-gold-08: rgba(184, 144, 31, .08);--dnd-gold-10: rgba(184, 144, 31, .1);--dnd-gold-12: rgba(184, 144, 31, .12);--dnd-gold-15: rgba(184, 144, 31, .15);--dnd-gold-18: rgba(184, 144, 31, .18);--dnd-gold-20: rgba(184, 144, 31, .2);--dnd-gold-25: rgba(184, 144, 31, .25);--dnd-gold-30: rgba(184, 144, 31, .3);--dnd-gold-40: rgba(184, 144, 31, .4);--dnd-gold-50: rgba(184, 144, 31, .5);--dnd-red-06: rgba(255, 59, 48, .06);--dnd-red-08: rgba(255, 59, 48, .08);--dnd-red-10: rgba(255, 59, 48, .1);--dnd-red-12: rgba(255, 59, 48, .12);--dnd-red-15: rgba(255, 59, 48, .15);--dnd-red-20: rgba(255, 59, 48, .2);--dnd-red-30: rgba(255, 59, 48, .3);--dnd-text: #1d1d1f;--dnd-text-light: #000000;--dnd-text-secondary: #4b4b50;--dnd-text-disabled: #b0b0b6;--text-muted: #8a8a8e;--dnd-muted: #8a8a8e;--dnd-accent-red: #ff3b30;--dnd-accent-red-light: #ff6961;--dnd-accent-purple: #af52de;--dnd-accent-gold: var(--dnd-gold);--dnd-success: #34c759;--dnd-danger: #ff3b30;--dnd-warning: #ff9500;--dnd-info: #007aff;--dnd-card-bg: #ffffff;--dnd-border: rgba(0, 0, 0, .1);--dnd-on-gold: #ffffff;--surface-input: #ffffff;--surface-hover: rgba(0, 0, 0, .04);--surface-active: var(--dnd-gold-15);--dnd-surface-elevated: rgba(255, 255, 255, .82);--dnd-overlay: rgba(0, 0, 0, .3);--border-subtle: rgba(0, 0, 0, .06);--border-accent: var(--dnd-gold-40);--border-divider: rgba(0, 0, 0, .08);--dnd-surface-0: #ececf1;--dnd-surface-1: #ffffff;--dnd-surface-2: #f5f5f8;--dnd-surface-3: #e8e8ee;--radius-xs: 5px;--radius-sm: 7px;--radius-md: 10px;--radius-lg: 13px;--radius-xl: 18px;--radius-2xl: 22px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .07);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .14);--shadow-xl: 0 24px 56px rgba(0, 0, 0, .18);--shadow-glow-gold: 0 0 22px var(--dnd-gold-15);--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .06);--glow-gold-sm: 0 0 12px var(--dnd-gold-12);--glow-gold-md: 0 0 20px var(--dnd-gold-18);--glow-gold-lg: 0 0 30px var(--dnd-gold-25);--p-blur: saturate(180%) blur(20px);--p-card-radius: var(--radius-xl);--p-accent: var(--dnd-gold);--p-segment-track: rgba(120, 120, 128, .12);--p-segment-thumb: #ffffff;--v-hp-damage: #d70015;--v-hp-heal: #1e7a35;--v-hp-temp: #0a66c2;--v-hp-on-accent: #ffffff}:root[data-theme=fantasy-rpg]{--font-primary: "EB Garamond", Georgia, "Times New Roman", serif;--font-display: "Cinzel", "EB Garamond", Georgia, serif;--dnd-dark: #ead9b6;--dnd-darker: #e4d2ac;--dnd-gold: #7a2e22;--dnd-gold-light: #9a3d2c;--dnd-gold-muted: #6a281d;--dnd-gold-dark: #561e15;--dnd-gold-03: rgba(122, 46, 34, .03);--dnd-gold-04: rgba(122, 46, 34, .04);--dnd-gold-05: rgba(122, 46, 34, .05);--dnd-gold-06: rgba(122, 46, 34, .06);--dnd-gold-08: rgba(122, 46, 34, .08);--dnd-gold-10: rgba(122, 46, 34, .1);--dnd-gold-12: rgba(122, 46, 34, .12);--dnd-gold-15: rgba(122, 46, 34, .15);--dnd-gold-18: rgba(122, 46, 34, .18);--dnd-gold-20: rgba(122, 46, 34, .2);--dnd-gold-25: rgba(122, 46, 34, .25);--dnd-gold-30: rgba(122, 46, 34, .3);--dnd-gold-40: rgba(122, 46, 34, .4);--dnd-gold-50: rgba(122, 46, 34, .5);--dnd-red-06: rgba(150, 50, 40, .06);--dnd-red-08: rgba(150, 50, 40, .08);--dnd-red-10: rgba(150, 50, 40, .1);--dnd-red-12: rgba(150, 50, 40, .12);--dnd-red-15: rgba(150, 50, 40, .15);--dnd-red-20: rgba(150, 50, 40, .2);--dnd-red-30: rgba(150, 50, 40, .3);--dnd-text: #2e2317;--dnd-text-light: #3f3020;--dnd-text-secondary: #6b5844;--dnd-text-disabled: #a8977c;--text-muted: #665a47;--dnd-muted: #665a47;--dnd-accent-red: #7a2e22;--dnd-accent-red-light: #9a3d2c;--dnd-accent-purple: #0a6d7a;--dnd-accent-gold: #7e5f1e;--dnd-success: #377031;--dnd-danger: #a83224;--dnd-warning: #7e5212;--dnd-info: #0a6d7a;--dnd-card-bg: #f6efdc;--dnd-border: #cdb98c;--dnd-on-gold: #f6efdc;--surface-input: #fffdf3;--surface-hover: var(--dnd-gold-06);--surface-active: var(--dnd-gold-12);--dnd-surface-elevated: rgba(246, 239, 220, .97);--dnd-overlay: rgba(46, 35, 23, .45);--border-subtle: var(--dnd-gold-08);--border-accent: var(--dnd-gold-25);--border-divider: var(--dnd-gold-15);--dnd-surface-0: #e4d2ac;--dnd-surface-1: #f6efdc;--dnd-surface-2: #efe5cc;--dnd-surface-3: #e5d6b6;--shadow-xs: 0 1px 2px rgba(74, 45, 20, .06);--shadow-sm: 0 1px 3px rgba(74, 45, 20, .09);--shadow-md: 0 4px 12px rgba(74, 45, 20, .12);--shadow-lg: 0 8px 24px rgba(74, 45, 20, .16);--shadow-xl: 0 16px 48px rgba(74, 45, 20, .2);--shadow-glow-gold: 0 0 18px var(--dnd-gold-15);--shadow-inset: inset 0 1px 2px rgba(74, 45, 20, .08);--glow-gold-sm: 0 0 12px var(--dnd-gold-12);--glow-gold-md: 0 0 20px var(--dnd-gold-15);--glow-gold-lg: 0 0 30px var(--dnd-gold-20)}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/eb-garamond-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/eb-garamond-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/eb-garamond-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/eb-garamond-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/eb-garamond-italic-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/eb-garamond-italic-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/eb-garamond-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/eb-garamond-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/cinzel-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/cinzel-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:var(--font-primary);line-height:var(--lh-normal);font-weight:var(--fw-normal);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}body{min-width:320px;min-height:100dvh;font-family:inherit;line-height:inherit}#root{width:100%;margin:0 auto;text-align:left}@media(min-width:1024px){#root{max-width:960px;box-shadow:0 0 40px #0006;min-height:100vh}}@media(min-width:1400px){#root{max-width:1100px}}h1,h2,h3,h4,h5,h6{line-height:1.2;color:var(--dnd-text);text-wrap:balance}p{text-wrap:pretty}a{color:var(--dnd-gold);text-decoration:none}a:hover{color:var(--dnd-gold-dark)}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:inherit}@media(hover:none)and (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=button]):not([type=submit]):not([type=reset]):not([type=file]),select,textarea,[contenteditable=true],[contenteditable=""]{font-size:16px!important}}ul,ol{list-style:none}img,svg{display:block;max-width:100%}:focus-visible{outline:2px solid var(--dnd-gold, #d4af37);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--dnd-gold-20);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--dnd-gold-30)}*{scrollbar-width:thin;scrollbar-color:var(--dnd-gold-20) transparent}.dice-icon{display:inline-block;width:1em;height:1em;color:inherit;vertical-align:-.125em;flex-shrink:0}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--dnd-surface-0);color:var(--dnd-text);padding:1rem}.error-boundary__container{max-width:500px;text-align:center;background:var(--dnd-surface-1);border-radius:var(--radius-lg);padding:2rem;box-shadow:0 4px 20px #0000004d;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.error-boundary__icon{font-size:3rem;margin-bottom:1rem}.error-boundary__title{font-family:var(--font-display);font-size:1.75rem;color:var(--dnd-gold);margin:0 0 .5rem;font-weight:700}.error-boundary__message{font-size:1rem;color:var(--dnd-text-muted);margin:0 0 1.5rem;line-height:1.6}.error-boundary__details{margin:1.5rem 0;padding:1rem;background:var(--dnd-surface-0);border-radius:var(--radius-md);text-align:left}.error-boundary__details summary{cursor:pointer;color:var(--dnd-gold);font-weight:600;-webkit-user-select:none;user-select:none}.error-boundary__details summary:hover{color:var(--dnd-gold-light)}.error-boundary__stack{margin-top:.5rem;padding:.75rem;background:var(--dnd-surface-2);border-radius:var(--radius-sm);font-size:.75rem;overflow-x:auto;color:var(--dnd-accent-red);font-family:Monaco,Courier New,monospace}.error-boundary__actions{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.error-boundary__button{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;font-family:var(--font-primary)}.error-boundary__button--primary{background:var(--dnd-gold);color:var(--dnd-surface-0)}.error-boundary__button--primary:hover{background:var(--dnd-gold-light);transform:translateY(-2px);box-shadow:0 4px 12px #f0b4004d}.error-boundary__button--primary:active{transform:translateY(0)}.error-boundary__button--secondary{background:var(--dnd-surface-2);color:var(--dnd-text);border:1px solid var(--dnd-text-muted)}.error-boundary__button--secondary:hover{background:var(--dnd-surface-2);border-color:var(--dnd-gold);color:var(--dnd-gold)}.error-boundary__hint{font-size:.85rem;color:var(--dnd-text-muted);margin:0}[data-theme=light] .error-boundary{background:var(--dnd-surface-0)}[data-theme=light] .error-boundary__container{background:var(--dnd-surface-1);box-shadow:0 2px 8px #0000001a}.language-switcher{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border:1px solid var(--dnd-border);border-radius:var(--radius-md);background:var(--dnd-surface-1);color:var(--dnd-text);font-size:.8rem;font-weight:600;cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast);-webkit-user-select:none;user-select:none;white-space:nowrap}.language-switcher:hover{background:var(--dnd-surface-2);border-color:var(--dnd-gold)}.connectivity-badge{position:fixed;bottom:calc(var(--sheet-tabbar-h, 0px) + 1rem);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;z-index:var(--z-toast);animation:slideBadgeIn .3s ease-out;pointer-events:none}@keyframes slideBadgeIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.connectivity-badge--offline{background:#dc3232e6;color:#fff;box-shadow:0 2px 12px #dc323266}.connectivity-badge__dot{width:8px;height:8px;border-radius:50%;background:#ff6b6b;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.connectivity-badge__text{white-space:nowrap}.feedback-fab{position:fixed;bottom:1.5rem;left:1.5rem;z-index:var(--z-burger);width:48px;height:48px;border-radius:50%;border:2px solid var(--dnd-gold-25);background:var(--dnd-surface-1);color:var(--dnd-text);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:background var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out),transform var(--duration-fast) var(--ease-out),bottom .3s cubic-bezier(.4,0,.2,1)}.feedback-fab:hover{background:var(--dnd-surface-2);border-color:var(--dnd-gold-40);transform:scale(1.07)}.feedback-fab:active{transform:scale(.95)}.feedback-modal{max-width:420px}.feedback-body{padding:.75rem 1rem 1rem}.feedback-back{background:none;border:none;color:var(--dnd-text-secondary);font-size:1.25rem;cursor:pointer;padding:.25rem .5rem;margin-right:.25rem;border-radius:var(--radius-sm);transition:color var(--duration-fast)}.feedback-back:hover{color:var(--dnd-text)}.feedback-categories{display:flex;flex-direction:column;gap:.5rem}.feedback-category-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:var(--dnd-surface-2);border:1px solid transparent;border-radius:var(--radius-md);color:var(--dnd-text);font-size:var(--text-base);cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast)}.feedback-category-btn:hover{background:var(--dnd-surface-3);border-color:var(--dnd-gold-20)}.feedback-category-icon{font-size:1.25rem}.feedback-form{display:flex;flex-direction:column;gap:.75rem}.feedback-selected-label{margin:0;font-size:var(--text-sm);color:var(--dnd-text-secondary)}.feedback-textarea{width:100%;padding:.625rem .75rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);color:var(--dnd-text);font-family:var(--font-primary);font-size:var(--text-base);resize:vertical;min-height:80px;transition:border-color var(--duration-fast);box-sizing:border-box}.feedback-textarea:focus{outline:none;border-color:var(--dnd-gold-40)}.feedback-textarea::placeholder{color:var(--dnd-text-secondary)}.feedback-submit{align-self:flex-end;padding:.5rem 1.25rem;background:var(--dnd-gold);color:#0f1420;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:opacity var(--duration-fast),transform var(--duration-fast)}.feedback-submit:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.feedback-submit:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.feedback-fab{bottom:calc(var(--sheet-tabbar-h, 0px) + .9rem);left:1rem;width:44px;height:44px}.feedback-fab svg{width:20px;height:20px}.feedback-modal{max-width:calc(100vw - 2rem)}}body.has-wizard-footer .feedback-fab{bottom:calc(var(--wizard-footer-h, 0px) + .9rem)}.feedback-fab__badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#d9352c;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--dnd-surface-1);pointer-events:none}@keyframes feedback-fab-bounce{0%,60%,to{transform:translateY(0)}70%{transform:translateY(-8px)}80%{transform:translateY(-4px)}90%{transform:translateY(-2px)}}.feedback-fab--bounce{animation:feedback-fab-bounce 1.8s var(--ease-out) infinite}.feedback-fab--bounce:hover,.feedback-fab--bounce:active{animation:none}@media(prefers-reduced-motion:reduce){.feedback-fab--bounce{animation:none}}.feedback-tabs{display:flex;gap:.25rem;padding:0 1rem;border-bottom:1px solid var(--dnd-gold-15)}.feedback-tab{position:relative;display:inline-flex;align-items:center;gap:.4rem;padding:.6rem .5rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--dnd-text-secondary);font-family:var(--font-primary);font-size:var(--text-sm);cursor:pointer;transition:color var(--duration-fast),border-color var(--duration-fast)}.feedback-tab:hover{color:var(--dnd-text)}.feedback-tab--active{color:var(--dnd-gold);border-bottom-color:var(--dnd-gold)}.feedback-tab-badge{min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#d9352c;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.feedback-notifications{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;max-height:60vh;overflow-y:auto}.feedback-notif{padding:.625rem .75rem;background:var(--dnd-surface-2);border:1px solid transparent;border-radius:var(--radius-md)}.feedback-notif--unread{border-color:var(--dnd-gold-25);background:var(--dnd-surface-3)}.feedback-notif-title{font-weight:700;color:var(--dnd-text);font-size:var(--text-base)}.feedback-notif-body{margin-top:.25rem;color:var(--dnd-text);font-size:var(--text-sm);white-space:pre-wrap;word-break:break-word}.feedback-notif-link{color:var(--dnd-gold);text-decoration:underline;text-underline-offset:2px}.feedback-notif-link:hover{filter:brightness(1.15)}.feedback-notif-date{margin-top:.35rem;color:var(--dnd-text-secondary);font-size:var(--text-xs)}.feedback-notif-empty{margin:0;padding:1.5rem 0;text-align:center;color:var(--dnd-text-secondary);font-size:var(--text-sm)}.survey-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-modal-backdrop);opacity:0;transition:opacity var(--duration-normal) var(--ease-out)}.survey-overlay.open{opacity:1}.survey-panel{position:fixed;right:var(--sp-4);bottom:var(--sp-4);width:380px;max-width:92vw;max-height:calc(100dvh - 2 * var(--sp-4));z-index:var(--z-modal);display:flex;flex-direction:column;overflow:hidden;background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-xl);box-shadow:0 12px 40px #0000008c;transform:translate(calc(100% + var(--sp-4)));transition:transform var(--duration-normal) var(--ease-out);will-change:transform}.survey-panel.open{transform:translate(0)}.survey-panel.survey-panel--bottom{right:0;left:0;bottom:0;width:100%;max-width:100%;max-height:88dvh;border:none;border-top:1px solid var(--dnd-gold-15);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;box-shadow:0 -4px 28px #0000008c;transform:translateY(100%);padding-bottom:env(safe-area-inset-bottom,0px)}.survey-panel.survey-panel--bottom.open{transform:translateY(0)}@media(max-width:600px){.survey-panel{right:0;left:0;bottom:0;width:100%;max-width:100%;max-height:88dvh;border:none;border-top:1px solid var(--dnd-gold-15);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;box-shadow:0 -4px 28px #0000008c;transform:translateY(100%);padding-bottom:env(safe-area-inset-bottom,0px)}.survey-panel.open{transform:translateY(0)}}.survey-header{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-4);border-bottom:1px solid var(--dnd-border);flex-shrink:0}.survey-header--bare{padding:var(--sp-2) var(--sp-2) 0;border-bottom:none}.survey-header-text{flex:1;min-width:0}.survey-title{margin:0;font-family:var(--font-primary);font-size:var(--text-md);font-weight:600;color:var(--dnd-gold)}.survey-intro{margin:var(--sp-1) 0 0;font-size:var(--text-sm);color:var(--dnd-text-secondary);line-height:1.4}.survey-close{flex-shrink:0;background:none;border:none;color:var(--dnd-text-secondary);font-size:1.5rem;line-height:1;cursor:pointer;padding:0 var(--sp-1);transition:color var(--duration-fast)}.survey-close:hover{color:var(--dnd-text)}.survey-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-5)}.survey-q{display:flex;flex-direction:column;gap:var(--sp-2)}.survey-q-title{font-size:var(--text-base);color:var(--dnd-text-light);font-weight:600}.survey-q-required{color:var(--dnd-accent-red);margin-left:2px}.survey-textarea{width:100%;padding:.625rem .75rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);color:var(--dnd-text);font-family:var(--font-primary);font-size:var(--text-base);resize:vertical;min-height:72px;transition:border-color var(--duration-fast)}.survey-textarea:focus{outline:none;border-color:var(--dnd-gold-40)}.survey-comment{min-height:48px}.survey-scale{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.survey-scale-btn{flex:1 1 auto;min-width:38px;min-height:40px;padding:var(--sp-2);background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-radius:var(--radius-md);color:var(--dnd-text);font-size:var(--text-base);cursor:pointer;transition:all var(--duration-fast)}.survey-scale-btn:hover{border-color:var(--dnd-gold-40)}.survey-scale-btn.selected{background:var(--dnd-gold);border-color:var(--dnd-gold);color:var(--dnd-surface-0);font-weight:700}.survey-scale-labels{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--dnd-text-secondary);margin-top:2px}.survey-stars{display:flex;gap:var(--sp-2);width:100%}.survey-star{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;padding:var(--sp-2) 0;background:none;border:none;cursor:pointer;color:var(--dnd-text-disabled);transition:color var(--duration-fast),transform var(--duration-fast)}.survey-star svg{width:clamp(32px,10vw,46px);height:auto}.survey-star:hover{transform:scale(1.08)}.survey-star.filled{color:var(--dnd-gold)}.survey-choices{display:flex;flex-direction:column;gap:var(--sp-2)}.survey-choice{display:flex;align-items:center;gap:var(--sp-2);padding:.625rem .75rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-radius:var(--radius-md);color:var(--dnd-text);cursor:pointer;transition:all var(--duration-fast)}.survey-choice:hover{border-color:var(--dnd-gold-40)}.survey-choice.selected{border-color:var(--dnd-gold);background:var(--dnd-gold-10)}.survey-choice input{accent-color:var(--dnd-gold)}.survey-error{color:var(--dnd-accent-red);font-size:var(--text-sm);margin:0}.survey-footer{padding:var(--sp-4);border-top:1px solid var(--dnd-border);display:flex;flex-direction:column;gap:var(--sp-2);flex-shrink:0}.survey-smileys{display:flex;gap:var(--sp-2);width:100%}.survey-smiley{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;padding:var(--sp-2) 0;background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-radius:var(--radius-md);font-size:clamp(24px,7vw,32px);line-height:1;cursor:pointer;opacity:.5;filter:grayscale(.35);transition:all var(--duration-fast)}.survey-smiley:hover{opacity:.85;border-color:var(--dnd-gold-40)}.survey-smiley.selected{opacity:1;filter:none;border-color:var(--dnd-gold);background:var(--dnd-gold-10);transform:scale(1.05)}.survey-thanks{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--sp-3);padding:var(--sp-8) var(--sp-4);flex:1}.survey-thanks-icon{color:var(--dnd-gold)}.survey-thanks-text{font-size:var(--text-lg);color:var(--dnd-text-light);margin:0}.d20-loader{--d20-size: 168px;--d20-accent: var(--dnd-gold, #e0b94a);--d20-dur: 2.8s;--d20-ease: cubic-bezier(.6, 0, .15, 1);position:relative;width:var(--d20-size);height:var(--d20-size);flex:none}.d20-loader__outer,.d20-loader__inner{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;stroke:var(--d20-accent)}.d20-loader__outer{animation:d20-roll var(--d20-dur) var(--d20-ease) infinite}.d20-loader__inner{animation:d20-roll-in var(--d20-dur) var(--d20-ease) infinite;opacity:.9}.d20-loader__face{fill:color-mix(in srgb,var(--d20-accent) 12%,transparent)}.d20-loader__tri{fill:color-mix(in srgb,var(--d20-accent) 10%,transparent)}.d20-loader__num{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display, system-ui, sans-serif);font-size:calc(var(--d20-size) * .22);font-weight:700;line-height:1;color:var(--d20-accent);animation:d20-tick var(--d20-dur) cubic-bezier(.3,1.6,.4,1) infinite}@keyframes d20-roll{0%{transform:rotate(0)}20%,36%{transform:rotate(60deg)}56%,72%{transform:rotate(120deg)}92%,to{transform:rotate(180deg)}}@keyframes d20-roll-in{0%{transform:rotate(0)}20%,36%{transform:rotate(-120deg)}56%,72%{transform:rotate(-240deg)}92%,to{transform:rotate(-360deg)}}@keyframes d20-tick{0%,17%{transform:scale(1)}22%{transform:scale(1.2)}32%,53%{transform:scale(1)}58%{transform:scale(1.2)}68%,89%{transform:scale(1)}94%{transform:scale(1.2)}to{transform:scale(1)}}.d20-splash{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(24px,6vw,40px);min-height:100vh;min-height:100dvh;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));text-align:center}.d20-splash__wordmark{font-family:var(--font-display, system-ui, sans-serif);font-size:clamp(2rem,9vw,2.6rem);font-weight:600;letter-spacing:-.02em;line-height:1;color:var(--dnd-text-light, #f4f4f7)}.d20-splash__wordmark b{font-weight:600;color:var(--dnd-gold, #e0b94a)}.d20-splash__bar{position:relative;width:132px;height:2px;border-radius:2px;overflow:hidden;background:var(--dnd-border, rgba(255, 255, 255, .08))}.d20-splash__bar:after{content:"";position:absolute;inset:0 auto 0 0;width:40%;border-radius:2px;background:var(--dnd-gold, #e0b94a);box-shadow:0 0 12px color-mix(in srgb,var(--dnd-gold, #e0b94a) 50%,transparent);animation:d20-shuttle 1.5s cubic-bezier(.65,0,.35,1) infinite}@keyframes d20-shuttle{0%{transform:translate(-70%)}to{transform:translate(270%)}}.d20-splash__bar.is-determinate:after{width:100%;transform-origin:left center;transform:scaleX(var(--d20-progress, 0));animation:none;transition:transform .18s linear}.d20-splash__caption{margin:0;max-width:min(88vw,340px);line-height:1.6;font-size:.68rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--dnd-text-disabled, #5e5f68)}.d20-splash__pct{font-variant-numeric:tabular-nums;color:var(--dnd-gold, #e0b94a)}.d20-splash__pct:before{content:" · "}.d20-splash__pct[hidden]{display:none}.d20-splash__status{display:flex;flex-direction:column;align-items:center;gap:14px}@media(prefers-reduced-motion:reduce){.d20-loader__outer,.d20-loader__inner,.d20-loader__num,.d20-splash__bar:after{animation:none}}:root{--am-page: linear-gradient(180deg, var(--dnd-darker) 0%, var(--dnd-dark) 55%, var(--dnd-dark) 100%);--am-field: var(--dnd-surface-0);--am-shadow: var(--shadow-lg);--am-shadow-sm: var(--shadow-sm);--am-blue: #29a9ea;--am-blue-bg: rgba(41, 169, 234, .12);--am-blue-bd: rgba(41, 169, 234, .3);--am-danger-tx: var(--dnd-accent-red-light);--am-danger-bg: var(--dnd-red-15);--am-danger-bd: var(--dnd-red-30);--am-ok-tx: #3fc9b0;--am-ok-bg: rgba(63, 201, 176, .12);--am-ok-bd: rgba(63, 201, 176, .3)}:root[data-theme^=modern-]{--am-page: radial-gradient(120% 80% at 50% 0%, var(--dnd-surface-2) 0%, var(--dnd-dark) 46%, var(--dnd-surface-0) 100%);--am-shadow: 0 18px 50px rgba(0, 0, 0, .5);--am-shadow-sm: 0 2px 8px rgba(0, 0, 0, .35);--am-blue: #5aa9f0;--am-blue-bg: rgba(90, 169, 240, .12);--am-blue-bd: rgba(90, 169, 240, .3);--am-danger-tx: #ff6961;--am-danger-bg: rgba(255, 69, 58, .14);--am-danger-bd: rgba(255, 69, 58, .3)}:root[data-theme=modern-light]{--am-page: linear-gradient(180deg, #fbfbfd 0%, #eef0f3 60%, #e6e8ec 100%);--am-field: #f2f2f4;--am-shadow: 0 16px 40px rgba(0, 0, 0, .12);--am-shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--am-blue: #1f74c8;--am-blue-bg: rgba(31, 116, 200, .1);--am-blue-bd: rgba(31, 116, 200, .28);--am-danger-tx: #d70015;--am-danger-bg: rgba(255, 59, 48, .1);--am-danger-bd: rgba(255, 59, 48, .25);--am-ok-tx: #1a9e86;--am-ok-bg: rgba(26, 158, 134, .1);--am-ok-bd: rgba(26, 158, 134, .28)}@keyframes amFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes amPopIn{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.am-page{min-height:100vh;min-height:100dvh;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:40px 18px;background:var(--am-page);color:var(--dnd-text);font-family:var(--font-primary)}.am-shell{width:100%;max-width:400px;display:flex;flex-direction:column;gap:20px;animation:amFadeUp .45s ease-out}.am-brand{display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:4px}.am-brand-mark{flex-shrink:0}.am-brand-text{display:flex;flex-direction:column;align-items:center;gap:7px}.am-wordmark{margin:0;font-family:var(--font-display);font-size:1.75rem;font-weight:600;letter-spacing:-.02em;line-height:1;color:var(--dnd-text)}.am-wordmark b{font-weight:600;color:var(--dnd-gold)}.am-tagline{margin:0;font-size:.85rem;color:var(--dnd-text-secondary);text-align:center}.am-card{box-sizing:border-box;display:flex;flex-direction:column;gap:14px;padding:18px;background:var(--dnd-surface-1);border:1px solid var(--border-subtle);border-radius:20px;box-shadow:var(--am-shadow)}.am-segments{display:flex;gap:4px;padding:4px;background:var(--dnd-surface-2);border-radius:13px}.am-segment{flex:1;padding:9px 8px;border:none;border-radius:10px;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.85rem;font-weight:700;cursor:pointer;transition:background .18s ease,color .18s ease}.am-segment.is-active{background:var(--dnd-surface-1);color:var(--dnd-text);box-shadow:var(--am-shadow-sm)}.am-head{display:flex;flex-direction:column;gap:5px}.am-page .am-card .am-head-title{margin:0;font-family:var(--font-primary);font-size:1.02rem;font-weight:700;letter-spacing:normal;text-transform:none;color:var(--dnd-text)}.am-head-hint{margin:0;font-size:.82rem;line-height:1.45;color:var(--text-muted)}.am-form{display:flex;flex-direction:column;gap:11px}.am-field{display:flex;flex-direction:column;gap:6px}.am-field--pop{animation:amPopIn .22s ease-out}.am-label{font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.am-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.am-page .am-card .am-input{width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--am-field);color:var(--dnd-text);font-family:inherit;font-size:.95rem;transition:border-color .15s ease,box-shadow .15s ease}.am-input::placeholder{color:var(--text-muted)}.am-page .am-card .am-input:focus{outline:none;border-color:var(--dnd-gold-30);box-shadow:0 0 0 3px var(--dnd-gold-10)}.am-input-wrap{position:relative;display:flex;align-items:center}.am-input-wrap .am-input{padding-right:44px}.am-eye{position:absolute;right:6px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:9px;background:none;color:var(--text-muted);cursor:pointer;transition:color .15s ease,background .15s ease}.am-eye:hover{color:var(--dnd-text);background:var(--surface-hover)}.am-forgot{padding:0;border:none;background:none;color:var(--dnd-gold);font-family:inherit;font-size:.76rem;font-weight:600;cursor:pointer}.am-forgot:hover{color:var(--dnd-gold-light)}.am-alert{display:flex;align-items:flex-start;gap:9px;box-sizing:border-box;padding:10px 12px;border-radius:12px;font-size:.82rem;line-height:1.45;animation:amPopIn .2s ease-out}.am-alert svg{flex-shrink:0;margin-top:2px}.am-alert--error{background:var(--am-danger-bg);border:1px solid var(--am-danger-bd);color:var(--am-danger-tx)}.am-alert--ok{background:var(--am-ok-bg);border:1px solid var(--am-ok-bd);color:var(--am-ok-tx)}.am-alert-text{display:flex;flex-direction:column;gap:4px}.am-alert-hint{opacity:.82}.am-submit{width:100%;box-sizing:border-box;margin-top:2px;padding:13px 14px;border:none;border-radius:13px;background:var(--dnd-gold);color:var(--dnd-on-gold);font-family:inherit;font-size:.92rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:filter .15s ease,transform .1s ease}.am-submit:hover:not(:disabled){filter:brightness(1.07)}.am-submit:active:not(:disabled){transform:scale(.99)}.am-submit:disabled{opacity:.6;cursor:not-allowed}.am-back{align-self:center;padding:4px;border:none;background:none;color:var(--text-muted);font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:color .15s ease}.am-back:hover{color:var(--dnd-text)}.am-social{display:flex;flex-direction:column;gap:12px}.am-divider{display:flex;align-items:center;gap:12px}.am-divider:before,.am-divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.am-divider span{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.am-social-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.am-social-grid--single{grid-template-columns:1fr}.am-social-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 10px;border-radius:12px;font-family:inherit;font-size:.86rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease,filter .15s ease}.am-social-btn svg{flex-shrink:0}.am-social-btn:disabled{opacity:.6;cursor:not-allowed}.am-social-btn--google{border:1px solid var(--border-subtle);background:var(--dnd-surface-2);color:var(--dnd-text)}.am-social-btn--google:hover:not(:disabled){border-color:var(--dnd-border)}.am-social-btn--telegram{border:1px solid var(--am-blue-bd);background:var(--am-blue-bg);color:var(--am-blue)}.am-social-btn--telegram:hover:not(:disabled){filter:brightness(1.08)}.am-tg-wait{grid-column:1 / -1;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:8px;padding:11px 13px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--dnd-surface-2);color:var(--dnd-text-secondary);font-size:.82rem;text-align:center}.am-tg-wait-actions{display:flex;align-items:center;gap:16px}.am-tg-link{padding:0;border:none;background:none;color:var(--dnd-gold);font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.am-tg-link--muted{color:var(--text-muted)}.am-alert--span{grid-column:1 / -1}.am-guest{box-sizing:border-box;display:flex;flex-direction:column;gap:10px;padding:15px 16px;border:1px dashed var(--dnd-border);border-radius:18px;background:var(--dnd-surface-1)}.am-guest-promo{display:flex;align-items:center;gap:9px;margin:0;font-size:.82rem;font-weight:600;line-height:1.35;color:var(--dnd-gold)}.am-guest-promo svg{flex-shrink:0}.am-guest-btn{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--dnd-surface-2);color:var(--dnd-text-secondary);font-family:inherit;font-size:.86rem;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease}.am-guest-btn:hover{color:var(--dnd-text);border-color:var(--dnd-border)}.am-guest-hint{margin:0;font-size:.75rem;line-height:1.5;color:var(--text-muted)}.am-guest-modal{max-width:400px}.am-guest-modal-body{display:flex;flex-direction:column;gap:13px}.am-modal-sub{margin:0;font-size:.8rem;font-weight:600;color:var(--dnd-text-secondary)}.am-limits{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.am-limits li{display:flex;align-items:flex-start;gap:9px;font-size:.85rem;line-height:1.45;color:var(--dnd-text-secondary)}.am-limits li:before{content:"";flex-shrink:0;width:5px;height:5px;margin-top:7px;border-radius:50%;background:var(--text-muted)}.am-promo{box-sizing:border-box;margin:0;padding:11px 13px;border:1px solid var(--dnd-gold-30);border-radius:13px;background:var(--dnd-gold-10);color:var(--dnd-gold);font-size:.82rem;line-height:1.5}.am-modal-actions{display:flex;flex-direction:column;gap:8px;padding-top:2px}.am-modal-actions .am-submit{margin-top:0;padding:12px 14px;border-radius:12px;font-size:.88rem}.am-ghost{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:12px;background:transparent;color:var(--dnd-text-secondary);font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease}.am-ghost:hover{color:var(--dnd-text);border-color:var(--dnd-border)}.am-loading{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--dnd-text-secondary);font-size:.9rem}@media(prefers-reduced-motion:reduce){.am-shell,.am-field--pop,.am-alert{animation:none}}@media(max-width:380px){.am-page{padding:24px 14px}.am-card{padding:16px}}.auth-btn{width:100%;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;display:flex;align-items:center;justify-content:center;gap:.5rem;font-family:inherit}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-btn-primary{background:linear-gradient(135deg,var(--dnd-gold) 0%,var(--dnd-gold-dark) 100%);color:#1a1a1a;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-primary)}.auth-btn-primary:hover:not(:disabled){box-shadow:0 4px 16px var(--dnd-gold-40);transform:translateY(-1px)}.auth-btn-primary:active:not(:disabled){transform:translateY(0)}.auth-btn-ghost{background:transparent;border:1px solid var(--dnd-border);color:var(--dnd-text-dim)}.auth-btn-ghost:hover{background:#ffffff0a;color:var(--dnd-text);border-color:var(--dnd-text-dim)}.auth-btn-loading{display:flex;align-items:center;gap:.5rem}.auth-link{background:none;border:none;color:var(--dnd-gold);cursor:pointer;font-size:.85rem;padding:0;font-family:inherit;transition:color .2s ease;text-decoration:none}.auth-link:hover{color:var(--dnd-text-light);text-decoration:underline}.auth-spinner{width:36px;height:36px;border:3px solid var(--border-subtle);border-top-color:var(--dnd-gold);border-radius:50%;animation:authSpin .8s linear infinite}.auth-spinner-small{display:inline-block;width:16px;height:16px;border:2px solid rgba(0,0,0,.25);border-top-color:currentColor;border-radius:50%;animation:authSpin .8s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}:root[data-theme=classic-red] .wizard-container:before{background-image:radial-gradient(circle at 20% 50%,rgba(196,30,58,.03) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(100,100,100,.02) 0%,transparent 50%)}:root[data-theme=classic-red] .wizard-header h1{text-shadow:0 0 30px rgba(196,30,58,.15)}:root[data-theme=classic-red] .progress-indicator .step.active .step-number{background:#ffffff0f;border-color:var(--dnd-gold);color:var(--dnd-gold);box-shadow:0 0 12px #c41e3a40}:root[data-theme=classic-red] .progress-indicator .step.completed .step-number{background:#ffffff14;border-color:var(--dnd-gold);color:var(--dnd-gold)}:root[data-theme=classic-red] .btn{border:1px solid rgba(196,30,58,.3);background:#ffffff0a}:root[data-theme=classic-red] .btn:hover{border-color:#c41e3a80;background:#ffffff14;box-shadow:0 4px 15px #c41e3a33}:root[data-theme=classic-red] .btn-primary,:root[data-theme=classic-red] .btn-primary:hover{background:linear-gradient(135deg,#c41e3a,#8b1a2b);border-color:#c41e3a}:root[data-theme=classic-red] .btn-primary:hover{background:linear-gradient(135deg,#d42a46,#a02030);box-shadow:0 6px 20px #c41e3a59}:root[data-theme=classic-red] .selection-card{border-color:#ffffff14;background:#ffffff05}:root[data-theme=classic-red] .selection-card:hover{border-color:#c41e3a59;background:#ffffff0a;box-shadow:0 4px 20px #c41e3a1f}:root[data-theme=classic-red] .selection-card.selected{border-color:var(--dnd-gold);background:#ffffff0f;box-shadow:0 0 20px #c41e3a33}:root[data-theme=classic-red] .step-section{border:1px solid rgba(255,255,255,.06);background:#ffffff05}:root[data-theme=classic-red] .wizard-step h2:after{background:linear-gradient(90deg,var(--dnd-gold),transparent)}:root[data-theme=classic-red] .wizard-nav .btn-secondary{border-color:#c41e3a4d}:root[data-theme=classic-red] .character-sheet:before{background-image:radial-gradient(circle at 20% 50%,rgba(196,30,58,.02) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(100,100,100,.02) 0%,transparent 50%)}:root[data-theme=classic-red] .sheet-header{background:linear-gradient(135deg,var(--dnd-surface-2) 0%,var(--dnd-surface-3) 100%);border-bottom:2px solid rgba(196,30,58,.3);box-shadow:0 8px 30px #0003,inset 0 1px 1px #ffffff08}:root[data-theme=classic-red] .sheet-header:before,:root[data-theme=classic-red] .sheet-header:after{background:#ffffff08}:root[data-theme=classic-red] .info-tag{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--dnd-text-light);text-shadow:none}:root[data-theme=classic-red] .info-tag:hover{background:#ffffff1a;border-color:#c41e3a4d}:root[data-theme=classic-red] .character-title h1{text-shadow:0 0 20px rgba(196,30,58,.15)}:root[data-theme=classic-red] .character-name-editable:hover{background:#ffffff0d}:root[data-theme=classic-red] .name-edit-input{border:1px solid var(--dnd-gold);box-shadow:0 0 8px #c41e3a4d}:root[data-theme=classic-red] .burger-toggle span{background:var(--dnd-gold)}:root[data-theme=classic-red] .burger-dropdown{background:var(--dnd-surface-2);border:1px solid rgba(196,30,58,.2);box-shadow:0 8px 30px #00000080}:root[data-theme=classic-red] .burger-item:hover{background:#ffffff0f}:root[data-theme=classic-red] .burger-theme-select{background:var(--dnd-surface-0);border-color:#c41e3a26;color:var(--dnd-text)}:root[data-theme=classic-red] .burger-theme-select:hover{border-color:#c41e3a40}:root[data-theme=classic-red] .burger-theme-select:focus{border-color:var(--dnd-gold);box-shadow:0 0 0 2px #c41e3a1a}:root[data-theme=classic-red] .sheet-tabs{background:var(--dnd-surface-1);border-bottom:1px solid rgba(196,30,58,.15);box-shadow:inset 0 -1px 2px #0003}:root[data-theme=classic-red] .sheet-tab:hover{background:#ffffff0a}:root[data-theme=classic-red] .sheet-tab.active{color:var(--dnd-gold);background:#ffffff0f}:root[data-theme=classic-red] .sheet-tab.active:after{background:var(--dnd-gold);box-shadow:0 0 8px #c41e3a66}:root[data-theme=classic-red] .section{background:#ffffff06;border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 15px #00000040,inset 0 1px 1px #ffffff05}:root[data-theme=classic-red] .section h3{border-bottom:2px solid rgba(196,30,58,.25)}:root[data-theme=classic-red] .section-header-static{border-bottom:1px solid rgba(255,255,255,.06)}:root[data-theme=classic-red] .sheet-top-block{background:var(--dnd-surface-1);border-bottom:1px solid rgba(196,30,58,.15)}:root[data-theme=classic-red] .compact-stat-icon{color:var(--dnd-gold)}:root[data-theme=classic-red] .compact-stat-value{color:var(--dnd-text-light)}:root[data-theme=classic-red] .stat-tooltip{background:#121214f2;border:1px solid rgba(196,30,58,.3)}:root[data-theme=classic-red] .hp-bar-container{background:var(--dnd-surface-2);border:1px solid rgba(255,255,255,.06)}:root[data-theme=classic-red] .hp-bar-background{background:linear-gradient(90deg,#2d8a3e33,#4caf5033,#66bb6a33)}:root[data-theme=classic-red] .hp-input{background:#0000004d;border:1px solid rgba(255,255,255,.1)}:root[data-theme=classic-red] .hp-btn{background:#ffffff0f;border:1px solid rgba(196,30,58,.3)}:root[data-theme=classic-red] .hp-btn:hover{background:#ffffff1a;border-color:#c41e3a80}:root[data-theme=classic-red] .ac-input{border-color:var(--dnd-gold);box-shadow:0 0 6px #c41e3a4d}:root[data-theme=classic-red] .ac-override-hint{color:#c41e3a80}:root[data-theme=classic-red] .ability-box{background:#ffffff08;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 1px #ffffff05,0 2px 8px #0003}:root[data-theme=classic-red] .ability-box:before{background:linear-gradient(90deg,transparent,var(--dnd-gold),transparent)}:root[data-theme=classic-red] .ability-box:hover{border-color:#c41e3a66;background:#ffffff0f;box-shadow:0 0 20px #c41e3a1f,inset 0 1px 1px #ffffff0a}:root[data-theme=classic-red] .ability-card{background:#ffffff06;border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 15px #0003,inset 0 1px 1px #ffffff05}:root[data-theme=classic-red] .ability-card:hover{background:#ffffff0d;border-color:#c41e3a40;box-shadow:0 6px 20px #c41e3a1a,inset 0 1px 1px #ffffff08}:root[data-theme=classic-red] .ability-card .modifier{text-shadow:0 0 8px rgba(196,30,58,.35)}:root[data-theme=classic-red] .ability-card .modifier.positive{text-shadow:0 0 8px rgba(196,30,58,.6)}:root[data-theme=classic-red] .skill-row:hover{background:#ffffff0a}:root[data-theme=classic-red] .proficient-dot{background:var(--dnd-gold);box-shadow:0 0 6px #c41e3a80}:root[data-theme=classic-red] .skill-bonus{color:var(--dnd-gold)}:root[data-theme=classic-red] .skill-row.expertise{background:#c41e3a1f;border-left-color:var(--dnd-gold);border-left-width:3px}:root[data-theme=classic-red] .skill-row.expertise .skill-modifier{background:linear-gradient(135deg,#c41e3a,#8b1a2b);color:#fff;border-color:#c41e3a;box-shadow:0 0 14px #c41e3a59;font-weight:900}:root[data-theme=classic-red] .expertise-mark{color:var(--dnd-gold);text-shadow:0 0 6px rgba(196,30,58,.5)}:root[data-theme=classic-red] .skill-row.proficient .skill-modifier{background:linear-gradient(135deg,#c41e3a99,#8b1a2b99);color:#fff;border-color:#c41e3a80;box-shadow:0 0 10px #c41e3a33}:root[data-theme=classic-red] .spell-circle-row{border-bottom:1px solid rgba(255,255,255,.05)}:root[data-theme=classic-red] .slot-btn{border:1px solid rgba(255,255,255,.08);background:#ffffff05}:root[data-theme=classic-red] .slot-btn.used{background:#c41e3a26;border-color:var(--dnd-gold);box-shadow:0 0 6px #c41e3a4d}:root[data-theme=classic-red] .spell-name-link{color:var(--dnd-gold)}:root[data-theme=classic-red] .spell-card{background:#ffffff05;border:1px solid rgba(255,255,255,.06)}:root[data-theme=classic-red] .spell-card:hover{border-color:#c41e3a40;background:#ffffff0a}:root[data-theme=classic-red] .combat-weapon-card{background:#ffffff05;border:1px solid rgba(255,255,255,.06)}:root[data-theme=classic-red] .combat-weapon-card:hover{border-color:#c41e3a40;background:#ffffff0a}:root[data-theme=classic-red] .attack-bonus{color:var(--dnd-gold)}:root[data-theme=classic-red] .inventory-item{border-bottom:1px solid rgba(255,255,255,.04)}:root[data-theme=classic-red] .inventory-item:hover{background:#ffffff08}:root[data-theme=classic-red] .qty-btn{border:1px solid rgba(255,255,255,.1);background:#ffffff0a}:root[data-theme=classic-red] .qty-btn:hover{background:#ffffff14;border-color:#c41e3a4d}:root[data-theme=classic-red] .qty-btn.edit-btn{border-color:#c41e3a4d}:root[data-theme=classic-red] .qty-btn.edit-btn:hover{background:#ffffff14}:root[data-theme=classic-red] .feature-item{border-bottom:1px dashed rgba(255,255,255,.08)}:root[data-theme=classic-red] .feature-header{color:var(--dnd-gold)}:root[data-theme=classic-red] .armor-modal{background:var(--dnd-surface-2);border:1px solid rgba(196,30,58,.2);box-shadow:0 20px 60px #00000080}:root[data-theme=classic-red] .armor-modal-header{border-bottom:1px solid rgba(255,255,255,.06)}:root[data-theme=classic-red] .armor-modal-footer{border-top:1px solid rgba(255,255,255,.06)}:root[data-theme=classic-red] .armor-select{background:var(--dnd-surface-1);border:1px solid rgba(255,255,255,.08)}:root[data-theme=classic-red] .armor-detail-tag{background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}:root[data-theme=classic-red] .vitals-combat-divider{background:linear-gradient(90deg,transparent,rgba(196,30,58,.2),transparent)}:root[data-theme=classic-red] .dice-roll-modal{background:var(--dnd-surface-2);border:1px solid rgba(196,30,58,.2)}:root[data-theme=classic-red] .dice-roll-header{border-bottom:1px solid rgba(255,255,255,.06)}:root[data-theme=classic-red] .dice-roll-btn{background:#ffffff0a;border:1px solid rgba(196,30,58,.2)}:root[data-theme=classic-red] .dice-roll-btn:hover{background:#ffffff14;border-color:#c41e3a66}:root[data-theme=classic-red] .quick-dice-panel{background:var(--dnd-surface-2);border:1px solid rgba(196,30,58,.15)}:root[data-theme=classic-red] .quick-dice-btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}:root[data-theme=classic-red] .quick-dice-btn:hover{background:#ffffff14;border-color:#c41e3a4d}:root[data-theme=classic-red] .notes-textarea{background:#00000040;border:1px solid rgba(255,255,255,.08)}:root[data-theme=classic-red] .notes-textarea:focus{border-color:var(--dnd-gold);box-shadow:0 0 8px #c41e3a33}:root[data-theme=classic-red] .level-badge{background:linear-gradient(135deg,#c41e3a,#8b1a2b);color:#fff;border:1px solid rgba(196,30,58,.5);box-shadow:0 1px 4px #0006,inset 0 1px #ffffff26}:root[data-theme=classic-red] .resource-pip{border:1px solid rgba(196,30,58,.3)}:root[data-theme=classic-red] .resource-pip.filled{background:var(--dnd-gold);box-shadow:0 0 6px #c41e3a66}:root[data-theme=classic-red] .portrait-display{box-shadow:0 0 20px #0003}:root[data-theme=classic-red] .death-save-btn{border:1px solid rgba(255,255,255,.1)}:root[data-theme=classic-red] .theme-toggle{background:#ffffff0d;border:2px solid rgba(196,30,58,.3);color:var(--dnd-gold);box-shadow:0 2px 8px #00000040}:root[data-theme=classic-red] .theme-toggle:hover{background:#ffffff14;border-color:#c41e3a80;box-shadow:0 4px 12px #c41e3a33}:root[data-theme=classic-red] .character-card{background:#ffffff05;border:1px solid rgba(255,255,255,.06)}:root[data-theme=classic-red] .character-card:hover{border-color:#c41e3a4d;box-shadow:0 6px 20px #c41e3a1a}:root[data-theme=classic-red] .btn.btn-secondary.char-list-pregen-btn{background:linear-gradient(135deg,#c41e3a1f,#c41e3a0f)!important;color:var(--dnd-gold)!important}:root[data-theme=classic-red] .btn.btn-secondary.char-list-pregen-btn:hover{background:linear-gradient(135deg,#c41e3a33,#c41e3a1a)!important;color:var(--dnd-gold)!important}:root[data-theme=classic-red] .add-character-btn{background:#ffffff08;border:2px dashed rgba(196,30,58,.25)}:root[data-theme=classic-red] .add-character-btn:hover{background:#ffffff0f;border-color:#c41e3a80}:root[data-theme=classic-red] .auth-container{border:1px solid rgba(255,255,255,.06)}:root[data-theme=classic-red] .auth-field input{border:1px solid rgba(255,255,255,.1);background:#0003}:root[data-theme=classic-red] .auth-field input:focus{border-color:var(--dnd-gold);box-shadow:0 0 8px #c41e3a40}:root[data-theme=classic-red] .session-card{border:1px solid rgba(255,255,255,.06);background:#ffffff05}:root[data-theme=classic-red] .session-card:hover{border-color:#c41e3a40;background:#ffffff0a}:root[data-theme=classic-red] .share-modal{background:var(--dnd-surface-2);border:1px solid rgba(196,30,58,.2)}:root[data-theme=classic-red] .share-code{background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}:root[data-theme=classic-red] .ptr-spinner{border-color:#ffffff1a;border-top-color:var(--dnd-gold)}@keyframes classicRedPulse{0%,to{box-shadow:0 0 8px #c41e3a26}50%{box-shadow:0 0 18px #c41e3a59}}:root[data-theme=classic-red] .concentration-badge{animation:classicRedPulse 2s ease-in-out infinite}:root[data-theme=classic-red] ::-webkit-scrollbar-thumb{background:#c41e3a4d}:root[data-theme=classic-red] ::-webkit-scrollbar-thumb:hover{background:#c41e3a80}:root[data-theme=classic-red] ::-webkit-scrollbar-track{background:var(--dnd-surface-0)}:root[data-theme=classic-red] .hp-bar-container{background:#c41e3a1a;border-color:#c41e3a4d}:root[data-theme=classic-red] .hp-btn.damage{border-color:#c41e3a80;color:#c41e3a}:root[data-theme=classic-red] .hp-btn.damage:hover{background:#c41e3a33}:root[data-theme=classic-red] .notes-editor{border-color:#c41e3a33}:root[data-theme=classic-red] .notes-editor:focus-within{border-color:#c41e3a80}:root[data-theme=classic-red] .cs-flag--self .cs-flag-body{border-color:#c41e3a80;background:#c41e3a1a}:root[data-theme=classic-red] .combat-log-entry{border-left-color:#c41e3a66}:root[data-theme=classic-red] .connectivity-badge--offline{background:#c41e3ae6}
