:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#183237;background:#f8f8f2;font-synthesis:none;--ink:#183237;--muted:#526a6d;--deep:#102f37;--teal:#24766e;--mint:#dff0e5;--yellow:#f0c56f;--line:#d7e0da;--paper:#fffefa;--shadow:0 20px 65px rgba(22,54,54,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em}h1{font-size:clamp(43px,6vw,78px);line-height:1.04}h2{font-size:clamp(27px,3.2vw,42px);line-height:1.13}h3{font-size:21px}p{line-height:1.65}.shell{width:min(calc(100% - 48px),1200px);margin-inline:auto}.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;color:#102f37;padding:12px;z-index:20}.skip-link:focus{left:8px}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--teal)}.site-header{background:var(--deep);color:#eff9f2}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:82px}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-size:17px;letter-spacing:-.035em;white-space:nowrap}.brand strong{font-weight:850}.brand-mark{display:inline-grid;place-items:center;position:relative;width:39px;height:39px;border-radius:8px;background:var(--yellow);color:var(--deep);font-size:22px;font-weight:900;letter-spacing:-.1em}.brand-mark span{position:absolute;right:3px;bottom:0;font-size:13px;color:var(--teal)}.site-header nav{display:flex;align-items:center;gap:27px}.site-header nav a{font-size:12px;font-weight:800;text-decoration:none;color:#d7e7e1}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--yellow);text-decoration:underline}.hero{background:var(--deep);color:#fff;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:45px;min-height:560px;padding-block:58px 75px}.hero .eyebrow,.inner-hero .eyebrow{color:var(--yellow)}.hero h1{max-width:680px;margin:20px 0 25px}.hero p{max-width:580px;font-size:17px;color:#d5e5e1}.hero-actions{display:flex;gap:24px;align-items:center;margin-top:33px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;border:0;border-radius:4px;min-height:48px;padding:12px 20px;font-size:13px;font-weight:850;text-decoration:none}.button-primary{background:var(--yellow);color:var(--deep)}.button-primary:hover{background:#f8d78b}.button:disabled{opacity:.5;cursor:not-allowed}.text-link{font-size:13px;font-weight:800;color:#e1eee5;text-decoration:none;border-bottom:1px solid #9abbb4;padding-bottom:4px}.hero-paper{position:relative;max-width:415px;margin:20px auto 0;padding:27px 31px 28px;transform:rotate(3deg);background:#fffefa;color:var(--ink);border-radius:5px;box-shadow:24px 30px 0 #244851,0 36px 70px rgba(0,0,0,.15)}.hero-paper:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(transparent 0,transparent 35px,rgba(35,104,111,.08) 36px,transparent 37px);pointer-events:none}.paper-head{display:flex;justify-content:space-between;color:#687b79;font-size:10px;text-transform:uppercase;letter-spacing:.15em;font-weight:800}.paper-title{font-size:25px;font-weight:850;line-height:1.15;margin:25px 0}.paper-row{display:flex;align-items:center;gap:18px;padding:16px 0;border-top:1px solid #dce8df;font-size:17px}.paper-row span:first-child{width:22px;color:var(--teal);font-weight:900}.paper-check{display:inline-block;margin-top:18px;background:#e0f1e6;color:#226d5d;font-size:11px;font-weight:900;padding:8px 10px}.value-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:-25px;position:relative;z-index:1;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:23px 30px}.value-strip div{display:flex;flex-direction:column;gap:5px;border-right:1px solid var(--line);padding-left:16px}.value-strip div:last-child{border:0}.value-strip strong{font-size:13px}.value-strip span{font-size:12px;color:var(--muted)}.home-content{padding-bottom:100px}.section{margin-top:78px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:25px}.section-heading h2{margin:9px 0 0}.section-heading p{max-width:430px;margin:0;color:var(--muted);font-size:13px}.section-heading a{font-size:12px;font-weight:850;color:var(--teal);text-decoration:none}.subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.subject-card{display:flex;flex-direction:column;gap:17px;min-height:245px;padding:23px;background:#e7efe9;text-decoration:none;border:1px solid transparent;transition:transform .2s,border-color .2s}.subject-card:nth-child(2){background:#f5e9da}.subject-card:nth-child(3){background:#e4edf2}.subject-card:nth-child(4){background:#eee9ef}.subject-card:nth-child(5){background:#f4edcf}.subject-card:hover,.tool-card:hover{transform:translateY(-3px);border-color:#7daba1}.subject-number{font-size:11px;font-weight:900;letter-spacing:.15em;color:var(--teal)}.subject-card strong{font-size:22px;letter-spacing:-.04em}.subject-card>span:nth-child(3){font-size:12px;color:#486165;line-height:1.5}.subject-card>span:last-child{margin-top:auto;font-size:11px;font-weight:900;color:var(--teal)}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.tool-card{display:flex;flex-direction:column;gap:12px;min-height:210px;padding:23px;background:var(--paper);border:1px solid var(--line);text-decoration:none;transition:transform .2s,border-color .2s}.card-category{color:var(--teal);font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:900}.tool-card strong{font-size:19px;letter-spacing:-.035em;line-height:1.2}.tool-card>span:nth-child(3){font-size:12px;color:var(--muted);line-height:1.55}.card-action{margin-top:auto;padding-top:7px;font-size:11px;font-weight:900;color:var(--teal)}.search-field{display:grid;gap:8px;width:min(330px,100%);font-size:12px;font-weight:850}.search-field input{height:45px;border:1px solid #bacbc4;border-radius:4px;background:#fff;padding:0 13px}.search-count{margin:0 0 15px;min-height:18px;color:var(--muted);font-size:12px}.inner-hero{background:var(--deep);color:white;padding:35px 0 61px}.inner-hero h1{max-width:830px;margin:18px 0}.inner-hero p{max-width:760px;color:#d7e7e2;font-size:16px}.back-link{display:inline-block;margin:0 0 37px;color:#c6ddd8;text-decoration:none;font-size:12px}.back-link:hover{text-decoration:underline}.hero-count,.hero-meta span{display:inline-block;border:1px solid rgba(255,255,255,.27);padding:8px 11px;color:#e3f0e7;font-size:11px;font-weight:800}.hero-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.category-body{padding-block:60px 105px}.tool-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:40px;padding-block:42px 110px}.main-column{min-width:0}.generator-panel,.worksheet-panel{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:30px}.panel-heading h2{margin:8px 0 8px}.panel-heading p{font-size:13px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:28px}.form-grid label{display:grid;gap:8px;font-size:12px;font-weight:850}.form-grid select,.form-grid input,.form-grid textarea{min-width:0;width:100%;border:1px solid #b9cbc4;border-radius:3px;background:white;color:var(--ink);padding:10px 11px}.form-grid select,.form-grid input{height:46px}.form-grid textarea{min-height:145px;line-height:1.5;resize:vertical}.wide-field{grid-column:1/-1}.field-hint{grid-column:1/-1;font-size:12px;color:var(--muted);margin:-8px 0 0}.form-actions{display:flex;align-items:center;gap:18px;margin-top:25px}.form-actions span{font-size:12px;color:var(--muted)}.worksheet-panel{margin-top:22px}.worksheet-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px}.worksheet-toolbar h2{margin:7px 0 0}.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.toolbar-actions button,.text-button{border:1px solid var(--line);border-radius:3px;background:#fff;padding:9px 11px;color:var(--teal);font-size:11px;font-weight:850}.toolbar-actions button:disabled{opacity:.45;cursor:not-allowed}.toolbar-actions button:not(:disabled):hover,.text-button:hover{border-color:var(--teal)}#status{min-height:21px;margin:21px 0;color:var(--muted);font-size:13px}#status.error{color:#a44537;font-weight:800}.worksheet,.answer-key{border:1px solid var(--line);background:#fffefa;padding:28px;margin-top:18px}.worksheet[hidden],.answer-key[hidden],.text-button[hidden]{display:none}.sheet-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;border-bottom:2px solid var(--deep);padding-bottom:14px;margin-bottom:22px}.sheet-heading h3{font-size:22px;margin:0 0 5px}.sheet-heading p{font-size:11px;color:var(--muted);margin:0}.sheet-id{font-size:10px;color:var(--muted);text-align:right}.question-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 30px;list-style:none;margin:0;padding:0;counter-reset:questions}.question-list li{display:flex;gap:12px;min-width:0;min-height:55px;align-items:start;break-inside:avoid}.question-number{flex:none;display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--teal);border-radius:50%;font-size:10px;font-weight:900;color:var(--teal)}.question-prompt{font-size:15px;line-height:1.5;overflow-wrap:anywhere}.answer-space{display:block;border-bottom:1px solid #8ca6a1;min-height:27px;min-width:120px;margin-top:7px}.key-list{display:grid;gap:18px;list-style:none;margin:0;padding:0}.key-list li{border-bottom:1px solid var(--line);padding-bottom:15px;break-inside:avoid}.key-list strong{font-size:14px}.key-list p{font-size:12px;color:var(--muted);margin:8px 0}.key-list ol{margin:8px 0 0 19px;padding:0;color:#52686a;font-size:12px;line-height:1.5}.text-button{margin-top:20px}.sample-card{background:#e6f1e9;border-left:3px solid var(--teal);padding:25px}.sample-card span{display:block;color:var(--teal);font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;margin-bottom:12px}.sample-card strong{font-size:17px}.sample-card p{margin:12px 0 0;font-size:13px;color:var(--muted)}.guide{border-top:1px solid var(--line);padding-top:36px}.guide h2{margin:12px 0 20px}.guide h3{margin:27px 0 7px}.guide p,.guide li{font-size:14px;color:#486165;line-height:1.75}.guide ul{padding-left:22px}.guide a,.prose a{color:var(--teal)}.related .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.side-note{position:sticky;top:25px;background:#e3efe8;border:1px solid #c9ddd0;padding:27px}.side-note h2{font-size:26px;margin:14px 0}.side-note p,.side-note li{font-size:12px;color:#486165;line-height:1.65}.side-note ol{padding-left:18px;margin:18px 0 0}.side-note li{margin-bottom:7px}.prose{max-width:820px;padding-block:65px 110px;font-size:16px;color:#445f62}.prose h2{margin:37px 0 12px}.prose a:hover{text-decoration:none}.site-footer{background:var(--deep);color:#d7e8e0;padding-top:60px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;padding-bottom:55px}.footer-grid p{font-size:12px;color:#b5cbc4;max-width:320px;margin:18px 0}.footer-grid h2{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--yellow);margin:8px 0 16px}.footer-grid a:not(.brand){display:block;text-decoration:none;font-size:12px;margin:11px 0}.footer-grid a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);padding:20px 0;color:#a6bfb7;font-size:11px}.puzzle-grid{display:grid;grid-template-columns:repeat(var(--grid-size),minmax(0,1fr));gap:1px;max-width:650px;margin:20px 0;background:#bccdc5;border:1px solid #9eb9ae}.puzzle-grid span{display:grid;place-items:center;aspect-ratio:1;background:#fff;font-weight:800;font-size:clamp(9px,1.4vw,18px)}.puzzle-grid span.blank{background:#102f37}.word-list{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;font-weight:800;letter-spacing:.07em}.crossword-clues{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px;margin-top:16px;font-size:12px}.writing-line{min-height:55px;border-bottom:1px solid #8bada0;position:relative;padding-top:10px}.writing-line:before{content:"";position:absolute;left:0;right:0;bottom:17px;border-bottom:1px dashed #bed1c4}.writing-model{color:#8aaca0;font-size:20px;letter-spacing:.03em}.spelling-line{border-bottom:1px solid #a0b6ac;min-height:35px;margin:12px 0;font-size:16px}
.sample-card ol{margin:12px 0 0;padding-left:20px;color:var(--muted);font-size:12px;line-height:1.55}.puzzle-grid span{position:relative}.puzzle-grid span.found{background:#f5e29a}.puzzle-grid .cell-number{position:absolute;top:1px;left:2px;font-size:8px;line-height:1}.sheet-instruction{font-size:12px;color:var(--muted);margin-bottom:12px}.crossword-clues ol{padding-left:0;list-style:none;line-height:1.55}.crossword-clues li{margin-top:7px}.spelling-list{padding-left:25px}.writing-reference{font-size:21px;font-weight:700;overflow-wrap:anywhere}.writing-model{overflow-wrap:anywhere}.tool-card[hidden]{display:none}.question-list.long-questions{grid-template-columns:1fr}.answer-space-long{min-height:125px}.reading-section{border-bottom:1px solid var(--line);padding:0 0 22px;margin:0 0 22px;break-inside:avoid-page}.reading-section h4{font-size:18px;margin:0 0 8px}.reading-passage{font-size:14px;line-height:1.6;margin-bottom:18px;white-space:pre-line}.question-diagram{width:min(100%,350px);margin:8px auto;break-inside:avoid-page}.question-diagram svg{max-width:100%;height:auto}.inner-hero .eyebrow{display:block}
@media(max-width:1000px){.subject-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tool-layout{grid-template-columns:minmax(0,1fr) 220px;gap:22px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{gap:30px}}
@media(max-width:760px){.shell{width:min(calc(100% - 32px),1200px)}.header-inner{flex-wrap:wrap;padding:17px 0}.site-header nav{width:100%;overflow-x:auto;gap:19px;padding-bottom:4px}.site-header nav a{white-space:nowrap}.hero-grid{display:block;min-height:0;padding-block:70px 85px}.hero-paper{display:none}.hero h1{font-size:52px}.value-strip{margin-top:-26px}.tool-layout{display:block}.side-column{display:none}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{display:block}.section-heading p,.search-field{margin-top:15px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.worksheet-toolbar{display:block}.toolbar-actions{justify-content:flex-start;margin-top:17px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.question-list{gap:16px}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.hero h1{font-size:44px}.hero p{font-size:15px}.value-strip{grid-template-columns:1fr;gap:11px;padding:17px 19px}.value-strip div{border:0;border-bottom:1px solid var(--line);padding:0 0 11px}.value-strip div:last-child{padding:0}.section{margin-top:62px}.subject-grid,.tool-grid,.related .tool-grid{grid-template-columns:1fr}.subject-card{min-height:190px}.tool-card{min-height:175px}.inner-hero h1{font-size:43px}.generator-panel,.worksheet-panel{padding:21px 17px}.form-grid,.question-list,.crossword-clues{grid-template-columns:1fr}.form-actions{display:block}.form-actions span{display:block;margin-top:10px}.worksheet,.answer-key{padding:17px}.footer-grid{grid-template-columns:1fr;gap:24px}.footer-grid>div:first-child{border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:20px}.puzzle-grid span{font-size:clamp(8px,3vw,15px)}}
@media print{@page{size:letter;margin:14mm}body{background:white;color:black}.site-header,.site-footer,.inner-hero,.generator-panel,.worksheet-toolbar,.side-column,.sample-section,.guide,.related,.text-button,#status{display:none!important}.shell{width:100%;margin:0}.tool-layout{display:block;padding:0}.worksheet-panel{margin:0;padding:0;border:0;box-shadow:none}.worksheet,.answer-key{margin:0;padding:0;border:0;box-shadow:none}.worksheet[hidden],.answer-key[hidden]{display:none!important}body.print-student .worksheet{display:block!important}body.print-student .answer-key{display:none!important}body.print-key .worksheet{display:none!important}body.print-key .answer-key{display:block!important}.sheet-heading h3{font-size:18px}.question-list{grid-template-columns:repeat(2,minmax(0,1fr))}.question-list li{min-height:78px}.puzzle-grid{max-width:170mm}.puzzle-grid span{font-size:13px}.answer-space{min-height:29px}}
