@font-face{font-family:Handwriting;src:url('assets/fonts/ComicNeue-Regular.ttf') format('truetype');font-display:swap}
:root{--ink:#183a39;--muted:#596b6b;--line:#d7e0de;--green:#12645b;--yellow:#ffe08a;--canvas:#edf2f1}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--canvas);font:16px/1.5 'Segoe UI',Arial,sans-serif}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c08412;outline-offset:3px}button:disabled{cursor:wait;opacity:.6}a{color:inherit}input,select{width:100%;min-height:44px;border:1px solid #baccca;border-radius:8px;background:white;color:var(--ink);padding:9px 11px}label{display:block;font-size:14px;font-weight:600;margin:14px 0 7px}h1,h2,p{margin-top:0}h1{font-size:28px;line-height:1.18;letter-spacing:-.9px;margin:9px 0 25px;font-weight:650}h2{font-size:20px;letter-spacing:-.4px;margin:3px 0 0}.topbar{height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.brand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:750;letter-spacing:-1px;text-decoration:none}.brand small{display:block;font-size:10px;letter-spacing:2px;font-weight:650;margin-top:-3px}.brandmark{width:44px;height:46px;border-radius:11px;background:var(--ink);color:var(--yellow);font:bold 34px Georgia;text-align:center;letter-spacing:-7px;padding-right:7px}.brandmark span{font-size:27px}.topright{display:flex;align-items:center;gap:28px}.site-note{font-size:14px;color:var(--muted)}.online:before{content:'✓';margin-right:7px;color:var(--green)}.button{padding:11px 17px;border-radius:8px;border:1px solid transparent;font-weight:650;min-height:46px;white-space:nowrap}.quiet{background:#fff;border-color:var(--line);font-size:14px}.count{padding:1px 6px;background:#edf2f1;border-radius:4px;margin-left:8px;font-size:12px}.workspace{display:grid;grid-template-columns:310px minmax(0,1fr);max-width:1600px;margin:auto}.controls{background:white;border-right:1px solid var(--line);padding:28px 25px;align-self:stretch}.section-label{font-size:11px;letter-spacing:1.5px;font-weight:750;color:#58716c}.field-label{display:flex;align-items:center;gap:10px;font-size:12px;color:#71837e;margin-top:21px}.field-label span{font-size:14px;color:var(--ink)}.letter-picker{display:grid;grid-template-columns:40px 1fr 40px;gap:6px}.letter-picker button{border:1px solid var(--line);background:white;border-radius:8px;font-size:25px;color:var(--ink)}.letter-picker select{text-align:center;font-size:25px;font-family:Handwriting,Arial;font-weight:bold;height:56px;background:#f1f6f4}.picture-choices{display:flex;gap:10px}.picture-choice{flex:1;border:1px solid var(--line);border-radius:9px;background:white;padding:8px 4px 5px;color:var(--ink);font-size:13px;position:relative}.picture-choice.selected{border:2px solid var(--green);background:#f1f8f5;padding:7px 3px 4px}.picture-choice.selected:after{content:'✓';position:absolute;right:5px;top:1px;color:var(--green);font-size:12px}.picture-choice svg{width:60px;height:60px;display:block;margin:auto}.picture-choice img{width:60px;height:60px;object-fit:contain;display:block;margin:auto}.upload-button{width:100%;background:none;border:1px dashed #a6bcb7;color:var(--green);font-size:14px;border-radius:7px;padding:9px;margin-top:10px}.divider{border-top:1px solid var(--line);margin:24px 0 16px}.optional{font-weight:400;color:var(--muted);float:right}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.two-fields select{font-size:14px}.primary{background:var(--ink);color:white;width:100%;margin-top:24px;font-size:14px}.primary:hover{background:var(--green)}.privacy-note{font-size:12px;color:var(--muted);text-align:center;margin:15px 0 0;line-height:1.7}.preview-area{padding:28px 40px 20px;min-width:0}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;max-width:850px;margin:auto}.print{background:var(--yellow);color:var(--ink);font-size:14px}.print span{margin-left:12px}.preview-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;max-width:760px;margin:26px auto 10px}.preview-meta span:last-child{font-family:Handwriting;font-size:15px}#sheetWrap{max-width:760px;margin:auto}.sheet{background:white;color:#111;width:100%;aspect-ratio:210/297;padding:5.2%;box-shadow:0 8px 32px #213b3912;font-family:Handwriting,'Arial',sans-serif;display:flex;flex-direction:column;position:relative}.sheet.letter{aspect-ratio:8.5/11}.sheet-header{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:2px solid #111;padding-bottom:12px}.sheet-header h3{font-size:clamp(20px,2.8vw,30px);line-height:1.15;margin:0}.sheet-header .letter-badge{font:36px Handwriting;white-space:nowrap}.sheet-school{font:12px Arial;letter-spacing:.3px;margin-bottom:6px;min-height:15px;overflow-wrap:anywhere}.student-line{display:flex;gap:20px;font:12px Arial;margin:15px 0 20px}.student-line span:first-child{flex:1}.student-line span{border-bottom:1px solid #777;padding-bottom:5px}.worksheet-content{flex:1;display:flex;flex-direction:column;min-height:0}.worksheet-content h4{font-size:17px;line-height:1.2;margin:0 0 8px}.worksheet-content .instruction{font:12px/1.4 Arial;margin:0 0 8px}.panel{border:1px solid #333;padding:13px;min-width:0}.mixed-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr 1fr;gap:12px;flex:1}.mixed-grid .panel{display:flex;flex-direction:column;justify-content:flex-start}.mixed-grid .panel svg{max-height:145px}.picture-row{display:flex;align-items:center;justify-content:space-around;gap:12px;flex:1}.picture-block{text-align:center;min-width:0;flex:1}.picture-block .art{width:100%;height:130px}.picture-block .art svg,.picture-block .art img{width:100%;height:100%;object-fit:contain}.picture-block .caption{font-size:22px;line-height:1.2;margin-top:5px;overflow-wrap:anywhere}.mixed-grid .picture-block .caption{font-size:20px}.mixed-grid .picture-block .art{height:100px}.glyph{width:100%;height:auto;overflow:visible}.glyph text{font-family:Handwriting,Arial}.glyph.outline text{fill:white;stroke:#111;stroke-width:.85}.glyph.dotted text{fill:none;stroke:#6b6b6b;stroke-width:.8;stroke-dasharray:1.4 2;stroke-linecap:round}.writing-row{border-bottom:1px solid #555;position:relative;margin:8px 0;min-height:52px}.writing-row:after{content:'';position:absolute;left:0;right:0;top:48%;border-top:1px dashed #b2b2b2;pointer-events:none}.writing-row svg{position:relative;z-index:1;display:block;width:100%;height:60px}.writing-row.blank{height:58px}.writing-stack{display:flex;flex-direction:column;justify-content:space-around;flex:1}.letters-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;text-align:center;font-size:28px;line-height:1.2;align-items:center;flex:1}.letters-grid.large{grid-template-columns:repeat(7,1fr);font-size:38px;gap:18px}.maze-grid{display:grid;border-top:1px solid #111;border-left:1px solid #111;aspect-ratio:1;max-width:100%;margin:auto;flex:none;width:100%}.maze-grid span{border-right:1px solid #111;border-bottom:1px solid #111;display:flex;align-items:center;justify-content:center;line-height:1;font-size:20px;min-width:0}.maze-labels{display:flex;justify-content:space-between;font:10px Arial;margin:4px 0}.maze-large{width:90%;margin:24px auto}.maze-large .maze-grid span{font-size:32px}.mixed-grid .maze-grid{max-width:104px}.mixed-grid .maze-grid span{font-size:15px}.sheet-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-top:16px;font:8px/1.4 Arial;color:#555}.sheet-footer span:last-child{text-align:right}.single-intro{margin-bottom:16px}.single-intro p{font-size:16px;margin-bottom:0}.big-letter{height:190px;width:100%;display:flex;justify-content:center}.big-letter svg{height:100%;max-width:470px}.color-pictures{display:flex;flex:1;flex-direction:column;justify-content:space-around}.color-pictures .picture-block .art{height:210px}.cut-targets{display:grid;grid-template-columns:1fr 1fr;gap:18px;flex:1;margin-bottom:20px}.cut-target{border:1.5px solid #111;display:flex;flex-direction:column;min-height:165px;text-align:center;justify-content:flex-end;padding:10px}.cut-target span{font-size:22px;border-top:1px solid #ccc;padding-top:8px}.cut-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;border-top:2px dashed #111;padding-top:14px}.cut-strip .art{height:90px}.cut-strip .picture-block{border:1.5px dashed #333;padding:4px}.trace-picture{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column}.trace-picture .art{width:95%;height:400px}.trace-picture svg{width:100%;height:100%}.trace-art svg :is(path,line,polyline,polygon,circle,ellipse,rect){stroke:#777!important;stroke-width:.8!important;stroke-dasharray:1.3 2!important;stroke-linecap:round!important;fill:none!important}.trace-art img{opacity:.28}.trace-picture .caption{font-size:30px}.picture-reference{max-width:100px;align-self:flex-end}.picture-reference .art{height:80px}.picture-reference .caption{font-size:14px}.print-tip,.credits{max-width:760px;margin:17px auto 0;font-size:12px;color:var(--muted);line-height:1.6}.credits{margin-top:8px}.hint{font-size:13px;color:var(--muted);line-height:1.5;margin:10px 0}.text-button{border:0;background:none;color:var(--green);font-size:13px;text-decoration:underline;padding:7px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0)}dialog{width:min(850px,94vw);max-height:88vh;border:0;border-radius:16px;padding:27px;color:var(--ink);box-shadow:0 15px 70px #0003}dialog::backdrop{background:#123c3980;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.icon-button{background:#eef3f1;border:0;border-radius:50%;font-size:26px;width:38px;height:38px;line-height:1}.library-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:20px 0}.library-grid button{background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px;font-size:13px;color:var(--ink)}.library-grid button:hover{background:#edf6f0;border-color:var(--green)}.library-grid svg{display:block;width:72px;height:72px;max-width:100%;margin:auto}.library-grid .letter-tag{font-size:11px;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 20px;border-radius:9px;font-size:14px;box-shadow:0 5px 20px #0002;z-index:20;max-width:90vw;display:none}#toast.show{display:block}@media(min-width:1500px){.sheet-header h3{font-size:30px}}@media(max-width:1000px){.workspace{grid-template-columns:275px minmax(0,1fr)}.controls{padding:25px 18px}.preview-area{padding:25px 20px}.preview-toolbar{align-items:flex-start}.preview-toolbar h2{font-size:17px}.preview-toolbar .print{font-size:12px;padding:10px}.preview-toolbar .print span{display:none}.mixed-grid{gap:8px}.panel{padding:9px}.worksheet-content h4{font-size:14px}.mixed-grid .picture-block .art{height:75px}.letters-grid{font-size:22px}.student-line{margin:12px 0}.sheet{min-height:760px}}@media(max-width:740px){.topbar{padding:16px 20px;height:auto}.brand{font-size:21px}.topright{gap:0}.site-note{display:none}.quiet{font-size:12px;padding:9px}.workspace{display:block}.controls{border-right:0;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}.controls>h1,.controls>.section-label,.controls>.field-label,.controls>.divider,.controls>.primary,.controls>.privacy-note,.controls>#uploadFields{grid-column:1/-1}.controls h1{font-size:25px;margin-bottom:8px}.controls>.field-label{margin-top:15px}.controls>.letter-picker,.controls>#activity,.controls>.picture-choices,.controls>.upload-button{grid-column:1/-1}.controls>.picture-choices{max-width:350px}.controls>.divider{margin:15px 0 2px}.controls>label[for=school]{grid-column:1/-1}.controls>#school{grid-column:1/-1}.controls>.two-fields{grid-column:1/-1}.privacy-note{display:none}.controls>.primary{margin-top:12px}.preview-area{padding:25px 12px}.preview-meta{font-size:11px}.preview-meta span:last-child{display:none}.sheet{min-height:0;aspect-ratio:210/297;padding:5%}.sheet-header h3{font-size:23px}.sheet-header{padding-bottom:8px}.sheet-header .letter-badge{font-size:28px}.sheet-school{font-size:10px}.student-line{font-size:10px;margin:10px 0}.mixed-grid{gap:7px}.mixed-grid .panel{padding:7px}.worksheet-content h4{font-size:13px}.worksheet-content .instruction{font-size:9px}.mixed-grid .panel svg{max-height:90px}.mixed-grid .picture-block .art{height:63px}.mixed-grid .picture-block .caption{font-size:15px}.letters-grid{font-size:20px;gap:5px}.mixed-grid .maze-grid{max-width:76px}.mixed-grid .maze-grid span{font-size:11px}.writing-row{min-height:32px;margin:3px 0}.writing-row svg{height:37px}.writing-row.blank{height:34px}.sheet-footer{font-size:6px;margin-top:10px}.big-letter{height:130px}.color-pictures .picture-block .art{height:130px}.picture-block .caption{font-size:19px}.letters-grid.large{font-size:25px;gap:12px}.maze-large .maze-grid span{font-size:23px}.cut-targets{gap:10px;margin-bottom:10px}.cut-target{min-height:110px}.cut-target span{font-size:18px}.cut-strip .art{height:60px}.trace-picture .art{height:240px}.trace-picture .caption{font-size:24px}.picture-reference{max-width:60px}.picture-reference .art{height:50px}.single-intro p{font-size:13px}.library-grid{grid-template-columns:repeat(3,1fr)}.library-grid svg{width:60px;height:60px}.maze-labels{font-size:8px}.sheet.letter{aspect-ratio:8.5/11}.sheet.letter .mixed-grid .panel svg{max-height:75px}}
@page{size:A4;margin:10mm}@media print{body{background:white;color:black}.topbar,.controls,.preview-toolbar,.preview-meta,.print-tip,.credits,dialog,#toast{display:none!important}.workspace{display:block;max-width:none}.preview-area{padding:0}#sheetWrap{max-width:none;margin:0}.sheet,.sheet.letter{width:100%;height:276mm;min-height:0;aspect-ratio:auto;padding:5mm;box-shadow:none;break-after:page}.sheet.letter{height:258mm}.sheet-header h3{font-size:28px}.sheet-header .letter-badge{font-size:36px}.sheet-school{font-size:12px}.student-line{font-size:12px;margin:15px 0 20px}.panel{padding:13px}.mixed-grid{gap:12px}.worksheet-content h4{font-size:17px}.worksheet-content .instruction{font-size:12px}.mixed-grid .panel svg{max-height:145px}.mixed-grid .picture-block .art{height:105px}.mixed-grid .picture-block .caption{font-size:22px}.letters-grid{font-size:30px;gap:9px}.writing-row{min-height:52px;margin:8px 0}.writing-row svg{height:60px}.writing-row.blank{height:58px}.mixed-grid .maze-grid{max-width:145px}.mixed-grid .maze-grid span{font-size:17px}.maze-labels{font-size:10px}.big-letter{height:190px}.color-pictures .picture-block .art{height:225px}.letters-grid.large{font-size:38px;gap:18px}.maze-large .maze-grid span{font-size:32px}.cut-targets{gap:18px;margin-bottom:20px}.cut-target{min-height:165px}.cut-target span{font-size:22px}.cut-strip .art{height:95px}.trace-picture .art{height:400px}.picture-reference{max-width:100px}.picture-reference .art{height:80px}.sheet-footer{font-size:8px;margin-top:16px}.single-intro p{font-size:16px}.sheet.letter .mixed-grid .panel svg{max-height:130px}.sheet.letter .color-pictures .picture-block .art{height:195px}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* Keep worksheet contents inside the fixed printable page on both paper sizes. */
.mixed-grid{min-height:0;grid-template-rows:repeat(3,minmax(0,1fr))}.mixed-grid .panel{min-height:0}.maze-large{max-width:540px}.letters-grid.large{font-size:34px;gap:14px}
@media print{.mixed-grid .panel>.glyph{max-height:125px}.mixed-grid .maze-grid{width:120px;max-width:120px}.mixed-grid .maze-grid span{font-size:14px}.mixed-grid .maze-labels{font-size:9px;margin:3px 0}.mixed-grid .picture-block .art{height:90px}.maze-large{width:85%;max-width:125mm;margin:12px auto}.letters-grid.large{font-size:34px;gap:14px}.sheet.letter .mixed-grid .panel{padding:10px}.sheet.letter .mixed-grid .panel>.glyph{max-height:105px}.sheet.letter .mixed-grid .maze-grid{width:112px}.sheet.letter .mixed-grid .picture-block .art{height:82px}.sheet.letter .mixed-grid h4{font-size:16px}.sheet.letter .mixed-grid .instruction{font-size:11px}.sheet.letter .mixed-grid .writing-row{margin:4px 0}.sheet.letter .mixed-grid .writing-row svg{height:48px}.sheet.letter .mixed-grid .writing-row.blank{height:45px}}
/* Fresh Worksheets creator sections. */
[hidden]{display:none!important}.website-link{font-size:13px;text-decoration:none;color:var(--muted)}.brandmark{letter-spacing:-6px;font-size:32px}.brandmark span{font-size:23px}.studio-nav{background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px;padding:0 36px;min-height:65px}.studio-nav button{border:0;background:none;padding:18px 22px;font-weight:600;color:var(--muted);position:relative;display:flex;align-items:center;gap:11px;min-height:64px}.studio-nav button.active{color:var(--green)}.studio-nav button.active:after{content:'';position:absolute;bottom:0;left:18px;right:18px;height:3px;background:var(--green);border-radius:3px}.studio-nav button>span{font-family:Handwriting;font-size:23px;font-weight:bold}.studio-nav small{font-size:11px;background:#edf3ef;padding:2px 6px;border-radius:4px}.studio-nav>div{margin-left:auto;font-size:10px;letter-spacing:2px;color:var(--muted)}.control-group{min-width:0}.check-label{display:flex;align-items:center;gap:9px;font-weight:500;margin-top:20px}.check-label input{width:18px;height:18px;min-height:18px;accent-color:var(--green)}.control-group .hint{font-size:12px;margin-bottom:0}.sheet-subtitle{font:12px/1.4 Arial,sans-serif;margin-top:7px;color:#333}.sheet+.sheet{margin-top:25px}.sheet-header h3{font-size:27px}.puzzles-sheet .sheet-header h3,.math-sheet .sheet-header h3{font-size:26px}.math-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(0,1fr);flex:1;gap:13px;min-height:0}.math-question{border:1px solid #bbb;border-radius:3px;padding:11px;display:grid;grid-template-columns:22px minmax(0,1fr);gap:5px;font:17px/1.4 Arial,sans-serif;min-height:0;align-items:start}.math-question>div{min-width:0}.question-number{font-size:11px;color:#666;margin-top:3px}.math-prompt{overflow-wrap:anywhere}.math-prompt sup{font-size:.7em}.math-answer-line{border-bottom:1px solid #777;width:85%;height:26px;margin-top:8px}.math-question small{display:block;font:11px/1.3 Arial,sans-serif;margin:7px 0}.counting-dots{display:grid;grid-template-columns:repeat(5,11px);gap:7px;margin:10px 0}.counting-dots span{width:10px;height:10px;background:#333;border-radius:50%}.fraction-bar{display:flex;height:24px;border:1px solid #111;margin:10px 0}.fraction-bar span{flex:1;border-right:1px solid #111}.fraction-bar span:last-child{border:0}.fraction-bar .shaded{background:#777}.number-trace{width:100%;height:60px;margin-top:7px;display:block}.number-trace text{font:54px Handwriting;fill:none;stroke:#555;stroke-width:.8;stroke-dasharray:1.5 2}.math-grid.dense{gap:9px}.math-grid.dense .math-question{padding:8px;font-size:16px}.math-grid.dense .math-answer-line{height:21px;margin-top:5px}.math-answer{font-size:21px;font-weight:600}.answer-grid{flex:0;grid-auto-rows:auto;gap:12px}.answer-grid .math-question{min-height:65px;align-items:center}.puzzle-drawing{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;width:100%;padding:10px 0}.shape-maze,.dot-picture{display:block;width:100%;max-height:650px;max-width:650px;height:auto}.puzzles-sheet .single-intro p{font-size:14px}.puzzles-sheet .single-intro h4{font-size:17px}.math-sheet .single-intro h4{font:14px/1.5 Arial,sans-serif}.puzzles-sheet,.math-sheet{min-height:900px}.math-sheet .math-grid.dense .math-question small{font-size:10px}
@media(max-width:1150px){.website-link{display:none}.brand{font-size:22px}.topright{gap:12px}.site-note{font-size:12px}.math-question{font-size:15px;padding:8px}.math-grid{gap:10px}.math-grid.dense .math-question{font-size:13px}.math-prompt{line-height:1.4}.puzzles-sheet .sheet-header h3,.math-sheet .sheet-header h3{font-size:22px}}
@media(max-width:740px){.studio-nav{padding:0 7px;gap:0;justify-content:space-around}.studio-nav button{padding:12px 10px;gap:7px;font-size:13px;min-height:58px}.studio-nav small,.studio-nav>div{display:none}.topbar{padding:15px}.brand{font-size:18px;gap:8px}.brandmark{width:37px;height:40px;font-size:28px}.brand small{font-size:8px;letter-spacing:1.6px}.quiet .count{display:none}.quiet{font-size:11px;padding:8px}.controls>.control-group,.controls>.check-label{grid-column:1/-1}.controls .two-fields{display:grid}.sheet-subtitle{font-size:10px}.puzzles-sheet .sheet-header h3,.math-sheet .sheet-header h3{font-size:20px}.puzzles-sheet,.math-sheet{min-height:700px;aspect-ratio:auto}.math-question{font-size:13px;padding:7px;grid-template-columns:14px minmax(0,1fr);gap:3px}.math-grid{gap:8px}.math-grid.dense{gap:6px}.math-grid.dense .math-question{font-size:12px;padding:6px}.math-grid .math-answer-line{height:22px;margin-top:5px}.question-number{font-size:9px}.math-grid .math-question small{font-size:9px}.math-grid{min-height:480px}.math-grid.answer-grid{min-height:0}.answer-grid .math-question{min-height:50px}.math-answer{font-size:17px}.math-sheet .single-intro h4{font-size:11px}.number-trace{height:45px}.counting-dots{grid-template-columns:repeat(5,7px);gap:5px;margin:7px 0}.counting-dots span{width:7px;height:7px}.puzzles-sheet .single-intro h4{font-size:13px}.puzzles-sheet .single-intro p{font-size:11px}.puzzles-sheet{min-height:580px}.shape-maze,.dot-picture{max-height:460px}.controls h1{font-size:26px}.controls>.two-fields{gap:14px}}
@media print{.studio-nav{display:none!important}.sheet+.sheet{margin-top:0}.sheet:last-child{break-after:auto}.sheet{break-inside:avoid}.sheet-header h3,.puzzles-sheet .sheet-header h3,.math-sheet .sheet-header h3{font-size:26px}.sheet-subtitle{font-size:12px}.math-sheet,.puzzles-sheet{min-height:0}.math-grid{min-height:0;gap:12px}.math-question{font-size:16px;padding:10px;grid-template-columns:20px minmax(0,1fr);gap:5px}.math-grid.dense .math-question{font-size:15px;padding:8px}.math-grid .math-answer-line{height:24px;margin-top:6px}.math-grid.dense .math-answer-line{height:20px;margin-top:5px}.question-number{font-size:11px}.math-grid .math-question small{font-size:11px}.math-sheet .single-intro h4{font-size:13px}.number-trace{height:58px}.counting-dots{grid-template-columns:repeat(5,10px);gap:6px}.counting-dots span{width:10px;height:10px}.math-answer{font-size:21px}.puzzle-drawing{padding:0}.shape-maze,.dot-picture{max-height:175mm;max-width:175mm;width:100%}.puzzles-sheet .single-intro h4{font-size:16px}.puzzles-sheet .single-intro p{font-size:13px}.sheet.letter .shape-maze,.sheet.letter .dot-picture{max-height:165mm;max-width:165mm}.sheet.letter .math-question{font-size:15px}.sheet.letter .math-grid.dense .math-question{font-size:14px}.sheet.letter .math-grid.dense{gap:8px}.sheet.letter .math-grid.dense .math-answer-line{height:17px}.sheet.letter .single-intro{margin-bottom:12px}}
.dot-details :is(path,line,polyline,polygon,circle,ellipse,rect){stroke-width:.4;stroke:#555}.fraction{display:inline-flex;flex-direction:column;vertical-align:middle;align-items:stretch;text-align:center;line-height:1.05;margin:0 3px;min-width:16px;font-size:.95em}.fraction>span:first-child{border-bottom:1px solid currentColor;padding:0 3px 2px}.fraction>span:last-child{padding:2px 3px 0}.math-prompt:has(.fraction){line-height:1.8}
.mixed-grid .letters-grid{font-size:24px;gap:5px;min-height:0}@media(max-width:740px){.mixed-grid .letters-grid{font-size:18px;gap:3px}}@media print{.mixed-grid .letters-grid{font-size:21px;line-height:1.15;gap:4px}}
.library-filters{display:grid;grid-template-columns:2fr 1fr;gap:14px}.library-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0;font-size:14px}.library-grid button{min-width:0;overflow-wrap:anywhere}.library-grid button>span{display:block;min-height:38px;line-height:1.35}.library-empty{grid-column:1/-1;padding:25px 0}.picture-choices{min-width:0}.picture-choice{min-width:0;overflow-wrap:anywhere}#pictureAvailability{font-size:12px;font-weight:400;color:var(--muted);margin-top:12px}.picture-block.long-name .caption{font-size:16px;line-height:1.25}.mixed-grid .picture-block.long-name .caption{font-size:14px}.library-pagination button:disabled{cursor:default;opacity:.4}.library-grid button:focus-visible{outline:3px solid #c08412;outline-offset:2px}@media(max-width:740px){.library-filters{grid-template-columns:1fr 90px}.library-pagination{font-size:12px;gap:5px}.library-pagination .button{font-size:12px;padding:8px 10px}.picture-block.long-name .caption{font-size:13px}.mixed-grid .picture-block.long-name .caption{font-size:11px}}@media print{.picture-block.long-name .caption{font-size:16px}.mixed-grid .picture-block.long-name .caption{font-size:14px}}

.site-logo{width:220px;height:46px;object-fit:cover;object-position:top}.grammar-nav{align-self:center;padding:12px 20px;color:#187d53;font-weight:700;text-decoration:none}

.practice-note{font:11px/1.3 Arial,sans-serif;margin:0 0 8px;color:#444}.sheet:has(.practice-note) .worksheet-content{min-height:0}
@media(max-width:740px){.studio-nav{flex-wrap:wrap}.studio-nav .grammar-nav{font-size:13px;padding:10px}.topbar{height:auto;min-height:88px;flex-wrap:wrap;gap:12px}.topright{flex-wrap:wrap}.site-logo{width:190px}}
@media print{.trace-activity.alphabet-sheet .writing-row{min-height:44px;margin:5px 0}.trace-activity.alphabet-sheet .writing-row svg{height:50px}.trace-activity.alphabet-sheet .writing-row.blank{height:48px}.trace-activity.alphabet-sheet .big-letter{height:165px}.find-activity.alphabet-sheet.letter .big-letter{height:160px}.maze-activity.alphabet-sheet.letter .maze-large{max-width:115mm}.practice-note{flex-shrink:0}}
@media print{.trace-activity.alphabet-sheet .picture-row{max-height:145px!important;flex-shrink:0}.trace-activity.alphabet-sheet .picture-row .art{height:105px}.trace-activity.alphabet-sheet .picture-row .caption{font-size:20px}}

.math-grade-nav{display:flex;gap:6px;overflow-x:auto;padding:10px 38px;background:#f7faf8;border-bottom:1px solid #d7e0de}.math-grade-nav[hidden]{display:none}.math-grade-nav button{flex-shrink:0;border:1px solid transparent;background:transparent;padding:8px 14px;border-radius:7px;color:#285b4b;font-weight:600}.math-grade-nav button.active{background:#187d53;color:white}.math-diagram{display:block;width:100%;max-height:120px;margin:8px 0}.mini-shapes{display:flex;gap:3px;align-items:center}.mini-shapes svg{width:13%;height:45px}.mini-calendar{border-collapse:collapse;font:11px Arial;width:100%;margin:8px 0}.mini-calendar caption{font-size:10px;padding-bottom:4px}.mini-calendar td,.mini-calendar th{border:1px solid #999;padding:3px;text-align:center}.math-review-note{font:10px/1.4 Arial,sans-serif;margin:12px 0 0;padding:8px 0;border-top:1px solid #bbb;flex-shrink:0}.math-sheet .practice-note{font-size:11px;line-height:1.45;margin-bottom:12px}.math-grid .math-question .math-diagram{max-height:110px}.math-grid.answer-grid .math-answer{font-size:17px;overflow-wrap:anywhere}.studio-nav{flex-wrap:wrap}.math-sheet .math-grid{align-content:stretch}.math-sheet .math-question{min-width:0;border-color:#aebbb7;border-radius:7px;padding:12px;grid-template-columns:26px minmax(0,1fr);gap:8px}.math-question-body{display:flex;flex-direction:column;min-width:0;min-height:100%}.math-sheet .question-number{display:grid;place-items:center;width:22px;height:22px;margin:0;border:1px solid #bdc9c5;border-radius:50%;color:#3d5851;background:#f4f7f6;font-size:10px;font-weight:700}.math-sheet .math-prompt{font-size:18px;font-weight:600;line-height:1.35}.math-sheet .math-answer-line{width:100%;height:57px;margin-top:auto;border:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 26px,#9ba8a4 27px,transparent 28px)}.math-sheet .has-visual .math-answer-line{height:28px;min-height:28px;background:linear-gradient(to bottom,transparent 25px,#9ba8a4 26px,transparent 27px)}.math-grid.answer-grid .math-question-body{justify-content:center}.math-grid.answer-grid .question-number{align-self:center}@media(max-width:740px){.math-grade-nav{padding:8px 12px}.math-grade-nav button{font-size:13px;padding:8px 10px}.math-review-note{font-size:10px}.math-diagram{max-height:100px}.mini-calendar td,.mini-calendar th{padding:1px;font-size:8px}.math-grid.answer-grid .math-answer{font-size:13px}.math-sheet .math-question{padding:8px;grid-template-columns:20px minmax(0,1fr);gap:5px}.math-sheet .question-number{width:18px;height:18px;font-size:8px}.math-sheet .math-prompt{font-size:14px}.math-sheet .math-answer-line{height:42px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 19px,#9ba8a4 20px,transparent 21px)}}@media print{.math-grade-nav{display:none!important}.math-review-note{font-size:9px;margin-top:8px;padding-top:6px}.math-sheet .practice-note{font-size:10px;margin-bottom:8px}.math-grid .math-question .math-diagram{max-height:95px}.math-grid.answer-grid .math-answer{font-size:16px}.mini-calendar{font-size:10px}.math-sheet .math-question{padding:11px}.math-sheet .math-prompt{font-size:17px}.math-sheet .question-number{background:white}.math-sheet .math-answer-line{height:50px}}
.english-grade-nav{padding:10px 38px;flex-wrap:wrap;overflow:visible}.english-grade-nav button{padding:7px 12px}@media(max-width:740px){.english-grade-nav{padding:8px 12px;gap:5px}.english-grade-nav button{font-size:12px;padding:7px 9px}}

.column-calculation{font:20px/1.35 monospace;text-align:right;width:140px;max-width:100%;margin:5px auto}.column-result{border-top:2px solid #111;height:22px}@media print{.column-calculation{font-size:19px;margin:4px auto}.column-result{height:20px}}
.math-sheet .has-visual .math-prompt{font-size:15px;line-height:1.25}.math-sheet .has-visual .math-answer-line{height:22px;min-height:22px;background:linear-gradient(to bottom,transparent 19px,#9ba8a4 20px,transparent 21px)}@media print{.math-sheet .has-visual .math-prompt{font-size:14px}.math-sheet .has-visual .math-answer-line{height:20px;min-height:20px}}
.math-sheet .math-question-body{height:100%;min-height:0}
.math-presentation-controls{margin-top:14px;padding:13px;border:1px solid var(--line);border-radius:8px;background:#f7faf8}.math-presentation-controls>label,.math-presentation-controls>div>label{margin-top:0}.math-presentation-controls select{background:white}.counting-pictures{display:grid;grid-template-columns:repeat(6,minmax(24px,34px));gap:6px;margin:8px 0;align-items:center}.counting-pictures svg{display:block;width:100%;height:auto;max-height:34px}.counting-choices{display:flex;gap:12px;margin-top:8px}.counting-choices span{display:grid;place-items:center;width:36px;height:36px;border:1.5px solid #333;border-radius:50%;font-size:18px;font-weight:700}.math-question:has(.counting-choices) .math-answer-line{display:none}@media(max-width:740px){.math-presentation-controls{padding:11px}.counting-pictures{grid-template-columns:repeat(6,minmax(18px,27px));gap:4px}.counting-pictures svg{max-height:27px}.counting-choices{gap:8px}.counting-choices span{width:29px;height:29px;font-size:15px}}@media print{.counting-pictures{grid-template-columns:repeat(6,minmax(22px,31px));gap:5px;margin:6px 0}.counting-pictures svg{max-height:31px}.counting-choices{gap:10px;margin-top:6px}.counting-choices span{width:33px;height:33px;font-size:17px}}

/* Clear textbook-style fraction notation for all fraction operations. */
.math-prompt .fraction,.math-answer .fraction{font-size:1.2em;line-height:1;min-width:28px;margin:0 6px;transform:translateY(-1px)}
.math-prompt .fraction>span:first-child,.math-answer .fraction>span:first-child{border-bottom:1.6px solid currentColor;padding:0 5px 3px}
.math-prompt .fraction>span:last-child,.math-answer .fraction>span:last-child{padding:3px 5px 0}
.math-prompt:has(.fraction){font-size:20px;line-height:2.05;white-space:normal}
.math-answer:has(.fraction){line-height:1.8}
@media print{.math-prompt .fraction,.math-answer .fraction{font-size:1.25em;min-width:30px}.math-prompt:has(.fraction){font-size:20px;line-height:2.1}}
/* Shared lesson column: one template supplies definitions to every worksheet. */
.worksheet-with-guide{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px;flex:1;min-height:0}
.worksheet-main{display:flex;flex-direction:column;min-width:0;min-height:0}
.learning-guide{align-self:stretch;border:1px solid #9fada8;border-radius:7px;background:#f7f9f8;padding:10px 9px;font:10px/1.35 Arial,sans-serif;overflow-wrap:anywhere}
.learning-guide h4{margin:0 0 8px!important;padding-bottom:6px;border-bottom:1px solid #c8d1ce;font:700 11px/1.25 Arial,sans-serif!important;text-transform:uppercase;letter-spacing:.45px}
.learning-guide p{margin:0 0 9px}
.learning-guide p:last-child{margin-bottom:0}
.learning-guide strong{font-weight:700;color:#193f3a}
@media(max-width:740px){.worksheet-with-guide{grid-template-columns:minmax(0,1fr) 120px;gap:7px}.learning-guide{padding:7px 6px;font-size:8px}.learning-guide h4{font-size:9px!important}.learning-guide p{margin-bottom:6px}}
@media print{.worksheet-with-guide{grid-template-columns:minmax(0,1fr) 142px;gap:10px}.learning-guide{padding:8px;font-size:9px;background:white}.learning-guide h4{font-size:10px!important}}
/* Context panel uses the empty preview space beside the paper; it is not printed. */
.preview-toolbar,.preview-meta{max-width:1000px}
.preview-stage{display:grid;grid-template-columns:minmax(0,760px) minmax(190px,220px);gap:18px;align-items:start;justify-content:center;max-width:1000px;margin:auto}
.preview-stage #sheetWrap{max-width:none;margin:0;min-width:0}
.study-panel{position:sticky;top:18px;background:#fff;border:1px solid #c7d4d0;border-radius:10px;padding:18px 16px;box-shadow:0 7px 24px #213b390d;font:13px/1.45 'Segoe UI',Arial,sans-serif;color:#274b47}
.study-panel-label{font-size:9px;letter-spacing:1.4px;font-weight:800;color:#687e79;margin-bottom:7px}
.study-panel h3{font-size:18px;line-height:1.2;margin:0 0 14px;color:#163b38}
.study-definition{border-top:1px solid #e0e7e4;padding:11px 0 0;margin-top:11px}
.study-definition strong{display:block;font-size:13px;color:#12645b}
.study-definition p{margin:3px 0 0;font-size:12px;line-height:1.45;color:#425e59}
@media(max-width:1250px){.preview-stage{grid-template-columns:minmax(0,760px);max-width:760px}.study-panel{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.study-panel>.study-panel-label,.study-panel>h3{grid-column:1/-1}.study-definition{margin-top:0}}
@media(max-width:740px){.preview-stage{display:flex;flex-direction:column}.study-panel{order:-1;width:100%;display:block;padding:14px}.study-definition{margin-top:8px;padding-top:8px}}
@media print{.study-panel{display:none!important}.preview-stage{display:block;max-width:none}.preview-stage #sheetWrap{max-width:none}}
/* Responsive application shell. Paper dimensions remain controlled by print rules. */
@media screen and (min-width:741px){
 .workspace{grid-template-columns:clamp(285px,22vw,340px) minmax(0,1fr);max-width:none}
 .controls{min-width:0}
 .preview-area{min-width:0}
 .preview-stage{width:min(100%,1040px)}
}
@media screen and (min-width:1800px) and (max-width:2299px){body{zoom:1.15}}
@media screen and (min-width:2300px) and (max-width:2799px){body{zoom:1.4}}
@media screen and (min-width:2800px) and (max-width:3399px){body{zoom:1.65}}
@media screen and (min-width:3400px){body{zoom:2}}
@media screen and (max-width:1000px) and (min-width:741px){
 .workspace{grid-template-columns:270px minmax(0,1fr)}
 .preview-area{padding:22px 16px}
 .preview-stage{grid-template-columns:minmax(0,1fr)}
 .study-panel{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
 .study-panel>.study-panel-label,.study-panel>h3{grid-column:1/-1}
}
@media screen and (max-width:740px){
 .studio-nav{padding:0 10px;gap:2px;overflow-x:auto;flex-wrap:nowrap}
 .studio-nav button{padding:12px 11px;min-height:52px;flex-shrink:0}
 .studio-nav button.active:after{left:8px;right:8px}
 .math-grade-nav{scrollbar-width:thin}
 .controls{display:block}
 .control-group{margin-bottom:10px}
 .topright .button{min-height:40px}
 .preview-toolbar{align-items:center}
}

/* Subject landing page */
.studio-landing{background:#f3f7f5;padding:50px 24px 70px;min-height:calc(100vh - 153px)}
.landing-hero,.landing-subjects{max-width:1220px;margin:auto}
.landing-hero{max-width:1220px;margin-left:auto;margin-right:auto}
.topbar .houad{max-width:820px}
@media(min-width:1300px){.topbar{padding-left:calc((100% - 1220px) / 2)!important;padding-right:calc((100% - 1220px) / 2)!important}.studio-nav{padding-left:calc((100% - 1220px) / 2)!important;padding-right:calc((100% - 1220px) / 2)!important}}.landing-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:44px;align-items:center;margin-bottom:42px}.landing-hero h1{font-size:50px;line-height:1.04;letter-spacing:-2px;margin:10px 0 17px}.landing-hero p{font-size:18px;color:#526963;max-width:690px}.landing-hero aside{display:flex;flex-direction:column;background:#173a38;color:white;border-radius:22px;padding:27px;box-shadow:0 18px 45px #173a3824}.landing-hero aside strong{font-size:38px;color:#ffe08a}.landing-hero aside span{color:#d6e4df;margin-top:6px}.landing-subjects-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}.landing-subjects-head h2{font-size:27px;margin:3px 0 0}.landing-subjects-head p{color:#687c77;margin:0}.subject-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.subject-card{position:relative;min-height:272px;border:1px solid #d5e1dd;border-radius:17px;background:#fff;color:var(--ink);padding:23px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 7px 22px #193b3710;overflow:hidden}.subject-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--card)}.subject-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #193b371b}.subject-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:12px;background:color-mix(in srgb,var(--card) 13%,white);color:var(--card);font-size:21px;font-weight:850}.subject-card>strong{font-size:22px;margin:15px 0 3px}.subject-card small{font-size:13px;color:#61756f}.subject-card i{font-style:normal;font-size:12px;color:#49635c;background:#f1f5f3;border-radius:8px;padding:7px 9px;margin:17px 0}.subject-count{position:absolute;right:20px;top:21px;text-align:right;font-size:11px;color:#667a75}.subject-count b{display:block;font-size:26px;line-height:1;color:var(--ink)}.subject-action{margin-top:auto;width:100%;border-radius:9px;background:var(--card);color:#fff;padding:11px 14px;text-align:center;font-weight:750}.subject-card.future{border-style:dashed}.subject-card.future .subject-action{background:#eef3f1;color:#47615b}.coming{position:absolute;right:17px;top:20px;font-size:11px;font-weight:800;background:#fff2c4;color:#6c5112;border-radius:99px;padding:5px 9px}.future-subject-card{background:#f7faf8;border:1px dashed #9db3ad;border-radius:12px;padding:19px}.future-subject-card h2{margin:7px 0;font-size:20px}.future-subject-card p{margin:0;color:var(--muted)}
.puzzle-work{display:flex;flex:1;min-height:0;align-items:center;justify-content:center;font-family:Arial,sans-serif}/* The puzzle wrapper is rendered as `puzzle-work puzzle-<kind>`, so for the four kinds whose name matches an inner element's class (coordinate, hidden, pyramid, sudoku) the wrapper also picks up rules written for the inner element. On sudoku that made the wrapper a grid with an auto track, so the inner grid's 90% width became a circular percentage and collapsed to the width of the digits - a 150x377 grid instead of a square. Re-assert the wrapper's own layout at higher specificity. */.puzzle-work.puzzle-sudoku,.puzzle-work.puzzle-coordinate,.puzzle-work.puzzle-hidden,.puzzle-work.puzzle-pyramid{display:flex;flex-direction:row;align-items:center;justify-content:center;text-align:initial}.puzzle-work>.puzzle-sudoku{grid-template-rows:repeat(9,1fr)}.puzzle-work.puzzle-hidden>div{display:block}.puzzle-work.puzzle-hidden>.puzzle-hidden>div{display:grid;grid-template-columns:repeat(6,1fr)}.puzzle-sudoku{display:grid;width:min(580px,90%);aspect-ratio:1;margin:auto}.puzzle-sudoku span{display:grid;place-items:center;border:1px solid #777;font-size:26px}.puzzle-word-layout{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:22px;width:100%;align-items:start}.puzzle-word-grid{display:grid;border:2px solid #222;aspect-ratio:1}.puzzle-word-grid span{display:grid;place-items:center;font-size:17px;font-weight:700}.puzzle-word-grid .solved,.puzzle-hidden .solved{background:#ddd;border-radius:50%}.puzzle-word-list{display:grid;gap:8px;font-size:15px}.puzzle-task-grid{width:100%;display:grid;gap:25px;align-content:center;text-align:center}.puzzle-sequence,.puzzle-number-sequence{display:flex;justify-content:center;gap:12px}.puzzle-sequence span{display:grid;place-items:center;width:82px;height:82px;border:2px solid #455;border-radius:12px;font-size:38px}.puzzle-number-sequence span{min-width:64px;border-bottom:1px solid #555;padding:8px;font-size:19px}.puzzle-pyramid{display:flex;flex-direction:column;gap:8px;align-items:center;width:100%}.puzzle-pyramid>div{display:flex;gap:8px}.puzzle-pyramid span{display:grid;place-items:center;width:72px;height:60px;border:2px solid #455;font-size:20px}.puzzle-code p{font-size:25px;margin:3px}.puzzle-code h3{font-size:29px}.puzzle-logic{font-size:17px;text-align:left}.puzzle-logic table{border-collapse:collapse;width:100%}.puzzle-logic td,.puzzle-logic th{border:1px solid #777;height:48px;padding:8px}.puzzle-coordinate{width:min(610px,95%);margin:auto;text-align:center}.puzzle-coordinate svg{width:100%;max-height:540px}.puzzle-coordinate svg path{stroke:#bbb;stroke-width:1;fill:none}.puzzle-coordinate svg>path,.puzzle-coordinate polyline{stroke:#222;stroke-width:2;fill:none}.puzzle-hidden{width:100%;text-align:center}.puzzle-hidden>div{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:25px}.puzzle-hidden span{display:grid;place-items:center;height:66px;font-size:34px;border:1px solid #ccd6d2;border-radius:8px}.puzzle-dice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.puzzle-dice-grid section{border:1px solid #9daca7;border-radius:8px;padding:10px;display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;min-height:98px}.puzzle-dice-grid section>div{display:flex;align-items:center;gap:7px}.puzzle-dice-grid em{font-size:20px;font-style:normal}.puzzle-die{display:grid;grid-template-columns:repeat(3,1fr);width:55px;height:55px;border:2px solid #222;border-radius:8px;padding:5px;gap:3px}.puzzle-die i{border-radius:50%}.puzzle-die i.on{background:#111}.puzzle-answer{min-width:70px;border-bottom:1px solid #555;padding:5px}.puzzle-dice-grid p{margin:0;font-size:12px}
@media(max-width:1200px){.subject-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:950px){.subject-card-grid{grid-template-columns:1fr 1fr}.landing-hero{grid-template-columns:1fr}.landing-hero aside{max-width:600px}.puzzle-word-layout{grid-template-columns:1fr}.puzzle-word-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.studio-landing{padding:34px 15px 50px}.landing-hero h1{font-size:36px}.landing-subjects-head{display:block}.subject-card-grid{grid-template-columns:1fr}.subject-card{min-height:245px}.puzzle-dice-grid{grid-template-columns:1fr}.puzzle-sequence span{width:52px;height:52px;font-size:26px}.puzzle-word-grid span{font-size:11px}}
@media print{.studio-landing{display:none!important}.puzzle-sudoku span{font-size:24px}.puzzle-word-grid span{font-size:16px}.puzzle-dice-grid section{min-height:88px}.puzzle-die{width:50px;height:50px}.puzzle-hidden span{height:60px}}
/* Fit all subject tabs without horizontal scroll: a single row when there is room,
   wrapping to a second row on narrower screens instead of scrolling. */
.studio-nav{display:flex;flex-wrap:wrap;overflow:visible;gap:clamp(2px,.3vw,7px);padding-left:clamp(10px,1.6vw,26px);padding-right:clamp(10px,1.6vw,26px);row-gap:0}
.studio-nav button{flex:0 0 auto;padding-left:clamp(7px,.8vw,14px);padding-right:clamp(7px,.8vw,14px);gap:8px;white-space:nowrap}
.studio-nav button>span{font-size:20px}
/* Below this width the row gets tight, so drop the grade badges to help it fit before it wraps. */
@media(max-width:1180px) and (min-width:741px){.studio-nav button{font-size:13.5px;gap:6px}.studio-nav button>span{font-size:18px}.studio-nav small{display:none}}

/* Print-fit corrections for the content-heavy worksheet families. */
@media print{
 .sheet .puzzle-patterns .puzzle-sequence{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:7px;width:100%}
 .sheet .puzzle-patterns .puzzle-sequence span{width:auto;min-width:0;height:58px;font-size:27px}
 .sheet .puzzle-dice-grid{gap:6px}
 .sheet .puzzle-dice-grid section{min-height:60px;padding:5px;gap:4px;grid-template-columns:19px minmax(0,1fr) auto}
 .sheet .puzzle-dice-grid section>div{gap:3px}
 .sheet .puzzle-dice-grid em{font-size:15px}
 .sheet .puzzle-die{width:38px;height:38px;padding:3px;gap:2px;border-width:1.5px}
 .sheet .puzzle-answer{min-width:52px;padding:3px;font-size:11px}
 .sheet .story-early .story-layout{grid-template-columns:160px 1fr;min-height:160px;gap:9px;margin-bottom:7px}
 .sheet .story-early .story-picture{padding:8px}
 .sheet .story-early .story-picture svg{width:140px;height:140px}
 .sheet .story-early .story-passage{padding:9px;font-size:14px;line-height:1.35}
 .sheet .story-early .story-passage h4{font-size:18px;margin-bottom:4px}
 .sheet .story-early .story-questions{grid-template-columns:1fr 1fr;gap:6px}
 .sheet .story-early .story-question{min-height:0;padding:7px;font-size:12px;line-height:1.3}
 .sheet .story-early .story-question strong{margin-bottom:4px;font-size:12.5px}
 .sheet .story-early .story-choices{gap:3px}
 .sheet .story-early .story-choice{padding:3px 5px;font-size:10.5px}
 .sheet .english12-intro{margin-bottom:6px;padding:5px 8px}
 .sheet .english12-grid{gap:6px}
 .sheet .english12-question{min-height:0;padding:6px;gap:4px}
 .sheet .english12-prompt{font-size:11px;line-height:1.25}
 .sheet .english12-choices{gap:3px;margin-top:4px}
 .sheet .english12-choice{padding:3px 5px;font-size:10px}
 .sheet .english12-write{height:22px;margin-top:4px}
 .sheet.solution-sheet .english-questions li{padding:3px 2px}
 .sheet.solution-sheet .english-questions p{margin:3px 0;font-size:12px;line-height:1.3}
 .sheet .english68-intro{padding:5px 8px;margin-bottom:5px}
 .sheet .english68-task{margin-top:4px}
 .sheet .english68-grid{gap:5px}
 .sheet .english68-question{min-height:0;padding:5px;gap:4px;grid-template-columns:18px minmax(0,1fr)}
 .sheet .english68-prompt{font-size:10px;line-height:1.2}
 .sheet .english68-choices{gap:2px;margin-top:4px}
 .sheet .english68-choice{padding:2px 3px;font-size:8.5px;line-height:1.15}
 .sheet .english68-line{height:22px;margin-top:4px}
 .sheet .english68-answer{font-size:10.5px;line-height:1.2;margin-top:4px}
}

.sheet-learn{margin:0 0 5px;font-size:11.5px;line-height:1.3;color:#2a4a44}.sheet-learn .learn-head{font-weight:700;text-transform:uppercase;font-size:9.5px;letter-spacing:.03em;margin-right:7px}.sheet-learn .learn-item{margin-right:10px}.sheet-learn .learn-item b{color:#1d3b36}@media print{.sheet-learn{margin:0 0 4px;font-size:11px}}

/* learn-box fit: let english and puzzle content give up a little height for the Learn-it box, the same way the science grid already flex-shrinks, so the box fits on the shorter Letter page. */
.english-engine{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
.english-questions{flex:1 1 auto;min-height:0}
@media print{.english-questions li{padding:1px 2px}.english-questions p{margin:1px 0;line-height:1.25}}
.puzzle-work>.puzzle-word-grid,.puzzle-work>.puzzle-sudoku,.puzzle-work>.puzzle-hidden,.puzzle-work>.puzzle-task-grid{max-height:100%;max-width:100%}
/* The word-search grid is aspect-ratio:1 and fills its column, so on the shorter US Letter page the
   square becomes too tall and overflows. Cap its width (= its height) so grid + word list fit. */
.puzzle-word-grid{max-width:160mm;margin-inline:auto}
.sheet.letter .puzzle-word-grid{max-width:140mm}
@media print{.puzzle-word-grid{max-width:160mm}.sheet.letter .puzzle-word-grid{max-width:140mm}}
@media print{.puzzle-work{align-items:flex-start}}
/* Smooth app-like navigation when leaving/arriving at the creator (Chrome/Edge). */
@view-transition{navigation:auto}
::view-transition-old(root){animation-duration:.18s}
::view-transition-new(root){animation-duration:.22s}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}

/* Main-site cross-link: colourful Flash Cards banner in the Studio header */
.fc-banner{display:inline-flex;align-items:center;gap:11px;text-decoration:none;padding:10px 20px;border-radius:14px;background:linear-gradient(95deg,#ffe0ed 0%,#fff0cf 45%,#dcf5e4 72%,#dde9ff 100%);border:2px solid #ffb9d1;font-size:15.5px;line-height:1.1;color:#2a2f45;font-weight:800;box-shadow:0 5px 16px rgba(255,93,143,.2);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}
.fc-banner:hover,.fc-banner:focus-visible{transform:translateY(-2px);box-shadow:0 10px 26px rgba(255,93,143,.3);border-color:#ff7eac}
.fc-art{width:44px;height:30px;flex:none;display:block}
.fc-art svg{width:100%;height:100%;overflow:visible}

/* === Cross-site house banners (studio → FreshWorksheets.com) === */
.pc{width:52px;height:66px;border-radius:6px;border:1px solid #e0d6cb;background:#fff;box-shadow:0 5px 12px rgba(20,40,34,.16);overflow:visible;flex:none}
.fw-lead{display:flex;align-items:center;gap:14px;flex:1;min-width:0;margin:0 22px;padding:8px 16px;text-decoration:none;color:#1c2b3a;border-radius:14px;background:linear-gradient(100deg,#fff0f5 0%,#fff7e8 42%,#eafaf0 74%,#eef4ff 100%);border:2px solid #ffc6dd;box-shadow:0 6px 20px rgba(226,62,109,.1);transition:transform .14s,box-shadow .14s,border-color .14s}
.fw-lead-art .pc{width:44px;height:56px}
@media(max-width:900px){.fw-lead{display:none}}
.fw-lead:hover,.fw-lead:focus-visible{transform:translateY(-2px);border-color:#ff8fb6;box-shadow:0 12px 30px rgba(226,62,109,.18)}
.fw-lead-art{flex:0 0 auto;display:flex;align-items:center}
.fw-lead-art .pc:nth-child(2){margin-left:-20px;transform:rotate(6deg);z-index:2;position:relative}
.fw-lead-art .pc:nth-child(3){margin-left:-20px;transform:rotate(-5deg)}
.fw-lead-copy{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px;line-height:1.2}
.fw-lead-copy small{font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#e23e6d}
.fw-lead-copy strong{font-size:clamp(15px,1.8vw,20px)}
.fw-lead-sub{font-size:12.5px;color:#5b6472}
.fw-lead-btn{flex:0 0 auto;padding:11px 18px;color:#fff;font-size:14px;font-weight:900;white-space:nowrap;border-radius:11px;background:#e23e6d;box-shadow:0 4px 12px rgba(226,62,109,.3)}
.study-col{display:flex;flex-direction:column;gap:14px;min-width:0}
.study-col .study-panel{position:static;top:auto}
.fw-sky{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:16px 14px;text-decoration:none;color:#1c2b3a;border-radius:14px;background:linear-gradient(160deg,#fff0f5,#fff7e8 55%,#eafaf0);border:2px solid #ffc6dd;box-shadow:0 6px 18px rgba(226,62,109,.12);transition:transform .14s,box-shadow .14s,border-color .14s}
.fw-sky:hover,.fw-sky:focus-visible{transform:translateY(-2px);border-color:#ff8fb6;box-shadow:0 12px 28px rgba(226,62,109,.2)}
.fw-sky-ey{font-size:9.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#e23e6d}
.fw-sky-ttl{font-size:17px;line-height:1.14;font-weight:800}
.fw-sky-art{display:flex;justify-content:center;margin:4px 0}
.fw-sky-art .pc{width:42px;height:53px}
.fw-sky-art .pc:nth-child(2){margin-left:-16px;transform:rotate(6deg);z-index:2;position:relative}
.fw-sky-art .pc:nth-child(3){margin-left:-16px;transform:rotate(-5deg)}
.fw-sky-stat{font-size:30px;font-weight:900;color:#e23e6d;line-height:1}
.fw-sky-statl{font-size:10.5px;color:#5b6472;margin-top:-3px}
.fw-sky-btn{margin-top:6px;width:100%;padding:10px 12px;color:#fff;font-size:13px;font-weight:900;border-radius:9px;background:#e23e6d;box-shadow:0 4px 12px rgba(226,62,109,.3)}
.fw-mini{display:flex;align-items:center;gap:8px;padding:10px 13px;text-decoration:none;color:#1c2b3a;font-weight:700;font-size:12.5px;border-radius:11px;background:linear-gradient(95deg,#eef4ff,#eafaf0);border:1.5px solid #cfe0d6;transition:transform .12s,border-color .12s}
.fw-mini:hover,.fw-mini:focus-visible{transform:translateY(-1px);border-color:#9ac9ad}
.fw-mini-ico{font-size:18px;flex:none}
.fw-mini-tx{flex:1;min-width:0;line-height:1.2}
.fw-mini b{color:#137749;font-weight:900}
@media(max-width:760px){.fw-lead{gap:12px;padding:12px;margin:10px 12px 0}.fw-lead-art{display:none}.fw-lead-sub{display:none}}
@media print{.fw-lead,.fw-sky,.fw-mini{display:none!important}}
.fc-label{white-space:nowrap}
.fc-label strong{color:#e23e6d;font-weight:800}
.fc-go{color:#3a86ff;font-weight:800;font-size:15px}
@media(max-width:860px){.fc-banner .fc-label{display:none}}
@media(max-width:560px){.fc-banner{display:none}}

/* The creator's subject menu now lives in the top bar as the main-site-style chrome nav
   (site-chrome: brand + nav + More + Printables + search + CTA). The app's own .studio-nav
   strip is kept in the DOM (site-chrome.js proxies header clicks to its hidden buttons) but
   hidden on desktop. Below 1180px the chrome nav collapses, so the strip returns as the
   mobile subject switcher (scrollable, its own handlers). */
.studio-nav{display:none!important}
@media(max-width:1180px){.studio-nav{display:flex!important}}
/* Picture-library shortcut bar hidden from the chrome (owner request). The element carries
   an inline display:flex, so the override needs !important. */
.studio-librarybar{display:none!important}

/* Cross-site promo cards in the subject grid (link to the main-site printables). */
a.subject-card{text-decoration:none}
.subject-card-xsite{background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--card) 6%,#fff))}
.xsite-badge{position:absolute;right:16px;top:17px;font-size:10px;font-weight:800;letter-spacing:.3px;color:var(--card);background:color-mix(in srgb,var(--card) 13%,#fff);border-radius:99px;padding:5px 9px}
