/* The curriculum extension keeps the prototype's warm paper, orange and blue palette. */
.source-context{background:#efedfb;border-left:3px solid #afa3eb;border-radius:0 12px 12px 0;padding:17px 21px;margin:0 0 25px}.source-context>span{font-size:10px;color:#472dcc;letter-spacing:.5px}.source-context p{font-size:16px;color:#37239d;line-height:1.9;margin:9px 0 0}.scene-context{margin:0 0 22px;font-size:12px;color:#462cc7}.scene-context summary{cursor:pointer;color:#573dd5;line-height:1.6}.scene-context p{font-size:13px;line-height:1.9;color:#462cc7;background:#f8faf5;border-radius:10px;padding:15px 17px;margin:12px 0}
:root{--paper:#eeebfb;--body-ink:#2c2649;--muted-ink:#432abe;--line:#d7d1f5;--orange:#7f6cdf}
body{background:var(--paper);color:var(--body-ink)}
button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #3c26ac;outline-offset:4px}
button:disabled{cursor:not-allowed;opacity:.48}button{touch-action:manipulation}
.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}
.btn{border-radius:14px;min-height:48px;font-weight:650;gap:14px}.btn-orange{background:#8270e0;color:#292345;box-shadow:0 4px 0 #6750d9;border:1px solid #8270e0}.btn-orange:hover{background:#9080e3;transform:translateY(-1px)}.btn-orange:active{transform:translateY(2px);box-shadow:0 1px 0 #6750d9}.btn-light{background:white;border:1px solid #d2cbf4;box-shadow:0 2px 0 #ddd7f7;color:#342d58}.btn-mint{background:#d8d2f6;color:#38315e;border:1px solid #b1a6eb}
.library-ribbon{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 28px;margin-top:24px;background:#d8d2f6;border-radius:18px;color:#443b72}.library-ribbon b{font-size:25px;margin-right:7px;color:#3b3363}.library-ribbon .btn-link{color:inherit}
.subject-grid{gap:18px}.new-subject{position:relative;min-height:210px;text-align:left;padding:25px!important;overflow:hidden;transition:transform .2s,box-shadow .2s;border:1px solid #d5cef5!important}.new-subject:hover{transform:translateY(-4px);box-shadow:0 10px 28px #2d274b0b}.new-subject h3{position:relative;margin:78px 0 8px;font-size:19px;line-height:1.3}.new-subject small{line-height:1.5}.new-subject .subject-foot{display:flex;justify-content:space-between;color:var(--ink);font-weight:650;margin-top:19px}.subject-mini{position:absolute;top:10px;left:8px;width:128px;height:90px;color:var(--ink)}.lesson-art{width:100%;height:100%;display:block;color:var(--ink);overflow:visible}.lesson-art.large{width:260px;height:185px;flex-shrink:0}
.page-heading h1{font-size:clamp(29px,3.4vw,43px);letter-spacing:-1.2px}.page-heading p{max-width:700px;line-height:1.65}.eyebrow{letter-spacing:1.7px;font-size:11px;color:#482dcf;font-weight:750}.grade-bar{gap:10px;margin:22px 0 30px}.grade-bar .chip{padding:12px 21px;background:white;border:1px solid #d4cef4;border-radius:13px;color:#3c26ac}.grade-bar .chip.active{color:white;background:#443b72;border-color:#443b72;box-shadow:0 3px 0 #37305d}
.library-layout{display:grid;grid-template-columns:238px minmax(0,1fr);gap:32px;align-items:start}.library-sidebar{background:#fff;border:1px solid #d7d1f5;border-radius:22px;padding:20px 12px;position:sticky;top:18px}.sidebar-label{font-size:10px;font-weight:750;letter-spacing:2px;color:#573ed5;padding:5px 12px 16px}.subject-tab{display:flex;align-items:center;width:100%;gap:9px;border:0;background:transparent;text-align:left;padding:12px 10px;border-radius:12px;color:#3e27b1;margin:3px 0;min-height:47px;font-size:13px;line-height:1.35}.subject-tab:hover{background:#efedfb}.subject-tab.active{background:#e5e1f9;color:#3d3567;font-weight:700}.subject-tab b{font-size:10px;font-weight:600;opacity:.6;margin-left:auto}.tab-icon{color:var(--ink);background:var(--wash);border-radius:8px;min-width:28px;height:28px;display:grid;place-items:center;font-family:Georgia,serif;font-size:16px}.sidebar-note{display:flex;align-items:center;gap:6px;border-top:1px solid #e3dff8;margin:20px 10px 0;padding-top:18px}.sidebar-note img{width:58px;height:72px;object-fit:contain}.sidebar-note p{font-size:11px;line-height:1.7;color:#573dd5}.library-tools{display:flex;gap:12px;scroll-margin-top:25px}.search-field{display:flex;align-items:center;gap:10px;border:1px solid #d3ccf4;background:#fff;border-radius:13px;padding:0 17px;flex:1;min-width:0}.search-field>span{font-size:26px;color:#644dd8;transform:rotate(-20deg)}.search-field input{width:100%;background:none;border:0;outline-offset:1px;padding:15px 0;min-width:0;color:#322c54;font-size:14px}.search-field input::placeholder{color:#705adb}.progress-select select{height:51px;border:1px solid #d3ccf4;background:white;border-radius:13px;padding:0 14px;color:#3b25a8;font-size:13px;max-width:185px}.library-results-line{display:flex;justify-content:space-between;align-items:center;gap:15px;color:#5c44d6;font-size:12px;margin:23px 0 16px}.library-posters{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.curriculum-poster{display:flex!important;flex-direction:column;text-align:left;border-radius:19px!important;overflow:hidden;border:1px solid #d6d0f5!important;padding:0!important;background:#fff;transition:transform .2s,box-shadow .2s;min-width:0}.curriculum-poster:hover{transform:translateY(-4px);box-shadow:0 10px 20px #2a24460c}.curriculum-poster .poster-art{background:var(--wash);height:155px;display:flex;align-items:center;justify-content:center;width:100%;position:relative;overflow:hidden}.curriculum-poster .poster-art::before{content:'';width:140px;height:140px;border:1px solid currentColor;border-radius:50%;position:absolute;left:-67px;top:-65px;opacity:.08}.curriculum-poster .poster-art .lesson-art{height:140px;width:215px}.poster-length{position:absolute;right:12px;top:12px;font-size:9px;font-weight:700;color:var(--ink);background:#ffffffa8;border-radius:6px;padding:5px 8px;letter-spacing:.2px}.curriculum-poster .poster-info{padding:18px 19px 17px;display:flex;flex-direction:column;flex:1;width:100%;box-sizing:border-box}.curriculum-poster small{font-size:10px;letter-spacing:.1px;color:#573dd5}.curriculum-poster strong{font-size:16px;line-height:1.5;margin:8px 0 19px;display:block;min-height:48px;color:#312a53;font-weight:650;overflow-wrap:anywhere}.curriculum-poster .poster-progress{margin-top:auto;height:4px;background:#e4e0f8;border-radius:8px}.curriculum-poster .poster-progress i{background:var(--ink);border-radius:8px}.curriculum-poster em{margin:10px 0 0;font-size:10px;color:#644dd8;font-style:normal;display:flex;justify-content:space-between}.curriculum-poster em span{font-size:16px;color:var(--ink)}.library-pagination{display:flex;align-items:center;justify-content:center;gap:24px;margin:30px 0;font-size:13px;color:#5036d3}.library-pagination .btn{font-size:12px;min-height:43px;padding:10px 19px}
.new-topic-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--wash);padding:44px 48px!important;border-radius:26px!important;overflow:hidden;border:1px solid #ffffffb0}.new-topic-hero h1{font-size:clamp(28px,3.5vw,43px);line-height:1.2;max-width:760px;margin:14px 0 16px;color:#2e284d;letter-spacing:-.8px}.new-topic-hero p{margin:0 0 22px;color:var(--ink);line-height:1.6}.new-topic-hero .eyebrow{color:var(--ink)}.new-topic-hero .topic-hero-progress{margin-top:24px;font-size:12px;color:var(--ink);max-width:400px}.topic-hero-progress .poster-progress i{background:var(--ink)}.lesson-route{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:24px 0 30px}.lesson-step{position:relative;display:flex;flex-direction:column;gap:22px;align-items:start;min-height:175px;padding:22px;background:#fff;border:1px solid #d3ccf4;border-radius:19px;text-align:left;transition:transform .2s,box-shadow .2s;color:#312a53}.lesson-step:hover{transform:translateY(-3px);box-shadow:0 8px 18px #2e284e12}.step-number{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--wash);color:var(--ink);font-size:17px;font-weight:700}.lesson-step.completed{border-color:#ab9eea;background:#f6f5fd}.lesson-step.completed .step-number{background:#634bd8;color:white}.step-copy{display:flex;flex-direction:column;gap:9px}.step-copy strong{font-size:14px;line-height:1.45}.step-copy small{font-size:11px;color:#624bd7}.step-arrow{position:absolute;right:16px;top:32px;color:#ab9eea}.lesson-reference{background:#fff;border:1px solid #d3ccf4;border-radius:17px;overflow:hidden;margin:22px 0}.lesson-reference summary{list-style:none;padding:20px 24px;font-weight:650;cursor:pointer;display:flex;justify-content:space-between;font-size:15px}.lesson-reference>div{padding:0 24px 25px;line-height:1.9;max-width:950px;color:#4028b6}.topic-source{display:flex;justify-content:space-between;gap:20px;color:#644dd8;font-size:12px;margin:22px 0 45px}.topic-source a{color:#3f27b4;text-decoration:none}
.in-lesson .site-footer{display:none}.in-lesson .site-header{margin-bottom:20px}.learning-shell{margin:4px 0 36px;border:1px solid #d3cdf4;background:#fff;border-radius:25px;overflow:hidden;box-shadow:0 12px 50px #312a5210;animation:appear .25s ease}.learning-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 30px;border-bottom:1px solid #e0dcf7;min-height:76px;box-sizing:border-box}.game-back{font-size:12px;color:#492ecf;background:transparent;border:0;cursor:pointer;padding:8px 0}.game-back:hover{color:#3b3362}.learning-stepper{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;max-width:360px}.step-dot{width:15px;height:15px;border-radius:50%;border:0;background:#ddd8f7;padding:0;color:white;font-size:10px;display:grid;place-items:center;position:relative;min-width:15px}.step-dot::before{content:'';position:absolute;inset:-7px}.step-dot.current{background:#816edf;box-shadow:0 0 0 4px #dfdbf7}.step-dot.complete{background:#6852d9}.learning-counter{font-size:13px;font-weight:700;color:var(--ink);min-width:45px;text-align:right}.learning-counter>span{color:#8c7be2;font-weight:400}.learning-body{background:linear-gradient(165deg,var(--wash),#fff 46%);padding:32px 38px 30px}.learning-title{position:relative;padding:0 0 25px 237px}.learning-title h1{font-size:clamp(21px,2.5vw,31px);line-height:1.3;letter-spacing:-.6px;margin:11px 0 0;padding-right:90px}.learning-title .eyebrow{color:var(--ink);font-size:9px;letter-spacing:1.4px}.stage-badge{position:absolute;right:0;top:15px;max-width:155px;text-align:right;font-size:10px;color:var(--ink);padding:7px 10px;background:#ffffffab;border:1px solid #ffffffb8;border-radius:7px}.learning-workspace{display:grid;grid-template-columns:205px minmax(0,1fr);gap:32px;align-items:start}.learning-companion{position:sticky;top:20px;padding-top:10px}.learning-companion>.lesson-art.large{width:200px;height:145px;margin:0 auto 10px}.companion-talk{position:relative;display:flex;flex-direction:column;align-items:center;padding:5px 0 0}.companion-talk img{width:85px;height:100px;object-fit:contain;margin:0 0 -6px;z-index:1}.companion-talk p{margin:0;background:white;border:1px solid #d5cef5;padding:17px 16px;border-radius:16px;font-size:12px;color:#442bc2;line-height:1.8;text-align:center;box-shadow:0 4px 0 #d8d2f645}.reference-button{margin:18px 0 0;background:none;border:0;display:flex;width:100%;align-items:center;justify-content:space-between;padding:10px 8px;color:var(--ink);font-size:11px;text-align:left;cursor:pointer}.card-id{font-size:9px;letter-spacing:1.2px;color:#8370e0;display:block;text-align:center;margin-top:22px}.student-desk{min-width:0}.task-paper{background:white;border:1px solid #d5cef5;border-radius:21px;padding:30px 34px;box-shadow:0 5px 0 #d5cff540}.task-kicker{display:block;font-size:9px;color:#745fdc;letter-spacing:1.8px;font-weight:700}.task-prompt{font-size:clamp(19px,2vw,25px);line-height:1.65;font-weight:550;color:#2e274d;margin:16px 0 28px;white-space:normal;overflow-wrap:anywhere}.student-desk .field-label{font-size:12px;letter-spacing:.2px;font-weight:650;color:#442bc2;margin:6px 0 10px;display:block}.scalar-field{display:flex;align-items:center;gap:14px;max-width:400px}.scalar-field .input{font-size:26px;border:2px solid #c0b6ef;border-radius:12px;padding:12px 16px;width:100%;min-width:0;background:#fbfdf9;color:#3a3262}.scalar-field>span{white-space:nowrap;font-size:18px;color:#492ecf}.response-note{font-size:11px!important;line-height:1.7!important;color:#6b55da!important;margin:10px 0!important}.written-response{resize:vertical;min-height:165px;width:100%;box-sizing:border-box;border:1.5px solid #c9c1f2;background:linear-gradient(#fff,#fcfdfb);padding:16px 18px;border-radius:13px;font-size:17px;line-height:1.8;color:#352e58}.written-response::placeholder{font-size:14px;color:#7d6ade}.response-meta{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:9px;color:#7c68de}.math-keyboard{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0 0}.math-keyboard button{background:#efedfb;color:#4a2fd1;border:1px solid #dad4f6;border-radius:7px;min-width:33px;min-height:34px;padding:4px 8px;font-family:Georgia,serif;font-size:18px}.math-keyboard button:hover{background:#e0dcf7;color:#38305e}.scratch-details{margin-top:22px;border-top:1px solid #e3dff8;padding-top:15px}.scratch-details summary{font-size:11px;color:#634bd8;cursor:pointer}.scratch-toolbar{display:flex;justify-content:space-between;font-size:9px;color:#634bd8;margin:15px 0}.scratch-toolbar button{border:0;background:none;color:#492ed1;text-decoration:underline;cursor:pointer}.scratch-details svg{width:100%;display:block;border:1px solid #d7d1f5;border-radius:10px;touch-action:none;background:#fff;cursor:crosshair}.hint-panel{margin:18px 0;background:#e8e5f9;border:1px solid #d2cbf4;border-radius:16px;padding:19px 24px}.hint-label{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#492ecf;font-weight:700;display:block}.hint-panel p{font-size:14px;line-height:1.85;color:#36229b;margin:8px 0 0}.reference-panel{background:#e9e5fa;border-color:#d3ccf4}.reference-panel .hint-label{color:#492ed1}.reference-panel p{color:#3e27b0}.student-desk .feedback{margin:18px 0;padding:20px 24px;border-radius:15px;font-size:13px;line-height:1.8}.student-desk .feedback strong{display:block;font-size:15px;margin-bottom:5px}.student-desk .feedback.try{background:#eceafa;border:1px solid #cac2f2;color:#3d26af}.student-desk .feedback.good{background:#e7e3f9;border:1px solid #bdb3ee;color:#37239d}.learning-actions{display:flex;gap:13px;align-items:center;flex-wrap:wrap;padding:23px 0 8px}.learning-actions .btn{font-size:13px;padding:13px 22px}.learning-actions .btn-link{font-size:11px;color:#6048d7}.download-answer{margin-left:auto}.learning-footer{display:flex;justify-content:space-between;gap:15px;font-size:10px;line-height:1.7;color:#735edc;padding:15px 30px;border-top:1px solid #e0dcf7;background:#fcfcf8}.answer-review{border:1px solid #ccc4f3;border-radius:18px;padding:24px;background:#f5f8f7;margin:20px 0}.answer-review h2{font-size:20px;margin:12px 0;color:#342194}.answer-review>p{font-size:16px;line-height:1.9;color:#42396e;overflow-wrap:anywhere}.review-explanation{font-size:13px;line-height:1.85;color:#5238d3;border-top:1px solid #d3ccf4;padding-top:14px}.review-check{display:flex;align-items:start;gap:10px;font-size:12px;line-height:1.7;margin:20px 0;color:#3c26ab}.review-check input{width:17px;height:17px;accent-color:#563dd4;flex-shrink:0}.review-buttons{display:flex;gap:10px;flex-wrap:wrap}.review-buttons .btn{font-size:11px;padding:11px 16px;min-height:43px}.concept-board{background:#f7faf5;border:1px solid #dad5f6;border-radius:15px;text-align:center;padding:14px;margin:0 0 24px}.concept-board svg{height:180px;max-width:100%;display:block;margin:auto}.concept-board>span{font-size:11px;color:#5c43d6}
.lesson-done{background:linear-gradient(160deg,var(--wash),#fff 70%);border:1px solid #d4cef4;border-radius:28px;padding:40px;max-width:850px;text-align:center;margin:30px auto;box-shadow:0 12px 35px #38305e08}.done-art{position:relative;display:flex;justify-content:center;margin:0 auto 15px;width:260px}.done-art>span{position:absolute;right:23px;bottom:10px;background:#5f47d7;border:5px solid white;color:white;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:26px}.lesson-done h1{font-size:34px;line-height:1.2;letter-spacing:-.8px}.lesson-done p{line-height:1.9;max-width:590px;margin:0 auto;color:#5137d3;font-size:14px}.lesson-done .task-actions{justify-content:center;margin:28px 0 8px}.done-progress{max-width:350px;margin:26px auto;font-size:11px;color:var(--ink)}.done-progress .poster-progress{margin-top:10px}.done-progress i{background:var(--ink)}
.material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.material-card{padding:25px;text-decoration:none;display:flex;flex-direction:column;gap:18px;min-width:0;border:1px solid #d5cef5}.material-card strong{font-size:15px;line-height:1.6;overflow-wrap:anywhere;color:#443a72}.material-card>span:last-child{font-size:12px;color:#705bdb;margin-top:auto}.material-type{font-size:9px;letter-spacing:1.5px;color:#725ddb}.program-library{margin:30px 0;padding:28px}.program-library h2{font-size:22px}.program-library p{color:#553bd4;font-size:14px;line-height:1.8}.program-library select{max-width:150px;margin-bottom:24px}.program-library details{border-top:1px solid #d8d2f6;padding:18px 0}.program-library summary{cursor:pointer;color:#3c26ab;font-size:15px;font-weight:650}.program-text{font-size:14px;line-height:1.9;color:#4a2fd1;margin:18px 0}.program-library a{color:#3a24a5;font-size:12px}.review-inbox{padding:28px;margin:30px 0}.review-inbox p{font-size:13px;color:#5137d3;line-height:1.8}.pending-work{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;border:1px solid #d6d0f5;border-radius:10px;background:#fafbf6;padding:16px;margin:10px 0;text-align:left;color:#3c26ad;font-size:13px}.pending-work small{white-space:nowrap;color:#725ddc}.import-label{cursor:pointer;display:inline-flex;align-items:center}.empty{padding:45px 22px;border-radius:18px;background:#fff;border:1px dashed #c7bff1;color:#5036d3;text-align:center}.empty h2{font-size:22px;color:#3c26ac}.empty p{font-size:13px;line-height:1.8}
.sequence-slots{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 24px}.sequence-slot{display:flex;align-items:center;gap:10px;background:#fafbf6;border:1.5px dashed #cfc8f3;color:#715cdb;border-radius:12px;padding:12px 15px;min-height:48px;font-size:12px}.sequence-slot b{font-size:10px;opacity:.6}.sequence-slot.filled{border-style:solid;background:var(--wash);border-color:var(--ink);color:var(--ink);font-size:16px}.sequence-pool{display:flex;gap:10px;flex-wrap:wrap;min-height:52px;align-items:start}.sequence-pool button{background:#d6d0f5;color:#3d27af;border:1px solid #baafee;box-shadow:0 3px 0 #b8aeed;border-radius:10px;padding:11px 16px;font-size:17px}.sequence-pool button span{color:#6851d9;font-size:13px;margin-left:12px}.group-work{margin:16px 0}.group-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #e2def8}.group-row:last-child{border-bottom:0}.group-object{font-size:17px;color:var(--ink);background:var(--wash);padding:10px 14px;border-radius:9px;min-width:65px;text-align:center;line-height:1.5;max-width:180px}.group-targets{display:flex;justify-content:end;gap:6px;flex-wrap:wrap}.group-targets button{background:white;border:1px solid #cdc5f3;border-radius:8px;color:#614ad7;font-size:11px;padding:9px 11px;min-height:36px;line-height:1.45}.group-targets button.selected{background:var(--wash);border-color:var(--ink);color:var(--ink)}
@media(max-width:640px){.group-row{align-items:start;flex-direction:column;gap:10px}.group-targets{justify-content:start}.group-targets button{font-size:10px}.group-object{font-size:16px;max-width:100%}.sequence-slot.filled{font-size:14px}.sequence-pool button{font-size:15px}.sequence-slot{padding:10px 12px}}
@keyframes appear{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1400px){.site{max-width:1280px}.library-posters{gap:24px}.curriculum-poster .poster-art{height:175px}}
@media(max-width:1100px){.library-layout{grid-template-columns:205px minmax(0,1fr);gap:22px}.library-posters{gap:13px}.curriculum-poster .poster-info{padding:14px}.curriculum-poster strong{font-size:14px}.curriculum-poster .poster-art{height:135px}.learning-body{padding:28px 25px}.learning-workspace{grid-template-columns:155px minmax(0,1fr);gap:22px}.learning-title{padding-left:177px}.learning-companion>.lesson-art.large{width:155px;height:122px}.task-paper{padding:26px}.lesson-step{padding:18px;min-height:178px}.step-copy strong{font-size:12px}.lesson-route{gap:10px}.stage-badge{position:static;display:inline-block;margin-top:12px;text-align:left}.learning-title h1{padding-right:0}.learning-title .eyebrow{display:block}}
@media(max-width:850px){.library-layout{grid-template-columns:1fr}.library-sidebar{position:static;background:none;border:0;padding:0;display:flex;gap:9px;overflow-x:auto;align-items:stretch;padding-bottom:10px}.sidebar-label,.sidebar-note{display:none}.subject-tab{min-width:max-content;width:auto;background:white;border:1px solid #d4cef4;padding:10px 13px;margin:0}.subject-tab b{display:none}.subject-tab.active{border-color:#a99de9}.subject-tab .tab-icon{width:24px;min-width:24px;height:24px}.library-ribbon{font-size:12px;padding:20px;gap:10px;flex-wrap:wrap}.library-ribbon b{font-size:21px}.lesson-route{grid-template-columns:1fr}.lesson-step{flex-direction:row;align-items:center;gap:18px;min-height:92px;padding:18px 22px}.step-copy strong{font-size:15px}.step-arrow{position:static;margin-left:auto}.step-copy small{font-size:11px}.new-topic-hero{padding:30px!important}.new-topic-hero>.lesson-art.large{width:180px;height:155px}.material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.site{padding-left:16px;padding-right:16px}.page-heading{align-items:start;gap:20px;flex-direction:column}.page-heading h1{font-size:30px;letter-spacing:-.8px}.page-heading p{font-size:13px}.page-heading>.btn{font-size:11px;min-height:40px}.library-posters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.curriculum-poster .poster-art{height:122px}.curriculum-poster .poster-info{padding:12px}.curriculum-poster strong{font-size:13px;min-height:58px;margin-bottom:15px;line-height:1.5}.curriculum-poster small{font-size:8px}.curriculum-poster em{font-size:9px}.poster-length{top:8px;right:8px;font-size:8px;padding:4px 6px}.grade-bar{gap:8px;flex-wrap:nowrap;overflow-x:auto;margin:22px 0}.grade-bar .chip{padding:10px 14px;white-space:nowrap;min-width:max-content;font-size:12px}.library-tools{gap:8px;flex-wrap:wrap}.search-field{flex-basis:100%}.search-field input{padding:13px 0}.progress-select{width:100%}.progress-select select{height:41px;max-width:100%;width:100%;font-size:12px}.library-results-line{font-size:10px;margin:20px 0 13px}.library-pagination{gap:15px}.library-pagination .btn{padding:10px 15px}.new-topic-hero{padding:27px!important;align-items:start}.new-topic-hero>.lesson-art.large{display:none}.new-topic-hero h1{font-size:29px}.new-topic-hero p{font-size:13px}.new-topic-hero .topic-hero-progress{font-size:10px;max-width:100%}.topic-source{font-size:10px;flex-direction:column}.lesson-reference>div{font-size:14px}.learning-shell{border-radius:19px;margin-top:0}.learning-header{padding:15px 18px;gap:10px;min-height:66px}.learning-stepper{gap:7px;max-width:195px}.step-dot{width:12px;height:12px;min-width:12px;font-size:8px}.learning-counter{font-size:11px;min-width:32px}.game-back{font-size:10px;white-space:nowrap}.learning-body{padding:23px 16px}.learning-title{padding-left:0;padding-bottom:20px}.learning-title h1{font-size:24px;margin-top:12px;line-height:1.35}.learning-title .eyebrow{font-size:8px}.stage-badge{font-size:9px;padding:5px 8px;margin-top:10px}.learning-workspace{display:flex;flex-direction:column;gap:0}.learning-companion{position:static;padding:0;display:flex;width:100%;gap:15px;align-items:center;margin:0 0 16px}.learning-companion>.lesson-art.large{display:none}.companion-talk{flex-direction:row;align-items:center;gap:8px;padding:0;width:100%}.companion-talk img{width:44px;height:55px;margin:0}.companion-talk p{font-size:10px;line-height:1.7;text-align:left;border:0;border-radius:11px;padding:10px 12px;flex:1;background:var(--wash);box-shadow:none}.learning-companion .reference-button{font-size:9px;margin:0;padding:5px;max-width:75px;display:block;line-height:1.6}.learning-companion .reference-button span{display:none}.learning-companion .card-id{display:none}.student-desk{width:100%}.task-paper{padding:23px 20px;border-radius:17px}.task-prompt{font-size:20px;line-height:1.7;margin:14px 0 24px}.task-kicker{font-size:8px}.scalar-field .input{font-size:24px}.scalar-field>span{font-size:15px}.written-response{font-size:16px;min-height:185px;padding:14px}.response-meta{font-size:8px;align-items:start}.response-meta span:first-child{max-width:160px}.math-keyboard{gap:5px;margin-top:16px}.math-keyboard button{min-width:29px;min-height:32px;padding:3px 7px;font-size:16px}.hint-panel{padding:17px 18px}.hint-panel p{font-size:13px}.learning-actions{gap:10px;padding-top:20px}.learning-actions .btn{font-size:12px;padding:12px 17px;flex-grow:1}.download-answer{margin-left:0}.learning-actions .btn-link{font-size:10px;padding:6px}.learning-footer{padding:13px 18px;font-size:8px}.learning-footer span:first-child{max-width:65%}.answer-review{padding:20px 18px}.answer-review>p{font-size:15px}.review-buttons{flex-direction:column}.review-buttons .btn{width:100%}.lesson-done{padding:30px 22px;border-radius:23px}.lesson-done h1{font-size:29px}.lesson-done p{font-size:13px}.lesson-done .task-actions{flex-direction:column}.material-grid{grid-template-columns:1fr}.material-card{padding:22px}.material-card strong{font-size:14px}.program-library{padding:22px}.review-inbox{padding:22px}.pending-work{align-items:start;flex-direction:column;gap:8px}.library-ribbon{font-size:10px;justify-content:start;gap:17px}.library-ribbon .btn-link{font-size:11px;width:100%;text-align:left}.library-ribbon b{font-size:20px}.hero-note{font-size:11px}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.new-subject{padding:20px!important;min-height:205px}.new-subject h3{font-size:16px}.new-subject small{font-size:10px}.new-subject .subject-foot{font-size:10px}.subject-mini{width:105px;height:80px}.site-footer{font-size:10px;line-height:1.8;gap:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header,.site-footer,.learning-companion,.learning-actions,.learning-header,.math-keyboard,.scratch-toolbar,.download-answer,.review-buttons{display:none!important}.learning-shell,.task-paper{box-shadow:none;border:0}.learning-workspace{display:block}.learning-title{padding-left:0}.learning-body{background:white;padding:0}.scratch-details{display:block}.answer-review{break-inside:avoid}.site{max-width:none;padding:0}}

/* Full-width desktop layout; the source-file library is not part of the pupil UI. */
.site{width:100%;max-width:none;padding-left:0;padding-right:0}
.site-header,.site-footer{padding-left:clamp(20px,2.6vw,50px);padding-right:clamp(20px,2.6vw,50px)}
main{width:calc(100% - clamp(32px,5.2vw,100px));max-width:none;margin-left:auto;margin-right:auto}
.library-content{width:100%;min-width:0}
@media(min-width:851px){.library-posters{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}
@media(max-width:640px){main{width:calc(100% - 32px)}.site-header,.site-footer{padding-left:16px;padding-right:16px}}

/* Large answer tiles for introductory one-choice tasks. */
.single-choice .group-row{display:block;padding:12px 0;border:0}.single-choice .group-object{display:none}.single-choice .group-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%}.single-choice .group-targets button{width:100%;min-height:78px;padding:20px 22px;font-size:19px;font-weight:600;color:#302950;line-height:1.5;text-align:left;white-space:normal;overflow-wrap:anywhere;border-radius:14px;background:#f7fafc}.single-choice .group-targets button.selected{background:#e2def8;border-color:#3924a4}.single-choice .group-targets button:focus-visible{outline:3px solid #8674e1;outline-offset:3px}@media(max-width:640px){.single-choice .group-targets{grid-template-columns:1fr}.single-choice .group-targets button{font-size:17px;min-height:64px}}
