.navigation{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;padding:var(--space-sm) var(--space-md);padding-bottom:calc(var(--space-sm) + var(--safe-bottom));background:var(--surface-overlay);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);z-index:var(--z-overlay)}.nav-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-sm);border-radius:var(--radius-md);text-decoration:none;color:var(--text-muted);transition:all var(--transition-fast);min-width:56px}.nav-item:hover{color:var(--text-secondary);background:var(--glass)}.nav-item.active{color:var(--primary-light)}.nav-item.active .nav-icon{transform:scale(1.1)}.nav-icon{font-size:1.5rem;transition:transform var(--transition-spring)}.nav-label{font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.nav-home{background:var(--gradient-primary);color:var(--text-primary);border-radius:var(--radius-full);padding:var(--space-md);margin:0 var(--space-sm);box-shadow:var(--shadow-glow)}.nav-home .nav-icon{font-size:1.25rem}.nav-home:hover{transform:scale(1.05);background:var(--gradient-primary)}.nav-mute{background:transparent;border:none;cursor:pointer}.home{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:var(--space-xl);padding-top:calc(var(--space-2xl) + var(--safe-top));padding-bottom:var(--space-2xl);background:var(--gradient-dark)}.home-header{text-align:center;margin-bottom:var(--space-2xl)}.home-header h1{font-size:3rem;font-weight:800;margin-bottom:var(--space-sm);letter-spacing:-.02em}.home-header p{font-size:1.1rem;color:var(--text-secondary)}.home-modules{flex:1;display:flex;flex-direction:column;gap:var(--space-lg)}.module-card{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-lg);background:var(--surface);border-radius:var(--radius-xl);text-decoration:none;color:inherit;transition:all var(--transition-base);border:1px solid var(--glass-border)}.module-card:hover{transform:translate(4px);background:var(--surface-elevated);box-shadow:var(--shadow-lg)}.module-card:active{transform:scale(.98)}.module-icon-bg{width:64px;height:64px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-md)}.module-icon{font-size:2rem}.module-content{flex:1}.module-content h2{font-size:1.25rem;font-weight:600;margin-bottom:var(--space-xs)}.module-content p{font-size:.875rem;color:var(--text-muted);line-height:1.4}.module-arrow{font-size:1.5rem;color:var(--text-muted);transition:transform var(--transition-fast)}.module-card:hover .module-arrow{transform:translate(4px);color:var(--text-secondary)}.home-footer{text-align:center;margin-top:var(--space-2xl)}.settings-link{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);color:var(--text-secondary);text-decoration:none;font-size:.9rem;border-radius:var(--radius-full);background:var(--glass);border:1px solid var(--glass-border);transition:all var(--transition-fast)}.settings-link:hover{color:var(--text-primary);background:var(--surface)}.settings{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--gradient-dark)}.settings-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);padding-top:calc(var(--space-lg) + var(--safe-top));border-bottom:1px solid var(--glass-border)}.back-button{color:var(--primary-light);text-decoration:none;font-size:1rem;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);transition:background var(--transition-fast)}.back-button:hover{background:var(--glass)}.settings-header h1{font-size:1.5rem}.settings-content{flex:1;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xl)}.settings-section{display:flex;flex-direction:column;gap:var(--space-md)}.settings-section h2{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--space-sm)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md);background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--glass-border)}.setting-info{display:flex;flex-direction:column;gap:var(--space-xs)}.setting-label{font-weight:500;color:var(--text-primary)}.setting-description{font-size:.8rem;color:var(--text-muted)}.toggle{position:relative;width:52px;height:28px;border-radius:var(--radius-full);background:var(--text-muted);border:none;cursor:pointer;transition:background var(--transition-fast);flex-shrink:0}.toggle.active{background:var(--primary)}.toggle-thumb{position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast)}.toggle.active .toggle-thumb{transform:translate(24px)}.slider{-webkit-appearance:none;appearance:none;width:120px;height:6px;border-radius:var(--radius-full);background:var(--text-muted);outline:none;flex-shrink:0}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary);cursor:pointer;box-shadow:var(--shadow-md);transition:transform var(--transition-fast)}.slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--primary);cursor:pointer;border:none;box-shadow:var(--shadow-md)}.reset-button{width:100%;padding:var(--space-lg) var(--space-xl);background:transparent;border:1px solid #ef4444;color:#ef4444;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.reset-button:hover{background:#ef4444;color:#fff}.settings-footer{text-align:center;padding:var(--space-xl);padding-bottom:calc(var(--space-xl) + var(--safe-bottom));color:var(--text-muted);font-size:.8rem}.settings-footer p{margin-bottom:var(--space-xs);color:inherit}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-tap-highlight-color:transparent}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--background);color:var(--text-primary);min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}:root{--primary: #6366f1;--primary-light: #818cf8;--primary-dark: #4f46e5;--secondary: #22d3ee;--secondary-light: #67e8f9;--secondary-dark: #06b6d4;--accent: #f59e0b;--accent-light: #fbbf24;--accent-dark: #d97706;--background: #0f0f1a;--surface: #1e1e2e;--surface-elevated: #2a2a3e;--surface-overlay: rgba(30, 30, 46, .95);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-secondary: linear-gradient(135deg, #06b6d4 0%, #22d3ee 100%);--gradient-accent: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);--gradient-dark: linear-gradient(180deg, #1e1e2e 0%, #0f0f1a 100%);--glass: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px rgba(99, 102, 241, .4);--shadow-glow-lg: 0 0 40px rgba(99, 102, 241, .3);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: .375rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--z-base: 1;--z-dropdown: 10;--z-overlay: 50;--z-modal: 100;--z-toast: 200;--safe-top: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom);--safe-left: env(safe-area-inset-left);--safe-right: env(safe-area-inset-right)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--text-primary)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{line-height:1.6;color:var(--text-secondary)}.glass{background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border)}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button{font-family:inherit;font-size:inherit;border:none;cursor:pointer;background:transparent;color:inherit}button:disabled{opacity:.5;cursor:not-allowed}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::selection{background:var(--primary);color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.page-enter{animation:slideUp .3s ease-out}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.module-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);min-height:100vh;min-height:100dvh;background:var(--background);color:var(--text-secondary);font-weight:500;padding-bottom:80px}.loader-spinner{width:48px;height:48px;border:3px solid var(--glass-border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
