:root{--paper:#fffdf7;--ink:#172d3a;--muted:#5c6e72;--teal:#086b63;--teal-dark:#064e49;--mint:#e6f4eb;--sun:#ffd66d;--lilac:#eee9ff;--line:#dbe3dc;--error:#a62d40;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Nunito Sans,sans-serif}*{box-sizing:border-box}body{margin:0}h1,h2,h3,h4,.brand{font-family:Nunito,sans-serif}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:24px;font-size:clamp(2.9rem,5.2vw,4.8rem);line-height:1.09}h2{letter-spacing:-.025em;margin-bottom:20px;font-size:clamp(2rem,3.1vw,2.9rem);line-height:1.16}h3{font-size:1.35rem;line-height:1.3}p{line-height:1.65}a{color:var(--teal);text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}:focus-visible{outline-offset:4px;outline:3px solid #9a6500}button svg,a svg{flex-shrink:0}.wrap{max-width:1160px;margin-inline:auto;padding-inline:28px}.site-header{justify-content:space-between;align-items:center;gap:25px;max-width:1220px;height:100px;margin:auto;padding:0 30px;display:flex}.brand{letter-spacing:-1.2px;color:var(--ink);align-items:center;font-size:2rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-dot{color:var(--teal)}.brand-mark{background:var(--teal);color:#fff;border-radius:12px;place-items:center;width:39px;height:41px;margin-right:10px;font-size:1.9rem;display:inline-grid;position:relative;transform:rotate(-7deg)}.brand-mark span{background:var(--sun);color:var(--ink);border:3px solid var(--paper);letter-spacing:0;border-radius:50%;width:20px;height:20px;font-family:sans-serif;font-size:13px;position:absolute;bottom:-3px;right:-6px}.site-header nav{align-items:center;gap:32px;display:flex}.site-header nav a{color:var(--ink);font-size:.95rem;font-weight:700;text-decoration:none}.site-header nav a:hover,.site-header nav .active{color:var(--teal);text-decoration:underline}.site-header .nav-teacher{color:var(--teal);border:1px solid #b6cbc3;border-radius:10px;align-items:center;gap:12px;padding:12px 18px;display:inline-flex}.hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:60px;padding-block:65px 76px;display:grid}.eyebrow{letter-spacing:.13em;color:var(--teal);align-items:center;gap:8px;margin-bottom:24px;font-size:.74rem;font-weight:800;display:flex}.little-dot{background:var(--teal);border-radius:50%;width:7px;height:7px}.underline-sun{background:linear-gradient(transparent 77%, var(--sun) 77%, var(--sun) 92%, transparent 92%)}.hero-lead{margin-bottom:10px;font-size:1.15rem;font-weight:700}.hero-description{color:var(--muted);max-width:460px;margin-bottom:28px}.join-form{border:1px solid var(--line);background:#fff;border-radius:16px;max-width:455px;padding:22px;box-shadow:0 5px #eef1e9}.join-form label{align-items:center;gap:8px;margin-bottom:10px;font-weight:700;display:flex}.join-row{gap:8px;display:flex}.join-row input{letter-spacing:.06em;flex:1;min-width:0}.small{font-size:.86rem}.muted{color:var(--muted)}.join-form p{margin:10px 0 0}.button{background:var(--teal);color:#fff;border:1px solid var(--teal);border-radius:10px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:13px 20px;font-weight:700;line-height:1.3;text-decoration:none;display:inline-flex}.button:hover{background:var(--teal-dark)}.button.secondary{color:var(--teal);background:#fff;border-color:#b5c9c2}.button.secondary:hover{background:var(--mint)}.button.quiet{color:var(--ink);border-color:var(--line);background:0 0}.button.danger{color:var(--error);background:#fff;border-color:#e7c5cb}.text-link{align-items:center;gap:8px;margin-top:20px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.text-link:hover{text-decoration:underline}input,textarea,select{color:var(--ink);background:#fff;border:1px solid #afc0bb;border-radius:9px;width:100%;max-width:100%;min-height:48px;padding:13px 14px}input::placeholder,textarea::placeholder{color:#758280}label{font-size:.95rem;font-weight:700}textarea{resize:vertical;line-height:1.7}.hero-art{background:radial-gradient(#eaf2de 0%,#f4f6e9 55%,#0000 72%);padding:32px 0 0;position:relative}.floating-label{background:var(--sun);z-index:2;border-radius:8px;align-items:center;gap:8px;width:max-content;margin-left:auto;margin-right:12px;padding:11px 18px;font-size:.9rem;font-weight:700;display:flex;position:relative;top:9px;transform:rotate(5deg)}.example-card{background:#fff;border:1px solid #d2e0d6;border-radius:22px;padding:28px;transform:rotate(-3deg);box-shadow:0 14px #dce9de,0 23px 50px #174b3610}.example-top{justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.pill{letter-spacing:.05em;border-radius:6px;padding:6px 10px;font-size:.7rem;font-weight:800;display:inline-block}.mint{background:var(--mint)}.lilac{background:var(--lilac)}.yellow{background:var(--sun)}.example-progress{background:#edf0eb;border-radius:5px;height:5px;margin-block:22px 30px}.example-progress span{background:var(--teal);border-radius:5px;width:48%;height:100%;display:block}.example-prompt{text-align:center;color:var(--muted);margin-bottom:12px;font-size:.9rem}.example-word{text-align:center;letter-spacing:.02em;margin-bottom:26px;font-size:3.15rem;font-weight:800}.example-word span{color:var(--teal)}.letter-row{flex-wrap:wrap;justify-content:center;gap:7px;display:flex}.letter-row span{background:#eff7ee;border:1px solid #c7d9cb;border-bottom-width:3px;border-radius:8px;place-items:center;width:42px;height:48px;font-size:1.5rem;font-weight:800;display:grid}.letter-row span.yellow{background:var(--sun);border-color:#ebc157}.example-success{background:#f2f8ef;border-radius:10px;align-items:center;gap:12px;margin-top:28px;padding:16px 12px;display:flex}.example-success strong,.example-success span:not(.success-circle){font-size:.86rem;display:block}.example-success span:not(.success-circle){color:var(--muted);margin-top:3px;font-size:.75rem}.success-circle{background:var(--teal);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:35px;height:35px;display:grid}.art-bottom{color:var(--muted);align-items:center;gap:15px;margin:34px 0 0 25px;font-size:.9rem;display:flex}.star-badge{background:var(--sun);color:var(--ink);border-radius:16px;place-items:center;width:50px;height:50px;font-size:2.1rem;display:grid;transform:rotate(9deg)}.doodle-line{margin-left:12px;font-size:3rem;transform:rotate(15deg)}.trust-strip{background:#edf4ec;border-top:1px solid #dfe8dd;border-bottom:1px solid #dfe8dd;flex-wrap:wrap;justify-content:center;gap:48px;padding:22px 25px;font-size:.86rem;font-weight:700;display:flex}.trust-strip span{align-items:center;gap:9px;display:flex}.trust-strip svg{color:var(--teal)}.section{padding-block:75px}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px;display:flex}.section-heading .eyebrow{margin-bottom:16px}.section-heading h2{margin:0}.section-heading p{color:var(--muted);margin:0 0 5px}.steps-grid{grid-template-columns:repeat(3,1fr);gap:45px;display:grid}.steps-grid article{padding-top:15px;position:relative}.step-icon{border-radius:15px;place-items:center;width:53px;height:53px;margin-bottom:20px;display:grid}.step-number{color:#718477;font-size:.85rem;font-weight:700;position:absolute;top:25px;right:20px}.steps-grid p{color:var(--muted);margin-bottom:0;font-size:.97rem}.teacher-banner{background:var(--mint);border:1px solid #d5e5d7;border-radius:25px;grid-template-columns:1.3fr 1fr;gap:60px;padding:45px 55px;display:grid}.teacher-banner p{max-width:440px;color:var(--muted)}.teacher-banner .eyebrow{margin-bottom:15px}.teacher-note{background:var(--paper);border:1px solid #d5e5d7;border-radius:18px;align-self:center;padding:28px;transform:rotate(2deg)}.teacher-note svg{color:var(--teal);margin-bottom:15px}.teacher-note h3{margin-bottom:10px;font-size:2rem}.teacher-note p{font-size:.9rem}.handwritten{color:var(--teal);font-family:Nunito,sans-serif;font-size:.95rem;font-weight:800}.resource-tease{justify-content:space-between;align-items:center;gap:40px;display:flex}.resource-tease h2{font-size:2rem}.resource-tease p{color:var(--muted);margin-bottom:0}.resource-tease .button{flex-shrink:0}.site-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:25px;max-width:1160px;margin:auto;padding:38px 28px;display:flex}.footer-brand{font-size:1.6rem}.site-footer p{color:var(--muted);margin:7px 0 0;font-size:.83rem}.footer-links{gap:22px;display:flex}.footer-links a{color:var(--ink);font-size:.84rem;text-decoration:none}.footer-note{align-items:center;gap:6px;display:flex}.skip-link{z-index:100;background:#fff;padding:15px;position:absolute;top:-100px;left:16px}.skip-link:focus{top:10px}.error{color:var(--error);font-weight:600}.notice{background:var(--mint);border-radius:10px;margin-block:16px;padding:15px 18px;line-height:1.6}.notice.warning{background:#fff0ce}.page-head{padding-block:45px 30px}.page-head h1{margin:0 0 15px;font-size:clamp(2.3rem,4vw,3.5rem)}.page-head p{max-width:660px;color:var(--muted)}.panel{border:1px solid var(--line);background:#fff;border-radius:18px;padding:28px}.content-page{max-width:800px;padding-block:45px 70px}.content-page h1{font-size:3rem}.content-page h2{margin-top:35px;font-size:1.6rem}.content-page li{margin-bottom:8px;line-height:1.8}.field{gap:7px;margin-bottom:20px;display:grid}.field small{color:var(--muted);font-weight:400}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stack{gap:18px;display:grid}.grid-two{grid-template-columns:1fr 1fr;gap:22px;display:grid}.app-wrap{max-width:1160px;min-height:65vh;margin:auto;padding:30px 28px 65px}.app-top{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.app-top h1{margin:0 0 8px;font-size:2.5rem}.app-top p{color:var(--muted);margin:0}.workspace{grid-template-columns:240px 1fr;gap:26px;display:grid}.sidebar{border-right:1px solid var(--line);padding-right:24px}.sidebar h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:5px;font-size:.8rem}.class-button{text-align:left;width:100%;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:10px;margin-bottom:8px;padding:15px}.class-button.selected{background:var(--mint);border-color:#c2d9c8}.class-button strong,.class-button small{display:block}.class-button small{color:var(--muted);margin-top:4px}.list-card{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex}.list-card h3{margin:8px 0 4px;font-size:1.15rem}.list-card p{color:var(--muted);margin:0;font-size:.9rem}.list-card .actions{justify-content:flex-end}.tag{text-transform:uppercase;letter-spacing:.05em;background:var(--mint);border-radius:5px;gap:5px;padding:4px 8px;font-size:.75rem;font-weight:800;display:inline-flex}.tag.draft{background:var(--lilac)}.editor-grid{grid-template-columns:1.2fr 1fr;gap:25px;display:grid}.share-box{background:var(--mint);border:1px solid #c7dece;border-radius:14px;padding:24px}.share-box img{border-radius:8px;width:130px;height:130px}.share-box code{letter-spacing:.14em;margin:12px 0;font-size:1.35rem;display:block}.share-box h3{margin-bottom:6px}.share-url{overflow-wrap:anywhere;font-size:.85rem}.word-chips{flex-wrap:wrap;gap:9px;display:flex}.word-chips span{background:#eff4ed;border-radius:9px;padding:9px 14px;font-weight:700}.resource-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.resource-card{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:16px;padding:26px;text-decoration:none;display:block}.resource-card h2{margin:18px 0 12px;font-size:1.5rem}.resource-card p{color:var(--muted);font-size:.94rem}.resource-card:hover{border-color:var(--teal);background:#f5faf4}.practice-intro{max-width:900px;margin:auto}.practice-title{text-align:center;margin:22px 0 30px}.practice-title h1{margin:12px 0;font-size:2.8rem}.practice-title p{color:var(--muted)}.activity-grid{grid-template-columns:repeat(3,1fr);gap:15px;margin:28px 0;display:grid}.activity-card{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:15px;min-height:150px;padding:22px}.activity-card:hover{border-color:var(--teal);background:var(--mint)}.activity-card svg{color:var(--teal);margin-bottom:12px}.activity-card strong{margin-bottom:7px;font-size:1.06rem;display:block}.activity-card span{color:var(--muted);font-size:.85rem;line-height:1.5;display:block}.practice-stage{max-width:760px;margin:auto}.practice-bar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.progress-track{background:#e5ece2;border-radius:9px;height:7px;margin-bottom:28px;overflow:hidden}.progress-track span{background:var(--teal);height:100%;display:block}.practice-card{text-align:center;border:1px solid var(--line);background:#fff;border-radius:22px;padding:40px}.practice-card h1{letter-spacing:0;margin-bottom:12px;font-size:1.4rem}.big-word{letter-spacing:.025em;overflow-wrap:anywhere;margin:24px 0;font-size:clamp(2rem,6vw,3.5rem);font-weight:800}.practice-card .answer{text-align:center;max-width:430px;margin:20px auto;font-size:1.6rem;display:block}.practice-card .actions{justify-content:center}.feedback{background:var(--mint);border-radius:12px;margin:25px 0 0;padding:20px}.feedback.try{background:#fff2d0}.feedback p{margin:5px 0}.tiles{flex-wrap:wrap;justify-content:center;gap:8px;margin:25px 0;display:flex}.tile{background:var(--sun);min-width:45px;min-height:53px;color:var(--ink);border:1px solid #b9953f;border-bottom-width:3px;border-radius:8px;font-size:1.6rem;font-weight:800}.tile:disabled{visibility:hidden}.drawing{background:repeating-linear-gradient(#fff,#fff 59px,#dce6dd 60px,#fff 61px);border:1px solid #b8cbbf;border-radius:10px;height:240px;margin:20px 0;position:relative;overflow:hidden}.drawing canvas{touch-action:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.trace-word{color:#a3b6ad;pointer-events:none;place-items:center;font-size:clamp(2rem,7vw,4rem);font-weight:700;display:grid;position:absolute;inset:0}.stat-row{flex-wrap:wrap;justify-content:center;gap:24px;margin:25px 0;display:flex}.stat{background:var(--mint);border-radius:12px;padding:18px 28px}.stat strong{font-size:2rem;display:block}.stat span{font-size:.88rem}.print-sheet{display:none}.login-panel{max-width:480px;margin:35px auto 65px}.login-panel h1{font-size:2.2rem}.divider{border:0;border-top:1px solid var(--line);margin:25px 0}.status-line{min-height:24px;font-size:.9rem}.back-link{align-items:center;gap:7px;margin-bottom:20px;font-weight:700;text-decoration:none;display:inline-flex}.loading{text-align:center;color:var(--muted);padding:65px 20px}details{margin-top:20px}summary{cursor:pointer;padding:12px 0;font-weight:700}.empty{text-align:center;background:#f1f6ee;border:1px dashed #b5cdbb;border-radius:16px;padding:45px 25px}.inline-check{align-items:center;gap:10px;font-size:.88rem;font-weight:400;display:flex}.inline-check input{width:20px;height:20px;min-height:20px}.week-options{margin-top:30px}.week-options a{border-top:1px solid var(--line);padding:12px;display:block}@media (width<=950px){.hero{gap:30px}.trust-strip{gap:22px}.hero-art{padding-top:0}.example-card{padding:20px}.letter-row span{width:34px;height:43px}.example-word{font-size:2.7rem}.hero{padding-top:38px}.site-header nav{gap:18px}.resource-tease{display:block}.resource-tease .button{margin-top:20px}.teacher-banner{margin-inline:25px}.workspace{grid-template-columns:190px 1fr}.editor-grid{grid-template-columns:1fr}.site-footer{gap:20px}.footer-note{width:100%}.steps-grid{gap:25px}}@media (width<=700px){.site-header{height:80px;padding:0 20px}.brand{font-size:1.65rem}.brand-mark{width:32px;height:35px;font-size:1.6rem}.site-header nav>a:not(.nav-teacher){display:none}.site-header .nav-teacher{padding:10px;font-size:.82rem}.wrap{padding-inline:22px}.hero{grid-template-columns:1fr;gap:32px;padding-top:32px;padding-bottom:46px}.hero h1{font-size:3.4rem}.eyebrow{letter-spacing:.09em;margin-bottom:20px;font-size:.65rem}.hero-art{width:100%;max-width:430px;margin:auto;padding:0 12px}.floating-label{font-size:.8rem}.example-card{padding:25px}.letter-row span{width:36px;height:44px}.art-bottom{margin-top:25px}.hero-description{margin-bottom:22px}.trust-strip{grid-template-columns:1fr 1fr;gap:15px;padding:20px;font-size:.75rem;display:grid}.trust-strip span{gap:6px}.trust-strip svg{width:16px}.section{padding-block:46px}.section-heading{display:block}.section-heading p{margin-top:18px}.steps-grid{grid-template-columns:1fr;gap:26px}.steps-grid article{padding-top:0;padding-left:70px}.step-icon{position:absolute;top:0;left:0}.step-number{display:none}.steps-grid h3{margin-bottom:10px}.teacher-banner{grid-template-columns:1fr;gap:25px;margin-inline:18px;padding:28px}.teacher-note{transform:none}.resource-tease h2{font-size:1.8rem}.site-footer{padding:30px 22px;display:block}.footer-links{flex-wrap:wrap;margin:25px 0}.footer-note{margin-top:20px!important}.app-wrap{padding:25px 18px 45px}.app-top{align-items:start}.app-top h1{font-size:2rem}.app-top .button{padding:10px;font-size:.85rem}.workspace{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:0 0 15px}.class-button{width:auto;margin-right:8px;display:inline-block}.grid-two,.resource-grid{grid-template-columns:1fr}.panel{padding:22px}.list-card{display:block}.list-card .actions{justify-content:start;margin-top:15px}.activity-grid{grid-template-columns:1fr 1fr;gap:10px}.activity-card{padding:16px}.practice-card{padding:25px 16px}.practice-title h1{font-size:2.3rem}.practice-bar{gap:8px;font-size:.85rem}.practice-bar .button{padding:10px}.practice-card .answer{font-size:1.35rem}.join-form{padding:17px}.join-row .button{padding:12px}.content-page h1{font-size:2.4rem}.share-box{padding:20px}.stat-row{gap:12px}.stat{padding:15px 20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{body{color:#000;background:#fff}.site-header,.site-footer,.no-print{display:none!important}.print-sheet{padding:0;font-size:8.5pt;display:block!important}.print-label-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:67mm;gap:3mm;display:grid}.print-label{break-inside:avoid;page-break-inside:avoid;border:.35mm dashed #777;border-radius:3mm;padding:3.5mm;overflow:hidden}.print-label-brand{align-items:center;gap:2mm;margin-bottom:1.5mm;display:flex}.print-label-mark{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:2mm;place-items:center;width:7mm;height:7mm;font:800 16pt/1 Nunito,sans-serif;display:inline-grid;position:relative;color:#fff!important;background:#086b63!important}.print-label-mark span{-webkit-print-color-adjust:exact;print-color-adjust:exact;font:800 8pt/1 sans-serif;position:absolute;top:-1mm;right:-1.5mm;color:#086b63!important}.print-label-name{font:800 15pt/1 Nunito,sans-serif}.print-label-name>span{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#086b63!important}.print-label h1{letter-spacing:-.01em;margin:0 0 1mm;font-size:13pt;line-height:1.05}.print-label-class{white-space:nowrap;justify-content:space-between;gap:2mm;margin:0 0 1.5mm;line-height:1.2;display:flex;overflow:hidden}.print-label-class span{text-overflow:ellipsis;overflow:hidden}.print-label-details{grid-template-columns:27mm 1fr;align-items:center;gap:2.5mm;display:grid}.print-label-details img{width:27mm;height:27mm}.print-label-details strong{font-size:9.5pt;line-height:1.1;display:block}.print-label-details p{margin:.8mm 0 2mm;font-size:7.5pt;line-height:1.15}.print-label-code-title{text-transform:uppercase;letter-spacing:.08em;font-size:7pt;line-height:1;display:block}.print-label code{letter-spacing:.04em;margin-top:1mm;font:800 10pt/1 monospace;display:block}.print-label-note{text-align:center;border-top:.2mm solid #bbb;margin:1.5mm 0 0;padding-top:1mm;font-size:7pt;line-height:1.1}.app-wrap{padding:0}@page{size:A4;margin:7mm}}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/nunito-sans-latin-400-normal.AkRraKH2.woff2)format("woff2"),url(/_astro/nunito-sans-latin-400-normal.DY9yCUyQ.woff)format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/nunito-sans-latin-600-normal.BtVRvDNj.woff2)format("woff2"),url(/_astro/nunito-sans-latin-600-normal.DLks-Kj1.woff)format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/nunito-sans-latin-700-normal.CICRJDmU.woff2)format("woff2"),url(/_astro/nunito-sans-latin-700-normal.CLVG92B9.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/nunito-latin-800-normal.Dz8SOQK_.woff2)format("woff2"),url(/_astro/nunito-latin-800-normal.D-J0wlBY.woff)format("woff")}
