:root{--forest:#173c34;--forest-deep:#102e28;--sage:#cee1d1;--mint:#e8f0e7;--paper:#f5f4ec;--white:#fffefa;--ink:#23362e;--muted:#606d64;--line:#dce2d7;--accent:#b9653d;--success:#246447;--danger:#9d3c2f;--focus:#285fa3;--radius:16px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,label,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button{transition:background .16s ease,transform .16s ease}button:not(:disabled):active{transform:translateY(1px)}.skip{position:fixed;z-index:20;top:-90px;left:16px;background:white;padding:12px 18px;border-radius:8px}.skip:focus{top:12px}.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}
.topbar{height:92px;background:var(--forest-deep);color:#f0f5ed;display:flex;justify-content:space-between;align-items:center;padding:0 46px;border-bottom:1px solid #ffffff15}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;font-size:15px;font-weight:650;letter-spacing:.01em}.brand svg{width:36px;height:36px;color:#c9dbc4}.brand-sub{display:block;font-size:9px;letter-spacing:.2em;color:#bbcdbf;font-weight:500;margin-top:6px}.top-actions{display:flex;align-items:center;gap:12px}.quiet{border:1px solid #718c7b;background:transparent;color:inherit;border-radius:7px;padding:9px 13px;font-size:12px}.quiet:hover{background:#ffffff12}.menu-toggle{display:none}
.shell{max-width:1580px;margin:0 auto;display:grid;grid-template-columns:255px minmax(0,1fr);min-height:calc(100vh - 92px)}.sidebar{background:var(--forest);color:#eef4e9;padding:43px 28px 26px;display:flex;flex-direction:column;min-height:760px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.18em;margin:0 0 15px;line-height:1.7}.sidebar .eyebrow{color:#c1d2bd}.sidebar h2{font-family:Georgia,"Times New Roman",serif;font-size:33px;font-weight:400;letter-spacing:-.03em;margin:0}.sidebar-note{font-size:12px;color:#cad8c7;margin:9px 0 38px}.sidebar nav{display:grid;gap:5px}.nav-group{padding-bottom:7px}.nav-button{display:flex;align-items:center;gap:13px;text-align:left;width:100%;border:none;background:transparent;color:#d2dfcd;padding:12px 10px;border-radius:6px;font-size:13px}.nav-button:hover{background:#ffffff0d}.nav-button.active{background:#f1f5e915;color:white}.nav-number{font-size:10px;color:#b8cbb2;letter-spacing:.06em;min-width:17px}.nav-button.active .nav-number{color:#e0edce}.subnav{padding:3px 0 8px 37px;display:grid;gap:2px}.subnav button{border:0;background:none;color:#bfcfba;text-align:left;line-height:1.5;font-size:11px;padding:6px 0}.subnav button[aria-current=step]{color:white;font-weight:700}.subnav button:hover{color:white;text-decoration:underline}.sidebar-bottom{margin-top:auto;padding:40px 10px 0;display:flex;gap:12px;align-items:center;color:#c0d0b9;font-size:11px;line-height:1.7}.tiny-mark{width:4px;height:35px;background:#a8c19b;border-radius:2px}
.workspace{padding:31px 46px 18px;min-width:0}.lesson-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;min-height:32px;font-size:10px;letter-spacing:.16em;font-weight:750;color:var(--muted)}.listen{font-size:12px;letter-spacing:0;font-weight:550;display:flex;gap:7px;align-items:center;border:0;background:transparent;color:var(--ink);padding:7px 0 7px 10px}.listen svg{width:17px;height:17px}.listen[aria-pressed=true]{color:var(--success)}.stage{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:43px 48px 38px;min-height:575px;box-shadow:0 9px 30px #18392d04;outline:none;position:relative}.stage:focus{outline:none}.stage h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(31px,3.25vw,47px);line-height:1.12;letter-spacing:-.035em;margin:0 0 20px;max-width:750px}.stage h1:focus{outline:none}.stage .eyebrow{color:var(--accent);margin-bottom:14px}.lead{font-size:16px;line-height:1.8;color:#536357;max-width:650px;margin:0 0 27px}.stage p{line-height:1.75}.stage h2{font-size:17px;line-height:1.4;margin:25px 0 12px}.stage h3{font-size:14px;line-height:1.5;margin:0 0 8px}.intro-title{max-width:500px!important;font-size:clamp(40px,4.4vw,62px)!important}.intro-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:30px;align-items:center;margin:25px 0 5px}.intro-copy .lead{font-size:15px;margin-bottom:25px}.course-meta{display:flex;flex-wrap:wrap;gap:8px 17px;font-size:11px;color:var(--muted);padding-top:10px}.course-meta span+span:before{content:"·";margin-right:17px}.connection-art{min-height:255px;border-radius:11px;background:#edf1e7;padding:32px 24px;display:flex;flex-direction:column;justify-content:center;position:relative}.paper-note{font-family:Georgia,serif;background:#fffefa;padding:19px 19px;border:1px solid #d5dfcc;border-radius:6px;font-size:18px;line-height:1.55;box-shadow:0 3px 0 #d2dac826;position:relative}.connection-word{align-self:center;background:var(--forest);color:white;border:6px solid #edf1e7;margin:-2px 0;z-index:1;font-size:11px;letter-spacing:.02em;padding:7px 20px;border-radius:30px}.connection-art .paper-note:last-child{margin-left:19px}.intro-bottom{border-top:1px solid var(--line);margin-top:28px;padding-top:20px;display:flex;gap:11px;align-items:flex-start;font-size:12px;color:var(--muted)}.intro-bottom svg{width:18px;height:18px;flex:none;color:var(--forest);margin-top:2px}
.relationship-list{margin-top:23px;display:grid;gap:10px}.relation-row{display:grid;grid-template-columns:140px 1fr 27px;align-items:center;gap:18px;background:#f4f6f0;border:1px solid #e5e9de;padding:17px 20px;border-radius:9px}.relation-name{font-weight:700;font-size:13px}.relation-note{font-size:13px;color:#5b6b5d}.relation-symbol{font-size:19px;color:#4d7155;text-align:center}.takeaway{margin-top:25px;padding-left:16px;border-left:3px solid #92ae89;font-size:13px;line-height:1.8;color:#4e634f}.takeaway strong{color:var(--ink)}.word-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 25px}.word-chip{background:#edf2e8;color:#3f6146;border:1px solid #dce5d4;padding:6px 13px;border-radius:30px;font-size:12px}.example{margin:20px 0 0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.example-row{display:grid;grid-template-columns:83px 1fr;gap:20px;padding:19px 22px;line-height:1.8}.example-row.before{background:#f7f7f2;color:#647066}.example-row.after{background:#edf3e9;color:#233d2b;border-top:1px solid #dce4d4}.example-label{font-size:9px;letter-spacing:.14em;font-weight:800;padding-top:5px}.example-copy{font-family:Georgia,serif;font-size:21px;line-height:1.6}.highlight{background:#d7e6ca;box-shadow:0 0 0 3px #d7e6ca;border-radius:2px;color:#1e442a}.reason{display:flex;gap:12px;align-items:flex-start;margin:22px 0 0;font-size:13px;color:#556953}.reason .reason-icon{border-radius:50%;background:#e3eddc;color:#375e3e;min-width:21px;height:21px;font-size:11px;display:grid;place-items:center;margin-top:2px}.reason p{margin:0}.cause-flow{display:grid;grid-template-columns:1fr 35px 1fr;align-items:center;gap:10px;margin:23px 0}.flow-box{padding:19px;background:#eff3e9;border:1px solid #dfe8d6;border-radius:9px}.flow-label{font-size:9px;letter-spacing:.14em;color:#5b7053;font-weight:800}.flow-box p{margin:8px 0 0;font-family:Georgia,serif;font-size:20px}.flow-arrow{text-align:center;font-size:24px;color:#66815c}.two-patterns{display:grid;gap:15px;margin-top:22px}.pattern{background:#f1f4ec;border-radius:9px;padding:21px 24px;border:1px solid #dfe5d8}.pattern .example-copy{display:block;margin:10px 0}.pattern small{line-height:1.7;color:#5c6c56}.mini-label{font-size:10px;letter-spacing:.12em;font-weight:750;color:#5d7157}.sequence{list-style:none;padding:0;margin:22px 0}.sequence li{display:flex;gap:19px;align-items:baseline;border-bottom:1px solid #e5e9de;padding:17px 0;font-family:Georgia,serif;font-size:21px}.sequence li:last-child{border-bottom:0}.sequence .step-word{font-family:inherit;color:#365d3c;font-weight:700;min-width:80px}.small-note{font-size:12px;color:var(--muted)}
.question-stem{background:#f0f3eb;border-left:3px solid #93aa80;padding:19px 23px;font-family:Georgia,serif;font-size:22px;line-height:1.65;margin:21px 0 22px;border-radius:0 7px 7px 0}.answer-set{border:0;padding:0;margin:0;display:grid;gap:10px}.answer-option{display:flex;align-items:center;gap:14px;border:1px solid #dce2d5;background:#fffefa;border-radius:9px;padding:14px 17px;cursor:pointer;font-size:14px;line-height:1.6}.answer-option:hover{background:#f6f8f0}.answer-option:has(input:checked){border-color:#54784d;background:#eef4e8;box-shadow:0 0 0 1px #54784d}.answer-option input{accent-color:var(--forest);width:17px;height:17px;margin:0;flex:none}.answer-option.correct{border-color:#5c8d65;background:#edf5eb}.answer-option.incorrect{border-color:#b86f5e;background:#fcf0e9}.answer-option:has(input:disabled){cursor:default}.choice-letter{font-size:10px;font-weight:700;color:#687662;align-self:flex-start;padding-top:4px}.check-actions{display:flex;gap:12px;align-items:center;margin-top:20px}.button{display:inline-flex;justify-content:center;align-items:center;gap:13px;border:1px solid transparent;border-radius:7px;padding:12px 19px;font-size:12px;font-weight:650;line-height:1.4;min-height:43px}.primary{background:var(--forest);color:#fff}.primary:hover:not(:disabled){background:#244f40}.secondary{border-color:#cfd8c9;color:#40563f;background:transparent}.secondary:hover:not(:disabled){background:#e9eee2}.text-button{border:0;padding:7px 0;background:none;color:#3d633e;text-decoration:underline;text-underline-offset:3px;font-size:12px}.feedback{padding:18px 21px;border-radius:8px;background:#edf4e9;border:1px solid #d5e4cc;margin-top:21px;font-size:13px;line-height:1.75}.feedback.retry{background:#fbf1e7;border-color:#ecd5bb;color:#6b4d32}.feedback p{margin:5px 0 0}.feedback:focus{outline:2px solid #54784d;outline-offset:3px}.assessment-facts{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.assessment-fact{padding:15px 20px;border:1px solid var(--line);background:#f5f6ef;border-radius:8px;font-size:12px;line-height:1.8}.assessment-fact strong{display:block;font-size:20px;font-family:Georgia,serif;font-weight:400;color:var(--forest)}.assessment-note{max-width:600px;font-size:13px;color:var(--muted);line-height:1.8;margin-top:23px}.review-list{display:grid;gap:9px;margin:25px 0}.review-answer{border:1px solid var(--line);border-radius:8px;padding:15px 19px;display:flex;gap:16px;align-items:flex-start}.review-answer .review-number{color:#6d7f61;font-size:12px;padding-top:2px}.review-answer div{flex:1}.review-answer p{font-size:13px;margin:5px 0 0}.review-answer small{font-size:10px;color:#63735e;letter-spacing:.08em;text-transform:uppercase}.review-answer button{border:0;background:transparent;color:#375f3d;text-decoration:underline;font-size:11px;padding:5px}.score-banner{display:flex;gap:25px;align-items:center;background:#eaf1e3;border:1px solid #d7e4cb;border-radius:11px;padding:24px;margin:23px 0}.score-number{font-family:Georgia,serif;font-size:52px;color:#274d30;white-space:nowrap;line-height:1}.score-banner h2{margin:0 0 5px;font-size:16px}.score-banner p{font-size:12px;color:#5e7056;margin:0}.results-list{display:grid;gap:9px}.result-item{border:1px solid var(--line);border-radius:8px;padding:0 18px}.result-item summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;list-style:none;padding:15px 0;font-size:12px;line-height:1.6}.result-item summary::-webkit-details-marker{display:none}.result-item summary::after{content:"+";font-size:17px;color:#6d805f}.result-item[open] summary::after{content:"−"}.result-icon{font-size:12px;color:var(--success);margin-right:8px}.result-item.needs-review .result-icon{color:#9a6337}.result-item p{font-size:12px;margin:0 0 13px;color:#5c6c55}.result-item .result-prompt{font-family:Georgia,serif;font-size:17px;color:#23362e}.result-actions{display:flex;gap:16px;align-items:center;margin-top:24px;flex-wrap:wrap}.writing-label{display:block;font-size:12px;font-weight:700;margin:22px 0 9px}.writing-box{display:block;width:100%;min-height:145px;resize:vertical;border:1px solid #bdcbb5;border-radius:8px;background:#fffef9;padding:15px 18px;line-height:1.8;font-size:15px;color:var(--ink)}.writing-box:focus{border-color:#3f6f44}.writing-tools{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:10px}.self-check{margin-top:23px;display:grid;gap:10px}.self-check label{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#52634b;line-height:1.6}.self-check input{accent-color:var(--forest);width:15px;height:15px;flex:none;margin:2px 0 0}.model-revision{margin-top:20px;border:1px solid var(--line);padding:14px 19px;border-radius:8px;font-size:12px}.model-revision summary{cursor:pointer;color:#3e5f3c;font-weight:650}.model-revision p{font-family:Georgia,serif;font-size:18px}.model-revision small{color:var(--muted);line-height:1.7}.completion-message{padding:17px 20px;background:#eaf2e4;border:1px solid #d5e4cb;border-radius:8px;font-size:13px;margin-top:20px}.course-footer{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;padding:23px 0 0}.course-footer>.button:first-child{justify-self:start}.course-footer>.button:last-child{justify-self:end}.screen-progress{text-align:center;min-width:90px;color:#788170;font-size:10px}.screen-progress span{display:block;margin-bottom:9px}progress{display:block;margin:auto;width:100px;height:3px;border:0;border-radius:4px;background:#dce3d2;overflow:hidden}progress::-webkit-progress-bar{background:#dce3d2}progress::-webkit-progress-value{background:#54764d}progress::-moz-progress-bar{background:#54764d}.storage-note{font-size:10px;color:#77816f;text-align:center;margin:21px 0 0;line-height:1.6}
dialog{background:var(--white);color:var(--ink);border:1px solid #dbe2d2;border-radius:16px;max-width:690px;width:calc(100% - 32px);padding:32px 36px;box-shadow:0 20px 80px #102e2840;max-height:90vh;overflow:auto}dialog::backdrop{background:#0b211e99}.dialog-top{display:flex;align-items:flex-start;justify-content:space-between}.dialog-top .eyebrow{margin-bottom:6px;color:#697d5f}.icon-button{border:0;background:transparent;color:#53634c;font-size:28px;line-height:1;padding:0 0 10px 15px}dialog h2{font-family:Georgia,serif;font-size:34px;letter-spacing:-.025em;font-weight:400;margin:0 0 15px}dialog>p{font-size:13px;line-height:1.75;color:#5e6f55}.reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.reference-grid section{padding:17px;border:1px solid var(--line);background:#f2f5ec;border-radius:8px}.reference-grid h3,.punctuation-note h3{font-size:12px;margin:0 0 8px}.reference-grid p{font-size:12px;line-height:1.8;margin:0 0 7px}.reference-grid small{font-size:11px;line-height:1.75;color:#5b6e52}.punctuation-note{margin:20px 0;padding:18px 20px;border-left:3px solid #94ae83;background:#f3f5ee}.punctuation-note p{font-size:13px;margin:7px 0}.reference-rule{font-weight:600}
@media(min-width:1500px){.workspace{padding-left:70px;padding-right:70px}.stage{min-height:610px;padding:52px 58px}}
@media(max-width:1100px){.shell{grid-template-columns:215px minmax(0,1fr)}.sidebar{padding-left:20px;padding-right:20px}.workspace{padding-left:27px;padding-right:27px}.stage{padding:34px 30px;min-height:585px}.intro-layout{grid-template-columns:1fr;gap:20px}.connection-art{min-height:160px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:23px}.connection-art .paper-note:last-child{margin-left:0}.paper-note{font-size:16px;padding:16px}.connection-word{margin:0 -7px;padding:8px 10px;font-size:10px}.intro-title{font-size:45px!important}.intro-layout .lead{margin-bottom:12px}.relation-row{grid-template-columns:110px 1fr 20px;gap:12px}}
@media(max-width:760px){.topbar{height:76px;padding:0 20px}.brand{font-size:12px;gap:9px}.brand svg{width:28px;height:28px}.brand-sub{font-size:8px}.top-actions{gap:7px}.quiet{padding:8px;font-size:10px}.menu-toggle{display:block}.shell{display:block;min-height:calc(100vh - 76px)}.sidebar{display:none;min-height:0;padding:25px}.sidebar.open{display:block}.sidebar .sidebar-bottom{display:none}.sidebar-note{margin-bottom:15px}.sidebar nav{margin-top:15px}.subnav{grid-template-columns:1fr 1fr;gap:2px 16px}.workspace{padding:20px 18px 16px}.lesson-bar{margin-bottom:13px;font-size:9px}.stage{padding:29px 25px;min-height:515px}.stage h1{font-size:34px}.intro-title{font-size:43px!important}.lead{font-size:14px;margin-bottom:21px;line-height:1.8}.intro-layout{margin-top:19px}.connection-art{padding:20px 15px;gap:0}.paper-note{font-size:15px;padding:15px 12px}.connection-word{padding:6px 9px;border-width:4px}.intro-bottom{font-size:11px;margin-top:22px;padding-top:17px}.relation-row{grid-template-columns:105px 1fr;gap:13px;padding:16px}.relation-symbol{display:none}.relation-note{font-size:12px}.example-row{grid-template-columns:1fr;gap:6px;padding:17px 19px}.example-label{padding-top:0;font-size:9px}.example-copy{font-size:20px}.cause-flow{grid-template-columns:1fr 22px 1fr;gap:6px}.flow-box{padding:15px 12px}.flow-box p{font-size:17px}.sequence li{font-size:18px;gap:14px}.sequence .step-word{min-width:70px}.question-stem{font-size:20px;padding:17px 18px}.answer-option{padding:13px 14px;font-size:13px;gap:11px}.course-footer{gap:10px;padding-top:18px;grid-template-columns:1fr auto 1fr}.button{font-size:11px;padding:11px 14px}.screen-progress{font-size:9px;min-width:66px}progress{width:65px}.screen-progress span{margin-bottom:7px}.score-banner{gap:18px;padding:19px}.score-number{font-size:43px}.score-banner h2{font-size:14px}.assessment-facts{gap:8px}.assessment-fact{padding:12px 15px}.stage h2{font-size:16px}.storage-note{font-size:9px;max-width:350px;margin:17px auto 0}dialog{padding:25px}dialog h2{font-size:29px}}
@media(max-width:420px){.topbar{padding:0 13px}.brand-sub{font-size:7px}.brand{font-size:11px}.brand svg{width:24px}.top-actions{gap:5px}.quiet{font-size:9px;padding:8px 6px}.workspace{padding:17px 12px}.stage{padding:26px 20px}.stage h1{font-size:31px}.intro-title{font-size:39px!important}.connection-art{grid-template-columns:1fr;gap:0;padding:21px}.connection-word{justify-self:center;margin:-3px 0;border-width:5px}.paper-note{font-size:17px;padding:15px 17px}.connection-art .paper-note:last-child{margin-left:17px}.course-meta{gap:9px;font-size:10px}.course-meta span+span:before{margin-right:9px}.relation-row{grid-template-columns:1fr;gap:5px}.reference-grid{grid-template-columns:1fr}.course-footer{gap:5px}.button{padding:11px 11px}.score-banner{align-items:flex-start;gap:13px}.score-number{font-size:38px}.sequence li{font-size:17px}.flow-box p{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{body{background:white;color:#111}.topbar,.shell,.skip,#status{display:none!important}dialog{display:block!important;position:static!important;margin:0!important;width:100%!important;max-width:none!important;max-height:none!important;overflow:visible!important;padding:12mm!important;border:0!important;box-shadow:none!important;color:#111!important}dialog::backdrop{display:none}.icon-button,#print-reference{display:none!important}.reference-grid{grid-template-columns:1fr 1fr}.reference-grid section,.punctuation-note{background:white!important;border-color:#666!important;break-inside:avoid}.reference-grid p,.reference-grid small,dialog>p,.dialog-top .eyebrow{color:#111!important}.reference-rule{color:#111!important}.punctuation-note strong{color:#111}body{font-size:11pt}@page{size:letter;margin:10mm}}
