@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");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-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");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-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");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-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");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-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");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}.popover-menu-container{display:inline-block;position:relative}.popover-trigger{background:none;border:none;padding:0;cursor:pointer;color:inherit;font:inherit;border-radius:var(--radius-md, 8px);transition:var(--transition-base, all .2s ease-in-out)}.popover-trigger:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-primary, #6366f1)}.popover-content{margin:0;padding:0;border:none;background:transparent;overflow:visible;opacity:0;transform:translateY(-8px);transition:opacity .15s ease-out,transform .15s ease-out,display .15s ease-out allow-discrete}.popover-content:popover-open{opacity:1;transform:translateY(0)}@starting-style{.popover-content:popover-open{opacity:0;transform:translateY(-8px)}}.popover-content:not(:popover-open){opacity:0;transform:translateY(-8px)}.popover-content::backdrop{background:transparent}.popover-inner{margin-top:8px;background:var(--bg-glass, rgba(30, 41, 59, .7));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-glass, rgba(255, 255, 255, .1));border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1));padding:8px;color:var(--text-primary, #ffffff);min-width:160px}@layer reset,tokens,base,layouts,components,utilities,themes;@layer reset{*{margin:0;padding:0;box-sizing:border-box}ul[role=list],ol[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}a:not([class]){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}@layer tokens{:root{--indigo-50: #eef2ff;--indigo-100: #e0e7ff;--indigo-200: #c7d2fe;--indigo-300: #a5b4fc;--indigo-400: #818cf8;--indigo-500: #6366f1;--indigo-600: #4f46e5;--indigo-700: #4338ca;--indigo-800: #3730a3;--indigo-900: #312e81;--purple-50: #faf5ff;--purple-100: #f3e8ff;--purple-200: #e9d5ff;--purple-300: #d8b4fe;--purple-400: #c084fc;--purple-500: #a855f7;--purple-600: #9333ea;--purple-700: #7c3aed;--purple-800: #6b21a8;--purple-900: #581c87;--cyan-50: #ecfeff;--cyan-100: #cffafe;--cyan-200: #a5f3fc;--cyan-300: #67e8f9;--cyan-400: #22d3ee;--cyan-500: #06b6d4;--cyan-600: #0891b2;--cyan-700: #0e7490;--cyan-800: #155e75;--cyan-900: #164e63;--emerald-50: #ecfdf5;--emerald-100: #d1fae5;--emerald-200: #a7f3d0;--emerald-300: #6ee7b7;--emerald-400: #34d399;--emerald-500: #10b981;--emerald-600: #059669;--emerald-700: #047857;--emerald-800: #065f46;--emerald-900: #064e3b;--amber-50: #fffbeb;--amber-100: #fef3c7;--amber-200: #fde68a;--amber-300: #fcd34d;--amber-400: #fbbf24;--amber-500: #f59e0b;--amber-600: #d97706;--amber-700: #b45309;--amber-800: #92400e;--amber-900: #78350f;--red-50: #fef2f2;--red-100: #fee2e2;--red-200: #fecaca;--red-300: #fca5a5;--red-400: #f87171;--red-500: #ef4444;--red-600: #dc2626;--red-700: #b91c1c;--red-800: #991b1b;--red-900: #7f1d1d;--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-200: #bfdbfe;--blue-300: #93c5fd;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-800: #1e40af;--blue-900: #1e3a8a;--vtt-iron-900: #1c1e22;--vtt-iron-800: #252a31;--vtt-iron-700: #3a3e46;--vtt-parchment: #f1e6d3;--vtt-parchment-alt: #e1d2b8;--vtt-parchment-text: #362b21;--vtt-bronze: #8c6b4a;--vtt-bronze-light: #b89a7a;--vtt-bronze-dark: #593d25;--vtt-amber-glow: #d97706;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a;--color-primary: var(--indigo-500);--color-primary-hover: var(--indigo-600);--color-primary-active: var(--indigo-700);--color-primary-rgb: 99, 102, 241;--color-secondary: var(--purple-500);--color-secondary-hover: var(--purple-600);--color-secondary-active: var(--purple-700);--color-secondary-rgb: 168, 85, 247;--color-accent: var(--cyan-500);--color-accent-hover: var(--cyan-600);--color-accent-active: var(--cyan-700);--color-success: var(--emerald-500);--color-success-hover: var(--emerald-600);--color-warning: var(--amber-500);--color-warning-hover: var(--amber-600);--color-error: var(--red-500);--color-error-hover: var(--red-600);--color-info: var(--blue-500);--color-info-hover: var(--blue-600);--color-surface: var(--surface-primary);--color-text: var(--text-primary);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-tertiary: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--gradient-dark: linear-gradient(135deg, #2d1b69 0%, #11998e 100%);--gradient-aurora: linear-gradient( 135deg, #667eea 0%, #764ba2 50%, #f093fb 100% );--glass-surface: rgba(255, 255, 255, .1);--glass-surface-hover: rgba(255, 255, 255, .15);--glass-surface-strong: rgba(255, 255, 255, .2);--glass-surface-subtle: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .2);--glass-border-strong: rgba(255, 255, 255, .3);--glass-border-subtle: rgba(255, 255, 255, .1);--glass-text: rgba(255, 255, 255, .9);--glass-text-muted: rgba(255, 255, 255, .7);--glass-text-light: rgba(255, 255, 255, .5);--glass-text-strong: rgba(255, 255, 255, 1);--glass-dark: rgba(0, 0, 0, .1);--glass-dark-hover: rgba(0, 0, 0, .15);--glass-dark-strong: rgba(0, 0, 0, .2);--glass-dark-border: rgba(0, 0, 0, .2);--glass-blur: blur(20px);--glass-blur-strong: blur(40px);--glass-blur-subtle: blur(10px);--surface-primary: var(--glass-surface);--surface-secondary: var(--glass-surface-strong);--surface-hover: var(--glass-surface-hover);--surface-glass: var(--glass-surface);--border-primary: var(--glass-border);--border-secondary: var(--glass-border-strong);--border-subtle: var(--glass-border-subtle);--text-primary: var(--glass-text);--text-secondary: var(--glass-text-muted);--text-muted: var(--glass-text-light);--text-strong: var(--glass-text-strong);--bg-primary: var(--gradient-primary);--bg-surface: var(--glass-surface);--bg-panel: var(--glass-surface);--bg-modal: var(--glass-surface-strong);--spacing-0: 0;--spacing-0_5: .125rem;--spacing-1: .25rem;--spacing-1_5: .375rem;--spacing-2: .5rem;--spacing-2_5: .625rem;--spacing-3: .75rem;--spacing-3_5: .875rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-7: 1.75rem;--spacing-8: 2rem;--spacing-9: 2.25rem;--spacing-10: 2.5rem;--spacing-11: 2.75rem;--spacing-12: 3rem;--spacing-14: 3.5rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--spacing-28: 7rem;--spacing-32: 8rem;--spacing-xs: var(--spacing-1);--spacing-sm: var(--spacing-2);--spacing-md: var(--spacing-4);--spacing-lg: var(--spacing-6);--spacing-xl: var(--spacing-8);--spacing-2xl: var(--spacing-12);--spacing-3xl: var(--spacing-16);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--text-7xl: 4.5rem;--text-8xl: 6rem;--text-9xl: 8rem;--font-thin: 100;--font-extralight: 200;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--font-black: 900;--leading-3: .75rem;--leading-4: 1rem;--leading-5: 1.25rem;--leading-6: 1.5rem;--leading-7: 1.75rem;--leading-8: 2rem;--leading-9: 2.25rem;--leading-10: 2.5rem;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;--radius-none: 0;--radius-sm: .125rem;--radius-default: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--border-radius: var(--radius-xl);--border-radius-lg: var(--radius-2xl);--border-radius-xl: var(--radius-3xl);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-default: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--shadow-glass: 0 8px 32px 0 rgba(31, 38, 135, .37);--shadow-glass-lg: 0 15px 35px rgba(31, 38, 135, .2), 0 5px 15px rgba(0, 0, 0, .07);--shadow-glass-xl: 0 25px 50px -12px rgba(0, 0, 0, .4);--shadow-primary: 0 10px 15px -3px rgba(var(--color-primary-rgb), .1), 0 4px 6px -2px rgba(var(--color-primary-rgb), .05);--shadow-secondary: 0 10px 15px -3px rgba(var(--color-secondary-rgb), .1), 0 4px 6px -2px rgba(var(--color-secondary-rgb), .05);--z-0: 0;--z-10: 10;--z-20: 20;--z-30: 30;--z-40: 40;--z-50: 50;--z-auto: auto;--z-dropdown: var(--z-10);--z-sticky: var(--z-20);--z-fixed: var(--z-30);--z-modal-backdrop: var(--z-40);--z-modal: var(--z-50);--z-popover: var(--z-50);--z-tooltip: var(--z-50);--z-toolbar: var(--z-30);--z-panel: var(--z-20);--z-overlay: var(--z-40);--z-base: var(--z-0);--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--duration-75: 75ms;--duration-100: .1s;--duration-150: .15s;--duration-200: .2s;--duration-300: .3s;--duration-500: .5s;--duration-700: .7s;--duration-1000: 1s;--transition-fast: var(--duration-150) var(--ease-out);--transition-base: var(--duration-200) var(--ease-in-out);--transition-slow: var(--duration-300) var(--ease-in-out);--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}:root ::-moz-selection{background-color:var(--vtt-amber-glow);color:#fff}:root ::selection{background-color:var(--vtt-amber-glow);color:#fff}[data-theme=solid],.solid-theme{--surface-primary: var(--slate-800);--surface-secondary: var(--slate-700);--surface-hover: var(--slate-600);--bg-surface: var(--slate-800);--bg-panel: var(--slate-700);--bg-modal: var(--slate-800);--border-primary: var(--slate-600);--border-secondary: var(--slate-500);--border-subtle: var(--slate-700);--text-primary: var(--slate-50);--text-secondary: var(--slate-200);--text-muted: var(--slate-400);--text-strong: var(--slate-100);--bg-primary: var(--slate-800);--glass-blur: none;--glass-blur-strong: none;--glass-blur-subtle: none;--solid-bg-primary: var(--surface-primary);--solid-bg-secondary: var(--surface-secondary);--solid-bg-tertiary: var(--slate-600);--solid-bg-hover: var(--surface-hover);--solid-bg-active: var(--slate-500);--solid-border: var(--border-primary);--solid-border-light: var(--border-secondary);--solid-text: var(--text-primary);--solid-text-muted: var(--text-secondary);--solid-text-light: var(--text-muted)}:root{--glass-bg: var(--surface-primary);--glass-surface: var(--surface-primary);--glass-surface-strong: var(--surface-secondary);--glass-surface-weak: var(--surface-subtle);--glass-surface-hover: var(--surface-hover);--glass-border: var(--border-primary);--glass-text: var(--text-primary);--glass-text-secondary: var(--text-secondary);--glass-text-muted: var(--text-secondary);--glass-text-light: var(--text-muted);--glass-hover-bg: var(--surface-hover);--glass-shadow: var(--shadow-glass);--primary-bg: var(--color-primary);--primary-border: var(--color-primary);--primary-text: white;--primary-rgb: var(--color-primary-rgb);--secondary-bg: var(--color-secondary);--secondary-border: var(--color-secondary);--die-color: var(--color-primary);--rotate-x: 0deg;--rotate-y: 0deg;--rotate-z: 0deg;--start-x: 0px;--start-y: 0px;--delay: 0ms}.solid-theme{--glass-bg: var(--surface-primary);--glass-surface: var(--surface-primary);--glass-surface-strong: var(--surface-secondary);--glass-surface-weak: var(--surface-subtle);--glass-surface-hover: var(--surface-hover);--glass-border: var(--border-primary);--glass-text: var(--text-primary);--glass-text-secondary: var(--text-secondary);--glass-text-muted: var(--text-secondary);--glass-text-light: var(--text-muted);--glass-hover-bg: var(--surface-hover);--glass-shadow: var(--shadow-default)}}@layer base;@layer base{:root{--indigo-50: #eef2ff;--indigo-100: #e0e7ff;--indigo-200: #c7d2fe;--indigo-300: #a5b4fc;--indigo-400: #818cf8;--indigo-500: #6366f1;--indigo-600: #4f46e5;--indigo-700: #4338ca;--indigo-800: #3730a3;--indigo-900: #312e81;--purple-50: #faf5ff;--purple-100: #f3e8ff;--purple-200: #e9d5ff;--purple-300: #d8b4fe;--purple-400: #c084fc;--purple-500: #a855f7;--purple-600: #9333ea;--purple-700: #7c3aed;--purple-800: #6b21a8;--purple-900: #581c87;--cyan-50: #ecfeff;--cyan-100: #cffafe;--cyan-200: #a5f3fc;--cyan-300: #67e8f9;--cyan-400: #22d3ee;--cyan-500: #06b6d4;--cyan-600: #0891b2;--cyan-700: #0e7490;--cyan-800: #155e75;--cyan-900: #164e63;--emerald-50: #ecfdf5;--emerald-100: #d1fae5;--emerald-200: #a7f3d0;--emerald-300: #6ee7b7;--emerald-400: #34d399;--emerald-500: #10b981;--emerald-600: #059669;--emerald-700: #047857;--emerald-800: #065f46;--emerald-900: #064e3b;--amber-50: #fffbeb;--amber-100: #fef3c7;--amber-200: #fde68a;--amber-300: #fcd34d;--amber-400: #fbbf24;--amber-500: #f59e0b;--amber-600: #d97706;--amber-700: #b45309;--amber-800: #92400e;--amber-900: #78350f;--red-50: #fef2f2;--red-100: #fee2e2;--red-200: #fecaca;--red-300: #fca5a5;--red-400: #f87171;--red-500: #ef4444;--red-600: #dc2626;--red-700: #b91c1c;--red-800: #991b1b;--red-900: #7f1d1d;--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-200: #bfdbfe;--blue-300: #93c5fd;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-800: #1e40af;--blue-900: #1e3a8a;--vtt-iron-900: #1c1e22;--vtt-iron-800: #252a31;--vtt-iron-700: #3a3e46;--vtt-parchment: #f1e6d3;--vtt-parchment-alt: #e1d2b8;--vtt-parchment-text: #362b21;--vtt-bronze: #8c6b4a;--vtt-bronze-light: #b89a7a;--vtt-bronze-dark: #593d25;--vtt-amber-glow: #d97706;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a;--color-primary: var(--indigo-500);--color-primary-hover: var(--indigo-600);--color-primary-active: var(--indigo-700);--color-primary-rgb: 99, 102, 241;--color-secondary: var(--purple-500);--color-secondary-hover: var(--purple-600);--color-secondary-active: var(--purple-700);--color-secondary-rgb: 168, 85, 247;--color-accent: var(--cyan-500);--color-accent-hover: var(--cyan-600);--color-accent-active: var(--cyan-700);--color-success: var(--emerald-500);--color-success-hover: var(--emerald-600);--color-warning: var(--amber-500);--color-warning-hover: var(--amber-600);--color-error: var(--red-500);--color-error-hover: var(--red-600);--color-info: var(--blue-500);--color-info-hover: var(--blue-600);--color-surface: var(--surface-primary);--color-text: var(--text-primary);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-tertiary: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--gradient-dark: linear-gradient(135deg, #2d1b69 0%, #11998e 100%);--gradient-aurora: linear-gradient( 135deg, #667eea 0%, #764ba2 50%, #f093fb 100% );--glass-surface: rgba(255, 255, 255, .1);--glass-surface-hover: rgba(255, 255, 255, .15);--glass-surface-strong: rgba(255, 255, 255, .2);--glass-surface-subtle: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .2);--glass-border-strong: rgba(255, 255, 255, .3);--glass-border-subtle: rgba(255, 255, 255, .1);--glass-text: rgba(255, 255, 255, .9);--glass-text-muted: rgba(255, 255, 255, .7);--glass-text-light: rgba(255, 255, 255, .5);--glass-text-strong: rgba(255, 255, 255, 1);--glass-dark: rgba(0, 0, 0, .1);--glass-dark-hover: rgba(0, 0, 0, .15);--glass-dark-strong: rgba(0, 0, 0, .2);--glass-dark-border: rgba(0, 0, 0, .2);--glass-blur: blur(20px);--glass-blur-strong: blur(40px);--glass-blur-subtle: blur(10px);--surface-primary: var(--glass-surface);--surface-secondary: var(--glass-surface-strong);--surface-hover: var(--glass-surface-hover);--surface-glass: var(--glass-surface);--border-primary: var(--glass-border);--border-secondary: var(--glass-border-strong);--border-subtle: var(--glass-border-subtle);--text-primary: var(--glass-text);--text-secondary: var(--glass-text-muted);--text-muted: var(--glass-text-light);--text-strong: var(--glass-text-strong);--bg-primary: var(--gradient-primary);--bg-surface: var(--glass-surface);--bg-panel: var(--glass-surface);--bg-modal: var(--glass-surface-strong);--spacing-0: 0;--spacing-0_5: .125rem;--spacing-1: .25rem;--spacing-1_5: .375rem;--spacing-2: .5rem;--spacing-2_5: .625rem;--spacing-3: .75rem;--spacing-3_5: .875rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-7: 1.75rem;--spacing-8: 2rem;--spacing-9: 2.25rem;--spacing-10: 2.5rem;--spacing-11: 2.75rem;--spacing-12: 3rem;--spacing-14: 3.5rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--spacing-28: 7rem;--spacing-32: 8rem;--spacing-xs: var(--spacing-1);--spacing-sm: var(--spacing-2);--spacing-md: var(--spacing-4);--spacing-lg: var(--spacing-6);--spacing-xl: var(--spacing-8);--spacing-2xl: var(--spacing-12);--spacing-3xl: var(--spacing-16);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--text-7xl: 4.5rem;--text-8xl: 6rem;--text-9xl: 8rem;--font-thin: 100;--font-extralight: 200;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--font-black: 900;--leading-3: .75rem;--leading-4: 1rem;--leading-5: 1.25rem;--leading-6: 1.5rem;--leading-7: 1.75rem;--leading-8: 2rem;--leading-9: 2.25rem;--leading-10: 2.5rem;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;--radius-none: 0;--radius-sm: .125rem;--radius-default: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--border-radius: var(--radius-xl);--border-radius-lg: var(--radius-2xl);--border-radius-xl: var(--radius-3xl);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-default: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--shadow-glass: 0 8px 32px 0 rgba(31, 38, 135, .37);--shadow-glass-lg: 0 15px 35px rgba(31, 38, 135, .2), 0 5px 15px rgba(0, 0, 0, .07);--shadow-glass-xl: 0 25px 50px -12px rgba(0, 0, 0, .4);--shadow-primary: 0 10px 15px -3px rgba(var(--color-primary-rgb), .1), 0 4px 6px -2px rgba(var(--color-primary-rgb), .05);--shadow-secondary: 0 10px 15px -3px rgba(var(--color-secondary-rgb), .1), 0 4px 6px -2px rgba(var(--color-secondary-rgb), .05);--z-0: 0;--z-10: 10;--z-20: 20;--z-30: 30;--z-40: 40;--z-50: 50;--z-auto: auto;--z-dropdown: var(--z-10);--z-sticky: var(--z-20);--z-fixed: var(--z-30);--z-modal-backdrop: var(--z-40);--z-modal: var(--z-50);--z-popover: var(--z-50);--z-tooltip: var(--z-50);--z-toolbar: var(--z-30);--z-panel: var(--z-20);--z-overlay: var(--z-40);--z-base: var(--z-0);--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--duration-75: 75ms;--duration-100: .1s;--duration-150: .15s;--duration-200: .2s;--duration-300: .3s;--duration-500: .5s;--duration-700: .7s;--duration-1000: 1s;--transition-fast: var(--duration-150) var(--ease-out);--transition-base: var(--duration-200) var(--ease-in-out);--transition-slow: var(--duration-300) var(--ease-in-out);--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}:root ::-moz-selection{background-color:var(--vtt-amber-glow);color:#fff}:root ::selection{background-color:var(--vtt-amber-glow);color:#fff}[data-theme=solid],.solid-theme{--surface-primary: var(--slate-800);--surface-secondary: var(--slate-700);--surface-hover: var(--slate-600);--bg-surface: var(--slate-800);--bg-panel: var(--slate-700);--bg-modal: var(--slate-800);--border-primary: var(--slate-600);--border-secondary: var(--slate-500);--border-subtle: var(--slate-700);--text-primary: var(--slate-50);--text-secondary: var(--slate-200);--text-muted: var(--slate-400);--text-strong: var(--slate-100);--bg-primary: var(--slate-800);--glass-blur: none;--glass-blur-strong: none;--glass-blur-subtle: none;--solid-bg-primary: var(--surface-primary);--solid-bg-secondary: var(--surface-secondary);--solid-bg-tertiary: var(--slate-600);--solid-bg-hover: var(--surface-hover);--solid-bg-active: var(--slate-500);--solid-border: var(--border-primary);--solid-border-light: var(--border-secondary);--solid-text: var(--text-primary);--solid-text-muted: var(--text-secondary);--solid-text-light: var(--text-muted)}:root{--glass-bg: var(--surface-primary);--glass-surface: var(--surface-primary);--glass-surface-strong: var(--surface-secondary);--glass-surface-weak: var(--surface-subtle);--glass-surface-hover: var(--surface-hover);--glass-border: var(--border-primary);--glass-text: var(--text-primary);--glass-text-secondary: var(--text-secondary);--glass-text-muted: var(--text-secondary);--glass-text-light: var(--text-muted);--glass-hover-bg: var(--surface-hover);--glass-shadow: var(--shadow-glass);--primary-bg: var(--color-primary);--primary-border: var(--color-primary);--primary-text: white;--primary-rgb: var(--color-primary-rgb);--secondary-bg: var(--color-secondary);--secondary-border: var(--color-secondary);--die-color: var(--color-primary);--rotate-x: 0deg;--rotate-y: 0deg;--rotate-z: 0deg;--start-x: 0px;--start-y: 0px;--delay: 0ms}.solid-theme{--glass-bg: var(--surface-primary);--glass-surface: var(--surface-primary);--glass-surface-strong: var(--surface-secondary);--glass-surface-weak: var(--surface-subtle);--glass-surface-hover: var(--surface-hover);--glass-border: var(--border-primary);--glass-text: var(--text-primary);--glass-text-secondary: var(--text-secondary);--glass-text-muted: var(--text-secondary);--glass-text-light: var(--text-muted);--glass-hover-bg: var(--surface-hover);--glass-shadow: var(--shadow-default)}}@layer base;@layer base{*{margin:0;padding:0;box-sizing:border-box}ul[role=list],ol[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}a:not([class]){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}@layer base{:root{--button-text-color: white}.glass-button.primary,.glass-button.secondary{color:var(--button-text-color)}body{position:relative;min-height:100vh;font-family:var(--font-sans);color:var(--text-primary);line-height:var(--leading-normal);background:var(--bg-primary);background-attachment:fixed}body:before{position:fixed;z-index:-1;top:0;left:0;width:100%;height:100%;content:"";background:radial-gradient(circle at 20% 50%,rgba(120,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(120,219,255,.3) 0%,transparent 50%)}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-20px) rotate(1deg)}66%{transform:translateY(10px) rotate(-1deg)}}#root{position:relative;z-index:1;min-height:100vh}.glass-panel{border:1px solid var(--border-primary);border-radius:var(--border-radius);background:var(--surface-primary);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-glass)}.glass-button{display:inline-flex;align-items:center;cursor:pointer;gap:var(--spacing-2);padding:.5rem;border:1px solid var(--border-primary);border-radius:var(--border-radius);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);text-decoration:none;-webkit-backdrop-filter:var(--glass-blur-subtle);background:var(--surface-primary);backdrop-filter:var(--glass-blur-subtle);transition:all var(--transition-fast)}.glass-button:hover{transform:translateY(-1px);background:var(--surface-hover);border-color:var(--border-secondary)}.glass-button.primary{background:var(--color-primary);border-color:var(--color-primary)}.glass-button.primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.player-bar{display:flex;align-items:center;overflow:hidden;gap:var(--spacing-4);padding:var(--spacing-2) var(--spacing-3);max-height:52px}.connected-players{display:flex;align-items:center;overflow-x:auto;overflow-y:hidden;gap:var(--spacing-3);flex-wrap:nowrap}.player-bar .player-actions{display:flex;flex-direction:row;flex-wrap:nowrap;white-space:nowrap}.header-left{display:flex;align-items:center;gap:var(--spacing-3)}.header-player-actions{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0;white-space:nowrap}.player-indicator{display:flex;align-items:center;flex-shrink:0;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);white-space:nowrap}.host-badge{padding:var(--spacing-1) var(--spacing-2);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em}.player-info{display:flex;align-items:center;gap:var(--spacing-3)}.player-avatar{display:flex;align-items:center;justify-content:center;width:var(--spacing-8);height:var(--spacing-8);border:2px solid var(--border-primary);border-radius:var(--radius-full);font-size:var(--text-lg);background:var(--surface-secondary)}.player-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.player-role{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.loading-spinner{display:inline-block;width:var(--spacing-4);height:var(--spacing-4);border:2px solid transparent;border-top:2px solid currentColor;border-radius:var(--radius-full);animation:spin var(--duration-1000) linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.solid-theme body,.theme-solid body,body.solid-theme,body.theme-solid{background:var(--bg-primary)}.solid-theme body:before,.theme-solid body:before,body.solid-theme:before,body.theme-solid:before{display:none}.solid-theme .glass-panel,.theme-solid .glass-panel,.solid-theme .glass-button,.theme-solid .glass-button{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--shadow-default)}}@layer layouts{:root{--header-height: 60px}.game-layout{width:100vw;height:100vh;position:fixed;top:0;left:0;display:grid!important;grid-template-rows:var(--header-height) 1fr;grid-template-columns:1fr var(--sidebar-width, 300px);grid-template-areas:"header header" "scene panel";background:var(--bg-primary);overflow:hidden;transition:grid-template-columns .1s ease-out}.game-layout[data-panel-expanded=false]{grid-template-columns:1fr var(--sidebar-width, 60px);grid-template-areas:"header header" "scene panel"}.game-layout-empty{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.layout-header{grid-area:header;display:flex;align-items:center;justify-content:space-between;-webkit-backdrop-filter:var(--glass-blur);background:var(--surface-primary);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border-primary);padding:var(--spacing-2) var(--spacing-4);z-index:var(--z-sticky);gap:var(--spacing-4);min-height:var(--header-height)}.header-left{flex:0 0 auto;display:flex;align-items:center;gap:var(--spacing-3)}.header-center{flex:1 1 auto;display:flex;justify-content:center}.header-right{flex:1 1 auto;display:flex;justify-content:flex-end;align-items:center}.layout-scene{grid-area:scene;display:grid;grid-template-rows:auto 1fr;grid-template-areas:"scene-tabs" "scene-content";position:relative;overflow:hidden;background:var(--bg-surface)}.scene-content{grid-area:scene-content;position:relative;background:var(--bg-surface);overflow:hidden;z-index:1}.scene-canvas-container{width:100%;height:100%;position:relative;overflow:hidden}.scene-canvas{width:100%;height:100%;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none}.scene-tab-bar{grid-area:scene-tabs;display:flex;align-items:center;background:var(--surface-primary);border-bottom:1px solid var(--border-primary);-webkit-backdrop-filter:var(--glass-blur-subtle);backdrop-filter:var(--glass-blur-subtle);padding:var(--spacing-1) var(--spacing-4);min-height:var(--spacing-12)}.scene-tabs{display:flex;align-items:center;gap:var(--spacing-1);flex:1;overflow-x:auto;-ms-overflow-style:none;list-style:none;margin:0;padding:0}.scene-tabs::-webkit-scrollbar{display:none}@supports (scrollbar-width: none){.scene-tabs{scrollbar-width:none}}.scene-tab{position:relative;display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius) var(--border-radius) 0 0;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap;min-width:120px;max-width:200px}.scene-tab.active{background:var(--bg-surface);color:var(--text-primary);border-bottom-color:var(--bg-surface);z-index:1}.scene-tab:hover:not(.active){background:var(--surface-hover);color:var(--text-primary)}.scene-tab input[type=radio]{display:none}.scene-tab input[type=radio]:checked~.scene-label{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #6366f14d;border-radius:var(--border-radius);padding:var(--spacing-2) var(--spacing-4)}.scene-tab label{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.scene-tab label:hover{background:var(--surface-hover)}.scene-remove{padding:var(--spacing-1);border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:all var(--transition-fast);font-size:var(--text-xs);opacity:0;margin-left:var(--spacing-1)}.scene-tab:hover .scene-remove{opacity:1}.scene-remove:hover{background:var(--color-error);color:#fff}.layout-panel{grid-area:panel;background:var(--surface-primary);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-left:1px solid var(--border-primary);display:grid;grid-template-rows:auto 1fr;overflow:hidden;position:relative;box-shadow:-4px 0 20px #0000001a;z-index:var(--z-panel);height:100%;max-height:100vh}.layout-panel.positioned{position:fixed!important;bottom:auto!important;right:auto!important;height:600px;max-height:calc(100vh - 20px);border-radius:var(--border-radius-lg);border:1px solid var(--border-primary);box-shadow:var(--shadow-glass-xl)}.layout-panel.dragging{opacity:.9;box-shadow:0 10px 40px #0000004d;transform:scale(1.02);transition:none!important;height:100%;max-height:100vh}.layout-panel.resetting{transition:all .3s cubic-bezier(.4,0,.2,1)!important;height:100%;max-height:100vh}.panel-drag-handle{padding:var(--spacing-3);cursor:grab;background:var(--surface-secondary);border-bottom:1px solid var(--border-primary);text-align:center;transition:all var(--transition-base);-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}.panel-drag-handle:hover{background:var(--surface-hover)}.panel-drag-handle:active{cursor:grabbing;background:var(--surface-secondary)}.panel-drag-handle:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff1a;border-radius:50%;transform:translate(-50%,-50%);transition:width .3s,height .3s}.panel-drag-handle:hover:after{width:100px;height:100px}.sidebar-resize-handle{position:absolute;left:-6px;top:0;bottom:0;width:12px;cursor:ew-resize;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1) 25%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.1) 75%,transparent);border-left:2px solid rgba(255,255,255,.1);transition:all var(--transition-base);z-index:10}.sidebar-resize-handle:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:4px;height:40px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.3) 20%,rgba(255,255,255,.6) 50%,rgba(255,255,255,.3) 80%,transparent);border-radius:2px;opacity:.7;transition:all var(--transition-base)}.sidebar-resize-handle:hover{background:linear-gradient(90deg,transparent,rgba(255,255,255,.15) 25%,rgba(255,255,255,.3) 50%,rgba(255,255,255,.15) 75%,transparent);border-left-color:#ffffff4d;box-shadow:0 0 10px #ffffff1a}.sidebar-resize-handle:hover:before{opacity:1;height:60px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.5) 20%,rgba(255,255,255,.8) 50%,rgba(255,255,255,.5) 80%,transparent)}.sidebar-resize-handle:active{background:linear-gradient(90deg,transparent,rgba(255,255,255,.2) 25%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.2) 75%,transparent);border-left-color:#ffffff80;box-shadow:0 0 15px #fff3}.sidebar-resize-handle:active:before{opacity:1;transform:translate(-50%,-50%) scale(1.1)}.sidebar-resize-handle.dragging{background:linear-gradient(90deg,transparent,rgba(99,102,241,.3) 25%,rgba(99,102,241,.5) 50%,rgba(99,102,241,.3) 75%,transparent);border-left-color:#6366f199}.sidebar-resize-handle.dragging:before{opacity:1;background:linear-gradient(to bottom,transparent,rgba(99,102,241,.6) 20%,rgba(99,102,241,.9) 50%,rgba(99,102,241,.6) 80%,transparent)}.horizontal-panel-tabs{display:flex;align-items:center;gap:var(--spacing-1);list-style:none;margin:0;padding:0}.horizontal-panel-tab{position:relative}.horizontal-panel-tab label{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--border-radius);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent;font-size:var(--text-sm);font-weight:var(--font-medium);-webkit-user-select:none;-moz-user-select:none;user-select:none}.horizontal-panel-tab input[type=radio]{display:none}.horizontal-panel-tab input[type=radio]:checked+span,.horizontal-panel-tab input[type=radio]:checked~span{background:var(--surface-primary);color:var(--text-primary);border-color:var(--border-primary)}.horizontal-panel-tab:hover label{background:var(--surface-hover);color:var(--text-primary)}.panel-icon{font-size:var(--text-base);width:var(--spacing-5);text-align:center;flex-shrink:0}.panel-label{font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap}.horizontal-panel-toggle{margin-left:var(--spacing-2)}.horizontal-panel-toggle button{padding:var(--spacing-2) var(--spacing-3);background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base)}.horizontal-panel-toggle button:hover{background:var(--surface-hover)}.toggle-icon{font-size:var(--text-lg);font-weight:var(--font-bold)}.context-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.context-panel__content{flex:1;overflow-y:auto}.context-panel__body{padding:var(--spacing-6);display:flex;flex-direction:column;min-height:0;flex:1}.context-panel__collapsed-content{padding:var(--spacing-4);display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.context-panel__collapsed-icon{font-size:var(--text-2xl);color:var(--text-muted)}.panel-section{margin-bottom:var(--spacing-8)}.panel-section h3{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--border-primary)}.lobby-panel__section{margin-bottom:var(--spacing-4)}.lobby-panel__section h3{margin-bottom:var(--spacing-2);font-size:var(--text-lg)}.lobby-panel__online-controls{margin-top:var(--spacing-2)}.lobby-panel__room-code-input-group{margin-bottom:var(--spacing-2)}.lobby-panel__help-text{margin-bottom:var(--spacing-3);font-size:var(--text-sm)}.lobby-panel__room-info-grid{gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.lobby-panel__room-info-item{margin-bottom:0}.lobby-panel__players-list{gap:var(--spacing-2)}.lobby-panel__actions{margin-top:var(--spacing-3)}.lobby-panel .glass-panel{padding:var(--spacing-4)}.lobby-panel .glass-panel h3{margin-bottom:var(--spacing-3);font-size:var(--text-lg)}.lobby-panel .glass-panel.info{padding:var(--spacing-3)}.lobby-panel .glass-panel.info ul{margin:var(--spacing-2) 0 0 0;padding-left:var(--spacing-4)}.lobby-panel .glass-panel.info li{margin-bottom:var(--spacing-1);font-size:var(--text-sm)}.lobby-panel__online-controls{display:flex;flex-direction:column;gap:var(--spacing-3)}.lobby-panel__online-controls .lobby-panel__help-text{margin:0 0 var(--spacing-1) 0;font-size:var(--text-sm);line-height:1.4}.lobby-panel__room-code-input-group{margin:0}.lobby-panel .glass-button.primary{align-self:flex-start;min-width:180px}.game-toolbar{display:flex;background:#1e293b99;-webkit-backdrop-filter:var(--glass-blur-strong);backdrop-filter:var(--glass-blur-strong);border:1px solid var(--border-primary);border-radius:var(--border-radius);box-shadow:var(--shadow-glass-lg);transition:all var(--transition-base);pointer-events:auto}.game-toolbar.floating{transform:translate(var(--tw-translate-x, 0),var(--tw-translate-y, 0))}.game-toolbar.docked{width:auto;max-width:none;border-radius:var(--border-radius);justify-content:flex-start;margin:0;padding:var(--spacing-2) var(--spacing-3)}.game-toolbar.docked .toolbar-content{width:auto}.toolbar-docked-layout{display:flex;flex-direction:column;gap:var(--spacing-2)}.toolbar-docked-row{display:flex;align-items:center;gap:var(--spacing-1);flex-wrap:nowrap}.game-toolbar.docked .toolbar-btn{display:flex;align-items:center;justify-content:center;padding:var(--spacing-3);min-width:48px;min-height:48px}.game-toolbar.docked .tool-icon{font-size:var(--text-xl)}.game-toolbar.docked .toolbar-btn[title]:hover:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--border-radius);font-size:var(--text-sm);white-space:nowrap;pointer-events:none;margin-bottom:var(--spacing-2);z-index:1000}@media(max-width:1400px){.game-toolbar.docked .toolbar-btn{padding:var(--spacing-2);min-width:40px;min-height:40px}.game-toolbar.docked .tool-icon{font-size:var(--text-lg)}}@media(max-width:1100px){.toolbar-docked-row{flex-wrap:wrap}.game-toolbar.docked .toolbar-btn{padding:var(--spacing-2);min-width:36px;min-height:36px}.game-toolbar.docked .tool-icon{font-size:var(--text-base)}}.game-toolbar.positioned{transform:translate(calc(-50% + var(--tw-translate-x, 0px)),var(--tw-translate-y, 0))!important}.game-toolbar.dragging{opacity:.9;box-shadow:0 10px 40px #0000004d;transform:translate(calc(-50% + var(--tw-translate-x, 0px)),var(--tw-translate-y, 0)) scale(1.02);cursor:grabbing!important;transition:none!important}.game-toolbar.resetting{transition:all .3s cubic-bezier(.4,0,.2,1)!important}.toolbar-controls{display:flex;flex-direction:column;background:var(--surface-secondary);border-right:1px solid var(--border-primary);border-radius:var(--border-radius) 0 0 var(--border-radius);align-self:stretch}.toolbar-drag-handle{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2);cursor:grab;transition:all var(--transition-base);-webkit-user-select:none;-moz-user-select:none;user-select:none;flex:1;position:relative;overflow:hidden}.toolbar-drag-handle:hover{background:var(--surface-hover)}.toolbar-drag-handle:active{cursor:grabbing;background:var(--surface-secondary)}.toolbar-drag-handle:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff1a;border-radius:50%;transform:translate(-50%,-50%);transition:width .3s,height .3s}.toolbar-drag-handle:hover:after{width:100px;height:100px}.compact-toggle{display:flex;align-items:center;justify-content:center;padding:var(--spacing-1);background:transparent;border:none;border-top:1px solid var(--border-primary);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none}.compact-toggle:hover{background:var(--surface-hover);color:var(--text-primary)}.compact-toggle:active{transform:scale(.95)}.compact-icon{font-size:var(--text-sm);line-height:1}.drag-dots{display:block;font-size:var(--text-base);color:var(--text-muted);-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1;writing-mode:vertical-lr}.toolbar-content{display:flex;flex-direction:column;padding:var(--spacing-1)}.toolbar-row{display:flex;align-items:center;gap:var(--spacing-1)}.toolbar-row-secondary{border-top:1px solid var(--border-primary);padding-top:var(--spacing-1);margin-top:var(--spacing-1)}.toolbar-group{display:flex;align-items:center;gap:var(--spacing-1)}.camera-group{margin-left:auto}.toolbar-btn{padding:var(--spacing-2);border:1px solid transparent;background:transparent;color:var(--text-primary);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-sm);display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toolbar-btn:hover{background:var(--surface-hover);border-color:var(--border-primary)}.toolbar-btn:active{transform:scale(.95)}.toolbar-btn.active{background:var(--surface-secondary);border-color:#ffffff4d;box-shadow:inset 0 2px 6px #0003}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-separator{width:1px;height:24px;background:var(--border-primary);margin:0 var(--spacing-1);opacity:.5}.tool-icon{font-size:var(--text-sm);line-height:1;display:flex;align-items:center;justify-content:center}.zoom-display{min-width:50px!important;font-family:JetBrains Mono,monospace;padding:var(--spacing-2) var(--spacing-3)!important}.zoom-text{font-weight:var(--font-semibold);font-size:var(--text-xs);color:var(--text-primary)}.layout-players{position:absolute;top:var(--spacing-4);left:50%;transform:translate(-50%);z-index:var(--z-overlay)}.player-bar{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-2) var(--spacing-3);background:var(--surface-primary);-webkit-backdrop-filter:var(--glass-blur-strong);backdrop-filter:var(--glass-blur-strong);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-glass-lg);max-height:calc(var(--header-height) - var(--spacing-4));overflow:hidden}.connected-players{display:flex;align-items:center;gap:var(--spacing-3);flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.player-indicator{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);background:var(--surface-secondary);border-radius:var(--border-radius-md);white-space:nowrap;flex-shrink:0}.player-actions{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.player-bar .player-actions{flex-direction:row;flex-wrap:nowrap;white-space:nowrap}.header-player-actions{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0;white-space:nowrap}.host-badge{font-size:var(--text-xs);font-weight:var(--font-bold);color:#fff;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));padding:var(--spacing-1) var(--spacing-2);border-radius:var(--border-radius-sm);text-transform:uppercase;letter-spacing:.05em}.player-info{display:flex;align-items:center;gap:var(--spacing-3)}.player-avatar{width:var(--spacing-8);height:var(--spacing-8);border-radius:var(--radius-full);background:var(--surface-secondary);display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);border:2px solid var(--border-primary);font-weight:var(--font-bold);color:var(--text-primary)}.player-avatar.host-avatar{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff}.player-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-2)}.player-role{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.player-token{width:40px;height:40px;border-radius:50%;background:var(--surface-secondary);border:2px solid var(--border-primary);display:flex;align-items:center;justify-content:center;font-weight:var(--font-bold);font-size:var(--text-lg);color:var(--text-primary);transition:all var(--transition-base);cursor:pointer}.player-token:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}.player-token.host{border-color:var(--color-primary);background:linear-gradient(135deg,#6366f133,#8b5cf633)}.player-token.connected{border-color:var(--color-success)}.player-token.disconnected{opacity:.5;border-color:var(--color-error)}.game-toolbar.compact .toolbar-btn{padding:var(--spacing-1);min-width:28px;height:28px;font-size:var(--text-xs)}.game-toolbar.compact .tool-icon{font-size:var(--text-xs)}.game-toolbar.compact .toolbar-separator{height:20px;margin:0 calc(var(--spacing-1) * .5)}.game-toolbar.compact .toolbar-content{padding:calc(var(--spacing-1) * .5)}.game-toolbar.compact .toolbar-row{gap:calc(var(--spacing-1) * .5)}.game-toolbar.compact .toolbar-group{gap:calc(var(--spacing-1) * .25)}.game-toolbar:not(.dragging):hover,.layout-panel:not(.dragging):hover{box-shadow:0 6px 24px #00000026;height:100%;max-height:100vh}.dragging *{user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}@media(prefers-reduced-motion:reduce){.game-toolbar,.layout-panel,.scene-tab,.horizontal-panel-tab,.toolbar-btn,.panel-drag-handle,.toolbar-drag-handle{transition:none!important}.layout-panel{height:100%;max-height:100vh}.toolbar-drag-handle:after,.panel-drag-handle:after{transition:none!important}}.scene-tab:focus-visible,.horizontal-panel-tab:focus-visible,.toolbar-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.token-search-input::-moz-placeholder{color:var(--glass-text-muted);opacity:1}.token-search-input::placeholder{color:var(--glass-text-muted);opacity:1}.modal-backdrop{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--spacing-4)}.character-creation-wizard.character-wizard-modal{position:fixed!important;inset:0;z-index:var(--z-modal)!important;display:flex;align-items:center;justify-content:center;padding:var(--spacing-4)}.character-wizard-modal .modal-backdrop{position:absolute;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:0}.character-wizard-modal .wizard-container{max-width:1200px;max-height:90vh;width:100%;background:var(--solid-bg-primary, var(--surface-primary, #ffffff));border:1px solid var(--solid-border, var(--border-primary, #d1d5db));border-radius:var(--border-radius-lg);box-shadow:var(--shadow-glass-xl);overflow:hidden;position:relative;z-index:1}.character-wizard-fullpage .wizard-container{background:var(--solid-bg-primary, #ffffff);width:100%;height:100vh;background:var(--solid-bg-primary, var(--surface-primary));position:relative}@media(max-width:768px){.modal-backdrop,.character-creation-wizard.character-wizard-modal{padding:var(--spacing-2)}.character-wizard-modal .wizard-container{max-height:95vh;border-radius:var(--border-radius)}}.documents-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.documents-panel-header{padding:1rem;border-bottom:1px solid var(--border-primary, rgba(255, 255, 255, .1))}.documents-panel-header h3{margin:0 0 .25rem;font-size:1.25rem;color:var(--text-primary, #e5e5e5)}.panel-description{margin:0;font-size:.85rem;color:var(--text-secondary, #a0a0a0)}.documents-search{padding:1rem;border-bottom:1px solid var(--border-primary, rgba(255, 255, 255, .1))}.search-input-wrapper{position:relative}.search-input{width:100%;padding:.75rem 2.5rem .75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-primary, #e5e5e5);font-size:.9rem;transition:all .2s ease}.search-input:focus{outline:none;border-color:#667eea80;background:#ffffff14}.search-clear-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-secondary, #a0a0a0);cursor:pointer;padding:.5rem;font-size:1rem;line-height:1;transition:color .2s ease}.search-clear-btn:hover{color:var(--text-primary, #e5e5e5)}.documents-filter{padding:0 1rem 1rem}.type-filter-select{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-primary, #e5e5e5);font-size:.9rem;cursor:pointer;transition:all .2s ease}.type-filter-select:focus{outline:none;border-color:#667eea80;background:#ffffff14}.quick-results{padding:0 1rem;margin-bottom:1rem}.quick-results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.5rem 0;border-bottom:1px solid rgba(102,126,234,.3)}.quick-results-header span{font-size:.85rem;font-weight:500;color:var(--text-primary, #e5e5e5)}.result-count{background:#667eea33;padding:.25rem .75rem;border-radius:12px;color:#a5b4fc}.quick-result-item{display:flex;gap:.75rem;padding:.75rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;margin-bottom:.5rem;cursor:pointer;transition:all .2s ease}.quick-result-item:hover{background:#ffffff0f;border-color:#667eea66;transform:translate(4px)}.result-icon{font-size:1.25rem;flex-shrink:0}.result-content{flex:1;min-width:0}.result-title{font-weight:500;color:var(--text-primary, #e5e5e5);margin-bottom:.25rem;font-size:.9rem}.result-snippet{font-size:.8rem;color:var(--text-secondary, #a0a0a0);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.documents-list{flex:1;overflow-y:auto;padding:0 1rem 1rem}.document-list-item{display:flex;gap:.75rem;padding:.75rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;margin-bottom:.5rem;cursor:pointer;transition:all .2s ease}.document-list-item:hover{background:#ffffff0f;border-color:#667eea66;transform:translate(4px)}.document-icon{font-size:1.5rem;flex-shrink:0;line-height:1}.document-info{flex:1;min-width:0}.document-title{font-weight:500;color:var(--text-primary, #e5e5e5);margin-bottom:.25rem;font-size:.95rem}.document-desc{font-size:.8rem;color:var(--text-secondary, #a0a0a0);line-height:1.4;margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.document-tags-compact{display:flex;gap:.25rem;flex-wrap:wrap}.tag-compact{padding:.15rem .5rem;background:#667eea26;border-radius:8px;font-size:.7rem;color:#a5b4fc}.documents-pagination{padding:.75rem 1rem;border-top:1px solid var(--border-primary, rgba(255, 255, 255, .1));text-align:center}.pagination-text{font-size:.85rem;color:var(--text-secondary, #a0a0a0)}.panel-loading,.panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center}.panel-empty .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}.panel-empty p{margin:.5rem 0;color:var(--text-secondary, #a0a0a0)}.panel-empty .empty-hint{font-size:.85rem;opacity:.7}}@layer components{:root{--toolbar-padding: 8px;--toolbar-border-radius: 12px;--toolbar-min-width: 200px;--toolbar-section-gap: 12px;--toolbar-button-gap: 4px;--toolbar-button-padding: 8px 12px;--toolbar-button-border-radius: 8px;--toolbar-button-font-size: 13px;--toolbar-icon-size: 16px;--toolbar-icon-width: 20px;--toolbar-label-font-size: 13px;--toolbar-section-label-font-size: 11px;--toolbar-section-label-spacing: .5px;--toolbar-section-label-margin: 6px}.game-toolbar.compact{--toolbar-padding: 3px;--toolbar-border-radius: 6px;--toolbar-min-width: 140px;--toolbar-section-gap: 6px;--toolbar-button-gap: 2px;--toolbar-button-padding: 4px 6px;--toolbar-button-border-radius: 4px;--toolbar-button-font-size: 11px;--toolbar-icon-size: 14px;--toolbar-icon-width: 16px;--toolbar-label-font-size: 10px;--toolbar-section-label-font-size: 9px;--toolbar-section-label-spacing: .3px;--toolbar-section-label-margin: 3px}.layout-toolbar{position:absolute;bottom:var(--spacing-4);left:50%;transform:translate(-50%);z-index:var(--z-toolbar);display:flex;flex-direction:column;align-items:flex-start;gap:0}.layout-toolbar>*{flex:0 0 auto}#toolbar-info-banner{box-sizing:border-box;background:var(--glass-surface-strong);backdrop-filter:var(--glass-blur-strong);-webkit-backdrop-filter:var(--glass-blur-strong);color:var(--glass-text);font-family:sans-serif;padding:8px 16px;margin:0 8px;border-radius:6px;border:1px solid var(--glass-border);min-height:38px;display:flex;left:0;align-items:flex-start;justify-content:space-between;transition:all .2s ease-out;pointer-events:auto}#toolbar-info-banner .shortcut{background-color:var(--glass-surface);color:var(--glass-text-muted);padding:2px 8px;border-radius:4px;border:1px solid var(--glass-border);font-size:12px;font-weight:600;font-family:monospace}.game-toolbar{position:relative;display:flex;flex-direction:column;gap:6px;padding:6px;background-color:var(--glass-surface-strong);backdrop-filter:var(--glass-blur-strong);-webkit-backdrop-filter:var(--glass-blur-strong);border:1px solid var(--glass-border);border-radius:10px;pointer-events:auto;align-self:center}.game-toolbar.vertical{flex-direction:row;max-height:80vh;overflow-y:auto;overflow-x:hidden}.game-toolbar.vertical .toolbar-section,.game-toolbar.vertical .toolbar-group{flex-direction:column}.game-toolbar.vertical .toolbar-group-separator{width:100%;height:1px;margin:6px 0}.toolbar-drag-handle{position:absolute;left:0;top:0;bottom:0;width:20px;display:flex;align-items:center;justify-content:center;cursor:grab;color:#ffffff4d;border-right:1px solid rgba(255,255,255,.1);transition:all .2s ease}.toolbar-drag-handle:hover{background:#ffffff0d;color:#fff9}.toolbar-drag-handle:active{cursor:grabbing;background:#ffffff1a}.game-toolbar.horizontal{padding-left:28px}.game-toolbar.vertical .toolbar-drag-handle{inset:0 0 auto;width:auto;height:20px;border-right:none;border-bottom:1px solid rgba(255,255,255,.1)}.game-toolbar.vertical{padding-left:6px;padding-top:28px}.toolbar-orientation-toggle{position:absolute;top:4px;right:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#ffffff80;cursor:pointer;transition:all .2s ease}.toolbar-orientation-toggle:hover{background:#ffffff1a;color:#fffc;border-color:#fff3}.toolbar-section{display:flex;flex-direction:row;gap:6px;align-items:center}.toolbar-section.main-tools{justify-content:flex-start}.toolbar-section.spell-tools{justify-content:space-between}.toolbar-group{display:flex;flex-direction:row;gap:4px;align-items:center}.toolbar-group.zoom-controls{margin-left:auto}.toolbar-group.spell-grid{display:grid;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(2,40px);gap:4px}.game-toolbar.vertical .toolbar-group.spell-grid{grid-template-columns:repeat(2,40px);grid-template-rows:repeat(3,40px)}.toolbar-group-separator{width:1px;height:32px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.25) 20%,rgba(255,255,255,.25) 80%,transparent);margin:0 8px;align-self:center}.toolbar-separator{width:1px;height:32px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.12) 20%,rgba(255,255,255,.12) 80%,transparent);margin:0 4px;align-self:center}.toolbar-btn{display:flex;align-items:center;justify-content:center;height:40px;width:40px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:linear-gradient(to bottom,#ffffff0d,#fff0);color:var(--glass-text-muted);font-size:16px;transition:all .15s ease;aspect-ratio:1 / 1;box-shadow:inset 0 1px 1px #ffffff1a,0 2px 4px #0000004d}.toolbar-btn .tool-icon{display:inline-flex;align-items:center;justify-content:center}.toolbar-btn .tool-icon svg{width:18px;height:18px}.toolbar-btn:hover{border-color:#fff3;background:linear-gradient(to bottom,#ffffff1a,#ffffff0d);transform:translateY(-1px);box-shadow:inset 0 1px 1px #fff3,0 4px 8px #0006}.toolbar-btn:active{transform:translateY(1px) scale(.98);box-shadow:inset 0 2px 4px #0000004d}.toolbar-btn.active{background:linear-gradient(135deg,#00bcd4f2,#0096aaf2);border:2px solid rgba(0,188,212,.8);color:#fff;box-shadow:inset 0 2px 4px #ffffff40,inset 0 -2px 4px #0003,0 0 0 3px #00bcd440,0 0 16px #00bcd499,0 4px 12px #0006;transform:scale(1.02);font-weight:600;animation:activePulse 3s ease-in-out infinite;position:relative}.toolbar-btn.active:before{content:"";position:absolute;inset:-2px;border-radius:8px;background:linear-gradient(135deg,transparent,rgba(0,188,212,.3));pointer-events:none}.toolbar-btn.active:hover{background:linear-gradient(135deg,#00c8e1,#00a0b4);transform:translateY(-1px) scale(1.05);box-shadow:inset 0 2px 4px #ffffff4d,inset 0 -2px 4px #00000026,0 0 0 3px #00bcd466,0 0 20px #00bcd4cc,0 6px 16px #00000080;animation:none}.toolbar-btn.disabled{cursor:not-allowed;opacity:.5}.toolbar-btn.disabled:hover{transform:none;background:transparent;border-color:transparent;box-shadow:none}.toolbar-btn.dm-only:before{position:absolute;z-index:1;top:-2px;left:-2px;padding:var(--spacing-1);border-radius:var(--border-radius);content:"👑";font-size:var(--text-xs);background:#000c}.tool-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--toolbar-icon-width);font-size:32px;text-align:center}.tool-label{display:none}.style-panel{position:absolute;z-index:calc(var(--z-toolbar) + 1);top:0;left:calc(100% + var(--spacing-2));min-width:200px;padding:var(--spacing-4);border:1px solid var(--border-primary);border-radius:var(--border-radius);background:var(--surface-primary);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-glass-lg);animation:slideIn var(--duration-300) ease-out}.style-section{margin-bottom:var(--spacing-4)}.style-section:last-child{margin-bottom:0}.style-section h4{margin:0 0 var(--spacing-3) 0;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.style-controls{display:flex;flex-direction:column;gap:var(--spacing-3)}.style-controls label{display:flex;flex-direction:column;gap:var(--spacing-1);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-secondary)}.style-controls input,.style-controls select{padding:var(--spacing-2);border:1px solid var(--border-primary);border-radius:var(--border-radius);color:var(--text-primary);font-size:var(--text-sm);background:var(--surface-secondary);transition:border-color var(--transition-fast)}.style-controls input:focus,.style-controls select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.style-controls input[type=color]{width:40px;height:32px;padding:2px;cursor:pointer}.style-controls input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;background:var(--surface-secondary);border-radius:3px;outline:none}.style-controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--color-primary);border-radius:50%;cursor:pointer}.style-controls input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--color-primary);border-radius:50%;cursor:pointer;border:none}.dm-panel{position:absolute;top:0;left:calc(100% + var(--spacing-2));background:var(--surface-primary);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-primary);border-radius:var(--border-radius);padding:var(--spacing-4);box-shadow:var(--shadow-glass-lg);min-width:180px;z-index:calc(var(--z-toolbar) + 1);animation:slideIn var(--duration-300) ease-out}.dm-section{margin-bottom:var(--spacing-4)}.dm-section:last-child{margin-bottom:0}.dm-section h4{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--spacing-3) 0}.dm-controls{display:flex;flex-direction:column;gap:var(--spacing-3)}.dm-controls label{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dm-controls input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.dm-quick-actions{display:flex;flex-direction:column;gap:var(--spacing-2);margin-top:var(--spacing-3)}.btn.btn-small{padding:var(--spacing-1) var(--spacing-3);font-size:var(--text-xs);border-radius:var(--border-radius);border:1px solid var(--border-primary);background:var(--surface-secondary);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);font-weight:var(--font-medium)}.btn.btn-small:hover{background:var(--surface-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn.btn-danger{border-color:var(--color-error);color:var(--color-error)}.btn.btn-danger:hover{background:var(--color-error);color:#fff}.dice-buttons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-1)}.dice-buttons-grid .toolbar-btn{min-width:0;justify-content:center;aspect-ratio:1}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes activePulse{0%,to{box-shadow:inset 0 2px 4px #ffffff40,inset 0 -2px 4px #0003,0 0 0 3px #00bcd440,0 0 16px #00bcd499,0 4px 12px #0006}50%{box-shadow:inset 0 2px 4px #ffffff40,inset 0 -2px 4px #0003,0 0 0 4px #00bcd459,0 0 24px #00bcd4cc,0 4px 16px #0006}}@media(prefers-reduced-motion:reduce){.game-toolbar,.style-panel,.dm-panel,.toolbar-btn,.toolbar-btn.active{animation:none;transition:none}.toolbar-btn:hover:not(.disabled),.toolbar-btn.active:hover{transform:none}.btn.btn-small:hover{transform:none}}.toolbar-btn:focus-visible,.btn.btn-small:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.solid-theme .game-toolbar,.solid-theme .style-panel,.solid-theme .dm-panel{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--surface-primary);box-shadow:var(--shadow-default)}.solid-theme .toolbar-btn:hover:not(.disabled){background:var(--surface-hover);box-shadow:var(--shadow-sm)}.solid-theme .style-controls input,.solid-theme .style-controls select{background:var(--surface-secondary)}.toolbar-btn[data-id=zoom-in] .tool-icon,.toolbar-btn[data-id=zoom-out] .tool-icon{font-size:16px}}@layer components{.settings-container{display:flex;flex-direction:column;flex:1;height:100%;max-width:900px;width:100%;min-height:0}.settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-8);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--border-primary)}.settings-header h2{margin:0;font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary)}.settings-actions{display:flex;align-items:center;gap:var(--spacing-4)}.settings-content{display:flex;flex-direction:column;flex:1;overflow-y:auto;gap:var(--spacing-10);min-height:0}.settings-section{padding:var(--spacing-6);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--surface-primary);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-glass);animation:glassAppear var(--duration-500) ease-out}.settings-section-header{margin-bottom:var(--spacing-2);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--border-primary)}.settings-section-header h3{margin:0 0 var(--spacing-2) 0;font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary)}.settings-description{margin:0;font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed)}.settings-section-content{display:flex;flex-direction:column;gap:var(--spacing-6)}.setting-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-8);padding:var(--spacing-4) 0}.setting-item:not(:last-child){border-bottom:1px solid var(--border-subtle)}.setting-label{flex:1;min-width:0}.setting-name{display:block;margin-bottom:var(--spacing-1);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.setting-desc{display:block;font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-normal)}.setting-control{flex-shrink:0;min-width:120px}.setting-select,.setting-input{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-primary);border-radius:var(--border-radius);color:var(--text-primary);font-size:var(--text-sm);background:var(--surface-secondary);-webkit-backdrop-filter:var(--glass-blur-subtle);backdrop-filter:var(--glass-blur-subtle);transition:all var(--transition-base)}.setting-select:focus,.setting-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1);background:var(--surface-hover)}.setting-input[type=number]{text-align:center}.setting-toggle{position:relative;display:inline-block;width:60px;height:34px}.setting-toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;border:1px solid var(--border-primary);border-radius:34px;background:var(--surface-secondary);-webkit-backdrop-filter:var(--glass-blur-subtle);backdrop-filter:var(--glass-blur-subtle);transition:all var(--duration-300)}.toggle-slider:before{position:absolute;left:3px;bottom:3px;height:26px;width:26px;border-radius:50%;content:"";background:#fff;box-shadow:var(--shadow-sm);transition:all var(--duration-300)}input:checked+.toggle-slider{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-color:var(--color-primary)}input:focus+.toggle-slider{box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}input:checked+.toggle-slider:before{transform:translate(26px)}input:disabled+.toggle-slider{cursor:not-allowed;opacity:.5}.volume-control{display:flex;align-items:center;gap:var(--spacing-4)}.volume-slider{flex:1;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:3px;border:1px solid var(--border-primary);background:var(--surface-secondary)}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;cursor:pointer;height:20px;width:20px;border-radius:50%;border:2px solid white;background:var(--color-primary);box-shadow:var(--shadow-sm);-webkit-transition:all var(--transition-base);transition:all var(--transition-base)}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.volume-slider::-moz-range-thumb{cursor:pointer;height:20px;width:20px;border-radius:50%;border:2px solid white;background:var(--color-primary);box-shadow:var(--shadow-sm);-moz-transition:all var(--transition-base);transition:all var(--transition-base)}.volume-slider:disabled{cursor:not-allowed;opacity:.5}.volume-value{min-width:40px;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary);text-align:center}.color-scheme-picker-modern{width:100%;min-width:300px}.current-palette{margin-bottom:var(--spacing-6)}.palette-swatches{display:flex;justify-content:center;gap:var(--spacing-2);margin:0 auto var(--spacing-4)}.color-swatch-modern{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1)}.swatch-color{width:48px;height:32px;border-radius:var(--border-radius);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.swatch-color:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.color-code{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.palette-name{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);text-align:center}.scheme-selector{position:relative}.dropdown-container{position:relative;width:100%}.dropdown-trigger{display:flex;align-items:center;justify-content:space-between;cursor:pointer;width:100%;padding:var(--spacing-3) var(--spacing-4);border:1px solid var(--border-primary);border-radius:var(--border-radius);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);background:var(--surface-secondary);-webkit-backdrop-filter:var(--glass-blur-subtle);backdrop-filter:var(--glass-blur-subtle);transition:all var(--transition-base)}.dropdown-trigger:hover{background:var(--surface-hover);border-color:var(--border-secondary)}.dropdown-trigger:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.dropdown-arrow{font-size:var(--text-sm);color:var(--text-secondary);transition:transform var(--transition-base)}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:100%;left:0;right:0;z-index:var(--z-dropdown);overflow-y:auto;margin-top:var(--spacing-2);max-height:400px;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);background:var(--surface-primary);-webkit-backdrop-filter:var(--glass-blur-strong);backdrop-filter:var(--glass-blur-strong);box-shadow:var(--shadow-glass-xl);animation:dropdownAppear var(--duration-200) ease-out}@keyframes dropdownAppear{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-section{padding:var(--spacing-4) 0}.dropdown-section:not(:last-child){border-bottom:1px solid var(--border-primary)}.section-title{display:block;padding:0 var(--spacing-4) var(--spacing-3) var(--spacing-4);margin-bottom:var(--spacing-2);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.dropdown-item{display:flex;align-items:center;cursor:pointer;width:100%;padding:var(--spacing-3) var(--spacing-4);gap:var(--spacing-4);color:var(--text-primary);font-size:var(--text-sm);text-align:left;background:transparent;border:none;transition:all var(--transition-fast)}.dropdown-item:hover{background:var(--surface-hover)}.dropdown-item.active{border-left:3px solid var(--color-primary);padding-left:calc(var(--spacing-4) - 3px);background:var(--surface-secondary)}.mini-palette{display:flex;flex-shrink:0;gap:var(--spacing-1)}.mini-swatch{width:16px;height:16px;border-radius:3px;border:1px solid var(--border-subtle)}.scheme-label{flex:1;font-weight:var(--font-medium)}.generate-random{color:var(--color-primary);font-weight:var(--font-semibold)}.generate-random:hover{background:rgba(var(--color-primary-rgb),.1)}.backup-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-3);padding:var(--spacing-4);border-radius:var(--border-radius);border:1px solid var(--border-subtle);background:var(--surface-subtle)}.stat-item{display:flex;flex-direction:column;gap:var(--spacing-1)}.stat-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--font-medium)}.stat-value{font-size:var(--text-sm);color:var(--text-primary);font-weight:var(--font-semibold)}.stat-value.dirty{color:var(--color-warning)}.stat-value.clean{color:var(--color-success)}.setting-button{display:flex;align-items:center;justify-content:center;cursor:pointer;padding:var(--spacing-3) var(--spacing-6);min-width:140px;gap:var(--spacing-2);border:none;border-radius:var(--border-radius);font-size:var(--text-sm);font-weight:var(--font-semibold);transition:all var(--transition-fast)}.setting-button.primary{background:var(--color-primary);color:#fff}.setting-button.primary:hover{background:var(--color-primary-hover)}.setting-button.secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-primary)}.setting-button.secondary:hover{background:var(--surface-hover)}.setting-button.tertiary{background:var(--surface-subtle);color:var(--text-secondary);border:1px solid var(--border-subtle)}.setting-button.tertiary:hover{color:var(--text-primary);border-color:var(--border-primary)}.setting-button:disabled{cursor:not-allowed;opacity:.6}.loading-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin var(--duration-1000) linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes glassAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tab-nav button{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5)}.tab-nav button svg{flex-shrink:0;opacity:.8;transition:all var(--transition-base)}.tab-nav button:hover svg,.tab-nav button.active svg{transform:translateY(-1px);opacity:1}.setting-item:has(.color-scheme-picker-modern){flex-direction:column;align-items:flex-start;gap:var(--spacing-4)}.setting-item:has(.color-scheme-picker-modern) .setting-label{display:flex;flex-direction:row;align-items:baseline;gap:var(--spacing-4)}.dropdown-menu::-webkit-scrollbar{width:6px}.dropdown-menu::-webkit-scrollbar-track{border-radius:3px;background:var(--surface-secondary)}.dropdown-menu::-webkit-scrollbar-thumb{border-radius:3px;background:var(--border-primary)}.dropdown-menu::-webkit-scrollbar-thumb:hover{background:var(--border-secondary)}@media(prefers-reduced-motion:reduce){.settings-section,.dropdown-menu,.toggle-slider,.volume-slider::-webkit-slider-thumb,.swatch-color,.setting-button{animation:none;-webkit-transition:none;transition:none}.swatch-color:hover,.setting-button:hover{transform:none}.tab-nav button:hover svg,.tab-nav button.active svg{transform:none}}.setting-toggle:focus-within .toggle-slider,.setting-button:focus-visible,.dropdown-trigger:focus-visible,.dropdown-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.solid-theme .settings-section,.solid-theme .dropdown-menu{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--surface-primary);box-shadow:var(--shadow-default)}.solid-theme .setting-select,.solid-theme .setting-input,.solid-theme .dropdown-trigger{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--surface-secondary)}.solid-theme .toggle-slider{-webkit-backdrop-filter:none;backdrop-filter:none}}@layer components{.scene-tabs{position:relative;display:flex;align-items:center;overflow:hidden;height:40px;border-bottom:1px solid var(--border-primary);background:var(--surface-secondary)}.scene-tabs__scroll-arrow{display:flex;z-index:10;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;width:24px;height:24px;border:1px solid var(--border-primary);border-radius:var(--border-radius);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-secondary);background:var(--surface-primary);transition:all var(--transition-fast)}.scene-tabs__scroll-arrow:hover:not(.scene-tabs__scroll-arrow--disabled){transform:scale(1.1);color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.scene-tabs__scroll-arrow--disabled{cursor:not-allowed;opacity:.5;background:var(--surface-secondary)}.scene-tabs__scroll-arrow--left{margin-right:var(--spacing-1)}.scene-tabs__scroll-arrow--right{margin-left:var(--spacing-1)}.scene-tabs__container{position:relative;display:flex;align-items:end;overflow-x:auto;flex:1;height:40px;padding:0 var(--spacing-2);gap:var(--spacing-1);scroll-behavior:smooth}.scene-tabs__container::-webkit-scrollbar{display:none}.scene-tabs__container{display:none}.scene-tabs__tab{position:relative;display:flex;align-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;min-width:120px;max-width:240px;height:32px;gap:var(--spacing-2);padding:0 var(--spacing-3);margin-top:var(--spacing-2);border-radius:var(--border-radius) var(--border-radius) 0 0;border:1px solid var(--border-primary);border-bottom:none;background:var(--surface-primary);box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.scene-tabs__tab:hover:not(.scene-tabs__tab--active){transform:translateY(-1px);background:var(--surface-hover);box-shadow:var(--shadow-md)}.scene-tabs__tab--active{z-index:5;height:36px;margin-top:0;border-bottom:1px solid var(--surface-primary);border-color:var(--color-primary);background:var(--surface-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.2)}.scene-tabs__tab--active:after{position:absolute;z-index:10;bottom:-1px;left:0;right:0;height:1px;content:"";background:var(--surface-primary)}.scene-tabs__tab-visibility{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px;font-size:var(--text-xs);opacity:.8}.scene-tabs__tab-name{flex:1;overflow:hidden;font-weight:var(--font-medium);font-size:var(--text-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.scene-tabs__tab--active .scene-tabs__tab-name{color:var(--text-primary);font-weight:var(--font-semibold)}.scene-tabs__tab--active .scene-tabs__tab-visibility{color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);line-height:1.2;padding:var(--spacing-1) var(--spacing-2);text-align:center;outline:none;opacity:.9}.scene-tabs__tab-input{flex:1;min-width:80px;max-width:200px;border:2px solid var(--color-primary);border-radius:var(--border-radius);background:var(--surface-primary);box-shadow:0 0 8px rgba(var(--color-primary-rgb),.3)}.scene-tabs__tab-input:focus{background:#fff;box-shadow:0 0 12px rgba(var(--color-primary-rgb),.5)}.scene-tabs__tab--dragging{opacity:.5;transform:rotate(3deg);transition:all var(--transition-fast);z-index:100;box-shadow:var(--shadow-lg)}.scene-tabs__tab--drag-over{transform:scale(1.05);transition:all var(--transition-fast)}.scene-tabs__tab[draggable=true]{cursor:grab}.scene-tabs__tab[draggable=true]:active{cursor:grabbing}.scene-tabs__tab-delete{display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;width:20px;height:20px;margin-left:var(--spacing-1);padding:var(--spacing-1);border:none;border-radius:var(--border-radius);opacity:0}.scene-tabs__tab:hover .scene-tabs__tab-delete{opacity:1}.scene-tabs__tab-delete:hover{background:rgba(var(--color-error-rgb),.2);color:var(--color-error);transform:scale(1.1)}.scene-tabs__tab--new{min-width:40px!important;max-width:40px!important;justify-content:center;background:var(--surface-secondary)!important;border:1px dashed var(--border-primary)!important;padding:0!important}.scene-tabs__tab--new:hover{background:var(--color-primary)!important;border-color:var(--color-primary)!important}.scene-tabs__tab-new-button{display:flex;align-items:center;justify-content:center;cursor:pointer;width:100%;height:100%;border:none;transition:all var(--transition-fast)}.scene-tabs__tab-new-button:hover{color:var(--color-primary);transform:scale(1.2)}.scene-panel{display:flex;flex-direction:column;height:100%;gap:var(--spacing-2)}.scene-panel__header{-webkit-backdrop-filter:var(--glass-blur-strong);background:var(--glass-surface-strong);backdrop-filter:var(--glass-blur-strong);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);padding:var(--spacing-4);box-shadow:var(--shadow-glass);animation:glassAppear .6s ease-out}.scene-panel__header h3{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-primary);text-shadow:0 0 10px rgba(var(--color-primary-rgb),.3)}.scene-panel__meta{display:flex;gap:var(--spacing-4);font-size:var(--text-sm);color:var(--glass-text-muted);border-top:1px solid var(--glass-border);padding-top:var(--spacing-2);margin-top:var(--spacing-2)}.scene-panel__content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-2)}.scene-panel__section{-webkit-backdrop-filter:var(--glass-blur-strong);background:var(--glass-surface-strong);backdrop-filter:var(--glass-blur-strong);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);padding:var(--spacing-4);box-shadow:var(--shadow-glass);animation:glassAppear .6s ease-out}.scene-panel__section h4{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--text-lg);font-weight:var(--font-semibold);padding-bottom:var(--spacing-2)}.scene-panel__field{margin-bottom:var(--spacing-4)}.scene-panel__field:last-child{margin-bottom:0}.scene-panel__field label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium)}.scene-panel__field-display{-webkit-backdrop-filter:var(--glass-blur);background:var(--glass-surface);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius);min-height:var(--spacing-4);padding:var(--spacing-3);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-sm);box-shadow:var(--shadow-glass-sm)}.scene-panel__field-display:hover{border-color:var(--color-accent);box-shadow:var(--shadow-glass)}.scene-panel__field-display--multiline{min-height:var(--spacing-12);white-space:pre-wrap}.scene-panel__field-input{-webkit-backdrop-filter:var(--glass-blur);width:100%;background:var(--glass-surface);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius);font-family:inherit;box-shadow:var(--shadow-glass-sm);padding:var(--spacing-3);font-size:var(--text-sm);color:var(--glass-text)}.scene-panel__field-input--multiline{resize:vertical;min-height:var(--spacing-16)}.scene-panel__field-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-glass),0 0 0 2px rgba(var(--color-primary-rgb),.2)}.scene-panel__visibility-options{display:flex;flex-direction:row;gap:var(--spacing-3)}.scene-panel__visibility-option{-webkit-backdrop-filter:var(--glass-blur);background:var(--glass-surface);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius);display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-glass-sm)}.scene-panel__visibility-option:hover{background:var(--glass-surface-hover);border-color:var(--color-accent);box-shadow:var(--shadow-glass)}.scene-panel__visibility-option input[type=radio]{margin:0}.scene-panel__visibility-icon{font-size:var(--text-base);flex-shrink:0}.scene-panel__visibility-details{flex:1}.scene-panel__visibility-details strong{display:block;font-size:var(--text-sm);color:var(--glass-text)}.scene-panel__checkbox-label{display:flex!important;align-items:center;gap:var(--spacing-2);cursor:pointer;font-size:var(--text-sm);-webkit-backdrop-filter:var(--glass-blur);background:var(--glass-surface);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius);margin-bottom:0!important;padding:var(--spacing-2);transition:all var(--transition-fast);box-shadow:var(--shadow-glass-sm)}.scene-panel__checkbox-label:hover{background:var(--glass-surface-hover);border-color:var(--color-accent)}.scene-panel__checkbox-label input[type=checkbox]{margin:0}.scene-panel__range-input{outline:none;width:100%;height:6px;border-radius:3px;-webkit-appearance:none;background:var(--glass-surface);-moz-appearance:none;appearance:none}.scene-panel__range-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--color-primary);border-radius:50%;cursor:pointer}.scene-panel__range-input::-moz-range-thumb{width:16px;height:16px;background:var(--color-primary);border-radius:50%;cursor:pointer;border:none}.scene-panel__color-input{background:transparent;width:50px;height:32px;border:1px solid var(--glass-border);border-radius:4px;cursor:pointer}.scene-panel__color-input::-webkit-color-swatch-wrapper{padding:0}.scene-panel__color-input::-webkit-color-swatch{border:none;border-radius:2px}.scene-panel__button{font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--spacing-3) var(--spacing-4);border:none;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-fast)}.scene-panel__button--primary{background:var(--color-primary);color:#fff}.scene-panel__button--primary:hover{background:var(--color-secondary)}.scene-panel__button--danger{background:var(--color-error);color:#fff}.scene-panel__button--danger:hover{background:#dc2626}.scene-panel__empty-state{-webkit-backdrop-filter:var(--glass-blur);background:var(--glass-surface);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);padding:var(--spacing-8) var(--spacing-4);text-align:center;color:var(--glass-text-muted);box-shadow:var(--shadow-glass)}.scene-panel__empty-state p{font-size:var(--text-sm);line-height:1.5}.scene-panel__danger-zone{-webkit-backdrop-filter:var(--glass-blur-strong);background:var(--glass-surface-strong);backdrop-filter:var(--glass-blur-strong);border:1px solid rgba(var(--color-error-rgb),.3)!important;border-radius:var(--border-radius-lg)!important;box-shadow:var(--shadow-glass),0 0 20px rgba(var(--color-error-rgb),.1)!important;position:relative}.scene-panel__danger-zone:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--color-error-rgb),.6),transparent)}.scene-panel__danger-zone h4{color:var(--color-error)}.scene-panel__upload-options{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--spacing-4);margin-bottom:var(--spacing-3)}.scene-panel__upload-divider{font-size:var(--text-sm);font-weight:var(--font-medium)}.scene-panel__upload-hint{text-align:center;font-size:var(--text-xs);color:var(--glass-text-muted);margin-top:var(--spacing-2)}.asset-browser-overlay{position:fixed;inset:0;-webkit-backdrop-filter:blur(8px);background:#000000b3;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:2rem}.asset-browser-modal{display:flex;flex-direction:column;overflow:hidden;width:100%;max-width:900px;max-height:80vh;border:1px solid var(--glass-border);border-radius:var(--border-radius-lg)}.asset-browser-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--glass-border);background:var(--glass-surface)}.asset-browser-header h3{font-size:1.2rem;font-weight:600}.asset-browser-modal .asset-browser{flex:1;overflow:auto;background:transparent;border:none;border-radius:0;box-shadow:none}.scene-manager{display:flex;min-height:0;height:100%;flex:1}.scene-manager--empty{height:100%;display:flex;align-items:center;justify-content:center}.scene-manager__empty-state{-webkit-backdrop-filter:var(--glass-blur-strong);background:var(--glass-surface-strong);backdrop-filter:var(--glass-blur-strong);padding:var(--spacing-12);border-radius:var(--border-radius-xl);text-align:center;border:1px solid var(--glass-border);box-shadow:var(--shadow-glass-lg);max-width:500px}.scene-manager__empty-state h2{font-size:var(--text-2xl);color:var(--glass-text);font-weight:var(--font-bold);margin-bottom:var(--spacing-4)}.scene-manager__empty-state p{margin-bottom:var(--spacing-8);font-size:var(--text-base);color:var(--glass-text-muted)}.scene-manager__sidebar{width:350px;display:flex;flex-direction:column;gap:var(--spacing-4)}.scene-manager__controls{display:flex;align-items:center;justify-content:space-between;-webkit-backdrop-filter:var(--glass-blur);background:var(--glass-surface);backdrop-filter:var(--glass-blur);padding:var(--spacing-6);border-radius:var(--border-radius-lg);border:1px solid var(--glass-border);box-shadow:var(--shadow-glass)}.scene-manager__controls h3{font-size:var(--text-lg);font-weight:var(--font-bold)}.scene-manager__list{flex:1;display:flex;flex-direction:column;overflow-y:auto;gap:var(--spacing-4);padding-right:var(--spacing-2)}.scene-manager__item{-webkit-backdrop-filter:var(--glass-blur);background:var(--glass-surface);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);padding:var(--spacing-6);position:relative;overflow:hidden;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.scene-manager__item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.scene-manager__item:hover{background:var(--glass-surface-hover);transform:translateY(-2px);box-shadow:var(--shadow-glass-lg)}.scene-manager__item:hover:before{left:100%}.scene-manager__item--active{background:var(--glass-surface-strong);border-color:#ffffff4d;box-shadow:0 0 20px #fff3}.scene-manager__item-info{flex:1}.scene-manager__item-name{font-size:var(--text-base);font-weight:var(--font-semibold)}.scene-manager__item-description{font-size:var(--text-sm);line-height:1.4}.scene-manager__item-date{font-size:var(--text-xs);font-family:var(--font-mono)}.scene-manager__item-preview{margin-top:var(--spacing-4)}.scene-manager__item-thumbnail{width:100%;height:80px;-o-object-fit:cover;object-fit:cover;border-radius:var(--border-radius);border:1px solid var(--glass-border)}.scene-manager__item-actions{display:flex;gap:var(--spacing-2);margin-top:var(--spacing-4)}.scene-manager__item-actions .btn{font-size:var(--text-sm)}.scene-manager__main{flex:1;display:flex;flex-direction:column;-webkit-backdrop-filter:var(--glass-blur);background:var(--glass-surface);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-glass);overflow:hidden;min-height:0;height:100%}.scene-manager__empty-canvas{display:flex;align-items:center;justify-content:center;color:var(--glass-text-muted);font-size:var(--text-lg);font-style:italic}.scene-manager__canvas-container{width:100%;height:100%;position:relative;overflow:hidden}.scene-manager__canvas{width:100%;height:100%;display:block;background:var(--surface-primary)}.scene-manager__camera-controls{background:var(--glass-surface);padding:var(--spacing-2) var(--spacing-4);display:flex;align-items:center;gap:var(--spacing-4);border-radius:var(--border-radius);border:1px solid var(--glass-border)}.scene-manager__camera-controls--disabled{opacity:.6}.scene-manager__zoom-controls{display:flex;align-items:center;gap:var(--spacing-2)}.scene-manager__zoom-controls .btn{font-size:var(--text-base);font-weight:var(--font-bold)}.scene-manager__zoom-display{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--glass-text);min-width:45px;text-align:center}.scene-manager__camera-actions{display:flex;gap:var(--spacing-2)}.scene-manager__camera-actions .btn{font-size:var(--text-base)}.scene-manager__position-display{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--glass-text-light)}.scene-manager__follow-indicator{background:var(--glass-surface);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--border-radius);border:1px solid var(--glass-border);font-size:var(--text-sm);color:var(--glass-text-muted);font-weight:var(--font-medium)}.scene-editor__overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-8)}.scene-editor{display:flex;flex-direction:column;-webkit-backdrop-filter:var(--glass-blur-strong);overflow:hidden;background:var(--glass-surface-strong);backdrop-filter:var(--glass-blur-strong);border:1px solid var(--glass-border);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-glass-xl);width:100%;max-width:600px;max-height:80vh;animation:modalAppear .3s ease-out}@keyframes modalAppear{0%{opacity:0;transform:translateY(-50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.scene-editor__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-6);border-bottom:1px solid var(--glass-border);background:var(--glass-surface)}.scene-editor__header h2{font-size:var(--text-xl);font-weight:var(--font-bold)}.scene-editor__content{flex:1;overflow-y:auto;padding:var(--spacing-8)}.scene-editor__form-section{margin-bottom:var(--spacing-8)}.scene-editor__form-section:last-child{margin-bottom:0}.scene-editor__form-section h3{font-size:var(--text-lg);font-weight:var(--font-semibold);border-bottom:1px solid var(--glass-border);margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-2)}.scene-editor__form-field{margin-bottom:var(--spacing-6)}.scene-editor__form-field label{display:block;font-weight:var(--font-semibold);font-size:var(--text-sm)}.scene-editor__form-input,.scene-editor__form-textarea{width:100%;padding:var(--spacing-3);border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);font-size:var(--text-sm);transition:all var(--transition-fast)}.scene-editor__form-input:focus,.scene-editor__form-textarea:focus{outline:none;border-color:#fff6;box-shadow:0 0 0 3px #ffffff1a;background:var(--glass-surface-hover)}.scene-editor__form-input[type=color]{height:40px;padding:var(--spacing-1)}.scene-editor__form-input[type=range]{-webkit-appearance:none;background:transparent;-moz-appearance:none;appearance:none}.scene-editor__form-input[type=range]::-webkit-slider-track{background:var(--glass-surface);height:6px;border-radius:3px;border:1px solid var(--glass-border)}.scene-editor__form-input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;height:20px;width:20px;border-radius:50%;background:var(--color-primary);border:2px solid white;cursor:pointer;box-shadow:0 2px 10px #0000004d}.scene-editor__checkbox-field{display:flex;align-items:center;gap:var(--spacing-3)}.scene-editor__checkbox-field input[type=checkbox]{transform:scale(1.2)}.scene-editor__checkbox-field label{cursor:pointer}.scene-editor__opacity-value{margin-left:var(--spacing-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--glass-text-light)}.scene-editor__background-preview{background:var(--glass-surface);padding:var(--spacing-4);display:flex;gap:var(--spacing-4);align-items:flex-start;border-radius:var(--border-radius);border:1px solid var(--glass-border)}.scene-editor__background-thumbnail{width:100px;height:60px;-o-object-fit:cover;object-fit:cover;border-radius:var(--border-radius);border:1px solid var(--glass-border)}.scene-editor__background-info{flex:1}.scene-editor__background-info p{font-family:var(--font-mono);font-size:var(--text-sm)}.scene-editor__background-upload{-webkit-backdrop-filter:var(--glass-blur);background:var(--glass-surface);padding:var(--spacing-8);text-align:center;border:2px dashed var(--glass-border);backdrop-filter:var(--glass-blur);border-radius:var(--border-radius-lg);transition:all var(--transition-fast)}.scene-editor__background-upload:hover{border-color:#fff6;background:var(--glass-surface-hover)}.scene-editor__footer{display:flex;justify-content:flex-end;gap:var(--spacing-4);padding:var(--spacing-6);border-top:1px solid var(--glass-border);background:var(--glass-surface)}.scene-editor__footer .btn{width:auto;padding:var(--spacing-3) var(--spacing-6)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;padding:var(--spacing-3) var(--spacing-6);border:1px solid var(--glass-border);border-radius:var(--border-radius);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--glass-text);text-decoration:none;background:var(--glass-surface);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:all .3s cubic-bezier(.4,0,.2,1)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--small{padding:var(--spacing-2) var(--spacing-4);font-size:var(--text-xs)}.btn--primary{border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 20px rgba(var(--color-primary-rgb),.3)}.btn--primary:hover:not(:disabled),.btn--primary:focus-visible{transform:translateY(-2px);box-shadow:0 6px 25px rgba(var(--color-primary-rgb),.4);outline:2px solid var(--color-primary);outline-offset:2px}.btn--secondary{background:var(--glass-surface-hover)}.btn--secondary:hover:not(:disabled),.btn--secondary:focus-visible{background:var(--glass-surface-strong);transform:translateY(-1px);outline:2px solid var(--glass-border);outline-offset:2px}.btn--danger{border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 20px rgba(var(--color-error-rgb),.3)}.btn--danger:hover:not(:disabled),.btn--danger:focus-visible{transform:translateY(-2px);box-shadow:0 6px 25px rgba(var(--color-error-rgb),.4);outline:2px solid var(--color-error);outline-offset:2px}.scene-list::-webkit-scrollbar{width:6px}.scene-list::-webkit-scrollbar-track{background:var(--glass-surface)}.scene-list::-webkit-scrollbar-thumb{background:var(--glass-border)}.scene-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.scene-management{display:flex;flex-direction:column;width:100%;height:100%}.scene-management__header{padding:var(--spacing-4);border-bottom:1px solid var(--border-primary);background:var(--surface-secondary)}.scene-management__header-top{display:flex;align-items:center;justify-content:space-between}.scene-management__header-top h3{font-size:var(--text-xl);font-weight:var(--font-bold)}.scene-management__back-button{background:transparent;border:1px solid var(--border-primary);color:var(--text-secondary);padding:var(--spacing-2);border-radius:var(--border-radius);cursor:pointer;font-size:var(--text-lg);transition:all var(--transition-fast);width:32px;height:32px;display:flex;align-items:center;justify-content:center}.scene-management__back-button:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--color-primary)}.scene-management__controls{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4)}.scene-management__sort-controls{display:flex;align-items:center;gap:var(--spacing-2)}.scene-management__sort-controls label{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--text-sm);color:var(--text-secondary)}.scene-management__sort-controls select{background:var(--surface-primary);border:1px solid var(--border-primary);color:var(--text-primary);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--border-radius);font-size:var(--text-sm)}.scene-management__sort-order-btn{background:var(--surface-primary);border:1px solid var(--border-primary);color:var(--text-secondary);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--border-radius);cursor:pointer;font-size:var(--text-base);transition:all var(--transition-fast)}.scene-management__sort-order-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.scene-management__selection-controls{display:flex;align-items:center;gap:var(--spacing-3)}.scene-management__select-all-btn{background:var(--surface-primary);border:1px solid var(--border-primary);color:var(--text-primary);border-radius:var(--border-radius);cursor:pointer;font-size:var(--text-sm);transition:all var(--transition-fast)}.scene-management__select-all-btn:hover{background:var(--color-primary);color:#fff}.scene-management__selection-count{font-size:var(--text-sm);font-weight:var(--font-medium)}.scene-management__bulk-actions{background:var(--surface-primary);border:1px solid var(--color-primary);border-radius:var(--border-radius);padding:var(--spacing-3);margin-top:var(--spacing-3)}.scene-management__bulk-actions-label{font-size:var(--text-sm);font-weight:var(--font-medium)}.scene-management__bulk-action-buttons{display:flex;align-items:center;flex-wrap:wrap}.scene-management__bulk-btn{background:var(--surface-secondary);border:1px solid var(--border-primary);color:var(--text-primary);border-radius:var(--border-radius);cursor:pointer;font-size:var(--text-sm);transition:all var(--transition-fast);white-space:nowrap}.scene-management__bulk-btn:hover{background:var(--surface-hover);transform:translateY(-1px)}.scene-management__bulk-btn--visibility:hover{background:var(--color-secondary);color:#fff}.scene-management__bulk-btn--delete{background:var(--color-error);color:#fff}.scene-management__bulk-btn--delete:hover{background:#dc2626;transform:translateY(-1px)}.scene-management__bulk-separator{width:1px;height:24px}.scene-management__list{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:var(--spacing-2);max-height:100%}.scene-management__item{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:"checkbox header actions" "checkbox content actions" "checkbox stats actions";gap:var(--spacing-2) var(--spacing-4);cursor:pointer;background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius);min-height:140px;flex-shrink:0}.scene-management__item:hover{background:var(--surface-hover);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.scene-management__item--selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.3)}.scene-management__item--selected .scene-management__item-name,.scene-management__item--selected .scene-management__item-description,.scene-management__item--selected .scene-management__item-meta,.scene-management__item--selected .scene-management__item-stat{color:#fff}.scene-management__item-checkbox{grid-area:checkbox;display:flex;align-items:flex-start;justify-content:center}.scene-management__item-checkbox input[type=checkbox]{width:18px;height:18px}.scene-management__item-header{grid-area:header;display:flex;flex-direction:column;gap:var(--spacing-1)}.scene-management__item-content{grid-area:content;display:flex;flex-direction:column;gap:var(--spacing-2);min-width:0}.scene-management__item-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-3)}.scene-management__item-name{font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0;line-height:1.3;letter-spacing:-.01em}.scene-management__item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-1);font-size:var(--text-xs);color:var(--text-secondary)}.scene-management__item-visibility{display:flex;align-items:center;gap:var(--spacing-1);white-space:nowrap;padding:var(--spacing-1) var(--spacing-2);border-radius:calc(var(--border-radius) * .75);font-size:var(--text-xs);font-weight:var(--font-medium);border:1px solid var(--border-primary)}.scene-management__item-id{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-tertiary);opacity:.6;font-weight:var(--font-normal)}.scene-management__item-description{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.5;font-style:italic;opacity:.9}.scene-management__item-stats{grid-area:stats;display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;font-size:var(--text-xs);color:var(--text-secondary);margin-top:var(--spacing-1)}.scene-management__item-stat{display:flex;align-items:center;gap:var(--spacing-1);white-space:nowrap}.scene-management__item-actions{grid-area:actions;display:flex;align-items:flex-start;justify-content:flex-end;flex-shrink:0;gap:var(--spacing-1)}.scene-management__action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;position:relative;overflow:hidden}.scene-management__action-btn:hover{background:var(--surface-hover);color:var(--text-primary);transform:translateY(-1px)}.scene-management__action-btn--edit:hover{background:var(--color-secondary);color:#fff}.scene-management__action-btn--duplicate:hover{background:var(--color-primary);color:#fff}.scene-management__action-btn--delete:hover{background:var(--color-error);color:#fff}.scene-management__empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.scene-management__empty-state h4{color:var(--text-primary)}.scene-management__empty-state p{margin:0 0 var(--spacing-4) 0}.scene-management__create-btn{font-size:var(--text-base);font-weight:var(--font-medium);padding:var(--spacing-3) var(--spacing-4);border:none;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-fast)}.scene-management__create-btn:hover{background:var(--color-secondary);transform:translateY(-1px)}.scene-panel-header-top{display:flex;align-items:center;justify-content:space-between}.scene-panel-header-top h3{flex:1}.scene-management-toggle{background:var(--surface-secondary);border:1px solid var(--border-primary);color:var(--text-primary);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--border-radius);cursor:pointer;font-size:var(--text-sm);transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.scene-management-toggle:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-1px)}.drawing-properties{-webkit-backdrop-filter:var(--glass-blur-strong);background:var(--glass-surface-strong);backdrop-filter:var(--glass-blur-strong);position:absolute;top:20px;right:20px;width:300px;border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-glass-xl);z-index:1000;animation:slideInRight .3s ease}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.drawing-properties__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4);border-bottom:1px solid var(--glass-border)}.drawing-properties__header h3{text-transform:capitalize}.drawing-properties__close-btn{background:transparent;border:none;color:var(--glass-text);width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:0;font-size:var(--text-xl);line-height:1;cursor:pointer;border-radius:var(--border-radius);transition:all var(--transition-fast)}.drawing-properties__close-btn:hover{background:var(--glass-surface-hover);color:var(--color-primary)}.drawing-properties__content{display:flex;flex-direction:column;gap:var(--spacing-4);overflow-y:auto;max-height:calc(100vh - 120px)}.drawing-properties__property-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.drawing-properties__property-group label{font-size:var(--text-sm);font-weight:var(--font-medium);opacity:.9}.drawing-properties__color-input-group{display:flex;align-items:center;gap:var(--spacing-2)}.drawing-properties__color-picker{width:50px;height:36px;border:1px solid var(--glass-border);border-radius:var(--border-radius);cursor:pointer;background:transparent}.drawing-properties__color-text{flex:1;padding:var(--spacing-2) var(--spacing-3);background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--border-radius);color:var(--glass-text);font-size:var(--text-sm);font-family:var(--font-mono)}.drawing-properties__color-text:focus{outline:none;border-color:var(--color-primary);background:var(--glass-surface-hover)}.drawing-properties__slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;border:1px solid var(--glass-border);outline:none;cursor:pointer}.drawing-properties__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:2px solid white;-webkit-transition:all var(--transition-fast);transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.drawing-properties__slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 8px rgba(var(--color-primary-rgb),.5)}.drawing-properties__slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:2px solid white;-moz-transition:all var(--transition-fast);transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.drawing-properties__slider::-moz-range-thumb:hover{transform:scale(1.2);box-shadow:0 0 8px rgba(var(--color-primary-rgb),.5)}.remote-cursors-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:var(--z-cursors)}.remote-cursor{position:absolute;display:flex;flex-direction:column;align-items:center;pointer-events:none;animation:cursor-fade-in .2s ease-out}.cursor-pointer{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:12px solid var(--color-primary);filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));animation:cursor-pulse 2s ease-in-out infinite}.cursor-label{background:var(--surface-primary);color:var(--text-primary);padding:2px 6px;border-radius:3px;font-size:11px;font-weight:500;white-space:nowrap;margin-top:2px;border:1px solid var(--border-primary);box-shadow:var(--shadow-sm);max-width:80px;overflow:hidden;text-overflow:ellipsis}@keyframes cursor-fade-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes cursor-pulse{0%,to{opacity:1}50%{opacity:.7}}}@layer components{:root{--wizard-primary: var(--color-primary);--wizard-secondary: var(--color-secondary);--wizard-success: var(--color-success);--wizard-background: var(--solid-bg-primary);--wizard-surface: var(--solid-bg-primary);--wizard-text: var(--solid-text);--wizard-text-secondary: var(--solid-text-muted);--wizard-border: var(--solid-border);--wizard-input-bg: var(--solid-bg-secondary);--wizard-hover: var(--color-primary-hover)}.character-wizard{position:fixed;z-index:1000;overflow:auto;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#101828f2,#1e293be6,#0f172af2)}.character-wizard--fullpage{position:fixed;z-index:1000;overflow-y:auto;inset:0;background:var(--wizard-background)}.character-wizard--fullpage .character-wizard__container{display:flex;flex-direction:column;max-width:1200px;margin:0 auto;padding:2rem;min-height:100vh}.character-wizard--modal{position:fixed;z-index:2000;display:flex;align-items:center;justify-content:center;inset:0;padding:2rem}.character-wizard__backdrop{position:absolute;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.character-wizard--modal .character-wizard__container{position:relative;display:flex;flex-direction:column;overflow:hidden;width:100%;max-width:900px;max-height:90vh;background:var(--wizard-surface);border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius-xl);box-shadow:0 25px 50px -12px #00000080;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.character-wizard__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-6) var(--spacing-8);background:var(--wizard-surface);border-bottom:1px solid var(--wizard-border)}.character-wizard__header h1{margin:0;font-size:var(--text-3xl);font-weight:var(--font-semibold);color:var(--wizard-text)}.character-wizard__actions{display:flex;align-items:center;gap:.75rem}.character-wizard__randomize-btn,.character-wizard__randomize-btn--all{display:flex;align-items:center;cursor:pointer;padding:.5rem 1rem;gap:.5rem;font-size:.875rem;font-weight:500;color:#fff;background:var(--wizard-primary);border:none;border-radius:var(--border-radius-lg);transition:all .2s ease}.character-wizard__randomize-btn:hover,.character-wizard__randomize-btn--all:hover{background:var(--wizard-hover);transform:translateY(-1px)}.character-wizard__cancel-btn{display:flex;align-items:center;justify-content:center;cursor:pointer;width:2rem;height:2rem;color:#ef4444;background:#ef44441a;border:none;border-radius:var(--border-radius-md);transition:all .2s ease}.character-wizard__cancel-btn:hover{background:#ef444433}.character-wizard__progress{padding:var(--spacing-6) var(--spacing-8);border-bottom:1px solid var(--wizard-border);background:var(--wizard-background)}.character-wizard__progress-steps{display:flex;justify-content:space-between;margin-bottom:1rem}.character-wizard__progress-step{position:relative;display:flex;flex-direction:column;align-items:center;flex:1;gap:.5rem}.character-wizard__progress-step:not(:last-child):after{position:absolute;z-index:1;top:1rem;left:60%;right:-40%;height:2px;background:var(--wizard-border);content:""}.character-wizard__progress-step--completed:not(:last-child):after{background:var(--wizard-success)}.character-wizard__step-number{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;font-weight:var(--font-semibold);font-size:.875rem;color:var(--wizard-text-secondary);background:var(--wizard-border);border-radius:50%;transition:all .3s ease}.character-wizard__progress-step--active .character-wizard__step-number{background:var(--wizard-primary);color:#fff}.character-wizard__progress-step--completed .character-wizard__step-number{background:var(--wizard-success);color:#fff}.character-wizard__step-label{font-size:.75rem;font-weight:500;color:var(--wizard-text-secondary);text-align:center}.character-wizard__progress-step--active .character-wizard__step-label{color:var(--wizard-text)}.character-wizard__progress-bar{overflow:hidden;height:4px;background:var(--wizard-border);border-radius:2px}.character-wizard__progress-fill{height:100%;background:linear-gradient(90deg,var(--wizard-primary),var(--wizard-success));border-radius:2px;transition:width .5s ease}.progress-steps{display:flex;justify-content:space-between;margin-bottom:1rem}.progress-step{position:relative;display:flex;flex-direction:column;align-items:center;flex:1;gap:.5rem}.progress-step:not(:last-child):after{position:absolute;z-index:1;top:1rem;left:60%;right:-40%;height:2px;background:var(--wizard-border);content:""}.progress-step.completed:not(:last-child):after{background:var(--wizard-success)}.step-number{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;font-weight:var(--font-semibold);font-size:.875rem;color:var(--wizard-text-secondary);background:var(--wizard-border);border-radius:50%;transition:all .3s ease}.progress-step.active .step-number{background:var(--wizard-primary);color:#fff}.progress-step.completed .step-number{background:var(--wizard-success);color:#fff}.step-label{font-size:.75rem;font-weight:500;color:var(--wizard-text-secondary);text-align:center}.progress-step.active .step-label{color:var(--wizard-text)}.progress-bar{overflow:hidden;height:4px;background:var(--wizard-border);border-radius:2px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--wizard-primary),var(--wizard-success));border-radius:2px;transition:width .5s ease}.character-wizard__content{flex:1;overflow-y:auto;padding:2rem}.character-wizard__step{max-width:800px;margin:0 auto}.character-wizard__step-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.character-wizard__step-header h2{margin:0;font-size:1.25rem;font-weight:var(--font-semibold);color:var(--wizard-text)}.character-wizard__form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.character-wizard__form-section{grid-column:1 / -1}.character-wizard__form-section h3{margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--wizard-border);font-size:1.125rem;font-weight:var(--font-semibold);color:var(--wizard-text)}.character-wizard__form-group{display:flex;flex-direction:column;gap:.5rem}.character-wizard__form-group label{font-size:.875rem;font-weight:500;color:var(--wizard-text)}.character-wizard__input-with-dice{display:flex;align-items:center;gap:.5rem}.character-wizard__form-input,.character-wizard__form-select,.character-wizard__form-textarea{flex:1;padding:.75rem;border:1px solid var(--wizard-border);border-radius:var(--border-radius-lg);font-size:.875rem;color:var(--wizard-text);background:var(--wizard-input-bg);transition:all .2s ease}.character-wizard__form-input:focus,.character-wizard__form-select:focus,.character-wizard__form-textarea:focus{outline:none;border-color:var(--wizard-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.character-wizard__form-textarea{min-height:2.5rem;resize:vertical}.character-wizard__dice-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2.5rem;height:2.5rem;border:1px solid rgba(var(--color-primary-rgb),.2);border-radius:var(--border-radius-md);font-size:1rem;color:var(--wizard-primary);background:rgba(var(--color-primary-rgb),.1);cursor:pointer;transition:all .2s ease}.character-wizard__dice-btn:hover{background:rgba(var(--color-primary-rgb),.2);transform:scale(1.05)}.character-wizard__dice-btn:active{transform:scale(.95)}.abilities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1.5rem}.ability-score-group{text-align:center;padding:1rem;border:1px solid var(--wizard-border);border-radius:.75rem;background:var(--wizard-input-bg);transition:all .2s ease}.ability-score-group:hover{border-color:var(--wizard-primary)}.ability-label{display:block;margin-bottom:.5rem;font-size:.75rem;font-weight:var(--font-semibold);color:var(--wizard-text-secondary);text-transform:uppercase;letter-spacing:.05em}.ability-input-container{display:flex;flex-direction:column;align-items:center;gap:.25rem}.ability-input{width:3rem;padding:.375rem;border:1px solid var(--wizard-border);border-radius:var(--border-radius-md);font-size:1rem;font-weight:var(--font-semibold);color:var(--wizard-text);text-align:center;background:var(--wizard-background)}.ability-input:focus{outline:none;border-color:var(--wizard-primary)}.ability-modifier{padding:.125rem .5rem;min-width:2rem;border-radius:.25rem;font-size:.875rem;font-weight:500;color:var(--wizard-text-secondary);background:var(--wizard-background)}.ability-score-help{padding:1rem;margin-bottom:1.5rem;border:1px solid rgba(var(--color-primary-rgb),.1);border-radius:var(--border-radius-lg);background:rgba(var(--color-primary-rgb),.05)}.ability-score-help p{margin:0;font-size:.875rem;color:var(--wizard-text-secondary)}.ability-score-help p:not(:last-child){margin-bottom:.5rem}.step-navigation{display:flex;justify-content:space-between;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--wizard-border)}.nav-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:1px solid var(--wizard-border);border-radius:var(--border-radius-lg);font-size:.875rem;font-weight:500;color:var(--wizard-text);background:var(--wizard-surface);cursor:pointer;transition:all .2s ease}.nav-btn:hover:not(:disabled){background:var(--wizard-input-bg);border-color:var(--wizard-primary)}.nav-btn:disabled{opacity:.5;cursor:not-allowed}.nav-btn.next{background:var(--wizard-primary);color:#fff;border-color:var(--wizard-primary)}.nav-btn.next:hover:not(:disabled){background:var(--wizard-hover);border-color:var(--wizard-hover)}.character-sheet{display:flex;flex-direction:column;overflow:hidden;gap:1rem;padding:1rem;height:100%}.character-sheet__header{display:flex;justify-content:space-between;align-items:flex-start;flex-shrink:0;gap:1rem;padding:1rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface)}.character-sheet__basic-info{flex:1}.character-sheet__name{width:100%;margin-bottom:.5rem;border:none;border-bottom:2px solid transparent;font-size:var(--text-3xl);font-weight:var(--font-semibold);color:var(--glass-text);background:transparent;outline:none}.character-sheet__name:focus{border-bottom-color:var(--color-primary)}.character-sheet__meta{display:flex;flex-wrap:wrap;gap:1rem}.character-sheet__meta-group{display:flex;flex-direction:column;gap:.25rem}.character-sheet__meta-group label{font-size:.8rem;font-weight:var(--font-semibold);color:var(--glass-text-muted);text-transform:uppercase}.character-sheet__level-input,.character-sheet__race-input,.character-sheet__class-input{width:80px;padding:.25rem .5rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);color:var(--glass-text);background:transparent}.character-sheet__race-input,.character-sheet__class-input{width:120px}.character-sheet__quick-stats{display:flex;gap:1rem}.character-sheet__stat-block{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:60px}.character-sheet__stat-block label{font-size:.8rem;font-weight:var(--font-semibold);color:var(--glass-text-muted);text-transform:uppercase}.character-sheet__ac-input,.character-sheet__speed-input{width:50px;padding:.25rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);font-weight:var(--font-semibold);color:var(--glass-text);text-align:center;background:transparent}.character-sheet__initiative-display{min-width:50px;padding:.25rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);font-size:1.2rem;font-weight:var(--font-semibold);color:var(--glass-text);text-align:center;background:var(--glass-surface)}.character-sheet__speed-unit{margin-left:.25rem;font-size:.8rem;color:var(--glass-text-muted)}.hit-points-section{display:flex;align-items:center;flex-shrink:0;gap:1rem;padding:1rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface)}.hp-group{display:flex;flex-direction:column;gap:.25rem}.hp-group label{font-size:.8rem;font-weight:var(--font-semibold);color:var(--glass-text-muted);text-transform:uppercase}.hp-inputs{display:flex;align-items:center;gap:.5rem;font-size:1.2rem;font-weight:var(--font-semibold)}.current-hp,.max-hp{width:60px;padding:.25rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);font-size:1.2rem;font-weight:var(--font-semibold);color:var(--glass-text);text-align:center;background:transparent}.temp-hp-group{display:flex;flex-direction:column;gap:.25rem}.temp-hp-group label{font-size:.8rem;font-weight:var(--font-semibold);color:var(--glass-text-muted);text-transform:uppercase}.temp-hp{width:60px;padding:.25rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);font-weight:var(--font-semibold);color:var(--color-secondary);text-align:center;background:transparent}.hp-bar{position:relative;flex:1;overflow:hidden;height:12px;border-radius:6px;background:#ffffff1a}.hp-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ef4444,#f59e0b,#10b981);transition:width .3s ease}.character-tabs{display:flex;flex-shrink:0;gap:.25rem;padding:.25rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface)}.tab-btn{flex:1;padding:.5rem 1rem;border:none;border-radius:var(--border-radius);font-weight:500;color:var(--glass-text-muted);background:transparent;cursor:pointer;transition:all .2s ease}.tab-btn:hover{background:var(--glass-surface-hover);color:var(--glass-text)}.tab-btn.active{background:var(--color-primary);color:#fff}.tab-content{flex:1;overflow-y:auto;padding:.5rem}.stats-tab{display:flex;flex-direction:column;gap:1.5rem}.stats-tab h4{margin-bottom:1rem;font-size:1.1rem;color:var(--glass-text)}.ability-score{display:flex;flex-direction:column;text-align:center;gap:.5rem;padding:1rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface)}.ability-name{font-size:.9rem;font-weight:var(--font-semibold);color:var(--glass-text);text-transform:uppercase}.ability-score-display{display:flex;flex-direction:column;align-items:center;gap:.5rem}.score-input{width:60px;padding:.5rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);font-size:1.2rem;font-weight:var(--font-semibold);color:var(--glass-text);text-align:center;background:transparent}.modifier{padding:.25rem .5rem;border-radius:var(--border-radius);font-size:1.1rem;font-weight:var(--font-semibold);color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1)}.saving-throw{font-size:.8rem}.save-label{display:flex;align-items:center;gap:.25rem;color:var(--glass-text-muted);cursor:pointer}.skills-section h4{margin-bottom:1rem;font-size:1.1rem;color:var(--glass-text)}.skills-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}.skill-item{padding:.5rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface)}.skill-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--glass-text);cursor:pointer}.expertise-checkbox{accent-color:var(--color-secondary)}.skill-name{flex:1}.skill-modifier{min-width:30px;font-weight:var(--font-semibold);color:var(--color-primary);text-align:right}.other-stats{display:flex;gap:2rem;padding:1rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-item label{font-size:.8rem;font-weight:var(--font-semibold);color:var(--glass-text-muted);text-transform:uppercase}.stat-item span{font-size:1.1rem;font-weight:var(--font-semibold);color:var(--glass-text)}.equipment-section h4{margin-bottom:1rem;font-size:1.1rem;color:var(--glass-text)}.add-equipment{display:flex;gap:.5rem;margin-bottom:1rem;padding:1rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface)}.equipment-input{flex:1;padding:.5rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);color:var(--glass-text);background:transparent}.equipment-type-select{padding:.5rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);color:var(--glass-text);background:var(--glass-surface)}.add-equipment-btn{padding:.5rem 1rem;border:none;border-radius:var(--border-radius);color:#fff;background:var(--color-primary);cursor:pointer;transition:background-color .2s ease}.add-equipment-btn:hover{background:var(--color-primary-hover)}.equipment-list{display:flex;flex-direction:column;gap:.5rem}.equipment-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface)}.equipment-item.equipped{border-color:var(--color-primary);background:linear-gradient(135deg,var(--glass-surface) 0%,rgba(var(--color-primary-rgb),.1) 100%)}.equipment-info{flex:1;display:flex;align-items:center;gap:1rem}.equipment-name{flex:1;border:none;border-bottom:1px solid transparent;font-weight:500;color:var(--glass-text);background:transparent}.equipment-name:focus{outline:none;border-bottom-color:var(--color-primary)}.equipment-type{padding:.25rem .5rem;border-radius:var(--border-radius);font-size:.8rem;color:var(--glass-text-muted);text-transform:capitalize;background:var(--glass-surface-strong)}.equipment-quantity{width:60px;padding:.25rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);color:var(--glass-text);text-align:center;background:transparent}.equipment-actions{display:flex;gap:.5rem}.equip-btn{padding:.25rem .5rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);font-size:.8rem;color:var(--glass-text);background:transparent;cursor:pointer;transition:all .2s ease}.equip-btn:hover,.equip-btn.equipped{background:var(--color-primary);color:#fff}.remove-equipment-btn{border:none;font-size:.8rem;color:var(--glass-text-muted);background:transparent;cursor:pointer;transition:color .2s ease}.remove-equipment-btn:hover{color:#ef4444}.notes-tab{display:flex;flex-direction:column;gap:1.5rem}.notes-section h4,.personality-section h4{margin-bottom:1rem;font-size:1.1rem;color:var(--glass-text)}.character-notes{width:100%;padding:1rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);color:var(--glass-text);font-family:inherit;background:var(--glass-surface);resize:vertical}.personality-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.personality-grid>div{display:flex;flex-direction:column;gap:.5rem}.personality-grid label{font-size:.9rem;font-weight:500;color:var(--glass-text)}.personality-input{width:100%;min-height:60px;padding:.5rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);color:var(--glass-text);font-family:inherit;background:var(--glass-surface);resize:vertical}.placeholder-content{text-align:center;padding:2rem;color:var(--glass-text-muted)}.placeholder-content h4{margin-bottom:1rem;color:var(--glass-text)}.spellcasting-info{text-align:left;padding:1rem;margin-top:1rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface)}.spellcasting-info p{margin:.5rem 0;color:var(--glass-text)}.creation-panel{width:100%;max-width:800px;margin:auto;padding:2.5rem}.creation-header{margin-bottom:3rem}.header-with-back{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.header-content{flex:1;text-align:center;font-weight:700;color:#fff}.back-button{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:.5rem .75rem;border-radius:8px;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px #fff6,0 4px 8px #0000004d;font-size:var(--text-3xl);font-weight:600;color:#fff;text-decoration:none;cursor:pointer;transition:all .2s ease}.back-button:hover{background:#fff3;box-shadow:inset 0 1px #ffffff80,0 6px 12px #0006;transform:translateY(-1px)}.back-button:active{box-shadow:inset 0 2px 4px #0000004d,0 2px 4px #0003;transform:translateY(1px)}.creation-header h1{margin:0 0 1rem;font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#fff,#e2e8f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.creation-header p{margin:0;font-size:1.1rem;color:#fffc}.character-form{display:flex;flex-direction:column;gap:2.5rem}.form-section h2{display:flex;align-items:center;gap:.75rem;margin:0;padding-bottom:.75rem;border-bottom:2px solid rgba(255,255,255,.1);font-size:var(--text-3xl);font-weight:var(--font-semibold);color:#fff}.section-description{margin:0;font-size:.95rem;font-style:italic;color:#ffffffb3}.glass-input,.glass-select{padding:.875rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:1rem;color:#fff;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.glass-select{cursor:pointer}.glass-input::-moz-placeholder{color:#ffffff80}.glass-input::placeholder{color:#ffffff80}.glass-input:focus,.glass-select:focus{outline:none;border-color:#3b82f680;background:#ffffff26;box-shadow:0 0 0 3px #3b82f61a}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.stat-group{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:#ffffff0d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.stat-group label{font-size:.9rem;font-weight:var(--font-semibold);color:#fffc;text-transform:capitalize}.stat-controls{display:flex;align-items:center;gap:.5rem}.stat-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.3);border-radius:6px;font-size:1.1rem;font-weight:700;color:#fff;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;transition:all .2s ease}.stat-btn:hover:not(:disabled){background:#fff3;border-color:#ffffff80}.stat-btn:disabled{opacity:.4;cursor:not-allowed}.stat-input{width:60px;padding:.5rem;border:1px solid rgba(255,255,255,.2);border-radius:6px;font-size:1rem;font-weight:var(--font-semibold);color:#fff;text-align:center;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-modifier{font-size:.85rem;font-weight:500;color:#fff9}.character-summary{text-align:center;padding:1.5rem;border:1px solid rgba(59,130,246,.3);background:#3b82f61a}.character-summary h3{margin:0 0 .5rem;font-size:1.4rem;font-weight:700;color:#fff}.character-summary p{margin:.25rem 0;font-size:1rem;color:#fffc}.summary-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1rem}.stat-badge{padding:.25rem .75rem;border:1px solid rgba(255,255,255,.2);border-radius:20px;font-size:.85rem;font-weight:var(--font-semibold);color:#fff;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-actions{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:1rem}.form-actions .glass-button{display:flex;align-items:center;justify-content:center;gap:.75rem;min-width:200px;padding:1rem 2rem;border-radius:12px;font-size:1.1rem;font-weight:var(--font-semibold)}.form-hint{text-align:center;margin:0;font-size:.9rem;font-style:italic;color:#fff9}.nav-btn.previous{border:1px solid rgba(255,255,255,.2);color:#fffc;background:#ffffff1a}.nav-btn.previous:hover:not(:disabled){background:#ffffff26;color:#fff;transform:translateY(-1px)}.nav-btn.next{border:1px solid rgba(59,130,246,.3);color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 4px 12px #3b82f64d}.nav-btn.next:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.nav-btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}.nav-btn.header-nav{min-width:100px;padding:.5rem 1rem;font-size:.9rem}.wizard-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding:1.5rem;border-top:1px solid rgba(255,255,255,.1);border-radius:0 0 12px 12px;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.footer-center{font-size:.9rem;font-weight:500;color:#ffffffb3}.solid-theme .character-creation-wizard{--wizard-input-bg: var(--surface-secondary, #f8fafc);--wizard-text: var(--text-primary, #0f172a);--wizard-text-secondary: var(--text-secondary, #64748b);--wizard-background: var(--surface-primary, #ffffff);--wizard-surface: var(--surface-secondary, #f8fafc);--wizard-border: var(--glass-border, #e2e8f0)}.theme-solid .wizard-container{border:1px solid var(--wizard-border);-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--wizard-surface)}.solid-theme .form-input,.solid-theme .form-select,.solid-theme .form-textarea{color:var(--wizard-text);background:var(--wizard-input-bg)}.solid-theme .ability-input{color:var(--wizard-text);background:#fff}@keyframes diceRoll{0%{transform:rotate(0) scale(1)}25%{transform:rotate(90deg) scale(1.1)}50%{transform:rotate(180deg) scale(1)}75%{transform:rotate(270deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}.dice-btn:active{animation:diceRoll .6s ease-in-out}}@layer components{Consolidated styles for dice rolling,animation,and 3D rendering. Organized into logical sections for maintainability. ============================================================================= */ .dice-animation-overlay{position:fixed;inset:0;z-index:9999;pointer-events:none;overflow:hidden}.dice-animation-container{position:relative;width:100%;height:100%;perspective:1200px;perspective-origin:center center}.animated-die{position:absolute;left:50%;top:50%;width:100px;height:100px;transform-style:preserve-3d;animation:diceRoll 2s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:var(--delay, 0s)}.animated-die.landed{animation:diceLand .3s cubic-bezier(.68,-.55,.265,1.55) forwards;animation-delay:calc(var(--delay, 0s) + 1.7s)}.die-inner{position:relative;transform-style:preserve-3d;width:100%;height:100%}@keyframes diceRoll{0%{transform:translate(var(--start-x, 0%),var(--start-y, -100%)) rotateX(0) rotateY(0) rotate(0) scale(.5);opacity:0}10%{opacity:1}40%{transform:translate(calc(var(--start-x, 0%) * .5),-20%) rotateX(calc(var(--rotate-x, 360deg) * .3)) rotateY(calc(var(--rotate-y, 360deg) * .3)) rotate(calc(var(--rotate-z, 360deg) * .3)) scale(1.2)}70%{transform:translateY(10%) rotateX(calc(var(--rotate-x, 360deg) * .7)) rotateY(calc(var(--rotate-y, 360deg) * .7)) rotate(calc(var(--rotate-z, 360deg) * .7)) scale(1.1)}85%{transform:translate(0) rotateX(var(--rotate-x, 360deg)) rotateY(var(--rotate-y, 360deg)) rotate(var(--rotate-z, 360deg)) scale(1)}92%{transform:translateY(2%) rotateX(var(--rotate-x, 360deg)) rotateY(var(--rotate-y, 360deg)) rotate(var(--rotate-z, 360deg)) scale(1.05)}to{transform:translate(0) rotateX(var(--rotate-x, 360deg)) rotateY(var(--rotate-y, 360deg)) rotate(var(--rotate-z, 360deg)) scale(1)}}@keyframes diceLand{0%{transform:translate(0) rotateX(var(--rotate-x, 360deg)) rotateY(var(--rotate-y, 360deg)) rotate(var(--rotate-z, 360deg)) scale(1)}50%{transform:translateY(-5%) rotateX(0) rotateY(0) rotate(0) scale(1.15)}70%{transform:translateY(2%) rotateX(0) rotateY(0) rotate(0) scale(.95)}85%{transform:translateY(-1%) rotateX(0) rotateY(0) rotate(0) scale(1.05)}to{transform:translate(0) rotateX(0) rotateY(0) rotate(0) scale(1.3);filter:drop-shadow(0 10px 30px rgba(0,0,0,.5))}}.cube{position:relative;transform-style:preserve-3d;width:100%;height:100%}.cube-face{position:absolute;display:flex;align-items:center;justify-content:center;width:100px;height:100px;border:2px solid rgba(255,255,255,.3);border-radius:8px;font-size:48px;font-weight:700;color:#fff;box-shadow:inset 0 0 20px #ffffff1a,0 5px 15px #0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cube-face.front{transform:rotateY(0) translateZ(50px)}.cube-face.back{transform:rotateY(180deg) translateZ(50px)}.cube-face.right{transform:rotateY(90deg) translateZ(50px)}.cube-face.left{transform:rotateY(-90deg) translateZ(50px)}.cube-face.top{transform:rotateX(90deg) translateZ(50px)}.cube-face.bottom{transform:rotateX(-90deg) translateZ(50px)}.cube.show-face-1{transform:rotateY(0) rotateX(0)}.cube.show-face-2{transform:rotateX(-90deg) rotateY(0)}.cube.show-face-3{transform:rotateY(-90deg) rotateX(0)}.cube.show-face-4{transform:rotateY(90deg) rotateX(0)}.cube.show-face-5{transform:rotateX(90deg) rotateY(0)}.cube.show-face-6{transform:rotateY(180deg) rotateX(0)}.dots{position:relative;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:100%;height:100%;padding:15px}.dot{width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 2px 4px #0000004d,inset 0 1px 2px #ffffff80}.dot.top-left{grid-column:1;grid-row:1}.dot.top-right{grid-column:3;grid-row:1}.dot.middle-left{grid-column:1;grid-row:2}.dot.center{grid-column:2;grid-row:2}.dot.middle-right{grid-column:3;grid-row:2}.dot.bottom-left{grid-column:1;grid-row:3}.dot.bottom-right{grid-column:3;grid-row:3}.polyhedron{position:relative;transform-style:preserve-3d;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:12px;border:2px solid rgba(255,255,255,.3);box-shadow:inset 0 0 30px #fff3,0 5px 20px #0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.d4-shape{clip-path:polygon(50% 0%,0% 100%,100% 100%);background:linear-gradient(135deg,var(--die-color, #8b5cf6),#6d28d9)}.d8-shape{clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);background:linear-gradient(135deg,var(--die-color, #10b981),#059669)}.d10-shape{clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%);background:linear-gradient(135deg,var(--die-color, #3b82f6),#2563eb)}.d12-shape{clip-path:polygon(50% 0%,80% 10%,100% 35%,100% 65%,80% 90%,50% 100%,20% 90%,0% 65%,0% 35%,20% 10%);background:linear-gradient(135deg,var(--die-color, #f59e0b),#d97706)}.d20-shape{clip-path:polygon(50% 0%,75% 5%,95% 25%,100% 50%,95% 75%,75% 95%,50% 100%,25% 95%,5% 75%,0% 50%,5% 25%,25% 5%);background:linear-gradient(135deg,var(--die-color, #ec4899),#db2777)}.die-result{position:relative;z-index:10;font-size:48px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5),0 0 10px rgba(255,255,255,.3);animation:resultPop .3s cubic-bezier(.68,-.55,.265,1.55)}@keyframes resultPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.animated-die.d4,.animated-die.d4 .cube-face,.animated-die.d4 .polyhedron{width:80px;height:80px}.animated-die.d4 .die-result{font-size:36px}.animated-die.d20,.animated-die.d12,.animated-die.d20 .polyhedron,.animated-die.d12 .polyhedron{width:120px;height:120px}.animated-die.d20 .die-result,.animated-die.d12 .die-result{font-size:56px}.animated-die.d20.crit-success .polyhedron{animation:critSuccessGlow .5s ease-in-out infinite alternate}@keyframes critSuccessGlow{0%{box-shadow:inset 0 0 30px #fff3,0 0 30px #10b981cc,0 0 60px #10b98199}to{box-shadow:inset 0 0 30px #ffffff4d,0 0 50px #10b981,0 0 100px #10b981cc}}.animated-die.d20.crit-failure .polyhedron{animation:critFailureGlow .5s ease-in-out infinite alternate}@keyframes critFailureGlow{0%{box-shadow:inset 0 0 30px #fff3,0 0 30px #ef4444cc,0 0 60px #ef444499}to{box-shadow:inset 0 0 30px #ffffff4d,0 0 50px #ef4444,0 0 100px #ef4444cc}}@media(max-width:768px){.animated-die,.cube-face,.polyhedron{width:70px;height:70px}.die-result{font-size:32px}}#dice-box canvas{width:100%!important;height:100%!important;display:block!important;position:relative!important;z-index:1!important}.dice-roller{display:flex;flex-direction:column;gap:.5rem;max-width:1000px;margin:0 auto;width:100%;box-sizing:border-box}.dice-roller__input,.dice-roller__history{position:relative;overflow:hidden;padding:1rem;border-radius:var(--border-radius-xl);border:1px solid var(--glass-border);background:var(--glass-surface-strong);backdrop-filter:var(--glass-blur-strong);-webkit-backdrop-filter:var(--glass-blur-strong);box-shadow:var(--shadow-glass-lg)}.dice-roller__input:before,.dice-roller__history:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent)}.dice-roller__input h2,.dice-roller__history h3{margin-bottom:1.5rem;color:var(--glass-text, white);font-weight:700;font-size:1.5rem}.dice-roller__roll-controls{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.dice-roller__expression{padding:.5rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);font-size:.95rem;font-family:JetBrains Mono,monospace;color:var(--glass-text, white);background:var(--glass-surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.dice-roller__expression::-moz-placeholder{color:var(--glass-text-light, rgba(255, 255, 255, .5))}.dice-roller__expression::placeholder{color:var(--glass-text-light, rgba(255, 255, 255, .5))}.dice-roller__expression:focus{outline:none;border-color:#fff6;background:var(--glass-surface-hover);box-shadow:0 0 0 3px #ffffff1a,0 0 20px #fff3}.dice-roller__roll-btn{padding:.5rem 1rem;width:100%;border:1px solid rgba(255,255,255,.2);font-size:.95rem;color:#fff;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));box-shadow:0 4px 20px #6366f14d}.dice-roller__roll-btn:hover{transform:translateY(-3px);box-shadow:0 8px 30px #6366f166}.dice-roller__roll-options{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:1rem;gap:0rem}.dice-roller__roll-results{margin-top:1rem}.dice-roller__roll-result{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);margin-bottom:.5rem;background:var(--glass-surface);transition:all .2s ease}.dice-roller__roll-result:hover{background:var(--glass-surface-hover);border-color:#ffffff4d}.dice-roller__roll-expression{font-family:JetBrains Mono,monospace;color:var(--glass-text);font-size:.9rem}.dice-roller__roll-total{font-size:1.2rem;font-weight:700;color:var(--color-primary)}.dice-roller__roll-details{margin-top:.25rem;font-size:.8rem;color:var(--glass-text-muted)}.dice-roller__history{overflow-y:auto;max-height:300px}.dice-roller__history-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--glass-border)}.dice-roller__history-item:last-child{border-bottom:none}.dice-roller__history-expression{font-family:JetBrains Mono,monospace;color:var(--glass-text);font-size:.85rem}.dice-roller__history-total{font-weight:600;color:var(--color-primary)}.dice-roller__history-time{font-size:.75rem;color:var(--glass-text-muted)}.dice-roller__clear-history-btn{cursor:pointer;margin-top:1rem;padding:.5rem 1rem;border:1px solid rgba(239,68,68,.3);border-radius:var(--border-radius);font-size:.85rem;color:#ef4444;background:#ef44441a;transition:all .2s ease}.dice-roller__clear-history-btn:hover{background:#ef444433;border-color:#ef444480}.dice-roller__die-selection{display:flex;flex-wrap:wrap;gap:var(--spacing-2);justify-content:center;margin-bottom:var(--spacing-4)}.dice-roller__die-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-primary);border-radius:var(--border-radius);min-width:50px;min-height:40px;background:var(--surface-secondary);color:var(--text-primary, white);box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.dice-roller__die-btn:hover{transform:translateY(-2px);border-color:var(--color-primary);color:#fff;background:var(--color-primary);box-shadow:var(--shadow-md)}.dice-roller__die-btn:active{transform:translateY(0) scale(.98)}.dice-roller__die-icon{font-size:var(--text-sm);font-weight:var(--font-bold);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.5px}.die-icon{font-size:var(--text-sm);font-weight:var(--font-bold);font-family:var(--font-mono);text-shadow:0 2px 4px rgba(0,0,0,.2);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dice-roller__dice-builder{margin-top:2rem}.dice-roller__dice-builder h3{font-size:1.2rem;color:var(--glass-text-muted);font-weight:600}.dice-roller__clear-queue-btn:hover{background:#ef44444d;border-color:#ef444499;transform:scale(1.05)}.dice-roller__clear-queue-btn:active{transform:scale(.95)}.die-type-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:.75rem}.die-type-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;position:relative;overflow:hidden;cursor:pointer;padding:.25rem;border:2px solid var(--glass-border);border-radius:var(--border-radius);min-height:35px;background:var(--glass-surface);color:var(--text-primary, white);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px 1px #ffffff1a,0 4px 8px #0003;transition:all .3s ease}.die-type-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent)}.die-type-btn:hover{transform:translateY(-4px);border-color:#6366f199;background:var(--glass-surface-hover);box-shadow:inset 0 1px 1px #fff3,0 8px 16px #6366f14d,0 0 20px #6366f133}.die-type-btn:active{transform:translateY(-2px) scale(.98);box-shadow:inset 0 2px 4px #0003,0 4px 8px #6366f133}.die-label{padding:.2rem .5rem;border-radius:4px;border:1px solid rgba(99,102,241,.2);font-size:.75rem;font-weight:600;color:var(--glass-text-muted);background:#6366f11a}.dice-roller__modifiers-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--glass-border)}.dice-roller__modifiers-section h4{margin:0 0 .75rem;font-size:1rem;color:var(--glass-text-muted);font-weight:600}.dice-roller__modifier-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.dice-roller__modifier-btn{cursor:pointer;padding:.25rem .5rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);font-family:JetBrains Mono,monospace;font-weight:600;font-size:.85rem;color:var(--glass-text, white);background:var(--glass-surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px 1px #ffffff1a,0 2px 4px #0003;transition:all .2s ease}.dice-roller__modifier-btn:hover{transform:translateY(-2px);border-color:#ffffff4d;background:var(--glass-surface-hover);box-shadow:inset 0 1px 1px #fff3,0 4px 8px #0000004d}.dice-roller__modifier-btn:active{transform:translateY(0);box-shadow:inset 0 2px 4px #0003,0 2px 4px #0003}.dice-roller__rolls-list{overflow-y:auto;max-height:450px;padding-right:.5rem}.dice-roller__no-rolls{text-align:center;padding:3rem;color:var(--glass-text-muted);font-style:italic}.dice-roller__roll{padding:1.5rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);border-bottom:1px solid var(--glass-border);margin-bottom:1rem;background:var(--glass-surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:all .3s ease}.dice-roller__roll:hover{background:var(--glass-surface-hover);transform:translate(5px);box-shadow:var(--shadow-glass)}.dice-roller__roll--private{border-left:4px solid var(--color-primary);padding-left:calc(1.5rem - 4px);background:#6366f11a}.dice-roller__roll--new{animation:newRollFlash 1.2s cubic-bezier(.4,0,.2,1)}.dice-roller__roll-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.dice-roller__roller-name{font-weight:700;color:var(--glass-text);background:linear-gradient(135deg,#fff,#f0f9ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dice-roller__roll-meta{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--glass-text-light)}.dice-roller__roll-time{font-family:JetBrains Mono,monospace}.dice-roller__private-tag{padding:.1rem .4rem;border-radius:4px;font-size:.7rem;font-weight:600;color:#fff;background:var(--color-primary)}.dice-roller__reroll-btn{cursor:pointer;padding:.2rem;border:none;font-size:1.1rem;line-height:1;color:var(--glass-text-muted);background:none;transition:all .2s ease}.dice-roller__reroll-btn:hover{color:var(--color-accent);transform:rotate(90deg)}@keyframes newRollFlash{0%{background:var(--glass-surface-strong);transform:scale(1.02);box-shadow:0 0 20px #fff3}to{background:var(--glass-surface);transform:scale(1);box-shadow:none}}.dice-roller__roll-result .discarded-roll{text-decoration:line-through;color:var(--glass-text-muted);opacity:.6}.dice-roller__roll-result .kept-roll{font-weight:700;color:var(--glass-text)}.dice-roller__roll-result .crit-success{color:var(--color-success);font-weight:700;text-shadow:0 0 8px rgba(16,185,129,.5)}.dice-roller__roll-result .crit-failure{color:var(--color-error);font-weight:700;text-shadow:0 0 8px rgba(239,68,68,.5)}.dice-roller__roll-total.crit-success,.dice-roller__roll-total.crit-failure{background:#0003}.dice-pool{display:inline-flex;align-items:center;gap:.25rem;margin:0 .15rem}.pool-label{font-weight:700;font-size:.9em;color:var(--color-primary);opacity:.8}.dice-roller__theme-toggle-btn,.dice-roller__sound-toggle-btn{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;cursor:pointer;padding:.5rem;border:1px solid var(--glass-border);border-radius:8px;width:40px;height:40px;font-size:1.2rem;color:var(--glass-text);background:var(--glass-surface);transition:all .2s ease}.dice-roller__theme-toggle-btn:before,.dice-roller__sound-toggle-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent)}.dice-roller__theme-toggle-btn:hover,.dice-roller__sound-toggle-btn:hover{transform:translateY(-2px);border-color:#ffffff4d;background:var(--glass-surface-hover);box-shadow:0 4px 12px #0003,inset 0 1px 1px #ffffff1a}.dice-roller__theme-toggle-btn:active,.dice-roller__sound-toggle-btn:active{transform:translateY(0);box-shadow:0 2px 4px #0003,inset 0 2px 4px #0000001a}@media(max-width:768px){.dice-roller{margin:0 1rem;max-width:calc(100vw - 2rem)}.dice-roller__dice-builder>div:first-child{flex-direction:column;align-items:flex-start;gap:.5rem}.dice-roller__clear-queue-btn{align-self:flex-end;margin-top:-2.5rem}.dice-input,.dice-history{padding:.75rem}.dice-input h2,.dice-history h3{font-size:1.25rem}.roll-result{flex-direction:column;align-items:flex-start;gap:.5rem}.roll-total{align-self:flex-end}.cube-face,.polyhedron{width:70px;height:70px}.die-result{font-size:32px}}}@layer components{.player-panel{display:flex;flex-direction:column;height:100%;padding:1rem;gap:1rem;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.panel-header h3{margin:0;font-size:1.2rem;color:var(--glass-text)}.back-btn{display:inline-block;padding:.5rem 1rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface);color:var(--glass-text);cursor:pointer;transition:all .2s ease}.back-btn:hover{background:var(--glass-surface-hover);transform:translateY(-1px)}.begin-combat-btn{display:inline-block;padding:.5rem 1rem;border:none;border-radius:var(--border-radius);background:var(--color-primary);font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.begin-combat-btn:hover:not(:disabled){background:var(--color-secondary);transform:translateY(-1px)}.begin-combat-btn:disabled{opacity:.5;cursor:not-allowed}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h4{margin:0;font-size:1rem;color:var(--glass-text)}.my-characters-section{flex-shrink:0}.create-character-btn{display:inline-block;padding:.5rem 1rem;border:none;border-radius:var(--border-radius);background:var(--color-primary);font-size:.9rem;color:#fff;cursor:pointer;transition:all .2s ease}.create-character-btn:hover{background:var(--color-secondary);transform:translateY(-1px)}.character-list{display:flex;flex-direction:column;gap:.5rem}.character-item{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface);cursor:pointer;transition:all .2s ease}.character-item:hover{background:var(--glass-surface-hover);border-color:var(--color-primary);transform:translateY(-1px)}.character-avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--color-primary);font-weight:600;font-size:1.2rem;color:#fff}.character-info{flex:1}.character-name{margin-bottom:.25rem;font-weight:600;font-size:1rem;color:var(--glass-text)}.character-details{margin-bottom:.25rem;font-size:.9rem;color:var(--glass-text-muted)}.character-stats{font-size:.8rem;color:var(--glass-text-muted)}.character-actions{opacity:.7;transition:opacity .2s ease}.character-item:hover .character-actions{opacity:1}.view-icon{font-size:1.2rem}.empty-characters{padding:2rem;text-align:center;color:var(--glass-text-muted)}.empty-characters p{margin:.5rem 0}.all-players-section{display:flex;flex-direction:column;flex:1;overflow:hidden}.players-list{display:flex;flex-direction:column;flex:1;gap:.5rem;overflow-y:auto}.player-card{padding:1rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface);transition:all .2s ease}.player-card.dm-card{border-color:var(--color-primary);background:linear-gradient(135deg,var(--glass-surface) 0%,rgba(var(--color-primary-rgb),.1) 100%)}.player-card.offline{opacity:.7}.player-header{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.player-avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--color-secondary);font-size:1.2rem;color:#fff}.player-card.dm-card .player-avatar{background:var(--color-primary)}.player-info{flex:1}.player-name{font-weight:600;font-size:1rem;color:var(--glass-text)}.player-role{margin:.25rem 0;font-size:.9rem;color:var(--glass-text-muted)}.character-count{font-size:.8rem;color:var(--glass-text-muted)}.connection-indicator{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.connection-indicator.online{color:#10b981}.connection-indicator.offline{color:#ef4444}.indicator-dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:pulse 2s infinite}.connection-indicator.offline .indicator-dot{animation:none;opacity:.5}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.player-characters{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--glass-border)}.character-summary{display:flex;justify-content:space-between;align-items:center;padding:.5rem;border-radius:var(--border-radius);background:#ffffff0d;font-size:.9rem;margin-bottom:.25rem}.character-summary:last-child{margin-bottom:0}.character-summary .character-name{font-weight:500;color:var(--glass-text)}.character-summary .character-details{flex:1;text-align:center;color:var(--glass-text-muted)}.character-summary .character-hp{font-family:monospace;color:var(--glass-text-muted)}.player-controls{display:flex;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--glass-border)}.dm-toggle-btn,.kick-btn{padding:.25rem .5rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface);font-size:.8rem;cursor:pointer;transition:all .2s ease}.dm-toggle-btn:hover{background:var(--color-secondary);color:#fff}.dm-toggle-btn.active{background:var(--color-primary);color:#fff}.kick-btn:hover{background:#ef4444;color:#fff}.combat-prep-section{padding:1rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface);flex-shrink:0}.combat-prep-section h4{margin:0 0 1rem;font-size:1rem;color:var(--glass-text)}.combat-summary{display:flex;justify-content:space-between;align-items:center}.combat-summary p{margin:0;color:var(--glass-text-muted)}.combat-prep-btn{display:inline-block;padding:.5rem 1rem;border:none;border-radius:var(--border-radius);background:var(--color-primary);font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.combat-prep-btn:hover{background:var(--color-secondary);transform:translateY(-1px)}.character-creation-wizard{display:flex;flex-direction:column;height:100%;padding:1.5rem;gap:1.5rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface)}.character-wizard-fullpage{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1001;background:#00000040;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:2rem}.character-wizard-fullpage .wizard-container{max-width:1200px;width:80%;max-height:90vh;background:var(--solid-bg-primary);border:1px solid var(--solid-border);border-radius:var(--border-radius);box-shadow:0 20px 40px #00000080;overflow:hidden;display:flex;flex-direction:column}.wizard-container{background:var(--solid-bg-primary, #ffffff);display:flex;flex-direction:column;height:100%;overflow:hidden}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:-1}.wizard-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--glass-border)}.wizard-header h3{margin:0;color:var(--glass-text)}.wizard-progress{font-size:.9rem;color:var(--glass-text-muted)}.wizard-close{background:transparent;border:none;font-size:1rem;color:var(--glass-text-muted);cursor:pointer;transition:color .2s ease}.wizard-close:hover{color:#ef4444}.wizard-content-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.wizard-content{flex:1;overflow-y:auto;padding:1.5rem}.wizard-step h4{margin:0 0 1rem;color:var(--glass-text)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--glass-text)}.wizard-input{width:100%;padding:.75rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface);font-size:1rem;color:var(--glass-text)}.wizard-input:focus{outline:none;border-color:var(--color-primary)}.race-grid,.class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin-top:1rem}.race-option,.class-option{padding:1rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface);color:var(--glass-text);text-align:center;cursor:pointer;transition:all .2s ease}.race-option:hover,.class-option:hover{background:var(--glass-surface-hover);border-color:var(--color-primary)}.race-option.selected,.class-option.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.character-summary{padding:1rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface)}.character-summary h5{margin:0 0 1rem;color:var(--glass-text)}.character-summary p{margin:.5rem 0;color:var(--glass-text)}.wizard-footer{display:flex;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--glass-border)}.wizard-btn{padding:.75rem 1.5rem;border:none;border-radius:var(--border-radius);font-weight:600;cursor:pointer;transition:all .2s ease}.wizard-btn.primary{background:var(--color-primary);color:#fff}.wizard-btn.primary:hover:not(:disabled){background:var(--color-secondary);transform:translateY(-1px)}.wizard-btn.secondary{background:var(--glass-surface);border:1px solid var(--glass-border);color:var(--glass-text)}.wizard-btn.secondary:hover:not(:disabled){background:var(--glass-surface-hover)}.wizard-btn:disabled{opacity:.5;cursor:not-allowed}}@layer components{.initiative-tracker-redesign{display:flex;flex-direction:column;height:100%;padding:1.5rem;gap:1.25rem;overflow:hidden;background:var(--surface-primary)}.initiative-header-new{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:2px solid var(--border-primary)}.initiative-title-section{display:flex;align-items:center;gap:1rem}.initiative-title-section h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.round-badge{padding:.375rem .75rem;background:var(--color-primary);color:#fff;border-radius:999px;font-size:.875rem;font-weight:600}.btn-start-combat{padding:.625rem 1.25rem;background:var(--color-primary);border:none;border-radius:var(--border-radius);font-weight:600;font-size:1rem;color:#fff;cursor:pointer;transition:all .2s ease}.btn-start-combat:hover:not(:disabled){background:var(--color-secondary);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.3)}.btn-start-combat:disabled{opacity:.4;cursor:not-allowed}.combat-controls-new{display:flex;gap:.5rem}.btn-turn{padding:.5rem .75rem;background:var(--surface-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:1.125rem}.btn-turn:hover{background:var(--surface-hover);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.btn-end-combat{padding:.5rem 1rem;background:#ef4444;border:none;border-radius:var(--border-radius);color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-end-combat:hover{background:#dc2626;transform:translateY(-1px)}.active-turn-banner{background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.15),rgba(var(--color-primary-rgb),.05));border:2px solid var(--color-primary);border-radius:12px;padding:1rem 1.5rem;animation:pulse-border 2s infinite}@keyframes pulse-border{0%,to{border-color:var(--color-primary);box-shadow:0 0 rgba(var(--color-primary-rgb),.4)}50%{border-color:var(--color-secondary);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb),0)}}.active-turn-content{display:flex;align-items:center;gap:1rem}.active-turn-icon{font-size:2rem;animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.active-turn-info{flex:1}.active-turn-name{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.active-turn-subtitle{font-size:.875rem;color:var(--text-secondary)}.initiative-settings-bar{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1rem;background:var(--surface-secondary);border-radius:var(--border-radius);border:1px solid var(--border-primary)}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:var(--color-primary);cursor:pointer}.btn-roll-all{margin-left:auto;padding:.5rem 1rem;background:var(--color-secondary);border:none;border-radius:var(--border-radius);color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-roll-all:hover:not(:disabled){background:var(--color-primary);transform:translateY(-1px)}.btn-roll-all:disabled{opacity:.4;cursor:not-allowed}.add-entry-card{background:var(--surface-secondary);border:2px dashed var(--border-primary);border-radius:12px;padding:1rem}.add-entry-title{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.add-entry-form{display:grid;grid-template-columns:1fr auto auto auto;gap:.5rem}.add-entry-name,.add-entry-type,.add-entry-init{padding:.625rem .875rem;background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius);color:var(--text-primary);font-size:.9375rem}.add-entry-name{grid-column:1}.add-entry-type{cursor:pointer}.add-entry-init{width:80px;text-align:center}.add-entry-name:focus,.add-entry-type:focus,.add-entry-init:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.btn-add-entry{padding:.625rem 1.5rem;background:var(--color-primary);border:none;border-radius:var(--border-radius);color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-add-entry:hover{background:var(--color-secondary);transform:translateY(-1px)}.initiative-cards-list{flex:1;display:flex;flex-direction:column;gap:1rem;overflow-y:auto;padding-right:.5rem}.initiative-cards-list::-webkit-scrollbar{width:8px}.initiative-cards-list::-webkit-scrollbar-track{background:var(--surface-secondary);border-radius:4px}.initiative-cards-list::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:4px}.initiative-cards-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.initiative-card{background:var(--surface-secondary);border:3px solid var(--border-primary);border-radius:20px;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:move;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000f;position:relative;overflow:hidden}.initiative-card:hover{box-shadow:0 12px 32px #0000001f,0 6px 12px #00000014;transform:translateY(-4px) scale(1.02);border-color:var(--color-primary)}.initiative-card.active{border-color:var(--color-primary);border-width:4px;background:linear-gradient(135deg,var(--surface-secondary) 0%,rgba(var(--color-primary-rgb),.12) 100%);box-shadow:0 0 40px rgba(var(--color-primary-rgb),.35),0 12px 32px #00000026;animation:pulse-glow-border 2s infinite}@keyframes pulse-glow-border{0%,to{box-shadow:0 0 40px rgba(var(--color-primary-rgb),.35),0 12px 32px #00000026}50%{box-shadow:0 0 60px rgba(var(--color-primary-rgb),.5),0 16px 40px #0003}}.initiative-card.dead{opacity:.65;border-color:#ef4444;border-style:dashed;filter:grayscale(30%)}.initiative-card.player{border-left:6px solid #10b981;background:linear-gradient(90deg,rgba(16,185,129,.08) 0%,var(--surface-secondary) 10%)}.initiative-card.npc{border-left:6px solid #f59e0b;background:linear-gradient(90deg,rgba(245,158,11,.08) 0%,var(--surface-secondary) 10%)}.initiative-card.monster{border-left:6px solid #ef4444;background:linear-gradient(90deg,rgba(239,68,68,.08) 0%,var(--surface-secondary) 10%)}.initiative-card-header{display:flex;align-items:flex-start;gap:1.25rem}.initiative-drag-handle{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:1.25rem;color:var(--text-muted);cursor:grab;padding:.5rem .25rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:.8;opacity:.4;transition:opacity .2s ease}.initiative-card:hover .initiative-drag-handle{opacity:1}.initiative-drag-handle:active{cursor:grabbing}.initiative-number{display:flex;flex-shrink:0}.initiative-number-input{width:70px;height:70px;padding:0;background:var(--surface-primary);border:3px solid var(--border-primary);border-radius:12px;text-align:center;font-size:1.75rem;font-weight:800;color:var(--text-primary);transition:all .2s ease;box-shadow:inset 0 2px 4px #0000000d}.initiative-number-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb),.15),inset 0 2px 4px #0000000d;transform:scale(1.05)}.initiative-card-info{display:flex;flex-direction:column;gap:.75rem;flex:1;min-width:0}.initiative-name-row{display:flex;align-items:center;gap:.75rem}.initiative-name-input{flex:1;padding:.5rem .875rem;background:transparent;border:2px solid transparent;border-radius:8px;font-size:1.125rem;font-weight:700;color:var(--text-primary);transition:all .2s ease}.initiative-name-input:hover{background:rgba(var(--color-primary-rgb),.05);border-color:var(--border-primary)}.initiative-name-input:focus{outline:none;background:var(--surface-primary);border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.initiative-type-badge{padding:.375rem .625rem;border-radius:999px;font-size:1.125rem;line-height:1;flex-shrink:0;box-shadow:0 2px 4px #0000001a}.initiative-type-badge.player{background:#10b981}.initiative-type-badge.npc{background:#f59e0b}.initiative-type-badge.monster{background:#ef4444}.initiative-stats-row{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.initiative-ac,.initiative-hp-compact{display:flex;align-items:center;gap:.625rem;background:var(--surface-primary);padding:.5rem .875rem;border-radius:8px;border:1px solid var(--border-primary)}.stat-label{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.stat-input{width:50px;padding:.375rem .5rem;background:transparent;border:1px solid transparent;border-radius:6px;text-align:center;font-weight:700;font-size:1rem;color:var(--text-primary);transition:all .2s ease}.stat-input:hover{background:rgba(var(--color-primary-rgb),.05);border-color:var(--border-primary)}.stat-input:focus{outline:none;background:var(--surface-secondary);border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.1)}.hp-value-group{display:flex;align-items:center;gap:.375rem}.hp-separator{color:var(--text-muted);font-weight:700;font-size:.875rem}.initiative-condition-badge{padding:.375rem .75rem;background:var(--color-secondary);color:#fff;border-radius:999px;font-size:.875rem;font-weight:600;white-space:nowrap;box-shadow:0 2px 4px #0000001a}.initiative-card-actions{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0}.initiative-action-btn,.initiative-remove-btn{padding:.5rem .75rem;background:var(--surface-primary);border:2px solid var(--border-primary);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:1rem;font-weight:600;min-width:40px;display:flex;align-items:center;justify-content:center}.initiative-action-btn:hover{background:var(--surface-hover);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.initiative-remove-btn{border-color:transparent}.initiative-remove-btn:hover{background:#ef4444;color:#fff;border-color:#ef4444;transform:translateY(-1px);box-shadow:0 2px 8px #ef44444d}.initiative-hp-bar{margin-top:1rem;height:10px;background:#00000026;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 3px #0003}.initiative-hp-fill{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:999px;box-shadow:0 1px 2px #0000001a}.initiative-active-indicator{margin-top:1rem;padding:.625rem 1rem;background:var(--color-primary);color:#fff;text-align:center;font-weight:800;font-size:.875rem;border-radius:10px;letter-spacing:1.5px;animation:pulse-glow 2s infinite;box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.85}}.initiative-expanded-actions{margin-top:1.25rem;padding-top:1.25rem;border-top:2px solid var(--border-primary);display:flex;flex-direction:column;gap:1rem}.initiative-hp-modification{display:flex;gap:.75rem}.hp-mod-group{flex:1;display:flex;gap:.5rem}.hp-mod-input{flex:1;padding:.625rem .875rem;background:var(--surface-primary);border:2px solid var(--border-primary);border-radius:8px;text-align:center;color:var(--text-primary);font-weight:600;font-size:1rem}.hp-mod-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.hp-mod-btn{padding:.625rem 1.25rem;border:none;border-radius:8px;color:#fff;font-weight:700;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 6px #00000026}.hp-mod-btn.damage{background:#ef4444}.hp-mod-btn.damage:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.hp-mod-btn.heal{background:#10b981}.hp-mod-btn.heal:hover{background:#059669;transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.initiative-conditions-section{display:flex;flex-direction:column;gap:.75rem}.toggle-conditions-btn{padding:.625rem 1rem;background:var(--surface-primary);border:2px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-weight:600;cursor:pointer;transition:all .2s ease;text-align:left}.toggle-conditions-btn:hover{background:var(--surface-hover);transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.conditions-list{display:flex;flex-direction:column;gap:.5rem}.condition-tag{display:flex;align-items:center;gap:.625rem;padding:.625rem .875rem;background:var(--surface-primary);border:2px solid var(--border-primary);border-radius:8px;font-size:.875rem}.condition-icon{font-size:1.25rem}.condition-name{flex:1;font-weight:600;color:var(--text-primary)}.condition-duration{padding:.25rem .625rem;background:var(--color-primary);color:#fff;border-radius:999px;font-size:.75rem;font-weight:700}.remove-condition-btn{padding:.25rem .5rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;transition:all .2s ease}.remove-condition-btn:hover{color:#ef4444;transform:scale(1.1)}.add-condition-select{padding:.625rem .875rem;background:var(--surface-primary);border:2px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:.875rem;cursor:pointer}.add-condition-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.death-saves-section{padding:1rem;background:#ef44441a;border:3px solid #ef4444;border-radius:12px}.death-saves-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.death-save-track{display:flex;flex-direction:column;gap:.75rem}.death-save-label{font-size:.875rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.death-save-dots{display:flex;gap:.625rem}.death-dot{width:36px;height:36px;padding:0;background:transparent;border:3px solid var(--border-primary);border-radius:50%;font-size:1.5rem;color:#ffffff4d;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.death-dot:hover{border-color:var(--color-primary);transform:scale(1.15);box-shadow:0 2px 8px #0003}.death-dot.success.filled{background:#10b981;border-color:#10b981;color:#fff;box-shadow:0 2px 8px #10b9814d}.death-dot.failure.filled{background:#ef4444;border-color:#ef4444;color:#fff;box-shadow:0 2px 8px #ef44444d}.empty-state-new{padding:4rem 2rem;text-align:center;color:var(--text-muted)}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-text{font-size:1.25rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.empty-hint{font-size:.9375rem;color:var(--text-muted)}}@layer components{.header-brand{display:flex;align-items:center}.nexus-brand-logo{filter:drop-shadow(0 0 20px rgba(255,255,255,.3));transition:all .3s ease}.nexus-brand-logo:hover{filter:drop-shadow(0 0 30px rgba(255,255,255,.5));transform:scale(1.05)}.lobby-brand{display:flex;justify-content:center;align-items:center;margin-bottom:1rem}.lobby-logo{max-height:120px;filter:drop-shadow(0 0 40px rgba(255,255,255,.4));transition:all .3s ease}.lobby-logo:hover{filter:drop-shadow(0 0 60px rgba(255,255,255,.6));transform:scale(1.02)}.layout-header h1{font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,#fff,#f0f9ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 30px rgba(255,255,255,.5);transition:all .3s ease}.layout-header h1:hover{text-shadow:0 0 40px rgba(255,255,255,.7);transform:scale(1.05)}.lobby-content h1{font-size:3rem;font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,#fff,#f0f9ff,#e0f2fe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 40px rgba(255,255,255,.3);transition:all .3s ease}.lobby-content h1:hover{text-shadow:0 0 60px rgba(255,255,255,.5);transform:scale(1.02)}.asset-loading{display:inline-block;width:100%;height:40px;background:linear-gradient(90deg,var(--glass-surface) 0%,var(--glass-surface-hover) 50%,var(--glass-surface) 100%);background-size:200% 100%;border-radius:var(--border-radius);animation:shimmer 2s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}}@layer components{.asset-browser{padding:1.5rem;border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);background:var(--glass-surface-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-glass)}.asset-browser-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--glass-border)}.asset-browser-header h3{margin:0;font-size:1.3rem;font-weight:600;color:var(--glass-text)}.cache-info{display:flex;align-items:center;gap:1rem;font-size:.85rem;color:var(--glass-text-muted)}.asset-controls{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.asset-search{flex:1;min-width:200px}.asset-browser-search{margin-bottom:1rem}.asset-browser-filters{padding:8px 16px;display:flex;gap:8px;border-bottom:1px solid var(--glass-border);margin-bottom:1rem;flex-wrap:wrap}.asset-browser-content{flex:1;overflow-y:auto}.search-input{width:100%;padding:.75rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);font-size:.9rem;color:var(--glass-text);transition:all .3s ease}.search-input:focus{outline:none;border-color:#fff6;box-shadow:0 0 0 3px #ffffff1a;background:var(--glass-surface-hover)}.search-input::-moz-placeholder{color:var(--glass-text-light)}.search-input::placeholder{color:var(--glass-text-light)}.category-filter{min-width:150px}.category-select{width:100%;padding:.75rem;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);font-size:.9rem;color:var(--glass-text);transition:all .3s ease}.category-select:focus{outline:none;border-color:#fff6;box-shadow:0 0 0 3px #ffffff1a;background:var(--glass-surface-hover)}.asset-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--glass-text-muted)}.loading-spinner{width:40px;height:40px;margin-bottom:1rem;border:3px solid var(--glass-surface);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.asset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}.asset-card{overflow:hidden;cursor:pointer;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-glass);transition:all .3s ease}.asset-card:hover{background:var(--glass-surface-hover);border-color:#ffffff4d;transform:translateY(-2px);box-shadow:var(--shadow-glass-lg)}.asset-thumbnail{position:relative;width:100%;padding-bottom:100%;overflow:hidden}.asset-thumbnail img{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;transition:transform .3s ease}.asset-card:hover .asset-thumbnail img{transform:scale(1.05)}.asset-overlay{position:absolute;top:.5rem;right:.5rem;padding:.25rem .5rem;border-radius:4px;background:#000000b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);font-size:.75rem;font-weight:500;color:#fff}.asset-delete-btn{position:absolute;top:.5rem;right:.5rem;width:2rem;height:2rem;border-radius:50%;background:#dc2626e6;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.asset-delete-btn:hover{background:#dc2626;transform:scale(1.1);box-shadow:0 2px 8px #0000004d}.asset-delete-btn:active{transform:scale(.95)}.asset-info{padding:1rem}.asset-name{margin:0 0 .5rem;font-size:.95rem;font-weight:600;color:var(--glass-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-meta{font-size:.8rem;color:var(--glass-text-muted)}.asset-size{font-size:.75rem}.asset-browser-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-top:1px solid var(--glass-border);margin-top:1rem}.asset-count{font-size:.9rem;color:var(--glass-text-muted)}.asset-actions{display:flex;gap:.75rem}.load-more{margin-top:2rem;text-align:center}.no-assets{padding:3rem;color:var(--glass-text-muted);text-align:center}.no-assets p{margin:0;font-size:1.1rem}}@layer components{.offline-preparation{min-height:100vh;padding:2rem;overflow-y:auto;background:var(--color-background-primary)}.preparation-header{margin-bottom:3rem}.header-with-back{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.header-content{flex:1;text-align:center}.back-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:48px;padding:.5rem .75rem;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:#ffffff1a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 1px #fff6,0 4px 8px #0000004d;color:#fff;font-size:1.25rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .2s ease}.back-button:hover{background:#fff3;box-shadow:inset 0 1px #ffffff80,0 6px 12px #0006;transform:translateY(-1px)}.back-button:active{box-shadow:inset 0 2px 4px #0000004d,0 2px 4px #0003;transform:translateY(1px)}.back-button:hover{background:#fff3;border-color:#fff6;transform:translate(-2px)}.preparation-header h1{margin-bottom:.5rem;font-size:2.5rem;font-weight:700;color:var(--color-text-primary)}.preparation-header p{margin-bottom:1.5rem;font-size:1.1rem;color:var(--color-text-secondary)}.phase-indicator{display:inline-block}.phase-badge{display:inline-flex;align-items:center;padding:.5rem 1rem;border:1px solid var(--color-border-primary);border-radius:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.9rem;font-weight:600}.phase-badge.preparation{background:#3b82f633;border-color:#3b82f64d;color:#3b82f6}.phase-badge.ready{background:#22c55e33;border-color:#22c55e4d;color:#22c55e}.phase-badge.starting{background:#fb923c33;border-color:#fb923c4d;color:#fb923c}.preparation-content{max-width:1200px;margin:0 auto}.content-section{padding:2rem;margin-bottom:2rem;border:1px solid var(--color-border-primary);border-radius:1rem;background:var(--color-panel-background);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.content-section h2{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.scene-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.scene-card{padding:1.5rem;border:1px solid var(--color-border-secondary);border-radius:.75rem;background:var(--color-button-background);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:pointer;transition:all .2s ease}.scene-card:hover{transform:translateY(-2px);border-color:var(--color-primary);box-shadow:0 8px 25px #0000001a}.scene-card.active{border-color:var(--color-primary);background:var(--color-primary-dim)}.scene-card h3{margin-bottom:.5rem;font-size:1.1rem;font-weight:600;color:var(--color-text-primary)}.scene-card p{margin-bottom:1rem;line-height:1.4;font-size:.9rem;color:var(--color-text-secondary)}.scene-stats{display:flex;gap:1rem;font-size:.8rem;color:var(--color-text-muted)}.add-scene{display:flex;align-items:center;justify-content:center;min-height:120px;border:2px dashed var(--color-border-secondary);background:transparent}.add-scene:hover{border-color:var(--color-primary);background:var(--color-primary-dim)}.add-scene-content{text-align:center;color:var(--color-text-secondary)}.add-icon{display:block;margin-bottom:.5rem;font-size:2rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.setting-group{display:flex;flex-direction:column}.setting-group label{margin-bottom:.5rem;font-size:.9rem;font-weight:500;color:var(--color-text-primary)}.setting-group input,.setting-group textarea{padding:.75rem;border:1px solid var(--color-border-secondary);border-radius:.5rem;background:var(--color-input-background);font-size:.9rem;color:var(--color-text-primary);transition:border-color .2s ease}.setting-group input:focus,.setting-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-dim)}.setting-group textarea{min-height:80px;resize:vertical}.checkbox-label{display:flex!important;flex-direction:row!important;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;margin:0}.go-live-section{text-align:center}.ready-checklist h3{margin-bottom:1rem;color:var(--color-text-primary)}.ready-checklist ul{padding:0;margin:0 auto 2rem;list-style:none;text-align:left;max-width:400px}.ready-checklist li{padding:.5rem 0;color:var(--color-text-secondary)}.ready-checklist li.complete{color:var(--color-success)}.ready-checklist li.incomplete{color:var(--color-text-muted)}.ready-to-go h3{margin-bottom:1rem;color:var(--color-success)}.live-game-preview{padding:1.5rem;margin:1.5rem auto;border:1px solid var(--color-border-secondary);border-radius:.75rem;background:var(--color-button-background);text-align:left;max-width:500px}.live-game-preview h4{margin-bottom:1rem;font-size:1rem;color:var(--color-text-primary)}.live-game-preview ul{padding:0;margin:0;list-style:none}.live-game-preview li{padding:.25rem 0;color:var(--color-text-secondary)}.starting-live{color:var(--color-text-primary)}.starting-live h3{margin-bottom:1rem;color:var(--color-warning)}.loading-indicator{margin-top:1rem}.spinner{width:40px;height:40px;margin:0 auto;border:3px solid var(--color-border-secondary);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.btn-large{padding:1rem 2rem;font-size:1.1rem;font-weight:600}.empty-state{padding:3rem 1rem;text-align:center;color:var(--color-text-secondary)}.empty-state p{margin-bottom:1.5rem;font-size:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}@layer components{.welcome-page{position:fixed;top:0;left:0;z-index:1000;width:100vw;height:100vh;overflow:hidden}.welcome-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.welcome-panel{position:relative;width:50%;margin-left:auto;margin-right:auto;max-width:1000px;padding:1.5rem;border-radius:16px;text-align:center}.build-badge{position:absolute;left:1rem;bottom:.9rem;transform:translateY(50px);padding:.2rem .6rem;border-radius:999px;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:#ffffffb3;background:#00000059;border:1px solid rgba(255,255,255,.1);pointer-events:none}.brand-logo-left{position:absolute;top:1rem;left:1rem;z-index:20}.brand-logo-icon{font-size:4.5rem;opacity:.85;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.account-menu{position:absolute;top:1rem;right:1rem;z-index:20}.account-bubble{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:background .3s ease,border-color .3s ease,transform .3s ease;padding:0}.account-bubble:hover{background:#ffffff1a;border-color:#667eea80;transform:scale(1.05)}.account-bubble:focus-visible{outline:2px solid rgba(100,181,246,.9);outline-offset:2px}.account-icon{font-size:1.5rem;opacity:.8}.account-bubble:hover .account-icon{opacity:1}.account-bubble.logged-in{border-color:#ffd78099;box-shadow:0 0 14px #ffd78040}dialog.account-dialog{padding:0;border:none;border-radius:16px;background:transparent;max-width:min(520px,92vw);max-height:90vh;overflow-y:auto}dialog.account-dialog::backdrop{background:#0000008c}.account-dropdown{width:min(520px,92vw);padding:1rem;background:#141828f2;border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 16px 40px #00000059}.account-dropdown.compact{width:min(360px,90vw)}.account-menu-actions{display:flex;flex-direction:column;gap:.5rem;padding:0 .75rem .75rem}.account-dropdown-header{padding:.75rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.title-row{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.dropdown-title{font-size:.9rem;font-weight:600;color:var(--text-primary, #e5e5e5);text-transform:uppercase;letter-spacing:.05em;opacity:.7}.title-note{font-size:.85rem;color:var(--text-secondary, rgba(255, 255, 255, .8));opacity:.8}.account-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;border-radius:50%;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,transform .2s ease;margin-left:auto}.account-close:hover{background:#fff3;transform:scale(1.05)}.account-close:focus-visible{outline:2px solid rgba(100,181,246,.9);outline-offset:2px}.account-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#fff;border-radius:999px;padding:.25rem .75rem;font-size:.8rem;font-weight:600;text-transform:none;cursor:pointer;transition:background .2s ease,border-color .2s ease;margin-left:auto}.account-switch:hover{background:#ffffff29;border-color:#fff6}.account-switch:focus-visible{outline:2px solid rgba(100,181,246,.9);outline-offset:2px}.account-form{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem;text-align:left}.account-label{font-size:.85rem;color:var(--text-secondary, rgba(255, 255, 255, .8));letter-spacing:.01em}.helper-text{font-size:.8rem;color:var(--text-secondary, rgba(255, 255, 255, .7));margin-top:-.25rem;margin-bottom:.25rem}.feedback{display:flex;align-items:center;gap:.35rem}.success-message{color:#fff}.account-option{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:8px;text-decoration:none;color:var(--text-primary, #e5e5e5);transition:background .2s ease,border-color .2s ease,transform .2s ease;cursor:pointer;background:#ffffff1f;border:1px solid rgba(255,255,255,.15)}.account-option:hover{background:#ffffff2e;border-color:#ffffff40}.account-option:active{background:#ffffff14;border-color:#ffffff1a;transform:scale(.98)}.account-option.wide{width:100%;justify-content:center}.option-icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex-shrink:0}.google-icon{background:linear-gradient(135deg,#4285f4,#34a853);color:#fff}.discord-icon{background:linear-gradient(135deg,#5865f2,#7289da);color:#fff}.option-text{font-size:.95rem;font-weight:500;color:var(--text-primary, #e5e5e5)}.account-dropdown-footer{padding:.75rem;border-top:1px solid rgba(255,255,255,.1);margin-top:.5rem}.dropdown-hint{font-size:.8rem;color:var(--text-secondary, rgba(255, 255, 255, .7));opacity:.7;font-style:italic}.account-divider{text-align:center;color:#fff;opacity:.9;margin:.75rem 0 .25rem;font-size:.85rem;letter-spacing:.02em}.oauth-block{display:flex;flex-direction:column;gap:.5rem}.account-text-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#d0e3ff;font-size:.9rem;cursor:pointer;padding:.25rem 0;text-decoration:underline;align-self:flex-start}.account-text-toggle:hover{color:#fff}.welcome-background{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%}.welcome-background img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.background-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#101828b3,#1e293b99,#0f172acc)}.background-particles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.brand-section{margin-bottom:2.5rem}.brand-logo{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1rem}.welcome-logo{max-width:200px;height:auto;margin-bottom:1rem}.logo-icon{font-size:4rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.brand-title{margin:0;font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#fff,#e2e8f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 4px rgba(0,0,0,.3)}.brand-tagline{margin:0;font-size:1.1rem;font-style:italic;color:#fffc}.form-section{display:flex;flex-direction:column;gap:2rem}.input-group{display:flex;flex-direction:column;gap:.75rem;text-align:left}.input-group label{font-size:1rem;font-weight:600;color:#ffffffe6}.glass-input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;z-index:1;font-size:1.2rem;color:#fff9}.glass-input{width:100%;padding:.35rem 1rem .35rem 3rem;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff1a;font-size:1rem;color:#fff;transition:border-color .3s ease,background .3s ease,box-shadow .3s ease}.glass-input::-moz-placeholder{color:#ffffff80}.glass-input::placeholder{color:#ffffff80}.glass-input:focus{outline:none;border-color:#3b82f680;background:#ffffff26;box-shadow:0 0 0 3px #3b82f61a}.glass-input-wrapper .glass-input,#adventurerName{padding-left:3rem!important}.role-selection{display:flex;flex-direction:column;gap:1rem;text-align:left;border:none;padding:0;margin:0;min-width:0}.role-selection>legend{font-size:1rem;font-weight:600;color:#ffffffe6;padding:0;margin-bottom:0;float:left;width:100%}.role-cards{display:flex;gap:1rem}.role-card{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;border:2px solid rgba(255,255,255,.2);border-radius:16px;background:#ffffff14;text-align:center;cursor:pointer;transition:border-color .3s ease,background .3s ease,transform .3s ease}.role-card:hover{border-color:#fff6;background:#ffffff1f;transform:translateY(-2px)}.role-card:focus-visible{outline:2px solid rgba(59,130,246,.7);outline-offset:2px}.role-card.selected{border-color:#3b82f699;background:#3b82f626;box-shadow:0 0 20px #3b82f633}.role-icon{font-size:2.5rem;margin-bottom:.5rem}.role-info h3{margin:0;font-size:1.2rem;font-weight:600;color:#fff}.role-info p{margin:0;font-size:.9rem;line-height:1.4;color:#ffffffb3}.selection-indicator{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#3b82f6cc;font-size:.9rem;font-weight:700;color:#fff;opacity:0;transition:opacity .3s ease}.role-card.selected .selection-indicator{opacity:1}.begin-adventure-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1rem;padding:1.25rem 2rem;border-radius:16px;font-size:1.1rem;font-weight:600;transition:transform .3s ease,box-shadow .3s ease}.begin-adventure-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.begin-adventure-btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000004d}.begin-adventure-btn span{font-size:1.2rem}.campaign-selection{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.campaign-label{font-size:.95rem;font-weight:600;color:var(--text-primary, rgba(255, 255, 255, .9))}.campaign-dropdown{padding:.75rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff1a;font-size:1rem;color:#fff;cursor:pointer;transition:border-color .3s ease,background .3s ease,box-shadow .3s ease}.campaign-dropdown:hover{border-color:#ffffff4d;background:#ffffff26}.campaign-dropdown:focus{outline:none;border-color:#3b82f680;background:#ffffff26;box-shadow:0 0 0 3px #3b82f61a}.campaign-dropdown option{background:var(--slate-800, #1e293b);color:var(--slate-50, #f8fafc);padding:.5rem}.no-campaigns-hint{font-size:.9rem;color:var(--text-secondary, rgba(255, 255, 255, .7));line-height:1.5}.dashboard-link{color:var(--color-primary, #6366f1);text-decoration:underline;font-weight:600;transition:color .2s ease}.dashboard-link:hover{color:var(--color-primary-hover, #4f46e5)}.loading-state{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary, rgba(255, 255, 255, .7))}.dm-actions{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.dev-mock-data-toggle{position:absolute!important;top:20px!important;right:20px!important;z-index:1000!important;display:flex!important;align-items:center!important;gap:10px!important;padding:10px 16px!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:8px!important;background:#000000b3!important}.dev-mock-data-toggle__label{font-size:12px!important;font-weight:500!important;color:#fff!important;opacity:.7!important}.dev-mock-data-toggle__switch{position:relative!important;display:inline-block!important;width:44px!important;height:24px!important;cursor:pointer!important;opacity:1!important}.dev-mock-data-toggle__switch--loading{cursor:wait!important;opacity:.5!important}.dev-mock-data-toggle__input{position:absolute!important;width:0!important;height:0!important;opacity:0!important}.dev-mock-data-toggle__slider{position:absolute!important;inset:0!important;background-color:#374151!important;border-radius:24px!important;cursor:pointer!important;transition:background-color .3s!important}.dev-mock-data-toggle__input:checked+.dev-mock-data-toggle__slider{background-color:#4ade80!important}.dev-mock-data-toggle__knob{position:absolute!important;left:3px!important;bottom:3px!important;width:18px!important;height:18px!important;background-color:#fff!important;border-radius:50%!important;content:""!important;transition:left .3s!important}.dev-mock-data-toggle__input:checked+.dev-mock-data-toggle__slider .dev-mock-data-toggle__knob{left:23px!important}.dev-mock-data-toggle__spinner{font-size:20px;animation:spin 1s linear infinite}}@layer components{.player-setup,.dm-setup{position:fixed;top:0;left:0;z-index:1000;overflow-y:auto;width:100vw;height:100vh;background:linear-gradient(135deg,#101828f2,#1e293be6,#0f172af2)}.setup-background{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%}.background-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0000004d}.setup-content{position:relative;z-index:2;display:flex;justify-content:center;padding:2rem;min-height:100vh}.setup-panel{max-width:900px;width:100%;padding:2.5rem;margin:auto}.setup-header{margin-bottom:3rem}.header-content{flex:1;text-align:center;color:#fff}.header-content h1{margin:0 0 .5rem;font-size:2rem;font-weight:700;color:#fff}.header-content p{margin:0;color:#fffc;font-size:1.1rem}.setup-section{margin-bottom:3rem}.setup-section h2{display:flex;align-items:center;margin:0 0 1.5rem;gap:.75rem;border-bottom:2px solid rgba(255,255,255,.1);padding-bottom:.75rem;font-size:1.5rem;font-weight:600;color:#fff}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{margin:0;border:none;padding:0}.character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.character-card{position:relative;cursor:pointer;padding:1.5rem;border:2px solid rgba(255,255,255,.1);border-radius:16px;background:#ffffff0d;transition:border-color .3s ease,background .3s ease,transform .3s ease}.character-card:hover{border-color:#ffffff4d;background:#ffffff14;transform:translateY(-2px)}.character-card.selected{border-color:#3b82f699;background:#3b82f61a;box-shadow:0 0 20px #3b82f633}.character-info h3{margin:0 0 .5rem;font-size:1.3rem;font-weight:600;color:#fff}.character-info p{margin:.25rem 0;color:#fffc;font-size:.95rem}.character-background{font-style:italic;color:#fff9!important}.last-used{font-size:.85rem!important;color:#ffffff80!important}.character-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.stat-mini{display:flex;flex-direction:column;align-items:center;padding:.5rem;min-width:45px;background:#ffffff1a;border-radius:8px}.stat-name{font-size:.7rem;color:#fff9;font-weight:600}.stat-value{font-size:.9rem;color:#fff;font-weight:700}.character-actions{position:absolute;top:1rem;right:1rem}.delete-btn{cursor:pointer;padding:.2rem;border:2px solid rgba(255,255,255,.8);border-radius:6px;background:none;font-size:1.2rem;opacity:.6;transition:opacity .3s ease}.delete-btn:hover{opacity:1;background:#f003}.selection-indicator{position:absolute;top:1rem;left:1rem;display:flex;align-items:center;justify-content:center;width:24px;height:24px;opacity:1;transition:opacity .3s ease}.character-select-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border:2px solid rgba(255,255,255,.6);border-radius:4px;background:#ffffff1a;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease;position:relative}.character-select-checkbox:hover{border-color:#ffffffe6;background:#fff3;transform:scale(1.1)}.character-select-checkbox:active{background:#3b82f6cc;border-color:#3b82f6;transform:scale(.95)}.character-select-checkbox:active:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:.8rem;font-weight:700}.empty-state{text-align:center;padding:3rem 2rem;border:2px dashed rgba(255,255,255,.2);background:#ffffff0d;border-radius:16px}.empty-icon{margin-bottom:1rem;font-size:4rem}.empty-state h3{margin:0 0 .5rem;font-size:1.5rem;color:#fff}.empty-state p{margin:0 0 2rem;color:#ffffffb3}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1.5rem}.config-form .input-group{display:flex;flex-direction:column;gap:.5rem}.glass-textarea{padding:.875rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff1a;color:#fff;font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .3s ease,background .3s ease,box-shadow .3s ease}.glass-textarea::-moz-placeholder{color:#ffffff80}.glass-textarea::placeholder{color:#ffffff80}.glass-textarea:focus{outline:none;border-color:#3b82f680;background:#ffffff26;box-shadow:0 0 0 3px #3b82f61a}.join-form{padding:2rem;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;border-radius:16px}.form-row{display:flex;align-items:end;gap:1rem;margin-bottom:1rem}.join-btn{flex-shrink:0;min-width:140px}.selected-character-info{padding:1rem;border:1px solid rgba(59,130,246,.3);margin-top:1rem;background:#3b82f61a;border-radius:8px}.selected-character-info p{margin:0;color:#fff;font-size:.95rem}.character-hint{padding:1rem;border:1px solid rgba(255,193,7,.3);margin-top:1rem;background:#ffc1071a;border-radius:8px}.character-hint p{margin:0;color:#fffc;font-size:.9rem}.role-card-group{display:flex;flex-direction:column;flex:1;gap:1rem}.player-actions,.dm-actions{display:flex;flex-direction:column;gap:1rem;padding:1rem;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;border-radius:12px}.divider-small:before{position:absolute;top:50%;left:0;right:0;height:1px;background:#fff3;content:""}.divider-small span{position:relative;padding:0 1rem;background:#00000080;color:#fff9;font-size:.85rem}.quick-join-form{display:flex;flex-direction:column;gap:.75rem}.quick-join-controls{display:flex;flex-direction:column;gap:.5rem}.quick-join-mode{display:flex;gap:.5rem;flex-wrap:wrap}.quick-join-row{display:flex;align-items:end;gap:.75rem}.quick-join-token{display:flex;flex-direction:column;gap:.4rem}.quick-join-token-preview{display:flex;align-items:center;gap:.5rem}.quick-join-token-preview img{width:36px;height:36px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.action-btn{display:flex;align-items:center;justify-content:center;padding:.3rem .6rem;gap:.5rem;min-width:140px;border-radius:10px;font-size:.95rem;font-weight:600;transition:background .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease}.player-actions,.dm-actions{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.quick-join-section{display:flex;flex-direction:column;gap:.75rem}.divider-small{text-align:center;position:relative;margin:.5rem 0}.divider-small:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#fff3}.divider-small span{background:#00000080;padding:0 1rem;color:#fff9;font-size:.85rem;position:relative}.quick-join-form{display:flex;gap:.75rem;align-items:end}.room-input{flex:1}.action-btn{padding:.3rem .6rem;font-size:.95rem;font-weight:600;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:background .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease;min-width:140px}.game-summary{padding:2rem;border:1px solid rgba(59,130,246,.3);background:#3b82f61a}.game-summary h3{margin:0 0 1rem;font-size:1.4rem;font-weight:700;color:#fff}.summary-description{margin:0 0 1.5rem;color:#fffc;font-style:italic}.summary-details{display:flex;flex-direction:column;gap:.75rem}.detail-item{display:flex;gap:1rem}.detail-label{min-width:80px;font-weight:600;color:#ffffffb3}.detail-value{color:#fff}.create-room-section{text-align:center;padding:2rem;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;border-radius:16px}.create-description{margin:0 0 2rem;color:#fffc;font-size:1.1rem}.create-room-btn{padding:1.25rem 2rem;min-width:200px;border-radius:12px;font-size:1.1rem;font-weight:600}.form-hint{margin:1rem 0 0;color:#fff9;font-size:.9rem;font-style:italic}.linear-game-layout{position:fixed;top:0;left:0;display:flex;flex-direction:column;width:100vw;height:100vh;background:var(--color-background-primary)}.game-header{display:flex;justify-content:space-between;align-items:center;z-index:100;padding:1rem 2rem;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff0d}.room-info h2{margin:0;font-size:1.3rem;color:#fff}.room-info p{margin:.25rem 0 0;color:#fffc;font-size:.9rem}.room-info-compact{display:flex;align-items:center;gap:1rem;font-size:.9rem}.room-code{padding:.25rem .75rem;border:1px solid rgba(59,130,246,.3);background:#3b82f633;border-radius:6px;color:#fff;font-weight:600}.player-name{color:#fffc;font-weight:500}.header-action{margin-left:1rem}.glass-button.small{padding:.5rem;min-width:auto;width:auto;font-size:1rem}.game-setup-content{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.setup-panel{text-align:center;max-width:600px;width:100%;padding:3rem}.dm-setup-prompt h2,.player-waiting h2{margin:0 0 1rem;font-size:2rem;color:#fff}.dm-setup-prompt p,.player-waiting p{margin:0 0 2rem;color:#fffc;font-size:1.1rem}.setup-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem}@keyframes loading-bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.waiting-animation{margin-top:2rem}.loading-dots{display:flex;justify-content:center;gap:.5rem}.loading-dots span{width:12px;height:12px;border-radius:50%;background:#fff9;animation:loading-bounce 1.4s ease-in-out infinite both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.empty-scene-state{display:flex;align-items:center;justify-content:center;height:100%;min-height:400px}.empty-scene-content{text-align:center;padding:3rem;border:2px dashed rgba(255,255,255,.2);max-width:500px;background:#ffffff0d;border-radius:16px}.empty-scene-content h3{margin:0 0 1rem;font-size:1.5rem;color:#fff}.empty-scene-content p{margin:0;color:#fffc;font-size:1.1rem}.dev-tools{position:relative;align-items:center;width:80%;margin-top:2rem;padding:1.5rem;border:1px solid rgba(255,193,7,.3);background:#ffc1071a;border-radius:12px}.dev-divider{border:none;height:1px;margin:0 0 1rem;background:#ffc1074d}.dev-title{text-align:center;margin:0 0 1rem;color:#ffc107e6;font-size:1rem;font-weight:600}.dev-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.dev-btn{padding:.5rem .75rem!important;min-width:auto!important;font-size:.85rem!important;color:#fff!important;white-space:nowrap}.dev-btn:hover{background:#ffc10733;border-color:#ffc10780}.login-section{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:400px;margin:0 auto}.login-section .action-btn{justify-content:flex-start;padding:.75rem 1.5rem}.login-section .btn-icon{font-size:1.2rem;font-weight:700;width:24px;text-align:center}.login-section .google{background-color:#4285f4;border-color:#4285f4}.login-section .google:hover{background-color:#5a95f5}.login-section .discord{background-color:#5865f2;border-color:#5865f2}.login-section .discord:hover{background-color:#6b75f3}.divider-large{text-align:center;position:relative;margin:2rem 0;width:100%;max-width:400px;margin-left:auto;margin-right:auto}.divider-large:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#fff3}.divider-large span{background:#1f2937;padding:0 1.5rem;color:#fff9;font-size:1rem;font-weight:600;position:relative}}@layer utilities{.m-0{margin:0}.m-1{margin:var(--spacing-1)}.m-2{margin:var(--spacing-2)}.m-3{margin:var(--spacing-3)}.m-4{margin:var(--spacing-4)}.m-5{margin:var(--spacing-5)}.m-6{margin:var(--spacing-6)}.m-8{margin:var(--spacing-8)}.m-10{margin:var(--spacing-10)}.m-12{margin:var(--spacing-12)}.m-16{margin:var(--spacing-16)}.m-20{margin:var(--spacing-20)}.m-auto{margin:auto}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:var(--spacing-1);margin-right:var(--spacing-1)}.mx-2{margin-left:var(--spacing-2);margin-right:var(--spacing-2)}.mx-3{margin-left:var(--spacing-3);margin-right:var(--spacing-3)}.mx-4{margin-left:var(--spacing-4);margin-right:var(--spacing-4)}.mx-6{margin-left:var(--spacing-6);margin-right:var(--spacing-6)}.mx-8{margin-left:var(--spacing-8);margin-right:var(--spacing-8)}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:var(--spacing-1);margin-bottom:var(--spacing-1)}.my-2{margin-top:var(--spacing-2);margin-bottom:var(--spacing-2)}.my-3{margin-top:var(--spacing-3);margin-bottom:var(--spacing-3)}.my-4{margin-top:var(--spacing-4);margin-bottom:var(--spacing-4)}.my-6{margin-top:var(--spacing-6);margin-bottom:var(--spacing-6)}.my-8{margin-top:var(--spacing-8);margin-bottom:var(--spacing-8)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-3{margin-top:var(--spacing-3)}.mt-4{margin-top:var(--spacing-4)}.mt-6{margin-top:var(--spacing-6)}.mt-8{margin-top:var(--spacing-8)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-3{margin-bottom:var(--spacing-3)}.mb-4{margin-bottom:var(--spacing-4)}.mb-6{margin-bottom:var(--spacing-6)}.mb-8{margin-bottom:var(--spacing-8)}.ml-0{margin-left:0}.ml-1{margin-left:var(--spacing-1)}.ml-2{margin-left:var(--spacing-2)}.ml-3{margin-left:var(--spacing-3)}.ml-4{margin-left:var(--spacing-4)}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-1{margin-right:var(--spacing-1)}.mr-2{margin-right:var(--spacing-2)}.mr-3{margin-right:var(--spacing-3)}.mr-4{margin-right:var(--spacing-4)}.mr-auto{margin-right:auto}.p-0{padding:0}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-5{padding:var(--spacing-5)}.p-6{padding:var(--spacing-6)}.p-8{padding:var(--spacing-8)}.p-10{padding:var(--spacing-10)}.p-12{padding:var(--spacing-12)}.p-16{padding:var(--spacing-16)}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:var(--spacing-1);padding-right:var(--spacing-1)}.px-2{padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.px-3{padding-left:var(--spacing-3);padding-right:var(--spacing-3)}.px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.px-6{padding-left:var(--spacing-6);padding-right:var(--spacing-6)}.px-8{padding-left:var(--spacing-8);padding-right:var(--spacing-8)}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:var(--spacing-1);padding-bottom:var(--spacing-1)}.py-2{padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}.py-3{padding-top:var(--spacing-3);padding-bottom:var(--spacing-3)}.py-4{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.py-6{padding-top:var(--spacing-6);padding-bottom:var(--spacing-6)}.py-8{padding-top:var(--spacing-8);padding-bottom:var(--spacing-8)}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.inline-grid{display:inline-grid}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.flex-grow-0{flex-grow:0}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink{flex-shrink:1}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.self-baseline{align-self:baseline}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.col-span-5{grid-column:span 5 / span 5}.col-span-6{grid-column:span 6 / span 6}.col-span-full{grid-column:1 / -1}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.row-span-1{grid-row:span 1 / span 1}.row-span-2{grid-row:span 2 / span 2}.row-span-3{grid-row:span 3 / span 3}.row-span-4{grid-row:span 4 / span 4}.row-span-5{grid-row:span 5 / span 5}.row-span-6{grid-row:span 6 / span 6}.row-span-full{grid-row:1 / -1}.gap-0{gap:0}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-5{gap:var(--spacing-5)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.gap-10{gap:var(--spacing-10)}.gap-12{gap:var(--spacing-12)}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{right:0;left:0}.inset-y-0{top:0;bottom:0}.top-0{top:0}.top-1{top:var(--spacing-1)}.top-2{top:var(--spacing-2)}.top-4{top:var(--spacing-4)}.top-auto{top:auto}.right-0{right:0}.right-1{right:var(--spacing-1)}.right-2{right:var(--spacing-2)}.right-4{right:var(--spacing-4)}.right-auto{right:auto}.bottom-0{bottom:0}.bottom-1{bottom:var(--spacing-1)}.bottom-2{bottom:var(--spacing-2)}.bottom-4{bottom:var(--spacing-4)}.bottom-auto{bottom:auto}.left-0{left:0}.left-1{left:var(--spacing-1)}.left-2{left:var(--spacing-2)}.left-4{left:var(--spacing-4)}.left-auto{left:auto}.w-0{width:0}.w-full{width:100%}.w-screen{width:100vw}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-1{width:var(--spacing-1)}.w-2{width:var(--spacing-2)}.w-3{width:var(--spacing-3)}.w-4{width:var(--spacing-4)}.w-5{width:var(--spacing-5)}.w-6{width:var(--spacing-6)}.w-8{width:var(--spacing-8)}.w-10{width:var(--spacing-10)}.w-12{width:var(--spacing-12)}.w-16{width:var(--spacing-16)}.w-20{width:var(--spacing-20)}.w-24{width:var(--spacing-24)}.w-32{width:var(--spacing-32)}.w-48{width:var(--spacing-48)}.w-64{width:var(--spacing-64)}.w-80{width:var(--spacing-80)}.w-96{width:var(--spacing-96)}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-2\/4{width:50%}.w-3\/4{width:75%}.w-1\/5{width:20%}.w-2\/5{width:40%}.w-3\/5{width:60%}.w-4\/5{width:80%}.min-w-0{min-width:0}.min-w-full{min-width:100%}.min-w-fit{min-width:-moz-fit-content;min-width:fit-content}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-full{max-width:100%}.h-0{height:0}.h-full{height:100%}.h-screen{height:100vh}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-1{height:var(--spacing-1)}.h-2{height:var(--spacing-2)}.h-3{height:var(--spacing-3)}.h-4{height:var(--spacing-4)}.h-5{height:var(--spacing-5)}.h-6{height:var(--spacing-6)}.h-8{height:var(--spacing-8)}.h-10{height:var(--spacing-10)}.h-12{height:var(--spacing-12)}.h-16{height:var(--spacing-16)}.h-20{height:var(--spacing-20)}.h-24{height:var(--spacing-24)}.h-32{height:var(--spacing-32)}.h-48{height:var(--spacing-48)}.h-64{height:var(--spacing-64)}.min-h-0{min-height:0}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.min-h-fit{min-height:-moz-fit-content;min-height:fit-content}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.text-5xl{font-size:var(--text-5xl)}.text-6xl{font-size:var(--text-6xl)}.font-thin{font-weight:var(--font-thin)}.font-light{font-weight:var(--font-light)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.font-extrabold{font-weight:var(--font-extrabold)}.font-black{font-weight:var(--font-black)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-strong{color:var(--text-strong)}.text-white{color:#fff}.text-black{color:#000}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.underline{text-decoration:underline}.overline{text-decoration:overline}.line-through{text-decoration:line-through}.no-underline{text-decoration:none}.leading-none{line-height:1}.leading-tight{line-height:var(--leading-tight)}.leading-snug{line-height:var(--leading-snug)}.leading-normal{line-height:var(--leading-normal)}.leading-relaxed{line-height:var(--leading-relaxed)}.leading-loose{line-height:var(--leading-loose)}.bg-transparent{background-color:transparent}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-success{background-color:var(--color-success)}.bg-warning{background-color:var(--color-warning)}.bg-error{background-color:var(--color-error)}.bg-info{background-color:var(--color-info)}.bg-surface{background-color:var(--surface-primary)}.bg-surface-secondary{background-color:var(--surface-secondary)}.bg-surface-subtle{background-color:var(--surface-subtle)}.border-0{border-width:0}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-8{border-width:8px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-double{border-style:double}.border-none{border-style:none}.border-primary{border-color:var(--border-primary)}.border-secondary{border-color:var(--border-secondary)}.border-subtle{border-color:var(--border-subtle)}.border-transparent{border-color:transparent}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--border-radius-sm)}.rounded{border-radius:var(--border-radius)}.rounded-md{border-radius:var(--border-radius-md)}.rounded-lg{border-radius:var(--border-radius-lg)}.rounded-xl{border-radius:var(--border-radius-xl)}.rounded-2xl{border-radius:var(--border-radius-2xl)}.rounded-3xl{border-radius:var(--border-radius-3xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-default)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-2xl{box-shadow:var(--shadow-2xl)}.shadow-inner{box-shadow:var(--shadow-inner)}.shadow-glass{box-shadow:var(--shadow-glass)}.shadow-glass-lg{box-shadow:var(--shadow-glass-lg)}.shadow-glass-xl{box-shadow:var(--shadow-glass-xl)}.opacity-0{opacity:0}.opacity-5{opacity:.05}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-95{opacity:.95}.opacity-100{opacity:1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-visible{overflow-x:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto}.z-base{z-index:var(--z-base)}.z-sticky{z-index:var(--z-sticky)}.z-panel{z-index:var(--z-panel)}.z-overlay{z-index:var(--z-overlay)}.z-modal{z-index:var(--z-modal)}.z-tooltip{z-index:var(--z-tooltip)}.z-dropdown{z-index:var(--z-dropdown)}.z-fixed{z-index:var(--z-fixed)}.z-toolbar{z-index:var(--z-toolbar)}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-text{cursor:text}.cursor-move{cursor:move}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.select-auto{-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.transition-none{transition:none}.transition-all{transition:all var(--transition-base)}.transition{transition:color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base),text-decoration-color var(--transition-base),fill var(--transition-base),stroke var(--transition-base),opacity var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.transition-colors{transition:color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base),text-decoration-color var(--transition-base),fill var(--transition-base),stroke var(--transition-base)}.transition-opacity{transition:opacity var(--transition-base)}.transition-shadow{transition:box-shadow var(--transition-base)}.transition-transform{transition:transform var(--transition-base)}.duration-75{transition-duration:75ms}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:var(--duration-200)}.duration-300{transition-duration:var(--duration-300)}.duration-500{transition-duration:var(--duration-500)}.duration-700{transition-duration:var(--duration-700)}.duration-1000{transition-duration:var(--duration-1000)}.ease-linear{transition-timing-function:linear}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.transform{transform:var(--transform)}.transform-none{transform:none}.scale-0{transform:scale(0)}.scale-50{transform:scale(.5)}.scale-75{transform:scale(.75)}.scale-90{transform:scale(.9)}.scale-95{transform:scale(.95)}.scale-100{transform:scale(1)}.scale-105{transform:scale(1.05)}.scale-110{transform:scale(1.1)}.scale-125{transform:scale(1.25)}.scale-150{transform:scale(1.5)}.rotate-0{transform:rotate(0)}.rotate-1{transform:rotate(1deg)}.rotate-2{transform:rotate(2deg)}.rotate-3{transform:rotate(3deg)}.rotate-6{transform:rotate(6deg)}.rotate-12{transform:rotate(12deg)}.rotate-45{transform:rotate(45deg)}.rotate-90{transform:rotate(90deg)}.rotate-180{transform:rotate(180deg)}.-rotate-180{transform:rotate(-180deg)}.-rotate-90{transform:rotate(-90deg)}.-rotate-45{transform:rotate(-45deg)}.-rotate-12{transform:rotate(-12deg)}.-rotate-6{transform:rotate(-6deg)}.-rotate-3{transform:rotate(-3deg)}.-rotate-2{transform:rotate(-2deg)}.-rotate-1{transform:rotate(-1deg)}.translate-x-0{transform:translate(0)}.translate-x-1{transform:translate(var(--spacing-1))}.translate-x-2{transform:translate(var(--spacing-2))}.translate-x-4{transform:translate(var(--spacing-4))}.-translate-x-1{transform:translate(calc(-1 * var(--spacing-1)))}.-translate-x-2{transform:translate(calc(-1 * var(--spacing-2)))}.-translate-x-4{transform:translate(calc(-1 * var(--spacing-4)))}.translate-y-0{transform:translateY(0)}.translate-y-1{transform:translateY(var(--spacing-1))}.translate-y-2{transform:translateY(var(--spacing-2))}.translate-y-4{transform:translateY(var(--spacing-4))}.-translate-y-1{transform:translateY(calc(-1 * var(--spacing-1)))}.-translate-y-2{transform:translateY(calc(-1 * var(--spacing-2)))}.-translate-y-4{transform:translateY(calc(-1 * var(--spacing-4)))}@media(min-width:1024px){.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:text-lg{font-size:var(--text-lg)}.lg\:text-xl{font-size:var(--text-xl)}.lg\:text-2xl{font-size:var(--text-2xl)}}@media(min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:col-span-1{grid-column:span 1 / span 1}.xl\:col-span-2{grid-column:span 2 / span 2}.xl\:col-span-3{grid-column:span 3 / span 3}.xl\:col-span-full{grid-column:1 / -1}}.bg-vtt-iron-900{background-color:var(--vtt-iron-900)}.bg-vtt-iron-800{background-color:var(--vtt-iron-800)}.bg-vtt-parchment{background-color:var(--vtt-parchment)}.bg-vtt-parchment-alt{background-color:var(--vtt-parchment-alt)}.text-vtt-parchment{color:var(--vtt-parchment)}.text-vtt-parchment-text{color:var(--vtt-parchment-text)}.text-vtt-bronze{color:var(--vtt-bronze)}.text-vtt-amber-glow{color:var(--vtt-amber-glow)}.border-vtt-iron-700{border-color:var(--vtt-iron-700)}.border-vtt-bronze{border-color:var(--vtt-bronze)}.font-fantasy{font-family:"Cinzel Decorative",var(--font-serif)}.font-interface{font-family:var(--font-sans)}.shadow-vtt-amber-glow{box-shadow:0 0 15px #d9770666}.glass{background:var(--surface-primary);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-primary);border-radius:var(--border-radius);box-shadow:var(--shadow-glass)}.glass-strong{background:var(--surface-secondary);backdrop-filter:var(--glass-blur-strong);-webkit-backdrop-filter:var(--glass-blur-strong);border:1px solid var(--border-secondary);box-shadow:var(--shadow-glass-lg)}.glass-subtle{background:var(--surface-subtle);backdrop-filter:var(--glass-blur-subtle);-webkit-backdrop-filter:var(--glass-blur-subtle);border:1px solid var(--border-subtle);box-shadow:var(--shadow-glass)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:160px;padding:24px;border-radius:16px;background:#0f172aa6;border:1px solid rgba(148,163,184,.25);box-shadow:inset 0 1px #ffffff14;color:#e2e8f0e6;text-align:center}.error-boundary__content{max-width:320px;display:flex;flex-direction:column;gap:12px}.error-boundary__title{font-size:1rem;font-weight:600}.error-boundary__message{font-size:.85rem;color:#e2e8f0b3}.error-boundary__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.focus\:outline-none:focus{outline:none}.focus\:ring:focus{box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.focus\:ring-primary:focus{box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}@media(prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition:none}.motion-reduce\:transform-none{transform:none}}}@layer utilities{:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}@media(prefers-contrast:high){:root{--border-primary: #000000;--border-secondary: #333333;--text-primary: #000000;--text-secondary: #333333;--bg-primary: #ffffff;--surface-primary: #ffffff;--glass-blur: none;--glass-blur-strong: none;--glass-blur-subtle: none}.glass,.glass-strong,.glass-subtle{backdrop-filter:none;-webkit-backdrop-filter:none;border-width:2px}}}@layer themes{:root{--solid-bg-primary: #1e293b;--solid-bg-secondary: #334155;--solid-bg-tertiary: #475569;--solid-bg-hover: #334155;--solid-bg-active: #475569;--solid-border: #64748b;--solid-border-light: #94a3b8;--solid-text: #f8fafc;--solid-text-muted: rgba(248, 250, 252, .7);--solid-text-light: rgba(248, 250, 252, .5)}.theme-solid{--glass-blur: none;--glass-blur-strong: none;--glass-dark: var(--solid-bg-primary);--glass-dark-border: var(--solid-border);--glass-dark-hover: var(--solid-bg-hover);--glass-surface: var(--solid-bg-primary);--glass-surface-hover: var(--solid-bg-hover);--glass-surface-strong: var(--solid-bg-tertiary);--glass-border: var(--solid-border);--glass-text: var(--solid-text);--glass-text-muted: var(--solid-text-muted);--glass-text-light: var(--solid-text-light);--gradient-primary: var(--gradient-dark);--gradient-secondary: var(--gradient-dark);--gradient-tertiary: var(--gradient-dark);--shadow-glass: 0 4px 12px 0 rgba(0, 0, 0, .3);--shadow-glass-lg: 0 8px 20px rgba(0, 0, 0, .4);--shadow-glass-xl: 0 12px 30px rgba(0, 0, 0, .5)}.theme-solid *,.theme-solid *:before,.theme-solid *:after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.theme-solid button:not(.unstyled){background:var(--solid-bg-secondary)!important;border:1px solid var(--solid-border)}.theme-solid button.danger{padding:12px;border-radius:8px;background:#ef4444;border:1px solid #ef4444;color:#fff;box-shadow:0 2px 8px #ef44444d}.theme-solid button.danger-outline{padding:12px 24px;border-radius:8px;background:#ef444433;border:1px solid rgba(239,68,68,.4);color:#fca5a5;box-shadow:0 2px 8px #ef444426}.theme-solid .game-toolbar button.unstyled{background:linear-gradient(to bottom,#374151,#1f2937)!important;border:1px solid rgb(75,85,99)!important;box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -2px #0003!important;color:#d1d5db}.theme-solid .game-toolbar button.unstyled:hover{background:linear-gradient(to bottom,#4b5563,#374151)!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 10px 15px -3px #0006,0 4px 6px -4px #0000004d!important}.theme-solid .game-toolbar button.unstyled:active,.theme-solid .game-toolbar button.unstyled[aria-pressed=true]{background:linear-gradient(to bottom,#6b7280,#4b5563)!important;color:#fff!important;transform:translateY(0);box-shadow:0 10px 15px -3px #6b728080,0 4px 6px -4px #6b728080!important}.theme-solid button:before{display:none}.theme-solid button.primary{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border:1px solid var(--color-primary);box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.3)}.theme-solid button.primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-secondary),var(--color-accent));transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.theme-solid button.secondary{background:var(--solid-bg-tertiary);border:1px solid var(--solid-border-light);box-shadow:0 2px 8px #0003}.theme-solid button.secondary:hover:not(:disabled){background:var(--solid-bg-active);transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.theme-solid button.danger{background:#ef4444;border:1px solid #ef4444;color:#fff;padding:12px;border-radius:8px;box-shadow:0 2px 8px #ef44444d}.theme-solid button.danger:hover:not(:disabled){background:#dc2626;border:1px solid #dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.theme-solid button.danger-outline{background:#ef444433;border:1px solid rgba(239,68,68,.4);color:#fca5a5;box-shadow:0 2px 8px #ef444426;padding:12px 24px;border-radius:8px}.theme-solid button.danger-outline:hover:not(:disabled){background:#ef44444d;border:1px solid rgba(239,68,68,.6);color:#fecaca;transform:translateY(-1px);box-shadow:0 4px 12px #ef444440}.theme-solid button.disconnect-btn{background:linear-gradient(135deg,var(--color-error),#dc2626);border:1px solid var(--color-error);box-shadow:0 2px 8px #dc26264d}.theme-solid button.disconnect-btn:hover{background:linear-gradient(135deg,#ef4444,#f87171);transform:translateY(-1px);box-shadow:0 4px 12px #dc262666}.theme-solid .dice-roller__input,.theme-solid .dice-roller__history{background:var(--solid-bg-primary);box-shadow:0 4px 12px #0000004d}.theme-solid .dice-roller__input:before,.theme-solid .dice-roller__history:before{display:none}.theme-solid .dice-roller__expression{background:var(--solid-bg-secondary);border:1px solid var(--solid-border)}.theme-solid .dice-roller__expression:focus{background:var(--solid-bg-hover);border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.2)}.theme-solid .dice-roller__roll-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border:1px solid var(--color-primary);box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.3)}.theme-solid .dice-roller__roll-btn:hover{background:linear-gradient(135deg,var(--color-secondary),var(--color-accent));transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.theme-solid .dice-roller__die-btn,.theme-solid .dice-roller__modifier-btn{background:var(--solid-bg-secondary);border:1px solid var(--solid-border)}.theme-solid .dice-roller__die-btn:hover,.theme-solid .dice-roller__modifier-btn:hover{background:var(--solid-bg-hover);border-color:var(--solid-border-light)}.theme-solid .dice-roller__roll{background:var(--solid-bg-secondary);border:1px solid var(--solid-border)}.theme-solid .dice-roller__roll:hover{background:var(--solid-bg-hover);transform:translate(2px);box-shadow:0 2px 8px #0003}.theme-solid .dice-roller__roll--private{background:rgba(var(--color-primary-rgb),.15);border-left:4px solid var(--color-primary)}.theme-solid .dice-roller__roll-result{background:var(--solid-bg-tertiary);border:1px solid var(--solid-border-light)}.theme-solid .dice-input:before,.theme-solid .dice-history:before{display:none}.theme-solid .dice-btn:hover{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));transform:translateY(-1px);box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.3)}.theme-solid .dice-roll:hover{background:var(--solid-bg-hover);transform:translate(2px);box-shadow:0 2px 8px #0003}.theme-solid .placeholder-content{background:var(--solid-bg-primary);box-shadow:0 4px 12px #0000004d}.theme-solid .placeholder-content:before{display:none}.theme-solid .placeholder-card li{background:var(--solid-bg-secondary);border:1px solid var(--solid-border)}.theme-solid .placeholder-card li:hover{background:var(--solid-bg-hover);transform:translate(5px)}.theme-solid .error{background:rgba(var(--color-error-rgb, 239, 68, 68),.15);border:1px solid var(--color-error);box-shadow:0 2px 8px rgba(var(--color-error-rgb, 239, 68, 68),.2)}.theme-solid .glass,.theme-solid .glass-strong{animation:solidAppear .4s ease-out}@keyframes solidAppear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.theme-solid .glass-panel{background:var(--solid-bg-primary);border:1px solid var(--solid-border);box-shadow:0 8px 24px #0006}.theme-solid .action-group:hover{background:var(--solid-bg-hover);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.theme-solid .dm-card{background:rgba(var(--color-primary-rgb),.1);border-color:var(--color-primary)}.theme-solid .brand-title,.theme-solid .roller-name,.theme-solid .layout-header h1,.theme-solid h1{background:linear-gradient(135deg,var(--solid-text) 0%,var(--solid-text-muted) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:brightness(1.1)}.theme-solid @keyframes float{0%,100%{transform:none}}.theme-solid @keyframes logoFloat{0%,100%{transform:none}}.theme-solid .glass-input{background:var(--solid-bg-secondary);border:1px solid var(--solid-border)}.theme-solid .glass-input:focus{background:var(--solid-bg-hover);border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.2)}.theme-solid .action-group{background:var(--solid-bg-secondary)}.theme-solid .glass-button{background:var(--solid-bg-secondary);border:1px solid var(--solid-border)}.theme-solid .glass-button:hover:not(:disabled){background:var(--solid-bg-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.theme-solid .action-group:hover{background:var(--solid-bg-hover);box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.theme-solid .glass-button.primary{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-color:var(--color-primary)}.theme-solid .glass-button.primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-secondary),var(--color-accent))}.theme-solid .glass-button.secondary{background:linear-gradient(135deg,var(--color-accent),var(--color-secondary));border-color:var(--color-accent);color:#fff}.theme-solid .glass-button.secondary:hover:not(:disabled){filter:brightness(1.2)}.theme-solid .glass-button.danger{background:linear-gradient(135deg,var(--color-error),#dc2626);border-color:var(--color-error)}.theme-solid .glass-button.danger:hover:not(:disabled){filter:brightness(1.2)}.theme-solid .name-input input,.theme-solid .action-group input{background:var(--solid-bg-primary);border:1px solid var(--solid-border);color:var(--solid-text)}.theme-solid .room-code{background:var(--solid-bg-secondary);border:1px solid var(--solid-border)}.theme-solid .name-input input:focus,.theme-solid .action-group input:focus{background:var(--solid-bg-hover);border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.2)}.theme-solid .role-badge{background:rgba(var(--color-primary-rgb),.15);border:1px solid var(--color-primary)}.theme-solid .player-card{background:var(--solid-bg-secondary);border:1px solid var(--solid-border)}.theme-solid .player-card:hover{background:var(--solid-bg-hover)}.theme-solid .session-info,.theme-solid .players-list{background:var(--solid-bg-primary);border:1px solid var(--solid-border);box-shadow:0 4px 12px #0000004d}.theme-solid .players-list li{background:var(--solid-bg-secondary);border-bottom:1px solid var(--solid-border)}.theme-solid .players-list li:hover{background:var(--solid-bg-hover);transform:translate(2px)}.theme-solid .dm-card{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1)}.theme-solid .player-avatar{background:var(--solid-bg-primary)}.theme-solid .players-list li.host{background:linear-gradient(135deg,var(--solid-bg-tertiary),var(--solid-bg-secondary));border:1px solid var(--color-primary)}.theme-solid .brand-title,.theme-solid .roller-name,.theme-solid .layout-header h1,.theme-solid h1{-webkit-background-clip:text;-webkit-text-fill-color:transparent;background:linear-gradient(135deg,var(--solid-text) 0%,var(--solid-text-muted) 100%);background-clip:text;filter:brightness(1.1)}.theme-solid .error-message{background:linear-gradient(135deg,rgba(var(--color-error-rgb, 239, 68, 68),.15),#dc267f26);border-color:var(--color-error)}.theme-solid .rolls-list::-webkit-scrollbar-track{background:var(--solid-bg-primary)}.theme-solid .rolls-list::-webkit-scrollbar-thumb{background:var(--solid-border)}.theme-solid .rolls-list::-webkit-scrollbar-thumb:hover{background:var(--solid-border-light)}.theme-solid #toolbar-info-banner{background:var(--solid-bg-primary);border:1px solid var(--solid-border);box-shadow:0 4px 12px #0000004d}.theme-solid #toolbar-info-banner .shortcut{background-color:var(--solid-bg-secondary);border:1px solid var(--solid-border);color:var(--solid-text-muted)}.theme-solid .toolbar-btn{background:var(--solid-bg-secondary);border:1px solid var(--solid-border);color:var(--solid-text-muted)}.theme-solid .toolbar-btn:hover{border-color:var(--solid-border-light);background:var(--solid-bg-hover)}.theme-solid .toolbar-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.theme-solid .chat-panel__messages{background:var(--solid-bg-primary);border-bottom:1px solid var(--solid-border)}.theme-solid .chat-panel__message{background:var(--solid-bg-secondary);border:1px solid var(--solid-border)}.theme-solid .chat-panel__message--own{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;border-color:transparent}.theme-solid .chat-panel__input-section{background:var(--solid-bg-primary);border-top:1px solid var(--solid-border)}.theme-solid .chat-panel__input{background:var(--solid-bg-secondary);border:1px solid var(--solid-border);color:var(--solid-text)}.theme-solid .chat-panel__input:focus{background:var(--solid-bg-hover);border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.2)}.theme-solid .chat-panel__type-select,.theme-solid .chat-panel__recipient-select{background:var(--solid-bg-secondary);border:1px solid var(--solid-border);color:var(--solid-text)}.theme-solid .chat-panel__type-select:focus,.theme-solid .chat-panel__recipient-select:focus{background:var(--solid-bg-hover);border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.2)}.theme-solid .settings-section,.theme-solid .scene-panel__header,.theme-solid .scene-panel__section{background:var(--solid-bg-primary);border:1px solid var(--solid-border);box-shadow:0 4px 12px #0000004d}.theme-solid .scene-panel__field-display{background:var(--solid-bg-secondary);border:1px solid var(--solid-border);color:var(--solid-text)}.theme-solid .scene-panel__field-display:hover{background:var(--solid-bg-hover);border-color:var(--solid-border-light)}.theme-solid .scene-panel__field-input{background:var(--solid-bg-secondary);border:1px solid var(--solid-border);color:var(--solid-text)}.theme-solid .scene-panel__field-input:focus{background:var(--solid-bg-hover);border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.2)}.theme-solid .scene-panel__visibility-option{background:var(--solid-bg-secondary);border:1px solid var(--solid-border);box-shadow:0 2px 8px #0003}.theme-solid .scene-panel__visibility-option:hover{background:var(--solid-bg-hover);border-color:var(--solid-border-light)}.theme-solid .scene-panel__checkbox-label{background:var(--solid-bg-secondary);border:1px solid var(--solid-border);box-shadow:0 2px 8px #0003}.theme-solid .scene-panel__checkbox-label:hover{background:var(--solid-bg-hover);border-color:var(--solid-border-light)}.theme-solid .scene-panel__range-input{background:var(--solid-bg-secondary);border:1px solid var(--solid-border)}.theme-solid .scene-panel__color-input{border:1px solid var(--solid-border)}.theme-solid .dice-expression{background:var(--solid-bg-secondary);border:1px solid var(--solid-border)}.theme-solid .scene-panel-header{background:var(--solid-bg-primary);border:1px solid var(--solid-border);box-shadow:0 4px 12px #0000004d}.theme-solid .dice-expression:focus{background:var(--solid-bg-hover);border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.2)}.theme-solid .visibility-option{background:var(--solid-bg-secondary);border:1px solid var(--solid-border);box-shadow:0 2px 8px #0003}.theme-solid .visibility-option:hover{background:var(--solid-bg-hover);border-color:var(--solid-border-light)}.theme-solid .dice-btn{background:var(--solid-bg-secondary);border:1px solid var(--solid-border)}.theme-solid .scene-section{background:var(--solid-bg-primary);border:1px solid var(--solid-border);box-shadow:0 4px 12px #0000004d}.theme-solid .dice-btn:hover{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.3);transform:translateY(-1px)}.theme-solid .checkbox-label{background:var(--solid-bg-secondary);border:1px solid var(--solid-border);box-shadow:0 2px 8px #0003}.theme-solid .checkbox-label:hover{background:var(--solid-bg-hover);border-color:var(--solid-border-light)}.theme-solid .dice-roll{background:var(--solid-bg-secondary);border:1px solid var(--solid-border)}.theme-solid .dice-roll:hover{background:var(--solid-bg-hover);box-shadow:0 2px 8px #0003;transform:translate(2px)}.theme-solid .dice-roll.private{background:rgba(var(--color-primary-rgb),.15);border-left:4px solid var(--color-primary)}.theme-solid .dropdown-trigger{background:var(--solid-bg-secondary);border:1px solid var(--solid-border)}.theme-solid .dropdown-trigger:hover{background:var(--solid-bg-hover);border-color:var(--solid-border-light)}.theme-solid .dropdown-menu{background:var(--solid-bg-primary);border:1px solid var(--solid-border);box-shadow:0 8px 24px #0006}.theme-solid .dropdown-item:hover{background:var(--solid-bg-hover)}.theme-solid .dropdown-item.active{background:var(--solid-bg-tertiary);border-left:3px solid var(--color-primary)}.theme-solid .roll-result{background:var(--solid-bg-tertiary);border:1px solid var(--solid-border-light)}.theme-solid .setting-select,.theme-solid .setting-input{background:var(--solid-bg-secondary);border:1px solid var(--solid-border);color:var(--solid-text)}.theme-solid .setting-select:focus,.theme-solid .setting-input:focus{background:var(--solid-bg-hover);border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.2)}.theme-solid .toggle-slider,.theme-solid .volume-slider{background:var(--solid-bg-secondary);border:1px solid var(--solid-border)}.theme-solid .scene-name-display,.theme-solid .scene-description-display{background:var(--solid-bg-secondary);border:1px solid var(--solid-border);box-shadow:0 2px 8px #0003}.theme-solid .scene-name-display:hover,.theme-solid .scene-description-display:hover{border-color:var(--color-accent);box-shadow:0 4px 12px #0000004d}.theme-solid .scene-name-input,.theme-solid .scene-description-input{background:var(--solid-bg-secondary);border:1px solid var(--color-accent);color:var(--solid-text);box-shadow:0 2px 8px #0003}.theme-solid .scene-name-input:focus,.theme-solid .scene-description-input:focus{border-color:var(--color-primary);box-shadow:0 4px 12px #0000004d,0 0 0 2px rgba(var(--color-primary-rgb),.2)}.theme-solid .scene-controls{background:var(--solid-bg-primary);border:1px solid var(--solid-border);box-shadow:0 4px 12px #0000004d}.theme-solid .scene-item{background:var(--solid-bg-secondary);border:1px solid var(--solid-border)}.theme-solid .scene-item:hover{background:var(--solid-bg-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.theme-solid .scene-item.active{background:var(--solid-bg-tertiary);border-color:var(--color-primary);box-shadow:0 0 20px rgba(var(--color-primary-rgb),.2)}@media(prefers-contrast:high){.theme-solid{--solid-bg-primary: var(--color-surface);--solid-bg-secondary: var(--color-surface);--solid-bg-tertiary: var(--color-surface);--solid-border: var(--color-text);--solid-text: var(--color-text);--solid-text-muted: var(--color-text);--solid-text-light: var(--color-text)}}@keyframes solidNewRoll{0%{background:#3d4152;transform:scale(1.01)}to{background:#252837;transform:scale(1)}}.theme-solid .empty-state{background:var(--solid-bg-primary);border:1px solid var(--solid-border);box-shadow:0 4px 12px #0000004d}.theme-solid .no-scene{background:var(--solid-bg-secondary);border:1px solid var(--solid-border);box-shadow:0 4px 12px #0000004d}.theme-solid .background-preview{background:var(--solid-bg-secondary);border:1px solid var(--solid-border)}.theme-solid .background-upload{background:var(--solid-bg-secondary);border:2px dashed var(--solid-border)}.theme-solid .background-upload:hover{background:var(--solid-bg-hover);border-color:var(--solid-border-light)}}.chat-panel{display:flex;flex-direction:column;height:100%;padding:0}.panel-section{display:flex;flex-direction:column;flex:1;overflow:hidden}.chat-panel__search-bar{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-2);padding:0 var(--spacing-1)}.chat-panel__search-input{flex:1;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--glass-border, #e5e7eb);border-radius:var(--border-radius, 8px);background:var(--glass-surface, white);font-size:var(--text-sm, .875rem);transition:all var(--transition-fast, .15s)}.chat-panel__search-input:focus{outline:none;border-color:var(--color-primary, #8b5cf6);box-shadow:0 0 0 3px #8b5cf61a}.chat-panel__filter-toggle{padding:var(--spacing-2);background:var(--glass-surface, white);border:1px solid var(--glass-border, #e5e7eb);border-radius:var(--border-radius, 8px);cursor:pointer;font-size:var(--text-base, 1rem);transition:all var(--transition-fast, .15s)}.chat-panel__filter-toggle:hover{background:#8b5cf61a;border-color:var(--color-primary, #8b5cf6)}.chat-panel__filter-toggle.active{background:var(--color-primary, #8b5cf6);border-color:var(--color-primary, #8b5cf6);transform:scale(1.05)}.chat-panel__clear-filters{padding:var(--spacing-2);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--border-radius, 8px);color:#dc2626;cursor:pointer;font-size:var(--text-base, 1rem);font-weight:var(--font-bold, 700);transition:all var(--transition-fast, .15s)}.chat-panel__clear-filters:hover{background:#ef444433;transform:scale(1.05)}.chat-panel__filters{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-bottom:var(--spacing-2);padding:var(--spacing-2);background:var(--glass-surface, white);border-radius:var(--border-radius, 8px);border:1px solid var(--glass-border, #e5e7eb)}.chat-filter-chip{padding:4px 10px;background:#8b5cf60d;border:1px solid rgba(139,92,246,.2);border-radius:16px;font-size:var(--text-xs, .75rem);font-weight:var(--font-medium, 500);color:var(--glass-text, #333);cursor:pointer;transition:all var(--transition-fast, .15s);white-space:nowrap}.chat-filter-chip:hover{background:#8b5cf61a;border-color:#8b5cf666;transform:translateY(-1px)}.chat-filter-chip.active{background:var(--color-primary, #8b5cf6);border-color:var(--color-primary, #8b5cf6);color:#fff;box-shadow:0 2px 4px #8b5cf64d}.chat-panel__messages,.chat-panel .chat-panel__messages,.context-panel .chat-panel__messages,.theme-solid .chat-panel__messages,div.chat-panel div.chat-panel__messages{overflow-y:auto!important;overflow-x:hidden!important;padding:var(--spacing-4)!important;border-radius:16px!important;background:linear-gradient(160deg,#0c101cd1,#16203099)!important;border:1px solid rgba(148,163,184,.25)!important;margin-bottom:0!important;flex-shrink:0!important;box-shadow:inset 0 1px #ffffff1a,0 10px 30px #080c1659!important;display:flex!important;flex-direction:column!important;gap:var(--spacing-3)!important}.chat-panel__messages:after{content:"";display:table;clear:both}.chat-panel__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#8e8e93;text-align:center;padding:var(--spacing-4)}.chat-panel__empty p{margin:0}.chat-panel__empty code{background:#f2f2f7;padding:2px 6px;border-radius:4px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:13px;color:#007aff}.chat-panel__resize-handle{height:8px;cursor:ns-resize;display:flex;align-items:center;justify-content:center;margin:var(--spacing-2) 0;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color .2s}.chat-panel__resize-handle:hover{background-color:#8b5cf61a}.chat-panel__resize-handle.resizing{background-color:#8b5cf633}.resize-handle-bar{width:60px;height:3px;background:var(--glass-border, #e5e7eb);border-radius:2px;transition:all .2s}.chat-panel__resize-handle:hover .resize-handle-bar{background:var(--color-primary, #8b5cf6);width:80px;height:4px}.chat-panel__resize-handle.resizing .resize-handle-bar{background:var(--color-primary, #8b5cf6);width:100px;height:4px;box-shadow:0 0 8px #8b5cf666}.chat-panel__message,.chat-panel .chat-panel__message,.context-panel .chat-panel__message,div.chat-panel div.chat-panel__message{max-width:78%!important;padding:12px 14px!important;border-radius:18px!important;word-wrap:break-word!important;transition:all var(--transition-normal)!important;position:relative!important;font-size:14px!important;line-height:1.45!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:inset 0 1px #ffffff2e,0 6px 14px #080c1647!important}.chat-panel__message--other,.chat-panel .chat-panel__message--other,.context-panel .chat-panel__message--other,.theme-solid .chat-panel .chat-panel__message--other,div.chat-panel div.chat-panel__message--other{align-self:flex-start!important;background:linear-gradient(135deg,#2c394ee6,#1c263ae6)!important;color:#f8fafceb!important;border-bottom-left-radius:8px!important}.chat-panel__message--own,.chat-panel .chat-panel__message--own,.context-panel .chat-panel__message--own,.theme-solid .chat-panel .chat-panel__message--own,div.chat-panel div.chat-panel__message--own{align-self:flex-end!important;background:linear-gradient(135deg,#4f46e5f2,#2d61d2f2)!important;color:#f8fafcfa!important;border-bottom-right-radius:8px!important}.chat-panel .chat-panel__message--own .chat-panel__message-author,.chat-panel .chat-panel__message--own .chat-panel__message-timestamp,.chat-panel .chat-panel__message--own .chat-panel__message-type{color:#ffffffd9!important}.chat-panel__message.system,.chat-panel .chat-panel__message.system,.context-panel .chat-panel__message.system,.chat-panel__message.dm-announcement,.chat-panel .chat-panel__message.dm-announcement,.context-panel .chat-panel__message.dm-announcement,.theme-solid .chat-panel .chat-panel__message.system,.theme-solid .chat-panel .chat-panel__message.dm-announcement,div.chat-panel div.chat-panel__message.system,div.chat-panel div.chat-panel__message.dm-announcement{align-self:center!important;max-width:90%!important;text-align:center!important;background:#1e293ba6!important;color:#e2e8f0cc!important;border:1px solid rgba(148,163,184,.2)!important;border-radius:14px!important;font-size:12px!important;padding:8px 12px!important;box-shadow:none!important}.chat-panel__message.dm-announcement,.chat-panel .chat-panel__message.dm-announcement,.context-panel .chat-panel__message.dm-announcement,.theme-solid .chat-panel .chat-panel__message.dm-announcement,div.chat-panel div.chat-panel__message.dm-announcement{background:linear-gradient(135deg,#fbbf2438,#f871712e)!important;color:#fbbf24!important;font-weight:600!important}.chat-panel__message-header{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:11px;opacity:.75}.chat-panel__message-author{font-weight:600;font-size:13px}.chat-panel__message-timestamp{font-size:11px;opacity:.6}.chat-panel__message-content{line-height:1.4}.chat-panel__message.dice-roll{background:linear-gradient(135deg,#14532db3,#10b98140)!important;border:1px solid rgba(110,231,183,.3)!important}.chat-panel__message.whisper{background:linear-gradient(135deg,#581c87b3,#8b5cf640)!important;border:1px solid rgba(196,181,253,.35)!important}.chat-panel__message.ooc{background:linear-gradient(135deg,#1e293bbf,#3b82f633)!important;border:1px solid rgba(147,197,253,.3)!important}.chat-panel__message.emote{background:linear-gradient(135deg,#431407b3,#fb923c40)!important;border:1px solid rgba(253,186,116,.35)!important}.chat-panel__message-content .dice-pool{display:inline-flex;align-items:center;gap:4px;margin:0 4px}.chat-panel__message-content .pool-label{font-weight:var(--font-semibold);font-size:.9em;opacity:.8}.chat-panel__message-content .roll-total{font-size:1.2em;margin-left:4px}.chat-panel__message-content .crit-success{color:#0f0;text-shadow:0 0 4px rgba(0,255,0,.5)}.chat-panel__message-content .crit-failure{color:red;text-shadow:0 0 4px rgba(255,0,0,.5)}.chat-panel__message--own .chat-panel__message-content .dice-pool{background:#fff3;padding:2px 6px;border-radius:8px}.chat-panel__message--own .chat-panel__message-content .roll-total{color:#fff;font-weight:var(--font-bold)}.chat-panel__typing-indicators{padding:var(--spacing-2) var(--spacing-4);font-size:var(--text-sm);color:#8e8e93;font-style:italic}.chat-panel__input-section{margin-top:var(--spacing-3);position:relative}.chat-panel__input-container{display:flex;gap:var(--spacing-2);align-items:flex-end}.chat-panel__input{flex:1;padding:10px 14px;border:1px solid #E5E5EA;border-radius:20px;background:#fff;font-size:15px;font-family:inherit;line-height:1.4;resize:none;min-height:40px;max-height:120px;transition:border-color .2s}.chat-panel__input:focus{outline:none;border-color:#007aff}.chat-panel__input::-moz-placeholder{color:#8e8e93}.chat-panel__input::placeholder{color:#8e8e93}.chat-panel__announcement-btn{padding:10px 16px;background:#ff9500;color:#fff;border:none;border-radius:20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.chat-panel__announcement-btn:hover:not(:disabled){background:#ff8c00;transform:translateY(-1px);box-shadow:0 2px 8px #ff95004d}.chat-panel__announcement-btn:disabled{opacity:.5;cursor:not-allowed}.chat-panel__help{margin-top:var(--spacing-2);padding:var(--spacing-3);border-radius:12px;background:#0f172a80;border:1px solid rgba(148,163,184,.2);box-shadow:inset 0 1px #ffffff0f}.chat-panel__help-header{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:#e2e8f0cc;margin-bottom:var(--spacing-2);text-transform:uppercase;letter-spacing:.05em}.chat-panel__help-close{background:#94a3b826;border:1px solid rgba(148,163,184,.2);color:#e2e8f0e6;border-radius:999px;padding:2px 10px;font-size:.7rem;cursor:pointer}.chat-panel__help-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-2)}.chat-panel__help-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;background:#1e293b99;border:1px solid rgba(148,163,184,.15)}.chat-panel__help-command{font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8rem;color:#34d399}.chat-panel__help-label{font-size:.75rem;color:#e2e8f0b3}.chat-panel__unread-badge{position:absolute;top:-8px;right:8px;background:#ff3b30;color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;box-shadow:0 2px 8px #ff3b3066;z-index:10}.chat-panel__send-btn{padding:10px 14px;border:none;border-radius:20px;cursor:pointer;font-size:16px;font-weight:600;color:#fff;background:#007aff;box-shadow:0 2px 8px #007aff40;transition:all .2s;min-width:44px;height:44px;display:flex;align-items:center;justify-content:center}.chat-panel__send-btn:hover:not(:disabled){background:#0051d5;transform:translateY(-1px);box-shadow:0 4px 12px #007aff59}.chat-panel__send-btn:disabled{background:#e5e5ea;color:#8e8e93;cursor:not-allowed;box-shadow:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.chat-panel__type-selector{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.dice-roll-message,.chat-panel .dice-roll-message,.context-panel .dice-roll-message,div.chat-panel div.dice-roll-message{padding:var(--spacing-2) var(--spacing-3)!important;background:#0f172a59!important;border:1px solid rgba(110,231,183,.2)!important;border-radius:12px!important;margin:var(--spacing-1) 0!important}.dice-roll-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-2);font-size:var(--text-sm, .875rem)}.dice-expression{color:#e2e8f0f2;font-weight:var(--font-medium, 500)}.dice-expression strong{color:#34d399;font-weight:var(--font-bold, 700)}.dice-roll-actions{display:inline-flex;align-items:center;gap:8px}.dice-reroll-btn{padding:2px 8px;background:#34d39926;border:1px solid rgba(52,211,153,.35);border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s;color:#e2e8f0e6}.dice-reroll-btn:hover{background:#34d39947;transform:rotate(180deg)}.dice-results{display:flex;align-items:center;gap:var(--spacing-2);flex-wrap:wrap;font-size:var(--text-base, 1rem)}.dice-pool{display:flex;gap:6px;flex-wrap:wrap}.die-result{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;background:#94a3b81f;border:1px solid rgba(148,163,184,.35);border-radius:6px;font-weight:var(--font-bold, 700);font-size:var(--text-sm, .875rem);color:#e2e8f0e6;box-shadow:0 2px 6px #080c1659}.die-result.crit-success{background:linear-gradient(135deg,gold,#ffed4e);border-color:orange;color:#000;box-shadow:0 0 12px #ffd70099;animation:pulse-crit 1s ease-in-out}.die-result.crit-failure{background:linear-gradient(135deg,#f44,#c00);border-color:#900;color:#fff;box-shadow:0 0 12px #f009;animation:shake .5s ease-in-out}.dice-modifier{font-weight:var(--font-semibold, 600);color:#e2e8f0b3;font-size:var(--text-base, 1rem)}.dice-total-badge{min-width:34px;height:28px;padding:0 10px;border-radius:999px;background:#34d39933;color:#34d399;font-weight:var(--font-bold, 700);display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(52,211,153,.35);font-size:.9rem}.dice-total-badge.crit-success{color:#fbbf24;border-color:#fbbf2473;background:#fbbf2433}.dice-total-badge.crit-failure{color:#f87171;border-color:#f8717166;background:#f8717133}.dice-equation{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.85rem;color:#e2e8f0cc}.dice-equation-label{text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;color:#94a3b8cc}.dice-equation-values{font-weight:600;color:#e2e8f0f2}.dice-equation-modifier{color:#e2e8f0cc}.dice-equation-equals{color:#94a3b8e6}.dice-equation-total{font-weight:700;color:#34d399}.dice-equation-total.crit-success{color:#fbbf24}.dice-equation-total.crit-failure{color:#f87171}.chat-panel__message.dice-roll.chat-panel__message--own,.chat-panel__message.dice-roll.chat-panel__message--other{background:linear-gradient(135deg,#052e16bf,#10b98140)!important;border:1px solid rgba(110,231,183,.35)!important}.dice-crit-indicator,.dice-crit-fail-indicator{margin-top:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);border-radius:4px;font-size:var(--text-xs, .75rem);font-weight:var(--font-semibold, 600);text-align:center}.dice-crit-indicator{background:#ffd70033;color:orange;border:1px solid rgba(255,165,0,.3)}.dice-crit-fail-indicator{background:#ff00001a;color:#c00;border:1px solid rgba(204,0,0,.3)}@keyframes pulse-crit{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media(max-width:400px){.dice-roll-message{padding:var(--spacing-1) var(--spacing-2)}.die-result{min-width:28px;height:28px;font-size:.75rem}.dice-total{font-size:1rem;padding:2px 8px}}.chat-panel .chat-panel__message.emote,.theme-solid .chat-panel .chat-panel__message.emote{background:linear-gradient(135deg,#7c3aed59,#38bdf833)!important;color:#e0e7fff2!important;font-style:italic;border:1px solid rgba(196,181,253,.25)!important;box-shadow:0 6px 12px #0f172a40}.chat-panel .chat-panel__message.emote .chat-panel__message-content:before{content:"*";margin-right:4px;color:#c4b5fdcc;opacity:.7}.chat-panel .chat-panel__message.emote .chat-panel__message-content:after{content:"*";margin-left:4px;color:#c4b5fdcc;opacity:.7}.chat-panel .chat-panel__message.ooc,.theme-solid .chat-panel .chat-panel__message.ooc{background:linear-gradient(135deg,#0f172abf,#47556959)!important;color:#e2e8f0d9!important;border:1px solid rgba(148,163,184,.25)!important;box-shadow:0 6px 12px #0f172a40}.chat-panel .chat-panel__message.ooc .chat-panel__message-header:before{content:"(OOC)";margin-right:6px;font-size:11px;padding:2px 6px;background:#94a3b833;border-radius:8px;font-weight:600;color:#e2e8f0cc}.chat-panel__message-content strong{font-weight:var(--font-bold, 700)}.chat-panel__message-content em{font-style:italic}.chat-panel__message-content code{padding:2px 6px;background:#0000000d;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.chat-panel__message-content blockquote{border-left:3px solid rgba(139,92,246,.3);padding-left:var(--spacing-2);margin:var(--spacing-1) 0;font-style:italic;opacity:.9}.chat-panel__message-content a{color:var(--color-primary, #8b5cf6);text-decoration:underline}.chat-panel__message-content a:hover{text-decoration:none}.mention{color:var(--color-primary, #8b5cf6);background:#8b5cf61a;padding:2px 6px;border-radius:4px;font-weight:var(--font-semibold, 600);cursor:pointer}.mention:hover{background:#8b5cf633}.chat-command-autocomplete{position:absolute;bottom:100%;left:0;right:0;background:var(--glass-surface, white);border:1px solid var(--glass-border, #e5e7eb);border-radius:8px 8px 0 0;box-shadow:0 -4px 12px #0000001a;max-height:200px;overflow-y:auto;z-index:100}.autocomplete-command{padding:var(--spacing-2) var(--spacing-3);cursor:pointer;transition:background .15s;border-bottom:1px solid var(--glass-border, #f3f4f6)}.autocomplete-command:hover,.autocomplete-command.active{background:#8b5cf61a}.autocomplete-command-name{font-weight:var(--font-semibold, 600);color:var(--color-primary, #8b5cf6);font-size:var(--text-sm, .875rem)}.autocomplete-command-description{font-size:var(--text-xs, .75rem);color:var(--glass-text-muted, #6b7280);margin-top:2px}@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-serif:var(--font-serif);--font-mono:var(--font-mono);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-orange-50:oklch(98% .016 73.684);--color-orange-700:oklch(55.3% .195 38.402);--color-amber-50:oklch(98.7% .022 95.277);--color-yellow-500:oklch(79.5% .184 86.047);--color-lime-400:oklch(84.1% .238 128.85);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-700:oklch(52.7% .154 150.069);--color-teal-600:oklch(60% .118 184.704);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-900:oklch(37.9% .146 265.522);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-6xl:3.75rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--drop-shadow-lg:0 4px 4px #00000026;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-color-primary:var(--color-primary);--color-color-primary-hover:var(--color-primary-hover);--color-color-secondary:var(--color-secondary);--color-color-error:var(--color-error);--color-surface-hover:var(--surface-hover);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-muted:var(--text-muted);--color-border-primary:var(--border-primary);--color-border-secondary:var(--border-secondary);--radius-token:var(--border-radius);--shadow-glass:var(--shadow-glass);--shadow-glass-lg:var(--shadow-glass-lg);--shadow-glass-xl:var(--shadow-glass-xl)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.tw-glass{background-color:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius);box-shadow:var(--shadow-glass);color:var(--text-primary)}@supports (backdrop-filter:blur(1px)){.tw-glass{-webkit-backdrop-filter:blur(20px)}}.tw-btn-primary{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-primary);color:#fff;border-radius:var(--border-radius);font-weight:var(--font-semibold);font-size:var(--text-sm);transition:background-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);cursor:pointer;border:none;line-height:1;display:inline-flex}.tw-btn-primary:hover{background-color:var(--color-primary-hover);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4);transform:translateY(-1px)}.tw-btn-primary:active{background-color:var(--color-primary-active);transform:translateY(0)}.tw-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}@media(prefers-reduced-motion:reduce),(update:slow){.tw-btn-primary,.tw-glass{transition:none!important;animation:none!important}}[data-reduced-motion=true] .tw-btn-primary,[data-reduced-motion=true] .tw-glass{transition:none!important;animation:none!important}}@layer utilities{.\@container{container-type:inline-size}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-8{top:calc(var(--spacing) * 8)}.right-8{right:calc(var(--spacing) * 8)}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.list-item{display:list-item}.table{display:table}.h-1{height:var(--spacing)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-28{height:calc(var(--spacing) * 28)}.h-40{height:calc(var(--spacing) * 40)}.h-full{height:100%}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(100vh-120px\)\]{max-height:calc(100vh - 120px)}.min-h-\[3\.5em\]{min-height:3.5em}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-\[300px\]{width:300px}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[70\%\]{max-width:70%}.max-w-\[120px\]{max-width:120px}.max-w-\[1800px\]{max-width:1800px}.max-w-md{max-width:var(--container-md)}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.grow\!{flex-grow:1!important}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[slideInRight_0\.3s_ease\]{animation:.3s slideInRight}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-600>:not(:last-child)){border-color:var(--color-gray-600)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-token{border-radius:var(--radius-token)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-none{--tw-border-style:none;border-style:none}.border-\[\#44a867\]{border-color:#44a867}.border-\[\#a84444\]{border-color:#a84444}.border-\[\#b89a7a\]{border-color:#b89a7a}.border-\[\#c1ae92\]{border-color:#c1ae92}.border-\[\#d2c0a4\]{border-color:#d2c0a4}.border-border-primary{border-color:var(--color-border-primary)}.border-gray-600{border-color:var(--color-gray-600)}.border-gray-700{border-color:var(--color-gray-700)}.border-red-500{border-color:var(--color-red-500)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.bg-\[\#181a1d\]{background-color:#181a1d}.bg-\[\#254a31\]{background-color:#254a31}.bg-\[\#592525\]{background-color:#592525}.bg-\[\#d2c0a4\]{background-color:#d2c0a4}.bg-black{background-color:var(--color-black)}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\/85{background-color:#000000d9}@supports (color:color-mix(in lab,red,red)){.bg-black\/85{background-color:color-mix(in oklab,var(--color-black) 85%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-color-primary{background-color:var(--color-color-primary)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-transparent{background-color:#0000}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#947656\]{--tw-gradient-from:#947656;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-\[\#7d5d3e\]{--tw-gradient-via:#7d5d3e;--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-\[\#593d25\]{--tw-gradient-to:#593d25;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-current{fill:currentColor}.p-0{padding:0}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-12{padding:calc(var(--spacing) * 12)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[16px\]{font-size:16px}.text-\[28px\]{font-size:28px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.8em\]{--tw-tracking:.8em;letter-spacing:.8em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-\[var\(--glass-text\,\#e0e0e0\)\]{color:var(--glass-text,#e0e0e0)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-color-error{color:var(--color-color-error)}.text-color-primary{color:var(--color-color-primary)}.text-color-secondary{color:var(--color-color-secondary)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-800{color:var(--color-red-800)}.text-text-muted{color:var(--color-text-muted)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.text-white{color:var(--color-white)}.text-yellow-500{color:var(--color-yellow-500)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.placeholder-gray-400::-moz-placeholder{color:var(--color-gray-400)}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_6px_16px_rgba\(0\,0\,0\,0\.7\)\]{--tw-shadow:0 6px 16px var(--tw-shadow-color,#000000b3);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_32px_rgba\(0\,0\,0\,0\.5\)\,0_0_0_1px_rgba\(255\,255\,255\,0\.1\)\]{--tw-shadow:0 8px 32px var(--tw-shadow-color,#00000080), 0 0 0 1px var(--tw-shadow-color,#ffffff1a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-blue-400{--tw-ring-color:var(--color-blue-400)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-lg{--tw-drop-shadow-size:drop-shadow(0 4px 4px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-lg));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.\[xml\:lang\]{xml:lang}.selection\:text-white ::-moz-selection{color:var(--color-white)}.selection\:text-white ::selection{color:var(--color-white)}.selection\:text-white::-moz-selection{color:var(--color-white)}.selection\:text-white::selection{color:var(--color-white)}.placeholder\:text-text-muted::-moz-placeholder{color:var(--color-text-muted)}.placeholder\:text-text-muted::placeholder{color:var(--color-text-muted)}@media(hover:hover){.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:bg-black:hover{background-color:var(--color-black)}.hover\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-gray-500:hover{background-color:var(--color-gray-500)}.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:bg-surface-hover:hover{background-color:var(--color-surface-hover)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.hover\:text-\[var\(--color-primary\,\#00bcd4\)\]:hover{color:var(--color-primary,#00bcd4)}.hover\:text-blue-300:hover{color:var(--color-blue-300)}.hover\:text-color-primary-hover:hover{color:var(--color-color-primary-hover)}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-white:hover{color:var(--color-white)}}.focus\:border-color-primary:focus{border-color:var(--color-color-primary)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:48rem){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:80rem){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:col-span-3{grid-column:span 3/span 3}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(prefers-color-scheme:dark){.dark\:text-gray-400{color:var(--color-gray-400)}}}@supports not (backdrop-filter:blur(1px)){.tw-glass,[class*=backdrop-blur]{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:#0f111eeb!important}}@supports not (gap:1px){.flex.gap-token-md>*+*{margin-left:var(--spacing-md)}.flex.gap-token-sm>*+*{margin-left:var(--spacing-sm)}.flex.gap-token-lg>*+*{margin-left:var(--spacing-lg)}}@supports not (display:grid){.dashboard-tw-grid{gap:var(--spacing-md);flex-direction:column;display:flex}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes pulse{50%{opacity:.5}}@keyframes spell-pulse-slow{0%,to{opacity:1}50%{opacity:.92}}@keyframes spell-pulse-medium{0%,to{opacity:1}50%{opacity:.85}}@keyframes spell-pulse-fast{0%,to{opacity:1}50%{opacity:.75}}@keyframes spell-texture-pan-slow{0%{transform:translate(0)}to{transform:translate(100px,100px)}}@keyframes spell-texture-pan-medium{0%{transform:translate(0)}to{transform:translate(80px,80px)}}@keyframes spell-texture-pan-fast{0%{transform:translate(0)}to{transform:translate(60px,60px)}}@keyframes spell-shimmer{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}@keyframes spell-shimmer-intense{0%,to{filter:brightness(1)}50%{filter:brightness(1.5)}}@keyframes spell-glow-pulse{0%,to{filter:drop-shadow(0 0 4px currentColor)}50%{filter:drop-shadow(0 0 8px currentColor)}}@keyframes spell-glow-pulse-intense{0%,to{filter:drop-shadow(0 0 6px currentColor)}50%{filter:drop-shadow(0 0 12px currentColor)}}.spell-overlay{transform-origin:center;will-change:opacity,transform,filter;transition:opacity .3s ease,filter .3s ease}.spell-overlay.pulse-slow{animation:spell-pulse-slow 5s ease-in-out infinite}.spell-overlay.pulse-medium{animation:spell-pulse-medium 3s ease-in-out infinite}.spell-overlay.pulse-fast{animation:spell-pulse-fast 2s ease-in-out infinite}.spell-overlay.texture-pan-slow{animation:spell-texture-pan-slow 50s linear infinite}.spell-overlay.texture-pan-medium{animation:spell-texture-pan-medium 40s linear infinite}.spell-overlay.texture-pan-fast{animation:spell-texture-pan-fast 30s linear infinite}.spell-overlay.element-fire{animation:spell-pulse-fast 2s ease-in-out infinite}.spell-overlay.element-cold{animation:spell-pulse-slow 5s ease-in-out infinite}.spell-overlay.element-lightning{animation:spell-pulse-fast 1.5s ease-in-out infinite,spell-shimmer-intense 1s ease-in-out infinite}.spell-overlay.element-poison{animation:spell-pulse-medium 3.5s ease-in-out infinite}.spell-overlay.element-acid{animation:spell-pulse-medium 3s ease-in-out infinite}.spell-overlay.element-necrotic{animation:spell-pulse-slow 6s ease-in-out infinite}.spell-overlay.element-radiant{animation:spell-pulse-medium 2.5s ease-in-out infinite,spell-shimmer 2s ease-in-out infinite}.spell-overlay.element-psychic{animation:spell-pulse-medium 3.5s ease-in-out infinite}.spell-overlay.element-arcane{animation:spell-pulse-medium 4s ease-in-out infinite}.spell-overlay.element-force{animation:spell-pulse-medium 3s ease-in-out infinite}.spell-overlay.element-thunder{animation:spell-pulse-fast 2.5s ease-in-out infinite}.spell-overlay:hover{opacity:1!important;filter:brightness(1.2);cursor:pointer}.spell-overlay.selected{opacity:1!important;filter:brightness(1.3) drop-shadow(0 0 8px rgba(255,255,255,.8))}.spell-overlay.preview{opacity:.5;pointer-events:none;animation:spell-pulse-medium 1.5s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.spell-overlay{animation:none!important}.spell-overlay:not(:hover):not(.selected){transition:none}}.spell-overlay{contain:layout style paint}.spell-overlay-layer{position:relative;z-index:10}.spell-overlay-properties-panel{position:absolute;top:50%;right:20px;transform:translateY(-50%);width:320px;max-height:80vh;overflow-y:auto;background:#14141efa;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:12px;box-shadow:0 8px 32px #00000080,0 0 0 1px #ffffff0d,inset 0 1px #ffffff1a;z-index:1000;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translateY(-50%) translate(20px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.spell-overlay-properties-panel .panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(to bottom,rgba(255,255,255,.05),transparent)}.spell-overlay-properties-panel .panel-header h3{margin:0;font-size:16px;font-weight:600;color:#fffffff2;display:flex;align-items:center;gap:8px}.spell-overlay-properties-panel .close-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff9;cursor:pointer;transition:all .2s ease}.spell-overlay-properties-panel .close-btn:hover{background:#ffffff1a;color:#ffffffe6;border-color:#fff3}.spell-overlay-properties-panel .panel-content{padding:16px 20px;display:flex;flex-direction:column;gap:20px;overflow-y:auto;overflow-x:hidden;min-height:0}.property-section{display:flex;flex-direction:column;gap:8px}.property-section label{font-size:13px;font-weight:500;color:#fffc;letter-spacing:.3px}.text-input{width:100%;padding:10px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fffffff2;font-size:14px;transition:all .2s ease}.text-input:focus{outline:none;border-color:#00bcd499;background:#0006;box-shadow:0 0 0 3px #00bcd426}.text-input::-moz-placeholder{color:#ffffff4d}.text-input::placeholder{color:#ffffff4d}.element-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.element-type-btn{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.element-type-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 50%,rgba(0,0,0,.2));pointer-events:none}.element-type-btn.active{border-color:#fffc;box-shadow:0 0 0 2px #fff3,0 4px 12px #0006;transform:scale(1.05)}.element-type-btn:hover:not(.active){opacity:1!important;border-color:#fff6;transform:scale(1.02)}.element-label{font-size:16px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5),0 0 8px rgba(0,0,0,.3);position:relative;z-index:1}.round-counter-controls{display:flex;align-items:center;gap:8px}.counter-display{flex:1;display:flex;align-items:center;gap:8px;background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:8px 12px}.counter-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#ffffffe6;font-size:18px;font-weight:600;cursor:pointer;transition:all .15s ease}.counter-btn:hover:not(:disabled){background:#00bcd44d;border-color:#00bcd499;color:#fff}.counter-btn:active:not(:disabled){transform:scale(.95)}.counter-btn:disabled{opacity:.3;cursor:not-allowed}.counter-value{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;font-size:20px;font-weight:600;color:#fffffff2}.current-round{color:#00bcd4;font-size:24px;font-weight:700;min-width:32px;text-align:center}.counter-separator{color:#fff6;font-size:18px}.max-rounds-input{width:40px;background:transparent;border:none;color:#ffffffb3;font-size:18px;font-weight:600;text-align:center;padding:0}.max-rounds-input:focus{outline:none;color:#fffffff2}.reset-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff9;cursor:pointer;transition:all .2s ease}.reset-btn:hover{background:#ff646433;border-color:#ff646466;color:#ff9696}.counter-info{min-height:20px;display:flex;align-items:center}.rounds-remaining{font-size:12px;color:#ffffff80;font-style:italic}.size-display{display:flex;align-items:baseline;gap:8px;padding:12px 16px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px}.size-value{font-size:24px;font-weight:700;color:#00bcd4}.size-type{font-size:14px;color:#fff9}.slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff1a;border-radius:3px;outline:none;transition:background .2s ease}.slider:hover{background:#ffffff26}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:linear-gradient(135deg,#00bcd4,#0096aa);border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.3);box-shadow:0 2px 8px #0000004d;-webkit-transition:all .2s ease;transition:all .2s ease}.slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 0 0 4px #00bcd433}.slider::-moz-range-thumb{width:18px;height:18px;background:linear-gradient(135deg,#00bcd4,#0096aa);border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.3);box-shadow:0 2px 8px #0000004d;-moz-transition:all .2s ease;transition:all .2s ease}.slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 0 0 4px #00bcd433}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:10px 12px;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:6px;transition:all .2s ease}.checkbox-label:hover{background:#0000004d;border-color:#fff3}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:rgba(0,188,212,1);cursor:pointer}.checkbox-icon{display:flex;align-items:center;color:#00bcd4cc}.checkbox-label span:last-child{flex:1;font-size:14px;color:#ffffffd9}.textarea-input{width:100%;padding:10px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fffffff2;font-size:13px;font-family:inherit;line-height:1.5;resize:vertical;transition:all .2s ease}.textarea-input:focus{outline:none;border-color:#00bcd499;background:#0006;box-shadow:0 0 0 3px #00bcd426}.textarea-input::-moz-placeholder{color:#ffffff4d}.textarea-input::placeholder{color:#ffffff4d}.spell-overlay-properties-panel::-webkit-scrollbar{width:8px}.spell-overlay-properties-panel::-webkit-scrollbar-track{background:#0003;border-radius:4px}.spell-overlay-properties-panel::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.spell-overlay-properties-panel::-webkit-scrollbar-thumb:hover{background:#ffffff4d}
