:root{--primary-blue: #2563EB;--primary-blue-hover: #1D4ED8;--midnight-dark: #111827;--pure-white: #FFFFFF;--background-gray: #F3F4F6;--light-gray: #F9FAFB;--emerald-green: #10B981;--emerald-green-light: #D1FAE5;--rose-red: #EF4444;--rose-red-light: #FEE2E2;--amber-orange: #F59E0B;--text-primary: #111827;--text-secondary: #6B7280;--text-light: #9CA3AF;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--background-gray);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code,pre{font-family:JetBrains Mono,Consolas,Monaco,Courier New,monospace}.container{max-width:1200px;margin:0 auto;padding:var(--spacing-lg)}.card{background:var(--pure-white);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-lg)}pre{background:var(--midnight-dark);color:#e5e7eb;padding:var(--spacing-md);border-radius:var(--radius-sm);overflow-x:auto;margin:var(--spacing-sm) 0;font-size:14px;line-height:1.5}code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:.9em}pre code{background:transparent;padding:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--light-gray)}::-webkit-scrollbar-thumb{background:var(--text-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.code-block{background:#2b2d3a;color:#e5e7eb;padding:20px 24px;border-radius:12px;overflow:auto;max-height:500px;margin:16px 0;font-size:14px;line-height:1.7;font-family:Consolas,Monaco,Courier New,monospace;box-shadow:0 4px 12px #0000004d;border:1px solid #1a1c28;white-space:pre}.code-block code{background:transparent;padding:0;color:inherit;font-family:inherit}.code-keyword{color:#c792ea;font-weight:500}.code-function{color:#ffcb6b;font-weight:500}.code-string{color:#c3e88d}.code-number{color:#f78c6c}.code-comment{color:#697098;font-style:italic}.code-block::-webkit-scrollbar{height:8px;width:8px}.code-block::-webkit-scrollbar-track{background:#1a1c28;border-radius:4px}.code-block::-webkit-scrollbar-thumb{background:#3a3d4f;border-radius:4px}.code-block::-webkit-scrollbar-thumb:hover{background:#4a4d5f}.quiz-card{background:var(--pure-white);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-md);transition:all var(--transition-normal)}.quiz-card:hover{box-shadow:var(--shadow-lg)}.quiz-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:0;border-bottom:none}.question-number{font-size:16px;font-weight:600;color:var(--primary-blue);letter-spacing:0}.question-type-badge{background:var(--primary-blue);color:var(--pure-white);padding:6px 16px;border-radius:var(--radius-md);font-size:14px;font-weight:600}.question-content{font-size:16px;line-height:1.8;color:var(--text-primary)}.question-text{font-size:18px;line-height:1.6;color:var(--midnight-dark);margin-bottom:var(--spacing-sm);font-weight:500}.question-text p{margin:var(--spacing-sm) 0}.question-text pre{background:#1e1e1e;color:#d4d4d4;padding:var(--spacing-sm);border-radius:var(--radius-md);overflow-x:auto;margin:var(--spacing-sm) 0;font-size:14px;line-height:1.7;font-family:Consolas,Monaco,Courier New,monospace;box-shadow:0 4px 12px #0000004d;border:1px solid #1a1c28;white-space:pre}.question-text img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:var(--spacing-md) 0;display:block}.question-text code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:.9em;color:var(--midnight-dark)}.question-text pre code{background:transparent;padding:0;color:#e5e7eb}.option-button{width:100%;background:var(--pure-white);border:2px solid #E5E7EB;border-radius:var(--radius-md);padding:10px var(--spacing-sm);margin-bottom:8px;display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;transition:all var(--transition-normal);text-align:left;font-size:15px;position:relative;overflow:hidden}.option-button:hover:not(.disabled){border-color:var(--primary-blue);background:var(--light-gray);transform:translate(4px);box-shadow:var(--shadow-md)}.option-button.selected{border-color:var(--primary-blue);background:#2563eb0d}.option-button.correct{border-color:var(--emerald-green);background:var(--emerald-green-light);animation:correctPulse .5s ease-out}.option-button.wrong{border-color:var(--rose-red);background:var(--rose-red-light);animation:wrongShake .5s ease-out}.option-button.disabled{cursor:not-allowed;opacity:.6}.option-key{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--primary-blue);color:var(--pure-white);border-radius:50%;font-weight:600;flex-shrink:0;transition:all var(--transition-normal)}.option-button.correct .option-key{background:var(--emerald-green)}.option-button.wrong .option-key{background:var(--rose-red)}.option-text{flex:1;line-height:1.6;color:var(--text-primary)}.option-text p{margin:0}.option-text code{background:#0000000d;padding:2px 6px;border-radius:4px;font-size:.9em}.feedback-icon{font-size:24px;font-weight:700;margin-left:auto;flex-shrink:0}.option-button.correct .feedback-icon{color:var(--emerald-green)}.option-button.wrong .feedback-icon{color:var(--rose-red)}@keyframes correctPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes wrongShake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}@media(max-width:768px){.option-button{padding:var(--spacing-sm) var(--spacing-md);font-size:14px}.option-key{width:28px;height:28px;font-size:14px}}.progress-bar-container{background:var(--pure-white);padding:var(--spacing-md);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-md)}.progress-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.progress-label{font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:.5px}.progress-count{font-size:13px;color:var(--text-secondary);font-weight:500;text-align:center}.progress-percentage{font-size:16px;font-weight:700;color:var(--primary-blue)}.progress-bar{height:8px;background:var(--light-gray);border-radius:100px;overflow:hidden;position:relative;margin-bottom:var(--spacing-sm)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-blue),#3B82F6);border-radius:100px;transition:width var(--transition-normal);position:relative;overflow:hidden}.progress-shine{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shine 2s infinite}.progress-text{text-align:center;font-size:13px;color:var(--text-secondary);margin-top:var(--spacing-xs)}@keyframes shine{0%{left:-100%}to{left:100%}}@media(max-width:768px){.progress-container{padding:var(--spacing-md)}.progress-percentage{font-size:16px}}.statistics{background:var(--pure-white);border-radius:var(--radius-lg);padding:var(--spacing-sm);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-sm)}.statistics-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--light-gray)}.statistics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.stat-item{text-align:center;padding:var(--spacing-md);background:var(--light-gray);border-radius:var(--radius-md);transition:all var(--transition-normal)}.stat-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.stat-value{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-xs);animation:countUp .5s ease-out}.stat-value.stat-primary{color:var(--primary-blue)}.stat-value.stat-success{color:var(--emerald-green)}.stat-value.stat-error{color:var(--rose-red)}.stat-label{font-size:12px;color:var(--text-secondary);font-weight:500;letter-spacing:.5px}.accuracy-section{background:linear-gradient(135deg,var(--primary-blue),#3B82F6);padding:var(--spacing-lg);border-radius:var(--radius-md);color:var(--pure-white)}.accuracy-label{font-size:13px;font-weight:600;margin-bottom:var(--spacing-xs);opacity:.9}.accuracy-value{font-size:36px;font-weight:700;margin-bottom:var(--spacing-md);text-shadow:0 2px 4px rgba(0,0,0,.1)}.accuracy-bar{height:6px;background:#ffffff4d;border-radius:100px;overflow:hidden}.accuracy-fill{height:100%;background:var(--pure-white);border-radius:100px;transition:width var(--transition-normal);box-shadow:0 0 10px #ffffff80}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.statistics-grid{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:24px}.accuracy-value{font-size:28px}}.fill-blank-question{padding:var(--spacing-lg)}.question-content{margin-bottom:var(--spacing-xl);font-size:18px;line-height:1.6;color:var(--midnight-dark)}.answer-input-section{margin-bottom:var(--spacing-lg)}.answer-input-section label{display:block;margin-bottom:var(--spacing-sm);font-weight:600;color:var(--midnight-dark);font-size:16px}.fill-input{width:100%;padding:var(--spacing-md);font-size:16px;border:2px solid var(--background-gray);border-radius:var(--radius-md);transition:all .3s ease;font-family:inherit}.fill-input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #2f80ed1a}.fill-input:disabled{background-color:var(--bg-light);cursor:not-allowed}.fill-input.correct{border-color:var(--success-green);background-color:#4caf500d}.fill-input.wrong{border-color:var(--error-red);background-color:#f443360d}.submit-button{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,var(--primary-blue) 0%,#667eea 100%);color:#fff;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #2f80ed66}.submit-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.feedback-section{margin-top:var(--spacing-lg);padding:var(--spacing-md);border-radius:var(--radius-md);animation:slideIn .3s ease}.feedback-section.correct{background-color:#4caf501a;border-left:4px solid var(--success-green)}.feedback-section.wrong{background-color:#f443361a;border-left:4px solid var(--error-red)}.correct-feedback,.wrong-feedback{font-size:16px;font-weight:600}.correct-feedback{color:var(--success-green)}.wrong-feedback{color:var(--error-red)}.icon{font-size:20px;margin-right:var(--spacing-sm)}.correct-answer-display{margin-top:var(--spacing-md);padding:var(--spacing-md);background:#fff;border-radius:var(--radius-sm)}.correct-answer-display strong{display:block;margin-bottom:var(--spacing-sm);color:var(--midnight-dark)}.correct-answer-display ul{list-style:none;padding:0;margin:0}.correct-answer-display li{padding:var(--spacing-sm) 0;color:var(--text-primary)}.correct-answer-display .answer-text{color:var(--success-green);font-weight:600;font-size:16px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.essay-question{background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 12px #00000014}.question-content{margin-bottom:28px}.question-title{font-size:20px;font-weight:700;color:#1f2937;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #E5E7EB}.question-text{font-size:16px;line-height:1.8;color:#374151}.answer-input-section{margin-bottom:24px}.answer-input-section label{display:block;font-size:15px;font-weight:600;color:#374151;margin-bottom:12px}.essay-textarea{width:100%;padding:16px;border:2px solid #E5E7EB;border-radius:12px;font-size:15px;font-family:inherit;line-height:1.6;resize:vertical;transition:all .3s}.essay-textarea:focus{outline:none;border-color:#2f80ed;box-shadow:0 0 0 3px #2f80ed1a}.char-count{text-align:right;font-size:13px;color:#9ca3af;margin-top:8px}.submit-button{width:100%;padding:16px;background:linear-gradient(135deg,#2f80ed,#1e6fdb);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #2f80ed4d}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #2f80ed66}.submit-button:disabled{background:#d1d5db;cursor:not-allowed;box-shadow:none}.score-display{text-align:center;margin:32px 0;padding:24px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:16px}.score-badge{display:inline-flex;align-items:baseline;gap:8px;padding:16px 32px;border-radius:50px;font-weight:700;margin-bottom:12px;box-shadow:0 4px 12px #0000001a}.score-badge.excellent{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.score-badge.good{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.score-badge.fair{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.score-badge.poor{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.score-label{font-size:14px;opacity:.9}.score-value{font-size:36px}.score-max{font-size:18px;opacity:.8}.score-message{font-size:18px;font-weight:600;margin-top:8px;color:#1f2937}.user-answer-display{background:#f9fafb;padding:20px;border-radius:12px;margin-bottom:24px;border-left:4px solid #2F80ED}.user-answer-display h4{font-size:15px;font-weight:600;color:#374151;margin-bottom:12px}.user-answer-text{font-size:15px;line-height:1.8;color:#1f2937;white-space:pre-wrap}.answer-section{background:#ecfdf5;padding:24px;border-radius:12px;margin-bottom:24px;border-left:4px solid #10B981}.answer-title{font-size:16px;font-weight:700;color:#065f46;margin-bottom:16px}.answer-content{font-size:15px;line-height:1.8;color:#064e3b}.answer-list{margin:0;padding-left:24px}.answer-point{margin-bottom:12px;line-height:1.8}.answer-text{margin:0;white-space:pre-wrap}.explanation-section{background:#fef3c7;padding:24px;border-radius:12px;margin-bottom:24px;border-left:4px solid #F59E0B}.explanation-title{font-size:16px;font-weight:700;color:#92400e;margin-bottom:12px}.explanation-text{font-size:15px;line-height:1.8;color:#78350f;margin:0}.action-buttons{display:flex;gap:16px;margin-top:24px}.next-button{flex:1;padding:16px;background:linear-gradient(135deg,#2f80ed,#1e6fdb);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.next-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2f80ed66}@media(max-width:768px){.essay-question{padding:20px}.question-title{font-size:18px}.score-value{font-size:28px}}:root{--primary-blue: #2F80ED;--primary-blue-hover: #1E6FDB;--emerald-green: #27AE60;--rose-red: #EB5757;--pure-white: #FFFFFF;--text-primary: #1F2937;--text-secondary: #6B7280;--bg-light: #F9FAFB}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text-primary);background:#f8f9fa}.app{min-height:100vh;background:#f8f9fa}.app-header{background:linear-gradient(135deg,#111827,#1f2937);color:#fff;padding:16px 0;text-align:center;box-shadow:0 10px 15px #0000001a;margin-bottom:16px}.app-title{font-size:32px;font-weight:700;margin-bottom:8px}.app-subtitle{font-size:16px;opacity:.8}.container{max-width:900px;margin:0 auto;padding:0 16px 16px}.subject-selection{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:linear-gradient(135deg,#667eea,#764ba2)}.selection-title{font-size:3rem;font-weight:800;color:#fff;margin-bottom:12px;text-shadow:0 2px 10px rgba(0,0,0,.2)}.selection-subtitle{font-size:1.2rem;color:#ffffffe6;margin-bottom:32px}.subject-cards{display:flex;justify-content:center;gap:2rem;max-width:1200px;flex-wrap:wrap}.subject-card{background:#fffffff2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:24px;padding:2.5rem 2rem;width:340px;text-align:center;cursor:pointer;transition:all .5s ease;box-shadow:0 8px 32px #0000001f;border:2px solid rgba(255,255,255,.4);position:relative}.subject-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:linear-gradient(90deg,transparent,#2F80ED,transparent);opacity:0;transition:opacity .4s}.subject-card:hover{transform:translateY(-16px) scale(1.05);box-shadow:0 30px 70px #00000040;border-color:#fff9}.subject-card:hover:before{opacity:1}.subject-icon{width:100px;height:100px;margin:0 auto 1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#fff;transition:all .5s ease}.c-icon{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 10px 30px #667eea66}.java-icon{background:linear-gradient(135deg,#fb923c,#f97316);box-shadow:0 10px 30px #fb923c66}.database-icon{background:linear-gradient(135deg,#4ade80,#22c55e);box-shadow:0 10px 30px #4ade8066}.kline-icon{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 10px 30px #fbbf2466}.sxyz-icon{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 10px 30px #ef444466}.subject-card:hover .subject-icon{transform:scale(1.2) rotate(-8deg)}.subject-card h2{font-size:1.875rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.question-count{font-size:1.125rem;color:var(--text-secondary);margin-bottom:1.5rem;font-weight:500}.subject-stats{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.stat-badge{padding:.5rem 1rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:16px;font-size:.875rem;color:var(--text-secondary);font-weight:600;border:1px solid rgba(0,0,0,.06)}.stat-number{color:var(--primary-blue);font-size:1.125rem;font-weight:700;margin-right:.25rem}.new-badge{position:absolute;top:15px;right:15px;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;padding:6px 14px;border-radius:20px;font-size:.75rem;font-weight:800;box-shadow:0 4px 15px #ff6b6b66;z-index:10}.quiz-container{background:#fff;border-radius:20px;padding:24px;box-shadow:0 10px 30px #0000001a}.back-button{background:transparent;border:2px solid var(--primary-blue);color:var(--primary-blue);padding:12px 24px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;margin-bottom:24px}.back-button:hover{background:var(--primary-blue);color:#fff}.options-container{margin:24px 0}.control-buttons{display:flex;gap:16px;margin-top:24px}.control-button{flex:1;padding:16px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s;border:2px solid transparent}.control-button.primary{background:var(--primary-blue);color:#fff;box-shadow:0 4px 12px #2f80ed4d}.control-button.primary:hover{background:var(--primary-blue-hover);transform:translateY(-2px);box-shadow:0 6px 20px #2f80ed66}.control-button.primary:disabled{background:#d1d5db;cursor:not-allowed;opacity:.6}.control-button.secondary{background:#fff;color:var(--text-primary);border-color:#e5e7eb}.control-button.secondary:hover{background:#f3f4f6;border-color:var(--primary-blue);transform:translateY(-2px)}.feedback-section{background:#fff;border-radius:12px;padding:24px;margin:24px 0;box-shadow:0 4px 12px #0000001a}.feedback-section.correct{border-left:4px solid var(--emerald-green)}.feedback-section.wrong{border-left:4px solid var(--rose-red)}.feedback-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.feedback-icon-large{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700}.feedback-section.correct .feedback-icon-large{background:#e8f5e9;color:var(--emerald-green)}.feedback-section.wrong .feedback-icon-large{background:#ffebee;color:var(--rose-red)}.feedback-title{font-size:20px;font-weight:700}.feedback-section.correct .feedback-title{color:var(--emerald-green)}.feedback-section.wrong .feedback-title{color:var(--rose-red)}.correct-answer-section{background:#f3f4f6;padding:16px;border-radius:8px;margin-top:16px}.correct-answer-label{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase}.correct-answer-content{font-size:15px;color:var(--text-primary);line-height:1.6;margin-bottom:16px}.correct-answer-content strong{color:var(--primary-blue);font-size:18px}.next-button{width:100%;background:var(--primary-blue);color:#fff;border:none;border-radius:8px;padding:16px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.next-button:hover{background:var(--primary-blue-hover);transform:translateY(-2px);box-shadow:0 4px 12px #2f80ed66}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.result-modal{background:#fff;border-radius:12px;padding:32px;max-width:500px;width:90%;box-shadow:0 10px 40px #0000004d}.result-modal h2{text-align:center;color:var(--primary-blue);margin-bottom:24px;font-size:28px}.result-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:32px}.stat-item{background:#f9fafb;padding:16px;border-radius:8px;text-align:center}.stat-label{display:block;font-size:14px;color:var(--text-secondary);margin-bottom:4px}.stat-value{display:block;font-size:24px;font-weight:700;color:var(--text-primary)}.modal-actions{display:flex;gap:16px}.btn-primary,.btn-secondary{flex:1;padding:16px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary{background:linear-gradient(135deg,var(--primary-blue),#667eea);color:#fff;border:none}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2f80ed66}.btn-secondary{background:#fff;color:var(--primary-blue);border:2px solid var(--primary-blue)}.btn-secondary:hover{background:var(--primary-blue);color:#fff;transform:translateY(-2px)}@media(max-width:768px){.subject-cards{flex-direction:column;align-items:center}.subject-card{width:100%;max-width:400px}.control-buttons{flex-direction:column}}.type-selection{min-height:calc(100vh - 80px);display:flex;flex-direction:column;align-items:center;padding:40px 20px}.type-selection-header{text-align:center;margin-bottom:48px}.type-title{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:12px}.type-subtitle{font-size:1.2rem;color:var(--text-secondary);font-weight:500}.type-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;max-width:1000px;width:100%}.type-card{background:#fff;border-radius:20px;padding:32px 24px;text-align:center;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #00000014;border:2px solid transparent;position:relative;overflow:hidden}.type-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--primary-blue),#667eea);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.type-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #2f80ed26;border-color:var(--primary-blue)}.type-card:hover:before{transform:scaleX(1)}.type-icon{width:80px;height:80px;margin:0 auto 20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 8px 24px #667eea4d;transition:all .4s ease}.type-card:hover .type-icon{transform:scale(1.1) rotate(-5deg);box-shadow:0 12px 32px #667eea80}.type-card h3{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:12px}.type-count{font-size:1.125rem;color:var(--text-secondary);font-weight:500}.type-count span{color:var(--primary-blue);font-weight:700;font-size:1.5rem}@media(max-width:768px){.type-title{font-size:2rem}.type-cards{grid-template-columns:1fr;max-width:400px}}.quiz-active .app-header{display:none}.quiz-active .container{padding-top:0}.quiz-active{background:#f8f9fa}.quiz-nav{display:flex;justify-content:flex-start;margin-bottom:16px;padding-top:16px}.back-text-btn{background:none;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;padding:8px 0;transition:color .2s;display:flex;align-items:center;gap:4px}.back-text-btn:hover{color:var(--primary-blue)}.navigation-buttons{display:flex;justify-content:center;margin-top:24px}.next-btn{padding:16px 32px;background:linear-gradient(135deg,#2f80ed,#1e6fdb);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #2f80ed4d;min-width:200px}.next-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2f80ed66}
