.home{max-width:600px;margin:0 auto;padding:1rem}.home-header{text-align:center;margin-bottom:2rem}.home-header h1{font-size:1.75rem;color:var(--primary);margin-bottom:.5rem}.subtitle{color:var(--text-secondary);font-size:.95rem}.home-actions{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.action-card{display:flex;align-items:center;padding:1.25rem;border-radius:12px;text-decoration:none;color:#fff;transition:transform .2s,box-shadow .2s}.action-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.action-card:active{transform:translateY(0)}.action-card.primary{background:linear-gradient(135deg,var(--primary),#1a4a8a)}.action-card.accent{background:linear-gradient(135deg,var(--accent),#9e2a2a)}.action-card.secondary{background:linear-gradient(135deg,#28a745,#1e7e34)}.action-card.tertiary{background:linear-gradient(135deg,#6c757d,#495057)}.action-icon{font-size:2rem;margin-right:1rem}.action-content h2{font-size:1.1rem;margin:0 0 .25rem}.action-content p{font-size:.85rem;margin:0;opacity:.9}.progress-summary{background:var(--card-bg);border-radius:12px;padding:1.25rem;margin-bottom:1rem}.progress-summary h3{margin:0 0 1rem;font-size:1rem;color:var(--text-primary)}.progress-bar-container{height:12px;background:var(--border);border-radius:6px;overflow:hidden;margin-bottom:.75rem}.progress-stats{font-size:.9rem;color:var(--text-secondary)}.mastery-stats{display:flex;gap:1rem;margin-top:.5rem;font-size:.85rem}.mastered{color:var(--success)}.needs-work{color:var(--warning)}.mode-indicator{background:linear-gradient(135deg,#ffc107,#e0a800);color:#000;padding:.75rem 1rem;border-radius:8px;text-align:center}.mode-indicator span{display:block;font-weight:600}.mode-indicator small{font-size:.8rem;opacity:.8}.study{max-width:600px;margin:0 auto;padding:1rem}.study-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.study-header h1{font-size:1.5rem;margin:0}.filters{background:var(--card-bg);padding:1rem;border-radius:12px;margin-bottom:1rem}.filter-row{display:flex;gap:1rem;align-items:center;margin-bottom:.75rem}.filter-select{flex:1;padding:.75rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:var(--bg);color:var(--text-primary)}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;white-space:nowrap}.checkbox-label input{width:18px;height:18px;accent-color:var(--primary)}.search-input{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:var(--bg);color:var(--text-primary)}.search-input::placeholder{color:var(--text-secondary)}.question-count{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem}.question-list{display:flex;flex-direction:column;gap:.5rem}.question-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;text-align:left;cursor:pointer;transition:background .2s,border-color .2s;width:100%;font-size:.95rem}.question-item:hover{background:var(--bg);border-color:var(--primary)}.question-item.mastered{border-left:3px solid var(--success)}.question-item.needs-work{border-left:3px solid var(--warning)}.question-item.learning{border-left:3px solid var(--primary)}.question-number{font-weight:600;color:var(--text-secondary);min-width:35px}.question-text{flex:1;color:var(--text-primary);line-height:1.4}.asterisk-badge{color:#ffc107;font-size:1.1rem}.dynamic-badge{color:var(--primary);font-size:1.1rem}.no-results{text-align:center;padding:2rem;color:var(--text-secondary)}.no-results button{margin-top:1rem;padding:.75rem 1.5rem;background:var(--primary);color:#fff;border:none;border-radius:8px;cursor:pointer}.question-detail{max-width:600px;margin:0 auto;padding:1rem}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.question-counter{font-size:.9rem;color:var(--text-secondary)}.question-card{background:var(--card-bg);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem}.question-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.category-badge{background:var(--primary);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.subcategory{color:var(--text-secondary);font-size:.85rem;align-self:center}.asterisk-indicator{background:#ffc107;color:#000;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.question-text{font-size:1.3rem;line-height:1.5;color:var(--text-primary);margin:1rem 0}.dynamic-notice{background:#0052a41a;border-left:3px solid var(--primary);padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem;color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:.5rem}.dynamic-notice a{color:var(--primary);font-weight:500}.answer-section{margin-top:1.5rem}.reveal-btn{width:100%;padding:1rem;background:linear-gradient(135deg,var(--primary),#1a4a8a);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s}.reveal-btn:hover{transform:scale(1.02)}.answers{animation:fadeIn .3s ease}.answers h3{font-size:.95rem;color:var(--text-secondary);margin-bottom:.75rem}.answers ul{margin:0;padding-left:1.5rem}.answers li{font-size:1.1rem;color:var(--success);font-weight:500;padding:.5rem 0;line-height:1.4}.difficulty-buttons{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.difficulty-label{font-size:.9rem;color:var(--text-secondary)}.difficulty-btn{flex:1;padding:.75rem;border:2px solid var(--border);border-radius:8px;background:var(--card-bg);color:var(--text-primary);font-size:.95rem;cursor:pointer;transition:all .2s}.difficulty-btn.easy.active{border-color:var(--success);background:#28a7451a;color:var(--success)}.difficulty-btn.hard.active{border-color:var(--warning);background:#ffc1071a;color:#c79100}.question-stats{display:flex;justify-content:center;gap:1rem;font-size:.85rem;color:var(--text-secondary);margin-bottom:1.5rem;flex-wrap:wrap}.navigation-buttons{display:flex;gap:1rem}.nav-btn{flex:1;padding:1rem;border:2px solid var(--border);border-radius:10px;background:var(--card-bg);color:var(--text-primary);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.nav-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.nav-btn:disabled{opacity:.4;cursor:not-allowed}.not-found{text-align:center;padding:3rem}.not-found h2{margin-bottom:1rem;color:var(--text-primary)}.not-found a{color:var(--primary)}.quiz{max-width:600px;margin:0 auto;padding:1rem}.quiz-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.quiz-header h1{font-size:1.5rem;margin:0}.progress-indicator{font-weight:500;color:var(--text-secondary)}.setup-card{background:var(--card-bg);border-radius:16px;padding:2rem}.setup-card h2{margin:0 0 1.5rem;text-align:center}.setting-group{margin-bottom:1.5rem}.setting-group label{display:block;font-weight:500;margin-bottom:.75rem;color:var(--text-secondary)}.count-selector{display:flex;gap:.75rem}.count-btn{flex:1;padding:1rem;border:2px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text-primary);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s}.count-btn:hover{border-color:var(--primary)}.count-btn.active{border-color:var(--primary);background:var(--primary);color:#fff}.mode-notice{background:#ffc10726;color:#c79100;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;margin-bottom:1.5rem;text-align:center}.start-btn{width:100%;padding:1.25rem;background:linear-gradient(135deg,var(--primary),#1a4a8a);color:#fff;border:none;border-radius:12px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:transform .2s}.progress-dots{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.dot{width:12px;height:12px;border-radius:50%;background:var(--border);transition:all .3s}.dot.current{background:var(--primary);transform:scale(1.2)}.dot.correct{background:var(--success)}.dot.incorrect{background:var(--accent)}.question-card{background:var(--card-bg);border-radius:16px;padding:1.5rem}.question-badges{display:flex;gap:.5rem;margin-bottom:1rem}.badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.badge.asterisk{background:#ffc107;color:#000}.badge.dynamic{background:#0052a426;color:var(--primary)}.question-text{font-size:1.3rem;line-height:1.5;margin:1rem 0 1.5rem;color:var(--text-primary)}.answer-revealed h3{font-size:.95rem;color:var(--text-secondary);margin-bottom:.75rem}.answer-list{margin:0 0 1.5rem 1.5rem;padding:0}.answer-buttons{display:flex;gap:1rem}.answer-btn{flex:1;padding:1rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s}.results-card{background:var(--card-bg);border-radius:16px;padding:2rem;text-align:center;margin-bottom:1.5rem}.score-display{font-size:3rem;font-weight:700;margin-bottom:.5rem}.score-number{color:var(--success)}.score-total{color:var(--text-primary)}.score-percentage{font-size:1.25rem;color:var(--text-secondary);margin-bottom:1rem}.score-bar{height:12px;background:var(--border);border-radius:6px;overflow:hidden}.score-fill{height:100%;background:linear-gradient(90deg,var(--success),#28a745);border-radius:6px;transition:width .5s ease}.missed-section{background:var(--card-bg);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem}.missed-section h3{margin:0 0 1rem;font-size:1rem;color:var(--text-secondary)}.missed-list{display:flex;flex-direction:column;gap:.5rem}.missed-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg);border-radius:8px;text-decoration:none;color:var(--text-primary);border-left:3px solid var(--accent)}.missed-item:hover{background:#bf0a300d}.missed-number{font-weight:600;color:var(--accent);min-width:35px}.missed-text{font-size:.95rem;line-height:1.4}.results-actions{display:flex;gap:1rem}.action-btn{flex:1;padding:1rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;text-decoration:none;text-align:center;cursor:pointer;transition:transform .2s}.action-btn.primary{background:linear-gradient(135deg,var(--primary),#1a4a8a);color:#fff}.action-btn.secondary{background:var(--card-bg);color:var(--text-primary);border:2px solid var(--border)}.test{max-width:600px;margin:0 auto;padding:1rem}.test-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.test-header h1{font-size:1.5rem;margin:0}.test-progress{font-weight:600;color:var(--text-secondary)}.intro-card{background:var(--card-bg);border-radius:16px;padding:2rem;text-align:center}.intro-icon{font-size:4rem;margin-bottom:1rem}.intro-card h2{margin:0 0 1.5rem;font-size:1.5rem}.test-info{display:flex;justify-content:center;gap:2rem;margin-bottom:1.5rem;flex-wrap:wrap}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:1.1rem;font-weight:600;color:var(--primary)}.intro-description{text-align:left;background:var(--bg);padding:1rem;border-radius:8px;margin-bottom:1.5rem}.intro-description p{margin:0;font-size:.95rem;line-height:1.6;color:var(--text-secondary)}.mode-notice{background:#ffc10726;color:#c79100;padding:1rem;border-radius:8px;font-size:.9rem;margin-bottom:1.5rem;text-align:left}.start-btn{width:100%;padding:1.25rem;background:linear-gradient(135deg,var(--accent),#9e2a2a);color:#fff;border:none;border-radius:12px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:transform .2s}.start-btn:hover{transform:scale(1.02)}.progress-bar-container{height:6px;background:var(--border);border-radius:3px;margin-bottom:1.5rem;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--primary),var(--success));border-radius:3px;transition:width .3s ease}.question-card{background:var(--card-bg);border-radius:16px;padding:1.5rem;margin-bottom:1rem}.question-text{font-size:1.4rem;line-height:1.5;margin:0 0 1.5rem;color:var(--text-primary)}.reveal-btn{width:100%;padding:1.25rem;background:linear-gradient(135deg,var(--primary),#1a4a8a);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer}.answer-revealed{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.answer-revealed h3{font-size:.95rem;color:var(--text-secondary);margin:0 0 .75rem}.answer-list{margin:0 0 1rem 1.5rem;padding:0}.answer-list li{font-size:1.1rem;color:var(--success);font-weight:500;padding:.4rem 0}.self-assess{font-size:1rem;font-weight:500;text-align:center;margin-bottom:1rem;color:var(--text-secondary)}.answer-buttons{display:flex;flex-direction:column;gap:.75rem}.answer-btn{padding:1rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s}.answer-btn:hover{transform:scale(1.02)}.answer-btn.correct{background:var(--success);color:#fff}.answer-btn.incorrect{background:var(--accent);color:#fff}.current-score{text-align:center;font-size:.9rem;color:var(--text-secondary)}.on-track{color:var(--success);font-weight:500}.results-card{border-radius:16px;padding:2rem;text-align:center;margin-bottom:1.5rem}.results-card.passed{background:linear-gradient(135deg,#28a74526,#28a7450d);border:2px solid var(--success)}.results-card.failed{background:linear-gradient(135deg,#bf0a3026,#bf0a300d);border:2px solid var(--accent)}.result-badge{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.result-icon{font-size:2rem}.passed .result-icon{color:var(--success)}.failed .result-icon{color:var(--accent)}.result-text{font-size:1.5rem;font-weight:700;letter-spacing:1px}.passed .result-text{color:var(--success)}.failed .result-text{color:var(--accent)}.score-display{font-size:3.5rem;font-weight:700;margin-bottom:.5rem}.score-number{color:var(--text-primary)}.score-divider{color:var(--text-secondary);margin:0 .25rem}.score-total{color:var(--text-secondary)}.score-message{font-size:1rem;color:var(--text-secondary);line-height:1.5}.review-section{background:var(--card-bg);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem}.review-section h3{margin:0 0 1rem;font-size:1rem;color:var(--text-secondary)}.review-list{display:flex;flex-direction:column;gap:.5rem}.review-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg);border-radius:8px;text-decoration:none;color:var(--text-primary);border-left:3px solid var(--accent)}.review-item:hover{background:#bf0a300d}.review-number{font-weight:600;color:var(--accent);min-width:35px}.review-text{font-size:.95rem;line-height:1.4}.results-actions{display:flex;flex-direction:column;gap:.75rem}.action-btn{padding:1rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;text-decoration:none;text-align:center;cursor:pointer;transition:transform .2s}.action-btn:hover{transform:scale(1.02)}.action-btn.primary{background:linear-gradient(135deg,var(--accent),#9e2a2a);color:#fff}.action-btn.secondary{background:linear-gradient(135deg,var(--primary),#1a4a8a);color:#fff}.action-btn.tertiary{background:var(--card-bg);color:var(--text-primary);border:2px solid var(--border)}.settings{max-width:600px;margin:0 auto;padding:1rem 1rem 3rem}.settings-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.back-link{color:var(--primary);text-decoration:none;font-weight:500}.settings-header h1{font-size:1.5rem;margin:0}.settings-section{background:var(--card-bg);border-radius:16px;padding:1.5rem;margin-bottom:1rem}.settings-section h2{font-size:1.1rem;margin:0 0 1rem;color:var(--text-primary)}.section-description{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem}.progress-overview{margin-bottom:1.5rem}.progress-bar-container{height:12px;background:var(--border);border-radius:6px;overflow:hidden;margin-bottom:.5rem}.progress-bar{height:100%;background:linear-gradient(90deg,var(--primary),var(--success));border-radius:6px;transition:width .3s ease}.progress-label{font-size:.9rem;color:var(--text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.stat-card{background:var(--bg);padding:1rem;border-radius:10px;text-align:center}.stat-value{display:block;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.8rem;color:var(--text-secondary)}.stat-card.mastered .stat-value{color:var(--success)}.stat-card.needs-work .stat-value{color:var(--warning)}.stat-card.learning .stat-value{color:var(--primary)}.progress-tips{font-size:.8rem;color:var(--text-secondary)}.progress-tips p{margin:.25rem 0}.toggle-setting{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer}.toggle-info{flex:1}.toggle-label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.toggle-description{display:block;font-size:.85rem;color:var(--text-secondary);line-height:1.4}.toggle-input{display:none}.toggle-switch{width:50px;height:28px;background:var(--border);border-radius:14px;position:relative;transition:background .3s;flex-shrink:0}.toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;background:#fff;border-radius:50%;transition:transform .3s;box-shadow:0 2px 4px #0003}.toggle-input:checked+.toggle-switch{background:var(--primary)}.toggle-input:checked+.toggle-switch:after{transform:translate(22px)}.dynamic-fields{display:flex;flex-direction:column;gap:1rem}.dynamic-field{display:flex;flex-direction:column;gap:.5rem}.dynamic-field label{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.dynamic-field input{padding:.75rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:var(--bg);color:var(--text-primary)}.dynamic-field input:focus{outline:none;border-color:var(--primary)}.danger-zone{border:1px solid var(--accent)}.reset-btn{width:100%;padding:.875rem;background:transparent;border:2px solid var(--accent);border-radius:8px;color:var(--accent);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.reset-btn:hover{background:var(--accent);color:#fff}.reset-confirm p{color:var(--accent);font-weight:500;margin-bottom:1rem}.confirm-buttons{display:flex;gap:.75rem}.confirm-btn{flex:1;padding:.75rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.confirm-btn.cancel{background:var(--bg);border:2px solid var(--border);color:var(--text-primary)}.confirm-btn.delete{background:var(--accent);border:2px solid var(--accent);color:#fff}.about p{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin-bottom:.75rem}.about .version{font-size:.8rem;color:var(--text-secondary);opacity:.7;margin-top:1rem}:root{--primary: #002868;--accent: #BF0A30;--success: #28a745;--warning: #ffc107;--bg: #f5f5f7;--card-bg: #ffffff;--text-primary: #1d1d1f;--text-secondary: #6e6e73;--border: #d2d2d7}@media (prefers-color-scheme: dark){:root{--bg: #1c1c1e;--card-bg: #2c2c2e;--text-primary: #f5f5f7;--text-secondary: #98989f;--border: #3a3a3c}}*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--bg);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;min-height:100dvh}button,input,select{font-family:inherit}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@supports (padding-bottom: env(safe-area-inset-bottom)){.app{padding-bottom:env(safe-area-inset-bottom)}}
