*,*:before,*:after{box-sizing:border-box}:root,[data-theme=light]{color-scheme:light;--color-bg-page: #f0f0f5;--color-bg-panel: #ffffff;--color-bg-muted: #f5f5f5;--color-bg-subtle: #f8f9fa;--color-bg-code: #f0f0f0;--color-text: #222222;--color-text-secondary: #555555;--color-text-muted: #666666;--color-text-on-accent: #ffffff;--color-heading: #667eea;--color-border: #e0e0e0;--color-input-bg: #ffffff;--color-input-text: #222222;--color-error-bg: #f8d7da;--color-error-text: #721c24;--color-error-border: #f5c6cb;--color-warn-bg: #fff3cd;--color-warn-text: #856404;--color-info-bg: #e8f4fd;--color-success-bg: #d4edda;--color-success-text: #155724;--color-banner-info-bg: #d1ecf1;--color-banner-info-text: #0c5460;--color-known-bg: #f6fff6;--color-badge-bg: #eeeeee;--color-btn-secondary: #6c757d;--color-accent: #667eea;--color-accent-end: #764ba2;--color-danger: #dc3545;--color-success: #28a745;--shell-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--shadow-panel: 0 20px 60px rgba(0, 0, 0, .25);--flashcard-native: linear-gradient(145deg, #3d5afe, #5c7cfa);--flashcard-target: linear-gradient(145deg, #7a2840, #b83a5e);--flashcard-native-edge: #4a62e0;--flashcard-target-edge: #a83255;--flashcard-front: var(--flashcard-native);--flashcard-back: var(--flashcard-target);--overlay-bg: rgba(0, 0, 0, .45);--toolbar-sep-core: #b8b8c4;--toolbar-sep-highlight: #ffffff;--toolbar-sep-shadow: rgba(0, 0, 0, .22)}[data-theme=dark]{color-scheme:dark;--color-bg-page: #0f1016;--color-bg-panel: #1a1b24;--color-bg-muted: #252632;--color-bg-subtle: #22232e;--color-bg-code: #2a2b38;--color-text: #ececf1;--color-text-secondary: #b8b9c4;--color-text-muted: #9496a8;--color-text-on-accent: #ffffff;--color-heading: #aeb8ff;--color-border: #3a3b4a;--color-input-bg: #252632;--color-input-text: #ececf1;--color-error-bg: #3d2024;--color-error-text: #ffb4bc;--color-error-border: #5c2a32;--color-warn-bg: #3d3520;--color-warn-text: #ffe08a;--color-info-bg: #1e2a3d;--color-success-bg: #1e3328;--color-success-text: #9ddeb0;--color-banner-info-bg: #1a2f35;--color-banner-info-text: #9fd9e8;--color-known-bg: #1a2a1f;--color-badge-bg: #333445;--color-btn-secondary: #5a6268;--color-accent: #7b8cff;--color-accent-end: #9b6fd4;--color-danger: #e35d6a;--color-success: #3ecf6e;--shell-gradient: linear-gradient(135deg, #3d4a7a 0%, #4a2d62 100%);--shadow-panel: 0 20px 60px rgba(0, 0, 0, .55);--flashcard-native: linear-gradient(145deg, #3a4db8, #5a6fd6);--flashcard-target: linear-gradient(145deg, #6a2238, #9a3355);--flashcard-native-edge: #5a6fd6;--flashcard-target-edge: #9a3355;--flashcard-front: var(--flashcard-native);--flashcard-back: var(--flashcard-target);--overlay-bg: rgba(0, 0, 0, .65);--toolbar-sep-core: #4a4b5c;--toolbar-sep-highlight: rgba(255, 255, 255, .16);--toolbar-sep-shadow: rgba(0, 0, 0, .55)}body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:var(--color-bg-page);color:var(--color-text);transition:background-color .2s ease,color .2s ease}.card-panel{max-width:800px;margin:0 auto;background:var(--color-bg-panel);border-radius:20px;padding:2rem;box-shadow:var(--shadow-panel);transition:background-color .2s ease,box-shadow .2s ease}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.9rem 1rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;color:var(--color-text-on-accent);background:var(--shell-gradient);transition:transform .2s,box-shadow .2s}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.secondary{background:var(--color-btn-secondary)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-text)}.form-group select,.form-group input,.form-group textarea{width:100%;padding:.75rem;border:2px solid var(--color-border);border-radius:8px;font-size:1rem;background:var(--color-input-bg);color:var(--color-input-text)}.form-group select:focus,.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent)}.error-box{margin-top:1rem;padding:.75rem 1rem;background:var(--color-error-bg);color:var(--color-error-text);border-radius:8px;border:1px solid var(--color-error-border)}.auth-brand{margin:0 0 .75rem;font-size:1.15rem;font-weight:700;color:var(--color-heading);text-align:center}
