:root{--bg:#f6f7f4;--paper:#fff;--ink:#203c36;--muted:#758079;--line:#e5e9e3;--green:#214d40;--lime:#e0edbf;--orange:#eaa870;--purple:#aca0d4;--red:#ae514b;--radius:18px;font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:11px 16px;font-size:14px;font-weight:600;transition:background .15s,transform .15s}button:hover{background:#edf2e9}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #819b58;outline-offset:3px}a:hover{text-decoration:underline}button.primary,.primary{background:var(--green);border-color:var(--green);color:#fff}button.primary:hover{background:#173a30}.soft{background:#f0f4ec}.danger{color:var(--red)}.ghost{background:transparent;border-color:transparent}.small{font-size:12px;padding:8px 12px}.iconbutton{padding:9px 12px}.skip{position:fixed;left:10px;top:-60px;z-index:100;background:white;padding:14px}.skip:focus{top:10px}svg.icon{height:20px;width:20px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}#sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:#fff;border-right:1px solid var(--line);padding:33px 24px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:12px;align-items:center;font-size:20px;font-weight:750;letter-spacing:-.7px}.brand:hover{text-decoration:none}.brand small{display:block;font-size:9px;color:#89958b;letter-spacing:1.6px;margin-top:6px}.brandmark{width:39px;height:43px;display:grid;place-content:center;background:#234c3e;color:#e6f3c9;font-size:29px;border-radius:11px;position:relative}.brandmark span{position:absolute;font-size:18px;right:3px;top:1px}.workspace{display:flex;gap:10px;align-items:center;background:#f6f7f4;border:1px solid #ecefe9;border-radius:12px;padding:13px 10px;margin:34px 0;font-size:12px;font-weight:650}.workspace small{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:5px}.workspaceicon{display:grid;place-content:center;width:32px;height:32px;border:1px solid #d8dfd1;border-radius:9px;background:white;font-size:10px}.navlabel{font-size:9px;font-weight:650;letter-spacing:1.9px;color:#97a095;margin:0 12px 15px}#nav{display:grid;gap:7px}#nav a{display:flex;gap:12px;align-items:center;padding:13px 14px;border-radius:9px;font-size:13px;color:#768077}#nav a:hover{background:#f5f7f1;text-decoration:none}#nav a.active{background:#edf3e6;color:#244d3d;font-weight:700}#nav a .count{margin-left:auto;font-size:10px;background:#fff;border:1px solid #e0e7d8;border-radius:5px;padding:2px 5px}.sidebarfoot{margin-top:auto;font-size:10px;color:#7e8b80;padding:24px 6px 0}.sidebarfoot a{display:block;margin:12px 0 24px;color:#47654d}.sidebarfoot small{font-size:9px;color:#a0a89e}.statusdot{display:inline-block;width:6px;height:6px;background:#79a363;border-radius:50%;margin-right:5px}.mobilebar{display:none}main{max-width:1580px;padding:32px 48px 50px;margin-left:246px;min-height:100vh}header.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px;font-size:12px;color:var(--muted);min-height:39px}.topbar strong{color:var(--ink);font-weight:600}.topright{display:flex;gap:18px;align-items:center}.avatar{display:grid;place-content:center;background:#e5e8dd;width:34px;height:34px;border-radius:50%;font-size:11px;color:var(--ink);font-weight:700}.topsearch{border:1px solid var(--line);border-radius:9px;background:white;padding:10px 14px;min-width:220px;color:#7c887b;text-align:left;font-size:11px;display:flex;align-items:center;gap:9px}.topsearch kbd{margin-left:auto;background:#f7f8f5;padding:2px 4px;color:#9ca498}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;color:#8b987e;text-transform:uppercase;margin-bottom:12px}h1,h2,h3,p{margin-top:0}h1{font-size:35px;line-height:1.2;letter-spacing:-1.4px;margin-bottom:12px;font-weight:650}h2{font-size:19px;letter-spacing:-.5px;font-weight:650;margin-bottom:8px}h3{font-size:15px;line-height:1.4;margin-bottom:7px}p{font-size:13px;line-height:1.7}.muted{color:var(--muted)}.tiny{font-size:11px}.sectionhead{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:29px 0 16px}.sectionhead p{margin:4px 0 0;font-size:11px}.textlink{color:#365f44;font-size:12px;font-weight:600}.hero{background:#20483d;border-radius:20px;min-height:230px;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:32px 36px;overflow:hidden;position:relative}.hero .eyebrow{color:#bfd1ab}.hero h1{max-width:570px;font-size:33px;margin-bottom:12px;letter-spacing:-1px}.hero p{color:#c3d0c8;max-width:430px;font-size:12px;margin:0 0 23px}.hero .primary{background:#e0edbf;color:#28412c;border:0;padding:12px 18px}.hero small{font-size:10px;color:#b1c2b6;margin-left:14px}.heroart{position:relative;min-width:220px;width:250px;height:170px;display:grid;place-items:center}.orbit{width:155px;height:155px;border:1px solid #52725b;border-radius:50%;position:absolute;transform:rotate(-20deg)}.orbit:before{content:'';position:absolute;inset:-24px;border:1px dashed #45634c;border-radius:50%}.studybook{width:94px;height:119px;background:#e6edcf;border-radius:5px 13px 13px 5px;transform:rotate(-13deg);box-shadow:6px 7px 0 #91a77e,8px 10px 0 #172f26;padding:16px 15px;border-left:7px solid #aac18c;position:relative}.studybook .line{height:3px;background:#9aaf81;margin:10px 0}.studybook strong{color:#274c37;font-size:22px}.artbadge{position:absolute;bottom:13px;right:15px;background:#f3d3a8;color:#35503b;border-radius:11px;padding:9px 12px;font-size:12px;transform:rotate(8deg)}.spark{position:absolute;top:2px;right:22px;color:#c3d6a3;font-size:30px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:21px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 19px;min-width:0}.stat .statlabel{display:flex;justify-content:space-between;align-items:center;color:#7b877d;font-size:11px}.stat .statlabel svg{height:17px;width:17px}.stat b{display:block;font-size:28px;font-weight:650;letter-spacing:-1px;margin:12px 0 6px}.stat b span{font-size:13px;color:#929b90;font-weight:400;letter-spacing:0}.stat small{font-size:10px;color:#919b8e}.stat .green{color:#6b8d53}.dashboardgrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:25px}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:22px}.actionsgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.actioncard{text-align:left;padding:22px 19px;min-height:170px;border-radius:15px;position:relative}.actioncard h3{margin-top:14px}.actioncard p{font-size:11px;color:var(--muted);font-weight:400;line-height:1.6;margin:0}.actioncard .arrow{position:absolute;right:17px;top:20px;color:#71846b}.iconbox{display:grid;place-content:center;width:35px;height:35px;border-radius:10px;background:#eff3e7;color:#59734d}.iconbox.purple{background:#eeebf8;color:#8b77b4}.iconbox.orange{background:#fcf0e5;color:#b67e50}.modulegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.modulecard{display:block;padding:19px 20px;border:1px solid var(--line);background:white;border-radius:14px}.modulecard:hover{text-decoration:none;border-color:#9aaf8a;transform:translateY(-1px)}.moduletop{display:flex;gap:12px;align-items:center}.moduletop h3{font-size:13px;margin:0 0 4px}.moduletop small{font-size:10px;color:var(--muted)}.progressbar{height:5px;background:#edf0e9;border-radius:9px;overflow:hidden;margin:16px 0 9px}.progressbar span{height:100%;display:block;background:#819b65;border-radius:9px}.modulestats{display:flex;justify-content:space-between;font-size:9px;color:#8b9588}.rightcol .card{margin-top:23px}.rightcol .card:first-child{margin-top:29px}.goalheader{display:flex;justify-content:space-between;align-items:center}.goalheader h3{font-size:13px;margin:0}.pill{font-size:10px;border-radius:6px;padding:4px 7px;background:#f0f3eb;color:#64765a;display:inline-block}.pill.purple{background:#f1edf8;color:#8875a6}.pill.orange{background:#fcf0e1;color:#a17b50}.goalring{display:grid;place-content:center;position:relative;margin:22px auto 16px;width:128px;height:128px;border-radius:50%;background:conic-gradient(#8aa66f var(--p),#eef1e9 0)}.goalring:before{content:'';position:absolute;inset:9px;border-radius:50%;background:white}.goalring strong,.goalring small{position:relative;text-align:center}.goalring strong{font-size:31px;font-weight:600}.goalring small{font-size:9px;color:#8c9686;margin-top:5px}.goalfoot{text-align:center;font-size:11px;color:#86907f;margin:0}.week{display:flex;justify-content:space-between;margin:23px 0 2px}.weekday{font-size:9px;color:#97a08f;text-align:center}.weekday b{width:23px;height:23px;display:grid;place-content:center;border-radius:50%;margin-top:7px;background:#f3f5ef;color:#afb8a7;font-size:10px}.weekday b.done{background:#e4edd9;color:#6c8753}.weekday b.today{outline:1px solid #9caf82;outline-offset:2px}.tipcard{background:#eeefdf!important;border:1px solid #e4e7cf}.tipcard p{font-size:11px;line-height:1.8;color:#7c876b;margin:12px 0}.tipcard h3{font-size:13px}.tipcard .textlink{font-size:11px}.activityitem{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);gap:12px}.activityitem:last-child{border-bottom:0}.activityitem p{margin:0;font-size:12px}.activityitem small{font-size:10px;color:var(--muted)}.scorebadge{font-size:12px;font-weight:700;background:#edf4e6;border-radius:7px;padding:7px 10px;white-space:nowrap}.empty{text-align:center;padding:35px 20px;color:var(--muted);font-size:13px}.empty svg{height:30px;width:30px;margin-bottom:8px}.pageintro{margin:0 0 25px}.pageintro p{color:var(--muted);max-width:700px}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.toolbar label{font-size:12px;display:flex;align-items:center;gap:8px}input,select,textarea{border:1px solid #dce3d7;border-radius:9px;background:white;color:var(--ink);padding:11px 12px;max-width:100%}input[type=search]{flex:1;min-width:180px}input[type=number]{width:85px}textarea{width:100%;resize:vertical}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{border-radius:20px;padding:8px 14px;font-size:11px}.chip.active{background:#e3edd9;border-color:#b8c9a4}.fullgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.notice{font-size:12px;border-left:3px solid #9daf79;background:#f0f3e8;padding:14px 18px;border-radius:0 9px 9px 0;line-height:1.6;margin:18px 0}.notice.warning{border-color:#d8a26a;background:#fbf1e5}.twocol{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px}.lessonlist{display:grid;gap:12px}.lessonlist details{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden}.lessonlist summary{cursor:pointer;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;list-style:none}.lessonlist summary:after{content:'+';font-size:21px;color:#8b9b7b}.lessonlist details[open] summary:after{content:'−'}.lessonbody{padding:0 23px 22px}.lessonbody p{color:#687865;white-space:pre-line}.lessonbody h4{font-size:14px;margin-bottom:8px}.lessonbody img{max-width:100%;height:auto;border-radius:10px;margin:15px 0;background:#f5f5ef}.lessonbody .source{font-size:10px;color:#8e9c83}.studyfigure{margin:0}.studyfigure figcaption{font-size:11px;color:var(--muted);padding-bottom:10px}.sticky{position:sticky;top:25px}.stack{display:grid;gap:10px}.sidepanel h3{margin:0 0 17px}.sidepanel button{width:100%}.sourcebutton{font-size:11px;text-decoration:underline;display:block;margin-top:15px;color:#7a8c70}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px;font-size:12px}.field input,.field select{width:100%}.formgrid .wide{grid-column:1/-1}.examhead{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:5px 0 20px}.examhead h1{font-size:24px;letter-spacing:-.7px}.examhead .timer{font-variant-numeric:tabular-nums;font-size:21px;display:flex;gap:9px;align-items:center}.timer.low{color:var(--red)}.examgrid{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:22px}.question{padding:30px}.question h2{font-size:22px;line-height:1.6;margin:18px 0 25px;letter-spacing:-.4px}.question .questionmeta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.options{display:grid;gap:12px}.option{display:flex;gap:15px;align-items:center;text-align:left;padding:15px;font-size:14px;line-height:1.5;font-weight:400;background:#fff;min-height:60px;border-radius:12px}.option .letter{display:grid;place-content:center;width:30px;height:30px;border-radius:8px;background:#f4f5f0;flex-shrink:0;font-size:12px;font-weight:650}.option.selected{border:2px solid #668a51;background:#f5f9f0;padding:14px}.option.selected .letter{background:#dceaca;color:#36582a}.examfooter{display:flex;justify-content:space-between;gap:10px;margin-top:22px}.qmap{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:17px 0}.qmap button{padding:9px 0;border-radius:7px;font-size:11px;background:#f7f8f5}.qmap button.answered{background:#e9f0e2;color:#50723c;border-color:#cedcbe}.qmap button.flagged{box-shadow:inset 0 -3px 0 #deb374}.qmap button.current{border:2px solid #476b39}.examtools{display:flex;justify-content:space-between;align-items:center;margin-top:21px;gap:10px;flex-wrap:wrap}.feedback{padding:16px;background:#f2f6ed;border-radius:12px;margin-top:20px;font-size:12px;line-height:1.8}.feedback.bad{background:#fcf0eb}.feedback p{margin:5px 0 0;font-size:12px}.correcttext{color:#59783d}.wrongtext{color:#ae514b}.reviewcard{margin-bottom:15px}.reviewcard h3{font-size:16px;margin-top:14px}.reviewcard p{font-size:12px}.reviewcard .qnote{margin-top:13px}.resultbanner{background:#e7eddb;border:1px solid #d7e1c5;padding:28px;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.resultbanner h1{margin-bottom:8px}.resultscore{font-size:51px;font-weight:600;letter-spacing:-2px;white-space:nowrap}.resultscore small{font-size:17px;letter-spacing:0}.resultbanner p{margin:0}.barchart{display:grid;gap:19px;margin:20px 0}.barrow{display:grid;grid-template-columns:150px 1fr 55px;align-items:center;gap:12px;font-size:11px}.barrow .progressbar{margin:0;height:8px}.barrow b{text-align:right}.backupgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.backupgrid h3{margin:12px 0}.backupgrid p{color:var(--muted)}.searchresult{margin-bottom:13px}.searchresult h3{margin:10px 0}.searchresult .details{margin-top:14px}.searchresult summary{font-size:12px;cursor:pointer}.searchresult p{font-size:12px}.chartempty{display:flex;align-items:flex-end;gap:12px;height:100px;margin:20px 0}.chartempty div{background:#e5ecd9;width:28px;border-radius:4px 4px 0 0}.footnote{margin-top:32px;font-size:10px;color:#96a08d;line-height:1.7}#toast{position:fixed;bottom:24px;left:calc(50% + 100px);transform:translateX(-50%);background:#223f32;color:white;border-radius:12px;padding:13px 20px;font-size:12px;z-index:100;box-shadow:0 10px 40px #12342124;display:none;max-width:90vw}dialog{border:1px solid #dce2d4;border-radius:18px;max-width:520px;width:calc(100% - 30px);padding:29px;color:var(--ink);box-shadow:0 30px 100px #17332033}dialog::backdrop{background:#12241c77;backdrop-filter:blur(3px)}dialog h2{margin-bottom:17px}dialog p{color:var(--muted)}dialog .buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}.paused{text-align:center;padding:65px 20px}.paused .icon{height:40px;width:40px;margin:0 0 20px}.paused h2{font-size:25px}.lastattempt{background:#eff4e8;border:1px solid #dae5cb;padding:16px 20px;border-radius:12px;display:flex;gap:15px;align-items:center;justify-content:space-between;margin:20px 0}.lastattempt p{margin:0;font-size:12px}.savedwarning{position:fixed;bottom:0;left:246px;right:0;background:#9b453c;color:#fff;padding:12px;text-align:center;z-index:90;font-size:12px}
@media(min-width:1600px){main{margin-right:auto;margin-left:246px;padding-left:60px;padding-right:60px}}
@media(max-width:1250px){main{padding:28px}.dashboardgrid{grid-template-columns:minmax(0,1fr) 265px;gap:18px}.heroart{min-width:170px;width:180px}.hero{padding:28px}.hero h1{font-size:29px}.fullgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.topsearch{min-width:180px}.actionsgrid{gap:10px}.actioncard{padding:18px 14px}.twocol{grid-template-columns:minmax(0,1fr) 270px}}
@media(max-width:1050px){#sidebar{width:210px;padding:29px 16px}main{margin-left:210px;padding:25px}.brand{font-size:18px}.dashboardgrid{grid-template-columns:1fr}.rightcol{display:grid;grid-template-columns:1fr 1fr;gap:18px}.rightcol .card,.rightcol .card:first-child{margin-top:20px}.heroart{min-width:190px}.stats{gap:10px}.stat{padding:15px}.examgrid{grid-template-columns:1fr 200px}.question{padding:23px}.savedwarning{left:210px}}
@media(max-width:760px){.mobilebar{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 18px;z-index:40}.mobilebar .brandmark{width:29px;height:31px;font-size:22px;border-radius:7px}.mobilebar .brand{font-size:17px}#sidebar{transform:translateX(-100%);transition:transform .2s;width:255px;top:59px;padding-top:24px}body.menuopen #sidebar{transform:translateX(0)}.scrim{position:fixed;inset:59px 0 0;background:#1d332755;border:0;border-radius:0;z-index:29;width:100%}.scrim:hover{background:#1d332755}main{margin:0;padding:19px 18px 35px}header.topbar{margin-bottom:23px;min-height:25px}.topsearch,.topright .date{display:none}.avatar{width:28px;height:28px;font-size:9px}.hero{min-height:230px;padding:26px}.hero h1{font-size:28px;max-width:400px}.heroart{display:none}.hero small{display:block;margin:13px 0 0}.hero p{font-size:12px}.stats{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.stat{padding:16px}.stat b{font-size:26px}.stat small{font-size:9px}.dashboardgrid{gap:10px}.actionsgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.actioncard{padding:15px 12px;min-height:163px}.actioncard h3{font-size:12px}.actioncard p{font-size:10px}.actioncard .arrow{display:none}.iconbox{width:31px;height:31px}.modulegrid,.fullgrid{grid-template-columns:1fr 1fr;gap:10px}.modulecard{padding:15px 12px}.moduletop{gap:8px}.moduletop .iconbox{display:none}.moduletop h3{font-size:12px}.rightcol{gap:10px}.rightcol .card{padding:18px 14px}.goalring{width:105px;height:105px}.week{gap:3px}.weekday b{width:19px;height:19px}.sectionhead h2{font-size:18px}.sectionhead .textlink{font-size:11px}.twocol{grid-template-columns:1fr}.sticky{position:static}.sidepanel{order:-1}.examgrid{grid-template-columns:1fr}.examgrid>.card{order:-1;padding:15px}.qmap{grid-template-columns:repeat(10,1fr);margin:10px 0}.qmap button{font-size:10px;padding:7px 0}.examgrid>.card h3{font-size:12px;margin:0}.examhead h1{font-size:19px}.examhead .timer{font-size:17px}.question{padding:21px 18px}.question h2{font-size:18px}.option{font-size:13px}.examfooter{gap:6px}.examfooter button{font-size:11px;padding:11px 12px}.examtools button{font-size:11px}h1{font-size:29px}.barrow{grid-template-columns:110px 1fr 40px}.resultbanner{padding:23px 20px}.resultscore{font-size:35px}.resultbanner h1{font-size:24px}.backupgrid{grid-template-columns:1fr}#toast{left:50%;bottom:16px}.savedwarning{left:0}.formgrid{gap:12px}.card{padding:20px}.activityitem p{font-size:11px}}
@media(max-width:390px){.hero{padding:23px}.hero h1{font-size:25px}.actionsgrid{grid-template-columns:1fr}.actioncard{min-height:0;display:grid;grid-template-columns:35px 1fr;column-gap:12px}.actioncard h3{margin:0}.actioncard p{grid-column:2}.actioncard .iconbox{grid-row:1/3}.rightcol{grid-template-columns:1fr}.modulegrid{grid-template-columns:1fr}.qmap{grid-template-columns:repeat(8,1fr)}.formgrid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:760px){#sidebar{visibility:hidden;pointer-events:none}body.menuopen #sidebar{visibility:visible;pointer-events:auto}}
