:root{color-scheme:light;--ink:#183b38;--muted:#526460;--paper:#f7f6ef;--white:#fff;--green:#164e47;--lime:#dceca3;--line:#d5ded5;--warm:#e57654;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.5}a{color:var(--green);text-underline-offset:4px}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a63a1d;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}.skip{position:absolute;left:16px;top:-70px;z-index:20;background:#fff;padding:12px}.skip:focus{top:10px}.site-header,main,footer{width:min(1120px,calc(100% - 64px));margin-inline:auto}.site-header{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:750;text-decoration:none;color:var(--ink)}.brand-mark{display:grid;place-items:center;background:var(--ink);color:var(--lime);width:44px;height:44px;border-radius:13px;font-size:19px;letter-spacing:-2px;padding-right:2px}.brand small{display:block;font-size:9px;letter-spacing:.18em;margin-top:2px;font-weight:700}.site-header nav{display:flex;gap:8px}.site-header nav a{padding:12px 14px;font-size:14px;font-weight:650;text-decoration:none;border-radius:9px}.site-header nav a:hover{background:#e8ece0}.intro{padding:42px 0 38px;display:grid;grid-template-columns:1fr 350px;gap:36px;align-items:center}.eyebrow,.small-label,.how-to-label{font-size:11px;letter-spacing:.13em;font-weight:800;margin:0 0 10px}.eyebrow{color:#5b6e53}h1{font-size:clamp(38px,4.5vw,57px);margin-bottom:12px;font-weight:760;letter-spacing:-.05em}.title-dot{color:var(--warm)}.intro-text{font-size:19px;line-height:1.55;margin-bottom:0;color:var(--muted)}.how-to{background:var(--lime);padding:22px 24px;border-radius:20px 20px 20px 4px;transform:rotate(1deg)}.how-to-label{font-size:10px}.how-to ol{padding-left:22px;margin:9px 0 0;font-size:14px}.how-to li{padding:3px 0}.how-to li::marker{font-weight:800}.course{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:26px;outline:none}.course-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:21px}.course-heading h2{font-size:25px;margin-bottom:0}.course-heading .eyebrow{font-size:10px;margin-bottom:5px}.release-label{padding:7px 11px;background:#f3eedb;color:#655322;border-radius:7px;font-weight:650;font-size:11px;white-space:nowrap}.grade-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.grade-picker button{min-height:64px;background:#f6f7f2;border:1px solid var(--line);border-radius:12px;padding:10px 15px;text-align:left;color:var(--ink);font-size:19px;font-weight:750;transition:background .15s}.grade-picker button span{display:block;font-size:12px;font-weight:500;margin-top:1px;letter-spacing:0}.grade-picker button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}.grade-picker button:hover{box-shadow:inset 0 0 0 1px currentColor}.grade-description{font-size:13px;color:var(--muted);margin:12px 0 21px;max-width:840px}.load-status{font-size:14px;color:var(--muted)}.load-status:empty{display:none}.load-error{background:#fff1e6;border:1px solid #dfa781;border-radius:12px;padding:18px;font-size:14px}.load-error p{margin-bottom:12px}.week-picker{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);gap:14px}.week-picker button{min-height:70px;border:0;border-bottom:3px solid transparent;background:transparent;text-align:left;padding:7px 1px 13px;color:var(--muted)}.week-picker button strong{display:block;font-size:13px;margin-bottom:2px}.week-picker button span{font-size:12px;line-height:1.3;display:block}.week-picker button[aria-pressed=true]{border-bottom-color:var(--green);color:var(--green)}.week-picker button[aria-pressed=true] strong::after{content:' •';color:var(--warm)}.week-overview{padding:22px 0 19px;display:flex;align-items:center;justify-content:space-between;gap:28px}.week-overview h3{font-size:24px;margin-bottom:5px}.week-overview .translation{font-size:13px;margin-bottom:7px;color:var(--muted)}.mission{font-size:14px;margin-bottom:0;max-width:670px}.week-number{display:flex;align-items:center;gap:10px;font-size:11px;line-height:1.4;color:var(--muted);min-width:95px}.week-number strong{font-size:50px;font-weight:350;color:#537568;line-height:1;letter-spacing:-4px}.class-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.class-card{border:1px solid var(--line);border-radius:15px;display:flex;flex-direction:column;padding:19px;background:#fff}.class-topline{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:11px}.class-number{font-weight:800;font-size:10px;letter-spacing:.1em}.mode{font-size:10px;font-weight:650;background:#edf2df;padding:4px 8px;border-radius:5px;color:#3a5330}.mode.quiz{background:#e6f1f1;color:#27535b}.class-card h3{font-size:19px;margin-bottom:5px;line-height:1.25}.class-card .class-translation{font-size:12px;color:var(--muted);margin-bottom:11px}.class-card .goal{font-size:13px;color:var(--muted);margin-bottom:16px}.class-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:auto}.button{display:inline-flex;justify-content:center;align-items:center;gap:11px;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:10px 14px;font-size:12px;font-weight:750;text-decoration:none}.button-dark{background:var(--green);border-color:var(--green);color:#fff}.button-dark:hover{background:#0d3732}.button-light{background:#f6f7f2;color:var(--green)}.button-light:hover{background:#e7ecdc}.class-note{font-size:12px;color:var(--muted);padding:14px 3px 0;margin-bottom:0}.direct-links{font-size:12px;margin-top:20px;border-top:1px solid var(--line);padding-top:12px}.direct-links summary{cursor:pointer;min-height:36px;padding:7px 0;color:var(--muted)}.direct-links p{margin:8px 0}.direct-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.direct-grid a{display:block;min-height:38px;padding:7px 0}.direct-grid strong{display:block;margin:5px 0}.more-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0 35px}.more-card{padding:25px 27px;border:1px solid var(--line);border-radius:20px}.more-card .small-label{display:block;color:var(--muted);font-size:9px}.more-card h2{font-size:23px;margin:9px 0 10px}.more-card p{font-size:13px;color:var(--muted);margin-bottom:15px}.more-card a{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:700;min-height:44px}.teacher-card{background:#edf0e6}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:23px 0 30px;font-size:11px;color:var(--muted)}footer a{min-height:35px}
@media(min-width:1400px){.intro{padding-block:50px}.course{padding:30px}}
@media(max-width:800px){.site-header,main,footer{width:calc(100% - 36px)}.site-header{min-height:80px}.brand{font-size:15px}.site-header nav{gap:0}.site-header nav a{padding:12px 9px;font-size:12px}.intro{grid-template-columns:1fr 280px;gap:20px;padding:30px 0}.how-to{padding:18px}.intro-text{font-size:16px}.course{padding:20px}.course-heading{align-items:flex-start;gap:12px}.course-heading h2{font-size:22px}.release-label{font-size:10px}.week-overview h3{font-size:22px}.class-card{padding:16px}.class-actions .button{padding:10px 12px}.more-grid{gap:15px}.more-card{padding:21px}}
@media(max-width:580px){.site-header{align-items:flex-start;flex-direction:column;gap:9px;padding:17px 0 9px}.site-header nav{width:100%;justify-content:space-between}.site-header nav a{padding:10px 8px;min-height:44px}.brand-mark{height:38px;width:38px}.intro{grid-template-columns:1fr;padding:28px 0 25px;gap:19px}.intro-text br{display:none}h1{font-size:43px}.how-to{transform:none;border-radius:12px;padding:14px 18px}.how-to ol{font-size:12px;margin-top:5px}.how-to li{padding:1px 0}.course{padding:17px 14px;border-radius:17px}.course-heading{display:block;margin-bottom:16px}.course-heading h2{font-size:23px}.release-label{display:inline-block;margin-top:10px}.grade-picker{gap:6px}.grade-picker button{padding:10px 8px;font-size:17px;min-height:75px}.grade-picker button span{font-size:10px;line-height:1.4;margin-top:5px}.grade-description{font-size:12px;margin-bottom:12px}.week-picker{gap:10px}.week-picker button{min-height:85px;padding-bottom:10px}.week-picker button span{font-size:11px}.week-overview{padding:20px 0 17px;gap:14px}.week-overview h3{font-size:22px}.week-number{display:none}.mission{font-size:13px}.class-list{grid-template-columns:1fr}.class-card{padding:17px}.class-card h3{font-size:20px}.class-actions .button{min-height:46px;font-size:13px}.class-actions{gap:10px}.more-grid{grid-template-columns:1fr;gap:14px;margin-block:20px}.more-card{padding:22px}.direct-grid{grid-template-columns:1fr}.direct-grid>div{padding-top:5px;border-top:1px solid var(--line)}footer{font-size:10px;align-items:center;gap:12px}.brand{font-size:17px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.site-header,.how-to,.grade-picker,.week-picker,.more-grid,footer,.direct-links,.class-actions,.release-label{display:none!important}body{background:#fff}main{width:100%}.intro{padding:10px 0;display:block}.course{border:0;padding:0}.class-card{break-inside:avoid}.class-list{grid-template-columns:1fr 1fr}}

.course-unit-label{display:grid;gap:8px;font-weight:700;font-size:14px;margin:18px 0}.course-unit-label select{font:inherit;padding:12px;border:1px solid var(--line);border-radius:9px;width:100%;min-height:46px;background:white;color:var(--ink)}.week-picker{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:580px){.week-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.week-picker button{min-height:65px}}
/* The primary action opens self-directed work; the secondary action opens teaching. */
.class-actions .button{white-space:normal;text-align:center}.class-note{max-width:82ch}.class-actions .button-light{font-weight:650}@media(max-width:580px){.class-actions .button{font-size:12px;line-height:1.35}}

/* Small pictures explain vocabulary without replacing the text or controls. */
.course-picture-cards{display:flex;gap:.55rem;margin:.65rem 0;align-items:stretch}.course-picture-card{flex:1;min-width:0;max-width:180px;margin:0;padding:.45rem .5rem;background:#f7fafc;border:1px solid #d6e3e9;border-radius:14px;text-align:center}.course-picture-card .word-visual{height:64px;max-height:12vh;margin:0 auto .2rem;width:100%}.word-visual img,.word-visual svg{display:block;width:100%;height:100%;object-fit:contain}.course-picture-card figcaption strong,.course-picture-card figcaption span{display:block;overflow-wrap:anywhere}.course-picture-card figcaption strong{font-size:.86rem;color:#203f57}.course-picture-card figcaption span{font-size:.74rem;color:#536877;line-height:1.3;margin-top:.1rem}
@media(max-width:540px){.course-picture-cards{gap:.35rem}.course-picture-card{padding:.35rem}.course-picture-card .word-visual{height:52px;max-height:10vh}.course-picture-card figcaption strong{font-size:.78rem}.course-picture-card figcaption span{font-size:.7rem}}
@media(max-height:650px){.course-picture-card .word-visual{height:48px;max-height:9vh}}

/* A colourful course path, with the same small picture cards as student work. */
:root{--ink:#203c50;--muted:#536877;--paper:#eff6fa;--green:#226355;--line:#d4e2e9}.brand-mark{background:#275b7e;color:white}.intro{padding-block:32px}.eyebrow{color:#316684}.how-to{background:#e2f0cb;border:2px solid #c7dfac;transform:none;box-shadow:0 4px 0 #c7dfac}.how-to ol{font-size:16px}.how-to li{padding:5px 0}.course{border-width:2px;box-shadow:0 5px 0 #d9e7ee}.grade-picker button{border-width:2px;font-size:21px}.grade-picker button[data-grade="5"]{--grade:#286b9a;--grade-light:#e7f2fa}.grade-picker button[data-grade="6"]{--grade:#8052a1;--grade-light:#f1eafa}.grade-picker button[data-grade="7"]{--grade:#2b745c;--grade-light:#e7f5ee}.grade-picker button{border-color:var(--grade);color:var(--grade);background:var(--grade-light)}.grade-picker button[aria-pressed=true]{background:var(--grade);border-color:var(--grade);color:white;box-shadow:0 3px 0 #c7d8e1}.grade-picker button span{font-size:14px}.grade-description{font-size:15px}.week-picker button{padding:10px;border:2px solid #d6e3eb;border-radius:12px;margin-bottom:12px;background:#f7fafc}.week-picker button strong{font-size:15px}.week-picker button span{font-size:13px}.week-picker button[aria-pressed=true]{border-color:#286b9a;background:#e7f2fa;color:#214e70}.class-card{--class:#286b9a;border-width:2px;border-top:6px solid var(--class);box-shadow:0 3px 0 #e3edf2}.class-card[data-class="2"]{--class:#8052a1}.class-card[data-class="3"]{--class:#946016}.class-card[data-class="4"]{--class:#2b745c}.class-number{font-size:12px;color:var(--class)}.mode{font-size:12px}.class-card .class-translation,.class-card .goal{font-size:15px}.class-card .goal{margin-bottom:6px}.class-card .course-picture-cards{margin-bottom:16px}.class-card .course-picture-card{max-width:none}.class-card .course-picture-card .word-visual{height:76px;max-height:13vh}.class-actions .button{font-size:15px;min-height:48px;width:100%;border-radius:12px;box-shadow:0 3px 0 #d4e4dc}.week-overview .translation,.mission{font-size:15px}.learning-icons{display:flex;gap:12px;align-items:center;margin-top:20px}.learning-icons>span{display:grid;place-items:center;height:58px;width:65px;border-radius:17px;font-weight:850;font-size:30px;border:2px solid currentColor}.learning-icons .speech-picture{position:relative;width:105px;background:#e2f1fb;color:#286b9a;font-size:20px;border-radius:18px 18px 18px 3px}.sketch-picture{background:#fff1d7;color:#946016;transform:rotate(-6deg)}.check-picture{background:#e7f5ee;color:#2b745c;transform:rotate(5deg)}.more-card{background:white}.more-card p,.more-card a{font-size:15px}.class-note{font-size:14px}.course-picture-card figcaption strong{font-size:15px}.course-picture-card figcaption span{font-size:13px}
@media(max-width:580px){.grade-picker button{font-size:18px}.grade-picker button span{font-size:12px}.how-to ol{font-size:15px}.grade-description{font-size:14px}.week-picker button span{font-size:12px}.class-card .course-picture-card .word-visual{height:60px}.class-topline{gap:7px}.mode{font-size:11px}.learning-icons{margin-top:15px}.learning-icons>span{height:46px;width:53px}.learning-icons .speech-picture{width:90px}.class-actions .button{font-size:15px}.course-picture-card figcaption strong{font-size:14px}.course-picture-card figcaption span{font-size:12px}}
@media print{.learning-icons{display:none}.class-card,.course{box-shadow:none}}
