@layer base,components;
@layer base{*{box-sizing:border-box}body{margin:0;background:#fffdf6;color:#243a3b;font-family:'Trebuchet MS',Arial,sans-serif;font-size:17px;line-height:1.6}a{color:inherit}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b453e6;outline-offset:4px}h1,h2,h3{line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(2.5rem,5.4vw,4.5rem)}h2{font-size:2rem}h3{font-size:1.2rem}p{max-width:65ch}img{max-width:100%}label{display:block;font-weight:bold}input,select{padding:12px;border:1px solid #9baaaa;border-radius:10px;background:white;max-width:100%}footer{border-top:1px solid #dedfd5;padding:35px 0;margin-top:70px}small{font-size:.8rem}}
@layer components{.wrap{max-width:1180px;margin:auto;padding:0 28px}.skip{position:absolute;left:20px;top:-90px}.skip:focus{top:10px;background:white;z-index:5}header{background:#fffdf6;border-bottom:1px solid #eee9da}.nav{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:92px}.brand{font-weight:bold;text-decoration:none;line-height:1.1;display:flex;align-items:center;gap:12px;font-size:1.1rem;max-width:240px}.brand-mark{background:#785ae6;color:white;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:28px;flex-shrink:0;transform:rotate(-7deg)}nav{display:flex;gap:24px;align-items:center}nav a{text-decoration:none;font-size:.9rem;font-weight:bold}.btn{display:inline-flex;justify-content:center;align-items:center;padding:12px 20px;border-radius:12px;background:#785ae6;color:white;text-decoration:none;border:0;cursor:pointer;font-weight:bold;gap:8px}.btn:hover{background:#6040ca}.btn.secondary{background:white;color:#243a3b;border:1px solid #cad2cb}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:bold;color:#536f60}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding:64px 0 46px}.hero h1{margin:18px 0 22px}.hero h1 em{font-style:normal;color:#785ae6}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.art{position:relative;background:#e9e1ff;border-radius:45% 48% 38% 42%;height:420px;display:grid;place-items:center}.art .sheet{width:235px;height:325px;transform:rotate(-10deg);background:white;box-shadow:0 18px 30px #47346126;border:8px solid white;border-radius:8px}.art .sheet img{width:100%;height:100%}.sticker{position:absolute;border-radius:24px;padding:10px 17px;background:#ffcf58;right:0;bottom:42px;transform:rotate(8deg);font-weight:bold}.sun{position:absolute;left:5px;top:10px;font-size:75px;color:#f6ab3e}.proof{display:flex;gap:28px;flex-wrap:wrap;font-size:.85rem;padding:24px 0;border-top:1px solid #e4dfd1;border-bottom:1px solid #e4dfd1}.section{padding-top:48px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-head h2{margin:0}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}.category{padding:25px;border-radius:20px;text-decoration:none;background:#fbe5d3}.category:nth-child(2){background:#dff1e4}.category:nth-child(3){background:#e9e1ff}.category:nth-child(4){background:#fff0ba}.category b{display:block;font-size:1.1rem}.category span{font-size:2rem}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:24px}.card{border:1px solid #e4e5da;border-radius:20px;background:white;overflow:hidden;transition:transform .2s}.card:hover{transform:translateY(-4px)}.card>a{display:block;text-decoration:none}.card-preview{height:245px;background:#e5f0ea;padding:22px 35px;display:flex;justify-content:center}.card:nth-child(3n+2) .card-preview{background:#fff0c5}.card:nth-child(3n+3) .card-preview{background:#eae4fa}.card-preview img{height:100%;width:auto;box-shadow:0 5px 12px #29423c14}.card-body{padding:19px}.card h3{margin:9px 0 12px}.tag{font-size:.7rem;font-weight:bold;letter-spacing:.07em;text-transform:uppercase;color:#526d60}.card small{color:#66736a}.banner{background:#dff1e4;border-radius:24px;display:flex;justify-content:space-between;align-items:center;gap:28px;padding:35px;margin-top:55px}.banner h2{margin:0 0 12px}.banner p{margin:0}.footer-links{display:flex;gap:25px;flex-wrap:wrap;font-size:.85rem}.intro{padding-top:45px}.intro h1{font-size:3rem;margin:15px 0}.filters{display:flex;gap:16px;align-items:end;flex-wrap:wrap;background:#f0eee4;padding:20px;border-radius:18px;margin-top:25px}.filters label{font-size:.8rem}.filters input{width:270px}.detail{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding-top:36px}.paper-preview{background:#e9e1ff;padding:28px;border-radius:22px;text-align:center}.paper-preview img{width:100%;max-height:650px;object-fit:contain}.detail h1{font-size:2.7rem}.details{border-top:1px solid #dedfd5;margin-top:26px;padding-top:20px}.details p{margin:7px 0}.generator{display:grid;grid-template-columns:340px 1fr;gap:32px;margin-top:32px}.panel{background:white;border:1px solid #e4e5da;border-radius:20px;padding:24px;align-self:start}.panel label{font-size:.85rem;margin:16px 0 5px}.panel input,.panel select{width:100%}.panel .btn{width:100%;margin-top:16px}.generator .paper-preview{background:#e4f0e8}.generator svg{max-height:650px;width:100%;display:block}.notice{background:#fff0c5;border-radius:12px;padding:12px 18px;font-size:.85rem}.prose{max-width:780px;min-height:50vh;padding-top:45px}.empty{padding:30px;text-align:center}.print-sheet{display:none} @media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.hero{gap:20px}.art{height:350px}.category-grid{grid-template-columns:repeat(2,1fr)}.generator{grid-template-columns:280px 1fr}.nav{flex-wrap:wrap;padding-top:20px;padding-bottom:20px}.detail{gap:25px}}@media(max-width:620px){.wrap{padding:0 20px}.hero,.detail,.generator{grid-template-columns:1fr}.hero{padding-top:35px}.hero h1{font-size:2.8rem}.art{height:335px}.grid{gap:12px}.card-preview{height:200px;padding:18px}.card-body{padding:13px}.banner{display:block;padding:25px}.banner .btn{margin-top:20px}nav{gap:16px;width:100%;justify-content:space-between}nav .btn{padding:9px 12px}.category{padding:19px}.detail h1,.intro h1{font-size:2.3rem}.section-head{align-items:start}.filters>div,.filters input,.filters select{width:100%}}@media print{body>*{display:none!important}body>.print-sheet{display:block!important}.print-sheet svg{width:100%;height:100%;max-height:98vh} @page{margin:0}}
}
[hidden]{display:none!important}
.resource-preview{background:#eef1ed;border:1px solid #d7ded7;border-radius:12px;padding:24px}.preview-heading{display:flex;justify-content:space-between;font-size:.8rem;color:#58665e;margin-bottom:16px;font-weight:600}.preview-sheets{display:grid;grid-template-columns:1fr 1fr;gap:20px}.preview-sheets a{text-decoration:none;font-size:.8rem;color:#58665e}.preview-sheets img{display:block;width:100%;background:white;box-shadow:0 3px 10px #26372d12;border:1px solid #d9ded6;margin-bottom:8px}.resource-preview p{font-size:.8rem;margin:20px 0 0;color:#58665e}.workflow{margin-top:48px;padding:32px;background:#f0f2ef;border:1px solid #dce2da;border-radius:12px}.workflow h2{margin:8px 0 24px}.workflow-options{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.workflow-options a{text-decoration:none}.workflow-options b,.workflow-options span{display:block}.workflow-options span{font-size:.9rem;margin-top:8px;color:#59665e}.category-count{display:block!important;font-size:.78rem!important;margin-top:18px;color:#587062}
body{background:#fafbf8;color:#263b34;font-family:Arial,Helvetica,sans-serif;font-size:16px}header{background:#fff;border-bottom:1px solid #dce2da}.brand-mark{background:#294b3e;border-radius:7px;transform:none;font-size:24px}.brand{font-size:1rem}.nav{min-height:82px}.btn{background:#294b3e;border-radius:7px;padding:12px 19px}.btn:hover{background:#1d392d}.btn.secondary{border-color:#bcc8bd}.eyebrow{color:#536b5d;letter-spacing:.08em;font-size:.75rem}.hero{padding:52px 0 40px;gap:52px}.hero h1{font-size:clamp(2.5rem,4.5vw,3.7rem);line-height:1.12;letter-spacing:-.045em}.hero h1 em{color:#52725b}.hero p{color:#536057;font-size:1.05rem}.proof{gap:25px;font-size:.85rem;border-color:#dce2da;padding:19px 0}.section h2,.workflow h2,.banner h2{font-size:1.6rem;letter-spacing:-.025em}.category,.category:nth-child(2),.category:nth-child(3),.category:nth-child(4){background:#fff;border:1px solid #dce2da;border-top:3px solid #a0b7a3;border-radius:9px;padding:23px}.category b{font-size:1.05rem;margin-bottom:10px}.category small{display:block;color:#59665e}.card{border-color:#dce2da;border-radius:10px}.card:hover{transform:translateY(-2px)}.card-preview,.card:nth-child(3n+2) .card-preview,.card:nth-child(3n+3) .card-preview{background:#edf1eb}.card h3{font-size:1.05rem;letter-spacing:-.015em}.card-body{padding:18px}.tag{font-size:.68rem;color:#56705d}.pack-card-link{color:#365c45}.banner{border-radius:12px;background:#e9efE7;border:1px solid #d5dfd2;padding:30px}.banner p{color:#536057;font-size:.95rem}.intro h1{font-size:clamp(2rem,4vw,2.9rem)}.intro p{color:#536057}.filters{background:#edf1eb;border:1px solid #dce2da;border-radius:9px}.paper-preview,.generator .paper-preview{background:#edf1eb;border-radius:12px;border:1px solid #dce2da}.panel{border-radius:10px;border-color:#dce2da}.panel h2{font-size:1.45rem}.notice{background:#eef2e9;border:1px solid #dce2da;border-radius:8px}.detail h1{font-size:2.3rem}.pack-controls button{background:#f7f9f4;border-color:#c9d4c8}footer{background:#f0f3ed;border-color:#dce2da}input,select{border-radius:7px}.actions{margin:22px 0} @media(max-width:720px){.hero{grid-template-columns:1fr;gap:28px;padding-top:32px}.workflow{padding:24px}.workflow-options{grid-template-columns:1fr;gap:22px}.hero h1{font-size:2.7rem}.resource-preview{padding:20px}.nav{padding-top:16px;padding-bottom:16px}.proof{gap:14px 24px}.section-head{flex-wrap:wrap}.category{padding:18px}.banner{padding:24px}}
.pack-layout{display:grid;grid-template-columns:1fr 350px;gap:30px;margin-top:35px}.pack-library .grid{grid-template-columns:repeat(3,1fr)}.pack-library .card-preview{height:200px;padding:20px}.pack-add{margin:0 15px 18px;font-size:.85rem}.pack-panel{position:sticky;top:20px}.pack-panel ol{padding:0;list-style:none}.pack-panel li{border-bottom:1px solid #e4e5da;padding:14px 0}.pack-controls{display:flex;gap:6px;margin-top:10px}.pack-controls button{border:1px solid #ccd4cb;background:#fffdf6;border-radius:7px;padding:6px;font-size:.75rem;cursor:pointer}.pack-controls button:disabled,.btn:disabled{opacity:.45;cursor:default}.panel .checkbox-label{display:flex;gap:10px;align-items:start;margin-top:20px}.panel .checkbox-label input{width:auto;margin-top:5px}.pack-card-link{display:block;margin:0 19px 18px;font-size:.8rem;color:#6040ca}@media(max-width:1050px){.pack-library .grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.pack-layout{display:flex;flex-direction:column}.pack-panel{position:static;order:-1;width:100%}.pack-library .grid{grid-template-columns:repeat(2,1fr)}}
.preview-sheets img{height:auto;aspect-ratio:595/842}
.btn.secondary{background:#fff;color:#294b3e;border:1px solid #bcc8bd}.btn.secondary:hover{background:#eef3eb}.resource-preview p{font-size:.8rem}
.pack-panel{max-height:calc(100vh - 40px);overflow-y:auto}@media(max-width:720px){.pack-panel{max-height:none;overflow:visible}}
.age-links{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:8px 0 28px}.age-links a{border:1px solid #dce2da;background:white;border-radius:9px;padding:20px;text-decoration:none}.age-links b,.age-links span{display:block}.age-links span{font-size:.85rem;color:#59665e;margin-top:8px}@media(max-width:620px){.age-links{grid-template-columns:1fr}}

.pack-summary{display:block;margin-top:6px;line-height:1.55;color:#536057}.pack-preview{display:inline-block;margin-top:8px;font-size:.85rem;color:#294b3e;text-decoration:underline}

.header-search{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding-bottom:14px}.header-search input{flex:1;min-width:0;max-width:340px;margin:0}.header-search button{flex:none;white-space:nowrap}@media(max-width:720px){.header-search input{max-width:none}}

.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;padding-top:18px;font-size:.85rem;color:#536057}.breadcrumbs a{color:#294b3e}.breadcrumbs [aria-current]{color:#536057}

.worksheet-preview{margin:0;min-width:0;align-self:start}.worksheet-page{width:min(100%,459px);aspect-ratio:595/842;background:#fff;margin:auto}.worksheet-page[data-paper="letter"]{width:min(100%,502px);aspect-ratio:612/792}.worksheet-page img,.generator .worksheet-page svg{display:block;width:100%;height:100%;max-height:none;object-fit:contain}.worksheet-preview figcaption{font-size:.8rem;color:#536057;margin:10px 4px;line-height:1.5}#reset-worksheet{font-size:.85rem}#status{display:block;margin-top:12px}

.worksheet-jumps{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:22px;font-size:.9rem}.worksheet-guide{max-width:850px;min-height:0}.worksheet-guide h3{margin-top:28px}.guide-steps{padding-left:24px;max-width:65ch}.guide-steps li{padding-left:5px;margin:12px 0}.guide-support{background:#edf1eb;border-left:3px solid #809b86;padding:14px 18px}.related-activities{display:flex;gap:12px;flex-wrap:wrap}#preview,#creator{scroll-margin-top:20px}

.starter-section{margin-top:32px;padding:26px;border:1px solid #dce2da;background:#edf1eb;border-radius:12px}.starter-section h2{font-size:1.6rem;margin-top:0}.starter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.starter-card{background:#fff;border:1px solid #dce2da;border-radius:9px;padding:20px;display:flex;flex-direction:column}.starter-card h3{margin:12px 0 0}.starter-card p{font-size:.9rem}.starter-card details{font-size:.85rem;margin-bottom:16px}.starter-card summary{cursor:pointer;font-weight:bold}.starter-card .btn{margin-top:auto;font-size:.85rem}.starter-card ul{padding-left:20px}#starters,#pack-builder{scroll-margin-top:20px}@media(max-width:620px){.starter-section{padding:18px}.starter-grid{grid-template-columns:1fr}}

/* Hybrid palette. Berry action is darkened for white text; bright accents stay decorative.
   Historical token names retained to keep existing components stable. */
@font-face{font-family:'Bricolage Grotesque';src:url('fonts/bricolage-grotesque.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:'Figtree';src:url('fonts/figtree.woff2') format('woff2');font-style:normal;font-weight:300 900;font-display:swap}
:root{--page:#fffbf2;--ink:#17302d;--muted:#3d5552;--teal:#0b4f4a;--teal-dark:#0b4f4a;--teal-bright:#0f9d8a;--coral:#e0457b;--action:#9f2454;--action-hover:#8e204c;--sun:#ffe066;--lavender:#6b4fd8;--mint:#cdefe9;--peach:#fbdce7;--cream:#fff1b8;--lilac:#ede7ff;--line:#e4dfd0;--sand:#efe8d8;--control:#6a7c79;--focus:#493793;--soft-text:#cfede8;--visual-dot:#c9a400;--font-head:'Bricolage Grotesque','Trebuchet MS',Arial,sans-serif;--font-body:'Figtree','Trebuchet MS',Arial,sans-serif}
body{background:var(--page);color:var(--ink);font-family:var(--font-body)}h1,h2,h3{font-family:var(--font-head);font-weight:700}.home-hero h1{font-weight:800}
header{background:#fff;border-color:var(--line)}
header::before{content:"";display:block;height:5px;background:linear-gradient(90deg,var(--teal) 0 25%,var(--coral) 25% 50%,var(--sun) 50% 75%,var(--lavender) 75% 100%)}
.brand-mark{background:linear-gradient(135deg,var(--teal-bright),var(--teal));border-radius:13px;box-shadow:3px 3px 0 var(--cream)}
.btn{background:var(--action);color:#fff;border-radius:10px}.btn:hover{background:var(--action-hover)}
.btn.secondary{background:#fff;color:var(--teal);border-color:var(--teal)}.btn.secondary:hover{background:var(--mint)}
.hero h1 em{color:var(--teal);background:linear-gradient(transparent 78%,var(--cream) 78%)}
.hero p,.intro p,.preview-heading,.resource-preview p,.preview-sheets a,.category small,.category-count,.card small,.workflow-options span,.age-links span,.pack-summary,.breadcrumbs,.breadcrumbs [aria-current],.worksheet-preview figcaption,.banner p{color:var(--muted)}
.eyebrow,.tag,.breadcrumbs a,.pack-preview,.pack-card-link,.worksheet-jumps a,.prose a:not(.btn){color:var(--teal)}
.resource-preview{background:var(--mint);border-color:var(--line);border-radius:20px;box-shadow:6px 6px 0 var(--peach)}
.preview-sheets img{border-radius:4px;border-color:var(--line);box-shadow:0 5px 16px #24344916}
.proof{border-color:var(--line)}.proof b{color:var(--teal)}
.category{border-color:var(--line);border-radius:14px;border-top-width:5px}
.category:nth-child(4n+1){background:var(--mint);border-top-color:var(--teal)}
.category:nth-child(4n+2){background:var(--peach);border-top-color:var(--coral)}
.category:nth-child(4n+3){background:var(--cream);border-top-color:var(--sun)}
.category:nth-child(4n+4){background:var(--lilac);border-top-color:var(--lavender)}
.card{border-color:var(--line);border-radius:14px}.card-preview{background:var(--mint)}
.card:nth-child(4n+1) .card-preview{background:var(--mint)}
.card:nth-child(4n+2) .card-preview{background:var(--peach)}
.card:nth-child(4n+3) .card-preview{background:var(--cream)}
.card:nth-child(4n+4) .card-preview{background:var(--lilac)}
.age-links a{border-color:var(--line);border-radius:14px;border-left:5px solid var(--teal);background:var(--mint)}
.age-links a:nth-child(2){border-left-color:var(--coral);background:var(--peach)}
.banner{background:var(--cream);border-color:#ead89b;border-radius:18px}
.workflow{background:var(--lilac);border-color:var(--line);border-radius:18px}
.filters,.notice{background:var(--mint);border-color:var(--line);border-radius:12px}
.paper-preview,.generator .paper-preview{background:var(--mint);border-color:var(--line);border-radius:16px}
.panel{border-color:var(--line);border-radius:14px}.panel h2{color:var(--ink)}
input,select,.pack-controls button{border-color:var(--control);color:var(--ink);background:#fff}input::placeholder{color:var(--muted);opacity:1}input[type="checkbox"]{accent-color:var(--teal)}
.pack-controls button:hover:not(:disabled){background:var(--mint)}
.guide-support{background:var(--mint);border-left-color:var(--teal)}
.starter-section{background:var(--cream);border-color:#ead89b;border-radius:18px}
.starter-card{border-color:var(--line);border-radius:14px;border-top:5px solid var(--teal)}
.starter-card:nth-child(4n+2){border-top-color:var(--coral)}.starter-card:nth-child(4n+3){border-top-color:var(--sun)}.starter-card:nth-child(4n+4){border-top-color:var(--lavender)}
footer{background:var(--teal-dark);color:#fff;border-top:5px solid var(--coral)}footer .brand,footer a{color:#fff}footer p,footer small{color:var(--soft-text)}footer a:hover{color:var(--sun)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline-color:var(--focus)}footer a:focus-visible{outline-color:var(--sun)}
::selection{background:var(--cream);color:var(--ink)}
@media print{body{background:#fff;color:#202c35}}
/* Restrained homepage refresh: keep the existing grid and responsive breakpoints. */
.hero h1{letter-spacing:-.025em;line-height:1.12}.category{border-top-style:solid;padding:20px}.category b{color:var(--ink)}.category small{display:block;margin-top:8px}.category .category-count{display:block;margin-top:12px}
@media(max-width:720px){.category{padding:18px}}


/* Homepage direction: Hybrid compact/full-width, using the accessible Hybrid palette. */
body.home-page header::before{display:none}body.home-page .nav{min-height:76px}body.home-page .header-search{display:none}body.home-page #main{max-width:none;padding:0}
.home-layout{--home-number:#fbdce7;--home-pencil:#cdefe9;--home-visual:#fff1b8;--home-puzzles:#ede7ff}
.home-hero{background:var(--teal-dark);color:#fff;overflow:hidden}.home-hero-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding-top:34px;padding-bottom:34px}.home-hero-copy{min-width:0}.home-badge{display:inline-block;background:var(--sun);color:var(--ink);border-radius:24px;padding:6px 12px;font-size:.75rem;font-weight:bold}.home-hero h1{font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.1;letter-spacing:-.025em;margin:18px 0 14px}.home-hero h1 em{font-style:normal;color:var(--sun)}.home-hero p{color:var(--soft-text);max-width:570px;font-size:.98rem;line-height:1.55;margin:0 0 20px}.home-search-label{font-size:.8rem;display:block;margin-bottom:6px;color:var(--soft-text)}.home-search>div{display:flex;flex-wrap:wrap;gap:10px}.home-search input{flex:1 1 200px;min-width:0;width:auto;margin:0;border-radius:24px;padding:12px 18px}.home-primary.btn{background:var(--action);color:#fff;border-radius:24px;box-shadow:0 3px 0 var(--action-hover)}.home-primary.btn:hover{background:var(--action-hover)}.home-proof{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:16px;color:var(--soft-text);font-size:.72rem}
.home-sheets{position:relative;min-width:0;height:310px;display:flex;align-items:center;justify-content:center}.home-sheet{position:absolute;width:40%;max-width:205px;background:#fff;padding:7px;border-radius:8px;box-shadow:0 10px 24px #0003}.home-sheet img{display:block;width:100%;height:auto}.home-sheet-front{z-index:2;transform:translateY(-8px)}.home-sheet-left{left:3%;transform:rotate(-9deg) translateY(16px)}.home-sheet-right{right:3%;transform:rotate(9deg) translateY(16px)}.home-sheet:focus-visible{outline:4px solid var(--sun);outline-offset:5px}
.home-content{padding-top:28px;padding-bottom:28px}.home-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.home-layout h2{font-size:1.6rem;line-height:1.2;margin:0;color:var(--teal-dark)}.home-age-filters{display:flex;flex-wrap:wrap;gap:8px}.home-age-filters button{font:inherit;font-size:.75rem;font-weight:bold;padding:9px 13px;min-height:40px;border:1px solid var(--control);border-radius:24px;background:#fff;color:var(--ink);cursor:pointer}.home-age-filters button[aria-pressed=true]{background:var(--teal-dark);color:#fff;border-color:var(--teal-dark)}.home-age-status{font-size:.78rem;color:var(--muted);margin:10px 0 16px}.home-category-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}.home-category{background:#fff;border:1px solid var(--sand);border-radius:14px;box-shadow:0 3px 0 var(--sand);padding:14px 12px;text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-height:112px;box-sizing:border-box;color:var(--ink)}.home-category[hidden]{display:none}.home-category b{font-size:.82rem;line-height:1.2;overflow-wrap:anywhere}.home-card-age{font-size:.65rem;color:var(--muted);margin-top:auto}.home-skill-mark{display:block;width:28px;height:28px;border-radius:10px;background:var(--home-number);position:relative}.home-skill-mark::after{content:'';position:absolute;width:8px;height:8px;left:10px;top:10px;border-radius:50%;background:var(--teal)}[data-family=pencil] .home-skill-mark{background:var(--home-pencil)}[data-family=visual] .home-skill-mark{background:var(--home-visual)}[data-family=puzzles] .home-skill-mark{background:var(--home-puzzles)}
.home-resource-row{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;margin-top:36px}.home-featured{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.home-featured>a{text-decoration:none;color:var(--ink);min-width:0}.home-featured-image{background:var(--home-number);border-radius:14px;height:155px;display:flex;align-items:flex-start;justify-content:center;padding:14px 10px 0;overflow:hidden}.home-featured [data-family=pencil] .home-featured-image{background:var(--home-pencil)}.home-featured [data-family=visual] .home-featured-image{background:var(--home-visual)}.home-featured-image img{width:100%;max-width:108px;height:auto;background:#fff;box-shadow:0 4px 12px #263c2f22}.home-featured b{display:block;font-size:.82rem;line-height:1.3;margin-top:10px}.home-featured-age{display:inline-block;font-size:.65rem;background:var(--sun);color:var(--ink);border-radius:14px;padding:3px 8px;margin-top:6px}.home-session ol{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:10px}.home-session a{display:flex;gap:15px;align-items:center;padding:14px 18px;background:var(--peach);border-radius:14px;text-decoration:none;color:var(--ink)}.home-session li:nth-child(2) a{background:var(--mint)}.home-session li:nth-child(3) a{background:var(--lilac)}.home-step{font-size:1.65rem;font-weight:bold;color:var(--teal-dark)}.home-session b{font-size:.9rem;display:block}.home-session small{display:block;font-size:.75rem;color:var(--muted);line-height:1.4;margin-top:3px}.home-pack{background:var(--sun);border-radius:20px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;margin-top:32px}.home-pack>div{flex:1 1 480px}.home-pack-label{font-size:.65rem;font-weight:bold;background:var(--teal-dark);color:#fff;padding:5px 10px;border-radius:16px;display:inline-block}.home-pack h2{font-size:1.65rem;margin:10px 0 6px;color:var(--ink)}.home-pack p{font-size:.85rem;margin:0}.home-age-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:22px;font-size:.8rem}.home-age-links a{color:var(--teal-dark)}body.home-page footer{padding:22px 0}body.home-page footer .brand{max-width:none;font-size:.9rem}body.home-page footer p{font-size:.75rem;margin:8px 0}body.home-page footer .footer-links{font-size:.75rem}
@media(max-width:1050px){.home-category-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.home-hero-inner{gap:24px}.home-sheets{height:270px}.home-resource-row{gap:24px}.home-featured{gap:10px}}
@media(max-width:720px){.home-hero-inner{grid-template-columns:1fr;padding-top:26px;padding-bottom:20px;gap:10px}.home-hero h1{font-size:2.45rem}.home-sheets{height:290px;max-width:440px;width:100%;margin:auto}.home-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-resource-row{grid-template-columns:1fr}.home-featured{grid-template-columns:repeat(4,minmax(0,1fr))}.home-pack{padding:22px}.home-section-head{align-items:flex-start}.home-layout h2{font-size:1.5rem}.home-age-filters button{min-height:44px}.home-category{min-height:110px}}
@media(max-width:420px){.home-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-featured{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.home-sheets{height:240px}.home-search>div{flex-direction:column}.home-search input{flex:auto;width:100%}.home-primary.btn{white-space:normal}.home-hero h1{font-size:2.15rem}.home-age-filters{gap:6px}.home-age-filters button{font-size:.7rem}}
@media print{.home-hero{background:#fff;color:var(--ink)}.home-hero p,.home-proof,.home-search-label{color:var(--ink)}}

.home-skill-mark::after{background:var(--coral)}[data-family=pencil] .home-skill-mark::after{background:var(--teal-bright)}[data-family=visual] .home-skill-mark::after{background:var(--visual-dot)}[data-family=puzzles] .home-skill-mark::after{background:var(--lavender)}
.home-step{font-family:var(--font-head);font-weight:700}

.home-skill-mark{width:40px;height:40px;padding:5px;box-sizing:border-box;color:var(--teal-dark)}.home-skill-mark::after{display:none}.home-skill-mark svg{display:block;width:100%;height:100%}

/* Responsive and keyboard foundations. Keep all learning tools usable without fonts. */
.nav>*,nav,.filters>div,.generator>*,.pack-layout>*,.home-section-head>*,.home-resource-row>*,.home-featured>a{min-inline-size:0}
nav{flex-wrap:wrap}
.btn,.home-age-filters button,.pack-controls button{white-space:normal;overflow-wrap:anywhere}
.panel input,.panel select,.filters input,.filters select{min-inline-size:0;max-inline-size:100%}
/* Distinguish the native option popup from the next closed field. OS pickers may retain their own theme. */
select{background-color:var(--mint);border:2px solid var(--teal);color:var(--ink)}
select option,select optgroup{background-color:var(--teal-dark);color:#fff}
select option:checked{background-color:var(--sun);color:var(--ink)}
select:focus{outline:3px solid var(--focus);outline-offset:3px}
select option:disabled{color:#c5d3d0}
.card-preview img{max-inline-size:100%;object-fit:contain}
.home-category b,.home-featured b,.starter-card h3{overflow-wrap:break-word}
.home-proof,.home-search-label,.home-badge,.home-age-status,.home-card-age,.home-featured-age,.home-pack-label,.home-session small,.home-age-links,.home-category b,.home-featured b,.home-age-filters button,body.home-page footer p,body.home-page footer small,body.home-page footer .footer-links{font-size:.875rem}
.home-proof,.home-age-status,.home-card-age,.home-session small{font-weight:500}
.home-session small{color:var(--ink)}
.home-search input{border:2px solid var(--control)}
.home-hero :is(a,button,input):focus-visible{outline-color:var(--sun)}
.skip{left:auto;inset-inline-start:20px}
.skip:focus-visible{top:10px;z-index:20;padding:12px 16px;background:#fff;color:var(--ink);border:2px solid var(--teal);border-radius:8px}
.guide-support{border-left:0;border-inline-start:4px solid var(--teal)}
.home-session small,.home-card-age,.home-age-status{text-align:start}
@media(max-width:620px){
 .wrap{padding-inline:18px}
 .nav{gap:16px;padding-block:16px}
 nav{gap:10px 16px;justify-content:flex-start}
 nav>a:not(.btn){display:inline-flex;align-items:center;min-block-size:44px}
 nav>.btn{margin-inline-start:auto;max-inline-size:100%}
 .home-hero-inner{padding-block:26px 20px}
 .home-content{padding-block:28px}
 .home-search>div{gap:12px}
 .home-category-grid{gap:12px}
 .home-category{min-block-size:120px}
 .home-age-links{gap:4px 18px}
 .home-age-links a,.footer-links a{display:inline-flex;align-items:center;min-block-size:44px}
 .footer-links{gap:2px 18px}
 .pack-controls{flex-wrap:wrap}
 .pack-panel li{overflow-wrap:anywhere}
 .home-pack>div{flex-basis:100%;min-inline-size:0}
}
@media(max-width:420px){
 nav>.btn{margin-inline-start:0;flex-basis:100%}
 .home-search input{inline-size:100%;min-block-size:48px}
 .home-search button{min-block-size:48px}
 .home-sheets{height:240px}
 .panel{padding:20px}
 .grid,.pack-library .grid{grid-template-columns:minmax(0,1fr)}
 .card-preview{height:240px}
}
@media(pointer:coarse){
 .pack-controls button,.panel .btn,.home-age-filters button,.starter-card summary{min-block-size:44px}
}
@media(prefers-reduced-motion:reduce){
 .card{transition:none}
 .card:hover{transform:none}
}

[data-pack-card][hidden]{display:none!important}#pack-summary{scroll-margin-top:20px}@media(max-width:720px){.pack-panel{order:0}}

/* Keep related skills together and retain their reading order in every age view. */
.home-focus-groups{display:grid;gap:28px}
.home-focus-group[hidden]{display:none}
.home-focus-group h3{margin:0 0 12px;font-size:1.05rem;color:var(--teal-dark)}
.home-focus-group .home-category-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));max-width:none;width:100%}
.home-focus-group .home-category{min-height:128px}
.age-activity-group{margin-block:32px}
.age-activity-group h2{font-size:1.4rem;margin-bottom:16px;color:var(--teal-dark)}
.age-activity-group .age-activity-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));max-width:none;width:100%}
@media(max-width:720px){
 .home-focus-group .home-category-grid,.age-activity-group .age-activity-grid{grid-template-columns:repeat(var(--small-columns),minmax(0,1fr));max-width:100%}
 .home-focus-group .home-category-grid{max-width:100%}
 .home-focus-groups{gap:24px}
}
@media(max-width:420px){.age-activity-group .age-activity-grid{grid-template-columns:1fr}}

#my-library{scroll-margin-top:20px;margin-block:24px;padding:24px}#my-library h2 small{display:block;font-size:14px;font-weight:600;margin-block-start:6px}#my-library input,#my-library select{max-inline-size:100%;box-sizing:border-box}#my-library .pack-file-controls{display:flex;flex-wrap:wrap;gap:10px;margin-block:14px}#my-library .btn{white-space:normal}#library-status{font-weight:600}#library-info{font-size:14px}@media(max-width:600px){#my-library{padding:16px}#my-library .pack-file-controls .btn{flex:1 1 180px}}
#my-library .pack-file-controls .btn{width:auto;flex:1 1 210px}#my-library>input,#my-library>select{display:block;width:min(100%,600px);margin-block:8px 16px}#my-library>label{display:block;margin-block-start:18px}#my-library>#library-save{width:auto;margin-block-end:12px}

.action-help{display:flex;flex-direction:column;gap:7px;min-width:0}.action-help-text{display:block;color:var(--ink);font-size:13px;line-height:1.5}.pack-file-controls>.action-help{flex:1 1 210px}#my-library .action-help .btn{flex:none;width:100%;margin:0}#my-library>.action-help{max-width:600px;margin-block:12px 20px}.action-help .btn{margin-bottom:0}

.backup-guide{margin-block:18px;padding:14px;border:1px solid var(--teal);border-radius:10px;background:var(--cream)}.backup-guide summary{font-weight:700;cursor:pointer;min-height:32px}.backup-guide li{margin-block:12px}.backup-guide p,.backup-guide li{font-size:14px;line-height:1.6}

/* Let the pack workspace use the available monitor width. */
body.pack-page .wrap{max-width:none;width:100%;padding-inline:clamp(18px,3vw,64px)}body.pack-page .pack-layout{grid-template-columns:minmax(0,1fr) clamp(350px,26vw,440px)}
@media(min-width:1500px){body.pack-page .pack-library .grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1900px){body.pack-page .pack-library .grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:720px){body.pack-page .pack-layout{display:flex;flex-direction:column}}

.pack-task-nav{display:flex;flex-wrap:wrap;gap:10px;padding:16px 0;border-block:1px solid var(--line);margin-block:24px}.pack-task-nav a{display:block;padding:10px 16px;background:var(--mint);border:1px solid var(--teal);border-radius:8px;color:var(--ink);font-weight:600;text-decoration:none}body.pack-page .pack-layout{margin-top:24px}body.pack-page .pack-library .grid{align-items:stretch}body.pack-page #pack-order-heading:focus{outline:3px solid var(--focus);outline-offset:4px}body.pack-page #starters{margin-block:32px}@media(max-width:720px){body.pack-page .pack-library{order:0}body.pack-page .pack-panel{order:1}.pack-task-nav a{flex:1 1 140px;text-align:center}}

body.pack-page .intro{padding-top:18px}body.pack-page .intro h1{font-size:clamp(1.8rem,3vw,2.5rem);margin-block:10px}body.pack-page .pack-task-nav{margin-block:16px;padding-block:12px}
body.pack-page [data-pack-card]{text-align:center}body.pack-page [data-pack-card]>div{padding-inline:16px}body.pack-page [data-pack-card] label{display:block;text-align:center}body.pack-page [data-pack-card] select{display:block;width:100%;margin-inline:auto;text-align:center;text-align-last:center}body.pack-page [data-pack-card]>.pack-add{display:block;width:calc(100% - 32px);margin-inline:auto}body.pack-page [data-pack-card] .card-body{ text-align:center }

.open-pack-panel{padding:20px;margin-block:24px;border:1px solid var(--teal);border-radius:12px;background:var(--cream);scroll-margin-top:20px}.open-pack-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.open-pack-grid>div{min-width:0}.open-pack-grid h4{margin-top:0}.open-pack-grid label{display:block}.open-pack-grid select{width:100%;margin-block:8px 12px}.open-pack-grid .action-help{margin-block:14px}#my-library .open-pack-grid .btn{width:100%}@media(max-width:650px){.open-pack-grid{grid-template-columns:1fr}.open-pack-panel{padding:16px}}
#my-library .pack-file-controls{align-items:flex-start}

.workspace-purpose{font-size:14px;line-height:1.6}.pack-explainer{margin-block:32px;padding:24px;border:2px solid var(--teal);border-radius:14px;background:#fff;scroll-margin-top:20px}.pack-explainer h2{margin-top:0}.pack-explainer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.pack-explainer-grid>section{padding:18px;border-radius:10px;background:var(--mint)}.pack-explainer-grid h3{margin-top:0;font-size:18px}.pack-explainer-grid p,.pack-explainer-note{font-size:14px;line-height:1.65}.pack-explainer-note{padding-top:16px;border-top:1px solid var(--line)}#library-open-options>label{display:block}#library-open-options>select{width:min(100%,600px);display:block;margin-block:8px 12px}#library-open-options>.action-help{max-width:600px} @media(max-width:900px){.pack-explainer-grid{grid-template-columns:1fr}}@media(max-width:600px){.pack-explainer{padding:16px}}

.pack-explainer-grid h4{font-size:15px;margin-block:18px 8px}.pack-explainer-grid h4:first-of-type{margin-top:0}

/* Equal action cards for collection management and library backups. */
#my-library>.pack-file-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}#my-library>.pack-file-controls>.action-help{padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff;gap:10px}#my-library>.pack-file-controls .btn{width:100%;min-height:64px;height:64px;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px 14px;line-height:1.35}#my-library>.pack-file-controls .action-help-text{text-align:left;margin:0}#my-library>.pack-file-controls>#library-undo{grid-column:1/-1}@media(max-width:850px){#my-library>.pack-file-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){#my-library>.pack-file-controls{grid-template-columns:1fr}}

/* Shared fluid page shell: activity pages use the same monitor width as packs. */
.wrap{max-width:none;width:100%;padding-inline:clamp(18px,3vw,64px)}
.generator>*{min-width:0}
@media(min-width:1000px){.generator{grid-template-columns:clamp(300px,23vw,380px) minmax(0,1fr)}}
/* Keep long instructions readable inside the wider shell. */
.worksheet-guide.prose{max-width:85ch;margin-inline:0}

.library-workspaces{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch}
.library-workspaces>*{min-width:0}
.library-save-panel{padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff}
.library-save-panel h2{margin-top:0}
.library-workspaces #library-open-options{margin:0}
.library-save-panel>.action-help{margin-block:12px 0}
@media(max-width:900px){.library-workspaces{grid-template-columns:1fr}}
