/* Screen layout is deliberately more spacious than the print stylesheet. */
body {font-family:'Trebuchet MS',Arial,sans-serif;background:linear-gradient(#e4faf6,#fff9e7);font-size:18px;color:#123f4b;}
.hub-home {display:inline-flex;align-items:center;min-height:48px;padding:10px 18px;background:white;border:2px solid #197c7a;border-radius:18px;color:#145c63;font-weight:bold;margin:12px 0;text-decoration:none;}
.skill-note,.parent-progress {background:#fff;padding:18px;border-radius:18px;border:2px solid #afdcd2;line-height:1.6;}
.skill-note {max-width:700px;margin:16px auto 28px;font-size:17px;}
.parent-progress summary {cursor:pointer;font-weight:bold;min-height:48px;}
.turtle-mascot {font-size:48px;line-height:1;}.turtle-pencil {position:absolute;right:-7px;bottom:0;font-size:27px;}
.chrome-mascot {position:relative;}.worked-example {background:#edf9f4;border:2px solid #9bcfc0;border-radius:20px;padding:16px 22px;margin:18px 0;line-height:1.6;}
.worked-example h3 {font-size:21px;margin:0 0 8px;}.worked-example ol {margin:0;padding-left:24px;}
.level-page .controls {justify-content:flex-start!important;gap:12px!important;}

.learner-panel{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px auto 26px;padding:14px 18px;max-width:760px;background:rgba(255,255,255,.9);border:2px solid #76d7cf;border-radius:20px;box-shadow:0 6px 0 rgba(18,105,118,.12)}
.learner-panel label{font-weight:800}.learner-panel select,.learner-panel input{min-height:46px;border:2px solid #b8ddd7;border-radius:13px;padding:8px 12px;font:inherit;background:#fff}.learner-panel input{max-width:220px}.learner-panel button{min-height:46px}.learner-status{width:100%;margin:0;text-align:center;color:#356a70;font-size:.92rem}
.challenge-path{display:contents}.challenge-control{order:-3}.challenge-meta{order:-1;flex:1 1 100%;padding:2px 4px;color:#52777b;font-size:.9rem}.challenge-select{min-height:48px;border:2px solid #72cfc6;border-radius:13px;padding:8px 12px;font:inherit;font-weight:700;background:white}.worksheet-mode{order:-2;min-height:48px}.challenge-path.custom-mode .challenge-select{border-color:#f3bb57}
.progress-dashboard{margin-top:16px}.progress-dashboard h3{margin:.3rem 0}.progress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.progress-stats span{padding:10px;border-radius:12px;background:#edf9f6;text-align:center}.progress-stats b{display:block;font-size:1.3rem;color:#09697b}.award-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:7px;margin-top:12px}.award-grid span{padding:7px 9px;border-radius:10px;background:#eef2f1;color:#6d7b7d}.award-grid .earned{background:#fff0b8;color:#704d00;font-weight:700}
@media(max-width:700px){.challenge-control,.challenge-path select,.challenge-path button{width:100%}.learner-panel{align-items:stretch}.learner-panel label,.learner-panel select,.learner-panel input,.learner-panel button{width:100%;max-width:none}.progress-stats{grid-template-columns:1fr}.award-grid{grid-template-columns:1fr 1fr}}
@media print{.learner-panel,.challenge-path,.progress-dashboard{display:none!important}}
.math-pictograph{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 8px;padding:10px 12px;border-radius:14px;background:#f0fbf8;font-size:1.45rem;letter-spacing:3px}.math-pictograph b{font-size:1.2rem;color:#0b6878}.strand-badge{display:block;width:max-content;margin:6px auto 0;padding:3px 8px;border-radius:999px;background:#e8f7f3;color:#246a70;font-size:.72rem;font-weight:800;letter-spacing:.04em}.strand-badge.enrichment{background:#fff1c9;color:#7b5700}.breadcrumb{display:flex;gap:6px;align-items:center;margin:8px 0 14px;color:#55777a;font-weight:700}.read-aloud{min-height:44px}.curriculum-note{margin:12px 0;padding:10px 13px;border-left:5px solid #62cfc4;border-radius:8px;background:#effbf8;color:#315f65}
button,a,select,input{touch-action:manipulation}button{min-height:44px}#sound-toggle{min-width:44px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:4px solid #ffb627;outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.placement-toggle{display:block;margin:0 auto 14px}.placement-check{max-width:760px;margin:0 auto 24px;padding:20px;border:3px solid #70d4ca;border-radius:22px;background:white}.placement-check h2{margin-top:0}.placement-question{margin:12px 0;padding:12px;border:2px solid #d5e8e4;border-radius:14px}.placement-question legend{font-weight:800}.placement-question label{display:inline-flex;align-items:center;min-height:44px;margin-right:18px;padding:4px 8px}.placement-question input{width:22px;height:22px}.placement-result{font-weight:800;color:#075f70}
.connection-status{padding:5px 9px;border-radius:999px;background:#e8f7f3;color:#145b62;font-size:.76rem;font-weight:800}.connection-status.offline{background:#fff0b8;color:#704d00}@media(max-width:520px){.connection-status{position:absolute;top:68px;right:10px}}
.parent-actions{display:flex;flex-wrap:wrap;gap:8px}.restore-progress{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border-radius:12px;background:#08798a;color:white;font-weight:800;cursor:pointer}.restore-progress input{position:absolute;width:1px;height:1px;opacity:0}.backup-note{font-size:.84rem;color:#5f7376}.backup-status{font-weight:700;color:#075f70}
.level-page .controls label,.level-page .controls select,.level-page .controls button,.level-page .back-btn {font-size:17px!important;min-height:48px;padding:10px 14px!important;}
.level-page .controls label {flex-wrap:wrap;}.level-page .controls select {max-width:100%;}
.level-page .ans {font-family:inherit!important;min-height:44px;font-size:20px!important;min-width:48px;}
.level-page .grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;}
.level-page .problem {flex-wrap:wrap;white-space:normal!important;align-items:center!important;min-width:0;line-height:1.6;padding:14px!important;background:white;border:1px solid #cae6df;border-radius:14px;}
.answer-status {font:600 14px/1.4 Arial,sans-serif;color:#994119;display:inline-block;max-width:110px;}.answer-status.is-correct {color:#17613a;}
.sudoku-cell .answer-status,.cw-cell .answer-status,.chart-cell .answer-status {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.worksheet-feedback {font-weight:bold;line-height:1.6;min-height:1.6em;}.pool-note {font-size:16px;}.solution-steps {flex-basis:100%;font-size:16px;padding-left:23px;line-height:1.6;}
.level-page button:disabled {opacity:.65;cursor:not-allowed;}.level-page input[readonly] {background:#e0f4e8;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {outline:3px solid #124d90!important;outline-offset:4px;}
[hidden] {display:none!important;}.level-page svg {max-width:100%;}.level-page .crossword-wrap {overflow-x:auto;max-width:100%;}
.level-page .gk-options button {min-height:48px;font-size:17px!important;}
@media(max-width:600px){body{padding:12px 12px 40px!important;}.level-page .grid{grid-template-columns:1fr!important;}.level-page .controls>label{width:100%;}.level-page .controls select{flex:1;min-width:0;}.level-page .name-date{flex-wrap:wrap;gap:16px;}.level-page .controls button{flex:1 1 135px;}.worked-example{padding:14px;}.level-page .shape-grid{grid-template-columns:1fr!important;}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

/* Compact worksheet workspace: controls first, questions immediately below. */
#app-chrome{padding:5px 12px!important;min-height:48px}#app-chrome .chrome-mascot{width:32px;height:32px}#app-chrome .chrome-title{font-size:1rem}#star-counter{padding:3px 10px 3px 6px;box-shadow:none}#sound-toggle{width:36px;height:36px;min-height:36px}
.level-page:has(.section:not([id$="-home"]).active)>h1,.level-page:has(.section:not([id$="-home"]).active)>.subtitle{display:none!important}.level-page:has(.section:not([id$="-home"]).active)>.back-to-levels{margin:4px 4px 6px!important;padding:5px 12px!important;min-height:38px!important}
.compact-worksheet{padding-top:0!important}.compact-worksheet>.back-btn{margin:2px 6px 4px 0!important;min-height:38px!important;padding:5px 12px!important}.compact-worksheet>.breadcrumb{display:inline-flex;margin:3px 0 5px!important;font-size:.82rem}.compact-worksheet h2.section-title{margin:2px 0!important;font-size:1.45rem!important}.compact-worksheet>.section-sub{margin:0 0 6px!important;font-size:.84rem!important}.compact-worksheet .controls{margin:6px 0!important;padding:8px!important;gap:6px!important;border-width:2px!important;border-radius:14px!important}.compact-worksheet .controls label,.compact-worksheet .controls select,.compact-worksheet .controls button{font-size:15px!important;min-height:40px!important;padding:6px 10px!important}.compact-worksheet .controls>label{flex:1 1 190px}.compact-worksheet .controls button{flex:0 1 auto;box-shadow:0 2px 0 var(--k-marigold-dark)!important}.compact-worksheet .challenge-meta{display:none}.compact-worksheet .worksheet-feedback{margin:3px 0!important;min-height:1.25em!important;font-size:.88rem;line-height:1.25}.compact-worksheet .pool-note{display:none}.compact-worksheet .name-date{margin:5px 0!important;padding:4px 0!important;font-size:.85rem}.compact-worksheet .grid{gap:10px!important}.compact-worksheet .problem{padding:10px!important;line-height:1.35!important}.compact-worksheet .math-pictograph{margin:0 0 4px;padding:6px 8px;font-size:1.1rem}.compact-worksheet .worked-example,.compact-worksheet .curriculum-note{margin:6px 0!important;padding:10px 13px!important}.compact-worksheet .worked-example[hidden],.compact-worksheet .curriculum-note[hidden]{display:none!important}
.compact-worksheet .worksheet-mode{display:none!important}.print-options{flex:0 1 auto}.print-options summary{display:flex;align-items:center;min-height:40px;padding:6px 10px;border:2px solid var(--k-lavender);border-radius:999px;background:white;font-weight:800;cursor:pointer}.print-options[open]{flex:1 1 100%;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.print-options[open] summary{flex-basis:100%}.print-options label{display:inline-flex!important}
@media(max-width:600px){#app-chrome .chrome-title{display:none}.connection-status{top:54px}.compact-worksheet .controls>label{width:auto!important;flex:1 1 125px}.compact-worksheet .challenge-select{width:auto!important;min-width:125px}.compact-worksheet .controls select{max-width:150px!important;min-width:0}.compact-worksheet .controls button{flex:1 1 100px;min-height:38px!important;padding:5px 8px!important;font-size:14px!important}.compact-worksheet .read-aloud,.compact-worksheet .hint-button{display:none!important}.compact-worksheet>.section-sub{display:none!important}.compact-worksheet .name-date{flex-wrap:nowrap;gap:8px}.compact-worksheet .name-date span{padding-right:24px!important}.compact-worksheet .controls button:disabled{display:none}.print-options{flex:1 1 110px}.print-options summary{min-height:38px;padding:5px 8px;font-size:14px}.print-options[open]{flex-basis:100%}}
.card.fractions{background:linear-gradient(145deg,#ffb33b,#ff7c64)}
.fraction-grid{display:grid;gap:14px}
.fraction-problem{display:grid;grid-template-columns:minmax(150px,220px) 1fr auto;align-items:center;gap:18px}
.fraction-model{display:flex;width:100%;height:72px;border:4px solid #126b78;border-radius:16px;overflow:hidden;background:#fff}
.fraction-model span{flex:1;border-right:2px solid #126b78;background:#fff}
.fraction-model span:last-child{border-right:0}
.fraction-model .shaded{background:linear-gradient(145deg,#ffd263,#ff856d)}
.fraction-prompt{font-size:1.1rem;font-weight:700}
.fraction-pair{display:grid;gap:5px;width:100%}.fraction-pair .fraction-model{height:34px}
.fraction-line{position:relative;width:100%;height:64px;margin:12px 4px 0;border-top:4px solid #126b78}.fraction-line i{position:absolute;top:-10px;width:3px;height:18px;background:#126b78}.fraction-line b{position:absolute;top:-13px;width:18px;height:18px;border-radius:50%;background:#ff725e;transform:translateX(-50%);box-shadow:0 0 0 3px white}.fraction-line span{position:absolute;top:15px;font-weight:800}.line-zero{left:0}.line-one{right:0}
.interactive-shade span{cursor:pointer}.interactive-shade span:focus-visible{outline:4px solid #124d90;outline-offset:-4px}.shade-answer{position:absolute!important;width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;opacity:0;pointer-events:none}.shade-count{font-size:.9rem;font-weight:800;color:#315f65}
.fraction-set{display:flex;flex-wrap:wrap;gap:.3rem;max-width:15rem;align-items:center;justify-content:center;font-size:1.65rem}.fraction-set span{filter:grayscale(1);opacity:.42}.fraction-set span.selected{filter:none;opacity:1}.mixed-model{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}.mixed-model .fraction-model{min-width:5rem}
.fraction-food{--food-x:0%;--food-y:0%;position:relative;width:8rem;aspect-ratio:1;border-radius:50%;overflow:hidden;background-image:url('fraction-foods.png');background-size:200% 200%;background-position:var(--food-x) var(--food-y);box-shadow:0 .3rem .55rem #1233}.fraction-food>span{position:absolute;inset:0;background:repeating-conic-gradient(from -90deg,transparent 0 calc(360deg/var(--parts) - 2deg),#fff 0 calc(360deg/var(--parts))),conic-gradient(from -90deg,transparent 0 calc(var(--shaded)/var(--parts)*360deg),#eef7f7dd 0 360deg)}.food-pie{--food-x:100%;--food-y:0%}.food-roshi{--food-x:0%;--food-y:100%}.food-coconut{--food-x:100%;--food-y:100%}.interactive-food{cursor:pointer;outline:4px dashed #ef9f36;outline-offset:.2rem}.interactive-food:focus-visible{outline:5px solid #124d90}.fraction-pair .fraction-food{width:6.5rem}
@media print{.shade-count{display:none!important}.interactive-shade span{background:#fff!important}.interactive-food>span{background:repeating-conic-gradient(from -90deg,transparent 0 calc(360deg/var(--parts) - 2deg),#fff 0 calc(360deg/var(--parts))),#eef7f7dd!important}}
@media(max-width:600px){.fraction-problem{grid-template-columns:1fr auto}.fraction-model{grid-column:1/-1;height:58px}.fraction-prompt{font-size:1rem}}

.hub-home{min-height:48px;display:inline-flex;align-items:center;padding:10px 20px;border-radius:999px;background:#fff9e9;color:#126571;border:2px solid #207d80;box-shadow:0 4px 0 #207d80;text-decoration:none;font-weight:800}.hub-home:hover{background:#ffedb5}.hub-home:focus-visible{outline:3px solid #a94019;outline-offset:5px}@media print{.hub-home{display:none!important}}
