:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-card:#ffffff0a;--bg-card-hover:#ffffff12;--bg-glass:#ffffff0f;--bg-glass-strong:#ffffff1a;--text-primary:#e8e6e3;--text-secondary:#9a9a9a;--text-muted:#6b6b6b;--text-heading:#f5f5f5;--border:#ffffff14;--border-hover:#ffffff26;--border-active:#ffffff40;--accent-start:#7c5bf5;--accent-end:#38bdf8;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-glow:#7c5bf533;--success:#34d399;--success-bg:#34d3991a;--success-border:#34d3994d;--error:#f87171;--error-bg:#f871711a;--error-border:#f871714d;--hint-bg:#fbbf2414;--hint-border:#fbbf2440;--hint-text:#fbbf24;--special-bg:#7c5bf514;--special-border:#7c5bf540;--mistake-bg:#f871710f;--mistake-border:#f8717133;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 20px #0006;--shadow-lg:0 8px 40px #00000080;--shadow-glow:0 0 30px var(--accent-glow)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(60% 40% at 20% 10%,#7c5bf50f,#0000),radial-gradient(50% 50% at 80% 80%,#38bdf80a,#0000);position:fixed;inset:0}#root{z-index:1;position:relative}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:200px;padding-top:.75rem;padding-bottom:.75rem}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #7c5bf500}50%{box-shadow:0 0 20px #7c5bf526}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.app-container{max-width:1000px;margin:0 auto;padding:2.5rem 1.5rem 4rem;animation:.4s fadeIn}header{border-bottom:1px solid var(--border);margin-bottom:2.5rem;padding-bottom:1.5rem;animation:.5s fadeInUp}header h1{letter-spacing:-.02em;background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.4rem;font-size:2rem;font-weight:800}header .subtitle{color:var(--text-secondary);font-size:1rem;font-weight:400}.quiz-sections{flex-direction:column;gap:2.25rem;display:flex}.quiz-section{animation:.5s both fadeInUp}.quiz-section:first-child{animation-delay:50ms}.quiz-section:nth-child(2){animation-delay:.1s}.quiz-section:nth-child(3){animation-delay:.15s}.quiz-section:nth-child(4){animation-delay:.2s}.quiz-section:nth-child(5){animation-delay:.25s}.quiz-section:nth-child(6){animation-delay:.3s}.quiz-section:nth-child(7){animation-delay:.35s}.quiz-section:nth-child(8){animation-delay:.4s}.quiz-section:nth-child(9){animation-delay:.45s}.section-header{border-bottom:1px solid var(--border);align-items:baseline;gap:.6rem;margin-bottom:1rem;padding-bottom:.6rem;display:flex}.section-icon{font-size:1.3rem;line-height:1}.section-header-text{flex:1}.section-title{color:var(--text-heading);letter-spacing:-.01em;margin-bottom:.15rem;font-size:1.1rem;font-weight:700}.section-desc{color:var(--text-muted);font-size:.85rem}.quiz-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem;display:grid}.quiz-grid--single{grid-template-columns:1fr;max-width:440px}.card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);flex-direction:column;padding:1.25rem;transition:all .25s;display:flex;position:relative;overflow:hidden}.card:before{content:"";background:var(--accent-gradient);opacity:0;height:2px;transition:opacity .25s;position:absolute;top:0;left:0;right:0}.card:hover{background:var(--bg-card-hover);border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card:hover:before{opacity:1}.card.special-card{background:var(--special-bg);border-color:var(--special-border)}.card.special-card:before{opacity:1}.card.mistake-card{background:var(--mistake-bg);border-color:var(--mistake-border)}.card.mistake-card:before{background:linear-gradient(135deg, var(--error), #fb923c);opacity:1}.card h3{color:var(--text-heading);margin-bottom:.3rem;font-size:.95rem;font-weight:600}.card p{color:var(--text-secondary);flex-grow:1;font-size:.85rem}.card .play-btn{background:var(--bg-glass-strong);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-self:flex-start;margin-top:1rem;padding:.5rem .85rem;font-family:inherit;font-size:.85rem;font-weight:500;transition:all .2s}.card:hover .play-btn{background:var(--accent-gradient);color:#fff;border-color:#0000}.card .mistake-count{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error);border-radius:999px;align-items:center;gap:.3rem;width:fit-content;margin-top:.5rem;padding:.2rem .6rem;font-size:.78rem;font-weight:600;display:inline-flex}.clear-mistakes-btn{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;align-self:flex-start;margin-top:.6rem;padding:.3rem .6rem;font-family:inherit;font-size:.75rem;transition:all .2s}.clear-mistakes-btn:hover{color:var(--error);border-color:var(--error-border)}.quiz-screen{max-width:760px;margin:0 auto;animation:.3s fadeIn}.back-btn{background:var(--bg-glass);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:.4rem;margin-bottom:1.5rem;padding:.45rem .85rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.back-btn:hover{background:var(--bg-glass-strong);color:var(--text-primary);border-color:var(--border-hover)}.question-container{border:1px solid var(--border);background:var(--bg-card);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-md);padding:2rem;animation:.3s scaleIn}.progress-bar{background:var(--border);border-radius:999px;width:100%;height:4px;margin-bottom:1.5rem;position:relative;overflow:hidden}.progress-fill{background:var(--accent-gradient);border-radius:999px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1);position:relative}.progress-fill:after{content:"";filter:blur(4px);background:#fff6;border-radius:999px;width:20px;height:100%;position:absolute;top:0;right:0}.quiz-meta{color:var(--text-muted);margin-bottom:.3rem;font-size:.85rem;font-weight:500}.quiz-source{color:var(--text-muted);background:var(--bg-glass);border-radius:var(--radius-sm);width:fit-content;margin-bottom:1.25rem;padding:.3rem .6rem;font-size:.8rem}.question-text{color:var(--text-heading);letter-spacing:-.01em;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;margin-bottom:1.5rem;font-size:1.15rem;font-weight:600;line-height:1.55}.options-grid{flex-direction:column;gap:.6rem;display:flex}.option-btn{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);text-align:left;cursor:pointer;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;white-space:normal;align-items:flex-start;gap:.6rem;max-width:100%;padding:.85rem 1.1rem;font-family:inherit;font-size:.95rem;line-height:1.5;transition:all .2s;display:flex}.option-btn span:last-child{flex:1}.option-btn:hover{background:var(--bg-glass-strong);border-color:var(--border-hover);transform:translate(4px)}.option-btn.selected{background:#7c5bf51f;border-color:#7c5bf566;box-shadow:0 0 16px #7c5bf514}.option-label{color:var(--text-muted);text-transform:uppercase;min-width:1.4rem;padding-top:.05rem;font-size:.85rem;font-weight:700}.option-btn.selected .option-label{color:var(--accent-start)}.hint-toggle{color:var(--hint-text);border:1px solid var(--hint-border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;align-items:center;gap:.4rem;margin-top:1rem;padding:.45rem .85rem;font-family:inherit;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.hint-toggle:hover{background:var(--hint-bg)}.hint-box{background:var(--hint-bg);border:1px solid var(--hint-border);border-radius:var(--radius-sm);color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;margin-top:.75rem;padding:.85rem 1.1rem;font-size:.9rem;line-height:1.55;animation:.3s forwards slideDown;overflow:hidden}.hint-box .hint-icon{margin-right:.4rem}.next-btn{background:var(--accent-gradient);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;width:100%;margin-top:1.5rem;padding:.8rem 1rem;font-family:inherit;font-size:1rem;font-weight:600;transition:all .25s;position:relative;overflow:hidden}.next-btn:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff26,#0000);transition:opacity .2s;position:absolute;inset:0}.next-btn:hover:not(:disabled):before{opacity:1}.next-btn:hover:not(:disabled){box-shadow:var(--shadow-glow);transform:translateY(-1px)}.next-btn:disabled{background:var(--bg-glass);color:var(--text-muted);cursor:not-allowed;box-shadow:none}.results{text-align:center;padding:1rem 0}.results-theme{color:var(--text-secondary);margin-bottom:1.25rem!important}.score-circle{width:130px;height:130px;color:var(--text-heading);background:var(--bg-secondary), var(--accent-gradient);background-origin:border-box;background-clip:padding-box,border-box;border:3px solid #0000;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.25rem;font-size:1.75rem;font-weight:800;animation:2s ease-in-out infinite pulseGlow;display:flex}.results-percentage{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.35rem;font-size:1.5rem;font-weight:700}.results-grade{color:var(--text-primary);margin-bottom:.35rem;font-size:1rem;font-weight:500}.results-summary{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem}.results-hints-used{color:var(--hint-text);justify-content:center;align-items:center;gap:.3rem;margin-bottom:1.5rem;font-size:.85rem;display:flex}.results-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.results-actions .next-btn{flex:1;min-width:200px}.results-back-btn{margin-top:1.5rem}.retry-mistakes-btn{background:var(--error-bg)!important;border:1px solid var(--error-border)!important;color:var(--error)!important}.retry-mistakes-btn:hover{background:#f8717133!important}.results-review{text-align:left;border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem}.results-review h3{text-align:center;color:var(--text-heading);margin-bottom:1.25rem;font-size:1rem;font-weight:600}.results-filter-bar{justify-content:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.results-filter-btn{background:var(--bg-glass);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:.35rem .75rem;font-family:inherit;font-size:.8rem;font-weight:500;transition:all .2s}.results-filter-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.results-filter-btn.active{background:var(--accent-gradient);color:#fff;border-color:#0000}.results-list{flex-direction:column;gap:.75rem;max-height:55vh;padding-right:.5rem;list-style:none;display:flex;overflow-y:auto}.results-list::-webkit-scrollbar{width:4px}.results-list::-webkit-scrollbar-track{background:0 0}.results-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.results-item{border:1px solid var(--border);background:var(--bg-glass);border-radius:var(--radius-sm);padding:.85rem 1.1rem;transition:all .2s}.results-item--correct{border-left:3px solid var(--success)}.results-item--wrong{border-left:3px solid var(--error);background:var(--error-bg)}.results-item-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.4rem;display:flex}.results-item-num{color:var(--text-muted);font-size:.8rem;font-weight:500}.results-item-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.18rem .55rem;font-size:.72rem;font-weight:600}.badge-correct{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.badge-wrong{background:var(--error-bg);color:var(--error);border:1px solid var(--error-border)}.results-item-source{color:var(--text-muted);margin-bottom:.25rem;font-size:.78rem}.results-item-question{color:var(--text-primary);margin-bottom:.4rem;font-size:.9rem;line-height:1.5}.results-item-answer{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.results-item-answer strong{color:var(--text-primary);font-weight:600}.loading-container{flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;padding:4rem 0;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--accent-start);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-secondary);font-size:.95rem}@media (width<=768px){.app-container{padding:1.25rem 1rem 3rem}header h1{font-size:1.5rem}.quiz-grid{grid-template-columns:1fr}.question-container{padding:1.25rem}.question-text{font-size:1.05rem}.results-actions{flex-direction:column}.results-filter-bar{flex-wrap:wrap}.score-circle{width:110px;height:110px;font-size:1.5rem}}@media (width<=480px){.app-container{padding:1rem .75rem 2rem}header h1{font-size:1.3rem}.section-header{flex-direction:column;gap:.3rem}.option-btn{padding:.7rem .85rem;font-size:.9rem}}
