:root{--color-ink-black: #111111;--color-true-black: #000000;--color-muted-grey: #555555;--color-border-soft: #E5E5E5;--color-bg-shell: #F5F5F5;--color-surface: #FFFFFF;--bg-body: var(--color-bg-shell);--bg-surface: var(--color-surface);--text-primary: var(--color-ink-black);--text-muted: var(--color-muted-grey);--border-subtle: var(--color-border-soft);--border-strong: #C7C7C7;--btn-primary-bg: var(--color-ink-black);--btn-primary-text: #FFFFFF;--btn-secondary-bg: var(--color-surface);--btn-secondary-text: var(--color-ink-black);--btn-secondary-border: var(--border-subtle);--focus-ring: 0 0 0 2px rgba(0,0,0,.6);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .12);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px}body{margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Inter,sans-serif;background:var(--bg-body);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}.card{background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-subtle);padding:var(--space-md) var(--space-lg);box-shadow:var(--shadow-sm)}.surface{background:var(--bg-surface);border:1px solid var(--border-subtle)}.input,input:not([type=checkbox]):not([type=radio]),textarea,select{background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);padding:var(--space-sm) 10px;font:inherit;color:var(--text-primary);transition:all .15s ease;width:100%}.input:focus,input:focus,textarea:focus,select:focus{outline:none;box-shadow:var(--focus-ring);border-color:var(--color-ink-black)}.input::placeholder,input::placeholder,textarea::placeholder{color:var(--text-muted)}.input:disabled,input:disabled,textarea:disabled,select:disabled{background:var(--bg-body);color:var(--text-muted);cursor:not-allowed}.btn,button{border-radius:var(--radius-md);padding:10px 16px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s ease;border:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm)}.btn-primary,.primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border:1px solid var(--color-ink-black)}.btn-primary:hover,.primary:hover{opacity:.9;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active,.primary:active{opacity:.85;transform:translateY(0)}.btn-primary:disabled,.primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-secondary,.secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:1px solid var(--btn-secondary-border)}.btn-secondary:hover,.secondary:hover{background:var(--bg-body);border-color:var(--border-strong)}.btn-secondary:active,.secondary:active{background:#e8e8e8}.btn-ghost{background:transparent;color:var(--text-primary);border:none}.btn-ghost:hover{background:var(--bg-body)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;color:var(--text-primary);line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}p{margin:0;color:var(--text-primary)}.text-muted,.muted{color:var(--text-muted)}.text-small{font-size:.875rem}.text-tiny{font-size:.75rem}.divider,hr{height:1px;width:100%;background:var(--border-subtle);border:none;margin:var(--space-md) 0}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}.badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-default{background:var(--color-ink-black);color:var(--color-surface)}.badge-outline{background:transparent;color:var(--text-primary);border:1px solid var(--border-strong)}.badge-muted{background:var(--bg-body);color:var(--text-muted)}.spinner,.spinner-large{display:inline-block;width:24px;height:24px;border:3px solid var(--border-subtle);border-top-color:var(--color-ink-black);border-radius:50%;animation:spin .8s linear infinite}.spinner-large{width:48px;height:48px;border-width:4px}.clickable,.interactive{cursor:pointer;transition:all .15s ease}.clickable:hover,.interactive:hover{opacity:.8}.clickable:active,.interactive:active{opacity:.6}*:focus-visible{outline:none;box-shadow:var(--focus-ring)}.mt-md{margin-top:var(--space-md)}.mb-md{margin-bottom:var(--space-md)}.p-md{padding:var(--space-md)}:root{--primary: var(--color-ink-black);--primary-light: #1A1A1A;--secondary: var(--border-subtle);--bg-primary: var(--bg-body);--bg-white: var(--bg-surface);--accent: var(--color-ink-black);--success: var(--color-ink-black);--warning: var(--color-muted-grey);--error: var(--color-ink-black);--grey-50: var(--color-bg-shell);--grey-100: var(--color-bg-shell);--grey-200: var(--border-subtle);--grey-300: var(--border-strong);--grey-400: var(--text-muted);--grey-500: var(--text-muted);--grey-700: var(--text-primary);--space-base: var(--space-md);--space-xxl: var(--space-2xl);--radius-xl: var(--radius-lg);--shadow-base: var(--shadow-sm);--shadow-lg: var(--shadow-lg);--font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-xxl: 24px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:400;line-height:1.5;color:var(--primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin:0}h1{font-size:var(--font-size-xxl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}p{margin:0;line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:12px 20px;font-size:var(--font-size-base);font-weight:500;font-family:var(--font-family);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;min-height:44px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover:not(:disabled){background:#000;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn.secondary{background:var(--grey-200);color:var(--primary);border:1px solid var(--grey-300)}.btn.secondary:hover:not(:disabled){background:var(--grey-300)}.btn.accent{background:var(--color-ink-black);color:var(--color-surface)}.btn.accent:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:var(--shadow-md)}.card{background:var(--bg-white);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-base);transition:all var(--transition-base)}.card-elevated{background:var(--bg-white);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-md)}.card-gradient{background:var(--color-ink-black);border-radius:var(--radius-lg);padding:var(--space-lg);color:var(--color-surface);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.card-gradient:hover{opacity:.95;transform:translateY(-2px);box-shadow:var(--shadow-lg)}input[type=text],input[type=email],input[type=password],input[type=number],textarea,select{width:100%;padding:12px;font-size:var(--font-size-base);font-family:var(--font-family);border:1px solid var(--grey-300);border-radius:var(--radius-md);background:var(--bg-white);transition:all var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-ink-black);box-shadow:var(--focus-ring)}input[type=range]{-webkit-appearance:none;width:100%;height:6px;border-radius:var(--radius-sm);background:var(--border-subtle);outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--color-ink-black);cursor:pointer;transition:all var(--transition-fast)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:var(--shadow-md)}input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--color-ink-black);cursor:pointer;border:none;transition:all var(--transition-fast)}input[type=range]::-moz-range-thumb:hover{transform:scale(1.2);box-shadow:var(--shadow-md)}.badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:4px 12px;font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius-sm);white-space:nowrap}.badge.primary{background:var(--grey-100);color:var(--primary)}.badge.success{background:var(--color-ink-black);color:var(--color-surface);font-weight:600}.badge.warning{background:var(--bg-body);color:var(--text-muted);border:1px solid var(--border-strong)}.badge.error{background:var(--color-ink-black);color:var(--color-surface);font-weight:600}.badge.accent{background:var(--bg-body);color:var(--text-primary);border:1px solid var(--border-strong)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-base) ease-out}.error{padding:var(--space-md);background:var(--bg-surface);border:2px solid var(--color-ink-black);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600}.success{padding:var(--space-md);background:var(--color-ink-black);border:1px solid var(--color-ink-black);border-radius:var(--radius-md);color:var(--color-surface);font-size:var(--font-size-sm);font-weight:500}.info{padding:var(--space-md);background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm)}.text-muted{color:var(--grey-500)}.text-sm{font-size:var(--font-size-sm)}.text-lg{font-size:var(--font-size-lg)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-base{gap:var(--space-base)}.gap-lg{gap:var(--space-lg)}.w-full{width:100%}.h-full{height:100%}.mt-sm{margin-top:var(--space-sm)}.mt-base{margin-top:var(--space-base)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-sm{margin-bottom:var(--space-sm)}.mb-base{margin-bottom:var(--space-base)}.mb-lg{margin-bottom:var(--space-lg)}.p-sm{padding:var(--space-sm)}.p-base{padding:var(--space-base)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--grey-100)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.auth-container{display:flex;min-height:100vh;background:#fff}.auth-branding{flex:1;background:linear-gradient(135deg,#667eea,#764ba2);padding:48px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.auth-branding:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g fill="%23ffffff" fill-opacity="0.05"><path d="M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z"/></g></g></svg>');opacity:.3}.branding-content{max-width:520px;color:#fff;position:relative;z-index:1}.brand-logo{display:flex;align-items:center;gap:12px;margin-bottom:48px}.brand-logo .logo-image{width:48px;height:48px;border-radius:12px;background:#fff;padding:8px}.brand-name{font-size:28px;font-weight:700;color:#fff}.brand-title{font-size:40px;font-weight:700;line-height:1.2;margin:0 0 24px;color:#fff}.brand-description{font-size:18px;line-height:1.6;color:#ffffffe6;margin:0 0 48px}.brand-features{display:flex;flex-direction:column;gap:24px}.feature-item{display:flex;align-items:flex-start;gap:16px}.feature-icon{width:48px;height:48px;background:#ffffff26;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.feature-icon svg{color:#fff}.feature-text{flex:1}.feature-title{font-size:18px;font-weight:600;color:#fff;margin-bottom:2px}.feature-description{font-size:15px;color:#fff;opacity:.9}.brand-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px}.stat-item{text-align:center;padding:24px;background:#ffffff1a;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-value{font-size:36px;font-weight:700;color:#fff;margin-bottom:8px}.stat-label{font-size:14px;color:#fff;opacity:.9}.brand-testimonial{padding:24px;background:#ffffff1a;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.testimonial-quote{font-size:16px;line-height:1.6;color:#fff;margin-bottom:20px;font-style:italic}.testimonial-author{display:flex;align-items:center;gap:12px}.author-avatar{width:48px;height:48px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;color:#fff}.author-info{flex:1}.author-name{font-size:15px;font-weight:600;color:#fff;margin-bottom:2px}.author-title{font-size:14px;color:#fffc}.auth-form-container{flex:1;display:flex;align-items:center;justify-content:center;padding:48px;background:#f9fafb}.auth-form-content{width:100%;max-width:440px}.back-link{display:inline-flex;align-items:center;gap:8px;color:#6b7280;text-decoration:none;font-size:14px;font-weight:500;margin-bottom:32px;transition:color .15s ease}.back-link:hover{color:#374151}.form-header{margin-bottom:32px}.form-header h1{font-size:32px;font-weight:700;color:#111;margin:0 0 8px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.form-header p{font-size:16px;color:#6b7280;margin:0}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group label{font-size:14px;font-weight:600;color:#374151}.form-group input{padding:12px 16px;border:1px solid #D1D5DB;border-radius:8px;font-size:15px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:all .15s ease;background:#fff}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background:#f3f4f6;cursor:not-allowed}.form-hint{font-size:13px;color:#6b7280}.btn-submit{padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px}.btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.form-footer{margin-top:24px;text-align:center}.form-footer p{font-size:15px;color:#6b7280;margin:0}.link-primary{color:#667eea;text-decoration:none;font-weight:600;transition:color .15s ease}.link-primary:hover{color:#764ba2}.form-terms{margin-top:24px;text-align:center}.form-terms p{font-size:13px;color:#9ca3af;margin:0}.link-muted{color:#6b7280;text-decoration:none;transition:color .15s ease}.link-muted:hover{color:#374151}.success-state{text-align:center;padding:48px 0}.success-icon{width:96px;height:96px;margin:0 auto 24px;background:#ecfdf5;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#10b981}.success-state h1{font-size:32px;font-weight:700;color:#10b981;margin:0 0 12px}.success-state p{font-size:16px;color:#6b7280;margin:0}@media (max-width: 1024px){.auth-branding{display:none}.auth-form-container{flex:1}}@media (max-width: 640px){.auth-form-container{padding:24px}.form-header h1{font-size:24px}.brand-title{font-size:32px}.brand-stats{grid-template-columns:1fr}}.navbar{background:#fff;border-bottom:1px solid #e5e5e5;box-shadow:0 1px 3px #0000000d;position:sticky;top:0;z-index:100}.navbar-content{max-width:1400px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:64px}.navbar-brand a{font-size:1.5rem;font-weight:700;color:#111;text-decoration:none;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar-menu{display:flex;align-items:center;gap:8px}.nav-link{padding:8px 16px;color:#555;text-decoration:none;border-radius:6px;font-weight:500;transition:all .2s;font-size:.95rem}.nav-link:hover{background:#f5f5f5;color:#111}.nav-link-button{padding:8px 16px;background:none;border:none;color:#555;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s;font-size:.95rem;font-family:inherit}.nav-link-button:hover{background:#fee;color:#c00}@media (max-width: 768px){.navbar-menu{gap:4px}.nav-link,.nav-link-button{padding:8px 12px;font-size:.9rem}.navbar-brand a{font-size:1.25rem}}.account-container{min-height:100vh;background:#f9fafb}.account-content{max-width:900px;margin:0 auto;padding:32px 24px}.account-title{font-size:32px;font-weight:600;color:#111;margin:0 0 32px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.alert{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px;font-weight:500}.alert svg{flex-shrink:0}.alert-success{background:#ecfdf5;color:#065f46;border:1px solid #A7F3D0}.alert-error{background:#fef2f2;color:#991b1b;border:1px solid #FECACA}.account-card{background:#fff;border-radius:12px;padding:32px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.account-card h2{font-size:20px;font-weight:600;color:#111;margin:0 0 24px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.card-header h2{margin:0}.profile-section{display:flex;gap:32px;align-items:flex-start}.avatar-section{display:flex;flex-direction:column;align-items:center;gap:16px}.avatar-display{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;box-shadow:0 4px 12px #0000001a}.avatar-large{width:120px;height:120px;font-size:48px}.avatar-small{width:48px;height:48px;font-size:20px}.avatar-emoji{background:#f3f4f6;font-size:64px}.avatar-large.avatar-emoji{font-size:64px}.avatar-small.avatar-emoji{font-size:28px}.btn-change-avatar{padding:8px 16px;background:#f3f4f6;border:1px solid #D1D5DB;border-radius:6px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s ease}.btn-change-avatar:hover{background:#e5e7eb;border-color:#9ca3af}.profile-info{flex:1;display:flex;flex-direction:column;gap:16px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #F3F4F6}.info-row:last-child{border-bottom:none}.info-label{font-size:14px;color:#6b7280;font-weight:500}.info-value{font-size:15px;color:#111;font-weight:500}.profile-edit{flex:1;display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:#374151}.form-group input{padding:10px 14px;border:1px solid #D1D5DB;border-radius:6px;font-size:15px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:all .15s ease}.form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.button-group{display:flex;gap:12px;margin-top:8px}.btn-primary,.btn-secondary{flex:1;padding:10px 20px;border-radius:6px;font-size:15px;font-weight:500;cursor:pointer;transition:all .15s ease;border:none}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #D1D5DB}.btn-secondary:hover{background:#e5e7eb}.btn-secondary-small{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#f3f4f6;color:#374151;border:1px solid #D1D5DB;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-secondary-small:hover{background:#e5e7eb}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.info-item{display:flex;align-items:center;gap:16px;padding:16px;background:#f9fafb;border-radius:8px}.info-icon{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.info-icon-blue{background:#eff6ff;color:#3b82f6}.info-icon-green{background:#ecfdf5;color:#10b981}.info-icon-purple{background:#f5f3ff;color:#8b5cf6}.info-icon-orange{background:#fff7ed;color:#f59e0b}.info-content{display:flex;flex-direction:column;gap:4px}.info-item .info-label{font-size:13px;color:#6b7280}.info-item .info-value{font-size:18px;font-weight:600;color:#111}.actions-list{display:flex;flex-direction:column;gap:12px}.action-button{display:flex;align-items:center;gap:16px;padding:16px;background:#f9fafb;border:1px solid #E5E7EB;border-radius:8px;cursor:pointer;transition:all .15s ease;width:100%;text-align:left}.action-button:hover{background:#f3f4f6;border-color:#d1d5db}.action-button-danger:hover{background:#fef2f2;border-color:#fecaca}.action-icon{width:40px;height:40px;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;color:#6b7280;flex-shrink:0}.action-button-danger .action-icon{color:#ef4444}.action-content{flex:1}.action-title{font-size:15px;font-weight:600;color:#111;margin-bottom:2px}.action-description{font-size:13px;color:#6b7280}.action-button>svg:last-child{color:#9ca3af;flex-shrink:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#111111bf;display:flex;align-items:center;justify-content:center;z-index:2000;padding:24px;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:16px;max-width:640px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.avatar-modal{padding:32px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-header h2{font-size:24px;font-weight:600;color:#111;margin:0}.modal-close{width:32px;height:32px;border-radius:6px;background:#f3f4f6;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;transition:all .15s ease}.modal-close:hover{background:#e5e7eb;color:#374151}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px;margin-bottom:24px}.avatar-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;background:#f9fafb;border:2px solid #E5E7EB;border-radius:12px;cursor:pointer;transition:all .15s ease}.avatar-option:hover{background:#f3f4f6;border-color:#d1d5db}.avatar-option.selected{background:#eff6ff;border-color:#3b82f6}.avatar-geometric-preview{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:600;color:#fff}.avatar-emoji-preview{font-size:48px;line-height:1}.avatar-name{font-size:13px;font-weight:500;color:#374151;text-align:center}.modal-actions{display:flex;gap:12px}.modal-actions .btn-primary,.modal-actions .btn-secondary{flex:1}.loading-state{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:16px;color:#6b7280}@media (max-width: 768px){.account-content{padding:24px 16px}.account-title{font-size:24px}.account-card{padding:24px 20px}.profile-section{flex-direction:column;align-items:center}.profile-info,.profile-edit{width:100%}.info-grid{grid-template-columns:1fr}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.avatar-option{padding:16px}}@keyframes slideUp{0%{transform:translateY(32px);opacity:0}to{transform:translateY(0);opacity:1}}.shop-container{min-height:100vh;background:var(--bg-secondary);padding:2rem 1rem}.shop-content{max-width:1200px;margin:0 auto}.shop-header{text-align:center;margin-bottom:2rem}.shop-header h1{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.shop-subtitle{font-size:1.125rem;color:var(--text-secondary);margin:0}.balance-card{background:linear-gradient(135deg,var(--primary) 0%,#3b82f6 100%);border-radius:var(--radius-lg);padding:2rem;display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem;box-shadow:var(--shadow-lg);color:#fff}.balance-icon{width:64px;height:64px;background:#fff3;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.balance-icon svg{color:#fff}.balance-content{flex:1}.balance-label{font-size:.875rem;opacity:.9;margin-bottom:.25rem;font-weight:500}.balance-value{font-size:3rem;font-weight:700;line-height:1;margin-bottom:.25rem}.balance-unit{font-size:1rem;opacity:.9;font-weight:500}.shop-message{padding:1rem 1.5rem;border-radius:var(--radius-md);margin-bottom:2rem;display:flex;align-items:center;gap:.75rem;font-weight:500}.shop-message.success{background:#73ff9b1a;border:1px solid var(--success);color:var(--success)}.shop-message.error{background:#ef44441a;border:1px solid #ef4444;color:#ef4444}.packages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-bottom:2rem}.package-card{background:#fff;border-radius:var(--radius-lg);padding:2rem;border:2px solid var(--border);transition:all .2s ease;position:relative;display:flex;flex-direction:column}.package-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.package-card.popular{border-color:var(--primary);box-shadow:var(--shadow-lg)}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;padding:.375rem 1rem;border-radius:999px;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:.375rem;box-shadow:var(--shadow-md)}.popular-badge svg{width:14px;height:14px;fill:#fff;stroke:none}.package-header{margin-bottom:1.5rem}.package-name{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.package-price{display:flex;align-items:baseline;gap:.25rem}.price-currency{font-size:1.25rem;font-weight:600;color:var(--text-secondary)}.price-amount{font-size:2.5rem;font-weight:700;color:var(--text-primary)}.package-credits{background:var(--bg-secondary);border-radius:var(--radius-md);padding:1.5rem;margin-bottom:1.5rem}.credits-main{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.credits-main svg{color:var(--primary);flex-shrink:0}.credits-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.credits-label{font-size:1rem;color:var(--text-secondary);font-weight:500}.credits-bonus{display:flex;align-items:center;gap:.5rem;color:var(--success);font-size:.875rem;font-weight:600;padding:.5rem .75rem;background:#73ff9b1a;border-radius:var(--radius-sm);width:fit-content}.credits-bonus svg{flex-shrink:0}.package-button{width:100%;padding:1rem 1.5rem;border-radius:var(--radius-md);font-size:1rem;font-weight:600;border:2px solid var(--border);background:#fff;color:var(--text-primary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.package-button:hover:not(:disabled){border-color:var(--primary);background:var(--bg-secondary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.package-button.primary{background:var(--primary);border-color:var(--primary);color:#fff}.package-button.primary:hover:not(:disabled){background:#3b82f6;border-color:#3b82f6}.package-button:disabled{opacity:.6;cursor:not-allowed}.package-button .spinner{animation:spin 1s linear infinite}.shop-info{background:linear-gradient(135deg,#60a5fa1a,#3b82f61a);border:1px solid var(--primary);border-radius:var(--radius-lg);padding:1.5rem;display:flex;gap:1rem;margin-bottom:1.5rem}.shop-info svg{color:var(--primary);flex-shrink:0;margin-top:.125rem}.shop-info-content{flex:1}.shop-info-content strong{display:block;color:var(--text-primary);margin-bottom:.25rem;font-size:1rem}.shop-info-content p{color:var(--text-secondary);margin:0;font-size:.9375rem;line-height:1.5}.daily-reminder{background:#fff;border:2px solid var(--border);border-radius:var(--radius-md);padding:1rem 1.5rem;display:flex;align-items:center;gap:.75rem;justify-content:center;color:var(--text-secondary);font-size:.9375rem}.daily-reminder svg{color:var(--primary);flex-shrink:0;animation:pulse 2s ease-in-out infinite}.daily-reminder strong{color:var(--text-primary);font-weight:600}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@media (max-width: 768px){.shop-container{padding:1rem}.shop-header h1{font-size:2rem}.shop-subtitle{font-size:1rem}.balance-card{flex-direction:column;text-align:center;padding:1.5rem}.balance-value{font-size:2.5rem}.packages-grid{grid-template-columns:1fr;gap:1rem}.package-card{padding:1.5rem}.package-name{font-size:1.25rem}.price-amount{font-size:2rem}.credits-value{font-size:1.5rem}.daily-reminder{flex-direction:column;text-align:center;gap:.5rem}}@media (max-width: 480px){.shop-header h1{font-size:1.75rem}.balance-icon{width:48px;height:48px}.balance-icon svg{width:24px;height:24px}.balance-value{font-size:2rem}.package-button{padding:.875rem 1.25rem;font-size:.9375rem}}.admin-container{display:flex;min-height:calc(100vh - 60px);background:var(--bg-elevated)}.admin-sidebar{width:240px;background:var(--bg-white);border-right:1px solid var(--border);padding:var(--space-lg);position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto;flex-shrink:0}.admin-sidebar-header{margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:2px solid var(--border)}.admin-sidebar-header h2{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 var(--space-xs) 0}.admin-sidebar-header p{font-size:.875rem;color:var(--text-secondary);margin:0}.admin-nav{display:flex;flex-direction:column;gap:var(--space-xs)}.admin-nav-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;transition:all var(--transition-fast);font-weight:500}.admin-nav-item:hover{background:var(--bg-elevated);color:var(--text-primary);transform:translate(4px)}.admin-nav-item.active{background:linear-gradient(135deg,var(--primary) 0%,#5b68e8 100%);color:#fff;font-weight:600;box-shadow:0 2px 8px #6366f14d}.admin-nav-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.admin-nav-label{font-size:.95rem}.admin-content{flex:1;padding:var(--space-xl);max-width:1400px;margin:0 auto;width:100%}@media (max-width: 768px){.admin-sidebar{position:fixed;left:-240px;transition:left var(--transition-base);z-index:100;box-shadow:2px 0 8px #0000001a}.admin-sidebar.open{left:0}.admin-content{padding:var(--space-md)}}.admin-feedback-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.admin-container{max-width:1400px;margin:0 auto;padding:40px 20px}.admin-header{text-align:center;color:#fff;margin-bottom:40px}.admin-header h1{font-size:2.5rem;margin:0 0 12px;font-weight:700}.admin-header p{font-size:1.1rem;opacity:.9;margin:0}.loading-state,.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a}.loading-state .spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{to{transform:rotate(360deg)}}.empty-state svg{color:#d1d5db;margin-bottom:20px}.empty-state h3{font-size:1.5rem;color:#111;margin:0 0 8px}.empty-state p{color:#666;margin:0}.feedback-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:24px}.feedback-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 20px #0000001a;transition:transform .2s,box-shadow .2s}.feedback-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #00000026}.feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.feedback-type-badge{padding:6px 12px;border-radius:6px;color:#fff;font-size:.85rem;font-weight:600;text-transform:uppercase}.feedback-date{font-size:.85rem;color:#666}.feedback-user{display:flex;align-items:center;gap:8px;color:#666;font-size:.9rem;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.feedback-question,.feedback-issue,.feedback-solution{margin-bottom:16px}.feedback-question strong,.feedback-issue strong,.feedback-solution strong{display:block;color:#111;margin-bottom:8px;font-size:.95rem}.feedback-question p,.feedback-issue p{color:#444;line-height:1.6;margin:0}.feedback-solution pre{background:#f9fafb;padding:12px;border-radius:8px;border:1px solid #e5e7eb;overflow-x:auto;font-size:.9rem;color:#111;margin:0}.feedback-actions{display:flex;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb}.btn-review{flex:1;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s}.btn-review:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.btn-dismiss,.btn-reviewed,.btn-fixed{padding:12px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-dismiss{background:#f3f4f6;color:#666}.btn-dismiss:hover{background:#e5e7eb}.btn-reviewed{background:#3b82f6;color:#fff}.btn-reviewed:hover{background:#2563eb}.btn-fixed{background:#10b981;color:#fff}.btn-fixed:hover{background:#059669}.btn-dismiss:disabled,.btn-reviewed:disabled,.btn-fixed:disabled{opacity:.6;cursor:not-allowed}.error-banner{display:flex;align-items:center;gap:12px;padding:16px;background:#fee2e2;border:2px solid #ef4444;border-radius:12px;color:#991b1b;margin-bottom:24px}@media (max-width: 768px){.feedback-grid{grid-template-columns:1fr}.admin-header h1{font-size:2rem}}.workspace-page{display:flex;flex-direction:column;height:100vh;background:#f7fafc;overflow:hidden}.workspace-layout{display:flex;flex:1;overflow:hidden}.sidebar-toggle-fab{position:fixed;left:1rem;top:5rem;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;font-size:1.25rem;cursor:pointer;box-shadow:0 4px 12px #667eea66;z-index:20;transition:all .2s;display:flex;align-items:center;justify-content:center}.sidebar-toggle-fab:hover{transform:scale(1.1);box-shadow:0 6px 16px #667eea80}.workspace-sidebar{width:300px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;transition:transform .3s ease}.workspace-sidebar.hidden{transform:translate(-100%);position:absolute;z-index:10;height:100%}.sidebar-header{padding:1.5rem;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}.sidebar-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#1a202c}.sidebar-toggle{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem .5rem;color:#718096;transition:color .2s}.sidebar-toggle:hover{color:#2d3748}.sidebar-content{flex:1;overflow-y:auto;padding:1rem}.sidebar-empty{text-align:center;padding:2rem 1rem;color:#a0aec0}.sidebar-empty p{margin:.5rem 0}.sidebar-hint{font-size:.875rem;font-style:italic}.question-list{display:flex;flex-direction:column;gap:.75rem}.question-item{background:#f7fafc;border:2px solid transparent;border-radius:.5rem;padding:1rem;text-align:left;cursor:pointer;transition:all .2s}.question-item:hover{border-color:#cbd5e0;background:#fff}.question-item.active{border-color:#667eea;background:#eef2ff}.question-item-preview{font-size:.875rem;color:#2d3748;line-height:1.5;margin-bottom:.5rem}.question-item-topic{font-size:.75rem;color:#667eea;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.workspace-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff}.part-tabs{display:flex;gap:.5rem;padding:1rem;border-bottom:2px solid #e2e8f0;background:#f7fafc;overflow-x:auto}.part-tab{background:#fff;border:2px solid #e2e8f0;border-radius:.5rem;padding:.5rem 1rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.part-tab:hover{border-color:#cbd5e0}.part-tab.active{border-color:#667eea;background:#eef2ff;color:#667eea}.part-marks{font-size:.75rem;color:#718096;font-weight:500}.content-display{flex:1;overflow-y:auto;padding:2rem}.content-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.content-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#1a202c}.content-topic{background:#eef2ff;color:#667eea;padding:.25rem .75rem;border-radius:.25rem;font-size:.875rem;font-weight:600}.step-counter{background:#f7fafc;color:#718096;padding:.25rem .75rem;border-radius:.25rem;font-size:.875rem;font-weight:600}.variant-badge{background:#fef3c7;color:#92400e;padding:.25rem .75rem;border-radius:.25rem;font-size:.875rem;font-weight:600}.welcome-screen,.question-selector-screen{text-align:center;max-width:900px;margin:0 auto;padding:2rem}.welcome-icon{width:80px;height:80px;margin:0 auto 1.5rem;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;overflow:hidden}.welcome-icon img{width:100%;height:100%;object-fit:cover}.welcome-screen h1{font-size:2rem;margin-bottom:.5rem;color:#1a202c}.welcome-subtitle{font-size:1.125rem;color:#718096;margin-bottom:2rem}.welcome-features{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}.feature{text-align:center}.feature-icon{font-size:2.5rem;display:block;margin-bottom:.75rem}.feature h3{font-size:1rem;margin-bottom:.5rem;color:#2d3748}.feature p{font-size:.875rem;color:#718096;margin:0}.welcome-hint{font-size:.875rem;color:#a0aec0;font-style:italic}.question-selector-screen .content-header{text-align:center;margin-bottom:2rem;display:block}.question-count{background:#eef2ff;color:#667eea;padding:.25rem .75rem;border-radius:.25rem;font-size:.875rem;font-weight:600;display:inline-block;margin-top:.5rem}.question-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.question-selector-card{background:#fff;border:2px solid #e2e8f0;border-radius:.75rem;padding:1.5rem;text-align:left;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:.75rem}.question-selector-card:hover{border-color:#667eea;box-shadow:0 8px 16px #667eea33;transform:translateY(-4px)}.question-selector-number{font-size:.75rem;font-weight:700;color:#667eea;text-transform:uppercase;letter-spacing:.5px}.question-selector-preview{color:#2d3748;line-height:1.6;font-size:.9375rem;flex:1}.question-selector-topic{font-size:.8125rem;color:#718096;font-weight:600;background:#f7fafc;padding:.25rem .5rem;border-radius:.25rem;display:inline-block;align-self:flex-start}.question-selector-marks{font-size:.8125rem;color:#667eea;font-weight:600}.question-display,.solution-display,.variant-display{max-width:900px;margin:0 auto}.question-content,.solution-content,.variant-content{background:#f7fafc;border-radius:.75rem;padding:2rem;margin-bottom:1.5rem;border:2px solid #e2e8f0}.step-content{color:#2d3748;line-height:1.8}.step-content h3{color:#1a202c;font-size:1.125rem;margin-bottom:.75rem;font-weight:600}.step-content p{margin-bottom:.75rem}.step-content ul,.step-content ol{margin-left:1.5rem;margin-bottom:.75rem}.step-content code{background:#edf2f7;padding:.25rem .5rem;border-radius:.25rem;font-family:Courier New,monospace;font-size:.9em}.solution-navigation{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#f7fafc;border-radius:.75rem}.nav-btn{background:#667eea;color:#fff;border:none;border-radius:.5rem;padding:.625rem 1.25rem;font-weight:600;cursor:pointer;transition:all .2s;font-size:.9375rem}.nav-btn:hover:not(:disabled){background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.nav-btn:disabled{opacity:.5;cursor:not-allowed}.step-dots{display:flex;gap:.5rem;align-items:center;flex:1;justify-content:center}.step-dot{width:10px;height:10px;border-radius:50%;background:#cbd5e0;cursor:pointer;transition:all .2s}.step-dot:hover{background:#a0aec0;transform:scale(1.2)}.step-dot.active{background:#667eea;width:14px;height:14px}.step-dot.completed{background:#48bb78}.question-actions,.solution-actions{display:flex;gap:1rem;justify-content:center}.action-btn{border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem}.action-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 8px 16px #667eea4d}.action-btn.secondary{background:#fff;color:#667eea;border:2px solid #667eea}.action-btn.secondary:hover{background:#eef2ff;transform:translateY(-2px)}.variant-answer-section{margin-top:2rem}.variant-answer-section h3{margin-bottom:1rem;color:#2d3748}.variant-feedback{margin-top:1.5rem;padding:1.5rem;border-radius:.75rem;border:2px solid}.variant-feedback.correct{background:#f0fdf4;border-color:#48bb78}.variant-feedback.incorrect{background:#fef2f2;border-color:#f56565}.variant-feedback h3{margin-top:0;margin-bottom:.75rem}.confidence-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-top:1rem}.confidence-fill{height:100%;background:linear-gradient(90deg,#667eea,#48bb78);transition:width .3s ease}.status-bar{padding:.75rem 1.5rem;background:#eef2ff;border-top:2px solid #cbd5e0;text-align:center;color:#667eea;font-weight:500}.chat-input-bar{background:#fff;border-top:2px solid #e2e8f0;padding:1rem 1.5rem;display:flex;gap:.75rem;align-items:center;box-shadow:0 -4px 12px #0000000d}.upload-btn{width:44px;height:44px;border-radius:50%;border:2px solid #e2e8f0;background:#fff;font-size:1.5rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.upload-btn:hover:not(:disabled){border-color:#667eea;background:#f7fafc;transform:scale(1.05)}.upload-btn:disabled{opacity:.5;cursor:not-allowed}.chat-input{flex:1;border:2px solid #e2e8f0;border-radius:1.5rem;padding:.75rem 1.25rem;font-size:1rem;outline:none;transition:all .2s;background:#f7fafc}.chat-input:focus{border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.chat-input::placeholder{color:#a0aec0}.send-btn{width:44px;height:44px;border-radius:50%;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #667eea66}.send-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.workspace-sidebar{position:absolute;z-index:10;height:100%}.workspace-sidebar.hidden{transform:translate(-100%)}.welcome-features{grid-template-columns:1fr;gap:1rem}.content-display{padding:1rem}.solution-navigation{flex-direction:column}.nav-btn{width:100%}.step-dots{order:-1}.part-tabs{padding:.75rem}.part-tab{padding:.5rem .75rem;font-size:.875rem}}:root{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e9ecef;--bg-elevated: #ffffff;--text-primary: #1a1a1a;--text-secondary: #4a5568;--text-muted: #718096;--text-disabled: #a0aec0;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-light: #3b82f6;--primary-dark: #1e40af;--accent: #0891b2;--accent-hover: #0e7490;--success: #059669;--success-light: #10b981;--warning: #d97706;--error: #dc2626;--border: #e5e7eb;--border-hover: #d1d5db;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace}*{margin:0;padding:0;box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}::selection{background:var(--primary-light);color:#fff}::-moz-selection{background:var(--primary-light);color:#fff}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--text-primary);margin:0}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin:0 0 1rem}.muted{color:var(--text-muted)}.wrap{max-width:1200px;margin:0 auto;padding:var(--space-xl)}.spacer{height:var(--space-lg)}.row{display:flex;gap:var(--space-md);align-items:center}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),transform var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg)}.info-box{background:#dbeafe;border:1px solid #93c5fd;border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg);color:#1e40af;font-size:.95rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.625rem 1.25rem;font-size:.95rem;font-weight:600;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-base);text-decoration:none;font-family:var(--font-sans);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.btn.primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn.secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border)}.btn.secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-hover)}.btn.accent{background:var(--accent);color:#fff}.btn.accent:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.btn.success{background:var(--success);color:#fff}.btn.success:hover:not(:disabled){background:var(--success-light)}.btn.logout{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.btn.logout:hover:not(:disabled){background:#fecaca}input[type=text],input[type=email],input[type=password],input[type=number],input[type=file],textarea,select{width:100%;padding:.625rem .875rem;font-size:.95rem;font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition-base)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}input::placeholder,textarea::placeholder{color:var(--text-muted)}textarea{resize:vertical;min-height:100px;line-height:1.5}input[type=range]{width:100%;height:6px;background:var(--bg-secondary);border-radius:3px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:var(--primary);border-radius:50%;cursor:pointer;transition:all var(--transition-base)}input[type=range]::-webkit-slider-thumb:hover{background:var(--primary-hover);transform:scale(1.1)}input[type=range]::-moz-range-thumb{width:18px;height:18px;background:var(--primary);border-radius:50%;cursor:pointer;border:none}label{display:block;margin-bottom:var(--space-sm);font-weight:500;color:var(--text-secondary)}nav{background:var(--bg-elevated);border-bottom:1px solid var(--border);padding:var(--space-md) var(--space-xl);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}nav .nav-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}nav .logo{display:flex;align-items:center;gap:var(--space-sm);font-size:1.25rem;font-weight:600;color:var(--text-primary);text-decoration:none;transition:opacity var(--transition-base)}nav .logo:hover{opacity:.8}nav .logo img{height:28px;width:auto}nav .nav-links{display:flex;gap:var(--space-md);align-items:center}nav a{color:var(--text-secondary);text-decoration:none;font-weight:500;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);transition:all var(--transition-base)}nav a:hover{color:var(--primary);background:var(--bg-secondary)}.credits-widget{display:flex;align-items:center;gap:var(--space-sm);background:var(--bg-secondary);padding:.5rem 1rem;border-radius:var(--radius-lg);border:1px solid var(--border);font-weight:600;color:var(--text-primary)}.credits-widget .icon{font-size:1.2rem}.loading{text-align:center;padding:var(--space-2xl);color:var(--text-muted);font-size:1.1rem;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.error{background:#fee2e2;color:#991b1b;padding:var(--space-md);border-radius:var(--radius-md);border:1px solid #fecaca;margin:var(--space-md) 0}.success{background:#d1fae5;color:#065f46;padding:var(--space-md);border-radius:var(--radius-md);border:1px solid #a7f3d0;margin:var(--space-md) 0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn .5s ease-in-out}.slide-in{animation:slideIn .5s ease-out}@media (max-width: 768px){.wrap{padding:var(--space-md)}nav .nav-links{gap:var(--space-sm)}.btn{padding:.5rem 1rem;font-size:.9rem}h1{font-size:1.875rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}.text-center{text-align:center}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-sm)}.mt-2{margin-top:var(--space-md)}.mt-3{margin-top:var(--space-lg)}.mt-4{margin-top:var(--space-xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-sm)}.mb-2{margin-bottom:var(--space-md)}.mb-3{margin-bottom:var(--space-lg)}.mb-4{margin-bottom:var(--space-xl)}.pathway-table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem;box-shadow:0 1px 3px #0000001a;border-radius:var(--radius-md);overflow:hidden}.pathway-table thead{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:#fff}.pathway-table th{padding:1rem;text-align:left;font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:.05em}.pathway-table td{padding:.875rem 1rem;border-bottom:1px solid var(--border);color:var(--text-primary)}.pathway-table tbody tr{transition:background .2s ease}.pathway-table tbody tr:hover{background:var(--bg-secondary)}.pathway-table tbody tr:last-child td{border-bottom:none}.pathway-table tbody tr:nth-child(2n){background:#00000005}.pathway-table tbody tr:nth-child(2n):hover{background:var(--bg-secondary)}.pathway-table td:has(>:only-child:is([data-type=number])),.pathway-table td:matches(:nth-last-child(-n+2)){text-align:right;font-variant-numeric:tabular-nums}.pathway-chart{margin:2rem 0;padding:1.5rem;background:var(--bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.pathway-chart canvas{max-height:400px}.chart-btn{padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease;color:var(--text-primary)}.chart-btn:hover{background:var(--bg-tertiary);border-color:var(--border-hover)}.chart-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.physics-diagram-container{position:relative}.physics-diagram-container canvas{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff}.mermaid-diagram svg{max-width:100%;height:auto}.question-visualizer{line-height:1.6}.question-visualizer p{margin:1rem 0}.question-visualizer strong{font-weight:600;color:var(--text-primary)}.question-visualizer code{background:var(--bg-secondary);padding:.2rem .4rem;border-radius:var(--radius-sm);font-family:Courier New,monospace;font-size:.9em}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{display:inline-block;animation:spin 1s linear infinite}.matrix-input{display:grid;gap:.5rem;margin:1rem 0;width:fit-content}.matrix-input input{width:80px;padding:.625rem;text-align:center;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:system-ui,-apple-system,sans-serif;font-size:1.05rem;font-weight:500;letter-spacing:.01em;transition:all .2s ease}.matrix-input input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.feedback-box{margin-top:1.5rem;padding:1.5rem;border-radius:var(--radius-lg);animation:fadeIn .3s ease-in}.feedback-correct{background:linear-gradient(135deg,#10b9811a,#0596691a);border:1.5px solid rgba(16,185,129,.3)}.feedback-incorrect{background:linear-gradient(135deg,#ef44441a,#dc26261a);border:1.5px solid rgba(239,68,68,.3)}.feedback-partial{background:linear-gradient(135deg,#f59e0b1a,#d977061a);border:1.5px solid rgba(245,158,11,.3)}
