@import url('https://fonts.googleapis.com/css2?family=Alexandria:wght@400;500;600;700;800&display=swap');
:root{color-scheme:light;--bg:#f3f4f8;--surface:#fff;--ink:#21273b;--muted:#69718a;--line:#e3e5ee;--primary:#6955d8;--pale:#f0edfc;--green:#147c61;--green-bg:#e9f7f0;--red:#b84151;--red-bg:#fff0f1;--amber:#95620c;--shadow:0 14px 45px #29304c08;--scale:1}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:calc(16px * var(--scale))/1.85 Alexandria,"Segoe UI",sans-serif}body.dark{color-scheme:dark;--bg:#101626;--surface:#192238;--ink:#ecedf8;--muted:#aeb8d0;--line:#303a51;--primary:#b4a5ff;--pale:#2b2850;--green:#85dbb8;--green-bg:#193c35;--red:#ffacb7;--red-bg:#462735;--amber:#f1ca77;--shadow:0 14px 45px #0002}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:10px 17px;line-height:1.65;transition:background .15s,transform .15s,border .15s}button:active{transform:scale(.98)}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--primary);outline-offset:4px}a{color:var(--primary)}header{max-width:1360px;margin:auto;min-height:99px;padding:18px 44px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand strong{font-size:21px}.brand small{display:block;color:var(--muted);font-size:12px;letter-spacing:.5px}.brand-icon{display:grid;place-items:center;color:white;background:#7462df;border-radius:15px;width:48px;height:48px;font-size:35px;box-shadow:0 5px 0 #5a47b5}nav{display:flex;gap:8px}.nav{background:transparent;border:0;color:var(--muted);font-size:14px;padding:10px 18px}.nav.active{background:var(--pale);color:var(--primary);font-weight:600}.header-actions{display:flex;gap:8px;align-items:center}.icon{padding:6px 12px;font-size:22px;background:transparent;border:0}.account{font-size:14px}main{max-width:1256px;min-height:70vh;margin:auto;padding:35px 40px 45px}h1,h2,h3,p{margin:0}h1{font-size:clamp(28px,3.3vw,42px);line-height:1.6;letter-spacing:-1px}h2{font-size:23px;line-height:1.6}h3{font-size:17px}.muted{color:var(--muted)}.eyebrow{font-size:13px;font-weight:600;color:#a7e6c4;display:flex;align-items:center;gap:8px}.dot{width:7px;height:7px;border-radius:100%;background:currentColor}.hero{position:relative;isolation:isolate;overflow:hidden;border-radius:26px;background:#202b47;color:#fff;padding:36px 40px;display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:25px;min-height:325px}.hero:before{content:"";position:absolute;width:450px;height:450px;left:-150px;top:-230px;border:70px solid #ffffff04;border-radius:50%;z-index:-1}.hero h1{margin:12px 0 9px}.hero h1 span{color:#b6adff}.hero p{color:#c2cbe1;max-width:550px;font-size:15px}.hero .primary{margin-top:23px}.primary{background:#7762e8;color:#fff;border-color:#7762e8;font-weight:600;box-shadow:0 4px 0 #513bb4}.primary:hover{background:#6851d5}.secondary{background:var(--pale);color:var(--primary);border-color:transparent}.review-btn{background:var(--green-bg);color:var(--green);border-color:transparent}.hero-meta{font-size:12px;color:#c2cbe1;margin-inline-start:13px}.orbit{position:relative;height:240px;display:grid;place-items:center}.orb-ring{position:absolute;width:228px;height:228px;border:1px dashed #9c9dd64d;border-radius:100%;transform:rotate(-15deg)}.orb-ring:after{content:"";position:absolute;inset:27px;border:1px solid #b7b5e925;border-radius:100%}.orb-core{width:128px;height:128px;border-radius:35px;transform:rotate(-10deg);background:linear-gradient(135deg,#a293ff,#6651d0);display:grid;place-items:center;box-shadow:0 20px 65px #080f4877,inset 0 0 0 8px #ffffff12}.orb-core svg{width:80px;height:80px;transform:rotate(10deg)}.float{position:absolute;background:#ffffff10;border:1px solid #ffffff20;backdrop-filter:blur(9px);border-radius:13px;padding:9px 14px;font-size:12px;color:#e9eaff}.float.one{top:3px;right:5px}.float.two{bottom:5px;left:0}.spark{position:absolute;color:#d5cdff;font-size:26px;left:35px;top:20px}.spark.two{right:35px;bottom:30px;color:#b0e6c7}.overview{display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:center;padding:25px 0;border-bottom:1px solid var(--line);gap:28px}.overview>div+div{border-inline-start:1px solid var(--line);padding-inline-start:28px}.stat-value{font-size:29px;font-weight:700;line-height:1.5}.stat-label{font-size:13px;color:var(--muted)}.stat-row{display:flex;gap:12px;align-items:center}.mini-symbol{width:40px;height:40px;background:var(--pale);border-radius:12px;display:grid;place-items:center;color:var(--primary);font-size:21px}.progress{height:7px;background:var(--line);border-radius:10px;overflow:hidden}.progress>i{display:block;background:#8c78ef;height:100%;border-radius:10px;transition:width .35s}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:28px 0 18px}.section-head p{font-size:14px;color:var(--muted)}.text-btn{border:0;background:transparent;color:var(--primary);padding:5px 0;font-size:14px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:25px}.chapters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.chapter{display:flex;align-items:center;gap:16px;text-align:right;padding:17px 18px;background:var(--surface);box-shadow:var(--shadow);border-radius:17px;position:relative}.chapter:hover{border-color:var(--primary)}.chapter-num{background:var(--pale);color:var(--primary);font-size:20px;font-weight:600;border-radius:13px;width:46px;height:48px;display:grid;place-items:center;flex-shrink:0}.chapter-info{flex:1;min-width:0}.chapter h3{font-size:15px}.chapter small{font-size:12px;color:var(--muted)}.chapter .progress{margin-top:8px;height:4px}.chapter .arrow{color:var(--muted)}.aside-card{border:1px solid var(--line);border-radius:20px;padding:22px;background:var(--surface);margin-bottom:16px}.aside-card p{font-size:13px;color:var(--muted);margin:8px 0 15px}.aside-card .full{width:100%}.aside-card.green{background:var(--green-bg);border-color:transparent}.aside-card.green h3{color:var(--green)}.step{display:flex;gap:10px;margin:13px 0;font-size:13px}.step b{color:var(--primary);font-size:16px}.tag{display:inline-block;font-size:12px;color:var(--primary);background:var(--pale);padding:3px 10px;border-radius:7px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0}.toolbar input{flex:1;min-width:180px}input,select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:11px 14px;max-width:100%}.quiz-shell{max-width:850px;margin:auto}.quiz-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;gap:10px}.quiz-top .muted{font-size:13px}.quiz-progress{margin-bottom:27px}.quiz-card{background:var(--surface);border:1px solid var(--line);border-radius:23px;padding:28px 33px;box-shadow:var(--shadow)}.question-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:20px}.question{font-size:23px;font-weight:600;line-height:1.9;margin:16px 0 22px}.figure{margin:14px 0 22px;padding:12px;background:#fff;border-radius:15px;text-align:center;border:1px solid #ddd}.figure img{max-width:100%;max-height:340px;object-fit:contain;display:block;margin:auto}.figure button{color:#4b3d9f;background:#f4f1ff;font-size:12px;margin-top:9px;border:0}.figure-caption{color:#61657a;font-size:12px;display:block}.options{display:grid;gap:12px}.option{display:flex;align-items:center;gap:14px;text-align:right;border-radius:13px;padding:15px 18px;min-height:65px;font-size:17px}.option .letter{border:1px solid var(--line);width:31px;height:31px;flex-shrink:0;border-radius:9px;display:grid;place-items:center;font-size:13px;color:var(--muted)}.option:hover:not(:disabled){background:var(--pale);border-color:var(--primary)}.option.correct{background:var(--green-bg);border-color:var(--green);color:var(--green);opacity:1}.option.wrong{background:var(--red-bg);border-color:var(--red);color:var(--red);opacity:1}.option.selected{border-width:2px}.feedback{margin-top:20px;padding:20px;background:var(--green-bg);border-radius:15px;color:var(--green);font-size:16px}.feedback.wrong{background:var(--red-bg);color:var(--red)}.feedback p{margin:7px 0}.feedback small{color:var(--muted);font-size:13px}.quiz-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:23px;flex-wrap:wrap}.quiz-actions small{font-size:12px;color:var(--muted)}.fill-form{display:flex;gap:10px}.fill-form input{flex:1;min-width:0}.results{text-align:center;padding:32px 20px}.result-ring{margin:22px auto;width:160px;height:160px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#8d78ed calc(var(--pct)*1%),var(--line) 0);position:relative}.result-ring:before{content:"";position:absolute;inset:11px;border-radius:50%;background:var(--surface)}.result-ring strong{position:relative;font-size:39px}.result-columns{display:flex;justify-content:center;gap:35px;margin:20px 0}.result-columns strong{font-size:23px;display:block}.result-columns small{color:var(--muted)}.empty{border:1px dashed var(--line);border-radius:19px;padding:35px;text-align:center;background:var(--surface)}.empty .symbol{font-size:36px;color:var(--primary)}.empty p{color:var(--muted);margin:8px auto 18px;font-size:14px}.history{width:100%;border-collapse:collapse;background:var(--surface)}.history th,.history td{padding:16px;text-align:right;border-bottom:1px solid var(--line);font-size:14px}.history th{color:var(--muted);font-weight:400}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:15px}.chart{height:200px;display:flex;align-items:flex-end;gap:16px;padding:20px 10px 35px;overflow:auto}.bar{flex:1;min-width:42px;background:linear-gradient(#a596f7,#7560da);border-radius:9px 9px 2px 2px;position:relative;min-height:3px}.bar span{position:absolute;top:-30px;width:100%;text-align:center;font-size:13px}.bar small{position:absolute;bottom:-30px;white-space:nowrap;left:50%;transform:translateX(-50%);font-size:11px;color:var(--muted)}.library-item{padding:20px 0;border-bottom:1px solid var(--line)}.library-item summary{cursor:pointer;list-style:none;display:flex;gap:13px;align-items:baseline}.library-item summary strong{font-size:16px}.library-item p{padding:15px 35px;color:var(--green)}.library-item .text-btn{font-size:12px;margin-inline-start:35px}footer{max-width:1256px;padding:20px 40px;margin:auto;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;gap:20px;justify-content:space-between}dialog{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:23px;width: min(600px,94vw);max-height:90dvh;padding:30px;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#0c1428aa;backdrop-filter:blur(5px)}.close{position:absolute;left:12px;top:8px;border:0;background:transparent;font-size:28px}.modal-title{margin-bottom:18px;padding-inline-end:20px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0}.setting-row label{font-size:15px}.seg{display:flex;gap:6px;flex-wrap:wrap}.seg button{font-size:13px}.seg button[aria-pressed=true]{background:var(--pale);color:var(--primary);border-color:var(--primary)}.modal-figure{max-width:100%;display:block;margin:auto;background:white}.fine{font-size:13px;color:var(--muted);margin-top:15px}.source-img{width:100%;background:white}.audit{font-size:14px;padding:14px;background:var(--pale);border-radius:12px}.badge-list{display:flex;gap:12px;flex-wrap:wrap;margin-top:15px}.badge{padding:18px;border-radius:15px;background:var(--surface);border:1px solid var(--line);flex:1;min-width:160px}.badge.locked{opacity:.55}.badge span{display:block;font-size:30px}.badge p{font-size:13px;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:var(--bg);border-radius:13px;padding:12px 22px;opacity:0;pointer-events:none;transition:.2s;z-index:10;max-width:90vw;font-size:14px}#toast.show{opacity:1;transform:translate(-50%,0)}.confetti{position:fixed;top:-20px;width:9px;height:14px;z-index:20;animation:fall 1.8s ease-in forwards}@keyframes fall{to{transform:translateY(100vh) rotate(700deg);opacity:0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(min-width:1400px){main{padding-top:40px}}@media(max-width:1000px){header{padding:16px 25px;gap:12px}.nav{padding:9px 12px}main{padding:25px}.layout{grid-template-columns:1fr 255px}.chapters{grid-template-columns:1fr}.hero{grid-template-columns:1.5fr 1fr;padding:28px}.hero-meta{display:block;margin:10px 0 0}.orb-ring{width:190px;height:190px}.float.one{right:-12px}.float.two{left:-14px}}@media(max-width:700px){header{padding:14px 18px;flex-wrap:wrap;gap:15px}.brand strong{font-size:18px}.brand-icon{width:39px;height:39px;font-size:28px}.brand small{font-size:10px}.header-actions{margin-inline-start:auto}.account{padding:7px 10px}.account span{display:none}nav{order:3;width:100%;justify-content:space-between;gap:0}.nav{flex:1;font-size:13px;padding:9px}.icon{padding:4px 9px}main{padding:20px 17px 30px}.hero{grid-template-columns:1fr;min-height:0;padding:25px;gap:0}.hero h1{font-size:29px}.hero p{font-size:14px}.orbit{display:none}.hero .primary{width:100%;margin-top:20px}.hero-meta{text-align:center}.overview{gap:14px;padding:20px 0;grid-template-columns:1.2fr 1fr 1fr}.overview>div+div{padding-inline-start:14px}.stat-row{gap:7px}.mini-symbol{display:none}.stat-value{font-size:23px}.stat-label{font-size:11px}.layout{grid-template-columns:1fr;gap:5px}.chapters{grid-template-columns:1fr}.chapter{padding:15px}.chapter h3{font-size:16px}.chapter small{font-size:13px}.aside{display:grid;grid-template-columns:1fr;gap:0}.aside-card{padding:20px}.section-head h2{font-size:21px}.quiz-card{padding:22px 18px}.question{font-size:21px}.question-meta{font-size:12px;gap:5px}.option{font-size:16px;padding:13px 12px}.quiz-top .muted{font-size:12px}.quiz-actions .primary{flex:1}.quiz-actions small{width:100%;order:3}.fill-form{flex-direction:column}.figure{padding:8px}.figure img{max-height:300px}footer{padding:18px;font-size:11px;flex-direction:column;gap:5px}dialog{padding:25px 20px}.history td,.history th{font-size:14px;padding:14px 12px}.toolbar{align-items:stretch}.toolbar select{flex:1}.result-columns{gap:20px}.result-columns small{font-size:12px}.badge{min-width:130px;padding:14px}.setting-row{flex-wrap:wrap}} 

/* Readability at the saved font scale. */ .stat-label,.fine,.aside-card p,.chapter small,.question-meta,.quiz-top .muted,.feedback small,.figure-caption{font-size:calc(14px * var(--scale))}.hero p{font-size:calc(16px * var(--scale))}.memory-cue{font-size:calc(15px * var(--scale));line-height:1.9}.figure button,.quiz-actions small{font-size:14px}@media(max-width:700px){.overview{grid-template-columns:1fr 1fr}.overview>div:first-child{grid-column:1/-1}.overview>div+div{border-inline-start:0;padding-inline-start:0}.overview>div:last-child{border-inline-start:1px solid var(--line);padding-inline-start:14px}.stat-label,.chapter small,.quiz-top .muted,.question-meta,.result-columns small,.nav{font-size:calc(14px * var(--scale))}.hero p{font-size:calc(16px * var(--scale))}.stat-value{font-size:27px}}

.chart{height:180px;gap:24px}.bar{flex:0 0 70px}.option:disabled:not(.correct):not(.wrong){opacity:.85}
