:root{--navy:#102b4d;--gold:#b88423;--line:#e4d8bf;--cream:#fcfaf5}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--navy);font:18px/1.65 Arial,sans-serif}header{text-align:center;padding:28px 20px 24px;border-bottom:1px solid var(--line);background:white}.emblem{position:relative;width:126px;aspect-ratio:720/280;overflow:hidden;margin:0 auto 8px}.emblem img{position:absolute;width:142.222%;max-width:none;left:-20.833%;top:-189.286%}.wordmark{font:clamp(28px,5vw,44px) Georgia,serif;letter-spacing:.06em;color:#a97516}.motto{font-size:12px;letter-spacing:.2em;margin:8px 0 0}main{max-width:980px;margin:auto;padding:30px 24px}.intro{text-align:center}.intro h1{font:clamp(36px,6vw,56px) Georgia,serif;margin:4px}.intro p{margin:8px}.eyebrow{font-size:12px;font-weight:bold;letter-spacing:.16em;color:#8d651f}.dot{color:var(--gold);padding:0 8px}.studentbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:28px 0 18px}.studentbar #saved{margin-left:auto;font-size:13px}.resume{display:flex;gap:18px;align-items:center;justify-content:space-between;border-block:1px solid var(--line);padding:22px 0}.resume p{margin:4px 0}.tabs{display:flex;gap:10px;margin:28px 0 18px;flex-wrap:wrap}button,select{font:inherit;border:1px solid #c8b78e;border-radius:9px;background:white;color:var(--navy);padding:10px 18px;cursor:pointer;min-height:46px}button:hover{background:#f5ecd8}button:disabled{opacity:.45;cursor:default}button[aria-pressed=true],.gold{background:#e8c675;border-color:#b88423;font-weight:bold}.paper{background:white;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:12px;padding:34px;box-shadow:0 15px 40px #19335208}.paper h2{font:34px/1.2 Georgia,serif;margin:0 0 14px}.paper h3{font:25px Georgia,serif;margin-top:30px}.audio{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 0;border-block:1px solid var(--line);margin:24px 0}.audio label{font-size:12px;letter-spacing:.12em;font-weight:bold}.audio #audio-status{font-size:14px}.count{font-size:14px;color:#687484}textarea{width:100%;min-height:135px;border:1px solid #b3bbc5;border-radius:8px;padding:15px;font:21px/1.6 Georgia,serif;color:var(--navy);resize:vertical;margin-top:10px}input[type=text]{font:inherit;padding:10px;border:1px solid #aeb8c3;border-radius:6px;max-width:100%;width:100%}.actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:24px}.comparison{border-left:3px solid var(--gold);padding:8px 18px;background:var(--cream);margin:16px 0}.comparison p{margin:4px 0}.comparison small{color:#687484}.choice{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;padding:10px 14px;cursor:pointer;margin:6px 0}.choice:has(input:checked){border:2px solid var(--gold);background:#fff7df;padding:9px 13px}.choice input{width:20px;height:20px;accent-color:#9a6b13}.question{padding:18px 0;border-bottom:1px solid var(--line)}.question p{margin:0 0 10px}.storage,footer{font-size:13px;color:#627083;text-align:center}.storage{margin-top:24px}footer{padding:25px;border-top:1px solid var(--line)}footer span{display:block;font:18px Georgia,serif;margin-top:4px}:focus-visible{outline:3px solid #af7b20;outline-offset:4px}details{border-bottom:1px solid var(--line);padding:14px 0}summary{cursor:pointer;font-weight:bold}.warning{color:#8f300c}.personal{font-size:15px} @media(max-width:600px){main{padding:22px 14px}.paper{padding:23px 18px}.resume{display:block}.resume button{width:100%;margin-top:12px}.studentbar #saved{width:100%;margin:0}.tabs button{flex:1;padding:8px}.audio select{max-width:100%}}

[hidden]{display:none!important}dialog{width:min(520px,calc(100% - 30px));border:1px solid #c8b78e;border-top:4px solid var(--gold);border-radius:12px;padding:28px;color:var(--navy);max-height:90vh;overflow:auto}dialog::backdrop{background:#102b4d66}dialog h2{font:30px Georgia,serif}dialog label{display:block;margin-top:16px}dialog input,dialog select{display:block;width:100%;margin:8px 0 16px;padding:12px;font:inherit;border:1px solid #aeb8c3;border-radius:6px}dialog button{margin:8px 5px 8px 0}#student-name{font-weight:bold}

.welcome-grid{display:grid;grid-template-columns:minmax(150px,260px) 1fr;gap:38px;align-items:center}.cover{width:100%;height:auto;box-shadow:0 12px 28px #102a4320}.section-choices{display:grid;gap:18px}.section-card{display:block;width:100%;text-align:left;border:1px solid #c59738;border-left:5px solid #c59738;padding:22px;background:#faf8f2}.section-card strong{font: bold 20px Georgia,serif}.section-card span,.section-card small{display:block;margin-top:10px}.model{background:#faf8f2;padding:20px;border:1px solid #c59738}.model summary{cursor:pointer;font-weight:bold;color:#806019}.models{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.models ol{padding-left:22px}.models li{margin-bottom:12px}.word-bank{line-height:1.9}.stage-tabs{display:flex;gap:10px;flex-wrap:wrap}.stage-tabs [aria-pressed=true]{background:#102a43;color:white}.reference{border-left:3px solid #c59738;padding-left:12px}.say-it{padding:20px;background:#faf8f2;border-top:3px solid #c59738}
@media(max-width:650px){.welcome-grid{grid-template-columns:1fr;gap:24px}.cover{max-width:200px;margin:auto}.models{grid-template-columns:1fr}.section-card strong{font-size:18px}}

.practice-picker{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}.practice-picker label{font-size:13px;letter-spacing:.08em}.word-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 16px;margin-top:12px}.word-grid span{padding:7px 10px;background:#faf8f2;border-radius:4px;line-height:1.5}.pattern{background:white;padding:16px;margin:16px 0}.pattern p{margin:6px 0;line-height:1.5}.models h3{font-size:18px}.models{grid-template-columns:1fr}.models li{font-size:20px}.say-it+button{margin-top:22px}@media(max-width:600px){.word-grid{grid-template-columns:repeat(2,1fr)}}

.pattern-row{display:flex;gap:20px;padding:7px 0;border-bottom:1px solid #eee8d9;align-items:baseline}.pattern-row span{flex:1;min-width:0;line-height:1.5}
.practice-picker select{min-width:0;max-width:100%;width:100%}.choice input{flex-shrink:0}.model-answer{background:var(--cream);border-left:3px solid var(--gold);padding:12px}.paper{overflow-wrap:break-word}

/* Master-aligned worksheet cells and worked examples, 4 October 2026. */
.pattern-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.pattern-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:18px;line-height:1.55}
.pattern-table td{padding:12px;vertical-align:top;border:1px solid var(--line);overflow-wrap:break-word}
.pattern-table tr:nth-child(odd){background:#fcfaf5}
.pattern-table.columns-3{min-width:550px}.pattern-table.columns-4{min-width:640px}
.pattern-gold{color:#946611;font-weight:bold}.pattern-note{line-height:1.6}
.pattern-scroll-hint{display:none;font-size:14px;color:#626d78}
.example-answer{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;font-weight:600}
@media(max-width:650px){.pattern{padding:8px 0}.pattern-table{font-size:16px}.pattern-table td{padding:10px 8px}.pattern-scroll-hint{display:block}.model{padding:14px}.welcome-view .welcome-grid{grid-template-columns:1fr}}
/* Spacious opening page: restore cover scale and breathing room. */
@media(min-width:900px){
.welcome-view{line-height:1.4}
.welcome-view header{padding:16px 20px 14px}
.welcome-view .emblem{width:126px;margin-bottom:8px}
.welcome-view .wordmark{font-size:44px}
.welcome-view main{max-width:1280px;padding:22px 32px}
.welcome-view .intro h1{font-size:52px;line-height:1.15;margin:4px 0 16px}
.welcome-view .studentbar{margin:16px 0 14px}
.welcome-view .resume{padding:14px 0;margin-bottom:24px}
.welcome-view .paper{padding:32px 40px}
.welcome-view .welcome-grid{grid-template-columns:280px 1fr;gap:52px}
.welcome-view .welcome-grid h2{font-size:36px;margin-bottom:24px}
.welcome-view .welcome-grid .eyebrow{margin:0 0 12px}
.welcome-view .section-choices{gap:20px}
.welcome-view .section-card{padding:20px 24px}
.welcome-view .section-card strong{font-size:22px}
.welcome-view .section-card span,.welcome-view .section-card small{margin-top:8px}
.welcome-view .welcome-grid .personal{margin:18px 0 0}
.welcome-view .storage{margin:22px 0 0}
.welcome-view footer{padding:14px}
}
