/* KLAR: warm editorial typography, quiet structure, expressive language cards. */
:root{--ink:#173d32;--green:#214f3e;--cream:#faf9f4;--muted:#62736a;--line:#e2e7dd;--lime:#d9ee99;--yellow:#f3d477;--peach:#f0c8b8}
body{font-family:Inter,"Avenir Next",Avenir,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;background:var(--cream)}
.layout{grid-template-columns:208px minmax(0,1fr)}aside{background:#f1f3eb;border-right:1px solid #e2e6dc;padding:30px 20px}.brand{font-size:43px;line-height:1;letter-spacing:-3.5px;color:var(--green)}.brand span{font-size:30px;color:var(--green);vertical-align:top}.tag{font-size:9px;letter-spacing:1.7px;margin-top:13px;color:#687b6f}.primary-nav{margin-top:48px;gap:6px}.primary-nav button{display:flex;align-items:center;gap:12px;color:#586e60;padding:12px;border-radius:7px;font-size:12px;font-weight:550}.primary-nav button.active{background:var(--green);color:#fff;box-shadow:none}.primary-nav button:hover:not(.active){background:#e7ecdf}.primary-nav svg{width:19px;height:19px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.asidebottom{border-top:1px solid #d6decd;line-height:1.8}.asidebottom b{font-size:15px;color:var(--ink);font-weight:600}.asidebottom .pill{display:inline-block;border:0;background:#e4ead9;margin-top:8px;font-size:10px}
main{max-width:1420px;padding:28px clamp(25px,4vw,65px) 40px;margin:0 auto;min-width:0}.top{margin-bottom:35px;padding-bottom:20px;border-bottom:1px solid var(--line)}.top .eyebrow{font-size:10px;letter-spacing:1.5px;color:#78867c}.top .pill{border:0;background:#edf1e5}.avatar{background:#e4e9d9;font-weight:650;font-size:12px;width:33px;height:33px}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:700}.live-dot{display:inline-block;width:6px;height:6px;background:#76985a;border-radius:50%;margin-right:8px;vertical-align:middle}
h1,h2,h3{color:var(--ink)}h1{font-size:clamp(34px,4vw,52px);font-weight:600;line-height:1.08;letter-spacing:-2px}h2{font-size:25px;letter-spacing:-.7px;font-weight:650}h3{font-weight:650;letter-spacing:-.3px}p{line-height:1.75}button{transition:background .16s,color .16s,box-shadow .16s,transform .16s}.primary{background:var(--green);color:#fff;border-radius:7px;padding:14px 22px;font-size:13px;font-weight:600;box-shadow:none}.primary:hover{background:#173c2d;filter:none;transform:translateY(-1px)}.primary:active{transform:translateY(0)}.secondary{border-radius:7px;border:1px solid #ced8c8;background:transparent;font-size:12px;font-weight:600;padding:11px 16px}.secondary:hover{background:#edf1e4}.text-button{border:0;background:transparent;padding:8px 0;color:var(--ink);font-size:12px;font-weight:600;text-align:right}.text-button:hover{text-decoration:underline;text-underline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #789a48;outline-offset:4px}
.editorial-hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:30px;min-height:380px;margin-bottom:20px}.hero-copy h1{font-size:clamp(43px,4.7vw,67px);font-weight:600;line-height:1.04;letter-spacing:-3px;margin:23px 0}.hero-copy h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-2px}.hero-copy>p{max-width:375px;font-size:14px;line-height:1.85}.hero-copy .primary{margin-top:23px;min-width:200px;display:inline-flex;justify-content:space-between;gap:30px;align-items:center}.hero-copy .primary span{font-size:20px}.hero-caption{display:block;font-size:10px;color:#708272;margin:13px 0 20px}
.language-art{position:relative;min-height:350px;display:flex;align-items:center;justify-content:center;background:#e9eee0;border-radius:50% 50% 12px 12px;isolation:isolate;margin:4px 10px 10px 0}.art-caption{position:absolute;top:36px;font-size:8px;letter-spacing:1.8px;z-index:1}.postcard{display:flex;flex-direction:column;align-items:center;width:80%;max-width:280px;background:#f6d983;padding:26px 20px 30px;border:1px solid #d3b969;border-radius:8px;transform:rotate(-8deg);box-shadow:7px 11px 0 #d5deca;position:relative}.postcard-label{font-size:8px;letter-spacing:2px}.postcard>b{font-size:75px;letter-spacing:-5px;line-height:1.3;font-family:Georgia,serif;font-weight:400}.postcard>b>span{color:#a76743}.postcard>span:last-child{font-size:11px;font-weight:550;margin-top:8px}.sound-wave{height:30px;display:flex;gap:4px;align-items:center;margin:5px 0}.sound-wave i{width:3px;background:#416044;border-radius:4px;height:8px}.sound-wave i:nth-child(3n){height:25px}.sound-wave i:nth-child(2n){height:17px}.sound-wave i:nth-child(6){height:30px}.little-card{position:absolute;bottom:22px;right:-5px;background:#fffdf6;padding:17px 20px;border:1px solid #dce1d3;border-radius:7px;transform:rotate(5deg);font-family:Georgia,serif;font-size:18px;box-shadow:0 4px 10px #173d3208}.little-card small{display:block;font:10px/1.5 system-ui,sans-serif;letter-spacing:0;color:#6b7c6b;margin-top:5px}.art-spark{position:absolute;right:8px;top:65px;font-size:54px;color:#315b3c}.art-stamp{position:absolute;left:0;bottom:24px;border:1px solid #75916c;border-radius:50%;height:69px;width:69px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:23px;transform:rotate(-15deg);background:#e9eee0}.art-stamp small{font-size:6px;letter-spacing:1px}
.next-up{display:flex;align-items:center;gap:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:6px 0 30px}.next-label{font-size:9px;letter-spacing:1.6px;color:#687b6b;white-space:nowrap}.next-label span{display:block;font-size:22px;line-height:1.2}.next-up>div{flex:1;min-width:0}.next-up h2{font-size:16px;letter-spacing:-.3px;margin:0 0 3px}.next-up p{font-size:10px;margin:0}.next-up .secondary{white-space:nowrap}
.quick-grid{gap:18px;margin:0 0 42px}.quick-card{border:0;border-radius:10px;padding:23px 20px;gap:19px;min-height:155px;position:relative}.vocabulary-card{background:#f3e7c9}.exam-card{background:#e5ecdd}.quick-card:hover{transform:translateY(-3px);box-shadow:0 7px 18px #173d3209}.quick-card .eyebrow{display:block;font-size:8px;letter-spacing:1.5px;margin-bottom:8px}.quick-card b{display:block;font-size:19px;letter-spacing:-.6px;line-height:1.3;font-weight:650}.quick-card p{font-size:10px;margin:9px 0 0}.quick-icon{background:transparent;border-radius:0;font:italic 46px/1 Georgia,serif;min-width:58px;height:auto;display:block;text-align:center;letter-spacing:-3px}.quick-icon span{display:block;font:7px/1.5 system-ui,sans-serif;letter-spacing:2px;margin-top:10px}.exam-card .quick-icon{font-style:normal;transform:rotate(-10deg)}.round-arrow{align-self:flex-start;font-size:20px;line-height:1}
.sectionhead{margin:28px 0 20px}.path-heading h2{font-size:31px;margin-top:8px}.levels{gap:0;border:1px solid #dce3d4;border-radius:9px;overflow:hidden;background:#fff}.level{border:0;border-radius:0;background:transparent;padding:12px 15px;min-width:0;flex:1;position:relative;text-align:center}.level+.level{border-left:1px solid #e7ebdf}.level b{font-size:18px;letter-spacing:-.3px}.level small{font-size:9px}.level.selected{background:var(--green)}.level.selected small{color:#dce8d5}.path-summary{font-size:10px;margin-top:20px}.progress{height:5px;background:#e7ecde;margin:12px 0;border-radius:5px}.progress i{background:#8eae69}.workspace-grid{grid-template-columns:minmax(0,1.9fr) minmax(220px,.9fr);gap:25px;margin-top:25px}.unit-grid{gap:9px}.unit-tab{padding:15px 17px;border-radius:8px;min-height:110px;background:#f7f8f1;border:1px solid #e0e6d7}.unit-tab.selected{border-color:#6c8a58;background:#eaf0dd;box-shadow:none}.unit-tab:hover{background:#eaf0dd}.unit-tab small{font-size:8px;color:#6b8064;letter-spacing:1.4px}.unit-tab b{font-size:12px;font-weight:600;margin-top:4px}.unit-tab>span{font-size:9px}.unit-tab i{font-style:normal;float:right;font-size:16px;line-height:1}
.card{border-radius:10px;border:1px solid #e0e6d8;padding:25px;background:#fff}.lesson-list{padding:25px;margin-top:22px}.lesson-list h2{font-size:23px;margin-top:9px}.lesson-list>p{font-size:12px;margin-bottom:15px}.lesson{padding:18px 0;gap:14px}.lesson b{font-size:12px;font-weight:600}.lesson small{font-size:10px}.number{width:35px;height:35px;border-radius:8px;background:#f0f3e9;color:#627e53;font-size:11px}.lesson.done .number{background:#d8e8bd;color:#214f3e}.lesson-state{font-size:9px}.lesson:hover .text b{text-decoration:underline;text-underline-offset:4px}.skill-card{background:#f0f3e8;border:0}.skill-card h2{font-size:27px;line-height:1.25;margin:12px 0 25px}.skillrow{font-size:11px}.skill .progress{height:4px}.skill{margin:18px 0}.quote{background:#f3e8d2;border:0;padding:25px;margin-top:20px}.quote h3{font:500 25px/1.25 Georgia,serif;letter-spacing:-.7px;margin:12px 0}.quote p{font-size:12px;color:#6c715f}.quote select{font-size:12px;border-color:#d7cfb7;background:#fff9eb}.quote .note{font-size:10px}
.activity{margin-top:25px}.activity .card{border-radius:12px;padding:32px}.activity h1{font-size:30px;line-height:1.2;letter-spacing:-1px}.activity .option{border-radius:8px;font-size:15px}.reading{border-radius:5px;border-left-color:#77985e;background:#f2f5e9}.feedback{background:#ecf3df;border-radius:7px}.feedback.bad{background:#fbebe0}.notice{border:1px solid #dde3d4;background:#f5f7ef}.note{line-height:1.7}.back{font-size:12px;color:#5a715e}.controls{gap:9px}.profile-field>span{font-size:12px}.profile-field input,.profile-field textarea,.profile-field select{background:#fcfdf8;border-color:#d5dfca;border-radius:7px}.account-form h2{font-size:28px}.account-form .note{font-size:12px}.account-form input[autocomplete=one-time-code]{font-size:24px}.word>b,.word div>b{font-size:16px}.word-example{background:#f3f6eb;padding:10px 16px;border-radius:0 7px 7px 0}.exam-mini{border-radius:9px;background:#f6f8f0}.exam-tabs .secondary{font-size:12px}
.site-footer{border-top:1px solid var(--line);padding-top:22px;margin-top:45px;display:flex;align-items:flex-start;justify-content:space-between;gap:15px;color:#71816f;font-size:10px}.footer-brand{color:var(--ink);font-size:22px;font-weight:750;letter-spacing:-1.2px}.site-footer p{font-size:10px;margin:3px 0}.site-footer details{max-width:340px;text-align:right}.site-footer summary{font-size:10px;font-weight:500}.site-footer details p{text-align:left;padding:12px;background:#f0f3e9;border-radius:6px}.save-status{margin-top:28px;font-size:10px;color:#657b5c}.save-status:empty{display:none}.save-status[role=alert]{padding:14px;background:#fbece0;color:#854a26;border-radius:7px}.skip-link{position:absolute;left:20px;top:-100px;background:#fff;padding:12px;z-index:100}.skip-link:focus{top:10px}
@media(min-width:1450px){.editorial-hero{gap:60px}.language-art{min-height:390px}.postcard{max-width:320px}.postcard>b{font-size:88px}}
@media(max-width:1100px){.layout{grid-template-columns:180px minmax(0,1fr)}main{padding:25px}.editorial-hero{gap:15px}.hero-copy h1{font-size:48px}.language-art{min-height:310px}.postcard>b{font-size:62px}.little-card{font-size:15px;right:-4px;padding:12px}.workspace-grid{grid-template-columns:1fr}.workspace-grid>div{display:grid;grid-template-columns:1fr 1fr;gap:18px}.workspace-grid .quote{margin:0}.quick-icon{font-size:36px;min-width:42px}.quick-card{padding:20px 16px;gap:13px}.quick-card b{font-size:17px}}
@media(max-width:700px){.layout{display:block}aside{position:sticky;top:0;z-index:20;height:auto;display:block;background:#faf9f4f5;backdrop-filter:blur(12px);padding:13px 18px 0;border-right:0;border-bottom:1px solid #e0e5d8}aside>div:first-child{display:flex;align-items:center;justify-content:space-between}.brand{font-size:34px;letter-spacing:-2px}.brand span{font-size:25px}.tag{display:block;font-size:8px;margin-top:0;letter-spacing:1px}.asidebottom{display:none}.primary-nav{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:14px;margin-top:12px;width:100%;padding:0;scrollbar-width:none}.primary-nav::-webkit-scrollbar{display:none}.primary-nav button{display:flex;flex-direction:row;flex:0 0 auto;gap:5px;min-height:42px;padding:10px 0;font-size:10px;border-radius:0;border-bottom:2px solid transparent}.primary-nav svg{width:15px;height:15px}.primary-nav button.active{background:transparent;color:var(--green);border-bottom-color:var(--green)}.primary-nav button:hover:not(.active){background:transparent}main{padding:20px 20px 35px}.top{padding-bottom:13px;margin-bottom:25px}.top .eyebrow{font-size:8px}.top .pill{font-size:10px;padding:5px 9px}.avatar{width:27px;height:27px;font-size:10px;margin-left:5px}.editorial-hero{grid-template-columns:1fr;gap:12px;min-height:0}.hero-copy h1{font-size:clamp(43px,10vw,60px);letter-spacing:-2.6px;max-width:540px;margin-top:20px}.hero-copy>p{font-size:13px;max-width:400px}.hero-copy .primary{min-width:215px;margin-top:18px}.hero-caption{font-size:9px}.language-art{display:flex;min-height:240px;border-radius:90px 90px 9px 9px;margin:10px 5px 15px;background:#e9eee0}.postcard{max-width:235px;padding:20px 15px;transform:rotate(-6deg)}.postcard>b{font-size:66px}.art-caption{top:14px;font-size:6px}.postcard-label{font-size:6px}.sound-wave{height:20px;margin:0}.sound-wave i{transform:scaleY(.7)}.little-card{bottom:8px;right:-4px;padding:10px 15px;font-size:14px}.little-card small{font-size:8px}.art-spark{font-size:42px;top:22px;right:14px}.art-stamp{width:51px;height:51px;font-size:18px;bottom:14px;left:10px}.art-stamp small{font-size:5px}.next-up{gap:12px;padding:16px 0;margin-bottom:22px;flex-wrap:wrap}.next-label{font-size:7px;width:37px}.next-up h2{font-size:14px}.next-up p{font-size:9px}.next-up .secondary{margin-left:49px;font-size:10px;padding:8px 13px;min-height:37px}.quick-grid{grid-template-columns:1fr;gap:12px;margin-bottom:32px}.quick-card{min-height:135px;padding:20px;gap:20px}.quick-card b{font-size:21px}.quick-card p{font-size:10px}.quick-icon{font-size:46px;min-width:64px}.quick-card .eyebrow{font-size:7px}.round-arrow{margin-left:auto}.sectionhead{gap:10px}.path-heading h2{font-size:26px}.text-button{font-size:10px;max-width:100px}.eyebrow{font-size:8px;letter-spacing:1.5px}.levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.level{min-width:0;padding:11px 8px}.level:nth-child(4){border-left:0}.level:nth-child(n+4){border-top:1px solid #e7ebdf}.level small{font-size:9px}.unit-grid{gap:8px}.unit-tab{padding:13px 12px;min-height:108px}.unit-tab b{font-size:12px}.unit-tab small{font-size:7px}.unit-tab>span{font-size:9px}.workspace-grid>div{display:block}.workspace-grid .quote{margin-top:18px}.lesson-list{padding:20px}.lesson-list h2{font-size:22px}.lesson-state{font-size:8px}.lesson .text{min-width:0}.lesson b{font-size:12px}.lesson small{font-size:9px}.lesson .number{width:30px;height:33px}.activity .card{padding:23px 20px}.activity h1{font-size:27px}.activity-nav .back{font-size:10px}.skill-card h2{font-size:29px}.site-footer{margin-top:30px;gap:12px}.site-footer details{max-width:180px}.site-footer details p{font-size:10px}.card{padding:21px}.toolbar{gap:15px}.word{gap:10px}.word .controls{margin-top:8px}.word .secondary{font-size:11px}.controls .primary,.controls .secondary{max-width:100%;white-space:normal}.account-form h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){button{transition:none}.quick-card:hover,.primary:hover{transform:none}}
.top-actions{display:flex;align-items:center;gap:10px}.account-menu{position:relative;z-index:30}.account-menu>summary{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;min-height:44px;font-size:12px}.account-menu>summary::-webkit-details-marker{display:none}.account-menu .avatar{margin:0}.account-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:220px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 35px #173d321c;padding:9px}.account-dropdown p{font-size:12px;font-weight:650;padding:7px 10px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.account-dropdown button{display:block;width:100%;border:0;background:transparent;color:var(--ink);text-align:left;padding:9px 10px;border-radius:5px;font-size:13px}.account-dropdown button:hover{background:#eef3e6}.account-dropdown .signout-action{color:#9c432e;border-top:1px solid var(--line);border-radius:0;margin-top:5px}.signin-button{background:var(--green);color:#fff;border-color:var(--green)}.signin-button:hover{background:#173d32}.mobile-me{display:none}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links .text-button{font-size:11px;text-align:left}.resume-hero{min-height:240px}.resume-hero .hero-copy h1{font-size:45px}.resume-hero .language-art{min-height:235px}.resume-hero .postcard>b{font-size:54px}.resume-hero .art-caption,.resume-hero .little-card{display:none}.resume-hero .postcard{padding:18px}.resume-hero .art-spark{font-size:40px;top:20px}
@media(max-width:700px){body{padding-bottom:74px}aside{position:static;padding:15px 20px;border-bottom:1px solid var(--line)}.primary-nav{position:fixed;bottom:0;left:0;right:0;z-index:40;margin:0;padding:5px 12px max(8px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fafbf5;border-top:1px solid #dce4d2;overflow:visible;width:100%;box-shadow:0 -4px 20px #173d3205}.primary-nav button{flex-direction:column;justify-content:center;gap:4px;padding:6px 3px;min-height:51px;font-size:11px;border-bottom:0;border-radius:7px}.primary-nav button[data-nav=account],.primary-nav button[data-nav=leaderboard],.primary-nav button[data-nav=progress]{display:none}.primary-nav button.active{background:#e8efdc;border-bottom:0}.primary-nav svg{height:20px;width:20px}.desktop-me{display:none}.mobile-me{display:inline}.top{gap:10px}.top>.eyebrow{max-width:130px;line-height:1.6}.top-actions{gap:7px}.menu-label{display:none}.account-menu>summary{gap:4px}.top-actions .pill{font-size:10px}.site-footer{flex-wrap:wrap}.site-footer details{max-width:100%;text-align:left}.site-footer summary{font-size:12px}.footer-links .text-button{font-size:12px}.unit-tab small,.unit-tab>span,.lesson small,.lesson-state,.quick-card p,.quick-card .eyebrow,.path-summary,.hero-caption{font-size:11px}.next-up p{font-size:11px}.resume-hero .hero-copy h1{font-size:38px}.resume-hero .language-art{display:none}.account-dropdown{width:215px}.signin-button{padding:8px 13px}.account-form .note{font-size:13px}.card .note{font-size:12px}}
.skill-path-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0 32px}.skill-path-tile{display:flex;flex-direction:column;gap:10px;text-align:left;min-height:145px;padding:21px;border:1px solid #d6dfcb;border-radius:10px;background:#f1f5e6;color:var(--ink)}.skill-path-tile:nth-child(2){background:#fffdf5}.skill-path-tile:nth-child(3){background:#f9efde}.skill-path-tile:nth-child(4){background:#e7f0e9}.skill-path-tile b{font-size:27px;letter-spacing:-.6px}.skill-path-tile>span:last-child{font-size:12px;line-height:1.5}.skill-path-tile:hover{border-color:#6d8c59}.skill-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.path-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:25px 0;padding:20px 20px 20px 42px;border:1px solid var(--line);border-radius:9px;background:#f0f4e6}.path-steps li{padding-right:10px;font-size:14px}.skill-chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}.skill-chapters h2{font-size:23px}.skill-chapters .lesson small{line-height:1.6}.practice-route{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;background:#edf3e0;border:1px solid #d6e0c4;border-radius:7px;padding:12px 16px;margin:18px 0}.practice-route span{font-size:13px}.listening-transcript{margin:20px 0}.transcript-toggle{width:100%;text-align:left;min-height:48px;background:#e7efcf;border:2px solid #9ab166;color:#183c33;font-weight:650}.listening-transcript .reading{margin-top:12px;max-height:none;overflow:visible;padding:18px;overflow-wrap:anywhere}.writing-plan{border-left:3px solid #8c9e60;padding:15px 20px;background:#f9f5e9;margin:18px 0}.writing-plan h2{font-size:20px}.writing-plan ol{padding-left:21px}.reading{overflow-wrap:anywhere}.skill-path-tile:focus-visible,.transcript-toggle:focus-visible{outline:3px solid #738e31;outline-offset:3px}@media(max-width:900px){.skill-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-chapters{grid-template-columns:1fr}}@media(max-width:650px){.skill-path-tile{padding:17px;min-height:130px;gap:8px}.skill-path-tile b{font-size:25px}.skill-path-tile .eyebrow{font-size:10px}.skill-path-tile>span:last-child{font-size:12px}.path-steps{grid-template-columns:1fr;gap:3px}.skill-tabs .secondary{font-size:13px;min-height:44px}.practice-route{gap:5px}.writing-plan{padding:14px}.transcript-toggle{font-size:14px}}

.transcript>summary{padding:13px 16px;background:#e7efcf;border:1px solid #9ab166;border-radius:7px;color:#183c33;min-height:48px}.transcript[open]>summary{margin-bottom:14px}
.institute-panels{display:grid;gap:24px;margin:24px 0}.institute-form{display:grid;gap:16px;max-width:620px;margin-top:22px}.institute-form label,.institute-join>label,.institute-class label{display:grid;gap:7px;font-size:14px}.institute-form input,.institute-join input:not([type=checkbox]),.invite-code{font:inherit;max-width:100%;width:100%;min-height:46px;padding:10px 12px;background:#fcfdf8;border:1px solid #cdd8c3;border-radius:7px;color:var(--ink)}.institute-form button{justify-self:start}.institute-classes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.institute-class{display:flex;flex-direction:column;gap:12px;padding:22px;background:#f1f5e7;border:1px solid #d5dfc7;border-radius:10px}.institute-class h3,.institute-class p{margin:0}.invite-code{font-family:ui-monospace,monospace;font-size:13px}.institute-create{border-top:1px solid var(--line);padding:18px 0}.institute-create>summary{min-height:44px}.institute-join{margin-top:22px;padding:22px;background:#f5f7eb;border:1px solid #cbd8ba;border-radius:9px;display:grid;gap:14px}.institute-join .consent-label{display:flex;align-items:flex-start;gap:10px;line-height:1.8}.consent-label input{margin-top:7px;flex-shrink:0;accent-color:var(--green)}.membership{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid var(--line)}.membership>div:first-child{flex:1;min-width:180px}.membership p{margin:5px 0;font-size:14px}.membership .notice{width:100%}.student-progress{border-top:1px solid var(--line);padding:15px 0}.student-progress>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px}.student-progress summary small{display:block;font-size:12px;font-weight:400;margin-top:5px;color:#5c7065}.student-progress summary>span:last-child{font-size:13px}.student-progress-body{padding:20px;background:#f4f7ed;border-radius:8px;margin-top:12px}.institute-skill-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.institute-skill-grid span{display:block;font-size:12px;margin-top:6px}.institute-dashboard h3{margin-top:22px}.institute-dashboard li{font-size:14px;overflow-wrap:anywhere}.institute-dashboard .sectionhead{margin-top:0}@media(max-width:700px){.institute-classes{grid-template-columns:1fr}.institute-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-progress>summary{align-items:flex-start;flex-direction:column;gap:8px}.institute-join{padding:16px}.institute-form label,.institute-join>label{font-size:14px}.institute-form button,.institute-join>button{width:100%}.student-progress-body{padding:15px}.footer-links .text-button{max-width:none}}
.institute-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:25px 0 16px}.institute-overview article{background:#f1f5e7;border:1px solid #dae3cb;border-radius:9px;padding:20px 17px;display:flex;flex-direction:column;gap:9px}.institute-overview article:nth-child(3){background:#f9f1df}.institute-overview article:nth-child(4){background:#edf2ec}.institute-overview span{font-size:13px;font-weight:600}.institute-overview b{font-size:35px;letter-spacing:-1px;line-height:1.2}.institute-overview small{font-size:11px;line-height:1.5;color:#5c7062}.institute-dashboard .sectionhead p{margin:8px 0 0;font-size:14px}.institute-table-tools{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px;margin:26px 0 14px}.institute-table-tools label{display:grid;gap:7px;font-size:12px;font-weight:600}.institute-table-tools input{font:inherit;padding:10px 12px;min-height:44px;border:1px solid #d2dcc8;border-radius:6px;width:100%;background:white;color:var(--ink)}.institute-table-tools select{min-height:44px;font-weight:400}.institute-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:9px}.institute-student-table{width:100%;min-width:990px;border-collapse:collapse;text-align:left;font-size:13px}.institute-student-table th{padding:15px 12px;font-size:11px;letter-spacing:.3px;color:#5b7062;background:#f3f6ed;font-weight:650}.institute-student-table td{padding:19px 12px;vertical-align:middle;border-top:1px solid var(--line)}.institute-student-table td:first-child{min-width:145px;overflow-wrap:anywhere}.institute-student-table td:nth-child(2){min-width:280px}.institute-student-table td:nth-child(5){min-width:120px;font-size:11px}.institute-student-table small{display:block;line-height:1.6;font-size:11px;margin-top:5px;color:#5b7062}.institute-student-table button{font-size:12px;white-space:nowrap;padding:9px 11px;min-height:44px}.institute-row-skills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.institute-row-skills span{display:block;font-size:10px;color:#566b5b}.institute-row-skills b{display:block;margin-top:6px;font-size:15px}.institute-row-skills small{margin:0}.institute-row-skills .progress{height:4px;margin-top:8px;background:#e1e8d6}.student-status{font-weight:400}.awaiting-save{color:#8a5c31!important}.institute-student-detail{margin-top:24px;padding:24px;border:1px solid #bccba7;border-radius:10px;background:#fbfcf7}.institute-student-detail .sectionhead h3{margin:7px 0 0;font-size:24px}.institute-detail-skills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.institute-detail-skills article{background:#f0f5e6;border-radius:8px;padding:18px}.institute-detail-skills span{font-size:14px;font-weight:600;display:block}.institute-detail-skills small{display:block;font-size:11px;font-weight:400;margin-top:4px}.institute-detail-skills b{display:block;font-size:28px;margin:15px 0}.institute-detail-skills p{font-size:12px;margin:10px 0 0}.institute-guidance{border-left:3px solid #98ad64;background:#f5f0e1;padding:15px 20px;margin-bottom:24px}.institute-guidance p{margin:8px 0 0;font-size:14px}.mock-history{display:grid;gap:10px}.mock-history article{padding:14px 0;border-bottom:1px solid var(--line)}.mock-history span{display:block;font-size:11px;color:#65745e;margin-bottom:7px}.mock-history p{font-size:13px;margin:6px 0}.dashboard-method{padding:18px 0 0;margin-top:20px;border-top:1px solid var(--line)}.dashboard-method summary{font-size:12px;min-height:38px}.dashboard-method p{font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1000px){.institute-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.institute-detail-skills{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.institute-table-tools{grid-template-columns:1fr 1fr}.institute-table-tools>label:first-child{grid-column:1/-1}.institute-overview article{padding:16px 12px}.institute-overview span{font-size:12px}.institute-overview small{font-size:11px}.institute-student-table{min-width:0;display:block}.institute-student-table caption,.institute-student-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.institute-student-table tbody{display:block}.institute-student-table tr{display:grid;grid-template-columns:1fr 1fr;padding:16px 0;border-top:1px solid var(--line)}.institute-student-table tr:first-child{border-top:0}.institute-student-table td{display:block;padding:10px 15px;border:0;min-width:0!important}.institute-student-table td:before{content:attr(data-label);display:block;font-size:10px;font-weight:600;color:#6a7a67;margin-bottom:7px}.institute-student-table td:nth-child(1),.institute-student-table td:nth-child(2){grid-column:1/-1}.institute-student-table td:first-child>b{font-size:17px}.institute-student-table td:nth-child(5){font-size:12px}.institute-student-table td:nth-child(2):before{display:none}.institute-row-skills{gap:14px;background:#f4f7ee;border-radius:7px;padding:15px 12px}.institute-row-skills span{font-size:11px}.institute-row-skills b{font-size:18px}.institute-student-detail{padding:18px 15px}.institute-detail-skills article{padding:15px}.institute-table-tools label{font-size:12px}.institute-table-tools select{width:100%;font-size:12px}}
.admin-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:26px 0}.admin-overview article{padding:22px;background:#edf3e2;border:1px solid #d3dfc3;border-radius:10px}.admin-overview article:first-child{background:#f8efda}.admin-overview span{font-size:13px}.admin-overview b{display:block;font-size:34px;margin-top:12px}.admin-search{display:grid;grid-template-columns:2fr 1fr auto;gap:16px;align-items:end;margin:24px 0}.admin-search label{display:grid;gap:8px;font-size:13px}.admin-search input{font:inherit;padding:10px 12px;min-height:46px;border:1px solid #cad7bf;border-radius:7px;background:white;color:var(--ink)}.admin-search select,.admin-search button{min-height:46px}.admin-applications{display:grid;gap:12px;margin:20px 0}.admin-application{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px;border:1px solid var(--line);border-radius:10px;background:white}.admin-application h3{font-size:22px;margin:12px 0 6px}.admin-application p{font-size:14px;margin:7px 0;overflow-wrap:anywhere}.admin-application small{font-size:12px;color:#5d725f}.admin-review{margin-top:28px}.admin-review .sectionhead{margin-top:0}.admin-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:25px 0}.admin-facts dt{font-size:11px;color:#607359}.admin-facts dd{margin:7px 0;font-size:15px;overflow-wrap:anywhere}.admin-confirm{padding:24px;border:1px solid #bdce99;border-radius:9px;background:#f6f2e4;margin-top:24px}.admin-confirm label{display:grid;gap:9px;font-size:13px}.admin-confirm textarea{background:#fffdf7;border:1px solid #cbd5bb;border-radius:7px;padding:14px;min-height:120px}.admin-confirm .controls{margin-top:18px}.admin-history{margin-top:26px;border-top:1px solid var(--line);padding-top:19px}.admin-history ol{padding-left:22px}.admin-history li{padding:12px 0;border-bottom:1px solid var(--line)}.admin-history small{display:block;font-size:12px;margin-top:7px}.admin-history p{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:700px){.admin-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-overview article{padding:17px}.admin-search{grid-template-columns:1fr 1fr}.admin-search>label:first-child{grid-column:1/-1}.admin-application{align-items:flex-start;flex-direction:column;padding:20px}.admin-application button{width:100%}.admin-facts{grid-template-columns:1fr}.admin-confirm{padding:17px}.admin-search input{width:100%}}
.membership-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:25px 0}.membership-plans h2{font-size:35px}.membership-plans h2 small{font-size:13px;font-weight:400}.membership-plans p{font-size:14px}.membership-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:22px 0}.membership-metrics>div{background:#eff4e4;padding:18px;border-radius:8px}.membership-metrics b{display:block;font-size:28px}.membership-metrics span{font-size:12px}.access-records{display:grid;gap:13px;margin:20px 0}.access-records article{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}.access-records p,.access-records small{font-size:12px;margin:7px 0}.access-confirm{background:#f6f0dd!important;margin:24px 0}.access-confirm label{display:grid;gap:8px;font-size:13px}.access-confirm input{font:inherit;padding:12px;background:white;border:1px solid #bbcba4;border-radius:7px}.access-confirm .controls{margin-top:18px}.account-dropdown{max-height:calc(100dvh - 150px);overflow-y:auto}@media(max-width:700px){.membership-plans{grid-template-columns:1fr}.membership-metrics>div{padding:13px 10px}.access-records article{align-items:flex-start;flex-direction:column}.membership-plans h2{font-size:32px}}

.study-plan{margin:28px 0;background:#fffef8}.study-plan .sectionhead{margin-top:0}.study-plan-controls{display:grid;grid-template-columns:1fr 1fr 1.5fr auto;gap:14px;align-items:end}.study-plan-controls label{display:grid;gap:6px;font-size:12px}.study-plan-controls input,.study-plan-controls select{width:100%;padding:10px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);font:inherit}.plan-estimates{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.plan-estimates b{display:block;font-size:26px}.plan-estimates span{font-size:12px;color:var(--muted)}.study-queue{padding-left:22px}.study-queue li{padding:8px 0;border-bottom:1px solid var(--line)}.study-queue button{text-align:left}.study-queue button span{display:block;font-size:12px;color:var(--muted)}.plan-finish{margin-bottom:20px}@media(max-width:700px){.study-plan-controls{grid-template-columns:1fr 1fr}.study-plan-controls label:nth-child(3){grid-column:1/-1}.study-plan .sectionhead{display:block}.study-plan .pill{display:inline-block;margin-top:12px}.plan-estimates{gap:8px}.plan-estimates b{font-size:23px}}

/* Mobile interaction pass: only the primary menu may become a bottom bar. */
.site-footer nav{display:flex;position:static;flex-wrap:wrap;gap:8px;margin:12px 0;padding:0;width:auto;background:transparent;border:0;box-shadow:none}.site-footer nav a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:14px;border:1px solid var(--line);border-radius:6px;text-decoration:none}.plan-preview{font-size:14px}.plan-continue{margin:10px 0 14px}.plan-settings{margin-top:12px}.plan-settings>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:14px;text-decoration:underline;text-underline-offset:4px}.plan-settings-body{padding-top:18px}.study-queue .text-button{max-width:none;width:100%;text-align:left;font-size:14px;min-height:48px}.study-queue .text-button span{font-size:13px;line-height:1.6}
@media(max-width:700px){
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 input:not([type=checkbox]):not([type=radio]),select,textarea,.study-plan-controls input,.study-plan-controls select,.profile-field input,.profile-field select,.profile-field textarea,.institute-form input,.institute-form select{font-size:16px;min-height:44px;max-width:100%}
 button,.primary,.secondary,.back,.text-button,.account-dropdown button,summary,.linkbutton{min-height:44px;touch-action:manipulation}
 .text-button{max-width:none;font-size:13px}.account-dropdown{max-width:calc(100vw - 40px);max-height:min(70dvh,520px);overflow:auto}.account-dropdown button{font-size:14px;padding:12px 10px}
 .primary-nav{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}.primary-nav button{min-width:0;min-height:51px}.primary-nav svg{pointer-events:none}
 .study-plan .sectionhead{margin-bottom:10px}.study-plan h2{font-size:23px}.study-plan .pill{font-size:12px}.study-plan .plan-continue{width:100%;margin:10px 0}.study-plan-controls{grid-template-columns:minmax(0,1fr)}.study-plan-controls label:nth-child(3){grid-column:auto}.study-plan-controls label{font-size:13px}.study-plan-controls button{width:100%}
 .plan-estimates{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-estimates span{font-size:12px}.plan-estimates b{font-size:21px;overflow-wrap:anywhere}.study-queue{padding-left:18px}.study-queue li{padding:6px 0}
 .activity,.exam-workspace{min-width:0}.activity .card{padding:20px 16px}.activity-nav{flex-wrap:wrap;gap:8px}.activity-nav .back{font-size:13px;margin-bottom:6px}.reading{overflow-wrap:anywhere;max-height:none}.self-checks label,.consent-label{min-height:44px;align-items:center}.self-checks input,.consent-label input{min-width:22px;min-height:22px}
 .practice-actions{position:sticky;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:10;gap:8px;padding:10px 0;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 12px #ffffffed}.practice-actions .primary,.practice-actions .secondary{flex:1 1 110px;font-size:14px;padding:12px}
 body:has(input:focus,textarea:focus,select:focus) .primary-nav{visibility:hidden;pointer-events:none}body:has(input:focus,textarea:focus,select:focus) .practice-actions{position:static;box-shadow:none}body:has(input:focus,textarea:focus,select:focus){padding-bottom:12px}
 .quote select,.toolbar select{font-size:16px;min-height:44px}
 .question-pager button{width:44px;height:44px}.word button{min-width:44px;min-height:44px}.skill-tabs .secondary,.exam-tabs .secondary{font-size:13px;padding:10px 12px}.signin-button{font-size:14px}.top>.eyebrow{font-size:10px}
}

/* Three clear entry points, with the same scale on narrow screens. */
.start-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0 36px}.start-routes .card{text-align:left;display:flex;flex-direction:column;align-items:flex-start;white-space:normal;padding:25px;min-width:0}.start-routes h2{font-size:25px;margin:12px 0}.start-routes p{font-size:15px;line-height:1.6;flex:1}.start-routes .card>span:last-child{font-size:14px;font-weight:700}.hero-caption{max-width:440px;line-height:1.7}.plan-scope{margin-bottom:6px}.contact-block{margin-top:28px;padding-top:20px;border-top:1px solid var(--line,#dce3d9)}.contact-block a{overflow-wrap:anywhere;max-width:100%;white-space:normal}.exam-mini .pill{margin-bottom:12px}@media(max-width:750px){.start-routes{grid-template-columns:1fr;gap:12px}.start-routes .card{padding:20px}.start-routes h2{margin:8px 0}.start-routes p{margin:0 0 10px}}
.onboarding{margin:28px 0}.onboarding-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.onboarding-form label{display:flex;flex-direction:column;gap:8px}.onboarding-form .controls{grid-column:1/-1}.activity-report{margin:18px 0}.activity-report summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline}.activity-report a{white-space:normal}@media(max-width:750px){.onboarding-form{grid-template-columns:1fr}.onboarding-form select{width:100%;min-height:44px}}
.public-page-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:15px 0 40px}.public-page-header .brand{text-decoration:none;font-weight:800}.public-page-header>a:last-child{min-height:44px;display:flex;align-items:center}.postcard>b{overflow-wrap:anywhere}.site-footer nav a{display:inline-flex;align-items:center;min-height:44px}
/* Product polish: a single next action, quiet navigation and consistent lesson surfaces. */
.workspace-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:10px 0 24px}.workspace-intro h1{font-size:clamp(29px,3.2vw,40px);letter-spacing:-1.4px;margin:10px 0}.workspace-intro p{margin:0;color:var(--muted);max-width:600px;line-height:1.7}.practice-dashboard>.levels{margin-bottom:24px}.study-focus{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:40px;border:1px solid #cfdac3;border-radius:14px;background:#edf2e2;padding:30px;margin:0 0 32px}.study-focus h2{font-size:clamp(25px,2.7vw,34px);line-height:1.2;letter-spacing:-1px;margin:14px 0 12px}.focus-copy>p{font-size:15px;line-height:1.8;color:#4d6457;max-width:620px;margin:0 0 22px}.focus-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.focus-actions .primary{padding:14px 24px;min-height:48px;border-radius:8px}.focus-meta{font-size:12px;color:#62745c}.focus-progress{border-left:1px solid #cfdbc1;padding-left:28px;align-self:center}.focus-progress>p{margin:12px 0 5px;color:#78915e}.focus-progress>p b{font-size:39px;line-height:1;font-weight:650;color:var(--ink)}.focus-progress>p span{font-size:20px}.focus-progress>span:not(.eyebrow){font-size:12px;color:var(--muted)}.focus-progress .progress{margin:16px 0 10px}.focus-progress small{font-size:10px;line-height:1.6;display:block;color:var(--muted)}.dashboard-practice>.sectionhead{margin:0 0 16px}.dashboard-practice h2{font-size:21px;letter-spacing:-.5px;margin:0}.practice-dashboard .skill-path-grid{gap:10px;margin:0 0 15px}.practice-dashboard .skill-path-tile{min-height:100px;padding:16px;border-radius:8px;box-shadow:none;background:transparent}.practice-dashboard .skill-path-tile b{font-size:23px;margin:10px 0}.practice-dashboard .skill-path-tile>span:last-child{font-size:11px}.practice-links{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-bottom:1px solid var(--line);margin:12px 0 30px;padding-bottom:15px}.practice-links>button{border:0;border-radius:0;background:none;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 0;text-align:left;min-width:0}.practice-links b{font-size:15px;font-weight:600;display:block}.practice-links small{display:block;font-size:12px;color:var(--muted);line-height:1.7;margin-top:5px}.practice-links>button>span:last-child{font-size:20px}.practice-dashboard .study-plan{padding:22px 25px;border-radius:10px;box-shadow:none;background:transparent;margin:0 0 32px}.practice-dashboard .study-plan .sectionhead{margin:0;gap:15px;flex-wrap:wrap}.practice-dashboard .study-plan h2{font-size:21px;margin:10px 0}.practice-dashboard .plan-preview{font-size:13px;color:var(--muted);margin:7px 0 12px}.practice-dashboard .plan-scope{font-size:12px}.dashboard-lessons>.sectionhead{align-items:start;margin:0 0 12px}.dashboard-lessons h2{font-size:25px;letter-spacing:-.8px;margin:10px 0 0}.dashboard-lessons .lesson-list{margin-top:18px;border-top:1px solid var(--line)}.dashboard-lessons .lesson{border-radius:0;padding:19px 0;min-height:76px;background:transparent;border-bottom:1px solid var(--line)}.dashboard-lessons .lesson:hover{background:#eff2e8}.dashboard-lessons .lesson .number{background:#eaf0dc;border:0}.dashboard-lessons .lesson .text small{font-size:12px;line-height:1.8}.chapter-picker{position:relative;max-width:440px}.chapter-picker>summary{list-style:revert;cursor:pointer;font-size:13px;min-height:44px;padding:12px 0}.chapter-picker .unit-grid{grid-template-columns:1fr;max-height:420px;overflow:auto;padding:10px;background:var(--cream);border:1px solid var(--line);border-radius:8px;margin:0}.chapter-picker .unit-tab{min-height:80px}.lesson-shell{max-width:850px;margin:0 auto}.lesson-shell .card{padding:30px;border-radius:12px;box-shadow:none}.lesson-shell h1{font-size:clamp(25px,3vw,34px);line-height:1.25;letter-spacing:-1px}.lesson-shell>.skillrow{font-size:12px;line-height:1.7;gap:15px;margin-bottom:14px}.lesson-shell>.progress{height:5px;margin-bottom:26px}.lesson-shell .practice-route{border-radius:6px;font-size:12px}.lesson-shell .feedback{white-space:pre-line;line-height:1.8;border-radius:8px;margin-top:20px;outline-offset:3px}.lesson-shell .reading{line-height:1.9;font-size:17px}.lesson-shell #answer{font-size:17px;line-height:1.8;border-radius:8px}.lesson-shell .option{border-width:1px;border-radius:8px;min-height:55px}.lesson-shell .option.chosen{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.lesson-shell .practice-actions{gap:12px}.lesson-shell .activity-report{margin-top:25px;font-size:12px}.practice-dashboard button:focus-visible,.lesson-shell button:focus-visible,.chapter-picker summary:focus-visible{outline:3px solid #7c9c4c;outline-offset:3px}
@media(max-width:750px){.workspace-intro{align-items:flex-start;gap:14px}.workspace-intro .text-button{font-size:12px;white-space:normal}.workspace-intro p{font-size:13px}.study-focus{grid-template-columns:1fr;gap:22px;padding:24px}.focus-progress{border-left:0;border-top:1px solid #cfdbc1;padding:20px 0 0;display:grid;grid-template-columns:1fr auto;gap:5px 15px}.focus-progress>p{grid-column:2;grid-row:1/3;margin:0}.focus-progress>p b{font-size:29px}.focus-progress .progress,.focus-progress small{grid-column:1/-1}.practice-dashboard .skill-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-dashboard .skill-path-tile{min-height:105px;padding:14px}.practice-links{grid-template-columns:1fr;gap:0}.practice-links>button+button{border-top:1px solid var(--line)}.practice-dashboard .study-plan{padding:20px}.dashboard-lessons>.sectionhead{flex-direction:column;gap:12px}.chapter-picker{width:100%;max-width:none}.chapter-picker .unit-grid{max-height:330px}.lesson-shell .card{padding:23px 20px}.lesson-shell>.skillrow{align-items:flex-start;flex-wrap:wrap}.lesson-shell .activity-nav{align-items:flex-start}.lesson-shell .reading{font-size:16px}.lesson-shell #answer{font-size:16px}.focus-actions .primary{width:100%}.dashboard-lessons .lesson-state{font-size:10px;white-space:normal;text-align:right;max-width:80px}.study-plan summary,.preview-transcript summary,.landing-faq summary{min-height:44px;cursor:pointer}}
.activity.lesson-shell{max-width:850px}.focus-progress .eyebrow{line-height:1.6}.practice-dashboard .chapter-picker summary:focus-visible{border-radius:4px}

/* Phone screenshot corrections: a calm lesson entry and readable explanations. */
.lesson-shell #guideBack{display:block;margin:0 0 12px;text-align:left}
.lesson-shell .lesson-context{display:block;line-height:1.8;margin-bottom:22px}
.guide-explanation p{line-height:1.85;margin:0 0 16px}.guide-explanation p:last-child{margin-bottom:0}
.lesson-shell .example-audio{width:auto;min-width:88px;min-height:44px;border-radius:8px;white-space:nowrap;font-size:13px;padding:10px 12px;flex-shrink:0}
@media(max-width:700px){
 .activity.lesson-shell{margin-top:0}.lesson-shell #guideBack{margin-bottom:10px;font-size:14px;padding-left:0}
 .lesson-shell .lesson-context{font-size:10px;letter-spacing:1px;margin-bottom:16px}
 .lesson-shell h1{letter-spacing:-.5px;margin:14px 0;font-size:27px;line-height:1.25}
 .lesson-shell h2{font-size:23px;letter-spacing:-.4px}.lesson-shell .guide-explanation p{font-size:16px;line-height:1.8}
 .lesson-shell .word{align-items:flex-start;flex-wrap:wrap}.lesson-shell .word>div{flex:1 1 200px}
 .site-footer .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;width:100%}
 .site-footer .footer-links>*{display:flex;align-items:center;text-align:left;min-height:44px;white-space:normal}
}

.lesson-completion{max-width:640px;margin:24px auto;text-align:center}.lesson-completion .lumi-completion img{margin:16px auto 8px!important}.lesson-completion .lumi-completion{margin:8px 0 16px}.lesson-completion h1{margin-bottom:8px}.completion-message{color:var(--muted);margin-top:0}.completion-total{background:#edf2df;border-radius:12px;padding:20px;margin:24px 0;display:grid;gap:8px}.completion-total span{font-size:14px}.completion-total strong{font-size:28px;line-height:1.3}.lesson-completion .controls{justify-content:center}.lesson-completion .note{font-size:13px}@media(max-width:700px){.lesson-completion{padding:24px 20px}.lesson-completion .controls{display:grid;grid-template-columns:1fr}.lesson-completion .controls button{width:100%}.lesson-completion .lumi-completion img{width:112px!important;height:122px!important}}

/* Mobile learning is an app workspace; the public website remains a separate route. */
@media(max-width:700px){
 body.learning-app-mode{background:#f6f5ee}
 .learning-app-mode .site-footer{display:none}
 .learning-app-mode aside{height:0;min-height:0;padding:0;border:0;background:transparent}
 .learning-app-mode aside>div{display:none}
 .learning-app-mode .top>.eyebrow{display:none}
 .learning-app-mode .top{justify-content:flex-end;margin:0 0 18px;padding:0 0 12px}
 .learning-app-mode .top-actions{width:100%;justify-content:space-between;display:flex;align-items:center;gap:12px}
 .learning-app-mode .primary-nav button[data-nav=profile]{display:none}
 .learning-app-mode .primary-nav button[data-nav=progress]{display:flex}
 .learning-app-mode .save-status{font-size:12px;line-height:1.6;margin:20px 0}
 body.learning-focus-mode{padding-bottom:0}
 .learning-focus-mode aside,.learning-focus-mode .primary-nav,.learning-focus-mode .top{display:none}
 .learning-focus-mode .layout{display:block;min-height:100svh}
 .learning-focus-mode main{max-width:600px;min-height:100svh;padding:calc(12px + env(safe-area-inset-top,0px)) 18px calc(20px + env(safe-area-inset-bottom,0px));margin:0 auto}
 .learning-focus-mode .lesson-shell,.learning-focus-mode .exam-workspace{width:100%;margin:0 auto}
 .learning-focus-mode .lesson-shell>.card{background:transparent;border:0;border-radius:0;padding:16px 0;box-shadow:none}
 .learning-focus-mode .lesson-shell>.skillrow{margin:4px 0 10px;font-size:12px}
 .learning-focus-mode .lesson-shell>.progress{height:7px;margin:0 0 12px;border-radius:10px}
 .learning-focus-mode .activity-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
 .learning-focus-mode .back{font-size:13px;min-height:44px;margin-bottom:4px}
 .learning-focus-mode h1{font-size:clamp(25px,7vw,32px);line-height:1.2;letter-spacing:-1px}
 .learning-focus-mode .lesson-shell .option{min-height:56px;padding:16px;border-radius:12px;background:#fff}
 .learning-focus-mode .lesson-shell .option.chosen{background:#eaf0d9}
 .learning-focus-mode .practice-actions{position:sticky;bottom:0;padding:14px 0 calc(14px + env(safe-area-inset-bottom,0px));background:#f6f5ee;box-shadow:0 -8px 16px #f6f5ee;z-index:10}
 .learning-focus-mode .practice-actions .primary{flex:1;min-width:65%;min-height:52px;border-radius:12px;font-size:16px}
 .learning-focus-mode .practice-actions .secondary{min-height:48px}
 .learning-focus-mode .lesson-completion{margin:16px auto;padding:24px 18px;border:0;background:transparent;box-shadow:none;max-width:480px}
 .learning-focus-mode .lesson-completion .controls{display:flex;flex-direction:column;align-items:stretch}
 .learning-focus-mode .lesson-completion .controls button{width:100%;min-height:52px;font-size:16px}
 .learning-focus-mode:has(input:focus,textarea:focus,select:focus) .practice-actions{position:static;box-shadow:none}
}

/* Support remains accessible when mobile learning hides the marketing footer. */
.guest-account-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.support-menu>summary{padding:0 6px;font-size:13px}.support-menu .account-dropdown{width:220px}
@media(max-width:700px){.learning-app-mode .top-actions{flex-wrap:wrap}.guest-account-actions{gap:8px}.support-menu .account-dropdown{position:absolute;right:0;max-width:calc(100vw - 36px)}.account-dropdown button{min-height:44px}}

/* Teacher decisions before the student register. */
.teacher-attention,.teacher-coverage{margin:28px 0;padding:24px;border:1px solid var(--line);border-radius:12px;background:#fff}.teacher-attention>.sectionhead{margin:0 0 16px;gap:16px;flex-wrap:wrap}.teacher-attention h3,.teacher-coverage h3,.teacher-evidence h3{font-size:20px;letter-spacing:-.4px;margin:0 0 8px}.teacher-attention .sectionhead p{font-size:14px;line-height:1.6;margin:0;color:var(--muted)}.teacher-attention-list{display:grid;gap:0}.teacher-attention-list article{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:16px 0;border-top:1px solid var(--line)}.teacher-attention-list span{display:block;font-size:12px;color:#765b34;margin-top:5px}.teacher-attention-list p{font-size:14px;line-height:1.6;margin:6px 0 0;color:var(--muted)}.teacher-attention-list button{flex-shrink:0}.teacher-coverage .institute-detail-skills{margin-top:18px}.teacher-coverage article small{font-size:12px;line-height:1.6;color:var(--muted)}.teacher-evidence{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.teacher-evidence article{background:#edf2e4;border-radius:10px;padding:22px}.teacher-evidence b{display:block;font-size:25px;margin:12px 0}.teacher-evidence p{font-size:13px;line-height:1.8;margin:0;color:var(--muted)}@media(max-width:700px){.teacher-attention,.teacher-coverage{padding:18px 16px}.teacher-attention-list article{flex-direction:column;align-items:flex-start;gap:12px}.teacher-attention-list button{width:100%;min-height:44px}.teacher-evidence{grid-template-columns:1fr}.teacher-coverage .institute-detail-skills{grid-template-columns:repeat(2,minmax(0,1fr))}}

.profile-identity{width:72px;height:72px;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;border-radius:50%;background:#e4edcf;color:var(--green);font-size:24px;font-weight:700;overflow:hidden}.profile-identity.institute{border-radius:12px;background:#f1f4e9;border:1px solid var(--line)}.profile-identity img{width:100%;height:100%;object-fit:cover}.profile-identity.institute img{object-fit:contain}.profile-brand-heading,.joined-institute-brand{display:flex;gap:20px;align-items:center}.profile-brand-heading h2{margin:8px 0}.joined-institute-brand{margin:16px 0;flex-wrap:wrap}.joined-institute-brand p{font-size:14px;overflow-wrap:anywhere}.institute-brand-panel form{margin-top:22px}.institute-brand-panel .profile-field{margin:14px 0}.profile-heading{gap:20px}@media(max-width:700px){.profile-brand-heading{align-items:flex-start;gap:14px}.profile-brand-heading h2{font-size:24px}.profile-heading{flex-wrap:wrap}.institute-brand-panel input[type=file]{width:100%;min-width:0}}
/* Clear dashboard explanations and first-class setup. */
.institute-metric{padding:0;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;min-width:0;align-self:start}.institute-metric summary{padding:20px;cursor:pointer;list-style:none;min-height:150px}.institute-metric summary::-webkit-details-marker{display:none}.institute-metric summary>span,.institute-metric summary>b,.institute-metric summary>small{display:block}.institute-metric summary>span{font-size:14px}.institute-metric summary>b{font-size:30px;margin:10px 0}.institute-metric summary>small{font-size:13px;line-height:1.5}.institute-metric .metric-chevron{float:right;font-size:20px}.institute-metric[open] .metric-chevron{transform:rotate(180deg)}.institute-metric[open] summary{background:#eef3e5}.institute-metric>div{padding:0 20px 20px}.institute-metric p{font-size:14px;line-height:1.6}.institute-metric summary:focus-visible{outline:3px solid #65823b;outline-offset:-4px}.setup-checklist{margin:24px 0}.setup-checklist ol{list-style:none;padding:0}.setup-checklist li{display:flex;align-items:flex-start;gap:18px;padding:18px 0;border-top:1px solid var(--line)}.setup-checklist h3{font-size:17px;margin:0 0 5px}.setup-checklist p{font-size:14px;line-height:1.7;margin:0}.setup-state{flex:0 0 76px;font-size:12px;font-weight:700;color:var(--muted)}.setup-checklist .done .setup-state{color:#245b49}.setup-checklist .next{background:#eef3e5;padding:18px 12px;border-radius:8px}.setup-checklist .next .setup-state{color:#183c33}@media(max-width:700px){.setup-checklist li{gap:12px}.setup-state{flex-basis:65px}.institute-metric summary{padding:16px}.institute-metric>div{padding:0 16px 16px}}
.access-comparison{overflow-x:auto;margin:20px 0}.access-comparison table{width:100%;border-collapse:collapse;text-align:left;font-size:15px;min-width:480px}.access-comparison caption{text-align:left;font-weight:650;padding-bottom:12px}.access-comparison th,.access-comparison td{padding:15px 12px;vertical-align:top;border-bottom:1px solid var(--line)}.access-comparison thead{background:#edf1e3}.access-comparison tbody th{width:23%}.lesson-outcome{border-left:3px solid #79954f;padding:6px 0 6px 18px;margin:22px 0}.lesson-outcome h2,.lesson-recap h2{font-size:18px;letter-spacing:0}.lesson-recap{margin:20px 0;text-align:left;background:#eef3e5;border-radius:10px;padding:18px}.lesson-recap p{font-size:15px;line-height:1.7}

/* Grammar revision path */
.grammar-page{max-width:900px}.grammar-page .levels{margin:24px 0 12px}.grammar-search{display:block;font-weight:650;margin-top:26px}.grammar-search input{display:block;width:100%;border:1px solid var(--line);border-radius:9px;padding:14px;margin-top:8px;background:#fff;color:var(--ink)}.grammar-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grammar-topic{text-align:left;color:var(--ink)}.grammar-topic h2{font-size:24px;margin:12px 0}.grammar-topic>span:last-child{display:block;margin-top:18px;font-weight:650}.grammar-rule,.grammar-check{margin:22px 0}.grammar-rule h3{margin-top:24px}.grammar-example{border-left:3px solid #a7bd69;padding:8px 16px;margin:14px 0;background:#f7f9f1}.grammar-options{display:grid;gap:12px;margin:20px 0}.grammar-options button:disabled{opacity:1}.grammar-options button:disabled:not(.chosen){color:#63736a}.grammar-feedback{padding:16px;background:#edf2e5;border-radius:8px;color:var(--ink)}.dashboard-practice .practice-links{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.grammar-topics{grid-template-columns:1fr}.grammar-page .card{padding:22px}.learning-app-mode .primary-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.learning-app-mode .primary-nav button{padding:9px 2px;font-size:11px}.dashboard-practice .practice-links{grid-template-columns:1fr}}
/* Daily challenge */
.challenge-invite{padding:28px;margin:28px 0;border:1px solid #cad6b7;border-radius:18px;background:#edf2df;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.challenge-invite h2{font-size:27px;margin:8px 0}.challenge-invite .note{flex-basis:100%;margin:0}.landing-mode .challenge-invite{max-width:1180px;margin:30px auto;padding:32px}.challenge-page{max-width:740px}.challenge-intro{padding:30px 0 38px}.challenge-mark{display:block;font-size:64px;line-height:1.3;margin:16px 0}.challenge-intro h1{font-size:clamp(38px,7vw,64px)}.challenge-question{font-size:clamp(25px,4vw,34px)!important;line-height:1.35}.challenge-steps{display:flex;gap:8px;margin:16px 0 28px}.challenge-steps span{height:6px;flex:1;background:#dce3d9;border-radius:8px}.challenge-steps .current{background:#8ca153}.challenge-steps .done{background:#245b49}.challenge-result{background:#183c33;padding:32px;border-radius:18px;color:#fff;margin:24px 0;text-align:center}.challenge-result p{color:#d3dfd5}.challenge-result-brand{display:block;font-weight:800;font-size:32px;text-align:left;color:#dce9a9}.challenge-result .challenge-score{font-size:100px;line-height:1.1;font-weight:800;color:#dce9a9;margin:24px 0}.challenge-score span{font-size:44px}.challenge-result h1{color:#fff}.challenge-review{padding:18px 0;border-bottom:1px solid var(--line)}.challenge-page details{margin:24px 0}.challenge-page summary{cursor:pointer;font-weight:650;min-height:44px}.challenge-page input[readonly]{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;min-width:0;color:var(--ink);background:#f8faf4;margin-top:8px}.challenge-page .option:disabled{opacity:1}.challenge-page .controls>*{min-height:44px}.challenge-page .controls .primary{margin-top:0}
@media(max-width:700px){.landing-mode .challenge-invite{margin:20px 16px;padding:24px}.challenge-invite{padding:22px}.challenge-page .card{padding:22px}.challenge-page .controls{align-items:stretch}.challenge-page .controls>*{width:100%;text-align:center}.challenge-result{padding:24px}.challenge-result .challenge-score{font-size:88px}}
