:root{--ink:#233e36;--muted:#66786d;--green:#286653;--light:#e7efe5;--line:#dce3d7;--paper:#fffef9;--bg:#f5f4ec;--danger:#9a4032}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,-apple-system,sans-serif}a{color:var(--green)}button,input,select,textarea{font:inherit}button{min-height:44px;padding:9px 17px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);cursor:pointer}button:hover{border-color:var(--green)}button.primary{background:var(--green);color:white;border-color:var(--green)}button.danger{color:var(--danger)}button:disabled{opacity:.5;cursor:wait}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 4vw;background:var(--paper);border-bottom:1px solid var(--line)}.brand{font-weight:750;font-size:25px;letter-spacing:3px;text-decoration:none}.brand span{font-weight:400}.brand small{display:block;font-size:9px;letter-spacing:2px}.shell{display:grid;grid-template-columns:210px minmax(0,1fr);max-width:1450px;margin:auto;min-height:78vh}aside{border-right:1px solid var(--line);padding:28px 20px}nav{display:grid;gap:7px}nav a{text-decoration:none;color:var(--muted);padding:10px 14px;border-radius:8px}nav a.active{background:var(--light);color:var(--green);font-weight:650}.eyebrow{font-size:11px;letter-spacing:1px;color:var(--muted)}.aside-note{color:var(--muted);font-size:14px;margin-top:60px}main{min-width:0;padding:30px 4vw 55px}h1{font-size:32px;font-weight:650;line-height:1.35;margin:8px 0 18px}h2{font-size:21px;font-weight:650;margin:0 0 14px}h3{font-size:17px}p{margin:8px 0 16px}.muted,small{color:var(--muted)}.hero{background:var(--light);border-radius:16px;padding:35px;margin-bottom:23px}.hero p{max-width:650px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card{padding:25px;background:var(--paper);border:1px solid var(--line);border-radius:13px;margin-bottom:20px;min-width:0}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.badge{font-size:12px;padding:4px 9px;background:var(--light);border-radius:20px}.empty{padding:25px;border:1px dashed #bbc8b6;border-radius:10px;color:var(--muted)}label{display:block;margin:13px 0}label>span{display:block;font-size:14px;margin-bottom:5px}input,select,textarea{width:100%;min-width:0;padding:10px;border:1px solid #bdcbbc;border-radius:7px;color:var(--ink);background:white}textarea{min-height:130px;resize:vertical}input[type=checkbox]{width:auto;margin-right:8px}.check{display:flex;align-items:baseline;gap:5px}.check span{display:inline}pre,.body-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.notice,#status:not(:empty){padding:12px 17px;border-radius:8px;background:#eee6cd;margin-bottom:22px}.error{color:#783425;background:#f6e5dd!important}.success{background:var(--light)!important}.list-item{border-top:1px solid var(--line);padding:17px 0}.list-item:first-child{border:0}.row{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.code{font:700 25px/1.6 monospace;letter-spacing:3px}footer{text-align:center;font-size:12px;color:var(--muted);padding:20px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:12px 7px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.scroll{overflow:auto}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b4a35d;outline-offset:3px}audio,video{max-width:100%;width:100%}@media(max-width:900px){.grid{grid-template-columns:1fr}.shell{grid-template-columns:175px minmax(0,1fr)}aside{padding:24px 12px}main{padding:25px}}@media(max-width:600px){header{padding:16px 18px}.brand{font-size:21px}#identity{font-size:12px;max-width:130px}.shell{display:block}aside{border-right:0;border-bottom:1px solid var(--line);padding:8px}.eyebrow,.aside-note{display:none}nav{display:flex;overflow:auto}nav a{white-space:nowrap;font-size:13px;padding:9px}main{padding:22px 16px}h1{font-size:27px}.hero{padding:25px}.card{padding:20px}}
.code{overflow-wrap:anywhere;word-break:break-all}details{min-width:0}summary{cursor:pointer;min-height:44px}input,textarea,select{max-width:100%}.body-text{max-width:100%}

#identity{min-width:0;overflow-wrap:anywhere}h1,h2,h3,.card p{overflow-wrap:anywhere}.brand{flex-shrink:0}

#environment:not([hidden]){padding:7px 4vw;background:#eee6cd;color:#5a543c;font-size:12px;overflow-wrap:anywhere}
/* Stage 2 independent learning workspace */
.lesson-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:18px}.lesson-link{display:inline-block;padding:10px 0;font-weight:650}.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}.study-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr);gap:20px}.study-layout>.card{margin:0}.sentence{border-top:1px solid var(--line);padding:18px 0;scroll-margin-top:20px;transition:background .15s}.sentence.current{background:#edf2e5;border-radius:8px;padding:16px 12px;box-shadow:inset 3px 0 var(--green)}.sentence-text{border:0;background:transparent;text-align:left;font-size:19px;line-height:1.7;padding:5px 0;width:100%}.word-chip{min-height:36px;margin:5px 7px 5px 0;padding:4px 9px;font-size:14px;background:var(--light)}.translation{color:#687268;border-left:2px solid #b9c8ae;padding-left:12px}.analysis{background:#f3eedc;padding:13px;border-radius:7px}.choices{display:grid;gap:8px}.choices button{text-align:left}.mini-preview{max-width:390px;margin:auto}.web-preview{max-width:100%}pre{padding:12px;background:#f3f3ea;max-height:400px;overflow:auto;font-size:13px}.study-layout h2{font-size:20px}.study-layout .card{padding:20px}.study-layout .actions button{flex:1 1 auto}.study-layout video{border-radius:8px;background:#15261e;aspect-ratio:16/9}.study-layout audio{margin:10px 0}
@media(max-width:1100px){.study-layout{grid-template-columns:1fr}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.filters{grid-template-columns:1fr}.sentence-text{font-size:18px}.study-layout{gap:0}.study-layout .card{padding:17px}.choices button{width:100%}.actions button{max-width:100%}}
/* Feedback uses readable dimensions and wraps long learner/model text on narrow screens. */
.feedback-card{max-width:100%;overflow-wrap:anywhere}.feedback-card h3{margin-top:18px}.feedback-scores{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;margin:12px 0}.feedback-scores dt,.feedback-scores dd{min-width:0;margin:0;overflow-wrap:anywhere}.feedback-scores dd{font-weight:650}.feedback-card p{max-width:100%}button{overflow-wrap:anywhere;white-space:normal}
/* Shared visual foundation: calm paper, clear hierarchy, and usable controls. */
:root{--ink:#203e37;--muted:#576e65;--green:#246858;--light:#e8f0e7;--line:#dce4da;--paper:#fffef9;--bg:#f7f6ef}
[hidden]{display:none!important}body{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:.01em}a{text-underline-offset:4px}header{max-width:none;padding:22px max(28px,calc((100vw - 1392px)/2));min-height:94px}.brand{letter-spacing:2px}.brand small{font-size:9px;margin-top:2px}.header-account{display:flex;align-items:center;gap:18px;font-size:13px}.account-link{text-decoration:none;border-left:1px solid var(--line);padding-left:18px}.shell{max-width:1440px;grid-template-columns:218px minmax(0,1fr)}aside{padding:30px 22px;background:rgba(255,254,249,.45)}aside>.eyebrow{font-size:11px;margin-bottom:25px}.nav-group{display:grid;gap:3px}.nav-label{font-size:11px;font-weight:650;letter-spacing:2px;color:var(--muted);padding:0 12px;margin:22px 0 7px}.nav-group:first-child .nav-label{margin-top:0}nav{gap:12px}nav a{display:block;font-size:14px;padding:10px 13px;transition:background .15s,color .15s}nav a:hover{color:var(--green);background:#edf1e8}nav a.active{background:#dfebe0;box-shadow:inset 3px 0 var(--green)}.nav-more summary{font-size:13px;color:var(--muted);padding:10px 12px}.nav-more[open]{background:#f0f2e9;border-radius:10px;padding-bottom:5px}.aside-note{font-size:14px;line-height:2.1;margin-top:40px}.aside-note span{font-size:11px}main{padding:34px 42px 64px}#view>div{max-width:1100px;margin:auto}h1{font-size:30px;letter-spacing:-.03em;margin:0 0 16px}h2{font-size:20px;line-height:1.5}h3{line-height:1.5}p{line-height:1.85}.card{padding:26px;border-radius:16px;box-shadow:0 3px 14px #243e3503;margin-bottom:20px}.card>p{font-size:14px}.grid{gap:20px}.grid>.card{margin-bottom:0}.grid{margin-bottom:24px}button{font-size:14px;font-weight:550;border-radius:10px;min-height:44px;padding:10px 18px;transition:background .15s,border-color .15s}button:hover{background:#edf2e9}button.primary:hover{background:#1b5144}button:disabled{opacity:.65;cursor:progress}.actions{gap:10px;align-items:center}label{font-size:14px;margin:16px 0}label>span{font-weight:550;margin-bottom:7px}input,select,textarea{border-radius:10px;min-height:46px;border-color:#aebeb2;padding:11px 12px}textarea{line-height:1.8}input::placeholder,textarea::placeholder{color:#65786d}input[type=checkbox],input[type=radio]{min-height:20px;flex-shrink:0;width:20px;accent-color:var(--green)}.check{align-items:flex-start;gap:8px}.check input{margin-top:3px}.empty{background:#f5f7ef;padding:30px;text-align:center;font-size:14px;border:1px dashed #aebfaf;line-height:1.9}.notice,#status:not(:empty){font-size:14px;line-height:1.8;border:1px solid #ded7bc}.success{border-color:#c9dcc8!important}.error{border-color:#dfbcaf!important}.badge{display:inline-block;font-weight:550;font-size:11px;padding:4px 10px;color:#345d4b;background:#e6eee2}.home-hero{display:flex;justify-content:space-between;gap:24px;padding:38px 36px;background:#e6eee2;border:1px solid #d7e2d3;position:relative;overflow:hidden}.hero-copy{max-width:660px;position:relative;z-index:1}.hero-copy .eyebrow{color:#456c59;letter-spacing:2px;margin:0 0 16px}.hero-copy h1{max-width:560px;font-size:clamp(27px,2.7vw,39px);font-weight:650;line-height:1.45}.hero-copy>p:not(.eyebrow){font-size:15px;max-width:490px;color:#496559}.hero-copy .actions{margin-top:24px}.text-link{font-size:13px;font-weight:600;text-decoration:none;padding:10px}.hero-mark{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;transform:rotate(-7deg);color:#5d856a;font:italic 32px/1.35 Georgia,serif;min-width:120px;opacity:.8;padding-right:5px}.hero-mark span:nth-child(2){margin-left:14px}.hero-mark span:nth-child(3){margin-left:28px}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin:32px 0 16px}.section-heading h2,.section-heading p{margin:0}.section-heading p{font-size:13px}.learning-paths{gap:20px;margin-bottom:18px}.path-card{display:flex;flex-direction:column;align-items:flex-start;border:1px solid #cddfce;border-radius:17px;padding:26px 28px;text-decoration:none;color:var(--ink);background:#f0f5eb;min-width:0;min-height:224px;transition:transform .15s,border-color .15s}.path-card:hover{transform:translateY(-2px);border-color:#67947c}.path-card .eyebrow{font-size:10px;letter-spacing:1.5px;color:#456c59}.path-card h2{font-size:25px;margin:12px 0 8px}.path-card p{font-size:14px;color:#52695d;margin:0 0 22px;max-width:340px}.path-action{font-size:14px;font-weight:650;margin-top:auto}.speaking-path{background:#f3eddf;border-color:#e4d8bd}.speaking-path .eyebrow,.speaking-path .path-action{color:#755f32}.availability-note{display:flex;align-items:flex-start;gap:12px;padding:14px 0 22px}.availability-note .badge{white-space:nowrap;margin-top:3px;background:#ecebdc;color:#625b3c}.availability-note p{font-size:12px;color:var(--muted);margin:0}.home-support .card{padding:23px 26px}.home-support h2{font-size:17px}.home-support .lesson-link{font-size:13px;padding-bottom:0}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:var(--green);color:#fff;padding:12px 18px;border-radius:8px}.skip-link:focus{top:12px}:focus-visible{outline:3px solid #a27024!important;outline-offset:3px!important}main:focus{outline:none}details>summary{line-height:1.7}table{min-width:0}td,th{word-break:break-word}.scroll{max-width:100%}#status:empty{display:none}footer{border-top:1px solid var(--line);padding:24px}
@media(max-width:1100px){main{padding:28px}.home-hero{padding:30px}.hero-mark{display:none}.section-heading{display:block}.section-heading p{margin-top:4px}}
@media(max-width:900px){.shell{grid-template-columns:185px minmax(0,1fr)}aside{padding:25px 14px}.grid.learning-paths{grid-template-columns:1fr}.path-card{min-height:210px}.home-support{grid-template-columns:1fr}main{padding:26px}}
@media(max-width:600px){header{padding:16px;gap:12px;min-height:80px}.brand{font-size:21px}.header-account{gap:3px;align-items:flex-end;flex-direction:column;font-size:11px;max-width:132px}#identity{max-width:132px}.account-link{border:0;padding:0;min-height:24px}.shell{display:block}aside{padding:12px 16px;border-bottom:1px solid var(--line)}nav{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;overflow:visible}.nav-group{display:flex;gap:3px;flex-wrap:wrap}.nav-label{display:none}nav a{font-size:12px;padding:8px 10px;white-space:normal;min-height:40px}.nav-group:first-child{border-bottom:1px solid var(--line);padding-bottom:6px}.nav-more summary{padding:7px 10px;min-height:38px;font-size:12px}.nav-more[open]{display:flex;flex-wrap:wrap}.nav-more a{display:inline-block}.nav-group[data-staff-group]{border-top:1px solid var(--line);padding-top:6px}main{padding:24px 16px 40px}h1{font-size:27px}.home-hero{padding:26px 22px;border-radius:16px}.hero-copy h1{font-size:28px;max-width:320px}.hero-copy .eyebrow{font-size:10px;letter-spacing:1px}.hero-copy>p:not(.eyebrow){font-size:14px}.hero-copy .actions{gap:6px}.text-link{padding-left:0}.section-heading{margin-top:26px}.path-card{padding:24px;min-height:215px}.path-card h2{font-size:24px}.availability-note{gap:8px}.availability-note p{font-size:12px}.card{padding:21px}.home-support .card{padding:22px}.filters{grid-template-columns:1fr}.row{gap:10px}.code{font-size:23px;letter-spacing:2px}.actions>*{max-width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
