:root{--ink:#243d38;--muted:#69766e;--green:#27584d;--paper:#f8f7f1;--line:#dce3da;--sage:#e5ece4;--cream:#eeeade;--rose:#b16b52;--white:#fff;--display:"Bodoni MT","Baskerville","Palatino Linotype",Georgia,serif;--body:"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--body)}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button,.button{border:1px solid #cbd6cc;background:rgba(239,244,236,.76);backdrop-filter:blur(12px);border-radius:12px;padding:10px 17px;color:var(--ink);cursor:pointer;text-decoration:none;display:inline-block;line-height:1.4;min-height:44px;transition:background .2s,transform .2s}button:hover,.button:hover{background:#dfe9df}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible{outline:3px solid #ac684b;outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#1c433a}.quiet{background:transparent}.eyebrow{font-size:0.875rem;font-weight:700;letter-spacing:.19em;margin:0 0 10px;color:var(--muted)}.sidebar{position:fixed;width:270px;inset:0 auto 0 0;z-index:20;background:#eef1e9;border-right:1px solid var(--line);padding:28px 22px 16px;overflow:auto;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:var(--green);font-size:0.875rem;letter-spacing:.1em;text-decoration:none;font-weight:700}.brand small{display:block;font-size:0.875rem;margin-top:4px}.brandmark{font:36px Georgia;border:1px solid #b9c8bc;width:45px;height:48px;line-height:48px;text-align:center;border-radius:14px 14px 3px 3px}.edition{margin:25px 0 20px;display:flex;gap:8px}.edition a{flex:1;text-align:center;border:1px solid var(--line);padding:6px;border-radius:8px;font-size:0.875rem;color:var(--muted);text-decoration:none}.edition a.active{background:var(--green);color:white}.navblock{border-top:1px solid var(--line);padding:16px 0}.navblock button{width:100%;border:0;background:transparent;padding:8px 4px;text-align:left;font-size:0.875rem;display:flex;align-items:center;gap:3px}.navblock button span{margin-left:auto}.navblock small{display:block;font-size:0.875rem;line-height:1.5;color:var(--muted)}nav{display:grid;gap:3px;margin:3px 0 20px}nav a{display:flex;gap:12px;padding:8px 9px;text-decoration:none;color:#667369;font-size:0.875rem;line-height:1.5;border-radius:9px}nav a b{font-size:0.875rem;letter-spacing:.04em;opacity:.6;padding-top:2px}nav a.active{color:var(--green);background:#dce6da;font-weight:600}nav a.done:after{content:'✓';margin-left:auto}nav a:hover{background:#e1e8df}.sidebarfoot{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);font-size:0.875rem}.sidebarfoot small{display:block;color:var(--muted)}.sidebarfoot button{font-size:0.875rem;border:0;padding:10px 0;background:transparent}.workspace{margin-left:270px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 44px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(248,247,241,.94);backdrop-filter:blur(16px);z-index:10;font-size:0.875rem;font-weight:600;letter-spacing:.1em}.slash{margin:0 16px;color:#aeb9ad}.topbar>div{display:flex;gap:20px;align-items:center}.topbar button{font-size:0.875rem;letter-spacing:0}.topbar #saveState{font-weight:400;letter-spacing:0;color:var(--muted);font-size:0.875rem}.mobiletoggle{display:none}main{max-width:1500px;padding:40px 48px 70px;margin:auto;min-height:80vh}h1,h2{font-family:var(--display);font-weight:400;letter-spacing:-.035em;line-height:1.03;margin:0 0 22px}h1{font-size:clamp(46px,5vw,76px)}h2{font-size:clamp(34px,3.2vw,48px)}h3{font:600 19px/1.4 var(--body);margin:0 0 14px;letter-spacing:-.015em}h4{font:600 15px/1.5 var(--body);margin:18px 0 8px}p{margin:0 0 16px}small,.subtle{color:var(--muted)}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;padding:10px 0 42px}.hero h1{font-size:clamp(60px,6.4vw,100px);margin:20px 0}.hero h1 em{font-weight:400;color:var(--rose)}.hero p.lead{font-size:1.0625rem;max-width:420px;color:var(--muted)}.heroimage{position:relative}.heroimage img{width:100%;height:470px;object-fit:cover;border-radius:100px 8px 8px 8px;display:block}.imagecaption{font-size:0.875rem;letter-spacing:.1em;margin-top:10px;color:var(--muted)}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px}.statrow{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin:0 0 45px}.statrow strong{font:38px var(--display);display:block}.statrow span{font-size:0.875rem;color:var(--muted)}.sectionhead{display:flex;justify-content:space-between;align-items:end;margin:34px 0 22px;gap:15px}.sectionhead h2{margin:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.lessoncard{display:block;text-decoration:none;color:inherit;padding:24px 24px 22px;background:rgba(255,255,255,.5);border:1px solid var(--line);border-radius:18px;min-height:180px}.lessoncard:hover{border-color:#9cb39f;background:#fff}.lessoncard .number{font-size:0.875rem;color:var(--rose);letter-spacing:.15em}.lessoncard h3{margin:22px 0 10px}.lessoncard p{font-size:0.875rem;color:var(--muted);margin:0}.note{padding:17px 20px;background:var(--sage);border-radius:12px;font-size:0.875rem;margin:20px 0;line-height:1.6}.note.warm{background:#f0e6dc}.lessonheader{max-width:800px;margin:10px 0 28px}.lessonheader p:last-child{font-size:1.0625rem;color:var(--muted)}.rules{padding:26px 30px;border:1px solid var(--line);border-radius:18px;background:#fffdf8;margin:25px 0 35px}.rules ul{list-style:none;padding:0;margin:0}.rules li{padding:11px 0;border-bottom:1px solid #e8ede5;line-height:1.65}.rules li:last-child{border:0}.task{padding:28px;background:#fffefa;border:1px solid var(--line);border-radius:18px;margin:22px 0;scroll-margin-top:90px}.taskhead{display:flex;align-items:start;gap:15px;justify-content:space-between}.taskbadge{font-size:0.875rem;color:var(--rose);font-weight:700;letter-spacing:.08em;display:block;margin-bottom:6px}.taskhead button{font-size:0.875rem}.task .instructions{font-size:0.9375rem;line-height:1.8}.instructions p{margin-bottom:13px}.response{margin-top:16px}label.responseLabel{display:block;font-size:0.875rem;font-weight:600;margin:0 0 8px}textarea,input[type=text]{width:100%;border:1px solid #cbd6cb;background:#fafcf7;border-radius:10px;padding:13px;color:var(--ink);line-height:1.7}textarea{min-height:150px;resize:vertical}textarea.model{background:#edf2e8;border-color:#c3d2bf;min-height:170px}textarea:disabled,input:disabled,select:disabled{background:#f2f3ed;opacity:.85}select{border:1px solid #cbd6cb;background:#f7faf3;border-radius:8px;padding:10px;max-width:100%;min-height:44px;color:var(--ink)}.responsemeta{display:flex;justify-content:space-between;font-size:0.875rem;color:var(--muted);margin-top:5px;gap:10px}.teaching{background:#edf2e8;border-radius:12px;padding:20px;margin-top:22px}.conversation{font-size:0.875rem}.conversation p{margin:12px 0}.teacherlabel{color:var(--green);font-size:0.875rem;font-weight:700;letter-spacing:.06em}.answerreview{padding:15px 18px;border-left:3px solid #a5b89c;background:#f1f5ed;margin-top:16px;font-size:0.875rem}.answerreview p:last-child{margin-bottom:0}.referencegrid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:26px;align-items:start}.reference{position:sticky;top:100px;background:#edf0e7;padding:24px;border-radius:14px;max-height:70vh;overflow:auto;overscroll-behavior:contain}.reference p{font-size:0.9375rem;line-height:1.85}.reference h3{font-family:var(--body)}.reference .refcredit{font-size:0.875rem;color:var(--muted)}.withbank{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:24px;align-items:start}.bank{position:sticky;top:110px;background:#e8eee2;border:1px solid #cedac8;border-radius:14px;padding:19px;display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:0.875rem}.bank span{overflow-wrap:anywhere}.bank h4{grid-column:1/-1;margin:0;font-size:0.875rem;letter-spacing:.1em}.fillitem{margin:0 0 18px}.fillitem input{margin-top:8px}.matchtable,.inventorytable{width:100%;border-collapse:collapse;font-size:0.875rem}th{text-align:left;font-size:0.875rem;letter-spacing:.05em;background:#edf1e7}td,th{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}td select{width:100%}.matchtable td:first-child{width:43%}.listen{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:26px;align-items:start}.media{position:sticky;top:100px;background:#e9eee3;border-radius:16px;padding:20px}.media img{width:100%;height:220px;object-fit:cover;border-radius:10px}.media img.options{height:auto;object-fit:contain;background:#fff}.media audio{display:block;width:100%;margin:14px 0 8px;min-height:44px}.media h4{margin:12px 0 4px}.media small{font-size:0.875rem}.script{font-size:0.875rem;line-height:1.7;margin-top:15px}.script p{margin:12px 0}.script summary{cursor:pointer;padding:8px 0;font-size:0.875rem}.quizitem{border-bottom:1px solid var(--line);padding:18px 0}.quizitem:first-child{padding-top:0}.quizitem legend{font-size:0.875rem;margin-bottom:8px;font-weight:600}.quizitem fieldset{border:0;padding:0;margin:0;min-width:0}.choice{display:flex;align-items:start;gap:10px;font-size:0.875rem;margin:5px 0;padding:7px 9px;border-radius:8px;cursor:pointer}.choice:hover{background:#edf2e8}.choice input{margin-top:6px;accent-color:var(--green)}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 24px}.tabs button{font-size:0.875rem}.tabs button.active{background:var(--green);color:#fff;border-color:var(--green)}dialog{border:1px solid #c8d4c6;border-radius:20px;background:var(--paper);color:var(--ink);padding:28px;max-width:1150px;width:90vw;max-height:88vh;overflow:auto;box-shadow:0 30px 100px #1a302d35}dialog::backdrop{background:#263b355f;backdrop-filter:blur(5px)}.dialoghead{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:24px}.dialoghead h2{font-size:2.375rem;margin:0}.dialoghead button{flex-shrink:0}#exam{max-width:1400px;width:96vw;height:94vh;max-height:94vh}.examtools{display:flex;align-items:center;gap:15px}.examtools strong{font-variant-numeric:tabular-nums;font-size:1.5rem}.examtools #clock.low{color:#a04532}.inventorysheet{margin:24px 0;padding:22px;background:#fffdf9;border:1px solid var(--line);border-radius:14px}.inventorysheet .tablewrap{overflow:auto;margin:18px 0}.inventorytable{min-width:560px;font-size:0.875rem}.inventorytable td:first-child{font-weight:600}.inventorysheet p{font-size:0.875rem;margin:8px 0}.sheetcredit{font-size:0.875rem;color:var(--muted)}.inventorysheet h3{font-size:1.125rem}.inventorysheet h4{color:var(--green)}.progressbar{height:5px;border-radius:5px;background:#dce4d7;overflow:hidden;margin:12px 0}.progressbar span{display:block;background:#7c9d7b;height:100%}.badgelist{display:flex;gap:8px;flex-wrap:wrap}.badge{font-size:0.875rem;padding:5px 9px;border:1px solid var(--line);border-radius:30px;background:#f6f8f1}.checkrow{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:0.875rem}.checkrow input{accent-color:var(--green)}.levels details{border:1px solid var(--line);padding:13px 16px;border-radius:10px;margin-top:10px;background:#fafbf6}.levels summary{cursor:pointer;font-size:0.875rem}.levels p{font-size:0.875rem;margin-top:12px}.sourceLink{color:var(--green)}.examsetup{max-width:750px}.examsetup input[type=number]{width:100px;padding:10px;border:1px solid var(--line);border-radius:8px}.marks{display:flex;gap:16px;margin:15px 0}.marks label{font-size:0.875rem}.marks input{display:block;width:100px;padding:8px;border:1px solid var(--line);border-radius:8px}.submission{background:#dfead9;padding:22px;border-radius:12px;margin:20px 0}.wordcount{font-variant-numeric:tabular-nums}.sentencebank p{font-size:0.875rem;padding:9px;border-bottom:1px solid var(--line)}footer{padding:24px 48px;border-top:1px solid var(--line);font-size:0.875rem;color:var(--muted);display:flex;justify-content:space-between}.skip{position:fixed;left:290px;top:-100px;background:white;z-index:100;padding:10px;color:var(--green)}.skip:focus{top:0}.error{color:#9d412b}.examtabbody[hidden]{display:none}.empty{padding:40px;text-align:center}.hidden{display:none!important}@media(min-width:1700px){.sidebar{width:290px}.workspace{margin-left:290px}main{padding:50px 65px}}@media(max-width:1150px){.sidebar{width:230px;padding:24px 16px}.workspace{margin-left:230px}main{padding:30px 28px}.topbar{padding:0 28px}.topbar #saveState{display:none}.hero{gap:25px}.heroimage img{height:390px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.referencegrid,.listen{gap:18px}.task{padding:22px}.withbank{grid-template-columns:minmax(0,1fr) 180px}.bank{padding:14px}}@media(max-width:820px){.sidebar{width:260px;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:20px 0 90px #253b3555}.workspace{margin-left:0}.mobiletoggle{display:inline-block;padding:6px 12px;min-height:40px}.topbar{padding:0 18px;height:68px;gap:10px}.topbar>span{font-size:0.875rem}.topbar .slash{margin:0 7px}.topbar>div{gap:5px}.topbar button{padding:8px 12px}main{padding:26px 22px 50px}.hero{grid-template-columns:1fr 1fr;gap:20px}.heroimage img{height:350px;border-radius:70px 6px 6px 6px}.hero h1{font-size:4.0rem}.hero p.lead{font-size:0.9375rem}.referencegrid{grid-template-columns:1fr}.reference{position:relative;top:0;max-height:35vh;border:1px solid #d2ddcd}.listen{grid-template-columns:1fr}.media{order:-1;position:static}.media img{height:190px}.media audio{margin:10px 0}.withbank{grid-template-columns:minmax(0,1fr) 175px}.bank{top:85px}.dialoghead h2{font-size:2.0rem}dialog{padding:22px}.task{scroll-margin-top:80px}.taskhead h3{font-size:1.125rem}footer{padding:22px;gap:20px}.skip{left:10px}}@media(max-width:540px){body{font-size:0.9375rem}.topbar>span{letter-spacing:.02em;max-width:165px}.topbar #keyOpen span{display:none}.hero{grid-template-columns:1fr;gap:28px}.hero h1{font-size:4.75rem;line-height:.96}.heroimage img{height:310px;border-radius:80px 5px 5px 5px}.hero{padding-bottom:30px}.statrow{gap:12px;padding:20px 0;margin-bottom:30px}.statrow strong{font-size:1.9375rem}.statrow span{font-size:0.875rem}.cards{grid-template-columns:1fr;gap:12px}.lessoncard{min-height:135px;padding:22px}.lessoncard h3{margin:14px 0 7px}.lessonheader h1{font-size:3.0625rem}.rules{padding:20px}.task{padding:18px;margin:18px 0}.taskhead{flex-wrap:wrap;gap:5px}.taskhead button{margin-bottom:12px}.withbank{display:flex;flex-direction:column}.bank{order:-1;position:static;width:100%;grid-template-columns:repeat(2,1fr)}.withbank>div{width:100%}.reference{padding:18px;max-height:34vh}.reference p{font-size:0.875rem}.dialoghead{align-items:start}.dialoghead h2{font-size:1.75rem}dialog{padding:18px;width:96vw;max-height:94vh}.inventorysheet{padding:14px}.inventorytable{min-width:480px;font-size:0.875rem}.examtools{gap:6px}.examtools strong{font-size:1.1875rem}.dialoghead .eyebrow{font-size:0.875rem}.examtools button{font-size:0.875rem;padding:8px}.matchtable td,.matchtable th{padding:10px 6px}.matchtable{font-size:0.875rem}.matchtable select{font-size:0.875rem;padding:8px}.sectionhead{align-items:start;flex-direction:column}.actions{gap:8px}.actions button,.actions a{font-size:0.875rem}footer{display:block}footer span{display:block;margin-top:8px}}
:root{font-synthesis:none}.readingcopy{display:flow-root}.intextphoto{float:right;width:43%;margin:4px 0 18px 20px}.intextphoto img{width:100%;height:auto;display:block;border-radius:5px;object-fit:contain}.intextphoto figcaption{font-size:0.875rem;line-height:1.5;color:var(--muted);margin-top:5px}.media img:not(.options){object-fit:contain;height:auto;max-height:320px;background:#f0f0e7}.reference .intextphoto{width:44%;margin-left:16px}.readingcopy p{overflow-wrap:break-word}.task,.reference,.listen>div{min-width:0}.markingnote{font-size:0.875rem}@media(max-width:540px){.reference .intextphoto{width:39%;margin-left:12px}.reference .intextphoto figcaption{font-size:0.875rem}}

.openerphoto{float:right;width:31%;max-height:230px;object-fit:contain;margin:0 0 20px 24px;border-radius:6px}.task:has(.openerphoto){display:flow-root}.matchtable input[type=text]{margin-bottom:9px}.readingcopy p{clear:none}
@media(max-width:540px){.inventorytable{min-width:0;display:block}.inventorytable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.inventorytable tbody,.inventorytable tr{display:block;width:100%}.inventorytable tr{padding:12px 0;border-bottom:1px solid var(--line)}.inventorytable td{display:block;border:0;padding:6px 0}.inventorytable td:before{content:attr(data-label);display:block;font-size:0.875rem;font-weight:600;letter-spacing:.07em;color:var(--muted);margin-bottom:3px}.openerphoto{width:38%;margin-left:14px}}

@media(max-width:540px){.bank{position:sticky;top:80px;z-index:4;background:#e8eee2}}

textarea.conversationbox{min-height:430px;margin-top:15px}.teacherlabel{user-select:text}

.utilitynav{padding:8px 0;margin-top:14px;border-top:1px solid var(--line)}.sidebarfoot .utilitynav button{font-size:0.875rem;padding:8px 0;width:100%}.lessonPhoto{float:right;width:39%;margin:0 0 20px 24px}.lessonPhoto img{width:100%;height:auto;display:block;border-radius:8px}.lessonPhoto figcaption{font-size:0.875rem;color:var(--muted)}.lessonheader:has(.lessonPhoto){max-width:none;display:flow-root}.readingplayer{clear:both;border-top:1px solid var(--line);padding-top:15px;margin-top:20px}.readingplayer audio{display:block;width:100%;min-height:44px}.readercontrols{display:flex;gap:7px;margin:10px 0}.readercontrols button{font-size:0.875rem;padding:8px 12px;min-height:42px}.readingplayer .tabs{margin:10px 0}.readingplayer .tabs button{font-size:0.875rem;padding:7px 10px}.examdownloads{align-items:stretch}.examdownloads .button{display:flex;align-items:center}.mockreference{max-height:67vh}.mockreference p{font-size:0.9375rem}.mockresponse{margin:16px 0 24px}.marks{flex-wrap:wrap}.paper-tabs button{font-size:0.875rem}.examsetup input[type=number]{border:1px solid var(--line);border-radius:8px;padding:9px;width:90px}.mock-key table{margin-bottom:20px}.mock-key .levels{margin-bottom:30px}
@media(max-width:820px){.mockreference{max-height:34vh}.lessonPhoto{width:35%}.examdownloads .button,.examdownloads button{font-size:0.875rem}}
@media(max-width:540px){.lessonPhoto{float:none;width:100%;margin:0 0 24px}.lessonPhoto img{max-height:220px;object-fit:contain}.examdownloads{display:grid;grid-template-columns:1fr;margin:12px 0}.marks label{width:calc(50% - 12px)}.marks input{width:100%}.readercontrols button{flex:1}}

.readingplayer{margin:12px 0 18px;padding:10px 0;border-bottom:1px solid var(--line)}.readingplayer .eyebrow{margin:0}.readingplayer .readercontrols{margin:7px 0}.readingcopy{display:flow-root}@media(max-width:700px){.readingplayer .tabs{flex-wrap:nowrap;overflow-x:auto}.readingplayer .tabs button{flex-shrink:0}.readingplayer{padding:6px 0;margin:8px 0 12px}}
.teachercredit{color:#142d28;font-weight:700}.hero .imagecaption{color:#142d28;font-weight:700}
