@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-200: #bfdbfe;--primary-300: #93c5fd;--primary-400: #60a5fa;--primary-500: #3b82f6;--primary-600: #2563eb;--primary-700: #1d4ed8;--primary-800: #1e40af;--primary-900: #1e3a8a;--secondary-50: #f5f3ff;--secondary-100: #ede9fe;--secondary-200: #ddd6fe;--secondary-300: #c4b5fd;--secondary-400: #a78bfa;--secondary-500: #8b5cf6;--secondary-600: #7c3aed;--secondary-700: #6d28d9;--secondary-800: #5b21b6;--secondary-900: #4c1d95;--accent-50: #fef2f2;--accent-100: #fee2e2;--accent-200: #fecaca;--accent-300: #fca5a5;--accent-400: #f87171;--accent-500: #ef4444;--accent-600: #dc2626;--accent-700: #b91c1c;--accent-800: #991b1b;--accent-900: #7f1d1d;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--success: #10b981;--success-light: #6ee7b7;--warning: #f59e0b;--warning-light: #fbbf24;--error: #ef4444;--error-light: #f87171;--info: #3b82f6;--info-light: #60a5fa;--bg-app: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--bg-glass: rgba(255, 255, 255, .1);--bg-glass-strong: rgba(255, 255, 255, .15);--bg-glass-subtle: rgba(255, 255, 255, .05);--bg-dark: rgba(0, 0, 0, .2);--bg-dark-strong: rgba(0, 0, 0, .4);--bg-white: rgba(255, 255, 255, .95);--bg-white-pure: #ffffff;--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .8);--text-muted: rgba(255, 255, 255, .6);--text-dark: #1f2937;--text-dark-secondary: #4b5563;--text-dark-muted: #6b7280;--border-light: rgba(255, 255, 255, .2);--border-medium: rgba(255, 255, 255, .3);--border-strong: rgba(255, 255, 255, .4);--border-dark: rgba(0, 0, 0, .1);--border-focus: var(--primary-400);--shadow-subtle: 0 1px 3px rgba(0, 0, 0, .1);--shadow-medium: 0 4px 12px rgba(0, 0, 0, .15);--shadow-strong: 0 8px 25px rgba(0, 0, 0, .25);--shadow-extra-strong: 0 20px 40px rgba(0, 0, 0, .3);--shadow-primary: 0 4px 20px rgba(59, 130, 246, .3);--shadow-secondary: 0 4px 20px rgba(139, 92, 246, .3);--shadow-accent: 0 4px 20px rgba(239, 68, 68, .3);--shadow-success: 0 4px 20px rgba(16, 185, 129, .3);--glass-backdrop: blur(10px);--glass-backdrop-strong: blur(20px);--glass-border: 1px solid rgba(255, 255, 255, .2);--glass-border-strong: 1px solid rgba(255, 255, 255, .3);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-3xl: 24px;--radius-full: 9999px;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--font-family-sans: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--transition-fast: .15s ease-out;--transition-normal: .3s ease-out;--transition-slow: .5s ease-out;--transition-bounce: .3s cubic-bezier(.68, -.55, .265, 1.55);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1400px}@media(prefers-color-scheme:dark){:root{--bg-white: rgba(31, 41, 55, .95);--bg-white-pure: #1f2937;--text-dark: #ffffff;--text-dark-secondary: rgba(255, 255, 255, .8);--text-dark-muted: rgba(255, 255, 255, .6)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family-sans);font-weight:var(--font-normal);color:var(--text-primary);background:var(--bg-app);background-attachment:fixed;overflow-x:hidden;position:relative}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button{background:none;border:none;font:inherit;cursor:pointer}input,textarea,select{font:inherit;color:inherit}img,svg{height:auto;display:block}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-sm)}:focus{outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-color-scheme:dark){body{color-scheme:dark}}.heading-1{font-size:var(--text-6xl);font-weight:var(--font-extrabold);line-height:var(--leading-tight);letter-spacing:-.025em;color:var(--text-primary);text-shadow:0 2px 4px rgba(0,0,0,.3)}.heading-2{font-size:var(--text-5xl);font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:-.025em;color:var(--text-primary);text-shadow:0 2px 4px rgba(0,0,0,.2)}.heading-3{font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:var(--leading-snug);color:var(--text-primary)}.heading-4{font-size:var(--text-3xl);font-weight:var(--font-semibold);line-height:var(--leading-snug);color:var(--text-primary)}.heading-5{font-size:var(--text-2xl);font-weight:var(--font-semibold);line-height:var(--leading-snug);color:var(--text-primary)}.heading-6{font-size:var(--text-xl);font-weight:var(--font-medium);line-height:var(--leading-normal);color:var(--text-primary)}.text-body-lg{font-size:var(--text-lg);font-weight:var(--font-normal);line-height:var(--leading-relaxed);color:var(--text-secondary)}.text-body{font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--text-secondary)}.text-body-sm{font-size:var(--text-sm);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--text-secondary)}.text-caption{font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-normal);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-dark{color:var(--text-dark)}.text-dark-secondary{color:var(--text-dark-secondary)}.text-dark-muted{color:var(--text-dark-muted)}.font-light{font-weight:var(--font-light)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.font-extrabold{font-weight:var(--font-extrabold)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-gradient{background:linear-gradient(135deg,var(--primary-400),var(--secondary-400));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-accent{background:linear-gradient(135deg,var(--accent-400),var(--warning));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-shadow-sm{text-shadow:0 1px 2px rgba(0,0,0,.3)}.text-shadow{text-shadow:0 2px 4px rgba(0,0,0,.3)}.text-shadow-lg{text-shadow:0 4px 8px rgba(0,0,0,.4)}.text-glow{text-shadow:0 0 20px currentColor}.text-outline{-webkit-text-stroke:1px var(--border-light);text-shadow:1px 1px 0 var(--border-light),-1px -1px 0 var(--border-light),1px -1px 0 var(--border-light),-1px 1px 0 var(--border-light)}@media(max-width:768px){.heading-1{font-size:var(--text-4xl)}.heading-2{font-size:var(--text-3xl)}.heading-3{font-size:var(--text-2xl)}.heading-4{font-size:var(--text-xl)}}@media(max-width:480px){.heading-1{font-size:var(--text-3xl)}.heading-2{font-size:var(--text-2xl)}.heading-3{font-size:var(--text-xl)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);min-height:44px;font-family:var(--font-family-sans);font-size:var(--text-base);font-weight:var(--font-medium);line-height:1;text-decoration:none;white-space:nowrap;border:none;border-radius:var(--radius-lg);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;transition:all var(--transition-normal)}.btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));color:var(--text-primary);box-shadow:var(--shadow-medium),var(--shadow-primary);border:1px solid var(--primary-400)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-400),var(--primary-500));transform:translateY(-2px);box-shadow:var(--shadow-strong),var(--shadow-primary)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-medium),var(--shadow-primary)}.btn-secondary{background:linear-gradient(135deg,var(--secondary-500),var(--secondary-600));color:var(--text-primary);box-shadow:var(--shadow-medium),var(--shadow-secondary);border:1px solid var(--secondary-400)}.btn-secondary:hover:not(:disabled){background:linear-gradient(135deg,var(--secondary-400),var(--secondary-500));transform:translateY(-2px);box-shadow:var(--shadow-strong),var(--shadow-secondary)}.btn-secondary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-medium),var(--shadow-secondary)}.btn-accent{background:linear-gradient(135deg,var(--accent-500),var(--accent-600));color:var(--text-primary);box-shadow:var(--shadow-medium),var(--shadow-accent);border:1px solid var(--accent-400)}.btn-accent:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-400),var(--accent-500));transform:translateY(-2px);box-shadow:var(--shadow-strong),var(--shadow-accent)}.btn-accent:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-medium),var(--shadow-accent)}.btn-glass{background:var(--bg-glass);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border:var(--glass-border);color:var(--text-primary);box-shadow:var(--shadow-medium)}.btn-glass:hover:not(:disabled){background:var(--bg-glass-strong);transform:translateY(-1px);box-shadow:var(--shadow-strong)}.btn-glass:active:not(:disabled){transform:translateY(0);background:var(--bg-glass)}.btn-outline{background:transparent;border:2px solid var(--border-light);color:var(--text-primary)}.btn-outline:hover:not(:disabled){background:var(--bg-glass-subtle);border-color:var(--border-medium);transform:translateY(-1px)}.btn-outline:active:not(:disabled){transform:translateY(0);background:transparent}.btn-ghost{background:transparent;border:none;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-glass-subtle);color:var(--text-primary)}.btn-ghost:active:not(:disabled){background:var(--bg-glass)}.btn-xs{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);min-height:32px;border-radius:var(--radius-md)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);min-height:36px;border-radius:var(--radius-md)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-lg);min-height:52px;border-radius:var(--radius-xl)}.btn-xl{padding:var(--space-5) var(--space-10);font-size:var(--text-xl);min-height:60px;border-radius:var(--radius-2xl)}.btn-loading{position:relative;color:transparent!important}.btn-loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;color:var(--text-primary)}.btn-success{background:linear-gradient(135deg,var(--success),var(--success-light));color:var(--text-primary);box-shadow:var(--shadow-medium),var(--shadow-success)}.btn-group{display:inline-flex;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-medium)}.btn-group .btn{border-radius:0;border-right:1px solid var(--border-light)}.btn-group .btn:first-child{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.btn-group .btn:last-child{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);border-right:none}.btn-group .btn:hover{z-index:1}.btn-icon{width:44px;height:44px;padding:0;border-radius:var(--radius-full)}.btn-icon.btn-sm{width:36px;height:36px}.btn-icon.btn-lg{width:52px;height:52px}.btn-fab{position:fixed;bottom:var(--space-6);right:var(--space-6);width:56px;height:56px;border-radius:var(--radius-full);box-shadow:var(--shadow-strong);z-index:var(--z-fixed)}.btn-fab:hover{transform:scale(1.1)}@media(max-width:768px){.btn{min-height:48px}.btn-group{flex-direction:column}.btn-group .btn{border-right:none;border-bottom:1px solid var(--border-light)}.btn-group .btn:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.btn-group .btn:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg);border-bottom:none}}.form{display:flex;flex-direction:column;gap:var(--space-6);width:100%}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-row{display:flex;gap:var(--space-4);align-items:flex-end}.form-row .form-group{flex:1}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-dark);line-height:var(--leading-normal)}.form-label-required:after{content:" *";color:var(--error)}.form-label-optional:after{content:" (optionnel)";color:var(--text-dark-muted);font-weight:var(--font-normal)}.form-input{width:100%;padding:var(--space-3) var(--space-4);min-height:44px;font-family:var(--font-family-sans);font-size:var(--text-base);line-height:var(--leading-normal);background:var(--bg-white);border:2px solid var(--border-dark);border-radius:var(--radius-lg);color:var(--text-dark);transition:all var(--transition-normal)}.form-input::placeholder{color:var(--text-dark-muted)}.form-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #3b82f61a;background:var(--bg-white-pure)}.form-input:disabled{background:var(--gray-100);border-color:var(--gray-300);color:var(--text-dark-muted);cursor:not-allowed}.form-input.form-input-error{border-color:var(--error);box-shadow:0 0 0 3px #ef44441a}.form-input.form-input-success{border-color:var(--success);box-shadow:0 0 0 3px #10b9811a}.form-input-glass{background:var(--bg-glass);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border:var(--glass-border);color:var(--text-primary)}.form-input-glass::placeholder{color:var(--text-muted)}.form-input-glass:focus{background:var(--bg-glass-strong);border-color:var(--border-focus);box-shadow:0 0 0 3px #3b82f633}.form-textarea{min-height:120px;resize:vertical;font-family:var(--font-family-sans)}.form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--space-3) center;background-repeat:no-repeat;background-size:16px 16px;padding-right:var(--space-10);cursor:pointer}.form-select:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%233b82f6' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e")}.form-checkbox,.form-radio{appearance:none;width:20px;height:20px;border:2px solid var(--border-dark);background:var(--bg-white);cursor:pointer;position:relative;transition:all var(--transition-normal)}:is(.form-checkbox,.form-radio):checked{background:var(--primary-500);border-color:var(--primary-500)}:is(.form-checkbox,.form-radio):focus{outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-checkbox{border-radius:var(--radius-sm)}.form-checkbox:checked:after{content:"";position:absolute;top:1px;left:5px;width:6px;height:10px;border:2px solid white;border-top:0;border-left:0;transform:rotate(45deg)}.form-radio{border-radius:var(--radius-full)}.form-radio:checked:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;background:#fff;border-radius:var(--radius-full);transform:translate(-50%,-50%)}.form-checkbox-group,.form-radio-group{display:flex;flex-direction:column;gap:var(--space-3)}.form-checkbox-item,.form-radio-item{display:flex;align-items:center;gap:var(--space-3);cursor:pointer}:is(.form-checkbox-item,.form-radio-item):hover .form-checkbox,:is(.form-checkbox-item,.form-radio-item):hover .form-radio{border-color:var(--primary-400)}.form-checkbox-item label,.form-radio-item label{cursor:pointer;font-size:var(--text-base);color:var(--text-dark)}.form-switch{position:relative;width:48px;height:24px;background:var(--gray-300);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-normal)}.form-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:var(--radius-full);transition:all var(--transition-normal);box-shadow:var(--shadow-subtle)}.form-switch:checked{background:var(--primary-500)}.form-switch:checked:after{transform:translate(24px)}.form-error{font-size:var(--text-sm);color:var(--error);margin-top:var(--space-1);display:flex;align-items:center;gap:var(--space-2)}.form-success{font-size:var(--text-sm);color:var(--success);margin-top:var(--space-1);display:flex;align-items:center;gap:var(--space-2)}.form-help{font-size:var(--text-sm);color:var(--text-dark-muted);margin-top:var(--space-1)}.form-section{padding:var(--space-6);border:1px solid var(--border-dark);border-radius:var(--radius-lg);background:var(--bg-white-pure)}.form-section-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-dark);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-dark)}.form-actions{display:flex;gap:var(--space-4);justify-content:flex-end;padding-top:var(--space-6);border-top:1px solid var(--border-dark)}.form-actions-center{justify-content:center}.form-actions-start{justify-content:flex-start}.form-actions-between{justify-content:space-between}.input-group{display:flex;align-items:stretch;width:100%}.input-group .form-input{border-radius:0;border-right:0}.input-group .form-input:first-child{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.input-group .form-input:last-child{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);border-right:2px solid var(--border-dark)}.input-group .form-input:focus{z-index:1;border-right:2px solid var(--border-focus)}.input-group-addon{display:flex;align-items:center;padding:var(--space-3) var(--space-4);background:var(--gray-100);border:2px solid var(--border-dark);border-right:0;font-size:var(--text-sm);color:var(--text-dark-muted);white-space:nowrap}.input-group-addon:first-child{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.input-group-addon:last-child{border-right:2px solid var(--border-dark);border-left:0;border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}@media(max-width:768px){.form-row{flex-direction:column;gap:var(--space-6)}.form-actions{flex-direction:column;gap:var(--space-3)}.input-group{flex-direction:column}.input-group .form-input,.input-group .input-group-addon{border-radius:var(--radius-lg)!important;border:2px solid var(--border-dark)!important}}.card{background:var(--bg-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-medium);overflow:hidden;transition:all var(--transition-normal);position:relative}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-strong)}.card-glass{background:var(--bg-glass);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border:var(--glass-border);box-shadow:var(--shadow-medium)}.card-glass:hover{background:var(--bg-glass-strong);box-shadow:var(--shadow-strong)}.card-dark{background:var(--gray-800);color:var(--text-primary);border:1px solid var(--gray-700)}.card-gradient{background:linear-gradient(135deg,var(--primary-500),var(--secondary-500));color:var(--text-primary);border:none}.card-outline{background:transparent;border:2px solid var(--border-light);color:var(--text-primary)}.card-header{padding:var(--space-6);border-bottom:1px solid var(--border-dark);background:var(--gray-50)}.card-glass .card-header{background:var(--bg-glass-subtle);border-bottom-color:var(--border-light)}.card-dark .card-header{background:var(--gray-700);border-bottom-color:var(--gray-600)}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-6);border-top:1px solid var(--border-dark);background:var(--gray-50);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.card-glass .card-footer{background:var(--bg-glass-subtle);border-top-color:var(--border-light)}.card-dark .card-footer{background:var(--gray-700);border-top-color:var(--gray-600)}.card-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-dark);margin:0 0 var(--space-2) 0;line-height:var(--leading-snug)}.card-glass .card-title,.card-dark .card-title,.card-gradient .card-title{color:var(--text-primary)}.card-subtitle{font-size:var(--text-sm);color:var(--text-dark-muted);margin:0 0 var(--space-4) 0;font-weight:var(--font-medium)}.card-glass .card-subtitle,.card-dark .card-subtitle,.card-gradient .card-subtitle{color:var(--text-muted)}.card-text{font-size:var(--text-base);color:var(--text-dark-secondary);line-height:var(--leading-relaxed);margin:0 0 var(--space-4) 0}.card-glass .card-text,.card-dark .card-text,.card-gradient .card-text{color:var(--text-secondary)}.card-image{width:100%;height:200px;object-fit:cover;display:block}.card-image-top{border-radius:var(--radius-xl) var(--radius-xl) 0 0}.card-image-bottom{border-radius:0 0 var(--radius-xl) var(--radius-xl)}.card-sm{border-radius:var(--radius-lg)}.card-sm .card-header,.card-sm .card-body,.card-sm .card-footer{padding:var(--space-4)}.card-lg{border-radius:var(--radius-2xl)}.card-lg .card-header,.card-lg .card-body,.card-lg .card-footer{padding:var(--space-8)}.card-horizontal{display:flex;align-items:stretch}.card-horizontal .card-image{width:200px;height:auto;border-radius:var(--radius-xl) 0 0 var(--radius-xl)}.card-horizontal .card-content{flex:1;display:flex;flex-direction:column}.card-grid{display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.card-grid-2{grid-template-columns:repeat(2,1fr)}.card-grid-3{grid-template-columns:repeat(3,1fr)}.card-grid-4{grid-template-columns:repeat(4,1fr)}.card-stats{text-align:center;padding:var(--space-8)}.card-stats-value{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--primary-500);margin:0 0 var(--space-2) 0}.card-stats-label{font-size:var(--text-sm);color:var(--text-dark-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-medium)}.card-profile{text-align:center;padding:var(--space-8)}.card-profile-avatar{width:80px;height:80px;border-radius:var(--radius-full);margin:0 auto var(--space-4) auto;border:3px solid var(--border-light);box-shadow:var(--shadow-medium)}.card-profile-name{font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 var(--space-1) 0}.card-profile-role{font-size:var(--text-sm);color:var(--text-dark-muted);margin:0 0 var(--space-4) 0}.card-feature{padding:var(--space-8);text-align:center;border:2px solid transparent;transition:all var(--transition-normal)}.card-feature:hover{border-color:var(--primary-200);transform:translateY(-4px)}.card-feature-icon{width:48px;height:48px;margin:0 auto var(--space-4) auto;color:var(--primary-500)}.card-actions{display:flex;gap:var(--space-3);align-items:center}.card-actions-vertical{flex-direction:column;align-items:stretch}.card-badge{position:absolute;top:var(--space-4);right:var(--space-4);background:var(--primary-500);color:var(--text-primary);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.05em}.card-badge-success{background:var(--success)}.card-badge-warning{background:var(--warning)}.card-badge-error{background:var(--error)}@media(max-width:768px){.card-grid,.card-grid-2,.card-grid-3,.card-grid-4{grid-template-columns:1fr}.card-horizontal{flex-direction:column}.card-horizontal .card-image{width:100%;height:200px;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.card-header,.card-body,.card-footer{padding:var(--space-4)}.card-lg .card-header,.card-lg .card-body,.card-lg .card-footer{padding:var(--space-6)}}.modal-backdrop{position:fixed;display:none;top:0;left:0;width:100%;height:100%;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10002;display:flex;align-items:center;justify-content:center;padding:var(--space-4);opacity:0;visibility:hidden;transition:all var(--transition-normal)}.modal-backdrop.modal-open{opacity:1;visibility:visible}.modal{background:var(--bg-white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-extra-strong);max-width:500px;width:100%;max-height:90vh;overflow:hidden;transform:scale(.9) translateY(20px);transition:all var(--transition-normal);position:relative}.modal-backdrop.modal-open .modal{transform:scale(1) translateY(0)}.modal-glass{background:var(--bg-glass-strong);backdrop-filter:var(--glass-backdrop-strong);-webkit-backdrop-filter:var(--glass-backdrop-strong);border:var(--glass-border-strong);color:var(--text-primary);box-shadow:var(--shadow-extra-strong),0 0 0 1px #ffffff1a}.modal-lg{max-width:800px}.modal-xl{max-width:1200px}.modal-sm{max-width:400px}.modal-fullscreen{max-width:100%;max-height:100%;width:100%;height:100%;border-radius:0}.modal-header{padding:var(--space-6);border-bottom:1px solid var(--border-dark);display:flex;align-items:center;justify-content:space-between;background:var(--gray-50)}.modal-glass .modal-header{background:var(--bg-glass-subtle);border-bottom-color:var(--border-light)}.modal-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-dark);margin:0;line-height:var(--leading-snug)}.modal-glass .modal-title{color:var(--text-primary)}.modal-close{width:32px;height:32px;border-radius:var(--radius-full);background:transparent;border:none;color:var(--text-dark-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);transition:all var(--transition-fast)}.modal-close:hover{background:var(--gray-200);color:var(--text-dark)}.modal-glass .modal-close{color:var(--text-muted)}.modal-glass .modal-close:hover{background:var(--bg-glass);color:var(--text-primary)}.modal-body{padding:var(--space-6);overflow-y:auto;max-height:calc(90vh - 140px)}.modal-body-scrollable{max-height:400px}.modal-image-body{padding:var(--space-4);display:flex;align-items:center;justify-content:center;background:var(--bg-dark);min-height:400px;text-align:center}.modal-preview-image{max-width:100%;max-height:70vh;width:auto;height:auto;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 8px 32px #0000004d;display:block;margin:0 auto}.modal-footer{padding:var(--space-6);border-top:1px solid var(--border-dark);background:var(--gray-50);display:flex;justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;align-items:center;min-height:auto}.modal-glass .modal-footer{background:var(--bg-glass-subtle)!important;border-top-color:var(--border-light)}.modal-footer{background:#14141e99!important}.modal-footer-center{justify-content:center}.modal-footer-between{justify-content:space-between}.modal-fade .modal{transform:scale(1) translateY(-20px);opacity:0}.modal-backdrop.modal-open .modal-fade .modal{transform:scale(1) translateY(0);opacity:1}.modal-slide-down .modal{transform:translateY(-100%)}.modal-backdrop.modal-open .modal-slide-down .modal{transform:translateY(0)}.modal-slide-up .modal{transform:translateY(100%)}.modal-backdrop.modal-open .modal-slide-up .modal{transform:translateY(0)}.modal-zoom .modal{transform:scale(.3)}.modal-backdrop.modal-open .modal-zoom .modal{transform:scale(1)}.modal-confirm{max-width:450px;text-align:center;box-shadow:var(--shadow-extra-strong)}.modal-confirm .modal-body{padding:var(--space-8) var(--space-8) var(--space-6) var(--space-8)}.modal-confirm .modal-footer{padding:var(--space-6) var(--space-8) var(--space-8) var(--space-8);gap:var(--space-4);border-top:none;background:transparent}.modal-confirm-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.modal-confirm-icon{width:80px;height:80px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-3xl);box-shadow:var(--shadow-medium);transition:all var(--transition-normal)}.modal-confirm-icon-warning{background:linear-gradient(135deg,#fef3cd,#fde68a);color:#d97706;border:2px solid #f59e0b}.modal-confirm-icon-error{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626;border:2px solid #ef4444}.modal-confirm-icon-success{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#16a34a;border:2px solid #22c55e}.modal-confirm-icon-info{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb;border:2px solid #3b82f6}.modal-confirm-title{font-size:var(--text-xl);font-weight:var(--font-bold);margin:0;color:var(--text-primary);text-shadow:0 1px 2px rgba(0,0,0,.1)}.modal-glass .modal-confirm-title{color:var(--text-primary)}.modal-confirm-message{color:var(--text-secondary);margin:0;line-height:var(--leading-relaxed);font-size:var(--text-base);white-space:pre-line;max-width:350px}.modal-glass .modal-confirm-message{color:var(--text-secondary)}.modal-confirm-icon{animation:confirmIconPulse .6s ease-out}@keyframes confirmIconPulse{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.modal-confirm .btn{min-width:120px;font-weight:var(--font-semibold);transition:all var(--transition-normal)}.modal-confirm .btn-cancel{background:transparent;border:2px solid var(--border-medium);color:var(--text-secondary)}.modal-confirm .btn-cancel:hover{background:var(--bg-glass-subtle);border-color:var(--border-light);color:var(--text-primary);transform:translateY(-1px)}.modal-confirm .btn-confirm{box-shadow:var(--shadow-medium)}.modal-confirm .btn-confirm:hover{transform:translateY(-2px);box-shadow:var(--shadow-strong)}.world-context{background:var(--bg-glass-strong);backdrop-filter:var(--glass-backdrop-strong);-webkit-backdrop-filter:var(--glass-backdrop-strong);border-radius:var(--radius-2xl);border:var(--glass-border-strong);box-shadow:var(--shadow-extra-strong),0 0 0 1px #ffffff1a;max-width:90vw;max-height:85vh;overflow-y:auto;padding:var(--space-8);margin:var(--space-4);position:relative}.world-context h1,.world-context h2,.world-context h3{color:var(--text-primary);margin-bottom:var(--space-4);line-height:var(--leading-tight)}.world-context h1{font-size:var(--text-2xl);font-weight:var(--font-bold);border-bottom:2px solid var(--border-light);padding-bottom:var(--space-3);margin-bottom:var(--space-6)}.world-context h2{font-size:var(--text-xl);font-weight:var(--font-semibold);margin-top:var(--space-6)}.world-context h3{font-size:var(--text-lg);font-weight:var(--font-medium);margin-top:var(--space-4)}.world-context p{color:var(--text-primary);line-height:var(--leading-relaxed);margin-bottom:var(--space-4);font-size:var(--text-base)}.world-context ul,.world-context ol{margin:var(--space-4) 0;padding-left:var(--space-6)}.world-context li{color:var(--text-primary);line-height:var(--leading-relaxed);margin-bottom:var(--space-2)}.world-context strong{color:var(--text-primary);font-weight:var(--font-semibold)}.world-context em{color:var(--text-muted);font-style:italic}.world-context-close{position:absolute;top:var(--space-4);right:var(--space-4);background:var(--bg-glass);border:var(--glass-border);border-radius:var(--radius-full);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-normal);color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold)}.world-context-close:hover{background:var(--bg-glass-strong);transform:scale(1.1)}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;opacity:1;visibility:visible;transition:all var(--transition-normal)}.loading-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-spinner{width:48px;height:48px;border:4px solid var(--bg-glass);border-top:4px solid var(--primary-400);border-radius:var(--radius-full);animation:spin 1s linear infinite}.loading-text{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-medium);margin-top:var(--space-4);text-align:center}.modal-loading{max-width:300px;text-align:center}.modal-loading .modal-body{padding:var(--space-8)}.modal-loading-spinner{width:48px;height:48px;margin:0 auto var(--space-4) auto;border:4px solid var(--gray-200);border-top:4px solid var(--primary-500);border-radius:var(--radius-full);animation:spin 1s linear infinite}.modal-loading-text{color:var(--text-dark-secondary);font-size:var(--text-base)}.modal-image{max-width:90vw;max-height:90vh;background:transparent;box-shadow:none;border-radius:0}.modal-image img{width:100%;height:auto;max-height:90vh;object-fit:contain;border-radius:var(--radius-lg)}.modal-open-body{overflow:hidden}.modal-trigger{position:relative}@media(max-width:768px){.modal-backdrop{padding:var(--space-2)}.modal{max-width:100%;margin:0;border-radius:var(--radius-xl)}.modal-lg,.modal-xl{max-width:100%}.modal-header,.modal-body,.modal-footer{padding:var(--space-4)}.modal-body{max-height:calc(90vh - 120px)}.modal-fullscreen{border-radius:0;max-height:100vh}.modal-fullscreen .modal-body{max-height:calc(100vh - 120px)}}@media(max-width:480px){.modal-backdrop{padding:0}.modal{border-radius:0;max-height:100vh}.modal-body{max-height:calc(100vh - 120px)}}.preview-zoom-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:20000;display:flex;align-items:center;justify-content:center}.preview-zoom-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer}.preview-zoom-content{position:relative;z-index:1;max-width:95vw;max-height:95vh;display:flex;align-items:center;justify-content:center}.preview-zoom-image{max-width:95vw;max-height:95vh;object-fit:contain;border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000080;animation:zoomIn .2s ease-out}@keyframes zoomIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.preview-zoom-close{position:absolute;top:-40px;right:-40px;width:40px;height:40px;border-radius:var(--radius-full);background:#fff3;border:2px solid rgba(255,255,255,.4);color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.preview-zoom-close:hover{background:#ffffff4d;border-color:#fff9;transform:scale(1.1)}@media(max-width:768px){.preview-zoom-close{top:10px;right:10px;width:36px;height:36px;font-size:20px}}.container{width:100%;margin:0 auto;padding:0 var(--space-4)}.container-sm{max-width:var(--container-sm)}.container-md{max-width:var(--container-md)}.container-lg{max-width:var(--container-lg)}.container-xl{max-width:var(--container-xl)}.container-2xl{max-width:var(--container-2xl)}.page-container{min-height:100vh;display:flex;flex-direction:column;position:relative}.main-content{flex:1;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;height:100vh;overflow:hidden;transition:all var(--transition-normal);position:relative;top:0!important;scroll-behavior:auto}.main-content.view-auth{height:100vh;justify-content:center;align-items:center;padding:0;overflow:hidden}.main-content.view-empty{height:0;min-height:0;max-height:0;overflow:hidden;padding:0;opacity:0}.main-content.view-worldManager,.main-content.view-worldCreation{height:100vh;justify-content:flex-start;align-items:center;padding:var(--space-4);overflow-y:auto}.main-content.view-game{height:100vh;justify-content:flex-end;align-items:stretch;padding:0;overflow:hidden}.main-content:has(#auth-container[style*=block]){padding:0;height:100vh;overflow:hidden;justify-content:center;align-items:center}.main-content:not(:has(*[style*=block])){height:0;min-height:0;overflow:hidden;padding:0}.main-content:has(.game-container[style*=block]){justify-content:flex-start;align-items:stretch;height:100vh}.main-content:has(#worldManager[style*=block]),.main-content:has(#worldCreation[style*=block]){justify-content:center;align-items:center;height:100vh}.main-content:has(.world-context[style*=block]),.main-content:has(#gameInterface[style*=block]){justify-content:flex-end;padding-bottom:var(--space-8);height:100vh}.content-wrapper{background:var(--bg-white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-extra-strong);padding:var(--space-8);width:100%;max-width:var(--container-lg);margin:0 auto;position:relative}.content-wrapper-glass{background:var(--bg-glass-strong);-webkit-backdrop-filter:var(--glass-backdrop-strong);backdrop-filter:var(--glass-backdrop-strong);border:var(--glass-border-strong);color:var(--text-primary)}.grid{display:grid;gap:var(--space-6)}.grid-1{grid-template-columns:1fr}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-5{grid-template-columns:repeat(5,1fr)}.grid-6{grid-template-columns:repeat(6,1fr)}.grid-auto-fit{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-auto-fit-sm{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.grid-auto-fit-lg{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-gap-sm{gap:var(--space-3)}.grid-gap-md{gap:var(--space-6)}.grid-gap-lg{gap:var(--space-8)}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.section{padding:var(--space-16) 0}.section-sm{padding:var(--space-8) 0}.section-lg{padding:var(--space-24) 0}.section-header{text-align:center;margin-bottom:var(--space-12)}.section-title{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0 0 var(--space-4) 0;text-shadow:var(--shadow-subtle)}.section-subtitle{font-size:var(--text-lg);color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:var(--leading-relaxed)}.sidebar-layout{display:grid;grid-template-columns:250px 1fr;gap:var(--space-8);min-height:100vh}.sidebar{background:var(--bg-glass);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border-right:var(--glass-border);padding:var(--space-6)}.sidebar-content{padding:var(--space-6)}.header-layout{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);background:var(--bg-glass);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border-bottom:var(--glass-border);position:sticky;top:0;z-index:var(--z-sticky)}.header-logo{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.header-nav{display:flex;gap:var(--space-6);align-items:center}.header-actions{display:flex;gap:var(--space-3);align-items:center}.hero{text-align:center;padding:var(--space-20) 0;background:linear-gradient(135deg,var(--bg-glass),var(--bg-glass-strong));-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border-radius:var(--radius-2xl);margin-bottom:var(--space-12)}.hero-title{font-size:var(--text-6xl);font-weight:var(--font-extrabold);color:var(--text-primary);margin:0 0 var(--space-6) 0;text-shadow:0 4px 8px rgba(0,0,0,.3)}.hero-subtitle{font-size:var(--text-xl);color:var(--text-secondary);margin:0 0 var(--space-8) 0;max-width:600px;margin-left:auto;margin-right:auto;line-height:var(--leading-relaxed)}.hero-actions{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.inset-0{inset:0}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.hidden{display:none}.visible{visibility:visible}.invisible{visibility:hidden}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}@media(max-width:1024px){.sidebar-layout{grid-template-columns:1fr}.sidebar{order:2}.sidebar-content{order:1}}@media(max-width:768px){.container{padding:0 var(--space-3)}.content-wrapper{padding:var(--space-6);border-radius:var(--radius-xl)}.main-content{padding:var(--space-6) 0}.grid-2,.grid-3,.grid-4,.grid-5,.grid-6{grid-template-columns:1fr}.hero{padding:var(--space-12) var(--space-4);border-radius:var(--radius-xl)}.hero-title{font-size:var(--text-4xl)}.hero-subtitle{font-size:var(--text-lg)}.hero-actions{flex-direction:column;align-items:center}.section-title{font-size:var(--text-3xl)}.header-layout{padding:var(--space-3) var(--space-4)}.header-nav{gap:var(--space-4)}}@media(max-width:480px){.container{padding:0 var(--space-2)}.content-wrapper{padding:var(--space-4);border-radius:var(--radius-lg)}.hero{padding:var(--space-8) var(--space-3)}.hero-title{font-size:var(--text-3xl)}.section{padding:var(--space-12) 0}.section-lg{padding:var(--space-16) 0}}.save-game-btn{width:100%;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--bg-white-pure);border:2px solid var(--border-dark);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;text-align:left;margin-bottom:var(--space-3)}.save-game-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--primary)}.save-game-btn:active{transform:translateY(0)}.save-game-btn-new{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-color:var(--primary-dark);color:#fff;margin-bottom:var(--space-6)}.save-game-btn-new:hover{border-color:var(--primary);box-shadow:0 4px 16px #74b9ff66}.save-game-btn-new .save-game-icon,.save-game-btn-new .save-game-content,.save-game-btn-new .save-game-arrow{color:#fff}.save-game-btn-load{background:var(--bg-white-pure);border-color:var(--border-medium)}.save-game-btn-load:hover{border-color:var(--success)}.save-game-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:var(--radius-md)}.save-game-btn-load .save-game-icon{background:var(--bg-light);color:var(--primary)}.save-game-content{flex:1;min-width:0}.save-game-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.save-game-btn-new .save-game-title{color:#fff}.save-game-subtitle{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.save-game-btn-new .save-game-subtitle{color:#ffffffe6}.save-game-arrow{flex-shrink:0;color:var(--text-tertiary);transition:transform .2s ease}.save-game-btn:hover .save-game-arrow{transform:translate(4px)}.save-game-divider{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-6) 0 var(--space-4) 0;color:var(--text-tertiary);font-size:var(--text-sm);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.save-game-divider:before,.save-game-divider:after{content:"";flex:1;height:1px;background:var(--border-light)}.save-game-list{display:flex;flex-direction:column}@keyframes saveGameSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.save-game-btn{animation:saveGameSlideIn .3s ease forwards}.save-game-btn:nth-child(1){animation-delay:0s}.save-game-btn:nth-child(2){animation-delay:.05s}.save-game-btn:nth-child(3){animation-delay:.1s}.save-game-btn:nth-child(4){animation-delay:.15s}.save-game-btn:nth-child(5){animation-delay:.2s}.auth-container{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-4);overflow:hidden;box-sizing:border-box}.auth-form{background:var(--bg-white);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-extra-strong);width:100%;max-width:400px;animation:slideUp .5s ease-out;position:relative;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-form-title{font-size:var(--text-3xl);font-weight:var(--font-bold);text-align:center;margin:0 0 var(--space-8) 0;background:linear-gradient(135deg,var(--primary-500),var(--secondary-500));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-form-subtitle{text-align:center;color:var(--text-dark-secondary);margin:0 0 var(--space-6) 0;font-size:var(--text-base)}.auth-form-group{margin-bottom:var(--space-6)}.auth-form-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-dark);margin-bottom:var(--space-2)}.auth-form-input{width:100%;padding:var(--space-4);border:2px solid var(--border-dark);border-radius:var(--radius-lg);font-size:var(--text-base);background:var(--bg-white-pure);color:var(--text-dark);transition:all var(--transition-normal)}.auth-form-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f61a}.auth-form-input::placeholder{color:var(--text-dark-muted)}.auth-remember{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0}.auth-remember-checkbox{width:18px;height:18px;border:2px solid var(--border-dark);border-radius:var(--radius-sm);background:var(--bg-white-pure);cursor:pointer;position:relative;transition:all var(--transition-normal)}.auth-remember-checkbox:checked{background:var(--primary-500);border-color:var(--primary-500)}.auth-remember-checkbox:checked:after{content:"";position:absolute;top:1px;left:5px;width:4px;height:8px;border:2px solid white;border-top:0;border-left:0;transform:rotate(45deg)}.auth-remember-label{font-size:var(--text-sm);color:var(--text-dark-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.auth-submit-btn{width:100%;padding:var(--space-4);background:linear-gradient(135deg,var(--primary-500),var(--primary-600));color:var(--text-primary);border:none;border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-medium),var(--shadow-primary);position:relative;overflow:hidden}.auth-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-400),var(--primary-500));transform:translateY(-2px);box-shadow:var(--shadow-strong),var(--shadow-primary)}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-submit-btn.loading{color:transparent}.auth-submit-btn.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top:2px solid var(--text-primary);border-radius:50%;animation:spin 1s linear infinite}.auth-toggle{text-align:center;margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border-dark)}.auth-toggle-text{color:var(--text-dark-secondary);font-size:var(--text-sm);margin-bottom:var(--space-2)}.auth-toggle-link{color:var(--primary-500);font-weight:var(--font-medium);text-decoration:none;cursor:pointer;transition:color var(--transition-fast)}.auth-toggle-link:hover{color:var(--primary-600);text-decoration:underline}.auth-error{background:#ef44441a;border:1px solid var(--error);border-radius:var(--radius-lg);padding:var(--space-3);margin-bottom:var(--space-4);color:var(--error);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-2)}.auth-error-icon{font-size:var(--text-base)}.auth-success{background:#10b9811a;border:1px solid var(--success);border-radius:var(--radius-lg);padding:var(--space-3);margin-bottom:var(--space-4);color:var(--success);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-2)}.auth-success-icon{font-size:var(--text-base)}.auth-divider{position:relative;text-align:center;margin:var(--space-6) 0}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-dark)}.auth-divider-text{background:var(--bg-white);padding:0 var(--space-4);color:var(--text-dark-muted);font-size:var(--text-sm);position:relative}.auth-social{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6)}.auth-social-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3);border:2px solid var(--border-dark);border-radius:var(--radius-lg);background:var(--bg-white-pure);color:var(--text-dark);text-decoration:none;font-weight:var(--font-medium);transition:all var(--transition-normal)}.auth-social-btn:hover{border-color:var(--primary-300);background:var(--primary-50)}@media(max-width:480px){.auth-container{padding:var(--space-2)}.auth-form{padding:var(--space-6);border-radius:var(--radius-xl)}.auth-form-title{font-size:var(--text-2xl)}}.world-manager-container{width:100%;max-width:var(--container-2xl);margin:0 auto;padding:var(--space-8)}#worldManager{max-width:none;height:100vh;overflow-y:auto;overflow-x:hidden}#worldManager>.world-manager-header,#worldManager>.worlds-carousel-wrapper,#worldManager>.game-loading,#worldManager>.auth-error{max-width:var(--container-2xl);margin-left:auto;margin-right:auto}#worldManager>.world-manager-header,#worldManager>.game-loading,#worldManager>.auth-error{padding-left:var(--space-8);padding-right:var(--space-8)}.world-manager-header{text-align:center;margin-bottom:var(--space-4)}.world-manager-title{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:800;color:var(--text-primary);margin:0 0 var(--space-4) 0;background:linear-gradient(135deg,#fff,#c7d2fe 40%,#a78bfa,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.06em;text-transform:uppercase;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.world-manager-actions{display:flex;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-10, 2.5rem)}.worlds-carousel-wrapper{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:520px;margin-bottom:var(--space-4);-webkit-user-select:none;user-select:none}.worlds-carousel-viewport{width:100%;height:100%;overflow:visible;position:relative}.worlds-carousel-scene{width:100%;height:100%;position:relative}.worlds-carousel-scene .worlds-grid{display:block!important;grid-template-columns:none!important;gap:0!important;margin-top:0!important;padding:0!important;max-width:none!important;position:absolute;width:100%;height:100%}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:20;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#ffffff14;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.25,1,.5,1);box-shadow:0 4px 16px #00000026}.carousel-nav:hover{background:#ffffff2e;border-color:#ffffff4d;color:#fff;box-shadow:0 8px 32px #00000040;transform:translateY(-50%) scale(1.08)}.carousel-nav-left{left:16px}.carousel-nav-right{right:16px}.worlds-carousel-scene .worlds-grid .world-card{position:absolute!important;width:340px;height:460px;left:50%;top:50%;padding:0!important;margin:0!important;background:linear-gradient(165deg,#ffffff24,#ffffff0f,#ffffff1a)!important;backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);border:1px solid rgba(255,255,255,.18)!important;border-radius:20px;color:var(--text-primary);transition:transform .55s cubic-bezier(.25,1,.5,1),opacity .55s cubic-bezier(.25,1,.5,1),filter .55s cubic-bezier(.25,1,.5,1),box-shadow .55s cubic-bezier(.25,1,.5,1),border-color .55s ease;overflow:hidden;display:flex;flex-direction:column;cursor:pointer;box-shadow:0 8px 32px #0000002e,0 2px 8px #0000001f,inset 0 1px #ffffff1a}.worlds-carousel-scene .worlds-grid .world-card:before{content:"";position:absolute;top:0;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);z-index:1}.world-card.carousel-active{border-color:#ffffff4d!important;box-shadow:0 25px 60px #0000004d,0 0 40px #6366f11a,0 0 80px #8b5cf60f,inset 0 1px #ffffff26}.world-card.carousel-active:before{left:10%;right:10%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent)}.world-card-image{width:100%;height:200px;position:relative;overflow:hidden;flex-shrink:0;border-radius:20px 20px 0 0}.world-card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f114,#8b5cf60f,#a855f70a);color:#ffffff26}.world-card-image img.world-card-img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.25,1,.5,1)}.world-card.carousel-active .world-card-img{transform:scale(1.05)}.world-card-image-overlay{position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to top,rgba(0,0,0,.4),transparent);pointer-events:none}.world-card-body{padding:20px 22px 18px;display:flex;flex-direction:column;flex:1;min-height:0}.world-card-title{font-size:1.15rem;font-weight:700;color:#fff;margin:0 0 6px;line-height:1.3;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.world-card-description{font-size:.82rem;color:#fff9;line-height:1.55;margin:0 0 auto;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:0;opacity:0;transition:max-height .5s cubic-bezier(.25,1,.5,1),opacity .4s ease .1s}.world-card.carousel-active .world-card-description{max-height:60px;opacity:1}.world-card-actions{display:flex;gap:8px;align-items:center;margin-top:auto;padding-top:12px}.world-play-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:none;border-radius:12px;font-size:.85rem;font-weight:600;letter-spacing:.03em;cursor:pointer;transition:all .25s cubic-bezier(.25,1,.5,1);background:linear-gradient(135deg,#6366f1d9,#8b5cf6d9);color:#fff;box-shadow:0 4px 16px #6366f140;text-transform:uppercase}.world-play-btn:hover{background:linear-gradient(135deg,#6366f1,#8b5cf6);transform:translateY(-1px);box-shadow:0 6px 24px #6366f159}.world-card-tools{display:flex;gap:4px}.world-tool-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff0f;color:#ffffff80;cursor:pointer;transition:all .2s ease;padding:0}.world-tool-btn:hover{background:#ffffff24;border-color:#fff3;color:#fff;transform:translateY(-1px)}.world-tool-btn-danger:hover{background:#ef444433;border-color:#ef444459;color:#fca5a5}.world-play-btn.loading,.world-tool-btn.loading{color:transparent;position:relative;pointer-events:none}.world-play-btn.loading:after,.world-tool-btn.loading:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid transparent;border-top:2px solid #fff;border-radius:50%;animation:spin .8s linear infinite}.world-context-interface{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000bf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:var(--z-modal, 1050);display:flex;align-items:center;justify-content:center;padding:var(--space-4, 1rem);opacity:0;visibility:hidden;transition:all .3s ease-in-out}.world-context-interface.show{opacity:1;visibility:visible}.world-context{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:24px;box-shadow:0 25px 50px #0006,0 0 0 1px #ffffff1a,inset 0 1px #fff3;color:var(--text-primary, #1f2937);max-width:800px;width:100%;max-height:85vh;overflow-y:auto;padding:var(--space-8, 2rem);transform:scale(.9) translateY(30px);transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative}.world-context-interface.show .world-context{transform:scale(1) translateY(0)}.world-context h1,.world-context h2,.world-context h3{color:var(--text-primary, #1f2937);margin-bottom:var(--space-4, 1rem);font-weight:var(--font-bold, 700)}.world-context h1{font-size:var(--text-3xl, 1.875rem);border-bottom:2px solid rgba(0,0,0,.1);padding-bottom:var(--space-2, .5rem)}.world-context h2{font-size:var(--text-2xl, 1.5rem);margin-top:var(--space-6, 1.5rem)}.world-context h3{font-size:var(--text-xl, 1.25rem);margin-top:var(--space-4, 1rem)}.world-context p{line-height:1.7;margin-bottom:var(--space-4, 1rem);color:var(--text-secondary, #6b7280)}.world-context ul,.world-context ol{margin-bottom:var(--space-4, 1rem);padding-left:var(--space-6, 1.5rem)}.world-context li{margin-bottom:var(--space-2, .5rem);line-height:1.6}.world-context:before{content:"×";position:absolute;top:var(--space-4, 1rem);right:var(--space-4, 1rem);font-size:28px;color:var(--text-secondary, #6b7280);cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;background:#0000000d}.world-context:before:hover{background:#0000001a;color:var(--text-primary, #1f2937);transform:scale(1.1)}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop, 1040);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s ease-in-out}.loading-overlay.show{opacity:1;visibility:visible}.loading-overlay .loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top:4px solid var(--primary, #3b82f6);border-radius:50%;animation:spin 1s linear infinite}.loading-overlay .loading-message{color:#fff;font-size:var(--text-lg, 1.125rem);margin-top:var(--space-4, 1rem);text-align:center}.worlds-empty{text-align:center;padding:var(--space-16) var(--space-4);background:var(--bg-glass-subtle);border-radius:var(--radius-2xl);border:2px dashed var(--border-light)}.worlds-empty-icon{font-size:var(--text-6xl);color:var(--text-muted);margin-bottom:var(--space-6)}.worlds-empty-title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-4) 0}.worlds-empty-text{font-size:var(--text-base);color:var(--text-secondary);margin:0 0 var(--space-8) 0;max-width:400px;margin-left:auto;margin-right:auto;line-height:var(--leading-relaxed)}.world-creation-form{background:var(--bg-white);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-extra-strong);max-width:600px;margin:0 auto}.world-creation-title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-dark);text-align:center;margin:0 0 var(--space-8) 0}.world-creation-form-group{margin-bottom:var(--space-6)}.world-creation-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-dark);margin-bottom:var(--space-2)}.world-creation-input,.world-creation-textarea{width:100%;padding:var(--space-4);border:2px solid var(--border-dark);border-radius:var(--radius-lg);font-size:var(--text-base);background:var(--bg-white-pure);color:var(--text-dark);transition:all var(--transition-normal);font-family:var(--font-family-sans)}.world-creation-textarea{min-height:120px;resize:vertical}.world-creation-input:focus,.world-creation-textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f61a}.world-creation-actions{display:flex;gap:var(--space-4);justify-content:flex-end;margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-dark)}@media(max-width:1024px){.worlds-carousel-scene .worlds-grid .world-card{width:300px;height:420px}.worlds-carousel-wrapper{height:480px}}@media(max-width:768px){.world-manager-container{padding:var(--space-4)}.world-manager-title{font-size:var(--text-4xl)}.world-manager-actions{flex-direction:column;align-items:center}.worlds-carousel-wrapper{height:440px}.worlds-carousel-scene .worlds-grid .world-card{width:280px;height:400px}.world-card-image{height:170px}.carousel-nav{width:42px;height:42px}.world-creation-form{padding:var(--space-6);margin:0 var(--space-4)}.world-creation-actions{flex-direction:column;gap:var(--space-3)}}@media(max-width:480px){.world-manager-container{padding:var(--space-2)}.world-manager-title{font-size:var(--text-3xl)}.worlds-carousel-wrapper{height:400px}.worlds-carousel-scene .worlds-grid .world-card{width:260px;height:380px}.world-card-image{height:150px}.carousel-nav-left{left:4px}.carousel-nav-right{right:4px}.world-creation-form{padding:var(--space-4);margin:0 var(--space-2);border-radius:var(--radius-xl)}}.welcome-container{width:100%;max-width:var(--container-xl);margin:0 auto;padding:var(--space-8);text-align:center}.welcome-hero{margin-bottom:var(--space-16)}.welcome-title{font-size:var(--text-6xl);font-weight:var(--font-extrabold);color:var(--text-primary);margin:0 0 var(--space-6) 0;text-shadow:0 4px 8px rgba(0,0,0,.3);background:linear-gradient(135deg,var(--text-primary),var(--primary-300));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-subtitle{font-size:var(--text-xl);color:var(--text-secondary);margin:0 0 var(--space-8) 0;max-width:600px;margin-left:auto;margin-right:auto;line-height:var(--leading-relaxed)}.welcome-actions{display:flex;justify-content:center;gap:var(--space-6);margin-bottom:var(--space-16);flex-wrap:wrap}.welcome-btn-primary{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));color:var(--text-primary);padding:var(--space-5) var(--space-10);border:none;border-radius:var(--radius-2xl);font-size:var(--text-lg);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-medium),var(--shadow-primary);display:flex;align-items:center;gap:var(--space-3);text-decoration:none}.welcome-btn-primary:hover{background:linear-gradient(135deg,var(--primary-400),var(--primary-500));transform:translateY(-3px);box-shadow:var(--shadow-strong),var(--shadow-primary)}.welcome-btn-secondary{background:var(--bg-glass);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border:var(--glass-border);color:var(--text-primary);padding:var(--space-5) var(--space-10);border-radius:var(--radius-2xl);font-size:var(--text-lg);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-medium);display:flex;align-items:center;gap:var(--space-3);text-decoration:none}.welcome-btn-secondary:hover{background:var(--bg-glass-strong);transform:translateY(-2px);box-shadow:var(--shadow-strong)}.welcome-features{margin-bottom:var(--space-16)}.features-title{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0 0 var(--space-8) 0;text-shadow:0 2px 4px rgba(0,0,0,.2)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-8);margin-bottom:var(--space-12)}.feature-card{background:var(--bg-glass);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border:var(--glass-border);border-radius:var(--radius-2xl);padding:var(--space-8);text-align:center;transition:all var(--transition-normal);position:relative;overflow:hidden}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-strong);background:var(--bg-glass-strong)}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-400),var(--secondary-400))}.feature-icon{width:64px;height:64px;margin:0 auto var(--space-6) auto;background:linear-gradient(135deg,var(--primary-400),var(--secondary-400));border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:var(--text-2xl);color:var(--text-primary);box-shadow:var(--shadow-medium)}.feature-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-4) 0}.feature-description{font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0}.welcome-stats{background:var(--bg-glass);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border:var(--glass-border);border-radius:var(--radius-2xl);padding:var(--space-12);margin-bottom:var(--space-16)}.stats-title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0 0 var(--space-8) 0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-6)}.stat-item{text-align:center}.stat-value{font-size:var(--text-4xl);font-weight:var(--font-extrabold);color:var(--primary-400);margin:0 0 var(--space-2) 0;text-shadow:0 2px 4px rgba(0,0,0,.2)}.stat-label{font-size:var(--text-base);color:var(--text-secondary);margin:0;font-weight:var(--font-medium)}.welcome-testimonials{margin-bottom:var(--space-16)}.testimonials-title{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0 0 var(--space-8) 0;text-shadow:0 2px 4px rgba(0,0,0,.2)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--space-6)}.testimonial-card{background:var(--bg-glass);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border:var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-6);position:relative}.testimonial-quote{font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0 0 var(--space-4) 0;font-style:italic}.testimonial-author{display:flex;align-items:center;gap:var(--space-3)}.testimonial-avatar{width:40px;height:40px;border-radius:var(--radius-full);border:2px solid var(--border-light)}.testimonial-info{flex:1}.testimonial-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.testimonial-role{font-size:var(--text-xs);color:var(--text-muted);margin:0}.welcome-cta{background:linear-gradient(135deg,var(--primary-500),var(--secondary-500));border-radius:var(--radius-2xl);padding:var(--space-12);color:var(--text-primary);text-align:center;position:relative;overflow:hidden}.welcome-cta:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');opacity:.3}.cta-content{position:relative;z-index:1}.cta-title{font-size:var(--text-4xl);font-weight:var(--font-extrabold);margin:0 0 var(--space-4) 0;text-shadow:0 2px 4px rgba(0,0,0,.3)}.cta-subtitle{font-size:var(--text-lg);margin:0 0 var(--space-8) 0;opacity:.9;max-width:500px;margin-left:auto;margin-right:auto;line-height:var(--leading-relaxed)}.cta-button{background:var(--bg-white);color:var(--text-dark);padding:var(--space-5) var(--space-10);border:none;border-radius:var(--radius-2xl);font-size:var(--text-lg);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-strong);display:inline-flex;align-items:center;gap:var(--space-3);text-decoration:none}.cta-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-extra-strong);background:var(--gray-50)}@media(max-width:768px){.welcome-container{padding:var(--space-6)}.welcome-title{font-size:var(--text-4xl)}.welcome-subtitle{font-size:var(--text-lg)}.welcome-actions{flex-direction:column;align-items:center;gap:var(--space-4)}.welcome-btn-primary,.welcome-btn-secondary{width:100%;max-width:300px;justify-content:center}.features-grid{grid-template-columns:1fr;gap:var(--space-6)}.stats-grid{grid-template-columns:repeat(2,1fr)}.testimonials-grid{grid-template-columns:1fr}.features-title,.stats-title,.testimonials-title,.cta-title{font-size:var(--text-3xl)}.welcome-cta{padding:var(--space-8)}}@media(max-width:480px){.welcome-container{padding:var(--space-4)}.welcome-title{font-size:var(--text-3xl)}.feature-card,.welcome-stats,.welcome-cta{padding:var(--space-6)}.stats-grid{grid-template-columns:1fr;gap:var(--space-4)}.stat-value{font-size:var(--text-3xl)}}.m-0{margin:0}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-5{margin:var(--space-5)}.m-6{margin:var(--space-6)}.m-8{margin:var(--space-8)}.m-10{margin:var(--space-10)}.m-12{margin:var(--space-12)}.m-16{margin:var(--space-16)}.m-20{margin:var(--space-20)}.m-24{margin:var(--space-24)}.m-32{margin:var(--space-32)}.m-auto{margin:auto}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:var(--space-1);margin-right:var(--space-1)}.mx-2{margin-left:var(--space-2);margin-right:var(--space-2)}.mx-3{margin-left:var(--space-3);margin-right:var(--space-3)}.mx-4{margin-left:var(--space-4);margin-right:var(--space-4)}.mx-5{margin-left:var(--space-5);margin-right:var(--space-5)}.mx-6{margin-left:var(--space-6);margin-right:var(--space-6)}.mx-8{margin-left:var(--space-8);margin-right:var(--space-8)}.mx-10{margin-left:var(--space-10);margin-right:var(--space-10)}.mx-12{margin-left:var(--space-12);margin-right:var(--space-12)}.mx-16{margin-left:var(--space-16);margin-right:var(--space-16)}.mx-20{margin-left:var(--space-20);margin-right:var(--space-20)}.mx-24{margin-left:var(--space-24);margin-right:var(--space-24)}.mx-32{margin-left:var(--space-32);margin-right:var(--space-32)}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:var(--space-1);margin-bottom:var(--space-1)}.my-2{margin-top:var(--space-2);margin-bottom:var(--space-2)}.my-3{margin-top:var(--space-3);margin-bottom:var(--space-3)}.my-4{margin-top:var(--space-4);margin-bottom:var(--space-4)}.my-5{margin-top:var(--space-5);margin-bottom:var(--space-5)}.my-6{margin-top:var(--space-6);margin-bottom:var(--space-6)}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8)}.my-10{margin-top:var(--space-10);margin-bottom:var(--space-10)}.my-12{margin-top:var(--space-12);margin-bottom:var(--space-12)}.my-16{margin-top:var(--space-16);margin-bottom:var(--space-16)}.my-20{margin-top:var(--space-20);margin-bottom:var(--space-20)}.my-24{margin-top:var(--space-24);margin-bottom:var(--space-24)}.my-32{margin-top:var(--space-32);margin-bottom:var(--space-32)}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mt-10{margin-top:var(--space-10)}.mt-12{margin-top:var(--space-12)}.mt-16{margin-top:var(--space-16)}.mt-20{margin-top:var(--space-20)}.mt-24{margin-top:var(--space-24)}.mt-32{margin-top:var(--space-32)}.mt-auto{margin-top:auto}.mr-0{margin-right:0}.mr-1{margin-right:var(--space-1)}.mr-2{margin-right:var(--space-2)}.mr-3{margin-right:var(--space-3)}.mr-4{margin-right:var(--space-4)}.mr-5{margin-right:var(--space-5)}.mr-6{margin-right:var(--space-6)}.mr-8{margin-right:var(--space-8)}.mr-10{margin-right:var(--space-10)}.mr-12{margin-right:var(--space-12)}.mr-16{margin-right:var(--space-16)}.mr-20{margin-right:var(--space-20)}.mr-24{margin-right:var(--space-24)}.mr-32{margin-right:var(--space-32)}.mr-auto{margin-right:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mb-10{margin-bottom:var(--space-10)}.mb-12{margin-bottom:var(--space-12)}.mb-16{margin-bottom:var(--space-16)}.mb-20{margin-bottom:var(--space-20)}.mb-24{margin-bottom:var(--space-24)}.mb-32{margin-bottom:var(--space-32)}.mb-auto{margin-bottom:auto}.ml-0{margin-left:0}.ml-1{margin-left:var(--space-1)}.ml-2{margin-left:var(--space-2)}.ml-3{margin-left:var(--space-3)}.ml-4{margin-left:var(--space-4)}.ml-5{margin-left:var(--space-5)}.ml-6{margin-left:var(--space-6)}.ml-8{margin-left:var(--space-8)}.ml-10{margin-left:var(--space-10)}.ml-12{margin-left:var(--space-12)}.ml-16{margin-left:var(--space-16)}.ml-20{margin-left:var(--space-20)}.ml-24{margin-left:var(--space-24)}.ml-32{margin-left:var(--space-32)}.ml-auto{margin-left:auto}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.p-10{padding:var(--space-10)}.p-12{padding:var(--space-12)}.p-16{padding:var(--space-16)}.p-20{padding:var(--space-20)}.p-24{padding:var(--space-24)}.p-32{padding:var(--space-32)}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:var(--space-1);padding-right:var(--space-1)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-5{padding-left:var(--space-5);padding-right:var(--space-5)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.px-10{padding-left:var(--space-10);padding-right:var(--space-10)}.px-12{padding-left:var(--space-12);padding-right:var(--space-12)}.px-16{padding-left:var(--space-16);padding-right:var(--space-16)}.px-20{padding-left:var(--space-20);padding-right:var(--space-20)}.px-24{padding-left:var(--space-24);padding-right:var(--space-24)}.px-32{padding-left:var(--space-32);padding-right:var(--space-32)}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-5{padding-top:var(--space-5);padding-bottom:var(--space-5)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.py-10{padding-top:var(--space-10);padding-bottom:var(--space-10)}.py-12{padding-top:var(--space-12);padding-bottom:var(--space-12)}.py-16{padding-top:var(--space-16);padding-bottom:var(--space-16)}.py-20{padding-top:var(--space-20);padding-bottom:var(--space-20)}.py-24{padding-top:var(--space-24);padding-bottom:var(--space-24)}.py-32{padding-top:var(--space-32);padding-bottom:var(--space-32)}.pt-0{padding-top:0}.pt-1{padding-top:var(--space-1)}.pt-2{padding-top:var(--space-2)}.pt-3{padding-top:var(--space-3)}.pt-4{padding-top:var(--space-4)}.pt-5{padding-top:var(--space-5)}.pt-6{padding-top:var(--space-6)}.pt-8{padding-top:var(--space-8)}.pt-10{padding-top:var(--space-10)}.pt-12{padding-top:var(--space-12)}.pt-16{padding-top:var(--space-16)}.pt-20{padding-top:var(--space-20)}.pt-24{padding-top:var(--space-24)}.pt-32{padding-top:var(--space-32)}.pr-0{padding-right:0}.pr-1{padding-right:var(--space-1)}.pr-2{padding-right:var(--space-2)}.pr-3{padding-right:var(--space-3)}.pr-4{padding-right:var(--space-4)}.pr-5{padding-right:var(--space-5)}.pr-6{padding-right:var(--space-6)}.pr-8{padding-right:var(--space-8)}.pr-10{padding-right:var(--space-10)}.pr-12{padding-right:var(--space-12)}.pr-16{padding-right:var(--space-16)}.pr-20{padding-right:var(--space-20)}.pr-24{padding-right:var(--space-24)}.pr-32{padding-right:var(--space-32)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--space-1)}.pb-2{padding-bottom:var(--space-2)}.pb-3{padding-bottom:var(--space-3)}.pb-4{padding-bottom:var(--space-4)}.pb-5{padding-bottom:var(--space-5)}.pb-6{padding-bottom:var(--space-6)}.pb-8{padding-bottom:var(--space-8)}.pb-10{padding-bottom:var(--space-10)}.pb-12{padding-bottom:var(--space-12)}.pb-16{padding-bottom:var(--space-16)}.pb-20{padding-bottom:var(--space-20)}.pb-24{padding-bottom:var(--space-24)}.pb-32{padding-bottom:var(--space-32)}.pl-0{padding-left:0}.pl-1{padding-left:var(--space-1)}.pl-2{padding-left:var(--space-2)}.pl-3{padding-left:var(--space-3)}.pl-4{padding-left:var(--space-4)}.pl-5{padding-left:var(--space-5)}.pl-6{padding-left:var(--space-6)}.pl-8{padding-left:var(--space-8)}.pl-10{padding-left:var(--space-10)}.pl-12{padding-left:var(--space-12)}.pl-16{padding-left:var(--space-16)}.pl-20{padding-left:var(--space-20)}.pl-24{padding-left:var(--space-24)}.pl-32{padding-left:var(--space-32)}.space-y-0>*+*{margin-top:0}.space-y-1>*+*{margin-top:var(--space-1)}.space-y-2>*+*{margin-top:var(--space-2)}.space-y-3>*+*{margin-top:var(--space-3)}.space-y-4>*+*{margin-top:var(--space-4)}.space-y-5>*+*{margin-top:var(--space-5)}.space-y-6>*+*{margin-top:var(--space-6)}.space-y-8>*+*{margin-top:var(--space-8)}.space-y-10>*+*{margin-top:var(--space-10)}.space-y-12>*+*{margin-top:var(--space-12)}.space-y-16>*+*{margin-top:var(--space-16)}.space-y-20>*+*{margin-top:var(--space-20)}.space-y-24>*+*{margin-top:var(--space-24)}.space-y-32>*+*{margin-top:var(--space-32)}.space-x-0>*+*{margin-left:0}.space-x-1>*+*{margin-left:var(--space-1)}.space-x-2>*+*{margin-left:var(--space-2)}.space-x-3>*+*{margin-left:var(--space-3)}.space-x-4>*+*{margin-left:var(--space-4)}.space-x-5>*+*{margin-left:var(--space-5)}.space-x-6>*+*{margin-left:var(--space-6)}.space-x-8>*+*{margin-left:var(--space-8)}.space-x-10>*+*{margin-left:var(--space-10)}.space-x-12>*+*{margin-left:var(--space-12)}.space-x-16>*+*{margin-left:var(--space-16)}.space-x-20>*+*{margin-left:var(--space-20)}.space-x-24>*+*{margin-left:var(--space-24)}.space-x-32>*+*{margin-left:var(--space-32)}.-m-1{margin:calc(-1 * var(--space-1))}.-m-2{margin:calc(-1 * var(--space-2))}.-m-3{margin:calc(-1 * var(--space-3))}.-m-4{margin:calc(-1 * var(--space-4))}.-m-5{margin:calc(-1 * var(--space-5))}.-m-6{margin:calc(-1 * var(--space-6))}.-m-8{margin:calc(-1 * var(--space-8))}.-m-10{margin:calc(-1 * var(--space-10))}.-m-12{margin:calc(-1 * var(--space-12))}.-m-16{margin:calc(-1 * var(--space-16))}.-mt-1{margin-top:calc(-1 * var(--space-1))}.-mt-2{margin-top:calc(-1 * var(--space-2))}.-mt-3{margin-top:calc(-1 * var(--space-3))}.-mt-4{margin-top:calc(-1 * var(--space-4))}.-mt-5{margin-top:calc(-1 * var(--space-5))}.-mt-6{margin-top:calc(-1 * var(--space-6))}.-mt-8{margin-top:calc(-1 * var(--space-8))}.-mt-10{margin-top:calc(-1 * var(--space-10))}.-mt-12{margin-top:calc(-1 * var(--space-12))}.-mt-16{margin-top:calc(-1 * var(--space-16))}.-ml-1{margin-left:calc(-1 * var(--space-1))}.-ml-2{margin-left:calc(-1 * var(--space-2))}.-ml-3{margin-left:calc(-1 * var(--space-3))}.-ml-4{margin-left:calc(-1 * var(--space-4))}.-ml-5{margin-left:calc(-1 * var(--space-5))}.-ml-6{margin-left:calc(-1 * var(--space-6))}.-ml-8{margin-left:calc(-1 * var(--space-8))}.-ml-10{margin-left:calc(-1 * var(--space-10))}.-ml-12{margin-left:calc(-1 * var(--space-12))}.-ml-16{margin-left:calc(-1 * var(--space-16))}.text-primary-50{color:var(--primary-50)}.text-primary-100{color:var(--primary-100)}.text-primary-200{color:var(--primary-200)}.text-primary-300{color:var(--primary-300)}.text-primary-400{color:var(--primary-400)}.text-primary-500{color:var(--primary-500)}.text-primary-600{color:var(--primary-600)}.text-primary-700{color:var(--primary-700)}.text-primary-800{color:var(--primary-800)}.text-primary-900{color:var(--primary-900)}.text-secondary-50{color:var(--secondary-50)}.text-secondary-100{color:var(--secondary-100)}.text-secondary-200{color:var(--secondary-200)}.text-secondary-300{color:var(--secondary-300)}.text-secondary-400{color:var(--secondary-400)}.text-secondary-500{color:var(--secondary-500)}.text-secondary-600{color:var(--secondary-600)}.text-secondary-700{color:var(--secondary-700)}.text-secondary-800{color:var(--secondary-800)}.text-secondary-900{color:var(--secondary-900)}.text-accent-50{color:var(--accent-50)}.text-accent-100{color:var(--accent-100)}.text-accent-200{color:var(--accent-200)}.text-accent-300{color:var(--accent-300)}.text-accent-400{color:var(--accent-400)}.text-accent-500{color:var(--accent-500)}.text-accent-600{color:var(--accent-600)}.text-accent-700{color:var(--accent-700)}.text-accent-800{color:var(--accent-800)}.text-accent-900{color:var(--accent-900)}.text-gray-50{color:var(--gray-50)}.text-gray-100{color:var(--gray-100)}.text-gray-200{color:var(--gray-200)}.text-gray-300{color:var(--gray-300)}.text-gray-400{color:var(--gray-400)}.text-gray-500{color:var(--gray-500)}.text-gray-600{color:var(--gray-600)}.text-gray-700{color:var(--gray-700)}.text-gray-800{color:var(--gray-800)}.text-gray-900{color:var(--gray-900)}.text-success{color:var(--success)}.text-success-light{color:var(--success-light)}.text-warning{color:var(--warning)}.text-warning-light{color:var(--warning-light)}.text-error{color:var(--error)}.text-error-light{color:var(--error-light)}.text-info{color:var(--info)}.text-info-light{color:var(--info-light)}.text-white{color:var(--text-primary)}.text-black{color:var(--text-dark)}.text-transparent{color:transparent}.text-current{color:currentColor}.bg-primary-50{background-color:var(--primary-50)}.bg-primary-100{background-color:var(--primary-100)}.bg-primary-200{background-color:var(--primary-200)}.bg-primary-300{background-color:var(--primary-300)}.bg-primary-400{background-color:var(--primary-400)}.bg-primary-500{background-color:var(--primary-500)}.bg-primary-600{background-color:var(--primary-600)}.bg-primary-700{background-color:var(--primary-700)}.bg-primary-800{background-color:var(--primary-800)}.bg-primary-900{background-color:var(--primary-900)}.bg-secondary-50{background-color:var(--secondary-50)}.bg-secondary-100{background-color:var(--secondary-100)}.bg-secondary-200{background-color:var(--secondary-200)}.bg-secondary-300{background-color:var(--secondary-300)}.bg-secondary-400{background-color:var(--secondary-400)}.bg-secondary-500{background-color:var(--secondary-500)}.bg-secondary-600{background-color:var(--secondary-600)}.bg-secondary-700{background-color:var(--secondary-700)}.bg-secondary-800{background-color:var(--secondary-800)}.bg-secondary-900{background-color:var(--secondary-900)}.bg-accent-50{background-color:var(--accent-50)}.bg-accent-100{background-color:var(--accent-100)}.bg-accent-200{background-color:var(--accent-200)}.bg-accent-300{background-color:var(--accent-300)}.bg-accent-400{background-color:var(--accent-400)}.bg-accent-500{background-color:var(--accent-500)}.bg-accent-600{background-color:var(--accent-600)}.bg-accent-700{background-color:var(--accent-700)}.bg-accent-800{background-color:var(--accent-800)}.bg-accent-900{background-color:var(--accent-900)}.bg-gray-50{background-color:var(--gray-50)}.bg-gray-100{background-color:var(--gray-100)}.bg-gray-200{background-color:var(--gray-200)}.bg-gray-300{background-color:var(--gray-300)}.bg-gray-400{background-color:var(--gray-400)}.bg-gray-500{background-color:var(--gray-500)}.bg-gray-600{background-color:var(--gray-600)}.bg-gray-700{background-color:var(--gray-700)}.bg-gray-800{background-color:var(--gray-800)}.bg-gray-900{background-color:var(--gray-900)}.bg-success{background-color:var(--success)}.bg-success-light{background-color:var(--success-light)}.bg-warning{background-color:var(--warning)}.bg-warning-light{background-color:var(--warning-light)}.bg-error{background-color:var(--error)}.bg-error-light{background-color:var(--error-light)}.bg-info{background-color:var(--info)}.bg-info-light{background-color:var(--info-light)}.bg-white{background-color:var(--bg-white)}.bg-white-pure{background-color:var(--bg-white-pure)}.bg-transparent{background-color:transparent}.bg-current{background-color:currentColor}.bg-glass{background-color:var(--bg-glass)}.bg-glass-strong{background-color:var(--bg-glass-strong)}.bg-glass-subtle{background-color:var(--bg-glass-subtle)}.bg-dark{background-color:var(--bg-dark)}.bg-dark-strong{background-color:var(--bg-dark-strong)}.bg-gradient-primary{background:linear-gradient(135deg,var(--primary-400),var(--primary-600))}.bg-gradient-primary-vertical{background:linear-gradient(180deg,var(--primary-400),var(--primary-600))}.bg-gradient-primary-horizontal{background:linear-gradient(90deg,var(--primary-400),var(--primary-600))}.bg-gradient-secondary{background:linear-gradient(135deg,var(--secondary-400),var(--secondary-600))}.bg-gradient-secondary-vertical{background:linear-gradient(180deg,var(--secondary-400),var(--secondary-600))}.bg-gradient-secondary-horizontal{background:linear-gradient(90deg,var(--secondary-400),var(--secondary-600))}.bg-gradient-accent{background:linear-gradient(135deg,var(--accent-400),var(--accent-600))}.bg-gradient-accent-vertical{background:linear-gradient(180deg,var(--accent-400),var(--accent-600))}.bg-gradient-accent-horizontal{background:linear-gradient(90deg,var(--accent-400),var(--accent-600))}.bg-gradient-primary-secondary{background:linear-gradient(135deg,var(--primary-500),var(--secondary-500))}.bg-gradient-primary-accent{background:linear-gradient(135deg,var(--primary-500),var(--accent-500))}.bg-gradient-secondary-accent{background:linear-gradient(135deg,var(--secondary-500),var(--accent-500))}.bg-gradient-rainbow{background:linear-gradient(135deg,var(--primary-400),var(--secondary-400),var(--accent-400),var(--success),var(--warning))}.bg-gradient-sunset{background:linear-gradient(135deg,#ff6b6b,orange,#ff1493,#9932cc)}.bg-gradient-ocean{background:linear-gradient(135deg,var(--primary-600),var(--info),var(--secondary-400))}.border-primary-50{border-color:var(--primary-50)}.border-primary-100{border-color:var(--primary-100)}.border-primary-200{border-color:var(--primary-200)}.border-primary-300{border-color:var(--primary-300)}.border-primary-400{border-color:var(--primary-400)}.border-primary-500{border-color:var(--primary-500)}.border-primary-600{border-color:var(--primary-600)}.border-primary-700{border-color:var(--primary-700)}.border-primary-800{border-color:var(--primary-800)}.border-primary-900{border-color:var(--primary-900)}.border-secondary-50{border-color:var(--secondary-50)}.border-secondary-100{border-color:var(--secondary-100)}.border-secondary-200{border-color:var(--secondary-200)}.border-secondary-300{border-color:var(--secondary-300)}.border-secondary-400{border-color:var(--secondary-400)}.border-secondary-500{border-color:var(--secondary-500)}.border-secondary-600{border-color:var(--secondary-600)}.border-secondary-700{border-color:var(--secondary-700)}.border-secondary-800{border-color:var(--secondary-800)}.border-secondary-900{border-color:var(--secondary-900)}.border-gray-50{border-color:var(--gray-50)}.border-gray-100{border-color:var(--gray-100)}.border-gray-200{border-color:var(--gray-200)}.border-gray-300{border-color:var(--gray-300)}.border-gray-400{border-color:var(--gray-400)}.border-gray-500{border-color:var(--gray-500)}.border-gray-600{border-color:var(--gray-600)}.border-gray-700{border-color:var(--gray-700)}.border-gray-800{border-color:var(--gray-800)}.border-gray-900{border-color:var(--gray-900)}.border-success{border-color:var(--success)}.border-warning{border-color:var(--warning)}.border-error{border-color:var(--error)}.border-info{border-color:var(--info)}.border-white{border-color:var(--text-primary)}.border-black{border-color:var(--text-dark)}.border-transparent{border-color:transparent}.border-current{border-color:currentColor}.border-light{border-color:var(--border-light)}.border-medium{border-color:var(--border-medium)}.border-strong{border-color:var(--border-strong)}.border-dark{border-color:var(--border-dark)}.opacity-0{opacity:0}.opacity-5{opacity:.05}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-95{opacity:.95}.opacity-100{opacity:1}.hover\:text-primary-400:hover{color:var(--primary-400)}.hover\:text-primary-500:hover{color:var(--primary-500)}.hover\:text-secondary-400:hover{color:var(--secondary-400)}.hover\:text-secondary-500:hover{color:var(--secondary-500)}.hover\:text-white:hover{color:var(--text-primary)}.hover\:bg-primary-400:hover{background-color:var(--primary-400)}.hover\:bg-primary-500:hover{background-color:var(--primary-500)}.hover\:bg-secondary-400:hover{background-color:var(--secondary-400)}.hover\:bg-secondary-500:hover{background-color:var(--secondary-500)}.hover\:bg-glass:hover{background-color:var(--bg-glass)}.hover\:bg-glass-strong:hover{background-color:var(--bg-glass-strong)}.hover\:opacity-50:hover{opacity:.5}.hover\:opacity-75:hover{opacity:.75}.hover\:opacity-100:hover{opacity:1}.focus\:text-primary-500:focus{color:var(--primary-500)}.focus\:text-secondary-500:focus{color:var(--secondary-500)}.focus\:bg-primary-50:focus{background-color:var(--primary-50)}.focus\:bg-secondary-50:focus{background-color:var(--secondary-50)}.focus\:border-primary-500:focus{border-color:var(--primary-500)}.focus\:border-secondary-500:focus{border-color:var(--secondary-500)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-30px,0)}70%{transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(30px)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 5px currentColor}50%{box-shadow:0 0 20px currentColor,0 0 30px currentColor}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.animate-spin-slow{animation:spin 3s linear infinite}.animate-spin-fast{animation:spin .5s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-pulse-fast{animation:pulse 1s cubic-bezier(.4,0,.6,1) infinite}.animate-pulse-slow{animation:pulse 3s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s infinite}.animate-bounce-slow{animation:bounce 2s infinite}.animate-bounce-fast{animation:bounce .5s infinite}.animate-fade-in{animation:fadeIn .5s ease-out}.animate-fade-in-slow{animation:fadeIn 1s ease-out}.animate-fade-in-fast{animation:fadeIn .3s ease-out}.animate-fade-out{animation:fadeOut .5s ease-out}.animate-fade-out-slow{animation:fadeOut 1s ease-out}.animate-fade-out-fast{animation:fadeOut .3s ease-out}.animate-slide-in-up{animation:slideInUp .5s ease-out}.animate-slide-in-down{animation:slideInDown .5s ease-out}.animate-slide-in-left{animation:slideInLeft .5s ease-out}.animate-slide-in-right{animation:slideInRight .5s ease-out}.animate-scale-in{animation:scaleIn .3s ease-out}.animate-scale-out{animation:scaleOut .3s ease-out}.animate-shake{animation:shake .5s ease-in-out}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-gradient{background-size:200% 200%;animation:gradientShift 3s ease infinite}.animate-typing{overflow:hidden;white-space:nowrap;border-right:2px solid currentColor;animation:typing 3s steps(40,end),blink .75s step-end infinite}.animate-delay-75{animation-delay:75ms}.animate-delay-100{animation-delay:.1s}.animate-delay-150{animation-delay:.15s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-500{animation-delay:.5s}.animate-delay-700{animation-delay:.7s}.animate-delay-1000{animation-delay:1s}.animate-duration-75{animation-duration:75ms}.animate-duration-100{animation-duration:.1s}.animate-duration-150{animation-duration:.15s}.animate-duration-200{animation-duration:.2s}.animate-duration-300{animation-duration:.3s}.animate-duration-500{animation-duration:.5s}.animate-duration-700{animation-duration:.7s}.animate-duration-1000{animation-duration:1s}.animate-paused{animation-play-state:paused}.animate-running{animation-play-state:running}.animate-normal{animation-direction:normal}.animate-reverse{animation-direction:reverse}.animate-alternate{animation-direction:alternate}.animate-alternate-reverse{animation-direction:alternate-reverse}.animate-fill-none{animation-fill-mode:none}.animate-fill-forwards{animation-fill-mode:forwards}.animate-fill-backwards{animation-fill-mode:backwards}.animate-fill-both{animation-fill-mode:both}.transition-all{transition:all var(--transition-normal)}.transition-all-fast{transition:all var(--transition-fast)}.transition-all-slow{transition:all var(--transition-slow)}.transition-colors{transition:color var(--transition-normal),background-color var(--transition-normal),border-color var(--transition-normal)}.transition-opacity{transition:opacity var(--transition-normal)}.transition-transform{transition:transform var(--transition-normal)}.transition-shadow{transition:box-shadow var(--transition-normal)}.scale-0{transform:scale(0)}.scale-50{transform:scale(.5)}.scale-75{transform:scale(.75)}.scale-90{transform:scale(.9)}.scale-95{transform:scale(.95)}.scale-100{transform:scale(1)}.scale-105{transform:scale(1.05)}.scale-110{transform:scale(1.1)}.scale-125{transform:scale(1.25)}.scale-150{transform:scale(1.5)}.rotate-0{transform:rotate(0)}.rotate-1{transform:rotate(1deg)}.rotate-2{transform:rotate(2deg)}.rotate-3{transform:rotate(3deg)}.rotate-6{transform:rotate(6deg)}.rotate-12{transform:rotate(12deg)}.rotate-45{transform:rotate(45deg)}.rotate-90{transform:rotate(90deg)}.rotate-180{transform:rotate(180deg)}.-rotate-1{transform:rotate(-1deg)}.-rotate-2{transform:rotate(-2deg)}.-rotate-3{transform:rotate(-3deg)}.-rotate-6{transform:rotate(-6deg)}.-rotate-12{transform:rotate(-12deg)}.-rotate-45{transform:rotate(-45deg)}.-rotate-90{transform:rotate(-90deg)}.-rotate-180{transform:rotate(-180deg)}.translate-x-0{transform:translate(0)}.translate-x-1{transform:translate(var(--space-1))}.translate-x-2{transform:translate(var(--space-2))}.translate-x-3{transform:translate(var(--space-3))}.translate-x-4{transform:translate(var(--space-4))}.translate-x-5{transform:translate(var(--space-5))}.translate-x-6{transform:translate(var(--space-6))}.translate-x-8{transform:translate(var(--space-8))}.translate-x-10{transform:translate(var(--space-10))}.translate-x-12{transform:translate(var(--space-12))}.translate-x-16{transform:translate(var(--space-16))}.-translate-x-1{transform:translate(calc(-1 * var(--space-1)))}.-translate-x-2{transform:translate(calc(-1 * var(--space-2)))}.-translate-x-3{transform:translate(calc(-1 * var(--space-3)))}.-translate-x-4{transform:translate(calc(-1 * var(--space-4)))}.-translate-x-5{transform:translate(calc(-1 * var(--space-5)))}.-translate-x-6{transform:translate(calc(-1 * var(--space-6)))}.-translate-x-8{transform:translate(calc(-1 * var(--space-8)))}.-translate-x-10{transform:translate(calc(-1 * var(--space-10)))}.-translate-x-12{transform:translate(calc(-1 * var(--space-12)))}.-translate-x-16{transform:translate(calc(-1 * var(--space-16)))}.translate-y-0{transform:translateY(0)}.translate-y-1{transform:translateY(var(--space-1))}.translate-y-2{transform:translateY(var(--space-2))}.translate-y-3{transform:translateY(var(--space-3))}.translate-y-4{transform:translateY(var(--space-4))}.translate-y-5{transform:translateY(var(--space-5))}.translate-y-6{transform:translateY(var(--space-6))}.translate-y-8{transform:translateY(var(--space-8))}.translate-y-10{transform:translateY(var(--space-10))}.translate-y-12{transform:translateY(var(--space-12))}.translate-y-16{transform:translateY(var(--space-16))}.-translate-y-1{transform:translateY(calc(-1 * var(--space-1)))}.-translate-y-2{transform:translateY(calc(-1 * var(--space-2)))}.-translate-y-3{transform:translateY(calc(-1 * var(--space-3)))}.-translate-y-4{transform:translateY(calc(-1 * var(--space-4)))}.-translate-y-5{transform:translateY(calc(-1 * var(--space-5)))}.-translate-y-6{transform:translateY(calc(-1 * var(--space-6)))}.-translate-y-8{transform:translateY(calc(-1 * var(--space-8)))}.-translate-y-10{transform:translateY(calc(-1 * var(--space-10)))}.-translate-y-12{transform:translateY(calc(-1 * var(--space-12)))}.-translate-y-16{transform:translateY(calc(-1 * var(--space-16)))}.hover\:scale-105:hover{transform:scale(1.05)}.hover\:scale-110:hover{transform:scale(1.1)}.hover\:scale-125:hover{transform:scale(1.25)}.hover\:-translate-y-1:hover{transform:translateY(calc(-1 * var(--space-1)))}.hover\:-translate-y-2:hover{transform:translateY(calc(-1 * var(--space-2)))}.hover\:-translate-y-3:hover{transform:translateY(calc(-1 * var(--space-3)))}.hover\:rotate-1:hover{transform:rotate(1deg)}.hover\:rotate-2:hover{transform:rotate(2deg)}.hover\:rotate-3:hover{transform:rotate(3deg)}.animate-loading-dots{display:inline-flex;gap:var(--space-1)}.animate-loading-dots:before,.animate-loading-dots:after{content:"";width:4px;height:4px;border-radius:50%;background:currentColor;animation:pulse 1.4s ease-in-out infinite both}.animate-loading-dots:before{animation-delay:-.32s}.animate-loading-dots:after{animation-delay:-.16s}.animate-skeleton{background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-300) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:gradientShift 1.5s ease-in-out infinite}@keyframes heartbeat{0%,50%,to{transform:scale(1)}25%,75%{transform:scale(1.1)}}.animate-heartbeat{animation:heartbeat 1.5s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.animate-spin,.animate-pulse,.animate-bounce,.animate-fade-in,.animate-fade-out,.animate-slide-in-up,.animate-slide-in-down,.animate-slide-in-left,.animate-slide-in-right,.animate-scale-in,.animate-scale-out,.animate-shake,.animate-float,.animate-glow,.animate-gradient,.animate-typing,.animate-loading-dots,.animate-skeleton,.animate-heartbeat{animation:none!important}.transition-all,.transition-all-fast,.transition-all-slow,.transition-colors,.transition-opacity,.transition-transform,.transition-shadow{transition:none!important}}body{transition:background .5s ease-in-out}.app-header{background:#fff3!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}body.game-background-active .main-content{background:transparent!important;padding-top:60px;margin-top:-60px}html{height:100%}body{background:var(--bg-app);background-attachment:fixed;height:100vh;overflow:hidden;font-family:var(--font-family-sans);color:var(--text-primary);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:auto;position:fixed;top:0;left:0;width:100%}#app{height:100vh;overflow-y:auto;position:relative}*:focus-visible{outline:2px solid var(--primary-400);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--primary-400);color:var(--text-primary)}::-moz-selection{background:var(--primary-400);color:var(--text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-glass-subtle);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--bg-glass);border-radius:var(--radius-full);border:1px solid var(--border-light)}::-webkit-scrollbar-thumb:hover{background:var(--bg-glass-strong)}html{scrollbar-width:thin;scrollbar-color:var(--bg-glass) var(--bg-glass-subtle)}*{-webkit-tap-highlight-color:transparent}.loading{pointer-events:none;opacity:.7}.disabled{pointer-events:none;opacity:.5}.debug-red{border:1px solid red!important}.debug-blue{border:1px solid blue!important}.debug-green{border:1px solid green!important}@media(max-width:640px){.sm\:hidden{display:none}}@media(max-width:768px){.md\:hidden{display:none}}@media(max-width:1024px){.lg\:hidden{display:none}}@media(max-width:1280px){.xl\:hidden{display:none}}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}body{background:#fff!important}.no-print{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-color-scheme:dark){:root{color-scheme:dark}}@media(prefers-contrast:high){:root{--border-light: rgba(255, 255, 255, .6);--border-medium: rgba(255, 255, 255, .8);--border-strong: rgba(255, 255, 255, 1);--text-muted: rgba(255, 255, 255, .8)}}body #gameCharactersDisplay .game-characters-grid .game-character-card .game-character-portrait{width:auto!important;height:50vh!important;object-fit:cover!important;border-radius:12px!important}body #gameCharactersDisplay .game-characters-grid .game-character-card canvas.game-character-portrait{width:auto!important;height:50vh!important;max-width:200px!important;border-radius:12px!important;object-fit:contain!important}#auth-container,.auth-container{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:10000!important;margin:0!important;padding:20px!important;box-sizing:border-box!important}#auth-container .auth-form,.auth-container .auth-form{margin:0 auto!important;position:relative!important;transform:none!important;left:auto!important;right:auto!important}#alpha-gate{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#1a1a2e,#0d0d1a)}.alpha-gate-card{text-align:center;padding:3rem;border-radius:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);max-width:400px;width:90%}.alpha-gate-card h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,#a78bfa,#60a5fa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.alpha-gate-card p{color:#fff9;margin-bottom:1.5rem}.alpha-gate-card input{width:100%;padding:.75rem 1rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.2);background:#0000004d;color:#fff;font-size:1rem;margin-bottom:1rem;box-sizing:border-box}.alpha-gate-card input:focus{outline:none;border-color:#7c3aed}.alpha-gate-card button{width:100%;padding:.75rem;border-radius:.5rem;border:none;background:linear-gradient(135deg,#7c3aed,#3b82f6);color:#fff;font-size:1rem;cursor:pointer;transition:opacity .2s}.alpha-gate-card button:hover{opacity:.9}.btn{border:none;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;position:relative;overflow:hidden}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn--primary{background:linear-gradient(45deg,var(--color-accent),#ee5a24);color:var(--text-primary);box-shadow:var(--shadow-light)}.btn--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ff6b6b66;background:linear-gradient(45deg,var(--color-accent-light),#d63031)}.btn--primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-light)}.btn--primary.loading{background:linear-gradient(45deg,var(--color-primary),var(--color-primary-dark))}.btn--primary.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top:2px solid var(--text-primary);border-radius:50%;animation:spin 1s linear infinite}.btn--secondary{background:var(--bg-secondary);border:1px solid var(--border-light);color:var(--text-primary);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.btn--secondary:hover:not(:disabled){background:#fff3;border-color:var(--border-primary);transform:scale(1.05)}.btn--icon{width:40px;height:40px;border-radius:50%;padding:0;background:var(--bg-dark);border:1px solid var(--border-light);color:var(--text-primary);font-size:1.2rem;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all var(--transition-fast)}.btn--icon:hover{background:var(--color-primary-light);transform:scale(1.1)}.btn--icon.btn--small{width:36px;height:36px;font-size:1.1rem}.card{background:var(--bg-secondary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-medium);border:1px solid var(--border-light);transition:all var(--transition-fast)}.card--glass{background:linear-gradient(120deg,var(--bg-glass) 60%,rgba(116,185,255,.22) 100%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-xl);box-shadow:0 8px 32px #0009,0 1.5px #74b9ff70;border:1.5px solid rgba(255,255,255,.13)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-fast)}.modal-content{background:#1e1e1ef2;border-radius:var(--radius-lg);max-width:90%;max-height:90%;overflow-y:auto;box-shadow:var(--shadow-heavy);border:1px solid var(--border-light);animation:scaleIn var(--transition-fast)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-light);background:#0000004d;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-header h2{color:var(--color-primary);margin:0;font-size:1.5rem}.modal-close{background:none;border:none;color:var(--text-primary);font-size:2rem;cursor:pointer;padding:0;width:40px;height:40px;border-radius:50%;transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-secondary);transform:scale(1.1)}.modal-body{padding:var(--spacing-lg);color:var(--text-primary)}.character-details-modal,.gamemaster-details-modal{max-width:1200px;width:95%}.gamemaster-modal{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-large);border:2px solid var(--border-light);max-width:1400px;width:95%;height:90vh;overflow-y:auto}.gamemaster-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:2px solid var(--border-light);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);color:#fff;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.gamemaster-modal-header h3{margin:0;font-size:1.5rem;font-weight:700}.gamemaster-profile{display:flex;gap:var(--spacing-lg);padding:var(--spacing-lg);border-bottom:1px solid var(--border-light)}.gamemaster-avatar{flex:0 0 120px}.gamemaster-avatar img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid var(--color-primary)}.gamemaster-info{flex:1}.gamemaster-info p{margin:var(--spacing-sm) 0;color:var(--text-secondary)}.gamemaster-tabs{display:flex;border-bottom:2px solid var(--border-light);background:var(--bg-secondary)}.gamemaster-tab{padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;cursor:pointer;font-weight:500;color:var(--text-secondary);transition:all var(--transition-fast);border-bottom:3px solid transparent}.gamemaster-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.gamemaster-tab.active{background:var(--bg-primary);color:var(--color-primary);border-bottom-color:var(--color-primary)}.gamemaster-content{padding:var(--spacing-lg)}.gamemaster-tab-content{display:none}.gamemaster-tab-content.active{display:block}.gamemaster-events{overflow-y:auto;padding-right:var(--spacing-sm)}.gamemaster-scene-description{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-left:4px solid var(--color-primary)}.scene-description-header{display:flex;align-items:center;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-light)}.scene-description-badge{background:var(--color-primary);color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.scene-description-content{color:var(--text-primary);line-height:1.6;font-size:.95rem}.gamemaster-choice-item{background:linear-gradient(135deg,#fef3c7,#fde68a);border-left:4px solid #f59e0b}.choice-header{display:flex;align-items:center;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid rgba(245,158,11,.3)}.choice-badge{background:#f59e0b;color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.choice-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.choice-option{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm);background:#ffffffb3;border-radius:var(--radius-sm);border:1px solid rgba(245,158,11,.2);transition:all var(--transition-fast)}.choice-option:hover{background:#ffffffe6;border-color:#f59e0b;transform:translate(4px);box-shadow:0 2px 8px #f59e0b33}.choice-bullet{color:#f59e0b;font-weight:700;font-size:.9rem;margin-top:2px}.choice-text{flex:1;color:var(--text-primary);line-height:1.5;font-size:.9rem}.gamemaster-character-item{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-left:4px solid #0ea5e9}.character-header{display:flex;align-items:center;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid rgba(14,165,233,.3)}.character-badge{background:#0ea5e9;color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.character-content{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.character-tag{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:.85rem;font-weight:500;box-shadow:0 2px 4px #0ea5e94d;transition:all var(--transition-fast)}.character-tag:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0ea5e966}.gamemaster-memory-item,.gamemaster-scene-item,.gamemaster-choice-item,.gamemaster-movement-item,.gamemaster-user-input-item{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);transition:all var(--transition-fast)}.gamemaster-sub-element{background:#ffffff80;border:1px solid rgba(0,0,0,.1);border-radius:6px;padding:12px;margin:8px 0 8px 16px;font-size:.9em;transition:all var(--transition-fast)}.gamemaster-sub-element:hover{background:#ffffffb3;border-color:#0003;transform:translate(2px)}.gamemaster-sub-element.gamemaster-scene-description{border-left:4px solid #3b82f6}.gamemaster-sub-element.gamemaster-choice-item{border-left:4px solid #10b981}.gamemaster-sub-element.gamemaster-character-item{border-left:4px solid #f59e0b}.gamemaster-sub-element.gamemaster-user-input-item{background:linear-gradient(135deg,#f0f9ffcc,#e0f2fecc);border-left:4px solid #0ea5e9}.gamemaster-sub-element.gamemaster-memory-item{border-left:4px solid #8b5cf6}.gamemaster-sub-element.gamemaster-movement-item{border-left:4px solid #ef4444}.gamemaster-memory-item:hover,.gamemaster-scene-item:hover,.gamemaster-choice-item:hover,.gamemaster-movement-item:hover,.gamemaster-user-input-item:hover{border-color:var(--color-primary);box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.2)}.gamemaster-user-input-item{background:linear-gradient(135deg,#f0f9ff,#e0f2fe)!important;border-color:#0ea5e9!important;border-width:2px!important;border-style:solid!important}.gamemaster-user-input-item:hover{border-color:#0284c7!important;box-shadow:0 2px 8px #0ea5e94d!important}.memory-header,.scene-header,.choice-header,.movement-header,.user-input-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-light)}.memory-index,.scene-index,.choice-index,.movement-index,.user-input-badge{font-weight:700;color:var(--color-primary);font-size:.9rem}.memory-timestamp,.scene-timestamp,.choice-timestamp,.movement-timestamp,.user-input-timestamp{font-size:.8rem;color:var(--text-muted);font-style:italic}.movement-badge{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;padding:2px 8px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:700;margin-left:var(--spacing-sm)}.scene-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.scene-response{background:var(--bg-primary);padding:var(--spacing-sm);border-radius:var(--radius-sm);border-left:4px solid var(--color-primary)}.scene-user-input{background:var(--bg-accent);padding:var(--spacing-sm);border-radius:var(--radius-sm);border-left:4px solid var(--color-secondary);font-style:italic}.scene-choices,.scene-characters,.scene-location{padding:var(--spacing-xs) var(--spacing-sm);background:rgba(var(--color-primary-rgb),.1);border-radius:var(--radius-sm);font-size:.9rem}.choice-options{background:rgba(var(--color-secondary-rgb),.1);padding:var(--spacing-sm);border-radius:var(--radius-sm);margin-top:var(--spacing-xs)}.movement-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.movement-message{background:linear-gradient(135deg,#ff6b6b1a,#ee5a241a);padding:var(--spacing-sm);border-radius:var(--radius-sm);border-left:4px solid #ff6b6b;font-weight:500}.movement-details{font-size:.9rem;color:var(--text-secondary);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-primary);border-radius:var(--radius-sm)}.memory-content{background:var(--bg-primary);padding:var(--spacing-sm);border-radius:var(--radius-sm);border-left:4px solid var(--color-accent);margin-bottom:var(--spacing-sm)}.memory-context{background:rgba(var(--color-accent-rgb),.1);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);margin-top:var(--spacing-xs);font-size:.9rem}.choice-user-input{background:var(--bg-accent);padding:var(--spacing-sm);border-radius:var(--radius-sm);border-left:4px solid var(--color-secondary);font-style:italic;margin-bottom:var(--spacing-sm)}.no-content{text-align:center;color:var(--text-muted);font-style:italic;padding:var(--spacing-xl);background:var(--bg-secondary);border-radius:var(--radius-md);border:2px dashed var(--border-light)}.character-info-section,.gamemaster-info-section{margin-bottom:var(--spacing-lg)}.character-info-section h3,.gamemaster-info-section h3{color:var(--color-primary);margin-bottom:var(--spacing-md);font-size:1.3rem;border-bottom:2px solid var(--color-primary);padding-bottom:var(--spacing-xs)}.character-details-content{display:flex;gap:var(--spacing-lg);align-items:flex-start;margin-bottom:var(--spacing-lg)}.character-image-section{flex:0 0 300px;text-align:center}.character-image-section img{max-width:100%;max-height:400px;border-radius:var(--radius-md);box-shadow:var(--shadow-medium);border:2px solid var(--border-light)}.character-info-content{flex:1;min-width:0}.character-info-content .character-info-section{margin-bottom:0}.image-prompts-section,.memories-section,.appearance-list,.traits-list,.history-text{width:100%;margin-top:var(--spacing-lg)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.info-item{background:#ffffff0d;border-radius:var(--radius-sm);padding:var(--spacing-md);border-left:3px solid var(--color-primary)}.info-item strong{color:var(--color-primary);display:block;margin-bottom:var(--spacing-xs);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.memories-section,.choices-section{margin-bottom:var(--spacing-lg)}.memories-section h3,.choices-section h3{color:var(--color-primary);margin-bottom:var(--spacing-md);font-size:1.3rem;border-bottom:2px solid var(--color-primary);padding-bottom:var(--spacing-xs)}.memories-list,.choices-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.memory-item,.choice-item{background:#ffffff0d;border-radius:var(--radius-md);padding:var(--spacing-md);border:1px solid var(--border-light)}.memory-header,.choice-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.memory-type,.memory-date,.memory-scene,.choice-date{background:var(--color-primary-light);color:var(--text-primary);padding:.2rem .6rem;border-radius:12px;font-size:.8rem;font-weight:700}.memory-perspective,.memory-impact,.memory-progress,.memory-events,.memory-interactions,.memory-thoughts,.choice-input,.choice-options{margin-bottom:var(--spacing-sm)}.memory-perspective strong,.memory-impact strong,.memory-progress strong,.memory-events strong,.memory-interactions strong,.memory-thoughts strong,.choice-input strong,.choice-options strong{color:var(--color-primary);display:block;margin-bottom:var(--spacing-xs);font-size:.9rem}.memory-events ul,.memory-interactions ul,.choice-options ul{margin:var(--spacing-xs) 0;padding-left:var(--spacing-md)}.memory-events li,.memory-interactions li,.choice-options li{margin-bottom:var(--spacing-xs);color:var(--text-primary);line-height:1.4}.image-prompts-section,.appearance-list,.traits-list,.history-text{margin-bottom:var(--spacing-lg)}.image-generation-info{margin-bottom:var(--spacing-md);padding:var(--spacing-sm);background:#74b9ff1a;border-radius:var(--radius-sm);border:1px solid rgba(116,185,255,.3)}.image-prompts-section h3,.appearance-list h3,.traits-list h3,.history-text h3{color:var(--color-primary);margin-bottom:var(--spacing-md);font-size:1.3rem;border-bottom:2px solid var(--color-primary);padding-bottom:var(--spacing-xs)}.prompt-group{margin-bottom:var(--spacing-md)}.prompt-group label{display:block;color:var(--text-primary);margin-bottom:var(--spacing-xs);font-weight:600}.prompt-textarea{width:100%;min-height:80px;padding:var(--spacing-md);border:2px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-family:inherit;line-height:1.5;resize:vertical;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all var(--transition-fast)}.prompt-textarea:focus{outline:none;border-color:var(--color-primary);background:#ffffff26;box-shadow:0 0 0 3px #74b9ff4d}.seed-info{background:var(--color-primary-light);color:var(--text-primary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-weight:700;display:inline-block;margin-top:var(--spacing-sm)}.appearance-item,.trait-tag{background:#74b9ff33;border:1px solid rgba(116,185,255,.3);padding:var(--spacing-xs) var(--spacing-sm);border-radius:20px;font-size:.9rem;color:var(--text-primary);display:inline-block;margin:var(--spacing-xs)}.history-text{background:#ffffff0d;border-radius:var(--radius-md);padding:var(--spacing-md);border-left:3px solid var(--color-primary);line-height:1.6}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;color:var(--text-primary);margin-bottom:var(--spacing-xs);font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.5)}.form-control{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:16px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all var(--transition-fast)}.form-control::placeholder{color:var(--text-muted)}.form-control:focus{outline:none;border-color:var(--color-primary);background:#ffffff26;box-shadow:0 0 0 3px #74b9ff4d}.form-control select option{background:#2c3e50;color:var(--text-primary)}.form-control[type=textarea],textarea.form-control,.modal-body textarea{width:100%;min-height:100px;padding:var(--spacing-md);border:2px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-family:inherit;line-height:1.5;resize:vertical;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all var(--transition-fast)}.form-control[type=textarea]:focus,textarea.form-control:focus,.modal-body textarea:focus{outline:none;border-color:var(--color-primary);background:#ffffff26;box-shadow:0 0 0 3px #74b9ff4d}.modal-content,.modal-body,.form-control[type=textarea],textarea.form-control,.modal-body textarea{scrollbar-width:thin;scrollbar-color:var(--color-primary) var(--bg-secondary)}.modal-content::-webkit-scrollbar,.modal-body::-webkit-scrollbar,.form-control[type=textarea]::-webkit-scrollbar,textarea.form-control::-webkit-scrollbar,.modal-body textarea::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track,.modal-body::-webkit-scrollbar-track,.form-control[type=textarea]::-webkit-scrollbar-track,textarea.form-control::-webkit-scrollbar-track,.modal-body textarea::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px;margin:4px}.modal-content::-webkit-scrollbar-thumb,.modal-body::-webkit-scrollbar-thumb,.form-control[type=textarea]::-webkit-scrollbar-thumb,textarea.form-control::-webkit-scrollbar-thumb,.modal-body textarea::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px;border:1px solid var(--border-light)}.modal-content::-webkit-scrollbar-thumb:hover,.modal-body::-webkit-scrollbar-thumb:hover,.form-control[type=textarea]::-webkit-scrollbar-thumb:hover,textarea.form-control::-webkit-scrollbar-thumb:hover,.modal-body textarea::-webkit-scrollbar-thumb:hover{background:var(--color-primary-light)}.tag{background:#74b9ff33;border:1px solid rgba(116,185,255,.3);padding:var(--spacing-xs) var(--spacing-sm);border-radius:20px;font-size:.9rem;color:var(--text-primary);display:inline-block}.badge{background:var(--color-primary-light);color:var(--text-primary);padding:.3rem .8rem;border-radius:15px;font-size:.8rem;font-weight:700;display:inline-block}.list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.list--horizontal{flex-direction:row;flex-wrap:wrap;gap:var(--spacing-xs)}.list-item{background:#ffffff0d;border-radius:var(--radius-sm);padding:var(--spacing-sm);border-left:3px solid var(--color-primary)}.grid{display:grid;gap:var(--spacing-md)}.grid--2-cols{grid-template-columns:repeat(2,1fr)}.grid--auto-fit{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media(max-width:768px){.grid--2-cols{grid-template-columns:1fr}.modal-content{margin:var(--spacing-sm);max-height:calc(100vh - 2rem)}.modal-header,.modal-body{padding:var(--spacing-sm)}.character-details-modal,.gamemaster-details-modal{width:98%;max-width:none}.character-details-content{flex-direction:column;gap:var(--spacing-md)}.character-image-section{flex:none;max-width:250px;margin:0 auto}.info-grid{grid-template-columns:1fr}.memory-header,.choice-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.memory-type,.memory-date,.memory-scene,.choice-date{font-size:.7rem}}.notifications{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:10px}.notification{padding:15px 20px;border-radius:10px;color:#fff;font-weight:500;animation:slideIn .3s ease;max-width:300px}.notification.error{background:#f44;border-left:4px solid #cc0000}.notification.success{background:#4f4;border-left:4px solid #00cc00}.notification.warning{background:#fa4;border-left:4px solid #cc8800}.notification.info{background:#44f;border-left:4px solid #0000cc}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.loading{position:relative;pointer-events:none;opacity:.7}.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.choice{opacity:0;transform:translateY(20px);transition:all .5s ease}.choice.show{opacity:1;transform:translateY(0)}.game-interface{display:none;width:100%;height:100vh;position:relative}.game-interface.show{display:block}.choices-container{display:none;flex-direction:row;gap:1rem;width:100%;justify-content:flex-start;align-items:flex-start;overflow:visible;flex-wrap:nowrap}.choices-container.show{display:flex}.situation{font-size:1.12rem;padding:.7rem 1vw;margin-bottom:var(--spacing-sm);border-radius:var(--radius-sm);border-left:3px solid var(--color-primary);background:#ffffff0a;text-align:left;flex:1;overflow:visible;white-space:pre-line;opacity:0;transform:translateY(20px);transition:all var(--transition-medium)}.situation.show{opacity:1;transform:translateY(0)}.world-context{background:#1e1e1ee6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);border:1px solid var(--border-light);animation:fadeIn var(--transition-fast)}.world-context h2{color:var(--color-primary);margin:0 0 var(--spacing-md) 0;font-size:1.8rem}.context-description,.player-situation,.world-description{color:var(--text-primary);margin:var(--spacing-sm) 0;line-height:1.6}.player-situation{color:var(--color-secondary);font-style:italic}.characters-section{background:#1e1e1ee6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-top:var(--spacing-lg);border:1px solid var(--border-light)}.characters-section h3{color:var(--color-primary);margin:0 0 var(--spacing-md) 0;font-size:1.5rem}.characters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.character-card{background:#323232cc;border-radius:var(--radius-md);padding:var(--spacing-md);border:1px solid var(--border-light);transition:all var(--transition-fast)}.character-card:hover{background:#3c3c3ce6;transform:translateY(-2px)}.character-card h4{color:var(--color-secondary);margin:0 0 var(--spacing-sm) 0;font-size:1.2rem}.character-card p{color:var(--text-secondary);margin:var(--spacing-xs) 0;font-size:.9rem}.start-adventure-btn{background:linear-gradient(45deg,var(--color-accent),#ee5a24);color:var(--text-primary);border:none;border-radius:var(--radius-md);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-light);text-transform:uppercase;letter-spacing:.5px}.start-adventure-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ff6b6b80;background:linear-gradient(45deg,var(--color-accent-light),#d63031)}.start-adventure-btn:active{transform:translateY(0);box-shadow:var(--shadow-light)}.start-adventure-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.virtual-territory-group:hover image{opacity:1!important;filter:none!important;transition:all .3s ease}.virtual-territory-group image{transition:all .3s ease}.virtual-territory-polygon{transition:all .3s ease}.zone-edit-modal .environment-card{background:#3c3c3ce6;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-bottom:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.zone-edit-modal .environment-card:hover{background:#464646e6;border-color:#fff3;transform:translateY(-2px)}.zone-edit-modal .env-info{color:#ffffffe6}.zone-edit-modal .env-name{color:#fff;font-weight:600;margin-bottom:8px;font-size:16px}.zone-edit-modal .env-description{color:#ffffffb3;font-size:14px;line-height:1.4}.zone-edit-modal .env-image-container{width:100%;height:120px;border-radius:8px;overflow:hidden;margin-bottom:12px;background:#282828cc}.zone-edit-modal .env-image{width:100%;height:100%;object-fit:cover}.zone-edit-modal .env-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#323232cc;color:#fff9;font-size:14px}.zone-edit-modal .env-actions{display:flex;gap:8px;margin-top:12px}.zone-edit-modal .btn-env-icon{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fffc;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:14px}.zone-edit-modal .btn-env-icon:hover{background:#fff3;color:#fff;transform:translateY(-1px)}.zone-edit-modal .environments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:16px}.zone-edit-modal .no-environments{text-align:center;padding:32px;color:#fff9;font-style:italic}.zone-edit-modal .btn-form{padding:12px 24px;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);font-size:14px}.zone-edit-modal .btn-form.primary{background:var(--primary, #3b82f6);color:#fff}.zone-edit-modal .btn-form.primary:hover{background:var(--primary-hover, #2563eb);transform:translateY(-1px)}.zone-edit-modal .btn-form.secondary{background:#ffffff1a;color:#ffffffe6;border:1px solid rgba(255,255,255,.2)}.zone-edit-modal .btn-form.secondary:hover{background:#fff3;transform:translateY(-1px)}.zone-edit-modal .btn-form.accent{background:var(--warning, #f59e0b);color:#fff;border:1px solid var(--warning, #f59e0b)}.zone-edit-modal .btn-form.accent:hover{background:#d97706;transform:translateY(-1px)}.zone-edit-modal .btn-form.danger{background:var(--danger, #ef4444);color:#fff;border:1px solid var(--danger, #ef4444)}.zone-edit-modal .btn-form.danger:hover{background:#dc2626;transform:translateY(-1px)}.zone-edit-modal .modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:24px;border-top:1px solid rgba(255,255,255,.1);min-height:80px;align-items:center}.zone-edit-modal .btn.btn-outline-success{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.3);padding:12px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s ease}.zone-edit-modal .btn.btn-outline-success:hover{background:#22c55e33;border-color:#22c55e;transform:translateY(-1px)}.zone-edit-modal .btn.btn-outline-primary{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.3);padding:12px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s ease}.zone-edit-modal .btn.btn-outline-primary:hover{background:#3b82f633;border-color:#3b82f6;transform:translateY(-1px)}.zones-visualization{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:24px;margin-top:20px;box-shadow:0 20px 40px #00000026;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#fff;min-height:600px;position:relative;overflow:hidden;transition:all .3s ease}#zones-visualization-container.fullscreen-mode{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;z-index:9999!important;background:#0f172a!important}.zones-visualization:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.05) 0%,transparent 50%);pointer-events:none}#zonesVisualizationContainer{position:relative}.architect-progress-feed{position:fixed;top:24px;right:32px;width:min(320px,90vw);display:flex;flex-direction:column;gap:12px;z-index:10000;pointer-events:none}.architect-progress-entry{background:#0f172aeb;border:1px solid rgba(99,102,241,.4);box-shadow:0 12px 32px #0f172a73;border-radius:14px;padding:14px 18px;color:#f8fafc;opacity:0;transform:translate(20px);transition:opacity .3s ease,transform .3s ease}.architect-progress-entry.visible{opacity:1;transform:translate(0)}.architect-progress-entry.error{border-color:#f8717199;box-shadow:0 12px 32px #f8717140}.architect-progress-entry.success{border-color:#22c55e99}.architect-progress-entry-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.architect-progress-entry-icon{font-size:20px}.architect-progress-entry-title{font-weight:600;font-size:14px}.architect-progress-entry-progress{font-size:12px;opacity:.8}.architect-progress-entry-message{margin:0;font-size:13px;line-height:1.4;color:#f8fafce6}.zone-progress-indicator{position:absolute;min-width:220px;max-width:280px;padding:12px 16px;border-radius:14px;background:#0f172ae6;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 40px #02061759;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#f8fafc;pointer-events:none;opacity:0;transition:opacity .25s ease;z-index:50}.zone-progress-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.zone-progress-icon{font-size:18px}.zone-progress-title{font-weight:600;font-size:14px;flex:1}.zone-progress-percent{font-weight:700;font-size:14px;color:#22d3ee;text-shadow:0 0 8px rgba(34,211,238,.5)}.zone-progress-bar{width:100%;height:6px;border-radius:999px;background:#ffffff26;overflow:hidden;margin-bottom:8px}.zone-progress-bar-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#22d3ee);transition:width .3s ease}.zone-progress-message{margin:0;font-size:13px;color:#f8fafcd9}.zones-header{position:relative;z-index:10;display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding:0 0 20px;border-bottom:2px solid rgba(255,255,255,.2)}.zones-title{display:flex;align-items:center;gap:12px;margin:0;color:#fff;font-size:1.8rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3)}.zones-icon{width:28px;height:28px;stroke:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.zones-controls{display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:flex-end;margin:16px}.action-btn{display:flex;align-items:center;gap:8px;color:#fff;border:none;padding:10px 16px;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:600;font-size:.9rem}.action-btn.regenerate-btn{background:linear-gradient(135deg,#3498db,#2980b9)}.action-btn.regenerate-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #3498db80}.action-btn.fullscreen-btn{background:linear-gradient(135deg,#4caf50,#45a049)}.action-btn.fullscreen-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #4caf5080}.action-btn svg{width:18px;height:18px}.switch-control{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#ffffff0d;border-radius:8px;cursor:pointer;transition:all .3s ease;-webkit-user-select:none;user-select:none}.switch-control:hover{background:#ffffff1a}.switch-control input[type=checkbox]{display:none}.switch-slider{position:relative;width:44px;height:24px;background:#6c757d;border-radius:24px;transition:all .3s ease;flex-shrink:0}.switch-slider:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;left:3px;transition:all .3s ease;box-shadow:0 2px 4px #0003}.switch-control input[type=checkbox]:checked+.switch-slider{background:#28a745}.switch-control input[type=checkbox]:checked+.switch-slider:before{transform:translate(20px)}.switch-label{display:flex;align-items:center;gap:8px;color:#fff;font-weight:600;font-size:.9rem}.switch-label svg{width:18px;height:18px;flex-shrink:0}.view-toggle-btn svg{width:32px;height:32px;flex-shrink:0}.investigation-board:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(59,130,246,.05) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(16,185,129,.05) 0%,transparent 50%);pointer-events:none}.board-header{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;padding:20px 0;border-bottom:3px solid #cbd5e1}.board-header h3{color:#1e293b;font-size:2rem;font-weight:700;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.1)}.board-controls{display:flex;align-items:center;gap:12px}.view-toggle{display:inline-flex;background:#1e293be6;border:1px solid rgba(148,163,184,.3);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden}.view-toggle-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;font-weight:500;font-size:.875rem;line-height:1.2;color:#94a3b8;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-height:48px;background:#4755694d;border:none;position:relative}.view-toggle-btn:first-child:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:60%;background:#94a3b84d}.view-toggle-btn:hover{background:#47556980;color:#e2e8f0}.view-toggle-btn.active{background:#1e293be6;color:#fff}.zones .map-container{position:relative;width:100%;background:linear-gradient(135deg,#667eea1a,#764ba21a),radial-gradient(circle at 30% 40%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(255,255,255,.05) 0%,transparent 50%),repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.03) 10px,rgba(255,255,255,.03) 20px),repeating-linear-gradient(-45deg,transparent,transparent 10px,rgba(255,255,255,.02) 10px,rgba(255,255,255,.02) 20px);background-size:100% 100%,200px 200px,300px 300px,20px 20px,10px 10px,0 0;border-radius:16px;min-height:500px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000004d,inset 0 1px #fff3;overflow:hidden;cursor:grab}#zones-visualization-container.fullscreen-mode .map-container{min-height:calc(100vh - 120px)!important;height:calc(100vh - 120px)!important;border-radius:0}.map-container:active{cursor:grabbing}.zones-map{width:100%;height:500px;background:transparent}#zones-visualization-container.fullscreen-mode .zones-map{height:calc(100vh - 120px)!important;min-height:calc(100vh - 120px)!important}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;color:#fffc;text-align:center}.empty-icon{width:64px;height:64px;stroke:#fff9;margin-bottom:20px}.empty-state h3{color:#fff;font-size:1.5rem;margin:0 0 12px;font-weight:600}.empty-state p{color:#ffffffb3;font-size:1rem;margin:0 0 24px;max-width:400px;line-height:1.5}.empty-state .btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:12px 24px;border-radius:10px;font-weight:600;transition:all .3s ease}.empty-state .btn:hover{background:#ffffff4d;transform:translateY(-2px)}.map-grid{position:relative;width:1500px;height:1200px;min-height:1200px;transition:transform .3s ease;transform-origin:0 0}.zone-pin{position:absolute;background:#fffffff2;border-radius:16px;padding:20px;min-width:280px;max-width:320px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);border:2px solid rgba(255,255,255,.6);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 15px 35px #0000001a,0 5px 15px #00000014}.zone-pin:nth-child(1){top:8%;left:12%;transform:rotate(-2deg)}.zone-pin:nth-child(2){top:35%;right:8%;transform:rotate(1.5deg)}.zone-pin:nth-child(3){bottom:20%;left:8%;transform:rotate(-1deg)}.zone-pin:nth-child(4){top:5%;left:45%;transform:rotate(.8deg)}.zone-pin:nth-child(5){bottom:8%;right:20%;transform:rotate(-1.2deg)}.zone-pin:nth-child(6){top:60%;left:35%;transform:rotate(-.5deg)}.zone-pin:nth-child(7){top:25%;left:65%;transform:rotate(1deg)}.zone-pin:nth-child(8){bottom:45%;right:45%;transform:rotate(-1.5deg)}.zone-pin:hover{transform:translateY(-8px) scale(1.05) rotate(0)!important;box-shadow:0 25px 50px #00000026,0 10px 25px #0000001a;border-color:#3b82f64d;z-index:10}.zone-icon{font-size:1.5rem;text-align:center;margin-bottom:12px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.zone-label{font-weight:700;font-size:1.1rem;color:#1e293b;text-align:center;margin-bottom:16px;text-shadow:0 1px 2px rgba(0,0,0,.05)}.environments-preview{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.environment-image{width:32px;height:32px;border-radius:6px;object-fit:cover;border:2px solid rgba(255,255,255,.3);transition:all .2s ease}.zone-connection{cursor:pointer;transition:all .3s ease}.zone-connection:hover{stroke:#8b5cf6!important;stroke-width:3;filter:drop-shadow(0 0 8px rgba(139,92,246,.5))}.connections-layer{pointer-events:none}.zone-connection{pointer-events:all}.env-thumbnail{border-radius:10px;overflow:hidden;cursor:pointer;transition:all .3s ease;border:2px solid rgba(255,255,255,.8);box-shadow:0 4px 12px #0000001a}.placeholder-thumb{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#64748b;font-size:1.5rem}.more-envs{width:60px;height:60px;border-radius:10px;background:linear-gradient(135deg,#64748b,#475569);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;box-shadow:0 4px 12px #0000001a}.world-stats{display:flex;gap:16px;justify-content:center;margin-bottom:30px;position:relative;z-index:2}.stat-card{background:#ffffffe6;border-radius:12px;padding:16px 20px;text-align:center;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 20px #0000001a;min-width:80px}.stat-number{font-size:2rem;font-weight:800;color:#1e293b;line-height:1;margin-bottom:4px}.stat-label{font-size:.85rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.connections-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.connection-line{stroke:#3b82f666;stroke-width:3;fill:none;opacity:.7;transition:all .3s ease}.connection-line:hover{stroke:#3b82f6cc;stroke-width:4;opacity:1}.connection-line.secret{stroke:#a855f780;opacity:.8}.connection-line.secret:hover{stroke:#a855f7e6}.zone-type-urban{border-left:4px solid #3b82f6}.zone-type-rural{border-left:4px solid #10b981}.zone-type-wilderness{border-left:4px solid #059669}.zone-type-dungeon{border-left:4px solid #7c3aed}.zone-type-mixed{border-left:4px solid #f59e0b}.zones-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e5e7eb}.zones-header h3{margin:0;color:#1f2937;font-size:1.5rem;font-weight:600}.zones-actions{display:flex;gap:12px}.zones-list{display:grid;gap:20px;margin-bottom:32px}.zone-group{cursor:pointer;transition:all .3s ease}.zone-card{fill:#fff8dcf2;stroke:#fff8dc4d;stroke-width:2;transition:all .3s ease}.zone-header{fill:#3b82f61a}.zone-title{fill:#1e293b;font-size:14px;font-weight:600;text-anchor:middle;dominant-baseline:central}.environment-item{cursor:pointer;transition:all .2s ease}.env-thumbnail{fill:#ffffff0d;stroke:#94a3b880;stroke-width:1;pointer-events:none}.env-placeholder{fill:#94a3b84d}.env-name{fill:#475569;font-size:10px;font-weight:500;text-anchor:middle}.action-btn{fill:#3b82f633;stroke:#3b82f680;stroke-width:1;cursor:pointer;transition:all .2s ease}.action-btn:hover{fill:#3b82f64d;stroke:#3b82f6cc;stroke-width:2}.action-icon{font-size:10px;text-anchor:middle;dominant-baseline:central;pointer-events:none}.zone-default .zone-card{fill:#fffffff2}.zone-urban .zone-card{fill:#3b82f61a}.zone-rural .zone-card{fill:#10b9811a}.zone-wilderness .zone-card{fill:#0596691a}.zone-dungeon .zone-card{fill:#7c3aed1a}.zone-mixed .zone-card{fill:#f59e0b1a}.zone-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.zone-info h4{margin:0 0 8px;color:#1f2937;font-size:1.25rem;font-weight:600}.zone-type-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.zone-type-interior{background:#fef3c7;color:#92400e}.zone-type-exterior{background:#d1fae5;color:#065f46}.zone-type-mixed{background:#e0e7ff;color:#3730a3}.zone-description{color:#6b7280;font-size:.9rem;line-height:1.5;margin-bottom:16px}.zone-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.zone-tag{background:#f3f4f6;color:#374151;padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:500}.zone-visual-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.visual-tag{background:#f3f4f6;color:#374151;padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:500}.zone-actions{display:flex;gap:8px}.zone-actions .btn{padding:6px 12px;font-size:.8rem}.zone-environments,.environments-list{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.environments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.environments-header h5{margin:0;color:#374151;font-size:1rem;font-weight:500}.environments-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.environment-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .2s ease}.environment-card:hover{background:#f3f4f6;border-color:#d1d5db}.environment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.environment-name{font-weight:600;color:#1f2937;font-size:.95rem;margin:0}.environment-description{color:#6b7280;font-size:.85rem;line-height:1.4;margin-bottom:12px}.environment-image{width:100%;height:120px;object-fit:cover;border-radius:6px;margin-bottom:8px;background:#e5e7eb;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:.8rem}.environment-actions{display:flex;gap:6px;justify-content:flex-end}.environment-actions .btn{padding:4px 8px;font-size:.7rem}.connections-visualization{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px dashed #dee2e6;border-radius:12px;padding:40px;text-align:center;color:#6c757d;font-style:italic;margin-top:20px}.edit-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:none;justify-content:center;align-items:center;z-index:10001;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.edit-modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000004d;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.edit-modal-header{padding:20px 24px 16px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.edit-modal-header h3{margin:0;color:#2c3e50;font-size:1.25rem;font-weight:600}.close-btn{background:none;border:none;font-size:24px;color:#6c757d;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-btn:hover{background:#f8f9fa;color:#495057}.edit-modal-body{padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#495057;font-size:.9rem}.form-control{width:100%;padding:10px 12px;border:2px solid #e9ecef;border-radius:8px;font-size:.9rem;transition:all .2s ease;box-sizing:border-box}.form-control:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-control::placeholder{color:#adb5bd}textarea.form-control{resize:vertical;min-height:80px}.edit-modal-footer{padding:16px 24px 24px;display:flex;gap:12px;justify-content:flex-end}.btn{padding:10px 20px;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-outline-primary{background:transparent;color:#007bff;border:1px solid #007bff}.btn-outline-primary:hover{background:#007bff;color:#fff;transform:translateY(-1px)}.btn-outline-success{background:transparent;color:#28a745;border:1px solid #28a745}.btn-outline-success:hover{background:#28a745;color:#fff;transform:translateY(-1px)}.btn-outline-danger{background:transparent;color:#dc3545;border:1px solid #dc3545}.btn-outline-danger:hover{background:#dc3545;color:#fff;transform:translateY(-1px)}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333;transform:translateY(-1px)}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268;transform:translateY(-1px)}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3;transform:translateY(-1px)}.connections-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px;margin-top:24px}.connections-panel h4{margin:0 0 16px;color:#2c3e50;font-size:1.1rem;font-weight:600}.connections-grid{display:flex;flex-direction:column;gap:12px}.connection-item{display:flex;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;transition:all .2s ease}.connection-item:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff1a}.connection-source,.connection-target{display:flex;align-items:center;gap:8px;flex:1}.connection-type{font-size:1.2rem}.connection-name{font-weight:500;color:#2c3e50}.connection-arrow{display:flex;flex-direction:column;align-items:center;margin:0 16px;text-align:center}.connection-arrow span{font-size:1.2rem;margin-bottom:4px}.connection-description{color:#6c757d;font-size:.8rem;white-space:nowrap}.connections-placeholder{text-align:center;padding:40px 20px;color:#6c757d}.connections-placeholder p{margin:8px 0}.connections-placeholder small{color:#adb5bd}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;animation:spin 1s ease-in-out infinite}.env-updated{animation:envUpdateFlash 1s ease-in-out}@keyframes envUpdateFlash{0%{transform:scale(1);filter:brightness(1)}25%{transform:scale(1.05);filter:brightness(1.3) drop-shadow(0 0 8px rgba(76,175,80,.6))}50%{transform:scale(1.02);filter:brightness(1.2) drop-shadow(0 0 12px rgba(76,175,80,.8))}75%{transform:scale(1.01);filter:brightness(1.1) drop-shadow(0 0 6px rgba(76,175,80,.4))}to{transform:scale(1);filter:brightness(1)}}.generation-progress{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:16px;margin:16px 0}.progress-bar{width:100%;height:8px;background:#e0f2fe;border-radius:4px;overflow:hidden;margin:8px 0}.progress-fill{height:100%;background:linear-gradient(90deg,#0ea5e9,#3b82f6);transition:width .3s ease}.progress-message{color:#0c4a6e;font-size:.9rem;font-weight:500}.zone-edit-flash{animation:zoneEditPulse 1.2s ease;filter:drop-shadow(0 0 12px rgba(99,102,241,.6))}@keyframes zoneEditPulse{0%{stroke-width:2px;filter:drop-shadow(0 0 2px rgba(99,102,241,.2))}30%{stroke-width:4px;filter:drop-shadow(0 0 14px rgba(139,92,246,.8))}60%{stroke-width:3px;filter:drop-shadow(0 0 8px rgba(99,102,241,.5))}to{stroke-width:2px;filter:drop-shadow(0 0 2px rgba(99,102,241,.2))}}.environment-edit-flash{animation:environmentEditPulse .9s ease;transform-origin:center}@keyframes environmentEditPulse{0%{transform:scale(1);filter:brightness(1)}40%{transform:scale(1.08);filter:brightness(1.2)}70%{transform:scale(1.04);filter:brightness(1.1)}to{transform:scale(1);filter:brightness(1)}}.zone-image-placeholder{fill:#f39c121f;stroke:#f39c1266;stroke-width:2px}.zone-image-spinner{fill:none;stroke:#f39c12;stroke-width:3px;stroke-dasharray:140;stroke-linecap:round;transform-origin:center;transform-box:fill-box;animation:zoneImageSpin 1.2s linear infinite}@keyframes zoneImageSpin{0%{stroke-dashoffset:280;transform:rotate(0)}to{stroke-dashoffset:0;transform:rotate(360deg)}}.generating-pulse{animation:envPulse 1.4s ease-in-out infinite}@keyframes envPulse{0%{transform:scale(.9);opacity:.8}50%{transform:scale(1.05);opacity:1}to{transform:scale(.9);opacity:.8}}.zones-list{display:flex;flex-direction:column;gap:20px}.zone-item{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.zone-item:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 8px 25px #0003}.zone-info{margin-bottom:20px}.zone-name{color:#fff;font-size:1.3rem;font-weight:600;margin:0 0 8px}.zone-description{color:#fffc;font-size:.95rem;line-height:1.5;margin-bottom:12px}.zone-meta{display:flex;gap:16px;align-items:center}.zone-type{background:#fff3;color:#fff;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.env-count{color:#ffffffb3;font-size:.9rem;font-weight:500}.zone-environments{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2)}.env-item{display:flex;align-items:center;gap:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:16px;margin-bottom:12px;transition:all .2s ease}.env-item:hover{background:#ffffff1a;border-color:#fff3}.env-thumbnail{border-radius:8px;overflow:hidden;flex-shrink:0}.env-thumbnail img{width:100%;height:100%;object-fit:cover}.env-placeholder{width:100%;height:100%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;color:#ffffff80;font-size:1.2rem}.env-info{flex:1}.env-info h4{color:#fff;font-size:1rem;font-weight:600;margin:0 0 4px}.env-info p{color:#ffffffb3;font-size:.9rem;margin:0;line-height:1.4}.zone-actions{display:flex;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2)}.edit-env{background:#10b98133;color:#fff;border:1px solid rgba(16,185,129,.3);padding:8px 16px;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.edit-env:hover{background:#10b9814d;border-color:#10b98180;transform:translateY(-1px)}.edit-zone{background:#3b82f633;color:#fff;border:1px solid rgba(59,130,246,.3);padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.edit-zone:hover{background:#3b82f64d;border-color:#3b82f680;transform:translateY(-1px)}.delete-zone{background:#ef444433;color:#fff;border:1px solid rgba(239,68,68,.3);padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.delete-zone:hover{background:#ef44444d;border-color:#ef444480;transform:translateY(-1px)}.zone-delete-btn{cursor:pointer;opacity:.8}.zone-delete-btn:hover{opacity:1}.zone-delete-btn:active .delete-btn-bg{fill:#b91c1c;stroke:#fffc}.add-linked-zone-btn{cursor:pointer}.add-linked-zone-btn:hover .add-zone-circle{fill:#45a049}.add-environment-btn{cursor:pointer}.add-environment-btn:hover .add-env-circle{fill:#f57c00}.add-env-icon{pointer-events:none;-webkit-user-select:none;user-select:none}.zone-edit-btn{cursor:pointer;opacity:.8}.zone-edit-btn:hover{opacity:1}.zone-edit-btn:active .edit-btn-bg{fill:#1d4ed8;stroke:#fffc}.zone-edit-modal,.zone-edit-modal .modal-backdrop{z-index:10003!important}.zone-edit-modal .modal-body,.zone-edit-modal .modal-header,.zone-edit-modal .modal-footer{padding:1.5rem}.environment-edit-modal,.environment-edit-modal .modal-backdrop{z-index:10003!important}.environment-edit-modal .modal-body,.environment-edit-modal .modal-header,.environment-edit-modal .modal-footer{padding:1.5rem}.environment-edit-modal .form-group{margin-bottom:20px}.environment-edit-modal .form-group label{display:block;margin-bottom:8px;font-weight:600;color:#fff}.environment-edit-modal .form-group input,.environment-edit-modal .form-group textarea,.environment-edit-modal .form-group select{width:100%;padding:12px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff1a;color:#fff;font-size:14px;transition:all .2s ease}.environment-edit-modal .form-group select option{background:#2c3e50;color:#fff;padding:8px 12px}.environment-edit-modal .form-group input:focus,.environment-edit-modal .form-group textarea:focus,.environment-edit-modal .form-group select:focus{outline:none;border-color:#3b82f699;background:#ffffff26;box-shadow:0 0 0 3px #3b82f61a}.environment-edit-modal .form-group input::placeholder,.environment-edit-modal .form-group textarea::placeholder{color:#ffffff80}.environment-edit-modal .btn-form{padding:.75rem 1rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.environment-edit-modal .btn-form.primary{background:#3b82f6;color:#fff}.environment-edit-modal .btn-form.primary:hover{background:#2563eb}.environment-edit-modal .btn-form.accent{background:#f59e0b;color:#fff}.environment-edit-modal .btn-form.accent:hover{background:#d97706}.environment-edit-modal .btn-form.danger{background:#ef4444;color:#fff}.environment-edit-modal .btn-form.danger:hover{background:#dc2626}.zone-edit-modal .form-group{margin-bottom:20px}.zone-edit-modal .form-group label{display:block;margin-bottom:8px;font-weight:600;color:#fff}.zone-edit-modal .form-group input,.zone-edit-modal .form-group textarea,.zone-edit-modal .form-group select{width:100%;padding:12px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff1a;color:#fff;font-size:14px;transition:all .2s ease}.zone-edit-modal .form-group select option{background:#2c3e50;color:#fff;padding:8px 12px}.zone-edit-modal .form-group input:focus,.zone-edit-modal .form-group textarea:focus,.zone-edit-modal .form-group select:focus{outline:none;border-color:#3b82f699;background:#ffffff26;box-shadow:0 0 0 3px #3b82f61a}.zone-edit-modal .form-group input::placeholder,.zone-edit-modal .form-group textarea::placeholder{color:#ffffff80}.zone-edit-modal .zone-image-section{display:flex;align-items:center;gap:16px;margin-top:8px}.zone-edit-modal .current-image{flex-shrink:0}.zone-edit-modal .zone-current-image{object-fit:cover;border-radius:8px;border:2px solid rgba(255,255,255,.2)}.zone-edit-modal .no-image{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:2px dashed rgba(255,255,255,.3);border-radius:8px;color:#fff9;font-size:12px;text-align:center}.zone-edit-modal .regenerate-image-btn{flex:1;min-height:40px}.zone-edit-modal .modal-footer .btn{min-width:120px}.zone-edit-modal .save-regenerate-btn{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;color:#fff}.zone-edit-modal .save-regenerate-btn:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px)}.generating-zone{animation:zoneBlink 1.5s infinite}.generating-territory{animation:territoryBlink 1.5s infinite}@keyframes zoneBlink{0%,to{stroke-opacity:.9;stroke-width:3px}50%{stroke-opacity:.5;stroke-width:5px}}@keyframes territoryBlink{0%,to{stroke-opacity:.9;stroke-width:3px}50%{stroke-opacity:.3;stroke-width:5px}}@media(max-width:768px){.zones-header{flex-direction:column;gap:16px;align-items:stretch}.zone-edit-modal{width:95%;margin:20px auto}.zone-edit-modal .zone-image-section{flex-direction:column;align-items:stretch}.zone-edit-modal .modal-footer{flex-direction:column}.zone-edit-modal .modal-footer .btn{width:100%}}.zones-controls{flex-direction:row;gap:12px;justify-content:flex-end}.view-toggle{align-self:center}.zone-meta{flex-direction:column;gap:8px;align-items:flex-start}.env-item{flex-direction:column;text-align:center}.zone-actions{flex-direction:column}.world-creation-form{background:#1e293bf2!important;border-radius:16px;box-shadow:0 20px 40px #0000004d;padding:2rem;width:100%;max-width:1200px;margin:2rem auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);max-height:calc(100vh - 4rem);overflow-y:auto;overflow-x:hidden;position:relative;z-index:10;color:#fff!important}.world-manager-container{min-height:100vh;overflow-y:auto;padding:2rem 1rem}.world-section{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;margin-bottom:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.world-section-title{display:flex;align-items:center;gap:12px;font-size:1.25rem;font-weight:600;color:#fff;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid rgba(59,130,246,.3)}.section-icon{font-size:1.5rem}.world-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.world-textarea{resize:vertical;min-height:80px}.ratio-display{display:flex;align-items:center;justify-content:center;height:42px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:6px;color:#60a5fa;font-weight:600;font-size:.9rem}.world-creation-form-group{margin-bottom:16px}.world-creation-label{display:block;font-weight:600;color:#fff;margin-bottom:8px;font-size:.95rem}.world-creation-label-small{display:block;font-weight:500;color:#e2e8f0;margin-bottom:6px;font-size:.85rem}.world-creation-input{width:100%;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:.9rem;transition:all .2s ease}.world-creation-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background:#ffffff14}.world-creation-input::placeholder{color:#9ca3af}.world-creation-input:readonly{background:#ffffff05;color:#9ca3af;cursor:not-allowed}.form-field-invalid{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef444426!important}.form-error-text{color:#ef4444!important;font-weight:600;margin-top:6px}.world-creation-actions{display:none}.world-tabs{display:flex!important;gap:0!important;margin-bottom:2rem!important;border-bottom:2px solid rgba(255,255,255,.2)!important;background:#0f172acc!important;border-radius:12px 12px 0 0!important;overflow:hidden!important;width:100%!important;box-shadow:0 2px 8px #0003!important}.world-tab{flex:1!important;padding:1.2rem 1.5rem!important;background:#1e293b99!important;border:none!important;border-right:1px solid rgba(255,255,255,.1)!important;color:#fffc!important;cursor:pointer!important;transition:all .3s ease!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:.5rem!important;font-weight:600!important;font-size:.95rem!important;position:relative!important;text-transform:uppercase!important;letter-spacing:.5px!important;min-height:60px!important}.world-tab:last-child{border-right:none}.world-tab:hover{background:#ffffff26;color:#fffffff2;transform:translateY(-2px)}.world-tab.active{background:linear-gradient(135deg,#3b82f64d,#6366f133)!important;color:#60a5fa!important;box-shadow:0 -4px 12px #3b82f666,inset 0 2px 8px #3b82f633!important;transform:translateY(-3px)!important}.world-tab.active:before{content:"";position:absolute;bottom:-2px;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#6366f1);border-radius:2px}.world-tab.completed{background:#22c55e26;color:#4ade80;border-color:#22c55e4d}.world-tab.completed:after{content:"✓";position:absolute;top:.5rem;right:.5rem;font-size:.8rem;color:#22c55e;background:#22c55e33;width:1.2rem;height:1.2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.world-tab.disabled{background:#1e293b4d!important;color:#ffffff4d!important;cursor:not-allowed!important;opacity:.5!important}.world-tab.disabled:hover{background:#1e293b4d!important;color:#ffffff4d!important;transform:none!important}.world-tab-icon{font-size:1.1rem;margin-right:.3rem}.world-tab-label{display:flex;flex-direction:column;align-items:center;gap:.25rem}.world-tab-title{font-weight:inherit}.world-tab-subtitle{font-size:.75rem;opacity:.7}.world-tab-content{display:none;transform:translateY(10px);transition:all .3s ease-in-out}.world-tab-content.active{display:block;opacity:1;transform:translateY(0);animation:fadeInUp .4s ease-out}.world-tab-section{background:#ffffff0d;border-radius:12px;padding:2rem;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0003}.world-creation-actions{display:flex;gap:2rem;justify-content:center;margin:2rem 0}.world-form-actions{display:flex;gap:1rem;justify-content:center;align-items:center;margin-top:2rem;padding:1.5rem;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.world-form-actions .btn{min-width:150px;padding:.75rem 1.5rem;font-weight:600;border-radius:8px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.world-form-actions .btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;box-shadow:0 4px 12px #3b82f64d}.world-form-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.world-form-actions .btn-secondary{background:#6b72801a;color:#6b7280;border:1px solid rgba(107,114,128,.3)}.world-form-actions .btn-secondary:hover{background:#6b728033;color:#4b5563}.world-step-actions{display:flex;justify-content:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.btn-step-validate{padding:.75rem 2rem!important;font-size:1rem!important;font-weight:600!important;border-radius:8px!important;background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important;border:none!important;box-shadow:0 4px 12px #10b9814d!important;transition:all .3s ease!important;display:flex!important;align-items:center!important;gap:.5rem!important}.btn-step-validate:hover{transform:translateY(-2px)!important;box-shadow:0 6px 20px #10b98166!important;background:linear-gradient(135deg,#059669,#047857)!important}.btn-step-validate:disabled{background:#6b72804d!important;color:#ffffff80!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}.step-message{padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.step-message-success{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#10b981}.step-message-success:before{content:"✓";font-weight:700}.step-message-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444}.step-message-error:before{content:"⚠";font-weight:700}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.world-form-row{grid-template-columns:1fr}.world-section{padding:16px}.world-step-navigation{flex-direction:column}}.world-section{animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.world-creation-input option{background:#1f2937;color:#fff}.loading-select{position:relative}.loading-select:after{content:"⏳";position:absolute;right:30px;top:50%;transform:translateY(-50%);animation:spin 1s linear infinite}@keyframes spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.card.bg-glass{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.heading-7{font-size:1rem;font-weight:600;color:#fff}.text-body-sm{font-size:.875rem;line-height:1.5}.text-secondary{color:#9ca3af}.p-4{padding:16px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.flex{display:flex}.items-start{align-items:flex-start}.gap-3{gap:12px}.text-xl{font-size:1.25rem}.environment-preview-section{margin-top:20px;padding:20px;border:2px dashed #e5e7eb;border-radius:8px}.preview-controls{display:flex;align-items:center;gap:15px;margin-bottom:15px}.btn-preview{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;border-radius:6px;transition:all .2s ease}.btn-preview:disabled{opacity:.6;cursor:not-allowed}.preview-status{display:flex;align-items:center;gap:8px;font-size:14px;color:#6b7280;font-weight:500}.loading-spinner{width:16px;height:16px;border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.environment-preview-container{margin-top:15px}.preview-image-wrapper{position:relative;display:inline-block;border-radius:8px;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a;cursor:pointer;transition:transform .2s ease}.preview-image-wrapper:hover{transform:scale(1.02)}.preview-image{max-width:400px;max-height:300px;width:auto;height:auto;display:block}.preview-overlay{position:absolute;inset:0;background:#000000b3;color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;font-size:14px;font-weight:500}.preview-image-wrapper:hover .preview-overlay{opacity:1}.modal-large{max-width:90vw;max-height:90vh}.modal-image-body{display:flex;align-items:center;justify-content:center;padding:20px}.modal-preview-image{max-width:100%;max-height:70vh;width:auto;height:auto;border-radius:8px;box-shadow:0 10px 25px -3px #0000001a}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#1e293bfa;border-radius:16px;box-shadow:0 25px 50px -12px #00000080;border:1px solid rgba(255,255,255,.1);max-width:800px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out;color:#fff}.modal-content.modal-large{max-width:1000px}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#fff}.modal-close{background:transparent;border:none;font-size:1.8rem;color:#fff9;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.modal-close:hover{background:#ffffff1a;color:#fff}.modal-body{padding:2rem;overflow-y:auto;max-height:calc(90vh - 180px)}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:1px solid rgba(255,255,255,.1)}.modal-body .world-creation-form-group{margin-bottom:1.5rem}.modal-body .world-creation-help{font-size:.875rem;color:#fff9;margin-top:.5rem}#openEnvImageSettingsBtn,#openCharImageSettingsBtn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}#openEnvImageSettingsBtn:hover,#openCharImageSettingsBtn:hover{transform:translateY(-2px);box-shadow:0 10px 20px -5px #3b82f666}#openEnvImageSettingsBtn:active,#openCharImageSettingsBtn:active{transform:translateY(0)}.environment-generation-wrapper{width:100%;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;overflow:hidden;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.generation-header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;box-shadow:0 4px 20px #0000001a;border-bottom:1px solid rgba(255,255,255,.2)}.generation-title{margin:0 0 15px;font-size:28px;font-weight:700;color:#2d3748;text-align:center}.generation-controls{display:flex;align-items:center;justify-content:center;gap:25px;flex-wrap:wrap}.zone-count-control,.env-per-zone-control{display:flex;flex-direction:column;align-items:center;gap:5px}.zone-count-control label,.env-per-zone-control label{font-weight:600;color:#4a5568;font-size:14px}.zone-count-input,.env-per-zone-input{width:80px;padding:8px 12px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;text-align:center;transition:all .3s ease}.zone-count-input:focus,.env-per-zone-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.btn-generate{padding:12px 24px;font-size:16px;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.btn-generate:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-generate:disabled{opacity:.6;cursor:not-allowed;transform:none}.progress-section{background:#ffffffe6;padding:20px;margin:0 20px 20px;border-radius:12px;box-shadow:0 4px 15px #0000001a}.progress-bar-container{margin-bottom:15px}.progress-bar{width:100%;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;transition:width .5s ease;width:0%}.progress-text{text-align:center;font-weight:600;color:#4a5568;margin-top:10px}.progress-details{font-size:14px;color:#718096;text-align:center}.generation-main{flex:1;display:flex;gap:20px;padding:0 20px 20px;min-height:0}.map-container{flex:2;background:#fffffff2;border-radius:16px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;overflow:hidden}.map-header{padding:20px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.map-header h3{margin:0;font-size:20px;font-weight:700;color:#2d3748}.map-controls{display:flex;gap:10px}.interactive-map{flex:1;position:relative;overflow:hidden;background:radial-gradient(circle at 20% 50%,rgba(120,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(120,219,255,.3) 0%,transparent 50%),linear-gradient(135deg,#f7fafc,#edf2f7);background-size:100% 100%}.map-background{position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 20px,rgba(0,0,0,.03) 20px,rgba(0,0,0,.03) 21px),repeating-linear-gradient(90deg,transparent,transparent 20px,rgba(0,0,0,.03) 20px,rgba(0,0,0,.03) 21px)}.zones-layer,.environments-layer,.connections-layer{position:absolute;inset:0;pointer-events:none}.zones-layer>*,.environments-layer>*{pointer-events:auto}.zone-marker{position:absolute;width:120px;height:120px;border-radius:16px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;transform:translate(-50%,-50%)}.zone-marker:hover{transform:translate(-50%,-50%) scale(1.05);box-shadow:0 8px 25px #0003}.zone-marker.selected{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 0 0 3px #667eea,0 8px 25px #0003}.zone-interior{background:linear-gradient(135deg,#ffecd2,#fcb69f);border:2px solid #f6ad55}.zone-exterior{background:linear-gradient(135deg,#a8edea,#fed6e3);border:2px solid #4fd1c7}.zone-mixed{background:linear-gradient(135deg,#d299c2,#fef9d7);border:2px solid #b794f6}.zone-content{padding:12px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.zone-name{font-weight:700;font-size:14px;color:#2d3748;margin-bottom:5px;line-height:1.2}.zone-count{font-size:12px;color:#718096;background:#fffc;padding:2px 6px;border-radius:8px;margin-bottom:5px}.zone-thumbnail{width:40px;height:30px;object-fit:cover;border-radius:4px;border:1px solid rgba(255,255,255,.5)}.environment-marker{position:absolute;width:60px;height:60px;background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #ffffff;border-radius:50%;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d;transform:translate(-50%,-50%)}.environment-marker:hover{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 6px 20px #667eea66}.environment-marker.selected{transform:translate(-50%,-50%) scale(1.2);box-shadow:0 0 0 3px #f6ad55,0 6px 20px #667eea66}.environment-content{padding:8px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.environment-name{font-weight:600;font-size:10px;color:#fff;line-height:1.1;margin-bottom:3px}.environment-thumbnail{width:24px;height:18px;object-fit:cover;border-radius:2px;border:1px solid rgba(255,255,255,.5)}.details-panel{flex:1;background:#fffffff2;border-radius:16px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;overflow:hidden}.panel-header{padding:20px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.panel-header h3{margin:0;font-size:18px;font-weight:700;color:#2d3748}.panel-actions{display:flex;gap:8px}.panel-content{flex:1;padding:20px;overflow-y:auto}.panel-placeholder{text-align:center;color:#a0aec0;font-style:italic;margin-top:40px}.detail-section{margin-bottom:20px}.detail-section h4{margin:0 0 10px;font-size:16px;font-weight:600;color:#4a5568}.detail-section p{margin:0;color:#718096;line-height:1.6}.tags-list{display:flex;flex-wrap:wrap;gap:6px}.tag{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.detail-image{width:100%;max-width:200px;height:auto;border-radius:8px;box-shadow:0 4px 15px #0000001a}.connected-environments-list{display:flex;flex-direction:column;gap:8px}.connected-environments-list .environment-item{display:flex;align-items:center;gap:12px;padding:10px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease}.connected-environments-list .environment-item:hover{background:#edf2f7;border-color:#cbd5e0;transform:translate(4px)}.connected-environments-list .env-thumbnail{width:40px;height:40px;object-fit:cover;border-radius:6px;flex-shrink:0}.connected-environments-list .env-placeholder{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:20px;border-radius:6px;flex-shrink:0}.connected-environments-list .env-name{font-weight:500;color:#2d3748;font-size:14px}.map-legend{background:#ffffffe6;margin:0 20px 20px;padding:15px 20px;border-radius:12px;box-shadow:0 4px 15px #0000001a}.map-legend h4{margin:0 0 10px;font-size:16px;font-weight:600;color:#2d3748}.legend-items{display:flex;gap:20px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#4a5568}.legend-color{width:16px;height:16px;border-radius:4px;border:1px solid rgba(0,0,0,.1)}.legend-color.zone-interior{background:linear-gradient(135deg,#ffecd2,#fcb69f)}.legend-color.zone-exterior{background:linear-gradient(135deg,#a8edea,#fed6e3)}.legend-color.zone-mixed{background:linear-gradient(135deg,#d299c2,#fef9d7)}.legend-color.environment-marker{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%}.btn{padding:8px 16px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:14px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea4d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #667eea66}.btn-secondary{background:#f7fafc;color:#4a5568;border:1px solid #e2e8f0}.btn-secondary:hover{background:#edf2f7;transform:translateY(-1px)}.btn-outline{background:transparent;color:#667eea;border:1px solid #667eea}.btn-outline:hover{background:#667eea;color:#fff}.btn-danger{background:#fc8181;color:#fff}.btn-danger:hover{background:#f56565;transform:translateY(-1px)}.btn-sm{padding:6px 12px;font-size:12px}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}@media(max-width:1200px){.generation-main{flex-direction:column}.map-container{height:400px}.details-panel{height:300px}}@media(max-width:768px){.generation-controls{flex-direction:column;gap:15px}.zone-marker{width:80px;height:80px}.environment-marker{width:40px;height:40px}.legend-items{justify-content:center}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.zone-marker,.environment-marker{animation:fadeIn .5s ease-out}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.05)}}.zone-marker.generating,.environment-marker.generating{animation:pulse 2s infinite}@keyframes generatingPulse{0%,to{opacity:.6;r:15}50%{opacity:1;r:17}}@keyframes generatingRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.generating-pulse{animation:generatingPulse 1.5s ease-in-out infinite}.environment-generating .generating-env-circle{animation:generatingPulse 2s ease-in-out infinite}.environment-generating text{animation:generatingRotate 3s linear infinite;transform-origin:center;transform-box:fill-box}.characters-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.btn-add-character{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s ease}.btn-add-character:hover{background:var(--primary-hover);transform:translateY(-1px)}.characters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);max-height:500px;overflow-y:auto;padding:var(--space-2);border:2px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-white-pure)}.character-card{display:flex;flex-direction:column;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--space-3);transition:all .3s ease;position:relative;box-shadow:0 8px 32px #0000001a}.character-card:hover{border-color:var(--primary);box-shadow:0 12px 40px #6366f133;transform:translateY(-4px);background:#ffffff14}.character-card.generating{border-color:var(--primary);background:#6366f10d;position:relative;overflow:hidden}.character-card.generating:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(99,102,241,.1),transparent);animation:shimmer 2s infinite;pointer-events:none}@keyframes shimmer{0%{left:-100%}to{left:100%}}.wc-character-image-container{position:relative;width:100%;min-height:200px;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-light);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-3)}.wc-character-image{max-width:100%;height:auto;border-radius:var(--radius-md)}.wc-character-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary);font-size:2rem;gap:var(--space-2);width:100%;height:100%}.wc-character-image-placeholder .loading-spinner{width:24px;height:24px;border:2px solid var(--border-light);border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}.character-info{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.character-name{font-size:1.1rem;font-weight:600;color:#ffffffe6;margin:0}.character-details{display:flex;flex-direction:column;gap:var(--space-1);font-size:.9rem;color:#ffffffb3}.character-detail{display:flex;justify-content:space-between;align-items:center}.character-detail-label{font-weight:500;color:#fffc}.character-detail-value{color:#fff9}.character-actions-overlay{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;gap:var(--space-1);z-index:2}.btn-character-icon{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.3);background:#000000b3;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-character-icon:hover{background:#000000e6;border-color:var(--primary);transform:scale(1.1)}.btn-character-icon.edit:hover{background:var(--primary);border-color:var(--primary)}.btn-character-icon.delete:hover{background:var(--error);border-color:var(--error)}.character-creation-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.character-creation-modal.open{opacity:1;visibility:visible}.character-creation-modal-content{background:#fff;border-radius:var(--radius-lg);padding:var(--space-6);max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 40px #0003}.character-creation-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:2px solid var(--border-light)}.character-creation-modal-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.character-creation-modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:all .2s ease}.character-creation-modal-close:hover{background:var(--bg-light);color:var(--text-primary)}.character-form{display:flex;flex-direction:column;gap:var(--space-4)}.character-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.character-form-group{display:flex;flex-direction:column;gap:var(--space-2)}.character-form-label{font-weight:500;color:var(--text-primary);font-size:.9rem}.character-form-input{padding:var(--space-3);border:2px solid var(--border-light);border-radius:var(--radius-md);font-size:.9rem;transition:border-color .2s ease}.character-form-input:focus{outline:none;border-color:var(--primary-color)}.character-form-textarea{min-height:80px;resize:vertical}.character-form-select{padding:var(--space-3);border:2px solid var(--border-light);border-radius:var(--radius-md);font-size:.9rem;background:#fff;cursor:pointer}.character-form-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-4);padding-top:var(--space-3);border-top:2px solid var(--border-light)}.btn-character-form{padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:var(--space-2)}.btn-character-form.primary{background:var(--primary);color:#fff}.btn-character-form.primary:hover{background:var(--primary-hover)}.btn-character-form.secondary{background:var(--bg-light);color:var(--text-primary);border:1px solid var(--border-light)}.btn-character-form.secondary:hover{background:var(--border-light)}.btn-character-form.danger{background:var(--error);color:#fff}.btn-character-form.danger:hover{background:#dc2626}.character-edit-modal .modal-header,.character-edit-modal .modal-body{padding:1.5rem}.character-edit-modal .modal-footer{padding:1.5rem;background:#14141e99!important;border-top:1px solid rgba(255,255,255,.1)}.character-edit-modal .form-group{margin-bottom:var(--space-4)}.character-edit-modal .form-group label{display:block;margin-bottom:var(--space-2);font-weight:600;color:#ffffffe6;font-size:.9rem}.character-edit-modal .form-group input,.character-edit-modal .form-group select,.character-edit-modal .form-group textarea{width:100%;padding:var(--space-3);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);background:#ffffff1a;color:#ffffffe6;font-size:.9rem;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.character-edit-modal .form-group input:focus,.character-edit-modal .form-group select:focus,.character-edit-modal .form-group textarea:focus{outline:none;border-color:var(--primary);background:#ffffff26;box-shadow:0 0 0 3px #6366f11a}.character-edit-modal .form-group input::placeholder,.character-edit-modal .form-group textarea::placeholder{color:#ffffff80}.character-edit-modal .form-group select option{background:#1e1e28fa;color:#fffffff2;padding:8px}.character-edit-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.character-edit-modal .form-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid rgba(255,255,255,.1)}.character-edit-modal .btn-form{padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:var(--space-2);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.character-edit-modal .btn-form.primary{background:var(--primary);color:#fff}.character-edit-modal .btn-form.primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.character-edit-modal .btn-form.secondary{background:#ffffff1a;color:#ffffffe6;border:1px solid rgba(255,255,255,.2)}.character-edit-modal .btn-form.secondary:hover{background:#fff3;transform:translateY(-1px)}.character-edit-modal .btn-form.accent{background:var(--warning);color:#fff;border:1px solid var(--warning)}.character-edit-modal .btn-form.accent:hover{background:#d97706;transform:translateY(-1px)}@media(max-width:768px){.characters-grid,.character-form-row{grid-template-columns:1fr}.character-modal-content{width:95%;padding:var(--space-4)}.character-edit-modal .form-row{grid-template-columns:1fr}}.character-playable-badge{display:inline-block;background:linear-gradient(135deg,#6366f14d,#8b5cf64d);border:1px solid rgba(99,102,241,.5);color:#a5b4fc;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600;margin-top:8px;transition:all .3s ease}.character-playable-badge:hover{background:linear-gradient(135deg,#6366f166,#8b5cf666);border-color:#6366f1b3;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.character-draft-badge{display:inline-block;background:linear-gradient(135deg,#f59e0b4d,#ea580c4d);border:1px solid rgba(245,158,11,.5);color:#fbbf24;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600;margin-top:8px}.character-card.draft{border:1px dashed rgba(245,158,11,.5);opacity:.85}.character-card.draft:hover{border-color:#f59e0bcc;opacity:1}.btn-character-icon.resume-draft{background:#f59e0b4d!important;border:1px solid rgba(245,158,11,.5)!important;font-size:11px!important;padding:4px 8px!important;border-radius:4px!important;white-space:nowrap}.btn-character-icon.resume-draft:hover{background:#f59e0b80!important;border-color:#f59e0bcc!important}.character-selection-modal .modal{background:linear-gradient(135deg,#111827fa,#1f2937fa);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.character-selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding:10px}.character-selection-card{border:3px solid transparent;border-radius:12px;background:#ffffff0d;padding:15px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.character-selection-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,rgba(99,102,241,.1));opacity:0;transition:opacity .3s ease;pointer-events:none}.character-selection-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0006;background:#ffffff14}.character-selection-card:hover:before{opacity:1}.character-selection-image{width:100%;height:200px;border-radius:8px;overflow:hidden;background:#0000004d;display:flex;align-items:center;justify-content:center;margin-bottom:12px;position:relative}.character-selection-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.character-selection-card:hover .character-selection-image img{transform:scale(1.05)}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#6366f1}.wizard-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-primary, #0a0a12);z-index:10000;display:flex;flex-direction:column;overflow:hidden}.wizard-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--bg-secondary, rgba(255, 255, 255, .03));border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .08));flex-shrink:0}.wizard-header-title{font-size:1.1rem;font-weight:600;color:var(--text-primary, #e5e5e5);margin:0}.wizard-close-btn{background:transparent;border:1px solid var(--border-color, rgba(255, 255, 255, .15));color:var(--text-secondary, #999);padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.wizard-close-btn:hover{background:#ffffff0d;color:var(--text-primary, #e5e5e5);border-color:#ffffff4d}.wizard-step-bar{display:flex;align-items:center;gap:.25rem;padding:.75rem 1.5rem;background:var(--bg-secondary, rgba(255, 255, 255, .02));border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .06));flex-shrink:0}.wizard-step{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .2s;font-size:.85rem;color:var(--text-tertiary, #666);background:transparent;border:1px solid transparent;white-space:nowrap}.wizard-step:hover:not(.wizard-step--disabled){background:#ffffff0a;color:var(--text-secondary, #999)}.wizard-step--active{background:#6366f126;color:var(--color-primary, #818cf8);border-color:#6366f14d}.wizard-step--completed{color:var(--color-success, #34d399)}.wizard-step--disabled{opacity:.4;cursor:not-allowed}.wizard-step-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.75rem;font-weight:700;background:#ffffff1a}.wizard-step--active .wizard-step-number{background:var(--color-primary, #818cf8);color:#fff}.wizard-step--completed .wizard-step-number{background:var(--color-success, #34d399);color:#fff}.wizard-step-connector{width:24px;height:1px;background:var(--border-color, rgba(255, 255, 255, .1));flex-shrink:0}.wizard-body{display:flex;flex:1;overflow:hidden}.wizard-main{flex:1;overflow-y:auto;padding:1.5rem}.wizard-chat{width:380px;border-left:1px solid var(--border-color, rgba(255, 255, 255, .08));display:flex;flex-direction:column;background:var(--bg-secondary, rgba(255, 255, 255, .02));flex-shrink:0}.wizard-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;border-top:1px solid var(--border-color, rgba(255, 255, 255, .08));background:var(--bg-secondary, rgba(255, 255, 255, .02));flex-shrink:0}.wizard-nav-btn{padding:.5rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid}.wizard-nav-btn--prev{background:transparent;border-color:var(--border-color, rgba(255, 255, 255, .15));color:var(--text-secondary, #999)}.wizard-nav-btn--prev:hover{background:#ffffff0d}.wizard-nav-btn--next{background:var(--color-primary, #6366f1);border-color:var(--color-primary, #6366f1);color:#fff}.wizard-nav-btn--next:hover{background:var(--color-primary-hover, #4f46e5)}.wizard-nav-btn--next:disabled{opacity:.4;cursor:not-allowed}.wizard-nav-btn--finish{background:var(--color-success, #10b981);border-color:var(--color-success, #10b981);color:#fff}.wizard-nav-btn--finish:hover{background:#059669}.wizard-form{max-width:720px}.wizard-form-section{margin-bottom:1.5rem}.wizard-form-section-title{font-size:.95rem;font-weight:600;color:var(--text-primary, #e5e5e5);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .08))}.wizard-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.75rem}.wizard-form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.wizard-form-label{font-size:.8rem;font-weight:500;color:var(--text-secondary, #999);text-transform:uppercase;letter-spacing:.03em}.wizard-form-input,.wizard-form-select,.wizard-form-textarea{background:var(--bg-input, rgba(255, 255, 255, .05));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:6px;padding:.5rem .75rem;color:var(--text-primary, #e5e5e5);font-size:.9rem;transition:border-color .2s}.wizard-form-input:focus,.wizard-form-select:focus,.wizard-form-textarea:focus{outline:none;border-color:var(--color-primary, #818cf8)}.wizard-form-textarea{resize:vertical;min-height:80px}.wizard-form-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.wizard-form-tag{background:#6366f126;color:var(--color-primary, #818cf8);padding:.2rem .6rem;border-radius:12px;font-size:.8rem;display:flex;align-items:center;gap:.3rem}.wizard-form-tag-remove{cursor:pointer;opacity:.6;font-size:.7rem}.wizard-form-tag-remove:hover{opacity:1}.wizard-form-checkbox-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.wizard-form-checkbox{display:flex;align-items:center;gap:.4rem;cursor:pointer;font-size:.85rem;color:var(--text-secondary, #999)}.wizard-form-checkbox input[type=checkbox]{accent-color:var(--color-primary, #6366f1)}.wizard-prompts-bar{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.wizard-prompt-group{display:flex;flex-direction:column;gap:.35rem}.wizard-prompt-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary, #666)}.wizard-prompt-input{background:var(--bg-input, rgba(255, 255, 255, .05));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:6px;padding:.5rem .75rem;color:var(--text-primary, #e5e5e5);font-size:.85rem;resize:vertical;min-height:120px}.wizard-prompt-input:focus{outline:none;border-color:var(--color-primary, #818cf8)}.image-rating-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.image-rating-card{background:var(--bg-secondary, rgba(255, 255, 255, .03));border:2px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:12px;overflow:hidden;transition:all .2s}.image-rating-card:hover{border-color:#ffffff26}.image-rating-card--selected{border-color:var(--color-success, #34d399);box-shadow:0 0 20px #34d39926}.image-rating-card--generating{border-color:#6366f14d}.image-rating-card__image-container{position:relative;aspect-ratio:2/3;max-height:360px;background:#0000004d;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer}.image-rating-card__image{width:100%;height:100%;object-fit:contain}.wizard-lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10020;display:flex;align-items:center;justify-content:center;cursor:pointer}.wizard-lightbox__image{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 0 40px #00000080}.wizard-lightbox__close{position:absolute;top:1rem;right:1rem;background:#ffffff1a;border:none;color:#fff;font-size:1.5rem;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.wizard-lightbox__close:hover{background:#fff3}.image-rating-card__spinner{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-tertiary, #666);font-size:.85rem}.image-rating-card__body{padding:.75rem}.image-rating-card__actions{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem}.image-rating-card__select-btn{background:var(--color-success, #10b981);color:#fff;border:none;padding:.35rem .8rem;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2s}.image-rating-card__select-btn:hover{background:#059669}.image-rating-card__select-btn:disabled{opacity:.3;cursor:not-allowed}.image-rating-card__regen-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);padding:.3rem .5rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.image-rating-card__regen-btn:hover{background:#ffffff1f}.btn-comfyui{padding:.25rem .5rem;font-size:.7rem;background:#6464644d;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#ccc;cursor:pointer;transition:all .2s}.btn-comfyui:hover{background:#64646499;color:#fff}.star-rating{display:flex;gap:2px}.star-rating__star{cursor:pointer;font-size:1.3rem;transition:all .15s;filter:grayscale(1) opacity(.3);background:none;border:none;padding:0;line-height:1}.star-rating__star--active{filter:none}.star-rating__star:hover{transform:scale(1.2)}.feedback-panel{display:flex;align-items:flex-start;gap:.5rem;margin-top:.5rem}.feedback-panel__input{flex:1;background:var(--bg-input, rgba(255, 255, 255, .05));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:6px;padding:.4rem .6rem;color:var(--text-primary, #e5e5e5);font-size:.8rem;resize:none;height:32px}.feedback-panel__input:focus{outline:none;border-color:var(--color-primary, #818cf8)}.feedback-panel__submit{background:var(--color-primary, #6366f1);color:#fff;border:none;padding:.4rem .75rem;border-radius:6px;font-size:.8rem;cursor:pointer;white-space:nowrap;transition:all .2s;height:32px}.feedback-panel__submit:hover{background:var(--color-primary-hover, #4f46e5)}.feedback-panel__submit:disabled{opacity:.4;cursor:not-allowed}.pose-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .06))}.pose-chip{display:flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:20px;font-size:.8rem;cursor:pointer;transition:all .2s;border:1px solid;background:transparent;color:var(--text-secondary, #999);border-color:var(--border-color, rgba(255, 255, 255, .12))}.pose-chip:hover{background:#ffffff0d}.pose-chip--selected{background:#6366f126;color:var(--color-primary, #818cf8);border-color:#6366f166}.pose-chip--confirmed{background:#34d39926;color:var(--color-success, #34d399);border-color:#34d39966}.pose-chip--locked{opacity:.6;cursor:default}.pose-chip__status{width:8px;height:8px;border-radius:50%;background:var(--text-tertiary, #666)}.pose-chip--selected .pose-chip__status{background:var(--color-primary, #818cf8)}.pose-chip--confirmed .pose-chip__status{background:var(--color-success, #34d399)}.pose-chip[data-category=neutral]{--chip-accent: #94a3b8}.pose-chip[data-category=action]{--chip-accent: #f97316}.pose-chip[data-category=combat]{--chip-accent: #ef4444}.pose-chip[data-category=social]{--chip-accent: #3b82f6}.pose-chip[data-category=emotional]{--chip-accent: #a855f7}.step3-reference-preview{display:flex;align-items:center;gap:1rem;padding:.75rem;margin-bottom:1rem;background:#6366f10f;border:1px solid rgba(99,102,241,.2);border-radius:10px}.step3-reference-preview__img{width:60px;height:100px;object-fit:cover;border-radius:6px;border:2px solid rgba(99,102,241,.4)}.step3-reference-preview__label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--text-secondary, #aaa)}.step3-reference-preview__badge{font-size:.7rem;font-weight:600;color:var(--color-primary, #818cf8);text-transform:uppercase;letter-spacing:.05em}.pose-section{margin-bottom:1.5rem;padding:1rem;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:10px}.pose-section--confirmed{background:#34d3990a;border-color:#34d39926}.pose-section__header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.pose-section__title{color:var(--text-primary, #eee);margin:0;font-size:.95rem}.pose-section__confirmed-badge{font-size:.75rem;color:var(--color-success, #34d399);font-weight:500}.pose-section__collapsed{display:flex;align-items:center;gap:1rem}.pose-section__collapsed-img{width:70px;height:115px;object-fit:cover;border-radius:6px;border:2px solid rgba(52,211,153,.3)}.pose-section__edit-btn,.pose-section__collapse-btn{padding:.35rem .75rem;font-size:.8rem;background:#ffffff0f;color:var(--text-secondary, #aaa);border:1px solid rgba(255,255,255,.12);border-radius:6px;cursor:pointer;transition:all .2s}.pose-section__edit-btn:hover,.pose-section__collapse-btn:hover{background:#ffffff1a;color:var(--text-primary, #eee)}.pose-section__collapse-btn{margin-top:.75rem}.animation-preview-card{background:var(--bg-secondary, rgba(255, 255, 255, .03));border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:12px;padding:1rem;margin-bottom:1rem}.animation-preview-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.animation-preview-card__title{font-size:.9rem;font-weight:600;color:var(--text-primary, #e5e5e5)}.animation-preview-card__type-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:10px;font-weight:500}.animation-preview-card__type-badge--interpolation{background:#6366f126;color:var(--color-primary, #818cf8)}.animation-preview-card__type-badge--idle{background:#34d39926;color:var(--color-success, #34d399)}.animation-preview-card__viewer{aspect-ratio:2/3;max-height:400px;background:#0000004d;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.animation-preview-card__generate-btn{width:100%;padding:.75rem;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s;background:var(--color-primary, #6366f1);color:#fff;border:none;margin-top:.75rem}.animation-preview-card__generate-btn:hover{background:var(--color-primary-hover, #4f46e5)}.animation-preview-card__generate-btn:disabled{opacity:.4;cursor:not-allowed}.wan-step4-container{display:flex;flex-direction:column;gap:1rem}.wan-step3-notice{background:#6366f114;border:1px solid rgba(99,102,241,.2);border-radius:8px;padding:.75rem 1rem;margin-bottom:.5rem}.wan-step3-notice p{margin:0;color:var(--text-secondary, #a3a3a3);font-size:.85rem}.wan-pose-tabs{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:thin}.wan-pose-tab{flex-shrink:0;padding:.5rem 1rem;border-radius:8px;border:1px solid var(--border-color, rgba(255, 255, 255, .08));background:var(--bg-secondary, rgba(255, 255, 255, .03));color:var(--text-secondary, #a3a3a3);font-size:.8rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.35rem}.wan-pose-tab:hover{background:var(--bg-hover, rgba(255, 255, 255, .06));color:var(--text-primary, #e5e5e5)}.wan-pose-tab--active{background:var(--color-primary, #6366f1);color:#fff;border-color:var(--color-primary, #6366f1)}.wan-pose-tab--ready{border-color:var(--color-success, #34d399)}.wan-pose-tab__check{color:var(--color-success, #34d399);font-size:.7rem}.wan-pose-tab--active .wan-pose-tab__check{color:#fff}.wan-pose-tab-wrapper{position:relative;display:inline-flex;align-items:stretch}.wan-pose-tab-delete{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;border:none;background:var(--color-error, #ef4444);color:#fff;font-size:.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;z-index:1;padding:0}.wan-pose-tab-wrapper:hover .wan-pose-tab-delete{opacity:1}.wan-sub-tabs{display:flex;gap:0;border-radius:8px;overflow:hidden;border:1px solid var(--border-color, rgba(255, 255, 255, .08));width:fit-content}.wan-sub-tab{padding:.35rem .75rem;border:none;background:var(--bg-secondary, rgba(255, 255, 255, .03));color:var(--text-secondary, #a3a3a3);font-size:.75rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.3rem}.wan-sub-tab:not(:last-child){border-right:1px solid var(--border-color, rgba(255, 255, 255, .08))}.wan-sub-tab:hover{background:var(--bg-hover, rgba(255, 255, 255, .06))}.wan-sub-tab--active{background:var(--color-primary, #6366f1);color:#fff}.wan-sub-tab__count{font-size:.65rem;opacity:.7}.wan-sub-tab__spinner{width:10px;height:10px;border:2px solid rgba(255,255,255,.2);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}.wan-viewer{aspect-ratio:2/3;max-height:500px;background:#0000004d;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center}.wan-viewer animation-engine{width:100%;height:100%}.wan-animation-canvas{width:100%;height:100%;object-fit:contain;display:block}.wan-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.wan-controls .animation-preview-card__generate-btn{width:auto;flex:1;margin-top:0}.wan-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.wan-toolbar__right{display:flex;align-items:center;gap:.5rem}.wan-toggle{display:flex;align-items:center;gap:.3rem;cursor:pointer;font-size:.75rem;color:var(--text-secondary, #a3a3a3)}.wan-toggle input[type=checkbox]{width:14px;height:14px;accent-color:var(--color-primary, #6366f1);cursor:pointer}.wan-toggle__label{-webkit-user-select:none;user-select:none}.wan-gear-btn{background:none;border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:6px;color:var(--text-secondary, #a3a3a3);font-size:1rem;padding:.25rem .4rem;cursor:pointer;transition:all .2s;line-height:1}.wan-gear-btn:hover{background:var(--bg-hover, rgba(255, 255, 255, .06));color:var(--text-primary, #e5e5e5)}.wan-settings-panel{background:var(--bg-secondary, rgba(255, 255, 255, .03));border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:8px;padding:.75rem}.wan-settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.wan-settings-field{display:flex;flex-direction:column;gap:.2rem;font-size:.7rem;color:var(--text-secondary, #a3a3a3)}.wan-settings-field select,.wan-settings-field input[type=number]{background:var(--bg-primary, #1a1a2e);border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:4px;color:var(--text-primary, #e5e5e5);padding:.25rem .4rem;font-size:.75rem}.wan-settings-field input[type=checkbox]{width:14px;height:14px;accent-color:var(--color-primary, #6366f1)}.wan-settings-note{margin:.5rem 0 0;font-size:.7rem;color:var(--text-tertiary, #737373);font-style:italic}.step5-wan{display:flex;flex-direction:column;gap:.75rem}.step5-wan__header{display:flex;align-items:center;gap:.5rem}.step5-wan__name{margin:0;font-size:1.1rem;color:var(--text-primary, #e5e5e5)}.step5-wan__pose-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:12px;background:var(--color-primary, #6366f1);color:#fff}.step5-wan__state-badge{font-size:.65rem;padding:.15rem .4rem;border-radius:8px;background:#ffffff1a;color:var(--text-tertiary, #999)}.step5-wan__viewer{aspect-ratio:2/3;max-height:420px;background:#0000004d;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center}.step5-wan__viewer animation-engine{width:100%;height:100%}.step5-wan__speeds{display:flex;flex-direction:column;gap:.3rem}.step5-wan__speed-row,.step5-wan__speed{display:flex;align-items:center;gap:.6rem}.step5-wan__speed-label{font-size:.75rem;color:var(--text-secondary, #a3a3a3);min-width:7rem;white-space:nowrap}.step5-wan__speed-slider{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:#ffffff1a;border-radius:2px;outline:none;cursor:pointer}.step5-wan__speed-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent-color, #6366f1);cursor:pointer}.step5-wan__speed-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent-color, #6366f1);border:none;cursor:pointer}.step5-wan__actions{display:flex;gap:.4rem;flex-wrap:wrap}.step5-wan__action-btn{padding:.4rem .75rem;border-radius:8px;border:1px solid var(--border-color, rgba(255, 255, 255, .08));background:var(--bg-secondary, rgba(255, 255, 255, .03));color:var(--text-secondary, #a3a3a3);font-size:.8rem;cursor:pointer;transition:all .2s}.step5-wan__action-btn:hover{background:var(--bg-hover, rgba(255, 255, 255, .06));color:var(--text-primary, #e5e5e5)}.step5-wan__action-btn--active{background:var(--color-primary, #6366f1);color:#fff;border-color:var(--color-primary, #6366f1)}.step5-wan__sub-switch{display:flex;gap:0;border-radius:6px;overflow:hidden;border:1px solid var(--border-color, rgba(255, 255, 255, .08));width:fit-content}.step5-wan__sub-btn{padding:.25rem .6rem;border:none;background:var(--bg-secondary, rgba(255, 255, 255, .03));color:var(--text-secondary, #a3a3a3);font-size:.7rem;cursor:pointer;transition:all .2s}.step5-wan__sub-btn:not(:last-child){border-right:1px solid var(--border-color, rgba(255, 255, 255, .08))}.step5-wan__sub-btn--active{background:var(--color-primary, #6366f1);color:#fff}.wizard-chat-header{padding:.75rem 1rem;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .06));font-size:.85rem;font-weight:600;color:var(--text-primary, #e5e5e5)}.wizard-chat-messages{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.wizard-chat-message{padding:.5rem .75rem;border-radius:8px;font-size:.85rem;line-height:1.5;max-width:90%}.wizard-chat-message--user{background:#6366f126;color:var(--text-primary, #e5e5e5);align-self:flex-end;border-bottom-right-radius:2px}.wizard-chat-message--assistant{background:#ffffff0d;color:var(--text-primary, #e5e5e5);align-self:flex-start;border-bottom-left-radius:2px}.wizard-chat-message--tool{background:#f59e0b1a;color:var(--text-secondary, #999);font-size:.8rem;font-family:monospace;align-self:flex-start}.wizard-chat-message--action{background:#34d3991a;color:var(--color-success, #34d399);font-size:.8rem;align-self:flex-start}.wizard-chat-message--error{background:#ef44441a;color:var(--color-error, #f87171);font-size:.8rem}.wizard-chat-input-bar{display:flex;gap:.5rem;padding:.75rem;border-top:1px solid var(--border-color, rgba(255, 255, 255, .06))}.wizard-chat-input{flex:1;background:var(--bg-input, rgba(255, 255, 255, .05));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:8px;padding:.5rem .75rem;color:var(--text-primary, #e5e5e5);font-size:.85rem;resize:none}.wizard-chat-input:focus{outline:none;border-color:var(--color-primary, #818cf8)}.wizard-chat-send-btn{background:var(--color-primary, #6366f1);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.85rem;transition:all .2s}.wizard-chat-send-btn:hover{background:var(--color-primary-hover, #4f46e5)}.wizard-chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.wizard-chat-header--character{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#6366f114,#8b5cf614);border-bottom-color:#6366f126}.wizard-chat-header__avatar{width:24px;height:24px;border-radius:50%;background:var(--color-primary, #6366f1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0}.wizard-chat-message--character{background:linear-gradient(135deg,#6366f11a,#8b5cf614)!important;border-left:2px solid var(--color-primary, #6366f1);padding-left:.6rem!important}.wizard-chat-message__char-name{display:block;font-size:.7rem;font-weight:600;color:var(--color-primary, #818cf8);margin-bottom:.15rem}.wizard-mode-dialog{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10001}.wizard-mode-dialog__card{background:var(--bg-primary, #1a1a2e);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:16px;padding:2rem;max-width:500px;width:90%}.wizard-mode-dialog__title{font-size:1.2rem;font-weight:700;color:var(--text-primary, #e5e5e5);margin-bottom:.5rem;text-align:center}.wizard-mode-dialog__subtitle{font-size:.85rem;color:var(--text-secondary, #999);margin-bottom:1.5rem;text-align:center}.wizard-mode-dialog__options{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.wizard-mode-option{background:#ffffff08;border:2px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:12px;padding:1.25rem;cursor:pointer;transition:all .2s;text-align:center}.wizard-mode-option:hover{border-color:var(--color-primary, #6366f1);background:#6366f10d}.wizard-mode-option__icon{font-size:2rem;margin-bottom:.5rem}.wizard-mode-option__title{font-size:.95rem;font-weight:600;color:var(--text-primary, #e5e5e5);margin-bottom:.3rem}.wizard-mode-option__desc{font-size:.8rem;color:var(--text-secondary, #999);line-height:1.4}.wizard-generate-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--color-primary, #6366f1),#8b5cf6);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:1rem}.wizard-generate-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.wizard-generate-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.step5-preview{padding:.5rem 0}.step5-summary{display:flex;gap:1.5rem;padding:1.25rem;background:#6366f10f;border:1px solid rgba(99,102,241,.2);border-radius:12px;margin-bottom:1.5rem}.step5-summary__image img{width:120px;height:200px;object-fit:cover;border-radius:8px;border:2px solid rgba(99,102,241,.3)}.step5-summary__info{flex:1;display:flex;flex-direction:column;gap:.5rem}.step5-summary__name{margin:0;font-size:1.3rem;color:var(--text-primary, #eee)}.step5-summary__details{display:flex;flex-wrap:wrap;gap:.4rem}.step5-tag{font-size:.75rem;padding:.2rem .6rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--text-secondary, #aaa)}.step5-summary__history{font-size:.85rem;color:var(--text-secondary, #aaa);line-height:1.5;margin:.25rem 0 0;max-height:80px;overflow-y:auto}.step5-section-title{color:var(--text-primary, #eee);font-size:.95rem;margin:0 0 .75rem}.step5-poses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem;margin-bottom:1.5rem}.step5-pose-card{text-align:center}.step5-pose-card img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:8px;border:2px solid rgba(52,211,153,.3)}.step5-pose-card__label{display:block;font-size:.7rem;color:var(--text-secondary, #aaa);margin-top:.25rem}.step5-animations{margin-bottom:1.5rem}.step5-anim-section{margin-bottom:1rem}.step5-anim-row{display:flex;gap:1rem}.step5-anim-card{flex:1;text-align:center}.step5-anim-card animation-engine{max-height:250px;border-radius:8px;overflow:hidden}.step5-anim-label{display:block;font-size:.7rem;font-weight:600;color:var(--text-tertiary, #888);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.step5-finalize-msg{text-align:center;padding:1.25rem;background:#34d39914;border:1px solid rgba(52,211,153,.2);border-radius:10px;color:var(--color-success, #34d399);font-size:.9rem}.wizard-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--color-primary, #818cf8);border-radius:50%;animation:wizard-spin .8s linear infinite}@keyframes wizard-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.wizard-body{flex-direction:column}.wizard-chat{width:100%;height:300px;border-left:none;border-top:1px solid var(--border-color, rgba(255, 255, 255, .08))}.image-rating-grid,.wizard-prompts-bar,.wizard-form-row,.wizard-mode-dialog__options{grid-template-columns:1fr}}.wizard-section-divider{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0 1rem;color:var(--text-secondary);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.wizard-section-divider:before,.wizard-section-divider:after{content:"";flex:1;height:1px;background:var(--border-color, rgba(255, 255, 255, .1))}.wan-suggestions-section{margin:.5rem 0;padding:.5rem;background:#3b82f60d;border:1px solid rgba(59,130,246,.15);border-radius:8px}.wan-suggestions-header{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#3b82f6b3;margin-bottom:.4rem;padding-left:.25rem;display:flex;align-items:center;justify-content:space-between}.wan-suggestion-reroll{font-size:.75rem;font-weight:500;text-transform:none;letter-spacing:normal;color:#3b82f6cc;background:#3b82f61a;border:1px solid rgba(59,130,246,.25);border-radius:12px;padding:.2rem .6rem;cursor:pointer;transition:background .15s,border-color .15s}.wan-suggestion-reroll:hover{background:#3b82f633;border-color:#3b82f666}.wan-suggestions-list{display:flex;flex-wrap:wrap;gap:.4rem}.wan-suggestion-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:#3b82f61f;border:1px solid rgba(59,130,246,.25);border-radius:16px;color:#3b82f6e6;font-size:.85rem;cursor:pointer;transition:all .15s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.wan-suggestion-chip:hover{background:#3b82f638;border-color:#3b82f673;transform:translateY(-1px)}.wan-suggestion-chip__icon{font-size:.9rem}.wan-suggestion-chip-wrapper{display:inline-flex;align-items:center;position:relative}.wan-suggestion-chip__dismiss{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:none;background:#3b82f633;color:#3b82f6b3;font-size:.75rem;line-height:1;cursor:pointer;margin-left:-6px;padding:0;transition:background .15s,color .15s}.wan-suggestion-chip__dismiss:hover{background:#ef44444d;color:#ef4444e6}.wan-pose-tab--add{background:#ffffff0d!important;border:1px dashed rgba(255,255,255,.2)!important;color:var(--text-secondary)!important;font-size:1.2rem!important;min-width:36px;padding:.3rem .6rem!important}.wan-pose-tab--add:hover{background:#ffffff1a!important;border-color:#ffffff4d!important;color:var(--text-primary)!important}.wan-custom-dialog-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.wan-custom-dialog{background:var(--bg-primary, #1a1a2e);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:12px;padding:1.5rem;width:90%;max-width:480px;box-shadow:0 20px 60px #00000080}.wan-custom-dialog h4{color:var(--text-primary);font-size:1.1rem}.wan-custom-dialog__field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.wan-custom-dialog__field span{font-size:.8rem;color:var(--text-secondary);font-weight:600}.wan-custom-dialog__field input,.wan-custom-dialog__field textarea{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:.5rem .75rem;color:var(--text-primary);font-size:.9rem;font-family:inherit}.wan-custom-dialog__field input:focus,.wan-custom-dialog__field textarea:focus{outline:none;border-color:#6366f180}.wan-custom-dialog__cancel{padding:.5rem 1rem;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--text-secondary);cursor:pointer}.wan-custom-dialog__create{padding:.5rem 1rem;background:#6366f1cc;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600}.wan-custom-dialog__create:disabled{opacity:.4;cursor:not-allowed}.wan-custom-dialog__create:not(:disabled):hover{background:#6366f1}.game-container{display:flex;flex-direction:column;height:100vh;background:transparent;position:relative}body.game-active,html.game-active{overflow:hidden;height:100vh;max-height:100vh}.game-main{height:100vh;display:flex;flex-direction:column}.game-main:before{content:"";flex-grow:1}.game-characters-display{flex-shrink:0;padding:2px 10px}.game-characters-grid{display:flex;flex-direction:row;align-items:flex-end;justify-content:flex-start;gap:10px;overflow-x:auto;overflow-y:hidden}.game-character-card{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px;min-width:120px}.game-character-header{display:flex;align-items:center;gap:8px;width:100%;justify-content:center}.game-character-portrait{width:60px;height:60px;border-radius:50%;object-fit:cover}.game-character-name{font-size:13px;font-weight:700;color:#fff;text-align:center;margin:0;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 3px rgba(0,0,0,.8)}.character-detail-btn{background:#3b82f6;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer;transition:background-color .2s ease}.character-detail-btn:hover{background:#2563eb}.game-bottom-panel,.game-input{flex-shrink:0}.player-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.player-stat{text-align:center;padding:var(--space-2);background:var(--bg-glass);border-radius:var(--radius-lg);border:1px solid var(--border-light)}.player-stat-value{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);margin:0}.player-stat-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0}.characters-section{flex:1;overflow:hidden;display:flex;flex-direction:column}.characters-header{padding:var(--space-4) var(--space-6);border-bottom:var(--glass-border);background:var(--bg-glass-subtle)}.characters-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.characters-list{flex:1;overflow-y:auto;padding:var(--space-2)}.character-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);margin-bottom:var(--space-2)}.character-item:hover{background:var(--bg-glass-subtle)}.character-avatar{width:40px;height:40px;border-radius:var(--radius-full);border:1px solid var(--border-light);object-fit:cover}.character-info{flex:1;min-width:0}.character-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin:0 0 var(--space-1) 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-description{font-size:var(--text-xs);color:var(--text-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-main{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden;justify-content:flex-end}#particle-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.game-bottom-panel{background:#0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.1);padding:20px;flex-shrink:0}.game-situation-container{display:flex;align-items:flex-start;gap:20px;margin-bottom:15px}.game-player-info{display:flex;flex-direction:column;align-items:center;min-width:120px}.game-player-avatar-container{width:120px;height:120px;border-radius:50%;border:2px solid rgba(255,255,255,.3);margin-bottom:8px;overflow:hidden;position:relative;flex-shrink:0}.game-player-avatar{width:220px;height:auto;position:absolute;top:0;left:50%;transform:translate(-50%);display:block}.game-player-name{color:#fff;font-size:12px;font-weight:600;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.5)}.game-bottom-panel .game-narrative{flex:1}.game-bottom-panel .game-narrative-content{color:#fff;font-size:14px;line-height:1.5;text-shadow:0 1px 2px rgba(0,0,0,.5)}.game-narrative{flex:1;padding:var(--space-6);overflow-y:auto;background:var(--bg-glass-subtle);position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:0}.narrative-content{max-width:800px;margin:auto auto 0;display:flex;flex-direction:column;justify-content:flex-end;min-height:100%}.narrative-message{margin-bottom:var(--space-6);padding:var(--space-6);background:var(--bg-glass);border-radius:var(--radius-xl);border:var(--glass-border);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.narrative-text{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-primary);margin:0}.narrative-timestamp{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-2);text-align:right}.game-choices{padding:var(--space-6);background:var(--bg-glass);border-top:var(--glass-border);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop)}.choices-container{max-width:800px;margin:0 auto}.choices-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-4) 0;text-align:center}.choices-list{display:flex;flex-direction:column;gap:var(--space-3)}.choice-btn{padding:var(--space-4) var(--space-6);background:var(--bg-glass);border:var(--glass-border);border-radius:var(--radius-xl);color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all .3s ease;text-align:left;-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);position:relative;overflow:hidden;display:flex;align-items:center;gap:12px}.choice-btn:hover{background:var(--bg-glass-strong);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.choice-btn:active{transform:translateY(0)}.choice-btn:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--primary-400),var(--secondary-400));opacity:0;transition:opacity var(--transition-normal)}.choice-btn:hover:before{opacity:1}.choice-btn:disabled{cursor:not-allowed;opacity:.7}.choice-loader{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.custom-input-container{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-light)}.custom-input{width:100%;padding:var(--space-4);background:var(--bg-glass);border:var(--glass-border);border-radius:var(--radius-xl);color:var(--text-primary);font-size:var(--text-base);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);transition:all var(--transition-normal)}.custom-input:focus{outline:none;border-color:var(--primary-400);box-shadow:0 0 0 3px #3b82f633}.custom-input::placeholder{color:var(--text-muted)}.game-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.loading-spinner{width:40px;height:40px;border:4px solid var(--bg-glass);border-top:4px solid var(--primary-400);border-radius:var(--radius-full);animation:spin 1s linear infinite}.loading-text{margin-left:var(--space-4);color:var(--text-secondary);font-size:var(--text-base)}.character-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-modal, 1050);display:flex;align-items:center;justify-content:center;padding:var(--space-4, 1rem);opacity:0;visibility:hidden;transition:all .3s ease-in-out}.character-modal[style*=block]{opacity:1;visibility:visible}.character-modal-content{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;box-shadow:0 20px 40px #0000004d,0 0 0 1px #ffffff1a;color:var(--text-primary, #1f2937);max-width:500px;width:100%;max-height:90vh;overflow:hidden;transform:scale(.9) translateY(20px);transition:all .3s ease-out}.character-modal[style*=block] .character-modal-content{transform:scale(1) translateY(0)}.character-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4, 1rem);padding:var(--space-6, 1.5rem);border-bottom:1px solid rgba(0,0,0,.1);background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.character-modal-title{font-size:var(--text-xl, 1.25rem);font-weight:var(--font-bold, 700);color:var(--text-primary, #1f2937);margin:0}.character-modal-close{background:none;border:none;font-size:24px;color:var(--text-secondary, #6b7280);cursor:pointer;padding:var(--space-2, .5rem);border-radius:var(--radius-full, 50%);transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.character-modal-close:hover{background:#0000001a;color:var(--text-primary, #1f2937);transform:scale(1.1)}.character-modal-body{padding:var(--space-6, 1.5rem);max-height:60vh;overflow-y:auto;color:var(--text-primary, #1f2937);line-height:1.6}.character-modal-avatar{width:80px;height:80px;border-radius:var(--radius-full);border:2px solid var(--border-light);object-fit:cover}.character-modal-info{flex:1}.character-modal-name{font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0 0 var(--space-2) 0}.character-modal-class{font-size:var(--text-base);color:var(--text-muted);margin:0}.character-modal-body{padding:var(--space-6)}.character-description{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary);margin:0 0 var(--space-6) 0}.character-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-4)}.character-stat{text-align:center;padding:var(--space-4);background:var(--bg-glass);border-radius:var(--radius-lg);border:1px solid var(--border-light)}.character-stat-value{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--primary-400);margin:0 0 var(--space-1) 0}.character-stat-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0}@media(max-width:480px){.player-stats{grid-template-columns:repeat(4,1fr)}.characters-list{max-height:200px}.character-item{padding:var(--space-2)}.choices-list{gap:var(--space-2)}.choice-btn{padding:var(--space-3) var(--space-4);font-size:var(--text-sm)}}@media(max-width:480px){.game-narrative,.game-choices{padding:var(--space-4)}.narrative-message{padding:var(--space-4);margin-bottom:var(--space-4)}.player-stats{grid-template-columns:repeat(2,1fr)}.character-stats{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}}.visible{visibility:visible;opacity:1}.hidden{visibility:hidden;opacity:0;pointer-events:none}.keyboard-navigation *:focus{outline:3px solid var(--color-accent);outline-offset:2px;border-radius:4px}.keyboard-navigation button:focus,.keyboard-navigation .btn:focus{box-shadow:0 0 0 3px #ff6b6b4d}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}.high-contrast{--color-primary: #000000;--color-secondary: #ffffff;--text-primary: #ffffff;--text-secondary: #000000;--color-accent: #ffff00;--color-accent-light: #ffff99;--background-primary: #000000;--background-secondary: #ffffff;--border-color: #ffffff}.high-contrast .btn--primary{background:#ff0;color:#000;border:2px solid #000000}.high-contrast .btn--secondary,.high-contrast input,.high-contrast textarea,.high-contrast select{background:#fff;color:#000;border:2px solid #000000}.reduced-motion *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reduced-motion .btn{transition:none}.reduced-motion .loading-indicator{animation:none}.high-zoom{font-size:18px}.high-zoom .btn{padding:16px 24px;font-size:18px}.high-zoom .world-card{margin-bottom:24px}.high-zoom .choice-btn{padding:16px;margin-bottom:16px;font-size:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:6px;background:var(--color-accent);color:var(--text-primary);padding:8px;text-decoration:none;border-radius:4px;z-index:10000;transition:top .3s ease}.skip-link:focus{top:6px}.loading-indicator{position:relative}.loading-indicator:before{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top:2px solid var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}[role=dialog]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--background-primary);border:2px solid var(--border-color);border-radius:8px;box-shadow:0 10px 30px #00000080;z-index:10000;max-width:90vw;max-height:90vh;overflow-y:auto}[role=dialog] .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-color)}[role=dialog] .close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-primary);padding:4px 8px;border-radius:4px}[role=dialog] .close-btn:hover,[role=dialog] .close-btn:focus{background:#ffffff1a}.notification{position:fixed;top:20px;right:20px;padding:16px 24px;border-radius:8px;box-shadow:0 4px 12px #0000004d;z-index:10000;max-width:300px;role:alert}.notification--success{background:#27ae60;color:#fff}.notification--error{background:#e74c3c;color:#fff}.notification--info{background:#3498db;color:#fff}.choice-btn{position:relative;width:100%;text-align:left;margin-bottom:12px;padding:16px;border:2px solid transparent;border-radius:8px;background:#ffffff1a;color:var(--text-primary);cursor:pointer;transition:all .3s ease}.choice-btn:hover,.choice-btn:focus{border-color:var(--color-accent);background:#ff6b6b33;transform:translate(8px)}.choice-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.choice-btn:before{content:counter(choice-counter);counter-increment:choice-counter;position:absolute;left:-30px;top:50%;transform:translateY(-50%);background:var(--color-accent);color:var(--text-primary);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.choices-container{counter-reset:choice-counter}.world-card{border:2px solid transparent;transition:all .3s ease}.world-card:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px #ff6b6b4d}.world-card .start-adventure-btn:focus{outline:none}.form-group{position:relative;margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary)}.form-group input:focus+label,.form-group textarea:focus+label{color:var(--color-accent)}.form-error{color:#e74c3c;font-size:14px;margin-top:4px;display:block}.form-group input:invalid{border-color:#e74c3c}.form-group input:valid{border-color:#27ae60}@media(max-width:768px){.choice-btn{font-size:16px;padding:20px}.btn{min-height:48px;font-size:16px}[role=dialog]{margin:20px;max-width:calc(100vw - 40px)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:high){:root{--color-primary: #000000;--color-secondary: #ffffff;--text-primary: #ffffff;--text-secondary: #000000;--color-accent: #ffff00;--background-primary: #000000;--background-secondary: #ffffff}}@media(prefers-color-scheme:dark){:root{--background-primary: #1a1a1a;--background-secondary: #2d2d2d;--text-primary: #ffffff;--text-secondary: #cccccc;--border-color: #444444}}body{margin:0!important;padding:0!important;min-height:100vh!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;background-attachment:fixed!important}.page-container{min-height:calc(100vh - 60px);padding:var(--space-6);display:flex;flex-direction:column;align-items:center}.page-title{font-size:2.5rem;font-weight:700;color:#fff;margin:var(--space-8) 0;text-shadow:0 2px 4px rgba(0,0,0,.3);text-align:center}.content-card{background:#fffffff2;box-shadow:0 20px 40px #0003;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-8);width:100%;max-width:900px}:root{--primary: #6366f1;--primary-hover: #5855eb;--primary-light: #a5b4fc;--secondary: #8b5cf6;--accent: #06b6d4;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--bg-app: #0a0a0f;--bg-primary: #111827;--bg-secondary: #1f2937;--bg-card: #374151;--bg-input: #4b5563;--surface: rgba(255, 255, 255, .05);--surface-hover: rgba(255, 255, 255, .1);--text-primary: #ffffff;--text-secondary: #d1d5db;--text-muted: #9ca3af;--text-on-primary: #ffffff;--text-on-surface: #ffffff;--shadow-subtle: 0 1px 3px rgba(0, 0, 0, .12);--shadow-medium: 0 4px 12px rgba(0, 0, 0, .15);--shadow-strong: 0 8px 25px rgba(0, 0, 0, .25);--glow-primary: 0 0 20px rgba(99, 102, 241, .3);--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--border-subtle: 1px solid rgba(255, 255, 255, .1);--border-focus: 2px solid var(--primary);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem}*{box-sizing:border-box}.app-header{position:fixed;top:0;left:0;right:0;height:60px;background:#fff3;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-logo{font-size:var(--font-size-xl);font-weight:700;color:var(--text-primary);text-decoration:none;transition:color .2s ease}.app-logo:hover{color:var(--primary)}.app-user-menu,.profile-dropdown{position:relative}.profile-button{width:40px;height:40px;border-radius:50%;background:var(--bg-card);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--text-secondary)}.profile-button:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:scale(1.05)}.profile-icon{width:20px;height:20px}.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:#fff;border-radius:var(--radius-lg);box-shadow:0 8px 32px #00000026;border:1px solid var(--border);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s ease;z-index:1001}.dropdown-menu.show{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4)}.user-avatar{width:48px;height:48px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.user-avatar svg{width:24px;height:24px}.user-info{flex:1;min-width:0}.user-name{font-size:var(--font-size-base);font-weight:600;color:#1f2937;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:var(--font-size-sm);color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-divider{height:1px;background:var(--border);margin:0 var(--space-4)}.dropdown-item{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:none;border:none;text-align:left;color:#374151;font-size:var(--font-size-base);cursor:pointer;transition:background-color .2s ease}.dropdown-item:hover{background:#f3f4f6}.dropdown-item:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.dropdown-icon{width:18px;height:18px;color:#6b7280}.main-content{margin-top:60px;min-height:calc(100vh - 60px)}.visible{visibility:visible;opacity:1;transition:all .3s ease}.hidden{visibility:hidden;opacity:0;pointer-events:none;transition:all .3s ease}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-md)}.card{background:var(--surface);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);border:var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all .3s ease;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--primary-gradient);opacity:.6}.card:hover{background:var(--surface-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius);font-weight:500;font-size:14px;text-decoration:none;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-height:36px}.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow);transform:translateY(-1px)}.btn-secondary{background:var(--surface-elevated);color:var(--text-primary);border:var(--border)}.btn-secondary:hover{background:var(--surface-hover);border-color:#ffffff1f}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#059669}.btn-warning{background:var(--warning);color:#fff}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover{background:#dc2626}.btn-ghost{background:transparent;color:var(--text-secondary);border:var(--border)}.btn-ghost:hover{background:var(--surface-hover);color:var(--text-primary)}.btn .icon{font-size:16px;line-height:1}.auth-dialog{width:100%;max-width:400px}.auth-branding{text-align:center;margin-bottom:var(--space-8)}.auth-logo-large{font-size:2.5rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.auth-form{background:#fffffff2;box-shadow:0 20px 40px #0003;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-8)}.auth-form h2{text-align:center;margin:0 0 var(--space-6) 0;font-size:var(--font-size-xl);font-weight:600;color:#1f2937}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:600;color:#374151;margin-bottom:var(--space-2)}.auth-form input{width:100%;background:#fff;border:2px solid #d1d5db;border-radius:var(--radius);padding:var(--space-3) var(--space-4);color:#111827;font-size:var(--font-size-base);transition:all .2s ease;min-height:44px}.auth-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.auth-form input::placeholder{color:#9ca3af}.auth-form label{display:flex;align-items:center;gap:var(--space-2);color:#374151;font-size:var(--font-size-sm);cursor:pointer;margin:var(--space-4) 0}.auth-form input[type=checkbox]{width:16px;height:16px;min-height:auto;margin:0;accent-color:var(--primary)}.auth-form button{width:100%;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);padding:var(--space-4);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:var(--space-6);min-height:48px}.auth-form button:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.auth-switch{text-align:center;margin-top:var(--space-6);padding:var(--space-4);color:#6b7280;font-size:var(--font-size-sm)}.auth-switch a{color:var(--primary);text-decoration:none;font-weight:600;transition:color .2s ease}.auth-switch a:hover{color:var(--primary-hover);text-decoration:underline}.worlds-section{background:#fffffff2;box-shadow:0 20px 40px #0003;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-8);width:100%;max-width:900px;margin:0 auto}.worlds-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid #e5e7eb}.worlds-title{font-size:var(--font-size-xl);font-weight:600;color:#1f2937;margin:0}.worlds-actions{display:flex;gap:var(--space-3)}.worlds-actions .btn{background:var(--primary);color:#fff;border:none;border-radius:var(--radius);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:var(--space-2)}.worlds-actions .btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.worlds-actions .btn-secondary{background:#6b7280}.worlds-actions .btn-secondary:hover{background:#4b5563}.worlds-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(500px,1fr));gap:var(--space-6);margin-top:var(--space-4)}.world-card{background:#fff;border-radius:var(--radius-lg);padding:var(--space-6);border:2px solid #e5e7eb;transition:all .3s ease;position:relative;overflow:hidden}.world-card:hover{background:#3f4069;border-color:#667eea;box-shadow:0 12px 30px #667eea26;transform:translateY(-3px)}.world-image{width:100%;height:200px;object-fit:cover;border-radius:var(--radius);margin-bottom:var(--space-4)}.world-info{flex:1}.world-name{font-size:var(--font-size-xl);font-weight:600;color:#1f2937;margin:0 0 var(--space-2) 0}.world-description{color:var(--color-gray-600);font-size:.9rem;line-height:1.5;margin-bottom:var(--spacing-3);overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.world-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.world-actions .btn{flex:1;min-width:180px;height:40px;border:none;border-radius:var(--radius);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--space-2);box-sizing:border-box}.world-actions .btn-primary{background:var(--primary);color:#fff}.world-actions .btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.world-actions .btn-danger{background:#dc2626;color:#fff}.world-actions .btn-danger:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.world-actions .btn-warning{background:#f59e0b;color:#fff}.world-actions .btn-warning:hover{background:#d97706;transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.world-status{position:absolute;top:var(--space-4);right:var(--space-4);background:#10b981;color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600}.no-worlds{text-align:center;padding:var(--space-12);color:#6b7280}.no-worlds h3{font-size:var(--font-size-xl);color:#1f2937;margin-bottom:var(--space-4);font-weight:600}.no-worlds p{font-size:var(--font-size-base);margin-bottom:var(--space-6)}.icon-refresh:before{content:"↻";font-size:18px}.icon-plus:before{content:"+";font-size:18px;font-weight:600}.icon-logout:before{content:"→";font-size:18px}.worlds-container{position:relative}.worlds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-8);margin-top:var(--space-6)}.world-card{background:var(--bg-primary);border:var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-8);transition:all .2s ease;box-shadow:var(--shadow-medium);position:relative;overflow:hidden}.world-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(135deg,var(--primary),var(--secondary));opacity:0;transition:opacity .2s ease}.world-card:hover:before{opacity:1}.world-card h3{font-size:var(--font-size-xl);font-weight:700;margin:0 0 var(--space-4) 0;color:var(--text-primary)}.world-card p{color:var(--text-secondary);margin:0 0 var(--space-6) 0;line-height:1.6;font-size:var(--font-size-base)}.world-card-meta{display:flex;gap:var(--space-4);margin-bottom:var(--space-6);font-size:var(--font-size-sm);color:var(--text-muted)}.world-card-actions{display:flex;gap:var(--space-3);margin-top:auto}.world-card-actions .btn{flex:1;font-size:var(--font-size-sm);padding:var(--space-3) var(--space-4);min-height:40px;font-weight:500}.loading-state,.error-state,.no-worlds{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);text-align:center;background:var(--surface);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);border:var(--border-subtle);border-radius:var(--radius-lg);margin:var(--space-lg) 0;box-shadow:var(--shadow-md)}.no-worlds h3{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--space-sm) 0;color:var(--text-secondary);background:var(--bg-secondary);border:var(--border);border-radius:var(--radius-lg)}.empty-state h3,.loading-state h3,.error-state h3{font-size:16px;font-weight:600;margin:0 0 var(--space-2) 0;color:var(--text-primary)}.empty-state p,.loading-state p,.error-state p{margin:0 0 var(--space-4) 0;font-size:14px}.creation-form{max-width:600px;margin:0 auto;background:#fffffff2;box-shadow:0 20px 40px #0003;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-8)}.creation-form .form-group{margin-bottom:var(--space-6)}.creation-form .form-label{display:block;font-size:var(--font-size-sm);font-weight:600;color:#374151;margin-bottom:var(--space-2)}.creation-form .form-input{width:100%;background:#fff;border:2px solid #d1d5db;border-radius:var(--radius);padding:var(--space-3) var(--space-4);color:#111827;font-size:var(--font-size-base);transition:all .2s ease;min-height:44px;box-sizing:border-box}.creation-form .form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.creation-form .form-help{font-size:.875rem;color:#6b7280;margin-top:var(--space-2);line-height:1.4}.creation-form .form-info{display:flex;align-items:flex-start;gap:var(--space-3);background:#f0f9ff;border:1px solid #0ea5e9;border-radius:var(--radius);padding:var(--space-4);margin-top:var(--space-4)}.creation-form .info-icon{color:#0ea5e9;flex-shrink:0;margin-top:2px}.creation-form .info-text{font-size:.875rem;color:#1e293b;line-height:1.5}.creation-form .info-text strong{color:#0f172a;font-weight:600}.creation-form{display:flex;flex-direction:column;gap:var(--space-4)}.creation-form input,.creation-form textarea{background:var(--bg-primary);border:var(--border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);color:var(--text-primary);font-size:14px;transition:all .2s ease;font-family:inherit;min-height:44px}.creation-form textarea{min-height:120px;resize:vertical}.creation-form input:focus,.creation-form textarea:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 3px #6366f11a}.creation-form input::placeholder,.creation-form textarea::placeholder{color:var(--text-muted)}.creation-actions{display:flex;gap:var(--space-4);margin-top:var(--space-6);justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:none;border-radius:var(--radius);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s ease;box-sizing:border-box;min-height:44px;width:auto;white-space:nowrap}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563;transform:translateY(-1px);box-shadow:0 4px 12px #6b72804d}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.notification{position:fixed;top:var(--space-4);right:var(--space-4);background:var(--bg-secondary);border:var(--border);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-lg);z-index:1000;max-width:400px;transform:translate(100%);transition:transform .3s ease}.notification.show{transform:translate(0)}.notification.error{border-left:3px solid var(--error)}.notification.success{border-left:3px solid var(--success)}.notification.warning{border-left:3px solid var(--warning)}.notification.info{border-left:3px solid var(--accent)}.notification-content{color:var(--text-primary);font-size:14px;line-height:1.5}.animate-spin{animation:spin 1s linear infinite}.btn-loader{display:inline-flex;align-items:center;margin-right:.5rem}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn:disabled:hover{transform:none;box-shadow:0 4px 6px -1px #0000001a}.choice-btn.modern-choice{background:linear-gradient(120deg,#74b9ff33,#ffffff1a);border:1.5px solid rgba(116,185,255,.33);border-radius:var(--radius-md, 8px);padding:.8rem 1.5rem;cursor:pointer;transition:all .4s ease;opacity:1;position:relative;overflow:hidden;min-height:42px;font-size:1.05rem;font-weight:600;color:var(--text-primary, #ffffff);box-shadow:0 2px 12px #74b9ff21;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;text-align:center;width:auto;min-width:fit-content;white-space:nowrap;height:auto;flex-shrink:0;margin:.25rem}.choice-btn.modern-choice:hover{background:linear-gradient(120deg,#74b9ff66,#fff3);border-color:var(--text-primary, #ffffff);transform:scale(1.04) translateY(-2px);box-shadow:0 6px 24px #74b9ff45}.choice-btn.modern-choice:active{transform:scale(.98)}.choice-btn.modern-choice:disabled{background:linear-gradient(120deg,#74b9ff99,#ffffff4d);border-color:var(--color-primary, #74b9ff);cursor:not-allowed;opacity:.7}#gameChoicesContainer{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:0!important;padding:.5rem 0 .25rem!important;margin-top:.5rem!important;border:none!important;display:flex!important;flex-direction:row!important;gap:.5rem!important;justify-content:center!important;flex-wrap:wrap!important}#charactersContainer{position:fixed!important;bottom:180px!important;left:50%!important;transform:translate(-50%)!important;width:90%!important;max-width:1200px!important;display:flex!important;flex-direction:row!important;gap:1rem!important;justify-content:center!important;z-index:999!important;pointer-events:none!important}.characters-container{display:flex!important;flex-direction:row!important;gap:1rem!important;padding:1rem!important;justify-content:center!important;align-items:flex-start!important;max-width:100%!important;overflow-x:auto!important}.character-display{display:flex!important;flex-direction:column!important;align-items:center!important;min-width:150px!important;max-width:200px!important;background:#ffffff1a!important;border-radius:12px!important;padding:.75rem!important;border:1px solid rgba(255,255,255,.2)!important}.character-header{display:flex!important;justify-content:space-between!important;align-items:center!important;width:100%!important;margin-bottom:.5rem!important}.character-name{font-size:.9rem!important;font-weight:600!important;color:#fff!important;text-align:center!important;flex:1!important}.character-details-btn{background:#74b9ff33!important;border:1px solid rgba(116,185,255,.4)!important;border-radius:50%!important;width:24px!important;height:24px!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;font-size:.8rem!important;color:#74b9ff!important;transition:all .2s ease!important}.character-details-btn:hover{background:#74b9ff4d!important;border-color:#74b9ff99!important;transform:scale(1.1)!important}.character-image{width:120px!important;height:120px!important;border-radius:8px!important;object-fit:cover!important;border:2px solid rgba(255,255,255,.2)!important}.character-modal-overlay{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;background:#000000b3!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:9999!important;-webkit-backdrop-filter:blur(5px)!important;backdrop-filter:blur(5px)!important}.character-modal{background:#1e1e28fa!important;border:1px solid rgba(102,126,234,.3)!important;border-radius:16px!important;padding:0!important;min-width:600px!important;max-width:1000px!important;width:85vw!important;max-height:90vh!important;overflow-y:auto!important;box-shadow:0 25px 80px #0009!important;-webkit-backdrop-filter:blur(15px)!important;backdrop-filter:blur(15px)!important;position:relative!important}.character-modal-header{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important;padding:20px 30px!important;border-radius:16px 16px 0 0!important;display:flex!important;justify-content:space-between!important;align-items:center!important;margin:0!important}.character-modal-header h3{color:#fff!important;margin:0!important;font-size:24px!important;padding:0!important;font-weight:600!important}.character-modal-close{background:transparent!important;border:none!important;font-size:28px!important;cursor:pointer!important;color:#fff!important;line-height:1!important;padding:0!important;width:32px!important;height:32px!important;transition:transform .2s!important;flex-shrink:0!important}.character-modal-close:hover{transform:rotate(90deg)!important}.character-modal-body{color:#fff!important;padding:30px!important}.gamemaster-modal{background:#1e1e28fa!important;border:1px solid rgba(102,126,234,.3)!important;border-radius:16px!important;padding:0!important;max-width:1200px!important;width:95vw!important;max-height:90vh!important;overflow-y:auto!important;box-shadow:0 25px 80px #0009!important;-webkit-backdrop-filter:blur(15px)!important;backdrop-filter:blur(15px)!important}.gamemaster-modal-header{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important;padding:20px 30px!important;border-radius:16px 16px 0 0!important;display:flex!important;justify-content:space-between!important;align-items:center!important}.gamemaster-profile{display:flex!important;gap:20px!important;padding:20px 30px!important;border-bottom:1px solid rgba(102,126,234,.2)!important;background:#0003!important}.gamemaster-avatar img{width:80px!important;height:80px!important;border-radius:50%!important;object-fit:cover!important;border:3px solid rgba(102,126,234,.5)!important}.gamemaster-info{flex:1!important}.gamemaster-info p{margin:8px 0!important;color:#e0e0e0!important;line-height:1.5!important}.gamemaster-tabs{display:flex!important;background:#0000004d!important;border-bottom:1px solid rgba(102,126,234,.2)!important}.gamemaster-tab{flex:1!important;padding:15px 20px!important;background:none!important;border:none!important;cursor:pointer!important;font-weight:600!important;color:#b0b0b0!important;transition:all .3s ease!important;border-bottom:3px solid transparent!important}.gamemaster-tab:hover{background:#667eea33!important;color:#8fa4f3!important}.gamemaster-tab.active{color:#8fa4f3!important;border-bottom-color:#8fa4f3!important;background:#667eea33!important}.gamemaster-content{padding:20px 30px!important;overflow-y:auto!important;background:#0000001a!important}.gamemaster-tab-content{display:none!important}.gamemaster-tab-content.active{display:block!important}.gamemaster-tab-content h4{margin:0 0 20px!important;color:#e0e0e0!important;font-size:18px!important;border-bottom:2px solid #8fa4f3!important;padding-bottom:10px!important}.gamemaster-memory-item{background:linear-gradient(135deg,#667eea26,#586cd61a)!important;border-left:4px solid #8fa4f3!important;padding:15px!important;margin-bottom:15px!important;border-radius:0 8px 8px 0!important;border:1px solid rgba(102,126,234,.3)!important}.gamemaster-memory-item:hover{border-color:#667eea80!important;box-shadow:0 2px 8px #667eea33!important}.memory-header{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:10px!important}.memory-badge{background:#8fa4f3!important;color:#fff!important;padding:4px 8px!important;border-radius:12px!important;font-size:12px!important;font-weight:700!important}.memory-index{background:#8fa4f3!important;color:#1a1a2e!important;padding:4px 8px!important;border-radius:12px!important;font-size:12px!important;font-weight:700!important}.memory-timestamp{color:#b0b0b0!important;font-size:12px!important}.memory-content{color:#e0e0e0!important;line-height:1.6!important;margin-bottom:8px!important}.gamemaster-user-input-item{background:linear-gradient(135deg,#0ea5e926,#38bdf81a)!important;border-left:4px solid #0ea5e9!important;border:1px solid rgba(14,165,233,.3)!important;padding:15px!important;margin-bottom:15px!important;border-radius:0 8px 8px 0!important}.gamemaster-user-input-item:hover{border-color:#0ea5e980!important;box-shadow:0 2px 8px #0ea5e933!important}.user-input-header{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:10px!important}.user-input-badge{background:#0ea5e9!important;color:#fff!important;padding:4px 8px!important;border-radius:12px!important;font-size:12px!important;font-weight:700!important}.user-input-timestamp{color:#b0b0b0!important;font-size:12px!important}.user-input-content{color:#e0e0e0!important;line-height:1.6!important}.user-input-text{font-style:italic!important;color:#38bdf8!important;margin-top:5px!important;padding:8px!important;background:#0ea5e91a!important;border-radius:4px!important}.memory-context{color:silver!important;font-size:14px!important;font-style:italic!important}.gamemaster-scene-item{background:#764ba226!important;border-left:4px solid #a569bd!important;padding:15px!important;margin-bottom:15px!important;border-radius:0 8px 8px 0!important;border:1px solid rgba(118,75,162,.2)!important}.scene-header{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:10px!important}.scene-index{background:#a569bd!important;color:#1a1a2e!important;padding:4px 8px!important;border-radius:12px!important;font-size:12px!important;font-weight:700!important}.scene-timestamp{color:#b0b0b0!important;font-size:12px!important}.scene-title{font-weight:700!important;color:#d7a3e0!important;margin-bottom:8px!important;font-size:16px!important}.scene-description{color:#e0e0e0!important;line-height:1.6!important;margin-bottom:10px!important}.scene-location,.scene-participants{color:silver!important;font-size:14px!important;margin-bottom:5px!important}.gamemaster-scene-description{background:linear-gradient(135deg,#9b59b626,#8e44ad1a)!important;border-left:4px solid #9b59b6!important;padding:15px!important;margin-bottom:15px!important;border-radius:0 8px 8px 0!important;border:1px solid rgba(155,89,182,.3)!important}.gamemaster-scene-description:hover{border-color:#9b59b680!important;box-shadow:0 2px 8px #9b59b633!important}.scene-description-header{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:10px!important}.scene-description-badge{background:#9b59b6!important;color:#fff!important;padding:4px 8px!important;border-radius:12px!important;font-size:12px!important;font-weight:700!important}.scene-description-content{color:#e0e0e0!important;line-height:1.6!important;padding:8px!important;background:#9b59b61a!important;border-radius:4px!important}.gamemaster-character-item{background:linear-gradient(135deg,#e67e2226,#d354001a)!important;border-left:4px solid #e67e22!important;padding:15px!important;margin-bottom:15px!important;border-radius:0 8px 8px 0!important;border:1px solid rgba(230,126,34,.3)!important}.gamemaster-character-item:hover{border-color:#e67e2280!important;box-shadow:0 2px 8px #e67e2233!important}.character-header{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:10px!important}.character-badge{background:#e67e22!important;color:#fff!important;padding:4px 8px!important;border-radius:12px!important;font-size:12px!important;font-weight:700!important}.character-content{color:#e0e0e0!important;line-height:1.6!important;display:flex!important;flex-wrap:wrap!important;gap:8px!important}.character-tag{background:#e67e2233!important;color:#f39c12!important;padding:6px 12px!important;border-radius:12px!important;font-size:13px!important;border:1px solid rgba(230,126,34,.3)!important}.gamemaster-reflection-item{background:linear-gradient(135deg,#f1c40f26,#f39c121a)!important;border-left:4px solid #f1c40f!important;padding:15px!important;margin-bottom:15px!important;border-radius:0 8px 8px 0!important;border:1px solid rgba(241,196,15,.3)!important}.gamemaster-reflection-item:hover{border-color:#f1c40f80!important;box-shadow:0 2px 8px #f1c40f33!important}.reflection-header{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:10px!important}.reflection-badge{background:#f1c40f!important;color:#1a1a2e!important;padding:4px 8px!important;border-radius:12px!important;font-size:12px!important;font-weight:700!important}.reflection-content{color:#e0e0e0!important;line-height:1.6!important;margin-bottom:8px!important;padding:8px!important;background:#f1c40f1a!important;border-radius:4px!important}.reflection-content strong{color:#f39c12!important}.gamemaster-movement-item{background:linear-gradient(135deg,#2ecc7126,#27ae601a)!important;border-left:4px solid #2ecc71!important;padding:15px!important;margin-bottom:15px!important;border-radius:0 8px 8px 0!important;border:1px solid rgba(46,204,113,.3)!important}.gamemaster-movement-item:hover{border-color:#2ecc7180!important;box-shadow:0 2px 8px #2ecc7133!important}.movement-header{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:10px!important}.movement-badge{background:#2ecc71!important;color:#fff!important;padding:4px 8px!important;border-radius:12px!important;font-size:12px!important;font-weight:700!important}.movement-timestamp{color:#b0b0b0!important;font-size:12px!important}.movement-content{color:#e0e0e0!important;line-height:1.6!important;margin-bottom:8px!important}.movement-details{color:#52d98c!important;font-size:14px!important;padding:8px!important;background:#2ecc711a!important;border-radius:4px!important}.gamemaster-choice-item{background:linear-gradient(135deg,#3498db26,#2980b91a)!important;border-left:4px solid #3498db!important;padding:15px!important;margin-bottom:15px!important;border-radius:0 8px 8px 0!important;border:1px solid rgba(52,152,219,.3)!important}.gamemaster-choice-item:hover{border-color:#3498db80!important;box-shadow:0 2px 8px #3498db33!important}.choice-header{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:10px!important}.choice-badge{background:#3498db!important;color:#fff!important;padding:4px 8px!important;border-radius:12px!important;font-size:12px!important;font-weight:700!important}.choice-content{color:#e0e0e0!important;line-height:1.6!important}.choice-option{padding:8px!important;background:#3498db1a!important;border-radius:4px!important;margin-bottom:5px!important}.choice-bullet{color:#3498db!important;margin-right:8px!important}.choice-text{color:#5dade2!important}.choice-index{background:#3498db!important;color:#1a1a2e!important;padding:4px 8px!important;border-radius:12px!important;font-size:12px!important;font-weight:700!important}.choice-timestamp{color:#b0b0b0!important;font-size:12px!important}.choice-user-input{color:#e0e0e0!important;line-height:1.6!important;margin-bottom:8px!important;font-weight:600!important}.choice-options{color:silver!important;font-size:14px!important;font-style:italic!important}.no-content{text-align:center!important;color:#888!important;font-style:italic!important;padding:40px 20px!important}#gamemasterBtn{position:fixed!important;bottom:5px!important;right:5px!important;background:#000000b3!important;border:2px solid rgba(116,185,255,.5)!important;border-radius:8px!important;padding:.75rem 1rem!important;color:#fff!important;font-size:1rem!important;font-weight:600!important;cursor:pointer!important;transition:all .3s ease!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;z-index:1001!important}#gamemasterBtn:hover{background:#74b9ffcc!important;border-color:#74b9ff!important;transform:scale(1.05)!important}#loreBookBtn{position:fixed!important;bottom:5px!important;left:5px!important;background:#281e0fcc!important;border:2px solid rgba(212,168,83,.5)!important;border-radius:8px!important;padding:.75rem 1rem!important;color:#f5e6c8!important;font-size:1rem!important;font-weight:600!important;cursor:pointer!important;transition:all .3s ease!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;z-index:1001!important}#loreBookBtn:hover{background:#d4a8534d!important;border-color:#d4a853!important;transform:scale(1.05)!important}.choice-btn.modern-choice.fade-out{opacity:0!important;transform:scale(.8) translateY(10px)!important;transition:all .3s ease!important;pointer-events:none!important}.choice-btn.modern-choice.loading{position:relative!important;pointer-events:none!important}.choice-btn.modern-choice.loading:after{content:""!important;position:absolute!important;top:50%!important;left:50%!important;width:20px!important;height:20px!important;margin:-10px 0 0 -10px!important;border:2px solid transparent!important;border-top:2px solid rgba(116,185,255,1)!important;border-radius:50%!important;animation:spin 1s linear infinite!important}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.game-result{position:fixed!important;bottom:0!important;left:50%!important;transform:translate(-50%)!important;width:90vw!important;max-width:1200px!important;background:#ffffff26!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;border-radius:20px 20px 0 0!important;padding:.5rem 1.5rem!important;box-shadow:0 -8px 32px #0000004d!important;border:1px solid rgba(255,255,255,.2)!important;border-bottom:none!important;z-index:100!important;opacity:1!important;visibility:visible!important;margin-bottom:0!important}.situation-container{display:flex!important;align-items:flex-start!important;gap:1rem!important;margin-bottom:.75rem!important}.game-content{flex:1!important;display:block!important;padding:.75rem 1rem!important}.situation-text{font-size:1.12rem!important;line-height:1.5!important;margin:0!important;padding:0!important;width:100%!important;text-align:left!important}.player-profile-img{width:60px!important;height:60px!important;border-radius:50%!important;border:2px solid rgba(116,185,255,.5)!important;object-fit:cover!important;display:block!important;margin-bottom:.5rem!important}.player-profile{display:flex!important;flex-direction:column!important;align-items:center!important;margin-right:1rem!important;min-width:80px!important}.player-name{font-size:.9rem!important;color:#fff!important;text-align:center!important;font-weight:500!important}@media(max-width:768px){.world-manager{padding:var(--space-4)}.world-manager-header{flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.header-actions{width:100%;justify-content:stretch}.header-actions .btn{flex:1}.worlds-grid{grid-template-columns:1fr;gap:var(--space-4)}.auth-dialog,.creation-dialog{margin:var(--space-4);padding:var(--space-6)}.notification{top:var(--space-4);right:var(--space-4);left:var(--space-4);max-width:none}.world-card{padding:var(--space-4)}.world-card-actions,.creation-actions{flex-direction:column}}@media(prefers-reduced-motion:no-preference){.card,.btn,.world-card{transition:all .3s cubic-bezier(.4,0,.2,1)}}.fade-out{opacity:0!important;transition:opacity .3s ease-out!important}.fade-in{opacity:1!important;transition:opacity .5s ease-in!important}.game-loading-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1rem;z-index:100}.game-loading-spinner{width:40px;height:40px;border:3px solid rgba(116,185,255,.2);border-top-color:#74b9ff;border-radius:50%;animation:spin 1s linear infinite}.game-loading-text{color:#74b9ff;font-size:.9rem;font-weight:500;text-shadow:0 0 10px rgba(116,185,255,.5)}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.fade-out,.fade-in{transition:none!important}}
