@charset "UTF-8";
/* Penny's index-card visual system, applied to Charlie's existing study flow. */
:root{--desk:#e6ebee;--desk-edge:#c9d2d8;--stock:#fffdf7;--rule:#c9d9e6;--margin:#e79bae;--ink:#1e2429;--muted:#5d666d;--faded:#5e6a72;--pen:#b62268;--tab:#7c977a;--paper:var(--desk);--white:var(--stock);--line:var(--desk-edge);--blue:var(--ink);--sage:#526d55;--rose:var(--pen);--pale-blue:#edf1f3;--pale-sage:#edf1ea;--pale-rose:#f6edf1;--sans:'Rubik',system-ui,sans-serif;--serif:var(--sans);--mono:'Courier Prime',monospace}
*{box-sizing:border-box}html{min-height:100%;scroll-padding-top:18px}body{margin:0;min-height:100vh;color:var(--ink);background:var(--desk);background-image:radial-gradient(120% 90% at 50% 0%,#f2f5f7 0%,#e6ebee 55%,#dbe2e6 100%);background-attachment:fixed;font:15px/1.6 var(--sans);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--pen);outline-offset:4px}main:focus{outline:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--sans);font-weight:600;letter-spacing:-.02em;line-height:1.2}h1{font-size:32px}h2{font-size:23px}h3{font-size:18px}p{margin-bottom:14px}svg{max-width:100%}[hidden]{display:none!important}
.site-header{max-width:520px;margin:0 auto;padding:18px 18px 13px;text-align:center}.wordmark{display:block;text-decoration:none}.wordmark .eyebrow{display:block;margin:0 0 3px;font-size:9px;font-weight:400}.wordmark strong{font-size:25px;line-height:1.04;letter-spacing:-.015em;font-weight:700}.site-header nav{display:flex;justify-content:center;gap:22px;margin-top:9px;font:10px var(--mono);letter-spacing:.05em;text-transform:uppercase}.site-header nav a{padding:3px 1px;text-decoration:none;border-bottom:1px solid transparent;color:var(--muted)}.site-header nav a[aria-current=page]{color:var(--ink);border-color:var(--ink)}.site-header nav span{display:none}.site-footer{max-width:484px;margin:22px auto 0;padding:12px 0 20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;font:9px/1.5 var(--mono);color:var(--faded)}.site-footer a{text-decoration:none}.site-footer span{display:none}
.page,.narrow,.practice-page{width:100%;max-width:520px;margin:0 auto;padding:0 18px 4px}.eyebrow,.subject{font:10px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faded);margin-bottom:8px}.button-row{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:49px;padding:12px 15px;border:1px solid var(--ink);border-radius:6px;background:var(--ink);color:var(--stock);text-decoration:none;font-size:15px;font-weight:600;line-height:1.4;text-align:center;box-shadow:0 1px 2px #1e24290a;transition:background .12s}.button:hover{background:#343c43}.button:active{transform:translateY(1px)}.button.secondary{background:#f2f5f7;color:var(--ink);border-color:#bfc9d0}.button.secondary:hover{background:#fffdf7}.button.sage{background:var(--ink);border-color:var(--ink)}.button.small{min-height:42px;font-size:12px;padding:9px 12px}.text-button{border:0;background:transparent;color:var(--muted);padding:9px 5px;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:3px}.text-button:hover{color:var(--pen)}.quiet-note{font:10px/1.5 var(--mono);letter-spacing:.025em;color:var(--faded);margin:10px 0 0}
/* The desk: compact notice, divider tabs, one ruled card, quiet controls. */
.class-week{border:1px solid var(--desk-edge);border-left:3px solid var(--pen);border-radius:5px;background:#f1f4f6;padding:9px 12px;margin:0 0 13px}.class-week h2{font-size:13.5px;font-weight:600;letter-spacing:0;margin:0 0 1px;line-height:1.4}.class-week p{font:9.5px/1.5 var(--mono);letter-spacing:.025em;text-transform:uppercase;color:var(--faded);margin:0}.class-week a{display:inline-block;color:var(--pen);font-size:11px;font-weight:500;text-underline-offset:3px;margin-top:2px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px}.section-heading h2{font-size:12px;letter-spacing:0;margin:0}.section-heading p{font:9px/1.5 var(--mono);color:var(--faded);margin:2px 0 0}.filters{display:flex;gap:3px;flex-shrink:0}.filter{font:10px var(--mono);min-height:34px;padding:6px;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;color:var(--muted)}.filter[aria-pressed=true]{border-color:var(--ink);color:var(--ink);font-weight:700}.adventures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:14px}.adventure{--tab:#7c977a;border:1px solid var(--desk-edge);border-radius:7px 7px 0 0;background:#edf1f3;position:relative;min-width:0}.adventure[data-adventure=pattern-pals]{--tab:#c1ac80}.adventure[data-adventure=coin-detective]{--tab:#a5b3c5}.adventure[data-adventure=number-builder]{--tab:#bfa3b1}.adventure[data-adventure=meet-matter]{--tab:#97ada7}.adventure[data-adventure=matter-changes]{--tab:#c1a38d}.adventure:hover,.adventure:focus-within{background:var(--stock)}.card-link{display:block;position:relative;text-align:center;text-decoration:none;padding:7px 5px 12px;height:100%;min-height:61px}.adventure h3{font-size:11.5px;line-height:1.3;font-weight:600;letter-spacing:0;margin:0 0 2px;overflow-wrap:anywhere}.deck-count{display:block;font:9.5px/1.3 var(--mono);color:var(--muted)}.track{height:3px;position:absolute;bottom:5px;left:7px;right:7px;background:var(--tab);opacity:.6;border-radius:9px;overflow:hidden}.track span{display:block;height:100%;background:var(--ink);border-radius:9px}
.ruled-card,.quiz-card,.lesson-step{position:relative;background:linear-gradient(90deg,transparent 33px,var(--margin) 33px,var(--margin) 34px,transparent 34px),repeating-linear-gradient(var(--stock) 0 25px,var(--rule) 25px 26px);border:1px solid #d7dee3;border-radius:4px;box-shadow:2px 4px 0 -1px #f7f9fa,2px 4px 0 0 var(--desk-edge),5px 8px 0 -1px #eff2f4,5px 8px 0 0 var(--desk-edge)}.ruled-card::before,.quiz-card::before{content:'';position:absolute;bottom:9px;left:11px;width:11px;height:11px;border-radius:50%;border:1px solid #e4eaed;background:#f2f5f7}.ruled-card::after,.quiz-card::after{content:'';position:absolute;top:0;right:0;width:44px;height:6px;background:var(--tab)}.home-card{min-height:238px;padding:42px 18px 35px 46px;margin-bottom:16px}.card-number{position:absolute;top:6px;left:9px;font:9.5px var(--mono);color:var(--faded);letter-spacing:.06em}.home-card .eyebrow{font-size:9px;margin-bottom:12px}.home-card h1{font-size:clamp(28px,7.7vw,36px);font-weight:600;line-height:1.12;letter-spacing:-.02em;margin:0 0 15px}.home-card .intro{font:600 22px/26px 'Caveat',cursive;color:var(--pen);margin:0}.card-footnote{position:absolute;bottom:7px;right:12px;font:9px var(--mono);letter-spacing:.035em;color:var(--faded)}.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 11px}.home-actions .button{font-size:14px;padding:12px 8px}.club-promise{font:10px/1.5 var(--mono);color:var(--faded);margin:0 0 10px;text-align:center}.motto{font:400 19px/1.3 'Shrikhand',cursive;text-align:center;color:var(--pen);margin:6px 0 14px;text-shadow:0 1px 0 #ffffff88}.growing-strip{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:9px;color:var(--faded);font:10px/1.5 var(--mono)}.growing-strip b{color:var(--ink)}.growing-strip a{text-underline-offset:3px}.storage-note{font:9px/1.5 var(--mono);color:var(--faded);text-align:center;margin:9px 0 0}
/* Lessons keep their existing reading and practice controls. */
.back-link{display:inline-block;color:var(--muted);font:10px/1.5 var(--mono);text-decoration:none;margin:6px 0 17px}.back-link:hover{text-decoration:underline}.page-heading{margin-bottom:18px}.page-heading h1{font-size:30px;margin:0 0 10px;line-height:1.16}.page-heading p{font-size:14px;color:var(--muted);margin-bottom:9px}.source-pill{display:inline-block;font:9px/1.4 var(--mono);letter-spacing:.02em;color:var(--faded);padding:4px 7px;border:1px solid var(--line);border-radius:4px;background:#f1f4f6}.lesson-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.lesson-toolbar .quiet-note{margin:0}.listen{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:7px 10px;border:1px solid #bfc9d0;border-radius:4px;background:#f2f5f7;color:var(--ink);font-size:11px;line-height:1.4;flex-shrink:0}.listen:hover,.listen[aria-pressed=true]{background:var(--stock);border-color:var(--pen);color:var(--pen)}.lesson-steps{display:grid;gap:19px}.lesson-step{padding:26px 18px 20px 46px}.step-number{position:absolute;top:7px;left:9px;color:var(--faded);font:10px var(--mono)}.lesson-step h2{font-size:19px;line-height:26px;margin:0 0 13px;letter-spacing:0}.lesson-step p{font-size:15px;line-height:26px;margin:0 0 13px}.example{white-space:pre-line;font:600 21px/26px 'Caveat',cursive;color:var(--pen);padding:8px 0;margin-top:5px}.lesson-cta{text-align:center;padding:27px 0 0}.lesson-cta p:first-child{font:600 24px 'Caveat',cursive;color:var(--pen);margin-bottom:10px}.lesson-source{font:10px/1.6 var(--mono);color:var(--faded);margin:21px 0 0}.diagram{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;padding:15px 8px;margin:14px 0;border:1px solid #d7dee3;border-radius:4px;background:#fffdf7}.number-hop{display:flex;gap:5px;align-items:center;color:var(--ink);font-size:18px}.number-hop .bubble{width:34px;height:34px;display:grid;place-items:center;background:#edf1f3;border:1px solid var(--line);border-radius:50%;font-size:18px}.number-hop small{font-size:10px}.coin{width:45px;height:45px;border-radius:50%;border:3px double #8a949b;display:grid;place-items:center;background:#eef1f3;font-size:12px;color:var(--ink);font-weight:600}.coin.penny{background:#e9d3c2;border-color:#9a7963;color:#554336}.coin-name{font:9px var(--mono);text-align:center;color:var(--muted);margin-top:5px}.place-box{width:67px;text-align:center;border:1px solid #a8b6bf;border-radius:4px;overflow:hidden;background:var(--stock)}.place-box b{display:block;font-size:27px;line-height:1.6;font-weight:500}.place-box span{display:block;font:10px/1.5 var(--mono);padding:3px;background:#edf1f3}.matter-vessel{width:62px;height:76px;border:2px solid #8a9ba7;border-top:0;border-radius:0 0 9px 9px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;padding:8px}.matter-vessel i{display:block;flex:0 0 7px;height:7px;border-radius:50%;background:#536d7b}.matter-vessel.solid{align-content:end;gap:2px;padding:14px}.matter-vessel.liquid{align-content:end;background:linear-gradient(0deg,#e0e9ed 61%,transparent 61%)}.matter-vessel.gas{justify-content:space-between;align-content:space-between}.diagram-label{font:10px var(--mono);text-align:center;color:var(--muted);margin-top:8px}.pair{display:inline-flex;gap:4px;padding:6px;background:#edf1ea;border-radius:25px;margin:3px}.pair i{width:13px;height:13px;background:#607e63;border-radius:50%}.pair.lonely{background:#f6edf1}.pair.lonely i{background:var(--pen)}.change-cycle{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink)}.change-cycle b{font-size:23px}
/* One ruled question card with the same locked short-answer form. */
.practice-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;color:var(--faded);font:10px/1.5 var(--mono)}.practice-dots{display:flex;gap:5px;flex-shrink:0}.practice-dots span{width:7px;height:7px;border:1px solid #9eacb5;border-radius:50%}.practice-dots .done{background:#7c977a;border-color:#7c977a}.practice-dots .now{background:var(--ink);border-color:var(--ink)}.practice-dots .round-track{display:block;width:75px;height:4px;border:0;border-radius:4px;background:#c9d2d8;overflow:hidden}.round-track b{display:block;height:4px;background:var(--ink)}.quiz-card{padding:29px 18px 25px 46px}.quiz-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:23px}.quiz-top .eyebrow{margin:0;font-size:9px}.quiz-top .listen{font-size:10px;padding:6px 7px;min-height:36px}.quiz-question{font-size:26px;font-weight:600;line-height:1.27;letter-spacing:-.015em;margin:0 0 23px;white-space:pre-line;overflow-wrap:anywhere}.short-answer-form{margin-top:10px}.short-answer-form>label{display:block;font:700 10px/1.4 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.short-answer-form>p{font-size:12px;line-height:1.6;color:var(--muted);margin-bottom:10px}.answer-entry{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}.answer-entry input{min-width:0;width:100%;border:1px solid #9caeb9;border-radius:4px;padding:9px 12px;background:var(--stock);color:var(--pen);font:600 29px/1.4 'Caveat',cursive}.answer-entry input:disabled{background:#f1f4f6;color:var(--ink);opacity:1;-webkit-text-fill-color:var(--ink)}.answer-entry .button{width:100%;min-height:48px}.feedback{background:#f1f4f6;border:1px solid #c9d2d8;border-left:3px solid #92a7b5;border-radius:4px;padding:13px 14px;margin-top:17px;font-size:14px;color:var(--ink)}.feedback h3{font-size:15px;letter-spacing:0;margin:0 0 6px}.feedback p{margin:0}.feedback.success{background:#edf1ea;border-left-color:#7c977a}.feedback.reviewed{background:#f6edf1;border-left-color:var(--pen)}.quiz-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px}.quiz-actions>.button{flex:1}.hint-group{display:flex;flex-wrap:wrap;gap:8px}.hint-star{color:var(--pen)}.practice-bottom{display:flex;justify-content:center;gap:5px;text-align:center;padding:19px 0 0;font:10px/1.5 var(--mono);color:var(--faded)}.choices{display:grid;gap:9px}.choice{display:flex;gap:10px;align-items:center;border:1px solid var(--line);background:var(--stock);border-radius:4px;text-align:left;padding:11px;font-size:16px}.choice-letter{font:10px var(--mono);color:var(--muted)}.choice.correct{background:#edf1ea}.choice.wrong,.choice.tried{background:#f6edf1}
/* Progress, results, and parent tools use the same paper and type. */
.results{text-align:center;padding:30px 25px}.results .result-flower{display:none}.results .eyebrow{margin-bottom:14px}.results h1{display:inline-block;font:700 37px/1.1 'Caveat',cursive;letter-spacing:0;color:var(--pen);border:2px solid var(--pen);border-radius:5px;padding:4px 13px;transform:rotate(-3deg);margin:0 0 21px}.results>p{font-size:14px}.result-stats{display:flex;justify-content:center;gap:20px;margin:22px 0;font:10px/1.5 var(--mono);color:var(--muted)}.result-stats strong{display:block;font:600 28px var(--sans);color:var(--ink);margin-bottom:5px}.results .button-row{justify-content:center}.garden-head{text-align:center;padding:13px 0 15px}.garden-head h1{font-size:29px;margin:0 0 12px}.garden-head p{font-size:14px;color:var(--muted)}.garden-bed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-items:end;padding:17px 7px 0;background:var(--stock);border:1px solid var(--line);border-radius:4px}.garden-plant{text-align:center;text-decoration:none;display:block}.garden-plant svg{width:65px;height:93px;overflow:visible;filter:saturate(.45)}.garden-plant span{display:block;font:10px/1.4 var(--mono);padding:8px 2px 14px;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:15px 0 24px}.stat{border:1px solid var(--line);border-radius:4px;background:#f1f4f6;text-align:center;padding:15px 4px;font:9px/1.4 var(--mono);color:var(--muted)}.stat b{display:block;font:600 27px var(--sans);color:var(--ink);margin-bottom:5px}.badges{display:grid;gap:8px;margin:15px 0 23px}.badge{padding:13px;border:1px dashed #bfc9d0;border-radius:4px;background:#edf1f3;font-size:12px;color:var(--muted);display:grid;grid-template-columns:27px 1fr;gap:4px 10px}.badge.earned{background:var(--stock);border-style:solid}.badge strong{font-size:13px;color:var(--ink)}.badge .badge-mark{grid-row:1/3;color:var(--pen);font-size:22px}.badge span{grid-column:2}.review-list{display:grid;gap:8px}.review-item{display:flex;justify-content:space-between;gap:12px;padding:13px;background:var(--stock);border:1px solid var(--line);border-radius:4px;font-size:13px}.review-item small{display:block;color:var(--muted);font:10px/1.5 var(--mono);margin-top:4px}.notice,.storage-warning{background:#f1f4f6;border:1px solid var(--line);border-left:3px solid var(--pen);border-radius:4px;padding:15px;font-size:13px;line-height:1.65;margin-bottom:15px}.notice p:last-child{margin:0}.adult-panel{background:var(--stock);border:1px solid #d7dee3;border-radius:4px;padding:19px;margin:15px 0}.adult-panel h2{font-size:21px;margin-bottom:13px}.adult-panel p,.adult-panel ul{font-size:13px;color:var(--muted)}.adult-panel ul{padding-left:19px}.adult-panel li{margin:7px 0}.form-grid{display:grid;grid-template-columns:1fr;gap:10px}.form-field{display:grid;gap:6px;margin-bottom:14px}.form-field label{font-size:12px;font-weight:500}.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid #aebdc6;border-radius:4px;background:#fff;padding:10px 11px;font-size:14px;line-height:1.5;min-width:0}.form-field textarea{min-height:88px;resize:vertical}.form-field small{font:10px/1.5 var(--mono);color:var(--muted)}.editor-block{padding:15px 0;border-top:1px solid var(--line)}.editor-block h3{font-size:16px}.full-width{grid-column:1/-1}.form-error{color:#87344e;background:#f6edf1;padding:11px;border-radius:4px;font-size:13px}.file-input{display:block;max-width:100%;font-size:12px;padding:8px 0}.error-page{text-align:center;padding-top:45px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;left:12px;top:-60px;padding:10px 15px;background:var(--ink);color:white;z-index:99}.skip-link:focus{top:12px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 17px;background:var(--ink);color:var(--stock);border-radius:5px;max-width:90vw;font-size:13px;z-index:10}dialog{border:1px solid var(--line);border-radius:5px;background:var(--stock);color:var(--ink);padding:24px;max-width:440px;width:calc(100% - 30px)}dialog::backdrop{background:#1e242966}dialog h2{font-size:25px}dialog p{font-size:14px}
@media(max-width:520px){.site-footer{margin-left:18px;margin-right:18px}.quiz-actions .button{width:100%}.hint-group{gap:5px}.quiz-actions{justify-content:center}.quiz-actions>.button{order:-1}.lesson-step{padding-right:14px}.lesson-toolbar{gap:8px}.lesson-toolbar .quiet-note{max-width:170px}}
@media(max-width:380px){.page{padding-left:14px;padding-right:14px}.site-header{padding-left:14px;padding-right:14px}.adventure h3{font-size:10.5px}.home-card{padding-left:43px}.quiz-card{padding-left:42px;padding-right:13px}.quiz-top{flex-wrap:wrap}.quiz-question{font-size:24px}.lesson-step{padding-left:42px}.number-hop .bubble{width:30px;height:30px;font-size:16px}.number-hop small{font-size:9px}.number-hop{gap:3px}.coin{width:41px;height:41px}.section-heading{gap:5px}.filters{gap:0}.filter{padding:5px}.class-week h2{font-size:13px}.class-week p{font-size:9px}.card-footnote{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
@media print{.site-header,.site-footer,.button,.listen,.lesson-toolbar,.back-link,.toast,.home-actions{display:none}body{background:white;color:black}.page{max-width:none;padding:0}.lesson-step,.quiz-card,.ruled-card{break-inside:avoid;box-shadow:none}}

/* Current teacher topics, October 29 refresh. */
.deck-subject{display:block;font:11px var(--mono,var(--sans));text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;color:#52525b}
.deck-summary{font-size:13px;line-height:1.5;margin:8px 0 20px;color:#45454f}
.current-source-note{font-size:12px;color:#55515b;margin:-8px 0 20px}
.review-adventures{margin-top:25px;border-top:1px solid var(--line,#c5c5c5);padding-top:16px}
.review-adventures summary{cursor:pointer;font-weight:700;padding:9px 0}
.review-adventures .adventures{margin-top:15px}
.lesson-date-note{font-size:14px;line-height:1.6;margin-top:18px;color:#394450}
.study-clock{width:200px;max-width:100%;height:auto;display:block;color:#20232c}
.current-print-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:20px 0;font-size:13px}
.filters{flex-wrap:wrap;max-width:100%}
.home-page .section-heading{align-items:flex-start;flex-wrap:wrap;gap:18px}
@media(max-width:650px){.study-clock{width:180px}.deck-summary{font-size:12px}.filters{justify-content:flex-start}.lesson-date-note{font-size:13px}}
