:root{--blue:#00f;--white:#fff;--paper:#f2f6fc;--ink:#00f;--muted:#415b7c;--line:#cbd9ee;--soft:#eaf2ff}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font:700 20px/1.55 Arial,Helvetica,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer;background:var(--blue);color:#fff;border:2px solid #0000;border-radius:10px;padding:14px 22px;font-weight:700;line-height:1.35}button:hover{background:#00c}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}input{width:100%;min-width:0;color:var(--blue);background:#fff;border:2px solid #aebfda;border-radius:9px;padding:15px 18px}input:focus{border-color:var(--blue);outline-offset:2px;outline:3px solid #b6d0ff}small,.muted{color:var(--muted)}small{font-size:20px}h1{letter-spacing:-2px;overflow-wrap:break-word;margin:22px 0;font:900 clamp(44px,4.5vw,66px)/1.08 Arial,Helvetica,sans-serif}h1 em{color:var(--blue);font-style:normal}h2{letter-spacing:-.7px;font:700 32px/1.25 Arial,Helvetica,sans-serif}h3{font-size:25px;font-weight:700;line-height:1.35}p{margin:16px 0}.shell{grid-template-columns:300px minmax(0,1fr);min-height:100vh;display:grid}aside{background:var(--blue);color:#fff;border-right:0;flex-direction:column;height:100vh;padding:32px 22px;display:flex;position:sticky;top:0;overflow-y:auto}.brand-link{display:block}.brand{align-items:center;gap:12px;display:flex}.brand-mark{flex:none;width:92px;height:92px}.brand-name{letter-spacing:1px;font:900 23px/1.1 Arial,Helvetica,sans-serif}.brand-name b{letter-spacing:4px;margin-top:5px;font-weight:900;display:inline-block}.sidebar-note{color:#c6d9ff;margin:20px 4px 0;font-size:20px}nav{gap:8px;margin-top:28px;display:grid}nav button{text-align:left;color:#fff;background:0 0;border:1px solid #ffffff1f;align-items:center;gap:13px;padding:14px 12px;font-size:20px;display:flex}nav button:hover{background:#ffffff12}nav button.active{color:var(--blue);background:#fff;border-color:#fff;box-shadow:0 4px 14px #00000014}nav button>span{text-align:center;flex:0 0 25px;width:25px}nav b{background:var(--blue);color:#fff;text-align:center;border-radius:8px;min-width:29px;margin-left:auto;padding:0 6px;font-size:20px}.aside-bottom{overflow-wrap:anywhere;margin-top:auto;padding:32px 4px 4px;font-size:20px}.aside-bottom p{color:#c6d9ff;margin-top:18px;font:700 22px/1.4 Arial,Helvetica,sans-serif}.private-dot{background:#9fc3ff;border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.text{color:var(--blue);text-underline-offset:4px;background:0 0;border:0;padding:0;font-size:22px;text-decoration:underline}.text:hover{color:var(--blue);background:0 0}aside .text{color:#fff}main{width:100%;min-width:0;max-width:1500px;padding:32px clamp(24px,4vw,60px)}header{border-bottom:2px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;padding-bottom:24px;font-size:20px;display:flex}header>span:first-child{color:var(--blue);font-weight:900}header .text{white-space:nowrap;font-size:20px}.intro{background:var(--blue);color:#fff;border-bottom:6px solid var(--blue);border-radius:20px;grid-template-columns:minmax(0,1fr) 120px;align-items:center;gap:24px;margin-top:24px;padding:24px 28px;display:grid}.intro h1{letter-spacing:-.5px;margin:0;font-size:clamp(24px,2.2vw,32px);line-height:1.35}.eyebrow{letter-spacing:1.3px;color:var(--blue);font-size:20px;font-weight:700}.hero-mark img{filter:drop-shadow(0 6px 10px #0000001a);width:120px;height:120px;display:block}.weekly-study{margin-top:36px}.study-day>h3{color:var(--blue);margin:28px 0 12px}.study-day .study{margin-top:0}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:32px;display:flex}.section-heading h2{margin-bottom:16px}.section-heading>span{color:var(--muted);font-size:22px}.progress-track{background:#d5e2f6;border-radius:20px;height:8px;margin-bottom:24px;overflow:hidden}.progress-track i{background:var(--blue);border-radius:20px;height:100%;display:block}.question{border:2px solid var(--line);background:#fff;border-radius:14px;margin-bottom:18px;padding:28px}.question-meta{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:14px;display:flex}.question-meta>span{color:var(--blue);font:900 28px/1.2 Arial,Helvetica,sans-serif}.question-meta small{letter-spacing:1px;text-transform:uppercase;background:var(--soft);color:var(--blue);border-radius:6px;padding:4px 10px;font-size:18px}.question label{margin-bottom:18px;font:700 26px/1.4 Arial,Helvetica,sans-serif;display:block}.question input{max-width:760px;font-size:22px}.submit-row{flex-wrap:wrap;align-items:center;gap:14px;margin:30px 0;display:flex}.submit-row>span{width:100%;color:var(--muted);font-size:22px}.secondary{color:var(--blue);background:#fff;border:2px solid #8faee1}.secondary:hover{background:var(--soft)}.error{color:#8a3019;background:#fff0eb;border:2px solid #e3ac98;border-radius:10px;padding:20px}footer{border-top:2px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:60px;padding:28px 0;font-size:20px;display:flex}footer span:first-child{color:var(--blue)}.login{border:2px solid var(--line);border-top:8px solid var(--blue);background:#fff;border-radius:20px;max-width:780px;margin:4vh auto;padding:40px}.login .brand{color:var(--blue)}.login .brand-mark{width:120px;height:120px}.login .brand-name{font-size:30px}.login>p{max-width:620px}.login form{gap:14px;margin:30px 0;display:grid}.login button{justify-content:space-between;align-items:center;gap:12px;display:flex}.login label{font-size:24px}.login small{font-size:22px}.study{margin-top:32px}.study article,.review-card,.result{border:2px solid var(--line);background:#fff;border-radius:14px;margin:18px 0;padding:26px 28px}.study .answer{color:var(--blue);margin:14px 0;font:900 30px/1.3 Arial,Helvetica,sans-serif}.result.missed,.result.correct{border-left:7px solid var(--blue)}.result p{font-size:22px}.result small{letter-spacing:.4px;font-size:20px}details{margin:20px 0}summary{cursor:pointer;color:var(--blue);font-size:24px}.result details label{gap:12px;margin:16px 0;display:grid}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:32px 0;display:grid}.metrics article{border:2px solid var(--line);border-top:6px solid var(--blue);background:#fff;border-radius:14px;padding:26px;display:grid}.metrics small{font-size:22px}.metrics strong{color:var(--blue);margin:14px 0;font:900 54px/1.2 Arial,Helvetica,sans-serif}.metrics span{color:var(--muted);font-size:24px}table{border-collapse:collapse;background:#fff;width:100%;max-width:650px}td,th{border-bottom:2px solid var(--line);text-align:left;padding:14px}.session-link{text-align:left;width:100%;margin:14px 0;display:block}button:focus-visible,summary:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #7fa9f0}.account-form{gap:14px;max-width:620px;margin:32px 0;display:grid}.account-form label{font-size:24px}.account-form small{font-size:22px}.account-form button{margin-top:12px}@media (width<=1200px){.shell{grid-template-columns:270px minmax(0,1fr)}aside{padding:26px 18px}.brand-mark{width:76px;height:76px}.brand-name{font-size:21px}}@media (width<=1000px){.metrics{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.intro{grid-template-columns:minmax(0,1fr) 80px;gap:14px;padding:20px}.intro h1{font-size:24px}.hero-mark img{width:80px;height:80px}.shell{display:block}aside{height:auto;padding:20px;position:static;overflow:visible}.brand-mark{width:86px;height:86px}.brand-name{font-size:25px}.sidebar-note,.aside-bottom{display:none}nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:22px}nav button{flex-wrap:wrap;align-content:center;gap:5px;padding:10px;font-size:18px}nav button>span{flex:none;width:auto}nav b{font-size:18px}main{padding:24px 20px}header{gap:12px;padding-bottom:20px;font-size:18px}header>span:first-child{width:100%}.eyebrow{font-size:18px}.question{padding:22px}.question label{font-size:24px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metrics article{padding:18px}.metrics strong{font-size:44px}.metrics small,.metrics span{font-size:20px}.login{border-left:0;border-right:0;border-radius:0;margin:0;padding:28px 24px}}@media (width<=430px){nav{grid-template-columns:repeat(2,minmax(0,1fr))}nav button{flex-wrap:nowrap;font-size:20px}.metrics{grid-template-columns:minmax(0,1fr)}.submit-row>button{width:100%}.study article,.review-card,.result{padding:22px}.login .brand-mark{width:100px;height:100px}.login .brand-name{font-size:26px}}
