@font-face{font-family:Noto Sans;src:url(/assets/fonts/NotoSans-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Dyna Puff;src:url(/assets/fonts/DynaPuff-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Eagle Lake;src:url(/assets/fonts/EagleLake-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Irish Grover;src:url(/assets/fonts/IrishGrover-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Pacifico;src:url(/assets/fonts/Pacifico-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--grid-cols: 15;--grid-rows: 15;--primary-gradient-start: #667eea;--primary-gradient-end: #764ba2;--primary-color: #667eea;--primary-color-dark: #764ba2;--secondary-color: #764ba2;--secondary-hover: #5e3a82;--secondary-light: #9f7aea;--primary-light: #8b9ef5;--primary-lightest: #e5e9fd;--primary-extra-light: #f0f2fe;--primary-darker: #5568d3;--primary-darkest: #4456b8;--success-color: #28a745;--success-hover: #218838;--success-light: #d4edda;--success-lighter: #e8f5e9;--success-shadow: rgba(40, 167, 69, .2);--info-color: #007bff;--info-hover: #0056b3;--info-light: #cfe2ff;--info-lighter: #e7f1ff;--info-shadow: rgba(0, 123, 255, .2);--danger-color: #ff3b30;--danger-hover: #e02d23;--danger-light: #f8d7da;--danger-lighter: #fce8e9;--danger-shadow: rgba(255, 59, 48, .2);--warning-color: #ffc107;--warning-hover: #e0a800;--warning-light: #fff3cd;--warning-lighter: #fff9e6;--warning-shadow: rgba(255, 193, 7, .2);--white: #ffffff;--black: #000000;--gray-50: #f8f9fa;--gray-100: #f5f5f5;--gray-200: #f0f0f0;--gray-300: #e8e8e8;--gray-400: #e0e0e0;--gray-500: #cccccc;--gray-600: #999999;--gray-700: #666666;--gray-800: #555555;--gray-900: #333333;--text-primary: #333333;--text-secondary: #666666;--text-tertiary: #555555;--text-light: #999999;--text-white: #ffffff;--text-black: #000000;--text-body: var(--text-primary);--text-heading: var(--text-primary);--text-label: var(--text-secondary);--text-muted: var(--text-light);--text-placeholder: var(--text-light);--text-link: var(--primary-color);--text-button-primary: var(--primary-color);--text-button-success: var(--success-color);--text-button-info: var(--info-color);--text-button-warning: var(--warning-color);--text-button-danger: var(--danger-color);--text-badge-positive: var(--success-color);--text-badge-warning: var(--warning-color);--text-badge-critical: var(--danger-color);--text-inverse: var(--text-white);--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #f5f5f5;--bg-hover: #f0f0f0;--bg-active: #e8e8e8;--border-light: #f3f3f3;--border-default: #e0e0e0;--border-medium: #cccccc;--border-dark: #333333;--grid-empty-cell: #333333;--grid-filled-cell: #ffffff;--grid-text-color: #000000;--grid-number-color: #0066cc;--grid-border-color: #333333;--grid-cell-border: #cccccc;--overlay-light: rgba(255, 255, 255, .2);--overlay-medium: rgba(255, 255, 255, .3);--overlay-dark: rgba(0, 0, 0, .7);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .15);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .15);--shadow-2xl: 0 4px 20px rgba(0, 0, 0, .2);--shadow-primary: 0 4px 12px rgba(102, 126, 234, .3);--shadow-success: 0 2px 6px rgba(40, 167, 69, .2);--shadow-info: 0 2px 6px rgba(0, 123, 255, .2);--shadow-danger: 0 2px 8px rgba(0, 0, 0, .3);--interactive-bg: rgba(255, 255, 255, .2);--interactive-border: rgba(255, 255, 255, .3);--interactive-hover-bg: rgba(255, 255, 255, .3);--gradient-primary: linear-gradient(135deg, var(--primary-gradient-start) 0%, var(--primary-gradient-end) 100%);--gradient-primary-light: linear-gradient(135deg, #eef2ff 0%, #f4ebfb 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(102, 126, 234, .08) 0%, rgba(118, 75, 162, .06) 100%);--primary-tint: rgba(102, 126, 234, .08);--primary-tint-2: rgba(118, 75, 162, .06);--primary-lightest: #f3f4ff;--primary-lighter: #b8c5f9;--gradient-light: linear-gradient(135deg, #f5f5f5 0%, #ffffff 100%);--opacity-disabled: .5;--opacity-hover: .8;--opacity-light: .1;--opacity-medium: .5;--opacity-heavy: .7;--opacity-full: 1;--transition-fast: .2s;--transition-base: .3s;--transition-slow: .5s;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-default: var(--radius-lg);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 30px}[data-theme=dark]{--primary-gradient-start: #11172B;--primary-gradient-end: #1F2A44;--primary-color: #8B5CF6;--primary-color-dark: #7C3AED;--secondary-color: #0EA5E9;--secondary-hover: #0284C7;--primary-light: #A78BFA;--primary-lighter: #C4B5FD;--primary-lightest: #E0D7FF;--primary-extra-light: #312E81;--primary-darker: #5B21B6;--primary-darkest: #4C1D95;--success-color: #10B981;--success-hover: #059669;--success-light: rgba(16, 185, 129, .16);--success-lighter: rgba(16, 185, 129, .08);--success-shadow: rgba(16, 185, 129, .35);--info-color: #38BDF8;--info-hover: #0EA5E9;--info-light: rgba(56, 189, 248, .18);--info-lighter: rgba(56, 189, 248, .1);--info-shadow: rgba(14, 165, 233, .35);--danger-color: #F87171;--danger-hover: #DC2626;--danger-light: rgba(248, 113, 113, .18);--danger-lighter: rgba(248, 113, 113, .1);--danger-shadow: rgba(248, 113, 113, .35);--warning-color: #FBBF24;--warning-hover: #D97706;--warning-light: rgba(251, 191, 36, .2);--warning-lighter: rgba(251, 191, 36, .12);--warning-shadow: rgba(251, 191, 36, .35);--white: #FFFFFF;--black: #000000;--gray-50: #111827;--gray-100: #141B2C;--gray-200: #1E2437;--gray-300: #252B3F;--gray-400: #2F3651;--gray-500: #414967;--gray-600: #555F7E;--gray-700: #6B7494;--gray-800: #8E98B9;--gray-900: #CBD3F0;--text-primary: #F8FAFC;--text-secondary: #CBD5F5;--text-tertiary: #9AA5C2;--text-light: #6B7494;--text-white: #FFFFFF;--text-black: #010409;--text-body: var(--text-primary);--text-heading: var(--text-primary);--text-label: var(--text-secondary);--text-muted: var(--text-light);--text-placeholder: var(--text-light);--text-link: var(--primary-light);--text-button-primary: var(--primary-color);--text-button-success: var(--success-color);--text-button-info: var(--info-color);--text-button-warning: var(--warning-color);--text-button-danger: var(--danger-color);--text-badge-positive: var(--success-color);--text-badge-warning: var(--warning-color);--text-badge-critical: var(--danger-color);--text-inverse: var(--text-white);--bg-primary: #151B2C;--bg-secondary: #0B0F1A;--bg-tertiary: #1C2337;--bg-hover: #232C45;--bg-active: #2F3A52;--border-light: rgba(255, 255, 255, .08);--border-default: rgba(255, 255, 255, .14);--border-medium: rgba(255, 255, 255, .2);--border-dark: rgba(255, 255, 255, .35);--grid-empty-cell: #0F172A;--grid-filled-cell: #F8FAFC;--grid-text-color: #FFFFFF;--grid-number-color: #38BDF8;--grid-border-color: #1F2937;--grid-cell-border: rgba(255, 255, 255, .2);--overlay-light: rgba(15, 23, 42, .4);--overlay-medium: rgba(15, 23, 42, .6);--overlay-dark: rgba(3, 7, 18, .85);--shadow-sm: 0 2px 6px rgba(2, 6, 23, .6);--shadow-md: 0 8px 20px rgba(2, 6, 23, .55);--shadow-lg: 0 12px 30px rgba(2, 6, 23, .6);--shadow-xl: 0 18px 40px rgba(2, 6, 23, .55);--shadow-2xl: 0 22px 60px rgba(2, 6, 23, .65);--shadow-primary: 0 8px 30px rgba(139, 92, 246, .45);--shadow-success: 0 6px 20px rgba(16, 185, 129, .35);--shadow-info: 0 6px 20px rgba(14, 165, 233, .4);--shadow-danger: 0 6px 24px rgba(248, 113, 113, .4);--interactive-bg: rgba(139, 92, 246, .14);--interactive-border: rgba(139, 92, 246, .35);--interactive-hover-bg: rgba(139, 92, 246, .25);--gradient-primary: linear-gradient(135deg, #11172B 0%, #1F2A44 100%);--gradient-primary-light: linear-gradient(135deg, rgba(31, 42, 68, .65) 0%, rgba(17, 23, 43, .65) 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(139, 92, 246, .12) 0%, rgba(14, 165, 233, .08) 100%);--primary-tint: rgba(139, 92, 246, .12);--primary-tint-2: rgba(14, 165, 233, .12);--primary-lightest: #312E81;--primary-lighter: #A78BFA;--gradient-light: linear-gradient(135deg, rgba(31, 41, 55, .85) 0%, rgba(17, 24, 39, .85) 100%)}[data-theme=slate]{--primary-gradient-start: #3B82F6;--primary-gradient-end: #2563EB;--primary-color: #3B82F6;--primary-color-dark: #2563EB;--secondary-color: #2563EB;--secondary-hover: #1D4ED8;--primary-light: #60A5FA;--primary-lightest: #DBEAFE;--primary-extra-light: #EFF6FF;--primary-darker: #2563EB;--primary-darkest: #1D4ED8;--success-color: #10B981;--success-hover: #059669;--success-shadow: rgba(16, 185, 129, .2);--info-color: #3B82F6;--info-hover: #2563EB;--info-shadow: rgba(59, 130, 246, .2);--danger-color: #EF4444;--danger-hover: #DC2626;--danger-shadow: rgba(239, 68, 68, .2);--warning-color: #F59E0B;--warning-hover: #D97706;--warning-shadow: rgba(245, 158, 11, .2);--white: #ffffff;--black: #000000;--gray-50: #F8FAFC;--gray-100: #F1F5F9;--gray-200: #E2E8F0;--gray-300: #CBD5E1;--gray-400: #94A3B8;--gray-500: #64748B;--gray-600: #475569;--gray-700: #334155;--gray-800: #1E293B;--gray-900: #0F172A;--text-primary: #1E293B;--text-secondary: #475569;--text-tertiary: #64748B;--text-light: #94A3B8;--text-white: #ffffff;--text-black: #000000;--bg-primary: #FFFFFF;--bg-secondary: #F8FAFC;--bg-tertiary: #F1F5F9;--bg-hover: #E2E8F0;--bg-active: #CBD5E1;--border-light: #F1F5F9;--border-default: #E2E8F0;--border-medium: #CBD5E1;--border-dark: #64748B;--grid-empty-cell: #1E293B;--grid-filled-cell: #ffffff;--grid-text-color: #000000;--grid-number-color: #64748B;--grid-border-color: #1E293B;--grid-cell-border: #CBD5E1;--overlay-light: rgba(255, 255, 255, .2);--overlay-medium: rgba(255, 255, 255, .3);--overlay-dark: rgba(15, 23, 42, .7);--shadow-sm: 0 2px 4px rgba(15, 23, 42, .1);--shadow-md: 0 2px 8px rgba(15, 23, 42, .1);--shadow-lg: 0 4px 12px rgba(15, 23, 42, .15);--shadow-xl: 0 8px 24px rgba(15, 23, 42, .15);--shadow-2xl: 0 4px 20px rgba(15, 23, 42, .2);--shadow-primary: 0 4px 12px rgba(59, 130, 246, .3);--shadow-success: 0 2px 6px rgba(16, 185, 129, .2);--shadow-info: 0 2px 6px rgba(59, 130, 246, .2);--shadow-danger: 0 2px 8px rgba(239, 68, 68, .3);--interactive-bg: rgba(59, 130, 246, .1);--interactive-border: rgba(59, 130, 246, .3);--interactive-hover-bg: rgba(59, 130, 246, .2);--gradient-primary: linear-gradient(135deg, #3B82F6 0%, #2563EB 100%);--gradient-primary-light: linear-gradient(135deg, #DBEAFE 0%, #BFDBFE 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(59, 130, 246, .08) 0%, rgba(37, 99, 235, .06) 100%);--primary-tint: rgba(59, 130, 246, .08);--primary-tint-2: rgba(37, 99, 235, .06);--primary-lightest: #EFF6FF;--primary-lighter: #93C5FD;--gradient-light: linear-gradient(135deg, #F8FAFC 0%, #ffffff 100%)}[data-theme=playful]{--primary-gradient-start: #7C3AED;--primary-gradient-end: #6D28D9;--primary-color: #7C3AED;--primary-color-dark: #6D28D9;--secondary-color: #06B6D4;--secondary-hover: #0891B2;--primary-light: #A78BFA;--primary-lightest: #EDE9FE;--primary-extra-light: #F5F3FF;--primary-darker: #6D28D9;--primary-darkest: #5B21B6;--success-color: #10B981;--success-hover: #059669;--success-shadow: rgba(16, 185, 129, .2);--info-color: #06B6D4;--info-hover: #0891B2;--info-shadow: rgba(6, 182, 212, .2);--danger-color: #EF4444;--danger-hover: #DC2626;--danger-shadow: rgba(239, 68, 68, .2);--warning-color: #F59E0B;--warning-hover: #D97706;--warning-shadow: rgba(245, 158, 11, .2);--white: #ffffff;--black: #000000;--gray-50: #F4F4F5;--gray-100: #F4F4F5;--gray-200: #E4E4E7;--gray-300: #D4D4D8;--gray-400: #A1A1AA;--gray-500: #71717A;--gray-600: #52525B;--gray-700: #3F3F46;--gray-800: #27272A;--gray-900: #18181B;--text-primary: #18181B;--text-secondary: #52525B;--text-tertiary: #71717A;--text-light: #A1A1AA;--text-white: #ffffff;--text-black: #000000;--bg-primary: #FFFFFF;--bg-secondary: #F4F4F5;--bg-tertiary: #FAFAFA;--bg-hover: #E4E4E7;--bg-active: #D4D4D8;--border-light: #FAFAFA;--border-default: #E4E4E7;--border-medium: #D4D4D8;--border-dark: #71717A;--grid-empty-cell: #18181B;--grid-filled-cell: #ffffff;--grid-text-color: #000000;--grid-number-color: #71717A;--grid-border-color: #18181B;--grid-cell-border: #D4D4D8;--overlay-light: rgba(255, 255, 255, .2);--overlay-medium: rgba(255, 255, 255, .3);--overlay-dark: rgba(24, 24, 27, .7);--shadow-sm: 0 2px 4px rgba(24, 24, 27, .08);--shadow-md: 0 2px 8px rgba(24, 24, 27, .1);--shadow-lg: 0 4px 12px rgba(24, 24, 27, .12);--shadow-xl: 0 8px 24px rgba(24, 24, 27, .15);--shadow-2xl: 0 4px 20px rgba(24, 24, 27, .18);--shadow-primary: 0 4px 12px rgba(124, 58, 237, .3);--shadow-success: 0 2px 6px rgba(16, 185, 129, .25);--shadow-info: 0 2px 6px rgba(6, 182, 212, .25);--shadow-danger: 0 2px 8px rgba(239, 68, 68, .3);--interactive-bg: rgba(124, 58, 237, .1);--interactive-border: rgba(124, 58, 237, .3);--interactive-hover-bg: rgba(124, 58, 237, .15);--gradient-primary: linear-gradient(135deg, #7C3AED 0%, #6D28D9 100%);--gradient-primary-light: linear-gradient(135deg, #EDE9FE 0%, #DDD6FE 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(124, 58, 237, .08) 0%, rgba(109, 40, 217, .06) 100%);--primary-tint: rgba(124, 58, 237, .08);--primary-tint-2: rgba(109, 40, 217, .06);--primary-lightest: #F5F3FF;--primary-lighter: #C4B5FD;--gradient-light: linear-gradient(135deg, #F4F4F5 0%, #ffffff 100%)}[data-theme=elegant]{--primary-gradient-start: #B69B7E;--primary-gradient-end: #9A8268;--primary-color: #B69B7E;--primary-color-dark: #9A8268;--secondary-color: #A3A380;--secondary-hover: #8A8A6D;--primary-light: #C9B59B;--primary-lightest: #F0EBE3;--primary-extra-light: #F7F4F0;--primary-darker: #9A8268;--primary-darkest: #877055;--success-color: #059669;--success-hover: #047857;--success-shadow: rgba(5, 150, 105, .2);--info-color: #3B82F6;--info-hover: #2563EB;--info-shadow: rgba(59, 130, 246, .2);--danger-color: #DC2626;--danger-hover: #B91C1C;--danger-shadow: rgba(220, 38, 38, .2);--warning-color: #D97706;--warning-hover: #B45309;--warning-shadow: rgba(217, 119, 6, .2);--white: #ffffff;--black: #000000;--gray-50: #FAFAF9;--gray-100: #F5F5F4;--gray-200: #E7E5E4;--gray-300: #D6D3D1;--gray-400: #A8A29E;--gray-500: #78716C;--gray-600: #57534E;--gray-700: #44403C;--gray-800: #292524;--gray-900: #1C1917;--text-primary: #1C1917;--text-secondary: #57534E;--text-tertiary: #78716C;--text-light: #A8A29E;--text-white: #ffffff;--text-black: #000000;--bg-primary: #FFFFFF;--bg-secondary: #FAFAF9;--bg-tertiary: #F5F5F4;--bg-hover: #E7E5E4;--bg-active: #D6D3D1;--border-light: #F5F5F4;--border-default: #E7E5E4;--border-medium: #D6D3D1;--border-dark: #78716C;--grid-empty-cell: #1C1917;--grid-filled-cell: #ffffff;--grid-text-color: #000000;--grid-number-color: #78716C;--grid-border-color: #1C1917;--grid-cell-border: #D6D3D1;--overlay-light: rgba(255, 255, 255, .2);--overlay-medium: rgba(255, 255, 255, .3);--overlay-dark: rgba(28, 25, 23, .7);--shadow-sm: 0 2px 4px rgba(28, 25, 23, .08);--shadow-md: 0 2px 8px rgba(28, 25, 23, .1);--shadow-lg: 0 4px 12px rgba(28, 25, 23, .12);--shadow-xl: 0 8px 24px rgba(28, 25, 23, .14);--shadow-2xl: 0 4px 20px rgba(28, 25, 23, .16);--shadow-primary: 0 4px 12px rgba(182, 155, 126, .25);--shadow-success: 0 2px 6px rgba(5, 150, 105, .2);--shadow-info: 0 2px 6px rgba(59, 130, 246, .2);--shadow-danger: 0 2px 8px rgba(220, 38, 38, .25);--interactive-bg: rgba(182, 155, 126, .08);--interactive-border: rgba(182, 155, 126, .25);--interactive-hover-bg: rgba(182, 155, 126, .15);--gradient-primary: linear-gradient(135deg, #B69B7E 0%, #9A8268 100%);--gradient-primary-light: linear-gradient(135deg, #F0EBE3 0%, #E7E0D5 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(182, 155, 126, .08) 0%, rgba(154, 130, 104, .06) 100%);--primary-tint: rgba(182, 155, 126, .08);--primary-tint-2: rgba(154, 130, 104, .06);--primary-lightest: #F7F4F0;--primary-lighter: #DDD0BF;--gradient-light: linear-gradient(135deg, #FAFAF9 0%, #ffffff 100%)}[data-theme=ocean]{--primary-gradient-start: #0EA5E9;--primary-gradient-end: #0284C7;--primary-color: #0EA5E9;--primary-color-dark: #0284C7;--secondary-color: #1E3A8A;--secondary-hover: #1E40AF;--primary-light: #22D3EE;--primary-lightest: #CFFAFE;--primary-extra-light: #ECFEFF;--primary-darker: #0284C7;--primary-darkest: #0369A1;--success-color: #059669;--success-hover: #047857;--success-shadow: rgba(5, 150, 105, .2);--info-color: #22D3EE;--info-hover: #06B6D4;--info-shadow: rgba(34, 211, 238, .2);--danger-color: #EF4444;--danger-hover: #DC2626;--danger-shadow: rgba(239, 68, 68, .2);--warning-color: #F59E0B;--warning-hover: #D97706;--warning-shadow: rgba(245, 158, 11, .2);--white: #ffffff;--black: #000000;--gray-50: #F0F9FF;--gray-100: #E0F2FE;--gray-200: #BAE6FD;--gray-300: #7DD3FC;--gray-400: #38BDF8;--gray-500: #0EA5E9;--gray-600: #334155;--gray-700: #1E293B;--gray-800: #0F172A;--gray-900: #020617;--text-primary: #0F172A;--text-secondary: #334155;--text-tertiary: #475569;--text-light: #64748B;--text-white: #ffffff;--text-black: #000000;--bg-primary: #FFFFFF;--bg-secondary: #F0F9FF;--bg-tertiary: #E0F2FE;--bg-hover: #BAE6FD;--bg-active: #7DD3FC;--border-light: #E0F2FE;--border-default: #BAE6FD;--border-medium: #7DD3FC;--border-dark: #0EA5E9;--grid-empty-cell: #0F172A;--grid-filled-cell: #ffffff;--grid-text-color: #000000;--grid-number-color: #475569;--grid-border-color: #0F172A;--grid-cell-border: #BAE6FD;--overlay-light: rgba(255, 255, 255, .2);--overlay-medium: rgba(255, 255, 255, .3);--overlay-dark: rgba(15, 23, 42, .7);--shadow-sm: 0 2px 4px rgba(14, 165, 233, .08);--shadow-md: 0 2px 8px rgba(14, 165, 233, .1);--shadow-lg: 0 4px 12px rgba(14, 165, 233, .12);--shadow-xl: 0 8px 24px rgba(14, 165, 233, .15);--shadow-2xl: 0 4px 20px rgba(14, 165, 233, .18);--shadow-primary: 0 4px 12px rgba(14, 165, 233, .3);--shadow-success: 0 2px 6px rgba(5, 150, 105, .25);--shadow-info: 0 2px 6px rgba(34, 211, 238, .25);--shadow-danger: 0 2px 8px rgba(239, 68, 68, .3);--interactive-bg: rgba(14, 165, 233, .08);--interactive-border: rgba(14, 165, 233, .25);--interactive-hover-bg: rgba(14, 165, 233, .15);--gradient-primary: linear-gradient(135deg, #0EA5E9 0%, #0284C7 100%);--gradient-primary-light: linear-gradient(135deg, #CFFAFE 0%, #A5F3FC 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(14, 165, 233, .08) 0%, rgba(2, 132, 199, .06) 100%);--primary-tint: rgba(14, 165, 233, .08);--primary-tint-2: rgba(2, 132, 199, .06);--primary-lightest: #ECFEFF;--primary-lighter: #67E8F9;--gradient-light: linear-gradient(135deg, #F0F9FF 0%, #ffffff 100%)}[data-theme=sunset]{--primary-gradient-start: #FB923C;--primary-gradient-end: #F97316;--primary-color: #FB923C;--primary-color-dark: #F97316;--secondary-color: #7C3AED;--secondary-hover: #6D28D9;--primary-light: #FDBA74;--primary-lightest: #FFEDD5;--primary-extra-light: #FFF7ED;--primary-darker: #F97316;--primary-darkest: #EA580C;--success-color: #84CC16;--success-hover: #65A30D;--success-shadow: rgba(132, 204, 22, .2);--info-color: #EC4899;--info-hover: #DB2777;--info-shadow: rgba(236, 72, 153, .2);--danger-color: #EF4444;--danger-hover: #DC2626;--danger-shadow: rgba(239, 68, 68, .2);--warning-color: #F59E0B;--warning-hover: #D97706;--warning-shadow: rgba(245, 158, 11, .2);--white: #ffffff;--black: #000000;--gray-50: #FFF7ED;--gray-100: #FFEDD5;--gray-200: #FED7AA;--gray-300: #FDBA74;--gray-400: #D1D5DB;--gray-500: #9CA3AF;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--text-primary: #1F2937;--text-secondary: #4B5563;--text-tertiary: #6B7280;--text-light: #9CA3AF;--text-white: #ffffff;--text-black: #000000;--bg-primary: #FFFFFF;--bg-secondary: #FFF7ED;--bg-tertiary: #FFEDD5;--bg-hover: #FED7AA;--bg-active: #FDBA74;--border-light: #FFEDD5;--border-default: #FED7AA;--border-medium: #FDBA74;--border-dark: #FB923C;--grid-empty-cell: #1F2937;--grid-filled-cell: #ffffff;--grid-text-color: #000000;--grid-number-color: #6B7280;--grid-border-color: #1F2937;--grid-cell-border: #D1D5DB;--overlay-light: rgba(255, 255, 255, .2);--overlay-medium: rgba(255, 255, 255, .3);--overlay-dark: rgba(31, 41, 55, .7);--shadow-sm: 0 2px 4px rgba(251, 146, 60, .1);--shadow-md: 0 2px 8px rgba(251, 146, 60, .12);--shadow-lg: 0 4px 12px rgba(251, 146, 60, .15);--shadow-xl: 0 8px 24px rgba(251, 146, 60, .18);--shadow-2xl: 0 4px 20px rgba(251, 146, 60, .2);--shadow-primary: 0 4px 12px rgba(251, 146, 60, .3);--shadow-success: 0 2px 6px rgba(132, 204, 22, .25);--shadow-info: 0 2px 6px rgba(236, 72, 153, .25);--shadow-danger: 0 2px 8px rgba(239, 68, 68, .3);--interactive-bg: rgba(251, 146, 60, .08);--interactive-border: rgba(251, 146, 60, .25);--interactive-hover-bg: rgba(251, 146, 60, .15);--gradient-primary: linear-gradient(135deg, #FB923C 0%, #F97316 100%);--gradient-primary-light: linear-gradient(135deg, #FFEDD5 0%, #FED7AA 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(251, 146, 60, .08) 0%, rgba(249, 115, 22, .06) 100%);--primary-tint: rgba(251, 146, 60, .08);--primary-tint-2: rgba(249, 115, 22, .06);--primary-lightest: #FFF7ED;--primary-lighter: #FED7AA;--gradient-light: linear-gradient(135deg, #FFF7ED 0%, #ffffff 100%)}[data-theme=mint]{--primary-gradient-start: #34D399;--primary-gradient-end: #10B981;--primary-color: #34D399;--primary-color-dark: #10B981;--secondary-color: #14532D;--secondary-hover: #166534;--primary-light: #6EE7B7;--primary-lightest: #D1FAE5;--primary-extra-light: #ECFDF5;--primary-darker: #10B981;--primary-darkest: #059669;--success-color: #84CC16;--success-hover: #65A30D;--success-shadow: rgba(132, 204, 22, .2);--info-color: #34D399;--info-hover: #10B981;--info-shadow: rgba(52, 211, 153, .2);--danger-color: #EF4444;--danger-hover: #DC2626;--danger-shadow: rgba(239, 68, 68, .2);--warning-color: #F59E0B;--warning-hover: #D97706;--warning-shadow: rgba(245, 158, 11, .2);--white: #ffffff;--black: #000000;--gray-50: #FAFAF9;--gray-100: #F5F5F4;--gray-200: #E7E5E4;--gray-300: #D6D3D1;--gray-400: #A8A29E;--gray-500: #78716C;--gray-600: #57534E;--gray-700: #44403C;--gray-800: #292524;--gray-900: #1C1917;--text-primary: #1C1917;--text-secondary: #57534E;--text-tertiary: #78716C;--text-light: #A8A29E;--text-white: #ffffff;--text-black: #000000;--bg-primary: #FFFFFF;--bg-secondary: #FAFAF9;--bg-tertiary: #F5F5F4;--bg-hover: #E7E5E4;--bg-active: #D6D3D1;--border-light: #F5F5F4;--border-default: #E7E5E4;--border-medium: #D6D3D1;--border-dark: #78716C;--grid-empty-cell: #1C1917;--grid-filled-cell: #ffffff;--grid-text-color: #000000;--grid-number-color: #78716C;--grid-border-color: #1C1917;--grid-cell-border: #D6D3D1;--overlay-light: rgba(255, 255, 255, .2);--overlay-medium: rgba(255, 255, 255, .3);--overlay-dark: rgba(28, 25, 23, .7);--shadow-sm: 0 2px 4px rgba(52, 211, 153, .08);--shadow-md: 0 2px 8px rgba(52, 211, 153, .1);--shadow-lg: 0 4px 12px rgba(52, 211, 153, .12);--shadow-xl: 0 8px 24px rgba(52, 211, 153, .15);--shadow-2xl: 0 4px 20px rgba(52, 211, 153, .18);--shadow-primary: 0 4px 12px rgba(52, 211, 153, .25);--shadow-success: 0 2px 6px rgba(132, 204, 22, .25);--shadow-info: 0 2px 6px rgba(52, 211, 153, .25);--shadow-danger: 0 2px 8px rgba(239, 68, 68, .3);--interactive-bg: rgba(52, 211, 153, .08);--interactive-border: rgba(52, 211, 153, .25);--interactive-hover-bg: rgba(52, 211, 153, .15);--gradient-primary: linear-gradient(135deg, #34D399 0%, #10B981 100%);--gradient-primary-light: linear-gradient(135deg, #D1FAE5 0%, #A7F3D0 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(52, 211, 153, .08) 0%, rgba(16, 185, 129, .06) 100%);--primary-tint: rgba(52, 211, 153, .08);--primary-tint-2: rgba(16, 185, 129, .06);--primary-lightest: #ECFDF5;--primary-lighter: #A7F3D0;--gradient-light: linear-gradient(135deg, #FAFAF9 0%, #ffffff 100%)}[data-theme=sand]{--primary-gradient-start: #E76F51;--primary-gradient-end: #D4542A;--primary-color: #E76F51;--primary-color-dark: #D4542A;--secondary-color: #F4A261;--secondary-hover: #E38E45;--primary-light: #EE9579;--primary-lightest: #FEEAE6;--primary-extra-light: #FFF5F2;--primary-darker: #D4542A;--primary-darkest: #B8401A;--success-color: #A3B18A;--success-hover: #8C9B73;--success-shadow: rgba(163, 177, 138, .2);--info-color: #F4A261;--info-hover: #E38E45;--info-shadow: rgba(244, 162, 97, .2);--danger-color: #DC2626;--danger-hover: #B91C1C;--danger-shadow: rgba(220, 38, 38, .2);--warning-color: #F59E0B;--warning-hover: #D97706;--warning-shadow: rgba(245, 158, 11, .2);--white: #ffffff;--black: #000000;--gray-50: #FFF8F1;--gray-100: #FFF0E5;--gray-200: #FFE4D6;--gray-300: #F5D5C3;--gray-400: #D4B5A0;--gray-500: #9E8375;--gray-600: #6B4F4F;--gray-700: #4A3838;--gray-800: #3A2929;--gray-900: #2E1F1C;--text-primary: #2E1F1C;--text-secondary: #6B4F4F;--text-tertiary: #9E8375;--text-light: #D4B5A0;--text-white: #ffffff;--text-black: #000000;--bg-primary: #FFFFFF;--bg-secondary: #FFF8F1;--bg-tertiary: #FFF0E5;--bg-hover: #FFE4D6;--bg-active: #F5D5C3;--border-light: #FFF0E5;--border-default: #FFE4D6;--border-medium: #F5D5C3;--border-dark: #9E8375;--grid-empty-cell: #2E1F1C;--grid-filled-cell: #ffffff;--grid-text-color: #000000;--grid-number-color: #9E8375;--grid-border-color: #2E1F1C;--grid-cell-border: #F5D5C3;--overlay-light: rgba(255, 255, 255, .2);--overlay-medium: rgba(255, 255, 255, .3);--overlay-dark: rgba(46, 31, 28, .7);--shadow-sm: 0 2px 4px rgba(231, 111, 81, .08);--shadow-md: 0 2px 8px rgba(231, 111, 81, .1);--shadow-lg: 0 4px 12px rgba(231, 111, 81, .12);--shadow-xl: 0 8px 24px rgba(231, 111, 81, .15);--shadow-2xl: 0 4px 20px rgba(231, 111, 81, .18);--shadow-primary: 0 4px 12px rgba(231, 111, 81, .25);--shadow-success: 0 2px 6px rgba(163, 177, 138, .25);--shadow-info: 0 2px 6px rgba(244, 162, 97, .25);--shadow-danger: 0 2px 8px rgba(220, 38, 38, .3);--interactive-bg: rgba(231, 111, 81, .08);--interactive-border: rgba(231, 111, 81, .25);--interactive-hover-bg: rgba(231, 111, 81, .15);--gradient-primary: linear-gradient(135deg, #E76F51 0%, #D4542A 100%);--gradient-primary-light: linear-gradient(135deg, #FEEAE6 0%, #FCD5CE 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(231, 111, 81, .08) 0%, rgba(212, 84, 42, .06) 100%);--primary-tint: rgba(231, 111, 81, .08);--primary-tint-2: rgba(212, 84, 42, .06);--primary-lightest: #FFF5F2;--primary-lighter: #FCD5CE;--gradient-light: linear-gradient(135deg, #FFF8F1 0%, #ffffff 100%)}[data-theme=creative]{--primary-gradient-start: #9333EA;--primary-gradient-end: #7E22CE;--primary-color: #9333EA;--primary-color-dark: #7E22CE;--secondary-color: #F97316;--secondary-hover: #EA580C;--primary-light: #A855F7;--primary-lightest: #F3E8FF;--primary-extra-light: #FAF5FF;--primary-darker: #7E22CE;--primary-darkest: #6B21A8;--success-color: #FACC15;--success-hover: #EAB308;--success-shadow: rgba(250, 204, 21, .2);--info-color: #F97316;--info-hover: #EA580C;--info-shadow: rgba(249, 115, 22, .2);--danger-color: #EF4444;--danger-hover: #DC2626;--danger-shadow: rgba(239, 68, 68, .2);--warning-color: #F59E0B;--warning-hover: #D97706;--warning-shadow: rgba(245, 158, 11, .2);--white: #ffffff;--black: #000000;--gray-50: #FDFCFB;--gray-100: #FAFAF9;--gray-200: #F4F4F5;--gray-300: #E4E4E7;--gray-400: #A1A1AA;--gray-500: #71717A;--gray-600: #52525B;--gray-700: #3F3F46;--gray-800: #27272A;--gray-900: #1E1B4B;--text-primary: #1E1B4B;--text-secondary: #52525B;--text-tertiary: #71717A;--text-light: #A1A1AA;--text-white: #ffffff;--text-black: #000000;--bg-primary: #FFFFFF;--bg-secondary: #FDFCFB;--bg-tertiary: #FAFAF9;--bg-hover: #F4F4F5;--bg-active: #E4E4E7;--border-light: #FAFAF9;--border-default: #F4F4F5;--border-medium: #E4E4E7;--border-dark: #71717A;--grid-empty-cell: #1E1B4B;--grid-filled-cell: #ffffff;--grid-text-color: #000000;--grid-number-color: #71717A;--grid-border-color: #1E1B4B;--grid-cell-border: #E4E4E7;--overlay-light: rgba(255, 255, 255, .2);--overlay-medium: rgba(255, 255, 255, .3);--overlay-dark: rgba(30, 27, 75, .7);--shadow-sm: 0 2px 4px rgba(147, 51, 234, .08);--shadow-md: 0 2px 8px rgba(147, 51, 234, .1);--shadow-lg: 0 4px 12px rgba(147, 51, 234, .15);--shadow-xl: 0 8px 24px rgba(147, 51, 234, .18);--shadow-2xl: 0 4px 20px rgba(147, 51, 234, .2);--shadow-primary: 0 4px 12px rgba(147, 51, 234, .3);--shadow-success: 0 2px 6px rgba(250, 204, 21, .25);--shadow-info: 0 2px 6px rgba(249, 115, 22, .25);--shadow-danger: 0 2px 8px rgba(239, 68, 68, .3);--interactive-bg: rgba(147, 51, 234, .08);--interactive-border: rgba(147, 51, 234, .25);--interactive-hover-bg: rgba(147, 51, 234, .15);--gradient-primary: linear-gradient(135deg, #9333EA 0%, #7E22CE 100%);--gradient-primary-light: linear-gradient(135deg, #F3E8FF 0%, #E9D5FF 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(147, 51, 234, .08) 0%, rgba(126, 34, 206, .06) 100%);--primary-tint: rgba(147, 51, 234, .08);--primary-tint-2: rgba(126, 34, 206, .06);--primary-lightest: #FAF5FF;--primary-lighter: #E9D5FF;--gradient-light: linear-gradient(135deg, #FDFCFB 0%, #ffffff 100%)}[data-theme=cinnamon]{--primary-gradient-start: #C2410C;--primary-gradient-end: #9A3412;--primary-color: #C2410C;--primary-color-dark: #9A3412;--secondary-color: #7C2D12;--secondary-hover: #662616;--primary-light: #EA580C;--primary-lighter: #FDBA74;--primary-lightest: #FED7AA;--primary-extra-light: #FFEDD5;--primary-darker: #9A3412;--primary-darkest: #7C2D12;--success-color: #059669;--success-hover: #047857;--success-shadow: rgba(5, 150, 105, .2);--info-color: #EA580C;--info-hover: #C2410C;--info-shadow: rgba(234, 88, 12, .2);--danger-color: #DC2626;--danger-hover: #B91C1C;--danger-shadow: rgba(220, 38, 38, .2);--warning-color: #D97706;--warning-hover: #B45309;--warning-shadow: rgba(217, 119, 6, .2);--white: #ffffff;--black: #000000;--gray-50: #FDF6EE;--gray-100: #FBF1E6;--gray-200: #F5E6D3;--gray-300: #E7CBA9;--gray-400: #C9A478;--gray-500: #A67C52;--gray-600: #78350F;--gray-700: #633112;--gray-800: #451A03;--gray-900: #1C1917;--text-primary: #1C1917;--text-secondary: #78350F;--text-tertiary: #A67C52;--text-light: #C9A478;--text-white: #ffffff;--text-black: #000000;--bg-primary: #FFFFFF;--bg-secondary: #FDF6EE;--bg-tertiary: #FBF1E6;--bg-hover: #F5E6D3;--bg-active: #E7CBA9;--border-light: #FBF1E6;--border-default: #F5E6D3;--border-medium: #E7CBA9;--border-dark: #A67C52;--grid-empty-cell: #1C1917;--grid-filled-cell: #ffffff;--grid-text-color: #000000;--grid-number-color: #A67C52;--grid-border-color: #1C1917;--grid-cell-border: #E7CBA9;--overlay-light: rgba(255, 255, 255, .2);--overlay-medium: rgba(255, 255, 255, .3);--overlay-dark: rgba(28, 25, 23, .7);--shadow-sm: 0 2px 4px rgba(194, 65, 12, .08);--shadow-md: 0 2px 8px rgba(194, 65, 12, .1);--shadow-lg: 0 4px 12px rgba(194, 65, 12, .12);--shadow-xl: 0 8px 24px rgba(194, 65, 12, .15);--shadow-2xl: 0 4px 20px rgba(194, 65, 12, .18);--shadow-primary: 0 4px 12px rgba(194, 65, 12, .25);--shadow-success: 0 2px 6px rgba(5, 150, 105, .2);--shadow-info: 0 2px 6px rgba(234, 88, 12, .25);--shadow-danger: 0 2px 8px rgba(220, 38, 38, .3);--interactive-bg: rgba(194, 65, 12, .08);--interactive-border: rgba(194, 65, 12, .25);--interactive-hover-bg: rgba(194, 65, 12, .15);--gradient-primary: linear-gradient(135deg, #C2410C 0%, #9A3412 100%);--gradient-primary-light: linear-gradient(135deg, #FFEDD5 0%, #FED7AA 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(194, 65, 12, .08) 0%, rgba(154, 52, 18, .06) 100%);--primary-tint: rgba(194, 65, 12, .08);--primary-tint-2: rgba(154, 52, 18, .06);--primary-lightest: #FFEDD5;--primary-lighter: #FED7AA;--gradient-light: linear-gradient(135deg, #FDF6EE 0%, #ffffff 100%)}[data-theme=rose]{--primary-gradient-start: #F472B6;--primary-gradient-end: #EC4899;--primary-color: #F472B6;--primary-color-dark: #EC4899;--secondary-color: #A855F7;--secondary-hover: #9333EA;--primary-light: #F9A8D4;--primary-lightest: #FDF2F8;--primary-extra-light: #FEF6FB;--primary-darker: #EC4899;--primary-darkest: #DB2777;--success-color: #10B981;--success-hover: #059669;--success-shadow: rgba(16, 185, 129, .2);--info-color: #A855F7;--info-hover: #9333EA;--info-shadow: rgba(168, 85, 247, .2);--danger-color: #E11D48;--danger-hover: #BE123C;--danger-shadow: rgba(225, 29, 72, .2);--warning-color: #F59E0B;--warning-hover: #D97706;--warning-shadow: rgba(245, 158, 11, .2);--white: #ffffff;--black: #000000;--gray-50: #FFFDFE;--gray-100: #FAFAFA;--gray-200: #F3F4F6;--gray-300: #E5E7EB;--gray-400: #D1D5DB;--gray-500: #9CA3AF;--gray-600: #6B7280;--gray-700: #4B5563;--gray-800: #374151;--gray-900: #2D2A32;--text-primary: #2D2A32;--text-secondary: #6B7280;--text-tertiary: #9CA3AF;--text-light: #D1D5DB;--text-white: #ffffff;--text-black: #000000;--bg-primary: #FFFFFF;--bg-secondary: #FFFDFE;--bg-tertiary: #FAFAFA;--bg-hover: #F3F4F6;--bg-active: #E5E7EB;--border-light: #FAFAFA;--border-default: #F3F4F6;--border-medium: #E5E7EB;--border-dark: #9CA3AF;--grid-empty-cell: #2D2A32;--grid-filled-cell: #ffffff;--grid-text-color: #000000;--grid-number-color: #9CA3AF;--grid-border-color: #2D2A32;--grid-cell-border: #E5E7EB;--overlay-light: rgba(255, 255, 255, .2);--overlay-medium: rgba(255, 255, 255, .3);--overlay-dark: rgba(45, 42, 50, .7);--shadow-sm: 0 2px 4px rgba(244, 114, 182, .08);--shadow-md: 0 2px 8px rgba(244, 114, 182, .1);--shadow-lg: 0 4px 12px rgba(244, 114, 182, .12);--shadow-xl: 0 8px 24px rgba(244, 114, 182, .15);--shadow-2xl: 0 4px 20px rgba(244, 114, 182, .18);--shadow-primary: 0 4px 12px rgba(244, 114, 182, .25);--shadow-success: 0 2px 6px rgba(16, 185, 129, .2);--shadow-info: 0 2px 6px rgba(168, 85, 247, .25);--shadow-danger: 0 2px 8px rgba(225, 29, 72, .3);--interactive-bg: rgba(244, 114, 182, .08);--interactive-border: rgba(244, 114, 182, .25);--interactive-hover-bg: rgba(244, 114, 182, .15);--gradient-primary: linear-gradient(135deg, #F472B6 0%, #EC4899 100%);--gradient-primary-light: linear-gradient(135deg, #FDF2F8 0%, #FCE7F3 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(244, 114, 182, .08) 0%, rgba(236, 72, 153, .06) 100%);--primary-tint: rgba(244, 114, 182, .08);--primary-tint-2: rgba(236, 72, 153, .06);--primary-lightest: #FEF6FB;--primary-lighter: #FCE7F3;--gradient-light: linear-gradient(135deg, #FFFDFE 0%, #ffffff 100%)}[data-theme=ink-grid]{--primary-gradient-start: #4338CA;--primary-gradient-end: #312E81;--primary-color: #4338CA;--primary-color-dark: #312E81;--secondary-color: #0D9488;--secondary-hover: #0F766E;--secondary-light: #CCFBF1;--primary-light: #6366F1;--primary-lighter: #818CF8;--primary-lightest: #EEF2FF;--primary-extra-light: #F5F7FF;--primary-darker: #3730A3;--primary-darkest: #1E1B4B;--success-color: #10B981;--success-hover: #059669;--success-shadow: rgba(16, 185, 129, .2);--info-color: #4338CA;--info-hover: #312E81;--info-shadow: rgba(67, 56, 202, .2);--danger-color: #EF4444;--danger-hover: #DC2626;--danger-shadow: rgba(239, 68, 68, .2);--warning-color: #F59E0B;--warning-hover: #D97706;--warning-shadow: rgba(245, 158, 11, .2);--white: #ffffff;--black: #000000;--gray-50: #F8FAFC;--gray-100: #F1F5F9;--gray-200: #E2E8F0;--gray-300: #CBD5E1;--gray-400: #94A3B8;--gray-500: #64748B;--gray-600: #475569;--gray-700: #334155;--gray-800: #1E293B;--gray-900: #0F172A;--text-primary: #1E1B4B;--text-secondary: #475569;--text-tertiary: #64748B;--text-light: #94A3B8;--text-white: #ffffff;--text-black: #000000;--bg-primary: #FFFFFF;--bg-secondary: #F8FAFC;--bg-tertiary: #F1F5F9;--bg-hover: #E2E8F0;--bg-active: #CBD5E1;--border-light: #F1F5F9;--border-default: #E2E8F0;--border-medium: #CBD5E1;--border-dark: #64748B;--grid-empty-cell: #1E1B4B;--grid-filled-cell: #ffffff;--grid-text-color: #1E1B4B;--grid-number-color: #64748B;--grid-border-color: #1E1B4B;--grid-cell-border: #E2E8F0;--overlay-light: rgba(255, 255, 255, .2);--overlay-medium: rgba(255, 255, 255, .3);--overlay-dark: rgba(30, 27, 75, .7);--shadow-sm: 0 1px 2px rgba(30, 27, 75, .05);--shadow-md: 0 4px 6px -1px rgba(30, 27, 75, .1);--shadow-lg: 0 10px 15px -3px rgba(30, 27, 75, .1);--shadow-xl: 0 20px 25px -5px rgba(30, 27, 75, .1);--shadow-2xl: 0 25px 50px -12px rgba(30, 27, 75, .25);--shadow-primary: 0 4px 12px rgba(67, 56, 202, .3);--shadow-success: 0 2px 6px rgba(16, 185, 129, .2);--shadow-info: 0 2px 6px rgba(67, 56, 202, .2);--shadow-danger: 0 2px 8px rgba(239, 68, 68, .3);--interactive-bg: rgba(67, 56, 202, .05);--interactive-border: rgba(67, 56, 202, .2);--interactive-hover-bg: rgba(67, 56, 202, .1);--gradient-primary: linear-gradient(135deg, #4338CA 0%, #312E81 100%);--gradient-primary-light: linear-gradient(135deg, #EEF2FF 0%, #E0E7FF 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(67, 56, 202, .08) 0%, rgba(49, 46, 129, .06) 100%);--primary-tint: rgba(67, 56, 202, .08);--primary-tint-2: rgba(49, 46, 129, .06);--primary-lightest: #F5F7FF;--primary-lighter: #C7D2FE;--gradient-light: linear-gradient(135deg, #F8FAFC 0%, #ffffff 100%)}[data-theme=warm-slate]{--primary-gradient-start: #44403C;--primary-gradient-end: #292524;--primary-color: #44403C;--primary-color-dark: #292524;--secondary-color: #D97706;--secondary-hover: #B45309;--secondary-light: #FCD34D;--primary-light: #78716C;--primary-lighter: #A8A29E;--primary-lightest: #F5F5F4;--primary-extra-light: #FAFAF9;--primary-darker: #292524;--primary-darkest: #1C1917;--success-color: #10B981;--success-hover: #059669;--success-shadow: rgba(16, 185, 129, .2);--info-color: #44403C;--info-hover: #292524;--info-shadow: rgba(68, 64, 60, .2);--danger-color: #EF4444;--danger-hover: #DC2626;--danger-shadow: rgba(239, 68, 68, .2);--warning-color: #D97706;--warning-hover: #B45309;--warning-shadow: rgba(217, 119, 6, .2);--white: #ffffff;--black: #000000;--gray-50: #FAFAF9;--gray-100: #F5F5F4;--gray-200: #E7E5E4;--gray-300: #D6D3D1;--gray-400: #A8A29E;--gray-500: #78716C;--gray-600: #57534E;--gray-700: #44403C;--gray-800: #292524;--gray-900: #1C1917;--text-primary: #1C1917;--text-secondary: #57534E;--text-tertiary: #78716C;--text-light: #A8A29E;--text-white: #ffffff;--text-black: #000000;--bg-primary: #FFFFFF;--bg-secondary: #FAFAF9;--bg-tertiary: #F5F5F4;--bg-hover: #E7E5E4;--bg-active: #D6D3D1;--border-light: #F5F5F4;--border-default: #E7E5E4;--border-medium: #D6D3D1;--border-dark: #78716C;--grid-empty-cell: #1C1917;--grid-filled-cell: #ffffff;--grid-text-color: #1C1917;--grid-number-color: #78716C;--grid-border-color: #1C1917;--grid-cell-border: #D6D3D1;--overlay-light: rgba(255, 255, 255, .2);--overlay-medium: rgba(255, 255, 255, .3);--overlay-dark: rgba(28, 25, 23, .7);--shadow-sm: 0 1px 2px rgba(28, 25, 23, .05);--shadow-md: 0 4px 6px -1px rgba(28, 25, 23, .1);--shadow-lg: 0 10px 15px -3px rgba(28, 25, 23, .1);--shadow-xl: 0 20px 25px -5px rgba(28, 25, 23, .1);--shadow-2xl: 0 25px 50px -12px rgba(28, 25, 23, .25);--shadow-primary: 0 4px 12px rgba(68, 64, 60, .3);--shadow-success: 0 2px 6px rgba(16, 185, 129, .2);--shadow-info: 0 2px 6px rgba(68, 64, 60, .2);--shadow-danger: 0 2px 8px rgba(239, 68, 68, .3);--interactive-bg: rgba(68, 64, 60, .05);--interactive-border: rgba(68, 64, 60, .2);--interactive-hover-bg: rgba(68, 64, 60, .1);--gradient-primary: linear-gradient(135deg, #44403C 0%, #292524 100%);--gradient-primary-light: linear-gradient(135deg, #F5F5F4 0%, #E7E5E4 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(68, 64, 60, .08) 0%, rgba(41, 37, 36, .06) 100%);--primary-tint: rgba(68, 64, 60, .08);--primary-tint-2: rgba(41, 37, 36, .06);--primary-lightest: #FAFAF9;--primary-lighter: #D6D3D1;--gradient-light: linear-gradient(135deg, #FAFAF9 0%, #ffffff 100%)}[data-theme=light-steel]{--primary-gradient-start: #6C757D;--primary-gradient-end: #495057;--primary-color: #6C757D;--primary-color-dark: #495057;--secondary-color: #495057;--secondary-hover: #343A40;--secondary-light: #ADB5BD;--primary-light: #ADB5BD;--primary-lightest: #E9ECEF;--primary-extra-light: #F8F9FA;--primary-darker: #495057;--primary-darkest: #343A40;--success-color: #28A745;--success-hover: #218838;--success-shadow: rgba(40, 167, 69, .2);--info-color: #6C757D;--info-hover: #495057;--info-shadow: rgba(108, 117, 125, .2);--danger-color: #DC3545;--danger-hover: #C82333;--danger-shadow: rgba(220, 53, 69, .2);--warning-color: #FFC107;--warning-hover: #E0A800;--warning-shadow: rgba(255, 193, 7, .2);--white: #ffffff;--black: #000000;--gray-50: #F8F9FA;--gray-100: #F1F3F5;--gray-200: #E9ECEF;--gray-300: #DEE2E6;--gray-400: #CED4DA;--gray-500: #ADB5BD;--gray-600: #6C757D;--gray-700: #495057;--gray-800: #343A40;--gray-900: #212529;--text-primary: #212529;--text-secondary: #495057;--text-tertiary: #6C757D;--text-light: #ADB5BD;--text-white: #ffffff;--text-black: #000000;--bg-primary: #FFFFFF;--bg-secondary: #F8F9FA;--bg-tertiary: #E9ECEF;--bg-hover: #DEE2E6;--bg-active: #CED4DA;--border-light: #E9ECEF;--border-default: #DEE2E6;--border-medium: #CED4DA;--border-dark: #6C757D;--grid-empty-cell: #212529;--grid-filled-cell: #ffffff;--grid-text-color: #212529;--grid-number-color: #6C757D;--grid-border-color: #212529;--grid-cell-border: #DEE2E6;--overlay-light: rgba(255, 255, 255, .2);--overlay-medium: rgba(255, 255, 255, .3);--overlay-dark: rgba(33, 37, 41, .7);--shadow-sm: 0 1px 2px rgba(33, 37, 41, .05);--shadow-md: 0 4px 6px -1px rgba(33, 37, 41, .08);--shadow-lg: 0 10px 15px -3px rgba(33, 37, 41, .1);--shadow-xl: 0 20px 25px -5px rgba(33, 37, 41, .12);--shadow-2xl: 0 25px 50px -12px rgba(33, 37, 41, .2);--shadow-primary: 0 4px 12px rgba(108, 117, 125, .25);--shadow-success: 0 2px 6px rgba(40, 167, 69, .2);--shadow-info: 0 2px 6px rgba(108, 117, 125, .2);--shadow-danger: 0 2px 8px rgba(220, 53, 69, .3);--interactive-bg: rgba(108, 117, 125, .06);--interactive-border: rgba(108, 117, 125, .2);--interactive-hover-bg: rgba(108, 117, 125, .12);--gradient-primary: linear-gradient(135deg, #6C757D 0%, #495057 100%);--gradient-primary-light: linear-gradient(135deg, #E9ECEF 0%, #DEE2E6 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(108, 117, 125, .08) 0%, rgba(73, 80, 87, .06) 100%);--primary-tint: rgba(108, 117, 125, .08);--primary-tint-2: rgba(73, 80, 87, .06);--primary-lightest: #F8F9FA;--primary-lighter: #CED4DA;--gradient-light: linear-gradient(135deg, #F8F9FA 0%, #ffffff 100%)}[data-theme=midnight-indigo]{--primary-gradient-start: #131b2e;--primary-gradient-end: #213145;--primary-color: #3f465c;--primary-color-dark: #0b1c30;--secondary-color: #dae2fd;--secondary-hover: #bec6e0;--primary-light: #bec6e0;--primary-extra-light: #f8f9ff;--primary-darker: #1a2640;--primary-darkest: #0b1c30;--success-color: #1e7e34;--success-hover: #166228;--success-light: rgba(30, 126, 52, .16);--success-lighter: rgba(30, 126, 52, .08);--success-shadow: rgba(30, 126, 52, .25);--info-color: #3f465c;--info-hover: #0b1c30;--info-light: rgba(63, 70, 92, .14);--info-lighter: rgba(63, 70, 92, .08);--info-shadow: rgba(63, 70, 92, .25);--danger-color: #ba1a1a;--danger-hover: #93000a;--danger-light: rgba(186, 26, 26, .15);--danger-lighter: rgba(186, 26, 26, .08);--danger-shadow: rgba(186, 26, 26, .25);--warning-color: #b45309;--warning-hover: #92400e;--warning-light: rgba(180, 83, 9, .15);--warning-lighter: rgba(180, 83, 9, .08);--warning-shadow: rgba(180, 83, 9, .25);--white: #ffffff;--black: #000000;--gray-50: #f8f9ff;--gray-100: #eff4ff;--gray-200: #e5eeff;--gray-300: #dce9ff;--gray-400: #d3e4fe;--gray-500: #bec6e0;--gray-600: #76777d;--gray-700: #45464d;--gray-800: #3f465c;--gray-900: #0b1c30;--text-primary: #0b1c30;--text-secondary: #45464d;--text-tertiary: #3f465c;--text-light: #76777d;--text-white: #eaf1ff;--text-black: #0b1c30;--text-body: var(--text-primary);--text-heading: var(--text-primary);--text-label: var(--text-secondary);--text-muted: var(--text-light);--text-placeholder: var(--text-light);--text-link: var(--primary-color);--text-button-primary: var(--primary-color);--text-button-success: var(--success-color);--text-button-info: var(--info-color);--text-button-warning: var(--warning-color);--text-button-danger: var(--danger-color);--text-inverse: #eaf1ff;--bg-primary: #ffffff;--bg-secondary: #f8f9ff;--bg-tertiary: #eff4ff;--bg-hover: #e5eeff;--bg-active: #dce9ff;--border-light: #eff4ff;--border-default: #c6c6cd;--border-medium: #bec6e0;--border-dark: #3f465c;--grid-empty-cell: #0b1c30;--grid-filled-cell: #ffffff;--grid-text-color: #0b1c30;--grid-number-color: #3f465c;--grid-border-color: #0b1c30;--grid-cell-border: #c6c6cd;--overlay-light: rgba(255, 255, 255, .2);--overlay-medium: rgba(255, 255, 255, .3);--overlay-dark: rgba(11, 28, 48, .7);--shadow-sm: 0 1px 3px rgba(11, 28, 48, .08);--shadow-md: 0 2px 8px rgba(11, 28, 48, .1);--shadow-lg: 0 4px 14px rgba(11, 28, 48, .12);--shadow-xl: 0 8px 24px rgba(11, 28, 48, .14);--shadow-2xl: 0 12px 36px rgba(11, 28, 48, .18);--shadow-primary: 0 4px 12px rgba(63, 70, 92, .28);--shadow-success: 0 2px 6px rgba(30, 126, 52, .2);--shadow-info: 0 2px 6px rgba(63, 70, 92, .2);--shadow-danger: 0 2px 8px rgba(186, 26, 26, .28);--interactive-bg: rgba(63, 70, 92, .06);--interactive-border: rgba(63, 70, 92, .2);--interactive-hover-bg: rgba(63, 70, 92, .12);--gradient-primary: linear-gradient(135deg, #131b2e 0%, #1a2640 40%, #213145 75%, #2a3d56 100%);--gradient-primary-light: linear-gradient(135deg, #eff4ff 0%, #e5eeff 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(63, 70, 92, .08) 0%, rgba(19, 27, 46, .06) 100%);--primary-tint: rgba(63, 70, 92, .08);--primary-tint-2: rgba(19, 27, 46, .06);--primary-lightest: #eff4ff;--primary-lighter: #dae2fd;--gradient-light: linear-gradient(135deg, #f8f9ff 0%, #ffffff 100%)}[data-theme=minimalist-graphite]{--primary-gradient-start: #475569;--primary-gradient-end: #334155;--primary-color: #475569;--primary-color-dark: #334155;--secondary-color: #64748B;--secondary-hover: #475569;--secondary-light: #94A3B8;--primary-light: #94A3B8;--primary-lighter: #CBD5E1;--primary-lightest: #E2E8F0;--primary-extra-light: #F8FAFC;--primary-darker: #334155;--primary-darkest: #1E293B;--success-color: #10B981;--success-hover: #059669;--success-shadow: rgba(16, 185, 129, .2);--info-color: #475569;--info-hover: #334155;--info-shadow: rgba(71, 85, 105, .2);--danger-color: #EF4444;--danger-hover: #DC2626;--danger-shadow: rgba(239, 68, 68, .2);--warning-color: #F59E0B;--warning-hover: #D97706;--warning-shadow: rgba(245, 158, 11, .2);--white: #ffffff;--black: #000000;--gray-50: #F8FAFC;--gray-100: #F1F5F9;--gray-200: #E2E8F0;--gray-300: #CBD5E1;--gray-400: #94A3B8;--gray-500: #64748B;--gray-600: #475569;--gray-700: #334155;--gray-800: #1E293B;--gray-900: #0F172A;--text-primary: #0F172A;--text-secondary: #475569;--text-tertiary: #64748B;--text-light: #94A3B8;--text-white: #ffffff;--text-black: #000000;--text-body: var(--text-primary);--text-heading: var(--text-primary);--text-label: var(--text-secondary);--text-muted: var(--text-tertiary);--text-placeholder: var(--text-light);--text-link: var(--primary-color);--text-button-primary: var(--primary-color);--text-button-success: var(--success-color);--text-button-info: var(--info-color);--text-button-warning: var(--warning-color);--text-button-danger: var(--danger-color);--text-inverse: #f8fafc;--bg-primary: #FFFFFF;--bg-secondary: #F8FAFC;--bg-tertiary: #F1F5F9;--bg-hover: #E2E8F0;--bg-active: #CBD5E1;--border-light: #F1F5F9;--border-default: #E2E8F0;--border-medium: #CBD5E1;--border-dark: #64748B;--grid-empty-cell: #0F172A;--grid-filled-cell: #ffffff;--grid-text-color: #0F172A;--grid-number-color: #64748B;--grid-border-color: #0F172A;--grid-cell-border: #E2E8F0;--overlay-light: rgba(255, 255, 255, .2);--overlay-medium: rgba(255, 255, 255, .3);--overlay-dark: rgba(15, 23, 42, .7);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .1);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .1);--shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .1);--shadow-2xl: 0 25px 50px -12px rgba(15, 23, 42, .25);--shadow-primary: 0 4px 12px rgba(71, 85, 105, .25);--shadow-success: 0 2px 6px rgba(16, 185, 129, .2);--shadow-info: 0 2px 6px rgba(71, 85, 105, .2);--shadow-danger: 0 2px 8px rgba(239, 68, 68, .3);--interactive-bg: rgba(71, 85, 105, .05);--interactive-border: rgba(71, 85, 105, .2);--interactive-hover-bg: rgba(71, 85, 105, .1);--gradient-primary: linear-gradient(135deg, #475569 0%, #1e293b 100%);--gradient-primary-light: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(71, 85, 105, .08) 0%, rgba(30, 41, 59, .06) 100%);--primary-tint: rgba(71, 85, 105, .08);--primary-tint-2: rgba(30, 41, 59, .06);--primary-lightest: #f8fafc;--primary-lighter: #cbd5e1;--gradient-light: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%)}[data-theme=misty-sage]{--primary-gradient-start: #94A3B8;--primary-gradient-end: #64748B;--primary-color: #8BA88E;--primary-color-dark: #6B8E6D;--secondary-color: #A3A3A3;--secondary-hover: #828282;--secondary-light: #D4D4D4;--primary-light: #B2C9B4;--primary-extra-light: #F8FAF9;--primary-darker: #4B5563;--primary-darkest: #1F2937;--success-color: #6B8E6D;--success-hover: #567258;--success-shadow: rgba(107, 142, 109, .2);--info-color: #818CF8;--info-hover: #6366F1;--info-shadow: rgba(129, 140, 248, .2);--danger-color: #B45309;--danger-hover: #92400E;--danger-shadow: rgba(180, 83, 9, .2);--warning-color: #D97706;--warning-hover: #B45309;--warning-shadow: rgba(217, 119, 6, .2);--white: #ffffff;--black: #000000;--gray-50: #F8FAF9;--gray-100: #F1F5F2;--gray-200: #E5E7EB;--gray-300: #D4D4D4;--gray-400: #A3A3A3;--gray-500: #828282;--gray-600: #6B7280;--gray-700: #4B5563;--gray-800: #1F2937;--gray-900: #111827;--text-primary: #1F2937;--text-secondary: #4B5563;--text-tertiary: #6B7280;--text-light: #A3A3A3;--text-white: #ffffff;--text-black: #000000;--bg-primary: #FFFFFF;--bg-secondary: #F8FAF9;--bg-tertiary: #F1F5F2;--bg-hover: #E5E7EB;--bg-active: #D1D5DB;--border-light: #F1F5F2;--border-default: #E5E7EB;--border-medium: #D1D5DB;--border-dark: #6B7280;--grid-empty-cell: #1F2937;--grid-filled-cell: #ffffff;--grid-text-color: #1F2937;--grid-number-color: #6B7280;--grid-border-color: #1F2937;--grid-cell-border: #E5E7EB;--overlay-light: rgba(255, 255, 255, .2);--overlay-medium: rgba(255, 255, 255, .3);--overlay-dark: rgba(31, 41, 55, .7);--shadow-sm: 0 1px 2px rgba(31, 41, 55, .05);--shadow-md: 0 4px 6px -1px rgba(31, 41, 55, .1);--shadow-lg: 0 10px 15px -3px rgba(31, 41, 55, .1);--shadow-xl: 0 20px 25px -5px rgba(31, 41, 55, .1);--shadow-2xl: 0 25px 50px -12px rgba(31, 41, 55, .25);--shadow-primary: 0 4px 12px rgba(139, 168, 142, .25);--shadow-success: 0 2px 6px rgba(107, 142, 109, .2);--shadow-info: 0 2px 6px rgba(129, 140, 248, .2);--shadow-danger: 0 2px 8px rgba(180, 83, 9, .3);--interactive-bg: rgba(139, 168, 142, .05);--interactive-border: rgba(139, 168, 142, .2);--interactive-hover-bg: rgba(139, 168, 142, .1);--gradient-primary: linear-gradient(135deg, #818CF8 0%, #6366F1 100%);--gradient-primary-light: linear-gradient(135deg, #F1F5F2 0%, #D8E2D9 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(139, 168, 142, .08) 0%, rgba(107, 142, 109, .06) 100%);--primary-tint: rgba(139, 168, 142, .08);--primary-tint-2: rgba(107, 142, 109, .06);--primary-lightest: #F1F5F2;--primary-lighter: #D8E2D9;--gradient-light: linear-gradient(135deg, #F8FAF9 0%, #ffffff 100%)}:root{--empty-cell-color: var(--grid-empty-cell);--filled-cell-color: var(--grid-filled-cell);--text-color: var(--grid-text-color);--number-color: var(--grid-number-color);--cell-border-color: var(--grid-cell-border)}html,body{overscroll-behavior:none}body{font-family:Arial,sans-serif;margin:0;padding:0;background-color:var(--bg-secondary);color:var(--text-primary);transition:background-color var(--transition-base) ease,color var(--transition-base) ease}.app-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-default);box-shadow:var(--shadow-sm);padding:var(--spacing-xl);transition:background-color var(--transition-base) ease,border-color var(--transition-base) ease,box-shadow var(--transition-base) ease}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;font-size:14px;font-weight:600;border-radius:var(--radius-default);border:2px solid transparent;cursor:pointer;transition:all var(--transition-fast) ease;gap:8px;text-align:center;line-height:1.2;background:var(--bg-primary);color:var(--text-primary)}.btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary{background:var(--bg-primary);color:var(--primary-color);border-color:var(--primary-lighter)}.btn-primary:hover:not(:disabled){background:var(--primary-lightest);border-color:var(--primary-light);color:var(--primary-darker);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-success{background:var(--bg-primary);color:var(--success-color);border-color:var(--success-light)}.btn-success:hover:not(:disabled){background:#f0fff4;border-color:var(--success-color);box-shadow:var(--shadow-success);transform:translateY(-1px)}.btn-danger{background:var(--danger-lighter);color:var(--text-button-danger);border-color:var(--danger-light)}.btn-danger:hover:not(:disabled){background:var(--danger-light);color:var(--danger-hover);border-color:var(--danger-color);box-shadow:var(--shadow-danger);transform:translateY(-1px)}.btn-info{background:var(--bg-primary);color:var(--info-color);border-color:var(--info-light)}.btn-info:hover:not(:disabled){background:#f0f7ff;border-color:var(--info-color);box-shadow:var(--shadow-info);transform:translateY(-1px)}.header{background:var(--gradient-primary);color:var(--text-white);padding:14px 24px;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.header-brand{display:flex;align-items:center;flex-shrink:0}.header-logo-img{height:36px;width:auto;display:block;object-fit:contain}h1{margin:0;font-size:2em;font-weight:600;flex:1;text-align:center}.header-controls{display:flex;flex-direction:row;align-items:center;gap:26px;flex-shrink:0;margin-left:auto}.mode-toggle-btn{background:#ffffff1f;color:var(--text-white);border:1.5px solid rgba(255,255,255,.2);width:36px;height:36px;border-radius:10px;cursor:pointer;font-size:17px;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease,transform .15s ease;flex-shrink:0}.mode-toggle-btn:hover{background:#ffffff38;border-color:#ffffff59;transform:translateY(-1px)}.mode-toggle-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #ffffff59}.mode-toggle-btn.is-dark{background:#fff3;border-color:#ffffff59}.theme-switcher-dropdown{position:relative;flex-shrink:0}.theme-dropdown-toggle{background:#ffffff1f;color:var(--text-white);border:1.5px solid rgba(255,255,255,.2);width:36px;height:36px;border-radius:10px;cursor:pointer;font-size:17px;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease,transform .15s ease;flex-shrink:0;gap:0}.theme-dropdown-toggle:hover{background:#ffffff38;border-color:#ffffff59;transform:translateY(-1px)}.theme-dropdown-toggle:active{transform:translateY(0)}.theme-dropdown-toggle .dropdown-arrow{display:none}.theme-dropdown-toggle.active{background:#fff3;border-color:#ffffff59}.theme-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-primary);color:var(--text-primary);border-radius:8px;border:1px solid var(--border-default);box-shadow:var(--shadow-lg);min-width:200px;padding:8px;display:none;z-index:1000;animation:slideDown .3s ease}.theme-dropdown-menu.show{display:block}.theme-option{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-primary);transition:all .2s ease;text-align:left}.theme-option:hover{background:var(--bg-hover)}.theme-option.active{background:var(--bg-active);font-weight:600}.theme-color-preview{width:24px;height:24px;border-radius:4px;border:2px solid var(--border-default);flex-shrink:0}.template-dropdown{position:relative}.dropdown-toggle{background-color:#fff3;color:var(--text-white);border:2px solid rgba(255,255,255,.3);padding:12px 24px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;display:flex;align-items:center;gap:10px;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:auto}.dropdown-toggle:hover{background-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.dropdown-arrow{font-size:12px;transition:transform .3s ease}.dropdown-toggle.active .dropdown-arrow{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + 10px);left:0;background:var(--bg-primary);color:var(--text-primary);border-radius:8px;border:1px solid var(--border-default);box-shadow:var(--shadow-lg);min-width:250px;padding:8px;display:none;z-index:1000;animation:slideDown .3s ease}.dropdown-menu.show{display:block}.dropdown-item{width:100%;text-align:left;padding:12px 16px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:15px;color:var(--text-primary);transition:all .2s ease;display:flex;align-items:center;gap:10px}.dropdown-item:hover{background-color:var(--bg-hover);transform:translate(5px)}.container{display:flex;gap:20px;max-width:max-content;min-width:min(100%,1600px);margin:0 auto;padding:0 20px 20px;box-sizing:border-box}.left-column{flex:0 0 400px;display:flex;flex-direction:column;gap:20px}.controls{background:var(--bg-primary);color:var(--text-primary);padding:20px;border-radius:8px;border:1px solid var(--border-light);box-shadow:var(--shadow-md);height:fit-content;margin-bottom:0}.crossword-area{flex:1;min-width:min-content;background:var(--bg-primary);padding:20px;border-radius:8px;border:1px solid var(--border-light);box-shadow:var(--shadow-md);position:relative}.crossword-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:15px}.crossword-title-input{font-size:1.5em;font-weight:700;border:2px solid transparent;padding:8px 12px;flex:1;box-sizing:border-box;background-color:var(--bg-secondary);border-radius:6px;transition:all .3s ease;color:var(--text-primary);text-align:center}.crossword-title-input:hover{background-color:var(--bg-hover);border-color:var(--border-default)}.crossword-title-input:focus{outline:none;background-color:var(--bg-primary);border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea26}.crossword-title-input:read-only{background-color:transparent;cursor:default;border-color:transparent}.crossword-title-input:read-only:hover{background-color:transparent;border-color:transparent}.template-buttons{display:flex;gap:8px;flex-shrink:0;margin-top:6px}.close-template-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border-radius:50%;border:1px solid var(--danger-light, rgba(239, 68, 68, .25));background:radial-gradient(circle at 30% 30%,var(--bg-primary, #ffffff),var(--danger-lighter, rgba(239, 68, 68, .2)) 75%);color:var(--danger-color, #ef4444);cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease,border-color .2s ease;flex-shrink:0;overflow:hidden;color:#fff;background:var(--danger-color);border-color:transparent;box-shadow:0 14px 28px var(--danger-shadow, rgba(239, 68, 68, .35));transform:translateY(-1px) scale(1.07)}.close-template-btn:before,.close-template-btn:after{content:"";position:absolute;top:50%;left:50%;width:18px;height:2px;background:currentColor;border-radius:999px;transform-origin:center}.close-template-btn:before{transform:translate(-50%,-50%) rotate(45deg)}.close-template-btn:after{transform:translate(-50%,-50%) rotate(-45deg)}.close-template-btn:after,.close-template-btn:before{box-shadow:0 0 1px #0000001a}.close-template-btn:hover{transform:translateY(-2px) scale(1.12);box-shadow:0 18px 36px var(--danger-shadow, rgba(239, 68, 68, .45));color:#fff}.close-template-btn:active{transform:scale(.93)}.close-template-btn:focus-visible{outline:2px solid var(--danger-hover, #dc2626);outline-offset:2px}#addWordSection.disabled{opacity:.5}.form-group{margin-bottom:15px}label{display:block;margin-bottom:5px;font-weight:700}input,textarea{width:100%;padding:10px;border:2px solid var(--border-default);border-radius:var(--radius-default);box-sizing:border-box;background-color:var(--bg-secondary);color:var(--text-primary);transition:background-color var(--transition-base) ease,border-color var(--transition-base) ease,box-shadow var(--transition-base) ease}input::placeholder,textarea::placeholder{color:var(--text-placeholder)}input:hover,textarea:hover{background-color:var(--bg-hover);border-color:var(--border-medium)}input:focus,textarea:focus{outline:none;background-color:var(--bg-primary);border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-tint)}textarea{height:80px;resize:vertical}.controls button{width:100%}button{background:var(--bg-primary);color:var(--primary-color);padding:10px 20px;border:2px solid var(--primary-lighter);border-radius:var(--radius-default);cursor:pointer;width:auto;transition:all .2s ease;font-weight:600}button:hover{background:var(--primary-lightest);border-color:var(--primary-light);color:var(--primary-darker);transform:translateY(-1px);box-shadow:var(--shadow-sm)}#wordForm button[type=submit]{background:var(--success-color);color:#fff;border-color:var(--success-color);font-weight:700;font-size:15px;letter-spacing:.3px;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:8px;transition:all var(--transition-fast) ease}#wordForm button[type=submit]:before{content:"＋";font-size:18px;font-weight:700;line-height:1}#wordForm button[type=submit]:hover:not(:disabled){background:var(--success-hover);border-color:var(--success-hover);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #28a74559}#wordForm button[type=submit]:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #28a74533}.optimize-btn{font-weight:700;font-size:14px;letter-spacing:.2px;background:var(--bg-primary);color:var(--primary-color);border:2px solid var(--primary-lighter);padding:12px 20px;display:flex;align-items:center;justify-content:center;gap:8px;transition:all var(--transition-fast) ease;box-shadow:0 3px 10px #667eea26}.optimize-btn .btn-icon{font-size:16px}.optimize-btn:hover{background:var(--primary-lightest);color:var(--primary-darker);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 6px 18px #667eea40}.optimize-btn:active{transform:translateY(0);box-shadow:0 2px 6px #667eea1a}[data-theme=dark] .optimize-btn{background:#2d2d2d;border-color:var(--primary-color);box-shadow:0 3px 12px #8b5cf633}[data-theme=dark] .optimize-btn:hover{background:#383838;box-shadow:0 6px 20px #8b5cf659}.clear-all-btn{margin-top:10px;background:var(--bg-primary);color:var(--danger-color);border:2px solid var(--danger-light);font-weight:700;font-size:14px;letter-spacing:.2px;padding:12px 20px;display:flex;align-items:center;justify-content:center;gap:8px;transition:all var(--transition-fast) ease}.clear-all-btn:before{content:"🗑";font-size:16px;line-height:1}.clear-all-btn:hover:not(:disabled){background:var(--danger-lighter);border-color:var(--danger-color);color:var(--danger-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--danger-shadow)}.clear-all-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #ff3b3026}#crosswordGrid{display:flex;justify-content:center;align-items:flex-start}.crossword-grid{display:inline-block;border:2px solid var(--grid-border-color);background:#fff;position:relative}.crossword-grid .background-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#fff;pointer-events:none;z-index:1}.crossword-grid .grid-row{position:relative;z-index:2}.grid-row{display:flex}.grid-cell{width:30px;height:30px;border:1px solid var(--cell-border-color);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;position:relative;color:var(--text-color)}.grid-cell.filled{background-color:var(--filled-cell-color)}.grid-cell.empty{background-color:var(--empty-cell-color)}.grid-cell .number{position:absolute;top:1px;left:2px;font-size:8px;color:var(--number-color)}.tap-to-add-prompt,.mobile-optimize-buttons{display:none}.words-list{margin-top:20px;max-height:800px;overflow-y:auto;padding-right:5px}.word-item{margin-bottom:10px;padding:10px;background-color:var(--bg-secondary);border-radius:4px;border-left:4px solid var(--info-color);position:relative}.word-item .question{font-weight:700;margin-bottom:5px;padding-right:80px}.word-item .answer{color:var(--text-secondary)}.word-item .position{font-size:12px;color:var(--text-muted)}.word-item-actions{position:absolute;top:10px;right:10px;display:flex;gap:5px}.word-item-actions button{width:auto;padding:5px 10px;font-size:12px}.edit-btn,.delete-btn{padding:4px;width:auto;height:auto;background:none!important;border:none!important;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;cursor:pointer}.edit-btn svg,.delete-btn svg{width:20px;height:20px}.edit-btn{color:var(--text-button-success)!important}.edit-btn:hover{color:var(--success-hover)!important;transform:scale(1.1)}.delete-btn{color:var(--text-button-danger)!important}.delete-btn:hover{color:var(--danger-hover)!important;transform:scale(1.1)}.edit-mode{border-left-color:var(--success-color);background-color:var(--success-lighter)}.grid-mode-toggle{margin-bottom:20px;padding:15px;background-color:#e9ecef;border-radius:4px}.radio-group{display:flex;flex-direction:column;gap:10px;margin-top:10px}.radio-option{display:flex;align-items:center;gap:8px}.radio-option input[type=radio]{width:auto;margin:0}.radio-option label{margin:0;font-weight:400;cursor:pointer}.drawer-toggle-btn,.drawer-overlay{display:none}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000}.loading-overlay.white-backdrop{background-color:#fffffff2;-webkit-backdrop-filter:blur(6px) saturate(1.05);backdrop-filter:blur(6px) saturate(1.05)}.loading-overlay.white-backdrop .loading-spinner{background-color:#fff}.loading-spinner{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px;background-color:#fffffffa;padding:40px 60px;border-radius:16px;box-shadow:0 10px 40px #0000004d}.spinner-ring{position:absolute;width:80px;height:80px;border:4px solid transparent;border-top-color:#667eea;border-radius:50%;animation:spin 1.5s cubic-bezier(.68,-.55,.265,1.55) infinite}.spinner-ring:nth-child(2){width:60px;height:60px;border-top-color:#764ba2;animation-duration:1.2s;animation-direction:reverse}.spinner-ring:nth-child(3){width:40px;height:40px;border-top-color:#667eea;animation-duration:.9s}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{margin-top:100px;font-size:16px;font-weight:600;color:var(--text-link);animation:pulse 1.5s ease-in-out infinite}.optimizing-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#fffffff2;display:flex;justify-content:center;align-items:center;z-index:100;border-radius:12px}.optimizing-spinner{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px}.spinner-ring-small{position:absolute;width:50px;height:50px;border:3px solid transparent;border-top-color:var(--primary-color);border-radius:50%;animation:spin 1.5s cubic-bezier(.68,-.55,.265,1.55) infinite}.spinner-ring-small:nth-child(2){width:38px;height:38px;border-top-color:var(--primary-darker);animation-duration:1.2s;animation-direction:reverse}.spinner-ring-small:nth-child(3){width:26px;height:26px;border-top-color:var(--primary-color);animation-duration:.9s}.optimizing-text{margin-top:60px;font-size:14px;font-weight:600;color:var(--primary-color);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.optimize-decision-container{background:var(--bg-secondary);border:1px solid var(--primary-lighter);border-radius:8px;padding:15px;margin-top:15px;animation:fadeIn .3s ease;display:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.decision-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;color:var(--text-primary);font-weight:600}.decision-icon{font-size:16px}.decision-buttons{display:flex;gap:10px}.decision-btn{flex:1;padding:10px 16px;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;border:2px solid transparent;display:flex;align-items:center;justify-content:center;gap:6px;box-shadow:var(--shadow-sm)}.decision-btn .btn-icon{font-size:14px}.keep-btn{background-color:var(--primary-color);color:#fff;border:1px solid transparent;box-shadow:0 2px 4px #0000001a}.keep-btn:hover{background-color:var(--primary-darker);transform:translateY(-1px);box-shadow:0 4px 8px #00000026;color:#fff}.keep-btn:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.undo-btn:hover{transform:translateY(-1px)}.undo-btn:active{transform:translateY(0)}.controls-disabled{opacity:.5;pointer-events:none;filter:grayscale(.5);transition:all .3s ease}.create-new-crossword-container{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md);margin-bottom:0}.create-new-crossword-toggle{width:100%;background:var(--gradient-primary-subtle);color:var(--primary-darker);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:14px 18px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base) ease}[data-theme=dark] .create-new-crossword-toggle{color:var(--text-primary)}.create-new-crossword-toggle:hover{background:var(--gradient-primary-light);border-color:var(--primary-lighter);transform:translateY(-2px);box-shadow:var(--shadow-primary)}.create-new-crossword-toggle:active{transform:translateY(0)}.create-new-crossword-toggle .menu-icon{color:var(--primary-color);font-weight:700}[data-theme=dark] .create-new-crossword-toggle .menu-icon{color:var(--primary-light)}.template-library-container{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md);margin-bottom:0}.template-library-toggle{width:100%;background:var(--gradient-primary-subtle);color:var(--primary-darker);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:14px 18px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all var(--transition-base) ease}.template-library-toggle:not(.collapsed){background:var(--gradient-primary-light);border-color:var(--primary-lighter);box-shadow:var(--shadow-primary)}[data-theme=dark] .template-library-toggle{color:var(--text-primary)}.template-library-toggle:hover{background:var(--gradient-primary-light);border-color:var(--primary-lighter);transform:translateY(-2px);box-shadow:var(--shadow-primary)}.template-library-toggle:active{transform:translateY(0)}.template-toggle-arrow{font-size:14px;transition:transform .3s ease}.template-library-toggle.collapsed .template-toggle-arrow{transform:rotate(-90deg)}.template-library-panel{max-height:none;overflow:visible;transition:max-height .3s ease,opacity .3s ease,margin-top .3s ease;margin-top:15px;opacity:1}.template-library-panel.collapsed{max-height:0;opacity:0;margin-top:0;overflow:hidden;pointer-events:none}.template-search{margin-bottom:15px}.template-search input{width:100%;padding:8px 12px;border:1px solid var(--border-default);border-radius:6px;font-size:13px;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box;background:var(--bg-secondary)}.template-search input:focus{outline:none;border-color:var(--border-medium);background:var(--bg-primary);box-shadow:0 0 0 3px #00000005}.template-search input::placeholder{color:var(--text-muted);font-size:13px}.template-categories{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.category-section{border:1px solid var(--border-default);border-radius:6px;overflow:hidden}.category-header{padding:8px 12px;background:var(--bg-secondary);border:none;width:100%;cursor:pointer;font-size:12px;font-weight:500;color:var(--text-secondary);transition:all .2s ease;display:flex;align-items:center;justify-content:space-between;text-align:left}.category-header:hover{background:var(--bg-tertiary);color:var(--text-tertiary)}.category-header.expanded{background:var(--bg-hover);color:var(--text-heading)}.category-arrow{font-size:10px;transition:transform .2s ease}.category-header.expanded .category-arrow{transform:rotate(180deg)}.category-templates{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0 8px}.category-templates.expanded{max-height:1000px;padding:8px}.template-list{display:flex;flex-direction:column;gap:6px}.category-templates .template-list{gap:6px}.template-categories-wrapper{max-height:none;overflow-y:visible;padding-right:0}.template-categories-wrapper::-webkit-scrollbar{width:4px}.template-categories-wrapper::-webkit-scrollbar-track{background:transparent}.template-categories-wrapper::-webkit-scrollbar-thumb{background:#ddd;border-radius:2px}.template-categories-wrapper::-webkit-scrollbar-thumb:hover{background:#bbb}.template-card{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:8px;padding:10px 12px;transition:all .2s ease;display:flex;flex-direction:column;gap:8px}.template-card.selected{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-lightest);background:var(--primary-tint)}.template-card:hover{border-color:var(--border-medium);box-shadow:0 1px 4px #00000014}.template-card-header{display:flex;flex-direction:column;gap:4px}.template-info{flex:1;min-width:0}.template-name{font-weight:600;color:var(--text-heading);font-size:13px;margin-bottom:2px;line-height:1.3;display:flex;align-items:center;gap:6px}.premium-badge,.free-badge,.source-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.premium-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.free-badge{background:#28a745;color:#fff}.source-badge{font-weight:600;opacity:.8}.source-badge.cloud{background:#e3f2fd;color:#1976d2}.source-badge.local{background:#f3e5f5;color:#7b1fa2}.difficulty-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap;transition:all .2s ease}.difficulty-easy{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.difficulty-medium{background:#fff3cd;color:#856404;border:1px solid #ffeeba}.difficulty-hard{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}[data-theme=dark] .difficulty-easy{background:#1e4620;color:#7dce82;border-color:#2d5a2f}[data-theme=dark] .difficulty-medium{background:#4a3f1a;color:#ffc107;border-color:#5a4f2a}[data-theme=dark] .difficulty-hard{background:#4a1e1e;color:#f28b82;border-color:#5a2e2e}.language-label{flex:1;padding:5px 8px;font-size:12px;font-weight:600;color:var(--text-secondary);text-align:center;background:var(--bg-secondary);border-radius:4px;border:1px solid var(--border-default)}.template-meta{font-size:11px;color:var(--text-muted)}.template-card-footer{display:flex;align-items:center;gap:8px}.template-selectors{flex:1;display:flex;gap:6px;align-items:center}.language-selector,.difficulty-selector{flex:1;padding:5px 8px;border:1px solid var(--border-default);border-radius:4px;font-size:12px;background:var(--bg-secondary);cursor:pointer;transition:all .2s ease;color:var(--text-secondary);min-width:0}.language-selector:hover,.difficulty-selector:hover{border-color:var(--border-medium);background:var(--bg-primary)}.language-selector:focus,.difficulty-selector:focus{outline:none;border-color:var(--border-dark);background:var(--bg-primary)}.template-load-btn{padding:6px 18px;background:var(--bg-primary);color:#a9a9a9;border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition-fast) ease;white-space:nowrap}.template-load-btn:hover{background:var(--primary-lightest);border-color:var(--primary-lighter);color:var(--primary-color);box-shadow:var(--shadow-sm)}.template-load-btn:active{transform:scale(.98)}.template-load-btn.needs-reload{background:var(--primary-color);color:#fff;border-color:var(--primary-color);animation:pulse-load-btn 1.5s ease-in-out infinite;box-shadow:0 0 #4338cab3}.template-load-btn.needs-reload:hover{background:var(--primary-darker);border-color:var(--primary-darker);color:#fff;animation:none;box-shadow:var(--shadow-md)}@keyframes pulse-load-btn{0%{box-shadow:0 0 #4338cab3}50%{box-shadow:0 0 0 6px #4338ca00}to{box-shadow:0 0 #4338ca00}}.template-empty-state{text-align:center;padding:30px 20px;color:var(--text-muted)}.template-empty-state .empty-icon{font-size:48px;margin-bottom:10px;opacity:.5}.template-empty-state p{margin:0;font-size:14px}.customization-sidebar{flex:0 0 250px;background:var(--bg-primary);padding:15px;border-radius:8px;box-shadow:0 2px 4px #0000001a;height:fit-content}.customization-sidebar h3{margin-top:0;margin-bottom:15px;color:var(--text-heading);font-size:1em;padding-bottom:8px}.color-option{margin-bottom:20px}.color-option label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-label);font-size:14px}.print-friendly-btn{width:90%!important;height:30px;border:2px solid var(--border-default);border-radius:8px;background:var(--gradient-light);cursor:pointer;transition:all .3s ease;font-size:13px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:6px;padding:0}.print-friendly-btn:hover{border-color:var(--primary-lighter);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.print-friendly-btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.color-divider{height:1px;background:linear-gradient(to right,transparent,#e0e0e0 20%,#e0e0e0 80%,transparent);margin:20px 0}.custom-colors-toggle-btn{width:90%;height:30px;border:2px solid var(--border-default);border-radius:8px;background:var(--bg-primary);cursor:pointer;transition:all .3s ease;font-size:13px;font-weight:600;color:var(--text-body);display:flex;align-items:center;justify-content:space-between;padding:0 10px}.custom-colors-toggle-btn:hover{background:var(--primary-lightest);border-color:var(--primary-light);box-shadow:var(--shadow-sm);transform:translateY(-1px);color:var(--primary-darker)}.custom-colors-toggle-btn:active{transform:translateY(0)}.custom-colors-toggle-btn.expanded{background:var(--gradient-primary-light);color:var(--primary-darker);border-color:var(--primary-lighter);box-shadow:var(--shadow-primary);transform:translateY(-2px)}[data-theme=dark] .custom-colors-toggle-btn{color:var(--text-primary)}.custom-colors-toggle-btn.expanded:hover{background:var(--primary-extra-light);box-shadow:var(--shadow-md)}.custom-colors-toggle-btn .toggle-arrow{font-size:12px;transition:transform .3s ease}.custom-colors-toggle-btn.expanded .toggle-arrow{transform:rotate(180deg)}.browse-images-btn{width:100%;margin-bottom:10px;background:var(--primary-lightest)!important;color:var(--primary-color)!important;border:2px solid var(--primary-lighter)!important;font-weight:600;padding:12px 16px;font-size:14px;box-shadow:0 2px 6px #667eea14;transition:all .3s ease}.browse-images-btn:hover{background:var(--primary-lighter)!important;transform:translateY(-1px);box-shadow:0 4px 10px #667eea26;color:var(--primary-darker)!important;border-color:var(--primary-light)!important}.browse-images-btn:active{transform:translateY(0);box-shadow:0 2px 4px #667eea1f}[data-theme=dark] .browse-images-btn{background:var(--bg-hover)!important;border-color:var(--border-medium)!important;color:var(--text-primary)!important;box-shadow:var(--shadow-md)!important}[data-theme=dark] .browse-images-btn:hover{background:var(--bg-secondary)!important;color:var(--text-button-info)!important;border-color:var(--border-default)!important;box-shadow:var(--shadow-sm)!important}.custom-colors-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out,padding .3s ease-out,background-color .3s ease-out;background-color:transparent;border-radius:8px;padding:0}.custom-colors-content.expanded{max-height:600px;transition:max-height .5s ease-in,padding .3s ease-in,background-color .3s ease-in;background-color:var(--bg-secondary);padding:15px 0 0 5px;margin-top:10px;border:1px solid var(--border-light)}.custom-colors-content.expanded .color-option{margin-bottom:15px}.color-picker-wrapper{position:relative}.color-option input[type=color]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.custom-color-display{width:90%;height:30px;border:2px solid var(--border-default);border-radius:8px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;padding:0 5px}.custom-color-display:hover{border-color:var(--primary-lighter);box-shadow:var(--shadow-sm)}.color-display-swatch{width:90%;height:20px;border-radius:4px;border:1px solid rgba(0,0,0,.1)}.color-dropdown-icon{font-size:12px;color:var(--text-muted);transition:transform .3s ease}.custom-color-display.active .color-dropdown-icon{transform:rotate(180deg)}.color-picker-dropdown{position:absolute;top:calc(100% + 5px);left:0;right:0;background:var(--bg-primary);border:2px solid var(--border-default);border-radius:8px;padding:15px;box-shadow:0 4px 16px #00000026;display:none;z-index:2000;animation:slideDown .2s ease}.color-picker-dropdown.open-upward{top:auto;bottom:calc(100% + 5px);animation:slideUp .2s ease}.color-picker-dropdown.show{display:block}.color-presets-section{margin-bottom:12px}.color-presets-label{font-size:12px;color:var(--text-secondary);margin-bottom:8px;display:block;font-weight:600}.color-presets{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.preset-color{width:24px;height:24px;border:2px solid var(--border-default);border-radius:4px;cursor:pointer;transition:all .2s ease;padding:0;position:relative}.preset-color:hover{transform:scale(1.2);border-color:#667eea;box-shadow:0 2px 8px #0003;z-index:1}.preset-color:active{transform:scale(.95)}.preset-color.selected{border-color:#667eea;border-width:3px}.preset-color.default-color{border-radius:50%;border-width:3px;border-color:#667eea;position:relative}.preset-color.default-color:after{content:"★";position:absolute;top:-8px;right:-8px;font-size:10px;color:var(--primary-color);background:var(--bg-primary);border-radius:50%;width:14px;height:14px;display:flex;align-items:center;justify-content:center;line-height:1}.preset-color.default-color:hover{border-color:#5568d3}.preset-color.default-color:hover:after{color:var(--primary-darker)}.custom-color-input-wrapper{border-top:1px solid var(--border-default);padding-top:12px}.custom-color-input-label{font-size:12px;color:var(--text-secondary);margin-bottom:8px;display:block;font-weight:600}.reset-section-btn{margin-top:15px;width:100%;height:38px;background:var(--bg-primary);color:var(--text-badge-critical);border:2px solid var(--danger-light);border-radius:8px;font-size:13px;font-weight:700;letter-spacing:.3px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0 12px;position:relative;overflow:hidden;box-shadow:0 4px 12px var(--danger-shadow)}.reset-section-btn:before{content:"↻";position:absolute;left:12px;font-size:16px;font-weight:700;color:var(--text-badge-critical);opacity:.8;transition:all .3s ease}#removeImageBtn:before{content:"🗑️";font-size:14px}.reset-section-btn:hover{background:var(--danger-lighter);color:var(--danger-hover);border-color:var(--danger-color);transform:translateY(-2px);box-shadow:0 6px 16px var(--danger-shadow)}.reset-section-btn:hover:before{left:8px;opacity:1;transform:rotate(-180deg)}#removeImageBtn:hover:before{transform:rotate(0)}.reset-section-btn:active{transform:translateY(0);box-shadow:0 2px 6px #d6303126}.custom-color-input{display:flex;gap:8px;align-items:center}.hex-input{flex:0 0 80px;padding:6px 8px;border:2px solid #e0e0e0;border-radius:6px;font-family:monospace;font-size:12px;transition:border-color .3s ease}.hex-input:focus{outline:none;border-color:var(--primary-lighter)}.native-picker-btn{padding:8px 12px;background:var(--bg-primary);color:var(--primary-color);border:2px solid var(--primary-lighter);border-radius:6px;cursor:pointer;font-size:12px;transition:all .3s ease;white-space:nowrap;font-weight:600}.native-picker-btn:hover{background:var(--primary-lightest);border-color:var(--primary-light);color:var(--primary-darker);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.background-image-section{margin-top:0;padding-top:0}.background-image-section h4{margin:0 0 10px;color:var(--text-heading)}.background-option{margin-bottom:10px}.background-option label{display:block;margin-bottom:5px;font-weight:600;color:var(--text-label);font-size:13px}.background-option input[type=text]{font-size:13px}.background-option input[type=range]{width:100%;cursor:pointer}.crossword-grid.has-background-image .grid-cell.empty{background-color:transparent!important}.crossword-grid.has-background-image .grid-cell.filled{background-color:var(--filled-cell-color)!important;opacity:.95}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;right:20px;top:10px;background:none;border:none;font-size:32px;color:var(--text-secondary);cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.modal-close:hover{background-color:var(--bg-hover);color:var(--text-primary)}#imageSelectorModal{display:none}#imageSelectorModal.show{display:flex}#imageSelectorModal .modal-content{width:90%;position:relative}.upload-image-section{padding:8px 12px;background:var(--primary-lightest);border:2px solid var(--primary-lighter);border-radius:8px;margin:0 20px 15px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:10px}.upload-image-btn{background:var(--bg-primary);color:var(--primary-color);border:2px solid var(--primary-lighter);padding:8px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm);white-space:nowrap}.upload-image-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--primary-extra-light);border-color:var(--primary-light);color:var(--primary-darker)}.upload-hint{color:var(--text-secondary);font-size:10px;opacity:.9;margin:0;text-align:left;flex:1}.image-gallery{display:flex;flex-direction:column;gap:20px;padding:0 20px 20px;max-height:70vh;overflow-y:auto}.gallery-section{width:100%}.gallery-section-header{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 15px;padding-bottom:10px;border-bottom:2px solid var(--border-default)}.image-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:15px}.image-card{position:relative;border:3px solid var(--border-default);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s ease;background:var(--bg-primary);aspect-ratio:3 / 4}.image-card:hover{border-color:var(--primary-lighter);transform:translateY(-5px);box-shadow:var(--shadow-md)}.image-card img{width:100%;height:100%;object-fit:cover;display:block}.image-name{padding:10px;text-align:center;font-size:12px;color:var(--text-secondary);background-color:var(--bg-secondary);word-break:break-word}.delete-image-btn{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;background:var(--danger-color);color:var(--text-white);border:2px solid var(--white);font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .3s ease;box-shadow:var(--shadow-danger)}.image-card:hover .delete-image-btn{opacity:1}.delete-image-btn:hover{background:var(--danger-hover);transform:scale(1.1)}.payment-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;z-index:10000;justify-content:center;align-items:center;animation:paymentFadeIn .2s ease}.payment-modal.show{display:flex}@keyframes paymentFadeIn{0%{opacity:0}to{opacity:1}}@keyframes paymentSlideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.payment-modal-content{background:var(--bg-primary);border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;position:relative;animation:paymentSlideUp .3s ease}.payment-modal-header{display:flex;align-items:center;gap:12px;padding:24px 24px 16px;border-bottom:2px solid var(--bg-secondary);position:relative}.payment-modal-icon{font-size:32px;line-height:1}.payment-modal-title{flex:1;margin:0;font-size:24px;color:var(--text-primary);font-weight:700}.payment-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:32px;color:var(--text-secondary);cursor:pointer;padding:4px 8px;line-height:1;transition:color .2s ease}.payment-modal-close:hover{color:var(--danger-color)}.payment-modal-main{padding:24px}.payment-description{font-size:16px;color:var(--text-secondary);margin:0 0 24px;line-height:1.6}.payment-benefits{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;padding:20px;margin-bottom:20px}.payment-benefits h3{margin:0 0 12px;font-size:18px;color:var(--primary-color);font-weight:600}.payment-benefits ul{margin:0;padding:0;list-style:none}.payment-benefits li{padding:7px 0;color:var(--text-primary);font-size:15px;line-height:1.5}.payment-link-warning{display:flex;align-items:flex-start;gap:10px;background:#fff8e1;border:2px solid #f9a825;border-left:5px solid #f9a825;border-radius:8px;padding:14px 16px;margin-bottom:20px;font-size:14px;color:#5c4a00;line-height:1.55}[data-theme=dark] .payment-link-warning{background:#3b2e00;border-color:#f9a825;color:#ffe082}.payment-link-warning-icon{font-size:18px;flex-shrink:0;line-height:1.4}.payment-price{display:flex;align-items:center;justify-content:space-between;background:var(--bg-secondary);padding:16px 20px;border-radius:8px;margin-bottom:0}.payment-price-label{font-size:16px;color:var(--text-secondary);font-weight:500}.payment-price-amount{font-size:32px;color:var(--primary-color);font-weight:700}.payment-modal-footer{padding:20px 24px 24px;display:flex;flex-direction:column;gap:12px}.payment-email-field{display:flex;flex-direction:column;gap:6px;background:var(--primary-lightest, #ede9ff);border:2px solid var(--primary-lighter, #c4b5fd);border-radius:10px;padding:14px 16px}.payment-email-label{font-size:14px;font-weight:700;color:var(--text-primary)}.payment-email-input{width:100%;padding:10px 14px;border:1.5px solid var(--primary-lighter, #c4b5fd);border-radius:8px;font-size:14px;color:var(--text-primary);background:var(--bg-primary);font-family:inherit;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.payment-email-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-lightest, #ede9ff)}.payment-email-note{margin:0;font-size:11px;color:var(--text-secondary)}.payment-btn{width:100%;padding:16px 24px;font-size:18px;font-weight:600;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all .2s ease;font-family:inherit}.payment-btn--primary{background:var(--primary-color);color:var(--text-inverse);border-color:var(--primary-color)}.payment-btn--primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d;color:var(--text-button-primary)}[data-theme=dark] .payment-btn--primary:hover{color:var(--text-inverse)}.payment-btn--secondary{background:var(--bg-primary);color:var(--text-secondary);border-color:var(--border-color)}.payment-btn--secondary:hover{background:var(--bg-secondary);color:var(--text-primary)}.payment-access-info{text-align:center;font-size:13px;color:var(--text-secondary);margin:0;font-style:italic}.purchase-success{padding:40px 24px;text-align:center}.success-icon{font-size:64px;margin-bottom:16px;animation:bounceIn .5s ease}@keyframes bounceIn{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.purchase-success h2{font-size:28px;color:var(--success-color);margin:0 0 12px;font-weight:700}.purchase-success>p{font-size:16px;color:var(--text-secondary);margin:0 0 24px;line-height:1.6}.success-link-section{background:var(--bg-secondary);border:2px solid var(--success-light);border-radius:10px;padding:16px;margin-bottom:24px;text-align:left}.success-link-label{font-size:13px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px}.success-link-box{display:flex;align-items:center;gap:8px;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:8px;padding:10px 12px;margin-bottom:10px}.success-link-url{flex:1;font-size:13px;color:var(--text-primary);word-break:break-all;font-family:monospace}.success-copy-btn{flex-shrink:0;padding:6px 14px;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.success-copy-btn:hover{background:var(--primary-hover)}.success-expiry{font-size:13px;color:var(--text-secondary);margin:0;font-style:italic}.success-details{background:var(--success-lightest);border:2px solid var(--success-light);border-radius:8px;padding:16px;margin-bottom:24px}.success-details p{margin:8px 0;font-size:14px;color:var(--text-primary)}.success-details strong{color:var(--success-color);font-weight:600}.success-hint{font-size:13px!important;color:var(--info-color)!important;font-style:italic}.success-actions{margin-bottom:24px}.success-actions h3{font-size:18px;color:var(--text-primary);margin:0 0 16px;font-weight:600}.quick-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-action-btn{padding:12px 16px;background:var(--bg-primary);color:var(--text-button-primary);border:2px solid var(--primary-lighter);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.quick-action-btn:hover{background:var(--primary-lightest);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 2px 8px #667eea33;color:var(--text-button-primary)}[data-theme=dark] .quick-action-btn{color:var(--text-inverse);background:var(--bg-secondary)}[data-theme=dark] .quick-action-btn:hover{background:var(--primary-darker);border-color:var(--primary-color);box-shadow:var(--shadow-primary);color:var(--text-inverse)}.purchase-success .modal-button{width:100%;padding:14px 24px;background:var(--primary-color);color:var(--text-inverse);border:2px solid var(--primary-color);border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.purchase-success .modal-button:hover{background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d;color:var(--primary-color)}.locked:after{font-size:12px;top:-6px;right:-6px}.purchased-banner{background:linear-gradient(135deg,var(--primary-lightest) 0%,var(--primary-lighter) 100%);border:2px solid var(--primary-light);border-radius:12px;padding:20px 24px;margin:0 auto 20px;box-shadow:0 4px 12px #00000014;display:none;max-width:100%;box-sizing:border-box}body.layout-constrained .purchased-banner{max-width:1600px;padding-left:20px;padding-right:20px}.purchased-banner.active{display:block}.purchased-banner-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px}.purchased-banner-text{flex:1}.purchased-banner-title{font-size:18px;font-weight:700;color:var(--primary-color);margin:0 0 8px;display:flex;align-items:center;gap:8px}.purchased-badge{display:inline-flex;align-items:center;gap:6px;background:var(--success-light);color:var(--success-color);padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.purchased-banner-message{font-size:14px;line-height:1.6;color:var(--text-secondary);margin:0}.purchased-banner-message strong{color:var(--primary-color);font-weight:600}.purchased-banner-actions{display:flex;flex-direction:column;gap:10px;min-width:180px}.create-new-btn{background:var(--bg-primary)!important;color:var(--primary-color)!important;border:2px solid var(--primary-lighter)!important;padding:12px 20px!important;border-radius:8px!important;font-size:14px!important;font-weight:600!important;cursor:pointer!important;transition:all .2s ease!important;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:8px}.create-new-btn:hover{background:var(--primary-lightest)!important;border-color:var(--primary-light)!important;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.login-cta-btn{background:var(--primary-color)!important;color:var(--text-inverse)!important;border:2px solid var(--primary-color)!important;padding:12px 20px!important;border-radius:8px!important;font-size:14px!important;font-weight:600!important;cursor:pointer!important;transition:all .2s ease!important;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:8px}.login-cta-btn:hover{background:var(--primary-dark)!important;border-color:var(--primary-dark)!important;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}body.purchased-state,body.completed-state{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%)}[data-theme=dark] body.purchased-state,[data-theme=dark] body.completed-state{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%)}body.purchased-state .crossword-area,body.completed-state .crossword-area{border:3px solid var(--primary-lighter);border-radius:12px;box-shadow:0 6px 20px #667eea1f}body.purchased-state .crossword-title-input,body.completed-state .crossword-title-input{font-size:28px;font-weight:700;color:var(--primary-color);border-bottom:3px solid var(--primary-lighter)}.purchased-watermark{position:absolute;bottom:10px;right:10px;background:#fffffff2;color:var(--primary-color);padding:6px 14px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border:2px solid var(--primary-lighter);box-shadow:0 2px 8px #0000001a;pointer-events:none;opacity:.9;display:none}body.purchased-state .purchased-watermark{display:block}body.purchased-state .left-column,body.completed-state .left-column,body.purchased-state .customization-sidebar{display:none!important}body.purchased-state .main-container,body.completed-state .main-container{grid-template-columns:1fr}body.purchased-state .crossword-area,body.completed-state .crossword-area{max-width:1400px;margin:0 auto}body.purchased-state #cluesSection,body.completed-state #cluesSection{max-width:900px;margin:20px auto 0}.save-complete-container{display:flex;justify-content:center;align-items:center;margin:20px 0;padding:0 20px}.save-complete-btn{width:50%;background:var(--secondary-light);color:var(--primary-color);padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;min-width:160px;justify-content:center;box-shadow:0 2px 4px #0000001a;position:relative;overflow:hidden;isolation:isolate}.save-complete-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.save-complete-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000001a}.save-complete-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-secondary);color:var(--text-muted);border-color:var(--border-color)}@keyframes rotate-gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.save-complete-btn.save-btn-active:hover:before{animation-play-state:paused}.save-complete-btn:disabled:before,.save-complete-btn:disabled:after{content:none}.export-share-buttons{display:flex;gap:12px;justify-content:center;align-items:center;margin:20px 0;padding:0 20px}.export-share-btn{background:var(--bg-primary);color:var(--primary-color);border:2px solid var(--primary-lighter);padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;min-width:140px;justify-content:center;box-shadow:0 2px 4px #0000001a}.export-share-btn:hover:not(:disabled){background:var(--primary-lightest);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.export-share-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000001a}.export-share-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-secondary);color:var(--text-muted);border-color:var(--border-color)}.share-btn{color:var(--info-color);border-color:var(--info-light)}.share-btn:hover:not(:disabled){background:var(--info-lightest);border-color:var(--info-color)}.solve-btn{color:var(--success-color);border-color:var(--success-light)}.solve-btn:hover:not(:disabled){background:var(--success-lightest);border-color:var(--success-color)}.print-btn{color:var(--success-color);border-color:var(--success-light)}.print-btn:hover:not(:disabled){background:var(--success-lightest);border-color:var(--success-color)}.export-menu{position:absolute;background:var(--bg-primary);border:2px solid var(--primary-lighter);border-radius:8px;padding:8px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:220px}.export-menu-divider{margin:8px 0;border-top:1px solid var(--border-color)}.social-icon{width:20px;height:20px;object-fit:contain;flex-shrink:0}.export-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:var(--bg-primary);color:var(--text-primary);border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.export-menu-item:hover{background:var(--primary-lightest);color:var(--primary-color)}.export-menu-item:active{background:var(--primary-lighter)}.export-menu-item--primary{background:var(--primary-lightest);color:var(--primary-color);font-weight:600;border:1px solid var(--primary-lighter)}.export-menu-item--primary:hover{background:var(--primary-lighter);color:var(--primary-color)}.export-menu-item--secondary{color:var(--text-secondary);font-size:13px}.export-menu-item--secondary:hover{color:var(--text-primary)}.save-confirmation-dialog{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;justify-content:center;align-items:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.save-confirmation-content{background:var(--bg-primary);border-radius:12px;padding:32px;max-width:500px;width:90%;box-shadow:0 8px 24px #0000004d;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.save-confirmation-content h3{margin:0 0 16px;font-size:24px;color:var(--text-primary);display:flex;align-items:center;gap:8px}.save-confirmation-content p{margin:0 0 12px;font-size:16px;line-height:1.6;color:var(--text-primary)}.save-confirmation-content strong{color:var(--danger-color);font-weight:700}.save-confirmation-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.save-confirmation-btn{padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.save-confirmation-btn.cancel-btn{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.save-confirmation-btn.cancel-btn:hover{background:var(--bg-tertiary);border-color:var(--text-muted)}.save-confirmation-btn.confirm-btn{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.save-confirmation-btn.confirm-btn:hover{background:var(--primary-color-dark);border-color:var(--primary-color-dark);color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.save-confirmation-btn.confirm-btn.btn--loading{cursor:not-allowed;opacity:.85;pointer-events:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transform:none;box-shadow:none}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:btn-spin .7s linear infinite;flex-shrink:0}@keyframes btn-spin{to{transform:rotate(360deg)}}#savingProgressOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:11000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}#savingProgressOverlay.saving-progress--active{opacity:1;visibility:visible}.saving-progress-inner{background:var(--bg-primary);border-radius:14px;padding:24px 36px;display:flex;align-items:center;gap:14px;font-size:17px;font-weight:600;color:var(--text-primary);box-shadow:0 12px 40px #00000040}.saving-progress-spinner{border-color:#667eea4d;border-top-color:var(--primary-color);width:22px;height:22px;border-width:3px}#exportShareWrapper{display:block;width:100%}#exportShareWrapper.premium-template-locked .export-share-btn{opacity:.38;pointer-events:none;cursor:not-allowed;filter:grayscale(.4)}.template-purchase-cta-btn{width:50%;max-width:100%;box-sizing:border-box;background:var(--secondary-light);color:var(--text-primary);border:solid 1px var(--primary-color);padding:10px 22px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s ease,transform .15s ease,box-shadow .2s ease;display:block;text-align:center;margin:0 auto 10px;box-shadow:0 3px 10px #667eea59;letter-spacing:.01em}.template-purchase-cta-btn:hover{background:var(--primary-color, #5a6fcf);color:#fff;border:solid 1px var(--secondary-light);transform:translateY(-1px);box-shadow:0 6px 16px #667eea66}.ss-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.ss-overlay--visible{opacity:1}.ss-overlay[hidden]{display:none}.ss-card{position:relative;background:var(--bg-primary);border-radius:16px;padding:36px 24px 24px;width:min(320px,92vw);box-shadow:0 12px 40px #0000004d;display:flex;flex-direction:column;gap:20px;animation:ss-slide-in .22s ease}@keyframes ss-slide-in{0%{opacity:0;transform:translateY(-14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.ss-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:18px;color:var(--text-muted);cursor:pointer;line-height:1;padding:4px 8px;border-radius:6px;transition:background .15s ease,color .15s ease}.ss-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.ss-title{margin:0;font-size:16px;font-weight:700;color:var(--text-primary);text-align:center}.ss-preview{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:10px;overflow:hidden}.ss-preview-header{display:flex;align-items:center;gap:10px;padding:10px 12px}.ss-preview-logo{width:56px;height:auto;flex-shrink:0;border-radius:5px;object-fit:contain}.ss-preview-brand{display:flex;flex-direction:column;gap:2px;overflow:hidden}.ss-preview-brand-name{font-size:13px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-preview-brand-url{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-preview-divider{height:1px;background:var(--border-default);margin:0}.ss-preview-body{padding:9px 12px;font-size:12px;color:var(--text-secondary);line-height:1.5;white-space:pre-line;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;word-break:break-all}.ss-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.ss-item{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:var(--text-secondary);background:none;border:none;cursor:pointer;padding:4px 0;transition:color .15s ease;font-family:inherit}.ss-item:hover{color:var(--text-primary)}.ss-item:hover .ss-icon{transform:scale(1.08);opacity:.9}.ss-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:#fff;transition:transform .15s ease,opacity .15s ease;flex-shrink:0}.ss-icon svg{width:22px;height:22px}.ss-wa{background:#25d366}.ss-vb{background:#7360f2}.ss-tg{background:#2aabee}.ss-em{background:#6b7280}.ss-cp{background:#374151}.ss-label{font-size:11px;font-weight:500;text-align:center;white-space:nowrap;line-height:1.2}@media (max-width: 360px){.ss-grid{grid-template-columns:repeat(3,1fr)}.ss-icon{width:40px;height:40px}.ss-icon svg{width:20px;height:20px}}.export-preview-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:none;align-items:flex-start;justify-content:center;background:#000000b8;overflow-y:auto;padding:32px 16px 48px}.export-preview-content{background:var(--bg-primary, #ffffff);border-radius:16px;box-shadow:0 24px 64px #00000059;width:100%;max-width:800px;padding:36px 40px 32px;display:flex;flex-direction:column;gap:24px}.export-preview-header{display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--border-color, #e5e7eb);padding-bottom:20px}.export-preview-title{font-size:22px;font-weight:700;color:var(--text-primary, #1f2937);margin:0}.export-preview-subtitle{font-size:14px;color:var(--text-secondary, #6b7280);margin:0}.export-preview-images{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.export-preview-card{display:flex;flex-direction:column;gap:6px}.export-preview-card-label{font-size:13px;font-weight:600;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px}.export-preview-img-wrapper{position:relative;display:block;width:100%;height:180px;overflow:hidden;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;background:#f9fafb;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.export-preview-img-wrapper img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none}.export-preview-watermark{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='90'%3E%3Ctext x='50%25' y='55%25' dominant-baseline='middle' text-anchor='middle' transform='rotate(-35 80 45)' font-size='22' font-weight='900' fill='rgba(60%2C60%2C60%2C0.52)' font-family='Arial%2Csans-serif' letter-spacing='3'%3EPREVIEW%3C/text%3E%3C/svg%3E");background-repeat:repeat;background-size:160px 90px}.export-preview-notice{display:flex;align-items:center;gap:8px;background:var(--info-lightest, #eff6ff);border:1px solid var(--info-light, #bfdbfe);border-radius:8px;padding:10px 14px;font-size:13px;color:var(--info-color, #1d4ed8)}.export-preview-notice-icon{font-size:15px;flex-shrink:0}.export-preview-actions{display:flex;flex-direction:row;gap:12px;justify-content:flex-end;padding-top:4px}.export-preview-btn{font-size:15px;font-weight:600;padding:12px 28px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all .2s ease;white-space:nowrap}.export-preview-btn--primary{background:var(--primary-color, #667eea);color:#fff;border-color:var(--primary-color, #667eea)}.export-preview-btn--primary:hover{background:var(--primary-hover, #5a6fd8);color:#fff;border-color:var(--primary-hover, #5a6fd8)}.export-preview-btn--secondary{background:var(--bg-primary, #ffffff);color:var(--text-secondary, #6b7280);border-color:var(--border-color, #d1d5db)}.export-preview-btn--secondary:hover{background:var(--bg-secondary, #f9fafb);color:var(--text-primary, #1f2937)}.modal{display:none;position:fixed;z-index:10000;left:0;top:0;width:100%;height:100%;background:linear-gradient(135deg,#0006,#0009);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .25s ease-out}.modal.show{display:flex;justify-content:center;align-items:center}@keyframes bounceIn{0%{opacity:0;transform:scale(.85) translateY(-20px)}50%{transform:scale(1.02) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-content{background:var(--bg-primary);border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:460px;width:90%;animation:bounceIn .4s cubic-bezier(.68,-.55,.265,1.55);overflow:hidden;border:none}.modal-header{background:var(--gradient-primary-light);padding:18px 24px;display:flex;align-items:center;gap:12px;position:relative}.modal-icon{font-size:1.5rem;line-height:1}.modal-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-primary);flex:1;letter-spacing:-.01em}.modal-close-btn{position:absolute;top:14px;right:16px;background:var(--bg-hover);border:none;font-size:1.3rem;line-height:1;color:var(--text-secondary);cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;padding:0}.modal-close-btn:hover{background:var(--bg-active);color:var(--text-primary);transform:rotate(90deg)}.modal-body{padding:20px 24px;background:var(--bg-primary);font-size:.95rem;line-height:1.6;color:var(--text-primary)}.modal-body p{margin:0;white-space:pre-line;font-size:15px}.modal-body strong{color:var(--primary-color);font-weight:600}.modal-footer{padding:16px 24px 20px;background:var(--bg-primary);display:flex;justify-content:center;gap:10px}.modal-button{background:var(--bg-primary);border-color:var(--primary-light);color:#000;padding:11px 24px;border-radius:24px;font-size:14px;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 3px 10px #667eea40;position:relative;overflow:hidden;flex:1;margin:0}.modal-button:not(.primary){background:var(--bg-primary);color:var(--text-primary);border:2px solid var(--border-default);box-shadow:0 2px 6px #0000001f}[data-theme=dark] .modal-button{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-default)}[data-theme=dark] .modal-button:hover{background:var(--bg-primary)}.modal-button:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#fff3,#fff0);opacity:0;transition:opacity .25s ease}.modal-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.modal-button:active{transform:translateY(0)}.modal-button.primary{background:var(--primary-color);box-shadow:0 8px 22px #667eea59;color:#fff;border:2px solid var(--primary-color);font-weight:700;font-size:15px}.modal-button.primary:hover{box-shadow:0 10px 26px #667eea73;background:var(--primary-darker, var(--primary-color));color:#fff;border-color:var(--primary-darker, var(--primary-color));transform:translateY(-3px) scale(1.01)}[data-theme=dark] .modal-button.primary{color:#fff}[data-theme=dark] .modal-button.primary:hover{background:var(--primary-lighter)}.modal-button.danger{background:#fff;color:var(--text-badge-critical);border:2px solid #fc000082;box-shadow:0 2px 8px #ff6b6b4d}.modal-button.danger:hover{box-shadow:0 4px 8px #ff6b6b66;background:#ff00001a}[data-theme=dark] .modal-button.danger{background:var(--bg-secondary);color:var(--danger-color);border-color:var(--danger-light)}[data-theme=dark] .modal-button.danger:hover{background:var(--danger-lightest);color:var(--danger-color)}.modal[data-type=info] .modal-header{background:var(--gradient-primary-light)}.modal[data-type=info] .modal-icon{font-size:1.8rem}.modal[data-type=confirm] .modal-header{background:var(--gradient-primary-light)}.modal[data-type=confirm] .modal-icon{font-size:1.8rem}.modal[data-type=confirm] .modal-footer{display:flex;gap:16px;padding:20px 24px}.modal[data-type=confirm] .modal-button{flex:1;min-width:0;white-space:nowrap}.input-dialog .modal-body{padding:20px 24px}.input-dialog .modal-body p{margin-bottom:12px;color:var(--text-secondary);font-size:14px;line-height:1.5}.input-dialog .modal-input{width:100%;padding:10px 12px;font-size:1rem;border:2px solid var(--border-color, #e2e4e9);border-radius:8px;outline:none;box-sizing:border-box;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s ease}.input-dialog .modal-input:focus{border-color:var(--primary-color)}.input-dialog .modal-input.error{border-color:var(--danger-color, #dc3545)}.input-dialog .modal-footer{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:center!important;gap:12px!important;padding:16px 24px 20px}.input-dialog .modal-footer .modal-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;width:120px!important;min-width:120px!important;max-width:120px!important;height:42px!important;padding:0 20px!important;margin:0!important;font-size:14px!important;line-height:1!important;text-align:center!important;max-width:none}.input-dialog .modal-footer .modal-button:not(.primary){background:var(--bg-primary)!important;color:var(--text-primary)!important;border:2px solid var(--border-default, #d1d5db)!important;box-shadow:0 2px 6px #00000014!important}.input-dialog .modal-footer .modal-button:not(.primary):hover{background:var(--bg-secondary, #f5f5f7)!important;transform:translateY(-1px)!important;box-shadow:0 4px 10px #0000001f!important}.input-dialog .modal-footer .modal-button.primary{background:var(--primary-color)!important;color:#fff!important;border:2px solid var(--primary-color)!important;box-shadow:0 6px 18px #667eea59!important;font-weight:700!important}.input-dialog .modal-footer .modal-button.primary:hover{background:var(--primary-hover, var(--primary-color))!important;color:#fff!important;border-color:var(--primary-hover, var(--primary-color))!important;box-shadow:0 10px 26px #667eea73!important;transform:translateY(-2px)!important}.hints-controls{display:flex;align-items:center;gap:14px;margin:10px 0 8px;padding:8px 10px;border:2px solid var(--border-default);border-radius:10px;background:var(--bg-primary);color:var(--text-primary)}.solve-mode-active .hints-controls{display:none!important}.hints-controls .hints-label{font-weight:600;opacity:.85}.hint-option{display:inline-flex;align-items:center;gap:6px;font-size:14px}.hint-option input[type=checkbox]{width:16px;height:16px}.grid-cell.filled.cell-prefilled input.cell-input{background:var(--primary-lightest);color:var(--primary-color);border:2px dashed var(--primary-lighter);cursor:default}.grid-cell.filled input.cell-input.prefilled:read-only{opacity:.9}:root{--crossword-font-family: Arial, sans-serif;--crossword-font-size: 14px}.crossword-area .crossword-title-input,.crossword-area .crossword-grid,.crossword-area .grid-cell,.crossword-area .clues{font-family:var(--crossword-font-family)}.crossword-area .grid-cell .cell-input{font-family:inherit}.crossword-area .grid-cell{font-size:var(--crossword-font-size)!important}.crossword-area .clues{font-size:calc(var(--crossword-font-size) * 1.1)}#crosswordFontSelect{max-height:240px;overflow-y:auto}.grid-clues-split{display:flex;flex-direction:column;gap:16px;align-items:stretch}.grid-clues-split .grid-pane{flex:0 0 auto}.grid-clues-split .clues-pane{flex:0 0 auto;width:100%;min-width:0;max-width:100%;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:8px;padding:12px;box-sizing:border-box}.grid-clues-split .clues-pane .clues{display:grid;grid-template-columns:1fr 1fr;gap:24px}.grid-clues-split .clues-pane .clues-section{min-width:0}.grid-clues-split .clues-pane .clues-section h3{margin-top:0;margin-bottom:12px;font-size:1.1rem;font-weight:600;color:var(--primary-color);border-bottom:2px solid var(--primary-lighter);padding-bottom:8px}.clue-item{margin-bottom:8px}.clue-number{font-weight:700;margin-right:5px}body.completed-state.solve-mode-active .header,body.completed-state .header.solve-mode-header{background:linear-gradient(135deg,#131b2e,#1a2640 40%,#213145 75%,#2a3d56)!important;box-shadow:0 4px 20px #131b2e73!important;border-bottom:none!important}body.completed-state.solve-mode-active .header:before,body.completed-state .header.solve-mode-header:before{background:linear-gradient(105deg,#bec6e00f,#dae2fd1a,#bec6e00a)!important}body.completed-state.solve-mode-active .header-brand,body.completed-state.solve-mode-active .header-controls{display:flex!important}body.completed-state.solve-mode-active #completed-back-btn,body.solve-mode-active #completed-back-btn,body.solve-mode-active .solve-back-btn,body.completed-state.solve-mode-active .header-title-row{display:none!important}body.completed-state.solve-mode-active .crossword-area{align-items:stretch!important}.solve-mode-active .crossword-grid{box-shadow:0 12px 40px #00000026,0 6px 20px #0000001a;background:linear-gradient(135deg,#fffffff2,#fffffffa);border:3px solid rgba(255,255,255,.8);position:relative;z-index:10}.solve-mode-active #layout-toggle-btn,.solve-mode-active .theme-switcher-dropdown{display:none}.solve-mode-header{background:linear-gradient(135deg,#131b2e,#1a2640 40%,#213145 75%,#2a3d56)!important;box-shadow:0 4px 20px #131b2e73;position:relative}.solve-mode-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(105deg,#bec6e00f,#dae2fd1a,#bec6e00a);pointer-events:none}.solve-mode-header h1{color:var(--text-inverse)!important;text-shadow:0 2px 4px rgba(0,0,0,.3);font-weight:700;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:4px;line-height:1.2}.solve-mode-header-title{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:center;text-align:center;position:relative;z-index:1}.solve-mode-badge-pill{display:inline-flex;align-items:center;font-size:1em;font-weight:700;letter-spacing:.04em;color:#ff0;padding:4px 12px;border-radius:20px;white-space:nowrap;flex-shrink:0;margin-left:30px;box-shadow:0 1px 6px #131b2e40;position:relative;z-index:1;align-self:center}.solve-mode-header .header-brand{display:flex;flex-direction:row;align-items:center}.solve-header-title{font-size:1.25em;font-weight:700;color:#eaf1ff;text-shadow:0 1px 4px rgba(0,0,0,.35);letter-spacing:.01em;max-width:50vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.solve-mode-badge-inline{display:none}.solve-back-btn{position:fixed;top:20px;left:20px;z-index:1000;padding:8px 16px;background:#eaf1ff1f;color:#eaf1ff;border:1.5px solid rgba(190,198,224,.35);border-radius:8px;cursor:pointer;font-weight:600;transition:all var(--transition-fast);font-size:.95em;width:auto;box-shadow:0 2px 8px #0003}.solve-back-btn:hover{background:#eaf1ff38;border-color:#bec6e099;transform:translate(-2px);box-shadow:0 4px 12px #0000004d}.solve-mode-banner{display:none;padding:10px 14px;margin:0 0 10px;border:1.5px solid #c6c6cd;background:#eff4ff;color:#0b1c30;border-radius:8px;font-weight:600}.solve-mode-active .solve-mode-banner{display:block}.solve-mobile-fab,.solve-mobile-modal,.solve-mobile-overlay{display:none}.grid-cell.filled{position:relative}.grid-cell .cell-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none;outline:none;background:transparent;text-align:center;font-weight:700;color:var(--text-color);font-family:inherit;font-size:1em;padding:0;margin:0;line-height:30px;box-sizing:border-box;z-index:3;pointer-events:auto;cursor:text}.grid-cell .cell-input::placeholder{color:transparent}.solve-mode-active .cell-input::selection{background:#dae2fd;color:#131b2e}.solve-mode-active .cell-input::-moz-selection{background:#dae2fd;color:#131b2e}.solve-mode-active .grid-cell .cell-input:focus{background:#dae2fd!important;color:#0b1c30!important;font-weight:700!important;border-radius:2px;box-shadow:0 0 0 2px #3f465c inset}.solve-mode-active .grid-cell:has(.cell-input:focus) .number{color:#3f465c!important}.grid-cell .number{position:absolute;top:2px;left:3px;font-size:.5em;color:var(--number-color);z-index:2}.solve-mode-active .grid-cell.filled{color:transparent}.crossword-area .solve-mode-banner strong{font-weight:700}.solve-mode-active .left-column,.solve-mode-active .mobile-fab-container,.solve-mode-active .customization-sidebar,.solve-mode-active #customizeFab,.solve-mode-active #debugGridSize,.solve-mode-active #tapToAddPrompt,.solve-mode-active #mobileOptimizeButtons,.solve-mode-active .crossword-header,.solve-mode-active .export-share-buttons{display:none}.solve-mode-active .grid-clues-split{flex-direction:row;gap:2rem;align-items:flex-start}.solve-mode-active .grid-clues-split .clues-pane{order:1;flex:0 0 450px;max-height:calc(100vh - 250px);overflow-y:auto;background:#eff4ff;border:1px solid #c6c6cd;border-radius:8px;padding:16px;box-shadow:0 2px 8px #0b1c3014}.solve-mode-active .grid-clues-split .clues-pane .clues{display:flex!important;flex-direction:column!important;gap:24px}.solve-mode-active .grid-clues-split .grid-pane{order:2;flex:1;min-width:0}.solve-crossword-title{display:none;width:100%;text-align:center;margin:10px 0 15px;padding:8px 0;border-bottom:2px solid var(--primary-lighter);background:transparent}.solve-crossword-title h2{margin:0;font-size:1.4em;font-weight:600;color:var(--primary-color);text-shadow:0 1px 2px rgba(0,0,0,.1)}.solve-action-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.solve-action-bar .solve-actions{display:flex;gap:8px;flex-wrap:wrap}.solve-timer{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 16px;margin-left:4px;background:#eff4ff;border-radius:12px;border:1.5px solid #c6c6cd;box-shadow:inset 0 1px 2px #0b1c300a}.solve-timer-display-wrap{display:flex;align-items:center;gap:6px}.solve-timer-dot{width:8px;height:8px;border-radius:50%;background:#c6c6cd;flex-shrink:0;transition:background .3s ease}.solve-timer-dot.running{background:#3f465c;animation:timerDotPulse 1.2s ease-in-out infinite}@keyframes timerDotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.solve-timer-display{font-family:Courier New,SF Mono,Consolas,monospace;font-size:1.3em;font-weight:700;color:#0b1c30;letter-spacing:.08em;min-width:52px;text-align:center;line-height:1}.solve-timer-controls{display:flex;gap:4px}.solve-timer-btn,.solve-timer-reset-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1.5px solid #c6c6cd;border-radius:8px;cursor:pointer;color:#45464d;transition:all var(--transition-fast);flex-shrink:0;padding:0}.solve-timer-btn:hover{background:#e5eeff;border-color:#3f465c;color:#131b2e;transform:scale(1.05)}.solve-timer-reset-btn:hover{background:#ffdad6;border-color:#ba1a1a;color:#93000a;transform:scale(1.05)}.solve-timer-btn[aria-label="Start timer"],.solve-timer-btn[aria-label="Resume timer"]{color:#3f465c;border-color:#bec6e0}.solve-hints-panel{margin-top:8px;border-top:1px solid var(--border-default);padding-top:4px}.solve-hints-label{padding:4px 10px 2px;font-size:.8em;font-weight:700;color:#45464d;text-transform:uppercase;letter-spacing:.05em}.solve-hints-content{padding:6px 10px 8px;display:flex;flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap}.solve-hints-reveal-buttons{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.hints-checkboxes{display:flex;gap:20px;flex-wrap:wrap;align-items:center}.hints-checkboxes .hint-option--right{margin-left:auto;padding-left:16px;border-left:1px solid var(--border-default)}.hints-checkboxes .hint-option{display:flex;align-items:center;gap:6px;font-size:.875em;color:#45464d}.hints-checkboxes .hint-option input[type=checkbox]{width:15px;height:15px;cursor:pointer}.solve-action-btn{padding:8px 12px;background:#fff;color:#0b1c30;border:1.5px solid #c6c6cd;border-radius:4px;cursor:pointer;font-size:.875em;font-weight:500;transition:background .2s ease,border-color .2s ease,color .2s ease;width:130px;box-sizing:border-box;text-align:center}.solve-action-btn:hover{background:#eff4ff;border-color:#76777d}.solve-action-btn.solve-check{background:#dae2fd;color:#131b2e;border-color:#bec6e0}.solve-action-btn.solve-check:hover{background:#bec6e0;border-color:#3f465c}.solve-action-btn.solve-reveal{color:#3f465c;border-color:#bec6e0}.solve-action-btn.solve-reveal:hover{background:#e5eeff;border-color:#76777d}.solve-action-btn.solve-clear{color:#45464d;border-color:#c6c6cd}.solve-action-btn.solve-uncheck{color:#93000a;border-color:#ba1a1a;background:#ffdad6}.solve-action-btn.solve-uncheck:hover{background:#ffb4ab;border-color:#93000a}.solve-action-btn.solve-reset{color:#93000a;border-color:#c6c6cd}.solve-action-btn.solve-reset:hover{background:#ffdad6;border-color:#ba1a1a}.solve-action-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.grid-cell.cell-correct .cell-input{box-shadow:0 0 0 2px #1e7e34 inset;border-radius:0!important}.grid-cell.cell-incorrect .cell-input{box-shadow:0 0 0 2px #ba1a1a inset;border-radius:0!important}.grid-cell.live-check-correct .cell-input,.solve-mode-active .grid-cell.live-check-correct .cell-input:focus{color:#1e7e34!important;-webkit-text-fill-color:currentColor!important;font-weight:700;transition:all .3s ease;border-radius:0%}.grid-cell.live-check-incorrect .cell-input,.solve-mode-active .grid-cell.live-check-incorrect .cell-input:focus{color:#ba1a1a!important;-webkit-text-fill-color:currentColor!important;font-weight:700;transition:all .3s ease;border-radius:0%}.grid-cell.live-check-correct .number,.grid-cell.live-check-incorrect .number{color:var(--number-color)!important;opacity:1!important;z-index:10}@keyframes liveCheckPop{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.grid-cell.live-check-correct,.grid-cell.live-check-incorrect{animation:liveCheckPop .3s ease}.grid-cell.cell-reveal-flash .cell-input{animation:reveal-flash .5s ease-in-out 6}@keyframes reveal-flash{0%,to{box-shadow:0 0 0 1px #bec6e0 inset;background-color:#eff4ff}50%{box-shadow:0 0 0 2px #3f465c inset;background-color:#dae2fd}}.solve-mode-active .solve-split{display:flex;gap:16px;align-items:flex-start}.solve-mode-active .solve-grid-pane{flex:1 1 auto;min-width:0}.solve-mode-active .solve-clues-pane{flex:0 0 320px;max-width:40%;min-width:260px;max-height:70vh;overflow:auto;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:8px;padding:12px}.solve-mode-active .solve-clues-pane .clues{display:block!important}.solve-mode-active .solve-clues-pane .clues-section h3{margin-top:0}.solve-mode-active .clue-item{cursor:pointer;transition:all var(--transition-fast);border-radius:6px;padding:4px 8px;margin:2px 0}.solve-mode-active .clue-item:hover{background:#e5eeff;color:#0b1c30;transform:translate(2px)}.solve-mode-active .clue-item:active{background:#dce9ff;transform:translate(1px)}.solve-mode-active .clue-item:hover .clue-number{font-weight:700;color:#131b2e}.tap-to-solve-prompt{display:none}.solve-mode-active .tap-to-solve-prompt{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;cursor:pointer;pointer-events:auto;opacity:0;visibility:hidden;transition:all .3s ease}.solve-mode-active .tap-to-solve-prompt.show{opacity:1;visibility:visible}.tap-to-solve-content{background:#0009;color:var(--text-inverse);padding:16px 20px;border-radius:12px;text-align:center;box-shadow:0 4px 16px #0000001a;border:1px solid rgba(0,0,0,.1);transition:all .3s ease}.tap-to-solve-content:active{transform:scale(.96);background:#fffffff2}.solve-mode-active .tap-to-solve-content .tap-text{font-size:14px;font-weight:500;color:var(--text-inverse);line-height:1.3;margin-bottom:4px}.solve-mode-active .tap-to-solve-content .tap-subtext{font-size:12px;font-weight:400;color:var(--text-muted);opacity:.8}.puzzle-revealed{position:relative}.puzzle-revealed:after{content:"🗝️ CROSSWORD REVEALED";position:absolute;top:-40px;left:50%;transform:translate(-50%);background:#131b2e;color:#eaf1ff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:700;box-shadow:0 4px 12px #131b2e66;z-index:100;pointer-events:none;animation:revealPulse 2s ease-in-out infinite;border:1px solid rgba(190,198,224,.3)}@keyframes revealPulse{0%,to{opacity:.9;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.05)}}.puzzle-revealed .grid-cell.filled input.cell-input[readonly]{background-color:#f8f9ff!important;border-color:#c6c6cd!important;color:#45464d!important;cursor:not-allowed!important}.puzzle-revealed .clue-item{cursor:default!important;opacity:.6!important}.clue-item.highlighted-clue{background:#bec6e0;border-left:4px solid #131b2e;padding-left:8px;border-radius:4px;transition:background .2s ease,border-color .2s ease;color:#0b1c30}.clue-item.highlighted-clue:hover{background:#a8b0ca;border-left-color:#131b2e}.solve-mode-banner .solve-action-btn:disabled{opacity:.5!important;cursor:not-allowed!important;background-color:#d3e4fe!important;border-color:#c6c6cd!important;color:#45464d!important}.solve-mode-banner .solve-action-btn:disabled:hover{background-color:#d3e4fe!important;transform:none!important}#hintsControls input[type=checkbox]:disabled{opacity:.5!important;cursor:not-allowed!important}#hintsControls input[type=checkbox]:disabled+label{opacity:.5!important;cursor:not-allowed!important}[data-theme=dark] .solve-mode-active .grid-clues-split .clues-pane{background:#1c2337;border-color:#ffffff1f;box-shadow:0 2px 12px #0006;color:#f8fafc}[data-theme=dark] .solve-mode-active .grid-clues-split .clues-pane .clues-section h3,[data-theme=dark] .solve-mode-active .grid-clues-split .clues-pane .clues h3{color:#cbd5f5;border-bottom-color:#ffffff1f}[data-theme=dark] .solve-mode-active .clue-item{color:#cbd5f5}[data-theme=dark] .solve-mode-active .clue-item:hover{background:#2f3a52;color:#f8fafc}[data-theme=dark] .solve-mode-active .clue-item:active{background:#3a4660}[data-theme=dark] .solve-mode-active .clue-item:hover .clue-number{color:#c4b5fd}[data-theme=dark] .clue-item.highlighted-clue{background:#2a3558;border-left-color:#a78bfa;color:#f8fafc}[data-theme=dark] .clue-item.highlighted-clue:hover{background:#32406a;border-left-color:#a78bfa}[data-theme=dark] .solve-action-btn{background:#1c2337;color:#cbd5f5;border-color:#ffffff24}[data-theme=dark] .solve-action-btn:hover{background:#232c45;border-color:#ffffff47;color:#f8fafc}[data-theme=dark] .solve-action-btn.solve-check{background:#2e2a5a;color:#c4b5fd;border-color:#a78bfa66}[data-theme=dark] .solve-action-btn.solve-check:hover{background:#3d3570;border-color:#a78bfaa6}[data-theme=dark] .solve-action-btn.solve-reveal{color:#a78bfa;border-color:#a78bfa4d;background:#1c2337}[data-theme=dark] .solve-action-btn.solve-reveal:hover{background:#232c45;border-color:#a78bfa8c}[data-theme=dark] .solve-action-btn.solve-clear{color:#9aa5c2;border-color:#ffffff24;background:#1c2337}[data-theme=dark] .solve-action-btn.solve-uncheck{background:#f871711f;color:#f87171;border-color:#f8717159}[data-theme=dark] .solve-action-btn.solve-uncheck:hover{background:#f8717138;border-color:#f87171}[data-theme=dark] .solve-action-btn.solve-reset{color:#f87171;border-color:#ffffff24;background:#1c2337}[data-theme=dark] .solve-action-btn.solve-reset:hover{background:#f8717124;border-color:#f8717173}[data-theme=dark] .solve-timer{background:#1c2337;border-color:#ffffff1f}[data-theme=dark] .solve-timer-display{color:#f8fafc}[data-theme=dark] .solve-timer-btn,[data-theme=dark] .solve-timer-reset-btn{background:#252b3f;border-color:#ffffff24;color:#9aa5c2}[data-theme=dark] .solve-timer-btn:hover{background:#2f3a52;border-color:#a78bfa80;color:#c4b5fd}[data-theme=dark] .solve-timer-reset-btn:hover{background:#f8717124;border-color:#f87171;color:#f87171}[data-theme=dark] .solve-timer-dot{background:#ffffff40}[data-theme=dark] .solve-timer-dot.running{background:#a78bfa}[data-theme=dark] .solve-hints-panel{border-top-color:#ffffff1a}[data-theme=dark] .solve-hints-label,[data-theme=dark] .hints-checkboxes .hint-option{color:#9aa5c2}[data-theme=dark] .hints-checkboxes .hint-option--right{border-left-color:#ffffff1f}[data-theme=dark] .solve-mode-banner{background:#1c2337;border-color:#ffffff1f;color:#cbd5f5}.grid-cell.non-intersecting{box-shadow:0 0 0 2px #ff9800 inset!important;background:linear-gradient(135deg,#ff98001f,#ff98000f);position:relative;z-index:1}.clue-item.non-intersecting-clue{background:#fff3e0;border-left:3px solid #ff9800;padding:8px 12px;margin:4px 0;border-radius:4px;transition:all .2s ease}.clue-item.non-intersecting-clue:hover{background:#ffe0b2;box-shadow:0 2px 4px #ff980033}.clue-item.non-intersecting-clue .clue-number{color:var(--text-button-warning);font-weight:600}.word-item.non-intersecting-word{border:2px solid #ff9800;background:#fff3e0}.word-item.non-intersecting-word:hover{background:#ffe0b2;box-shadow:0 2px 6px #ff98004d}.warning-badge{display:inline-block;font-size:1rem;margin-right:6px;vertical-align:middle;animation:pulse-warning 2s ease-in-out infinite}@keyframes pulse-warning{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.modal-footer{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}#nonIntersectingWarningModal .non-intersecting-list{background:#fff3e0;border:1px solid #ff9800;border-radius:6px;padding:12px;margin:16px 0;max-height:200px;overflow-y:auto}#nonIntersectingWarningModal .non-intersecting-list-item{display:flex;align-items:center;padding:8px;margin:4px 0;background:#fff;border-radius:4px;border-left:3px solid #ff9800}#nonIntersectingWarningModal .non-intersecting-list-item .word-number{font-weight:600;color:var(--text-button-warning);margin-right:8px;min-width:30px}#nonIntersectingWarningModal .non-intersecting-list-item .word-text{flex:1}#nonIntersectingWarningModal .non-intersecting-list-item .word-answer{font-weight:500;color:var(--text-secondary);margin-left:8px}#nonIntersectingWarningModal .warning-message{color:var(--text-button-warning);font-weight:500;margin-bottom:12px}[data-theme=dark] .clue-item.non-intersecting-clue{background:#ff980026;border-left-color:#ff9800;color:var(--text-primary)}[data-theme=dark] .clue-item.non-intersecting-clue:hover{background:#ff980040}[data-theme=dark] .word-item.non-intersecting-word{background:#ff980026;border-color:#ff9800;color:var(--text-primary)}[data-theme=dark] .word-item.non-intersecting-word:hover{background:#ff980040}[data-theme=dark] #nonIntersectingWarningModal .non-intersecting-list{background:#ff98001f;border-color:#ff9800}[data-theme=dark] #nonIntersectingWarningModal .non-intersecting-list-item{background:#ffffff0f;color:var(--text-primary)}#wordForm[data-edit-index]{background:linear-gradient(135deg,var(--warning-light) 0%,var(--warning-lighter) 100%);border:3px solid var(--warning-color);border-radius:8px;padding:18px;margin:-10px -10px 10px;box-shadow:0 4px 15px var(--warning-shadow);animation:editModeGlow 1.5s ease-in-out infinite alternate;position:relative}@keyframes editModeGlow{0%{box-shadow:0 4px 15px var(--warning-shadow)}to{box-shadow:0 6px 20px var(--warning-shadow)}}#wordForm[data-edit-index]:before{content:"✏️ EDIT MODE";position:absolute;top:-12px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--warning-color) 0%,var(--warning-hover) 100%);color:var(--text-inverse);padding:4px 16px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:1px;box-shadow:0 2px 8px var(--warning-shadow);z-index:10}#wordForm[data-edit-index] button[type=submit]{background:linear-gradient(135deg,var(--warning-color) 0%,var(--warning-hover) 100%)!important;color:var(--text-inverse)!important;border:3px solid var(--warning-hover)!important;font-weight:700!important;font-size:16px!important;padding:14px 24px!important;box-shadow:0 4px 15px var(--warning-shadow)!important;animation:updateButtonPulse 2s ease-in-out infinite;position:relative;overflow:hidden}@keyframes updateButtonPulse{0%,to{transform:scale(1);box-shadow:0 4px 15px var(--warning-shadow)}50%{transform:scale(1.02);box-shadow:0 6px 20px var(--warning-shadow)}}#wordForm[data-edit-index] button[type=submit]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}#wordForm[data-edit-index] button[type=submit]:hover{background:linear-gradient(135deg,var(--warning-hover) 0%,var(--danger-color) 100%)!important;border-color:var(--danger-color)!important;transform:translateY(-3px) scale(1.02)!important;box-shadow:0 8px 25px var(--warning-shadow)!important}#cancelEdit{background:var(--bg-secondary)!important;color:var(--text-secondary)!important;border:3px solid var(--border-medium)!important;font-weight:700!important;font-size:16px!important;padding:14px 24px!important;margin-top:12px!important;box-shadow:var(--shadow-md)!important;animation:slideInFromBottom .4s ease-out}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}#cancelEdit:hover{background:var(--border-medium)!important;color:var(--text-inverse)!important;border-color:var(--border-dark)!important;transform:translateY(-3px) scale(1.02)!important;box-shadow:var(--shadow-lg)!important}#wordForm[data-edit-index] input,#wordForm[data-edit-index] textarea{border:2px solid var(--warning-color)!important;background:var(--warning-lighter)!important;box-shadow:0 2px 8px var(--warning-shadow)!important}#wordForm[data-edit-index] input:focus,#wordForm[data-edit-index] textarea:focus{border-color:var(--warning-hover)!important;box-shadow:0 0 0 4px var(--warning-shadow)!important;outline:none!important}#wordForm[data-edit-index] label{color:var(--text-button-warning);font-weight:700}#wordForm:not([data-edit-index]) #cancelEdit{display:none!important}#wordForm:not([data-edit-index]) button[type=submit]{animation:none!important}.grid-cell.word-highlighted{box-shadow:0 0 0 2px var(--primary-color) inset!important;background:linear-gradient(135deg,var(--primary-lightest) 0%,var(--primary-lightest) 100%)!important;animation:highlightPulse .3s ease;transition:all .2s ease;position:relative;z-index:10}@keyframes highlightPulse{0%{transform:scale(1);box-shadow:0 0 #667eea00}50%{transform:scale(1.05);box-shadow:0 0 10px #667eea4d}to{transform:scale(1);box-shadow:0 0 #667eea00}}.word-item.active-highlight{background-color:var(--primary-lightest);border-left:4px solid var(--primary-color);padding-left:12px;transition:all .2s ease}.word-item{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.word-item:hover{background-color:var(--bg-hover)}.word-item *{-webkit-user-select:none;user-select:none}.landscape-warning{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-primary);z-index:10000;justify-content:center;align-items:center;padding:2rem}.landscape-warning-content{text-align:center;max-width:90%}.landscape-warning-icon{font-size:4rem;margin-bottom:1.5rem;animation:rotate-icon 2s ease-in-out infinite}@keyframes rotate-icon{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}75%{transform:rotate(15deg)}}.landscape-warning-content h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.landscape-warning-content p{font-size:1rem;color:var(--text-secondary);margin-bottom:.5rem;line-height:1.5}.direction-selector{position:fixed;background:var(--bg-primary);border:2px solid var(--primary-lighter);border-radius:8px;box-shadow:0 4px 12px #00000026;padding:8px;z-index:10000;display:none;gap:6px;flex-direction:column;min-width:140px}.direction-selector.show{display:flex}.direction-selector-option{padding:10px 12px;background:var(--bg-primary);border:2px solid var(--primary-lighter);border-radius:6px;color:var(--primary-color);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;display:flex;flex-direction:column;gap:2px}.direction-selector-option:hover{background:var(--primary-lightest);border-color:var(--primary-color);transform:translateY(-1px)}.direction-selector-option:active{transform:translateY(0)}.direction-selector-option .direction-label{font-weight:600;color:var(--primary-color)}.direction-selector-option .clue-preview{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.direction-selector:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--primary-lighter)}.direction-selector:after{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid var(--bg-primary)}.direction-selector.clue-popup{background:#fff;opacity:.98;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1.5px solid var(--primary-lighter);border-radius:8px;box-shadow:0 4px 15px #0000001f;padding:8px 10px;gap:0;min-width:120px;max-width:300px}.direction-selector.clue-popup:before{top:-8px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--primary-lighter)}.direction-selector.clue-popup:after{top:-6px;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ffffff}.direction-selector-option.clue-popup-display{cursor:default;pointer-events:none;background:transparent;border:none;padding:2px 4px}.direction-selector-option.clue-popup-display:hover{background:transparent;transform:none}.direction-selector-option.clue-popup-display .direction-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--primary-color);font-weight:700;opacity:.8;margin-bottom:4px}.direction-selector-option.clue-popup-display .clue-preview{white-space:normal;overflow:visible;text-overflow:initial;font-size:14px;line-height:1.4;color:#1a1a1b;font-weight:600}[data-theme=dark] .direction-selector.clue-popup{background:#1a202c;border-color:#4a5568}[data-theme=dark] .direction-selector.clue-popup:after{border-bottom-color:#1a202c}[data-theme=dark] .direction-selector-option.clue-popup-display .direction-label{color:#a0aec0}[data-theme=dark] .direction-selector-option.clue-popup-display .clue-preview{color:#f7fafc}[data-theme=midnight-indigo] .direction-selector.clue-popup{background:#fff;border:2px solid #dae2fd}[data-theme=midnight-indigo] .direction-selector.clue-popup:after{border-bottom-color:#fff}[data-theme=midnight-indigo] .direction-selector-option.clue-popup-display .direction-label{color:#3f465c}[data-theme=midnight-indigo] .direction-selector-option.clue-popup-display .clue-preview{color:#0b1c30}.tooltip-trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:2px solid var(--primary-lighter);border-radius:50%;background:var(--bg-primary);color:var(--primary-color);cursor:pointer;transition:border-color .2s ease,background .2s ease}.tooltip-trigger img,.tooltip-trigger svg{width:18px;height:18px}.tooltip-trigger:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}.tooltip-trigger:hover,.tooltip-trigger:focus-visible{border-color:var(--primary-color);background:var(--primary-lightest)}.tooltip-trigger.info-tooltip{border:none;background:transparent;width:auto;height:auto;padding:0}.tooltip-trigger.info-tooltip:hover,.tooltip-trigger.info-tooltip:focus-visible{background:transparent;border:none}.tooltip-trigger.info-tooltip img{width:20px;height:20px;transition:opacity .2s ease}.tooltip-trigger.info-tooltip:hover img,.tooltip-trigger.info-tooltip:focus-visible img{opacity:.7}[data-theme=dark] .tooltip-trigger.info-tooltip img{filter:invert(1)}.tooltip-trigger:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 12px);right:0;width:220px;padding:12px 14px;border-radius:10px;background:var(--bg-secondary);color:var(--text-primary);box-shadow:0 12px 30px #1d223a40;border:1px solid var(--border-subtle);font-size:.85rem;line-height:1.3;text-align:left;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease;z-index:50}.tooltip-trigger:before{content:"";position:absolute;bottom:calc(100% + 4px);right:10px;width:10px;height:10px;background:var(--bg-secondary);border-left:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle);transform:rotate(45deg);opacity:0;transition:opacity .2s ease;z-index:45}.tooltip-trigger:hover:after,.tooltip-trigger:focus-visible:after,.tooltip-trigger:hover:before,.tooltip-trigger:focus-visible:before{opacity:1;transform:translateY(0)}.tooltip-trigger.align-center:after{right:50%;transform:translate(50%,4px)}.tooltip-trigger.align-center:hover:after,.tooltip-trigger.align-center:focus-visible:after{transform:translate(50%)}.title-status-group{display:flex;flex-direction:row;align-items:center;gap:12px;width:100%}.title-status-group .crossword-title-input{flex:1;min-width:0}.pricing-status-pill{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:48px;min-width:48px;border-radius:50%;padding:0;background:var(--success-lighter);border:2px solid var(--success-color);box-shadow:0 4px 12px var(--success-shadow);color:var(--text-primary);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;animation:pricing-pulse-success 2s infinite;pointer-events:none}.pricing-pill-value{font-weight:700;font-size:14px;color:var(--text-primary);padding:0;margin:0;line-height:1}.pricing-status-pill.premium-active{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;box-shadow:0 4px 12px #f59e0b59;animation:pricing-pulse-gold 2.4s ease-in-out infinite}.pricing-status-pill.premium-active .pricing-pill-value{color:#92400e}@keyframes pricing-pulse-success{0%{box-shadow:0 4px 12px var(--success-shadow)}50%{box-shadow:0 6px 16px var(--success-shadow)}to{box-shadow:0 4px 12px var(--success-shadow)}}@keyframes pricing-pulse-gold{0%,to{box-shadow:0 4px 12px #f59e0b59}50%{box-shadow:0 6px 20px #f59e0b99}}.premium-features-panel{border:2px solid transparent;position:relative;background-clip:padding-box;border-radius:10px}.premium-features-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;padding:1px;background:linear-gradient(120deg,#667eea59,#764ba259);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.premium-features-panel[data-premium-active=true]:before{background:linear-gradient(120deg,#fbbf24a6,#f4722aa6)}.premium-sidebar-banner{display:flex;gap:12px;padding:14px;border-radius:12px;background:linear-gradient(135deg,#667eea14,#764ba21a);border:1px solid var(--border-light);margin-bottom:18px;box-shadow:0 8px 24px #0f172a14}.premium-sidebar-icon{width:40px;height:40px;border-radius:12px;background:var(--primary-lightest);display:flex;align-items:center;justify-content:center;font-size:20px}.premium-sidebar-text{flex:1;display:flex;flex-direction:column;gap:6px}.premium-sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.premium-sidebar-title{font-weight:600;font-size:.95rem;color:var(--text-primary)}.premium-sidebar-heading .tooltip-trigger{margin-left:auto}.premium-sidebar-status{font-size:.8rem;margin:0;color:var(--info-color);font-weight:600}.premium-features-panel[data-premium-active=true] .premium-sidebar-status{color:var(--warning-color)}.premium-features-panel[data-premium-active=true] .premium-sidebar-banner{background:linear-gradient(135deg,#fbbf2426,#f4722a1f)}.guidance-arrow{position:fixed;z-index:9999;pointer-events:none;opacity:0;animation:pointAtInput 2.5s ease-in-out forwards;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.guidance-arrow:before{content:"";display:block;width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-right:30px solid var(--primary-color)}@keyframes pointAtInput{0%{opacity:0;transform:translate(30px)}10%{opacity:1;transform:translate(0)}20%{transform:translate(10px)}30%{transform:translate(0)}40%{transform:translate(10px)}50%{transform:translate(0)}80%{opacity:1}to{opacity:0;transform:translate(0)}}@keyframes highlightPulse{0%{box-shadow:0 0 #667eeab3;border-color:var(--primary-color)}70%{box-shadow:0 0 0 10px #667eea00;border-color:var(--primary-color)}to{box-shadow:0 0 #667eea00}}.highlight-pulse{animation:highlightPulse 1s ease-out;border-color:var(--primary-color)!important}.app-snackbar{position:fixed;top:20px;right:20px;min-width:300px;max-width:400px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;z-index:10000;opacity:0;transform:translate(120%);transition:all .3s cubic-bezier(.68,-.55,.265,1.55);pointer-events:auto}.app-snackbar.show{opacity:1;transform:translate(0)}.snackbar-content{display:flex;align-items:center;gap:12px;padding:16px 20px}.snackbar-icon{font-size:20px;font-weight:700;flex-shrink:0;animation:snackbar-icon-pop .4s ease-out}@keyframes snackbar-icon-pop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.snackbar-message{flex:1;font-size:14px;font-weight:500;line-height:1.4;color:#333}.snackbar-close{background:none;border:none;font-size:24px;line-height:1;cursor:pointer;color:#999;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s ease;margin-left:8px}.snackbar-close:hover{color:#333}.app-snackbar-success{border-left:4px solid #10b981}.app-snackbar-success .snackbar-icon{color:#10b981}.app-snackbar-error{border-left:4px solid #ef4444}.app-snackbar-error .snackbar-icon{color:#ef4444}.app-snackbar-info{border-left:4px solid #3b82f6}.app-snackbar-info .snackbar-icon{color:#3b82f6}.app-snackbar-warning{border-left:4px solid #f59e0b}.app-snackbar-warning .snackbar-icon{color:#f59e0b}body.completed-state .left-column,body.completed-state .header-brand,body.completed-state .header-controls,body.completed-state .header h1,body.completed-state #completed-header-title,body.completed-state .crossword-header,body.completed-state .title-status-group,body.completed-state .pricing-status-pill:not(.header-title-row .pricing-status-pill){display:none!important}body.completed-state .header-title-row{display:flex!important;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);align-items:center;gap:45px;white-space:nowrap;z-index:5}body.completed-state .header-title-text{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1}body.completed-state .pricing-status-pill{display:flex!important;justify-content:center!important;align-items:center!important;margin:0!important;transform:none!important;pointer-events:none;width:48px!important;height:48px!important;min-width:48px!important;border-radius:50%!important;padding:0!important;background:var(--success-lighter)!important;border:2px solid var(--success-color)!important;box-shadow:0 4px 12px var(--success-shadow)!important;position:relative!important;top:auto!important;left:auto!important;animation:pulse-success 2s infinite}@keyframes pulse-success{0%{box-shadow:0 4px 12px var(--success-shadow)}50%{box-shadow:0 6px 16px var(--success-shadow)}to{box-shadow:0 4px 12px var(--success-shadow)}}body.completed-state .pricing-status-pill.premium-active{background:linear-gradient(135deg,#fef3c7,#fde68a)!important;border:2px solid #f59e0b!important;box-shadow:0 4px 12px #f59e0b59!important;animation:pulse-gold 2.4s ease-in-out infinite}body.completed-state .pricing-status-pill.premium-active .pricing-pill-value{color:#92400e!important}@keyframes pulse-gold{0%,to{box-shadow:0 4px 12px #f59e0b59}50%{box-shadow:0 6px 20px #f59e0b99}}body.completed-state .pricing-status-pill .pricing-pill-value{padding:0!important;margin:0!important;font-size:14px!important;font-weight:700!important;line-height:1!important;color:var(--text-primary)!important}body.completed-state{padding-top:84px}body.completed-state .main-container{display:flex!important;flex-direction:row!important;align-items:flex-start!important;justify-content:center!important;gap:20px;max-width:1600px;margin:0 auto!important;padding-top:20px}body.completed-state .crossword-area{width:auto!important;max-width:1400px;margin:20px auto!important;padding:0 10px;flex:1;display:flex;flex-direction:column;align-items:center;background:transparent!important;box-shadow:none!important;border:none!important}body.completed-state .customization-sidebar{display:none!important}body.completed-state:not(.customize-sidebar-open) #resetColorsBtn,body.completed-state:not(.customize-sidebar-open) #resetColorsBtn-mobile,body.completed-state:not(.customize-sidebar-open) #removeImageBtn,body.completed-state:not(.customize-sidebar-open) #removeImageBtn-mobile,body.completed-state:not(.customize-sidebar-open) #resetFontsBtn,body.completed-state:not(.customize-sidebar-open) #resetFontsBtn-mobile{display:none!important}body.completed-state.customize-sidebar-open .customization-sidebar{display:flex!important;flex-direction:column;margin:0!important;flex:0 0 320px;position:sticky;top:84px;border-left:1px solid var(--primary-lighter);background:var(--bg-secondary);box-shadow:-5px 0 15px #00000008}body.completed-state .header{justify-content:flex-start;gap:0;position:fixed;top:0;left:0;right:0;z-index:200;padding:12px 20px;min-height:60px;background:var(--bg-primary)!important;box-shadow:0 2px 10px #0000001a!important;border-bottom:1px solid var(--border-default)}body.completed-state #completed-back-btn{display:flex!important;align-items:center;justify-content:center;background:var(--bg-primary)!important;color:var(--primary-color)!important;border:2px solid var(--primary-lighter)!important;padding:8px;border-radius:50%!important;width:44px;height:44px;cursor:pointer;transition:all .2s ease;z-index:1000!important;box-shadow:0 4px 12px #00000026!important}body.completed-state #completed-back-btn:hover{background:var(--primary-lightest)!important;transform:translateY(-2px)}body.completed-state #completed-back-btn svg{width:22px;height:22px}body.completed-state .crossword-title-input{font-size:2.2rem!important;text-align:center!important;background:transparent!important;border:none!important;outline:none!important;box-shadow:none!important;pointer-events:none!important;color:var(--text-primary)!important;width:100%!important;margin:0 auto 30px!important;font-weight:700!important;padding:10px 0!important;display:block!important;cursor:default!important}body.completed-state .title-status-group{width:100%!important;justify-content:center!important;align-items:center!important}body.completed-state .crossword-header{width:100%!important;margin:0 auto!important;justify-content:center!important}body.completed-state #gridContainer{box-shadow:0 10px 30px #0000001a;border-radius:12px;overflow:hidden;background:var(--bg-primary);border:1px solid var(--primary-lighter);padding:10px}body.completed-state .grid-clues-split{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:20px;width:100%;align-self:stretch}body.completed-state .grid-clues-split .grid-pane{flex:1 1 auto;order:2;min-width:min-content}body.completed-state .grid-clues-split .clues-pane{flex:0 0 340px;max-width:340px;max-height:70vh;overflow-y:auto;position:sticky;top:20px;align-self:flex-start;order:1}body.completed-state .grid-clues-split .clues-pane .clues{grid-template-columns:1fr;gap:20px}body.completed-state .grid-clues-split #saveCompleteContainer{order:99}body.completed-state .grid-clues-split #exportShareButtons{flex:0 0 100%;order:3}#customize-upsell-card{display:none}body.completed-state #customize-upsell-card{display:flex!important;flex-direction:row;align-items:center;gap:20px;width:100%;padding:16px 24px;margin-bottom:20px;background:var(--bg-primary);border:2px solid var(--primary-lighter);border-top:3px solid var(--primary-color);border-radius:14px;box-shadow:0 4px 20px #667eea1f;box-sizing:border-box}body.completed-state.customize-sidebar-open #customize-upsell-card,body.paid-locked #customize-upsell-card,body.saved-link-paid #customize-upsell-card,body.solve-mode-active #customize-upsell-card{display:none!important}#saved-link-card{display:none}body.completed-state.show-saved-link-card #saved-link-card{display:flex!important;flex-direction:row;align-items:center;gap:20px;width:100%;padding:16px 24px;margin-bottom:20px;background:var(--bg-primary);border:2px solid var(--success-light);border-top:3px solid var(--success-color);border-radius:14px;box-shadow:0 4px 20px #34d3991f;box-sizing:border-box}.upsell-card-icon{font-size:2rem;line-height:1;flex-shrink:0}.upsell-card-body{flex:1;min-width:0}.upsell-card-headline{margin:0 0 4px;font-size:1.05rem;font-weight:700;color:var(--text-primary)}.upsell-card-description{margin:0 0 12px;font-size:.9rem;color:var(--text-secondary)}.paid-success-link-box{display:flex;align-items:center;gap:8px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:8px;padding:8px 12px;margin:8px 0}.paid-success-link-url{flex:1;font-size:12px;color:var(--text-primary);word-break:break-all;font-family:monospace}.paid-success-copy-btn{flex-shrink:0;padding:4px 12px;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s}.paid-success-copy-btn:hover{background:var(--primary-hover)}.paid-success-expiry{font-size:12px;color:var(--text-secondary);margin:4px 0 0;font-style:italic}.saved-link-warning{margin:8px 0 0;font-size:12px;color:var(--danger-color);font-weight:600}.saved-link-email-section{margin-top:12px;padding:10px 12px;background:var(--primary-lightest, #ede9ff);border:1px solid var(--primary-lighter, #c4b5fd);border-radius:8px}.saved-link-email-label{margin:0 0 8px;font-size:12px;color:var(--text-secondary);line-height:1.4}.saved-link-email-row{display:flex;gap:6px;align-items:center}.saved-link-email-input{flex:1;padding:7px 10px;border:1.5px solid var(--primary-lighter, #c4b5fd);border-radius:6px;font-size:13px;color:var(--text-primary);background:var(--bg-primary);font-family:inherit;min-width:0}.saved-link-email-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-lightest)}.saved-link-email-btn{padding:7px 14px;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease;font-family:inherit}.saved-link-email-btn:hover:not(:disabled){background:var(--primary-dark, #5a40d4)}.saved-link-email-btn:disabled{opacity:.6;cursor:not-allowed}.saved-link-email-saved{margin:0;font-size:12px;color:#065f46;font-weight:600}.upsell-card-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}@keyframes upsell-shimmer{0%{background-position:-200% center}to{background-position:200% center}}.upsell-card-btn{position:relative;padding:12px 22px;background:linear-gradient(270deg,#f59e0b,#fbbf24,#f59e0b);background-size:200% auto;animation:upsell-shimmer 3s linear infinite;color:#1a1200;border:none;border-radius:10px;font-size:.9rem;font-weight:700;letter-spacing:.02em;cursor:pointer;white-space:nowrap;box-shadow:0 4px 16px #fbbf2480;transition:transform .15s ease,box-shadow .2s ease}.upsell-card-btn:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 8px 28px #f59e0ba6}.upsell-card-note{margin:0;font-size:.725rem;color:var(--text-secondary);opacity:.7;text-align:right}body.completed-state #exportShareButtons{justify-content:center;gap:15px;margin-top:10px;padding:24px 0 8px;border-top:1px solid var(--border-default)}body.completed-state .interaction-buttons{margin:0;display:flex;justify-content:center;width:auto}body.customize-preview-active #exportShareButtons{pointer-events:none!important;opacity:.35!important;filter:grayscale(60%);transition:opacity .3s ease,filter .3s ease}#customize-preview-bar{position:fixed;bottom:28px;left:0;right:0;display:flex;justify-content:center;align-items:flex-end;transform:translateY(calc(100% + 28px));transition:transform .35s cubic-bezier(.34,1.28,.64,1);z-index:1100;pointer-events:none;padding:0 16px}#customize-preview-bar.visible{transform:translateY(0);pointer-events:auto}.preview-bar-inner{display:flex;align-items:center;gap:16px;padding:0 20px 0 0;overflow:hidden;background:var(--bg-primary);border-radius:16px;border:1px solid var(--primary-lighter);max-width:600px;width:100%;box-shadow:0 8px 32px #00000024,0 2px 8px #667eea2e,0 0 0 1px #667eea14}.preview-bar-accent{width:5px;align-self:stretch;flex-shrink:0;background:linear-gradient(180deg,var(--primary-color, #667eea),var(--primary-light, #8b5cf6));border-radius:16px 0 0 16px}.preview-bar-icon{font-size:1.6rem;line-height:1;flex-shrink:0;padding:18px 0}.preview-bar-content{flex:1;min-width:0;padding:18px 0}.preview-bar-headline{margin:0 0 2px;font-size:.95rem;font-weight:700;color:var(--text-primary);white-space:nowrap}.preview-bar-sub{margin:0;font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.preview-bar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:18px 0}.preview-bar-cancel-btn{padding:8px 16px;background:transparent;color:var(--text-secondary);border:1.5px solid var(--border-default);border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.preview-bar-cancel-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--text-secondary)}.preview-bar-save-btn{padding:9px 20px;background:linear-gradient(135deg,var(--primary-color, #667eea),var(--primary-light, #8b5cf6));color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:700;letter-spacing:.01em;cursor:pointer;box-shadow:0 4px 14px #667eea73;transition:transform .15s ease,box-shadow .2s ease,opacity .2s ease}.preview-bar-save-btn:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}.preview-bar-save-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 22px #667eea99}#supportFormModal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#00000073;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}#supportFormModal.support-form-modal--visible{display:flex}.support-form-card{background:var(--bg-primary);border-radius:16px;box-shadow:0 20px 60px #0003;width:100%;max-width:480px;padding:32px;position:relative;animation:support-form-slide-in .2s ease}@keyframes support-form-slide-in{0%{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.support-form-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:var(--bg-secondary, #f5f5f5);border-radius:50%;cursor:pointer;font-size:16px;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease;line-height:1}.support-form-close:hover{background:var(--primary-lightest, #ede9ff);color:var(--primary-color)}.support-form-header{margin-bottom:20px}.support-form-title{margin:0 0 6px;font-size:18px;font-weight:700;color:var(--text-primary)}.support-form-subtitle{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5}.support-form-field{margin-bottom:16px}.support-form-label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:var(--text-primary)}.support-form-label .required-star{color:var(--danger-color, #dc3545);margin-left:2px}.support-form-input,.support-form-textarea{width:100%;padding:10px 14px;border:1.5px solid var(--primary-lighter, #c4b5fd);border-radius:8px;font-size:14px;color:var(--text-primary);background:var(--bg-primary);transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box;font-family:inherit}.support-form-input:focus,.support-form-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-lightest, #ede9ff)}.support-form-textarea{resize:vertical;min-height:100px;max-height:200px}.support-form-char-count{display:block;text-align:right;font-size:11px;color:var(--text-secondary);margin-top:4px}.support-form-submit{width:100%;padding:12px;background:var(--primary-color);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s ease,opacity .15s ease;margin-top:4px}.support-form-submit:hover:not(:disabled){background:var(--primary-dark, #5a40d4)}.support-form-submit:disabled{opacity:.6;cursor:not-allowed}.support-form-success{display:none;background:#d1fae5;color:#065f46;border:1.5px solid #6ee7b7;border-radius:8px;padding:12px 16px;font-size:14px;margin-top:12px;text-align:center}.support-form-error{display:none;background:#ffe5e5;color:#991b1b;border:1.5px solid #fca5a5;border-radius:8px;padding:12px 16px;font-size:13px;margin-top:12px}.saved-link-support-trigger{display:block;text-align:center;margin-top:12px;font-size:12px;color:var(--text-secondary)}.saved-link-support-trigger a{color:var(--primary-color);text-decoration:none;cursor:pointer}.saved-link-support-trigger a:hover{text-decoration:underline}.mobile-fab-container{display:none;position:fixed;bottom:20px;right:20px;z-index:1000;flex-direction:column;gap:12px}.mobile-fab-btn{width:56px;height:56px;border-radius:50%;background:var(--gradient-primary);color:var(--text-inverse);border:none;font-size:24px;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:all .3s ease;display:flex;align-items:center;justify-content:center;position:relative}.mobile-fab-btn:active{transform:scale(.95)}.mobile-fab-btn:before{content:attr(data-label);position:absolute;right:64px;background:#000c;color:var(--text-inverse);padding:6px 12px;border-radius:4px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease}.mobile-fab-btn:hover:before{opacity:1}.mobile-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:2000;animation:fadeIn .3s ease}.mobile-modal-content{position:absolute;bottom:0;left:0;width:100%;max-height:85vh;background:#fff;border-radius:16px 16px 0 0;animation:slideUp .3s ease;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}.mobile-modal-header{position:relative;background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-lighter) 100%);color:var(--primary-darker);padding:16px 20px;display:flex;justify-content:flex-start;align-items:center;border-radius:16px 16px 0 0;z-index:10;box-shadow:0 2px 8px #0000001a;flex-shrink:0}.mobile-modal-title{font-size:18px;font-weight:600;margin:0;padding-right:40px}.mobile-modal-close{background:#ffffffe6;border:1px solid rgba(0,0,0,.1);color:var(--primary-darker);font-size:20px;width:28px;height:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:absolute;top:50%;right:16px;transform:translateY(-50%);box-shadow:0 2px 4px #0000001a;padding:0;line-height:1}.mobile-modal-close:active{background:#fff;transform:translateY(-50%) scale(.95);box-shadow:0 1px 2px #00000026}.mobile-modal-body{padding:16px;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0}body.modal-open{overflow:hidden!important;position:fixed!important;width:100%!important;height:100%!important}.mobile-modal.active{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden}.mobile-modal-body>*,.mobile-modal-body .controls,.mobile-modal-body .customization-sidebar,.mobile-modal-body #templateLibraryPanel{display:block!important;visibility:visible!important}.mobile-modal-body *{visibility:visible!important}[data-theme=dark] .mobile-modal{background:#090d1bd9}[data-theme=dark] .mobile-modal-content{background:var(--bg-primary);border:1px solid var(--border-default);box-shadow:0 -20px 45px #020617bf}[data-theme=dark] .mobile-modal-header{background:linear-gradient(135deg,var(--primary-gradient-start),var(--primary-gradient-end));color:var(--text-inverse);box-shadow:var(--shadow-lg)}[data-theme=dark] .mobile-modal-title{color:var(--text-inverse)}[data-theme=dark] .mobile-modal-close{background:var(--bg-secondary);border:1px solid var(--border-medium);color:var(--text-primary);box-shadow:var(--shadow-sm)}[data-theme=dark] .mobile-modal-close:hover{background:var(--bg-hover);color:var(--text-inverse)}[data-theme=dark] .mobile-modal-body{background:var(--bg-primary);color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (max-width: 1023px) and (min-width: 768px){.header{padding:20px 16px;gap:16px}h1{font-size:1.6em}.theme-dropdown-menu{min-width:180px}.tap-to-add-prompt,.mobile-optimize-buttons,.mobile-fab-container{display:none!important}.container{padding:0 16px 24px;gap:16px;width:100%;max-width:100vw;box-sizing:border-box;overflow:hidden!important;flex-direction:column;align-items:stretch}.left-column{flex:none;gap:12px;display:contents;width:100%}.template-library-container{order:1;width:100%;max-width:100%;margin:0 auto 12px;box-sizing:border-box;border-radius:18px;box-shadow:var(--shadow-lg);overflow-x:hidden}.crossword-area{order:2;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}.controls{order:3;width:100%;margin-top:12px;margin-bottom:0;box-sizing:border-box;max-width:100%;overflow-x:hidden}.container .customization-sidebar,.customization-sidebar{position:fixed!important;top:0!important;right:-280px!important;width:250px!important;height:100vh!important;background:var(--bg-primary)!important;box-shadow:-4px 0 20px #00000026!important;z-index:2001!important;transition:right .3s ease!important;overflow-y:auto!important;padding:20px 15px!important;border-radius:0!important;border-left:1px solid var(--border-light)!important;margin:0!important;flex:none!important;display:block!important}.customization-sidebar.drawer-open{right:0!important}.drawer-toggle-btn{display:flex!important;position:fixed!important;top:50%!important;right:0!important;width:52px!important;min-height:120px!important;padding:14px 10px!important;background:var(--primary-color)!important;color:var(--text-inverse)!important;border:2px solid var(--primary-lightest)!important;border-right:none!important;border-radius:18px 0 0 18px!important;cursor:pointer!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:0!important;z-index:2000!important;box-shadow:-6px 6px 18px #00000040!important;transition:transform .25s ease,box-shadow .25s ease!important;animation:drawerAttention 2.4s ease-in-out infinite!important;transform:translateY(-50%)}.drawer-toggle-btn:after{content:"◀";position:absolute;top:50%;left:-18px;width:32px;height:32px;border-radius:50%;background:var(--bg-primary);color:var(--primary-color);font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:-4px 4px 10px #0003;transform:translateY(-50%);pointer-events:none;animation:drawerArrow 1.8s ease-in-out infinite}.drawer-toggle-btn:hover{background:var(--primary-darker)!important;box-shadow:-10px 10px 24px #0000004d!important;transform:translate(-6px,-50%)!important}.drawer-toggle-btn:active{transform:translate(-3px,-50%) scale(.99)!important;box-shadow:-6px 6px 18px #00000040!important}.drawer-toggle-btn .drawer-icon{font-size:28px;line-height:1}@keyframes drawerAttention{0%,to{box-shadow:-6px 6px 18px #00000040;filter:brightness(1)}50%{box-shadow:-12px 12px 28px #00000059;filter:brightness(1.1)}}@keyframes drawerArrow{0%,to{transform:translate(-4px,-50%)}50%{transform:translate(-10px,-50%)}}.drawer-overlay{display:none!important;position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:#00000080!important;z-index:1998!important;opacity:0!important;transition:opacity .3s ease!important}.drawer-overlay.active{display:block!important;opacity:1!important}.controls{padding:14px;margin-bottom:0}.controls h3{font-size:16px;margin-bottom:10px}.crossword-area{padding:14px;flex:1;min-width:0;width:100%;max-width:100%;overflow-x:hidden}.crossword-title-input{font-size:1.2em;padding:8px 10px}#crosswordGrid{width:100%;max-width:100%;overflow-x:hidden;margin:0 auto;box-sizing:border-box}.grid-cell{width:calc((100vw - 112px) / var(--grid-cols, 15))!important;height:calc((100vw - 112px) / var(--grid-cols, 15))!important;max-width:34px!important;max-height:34px!important;min-width:14px!important;min-height:14px!important}.grid-cell .number{font-size:7px;top:.5px;left:1.5px}input,textarea{padding:8px;font-size:14px}label{font-size:13px;margin-bottom:4px}button{padding:8px 14px;font-size:14px}.words-list{max-height:400px}.word-item{padding:8px;margin-bottom:8px}.word-item .question{font-size:13px;padding-right:70px}.word-item .answer{font-size:12px}.word-item .position{font-size:11px}.word-item-actions button{padding:4px 8px;font-size:11px}.dropdown-toggle{padding:10px 18px;font-size:14px}.dropdown-menu{min-width:220px}.dropdown-item{padding:10px 14px;font-size:14px}}@media (max-width: 1439px) and (min-width: 1024px){.container{max-width:100%;padding:0 16px 20px;gap:16px;overflow:hidden!important}.left-column{flex:0 0 360px}.controls{padding:16px;margin-bottom:0}.crossword-area{padding:16px;flex:1;min-width:0}#crosswordGrid{width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}.grid-cell{width:calc((100vw - 492px) / var(--grid-cols, 15))!important;height:calc((100vw - 492px) / var(--grid-cols, 15))!important;max-width:38px!important;max-height:38px!important;min-width:14px!important;min-height:14px!important}.grid-cell .number{font-size:7px;top:.5px;left:1.5px}.container .customization-sidebar,.customization-sidebar{position:fixed!important;top:0!important;right:-280px!important;width:250px!important;height:100vh!important;background:var(--bg-primary)!important;box-shadow:-4px 0 20px #00000026!important;z-index:2001!important;transition:right .3s ease!important;overflow-y:auto!important;padding:20px 15px!important;border-radius:0!important;border-left:1px solid var(--border-light)!important;margin:0!important;flex:none!important;display:block!important}.customization-sidebar.drawer-open{right:0!important}.drawer-toggle-btn{display:flex!important;position:fixed!important;top:50%!important;right:0!important;width:52px!important;min-height:120px!important;padding:14px 10px!important;background:var(--primary-color)!important;color:var(--text-inverse)!important;border:2px solid var(--primary-lightest)!important;border-right:none!important;border-radius:18px 0 0 18px!important;cursor:pointer!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:0!important;z-index:2000!important;box-shadow:-6px 6px 18px #00000040!important;transition:transform .25s ease,box-shadow .25s ease!important;animation:drawerAttention 2.4s ease-in-out infinite!important;transform:translateY(-50%)}.drawer-toggle-btn:after{content:"◀";position:absolute;top:50%;left:-18px;width:32px;height:32px;border-radius:50%;background:var(--bg-primary);color:var(--primary-color);font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:-4px 4px 10px #0003;transform:translateY(-50%);pointer-events:none;animation:drawerArrow 1.8s ease-in-out infinite}.drawer-toggle-btn:hover{background:var(--primary-darker)!important;box-shadow:-10px 10px 24px #0000004d!important;transform:translate(-6px,-50%)!important}.drawer-toggle-btn:active{transform:translate(-3px,-50%) scale(.99)!important;box-shadow:-6px 6px 18px #00000040!important}.drawer-toggle-btn .drawer-icon{font-size:28px;line-height:1}@keyframes drawerAttention{0%,to{box-shadow:-6px 6px 18px #00000040;filter:brightness(1)}50%{box-shadow:-12px 12px 28px #00000059;filter:brightness(1.1)}}@keyframes drawerArrow{0%,to{transform:translate(-4px,-50%)}50%{transform:translate(-10px,-50%)}}.drawer-overlay{display:none!important;position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:#00000080!important;z-index:1998!important;opacity:0!important;transition:opacity .3s ease!important}.drawer-overlay.active{display:block!important;opacity:1!important}h1{font-size:1.8em}.controls h3{font-size:17px}}@media (max-width: 767px){.btn-icon{display:none}html,body{overflow-x:hidden;max-width:100vw}body{width:100%}.tap-to-add-prompt{display:block!important}.header{justify-content:center;position:relative;padding:16px 12px;margin-bottom:16px}h1{font-size:1.4em;text-align:center;flex:1}.header-controls{position:absolute;top:12px;right:12px;display:flex;flex-direction:row;gap:8px}.theme-switcher-dropdown{position:relative;top:auto;right:auto;margin-left:0}.mode-toggle-btn,.theme-dropdown-toggle{width:32px;height:32px;font-size:15px}.theme-dropdown-menu{right:0;min-width:180px}.theme-option{font-size:13px;padding:8px 10px}.theme-color-preview{width:20px;height:20px}.container{flex-direction:column;padding:0 4px 80px;gap:16px;width:100%;max-width:100vw;box-sizing:border-box}.left-column{display:none}.customization-sidebar{display:none!important}.mobile-fab-container{display:flex}.crossword-area{width:100%;max-width:100vw;padding:12px;order:1;box-sizing:border-box;overflow:hidden}.crossword-header{flex-direction:column;gap:10px;margin-bottom:12px;position:relative}.crossword-title-input{font-size:1.2em;padding:10px 45px 10px 10px;width:100%}.template-buttons{position:absolute;top:8px;right:8px;width:auto;margin:0}.close-template-btn{width:44px!important;height:44px!important;min-width:44px!important}#crossword{width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box;display:flex;justify-content:center}#crosswordGrid{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden;display:flex;justify-content:center}.crossword-grid{display:inline-block;width:100%;max-width:100%}.grid-row{display:flex;width:100%}.grid-cell{width:calc((100vw - 48px) / var(--grid-cols, 15))!important;height:calc((100vw - 48px) / var(--grid-cols, 15))!important;max-width:none!important;max-height:none!important;min-width:10px!important;min-height:10px!important;border-width:.5px!important}.grid-cell .number{top:.5px!important;left:1px!important}.tap-to-add-prompt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;cursor:pointer;pointer-events:auto;opacity:0;visibility:hidden;transition:all .3s ease}.tap-to-add-prompt.show{opacity:1;visibility:visible}.tap-to-add-content{background:#0009;color:var(--text-inverse);padding:16px 20px;border-radius:12px;text-align:center;box-shadow:0 4px 16px #0000001a;border:1px solid rgba(0,0,0,.1);transition:all .3s ease}.tap-to-add-content:active{transform:scale(.96);background:#fffffff2}.tap-text{font-size:14px;font-weight:500;color:var(--text-inverse);line-height:1.3;margin-bottom:4px}.tap-subtext{font-size:12px;font-weight:400;color:var(--text-muted);opacity:.8}#crosswordGrid.tap-enabled{cursor:pointer}#crosswordGrid.tap-enabled .crossword-grid{transition:transform .2s ease,opacity .2s ease}#crosswordGrid.tap-enabled:active .crossword-grid{transform:scale(.98);opacity:.8}.mobile-optimize-buttons{position:absolute;left:0;right:0;bottom:0;margin:0 auto;display:none;flex-direction:row;gap:16px;z-index:150;justify-content:center;padding-bottom:8px;pointer-events:none}.mobile-optimize-buttons.show{display:flex;pointer-events:auto}.mobile-optimize-btn{width:52px;height:52px;border-radius:50%;border:none;font-size:22px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:all .3s ease;display:flex;align-items:center;justify-content:center;margin:0 2px;opacity:.85}.mobile-optimize-btn:active{transform:scale(.95)}.mobile-optimize-btn.keep-btn{background:var(--success-color);color:var(--text-inverse)}.mobile-optimize-btn.keep-btn:hover{background:var(--success-darker)}.mobile-optimize-btn.undo-btn{background:var(--danger-color, #e53935)!important;color:var(--text-inverse)!important;font-size:1.3em;padding:0;box-shadow:0 4px 16px #e539352e}.mobile-optimize-btn.undo-btn:hover{background:#5a6268}#mobileWordsContent .word-item.edit-mode{border-left:4px solid var(--warning-color);background-color:var(--warning-lighter);box-shadow:0 2px 8px var(--warning-shadow)}#mobileWordsContent #wordForm[data-edit-index]{border:3px solid var(--warning-color);border-radius:8px;background:linear-gradient(135deg,var(--warning-light) 0%,var(--warning-lighter) 100%);padding:42px 16px 16px!important;margin:8px 0 16px!important;box-shadow:0 4px 15px var(--warning-shadow);position:relative}#mobileWordsContent #wordForm[data-edit-index]:before{content:"✏️ Editing Word";position:absolute;top:8px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--warning-color) 0%,var(--warning-hover) 100%);color:var(--text-inverse);padding:5px 18px;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.5px;box-shadow:0 2px 8px var(--warning-shadow);z-index:10;white-space:nowrap}#mobileWordsContent #addWordSection h3{display:block}#mobileWordsContent #addWordSection:has(#wordForm[data-edit-index]) h3{display:none!important}#mobileWordsContent #cancelEdit{background:var(--bg-secondary)!important;color:var(--text-secondary)!important;border:2px solid var(--border-default)!important;margin-top:8px}#mobileWordsContent #cancelEdit:hover{background:var(--bg-hover)!important;border-color:var(--border-medium)!important}.word-list{padding:12px}.word-item{padding:10px;font-size:14px}.word-number{font-size:14px;min-width:28px;height:28px}.word-actions{gap:6px}.word-action-btn{padding:6px 10px;font-size:11px}.edit-btn,.delete-btn{padding:6px}.edit-btn svg,.delete-btn svg{width:22px;height:22px}.mobile-modal.active{display:block}.mobile-modal-body .mobile-controls{display:block!important;width:100%;overflow-x:hidden;padding:0!important;margin:0!important;box-shadow:none!important}.mobile-modal-body .mobile-controls button{cursor:pointer;pointer-events:auto;max-width:100%;box-sizing:border-box}.mobile-modal-body .mobile-controls #wordForm{width:100%;overflow-x:hidden;box-sizing:border-box}.mobile-modal-body .mobile-controls textarea,.mobile-modal-body .mobile-controls input[type=text],.mobile-modal-body .mobile-controls input[type=radio],.mobile-modal-body .mobile-controls select{width:100%;max-width:100%;box-sizing:border-box}.mobile-modal-body .mobile-controls .form-group,.mobile-modal-body .mobile-controls .grid-mode-toggle,.mobile-modal-body .mobile-controls #addWordSection{max-width:100%;box-sizing:border-box}.mobile-modal-body .words-list{max-height:none;overflow-y:visible;overflow-x:hidden;box-sizing:border-box}.mobile-modal-body #wordsList{box-sizing:border-box}.mobile-modal-body #templateLibraryPanel-mobile{display:block!important;width:100%;overflow-x:hidden}.mobile-modal-body .template-categories-wrapper{overflow-x:hidden}.mobile-modal-body .template-card{max-width:100%;box-sizing:border-box}}@media (max-width: 479px){h1{font-size:1.2em}.theme-dropdown-toggle{width:30px;height:30px;font-size:14px}.crossword-title-input{font-size:1.1em;padding:8px}.grid-cell{width:calc((100vw - 40px) / var(--grid-cols, 15))!important;height:calc((100vw - 40px) / var(--grid-cols, 15))!important;max-width:none!important;max-height:none!important;min-width:8px!important;min-height:8px!important}.mobile-fab-btn{width:48px;height:48px;font-size:20px}.mobile-fab-container{bottom:16px;right:16px;gap:10px}.crossword-area{padding:10px}}@media (max-width: 1023px) and (min-width: 768px){.create-new-crossword-container{padding:16px;margin-bottom:0}.create-new-crossword-toggle{padding:10px 14px;font-size:14px}.create-new-crossword-toggle .menu-icon{color:var(--primary-color);font-weight:700}[data-theme=dark] .create-new-crossword-toggle .menu-icon{color:var(--primary-light)}.template-library-container{font-size:13px;padding:14px;width:100%;max-width:100%;box-shadow:var(--shadow-lg);border-radius:18px}.template-library-toggle{padding:10px 14px;font-size:14px}.template-toggle-arrow{font-size:12px}.template-search{padding:10px}.template-search input{padding:8px 10px;font-size:13px}.template-categories-wrapper{padding:10px}.template-categories{gap:6px}.category-tab{padding:6px 12px;font-size:12px}.template-list{padding:10px;max-height:350px}.template-card{padding:10px;margin-bottom:8px}.template-name{font-size:13px;margin-bottom:4px}.template-meta{font-size:11px;margin-bottom:8px}.template-actions{gap:6px}.template-action-btn{padding:6px 10px;font-size:11px}.template-empty-state{padding:24px;font-size:13px}}@media (max-width: 1439px) and (min-width: 1024px){.create-new-crossword-container{padding:16px}.create-new-crossword-toggle{padding:12px 16px;font-size:14px}.create-new-crossword-toggle .menu-icon{color:var(--primary-color);font-weight:700}[data-theme=dark] .create-new-crossword-toggle .menu-icon{color:var(--primary-light)}.template-library-container{padding:16px}.template-card{padding:12px}}@media (max-width: 767px){.create-new-crossword-container{display:none!important}.template-library-panel{max-height:none!important;padding:0!important}.template-library-toggle{display:none}.template-library{padding:0;border-radius:0;box-shadow:none}.template-search{padding:16px;background:var(--bg-secondary)}.template-search input{font-size:15px;padding:12px}.template-categories-wrapper{padding:12px 16px;background:var(--bg-secondary)}.template-categories{gap:6px;flex-wrap:wrap}.category-tab{font-size:12px;padding:8px 12px;flex:0 0 auto}.template-list{padding:12px;max-height:none}.template-card{padding:12px;margin-bottom:10px}.template-name{font-size:14px}.template-meta{font-size:11px}.template-actions{gap:6px}.template-action-btn{padding:8px 12px;font-size:12px}.template-empty-state{padding:30px 20px;font-size:13px}}@media (max-width: 479px){.template-search input{font-size:14px;padding:10px}.category-tab{font-size:11px;padding:6px 10px}.template-card{padding:10px}.template-name{font-size:13px}.template-meta{font-size:10px}.template-action-btn{padding:6px 10px;font-size:11px}}@media (max-width: 1023px) and (min-width: 768px){.customization-sidebar{flex:0 0 200px;padding:12px}.customization-sidebar h3{font-size:14px;margin-bottom:10px}.color-option{margin-bottom:14px}.color-option label{font-size:12px;margin-bottom:6px}.color-picker-wrapper{width:100%}.custom-color-display{width:100%;height:30px;font-size:11px}.print-friendly-btn{height:28px;font-size:11px}.custom-colors-toggle-btn{height:28px;font-size:11px;padding:0 8px}.color-presets h4,.bg-presets h4{font-size:13px;margin-bottom:8px}.color-preset-grid,.bg-preset-grid{gap:6px}.color-preset-item,.bg-preset-item{padding:6px;font-size:10px}.color-preset-swatch,.bg-preset-swatch{width:18px;height:18px}.bg-image-section h4{font-size:13px}.bg-browse-btn{padding:8px 10px;font-size:12px}.bg-current-image{max-height:100px}.bg-remove-btn{padding:6px 10px;font-size:11px}.reset-section-btn{height:28px;font-size:11px;padding:0 10px}.color-divider{margin:14px 0}}@media (max-width: 1439px) and (min-width: 1024px){.customization-sidebar{flex:0 0 280px;padding:18px}.customization-sidebar h3{font-size:16px}.color-option label{font-size:13px}.custom-color-display{height:34px}}@media (max-width: 767px){.mobile-colors{display:block!important;padding:0;background:transparent;box-shadow:none;border-radius:0;width:100%}.mobile-colors h3{font-size:16px;padding:16px;background:#f8f9fa;margin:0 0 12px;border-bottom:1px solid #e0e0e0}.mobile-color-toast{position:fixed;top:80px;left:50%;transform:translate(-50%) translateY(-20px);background:linear-gradient(135deg,#667eea,#764ba2);color:var(--text-inverse);padding:12px 20px;border-radius:12px;box-shadow:0 4px 20px #0000004d;z-index:10000;opacity:0;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);pointer-events:none}.mobile-color-toast.show{opacity:1;transform:translate(-50%) translateY(0)}.mobile-color-toast .toast-content{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500}.mobile-color-toast .toast-icon{font-size:18px;animation:checkmark-pop .4s ease-out}@keyframes checkmark-pop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.mobile-color-toast .toast-text{flex:1}.mobile-color-toast .toast-color-preview{width:24px;height:24px;border-radius:6px;border:2px solid white;box-shadow:0 2px 8px #0003}.mobile-colors .print-friendly-btn,.mobile-colors .custom-colors-toggle-btn{width:100%!important;padding:14px 12px;font-size:14px;height:auto;margin:0 0 12px}.mobile-colors .custom-colors-content{padding:0}.mobile-colors .custom-colors-content.expanded{display:grid;grid-template-columns:repeat(2,1fr);column-gap:16px;row-gap:12px;padding:12px 16px!important}.mobile-colors .custom-colors-content .color-option{padding:0;margin-bottom:0}.mobile-colors .custom-colors-content .color-option label{font-size:13px;margin-bottom:6px;display:block;font-weight:600}.mobile-colors .color-picker-wrapper{width:100%}.mobile-colors .custom-color-display{width:85%;height:36px}.mobile-colors .color-divider{margin:16px 0}.mobile-colors .bg-image-section{padding:16px}.mobile-colors .bg-image-section h4{font-size:15px;margin-bottom:12px}.mobile-colors .bg-browse-btn{padding:12px;font-size:14px;width:100%}.mobile-colors .bg-current-image{max-height:150px;width:100%}.mobile-colors .bg-remove-btn{padding:10px 14px;font-size:13px}.mobile-colors .reset-section-btn{margin:0 0 12px;width:100%;font-size:14px;padding:14px 12px;height:auto}.mobile-colors .reset-section-btn:before{font-size:18px}.mobile-colors .color-picker-dropdown{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;right:auto!important;bottom:auto!important;width:60%!important;max-width:320px!important;max-height:70vh!important;overflow-y:auto!important;z-index:10001!important;animation:mobileDropdownFadeIn .2s ease!important;background:#fff!important;border:2px solid #e0e0e0!important;box-shadow:0 8px 24px #00000026!important;padding:0!important}.mobile-colors .color-picker-dropdown .dropdown-close-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;background:#f5f5f5;border:1px solid #e0e0e0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:var(--text-secondary);transition:all .2s ease;z-index:10}.mobile-colors .color-picker-dropdown .dropdown-close-btn:hover{background:#e0e0e0;color:var(--text-primary);transform:scale(1.1)}.mobile-colors .color-picker-dropdown .dropdown-close-btn:active{transform:scale(.95)}.mobile-colors .color-picker-dropdown .color-presets-section{background:#fff!important;padding:15px 15px 0!important;margin:0!important}.mobile-colors .color-picker-dropdown .custom-color-input-wrapper{background:#fff!important;padding:15px!important;margin:0!important}.mobile-colors .color-picker-dropdown .color-presets{background:#fff!important;margin-bottom:0!important}.mobile-colors .color-picker-dropdown.open-upward{animation:mobileDropdownFadeIn .2s ease!important}@keyframes mobileDropdownFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.mobile-colors .color-picker-dropdown.show:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:-1;animation:backdropFadeIn .2s ease}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}}@media (max-width: 479px){.color-customization-section h3{font-size:15px;padding:14px}.color-pickers-grid{padding:12px;gap:10px}.color-picker-item label{font-size:13px}.color-presets,.bg-presets{padding:12px}.color-presets h4,.bg-presets h4{font-size:14px}.color-preset-grid,.bg-preset-grid{gap:8px}.color-preset-item,.bg-preset-item{padding:8px;font-size:12px}.bg-image-selector{padding:12px}.bg-browse-btn{padding:10px;font-size:13px}.mobile-colors .custom-colors-content.expanded{column-gap:12px;row-gap:10px;padding:10px!important}.mobile-colors .color-option label{font-size:12px;margin-bottom:5px}.mobile-colors .custom-color-display{height:34px}}@media (max-width: 1023px) and (min-width: 768px){.modal{padding:20px}.modal-content{max-width:600px;padding:20px}.modal-header h2{font-size:20px}.modal-close{font-size:26px}}@media (max-width: 1439px) and (min-width: 1024px){.modal-content{max-width:600px;padding:24px}.modal h2{font-size:20px}}@media (max-width: 767px){.modal{padding:0;align-items:flex-end}.modal-content{max-width:100%;width:100%;max-height:90vh;border-radius:16px 16px 0 0;margin:0;animation:slideUpModal .3s ease}.modal-header{padding:16px 20px;border-radius:16px 16px 0 0}.modal-header h2{font-size:18px}.modal-close{font-size:24px;width:32px;height:32px}.modal-body{padding:20px;max-height:calc(90vh - 70px);overflow-y:auto}@keyframes slideUpModal{0%{transform:translateY(100%)}to{transform:translateY(0)}}}@media (max-width: 479px){.modal-content{max-height:95vh}.modal-header{padding:14px 16px}.modal-header h2{font-size:16px}.modal-close{font-size:22px;width:28px;height:28px}.modal-body{padding:16px;max-height:calc(95vh - 60px)}}#imageSelectorModal .modal-header{background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-lighter) 100%);color:var(--primary-darker)}#imageSelectorModal .modal-close{color:var(--primary-darker)}#imageSelectorModal .modal-close:hover{background-color:#667eea26}@media (max-width: 1023px) and (min-width: 768px){.upload-image-section{flex-direction:row}.image-gallery-grid{grid-template-columns:repeat(3,1fr);gap:12px}}@media (max-width: 767px){#imageSelectorModal{align-items:center;justify-content:center;padding:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}#imageSelectorModal .modal-content{max-height:84vh;width:calc(100% - 16px);max-width:calc(100% - 16px);margin:8px;border-radius:16px;animation:fadeInModal .3s ease;box-sizing:border-box;overscroll-behavior:contain}#imageSelectorModal .modal-body{max-height:calc(92vh - 60px);padding:12px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.image-gallery{padding:0;max-height:calc(92vh - 220px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.gallery-section{margin-bottom:15px}.gallery-section:last-child{margin-bottom:0}.upload-image-section{gap:0px;padding:6px 8px;margin:0 12px 12px;align-items:stretch}.upload-image-btn{width:100%;padding:8px 12px;font-size:13px;margin:0!important;display:block}.upload-hint{text-align:center;font-size:9px;margin:0!important;padding:0!important;line-height:1!important;display:block}#imageSelectorModal .modal-header{border-radius:16px 16px 0 0}@keyframes fadeInModal{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.image-gallery-grid{grid-template-columns:repeat(3,1fr);gap:8px}.image-card{border-width:2px;aspect-ratio:3 / 4}.image-card img{width:100%;height:100%;object-fit:cover}.image-name{display:none}}@media (max-width: 479px){#imageSelectorModal{padding:0;overscroll-behavior:contain}#imageSelectorModal .modal-content{max-height:84vh;width:calc(100% - 12px);max-width:calc(100% - 12px);margin:8px;overscroll-behavior:contain}#imageSelectorModal .modal-body{max-height:calc(94vh - 55px);padding:8px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.image-gallery{padding:0;max-height:calc(92vh - 220px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.upload-image-section{padding:5px 6px;margin:0 0 10px;gap:0px;align-items:stretch}.upload-image-btn{padding:7px 0;font-size:12px;margin:0!important;display:block}.upload-hint{font-size:8px;margin:0!important;padding:0!important;line-height:1!important;display:block}.image-gallery-grid{width:100%;grid-template-columns:repeat(3,1fr);gap:6px}.image-card{aspect-ratio:3 / 4}.image-card img{width:100%;height:100%;object-fit:cover}.image-name{display:none}}@media (max-width: 1023px) and (min-width: 768px){.payment-modal-content{max-width:500px;width:85%}.payment-modal-title{font-size:22px}.payment-modal-icon{font-size:28px}.payment-benefits h3{font-size:17px}.payment-price-amount{font-size:28px}.payment-btn{padding:14px 20px;font-size:17px}.quick-actions-grid{grid-template-columns:repeat(2,1fr);gap:10px}}@media (max-width: 767px){.payment-modal-content{max-width:100%;width:95%;max-height:95vh;border-radius:8px}.payment-modal-header{padding:20px 20px 14px}.payment-modal-title{font-size:20px}.payment-modal-icon{font-size:24px}.payment-modal-close{font-size:28px;top:12px;right:12px}.payment-modal-main{padding:20px}.payment-description{font-size:15px;margin-bottom:20px}.payment-benefits{padding:16px;margin-bottom:16px}.payment-benefits h3{font-size:16px;margin-bottom:10px}.payment-benefits li{padding:6px 0;font-size:14px}.payment-link-warning{font-size:13px;padding:12px 14px;margin-bottom:16px}.payment-price{flex-direction:column!important;align-items:center;text-align:center;padding:14px 16px;gap:8px}.payment-price-label{font-size:15px}.payment-price-amount{font-size:28px}.payment-modal-footer{padding:16px 20px 20px;gap:10px}.payment-btn{padding:14px 20px;font-size:16px}.purchase-success{padding:30px 20px}.success-icon{font-size:56px;margin-bottom:14px}.purchase-success h2{font-size:24px;margin-bottom:10px}.purchase-success>p{font-size:15px;margin-bottom:20px}.success-details{padding:14px;margin-bottom:20px}.success-details p{font-size:13px;margin:6px 0}.success-hint{font-size:12px!important}.success-actions h3{font-size:16px;margin-bottom:14px}.quick-actions-grid{grid-template-columns:1fr;gap:10px}.quick-action-btn{padding:12px 14px;font-size:14px}.purchase-success .modal-button{padding:12px 20px;font-size:15px}}@media (max-width: 479px){.payment-modal-content{width:98%}.payment-modal-title{font-size:18px}.payment-modal-icon{font-size:22px}.payment-benefits h3{font-size:15px}.payment-benefits li{font-size:13px}.payment-price-amount{font-size:24px}.payment-btn{padding:12px 16px;font-size:15px}.success-icon{font-size:48px}.purchase-success h2{font-size:20px}.quick-action-btn{padding:10px 12px;font-size:13px}}@media (max-width: 1023px) and (min-width: 768px){.purchased-banner{padding:18px 20px}body.layout-constrained .purchased-banner{padding-left:20px;padding-right:20px}.purchased-banner-content{gap:16px}.purchased-banner-title{font-size:16px}.purchased-banner-message{font-size:13px}.purchased-banner-actions{min-width:160px}.create-new-btn,.login-cta-btn{padding:10px 16px!important;font-size:13px!important}body.purchased-state .crossword-area,body.purchased-state #cluesSection{max-width:100%}}@media (max-width: 767px){.purchased-banner{padding:16px;margin-bottom:16px}body.layout-constrained .purchased-banner{padding-left:20px;padding-right:20px}.purchased-banner-content{flex-direction:column!important;gap:16px}.purchased-banner-text{text-align:center}.purchased-banner-title{font-size:16px;justify-content:center;flex-wrap:wrap}.purchased-badge{font-size:11px;padding:3px 10px}.purchased-banner-message{font-size:13px}.purchased-banner-actions{width:100%;min-width:unset}.create-new-btn,.login-cta-btn{width:100%;padding:12px 16px!important}body.purchased-state .left-column{display:none!important}body.purchased-state .crossword-area{max-width:100%;margin:0;border-width:2px;border-radius:8px}body.purchased-state .crossword-title-input{font-size:20px}body.purchased-state #cluesSection{max-width:100%;margin:16px 0 0}.purchased-watermark{bottom:6px;right:6px;padding:4px 10px;font-size:9px}}@media (max-width: 479px){.purchased-banner{padding:14px}body.layout-constrained .purchased-banner{padding-left:20px;padding-right:20px}.purchased-banner-title{font-size:15px}.purchased-banner-message{font-size:12px}.purchased-badge{font-size:10px;padding:2px 8px}.create-new-btn,.login-cta-btn{font-size:13px!important;padding:10px 14px!important}body.purchased-state .crossword-title-input{font-size:18px}.purchased-watermark{font-size:8px;padding:3px 8px}}@media (max-width: 1023px) and (min-width: 768px){.save-complete-btn{width:50%}.export-share-buttons{gap:10px;margin:16px 0}.export-share-btn{padding:10px 20px;font-size:15px;min-width:120px}.export-menu{min-width:180px}.export-menu-item{padding:10px 14px;font-size:13px}}@media (max-width: 1439px) and (min-width: 1024px){.export-share-buttons{gap:12px}.export-share-btn{padding:12px 24px;font-size:15px}}@media (max-width: 767px){.export-share-buttons{flex-direction:column;gap:12px;margin:16px 0;padding:0 16px}.export-share-btn{width:100%;max-width:300px;padding:14px 20px;font-size:16px;min-width:unset}.export-menu{position:fixed!important;bottom:0!important;left:0!important;right:0!important;top:auto!important;border-radius:16px 16px 0 0;min-width:unset;max-width:100%;padding:16px}.export-menu-item{padding:16px 20px;font-size:16px;margin-bottom:8px}.export-menu-item:last-child{margin-bottom:0}}@media (max-width: 479px){.export-share-btn{padding:12px 16px;font-size:15px}}@media (max-width: 767px){.save-confirmation-content{margin:20px;padding:24px;width:95%;max-width:none}.save-confirmation-content h3{font-size:20px}.save-confirmation-content p{font-size:14px}.save-confirmation-actions{flex-direction:column;gap:8px}.save-confirmation-btn{width:100%;padding:14px 20px}.save-complete-btn{font-size:16px;padding:12px 24px;min-width:180px}}@media (max-width: 479px){.save-confirmation-content{padding:20px}.save-confirmation-content h3{font-size:18px}.save-complete-btn{font-size:15px;padding:10px 20px;min-width:160px}}@media (max-width: 1023px) and (min-width: 768px){.export-preview-content{padding:28px 28px 24px;max-width:680px}.export-preview-images{grid-template-columns:repeat(2,1fr)!important}}@media (max-width: 767px){.export-preview-modal{padding:16px 12px 32px;align-items:flex-start}.export-preview-content{padding:20px 16px;border-radius:12px;gap:16px}.export-preview-title{font-size:18px}.export-preview-images{grid-template-columns:1fr!important}.export-preview-img-wrapper{height:140px!important}.export-preview-actions{flex-direction:column-reverse!important;gap:8px}.export-preview-btn{width:100%;padding:14px 20px}}@media (max-width: 479px){.export-preview-img-wrapper{height:120px!important}}@media (max-width: 1023px) and (min-width: 768px){.modal-content{max-width:440px;border-radius:12px}.modal-header{padding:16px 22px}.modal-title{font-size:1.1rem}.modal-icon{font-size:1.4rem}.modal-body{padding:18px 22px}.modal-footer{padding:14px 22px 18px}}@media (max-width: 767px){.modal-content{max-width:calc(100% - 32px);width:calc(100% - 32px);margin:16px;border-radius:10px}.modal-header{padding:16px 20px;gap:10px}.modal-icon{font-size:1.35rem}.modal-title{font-size:1.05rem}.modal-close-btn{width:26px;height:26px;font-size:1.2rem;top:13px;right:16px}.modal-body{padding:18px 20px}.modal-body p{font-size:14px;line-height:1.55}.modal-footer{padding:14px 20px 18px;gap:8px}.modal-button{padding:11px 24px;font-size:13px;width:auto}}@media (max-width: 479px){.modal-content{max-width:calc(100% - 24px);width:calc(100% - 24px);margin:12px;border-radius:10px}.modal-header{padding:14px 18px;gap:10px}.modal-icon{font-size:1.3rem}.modal-title{font-size:1rem}.modal-close-btn{width:24px;height:24px;font-size:1.1rem;top:12px;right:14px}.modal-body{padding:16px 18px}.modal-body p{font-size:13px;line-height:1.5}.modal-footer{padding:12px 18px 16px;gap:8px;flex-direction:column}.modal-button{width:100%;padding:11px 24px;font-size:13px;border-radius:18px}}@media (max-width: 1023px) and (min-width: 768px){.loading-spinner{padding:35px 50px}.spinner-ring{width:70px;height:70px}.spinner-ring:nth-child(2){width:52px;height:52px}.spinner-ring:nth-child(3){width:35px;height:35px}.loading-text{margin-top:90px;font-size:15px}}@media (max-width: 767px){.loading-spinner{padding:30px 40px;border-radius:12px;max-width:90%}.spinner-ring{width:60px;height:60px;border-width:3px}.spinner-ring:nth-child(2){width:45px;height:45px;border-width:3px}.spinner-ring:nth-child(3){width:30px;height:30px;border-width:3px}.loading-text{margin-top:75px;font-size:14px}}@media (max-width: 479px){.loading-spinner{padding:25px 35px}.spinner-ring{width:50px;height:50px;border-width:2.5px}.spinner-ring:nth-child(2){width:38px;height:38px;border-width:2.5px}.spinner-ring:nth-child(3){width:26px;height:26px;border-width:2.5px}.loading-text{margin-top:65px;font-size:13px}}@media (max-width: 1023px) and (min-width: 768px){.hints-controls{gap:10px;padding:8px}.hint-option{font-size:13px}}@media (max-width: 767px){.hints-controls{flex-wrap:wrap;gap:8px 12px;padding:8px}.hint-option{font-size:13px}}@media (max-width: 479px){.hints-controls{gap:6px 10px}.hints-controls .hints-label{width:100%}}@media (max-width: 1023px) and (min-width: 768px){.grid-clues-split .clues-pane{max-height:none;height:auto}.grid-clues-split .clues-pane .clues{grid-template-columns:1fr;gap:16px}}@media (max-width: 767px){.grid-clues-split .clues-pane{max-height:none;height:auto}.grid-clues-split .clues-pane .clues{grid-template-columns:1fr;gap:16px}}@media (max-width: 1023px) and (min-width: 768px){.solve-mode-active .grid-cell{width:calc((100vw - 524px) / var(--grid-cols, 15))!important;height:calc((100vw - 524px) / var(--grid-cols, 15))!important;max-width:28px!important;max-height:28px!important;min-width:12px!important;min-height:12px!important}.solve-mode-active .grid-cell .cell-input{font-size:1.05em}.solve-mode-active .grid-cell:has(.cell-input:focus) .number{color:var(--text-inverse)!important;z-index:20!important;pointer-events:none!important}.solve-mode-banner{padding:10px 12px}.solve-mode-banner h2{font-size:16px}.solve-back-btn{padding:6px 12px;font-size:13px}.solve-mode-active .solve-clues-pane{flex-basis:240px;max-height:60vh}.solve-mode-active .grid-clues-split{flex-direction:column!important;gap:1.2rem}.solve-mode-active .grid-clues-split .clues-pane{order:2;flex:none;max-height:none;overflow-y:visible}.solve-mode-active .grid-clues-split .clues-pane .clues{display:grid!important;grid-template-columns:1fr 1fr;gap:20px}.solve-mode-active .grid-clues-split .grid-pane{order:1;flex:none}.solve-action-btn{padding:6px 10px;font-size:12px}.clue-item{padding:8px 10px;font-size:13px}.clue-number{font-size:12px;min-width:24px}.clue-text{font-size:13px}.solve-action-bar{gap:8px}.solve-timer-display{font-size:.95em}.solve-mode-badge-inline{font-size:.52em}.solve-header-title{font-size:1.1em}}@media (max-width: 767px){.solve-action-bar{flex-direction:column!important;align-items:flex-start;gap:8px}.solve-action-bar .solve-actions{width:100%;justify-content:flex-start}.solve-timer{width:100%;padding-left:10px;border-left:none;border-top:1px solid var(--border-default);padding-top:8px;justify-content:flex-start;border-radius:8px}.solve-mode-header-title{min-width:0;max-width:calc(100vw - 180px)}.solve-header-title{font-size:.85em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.solve-mode-badge-inline{display:none}.solve-hints-toggle{font-size:.95em;padding:10px 12px}.hints-checkboxes{flex-direction:column;gap:12px}.hints-checkboxes .hint-option{font-size:.95em}.solve-mode-active .grid-cell.filled:not(.live-check-correct):not(.live-check-incorrect) .cell-input{font-size:1.1em!important;opacity:1!important;color:var(--grid-text-color)!important;background:transparent!important;z-index:10!important;pointer-events:auto!important;caret-color:var(--primary-color)!important;-webkit-text-fill-color:var(--grid-text-color)!important;-webkit-opacity:1!important;text-shadow:none!important;font-weight:700!important;line-height:normal!important;padding:0!important;margin:0!important}.solve-mode-active .grid-cell.filled{position:relative!important;overflow:visible!important}.solve-mode-active .grid-cell:not(.live-check-correct):not(.live-check-incorrect) .cell-input:focus{background:var(--primary-color)!important;color:var(--text-inverse)!important;font-weight:700!important;border-radius:0}.solve-mode-active .grid-cell.live-check-correct .cell-input{color:#2e7d32!important;-webkit-text-fill-color:#2e7d32!important;background:transparent!important;font-weight:700!important;opacity:1!important;-webkit-opacity:1!important}.solve-mode-active .grid-cell.live-check-correct .cell-input:focus{color:#2e7d32!important;-webkit-text-fill-color:#2e7d32!important;background:#e8f5e9!important;font-weight:700!important}.solve-mode-active .grid-cell.live-check-incorrect .cell-input{color:#c62828!important;-webkit-text-fill-color:#c62828!important;background:transparent!important;font-weight:700!important;opacity:1!important;-webkit-opacity:1!important}.solve-mode-active .grid-cell.live-check-incorrect .cell-input:focus{color:#c62828!important;-webkit-text-fill-color:#c62828!important;background:#ffebee!important;font-weight:700!important}.solve-mode-active .grid-cell:has(.cell-input:focus) .number{color:var(--text-inverse)!important;z-index:20!important;pointer-events:none!important}.solve-mode-banner{display:none!important}.solve-mode-active .container{width:100%;max-width:100vw;box-sizing:border-box;overflow-x:hidden;padding-left:4px!important;padding-right:4px!important}.solve-mode-active .crossword-area,.solve-mode-active .grid-pane{width:100%;max-width:100vw;box-sizing:border-box;overflow:hidden}.solve-mode-active .crossword-grid{touch-action:manipulation!important}.solve-mobile-fab{display:flex!important;position:fixed;bottom:20px;right:20px;width:56px;height:56px;border-radius:50%;background:var(--primary-color);opacity:.8;color:var(--text-inverse)!important;border:none;box-shadow:0 4px 12px #0000004d;font-size:24px;cursor:pointer;z-index:1000;align-items:center;justify-content:center;transition:all .3s ease}.solve-mobile-fab:active{transform:scale(.95);box-shadow:0 2px 8px #0003}.solve-mobile-modal{display:block!important;position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -4px 20px #00000026;z-index:1001;transform:translateY(100%);transition:transform .3s ease;max-height:70vh;overflow-y:auto}.solve-mobile-modal.show{transform:translateY(0)}.solve-mobile-modal-header{padding:16px 20px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;z-index:10}.solve-mobile-modal-title{font-size:1.1rem;font-weight:600;color:var(--primary-color)}.solve-mobile-modal-close{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.solve-mobile-modal-content{padding:20px}.solve-mobile-section{margin-bottom:24px}.solve-mobile-section:last-child{margin-bottom:0}.solve-mobile-section-title{font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.solve-mobile-actions{display:flex;flex-direction:column;gap:10px}.solve-mobile-actions button{width:100%;padding:14px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.solve-mobile-hints{display:flex;flex-direction:column;gap:12px}.solve-mobile-hints-buttons{display:flex;gap:10px}.solve-mobile-hints-buttons button{flex:1;padding:12px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer}.solve-mobile-hints-checkboxes{display:flex;flex-direction:column;gap:10px}.solve-mobile-checkbox-label{display:flex;align-items:center;gap:10px;padding:12px;background:var(--bg-primary);border:2px solid var(--primary-lighter);border-radius:8px;cursor:pointer;transition:all .2s ease}.solve-mobile-checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.solve-mobile-checkbox-label:active{background:var(--primary-lightest)}.solve-mobile-overlay{display:block!important;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s ease}.solve-mobile-overlay.show{opacity:1;pointer-events:auto}.solve-mode-active #crosswordGrid{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden;display:flex;justify-content:center}.solve-mode-active .crossword-grid{display:inline-block;width:100%;max-width:100%}.solve-mode-active .grid-row{display:flex;width:100%}.solve-mode-active .grid-cell{width:calc((100vw - 48px) / var(--grid-cols, 15))!important;height:calc((100vw - 48px) / var(--grid-cols, 15))!important;max-width:none!important;max-height:none!important;min-width:10px!important;min-height:10px!important;border-width:.5px!important}.solve-mode-active .grid-cell .number{top:.5px!important;left:1px!important}.solve-mode-active .grid-clues-split{flex-direction:column!important;gap:1rem}.solve-mode-active .grid-clues-split .clues-pane{order:2;flex:none;max-height:none;overflow-y:visible}.solve-mode-active .grid-clues-split .clues-pane .clues{display:flex!important;flex-direction:column!important;gap:16px}.solve-mode-active .grid-clues-split .grid-pane{order:1;flex:none}.solve-action-btn{font-size:.85rem;padding:6px 10px;width:110px;box-sizing:border-box;text-align:center}.solve-back-btn{display:none}.solve-back-btn-mobile{display:inline-flex!important;align-items:center;justify-content:center;width:32px;height:32px;margin-right:12px;background:transparent;border:none;cursor:pointer;padding:0;border-radius:0;box-shadow:none}.solve-back-btn-mobile:hover{background:transparent;transform:none;box-shadow:none}.solve-back-btn-mobile img{width:24px;height:24px;opacity:.7;transition:opacity .2s ease}.solve-back-btn-mobile:hover img{opacity:1}@media (min-width: 768px){.solve-back-btn-mobile{display:none!important}}.solve-crossword-title{margin:8px 0 12px;padding:6px 0}.solve-crossword-title h2{font-size:1.2em}.solve-mode-active .tap-to-solve-prompt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100}.tap-to-solve-content{padding:16px 20px;border-radius:12px}}@media (max-width: 479px){.grid-cell .cell-input{font-size:1.2em}}@media (max-width: 1023px) and (min-width: 768px){#crosswordFontSelect{max-height:200px}.crossword-area .grid-cell{font-size:clamp(8px,var(--crossword-font-size, 14px),16px)!important}.crossword-area .grid-cell .number{font-size:clamp(5px,calc(var(--crossword-font-size, 14px) * .6),9px)!important}}@media (max-width: 1439px) and (min-width: 1024px){.crossword-area .grid-cell{font-size:clamp(10px,var(--crossword-font-size, 16px),18px)!important}.crossword-area .grid-cell .number{font-size:clamp(6px,calc(var(--crossword-font-size, 14px) * .55),8px)!important}}@media (max-width: 767px){#crosswordFontSelect{max-height:160px}.crossword-area .grid-cell{font-size:clamp(6px,var(--crossword-font-size, 14px),14px)!important}.crossword-area .grid-cell .number{font-size:clamp(4px,calc(var(--crossword-font-size, 14px) * .6),8px)!important}.mobile-font-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:10000;opacity:0;transition:opacity .3s ease}.mobile-font-modal.show{opacity:1}.mobile-font-modal-content{background:var(--bg-primary);width:100%;max-height:70vh;border-radius:16px 16px 0 0;box-shadow:0 -4px 20px #00000026;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s ease}.mobile-font-modal.show .mobile-font-modal-content{transform:translateY(0)}.mobile-font-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-default);flex-shrink:0}.mobile-font-modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.mobile-font-modal-header .close-modal-btn{background:none;border:none;font-size:32px;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1}.mobile-font-modal-body{overflow-y:auto;padding:8px 0;flex:1;-webkit-overflow-scrolling:touch}.mobile-font-modal .font-option{padding:16px 20px;border-bottom:1px solid var(--border-light);cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background-color .2s ease;position:relative}.mobile-font-modal .font-option:active{background-color:var(--primary-lightest)}.mobile-font-modal .font-option span:first-child{font-size:16px;color:var(--text-primary);flex:1}.mobile-font-modal .font-option.selected{background-color:var(--primary-lightest)}.mobile-font-modal .font-option .checkmark{color:var(--primary-color);font-size:20px;font-weight:700;margin-left:12px}}@media (max-width: 479px){#crosswordFontSelect{max-height:140px}.crossword-area .grid-cell{font-size:clamp(5px,var(--crossword-font-size, 14px),12px)!important}.crossword-area .grid-cell .number{font-size:clamp(3px,calc(var(--crossword-font-size, 14px) * .5),7px)!important}}@media (max-width: 1023px) and (min-width: 768px){.warning-badge{font-size:.95rem}.clue-item.non-intersecting-clue{padding:6px 10px}.modal-footer{gap:8px}.modal-button{min-width:100px;padding:11px 24px;border-radius:18px}}@media (max-width: 767px){.grid-cell.non-intersecting{box-shadow:0 0 0 1.5px #ff9800 inset!important}.modal-footer{flex-direction:column;gap:10px}.modal-button{width:100%;min-width:unset;padding:8px 4px;border-radius:18px}.modal[data-type=warning] .modal-header{padding:16px 20px}.modal[data-type=warning] .modal-body{padding:20px}.modal[data-type=warning] .modal-footer{padding:14px 20px}.warning-badge{font-size:.9rem;margin-right:4px}.clue-item.non-intersecting-clue{padding:6px 8px;font-size:.95rem;margin:3px 0}.word-item.non-intersecting-word{border-width:1.5px}#nonIntersectingWarningModal .non-intersecting-list{max-height:150px;padding:8px}#nonIntersectingWarningModal .non-intersecting-list-item{padding:6px;flex-wrap:wrap}#nonIntersectingWarningModal .non-intersecting-list-item .word-number{min-width:25px;font-size:.9rem}#nonIntersectingWarningModal .non-intersecting-list-item .word-text{font-size:.9rem}#nonIntersectingWarningModal .non-intersecting-list-item .word-answer{font-size:.85rem}}@media (max-width: 479px){.grid-cell.non-intersecting{box-shadow:0 0 0 1px #ff9800 inset!important}.warning-badge{font-size:.85rem}.clue-item.non-intersecting-clue{padding:5px 6px;font-size:.9rem}#nonIntersectingWarningModal .non-intersecting-list-item{padding:5px}#nonIntersectingWarningModal .non-intersecting-list-item .word-number{min-width:20px;font-size:.85rem}#nonIntersectingWarningModal .non-intersecting-list-item .word-text,#nonIntersectingWarningModal .non-intersecting-list-item .word-answer{font-size:.85rem}}@media (max-width: 1023px) and (min-width: 768px){#wordForm[data-edit-index]:before{font-size:10px;padding:3px 14px}#wordForm[data-edit-index] button[type=submit],#cancelEdit{padding:12px 20px!important;font-size:15px!important}}@media (max-width: 767px){#wordForm[data-edit-index]{padding:15px 12px;margin:-8px -8px 8px}#wordForm[data-edit-index]:before{font-size:9px;padding:3px 12px;top:-10px;letter-spacing:.5px}#wordForm[data-edit-index] button[type=submit]{padding:16px 20px!important;font-size:16px!important;width:100%!important}#cancelEdit{padding:16px 20px!important;font-size:16px!important;width:100%!important;margin-top:10px!important}#wordForm[data-edit-index]{animation:editModeGlowMobile 2s ease-in-out infinite alternate}@keyframes editModeGlowMobile{0%{box-shadow:0 3px 12px #ffc1074d}to{box-shadow:0 4px 16px #ffc10766}}#wordForm[data-edit-index] button[type=submit]{animation:updateButtonPulseMobile 2.5s ease-in-out infinite}@keyframes updateButtonPulseMobile{0%,to{transform:scale(1);box-shadow:0 3px 12px #ff980066}50%{transform:scale(1.01);box-shadow:0 4px 16px #ff980080}}}@media (max-width: 479px){#wordForm[data-edit-index]{padding:12px 10px;margin:-6px -6px 6px}#wordForm[data-edit-index]:before{font-size:8px;padding:2px 10px}#wordForm[data-edit-index] button[type=submit],#cancelEdit{padding:14px 16px!important;font-size:15px!important}}@media (max-width: 1023px) and (min-width: 768px){.grid-cell.word-highlighted{box-shadow:0 0 0 1.5px var(--primary-color) inset!important}}@media (max-width: 767px){.grid-cell.word-highlighted{box-shadow:0 0 0 1px var(--primary-color) inset!important}.word-item.active-highlight{border-left-width:3px;padding-left:10px}}@media (max-width: 479px){.grid-cell.word-highlighted{box-shadow:0 0 0 1px var(--primary-color) inset!important}}@media (max-width: 767px) and (orientation: landscape){.landscape-warning{display:flex!important}body>*:not(.landscape-warning){display:none!important}}@media (max-width: 479px) and (orientation: landscape){.landscape-warning-icon{font-size:3rem}.landscape-warning-content h2{font-size:1.25rem}.landscape-warning-content p{font-size:.875rem}}@media (max-width: 1023px) and (min-width: 768px){.direction-selector{min-width:180px;padding:10px;gap:8px}.direction-selector-option{padding:10px 12px;font-size:14px}.direction-selector-option .clue-preview{font-size:12px}}@media (max-width: 767px){.direction-selector{min-width:160px;padding:10px;gap:8px}.direction-selector-option{padding:12px 14px;font-size:15px}.direction-selector-option .clue-preview{font-size:13px}}@media (max-width: 1023px) and (min-width: 768px){.tooltip-trigger:after{width:200px;font-size:.8rem}}@media (max-width: 767px){.tooltip-trigger{width:28px!important;height:28px!important}.tooltip-trigger img,.tooltip-trigger svg{width:16px;height:16px}.tooltip-trigger:after{width:min(260px,90vw);font-size:.8rem;right:auto;left:50%;transform:translate(-50%,4px);text-align:center}.tooltip-trigger:hover:after,.tooltip-trigger:focus-visible:after{transform:translate(-50%)}.tooltip-trigger:before{left:50%;right:auto;transform:translate(-50%) rotate(45deg)}}@media (max-width: 479px){.tooltip-trigger:after{font-size:.75rem;padding:10px 12px}}@media (max-width: 1023px) and (min-width: 768px){.pricing-status-pill{width:44px;height:44px;min-width:44px}.premium-sidebar-banner{flex-direction:column;align-items:flex-start}.premium-sidebar-heading{width:100%}}@media (max-width: 767px){.pricing-status-pill{width:40px;height:40px;min-width:40px}.premium-sidebar-banner{flex-direction:column}.premium-sidebar-heading{flex-direction:column;align-items:flex-start}.premium-sidebar-chip{align-self:flex-start}}@media (max-width: 479px){.pricing-status-pill{width:36px;height:36px;min-width:36px}.pricing-pill-value{font-size:12px}}@media (max-width: 1023px) and (min-width: 768px){.app-snackbar{top:16px;right:16px;min-width:280px;max-width:350px}.snackbar-content{padding:14px 18px}.snackbar-message{font-size:13px}}@media (max-width: 767px){.app-snackbar{top:80px;left:50%;right:auto;transform:translate(-50%) translateY(-20px);min-width:calc(100% - 40px);max-width:calc(100% - 40px)}.app-snackbar.show{transform:translate(-50%) translateY(0)}.snackbar-content{padding:14px 16px}.snackbar-message{font-size:13px}.snackbar-icon{font-size:18px}.snackbar-close{font-size:20px;width:20px;height:20px}}@media (max-width: 479px){.app-snackbar{min-width:calc(100% - 32px);max-width:calc(100% - 32px)}.snackbar-content{padding:12px 14px;gap:10px}.snackbar-message{font-size:12px}}@media (max-width: 1439px) and (min-width: 1024px){body.completed-state .crossword-area{max-width:98%;margin:20px auto}body.completed-state #crosswordTitle{font-size:2rem}body.completed-state .grid-clues-split .clues-pane{flex:0 0 260px;max-width:260px}body.completed-state .grid-clues-split .grid-pane{overflow-x:auto}body.completed-state #customize-upsell-card,body.completed-state.show-saved-link-card #saved-link-card{padding:14px 18px;gap:14px}}@media (max-width: 1023px) and (min-width: 768px){body.completed-state .crossword-area{max-width:90%;margin:20px auto}body.completed-state #crosswordTitle{font-size:2rem}body.completed-state .grid-clues-split{flex-direction:column;flex-wrap:nowrap}body.completed-state .grid-clues-split .grid-pane,body.completed-state .grid-clues-split .clues-pane,body.completed-state .grid-clues-split #exportShareButtons{order:unset;flex:none;max-width:100%;position:static;max-height:none}body.completed-state #customize-upsell-card,body.completed-state.show-saved-link-card #saved-link-card{padding:14px 18px;gap:14px}}@media (max-width: 767px){body.completed-state #completed-header-title{position:relative;left:0;top:0;transform:none;max-width:none;flex:1;text-align:left;margin-left:10px;font-size:1.1rem}body.completed-state .header{justify-content:flex-start;padding:10px 15px}body.completed-state #completed-back-btn{padding:0;width:36px;height:36px;margin-right:0}body.completed-state #completed-back-btn svg{width:18px;height:18px}body.completed-state .crossword-area{margin:10px auto;padding:0 10px;width:100%;max-width:100%}body.completed-state #crosswordTitle{font-size:1.5rem}body.completed-state .crossword-header:after{font-size:.65rem;padding:4px 12px}body.completed-state #exportShareButtons{position:fixed;bottom:0;left:0;right:0;background:var(--bg-primary);padding:15px;margin:0;box-shadow:0 -5px 15px #0000001a;z-index:1000;flex-wrap:wrap}body.completed-state{padding-top:68px;padding-bottom:100px}body.completed-state #gridContainer{width:100%;overflow-x:auto}body.completed-state #customize-upsell-card{display:none!important}body.completed-state.show-saved-link-card #saved-link-card{flex-direction:column;text-align:center;padding:16px 12px;gap:12px}body.completed-state .grid-clues-split{flex-direction:column;flex-wrap:nowrap}body.completed-state .grid-clues-split .grid-pane,body.completed-state .grid-clues-split .clues-pane,body.completed-state .grid-clues-split #exportShareButtons{order:unset;flex:none;max-width:100%;position:static;max-height:none}}@media (max-width: 767px){#customize-preview-bar{bottom:16px}.preview-bar-icon{display:none}.preview-bar-content{padding:14px 0}.preview-bar-headline{white-space:normal;font-size:.875rem}.preview-bar-sub{white-space:normal;font-size:.75rem}.preview-bar-actions{flex-direction:column;gap:8px;padding:14px 0}.preview-bar-cancel-btn,.preview-bar-save-btn{width:100%;text-align:center}}@media (max-width: 767px){#supportFormModal{align-items:flex-end!important;padding:0!important}.support-form-card{border-radius:20px 20px 0 0;max-width:100%;padding:24px 20px}}@media (max-width: 479px){.support-form-card{padding:20px 16px}.support-form-title{font-size:16px}}
