@font-face{font-family:Atkinson;src:url('assets/fonts/AtkinsonNext-VF.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:Schibsted;src:url('assets/fonts/Schibsted-VF.woff2') format('woff2');font-weight:400 900;font-display:swap}
@font-face{font-family:Lenia;src:url('assets/fonts/LeniaMono-Regular.woff') format('woff');font-display:swap}
:root{--paper:#f8f5f2;--white:#fffdf9;--ink:#221c15;--muted:#655d55;--rust:#9a3412;--line:#c9bfb3;--green:#315e4b;--dark:#202824}
*{box-sizing:border-box}body{margin:0;background:#eee9e2;color:var(--ink);font:17px/1.5 Atkinson,system-ui,sans-serif}a{color:var(--rust);text-underline-offset:4px}button,select,textarea,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.5}[hidden]{display:none!important}button,a,summary,input,textarea,select{touch-action:manipulation}:focus-visible{outline:3px solid var(--rust);outline-offset:4px}.skip{position:fixed;top:-80px;left:20px;background:var(--white);padding:12px;z-index:9}.skip:focus{top:12px}.masthead{max-width:1440px;margin:auto;height:90px;padding:0 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.masthead img{width:155px;height:auto;display:block}.masthead>a:last-child{font-size:15px}.course-frame{max-width:1400px;margin:0 auto 24px;border:2px solid var(--dark);border-top-width:5px;border-radius:10px;overflow:clip;background:var(--white);box-shadow:0 12px 30px #221c1510}.course-bar{display:flex;justify-content:space-between;gap:14px;background:var(--dark);color:var(--paper);font:10px/1.5 Lenia,monospace;letter-spacing:.5px;padding:13px 24px}.shell{display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{background:var(--paper);padding:28px 18px;border-right:1px solid var(--line)}.eyebrow{font:10px/1.5 Lenia,monospace;letter-spacing:.8px;color:var(--rust);margin:0 0 12px}#chapters button{width:100%;text-align:left;border:0;border-left:3px solid transparent;border-radius:0 5px 5px 0;background:transparent;padding:12px 10px;font-size:15px;min-height:48px;margin-bottom:5px}#chapters button[aria-current=step]{background:#eee3d8;border-left-color:var(--rust)}#chapters button:hover{background:#eee7df}#chapters small{display:block;color:var(--green);font-size:12px;margin-top:4px}.save-note{border-top:1px solid var(--line);margin-top:24px;padding:15px 10px 0;font-size:13px;color:var(--muted)}.save-note button{background:none;border:0;padding:10px 0;text-decoration:underline;color:var(--rust)}main{padding:27px clamp(20px,3vw,44px);min-width:0;scroll-margin-top:12px}.lesson-heading h1{font:600 clamp(28px,3vw,42px)/1.1 Schibsted,sans-serif;letter-spacing:-1px;margin:0 0 12px}.lesson-heading>p:last-child{margin:0 0 22px;color:var(--muted);max-width:780px}.workspace{border:1px solid #b6aa9f;border-radius:7px;overflow:clip}.stage-tabs{display:flex;padding:0 14px;gap:3px;border-bottom:1px solid var(--line);background:var(--paper)}.stage-tabs button{border:0;border-bottom:3px solid transparent;background:none;padding:13px 22px;min-height:48px;font-weight:600}.stage-tabs button[aria-selected=true]{border-bottom-color:var(--rust);color:var(--rust)}[role=tabpanel]{padding:24px;scroll-margin-top:12px}.guide-row{display:flex;align-items:center;gap:24px}.guide-row img{width:112px;height:140px;object-fit:contain;flex:none}.guide-row .eyebrow{font-size:9px}.takeaway{font:500 clamp(21px,2vw,28px)/1.35 Schibsted,sans-serif;max-width:650px;margin:0}audio{width:100%;margin-top:18px;height:44px}#caption{font-size:15px;color:var(--muted);min-height:46px;margin:12px 0}#audio-status:empty,#copy-status:empty{display:none}details{border-top:1px solid var(--line);padding-top:13px}summary{cursor:pointer;min-height:32px}details p{color:var(--muted);max-width:780px}h2{font:600 23px/1.25 Schibsted,sans-serif;letter-spacing:-.5px;margin:0 0 14px}h3{font-size:19px;margin:0 0 10px}p{margin:0 0 16px}.practice-top{display:flex;justify-content:space-between;gap:16px;margin-bottom:17px;font-size:12px;color:var(--muted)}.practice-top .eyebrow{margin:0}.exercise-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(240px,.9fr);gap:22px}.choice-list{display:grid;gap:9px}.choice,.file-choice{display:block;text-align:left;width:100%;border:1px solid var(--line);background:var(--paper);border-radius:5px;padding:12px 15px;min-height:48px}.choice:hover,.file-choice:hover{border-color:var(--rust);background:#eee3d8}.choice small,.file-choice small{display:block;font-size:13px;color:var(--muted);margin-top:4px}.brief{background:var(--dark);color:var(--paper);border-radius:6px;padding:18px;font-size:15px}.brief .eyebrow{color:#e4bc91}.brief ul{padding-left:19px;margin:10px 0 0}.page-preview{border:1px solid var(--line);border-radius:5px;background:var(--white);overflow:hidden}.page-bar{padding:9px 13px;background:#eee7df;font:10px/1.5 Lenia,monospace;color:var(--muted);overflow-wrap:anywhere}.page-content{padding:18px}.page-content h3{font:600 25px/1.2 Schibsted,sans-serif;margin:0 0 14px}.page-content ul{list-style:none;padding:0;margin:0;font-size:14px}.page-content li{padding:9px 0;border-top:1px solid var(--line)}.page-preview.redesigned .page-content{background:#e5ece7}.page-preview.redesigned h3{font-size:32px}.project-header{display:flex;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:10px 0;margin-bottom:16px;font-size:13px;color:var(--muted)}.project-header strong{color:var(--green)}.conversation{background:var(--paper);border-left:3px solid var(--green);padding:15px 18px;margin:16px 0;font-size:15px}.conversation p:last-child{margin:0}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.primary,.secondary,.prompt-box button{border-radius:5px;padding:11px 18px;min-height:46px;font-size:15px}.primary{background:var(--dark);color:var(--white);border:1px solid var(--dark)}.primary:hover{background:var(--green)}.secondary,.prompt-box button{border:1px solid var(--line);background:var(--paper)}.feedback{margin:18px 0 0;border-left:3px solid var(--green);padding:12px 16px;background:#e5ece7;font-size:15px}.feedback:empty{display:none}.feedback.retry{border-color:var(--rust);background:#f5e8df}.success{color:var(--green);font-weight:600}.request-fields{display:grid;gap:14px}.request-fields label{display:grid;gap:5px;font-weight:600;font-size:14px}.request-fields select{width:100%;border:1px solid var(--line);border-radius:4px;background:var(--white);color:var(--ink);padding:11px;font-weight:400;font-size:15px;min-width:0}.request-preview{margin:17px 0;padding:16px;border:1px solid var(--line);border-radius:4px;background:var(--paper);font-size:16px}.checks{display:grid;gap:10px;margin:18px 0}.checks label{display:flex;align-items:start;gap:10px;padding:9px 0;min-height:44px}.checks input{width:20px;height:20px;flex:none;accent-color:var(--green);margin-top:3px}.prompt-box{margin:18px 0;background:var(--paper);padding:16px;border:1px solid var(--line);border-radius:5px}.prompt-box label{display:block;font-weight:600;margin-bottom:8px}.prompt-box textarea{width:100%;border:0;padding:10px;resize:vertical;color:var(--ink);background:var(--white);font-size:16px;line-height:1.5}.prompt-box button{margin-top:10px}.real-note{font-size:14px;color:var(--muted)}.resource-links{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:15px}.lesson-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:21px}.lesson-nav p{font-size:13px;color:var(--muted);margin:0;text-align:center}.completion{margin-top:24px;border:1px solid var(--green);border-left-width:5px;border-radius:5px;padding:24px;background:#e5ece7}footer{max-width:1400px;margin:0 auto;padding:0 24px 25px;font-size:12px;color:var(--muted)}dialog{border:2px solid var(--dark);border-radius:8px;max-width:530px;width:calc(100% - 40px);padding:26px;background:var(--white);color:var(--ink)}dialog::backdrop{background:#20282480}.dialog-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
@media(max-width:1435px){.course-frame{margin-inline:20px}}
@media(max-width:900px){.shell{grid-template-columns:185px minmax(0,1fr)}.sidebar{padding:22px 12px}main{padding:22px}.exercise-grid{grid-template-columns:1fr}.guide-row{gap:15px}.guide-row img{width:85px;height:110px}.practice-top{display:block}.practice-top>span:last-child{display:block;margin-top:5px}}
@media(max-width:650px){.masthead{height:80px;padding:0 18px}.masthead img{width:135px}.masthead>a:last-child{font-size:13px}.course-frame{margin-inline:12px}.course-bar{padding:12px;font-size:8px;letter-spacing:0}.shell{display:block}.sidebar{padding:14px 12px;border-right:0;border-bottom:1px solid var(--line)}.sidebar>.eyebrow{display:none}#chapters{display:flex;overflow-x:auto;gap:6px;padding:3px}#chapters button{flex:0 0 142px;border:1px solid var(--line);border-bottom:3px solid transparent;margin:0;font-size:13px;min-height:63px;padding:10px}#chapters button[aria-current=step]{border-left-color:var(--line);border-bottom-color:var(--rust)}#chapters small{font-size:11px}.save-note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 3px 0;margin:0;border:0;font-size:11px}.save-note p{margin:0}.save-note button{font-size:11px}main{padding:22px 14px}.lesson-heading h1{font-size:29px}.lesson-heading>p:last-child{font-size:16px}.stage-tabs{padding:0 8px}.stage-tabs button{padding:12px 16px;font-size:15px}[role=tabpanel]{padding:19px 15px}.guide-row{gap:12px}.guide-row img{width:66px;height:93px}.guide-row .eyebrow{font-size:8px}.takeaway{font-size:19px}h2{font-size:22px}.lesson-nav{gap:8px;flex-wrap:wrap}.lesson-nav p{width:100%;order:3;text-align:left}.lesson-nav button{font-size:13px;padding:11px 13px}.prompt-box{padding:12px}.request-fields select{font-size:14px}.page-content h3{font-size:22px}.completion{padding:18px}}
.request-fields input{width:100%;min-width:0;padding:11px;border:1px solid var(--line);border-radius:4px;background:var(--white);color:var(--ink);font-weight:400;font-size:16px}
.request-fields,.request-fields label{min-width:0}@media(max-width:650px){.project-header{font-size:12px;gap:6px}.checks{gap:3px;margin:12px 0}.checks label{padding:7px 0}.page-content{padding:14px}.page-content li{padding:7px 0}}
.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip:focus{clip-path:none;width:auto;height:auto;overflow:visible}@media(max-width:650px){.guide-row .eyebrow{font-size:10px}.course-bar{font-size:9px}}
.explanation{margin:0 0 18px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.sentence-detail{font-size:15px;margin:12px 0;padding-left:12px;border-left:2px solid var(--green);color:var(--muted)}.sentence-detail:empty{display:none}
