@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Poppins:wght@400;500;600;700&display=swap');

:root{--blue:#4f82ed;--blue-dark:#3868ce;--navy:#17243b;--muted:#758197;--border:#e6ecf4;--surface:#fff;--page:#eff6ff;--radius:19px;--shadow:0 2px 0 #172e4c06,0 3px 12px #203d6b04;font-family:Poppins,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--navy);background:var(--page);font-size:14px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button,a{transition:background .16s,border-color .16s,box-shadow .16s,color .16s}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a7c3ff;outline-offset:3px}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:Fredoka,Poppins,sans-serif;letter-spacing:.05px}h1{font-size:30px;line-height:1.25;font-weight:600}h2{font-size:25px;line-height:1.3;font-weight:600}h3{font-size:19px;line-height:1.35;font-weight:600}h4{font-size:13px;font-weight:600}p{color:var(--muted);line-height:1.8}small{font-size:11px}.icon{display:inline-block;flex-shrink:0;width:20px;height:20px;vertical-align:middle}.muted{color:var(--muted)}
/* Simple, consistent navigation. */
.sidebar{position:fixed;inset:0 auto 0 0;width:208px;padding:28px 14px 0;background:white;border-right:1px solid #e1e8f2;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:8px;margin:0 7px 33px;color:var(--blue);font-size:18px;font-weight:700;letter-spacing:-.7px}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#eaf1ff}.brand-mark .icon{width:23px;height:23px;stroke-width:2}.brand-light{font-weight:500;color:#7294d1}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav>a{display:flex;align-items:center;gap:12px;min-height:43px;padding:10px 13px;border-radius:10px;font-size:12px;font-weight:500;color:#69758a}.sidebar nav>a:hover{background:#f6f9fe;color:#3e6197}.sidebar nav>a.active{background:#edf4ff;color:var(--blue);font-weight:600}.sidebar nav .icon{width:19px;height:19px}.nav-label{font-size:9px;font-weight:600;letter-spacing:1.3px;color:#98a3b2;margin:24px 13px 8px}.nav-count{margin-left:auto;border-radius:5px;background:#e7effe;color:#5279ba;padding:1px 6px;font-size:10px;font-weight:500}.sidebar-bottom{margin-top:auto;padding-top:35px}.workspace-note{display:flex;align-items:center;gap:11px;margin:0 10px 22px;color:#8293ab;font-size:11px}.workspace-note>.icon{width:19px}.workspace-note small{display:block;margin-top:4px;font-size:9px;color:#a0acbc}.profile{display:flex;gap:10px;align-items:center;border-top:1px solid var(--border);margin-top:17px;padding:18px 6px;font-size:11px;font-weight:500}.profile small{display:block;color:#96a2b4;font-size:9px;margin-top:3px}.profile>.icon{margin-left:auto;width:14px;color:#9dabc0}.avatar{width:32px;height:32px;flex-shrink:0;background:#eaf1ff;color:#6589cc;border:1px solid #dbe7fb;display:grid;place-items:center;border-radius:11px;font-size:12px;font-weight:500}.main{margin-left:208px;min-height:100vh}.topbar{height:72px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2ebf7;background:#f6faff}.breadcrumb{display:flex;gap:13px;align-items:center;color:#93a0b3;font-size:11px}.breadcrumb>.icon{width:12px;height:12px;color:#a9b6c9}.breadcrumb>span{color:#5b6d87;font-weight:500}.top-right{display:flex;align-items:center;gap:22px}.save-status{display:flex;gap:7px;align-items:center;font-size:10px;color:#91a0b3}.save-status i{width:5px;height:5px;background:#79b69d;border-radius:50%}.mini{height:30px;width:30px;font-size:10px;border-radius:10px}main{padding:30px 36px 42px;max-width:1420px;margin:0 auto}.app-footer{display:flex;justify-content:space-between;margin:0 36px;padding:18px 0;border-top:1px solid #e0eaf7;color:#95a5ba;font-size:9px}.app-footer>span:first-child{font-weight:600}
/* Shared controls and surfaces. */
.card{background:white;border:1px solid #eaf0f7;border-radius:var(--radius);box-shadow:var(--shadow)}.primary,.secondary,.white{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:10px;padding:11px 16px;min-height:43px;font-size:11px;font-weight:500;line-height:1.5}.primary{background:var(--blue);color:white;border-color:#4372d6;box-shadow:0 2px 0 #3866c8}.primary:hover{background:#4277e4}.primary:active{box-shadow:none;transform:translateY(1px)}.secondary{background:white;border-color:#dfe7f1;color:#63748d;box-shadow:0 1px 0 #1c315509}.secondary:hover{border-color:#afc8f4;background:#f7faff}.white{background:white;color:var(--blue);border-color:#dce8fc}.primary .icon,.secondary .icon,.white .icon{width:16px;height:16px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:none;border:0;color:#5d83bf;font-size:11px;font-weight:500;padding:7px 0}.text-button .icon{width:14px;height:14px}.text-button:hover{color:var(--blue-dark)}.icon-button,.icon-link{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:7px;color:#95a4b9;background:transparent}.icon-button:hover,.icon-link:hover{background:#edf4ff;color:var(--blue)}.icon-button .icon,.icon-link .icon{width:17px;height:17px}.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.page-heading{position:relative;margin-bottom:26px}.eyebrow{font-size:9px;letter-spacing:1.35px;color:#91a3bd;font-weight:600;margin-bottom:9px}.page-heading p{font-size:12px;margin-top:8px}.page-heading>.primary,.page-heading>.secondary{position:absolute;right:0;top:28px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.section-top>.icon{color:#a0afc3;width:18px;height:18px}.section-top p{font-size:10px;margin-top:7px}.section-top a:not(.icon-link){display:inline-flex;align-items:center;gap:6px;color:#7a94bb;font-size:10px}.section-top a .icon{width:14px;height:14px}.chip{display:inline-flex;align-items:center;gap:5px;font-size:9px;padding:5px 9px;border-radius:7px;background:#f0f5fc;color:#8b9bb3;font-weight:500;line-height:1.6}.chip .icon{width:13px;height:13px}.footnote{font-size:10px;color:#96a3b6;line-height:1.9;margin-top:19px}.outside{margin:28px 0 16px}.outside>span{font-size:10px;color:#91a0b5}.outside p{font-size:11px;margin-top:6px}.full{width:100%;margin-top:18px}.notice{background:#f0f6ff;color:#7891b4;border:1px solid #e1ecfc;padding:15px;border-radius:10px;font-size:11px;line-height:1.9;margin:18px 0}.error{font-size:11px;color:#b06976}.empty{padding:45px 26px;text-align:center;line-height:1.8}.empty p{font-size:12px;margin:12px auto 25px;max-width:550px}.empty h2{font-size:25px}
/* Home: goal and review cards, a clear next session, and quick practice. */
.home-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.home-heading h1{font-size:27px}.home-heading p{font-size:11px;margin-top:6px}.streak-chip{display:inline-flex;align-items:center;gap:7px;color:#7794be;background:#e5efff;border:1px solid #d9e7ff;border-radius:9px;font-size:10px;padding:8px 11px}.streak-chip>.icon{width:15px;height:15px}.home-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(285px,1fr);gap:22px;align-items:start}.home-left,.home-right{display:flex;flex-direction:column;gap:20px}.goal-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.goal-card,.mistakes-card{padding:20px 22px;min-height:200px}.goal-card h3,.mistakes-card h3{font-size:18px}.goal-content{display:flex;align-items:center;gap:21px;margin:15px 0 12px}.goal-ring{width:83px;height:83px;flex-shrink:0;border-radius:50%;padding:6px;background:conic-gradient(var(--blue) var(--progress),#f1f5fb 0)}.goal-ring>div{width:100%;height:100%;border-radius:50%;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center}.goal-ring strong{font-family:Fredoka,sans-serif;font-size:27px;line-height:1.1;font-weight:600}.goal-ring span{color:#a0aec1;font-size:10px;margin-top:3px}.goal-content>p{font-size:10px;color:#8d9bb0;line-height:1.8}.goal-content>p>strong{font-weight:500;color:#718096}.card-caption{font-size:9px;color:#9daabd}.mistakes-content{display:flex;align-items:center;gap:19px;margin:19px 0 22px}.mistakes-art{display:grid;place-items:center;width:65px;height:65px;background:#f2f6fc;border-radius:16px;color:#93a7c6}.mistakes-art .icon{width:39px;height:39px;stroke-width:1.25}.mistakes-content>div>strong{display:block;font-family:Fredoka,sans-serif;font-size:32px;line-height:1.1;font-weight:600}.mistakes-content>div>span{display:block;font-size:9px;color:#96a4b9;margin-top:5px}.subtle-link{display:inline-flex;align-items:center;gap:8px;color:#92a5c0;font-size:9px}.subtle-link .icon{width:13px;height:13px}.recommend{position:relative;overflow:hidden;padding:27px 29px;min-height:278px;border-color:#e0ebfc}.recommend-kicker{display:flex;align-items:center;gap:8px;color:#7a9ace;font-size:9px;letter-spacing:.8px;font-weight:500}.recommend-kicker>.icon{width:16px;height:16px;color:var(--blue)}.recommend h2{margin-top:14px;font-size:27px;max-width:360px}.recommend>p{font-size:11px;margin-top:10px;max-width:350px;position:relative;z-index:1}.tags{display:flex;gap:16px;flex-wrap:wrap;font-size:9px;color:#8b9db8;margin:17px 0 23px;position:relative;z-index:1}.tags>span{display:flex;align-items:center;gap:5px}.tags .icon{width:13px;height:13px}.recommend .primary{position:relative;z-index:1}.recommend-number{position:absolute;right:28px;top:52px;font-family:Fredoka,sans-serif;font-size:102px;line-height:1;color:#edf4ff;font-weight:600;user-select:none}.recommend-number>span{display:block;font-family:Poppins,sans-serif;font-size:9px;font-weight:400;line-height:1.8;text-align:right;color:#a9bddc;margin-top:16px}.mastery{padding:24px 26px}.mastery>.section-top h3{font-size:19px}.topic-row{display:flex;align-items:center;gap:13px;margin-top:24px}.topic-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;flex-shrink:0;background:#edf3ff;color:#799ce1}.topic-icon .icon{width:20px;height:20px;stroke-width:1.6}.t1{color:#9d98cf;background:#f1effb}.t2{color:#79aaa5;background:#edf7f5}.t3{color:#c3a275;background:#fcf5eb}.topic-row>div{min-width:0;flex:1}.topic-row strong{display:block;font-size:10px;font-weight:500;color:#73819a;margin-bottom:9px}.track{height:4px;background:#f0f4fa;border-radius:4px;overflow:hidden}.track>i{display:block;height:100%;border-radius:4px}.topic-row>b{font-size:11px;font-weight:500;color:#8b9bb1;min-width:33px;text-align:right}.mastery>.footnote{border-top:1px solid #eef2f8;padding-top:15px;font-size:9px}.progress-card{padding:22px 24px}.progress-total{display:flex;align-items:baseline;gap:10px;margin:22px 0 18px}.progress-total>strong{font-family:Fredoka,sans-serif;font-size:39px;font-weight:600;line-height:1}.progress-total>span{font-size:10px;color:#99a7bc}.progress-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;border-top:1px solid #eef2f8;padding-top:17px}.progress-metrics>div>span{display:block;font-size:8px;color:#96a5ba;margin-bottom:6px}.progress-metrics strong{font-size:14px;color:#6c83a5;font-weight:500}.chart{height:86px;display:flex;justify-content:space-between;align-items:flex-end;padding:0 3px 8px;margin:17px 0 22px;border-bottom:1px solid #edf2fa;background:repeating-linear-gradient(to top,transparent 0,transparent 32px,#f3f6fc 33px,transparent 34px)}.chart-column{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative;width:26px;height:100%}.chart-column>span{font-size:8px;color:#7596cd;margin-bottom:5px}.bar{width:18px;min-height:3px;max-height:62px;background:#cddffd;border-radius:4px 4px 0 0}.bar.today{background:#7ba2f2}.chart-column>small{position:absolute;bottom:-25px;font-size:8px;color:#9aa9bf}.activity-note{display:flex;align-items:center;gap:5px;margin-top:34px;color:#a0aec0;font-size:8px}.legend-dot{width:5px;height:5px;background:#a3bff2;border-radius:2px}.activity-note>strong{margin-left:auto;font-weight:400;color:#8d9fb9}.quick-practice{padding:22px 22px 11px}.quick-practice>.section-top{margin-bottom:14px}.quick-row{display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:0;text-align:left;border-top:1px solid #f0f4f9;padding:14px 0;color:var(--navy)}.quick-row:hover{background:#f8fbff}.quick-row-icon{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;background:#eff5ff;color:#85a5d8;border-radius:9px}.quick-row-icon>.icon{width:17px;height:17px}.quick-row>span:nth-child(2){flex:1;min-width:0}.quick-row strong{font-size:10px;font-weight:500;display:block;color:#627794}.quick-row small{display:block;font-size:8px;color:#a1aec1;margin-top:5px}.quick-row>.icon{width:14px;color:#b1bfd3}.library-link{display:flex;align-items:center;gap:9px;justify-content:center;padding:0 8px;color:#91a8c9;font-size:9px}.library-link>.icon{width:15px;height:15px}.library-link>.icon:last-child{margin-left:auto;width:13px}
/* Practice setup and question library. */
.practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.practice-card{display:flex;align-items:flex-start;flex-direction:column;padding:25px;min-height:275px}.quick-icon{display:grid;place-items:center;width:42px;height:42px;background:#edf4ff;border-radius:12px;color:#80a3dd}.quick-icon>.icon{width:23px;height:23px}.practice-card h2{font-size:22px;margin-top:22px}.practice-card p{font-size:11px;line-height:1.9;margin:12px 0 25px;flex:1}.practice-card:has([data-action="configure:Adaptive"]){border-color:#b7d0ff;background:#fcfdff}.resume{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 26px;margin:0 0 24px}.resume strong{font-size:12px;font-weight:500}.resume p{font-size:11px;margin-top:6px}.overlay{position:fixed;inset:0;z-index:40;background:#1e35563d;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:white;border:1px solid #eef3fa;border-radius:21px;padding:28px;width:490px;max-height:90vh;overflow:auto;box-shadow:0 15px 80px #1e35562a}.modal h2{margin:12px 0 9px;font-size:27px}.modal>p{font-size:12px;margin-bottom:19px}.modal .eyebrow{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label:not(.check):not(.file-label){display:flex;flex-direction:column;gap:9px;color:#788ba7;font-size:11px;margin:20px 0}input,select{border:1px solid #dfe8f4;border-radius:9px;min-width:0;min-height:43px;padding:11px 13px;color:#617591;background:white;font-size:11px}input::placeholder{color:#a4b2c7}input[type=checkbox]{accent-color:var(--blue);min-height:auto}fieldset{border:0;padding:0;margin:23px 0}legend{font-size:11px;color:#788ba7;margin-bottom:13px}.check{display:inline-flex;align-items:center;gap:7px;margin-right:15px;color:#8b9ab0;font-size:11px}.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:white;border:1px solid #e5edf8;padding:15px;border-radius:14px;margin-bottom:22px}.filters input{flex:1;min-width:200px}.filters select{max-width:310px}.filters>span{font-size:10px;color:#8ca0bc;white-space:nowrap}.library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.library-card{padding:23px;min-width:0;display:flex;flex-direction:column}.library-card>.section-top:first-child{align-items:flex-start}.library-card .chip{max-width:85%;white-space:normal;font-size:8px}.library-card>p{color:#546b8d;font-size:12px;margin:22px 0;flex:1}.library-card small{font-size:8px;color:#9babc1}.difficulty{display:inline-flex;align-items:center;justify-content:center;font-size:9px;color:#ab9a71;background:#fbf7eb;border-radius:6px;padding:4px 7px;line-height:1.5}.difficulty.Easy{color:#79a99c;background:#eff8f4}.difficulty.Hard{color:#b68ea3;background:#fbf2f7}.pagination{display:flex;align-items:center;justify-content:center;gap:22px;margin:28px 0;font-size:10px;color:#91a3bc}.pagination button:disabled{opacity:.4}.pdf-artwork{margin:20px 0;background:white;border-radius:4px;overflow-x:auto}.pdf-artwork img{display:block;width:100%;height:auto;min-width:500px}.artwork-zoom{display:flex;align-items:center;justify-content:flex-end;gap:5px;font-size:9px;color:#94a7c3;padding:9px 0 0}.artwork-zoom>.icon{width:12px;height:12px}.artwork-zoom:hover{color:var(--blue)}.library-card .pdf-artwork{flex:1;max-height:300px;overflow:auto;margin:22px 0}.library-card .pdf-artwork img{min-width:420px}.library-card .artwork-zoom{padding-right:6px}
/* Progress and review screens. */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.stat{padding:23px}.stat>div{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#93a3ba}.stat>strong{display:block;font-family:Fredoka,sans-serif;font-size:34px;font-weight:600;margin-top:13px;line-height:1.15}.stat>small{display:block;font-size:9px;color:#a5b1c3;margin-top:8px}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.data-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid #edf2f9;font-size:11px;color:#8294af}.data-row strong{font-weight:500;color:#7695c3}.session-list{padding:26px;margin-top:24px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;margin-top:18px;font-size:11px}td,th{padding:16px 12px;border-bottom:1px solid #edf2f9;text-align:left;white-space:nowrap}th{font-size:9px;font-weight:500;color:#97a8c1}td{color:#7c90ae}.review-item{padding:24px;margin:16px 0}.review-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font-size:12px;color:#6e86a9;line-height:1.8}.review-item summary::-webkit-details-marker{display:none}.review-item summary small{display:block;color:#9aabc2;font-size:9px;margin-bottom:7px}.review-item summary b>.icon{width:16px;height:16px;color:#a8b7ce}.review-item[open] summary b>.icon{transform:rotate(180deg)}.explanation{border-top:1px solid #e8eff9;margin-top:19px;padding-top:20px;font-size:12px;color:#6b83a4}.explanation>p{margin-bottom:12px}.explanation .pdf-artwork{margin-bottom:24px}.review-choices{margin:12px 0 25px}.review-choices>div{border:1px solid #e4ebf5;border-radius:9px;padding:15px 17px;margin:9px 0}.review-choices img{display:block;height:auto;max-width:100%}.mistake{font-size:11px;color:#ac987d}.settings-card{padding:29px;max-width:680px}.settings-card form{max-width:390px}.settings-card>p{font-size:11px;margin:14px 0 21px}.file-label{display:inline-flex;cursor:pointer}.settings-card .footnote{font-size:10px}hr{border:0;border-top:1px solid #eaf0f8;margin:29px 0}.community-icon{display:block;color:#8dabdc;margin-bottom:20px}.community-icon>.icon{width:48px;height:48px;stroke-width:1.25}.milestones{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:29px}
/* The focused test workspace. */
.test-shell{min-height:100vh;background:white;padding-bottom:115px}.test-header{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;padding:19px 35px;min-height:85px}.test-header>div:last-child{text-align:right}.test-brand{display:flex;align-items:center;gap:6px;font-size:10px;color:#88a1c6;margin-bottom:5px;font-weight:500}.test-brand>.icon{width:15px;height:15px}.test-header strong{font-family:Fredoka,sans-serif;font-size:17px;font-weight:500}.timer{font-size:13px;font-weight:500;color:#6a82a4;font-variant-numeric:tabular-nums}.test-rule{height:2px;background:#dce9fe}.test-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:54px;padding:8px 35px;border-bottom:1px solid #edf2f9;color:#99a9c0;font-size:10px}.test-toolbar>div{display:flex;align-items:center;gap:7px}.tool-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#f8faff;border:1px solid #e9eff9;border-radius:8px;padding:8px 11px;color:#8299bb;font-size:10px;min-height:34px}.tool-button>.icon{width:15px;height:15px}.tool-button:hover{background:#edf4ff;color:var(--blue)}.test-layout{display:grid;gap:35px;max-width:1280px;margin:38px auto;padding:0 35px}.test-layout.with-tool{grid-template-columns:minmax(0,1fr) 380px;max-width:1600px}.question{width:100%;max-width:880px;margin:0 auto;min-width:0}.question-top{display:flex;align-items:center;gap:15px;border-bottom:1px solid #e5edf8;padding-bottom:14px;margin-bottom:24px}.number{display:grid;place-items:center;width:30px;height:30px;background:#eef4ff;color:#6d94d9;border:1px solid #dae7ff;border-radius:8px;font-size:12px;font-weight:500}.flag{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:4px;color:#9aabc3;font-size:9px}.flag>.icon{width:15px;height:15px}.flagged{color:#5c8fe9}.question-top .difficulty{margin-left:auto;font-size:8px}.prompt{font-family:Georgia,serif;font-size:20px;line-height:1.8;color:#253d60;margin-bottom:28px}.question-source{font-size:9px;color:#a0aec2;margin:10px 0 20px}.question-source>span{margin:0 5px;color:#c5d0df}.options{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.option{display:flex;align-items:center;gap:15px;min-height:53px;padding:13px 17px;border:1px solid #dce6f4;border-radius:11px;background:white;color:#587298;text-align:left;font-size:15px}.option:hover:not(:disabled){border-color:#a8c6fb;background:#fafcff}.option>span{display:grid;place-items:center;width:27px;height:27px;flex-shrink:0;border:1px solid #d5e2f5;color:#9aacc7;border-radius:8px;font-size:11px}.option.selected{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:#f2f7ff}.option.selected>span{color:white;background:var(--blue);border-color:var(--blue)}.option.correct{border-color:#a1c6b6;background:#f2faf6;box-shadow:inset 0 0 0 1px #a1c6b6}.option:disabled{opacity:1}.image-option{flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:15px 18px;min-height:55px}.image-option img{display:block;height:auto;max-width:100%;min-width:20px;mix-blend-mode:multiply}.response-label input{max-width:280px;font-size:17px;padding:13px 15px}.feedback{border:1px solid #dcece3;border-radius:14px;background:#f6fbf8;padding:21px;margin-top:26px}.feedback.wrong{background:#fcfaf6;border-color:#eee5d6}.feedback>strong{font-size:12px;font-weight:500;color:#719b86}.feedback.wrong>strong{color:#aa9271}.feedback>p{font-size:12px;margin-top:12px}.feedback .pdf-artwork{padding:10px}.tool-panel{border:1px solid #e2ebf8;border-radius:16px;background:#f9fbff;padding:22px;height:fit-content}.formula-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}.formula-grid h4{font-size:10px;color:#7c92b1;margin-bottom:8px}.formula-grid p{font-family:Georgia,serif;font-size:15px;color:#6a83a6;line-height:1.9}.tool-panel a{color:#769bda}.test-footer{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f5f9ff;border-top:1px solid #e1eafa;padding:17px 35px;min-height:80px}.test-footer>div>strong{font-size:11px;font-weight:500;color:#6b83a6}.test-footer>div>small{display:block;font-size:9px;color:#9bacc5;margin-top:5px}.test-footer>.secondary{font-size:10px}.test-footer>.secondary>.icon{width:13px;height:13px}.navigator{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);z-index:30;padding:23px;width:430px;max-width:92vw;box-shadow:0 12px 55px #233c5e25}.navigator p{font-size:10px;margin:12px 0 20px}.number-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.number-grid button{display:flex;align-items:center;justify-content:center;gap:3px;border:1px solid #dce7f7;background:white;border-radius:8px;min-height:35px;font-size:10px;color:#8da1bf}.number-grid .icon{width:10px;height:10px}.number-grid .answered{background:#eaf2ff;color:#6a91d4;border-color:#cfdef6}.number-grid .current{outline:2px solid #82a8ee;outline-offset:2px}
/* The Desmos iframe remains mounted while the surrounding question updates. */
#calculator-host{position:fixed;z-index:25;display:flex;flex-direction:column;min-width:300px;min-height:300px;border:1px solid #d6e3f7;border-radius:14px;background:white;box-shadow:0 8px 35px #203e6c12;overflow:visible}#calculator-host[hidden]{display:none}.calc-title{height:45px;min-height:45px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:#f7faff;border-bottom:1px solid #e1eafa;border-radius:14px 14px 0 0}.calc-title strong{font-family:Fredoka,sans-serif;font-size:15px;font-weight:500;color:#6684b1}.calc-title>div{display:flex;align-items:center;gap:2px}.calc-title button{display:inline-flex;align-items:center;justify-content:center;min-width:26px;min-height:28px;padding:6px;border:0;border-radius:6px;background:transparent;color:#91a7c7;font-size:10px}.calc-title button:hover{background:#e9f1ff;color:var(--blue)}.calc-title button>.icon{width:14px;height:14px}#calculator-host iframe{width:100%;flex:1;min-height:0;border:0;background:white}.calc-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px;border-top:1px solid #e6eefb;border-radius:0 0 14px 14px;padding:8px 10px;font-size:8px;background:#fafcff}.calc-foot a{display:flex;align-items:center;gap:4px;color:#92a7c6}.calc-foot a>.icon{width:10px;height:10px}.calc-foot span{font-size:7px;color:#acb9cc}.calc-divider{position:absolute;top:0;left:-11px;width:15px;height:100%;cursor:col-resize;z-index:3}.calc-divider:after{content:'';position:absolute;left:5px;top:43%;width:3px;height:42px;background:#bdcff0;border-radius:4px}.floating .calc-divider{display:none}.floating .calc-title{cursor:move}.calc-corner{display:none}.floating .calc-corner{display:block;position:absolute;bottom:1px;right:1px;width:17px;height:17px;cursor:nwse-resize;background:repeating-linear-gradient(135deg,transparent 0 3px,#a9bfdf 4px 5px,transparent 6px 8px);clip-path:polygon(100% 0,100% 100%,0 100%)}.calc-dragging iframe{pointer-events:none}.test-layout.with-tool:has(.calculator-space){grid-template-columns:minmax(0,1fr) var(--calculator-width,480px)}.floating-calculator .test-layout.with-tool:has(.calculator-space){grid-template-columns:1fr}.floating-calculator .calculator-space{display:none}.calculator-space{min-width:0}
#toast{position:fixed;bottom:25px;left:50%;z-index:99;transform:translate(-50%,12px);max-width:90vw;border:1px solid #dce8fb;border-radius:12px;background:white;color:#6c86ad;padding:13px 21px;font-size:11px;box-shadow:0 7px 35px #1e3e6f20;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}
/* Keep the same hierarchy on smaller screens; controls retain useful touch sizes. */
@media(min-width:1500px){main{padding-top:38px}.home-layout{gap:25px}.home-left,.home-right{gap:23px}.goal-cards{gap:23px}.goal-card,.mistakes-card{padding:25px;min-height:220px}.recommend{padding:32px;min-height:305px}.recommend h2{font-size:32px}.recommend>p{max-width:400px;font-size:12px}.recommend-number{font-size:125px;right:35px}.mastery,.progress-card,.quick-practice{padding:26px}.quick-row{padding:17px 0}.quick-row strong{font-size:11px}.quick-row small{font-size:9px}}
@media(max-width:1120px){.sidebar{width:185px;padding-left:10px;padding-right:10px}.brand{font-size:16px;gap:7px}.brand-mark{width:27px;height:29px}.sidebar nav>a{font-size:11px;padding-left:12px;gap:10px}.main{margin-left:185px}main{padding:27px 25px 35px}.topbar{padding:0 25px}.home-layout{grid-template-columns:minmax(0,1.45fr) minmax(260px,1fr);gap:18px}.goal-cards{gap:14px}.goal-card,.mistakes-card{padding:19px 17px}.goal-content{gap:12px}.goal-ring{width:70px;height:70px}.goal-card h3,.mistakes-card h3{font-size:17px}.mistakes-art{width:53px;height:60px}.mistakes-content{gap:12px}.recommend-number{right:20px;font-size:86px;opacity:.7}.recommend h2{font-size:25px;max-width:300px}.recommend>p{max-width:300px}.tags{gap:12px}.progress-card{padding:21px}.quick-practice{padding:21px 19px 10px}.practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mastery{padding:22px}.topic-row strong{font-size:9px}.filters select{max-width:270px}.app-footer{margin:0 25px}}
@media(max-width:900px){.sidebar{width:70px;padding:25px 10px 0}.brand{margin:0 5px 32px}.brand>span:last-child,.nav-text,.nav-label,.workspace-note,.profile,.nav-count{display:none}.brand-mark{width:30px;height:32px}.sidebar nav>a{font-size:0;justify-content:center;padding:12px;min-height:44px}.sidebar nav>a>.icon{width:20px;height:20px}.sidebar-bottom{padding-bottom:20px}.sidebar-bottom nav{padding-top:15px;border-top:1px solid #edf2f9}.main{margin-left:70px}.home-layout{grid-template-columns:minmax(0,1.45fr) minmax(255px,1fr)}.goal-content{gap:9px}.goal-card,.mistakes-card{padding:17px 15px}.goal-card h3,.mistakes-card h3{font-size:16px}.goal-content>p{font-size:9px}.goal-cards{gap:13px}.goal-ring{width:65px;height:65px}.mistakes-art{width:47px;height:55px}.mistakes-art>.icon{width:33px;height:33px}.recommend{padding:25px}.recommend-number{display:none}.stats{gap:13px}.stat{padding:20px 16px}.stat>div{font-size:9px}.stat>strong{font-size:29px}.library{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr 1fr}.page-heading>.primary,.page-heading>.secondary{position:static;margin-top:17px}.test-layout.with-tool:not(:has(.calculator-space)){grid-template-columns:1fr}.tool-panel{max-width:880px;width:100%;margin:auto}}
@media(max-width:750px){.home-layout{grid-template-columns:1fr}.home-right{display:grid;grid-template-columns:1fr 1fr;align-items:start}.home-right>.library-link{grid-column:1/-1}.progress-card,.quick-practice{padding:22px}.progress-total{margin-top:24px}.quick-row{padding:13px 0}.progress-metrics{gap:9px}.home-heading h1{font-size:26px}.goal-card,.mistakes-card{padding:22px;min-height:200px}.goal-ring{width:83px;height:83px}.goal-content{gap:20px}.goal-card h3,.mistakes-card h3{font-size:19px}.goal-content>p{font-size:11px}.mistakes-content{gap:18px}.mistakes-art{width:65px;height:65px}.recommend{min-height:275px;padding:29px}.recommend-number{display:block}.recommend h2{font-size:29px}.home-heading{align-items:flex-start}.streak-chip{font-size:9px}.test-layout.with-tool:has(.calculator-space){grid-template-columns:1fr}.calculator-space{min-height:0}.calc-title strong{font-size:13px}.test-header{padding:17px 24px}.test-toolbar{padding:9px 24px}.test-layout{padding:0 24px;margin-top:30px}.test-footer{padding:16px 24px}}
@media(max-width:520px){.sidebar{width:61px;padding:23px 7px 0}.brand{margin-left:5px}.brand-mark{width:28px;height:30px}.sidebar nav>a{padding:12px 10px}.sidebar nav>a>.icon{width:19px;height:19px}.main{margin-left:61px}.topbar{height:58px;padding:0 17px}.save-status{display:none}.top-right{gap:0}.breadcrumb{font-size:10px;gap:8px}.breadcrumb>.icon{width:10px}main{padding:24px 16px 30px}.eyebrow{font-size:8px}.home-heading{gap:12px;flex-wrap:wrap;margin-bottom:20px}.home-heading h1{font-size:25px}.home-heading p{font-size:10px}.streak-chip{font-size:9px;padding:6px 9px}.streak-chip>.icon{width:13px;height:13px}.goal-cards{gap:11px}.goal-card,.mistakes-card{padding:16px 13px;min-height:186px}.goal-card h3,.mistakes-card h3{font-size:16px}.goal-content{flex-direction:column;align-items:flex-start;gap:11px;margin-top:9px;margin-bottom:9px}.goal-ring{width:62px;height:62px;padding:5px}.goal-ring strong{font-size:23px}.goal-content>p{font-size:8px;line-height:1.5}.goal-content>p>br{display:none}.goal-content>p>strong{margin-left:3px}.card-caption{font-size:7px}.mistakes-content{flex-direction:column;align-items:flex-start;gap:10px;margin:10px 0 9px}.mistakes-art{width:44px;height:44px;border-radius:11px}.mistakes-art>.icon{width:28px;height:28px}.mistakes-content>div{display:flex;align-items:baseline;gap:7px}.mistakes-content>div>strong{font-size:25px}.mistakes-content>div>span{font-size:7px}.subtle-link{font-size:7px;line-height:1.7;gap:5px}.subtle-link>.icon{width:11px}.goal-card .icon-link{width:20px;height:20px}.goal-card .icon-link>.icon{width:13px;height:13px}.goal-card .section-top,.mistakes-card .section-top{gap:6px}.mistakes-card .section-top>.icon{width:14px;height:14px}.home-left,.home-right{gap:16px}.home-right{grid-template-columns:1fr}.home-layout{gap:16px}.recommend{padding:24px;min-height:270px}.recommend h2{font-size:26px}.recommend>p{font-size:10px;max-width:240px}.recommend-number{display:none}.tags{font-size:8px;gap:12px}.tags>.span>.icon{width:12px;height:12px}.recommend .primary{min-height:40px;font-size:10px}.mastery{padding:22px 18px}.topic-row{gap:10px}.topic-icon{width:30px;height:31px;border-radius:9px}.topic-icon>.icon{width:18px;height:18px}.topic-row strong{font-size:9px;line-height:1.7}.section-top p{font-size:9px}.section-top h3{font-size:18px}.progress-card,.quick-practice{padding:22px}.chart{height:140px}.bar{max-height:108px}.practice-grid{grid-template-columns:1fr}.practice-card{min-height:250px;padding:24px}.practice-card h2{font-size:23px}.practice-card p{font-size:11px}.page-heading h1{font-size:28px}.page-heading p{font-size:11px}.page-heading{margin-bottom:23px}.resume{align-items:flex-start;flex-direction:column;padding:22px}.stats{grid-template-columns:1fr 1fr;gap:12px}.stat{padding:20px 16px}.stat>strong{font-size:31px}.dashboard-grid{grid-template-columns:1fr}.filters{padding:13px;gap:10px;border-radius:14px}.filters input,.filters select{width:100%;min-width:0;max-width:none;flex:auto;font-size:10px}.library-card{padding:19px}.pagination{gap:10px;font-size:9px}.pagination>.secondary{padding:9px 10px;font-size:9px}.app-footer{margin:0 17px;font-size:8px;gap:10px;line-height:1.8}.modal{padding:24px;max-height:90vh}.modal h2{font-size:26px}.modal>p{font-size:11px}.form-grid{gap:10px}.check{font-size:10px;margin-right:10px}.review-item{padding:20px}.review-item summary{font-size:11px}.outside>span{font-size:9px}.session-list,.settings-card{padding:23px}.test-header{grid-template-columns:1fr auto;gap:8px;padding:14px 18px}.test-header strong{font-size:16px}.test-header>.timer{grid-row:2;grid-column:1/-1;font-size:11px;text-align:center}.test-header>div:last-child{grid-column:2;grid-row:1}.test-header .secondary{font-size:9px;padding:8px 10px;min-height:35px}.test-toolbar{padding:8px 18px;gap:8px;font-size:8px}.tool-button{font-size:9px;gap:5px;padding:7px 8px}.tool-button>.icon{width:13px;height:13px}.test-layout{padding:0 19px;margin-top:25px}.question-top{gap:10px}.flag{font-size:8px}.flag>.icon{width:13px;height:13px}.prompt{font-size:19px}.test-footer{padding:14px 15px;gap:10px;flex-wrap:wrap}.test-footer>div:first-child{display:none}.test-footer .primary,.test-footer .secondary{padding:9px 11px;font-size:9px;min-height:38px}.test-footer>.secondary{font-size:9px}.test-footer .button-row{gap:7px}.test-shell{padding-bottom:105px}.formula-grid{gap:18px}.milestones{gap:9px}.calc-foot span{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.feedback>strong>.icon{width:15px;height:15px;margin-right:4px}.review-item summary small>.icon{width:12px;height:12px;margin-right:4px}.navigator p>.icon{width:12px;height:12px}.tool-panel .footnote .icon{width:12px;height:12px}.pagination .secondary>.icon{width:13px;height:13px}
/* The supplied graduation logo is displayed directly; only transparent padding is clipped in CSS. */
.brand{margin:0 2px 24px;min-height:62px}.logo-wordmark{display:block;position:relative;width:174px;aspect-ratio:1038/360;overflow:hidden;flex-shrink:0}.logo-wordmark>img{position:absolute;max-width:none;width:120.81%;height:auto;left:-13.2%;top:-130%}.logo-compact{display:none}.tour-launch{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:8px;background:transparent;color:#7892ba;font-size:10px;padding:8px 9px}.tour-launch>.icon{width:15px;height:15px}.tour-launch:hover{background:#e9f2ff;color:var(--blue)}.test-brand{margin-bottom:7px}.test-brand .logo-wordmark{width:118px}.test-header{min-height:105px}.test-header strong{font-size:15px}
.welcome-card{display:grid;grid-template-columns:190px minmax(0,1fr);gap:25px;align-items:center;padding:24px 28px;margin-bottom:22px;border-color:#d7e6ff;background:#fcfdff}.welcome-identity{display:flex;flex-direction:column;align-items:center;gap:14px;padding-right:20px;border-right:1px solid #e4edfc}.welcome-identity>.logo-wordmark{width:180px}.welcome-identity>.chip{font-size:8px;color:#7490be;background:#eaf2ff}.welcome-copy h2{font-size:25px}.welcome-copy p{font-size:11px;margin:8px 0 17px;max-width:540px}.welcome-copy .button-row{gap:12px}.welcome-copy .primary,.welcome-copy .secondary{font-size:10px;min-height:40px}.welcome-copy .text-button{font-size:9px;margin-left:4px;color:#95a7c0}
.placement-entry{display:flex;align-items:center;gap:17px;padding:20px 24px;margin-bottom:23px}.placement-entry>div{flex:1}.placement-entry h3{font-size:19px}.placement-entry p{font-size:10px;margin-top:6px}.placement-entry .secondary{white-space:nowrap;font-size:10px}.placement-summary{display:flex;align-items:center;gap:18px;padding:22px 25px;margin-bottom:24px;border-color:#dce9fd}.placement-summary>div:nth-child(2){flex:1;min-width:0}.placement-summary .eyebrow{font-size:8px;margin-bottom:7px;display:block}.placement-summary h3{font-size:20px}.placement-summary p{font-size:10px;margin-top:6px}.placement-summary .button-row{flex-direction:column;gap:3px;align-items:stretch}.placement-summary .primary{font-size:10px;min-height:38px}.placement-summary .text-button{font-size:9px}.placement-symbol{display:grid;place-items:center;width:50px;height:50px;background:#eef5ff;border-radius:15px;color:#85a6de;margin:18px 0 20px}.placement-symbol>.icon{width:29px;height:29px;stroke-width:1.5}.placement-modal>p{font-size:11px}.placement-facts{display:flex;flex-direction:column;gap:13px;padding:19px;border:1px solid #e6eefb;border-radius:13px;background:#f8fbff;margin:20px 0}.placement-facts>span{display:flex;align-items:center;gap:9px;font-size:10px;color:#7890b2}.placement-facts .icon{width:16px;height:16px;color:#91acda}.placement-modal>.placement-note{font-size:10px;color:#8c9eb9;line-height:1.95;margin-bottom:22px}.placement-recommendation{display:flex;align-items:center;gap:20px;padding:27px;margin:0 0 24px;border-color:#d9e8ff}.placement-recommendation>div{flex:1;min-width:0}.placement-recommendation h2{font-size:25px}.placement-recommendation p{font-size:11px;max-width:560px;margin-top:9px}.placement-areas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.placement-area{padding:23px 21px}.placement-area h3{font-family:Poppins,sans-serif;font-weight:500;font-size:11px;line-height:1.7;margin:18px 0 15px;min-height:38px}.placement-area>strong{font-family:Fredoka,sans-serif;font-size:28px;font-weight:500;display:block}.placement-area>strong>small{font-family:Poppins,sans-serif;font-weight:400;font-size:9px;color:#91a4be}.placement-area p{font-size:9px;margin-top:10px}
/* Optional, replayable tour with a real page spotlight and keyboard focus containment. */
body.tour-open{overflow:hidden}#tour-root{position:relative;z-index:100}.tour-shield{position:fixed;inset:0;z-index:100;cursor:default}.tour-spotlight{position:fixed;z-index:101;pointer-events:none;border:2px solid #8fb5f9;border-radius:17px;box-shadow:0 0 0 200vmax #18305470,0 0 0 5px #dceaff40}.tour-dialog{position:fixed;z-index:102;background:white;border:1px solid #e5edfb;border-radius:18px;padding:23px;box-shadow:0 15px 60px #142e5130;max-height:calc(100vh - 28px);overflow:auto}.tour-dialog .eyebrow{margin:0;font-size:8px;color:#90a5c4}.tour-dialog>.section-top>.text-button{font-size:9px;color:#91a2ba;padding:0}.tour-dots{display:flex;gap:5px;margin:15px 0 18px}.tour-dots>i{width:20px;height:4px;background:#edf2f9;border-radius:4px}.tour-dots>i.current{background:#6f9bec}.tour-dots>i.done{background:#b4cdf9}.tour-dialog h2{font-size:25px;margin-bottom:10px}.tour-dialog>p{font-size:11px;color:#768ba9;line-height:1.95}.tour-optional{display:block;font-size:9px;color:#8da4c5;margin-top:12px}.tour-actions{display:flex;justify-content:space-between;gap:9px;margin-top:22px;align-items:center}.tour-actions .primary,.tour-actions .secondary{font-size:10px;padding:10px 12px;min-height:39px}.tour-actions .secondary:disabled{opacity:.35}.tour-actions .icon{width:13px;height:13px}
@media(max-width:1120px){.logo-wordmark{width:158px}.brand{margin-left:0}.welcome-card{grid-template-columns:165px minmax(0,1fr);gap:22px;padding:24px}.welcome-identity{padding-right:18px}.welcome-identity>.logo-wordmark{width:158px}.welcome-copy h2{font-size:24px}.placement-areas{gap:13px}.placement-area{padding:20px 16px}.placement-recommendation .primary{font-size:10px;white-space:nowrap}}
@media(max-width:900px){.brand{margin:0 0 22px;min-height:42px;justify-content:center}.brand>.logo-wordmark{display:none}.sidebar .brand>.logo-compact{display:block;width:37px;height:30px;border-radius:5px;background-image:url('assets/prepmesat-graduation.png');background-repeat:no-repeat;background-size:148px 148px;background-position:-15px -54px;clip-path:polygon(0 0,100% 0,100% 76%,23% 76%,23% 100%,0 100%)}.welcome-card{grid-template-columns:150px minmax(0,1fr);gap:18px;padding:23px}.welcome-identity>.logo-wordmark{width:148px}.top-right{gap:12px}.tour-launch{font-size:9px;gap:5px}.placement-areas{grid-template-columns:repeat(2,minmax(0,1fr))}.placement-area h3{min-height:0}.placement-summary{flex-wrap:wrap}.placement-summary .button-row{flex-direction:row}.placement-recommendation{flex-wrap:wrap}}
@media(max-width:650px){.welcome-card{grid-template-columns:1fr;gap:18px;padding:24px}.welcome-identity{flex-direction:row;justify-content:space-between;gap:13px;border:0;border-bottom:1px solid #e8effb;padding:0 0 16px}.welcome-identity>.logo-wordmark{width:155px}.welcome-identity>.chip{font-size:7px;max-width:100px;line-height:1.7;text-align:center}.welcome-copy h2{font-size:26px}.welcome-copy .text-button{margin-left:0}.placement-entry{flex-wrap:wrap;padding:22px;gap:13px}.placement-entry>div{flex-basis:calc(100% - 65px)}.placement-entry>.secondary{margin-left:55px}.placement-summary{padding:22px}.placement-summary>div:nth-child(2){flex-basis:calc(100% - 65px)}.placement-recommendation{padding:22px;gap:15px}.placement-recommendation>div{flex-basis:calc(100% - 65px)}.placement-recommendation h2{font-size:22px}.test-header{min-height:105px}.test-brand .logo-wordmark{width:105px}}
@media(max-width:520px){.tour-launch{padding:7px 3px;font-size:9px}.tour-launch>.icon{width:14px;height:14px}.welcome-card{padding:21px;gap:16px;border-radius:17px}.welcome-identity{flex-wrap:wrap;justify-content:center;gap:10px}.welcome-identity>.logo-wordmark{width:180px}.welcome-copy h2{font-size:24px}.welcome-copy p{font-size:10px}.welcome-copy .button-row{gap:10px}.welcome-copy .primary,.welcome-copy .secondary{width:100%;font-size:10px}.welcome-copy .text-button{width:100%;padding:4px}.placement-entry h3{font-size:18px}.placement-entry p{font-size:9px}.placement-entry>.secondary{margin-left:0}.placement-summary h3{font-size:18px}.placement-summary p{font-size:9px}.placement-areas{gap:12px}.placement-area{padding:19px 15px}.placement-area h3{font-size:10px;min-height:51px}.placement-area>strong>small{font-size:8px}.placement-recommendation>.primary,.placement-recommendation>.secondary{width:100%}.tour-dialog{padding:22px}.tour-dialog h2{font-size:24px}.tour-dialog>p{font-size:10px}.tour-actions{gap:7px;flex-wrap:wrap}.tour-actions .primary,.tour-actions .secondary{font-size:9px;padding:9px 10px}.tour-actions>[data-action="tour-back"]{margin-right:auto}.test-brand .logo-wordmark{width:98px}.test-header{padding-top:10px;min-height:110px}.test-header strong{font-size:14px}}
/* Tour motion: preserve each box and smoothly interpolate it to its next target. */
.tour-spotlight{transition:left .34s cubic-bezier(.22,.68,0,1),top .34s cubic-bezier(.22,.68,0,1),width .34s cubic-bezier(.22,.68,0,1),height .34s cubic-bezier(.22,.68,0,1);will-change:left,top,width,height}.tour-dialog{transition:opacity .16s ease,transform .22s cubic-bezier(.22,.68,0,1),left .26s ease,top .26s ease;transform:translateY(0);opacity:1}.tour-changing .tour-dialog{opacity:0;transform:translateY(7px);pointer-events:none}body.tour-open #app{transition:opacity .18s ease;opacity:1}body.tour-open #app.tour-page-leave{opacity:0}.tour-dots>i{transition:background .2s ease,width .2s ease}.tour-dots>i.current{width:28px}
@media(prefers-reduced-motion:reduce){.tour-spotlight,.tour-dialog,.tour-dots>i,body.tour-open #app{transition:none!important;animation:none!important;transform:none!important}}

/* School account entry */
.account-page {
  display: grid;
  place-items: center;
  min-height: 100svh;
  padding: 28px 16px;
}
.account-card {
  width: min(100%, 440px);
  padding: clamp(24px, 6vw, 40px);
}
.account-card .logo-wordmark { display: block; width: 152px; margin-bottom: 24px; }
.account-card .eyebrow { margin: 0 0 7px; }
.account-card h1 { margin: 0; font-size: clamp(28px, 8vw, 38px); }
.account-card h1 + p { margin: 8px 0 20px; }
.account-card form { display: grid; gap: 12px; }
.account-card label:not(.check):not(.file-label) { display: grid; gap: 5px; margin: 0; color: #465978; font-weight: 600; }
.account-card input { width: 100%; }
.account-card .account-google { display: flex; width: 100%; align-items: center; justify-content: center; gap: 10px; }
.account-card button:disabled { cursor: not-allowed; opacity: .65; }
.account-separator { display: flex; align-items: center; gap: 12px; margin: 17px 0; font-size: .75rem; color: #5b6780; }
.account-separator::before, .account-separator::after { content: ''; height: 1px; background: #dae4f4; flex: 1; }
.account-message { min-height: 1em; margin: 12px 0 0; font-size: .84rem; }
.account-message:empty { display: none; }
.account-links { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.account-links .text-button { padding-inline: 0; }
[data-action="account-latest"][hidden] { display: none; }

/* Session and placement analysis */
.result-overview {
  --correct: #149a83;
  --incorrect: #da637a;
  --unanswered: #8c9ab2;
  display: grid;
  grid-template-columns: clamp(128px, 21vw, 185px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(18px, 4vw, 46px);
  padding: clamp(20px, 4vw, 34px);
  margin-bottom: 18px;
}
.result-ring { display: grid; place-items: center; aspect-ratio: 1; }
.result-ring > * { grid-area: 1 / 1; }
.result-ring svg { display: block; width: 100%; height: auto; overflow: visible; }
.result-ring circle { fill: none; stroke-width: 10; }
.result-track { stroke: #eaf0f8; }
.result-segment.correct { stroke: var(--correct); }
.result-segment.incorrect { stroke: var(--incorrect); }
.result-segment.unanswered { stroke: var(--unanswered); }
.result-segment { animation: result-ring-fill 850ms cubic-bezier(.22,.8,.3,1) both; }
@keyframes result-ring-fill {
  from { stroke-dasharray: 0 100; }
  to { stroke-dasharray: var(--segment) 100; }
}
.result-ring-label { display: grid; gap: 3px; text-align: center; }
.result-ring-label strong { color: #182840; font-size: clamp(27px, 4vw, 43px); font-weight: 700; line-height: 1; }
.result-ring-label span { font-size: 11px; color: #526480; font-weight: 500; }
.result-overview-body h2 { margin: 5px 0 6px; font-size: clamp(24px, 4vw, 36px); }
.result-overview-body > p { margin: 0; }
.result-legend { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 12px; }
.result-legend > div { display: flex; gap: 7px; align-items: center; padding: 7px 10px; border-radius: 8px; background: #f5f8fd; }
.result-legend dt { display: flex; align-items: center; gap: 6px; color: #4b5e7a; font-size: 11px; }
.result-legend dd { margin: 0; color: #182840; font-size: 12px; font-weight: 700; }
.result-legend i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; }
.result-legend .correct i { background: var(--correct); }
.result-legend .incorrect i { background: var(--incorrect); }
.result-legend .unanswered i { background: var(--unanswered); }
.result-overview-body .result-save { color: #526480; font-size: 11px; }
.result-breakdowns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.result-breakdown { padding: 20px; }
.result-breakdown h3 { margin: 0 0 14px; }
.result-breakdown-row + .result-breakdown-row { margin-top: 12px; }
.result-breakdown-row > div:first-child { display: flex; justify-content: space-between; gap: 12px; color: #526480; font-size: 12px; }
.result-breakdown-row strong { flex-shrink: 0; color: #243851; }
.result-bar { height: 5px; overflow: hidden; border-radius: 4px; background: #ecf2fc; margin-top: 5px; }
.result-bar i { display: block; width: var(--fill); height: 100%; background: #5488ee; border-radius: inherit; }
.result-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.result-filters button { gap: 8px; }
.result-filters button[aria-pressed="true"] { color: #2454a8; border-color: #aac6ff; background: #e9f1ff; }
.result-filters button:disabled { opacity: .55; cursor: default; }
.result-filters button span { font-size: 10px; font-weight: 700; }
.result-review [hidden] { display: none; }
.result-badge { margin-right: 5px; }
.result-badge.correct { color: #10745f; }
.result-badge.incorrect { color: #b23d56; }
.result-badge.unanswered { color: #5d6e89; }
.result-confetti { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 250; }
.result-confetti i {
  position: absolute;
  top: 24vh;
  left: 50%;
  width: 8px;
  height: 12px;
  border-radius: 2px;
  background: var(--color);
  animation: result-confetti var(--duration) var(--delay) cubic-bezier(.18,.53,.35,1) both;
}
.result-confetti i:nth-child(3n) { width: 7px; height: 7px; border-radius: 50%; }
@keyframes result-confetti {
  0% { opacity: 0; transform: translate(0, 0) rotate(0); }
  7% { opacity: .95; }
  32% { transform: translate(calc(var(--x) * .54), calc(-1 * var(--lift))) rotate(calc(var(--spin) * .32)); }
  75% { opacity: .86; }
  100% { opacity: 0; transform: translate(var(--x), 68vh) rotate(var(--spin)); }
}
@media (max-width: 620px) {
  .result-overview { grid-template-columns: 1fr; gap: 13px; }
  .result-ring { width: min(132px, 100%); justify-self: center; }
  .result-overview-body { text-align: center; }
  .result-legend { justify-content: center; }
  .result-breakdowns { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .result-segment { animation: none; }
  .result-confetti { display: none; }
}

/* Shared subject switch and Reading & Writing preview */
.sidebar:has(.subject-switch) { overflow-y: auto; }
.sidebar:has(.subject-switch) .brand { margin-bottom: 18px; }
.sidebar .subject-switch {
  padding: 4px;
  gap: 3px;
  margin-bottom: 12px;
  background: #f4f7fb;
  border: 1px solid #e7edf5;
  border-radius: 12px;
}
.sidebar .subject-switch > a { min-height: 34px; padding: 7px 8px; gap: 8px; font-size: 10px; }
.sidebar .subject-switch > a .icon { flex: none; width: 15px; height: 15px; }
.sidebar .subject-switch > a[aria-current="true"] { background: #fff; color: #294e98; font-weight: 700; box-shadow: 0 1px 3px #27385519; }
.sidebar .subject-switch > a[href="#english"][aria-current="true"] { color: #5a46a0; }
.english-workspace .breadcrumb { min-width: 0; }
.english-heading { display: flex; justify-content: space-between; align-items: start; gap: 14px; }
.english-heading .english-tag { margin-top: 8px; }
.english-tag {
  display: inline-flex; align-items: center; flex: none; border-radius: 7px;
  padding: 5px 9px; background: #eee9fb; color: #59448d;
  font-size: 10px; font-weight: 700; line-height: 1.4;
}
.english-home-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 16px; }
.english-hero {
  min-width: 0; min-height: 245px; position: relative; isolation: isolate; overflow: hidden;
  display: flex; align-items: center; padding: clamp(22px, 4vw, 36px); background: #eeebfb; border-color: #e0d9f3;
}
.english-hero-copy { max-width: 67%; }
.english-hero h2 { font-size: clamp(23px, 3.2vw, 38px); line-height: 1.13; margin: 9px 0; color: #27213e; }
.english-hero p { color: #5b5275; max-width: 38ch; margin: 0 0 18px; }
.english-hero .eyebrow { color: #615192; }
.english-paper-art {
  position: absolute; z-index: -1; right: clamp(16px, 4vw, 47px); top: 50%;
  transform: translateY(-49%) rotate(9deg); width: clamp(88px, 12vw, 146px);
}
.english-paper {
  position: relative; display: grid; gap: 9px; border-radius: 12px; background: #fbfaff;
  border: 1px solid #ddd4f1; padding: clamp(11px, 2vw, 21px); box-shadow: 8px 9px 0 #ddd4f0;
}
.english-paper > span { font-size: clamp(24px, 3.5vw, 46px); font-weight: 700; color: #6752a7; line-height: 1.05; }
.english-paper > i { height: 5px; border-radius: 5px; background: #d8cfef; }
.english-paper > i:last-of-type { width: 62%; }
.english-paper > b { position: absolute; display: grid; place-items: center; right: -13px; bottom: -9px; width: 36px; height: 36px; border-radius: 10px; background: #6752a7; color: #fff; }
.english-paper > b .icon { width: 20px; height: 20px; }
.english-overview { padding: 22px; display: flex; flex-direction: column; align-items: flex-start; }
.english-overview h3 { margin: 12px 0 7px; }
.english-overview > strong { font-size: 35px; line-height: 1.1; color: #28395a; }
.english-overview > strong + span { font-size: 11px; color: #506281; }
.english-overview p { margin: 9px 0 12px; }
.english-overview .text-button { margin-top: auto; padding-inline: 0; }
.english-section-heading { margin-top: 25px; }
.english-section-heading h2, .english-section-heading p { margin: 0; }
.english-areas { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.english-area { padding: 18px; display: flex; flex-direction: column; align-items: flex-start; }
.english-area h3 { margin: 11px 0 5px; line-height: 1.2; }
.english-area p { margin: 0 0 12px; }
.english-symbol { width: 38px; height: 38px; display: inline-grid; place-items: center; flex: none; border-radius: 9px; }
.english-symbol .icon { width: 20px; height: 20px; }
.english-symbol.blue { background: #edf4ff; color: #426bc0; }
.english-symbol.purple { background: #eee9fb; color: #6650a4; }
.english-symbol.teal { background: #e4f5f2; color: #26796d; }
.english-symbol.amber { background: #fcf2e2; color: #8d5b23; }
.english-skill-list { list-style: none; display: flex; flex-wrap: wrap; gap: 5px; padding: 0; margin: 0 0 12px; }
.english-skill-list li { padding: 4px 6px; border-radius: 5px; background: #f1f4fa; color: #4e5d76; font-size: 10px; }
.english-area .text-button { margin-top: auto; padding-inline: 0; text-align: left; }
.english-modes h2 { margin-top: 12px; }
.english-filters { align-items: end; }
.english-filters label:not(.check):not(.file-label) { margin: 0; color: #4b5e7a; font-weight: 600; }
.english-filters select { min-width: 0; max-width: 100%; }
.english-empty { padding: clamp(20px, 4vw, 36px); display: grid; justify-items: start; gap: 10px; }
.english-empty h2, .english-empty p, .english-empty ul { margin: 0; }
.english-empty .secondary { margin-top: 4px; }
.english-results .text-button { padding-inline: 0; }
.english-progress-areas { margin-top: 16px; }

.english-demo { min-height: 100svh; background: #fff; display: flex; flex-direction: column; padding: 0; }
.english-demo-header, .english-demo-toolbar, .english-demo-footer {
  padding-inline: clamp(15px, 4vw, 42px);
}
.english-demo-header { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; padding-block: 15px; background: #f7f6fd; }
.english-demo-header .test-brand { margin: 0 0 2px; }
.english-demo-header .secondary { justify-self: end; }
.english-demo-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px 18px; padding-block: 10px; border-bottom: 1px solid #e6ecf5; color: #526581; font-size: 11px; }
.english-demo-body { width: 100%; padding: 0; flex: 1; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.english-demo-body section { padding: clamp(20px, 4vw, 44px); }
.english-passage { border-right: 1px solid #e4e9f3; background: #fbfaff; }
.english-passage h1 { margin: 8px 0 12px; font-size: clamp(22px, 3vw, 32px); }
.english-passage p { max-width: 44ch; }
.english-placeholder-lines { display: grid; gap: 12px; margin-top: 24px; }
.english-placeholder-lines i { height: 8px; border-radius: 5px; background: #e9e5f6; }
.english-placeholder-lines i:nth-child(2n) { width: 92%; }
.english-placeholder-lines i:last-child { width: 58%; }
.english-demo-number { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.english-demo-number > span { display: grid; place-items: center; min-width: 30px; height: 30px; background: #27283b; color: #fff; border-radius: 5px; font-weight: 700; }
.english-demo-number .flag[aria-pressed="true"] { color: #674aa7; background: #f0eafa; }
.english-demo-question h2 { margin: 0; font-size: clamp(19px, 3vw, 27px); }
.english-demo-question .options { margin: 16px 0 0; }
.english-demo-question .option { width: 100%; }
.english-demo-footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-block: 14px; border-top: 1px solid #dfe8f5; background: #f7f6fd; }
.english-demo-footer > span { display: flex; align-items: center; gap: 6px; color: #526581; font-size: 11px; }
.english-demo-footer > span .icon { width: 16px; height: 16px; }
@media(max-width: 1100px) {
  .english-areas { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width: 900px) {
  .sidebar .subject-switch { padding: 3px; }
  .sidebar .subject-switch > a { min-height: 34px; padding: 5px; gap: 3px; flex-direction: column; }
  .sidebar .subject-switch > a .subject-name { font-size: 8px; text-align: center; line-height: 1.1; }
  .sidebar .subject-switch > a[href="#english"] .subject-name { font-size: 0; }
  .sidebar .subject-switch > a[href="#english"] .subject-name::after { content: 'R&W'; font-size: 8px; }
}
@media(max-width: 680px) {
  .english-home-grid { grid-template-columns: 1fr; }
  .english-heading { flex-wrap: wrap; }
  .english-heading .english-tag { margin-top: 0; }
  .english-demo-body { grid-template-columns: 1fr; }
  .english-passage { border-right: 0; border-bottom: 1px solid #e4e9f3; }
  .english-demo-header { grid-template-columns: 1fr auto; }
  .english-demo-header .english-tag { grid-column: 1; grid-row: 2; justify-self: start; }
  .english-demo-header .secondary { grid-column: 2; grid-row: 1; }
}
@media(max-width: 460px) {
  .english-areas { grid-template-columns: 1fr; }
  .english-hero-copy { max-width: 100%; }
  .english-paper-art { display: none; }
  .english-filters { display: grid; grid-template-columns: minmax(0,1fr); }
  .english-filters select { width: 100%; }
  .english-demo-footer { flex-wrap: wrap; }
}

.english-passage-art { display: grid; gap: 10px; margin-top: 12px; }
.english-passage-art img { display: block; width: 100%; height: auto; border-radius: 7px; }
.english-demo-question .option > span { flex: none; }
.english-demo-question .option { font-size: 14px; line-height: 1.5; }
.english-check { margin-top: 15px; }
.english-feedback { padding: 15px; margin-top: 15px; border: 1px solid #dce5f1; background: #f6f8fc; border-radius: 9px; }
.english-explanation h3 { margin: 12px 0 4px; }
.english-explanation p { margin: 8px 0; }
.english-review-options { padding-left: 24px; }
.english-review-options li { margin: 5px 0; }
.english-navigator { bottom: 67px; }
.english-library .english-area .text-button { margin-top: auto; }
.english-passage-text { color: #25334a; font-size: 16px; line-height: 1.75; max-width: 67ch !important; margin: 10px 0 14px; }
.english-original { color: #586787; font-size: 11px; }
.english-original summary { cursor: pointer; width: fit-content; }
.english-passage { min-width: 0; }

/* Dashboard and compact navigation */
.mobile-nav, .mobile-subject, .reading-jumps { display: none; }
.dashboard-hero {
  position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between;
  gap: 20px; padding: clamp(20px, 4vw, 34px); margin-bottom: 18px;
  background: #edf4ff; border-color: #d9e6fc;
}
.dashboard-hero h2 { margin: 8px 0; font-size: clamp(24px, 4vw, 38px); line-height: 1.12; }
.dashboard-hero p { margin: 0 0 18px; }
.dashboard-mark {
  flex: none; display: grid; place-items: center; width: 86px; height: 86px;
  border: 1px solid #cbdcfb; border-radius: 22px; color: #325fc3; background: #ffffffb0;
}
.dashboard-mark .icon { width: 38px; height: 38px; }
.english-hero.dashboard-hero { display: block; margin-bottom: 0; background: #f2edfc; border-color: #e2d9f5; }
.english-hero.dashboard-hero .english-hero-copy { position: relative; z-index: 1; }
.english-hero.dashboard-hero .english-paper-art { z-index: 0; }
.english-passage, .english-demo-question, .question-top { scroll-margin-top: 14px; }
.question-top:focus, .english-passage:focus, .english-demo-question:focus { outline: 0; }
:where(a,button,summary,input,select):focus-visible { outline: 2px solid #315cc9; outline-offset: 3px; }
@media(max-width: 800px) {
  .sidebar { display: none; }
  .main { margin-left: 0; padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
  .topbar { height: auto; min-height: 64px; padding: 8px 14px; gap: 8px; }
  .topbar .breadcrumb, .topbar .tour-launch, .topbar .save-status { display: none; }
  .topbar .avatar.mini { min-width: 44px; min-height: 44px; }
  .mobile-subject { display: flex; min-width: 0; margin: 0; }
  .mobile-subject > a { min-height: 44px; font-size: 12px; gap: 6px; white-space: nowrap; padding-inline: 9px; }
  .mobile-subject .icon { width: 15px; height: 15px; }
  .mobile-nav {
    display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); position: fixed;
    z-index: 24; inset: auto 0 0; padding: 4px 6px calc(4px + env(safe-area-inset-bottom));
    background: #fafdff; border-top: 1px solid #dce7f6; box-shadow: 0 -4px 22px #1733610b;
  }
  .mobile-nav > a, .mobile-more > summary {
    min-height: 52px; display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 4px; color: #405575; font-size: 11px; font-weight: 600; cursor: pointer; border-radius: 8px;
  }
  .mobile-more > summary::-webkit-details-marker { display: none; }
  .mobile-nav .nav-text { display: inline; }
  .mobile-nav > a.active, .mobile-more[open] > summary { color: #244bb4; background: #eaf1ff; }
  .mobile-more-menu { position: absolute; right: 8px; bottom: calc(64px + env(safe-area-inset-bottom)); padding: 7px; }
  .mobile-more-menu > :is(a,button) {
    display: flex; gap: 9px; align-items: center; color: #263f67; min-height: 44px;
    padding: 7px 12px; font-size: 13px; background: transparent; border: 0;
  }
  .mobile-more-menu .nav-count { display: none; }
  .dashboard-mark { width: 54px; height: 54px; border-radius: 14px; }
  .dashboard-mark .icon { width: 26px; height: 26px; }
  .test-footer, .english-demo-footer {
    position: fixed; inset: auto 0 0; z-index: 20; display: flex; flex-wrap: nowrap;
    gap: 6px; min-height: 0; padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
  }
  .test-footer > div:first-child, .english-demo-footer > span { display: none; }
  .test-shell { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .test-footer .button-row, .english-demo-footer .button-row { margin: 0 0 0 auto; gap: 5px; flex-wrap: nowrap; }
  .test-footer :is(.primary,.secondary), .english-demo-footer :is(.primary,.secondary) {
    padding-inline: 8px; min-height: 44px; font-size: 11px; white-space: nowrap;
  }
  .test-footer .button-row .icon, .english-demo-footer .button-row .icon { display: none; }
  .navigator { bottom: calc(68px + env(safe-area-inset-bottom)); max-height: 65dvh; overflow: auto; }
  .test-shell :is(.flag,.tool-button,.option,.number-grid button,.english-check) { min-height: 44px; }
  .test-shell .response-label input { font-size: 16px; }
  .test-layout.with-tool:has(.calculator-space) { grid-template-columns: 1fr; }
  .calculator-space { display: none; }
  #calculator-host, #calculator-host.floating {
    inset: auto 0 0; width: 100%; height: 65dvh; max-height: 100dvh; z-index: 45;
    border-radius: 16px 16px 0 0; padding-bottom: env(safe-area-inset-bottom); box-sizing: border-box;
  }
  #calculator-host.calc-full { height: 100dvh; border-radius: 0; }
  #calculator-host .calc-title button { min-width: 44px; min-height: 44px; }
  #calculator-host :is(.calc-divider,.calc-corner,[data-calc="dock"]) { display: none; }
  #calculator-host .calc-title { cursor: auto; }
}
@media(max-width: 680px) {
  .english-demo-footer { display: grid; grid-template-columns: minmax(0,1fr) auto; }
  .english-demo-footer > button { justify-self: start; }
  .reading-jumps { display: flex; grid-column: 1 / -1; gap: 6px; }
  .reading-jumps > button { flex: 1; }
  .english-demo.test-shell { padding-bottom: calc(122px + env(safe-area-inset-bottom)); }
  .english-navigator { bottom: calc(116px + env(safe-area-inset-bottom)); }
}
@media(max-width: 390px) {
  .dashboard-mark { display: none; }
}

.study-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 16px 0; }
.study-card { padding: clamp(16px, 3vw, 23px); margin: 14px 0; min-width: 0; }
.study-grid > .study-card { margin: 0; }
.study-card-header { display: flex; align-items: center; gap: 12px; }
.study-card h3 { margin: 0; }
.study-card progress { width: 100%; height: 10px; accent-color: #3764d6; }
.study-goal-picker { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 9px; font-size: 12px; }
.study-goal-picker select { padding: 7px 10px; font-size: 12px; min-height: 38px; max-width: 100%; }
.study-skill-list { max-height: 340px; overflow: auto; }
.study-skill { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid #e5edf8; }
.study-skill small { display: block; color: #4b6081; }
.study-skill:last-child { border-bottom: 0; }
#skill-results { scroll-margin-top: 15px; }
@media(max-width: 580px) { .study-grid { grid-template-columns: 1fr; } }

.circle-challenge { background: #eef4ff; border-color: #d6e4fc; }
.circle-challenge h2 { margin: 5px 0 0; }
.circle-board .button-row { margin: 13px 0; }
.circle-board table { width: 100%; border-collapse: collapse; }
.circle-board :is(th,td) { text-align: left; padding: 12px 8px; border-bottom: 1px solid #e1ebf8; }
.circle-board :is(th,td):last-child { text-align: right; }
.circle-board th { color: #4d6385; font-size: 12px; }
.circle-board td { overflow-wrap: anywhere; }
.circle-board .your-rank { background: #eef4ff; }
@media(max-width: 800px) {
  .study-card :is(button, .secondary, select) { min-height: 44px; }
}

.artwork-dialog { padding: 0; width: min(94vw, 740px); max-height: 88dvh; border: 1px solid #dce7f6; border-radius: 14px; color: #182942; }
.artwork-dialog::backdrop { background: #172c50aa; }
.artwork-dialog header { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 10px 14px; }
.artwork-dialog .button-row { margin: 0; flex-wrap: nowrap; }
.artwork-dialog :is(.primary,.secondary) { min-height: 44px; white-space: nowrap; padding-inline: 10px; }
.artwork-scroll { overflow: auto; max-height: calc(88dvh - 65px); background: #fff; }
.artwork-scroll img { display: block; width: 100%; height: auto; }
.artwork-expanded .artwork-scroll img { width: max(170%, 680px); max-width: none; }
.english-passage-art .artwork-zoom { display: inline-flex; align-items: center; gap: 4px; padding: 7px 0; }
.english-passage-art .artwork-zoom .icon { width: 14px; height: 14px; }
@media(max-width: 800px) {
  .mobile-subject { background: #e9f0fb; padding: 3px; border-radius: 11px; }
  .mobile-subject > a { display: flex; align-items: center; border-radius: 8px; }
  .mobile-subject > a[aria-current="true"] { background: #fff; color: #244bb4; box-shadow: 0 1px 3px #27385520; }
  .mobile-subject > a[href="#english"][aria-current="true"] { color: #674ca5; }
  .test-shell .artwork-zoom { min-height: 44px; align-items: center; }
  body:has(.test-shell) #toast { bottom: calc(126px + env(safe-area-inset-bottom)); }
}

#toast.milestone-toast { background: #184b3c; }
@media(prefers-reduced-motion:no-preference) {
  #toast.show.milestone-toast { animation: goal-toast-in .32s ease-out; }
  @keyframes goal-toast-in { from { opacity: 0; scale: .94; } to { opacity: 1; scale: 1; } }
}
