:root,:root[data-theme=dark]{--bg-1: #1e1b4b;--bg-2: #0f172a;--bg-3: #4c1d95;--text: #f1f5f9;--text-muted: #a5b4fc;--glass-bg: rgba(255, 255, 255, .07);--glass-bg-hover: rgba(255, 255, 255, .12);--glass-border: rgba(255, 255, 255, .16);--glass-shadow: rgba(0, 0, 0, .35);--accent: #818cf8;--accent-2: #c084fc;--green: #34d399;--green-bg: rgba(52, 211, 153, .18);--red: #fb7185;--red-bg: rgba(251, 113, 133, .18)}:root[data-theme=light]{--bg-1: #e0e7ff;--bg-2: #f5f3ff;--bg-3: #fae8ff;--text: #1e1b4b;--text-muted: #6d28d9;--glass-bg: rgba(255, 255, 255, .55);--glass-bg-hover: rgba(255, 255, 255, .75);--glass-border: rgba(255, 255, 255, .7);--glass-shadow: rgba(79, 70, 229, .15);--accent: #6366f1;--accent-2: #a855f7;--green: #059669;--green-bg: rgba(5, 150, 105, .14);--red: #e11d48;--red-bg: rgba(225, 29, 72, .12)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:linear-gradient(135deg,var(--bg-1),var(--bg-2) 55%,var(--bg-3));background-attachment:fixed;min-height:100vh;transition:color .3s ease}.app{position:relative;max-width:820px;margin:0 auto;padding:0 18px 64px;min-height:100vh;z-index:1}.app-header{display:flex;align-items:center;justify-content:space-between;padding:26px 0 14px}.brand{margin:0;font-size:1.55rem;font-weight:800;letter-spacing:-.02em;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.brand-mark{-webkit-text-fill-color:initial;filter:drop-shadow(0 2px 6px var(--glass-shadow))}.theme-toggle{width:44px;height:44px;border-radius:50%;border:1px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:1.2rem;cursor:pointer;transition:transform .2s ease,background .2s ease}.theme-toggle:hover{transform:rotate(20deg) scale(1.08);background:var(--glass-bg-hover)}.bg-orbs{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0;pointer-events:none}.orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55}.orb-1{width:380px;height:380px;background:var(--accent);top:-120px;left:-90px;animation:float1 14s ease-in-out infinite}.orb-2{width:320px;height:320px;background:var(--accent-2);bottom:-110px;right:-80px;animation:float2 18s ease-in-out infinite}.orb-3{width:260px;height:260px;background:var(--green);top:40%;right:30%;opacity:.25;animation:float1 22s ease-in-out infinite}@keyframes float1{0%,to{transform:translate(0)}50%{transform:translate(40px,30px)}}@keyframes float2{0%,to{transform:translate(0)}50%{transform:translate(-35px,-25px)}}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 32px var(--glass-shadow)}.section-title{font-size:1.9rem;font-weight:800;margin:18px 0 4px;letter-spacing:-.02em}.section-sub{color:var(--text-muted);margin:0 0 24px}.subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.subject-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;border-radius:20px;padding:24px;cursor:pointer;color:var(--text);text-align:left;opacity:0;transform:translateY(14px);animation:rise .5s ease forwards;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.subject-card:hover{transform:translateY(-4px);background:var(--glass-bg-hover);box-shadow:0 14px 40px var(--glass-shadow)}.subject-avatar{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;font-size:1.4rem;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 6px 18px var(--glass-shadow)}.subject-name{font-size:1.25rem;font-weight:700}.subject-cta{color:var(--text-muted);font-size:.92rem;font-weight:600}.subject-card:hover .arrow{transform:translate(5px);display:inline-block}.arrow{transition:transform .18s ease}@keyframes rise{to{opacity:1;transform:translateY(0)}}.quiz-wrap{animation:fade .4s ease}.quiz-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 20px;flex-wrap:wrap}.quiz-meta{display:flex;gap:8px}.pill{padding:7px 14px;border-radius:999px;font-size:.85rem;font-weight:600;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.pill-accent{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#fff;border:none}.back{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text);border-radius:12px;padding:8px 14px;cursor:pointer;font-weight:600;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .18s ease,transform .18s ease}.back:hover{background:var(--glass-bg-hover);transform:translate(-3px)}.progress-row{margin-bottom:22px}.progress-label{font-size:.85rem;color:var(--text-muted);font-weight:600}.progress-bar{height:8px;border-radius:999px;background:var(--glass-bg);border:1px solid var(--glass-border);overflow:hidden;margin-top:8px}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .4s cubic-bezier(.4,0,.2,1)}.quiz-card{border-radius:24px;padding:30px;animation:fade .35s ease}.question{font-size:1.45rem;line-height:1.4;margin:0 0 26px;font-weight:700;letter-spacing:-.01em}.options{display:grid;gap:13px}.option{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:var(--text);border-radius:16px;padding:17px 20px;font-size:1.02rem;font-weight:500;cursor:pointer;transition:transform .14s ease,background .14s ease,border-color .14s ease}.option:hover:not(:disabled){transform:translate(4px);background:var(--glass-bg-hover);border-color:var(--accent)}.option:disabled{cursor:default}.option.correct{border-color:var(--green);background:var(--green-bg)}.option.wrong{border-color:var(--red);background:var(--red-bg)}.option.dim{opacity:.5}.mark{font-weight:800;font-size:1.1rem}.mark.ok{color:var(--green)}.mark.bad{color:var(--red)}.feedback{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;flex-wrap:wrap}.ok{color:var(--green);font-weight:700}.bad{color:var(--red);font-weight:700}.primary{border:none;border-radius:14px;padding:13px 24px;font-size:1rem;font-weight:700;cursor:pointer;color:#fff;background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 8px 22px var(--glass-shadow);transition:transform .16s ease,filter .16s ease}.primary:hover{transform:translateY(-2px);filter:brightness(1.08)}.secondary{background:var(--glass-bg);color:var(--text);border:1px solid var(--glass-border);border-radius:14px;padding:13px 24px;font-size:1rem;font-weight:600;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .16s ease,transform .16s ease}.secondary:hover{background:var(--glass-bg-hover);transform:translateY(-2px)}.result-card{border-radius:26px;padding:42px 32px;text-align:center;animation:fade .4s ease}.score-ring{width:168px;height:168px;border-radius:50%;margin:0 auto 22px;display:grid;place-items:center;background:radial-gradient(closest-side,var(--bg-2) 79%,transparent 80% 100%),conic-gradient(var(--accent) calc(var(--pct) * 1%),var(--glass-border) 0)}:root[data-theme=light] .score-ring{background:radial-gradient(closest-side,#fff 79%,transparent 80% 100%),conic-gradient(var(--accent) calc(var(--pct) * 1%),var(--glass-border) 0)}.score-ring-inner{display:flex;flex-direction:column}.score-big{font-size:2.1rem;font-weight:800}.score-pct{color:var(--text-muted);font-weight:700}.result-title{font-size:1.6rem;font-weight:800;margin:6px 0 4px}.actions{display:flex;gap:12px;justify-content:center;margin-top:22px;flex-wrap:wrap}.info{border-radius:18px;padding:22px 24px;color:var(--text-muted);margin-top:12px}.info.error{color:var(--red)}@keyframes fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 520px){.question{font-size:1.25rem}.section-title{font-size:1.6rem}}
