.home-view,.detail-view{gap:18px;display:grid}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:.78rem;font-weight:800}.tag-row,.score-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip,.tag-row span{border:1px solid var(--border);background:var(--surface);min-height:30px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;padding:5px 10px;font-size:.84rem;font-weight:750;display:inline-flex}.chip{cursor:pointer}.chip.active{background:var(--primary-soft);color:var(--primary-strong);border-color:#0000}.back-link{width:fit-content;color:var(--muted);align-items:center;gap:8px;font-weight:800;display:inline-flex}.study-panel,.state-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.study-panel{gap:16px;padding:20px;display:grid}.panel-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.panel-heading h2{letter-spacing:0;margin:0;font-size:1.25rem;line-height:1.16}.ghost-button,.soft-button,.primary-button{border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 14px;font-weight:850;display:inline-flex}.ghost-button{border:1px solid var(--border);color:var(--muted);background:0 0}.soft-button{border:1px solid var(--border);background:var(--surface);color:var(--text)}.primary-button{background:var(--primary);color:#fff;border:1px solid #0000}:root[data-theme=dark] .primary-button{color:#08211f}.icon-button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:40px;height:40px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.icon-button:disabled,.primary-button:disabled{cursor:not-allowed;opacity:.45}.progress-strip{background:var(--border);border-radius:999px;height:10px;overflow:hidden}.progress-strip span{border-radius:inherit;background:var(--primary);min-width:0;height:100%;transition:width .18s;display:block}.score-line{justify-content:space-between}.score-line span{color:var(--muted)}.score-line strong{color:var(--primary-strong)}.result-banner{border:1px solid color-mix(in srgb, var(--primary) 38%, var(--border));border-radius:var(--radius);background:var(--primary-soft);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.result-banner span{color:var(--muted)}.state-panel{min-height:120px;color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex}.state-panel.error{border-color:color-mix(in srgb, var(--bad) 50%, var(--border));background:var(--bad-soft);color:var(--bad)}.loader{border:3px solid var(--border);border-top-color:var(--primary);border-radius:999px;width:22px;height:22px;animation:.8s linear infinite spin}@media (width<=560px){.study-panel{padding:14px}.panel-heading,.result-banner{flex-direction:column;align-items:flex-start}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#f6f8fb;--surface:#fff;--surface-strong:#eef6f5;--text:#1e2430;--muted:#657084;--border:#dbe3ea;--border-strong:#b8c8d5;--primary:#0f8f8a;--primary-strong:#08736f;--primary-soft:#dff4f2;--accent:#ff7a59;--accent-soft:#fff0e9;--good:#16834a;--good-soft:#e4f7eb;--bad:#c93d35;--bad-soft:#feeceb;--shadow:0 14px 40px #2c3e501c;--radius:8px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#11151b;--surface:#191f29;--surface-strong:#172d31;--text:#f2f5f7;--muted:#a4afbd;--border:#303b49;--border-strong:#506071;--primary:#48c7bf;--primary-strong:#73ddd7;--primary-soft:#183d40;--accent:#ff9b78;--accent-soft:#3d2924;--good:#78d99d;--good-soft:#173829;--bad:#ff8b82;--bad-soft:#43221f;--shadow:0 18px 48px #00000052}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{background:linear-gradient(180deg, var(--surface-strong) 0, transparent 320px), var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}.theme-switcher button:focus-visible,.mode-tabs button:focus-visible,.quiz-card:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 38%, transparent);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}.theme-switcher{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:center;gap:4px;padding:4px;display:inline-flex}.theme-switcher button{min-width:36px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.theme-switcher button.active{background:var(--primary-soft);color:var(--primary-strong)}@media (width<=560px){.theme-switcher button{min-width:32px;height:32px}}.app-shell{flex-direction:column;width:min(1120px,100% - 32px);min-height:100vh;margin:0 auto;padding:20px 0 56px;display:flex}.app-shell main{flex:1}.topbar{justify-content:space-between;align-items:center;gap:16px;min-height:48px;margin-bottom:22px;display:flex}.brand{align-items:center;gap:10px;font-size:1.15rem;font-weight:850;display:inline-flex}.brand-mark{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:38px;height:38px;color:var(--primary);box-shadow:var(--shadow);justify-content:center;align-items:center;display:inline-flex}.app-footer{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-top:40px;padding-top:20px;font-size:.92rem;display:flex}.footer-link{color:var(--primary);align-items:center;gap:7px;font-weight:750;display:inline-flex}.footer-link:hover{color:var(--primary-strong);text-underline-offset:3px;text-decoration:underline}@media (width<=880px){.app-shell{width:min(100% - 24px,720px)}}@media (width<=560px){.app-shell{width:min(100% - 18px,420px);padding-top:12px}.topbar{align-items:flex-start}.brand{min-height:42px}.app-footer{text-align:center}}.toolbar{grid-template-columns:minmax(220px,1fr) 190px 160px;align-items:center;gap:10px;display:grid}.search-field,.select-field{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:center;min-height:48px;display:flex}.search-field{gap:10px;padding:0 14px}.search-field svg{color:var(--muted);flex:none}.search-field input,.select-field select{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0}.search-field input::placeholder{color:color-mix(in srgb, var(--muted) 74%, transparent)}.select-field{gap:8px;padding:0 12px}.select-field span{color:var(--muted);font-size:.86rem;font-weight:700}.tag-filter,.quiz-card-meta,.result-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tag-filter{min-height:42px;color:var(--muted)}.result-line{justify-content:flex-end}.result-line span{color:var(--muted)}.quiz-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.quiz-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:12px;min-height:236px;padding:18px;transition:border-color .16s,transform .16s,box-shadow .16s;display:grid;box-shadow:0 8px 24px #2634460f}.quiz-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.quiz-card-top{color:var(--primary-strong);justify-content:space-between;align-items:center;gap:12px;font-size:.86rem;font-weight:800;display:flex}.quiz-card h2{letter-spacing:0;margin:0;font-size:1.25rem;line-height:1.16}.quiz-card p{color:var(--muted);margin:0;line-height:1.5}.quiz-card-meta span{color:var(--text);font-size:.88rem;font-weight:750}.pagination{justify-content:center;align-items:center;gap:10px;margin-top:4px;display:flex}.pagination button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:40px;height:40px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.pagination button:disabled{cursor:not-allowed;opacity:.45}@media (width<=880px){.toolbar,.quiz-grid{grid-template-columns:1fr}}.flashcard{border-radius:var(--radius);cursor:pointer;perspective:1200px;background:0 0;border:0;width:min(100%,680px);min-height:280px;margin:0 auto;display:block;position:relative}.flashcard-face{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-strong);box-shadow:var(--shadow);backface-visibility:hidden;transform-style:preserve-3d;align-content:center;place-items:center;gap:12px;padding:28px;transition:transform .22s;display:grid;position:absolute;inset:0}.flashcard-front{transform:rotateY(0)}.flashcard-back{background:var(--accent-soft);transform:rotateY(180deg)}.flashcard.flipped .flashcard-front{transform:rotateY(-180deg)}.flashcard.flipped .flashcard-back{transform:rotateY(0)}.flashcard small{color:var(--muted);text-transform:uppercase;font-size:.82rem;font-weight:850}.flashcard strong{overflow-wrap:anywhere;letter-spacing:0;text-align:center;max-width:560px;font-size:clamp(1.35rem,4vw,2.5rem);line-height:1.15}.flashcard em{color:var(--muted);text-align:center;font-style:normal}.flashcard-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}@media (width<=560px){.flashcard{min-height:320px}.flashcard-actions{grid-template-columns:40px 1fr 1fr 40px;width:100%;display:grid}.flashcard-actions .soft-button,.flashcard-actions .primary-button{padding:0 8px}}.question-block{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 90%, var(--bg));gap:14px;padding:18px;display:grid}.question-title{display:block}.question-title h3{letter-spacing:0;margin:0;font-size:1.05rem;line-height:1.45}.choice-list,.true-false-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.choice-button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:54px;color:var(--text);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.choice-button span{overflow-wrap:anywhere;min-width:0}.choice-button.selected{border-color:var(--primary)}.choice-button.correct{border-color:color-mix(in srgb, var(--good) 52%, var(--border));background:var(--good-soft);color:var(--good)}.choice-button.wrong{border-color:color-mix(in srgb, var(--bad) 52%, var(--border));background:var(--bad-soft);color:var(--bad)}.explanation{border-radius:var(--radius);margin:0;padding:12px 14px;line-height:1.5}.explanation.correct{background:var(--good-soft);color:var(--good)}.explanation.wrong{background:var(--bad-soft);color:var(--bad)}.short-answer-form{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.short-answer-form input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--text);outline:0;padding:0 12px}.short-answer-form input::placeholder{color:color-mix(in srgb, var(--muted) 74%, transparent)}@media (width<=880px){.choice-list,.true-false-list,.short-answer-form{grid-template-columns:1fr}}.finish-page{gap:16px;display:grid}.finish-hero{border:1px solid color-mix(in srgb, var(--primary) 42%, var(--border));border-radius:var(--radius);background:var(--primary-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px;display:grid}.finish-hero h3,.finish-section-heading h3{letter-spacing:0;margin:0;font-size:1.25rem;line-height:1.2}.finish-hero p{color:var(--text);margin:8px 0 0;line-height:1.5}.finish-score{border:2px solid var(--primary);background:var(--surface);width:104px;height:104px;color:var(--primary-strong);border-radius:999px;align-content:center;place-items:center;display:inline-grid}.finish-score strong{font-size:1.65rem;line-height:1}.finish-score span{color:var(--muted);margin-top:4px;font-size:.9rem;font-weight:850}.finish-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.finish-metric{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 92%, var(--bg));gap:5px;min-height:76px;padding:12px;display:grid}.finish-metric span,.finish-section-heading span,.finish-review-top span,.finish-answer-grid span{color:var(--muted);font-size:.84rem;font-weight:850}.finish-metric strong{overflow-wrap:anywhere;align-self:end;font-size:1.15rem;line-height:1.15}.finish-metric.good strong{color:var(--good)}.finish-metric.bad strong{color:var(--bad)}.finish-insight{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.finish-insight span{color:var(--muted);font-size:.86rem;font-weight:850}.finish-insight strong{color:var(--text);text-align:right}.finish-section{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 94%, var(--bg));gap:12px;padding:16px;display:grid}.finish-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.finish-section-heading span{white-space:nowrap}.time-chart{gap:8px;display:grid}.time-row{grid-template-columns:70px 116px minmax(80px,1fr) 74px;align-items:center;gap:10px;min-height:34px;display:grid}.time-question,.time-type{color:var(--muted);font-size:.84rem;font-weight:850}.time-track{background:var(--border);border-radius:999px;height:10px;overflow:hidden}.time-track span{border-radius:inherit;background:var(--primary);min-width:4px;height:100%;display:block}.time-row.wrong .time-track span{background:var(--bad)}.time-row strong{color:var(--text);text-align:right;font-size:.88rem}.finish-note{color:var(--muted);margin:0}.finish-review-list{gap:10px;display:grid}.finish-review-item{border:1px solid color-mix(in srgb, var(--bad) 36%, var(--border));border-radius:var(--radius);background:var(--surface);gap:10px;padding:12px;display:grid}.finish-review-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.finish-review-top strong{color:var(--bad);font-size:.86rem}.finish-review-item p{margin:0;line-height:1.5}.finish-answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.finish-answer-grid div{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 90%, var(--bg));gap:4px;padding:10px;display:grid}.finish-answer-grid strong{overflow-wrap:anywhere}.finish-explanation{border-radius:var(--radius);background:var(--accent-soft);color:var(--text);padding:10px}.finish-actions{justify-content:flex-end;display:flex}@media (width<=560px){.finish-hero,.finish-metrics,.finish-answer-grid{grid-template-columns:1fr}.finish-hero{justify-items:start}.finish-score{width:92px;height:92px}.finish-insight,.finish-section-heading{flex-direction:column;align-items:flex-start}.finish-insight strong{text-align:left}.time-row{grid-template-columns:62px minmax(80px,1fr) 64px}.time-type{display:none}.finish-actions .primary-button{width:100%}}.question-list,.question-flow{gap:14px;display:grid}.quiz-nav{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:10px;display:grid}.quiz-nav span{min-height:40px;color:var(--muted);text-align:center;justify-content:center;align-items:center;font-size:.92rem;font-weight:850;display:inline-flex}.quiz-nav .soft-button,.quiz-nav .primary-button{width:100%}.quiz-nav .primary-button{justify-self:stretch}.quiz-nav button:disabled{cursor:not-allowed;opacity:.45}.quiz-timer{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);justify-content:center;align-items:center;gap:8px;min-height:40px;margin-left:auto;padding:0 12px;display:inline-flex}.quiz-timer:before{content:"";background:var(--muted);border-radius:999px;width:8px;height:8px}.quiz-timer strong{min-width:76px;color:var(--text);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:1.08rem;font-weight:900;line-height:1}.quiz-timer.running{border-color:color-mix(in srgb, var(--primary) 42%, var(--border));background:var(--primary-soft)}.quiz-timer.running:before{background:var(--primary-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 18%, transparent)}.quiz-timer.stopped{background:color-mix(in srgb, var(--surface) 92%, var(--border))}.quiz-intro{text-align:center;align-content:center;justify-items:center;gap:16px;min-height:220px;padding:18px 0 8px;display:grid}.quiz-intro h3{letter-spacing:0;margin:0;font-size:1.34rem;line-height:1.18}.quiz-intro-meta{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.quiz-intro-meta span{border:1px solid var(--border);min-height:30px;color:var(--muted);border-radius:999px;align-items:center;padding:5px 10px;font-size:.84rem;font-weight:800;display:inline-flex}.quiz-intro .primary-button{min-width:min(100%,240px)}.review-panel{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 90%, var(--primary-soft));gap:12px;padding:16px;display:grid}.review-panel h3{letter-spacing:0;margin:0;font-size:1.08rem}.review-note{color:var(--muted);margin:0}.review-list{gap:8px;display:grid}.review-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:46px;color:var(--text);text-align:left;cursor:pointer;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.review-item span:nth-child(2){overflow-wrap:anywhere;min-width:0}.review-number{background:var(--primary-soft);width:28px;height:28px;color:var(--primary-strong);border-radius:999px;justify-content:center;align-items:center;font-size:.86rem;font-weight:900;display:inline-flex}.review-item strong{font-size:.84rem}.review-item strong.wrong{color:var(--bad)}.review-item strong.skipped{color:var(--accent)}@media (width<=560px){.quiz-timer{width:100%;margin-left:0}.panel-heading .ghost-button{width:100%}.quiz-intro{min-height:180px}.quiz-nav{grid-template-columns:1fr 1fr}.quiz-nav span{grid-area:1/1/auto/-1}.quiz-nav .soft-button,.quiz-nav .primary-button{width:100%}.quiz-nav .primary-button{justify-self:stretch}.review-item{grid-template-columns:34px minmax(0,1fr)}.review-item strong{grid-column:2}}.detail-header{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr);align-items:end;gap:24px;padding:28px;display:grid}.detail-header h1{letter-spacing:0;max-width:760px;margin:4px 0 0;font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.03}.detail-header p:not(.eyebrow){color:var(--muted)}.mode-tabs{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:center;gap:4px;width:fit-content;padding:4px;display:inline-flex}.mode-tabs button{min-width:84px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0 14px;font-weight:800;display:inline-flex}.mode-tabs button.active{background:var(--primary-soft);color:var(--primary-strong)}@media (width<=880px){.detail-header{grid-template-columns:1fr;align-items:start;padding:22px}}@media (width<=560px){.detail-header h1{font-size:2.25rem}}
