:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#152646;background:#f3f6fa;font-synthesis:none;line-height:1.55}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #be6500;outline-offset:3px}button{border:1px solid #d5ddeb;background:white;color:#152646;padding:10px 16px;border-radius:9px;font-weight:650}button:hover:not(:disabled){background:#edf3fc}a{color:#254fb0}.primary{background:#2657c8;border-color:#2657c8;color:white}.primary:hover:not(:disabled){background:#1942a4}.ghost{background:transparent}.skip{position:fixed;left:16px;top:-80px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.layout{display:grid;grid-template-columns:242px minmax(0,1fr);min-height:100vh}.sidebar{background:#152646;color:#fff;padding:28px 20px;display:flex;flex-direction:column;gap:24px}.brand{display:flex;gap:10px;align-items:center;font-size:20px;font-weight:750;letter-spacing:-.5px}.brandmark{background:#7de2c0;color:#152646;font-size:24px;font-weight:900;border-radius:9px;width:38px;height:38px;text-align:center;line-height:38px}.brand small{display:block;color:#acbddb;font-size:12px;letter-spacing:1.4px;font-weight:500;text-transform:uppercase}.side-label{color:#acbddb;font-size:12px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px}.levelnav{display:grid;gap:7px}.levelnav button{display:flex;text-align:left;gap:12px;align-items:center;background:transparent;color:#dce5f6;border:1px solid transparent;padding:10px}.levelnav button:hover{background:#243b61}.levelnav button.active{background:#7de2c0;color:#152646}.levelnav b{min-width:37px}.levelnav small{font-size:12px;display:block;opacity:.85}.sidebottom{margin-top:auto;border-top:1px solid #354562;padding-top:20px}.sidebar .side-action{width:100%;text-align:left;background:#243b61;border:0;color:white;margin:4px 0}.sidebar p{font-size:13px;color:#becee6}.workspace{min-width:0}.topbar{background:white;border-bottom:1px solid #dfe5ef;padding:19px 38px;display:flex;justify-content:space-between;gap:16px;align-items:center}.topbar span{font-size:14px;color:#586c89}.overall{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:650}.track{width:100px;height:6px;border-radius:20px;background:#e5ebf5;overflow:hidden}.track i{display:block;height:100%;background:#2a9e7b}.main{max-width:1160px;margin:auto;padding:32px 38px 22px}h1{font-size:34px;line-height:1.18;letter-spacing:-1.1px;margin:7px 0 12px}h2{font-size:23px;line-height:1.25;letter-spacing:-.5px;margin:0 0 14px}h3{font-size:18px;line-height:1.4;margin:5px 0 8px}p{margin:8px 0 16px}.muted{color:#5e6f87}.eyebrow{font-size:12px;letter-spacing:1.8px;text-transform:uppercase;color:#365faf;font-weight:750}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.intro p{max-width:580px}.levelbadge{font-size:44px;font-weight:850;letter-spacing:-2px;color:#2657c8;background:#e6eeff;border:1px solid #c8d9fa;border-radius:22px;padding:18px 25px;transform:rotate(4deg)}.startpanel{background:#e8f6f1;border:1px solid #c0e6d8;border-radius:14px;padding:20px 24px;display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:27px}.startpanel p{margin:4px 0;font-size:14px}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin:20px 0 16px;gap:12px}.sectionhead h2{margin:0}.pill{display:inline-block;background:#eaf0fc;color:#315795;padding:4px 9px;border-radius:6px;font-size:12px;font-weight:700}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card{background:white;border:1px solid #dce3ee;border-radius:13px;padding:20px;display:flex;flex-direction:column;gap:8px;box-shadow:0 3px 4px #18264103}.cardtop{display:flex;justify-content:space-between;gap:10px}.card p{font-size:14px;margin:0;color:#5e6f87}.card .open{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:16px}.cardnum{font-size:13px;color:#77849a;font-weight:650}.done{color:#14694f;background:#e2f5ec}.bottompanel{background:white;border:1px solid #dce3ee;border-radius:13px;padding:22px;margin-top:22px}.bottompanel .actions{margin-top:14px}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.fine{font-size:13px;color:#63758c}.footer{font-size:12px;color:#66788f;padding-top:20px;margin-top:16px;border-top:1px solid #dce3ee}.back{margin-bottom:22px;padding:6px 0;border:0;background:transparent;color:#315aa9}.lessonhead{margin-bottom:22px}.steps{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.step{font-size:13px;padding:7px 12px;background:#e9eef7;border-radius:20px}.step.active{background:#152646;color:white}.learn-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:18px}.rule{padding:25px;background:white;border:1px solid #dce3ee;border-radius:13px;font-size:17px;line-height:1.8}.example{border-left:3px solid #30a784;padding:12px 16px;background:#f0faf6;margin:20px 0 10px;font-size:16px}.tip{background:#e9effc;border:1px solid #cfddf8;padding:22px;border-radius:13px;align-self:start}.tip p{font-size:15px}.vocab{font-size:14px;background:#fff;padding:12px;border-radius:8px;margin-top:18px}.quiz{background:white;border:1px solid #dce3ee;border-radius:14px;padding:26px;max-width:850px}.question{font-size:23px;line-height:1.65;font-weight:650;margin:20px 0}.choices{display:grid;gap:10px;margin-bottom:20px}.choice{text-align:left;padding:14px 18px;display:flex;align-items:center;gap:14px;font-size:18px;font-weight:500}.choice.selected{border:2px solid #2657c8;background:#ecf2ff;padding:13px 17px}.key{font-size:13px;border:1px solid #cbd5e6;border-radius:5px;min-width:27px;text-align:center;color:#63758c}.answerinput{width:100%;padding:14px;border:1px solid #aebbd0;border-radius:8px;font-size:19px;margin:8px 0 18px}.feedback{padding:14px 17px;border-radius:8px;background:#fff3df;border:1px solid #e8c786;margin:12px 0 20px}.feedback.correct{background:#e8f7f0;border-color:#a8dcc5;color:#176a50}.feedback p{margin:2px 0;font-size:15px}.qprogress{height:5px;background:#e8edf6;border-radius:5px;overflow:hidden;margin:12px 0}.qprogress span{display:block;background:#2657c8;height:100%}.score{font-size:48px;font-weight:800;letter-spacing:-2px;line-height:1.2}.results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.resultrow{border:1px solid #dce3ee;border-radius:10px;padding:16px;background:white}.resultrow p{font-size:14px;margin:5px 0}.notes{display:block;width:100%;min-height:90px;padding:12px;border:1px solid #b9c5d7;border-radius:8px;margin:8px 0 14px}.saving{margin-top:24px;border-top:1px solid #dce3ee;padding-top:20px}.report{width:100%;border-collapse:collapse;background:white;font-size:14px}.report th,.report td{padding:12px;text-align:left;border-bottom:1px solid #dce3ee}.report th{background:#eaf0fa}.scrolltable{overflow:auto}.nameinput{padding:10px;border:1px solid #b9c5d7;border-radius:8px;max-width:100%}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#152646;color:white;border-radius:10px;padding:12px 20px;max-width:90%;z-index:9;box-shadow:0 4px 24px #15264622}#notice:empty{display:none}.printonly{display:none}details{margin-top:15px}summary{cursor:pointer;color:#315aa9}.filter{padding:8px;border-radius:8px;border:1px solid #c4d0e1;max-width:100%}.audio{padding:6px 10px;font-size:13px}.empty{padding:24px;border:1px dashed #b9c5d7;border-radius:12px}.rubric{padding-left:22px}.rubric li{margin:8px 0}.diagnosticbanner{margin-bottom:18px;background:white;padding:18px;border:1px solid #dce3ee;border-radius:12px}@media(min-width:1050px){.sidebar{position:sticky;top:0;height:100vh;overflow:auto}}@media(max-width:800px){.layout{grid-template-columns:1fr}.sidebar{padding:16px 20px;gap:15px}.brand small{display:none}.sidebar .side-label,.sidebar .sidebottom p{display:none}.levelnav{display:flex;overflow:auto;gap:8px}.levelnav button{display:block;min-width:65px;text-align:center;padding:8px}.levelnav small{display:none}.sidebottom{margin:0;padding:0;border:0;display:flex;gap:8px}.sidebar .side-action{width:auto;padding:8px 12px;font-size:13px}.topbar{padding:14px 20px}.main{padding:24px 20px}.learn-grid{grid-template-columns:1fr}.levelbadge{font-size:32px;padding:12px 18px}h1{font-size:29px}.intro{align-items:flex-start}.startpanel{align-items:flex-start}.report{font-size:13px}}@media(max-width:520px){.cards,.results{grid-template-columns:1fr}.startpanel{display:block;padding:18px}.startpanel button{margin-top:12px}.intro .levelbadge{display:none}.main{padding:22px 16px}.topbar{padding:12px 16px}.topbar>span{max-width:140px}.overall{gap:6px}.track{width:55px}.sectionhead{align-items:flex-start;flex-direction:column}.quiz{padding:19px}.question{font-size:21px}.rule{padding:20px}.card{padding:18px}}@media print{body{background:white;color:#000}.sidebar,.topbar,.back,.footer,.noprint,button,.saving,.filter,.skip,#notice{display:none!important}.layout{display:block}.main{padding:0;max-width:none}.printonly{display:block}.report{font-size:11px}.report th,.report td{padding:6px}.resultrow,.card,.bottompanel{break-inside:avoid}.scrolltable{overflow:visible}h1{font-size:24px}}

.vocab dl{margin:10px 0 0}.vocab-row{padding:7px 0;border-top:1px solid #e0e7f0}.vocab dt{font-weight:700}.vocab dd{margin:0;color:#4c607c;line-height:1.45}
