@font-face{font-display:swap;font-family:TeachersPet;font-style:normal;font-weight:400;src:local("Teachers Pet Regular"),local("TeachersPet Regular"),local("TeachersPetRegular"),url(/static/media/TeachersPet.1f67fafc02a2a3c14dd7.ttf) format("truetype")}@font-face{font-display:swap;font-family:CatchUP;font-style:normal;font-weight:400;src:url(/static/media/CatchUP.2bcf46ff0bac468df30d.ttf) format("truetype")}:root{--kc-brand-pink:#ec4899;--kc-brand-blue:#2563eb;--kc-brand-green:#16a34a;--kc-brand-cream:#fffdf7;--kc-brand-paper:#fffef9;--kc-brand-ink:#171717;--kc-brand-brown:#78350f;--kc-accent:#fb923c;--kc-accent-dark:#c2410c;--kc-accent-soft:#fff7ed;--kc-accent-border:#fdba74;--kc-grass:#22c55e;--kc-title-band:var(--kc-accent);--kc-workbook-rule:#d4c4a8;--kc-workbook-margin:#e8dcc8;--fp-font-family:"TeachersPet","Teachers Pet Regular","Comic Sans MS","Comic Neue",cursive,sans-serif}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-6{margin-top:1.5rem}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.\!hidden{display:none!important}.hidden{display:none}.min-h-\[2\.75rem\]{min-height:2.75rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.rounded-2xl{border-radius:1rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-blue-300{--tw-border-opacity:1;border-color:#93c5fd;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-purple-200{--tw-border-opacity:1;border-color:#e9d5ff;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-50{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:#eff6ff00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:#22c55e00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:#ef444400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-purple-50{--tw-gradient-to:#faf5ff00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#faf5ff var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-emerald-500{--tw-gradient-to:#10b981 var(--tw-gradient-to-position)}.to-pink-50{--tw-gradient-to:#fdf2f8 var(--tw-gradient-to-position)}.to-rose-500{--tw-gradient-to:#f43f5e var(--tw-gradient-to-position)}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.text-center{text-align:center}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.tracking-wider{letter-spacing:.05em}.text-gray-600{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:#9333ea;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-700{--tw-text-opacity:1;color:#7e22ce;color:rgb(126 34 206/var(--tw-text-opacity,1))}.text-purple-900{--tw-text-opacity:1;color:#581c87;color:rgb(88 28 135/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1f2937;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0;min-height:100dvh;overflow-x:hidden}[role=button]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2563eb;outline:3px solid var(--kc-brand-blue);outline-offset:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}img,svg,video{height:auto;max-width:100%}.app-layout{background:#fafafa;min-height:100dvh}.app-layout--brand{background:linear-gradient(180deg,color-mix(in srgb,#2563eb 10%,#fff),#fffdf7 42%,color-mix(in srgb,#22c55e 14%,#fff));background:linear-gradient(180deg,color-mix(in srgb,var(--kc-brand-blue) 10%,#fff) 0,var(--kc-brand-cream) 42%,color-mix(in srgb,var(--kc-grass) 14%,#fff) 100%)}.app-layout__inner{margin:0 auto;max-width:68rem;padding:max(.65rem,env(safe-area-inset-top,0px)) max(.75rem,env(safe-area-inset-right,0px)) max(1rem,env(safe-area-inset-bottom,0px)) max(.75rem,env(safe-area-inset-left,0px));width:100%}.app-layout--wide .app-layout__inner{max-width:75rem}.app-layout--admin .app-layout__inner{max-width:none;padding:0}.app-layout__header{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.app-shell{background:linear-gradient(180deg,color-mix(in srgb,#2563eb 8%,#fff),#fffdf7 38%,color-mix(in srgb,#22c55e 12%,#fff));background:linear-gradient(180deg,color-mix(in srgb,var(--kc-brand-blue) 8%,#fff) 0,var(--kc-brand-cream) 38%,color-mix(in srgb,var(--kc-grass) 12%,#fff) 100%);min-height:100dvh;padding:max(.65rem,env(safe-area-inset-top,0px)) max(.75rem,env(safe-area-inset-right,0px)) max(1.25rem,env(safe-area-inset-bottom,0px)) max(.75rem,env(safe-area-inset-left,0px))}.app-container,.app-shell--loading{display:flex;flex-direction:column}.app-container{gap:1.25rem;margin:0 auto;max-width:min(52rem,100%);width:100%}.app-topbar{align-items:center;background:#fffef9;background:var(--kc-brand-paper);border:3px solid #2563eb;border-top:5px solid #ec4899;border:3px solid var(--kc-brand-blue);border-radius:.85rem;border-top:5px solid var(--kc-brand-pink);box-shadow:0 4px 18px -8px color-mix(in srgb,#c2410c 35%,#0000);box-shadow:0 4px 18px -8px color-mix(in srgb,var(--kc-accent-dark) 35%,#0000);display:flex;flex-wrap:wrap;gap:1rem 1.25rem;justify-content:space-between;overflow:hidden;padding:.75rem 1rem;position:relative}.app-topbar:after{background:#22c55e;background:var(--kc-grass);bottom:0;content:"";height:4px;left:0;pointer-events:none;position:absolute;right:0}.lesson-portal .app-cover{box-shadow:0 2px 6px #5c3d122e}.app-brand{align-items:center;display:flex;flex:1 1 16rem;gap:.85rem;min-width:0}.app-logo{height:3rem;max-width:9.5rem}.app-cover,.app-logo{flex-shrink:0;object-fit:contain;width:auto}.app-cover{border:2px solid #2563eb;border:2px solid var(--kc-brand-blue);border-radius:.2rem;box-shadow:0 3px 10px color-mix(in srgb,#c2410c 28%,#0000);box-shadow:0 3px 10px color-mix(in srgb,var(--kc-accent-dark) 28%,#0000);height:4.75rem;max-width:3.35rem}.app-title-block{min-width:0}.app-title{color:#171717;color:var(--kc-brand-ink);font-family:CatchUP,TeachersPet,Comic Sans MS,cursive,sans-serif;font-size:clamp(1.15rem,2.8vw,1.55rem);font-weight:800;line-height:1.2;margin:0}.app-subtitle{color:#6b7280;font-size:.8rem;line-height:1.4;margin:.2rem 0 0}.app-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.app-toolbar__btn,.app-toolbar__select{background:#fff;border:1px solid #e5e7eb;border-radius:999px;cursor:pointer;font-family:inherit;font-size:.85rem;padding:.5rem .9rem;white-space:nowrap}.app-toolbar__btn--sound-on{background:#22c55e;border-color:#22c55e;color:#fff}.app-toolbar__btn--muted{background:#9ca3af;border-color:#9ca3af;color:#fff}.app-toolbar__btn--helper{background:#16a34a;background:var(--kc-brand-green);border-color:#16a34a;border-color:var(--kc-brand-green);color:#fff}.foundation-font .app-subtitle{color:#57534e;font-size:1.28rem;font-size:var(--fp-text-sm);line-height:1.55;line-height:var(--fp-line-body)}.foundation-font .app-toolbar__btn,.foundation-font .app-toolbar__select{font-size:1.28rem;font-size:var(--fp-text-sm);min-height:var(--fp-touch-min)}.kc-game__stack{display:flex;flex-direction:column;gap:1rem}.kc-game__stack--center{align-items:center;text-align:center}.kc-game__emoji-lg{font-size:3.5rem;line-height:1;margin-bottom:1rem}.kc-game__chips--center{justify-content:center}.kc-game__title-lg--success{color:#16a34a;color:var(--kc-brand-green)}.kc-game__header-row{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem}.kc-game__heading{color:#c2410c;color:var(--kc-accent-dark);font-size:2.1rem;font-size:var(--fp-text-xl);font-weight:700;margin:0}.kc-game__subheading{font-size:1.28rem;font-size:var(--fp-text-sm);opacity:.75}.kc-game__celebration{color:#fb923c;color:var(--kc-accent);font-size:2.1rem;font-size:var(--fp-text-xl);font-weight:700;text-align:center}.kc-game__celebration--bounce{animation:kc-bounce .6s ease infinite}@keyframes kc-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.kc-game__grid-2{grid-gap:1rem;display:grid;gap:1rem}@media (min-width:768px){.kc-game__grid-2{grid-template-columns:1fr 1fr}}.kc-game__card{background:#fff;border:2px solid #fdba74;border:2px solid var(--kc-accent-border);border-radius:1rem;padding:.85rem}.kc-game__card-label{font-size:1.28rem;font-size:var(--fp-text-sm);margin-bottom:.5rem;opacity:.7}.kc-game__card-actions{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:.5rem}.kc-game__pool{display:flex;flex-direction:column;gap:.5rem}.kc-game__pool-btn{background:#fff;border:1px solid #fdba74;border:1px solid var(--kc-accent-border);border-radius:.75rem;box-shadow:0 1px 3px #0000000f;cursor:pointer;padding:.65rem .85rem;text-align:left;transition:transform .15s ease}.kc-game__pool-btn:hover{transform:scale(1.01)}.kc-game__order-list{display:flex;flex-direction:column;gap:.5rem;list-style:decimal inside;margin:0;padding:0}.kc-game__order-item{border-radius:.75rem;box-shadow:0 1px 3px #0000000f;padding:.65rem .85rem}.kc-game__order-item--ok{background:color-mix(in srgb,#16a34a 14%,#fff);background:color-mix(in srgb,var(--kc-brand-green) 14%,#fff)}.kc-game__order-item--wrong{background:color-mix(in srgb,#f43f5e 12%,#fff)}.kc-game__success-text{color:#16a34a;color:var(--kc-brand-green);font-weight:600;margin-top:.75rem}.kc-game__title-lg{color:#c2410c;color:var(--kc-accent-dark);font-size:2.5rem;font-size:var(--fp-text-2xl);font-weight:800;margin:0 0 .5rem}.kc-game__highlight{background:#fff7ed;background:var(--kc-accent-soft);border-radius:.35rem;padding:.15rem .5rem}.kc-game__muted{color:#57534e;font-size:1.75rem;font-size:var(--fp-text-lg)}.kc-game__progress-track{background:#e5e7eb;border-radius:999px;height:.75rem;overflow:hidden;width:100%}.kc-game__progress-fill{background:linear-gradient(90deg,#16a34a,#fb923c);background:linear-gradient(90deg,var(--kc-brand-green),var(--kc-accent));border-radius:999px;height:100%;transition:width .5s ease}.kc-game__panel{background:linear-gradient(135deg,#fff7ed,color-mix(in srgb,#2563eb 8%,#fff));background:linear-gradient(135deg,var(--kc-accent-soft) 0,color-mix(in srgb,var(--kc-brand-blue) 8%,#fff) 100%);border:3px solid #fdba74;border:3px solid var(--kc-accent-border);border-radius:1.5rem;padding:1.25rem 1rem;text-align:center}@media (min-width:640px){.kc-game__panel{padding:2rem 1.5rem}}.kc-game__input{background:#0000;border:none;border-bottom:4px dashed #fb923c;border-bottom:4px dashed var(--kc-accent);margin:0 .25rem;outline:none;text-align:center}.kc-game__actions{align-items:stretch;display:flex;flex-wrap:wrap;gap:.75rem 1rem;justify-content:center;margin-bottom:1rem}.kc-game__btn{align-items:center;border:none;border-radius:1rem;cursor:pointer;display:inline-flex;font-size:1.75rem;font-size:var(--fp-text-lg);font-weight:700;gap:.35rem;justify-content:center;min-height:2.85rem;min-height:var(--fp-touch-min);padding:.85rem 1.5rem}.kc-game__btn--primary{background:#fb923c;background:var(--kc-accent);color:#fff}.kc-game__btn--primary:hover:not(:disabled){background:#c2410c;background:var(--kc-accent-dark)}.kc-game__btn--primary:disabled{background:#d1d5db;cursor:not-allowed}.kc-game__btn--success{background:#16a34a;background:var(--kc-brand-green);color:#fff}.kc-game__btn--success:hover{filter:brightness(.92)}.kc-game__btn--link{background:#0000;color:#c2410c;color:var(--kc-accent-dark);font-size:1.28rem;font-size:var(--fp-text-sm);font-weight:600;min-height:auto;padding:0;text-decoration:underline}.kc-game__hint-box{background:#fff7ed;background:var(--kc-accent-soft);border-left:4px solid #fb923c;border-left:4px solid var(--kc-accent);border-radius:.5rem;padding:1rem;text-align:left}.kc-game__hint-box p{color:#c2410c;color:var(--kc-accent-dark);font-weight:600;margin:.25rem 0 0}.kc-game__feedback{border-radius:1rem;font-size:2.1rem;font-size:var(--fp-text-xl);font-weight:700;padding:1rem;text-align:center}.kc-game__feedback--ok{background:color-mix(in srgb,#16a34a 15%,#fff);background:color-mix(in srgb,var(--kc-brand-green) 15%,#fff);color:#166534}.kc-game__feedback--warn{background:color-mix(in srgb,#fb923c 15%,#fff);background:color-mix(in srgb,var(--kc-accent) 15%,#fff);color:#c2410c;color:var(--kc-accent-dark)}.kc-game__chips{display:flex;flex-wrap:wrap;gap:.5rem}.kc-game__chip{border-radius:999px;font-size:1.5rem;font-size:var(--fp-text-base);font-weight:600;padding:.4rem .85rem}.kc-game__chip--done{background:color-mix(in srgb,#16a34a 15%,#fff);background:color-mix(in srgb,var(--kc-brand-green) 15%,#fff);color:#166534}.kc-game__chip--pending{background:#f3f4f6;color:#6b7280}.kc-game__choice-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr}@media (min-width:640px){.kc-game__choice-grid{grid-template-columns:1fr 1fr}}.kc-game__choice{background:#fff;border:2px solid #fdba74;border:2px solid var(--kc-accent-border);border-radius:1rem;box-shadow:0 1px 4px #0000000f;cursor:pointer;min-height:2.85rem;min-height:var(--fp-touch-min);padding:.85rem 1rem;text-align:left;transition:transform .15s ease}.kc-game__choice:hover:not(:disabled){transform:scale(1.02)}.kc-game__choice--ok{background:color-mix(in srgb,#16a34a 14%,#fff);background:color-mix(in srgb,var(--kc-brand-green) 14%,#fff);border-color:#16a34a;border-color:var(--kc-brand-green)}.kc-game__choice--wrong{background:color-mix(in srgb,#f43f5e 12%,#fff);border-color:#f43f5e}.kc-game__nav-btn{background:#fff;border:1px solid #fdba74;border:1px solid var(--kc-accent-border);border-radius:1rem;cursor:pointer;flex-shrink:0;font-size:1.5rem;font-size:var(--fp-text-base);min-height:2.85rem;min-height:var(--fp-touch-min);padding:.5rem .85rem}.kc-game__nav-btn:hover:not(:disabled){background:#fff7ed;background:var(--kc-accent-soft)}.kc-game__nav-btn--primary{background:#fb923c;background:var(--kc-accent);border-color:#fb923c;border-color:var(--kc-accent);color:#fff}.kc-game__nav-btn--primary:hover:not(:disabled){background:#c2410c;background:var(--kc-accent-dark)}.ai-hint-banner{background:linear-gradient(135deg,#fff7ed,color-mix(in srgb,#2563eb 10%,#fff));background:linear-gradient(135deg,var(--kc-accent-soft) 0,color-mix(in srgb,var(--kc-brand-blue) 10%,#fff) 100%);border:2px solid #fdba74;border:2px solid var(--kc-accent-border);border-radius:1rem;margin-bottom:1rem;padding:1rem}.ai-hint-banner__head{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.5rem}.ai-hint-banner__meta{align-items:flex-start;display:flex;gap:.5rem;min-width:0}.ai-hint-banner__icon{flex-shrink:0;font-size:1.75rem;line-height:1}.ai-hint-banner__title{color:#c2410c;color:var(--kc-accent-dark);font-size:1.75rem;font-size:var(--fp-text-lg);font-weight:700;margin:0}.ai-hint-banner__story{color:#c2410c;color:var(--kc-accent-dark);font-size:1.28rem;font-size:var(--fp-text-sm);margin:.15rem 0 0;opacity:.85}.ai-hint-banner__body{color:#171717;color:var(--kc-brand-ink);line-height:1.55;line-height:var(--fp-line-body);margin:0}.ai-hint-banner__dismiss{background:#0000;border:none;border-radius:.5rem;color:#c2410c;color:var(--kc-accent-dark);cursor:pointer;flex-shrink:0;font-size:1.28rem;font-size:var(--fp-text-sm);font-weight:700;min-height:2.85rem;min-height:var(--fp-touch-min);padding:.25rem .5rem}.ai-hint-banner__dismiss:hover{background:color-mix(in srgb,#fb923c 12%,#fff);background:color-mix(in srgb,var(--kc-accent) 12%,#fff)}.app-lesson-card{background:#fffef9;background:var(--kc-brand-paper);border:2px solid #e8dcc8;border-left:6px solid #fb923c;border:2px solid var(--kc-workbook-margin);border-left:6px solid var(--kc-accent);border-radius:1rem;box-shadow:0 8px 24px -12px color-mix(in srgb,#c2410c 22%,#0000);box-shadow:0 8px 24px -12px color-mix(in srgb,var(--kc-accent-dark) 22%,#0000);padding:1.35rem 1.5rem}.app-lesson-toolbar{align-items:center;border-bottom:2px solid color-mix(in srgb,#2563eb 15%,#e5e7eb);border-bottom:2px solid color-mix(in srgb,var(--kc-brand-blue) 15%,#e5e7eb);display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:.5rem;padding-bottom:1rem}.app-lesson-hint{color:#c2410c;color:var(--kc-accent-dark);flex:1 1 12rem;font-size:1.05rem;font-weight:600;line-height:1.45;margin:0}.app-footer{color:#9ca3af;font-size:.75rem;margin-top:.25rem;text-align:center}.app-loading{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:2rem 1rem;text-align:center}.portal-professional{-webkit-font-smoothing:antialiased;color:#171717;color:var(--kc-brand-ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1rem;line-height:1.5}.portal-brand{--portal-navy:var(--kc-brand-ink);--portal-slate:#292524;--portal-accent:var(--kc-brand-blue);--portal-accent-hover:#1d4ed8;--portal-accent-soft:color-mix(in srgb,var(--kc-brand-blue) 10%,#fff);--portal-border:color-mix(in srgb,var(--kc-brand-blue) 18%,#e5e7eb);--portal-surface:var(--kc-brand-paper);--portal-muted:#57534e;--portal-success:var(--kc-brand-green);--portal-success-soft:#ecfdf5;--portal-warning-soft:var(--kc-accent-soft);--portal-danger:#b91c1c;--portal-radius:0.75rem;--portal-shadow:0 4px 18px -8px color-mix(in srgb,var(--kc-accent-dark) 22%,#0000)}.portal-professional .bookshelf-page{font-family:inherit}.foundation-font .student-ended,.foundation-font .student-join,.foundation-font .student-wait{font-family:inherit;font-size:1.5rem;font-size:var(--fp-text-base);line-height:1.55;line-height:var(--fp-line-body)}.foundation-font .student-ended__title,.foundation-font .student-join__title,.foundation-font .student-wait__title{font-size:2.5rem;font-size:var(--fp-text-2xl);line-height:1.35;line-height:var(--fp-line-heading,1.35)}.foundation-font .student-ended__text,.foundation-font .student-join__hint,.foundation-font .student-join__label,.foundation-font .student-join__text,.foundation-font .student-wait__text{font-size:1.75rem;font-size:var(--fp-text-lg)}.foundation-font .student-join__input,.foundation-font .student-join__submit{font-size:1.5rem;font-size:var(--fp-text-base)}.foundation-font .student-wait__code,.foundation-font .student-wait__hello{font-size:1.28rem;font-size:var(--fp-text-sm)}.foundation-font{-webkit-font-smoothing:antialiased;font-family:TeachersPet,Teachers Pet Regular,Comic Sans MS,Comic Neue,cursive,sans-serif;font-family:var(--fp-font-family);font-synthesis:none}.foundation-font *,.foundation-font button,.foundation-font input,.foundation-font select,.foundation-font textarea{font-family:inherit!important}.catchup-font{font-synthesis:none}.catchup-font,.foundation-font .app-title,.foundation-font .book-flow__blend,.foundation-font .book-flow__eyebrow,.foundation-font .book-flow__title,.foundation-font .bookshelf-alignment__title,.foundation-font .bookshelf-brand-cover__band-title,.foundation-font .bookshelf-brand-cover__title,.foundation-font .bookshelf-coming__title,.foundation-font .brand-cover__band-title,.foundation-font .brand-cover__title,.foundation-font .invigilator__heading,.foundation-font .pwa-install-banner__title,.foundation-font .student-ended__title,.foundation-font .student-join__title,.foundation-font .student-wait__title{font-family:TeachersPet,Teachers Pet Regular,Comic Sans MS,Comic Neue,cursive,sans-serif!important;font-family:var(--fp-font-family)!important}:root{--fp-text-xs:1.1rem;--fp-text-sm:1.28rem;--fp-text-base:1.5rem;--fp-text-lg:1.75rem;--fp-text-xl:2.1rem;--fp-text-2xl:2.5rem;--fp-text-3xl:2.85rem;--fp-text-display:6.5rem;--fp-line-body:1.55;--fp-line-story:2.15;--fp-line-heading:1.35;--fp-touch-min:2.85rem}html.pwa-standalone body,html.touch-phone body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden;overscroll-behavior-y:contain}html.pwa-mobile,html.touch-phone{-webkit-tap-highlight-color:transparent}html.pwa-mobile .app-layout__inner,html.touch-phone .app-layout__inner{padding:max(.75rem,env(safe-area-inset-top,0px)) max(.5rem,env(safe-area-inset-right,0px)) max(.75rem,env(safe-area-inset-bottom,0px)) max(.5rem,env(safe-area-inset-left,0px))}html.pwa-mobile .app-shell{padding:max(.65rem,env(safe-area-inset-top,0px)) max(.5rem,env(safe-area-inset-right,0px)) max(1rem,env(safe-area-inset-bottom,0px)) max(.5rem,env(safe-area-inset-left,0px))}html.pwa-mobile .app-container{gap:1rem;max-width:100%}html.pwa-mobile .app-lesson-card{border-radius:1rem;padding:1rem .85rem}html.pwa-mobile .app-topbar{align-items:stretch;flex-direction:column;gap:.75rem;padding:.75rem .85rem}html.pwa-mobile .app-toolbar{gap:.4rem;justify-content:center;width:100%}html.pwa-mobile .app-toolbar__btn,html.pwa-mobile .app-toolbar__select{flex-basis:calc(50% - 0.25rem);flex-grow:1;flex-shrink:1;min-height:2.85rem;min-height:var(--fp-touch-min,2.85rem);min-width:0}html.pwa-mobile .book-lesson-chrome{background:#fffdf7;margin-bottom:.65rem;position:-webkit-sticky;position:sticky;top:max(.35rem,env(safe-area-inset-top,0px));z-index:45}html.pwa-mobile .book-lesson-step-nav{-webkit-overflow-scrolling:touch;display:flex;flex-wrap:nowrap;gap:.45rem;justify-content:flex-start;overflow-x:auto;padding:.55rem .45rem .65rem;scroll-snap-type:x proximity}html.pwa-mobile .book-lesson-step-nav .book-flow__nav-btn{background:#fff;border:2px solid #c4b5fd;color:#4c1d95;flex:0 0 auto;font-size:1.5rem;font-size:var(--fp-text-base);min-height:3rem;padding:.65rem .9rem;scroll-snap-align:start}html.pwa-mobile .book-flow__header,html.pwa-mobile .book-lesson-header--card-top{display:block;max-width:100%;padding-left:.5rem;padding-right:.5rem;visibility:visible}html.pwa-mobile .foundation-font .book-lesson-header--card-top .book-flow__title{font-size:clamp(1.75rem,8vw,2.25rem);line-height:1.2}html.pwa-mobile .app-lesson-toolbar{align-items:stretch;flex-direction:column;text-align:center}html.pwa-mobile .app-lesson-nav{width:100%}html.pwa-mobile .app-lesson-nav__select{flex:1 1 auto;min-height:3rem;width:100%}html.pwa-mobile .book-words-grid--breakthrough,html.pwa-mobile .book-words-grid--literacy{grid-template-columns:1fr}.book-words-grid--literacy{gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr))}.book-words-grid--literacy.book-words-grid--colour-set{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 auto;max-width:28rem}.book-words-card--literacy{align-items:center;border-radius:1rem;display:flex;flex-direction:column;gap:.5rem;padding:1rem .75rem .85rem;text-align:center}.book-words-card--literacy .book-words-card__visual{align-items:center;display:flex;justify-content:center;width:100%}.book-words-card--literacy .book-words-card__img{background:#fff;border-radius:.5rem;height:5rem;object-fit:contain;width:5rem}.book-words-card--literacy .book-words-card__word{color:#78350f;font-size:clamp(1.5rem,4.5vw,1.85rem);font-weight:700;line-height:1.15;text-transform:lowercase}.book-words-card--literacy .book-words-card__actions{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;margin-top:.15rem;width:100%}.book-words-card--literacy .book-words-card__read-btn,.book-words-card--literacy .read-hear-btn{font-size:.95rem;min-height:2.75rem}.literacy-colour-swatch{align-items:center;display:flex;flex-shrink:0;justify-content:center;overflow:hidden}.literacy-colour-swatch--hero{background:#fff;border:3px solid #d4c4a8;border-radius:.75rem;box-shadow:0 6px 16px -6px #5c3d1247;height:4.5rem;width:4.5rem}.literacy-colour-swatch__fill,.literacy-colour-swatch__img{display:block;height:100%;width:100%}.book-words-card--colour.book-words-card--read{background:#f0fdf4;border-color:#86efac}@media (max-width:480px){.book-words-grid--literacy{gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.literacy-colour-swatch--hero{height:3.75rem;width:3.75rem}.book-words-card--literacy{padding:.85rem .5rem .75rem}.book-words-card--literacy .book-words-card__word{font-size:1.35rem}}html.pwa-mobile .book-words-grid--literacy,html.touch-phone .book-words-grid--literacy{grid-template-columns:repeat(2,minmax(0,1fr))}html.pwa-mobile .literacy-colour-swatch--hero,html.touch-phone .literacy-colour-swatch--hero{height:4rem;width:4rem}html.pwa-mobile .word-pictures-band,html.touch-phone .word-pictures-band{gap:.65rem;margin:0}html.pwa-mobile .word-pictures-band__body,html.touch-phone .word-pictures-band__body{gap:.65rem}html.pwa-mobile .book-words-grid--literacy,html.touch-phone .book-words-grid--literacy{gap:.75rem}.workbook-page-collapsible{background:#fffef9;border:2px solid #e8dcc8;border-radius:.85rem;overflow:hidden}.workbook-page-collapsible__summary{-webkit-tap-highlight-color:transparent;background:linear-gradient(180deg,#fffef9,#fff8eb);color:#78350f;cursor:pointer;font-size:1rem;font-weight:700;list-style:none;padding:.85rem 1rem}.workbook-page-collapsible__summary::-webkit-details-marker{display:none}.workbook-page-collapsible[open] .workbook-page-collapsible__summary{border-bottom:1px dashed #d4c4a8}.workbook-page-collapsible .workbook-tap-page{border:none;border-radius:0;box-shadow:none;margin:0}html.pwa-mobile .breakthrough-flow__hero,html.touch-phone .breakthrough-flow__hero{margin-bottom:.35rem}html.pwa-mobile .breakthrough-flow__eyebrow,html.pwa-mobile .breakthrough-flow__part-hint,html.touch-phone .breakthrough-flow__eyebrow,html.touch-phone .breakthrough-flow__part-hint{font-size:.9rem}html.pwa-mobile .breakthrough-flow__title,html.touch-phone .breakthrough-flow__title{font-size:clamp(1.25rem,5.5vw,1.5rem);margin:.2rem 0}html.pwa-mobile .breakthrough-flow__part-head,html.touch-phone .breakthrough-flow__part-head{gap:.5rem}html.pwa-mobile .lesson-chrome__center,html.touch-phone .lesson-chrome__center{display:none}html.pwa-mobile .lesson-chrome,html.touch-phone .lesson-chrome{grid-template-columns:auto 1fr;padding:.45rem .55rem}html.pwa-mobile .lesson-chrome__right,html.touch-phone .lesson-chrome__right{justify-content:flex-end}html.pwa-mobile .book-lesson-header--card-top .book-flow__blend,html.touch-phone .book-lesson-header--card-top .book-flow__blend{display:none}html.pwa-mobile .app-lesson-hint,html.touch-phone .app-lesson-hint{font-size:.88rem;line-height:1.4}html.pwa-mobile .lesson-chrome{align-items:center;border-radius:.65rem;display:flex;flex-wrap:wrap;gap:.35rem .65rem;margin-bottom:.45rem;padding:.5rem .65rem;position:-webkit-sticky;position:sticky;top:max(.25rem,env(safe-area-inset-top,0px));z-index:48}html.pwa-mobile .lesson-chrome__center{align-items:flex-start;flex:1 1 8rem;text-align:left}html.pwa-mobile .lesson-chrome__eyebrow,html.pwa-mobile .lesson-chrome__subtitle{display:none}html.pwa-mobile .lesson-chrome__title{font-size:.95rem}html.pwa-mobile .lesson-chrome__right{align-items:center;flex-direction:row;gap:.35rem}html.pwa-mobile .app-shell--lesson .app-topbar{align-items:center;background:#fffdf7f5;border-bottom:1px solid #e8e0d4;flex-direction:row;gap:.5rem;margin-bottom:.35rem;padding:.55rem .65rem}html.pwa-mobile .app-shell--lesson .app-brand .app-cover,html.pwa-mobile .app-shell--lesson .app-subtitle{display:none}html.pwa-mobile .app-shell--lesson .app-title{font-size:clamp(1rem,4.5vw,1.2rem);line-height:1.2}html.pwa-mobile .app-shell--lesson .app-toolbar{flex:1 1 auto;justify-content:flex-end}html.pwa-mobile .app-shell--lesson .app-toolbar__btn--helper{display:none}html.pwa-mobile .app-shell--lesson .app-toolbar__btn,html.pwa-mobile .app-shell--lesson .app-toolbar__select{flex:0 1 auto;font-size:.85rem;min-width:0;padding:.5rem .7rem}html.pwa-mobile .invigilator-bar--compact{font-size:.78rem;margin-bottom:.35rem;margin-top:0;padding:.4rem .65rem}.pwa-status-banner{align-items:center;display:flex;font-size:.88rem;font-weight:600;gap:.5rem;line-height:1.35;padding:.55rem .85rem;z-index:200}.pwa-status-banner--offline{background:#fef3c7;border:2px solid #fbbf24;border-radius:.75rem;box-shadow:0 4px 16px -6px #92400e40;color:#92400e;left:max(.5rem,env(safe-area-inset-left,0px));position:fixed;right:max(.5rem,env(safe-area-inset-right,0px));top:max(.35rem,env(safe-area-inset-top,0px))}.pwa-status-banner--inline{background:#fffbeb;border:1px solid #fcd34d;border-radius:.65rem;color:#b45309;margin-bottom:.65rem}.pwa-status-banner__icon{flex-shrink:0;font-size:1.1rem}.pwa-status-banner__text{flex:1 1 auto}.pwa-status-banner__dismiss{background:#0000;border:none;color:inherit;cursor:pointer;flex-shrink:0;font-size:1rem;min-height:2.85rem;min-height:var(--fp-touch-min,2.25rem);min-width:2.85rem;min-width:var(--fp-touch-min,2.25rem);padding:.25rem .4rem}.pwa-update-toast{align-items:center;background:#1e293b;border-radius:.85rem;bottom:max(1rem,env(safe-area-inset-bottom,0px));box-shadow:0 8px 28px -8px #0f172a73;color:#f8fafc;display:flex;flex-wrap:wrap;gap:.5rem .75rem;left:max(.75rem,env(safe-area-inset-left,0px));padding:.75rem 1rem;position:fixed;right:max(.75rem,env(safe-area-inset-right,0px));z-index:210}.pwa-update-toast__text{flex:1 1 10rem;font-size:.95rem;font-weight:600}.pwa-update-toast__btn{background:#16a34a;border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;min-height:2.85rem;min-height:var(--fp-touch-min,2.5rem);padding:.55rem 1rem}.pwa-update-toast__dismiss{background:#0000;border:none;color:#94a3b8;cursor:pointer;font-size:.88rem;font-weight:600;padding:.45rem .65rem}html.pwa-mobile body:after{content:"";display:block;height:max(.35rem,env(safe-area-inset-bottom,0px));pointer-events:none}.app-loading--error{margin:0 auto;max-width:22rem;text-align:center}.app-loading__icon{display:block;font-size:2.5rem;margin-bottom:.75rem}.app-loading__spinner{animation:kc-spin .8s linear infinite;border:4px solid #fff7ed;border-top-color:#fb923c;border:4px solid var(--kc-accent-soft);border-radius:50%;border-top-color:var(--kc-accent);height:3.5rem;margin:0 auto 1.25rem;width:3.5rem}@keyframes kc-spin{to{transform:rotate(1turn)}}.app-loading__retry{background:#fb923c;background:var(--kc-accent);border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:1.25rem;min-height:2.85rem;min-height:var(--fp-touch-min,2.85rem);padding:.75rem 1.5rem}.app-loading__retry:hover{background:#c2410c;background:var(--kc-accent-dark)}.app-lesson-card.foundation-font,.foundation-font{font-size:1.5rem;font-size:var(--fp-text-base);letter-spacing:.01em;line-height:1.55;line-height:var(--fp-line-body)}.foundation-font .text-xs{font-size:1.1rem!important;font-size:var(--fp-text-xs)!important;line-height:1.5}.foundation-font .text-sm{font-size:1.28rem!important;font-size:var(--fp-text-sm)!important;line-height:1.5}.foundation-font .text-base{font-size:1.5rem!important;font-size:var(--fp-text-base)!important;line-height:1.5}.foundation-font .text-lg{font-size:1.75rem!important;font-size:var(--fp-text-lg)!important;line-height:1.45}.foundation-font .text-xl{font-size:2.1rem!important;font-size:var(--fp-text-xl)!important;line-height:1.4}.foundation-font .text-2xl{font-size:2.5rem!important;font-size:var(--fp-text-2xl)!important;line-height:1.35}.foundation-font .text-3xl{font-size:2.85rem!important;font-size:var(--fp-text-3xl)!important;line-height:1.3}.foundation-font .text-5xl{font-size:clamp(2.5rem,8vw,3.5rem)!important;line-height:1.15}.foundation-font .text-7xl{font-size:6.5rem!important;font-size:var(--fp-text-display)!important;line-height:1.1}.foundation-font button,.foundation-font input,.foundation-font select,.foundation-font textarea{font-size:inherit}.foundation-font input[type=number],.foundation-font input[type=text],.foundation-font select{font-size:1.5rem;font-size:var(--fp-text-base);max-width:100%;min-height:2.85rem;min-height:var(--fp-touch-min)}.foundation-font .quiz-comp__choice,.foundation-font .r2-exercise__choice,.foundation-font .r2-exercise__next,.foundation-font .story-reader__read-btn,.foundation-font .student-join__submit,.foundation-font .wb-exercise__check,.foundation-font button{min-height:2.85rem;min-height:var(--fp-touch-min)}.foundation-font .app-lesson-hint{font-size:1.75rem;font-size:var(--fp-text-lg);line-height:1.5}.foundation-font .book-flow__title{font-size:clamp(2rem,5.5vw,2.5rem);font-size:clamp(2rem,5.5vw,var(--fp-text-2xl))}.foundation-font .book-flow__blend,.foundation-font .book-flow__message{font-size:1.75rem;font-size:var(--fp-text-lg)}.foundation-font .book-flow__nav-btn{font-size:1.5rem;font-size:var(--fp-text-base);padding:.7rem 1.25rem}.foundation-font .book-flow__section-label{font-size:2.1rem;font-size:var(--fp-text-xl)}.foundation-font .book-flow__divider{font-size:1.5rem;font-size:var(--fp-text-base)}.foundation-font .book-flow__complete h3{font-size:2.5rem;font-size:var(--fp-text-2xl)}.foundation-font .book-flow__complete p,.foundation-font .book-flow__next-btn{font-size:1.75rem;font-size:var(--fp-text-lg)}.foundation-font .book-worksheet-intro__title{font-size:2.5rem;font-size:var(--fp-text-2xl)}.foundation-font .book-worksheet-intro__text{color:#4b5563;font-size:1.75rem;font-size:var(--fp-text-lg)}.foundation-font .book-phonics-row,.foundation-font .book-words-card__word{font-size:2.1rem;font-size:var(--fp-text-xl)}.foundation-font .book-words-card__blend,.foundation-font .book-words-card__read-btn{font-size:1.28rem;font-size:var(--fp-text-sm)}.foundation-font .book-words-panel__done{font-size:1.75rem;font-size:var(--fp-text-lg);padding:.85rem 1.6rem}.foundation-font .wb-exercise__title{font-size:2.1rem;font-size:var(--fp-text-xl)}.foundation-font .wb-exercise__prompt{font-size:1.75rem;font-size:var(--fp-text-lg)}.foundation-font .wb-exercise__label{font-size:1.28rem;font-size:var(--fp-text-sm)}.foundation-font .wb-exercise__input,.foundation-font .wb-exercise__select,.foundation-font .wb-exercise__textarea{font-size:1.5rem;font-size:var(--fp-text-base);padding:.65rem .8rem}.foundation-font .wb-exercise__input--num{font-size:2.5rem;font-size:var(--fp-text-2xl);min-height:3.25rem}.foundation-font .wb-exercise__input--lg{font-size:2.85rem;font-size:var(--fp-text-3xl);max-width:6rem}.foundation-font .wb-exercise__read-word{font-size:2.1rem;font-size:var(--fp-text-xl)}.foundation-font .wb-exercise__read-status,.foundation-font .wb-exercise__word-bank{font-size:1.28rem;font-size:var(--fp-text-sm)}.foundation-font .wb-exercise__chip{font-size:1.5rem;font-size:var(--fp-text-base);padding:.65rem 1.15rem}.foundation-font .wb-exercise__pair,.foundation-font .wb-exercise__sum,.foundation-font .wb-exercise__word-prompt{font-size:1.75rem;font-size:var(--fp-text-lg)}.foundation-font .wb-exercise__num-badge,.foundation-font .wb-exercise__seq-fixed{font-size:1.75rem;font-size:var(--fp-text-lg);height:2.75rem;min-width:2.75rem}.foundation-font .wb-exercise__check{padding:.6rem 1.2rem}.foundation-font .wb-exercise__check,.foundation-font .wb-exercise__feedback{font-size:1.5rem;font-size:var(--fp-text-base)}.foundation-font .read-hint__title{font-size:1.75rem;font-size:var(--fp-text-lg)}.foundation-font .read-hint__steps{font-size:1.5rem;font-size:var(--fp-text-base)}.foundation-font .read-hint__tip,.foundation-font .read-progress{font-size:1.28rem;font-size:var(--fp-text-sm)}.foundation-font .read-hear-btn{font-size:1.5rem;font-size:var(--fp-text-base);min-height:2.85rem;min-height:var(--fp-touch-min);padding:.45rem .85rem}.foundation-font .read-story-lines__title{font-size:1.75rem;font-size:var(--fp-text-lg)}.foundation-font .read-story-lines__tip{font-size:1.5rem;font-size:var(--fp-text-base)}.foundation-font .read-story-lines__text{font-size:1.75rem;font-size:var(--fp-text-lg)}.foundation-font .story-word-panel__title{font-size:2.5rem;font-size:var(--fp-text-2xl)}.foundation-font .story-reader__tip,.foundation-font .story-word-panel__subtitle{font-size:1.75rem;font-size:var(--fp-text-lg)}.foundation-font .story-words{font-size:clamp(1.75rem,4.2vw,2.5rem);font-size:clamp(var(--fp-text-lg),4.2vw,var(--fp-text-2xl));line-height:2.15;line-height:var(--fp-line-story)}.foundation-font .story-reader__read-btn{padding:1rem 1.85rem}.foundation-font .lined-page__hint,.foundation-font .story-reader__badge{font-size:1.5rem;font-size:var(--fp-text-base)}.foundation-font .lined-page__input{font-size:clamp(1rem,2.8vw,1.35rem)}.foundation-font .lined-page__status{font-size:1.5rem;font-size:var(--fp-text-base)}.app-shell.foundation-font,.lesson-portal.foundation-font{font-size:1.5rem;font-size:var(--fp-text-base);line-height:1.55}.foundation-font .app-title{font-size:clamp(1.4rem,3.8vw,2.1rem);font-size:clamp(1.4rem,3.8vw,var(--fp-text-xl));line-height:1.25}.foundation-font .app-subtitle{font-size:1.5rem;font-size:var(--fp-text-base);line-height:1.45}.foundation-font .app-toolbar__btn,.foundation-font .app-toolbar__select{font-size:1.5rem;font-size:var(--fp-text-base);min-height:2.85rem;padding:.55rem 1rem}.foundation-font .app-footer{font-size:1.28rem;font-size:var(--fp-text-sm);line-height:1.5}.foundation-font .app-loading h2{color:#c2410c;color:var(--kc-accent-dark);font-size:2.5rem;font-size:var(--fp-text-2xl)}.foundation-font .app-loading p{color:#c2410c;color:var(--kc-accent-dark);font-size:1.75rem;font-size:var(--fp-text-lg);opacity:.85}.foundation-font .session-locked strong{font-size:2.5rem;font-size:var(--fp-text-2xl)}.foundation-font .session-locked p{font-size:1.75rem;font-size:var(--fp-text-lg)}.foundation-font .invigilator-bar--student{font-size:1.5rem;font-size:var(--fp-text-base);padding:.65rem 1rem}.lesson-portal .invigilator-bar--teacher{background:#fffef9;background:var(--kc-brand-paper);border:3px solid #2563eb;border-top:4px solid #ec4899;border:3px solid var(--kc-brand-blue);border-top:4px solid var(--kc-brand-pink);color:#334155;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.lesson-portal .invigilator-bar--teacher button,.lesson-portal .invigilator-bar--teacher span,.lesson-portal .invigilator-bar--teacher strong{font-family:inherit}.portal-professional .bookshelf-hero__title{font-family:inherit;font-size:clamp(1.75rem,3.5vw,2.35rem);font-weight:800;letter-spacing:-.025em}.portal-professional .bookshelf-hero__text{font-size:1.0625rem;line-height:1.6}.portal-professional .bookshelf-btn{font-family:inherit;font-size:1rem;font-weight:600}.portal-professional .bookshelf-book__title{font-family:inherit;font-size:.875rem;font-weight:600}.portal-professional .bookshelf-book__grade,.portal-professional .bookshelf-book__subtitle{font-family:inherit;font-size:.8125rem}.portal-professional .bookshelf-alignment__title,.portal-professional .ltsm-prose__title{font-size:1.125rem;font-weight:700}.portal-professional .bookshelf-alignment__card p,.portal-professional .bookshelf-alignment__lead,.portal-professional .ltsm-prose__body,.portal-professional .ltsm-prose__lead{font-size:.9375rem;line-height:1.6}.portal-professional .ltsm-prose__note{font-size:.875rem;line-height:1.55}.portal-professional .ltsm-prose__phase{font-size:.8125rem;font-weight:600}.portal-professional .bookshelf-footer,.portal-professional .bookshelf-footer__disclaimer,.portal-professional .bookshelf-footer__privacy-body{font-size:.875rem;line-height:1.55}.portal-professional .bookshelf-footer__privacy-summary{font-size:.8125rem;font-weight:600}.portal-professional .pwa-install-banner__title{font-size:1.0625rem;font-weight:700}.portal-professional .pwa-install-banner__text{font-size:.9375rem}.portal-professional .student-ended__title,.portal-professional .student-join__title,.portal-professional .student-wait__title{font-family:inherit;font-size:1.5rem;font-weight:700}.portal-professional .student-ended__text,.portal-professional .student-join__text,.portal-professional .student-wait__text{font-size:1rem}.foundation-font .app-lesson-nav button{padding:.65rem 1rem}.foundation-font .app-lesson-nav button,.foundation-font .app-lesson-nav__select{font-size:1.5rem;font-size:var(--fp-text-base);min-height:3rem}.fill-gap__display{font-size:clamp(2.5rem,11vw,6.5rem);font-size:clamp(var(--fp-text-2xl),11vw,var(--fp-text-display));line-height:1.15;overflow-wrap:anywhere;word-break:break-word}.fill-gap__display input{font-size:inherit!important;max-width:100%;width:clamp(3.5rem,20vw,7rem)!important}.fill-gap__actions{width:100%}.app-lesson-nav{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.app-lesson-nav__select{flex:1 1 12rem;max-width:100%;min-width:0}.story-word-panel{background:#fffdf7;border:1px solid #e8e0d4;border-radius:.75rem;overflow:visible;padding:0}.story-word-panel__header{margin-bottom:0;padding:1rem 1.25rem 0;text-align:center}.story-word-panel__title{color:#6b21a8;font-size:1.75rem;font-weight:700;margin:0 0 .5rem}.story-word-panel__subtitle{color:#7c3aed;font-size:1.05rem;margin:0}.story-words{background:#0000;border-radius:0;box-shadow:none;font-size:clamp(1.55rem,3.4vw,2.05rem);-webkit-hyphens:none;hyphens:none;letter-spacing:.01em;line-height:2.15;line-height:var(--fp-line-story,2.15);margin:0 auto;max-width:40rem;overflow-wrap:break-word;padding:1.35rem 1.5rem 1.6rem;white-space:normal;word-break:normal}.story-words,.story-words--paragraph{text-align:left}.story-word{background:none;border:none;color:#1f2937;display:inline;font-family:inherit!important;font-size:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0;vertical-align:initial;white-space:normal}.story-word--clickable{cursor:pointer}.story-word--clickable:hover{text-decoration:underline;-webkit-text-decoration-color:#93c5fd;text-decoration-color:#93c5fd;text-underline-offset:3px}.story-word--clickable:focus-visible{border-radius:2px;outline:2px solid #fbbf24;outline-offset:2px}.story-word--active{background:#ffe566;border-radius:.1em;box-decoration-break:clone;-webkit-box-decoration-break:clone;color:#111827;font-weight:700;padding:0 .08em}.story-word--family{color:#6b21a8;font-weight:600}.story-word--sentence{color:#374151}.story-word--dim{opacity:.45}.story-reader{display:flex;flex-direction:column;gap:1rem}.story-reader__image{background:#fffef9;border:2px solid #d4c4a8;border-radius:.85rem;box-shadow:0 4px 16px -6px #5c3d122e;margin:0;overflow:hidden}.story-reader__image img{display:block;max-height:22rem;object-fit:contain;padding:.35rem;width:100%}.story-reader__controls{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.story-reader__read-btn{border:none;border-radius:999px;box-shadow:0 4px 14px -4px #4f46e573;cursor:pointer;font-size:1.3rem;font-weight:700;padding:.95rem 1.65rem;transition:transform .12s ease,box-shadow .12s ease}.story-reader__read-btn:hover{transform:translateY(-1px)}.story-reader__read-btn--play{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff}.story-reader__read-btn--stop{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.story-reader__stop-btn{min-width:9.5rem}.story-reader__stop-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.45;transform:none}.story-reader__read-btn:disabled{cursor:not-allowed;opacity:.55;transform:none}.story-reader__read-btn--wait{background:#e5e7eb;box-shadow:none;color:#6b7280;cursor:wait}.story-reader__badge{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:999px;color:#5b21b6;font-size:.95rem;padding:.45rem .85rem}.story-reader__tip{color:#6b7280;font-size:1.05rem;margin:0;text-align:center}.story-reader__progress{background:#ede9fe;border-radius:999px;height:.35rem;overflow:hidden}.story-reader__progress-bar{background:linear-gradient(90deg,#7c3aed,#a78bfa);border-radius:999px;height:100%;transition:width .15s linear}.book-panel{background:linear-gradient(180deg,#faf5ff,#fff 120px);border:2px solid #c4b5fd;border-radius:1rem;padding:1.25rem}.book-panel__eyebrow{color:#7c3aed;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.book-panel__title{color:#5b21b6;font-size:1.35rem;margin:.25rem 0 1rem}.book-stepper{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.book-step{background:#fff;border:1px solid #ddd6fe;border-radius:.75rem;cursor:pointer;flex:1 1 140px;padding:.65rem .85rem;text-align:left;transition:border-color .15s,box-shadow .15s}.book-step--active{background:#f5f3ff;border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed26}.book-step__label{color:#6b7280;display:block;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.book-step__name{color:#4c1d95;display:block;font-weight:700}.book-worksheet-intro{text-align:left}.book-worksheet-intro__title{color:#78350f;font-size:1.75rem;line-height:1.35;margin:0}.book-worksheet-intro__text{color:#57534e;font-size:1.05rem;line-height:1.5;margin:.4rem 0 0}.book-phonics-grid{grid-gap:.65rem;display:grid;gap:.65rem;margin-top:.25rem}.book-phonics-row{align-items:baseline;background:#fffef9;border:1px solid #e8dcc8;border-radius:.5rem;display:flex;flex-wrap:wrap;font-size:1.6rem;gap:.35rem .5rem;line-height:1.65;padding:.55rem .75rem}.book-phonics-row__blank{border-bottom:3px solid #c4a574;color:#a16207;display:inline-block;font-weight:700;min-width:3rem;text-align:center}.book-phonics-row__answer{color:#92400e;font-weight:700}.book-phonics-worksheet{display:flex;flex-direction:column;gap:1.25rem}.book-phonics-worksheet__draw-title{color:#78350f;font-size:1.25rem;margin:0 0 .5rem}.draw-pad{display:flex;flex-direction:column;gap:.75rem}.draw-pad__tools{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.draw-pad__colors{display:flex;flex-wrap:wrap;gap:.45rem}.draw-pad__color{border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #d1d5db;cursor:pointer;height:2rem;padding:0;width:2rem}.draw-pad__color--active{box-shadow:0 0 0 3px #7c3aed}.draw-pad__actions{display:flex;gap:.5rem}.draw-pad__tool-btn{background:#fff;border:1px solid #ddd6fe;border-radius:999px;color:#5b21b6;cursor:pointer;font-size:.85rem;font-weight:600;padding:.45rem .85rem}.draw-pad__tool-btn--active,.draw-pad__tool-btn:hover{background:#f5f3ff;border-color:#a78bfa}.draw-pad__tools--compact{gap:.35rem;padding:.35rem .5rem}.draw-pad__canvas-wrap--compact{min-height:8rem}.draw-pad--compact{gap:.35rem}.draw-pad__canvas-wrap{background:#fff;border:2px dashed #c4b5fd;border-radius:.75rem;min-height:200px;overflow:hidden;position:relative;touch-action:none}.draw-pad__canvas{cursor:crosshair;display:block;height:220px;width:100%}.draw-pad__hint{align-items:center;color:#9ca3af;display:flex;font-size:1.15rem;inset:0;justify-content:center;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none}.draw-pad__prompt{color:#6b7280;font-size:1.05rem;margin:0;text-align:center}.book-flow,.book-flow__sticky-top{display:flex;flex-direction:column;gap:0}.book-flow__header,.book-lesson-header{margin-bottom:1rem;margin-left:auto;margin-right:auto;max-width:36rem;padding-top:.25rem;text-align:center;width:100%}.book-lesson-chrome{display:flex;flex-direction:column;gap:0;margin-bottom:.75rem}.book-lesson-header--card-top{background:linear-gradient(180deg,#fffef9,#fffdf7);border:2px solid #e8dcc8;border-bottom:none;border-radius:.85rem .85rem 0 0;box-shadow:none;margin-bottom:0;padding:.85rem .65rem .65rem}.book-lesson-step-nav{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffdf7;border:2px solid #e8dcc8;border-radius:0 0 .85rem .85rem;border-top:1px dashed #d4c4a8;box-shadow:0 4px 14px -8px #5c3d122e;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:0;padding:.65rem .5rem .75rem;position:static;top:auto;z-index:auto}.book-lesson-step-nav .book-flow__nav-btn{align-items:center;display:inline-flex;gap:.4rem}.book-flow__eyebrow{color:#92400e;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.foundation-font .book-flow__eyebrow{font-size:1.28rem;font-size:var(--fp-text-sm);line-height:1.4}.book-flow__title{color:#171717;color:var(--kc-brand-ink);font-family:CatchUP,TeachersPet,cursive,sans-serif;font-size:2rem;margin:.35rem 0}.book-flow__blend{color:#6b7280;font-size:1.05rem;margin:0}.book-flow__nav{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf7f0;border-bottom:1px solid #e8e0d4;border-radius:1rem;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.25rem;padding:.65rem .5rem 1rem;position:-webkit-sticky;position:sticky;top:.5rem;z-index:20}@media (max-width:768px){.book-lesson-chrome{background:#fffdf7;margin-bottom:.65rem;position:-webkit-sticky;position:sticky;top:max(.25rem,env(safe-area-inset-top,0px));z-index:45}.book-lesson-header--card-top{padding:.7rem .5rem .55rem}.book-lesson-step-nav{-webkit-overflow-scrolling:touch;display:flex;flex-wrap:nowrap;gap:.45rem;justify-content:flex-start;overflow-x:auto;padding:.55rem .45rem .65rem;scroll-snap-type:x proximity}.book-lesson-step-nav .book-flow__nav-btn{background:#fff;border:2px solid #c4b5fd;box-shadow:0 2px 6px -2px #4c1d9533;color:#4c1d95;flex:0 0 auto;font-size:1.5rem;font-size:var(--fp-text-base);min-height:3rem;padding:.65rem .9rem;scroll-snap-align:start}.book-lesson-step-nav .book-flow__nav-btn--locked{background:#f9fafb;border-color:#d1d5db;color:#6b7280;opacity:.55}.book-lesson-step-nav .book-flow__nav-btn--done{background:#f0fdf4;border-color:#86efac;color:#15803d}.foundation-font .book-lesson-header--card-top .book-flow__title{font-size:clamp(1.75rem,8vw,2.25rem);line-height:1.2}.foundation-font .book-lesson-header--card-top .book-flow__blend{font-size:1.5rem;font-size:var(--fp-text-base);line-height:1.45;padding:0 .15rem}.foundation-font .book-lesson-header--card-top .book-flow__eyebrow{font-size:1.5rem;font-size:var(--fp-text-base)}.app-lesson-card .app-lesson-toolbar{border-top:none;margin-top:0;padding-top:0}}@media (display-mode:standalone) and (max-width:768px){.book-lesson-chrome{top:max(.35rem,env(safe-area-inset-top,0px))}}.book-flow__nav-btn{align-items:center;background:#fffef9;border:1px solid #d4c4a8;border-radius:999px;color:#78350f;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.4rem;padding:.6rem 1.1rem}.book-flow__nav-btn:hover{background:#f3ebe0;border-color:#c4a574}.book-flow__nav-num{align-items:center;background:#c2410c;background:var(--kc-accent-dark);border-radius:50%;color:#fff;display:inline-flex;font-size:.85rem;height:1.5rem;justify-content:center;width:1.5rem}.book-flow__section{padding:1.5rem 0 .5rem;scroll-margin-top:5rem}.book-flow__card{border:1px solid #0000;border-radius:1.25rem;padding:1.4rem 1.5rem}.book-flow__card--story{background:#fffef9;background:var(--kc-brand-paper);border-color:#e8dcc8;border-color:var(--kc-workbook-margin);border-top:4px solid #fb923c;border-top:4px solid var(--kc-title-band);box-shadow:0 4px 20px -8px color-mix(in srgb,#c2410c 18%,#0000);box-shadow:0 4px 20px -8px color-mix(in srgb,var(--kc-accent-dark) 18%,#0000);overflow:visible;padding:1rem}.book-flow__card--phonics{background:linear-gradient(180deg,#f0fdf4,#fff);border-color:#bbf7d0;box-shadow:0 4px 20px -8px #16a34a33}.book-flow__card--quiz{background:linear-gradient(180deg,#fdf4ff,#fff);border-color:#f5d0fe;box-shadow:0 4px 20px -8px #c026d333;margin-bottom:.5rem}.book-flow__section-label{align-items:center;color:#5b21b6;display:flex;font-size:1.35rem;font-weight:700;gap:.65rem;margin-bottom:1rem;width:100%}.book-flow__section-step{align-items:center;background:linear-gradient(135deg,#7c3aed,#a78bfa);border-radius:.5rem;color:#fff;display:inline-flex;font-size:1.1rem;font-weight:800;height:2.25rem;justify-content:center;width:2.25rem}.book-flow__divider{align-items:center;color:#7c3aed;display:flex;flex-direction:column;font-size:.95rem;font-weight:700;gap:.35rem;letter-spacing:.06em;margin:1.75rem 0 1.25rem;padding:1rem 0;text-align:center;text-transform:uppercase}.book-flow__divider:after,.book-flow__divider:before{background:linear-gradient(90deg,#0000,#d4c4a8,#0000);content:"";height:2px;width:min(280px,70%)}.book-flow__divider-icon{align-items:center;background:#ede9fe;border-radius:50%;color:#6d28d9;display:inline-flex;font-size:1.1rem;height:2rem;justify-content:center;line-height:1;width:2rem}.book-flow__divider--ready .book-flow__divider-icon{animation:bookFlowBounce 1.2s ease-in-out 2;background:#b45309;color:#fff}@keyframes bookFlowBounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.book-flow__message{background:#fef3c7;border:1px solid #fcd34d;border-radius:.75rem;color:#92400e;font-size:1.05rem;font-weight:600;margin:0 0 1rem;padding:.75rem 1rem;text-align:center}.book-flow__nav-btn--done{background:#f0fdf4;border-color:#86efac;color:#166534}.book-flow__nav-btn--locked{cursor:not-allowed;opacity:.45}.book-flow__done-badge{background:#dcfce7;border-radius:999px;color:#16a34a;font-size:.7rem;font-weight:700;letter-spacing:.05em;margin-left:auto;padding:.2rem .5rem;text-transform:uppercase}.book-flow__card--locked{min-height:8rem;position:relative}.book-flow__lock{align-items:center;background:#ffffffe0;border-radius:inherit;color:#6b21a8;display:flex;flex-direction:column;font-weight:700;gap:.5rem;inset:0;justify-content:center;position:absolute;text-align:center;z-index:10}.book-flow__lock-icon{font-size:2rem}.book-flow__lock-content{filter:blur(1px);opacity:.35;pointer-events:none;-webkit-user-select:none;user-select:none}.book-flow__complete{background:linear-gradient(135deg,#fef9c3,#fde68a);border:2px solid #facc15;border-radius:1.25rem;color:#713f12;margin-top:1.5rem;padding:1.5rem;text-align:center}.book-flow__complete-icon{font-size:2.5rem;margin-bottom:.35rem}.book-flow__complete h3{font-size:1.85rem;margin:0 0 .35rem}.book-flow__complete p{font-size:1.1rem;margin:0 0 1rem}.book-flow__next-btn{background:#7c3aed;border:none;border-radius:999px;box-shadow:0 4px 14px -4px #7c3aed80;color:#fff;cursor:pointer;font-size:1.25rem;font-weight:700;padding:.85rem 1.65rem}.bookshelf-page{max-width:100%;padding-bottom:2rem;width:100%}.bookshelf-brand-cover,.brand-cover{border:4px solid #2563eb;border:4px solid var(--kc-brand-blue);border-radius:1rem;box-shadow:0 10px 32px -12px #2563eb59;margin-bottom:1.5rem;overflow:hidden}.brand-cover--compact{border-radius:.85rem;border-width:3px;margin-bottom:1rem}.bookshelf-brand-cover__pink,.brand-cover__pink{background:#ec4899;background:var(--kc-brand-pink);height:.45rem}.brand-cover--compact .brand-cover__pink{height:.35rem}.bookshelf-brand-cover__sky,.brand-cover__sky{background:linear-gradient(180deg,#3b82f6,#2563eb);color:#fff;padding:1.35rem 1.25rem 1rem;text-align:center}.brand-cover--compact .brand-cover__sky{padding:1rem 1rem .85rem}.bookshelf-brand-cover__logo,.brand-cover__logo{display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15));height:3.25rem;margin:0 auto .75rem;max-width:14rem;width:auto}.brand-cover--compact .brand-cover__logo{height:2.5rem;margin-bottom:.5rem;max-width:11rem}.bookshelf-brand-cover__title,.brand-cover__title{color:#fff;font-family:CatchUP,TeachersPet,cursive,sans-serif;font-size:clamp(1.65rem,4vw,2.35rem);font-weight:800;line-height:1.15;margin:0 0 .35rem;text-shadow:0 1px 2px #0003}.brand-cover--compact .brand-cover__title{font-size:clamp(1.35rem,3.5vw,1.85rem)}.bookshelf-brand-cover__tagline,.brand-cover__tagline{color:#ffffffeb;font-size:1.05rem;line-height:1.5;margin:0 auto;max-width:34rem}.brand-cover--compact .brand-cover__tagline{font-size:.95rem;max-width:30rem}.bookshelf-brand-cover__band,.brand-cover__band{background:#fb923c;background:var(--kc-title-band);padding:.85rem 1rem;text-align:center}.brand-cover--compact .brand-cover__band{padding:.6rem .85rem}.bookshelf-brand-cover__band-title,.brand-cover__band-title{color:#171717;color:var(--kc-brand-ink);font-family:CatchUP,TeachersPet,cursive,sans-serif;font-size:clamp(1.2rem,3vw,1.55rem);font-weight:800;margin:0}.brand-cover--compact .brand-cover__band-title{font-size:clamp(1rem,2.5vw,1.25rem)}.bookshelf-brand-cover__grass,.brand-cover__grass{background:linear-gradient(180deg,#22c55e,#15803d);background:linear-gradient(180deg,var(--kc-grass) 0,#15803d 100%);padding:1.15rem 1rem 1.35rem}.brand-cover--compact .brand-cover__grass{padding:.75rem .85rem .9rem}.bookshelf-hero{background:#0000;border:none;border-radius:0;margin-bottom:0;padding:0;text-align:center}.bookshelf-hero--in-cover{padding:0 .25rem}.bookshelf-hero--in-cover .bookshelf-hero__text{color:#fffffff2;margin-bottom:1rem}.bookshelf-hero__title{color:#1e1b4b;display:none;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;letter-spacing:-.02em;margin:0 0 .5rem}.bookshelf-hero__text{color:#5b5569;font-size:1.15rem;line-height:1.55;margin:0 auto 1.25rem;max-width:36rem}.bookshelf-hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.bookshelf-alignment{background:#fffef9;background:var(--kc-brand-paper);border:3px solid #2563eb;border-top:4px solid #ec4899;border:3px solid var(--kc-brand-blue);border-radius:1rem;border-top:4px solid var(--kc-brand-pink);box-shadow:0 4px 18px -8px color-mix(in srgb,#c2410c 20%,#0000);box-shadow:0 4px 18px -8px color-mix(in srgb,var(--kc-accent-dark) 20%,#0000);margin-bottom:2rem;padding:1.25rem 1.5rem}.bookshelf-alignment__logos{align-items:flex-end;border-bottom:1px solid color-mix(in srgb,#2563eb 15%,#e5e7eb);border-bottom:1px solid color-mix(in srgb,var(--kc-brand-blue) 15%,#e5e7eb);display:flex;flex-wrap:wrap;gap:1.25rem 2rem;justify-content:center;margin-bottom:1rem;padding-bottom:1rem}.bookshelf-alignment__logo{align-items:center;display:flex;flex-direction:column;gap:.35rem;margin:0;text-align:center}.bookshelf-alignment__logo figcaption{color:#6b7280;font-size:.72rem;font-weight:600;letter-spacing:.01em}.bookshelf-alignment__logo-img{display:block;object-fit:contain}.bookshelf-alignment__logo-img--dbe{height:3.25rem;max-width:11rem}.bookshelf-alignment__logo-img--caps{height:4.5rem;width:4.5rem}.bookshelf-alignment__logo-img--gde{height:3.5rem;max-width:10rem}.bookshelf-alignment__title{color:#171717;color:var(--kc-brand-ink);font-family:CatchUP,TeachersPet,cursive,sans-serif;font-size:1.25rem;font-weight:800;margin:0 0 .5rem}.bookshelf-alignment__lead{color:#5b5569;font-size:.95rem;line-height:1.55;margin:0 0 1rem;max-width:52rem}.bookshelf-alignment__lead a{color:#2563eb;color:var(--kc-brand-blue);text-decoration:underline;text-underline-offset:2px}.bookshelf-alignment__lead a:hover{color:#1d4ed8}.bookshelf-alignment__phases{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}.bookshelf-alignment__phase{background:color-mix(in srgb,#fff7ed 55%,#fff);background:color-mix(in srgb,var(--kc-accent-soft) 55%,#fff);border:2px solid color-mix(in srgb,#fdba74 70%,#e5e7eb);border:2px solid color-mix(in srgb,var(--kc-accent-border) 70%,#e5e7eb);border-radius:.75rem;padding:.9rem 1rem}.bookshelf-alignment__phase-title{color:#c2410c;color:var(--kc-accent-dark);font-size:.95rem;font-weight:700;margin:0 0 .65rem}.bookshelf-alignment__grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));margin-bottom:.85rem}.bookshelf-alignment__phase .bookshelf-alignment__grid{margin-bottom:.65rem}.bookshelf-alignment__card{background:#fff7ed;background:var(--kc-accent-soft);border:2px solid #fdba74;border:2px solid var(--kc-accent-border);border-radius:.75rem;padding:.85rem 1rem}.bookshelf-alignment__card-title{color:#c2410c;color:var(--kc-accent-dark);font-size:.9rem;font-weight:700;margin:0 0 .35rem}.bookshelf-alignment__card p{color:#5b5569;font-size:.85rem;line-height:1.5;margin:0}.bookshelf-alignment__note{border-top:1px solid color-mix(in srgb,#2563eb 12%,#e5e7eb);border-top:1px solid color-mix(in srgb,var(--kc-brand-blue) 12%,#e5e7eb);color:#6b7280;font-size:.82rem;line-height:1.5;margin:0;padding-top:.75rem}.bookshelf-alignment__note--phase{border-top:none;font-size:.8rem;padding-top:0}.pwa-install-banner{align-items:center;background:linear-gradient(135deg,#fff7ed,color-mix(in srgb,#2563eb 8%,#fff));background:linear-gradient(135deg,var(--kc-accent-soft) 0,color-mix(in srgb,var(--kc-brand-blue) 8%,#fff) 100%);border:3px solid #2563eb;border-top:4px solid #ec4899;border:3px solid var(--kc-brand-blue);border-radius:1rem;border-top:4px solid var(--kc-brand-pink);display:flex;flex-wrap:wrap;gap:.75rem 1rem;justify-content:space-between;margin:0 auto 1rem;max-width:56rem;padding:.85rem 1rem}.pwa-install-banner__title{color:#171717;color:var(--kc-brand-ink);display:block;font-family:CatchUP,TeachersPet,cursive,sans-serif;font-size:1.1rem}.pwa-install-banner__text{color:#57534e;font-size:.98rem;line-height:1.45;margin:.2rem 0 0}.pwa-install-banner__actions{align-items:center;display:flex;gap:.5rem}.pwa-install-banner__btn{background:#16a34a;background:var(--kc-brand-green);border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.6rem 1.15rem}.pwa-install-banner__dismiss{background:#0000;border:none;color:#2563eb;color:var(--kc-brand-blue);cursor:pointer;font-size:.95rem;font-weight:600;padding:.5rem .75rem}.book-words-panel{display:flex;flex-direction:column;gap:1rem}.phonics-story-pages{display:flex;flex-direction:column;gap:.85rem;margin-bottom:.5rem}.phonics-open-spread__eyebrow{color:#92400e;font-size:1.28rem;font-size:var(--fp-text-sm,.9rem);font-weight:700;margin:0 0 .5rem;text-align:center}.phonics-open-spread{grid-gap:.5rem;background:#fffef9;border:2px solid #d4c4a8;border-radius:.85rem;box-shadow:0 6px 20px -8px #5c3d1238;display:grid;gap:.5rem;grid-template-columns:1fr 1fr;padding:.65rem}.phonics-open-spread__page{background:#fff;border:1px solid #e8dcc8;border-radius:.5rem;display:flex;flex-direction:column;margin:0;min-width:0;overflow:hidden}.phonics-open-spread__caption{align-items:center;background:#f3ebe0;border-bottom:1px solid #e8dcc8;color:#78350f;display:flex;font-size:.78rem;font-weight:700;gap:.35rem;justify-content:center;margin:0;padding:.4rem .5rem;text-align:center}.phonics-open-spread__step-badge{align-items:center;background:#78350f;border-radius:999px;color:#fff;display:inline-flex;font-size:.7rem;font-weight:800;height:1.25rem;justify-content:center;width:1.25rem}.phonics-open-spread__img-wrap{align-items:flex-start;background:#faf6f0;display:flex;flex:1 1;justify-content:center;padding:.35rem}.phonics-open-spread__img{height:auto;max-height:min(72vh,520px);object-fit:contain;width:100%}@media (max-width:720px){.phonics-open-spread{grid-template-columns:1fr}}.phonics-spell-write{display:flex;flex-direction:column;gap:1.25rem}.phonics-spell-write__block--locked{opacity:.55;pointer-events:none}.phonics-spell-write__lock-hint{background:#fef9c3;border-radius:.65rem;color:#854d0e;font-size:1.28rem;font-size:var(--fp-text-sm,.95rem);margin:0 0 .75rem;padding:.65rem .85rem}.phonics-spell-write__done{background:#dcfce7;border-radius:.75rem;color:#166534;font-weight:600;margin:0;padding:.75rem 1rem;text-align:center}.phonics-write-words__grid{display:flex;flex-direction:column;gap:.65rem}.phonics-write-words__row{grid-gap:.5rem;align-items:center;display:grid;gap:.5rem;grid-template-columns:auto 1fr auto auto}.phonics-write-words__row--done .phonics-write-words__input{background:#f0fdf4;border-color:#22c55e}.phonics-write-words__label{color:#6b7280;font-size:1.28rem;font-size:var(--fp-text-sm,.9rem);min-width:3.5rem}.phonics-write-words__input{min-width:0}.phonics-write-words__progress{color:#4b5563;font-size:1.28rem;font-size:var(--fp-text-sm,.95rem);margin:.5rem 0 0}@media (max-width:520px){.phonics-write-words__row{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.phonics-write-words__label{grid-column:1/-1}}.workbook-spread{background:#faf6f0;border:2px solid #d4c4a8;border-radius:.85rem;box-shadow:0 6px 20px -8px #5c3d1238;display:flex;flex-direction:column;overflow:hidden}.workbook-spread--compact{margin-bottom:.5rem}.workbook-spread__caption{background:#f3ebe0;border-bottom:1px solid #e8dcc8;color:#78350f;font-size:.82rem;font-weight:700;margin:0;padding:.5rem .85rem;text-align:center}.workbook-spread__caption--inline{background:#f3ebe0;border:1px solid #e8dcc8;border-radius:.5rem;margin:.15rem 0 .35rem}.workbook-spread__page{background:#fffef9;margin:0;padding:.65rem}.workbook-spread__page .book-theme-page{background:#0000;border:none;border-radius:0;box-shadow:none;padding:0}.workbook-spread__answers{background:#fffdf7;border-top:2px dashed #d4c4a8;padding:.85rem 1rem 1rem}.workbook-spread__answers .wb-exercise{background:#0000;border:none;border-radius:0;box-shadow:none;padding:0}.breakthrough-spread{grid-gap:.5rem;background:#fffef9;display:grid;gap:.5rem;grid-template-columns:1fr 1fr;padding:.65rem}.breakthrough-spread__page{background:#fff;border:1px solid #e8dcc8;border-radius:.5rem;display:flex;flex-direction:column;margin:0;min-width:0;overflow:hidden}.breakthrough-spread__caption{background:#f3ebe0;border-bottom:1px solid #e8dcc8;color:#78350f;font-size:.78rem;font-weight:700;margin:0;padding:.4rem .5rem;text-align:center}.breakthrough-spread__img-wrap{flex:1 1;padding:.35rem}.breakthrough-spread__img{border-radius:.25rem;display:block;height:auto;width:100%}.breakthrough-panel__answers{border-top:2px dashed #d4c4a8}@media (max-width:720px){.breakthrough-spread{grid-template-columns:1fr}}.breakthrough-flow{gap:1.25rem}.breakthrough-flow__hero{padding:.25rem 0 .5rem;text-align:center}.breakthrough-flow__eyebrow{color:#78350f;font-size:.85rem;font-weight:700;letter-spacing:.04em;margin:0;text-transform:uppercase}.breakthrough-flow__title{color:#1e3a5f;font-size:1.35rem;margin:.35rem 0 0}.breakthrough-spread--book{border:2px solid #d4c4a8;border-radius:.85rem;box-shadow:0 8px 24px -10px #5c3d1240}.breakthrough-spread__step-badge{align-items:center;background:#78350f;border-radius:50%;color:#fff;display:inline-flex;font-size:.72rem;font-weight:800;height:1.25rem;justify-content:center;margin-right:.35rem;width:1.25rem}.breakthrough-flow__part{background:#fffdf7;border:2px solid #e8dcc8;border-radius:.85rem;padding:1rem}.breakthrough-flow__part--done{background:#f0fdf4;border-color:#86efac}.breakthrough-flow__part-head{align-items:flex-start;display:flex;gap:.75rem;margin-bottom:.75rem}.breakthrough-flow__part-num{align-items:center;background:#1d4ed8;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:1rem;font-weight:800;height:2rem;justify-content:center;width:2rem}.breakthrough-flow__part--done .breakthrough-flow__part-num{background:#16a34a}.breakthrough-flow__part-title{color:#1e3a5f;font-size:1.1rem;margin:0}.breakthrough-flow__part-hint{color:#64748b;font-size:.9rem;line-height:1.45;margin:.2rem 0 0}.bt-word-grid{grid-gap:.65rem;display:grid;gap:.65rem;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));margin-top:.65rem}.bt-word-grid--pictures{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr))}.bt-word-card{align-items:stretch;gap:.35rem}.bt-word-card,.bt-word-card__main{display:flex;flex-direction:column}.bt-word-card__main{background:#fff;border:2px solid #c4b5fd;border-radius:.75rem;cursor:pointer;gap:.3rem;min-height:4.5rem;padding:.85rem .65rem;text-align:center;transition:border-color .15s,background .15s}.bt-word-card__main:hover{background:#faf5ff;border-color:#8b5cf6}.bt-word-card--done .bt-word-card__main{background:#f0fdf4;border-color:#86efac}.bt-word-card__word{color:#4c1d95;font-size:1.35rem;font-weight:800;text-transform:lowercase}.bt-word-card__status{color:#6b7280;font-size:.78rem;font-weight:600}.bt-word-card--done .bt-word-card__status{color:#15803d}.bt-word-card__hear{align-self:center}.breakthrough-flow__done{font-size:1.05rem;padding:.85rem 1.25rem}.breakthrough-write-page{background:#fffef9;border:2px solid #d4c4a8;border-radius:.75rem;margin:0;padding:.5rem}.breakthrough-write-page__img{border-radius:.35rem;display:block;height:auto;margin:0 auto;max-width:42rem;width:100%}.foundation-font .bt-word-card__word{font-size:2.5rem;font-size:var(--fp-text-2xl,1.35rem)}.bt-word-grid--single{grid-template-columns:1fr;margin-left:auto;margin-right:auto;max-width:22rem}.bt-word-grid--lines{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr))}.creative-flow__theme-page{margin-left:auto;margin-right:auto;max-width:36rem}.creative-flow__word-reminder{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;color:#475569;font-size:.88rem;margin:0;padding:.65rem .85rem;text-align:center}.workbook-tap-flow{gap:1.15rem}.workbook-tap-page{background:#fffef9;border:2px solid #d4c4a8;border-radius:.85rem;box-shadow:0 8px 24px -10px #5c3d1240;margin:0;overflow:hidden}.workbook-tap-page__img-wrap{padding:.5rem}.workbook-tap-page__img{border-radius:.35rem;display:block;height:auto;margin:0 auto;max-width:42rem;width:100%}.workbook-tap-exercise{display:flex;flex-direction:column;gap:.65rem}.workbook-tap-exercise__tip{font-style:italic}.word-pictures-grid{display:flex;flex-direction:column;gap:.65rem}.word-pictures-band{background:#fffef9;border:2px solid #d4c4a8;border-radius:.85rem;box-shadow:0 6px 20px -8px #5c3d1238;display:block;margin:.85rem 0 1rem;overflow:hidden}.word-pictures-band__body{background:#fffdf7;display:flex;flex-direction:column;gap:.65rem;padding:.75rem .85rem 1rem}.word-pictures-band .workbook-spread__caption,.workbook-spread__caption--prominent{background:#f3ebe0;border-bottom:2px solid #e8dcc8;color:#78350f;font-size:1rem;font-weight:800;line-height:1.35;margin:0;padding:.75rem 1rem;text-align:center}.book-flow__card .word-pictures-band{margin-top:.35rem}.reading-story-flow,.reading2-story-flow{display:flex;flex-direction:column;gap:1rem}@media (max-width:720px){.workbook-tap-flow .breakthrough-flow__title{font-size:1.15rem}.workbook-tap-page__img-wrap{padding:.35rem}.bt-word-card__main{min-height:3.25rem;padding:.75rem .55rem;touch-action:manipulation}.bt-word-grid{gap:.55rem;grid-template-columns:repeat(auto-fill,minmax(8.25rem,1fr))}.read-hear-btn{min-height:2.75rem;min-width:2.75rem;padding:.45rem .75rem;touch-action:manipulation}.book-words-panel__done,.breakthrough-flow__done{min-height:3rem;touch-action:manipulation;width:100%}.app-toolbar__btn{min-height:2.75rem;touch-action:manipulation}}@media (min-width:768px){.breakthrough-spread--book{padding:.85rem}.bt-word-grid{gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}.bt-word-grid--lines{grid-template-columns:repeat(3,1fr)}}.book-theme-page{background:#fffef9;border:2px solid #e8dcc8;border-radius:.75rem;box-shadow:inset 0 0 0 1px #fff9;display:flex;justify-content:center;padding:.5rem}.book-theme-page__img{border-radius:.25rem;display:block;height:auto;max-width:42rem;width:100%}.book-theme-page--missing{align-items:center;color:#92400e;font-weight:600;min-height:12rem;text-align:center}.book-words-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(8.25rem,1fr))}.book-words-card{align-items:center;background:#fffef9;border:2px solid #e8dcc8;border-radius:.75rem;box-shadow:0 2px 8px -4px #5c3d121f;display:flex;flex-direction:column;gap:.35rem;padding:1rem .65rem;text-align:center}.book-words-card__emoji{font-size:2rem;line-height:1}.book-words-card__no-pic{display:block;flex-shrink:0;height:4.5rem;width:4.5rem}.book-words-card--breakthrough:not(:has(.book-words-card__img)) .book-words-card__visual{display:none}.book-words-card__img{display:block;height:5.5rem;object-fit:contain;width:5.5rem}.book-words-grid--breakthrough{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}.book-words-card--breakthrough{align-items:center;flex-direction:row;flex-wrap:wrap;gap:.65rem;justify-content:flex-start;padding:.75rem .85rem;text-align:left}.book-words-card--breakthrough .book-words-card__visual{flex-shrink:0}.book-words-card--breakthrough .book-words-card__img{background:#fff;border-radius:.35rem;height:4.5rem;width:4.5rem}.book-words-card--breakthrough .book-words-card__word{flex:1 1 4rem;font-size:1.45rem;text-align:left}.book-words-card--breakthrough .book-words-card__actions{flex-direction:row;gap:.45rem;justify-content:flex-start;width:100%}@media (max-width:480px){.book-words-grid--breakthrough{grid-template-columns:1fr}}.book-words-card__word{color:#78350f;font-size:1.6rem;font-weight:700}.book-words-card__blend{color:#b45309;font-size:.9rem;font-weight:600}.book-words-panel__done{align-self:center;background:#15803d;border:2px solid #86efac;border-radius:999px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:.75rem 1.45rem}.book-words-panel__done:disabled{cursor:not-allowed;opacity:.5}.wb-exercise{background:#fff7ed;background:var(--kc-accent-soft);border:2px solid #fdba74;border-left:5px solid #fb923c;border:2px solid var(--kc-accent-border);border-left:5px solid var(--kc-accent);border-radius:.65rem;box-shadow:0 2px 10px -4px color-mix(in srgb,#c2410c 12%,#0000);box-shadow:0 2px 10px -4px color-mix(in srgb,var(--kc-accent-dark) 12%,#0000);gap:.85rem;padding:1rem 1.1rem}.wb-exercise,.wb-exercise__header{display:flex;flex-direction:column}.wb-exercise__header{gap:.35rem}.wb-exercise__title{color:#78350f;font-size:1.15rem;font-weight:700;margin:0}.wb-exercise__prompt{color:#57534e;font-size:.95rem;line-height:1.45;margin:0}.wb-exercise__grid{grid-gap:.65rem;display:grid;gap:.65rem;grid-template-columns:repeat(auto-fill,minmax(7rem,1fr))}.wb-exercise__grid--chart{grid-template-columns:repeat(auto-fill,minmax(4.5rem,1fr))}.wb-exercise__stack{display:flex;flex-direction:column;gap:.65rem}.wb-exercise__field{display:flex;flex-direction:column;gap:.25rem}.wb-exercise__label{color:#92400e;font-size:.82rem;font-weight:700;text-transform:capitalize}.wb-exercise__input,.wb-exercise__select,.wb-exercise__textarea{background:#fffef9;border:2px solid #d4c4a8;border-radius:.5rem;color:#1f2937;font-size:1rem;padding:.55rem .7rem;width:100%}.wb-exercise__input:focus,.wb-exercise__select:focus,.wb-exercise__textarea:focus{border-color:#c4a574;box-shadow:0 0 0 3px #c4a57459;outline:none}.wb-exercise__input--num{max-width:6rem}.wb-exercise__input--lg{font-size:1.75rem;max-width:5rem;text-align:center}.wb-exercise__row{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem}.wb-exercise__row--split{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.wb-exercise__num-badge{align-items:center;background:#f3ebe0;border-radius:999px;color:#92400e;display:inline-flex;font-size:1.1rem;font-weight:800;height:2.25rem;justify-content:center;min-width:2.25rem}.wb-exercise__pair,.wb-exercise__sum,.wb-exercise__word-prompt{color:#78350f;font-weight:600;min-width:6rem}.wb-exercise__sequence{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem}.wb-exercise__seq-fixed{align-items:center;background:#f3ebe0;border-radius:.5rem;color:#92400e;display:inline-flex;font-weight:800;height:2.5rem;justify-content:center;min-width:2.5rem}.wb-exercise__seq-input{text-align:center;width:3.25rem}.wb-exercise__chips{display:flex;flex-wrap:wrap;gap:.5rem}.wb-exercise__chip{background:#fffef9;border:2px solid #d4c4a8;border-radius:999px;color:#78350f;cursor:pointer;font-weight:700;padding:.5rem 1rem}.wb-exercise__chip--on{background:#b45309;border-color:#b45309;color:#fff}.wb-exercise__read-grid{grid-gap:.55rem;display:grid;gap:.55rem;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr))}.wb-exercise__read-card{background:#fff;border:2px solid #e9e5f5;border-radius:.75rem;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;padding:.65rem;text-align:center}.wb-exercise__read-card--done{background:#f0fdf4;border-color:#86efac}.wb-exercise__read-word{color:#4c1d95;font-size:1.25rem;font-weight:800}.wb-exercise__read-status{color:#6b7280;font-size:.75rem;font-weight:600}.wb-exercise__word-bank{background:#fff;border-radius:.5rem;color:#6d28d9;font-size:.88rem;font-weight:600;line-height:2;margin:0;padding:.5rem .65rem}.wb-exercise__bank-word{align-items:center;display:inline-flex;gap:.2rem;margin-right:.35rem}.wb-exercise__textarea{line-height:1.5;min-height:6rem;resize:vertical}.wb-exercise__footer{align-items:flex-start;display:flex;flex-direction:column;gap:.45rem}.wb-exercise__check{background:#fffef9;border:2px solid #c4a574;border-radius:999px;color:#92400e;cursor:pointer;font-size:.9rem;font-weight:700;padding:.45rem 1rem}.wb-exercise__feedback{color:#b45309;font-size:.9rem;font-weight:600;margin:0}.wb-exercise__feedback--ok{color:#15803d}@media (max-width:480px){.wb-exercise__row--split{grid-template-columns:1fr}}.lined-page-wrap{display:flex;flex-direction:column;gap:.5rem;width:100%}.lined-page__hint{color:#6d28d9;font-size:.92rem;font-weight:600;margin:0;text-align:center}.lined-page{background:#fff;border:2px solid #e9e5f5;border-radius:1rem;margin:0 auto;max-width:42rem;overflow:hidden;position:relative;width:100%}.lined-page__img{display:block;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%}.lined-page__overlay{inset:0;pointer-events:none;position:absolute}.lined-page__input{background:#0000;border:none;border-radius:0;box-shadow:none;color:#1e1b4b;font-size:clamp(.88rem,2.4vw,1.12rem);font-weight:600;line-height:1.35;margin:0;outline:none;padding:0 .15rem;pointer-events:auto;position:absolute}.lined-page__input::placeholder{color:#6d28d959;font-weight:500}.lined-page__input:focus{background:#ede9fe73;box-shadow:inset 0 -2px 0 #7c3aed73}.lined-page__status{color:#b45309;font-size:.88rem;font-weight:600;margin:0;text-align:center}.lined-page__status--ok{color:#15803d}.read-hint{background:#fffbeb;border:2px solid #fde68a;border-radius:.85rem;padding:.85rem 1rem}.read-hint__title{color:#92400e;font-size:1.05rem;font-weight:800;margin:0 0 .4rem}.read-hint__steps{color:#78350f;font-size:.92rem;line-height:1.5;margin:0;padding-left:1.2rem}.read-hint__tip{color:#b45309;font-size:.88rem;font-weight:600;margin:.55rem 0 0}.read-hear-btn{align-items:center;background:#fffef9;border:2px solid #d4c4a8;border-radius:999px;color:#92400e;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:700;gap:.25rem;padding:.35rem .65rem;white-space:nowrap}.read-hear-btn--on{background:#f3ebe0;border-color:#b45309}.read-progress{color:#92400e;font-size:.95rem;font-weight:600;margin:0;text-align:center}.read-story-lines{background:#fff;border:2px solid #e9e5f5;border-radius:.75rem;padding:.75rem}.read-story-lines__title{color:#4c1d95;font-size:1rem;font-weight:800;margin:0 0 .25rem}.read-story-lines__tip{color:#6d28d9;font-size:.85rem;margin:0 0 .5rem}.read-story-lines__list{display:flex;flex-direction:column;gap:.45rem;list-style:none;margin:0;padding:0}.read-story-lines__item{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.read-story-lines__text{color:#1e1b4b;flex:1 1 12rem;font-size:1.05rem;font-weight:600}.wb-exercise__read-card-wrap{align-items:stretch;display:flex;flex-direction:column;gap:.35rem}.wb-exercise__read-card-wrap--done .wb-exercise__read-card{background:#f0fdf4;border-color:#86efac}.wb-exercise__read-hear{align-self:center}.wb-exercise__field-row{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem}.wb-exercise__row--spell{grid-gap:.45rem;align-items:center;display:grid;gap:.45rem;grid-template-columns:auto auto 1fr}@media (max-width:480px){.wb-exercise__row--spell{grid-template-columns:1fr}}.book-words-card__actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;margin-top:.25rem}.book-words-card__read-btn{background:#fff;border:2px solid #ddd6fe;border-radius:999px;color:#6d28d9;cursor:pointer;font-size:.75rem;font-weight:700;padding:.3rem .55rem}.book-words-card__read-btn--done{color:#15803d}.book-words-card--read,.book-words-card__read-btn--done{background:#f0fdf4;border-color:#86efac}.bookshelf-footer{background:#fffef9;background:var(--kc-brand-paper);border:3px solid #2563eb;border-top:4px solid #ec4899;border:3px solid var(--kc-brand-blue);border-radius:.85rem;border-top:4px solid var(--kc-brand-pink);color:#57534e;font-size:.78rem;line-height:1.55;margin:1.5rem 0 0;padding:.85rem 1rem .75rem}.bookshelf-footer__disclaimer{margin:0;text-align:center}.bookshelf-footer__privacy{border-top:1px solid #e5e7eb;margin-top:.75rem;padding-top:.75rem}.bookshelf-footer__privacy-summary{color:#4b5563;cursor:pointer;display:block;font-size:.75rem;font-weight:600;list-style:none;text-align:center}.bookshelf-footer__privacy-summary::-webkit-details-marker{display:none}.bookshelf-footer__privacy-summary:after{color:#9ca3af;content:" ▾";font-size:.7rem}.bookshelf-footer__privacy[open] .bookshelf-footer__privacy-summary:after{content:" ▴"}.bookshelf-footer__privacy-body{color:#5b5569;margin-top:.65rem;text-align:left}.bookshelf-footer__privacy-body p{margin:0 0 .55rem}.bookshelf-footer__privacy-body ul{margin:0 0 .55rem;padding-left:1.15rem}.bookshelf-footer__privacy-body a{color:#2563eb;color:var(--kc-brand-blue);font-weight:600;text-decoration:underline;text-underline-offset:2px}.bookshelf-footer__privacy-body a:hover{color:#1d4ed8}.bookshelf-btn{border:2px solid #0000;border-radius:999px;cursor:pointer;font-size:1rem;font-weight:700;padding:.75rem 1.25rem}.bookshelf-btn--teacher{background:#16a34a;background:var(--kc-brand-green);box-shadow:0 3px 12px -4px #16a34a73;color:#fff}.bookshelf-btn--student{background:#fff;border-color:color-mix(in srgb,#2563eb 45%,#fff);border-color:color-mix(in srgb,var(--kc-brand-blue) 45%,#fff);color:#2563eb;color:var(--kc-brand-blue)}.bookshelf-btn--roster{background:#f0fdf4;border-color:#86efac;color:#166534}.bookshelf-shelf{padding:0 .5rem 2rem;position:relative}.bookshelf-shelf__edge{background:linear-gradient(180deg,#8b6914,#6b4f10);border-radius:.5rem .5rem 0 0;height:.5rem;margin:0 .5rem}.bookshelf-grid{grid-gap:1rem .85rem;background:linear-gradient(180deg,#f3e8d6,#e8d4b8);border-left:8px solid #7a5c1e;border-right:8px solid #7a5c1e;display:grid;gap:1rem .85rem;grid-template-columns:repeat(auto-fill,minmax(8.25rem,1fr));min-height:14rem;padding:1.25rem 1rem .5rem}.bookshelf-shelf__plank{background:linear-gradient(180deg,#a67c2a,#7a5c1e);border-radius:0 0 .35rem .35rem;box-shadow:0 8px 16px #3c280a40;height:1.25rem;margin:0 .5rem}.bookshelf-book{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;flex-direction:column;gap:.35rem;padding:0;position:relative;transition:transform .2s ease}.bookshelf-book--soon{cursor:default;opacity:.72}.bookshelf-book--active.bookshelf-book--available,.bookshelf-book--available:active,.bookshelf-book--available:hover,.bookshelf-book--hover.bookshelf-book--available{transform:translateY(-6px) scale(1.03)}.bookshelf-book--available:active{transform:translateY(-3px) scale(1.01)}.bookshelf-book__cover{aspect-ratio:1414/2000;border:2px solid #2563eb;border:2px solid var(--kc-brand-blue);border-radius:.2rem .35rem .35rem .2rem;box-shadow:2px 2px 0 #5c3d12,4px 4px 12px #0003;max-width:6.5rem;object-fit:cover;width:100%}.bookshelf-book__badge{background:#9ca3af;border-radius:999px;color:#fff;font-size:.6rem;font-weight:800;padding:.15rem .4rem;position:absolute;right:.2rem;top:.35rem}.bookshelf-book__badge--live{background:#16a34a}.bookshelf-book__meta{max-width:8.5rem;text-align:center}.bookshelf-book__title{color:#3b2f1a;display:block;font-size:.92rem;font-weight:700;line-height:1.25}.bookshelf-book__subtitle{color:#5c4a32;display:block;font-size:.82rem;line-height:1.25}.bookshelf-book__grade{color:#6b5a3e;display:block;font-size:.85rem}.invigilator{display:flex;flex-direction:column;gap:1rem}.invigilator__top{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.invigilator__code-block{text-align:center}.invigilator__code-label{color:#6b7280;display:block;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.invigilator__code{color:#2563eb;color:var(--kc-brand-blue);display:block;font-family:ui-monospace,monospace;font-size:2.5rem;font-weight:800;letter-spacing:.2em}.invigilator__hint{color:#6b7280;font-size:.8rem}.invigilator__class-meta{color:#2563eb;color:var(--kc-brand-blue);display:block;font-size:.85rem;font-weight:600;margin-top:.35rem}.invigilator__stats{align-items:center;display:flex;gap:.75rem}.invigilator__pill{background:#ecfdf5;border-radius:999px;color:#047857;font-size:.85rem;font-weight:600;padding:.4rem .75rem}.invigilator__back,.invigilator__end,.student-join__back,.student-join__leave,.student-wait__leave{background:#fff;border:1px solid #ddd;border-radius:.5rem;cursor:pointer;padding:.5rem .9rem}.invigilator__end{border-color:#fecaca;color:#b91c1c}.invigilator__banner{align-items:flex-start;background:color-mix(in srgb,#2563eb 8%,#fff);background:color-mix(in srgb,var(--kc-brand-blue) 8%,#fff);border:2px solid color-mix(in srgb,#2563eb 25%,#e5e7eb);border:2px solid color-mix(in srgb,var(--kc-brand-blue) 25%,#e5e7eb);border-radius:1rem;display:flex;gap:.75rem;padding:1rem 1.25rem}.invigilator__banner p{color:#2563eb;color:var(--kc-brand-blue);font-size:.9rem;margin:.25rem 0 0}.invigilator__layout{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.invigilator__section{background:#fffef9;background:var(--kc-brand-paper);border:3px solid #2563eb;border-top:4px solid #ec4899;border:3px solid var(--kc-brand-blue);border-radius:1rem;border-top:4px solid var(--kc-brand-pink);box-shadow:0 4px 18px -10px color-mix(in srgb,#c2410c 18%,#0000);box-shadow:0 4px 18px -10px color-mix(in srgb,var(--kc-accent-dark) 18%,#0000);padding:1rem}.invigilator__heading{color:#171717;color:var(--kc-brand-ink);font-family:CatchUP,TeachersPet,cursive,sans-serif;font-size:1.05rem;font-weight:800;margin:0 0 .75rem}.invigilator__book-grid{display:flex;flex-wrap:wrap;gap:.75rem}.invigilator__book{align-items:center;background:#fafafa;border:2px solid #0000;border-radius:.5rem;cursor:pointer;display:flex;flex-direction:column;gap:.35rem;padding:.35rem;width:6rem}.invigilator__book img{aspect-ratio:1414/2000;border-radius:.2rem;object-fit:cover;width:4.5rem}.invigilator__book span{font-size:.65rem;font-weight:600;text-align:center}.invigilator__book--active{background:color-mix(in srgb,#2563eb 10%,#fff);background:color-mix(in srgb,var(--kc-brand-blue) 10%,#fff);border-color:#2563eb;border-color:var(--kc-brand-blue)}.invigilator__select{border:1px solid #ddd;border-radius:.5rem;font-size:.95rem;padding:.6rem .75rem;width:100%}.invigilator__open{background:#16a34a;background:var(--kc-brand-green);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:700;padding:.75rem;width:100%}.invigilator__open:disabled{cursor:not-allowed;opacity:.5}.invigilator__status{color:#6b7280;font-size:.85rem;margin:.75rem 0 0}.invigilator__plan-blocks{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.invigilator__plan-block{align-items:flex-start;background:#fff;border:2px solid #e5e7eb;border-radius:.6rem;cursor:pointer;display:flex;flex-direction:column;gap:.15rem;min-width:7rem;padding:.55rem .75rem;text-align:left}.invigilator__plan-block--active{background:color-mix(in srgb,#2563eb 8%,#fff);background:color-mix(in srgb,var(--kc-brand-blue) 8%,#fff);border-color:#2563eb;border-color:var(--kc-brand-blue)}.invigilator__plan-block-num{color:#2563eb;color:var(--kc-brand-blue);font-size:.7rem;font-weight:700}.invigilator__plan-block-label{font-size:.8rem;font-weight:700}.invigilator__plan-block-book{color:#6b7280;font-size:.65rem}.invigilator__plan-nav{display:flex;flex-wrap:wrap;gap:.5rem}.invigilator__block-book{color:#4b5563;font-size:.85rem;margin:0 0 .5rem}.lesson-planner{display:flex;flex-direction:column;gap:1rem}.lesson-planner__class-meta{color:#4b5563;font-size:.9rem;margin:0}.lesson-planner__licence{border-left:4px solid #2563eb;border-left:4px solid var(--kc-brand-blue)}.lesson-planner__licence--warn{background:#fef2f2;border-left-color:#dc2626}.lesson-planner__modes{margin-bottom:0}.lesson-planner__mode-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));margin-top:.5rem}.lesson-planner__mode{align-items:flex-start;background:#fff;border:2px solid #e5e7eb;border-radius:.6rem;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;padding:.65rem .75rem;text-align:left}.lesson-planner__mode strong{font-size:.85rem}.lesson-planner__mode span{color:#6b7280;font-size:.7rem;line-height:1.35}.lesson-planner__mode--active{background:color-mix(in srgb,#2563eb 8%,#fff);background:color-mix(in srgb,var(--kc-brand-blue) 8%,#fff);border-color:#2563eb;border-color:var(--kc-brand-blue)}.lesson-planner__mode--locked{border-style:dashed;opacity:.72}.lesson-planner__mode--purchased{border-color:#059669}.lesson-planner__mode-badge{background:#fef3c7;border-radius:.25rem;color:#92400e;display:inline-block;font-size:.6rem;font-weight:700;margin-left:.35rem;padding:.1rem .35rem;text-transform:uppercase;vertical-align:middle}.lesson-planner__mode-badge--ok{background:#d1fae5;color:#065f46}.lesson-planner__module-note{color:#6b7280;font-size:.8rem;margin:.65rem 0 0}.lesson-planner__link-btn{background:none;border:none;color:#2563eb;color:var(--kc-brand-blue);cursor:pointer;font-weight:600;padding:0;text-decoration:underline}.lesson-planner__term-note{color:#6b7280;font-size:.8rem;margin:.5rem 0 0}.lesson-planner__section-title{font-size:1rem;font-weight:700;margin:0}.lesson-planner__toolbar{display:flex;flex-direction:column;gap:.75rem}.lesson-planner__meta-form{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:1fr auto}.lesson-planner__term-field{min-width:10rem}.lesson-planner__toolbar-actions{align-items:center;display:flex;gap:.75rem}.lesson-planner__save-msg{color:#059669;font-size:.85rem}.lesson-planner__saved-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.lesson-planner__saved-item{align-items:center;display:flex;gap:.5rem}.lesson-planner__saved-load{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;flex:1 1;padding:.5rem .75rem;text-align:left}.lesson-planner__blocks-head,.lesson-planner__saved-load{align-items:center;display:flex;justify-content:space-between}.lesson-planner__blocks-head{gap:1rem}.lesson-planner__block{background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;overflow:hidden}.lesson-planner__block-head{align-items:center;background:color-mix(in srgb,#2563eb 6%,#fff);background:color-mix(in srgb,var(--kc-brand-blue) 6%,#fff);border-bottom:1px solid #e5e7eb;display:flex;gap:.5rem;padding:.65rem .85rem}.lesson-planner__block-num{color:#2563eb;color:var(--kc-brand-blue);font-size:.75rem;font-weight:700;white-space:nowrap}.lesson-planner__block-label{flex:1 1;min-width:0}.lesson-planner__block-label--empty{color:#64748b;font-size:.9rem}.lesson-planner__block-actions{display:flex;gap:.25rem}.lesson-planner__block-body{display:flex;flex-direction:column;gap:.75rem;padding:.85rem}.lesson-planner__book-pick{display:flex;flex-wrap:wrap;gap:.5rem}.lesson-planner__book{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:.5rem;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;padding:.35rem;width:4.5rem}.lesson-planner__book img{border-radius:.25rem;height:auto;width:3rem}.lesson-planner__book span{font-size:.55rem;font-weight:600;line-height:1.2;text-align:center}.lesson-planner__book--active{background:color-mix(in srgb,#2563eb 10%,#fff);background:color-mix(in srgb,var(--kc-brand-blue) 10%,#fff);border-color:#2563eb;border-color:var(--kc-brand-blue)}.lesson-planner__book--locked{opacity:.55}.lesson-planner__steps{border:none;margin:0;padding:0}.lesson-planner__step-actions{margin-top:.35rem}.lesson-planner__step-toggles{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.35rem}.lesson-planner__step-toggle{align-items:center;cursor:pointer;display:flex;font-size:.85rem;gap:.35rem}.lesson-planner__start{text-align:center}.lesson-planner__start-hint{color:#6b7280;margin:0 0 .75rem}.lesson-planner__start-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.class-report__block-section{margin-bottom:1.25rem}.class-report__block-section .class-report__caps-heading{margin-bottom:.5rem}@media (max-width:640px){.lesson-planner__meta-form{grid-template-columns:1fr}}.student-chat{align-items:flex-end;bottom:1rem;display:flex;flex-direction:column;gap:.5rem;position:fixed;right:1rem;z-index:1200}.student-chat__fab{align-items:center;background:#fff;border:2px solid #2563eb;border:2px solid var(--kc-brand-blue);border-radius:999px;box-shadow:0 4px 16px -6px color-mix(in srgb,#2563eb 35%,#0000);box-shadow:0 4px 16px -6px color-mix(in srgb,var(--kc-brand-blue) 35%,#0000);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:700;gap:.4rem;padding:.55rem .9rem}.student-chat__fab-icon{font-size:1.1rem}.student-chat__badge{align-items:center;background:#dc2626;border-radius:999px;color:#fff;display:inline-flex;font-size:.7rem;font-weight:700;height:1.25rem;justify-content:center;min-width:1.25rem;padding:0 .35rem}.student-chat__panel{background:#fff;border:2px solid #2563eb;border:2px solid var(--kc-brand-blue);border-radius:.85rem;box-shadow:0 8px 28px -10px #00000040;display:flex;flex-direction:column;max-height:min(24rem,60vh);overflow:hidden;width:min(22rem,calc(100vw - 2rem))}.student-chat__head{background:color-mix(in srgb,#2563eb 8%,#fff);background:color-mix(in srgb,var(--kc-brand-blue) 8%,#fff);border-bottom:1px solid #e5e7eb;display:flex;gap:.5rem;justify-content:space-between;padding:.65rem .75rem}.student-chat__head p{color:#6b7280;font-size:.75rem;margin:.2rem 0 0}.student-chat__close{background:#0000;border:none;color:#6b7280;cursor:pointer;font-size:1.35rem;line-height:1}.student-chat__messages{display:flex;flex:1 1;flex-direction:column;gap:.5rem;overflow-y:auto;padding:.65rem .75rem}.student-chat__empty,.student-chat__typing{color:#6b7280;font-size:.8rem;margin:0}.student-chat__msg{border-radius:.6rem;font-size:.85rem;max-width:92%;padding:.45rem .6rem}.student-chat__msg p{margin:.15rem 0 0}.student-chat__msg-from{font-size:.65rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.student-chat__msg--student{align-self:flex-end;background:color-mix(in srgb,#2563eb 12%,#fff);background:color-mix(in srgb,var(--kc-brand-blue) 12%,#fff)}.student-chat__msg--assistant,.student-chat__msg--teacher{align-self:flex-start;background:#f3f4f6}.student-chat__msg--broadcast{align-self:stretch;background:#fef9c3;border:1px solid #fde047}.student-chat__quick{display:flex;flex-wrap:wrap;gap:.35rem;padding:0 .65rem .45rem}.student-chat__quick-btn{background:#fff;border:1px solid #e5e7eb;border-radius:999px;cursor:pointer;font-size:.7rem;padding:.25rem .5rem}.student-chat__form{border-top:1px solid #e5e7eb;display:flex;gap:.35rem;padding:.55rem .65rem}.student-chat__input{border:1px solid #d1d5db;border-radius:.45rem;flex:1 1;font-size:.85rem;padding:.45rem .55rem}.student-chat__send{background:#2563eb;background:var(--kc-brand-blue);border:none;border-radius:.45rem;color:#fff;cursor:pointer;font-weight:600;padding:.45rem .75rem}.student-chat__send:disabled{cursor:not-allowed;opacity:.5}.educator-broadcast__head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.educator-broadcast__quick{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.educator-broadcast__form{grid-gap:.5rem;align-items:center;display:grid;gap:.5rem;grid-template-columns:auto 1fr auto}.educator-broadcast__label{min-width:9rem}.educator-broadcast__history{border-top:1px solid #e5e7eb;margin-top:.85rem;padding-top:.75rem}.educator-broadcast__history-title{font-size:.85rem;font-weight:700;margin:0 0 .5rem}.educator-broadcast__history ul{display:flex;flex-direction:column;gap:.4rem;list-style:none;margin:0;padding:0}.educator-broadcast__history li{grid-gap:.5rem;align-items:baseline;display:grid;font-size:.8rem;gap:.5rem;grid-template-columns:auto 1fr auto}.educator-broadcast__history-label{color:#2563eb;color:var(--kc-brand-blue);font-weight:700;white-space:nowrap}.educator-broadcast__history-text{color:#374151}.educator-broadcast__history-time{color:#9ca3af;font-size:.7rem;white-space:nowrap}.student-broadcast{left:50%;position:fixed;top:.75rem;transform:translateX(-50%);width:min(28rem,calc(100vw - 1.5rem));z-index:1100}.student-broadcast__inner{align-items:flex-start;background:#fefce8;border:2px solid #fde047;border-radius:.75rem;box-shadow:0 6px 20px -8px #0003;display:flex;gap:.5rem;padding:.65rem .75rem}.student-broadcast__icon{font-size:1.25rem;line-height:1}.student-broadcast__body{flex:1 1;min-width:0}.student-broadcast__body p{color:#374151;font-size:.85rem;margin:.2rem 0 0}.student-broadcast__code{font-size:.8rem!important;margin:.35rem 0 0!important}.student-broadcast__dismiss{background:#0000;border:none;color:#6b7280;cursor:pointer;font-size:1.25rem;line-height:1}.student-broadcast__more{color:#6b7280;font-size:.75rem;margin:.35rem 0 0;text-align:center}@media (max-width:720px){.educator-broadcast__form{grid-template-columns:1fr}}.educator-chat__head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.educator-chat__total-badge{background:#dc2626;border-radius:999px;color:#fff;display:inline-flex;font-size:.7rem;height:1.25rem;margin-left:.35rem;min-width:1.25rem;padding:0 .35rem;vertical-align:middle}.educator-chat__assist-toggle{align-items:center;display:flex;font-size:.85rem;font-weight:600;gap:.35rem;white-space:nowrap}.educator-chat__layout{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:minmax(9rem,11rem) 1fr;min-height:14rem}.educator-chat__learners{display:flex;flex-direction:column;gap:.35rem;list-style:none;margin:0;max-height:16rem;overflow-y:auto;padding:0}.educator-chat__learner{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;padding:.45rem .55rem;position:relative;text-align:left;width:100%}.educator-chat__learner--active{background:color-mix(in srgb,#2563eb 8%,#fff);background:color-mix(in srgb,var(--kc-brand-blue) 8%,#fff);border-color:#2563eb;border-color:var(--kc-brand-blue)}.educator-chat__learner-name{display:block;font-size:.8rem;font-weight:700}.educator-chat__learner-preview{color:#6b7280;display:block;font-size:.65rem;margin-top:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.educator-chat__badge{background:#dc2626;border-radius:999px;color:#fff;font-size:.65rem;font-weight:700;height:1.1rem;min-width:1.1rem;padding:0 .3rem;position:absolute;right:.35rem;top:.3rem}.educator-chat__thread{border:1px solid #e5e7eb;border-radius:.6rem;display:flex;flex-direction:column;min-height:14rem;overflow:hidden}.educator-chat__thread-title{background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:.8rem;margin:0;padding:.5rem .65rem}.educator-chat__messages{display:flex;flex:1 1;flex-direction:column;gap:.45rem;overflow-y:auto;padding:.55rem .65rem}.educator-chat__empty{color:#6b7280;font-size:.8rem;margin:0}.educator-chat__msg{border-radius:.5rem;font-size:.8rem;max-width:90%;padding:.4rem .55rem}.educator-chat__msg p{margin:.15rem 0 0}.educator-chat__msg-from{font-size:.6rem;font-weight:700;text-transform:uppercase}.educator-chat__msg--student{align-self:flex-start;background:#fef3c7}.educator-chat__msg--teacher{align-self:flex-end;background:color-mix(in srgb,#2563eb 12%,#fff);background:color-mix(in srgb,var(--kc-brand-blue) 12%,#fff)}.educator-chat__msg--assistant{align-self:flex-start;background:#f3f4f6;font-style:italic}.educator-chat__msg--broadcast{align-self:center;background:#fef9c3;border:1px solid #fde047;max-width:100%}.educator-chat__form{border-top:1px solid #e5e7eb;display:flex;gap:.4rem;padding:.5rem .65rem}@media (max-width:720px){.educator-chat__layout{grid-template-columns:1fr}.educator-chat__learners{flex-direction:row;flex-wrap:wrap;max-height:none}.educator-chat__learner{min-width:7rem;width:auto}}.invigilator-bar{align-items:center;background:#fffef9;background:var(--kc-brand-paper);border:3px solid #2563eb;border-top:4px solid #ec4899;border:3px solid var(--kc-brand-blue);border-radius:.75rem;border-top:4px solid var(--kc-brand-pink);box-shadow:0 2px 10px -6px color-mix(in srgb,#c2410c 20%,#0000);box-shadow:0 2px 10px -6px color-mix(in srgb,var(--kc-accent-dark) 20%,#0000);display:flex;font-size:.9rem;gap:1rem;justify-content:space-between;margin-bottom:.75rem;padding:.6rem 1rem}.invigilator-bar--student{background:#fef3c7;color:#92400e;font-weight:600;justify-content:center}.student-join,.student-wait{align-items:center;display:flex;flex-direction:column;padding:1rem 0 2rem}.student-join__card,.student-wait__card{background:#fffef9;background:var(--kc-brand-paper);border:3px solid #2563eb;border-radius:1rem;border-top:4px solid #ec4899;border:3px solid var(--kc-brand-blue);border-top:4px solid var(--kc-brand-pink);box-shadow:0 8px 24px -12px color-mix(in srgb,#2563eb 28%,#0000);box-shadow:0 8px 24px -12px color-mix(in srgb,var(--kc-brand-blue) 28%,#0000);max-width:24rem;padding:1.5rem;width:100%}.student-join__title,.student-wait__title{color:#171717;color:var(--kc-brand-ink);font-family:CatchUP,TeachersPet,cursive,sans-serif;font-size:1.35rem;font-weight:800;margin:0 0 .5rem;text-align:center}.student-join__text,.student-wait__text{color:#6b7280;margin:0 0 1.25rem;text-align:center}.student-join__form{display:flex;flex-direction:column;gap:1rem}.student-join__label{display:flex;flex-direction:column;font-size:.9rem;font-weight:600;gap:.35rem}.student-join__input{border:1px solid #ddd;border-radius:.5rem;font-size:1.1rem;padding:.65rem .75rem}.student-join__submit{background:#16a34a;background:var(--kc-brand-green);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:700;padding:.75rem}.student-join__error{color:#b91c1c;font-size:.9rem;margin:0}.student-wait__hello{color:#6b7280;margin:0 0 .25rem;text-align:center}.student-wait__book{align-items:center;background:#fff7ed;background:var(--kc-accent-soft);border:2px solid #fdba74;border:2px solid var(--kc-accent-border);border-radius:.75rem;display:flex;gap:1rem;margin:1rem 0}.student-wait__book img{aspect-ratio:1414/2000;border-radius:.25rem;object-fit:cover;width:4rem}.student-wait__code{color:#6b7280;font-size:.9rem;text-align:center}.student-wait__leave{display:block;margin:1rem auto 0}.student-wait__pulse{display:flex;gap:.5rem;justify-content:center;margin:1.5rem 0}.student-wait__pulse span{animation:wait-bounce 1.2s ease-in-out infinite;background:#2563eb;background:var(--kc-brand-blue);border-radius:50%;height:.65rem;width:.65rem}.student-wait__pulse span:nth-child(2){animation-delay:.15s}.student-wait__pulse span:nth-child(3){animation-delay:.3s}@keyframes wait-bounce{0%,80%,to{opacity:.5;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.bookshelf-coming{margin:0 auto;max-width:28rem;padding:3rem 1rem;text-align:center}.bookshelf-coming__title{color:#171717;color:var(--kc-brand-ink);font-family:CatchUP,TeachersPet,cursive,sans-serif;font-size:1.75rem;font-weight:800;margin:0 0 .5rem}.bookshelf-coming__text{color:#57534e;line-height:1.5;margin:0 0 1.5rem}.lesson-timer{align-items:center;background:#fff;border:2px solid #c7d2fe;border-radius:999px;display:inline-flex;font-weight:700;gap:.5rem;padding:.35rem .75rem}.lesson-timer--urgent{background:#fffbeb;border-color:#f59e0b;color:#b45309}.lesson-timer--done{background:#fef2f2;border-color:#ef4444;color:#b91c1c}.lesson-timer__clock{font-family:ui-monospace,monospace;font-size:1.1rem}.invigilator__steps-head{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.invigilator__steps-head .invigilator__heading{margin:0}.invigilator__steps-all{background:#0000;border:none;color:#1d4ed8;color:var(--portal-accent,#1d4ed8);cursor:pointer;font-size:.85rem;font-weight:600;padding:.25rem 0;text-decoration:underline}.invigilator__steps-all:disabled{color:#64748b;cursor:default;text-decoration:none}.invigilator__steps-hint{color:#64748b;font-size:.85rem;margin:.35rem 0 .65rem}.invigilator__steps{display:flex;flex-wrap:wrap;gap:.5rem}.invigilator__step{background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;cursor:pointer;flex:1 1 7rem;font-size:.85rem;font-weight:600;padding:.65rem .5rem}.invigilator__step--active{background:color-mix(in srgb,#2563eb 10%,#fff);background:color-mix(in srgb,var(--kc-brand-blue) 10%,#fff);border-color:#2563eb;border-color:var(--kc-brand-blue);color:#1d4ed8}.invigilator__timer-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.invigilator__timer-controls .invigilator__select{flex:1 1 8rem}.invigilator__live{margin-top:.5rem}.invigilator__table{border-collapse:collapse;font-size:.9rem;width:100%}.invigilator__table td,.invigilator__table th{border-bottom:1px solid #eee;padding:.5rem .65rem;text-align:left}.invigilator__table th{color:#6b7280;font-weight:600}.invigilator__empty{color:#9ca3af;text-align:center}.invigilator__report{background:color-mix(in srgb,#2563eb 8%,#fff);background:color-mix(in srgb,var(--kc-brand-blue) 8%,#fff);border:2px solid color-mix(in srgb,#2563eb 30%,#e5e7eb);border:2px solid color-mix(in srgb,var(--kc-brand-blue) 30%,#e5e7eb);border-radius:.5rem;color:#2563eb;color:var(--kc-brand-blue);cursor:pointer;font-weight:600;padding:.4rem .75rem}.class-report{margin:0 auto;max-width:56rem}.class-report__toolbar{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.25rem}.class-report__toolbar-actions{display:flex;flex-wrap:wrap;gap:.5rem}.class-report__sheet{background:#fffef9;background:var(--kc-brand-paper);border:3px solid #2563eb;border-top:4px solid #ec4899;border:3px solid var(--kc-brand-blue);border-radius:.775rem;border-radius:calc(var(--portal-radius, .625rem) + .15rem);border-top:4px solid var(--kc-brand-pink);box-shadow:var(--portal-shadow);padding:1.75rem}.class-report__meta{grid-gap:.75rem 1.5rem;display:grid;gap:.75rem 1.5rem;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));margin:1rem 0 1.5rem}.class-report__meta dt{color:#6b7280;font-size:.75rem;text-transform:uppercase}.class-report__meta dd{font-weight:600;margin:.15rem 0 0}.class-report__table{border-collapse:collapse;font-size:.95rem;width:100%}.class-report__table td,.class-report__table th{border:1px solid #e5e7eb;padding:.6rem .75rem;text-align:left}.class-report__table th{background:#f9fafb}.class-report__footer{color:#6b7280;font-size:.85rem;margin-top:1.25rem}.class-report__grade--achieved{color:#047857;font-weight:700}.class-report__grade--progressing{color:#b45309;font-weight:700}.class-report__grade--needs-support{color:#b91c1c;font-weight:700}.class-report__grade--incomplete{color:#6b7280}@media print{.no-print{display:none!important}.class-report__sheet{border:none;box-shadow:none}}.book-flow__next-btn:hover{background:#6d28d9}.roster-setup{display:flex;flex-direction:column;gap:1.25rem}.roster-setup__card,.teacher-pick__card{margin-top:.5rem}.roster-setup__title,.teacher-pick__title{color:#0f172a;color:var(--portal-navy,#0f172a);font-size:1.35rem;font-weight:700;margin:0 0 .5rem}.roster-setup__text,.teacher-pick__text{color:#64748b;color:var(--portal-muted,#64748b);font-size:.92rem;line-height:1.5;margin:0 0 1rem}.roster-setup__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.roster-setup__upload{align-items:center;background:#1d4ed8;background:var(--portal-accent,#1d4ed8);border-radius:.625rem;border-radius:var(--portal-radius,.625rem);color:#fff;cursor:pointer;display:inline-flex;font-size:.88rem;font-weight:600;padding:.65rem 1.1rem;transition:background .15s}.roster-setup__upload:hover{background:#1e40af;background:var(--portal-accent-hover,#1e40af)}.roster-setup__upload input{display:none}.roster-setup__template,.teacher-pick__link,.teacher-pick__skip{background:#fff;border:1px solid #ddd;border-radius:.5rem;color:#374151;cursor:pointer;font-weight:600;padding:.65rem 1.1rem}.roster-setup__help{color:#6b7280;font-size:.9rem;margin:.5rem 0 0}.roster-setup__sample{background:#f9fafb;border-radius:.5rem;font-size:.8rem;overflow-x:auto;padding:.75rem}.roster-setup__success{color:#047857;font-weight:600;margin:.75rem 0 0}.roster-setup__muted{color:#9ca3af;margin:0}.roster-setup__list{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:1.25rem}.roster-setup__heading{color:#374151;font-size:1.1rem;margin:0 0 .75rem}.teacher-pick{display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:40rem;width:100%}.teacher-pick__actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.teacher-pick__caps-note{background:#f0fdf4;border:1px solid #86efac;border-radius:.65rem;color:#334155;font-family:inherit;line-height:1.6;margin:0 0 1rem;padding:.75rem .95rem}.teacher-pick__educator{background:#eff6ff;background:var(--portal-accent-soft,#eff6ff);border:1px solid #bfdbfe;border-radius:.625rem;border-radius:var(--portal-radius,.625rem);color:#1e293b;color:var(--portal-slate,#1e293b);font-size:.88rem;margin:.5rem 0 0;padding:.65rem .85rem}.teacher-pick__empty{align-items:flex-start;display:flex;flex-direction:column;gap:.75rem}.student-join__hint{color:#b45309;font-size:.8rem;margin-top:.35rem}.student-ended{align-items:center;display:flex;flex-direction:column;padding:1rem 0 2rem}.student-ended__card{background:#fffef9;background:var(--kc-brand-paper);border:3px solid #2563eb;border-radius:1rem;border-top:4px solid #ec4899;border:3px solid var(--kc-brand-blue);border-top:4px solid var(--kc-brand-pink);box-shadow:0 8px 32px color-mix(in srgb,#c2410c 12%,#0000);box-shadow:0 8px 32px color-mix(in srgb,var(--kc-accent-dark) 12%,#0000);max-width:28rem;padding:2rem 1.5rem;text-align:center;width:100%}.student-ended__icon{font-size:2.5rem;margin-bottom:.5rem}.student-ended__title{color:#171717;color:var(--kc-brand-ink);font-family:CatchUP,TeachersPet,cursive,sans-serif;font-size:1.5rem;font-weight:800;margin:0 0 .5rem}.student-ended__text{color:#6b7280;line-height:1.5;margin:0 0 1.25rem}.student-ended__marks{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr;margin:0 0 1.25rem;text-align:left}.student-ended__marks div{background:#f9fafb;border-radius:.5rem;padding:.65rem .85rem}.student-ended__marks dt{color:#6b7280;font-size:.75rem;margin:0}.student-ended__marks dd{color:#111827;font-weight:700;margin:.2rem 0 0}.student-ended__grade{color:#16a34a;color:var(--kc-brand-green);font-weight:800}.student-ended__hint{color:#9ca3af;font-size:.85rem;margin:0 0 1rem}.invigilator__expired{background:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;color:#991b1b;padding:.85rem 1rem}.invigilator__expired p{color:#b91c1c;font-size:.9rem;margin:.35rem 0 0}.app-shell--locked .app-container{filter:blur(1px);opacity:.35;pointer-events:none;-webkit-user-select:none;user-select:none}.session-locked{align-items:center;background:#ffffffeb;display:flex;flex-direction:column;inset:0;justify-content:center;padding:2rem;position:fixed;text-align:center;z-index:9999}.session-locked strong{color:#991b1b;font-size:1.5rem}.session-locked p{color:#6b7280;margin:.5rem 0 0}.portal-enterprise{--portal-navy:var(--kc-brand-ink);--portal-slate:#292524;--portal-accent:var(--kc-brand-blue);--portal-accent-hover:#1d4ed8;--portal-accent-soft:color-mix(in srgb,var(--kc-brand-blue) 10%,#fff);--portal-border:color-mix(in srgb,var(--kc-brand-blue) 18%,#e5e7eb);--portal-surface:var(--kc-brand-paper);--portal-muted:#57534e;--portal-success:var(--kc-brand-green);--portal-success-soft:#ecfdf5;--portal-warning-soft:var(--kc-accent-soft);--portal-danger:#b91c1c;--portal-radius:0.75rem;--portal-shadow:0 4px 18px -8px color-mix(in srgb,var(--kc-accent-dark) 22%,#0000)}.portal-header{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.portal-header--compact{margin-bottom:1rem}.portal-header .brand-cover{margin-bottom:0}.portal-header__badges{align-items:center;display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:center}.portal-header__badge{background:#ffffffeb;border-radius:.35rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.15));height:2.25rem;object-fit:contain;padding:.2rem .35rem;width:auto}.portal-header__badge--dbe{max-width:6rem}.portal-header__badge--caps{max-width:4.5rem}.portal-header__badge--gde{max-width:5rem}.portal-header__brand{align-items:center;display:flex;gap:1rem;min-width:0}.portal-header__logo{flex-shrink:0;height:2.75rem;max-width:10rem;object-fit:contain;width:auto}.portal-header__eyebrow{color:#64748b;color:var(--portal-muted,#64748b);display:block;font-size:.72rem;font-weight:600;letter-spacing:.06em;margin-bottom:.2rem;text-transform:uppercase}.portal-header__title{color:#0f172a;color:var(--portal-navy,#0f172a);font-size:clamp(1.35rem,2.5vw,1.65rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0}.portal-header__subtitle{color:#64748b;color:var(--portal-muted,#64748b);font-size:.95rem;line-height:1.5;margin:.35rem 0 0;max-width:42rem}.portal-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--portal-border,#e2e8f0);margin-top:2rem;padding-top:1.25rem}.portal-footer__line{color:#64748b;color:var(--portal-muted,#64748b);font-size:.82rem;line-height:1.55;margin:0 0 .5rem}.portal-footer__meta{color:#94a3b8;font-size:.75rem;margin:0}.portal-back{align-items:center;align-self:flex-start;background:#fff;background:var(--portal-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--portal-border,#e2e8f0);border-radius:.625rem;border-radius:var(--portal-radius,.625rem);color:#1e293b;color:var(--portal-slate,#1e293b);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.35rem;padding:.45rem .75rem;transition:border-color .15s,background .15s}.portal-back svg{flex-shrink:0;height:1rem;width:1rem}.portal-back:hover{background:#f8fafc;border-color:#cbd5e1}.portal-nav-icon{display:inline-flex;flex-shrink:0;height:1.15rem;width:1.15rem}.portal-nav-icon svg{height:100%;width:100%}.portal-callout{background:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--portal-border,#e2e8f0);border-radius:.625rem;border-radius:var(--portal-radius,.625rem);display:flex;gap:.75rem;padding:.9rem 1.1rem}.portal-callout--info{background:#eff6ff;background:var(--portal-accent-soft,#eff6ff);border-color:#bfdbfe}.portal-callout--warning{background:#fffbeb;background:var(--portal-warning-soft,#fffbeb);border-color:#fde68a}.portal-callout--alert{background:#fef2f2;border-color:#fecaca}.portal-callout__title{color:#0f172a;color:var(--portal-navy,#0f172a);display:block;font-size:.92rem}.portal-callout__text{color:#64748b;color:var(--portal-muted,#64748b);font-size:.88rem;line-height:1.5;margin-top:.25rem}.portal-callout__text p{margin:0}.portal-status{align-items:center;display:inline-flex;font-size:.82rem;font-weight:600;gap:.4rem}.portal-status__dot{background:#cbd5e1;border-radius:50%;height:.5rem;width:.5rem}.portal-status--done .portal-status__dot{background:#059669;background:var(--portal-success,#059669)}.portal-status--done{color:#059669;color:var(--portal-success,#059669)}.portal-status--pending{color:#94a3b8}.portal-metric{background:#fff;background:var(--portal-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--portal-border,#e2e8f0);border-radius:.625rem;border-radius:var(--portal-radius,.625rem);box-shadow:var(--portal-shadow);padding:1.15rem 1.25rem}.portal-metric__value{color:#0f172a;color:var(--portal-navy,#0f172a);display:block;font-size:1.85rem;font-weight:700;letter-spacing:-.03em;line-height:1.1}.portal-metric__label{color:#64748b;color:var(--portal-muted,#64748b);display:block;font-size:.82rem;font-weight:600;letter-spacing:.04em;margin-top:.35rem;text-transform:uppercase}.portal-metric__hint{color:#94a3b8;display:block;font-size:.75rem;margin-top:.25rem}.portal-metric-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));margin-bottom:1.5rem}.portal-form{gap:1rem}.portal-field,.portal-form{display:flex;flex-direction:column}.portal-field{gap:.4rem}.portal-field__label{color:#1e293b;color:var(--portal-slate,#1e293b);font-size:.82rem;font-weight:600;letter-spacing:.01em}.portal-input,.portal-select{background:#fff;background:var(--portal-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--portal-border,#e2e8f0);border-radius:.625rem;border-radius:var(--portal-radius,.625rem);color:#0f172a;color:var(--portal-navy,#0f172a);font-family:inherit;font-size:.95rem;padding:.7rem .85rem;transition:border-color .15s,box-shadow .15s;width:100%}.portal-input:focus,.portal-select:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f626;outline:none}.portal-btn{align-items:center;background:#fff;background:var(--portal-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--portal-border,#e2e8f0);border-radius:.625rem;border-radius:var(--portal-radius,.625rem);color:#1e293b;color:var(--portal-slate,#1e293b);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.88rem;font-weight:600;gap:.4rem;justify-content:center;padding:.65rem 1.1rem;transition:background .15s,border-color .15s}.portal-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.portal-btn:disabled{cursor:not-allowed;opacity:.5}.portal-btn--primary{background:#1d4ed8;background:var(--portal-accent,#1d4ed8);border-color:#1d4ed8;border-color:var(--portal-accent,#1d4ed8);color:#fff}.portal-btn--primary:hover:not(:disabled){background:#1e40af;background:var(--portal-accent-hover,#1e40af);border-color:#1e40af;border-color:var(--portal-accent-hover,#1e40af)}.portal-btn--ghost{background:#0000;border-color:#0000;color:#64748b;color:var(--portal-muted,#64748b)}.portal-btn--ghost:hover:not(:disabled){background:#f1f5f9;color:#1e293b;color:var(--portal-slate,#1e293b)}.portal-btn--danger{background:#fff;border-color:#fecaca;color:#b91c1c;color:var(--portal-danger,#b91c1c)}.portal-btn--danger:hover:not(:disabled){background:#fef2f2}.portal-card{background:#fff;background:var(--portal-surface,#fff);border:3px solid #2563eb;border-top:4px solid #ec4899;border:3px solid var(--kc-brand-blue);border-radius:.775rem;border-radius:calc(var(--portal-radius, .625rem) + .15rem);border-top:4px solid var(--kc-brand-pink);box-shadow:var(--portal-shadow);max-width:36rem;padding:1.5rem;width:100%}.portal-card--wide{max-width:none}.portal-table-wrap{background:#fff;background:var(--portal-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--portal-border,#e2e8f0);border-radius:.625rem;border-radius:var(--portal-radius,.625rem);box-shadow:var(--portal-shadow);overflow-x:auto}.portal-table{border-collapse:collapse;font-size:.88rem;width:100%}.portal-table td,.portal-table th{border-bottom:1px solid #f1f5f9;padding:.7rem .9rem;text-align:left;vertical-align:middle}.portal-table th{background:#f8fafc;color:#64748b;color:var(--portal-muted,#64748b);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.portal-table tbody tr:hover{background:#fafbfc}.portal-table tbody tr:last-child td{border-bottom:none}.portal-table__empty{color:#94a3b8;padding:1.5rem!important;text-align:center}.portal-loading{align-items:center;color:#64748b;color:var(--portal-muted,#64748b);display:flex;font-size:.9rem;gap:.75rem;padding:1.5rem 0}.portal-loading__bars{display:flex;gap:.3rem}.portal-loading__bars span{animation:portal-bar 1s ease-in-out infinite;background:#cbd5e1;border-radius:2px;height:1.25rem;width:.35rem}.portal-loading__bars span:nth-child(2){animation-delay:.15s}.portal-loading__bars span:nth-child(3){animation-delay:.3s}@keyframes portal-bar{0%,to{opacity:.5;transform:scaleY(.5)}50%{opacity:1;transform:scaleY(1)}}.portal-letterhead{align-items:flex-start;border-bottom:2px solid #0f172a;border-bottom:2px solid var(--portal-navy,#0f172a);display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:1.25rem}.portal-letterhead__title{color:#0f172a;color:var(--portal-navy,#0f172a);font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin:0}.portal-letterhead__subtitle{color:#64748b;color:var(--portal-muted,#64748b);font-size:.85rem;margin:.25rem 0 0}.portal-letterhead__logos{align-items:center;display:flex;flex-shrink:0;gap:.85rem}.portal-letterhead__logos img{height:2.25rem;object-fit:contain;width:auto}.portal-letterhead__logo--gde{max-height:2.5rem}.portal-letterhead__subtitle--meta{font-size:.78rem;margin-top:.2rem}.portal-signature{grid-gap:2rem;border-top:1px solid #e2e8f0;border-top:1px solid var(--portal-border,#e2e8f0);display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);margin-top:2rem;padding-top:1.25rem}.portal-signature__line{border-bottom:1px solid #94a3b8;height:2rem;margin-bottom:.35rem}.portal-signature__label{color:#64748b;color:var(--portal-muted,#64748b);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.portal-enterprise .invigilator__code{color:#1d4ed8;color:var(--portal-accent,#1d4ed8)}.portal-enterprise .invigilator__class-meta{color:#1e293b;color:var(--portal-slate,#1e293b)}.portal-enterprise .invigilator__heading{color:#0f172a;color:var(--portal-navy,#0f172a);font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.portal-enterprise .invigilator__section{border-color:#e2e8f0;border-color:var(--portal-border,#e2e8f0);box-shadow:var(--portal-shadow)}.portal-enterprise .invigilator__step--active{color:#1e40af;color:var(--portal-accent-hover,#1e40af)}.portal-enterprise .invigilator__book--active,.portal-enterprise .invigilator__step--active{background:#eff6ff;background:var(--portal-accent-soft,#eff6ff);border-color:#1d4ed8;border-color:var(--portal-accent,#1d4ed8)}.portal-enterprise .invigilator__open{background:#1d4ed8;background:var(--portal-accent,#1d4ed8)}.portal-enterprise .invigilator__open:hover{background:#1e40af;background:var(--portal-accent-hover,#1e40af)}.portal-enterprise .invigilator__report{background:#eff6ff;background:var(--portal-accent-soft,#eff6ff);border-color:#bfdbfe;color:#1e40af;color:var(--portal-accent-hover,#1e40af)}.portal-enterprise .invigilator__pill{background:#ecfdf5;background:var(--portal-success-soft,#ecfdf5);color:#059669;color:var(--portal-success,#059669)}.portal-enterprise .invigilator__step-num{align-items:center;background:#e2e8f0;border-radius:50%;display:inline-flex;font-size:.72rem;font-weight:700;height:1.35rem;justify-content:center;margin-right:.35rem;width:1.35rem}.portal-enterprise .invigilator__step--active .invigilator__step-num{background:#1d4ed8;background:var(--portal-accent,#1d4ed8);color:#fff}.portal-session-bar{align-items:center;background:#fff;background:var(--portal-surface,#fff);border:3px solid #2563eb;border-top:4px solid #ec4899;border:3px solid var(--kc-brand-blue);border-radius:.775rem;border-radius:calc(var(--portal-radius, .625rem) + .15rem);border-top:4px solid var(--kc-brand-pink);box-shadow:var(--portal-shadow);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 1.15rem}.portal-session-bar__code{color:#1d4ed8;color:var(--portal-accent,#1d4ed8);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(1.75rem,4vw,2.35rem);font-weight:700;letter-spacing:.18em;line-height:1}.portal-session-bar__label{color:#64748b;color:var(--portal-muted,#64748b);display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-bottom:.25rem;text-transform:uppercase}.portal-session-bar__meta{color:#1e293b;color:var(--portal-slate,#1e293b);font-size:.88rem;font-weight:600;margin-top:.35rem}.portal-session-bar__actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.bookshelf-admin-link{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;color:#475569;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;gap:.4rem;margin-top:1rem;padding:.55rem 1rem;transition:border-color .15s,color .15s}.bookshelf-admin-link:hover{border-color:#bfdbfe;color:#1d4ed8}.bookshelf-admin-link--on-grass{background:#0000001f;border-color:#ffffff8c;color:#fff;margin-top:.85rem}.bookshelf-admin-link--on-grass:hover{background:#0003;border-color:#fff;color:#fff}.admin-portal{background:linear-gradient(180deg,color-mix(in srgb,#2563eb 8%,#fff),#fffdf7 50%,color-mix(in srgb,#22c55e 10%,#fff));background:linear-gradient(180deg,color-mix(in srgb,var(--kc-brand-blue) 8%,#fff) 0,var(--kc-brand-cream) 50%,color-mix(in srgb,var(--kc-grass) 10%,#fff) 100%);display:flex;min-height:100vh}.admin-sidebar{background:linear-gradient(180deg,#2563eb,#1d4ed8 55%,#15803d);border-right:4px solid #ec4899;border-right:4px solid var(--kc-brand-pink);box-shadow:4px 0 24px -8px #2563eb59;color:#fff;display:flex;flex-direction:column;flex-shrink:0;padding:1.25rem .85rem;width:15.5rem}.admin-sidebar__brand{border-bottom:1px solid #ffffff14;margin-bottom:1rem;padding:0 .65rem 1.25rem}.admin-sidebar__brand img{display:block;height:2rem;margin-bottom:.65rem;max-width:9rem;object-fit:contain;width:auto}.admin-sidebar__brand span{color:#fff;display:block;font-size:1.05rem;font-weight:700;letter-spacing:-.02em;line-height:1.25}.admin-sidebar__brand small{color:#94a3b8;display:block;font-size:.72rem;font-weight:500;line-height:1.4;margin-top:.25rem}.admin-nav{display:flex;flex:1 1;flex-direction:column;gap:.2rem}.admin-nav__item{align-items:center;background:#0000;border:none;border-radius:.625rem;border-radius:var(--portal-radius,.625rem);color:#94a3b8;cursor:pointer;display:flex;font-size:.88rem;font-weight:600;gap:.65rem;padding:.65rem .75rem;text-align:left;transition:background .15s,color .15s}.admin-nav__item:hover{background:#ffffff0f;color:#e2e8f0}.admin-nav__item--active{background:#fff3;border:1px solid #ffffff59;color:#fff}.admin-sidebar__footer{border-top:1px solid #ffffff14;display:flex;flex-direction:column;gap:.5rem;padding-top:1rem}.admin-main{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow-x:auto;padding:0}.admin-topbar{align-items:center;background:#fff;background:var(--portal-surface,#fff);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--portal-border,#e2e8f0);display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.75rem}.admin-topbar__title{color:#0f172a;color:var(--portal-navy,#0f172a);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin:0}.admin-topbar__context{color:#64748b;color:var(--portal-muted,#64748b);font-size:.8rem;margin:.15rem 0 0}.admin-content{flex:1 1;padding:1.5rem 1.75rem 2rem}.admin-section__title{color:#0f172a;color:var(--portal-navy,#0f172a);font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .35rem}.admin-subheading{color:#1e293b;color:var(--portal-slate,#1e293b);font-size:1rem;font-weight:700;margin:1.5rem 0 .75rem}.admin-muted{color:#64748b;color:var(--portal-muted,#64748b);font-size:.9rem;line-height:1.5;margin:0 0 1rem}.admin-stat-grid,.portal-metric-grid{margin-bottom:1.5rem}.admin-btn{background:#fff;border:1px solid #cbd5e1;border-radius:.625rem;border-radius:var(--portal-radius,.625rem);color:#1e293b;color:var(--portal-slate,#1e293b);cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;padding:.5rem .9rem;transition:background .15s}.admin-btn:hover{background:#f8fafc}.admin-btn--primary{background:#1d4ed8;background:var(--portal-accent,#1d4ed8);border-color:#1d4ed8;border-color:var(--portal-accent,#1d4ed8);color:#fff}.admin-btn--primary:hover{background:#1e40af;background:var(--portal-accent-hover,#1e40af)}.admin-btn--danger{border-color:#fecaca;color:#b91c1c;color:var(--portal-danger,#b91c1c)}.admin-btn--danger:hover{background:#fef2f2}.admin-btn--small{font-size:.75rem;padding:.3rem .55rem}.admin-books__toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 0 1rem}.admin-books__stats{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.admin-books__stat{color:#475569;font-size:.9rem}.admin-books__filter{align-items:center;display:flex;gap:.5rem}.admin-books__filter-label{color:#64748b;font-size:.85rem;font-weight:600}.admin-books__list{display:flex;flex-direction:column;gap:.65rem}.admin-books__row{grid-gap:.85rem;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:.65rem;display:grid;gap:.85rem;grid-template-columns:3.5rem 1fr auto;padding:.75rem .9rem}.admin-books__row--hidden{background:#f8fafc;opacity:.88}.admin-books__cover{border-radius:.35rem;box-shadow:0 2px 6px #0f172a1f;height:4.5rem;object-fit:cover;width:3.5rem}.admin-books__meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.admin-books__title{color:#0f172a;font-size:.95rem}.admin-books__subtitle{color:#64748b;font-size:.82rem}.admin-books__tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.2rem}.admin-books__tag{background:#f1f5f9;border-radius:.35rem;color:#475569;display:inline-block;font-size:.72rem;font-weight:600;padding:.1rem .45rem}.admin-books__tag--live{background:#dcfce7;color:#166534}.admin-books__tag--soon{background:#fef3c7;color:#92400e}.admin-books__toggle{align-items:center;cursor:pointer;display:flex;gap:.55rem;-webkit-user-select:none;user-select:none}.admin-books__toggle input{height:0;opacity:0;position:absolute;width:0}.admin-books__toggle-ui{background:#cbd5e1;border-radius:999px;flex-shrink:0;height:1.45rem;position:relative;transition:background .2s ease;width:2.6rem}.admin-books__toggle-ui:after{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0f172a33;content:"";height:1.15rem;left:.15rem;position:absolute;top:.15rem;transition:transform .2s ease;width:1.15rem}.admin-books__toggle input:checked+.admin-books__toggle-ui{background:#22c55e}.admin-books__toggle input:checked+.admin-books__toggle-ui:after{transform:translateX(1.15rem)}.admin-books__toggle input:disabled+.admin-books__toggle-ui{opacity:.55}.admin-books__toggle-label{color:#334155;font-size:.8rem;font-weight:600;white-space:nowrap}.bookshelf-loading{align-items:center;color:#6b5a3e;display:flex;flex-direction:column;font-size:.95rem;gap:1rem;grid-column:1/-1;margin:1.5rem 0;text-align:center}.bookshelf-skeleton{grid-gap:1rem .85rem;display:grid;gap:1rem .85rem;grid-column:1/-1;grid-template-columns:repeat(auto-fill,minmax(8.25rem,1fr));width:100%}.bookshelf-skeleton__tile{align-items:center;display:flex;flex-direction:column;gap:.5rem}.bookshelf-skeleton__cover{animation:bookshelf-shimmer 1.4s ease infinite;aspect-ratio:1414/2000;background:linear-gradient(90deg,color-mix(in srgb,#2563eb 8%,#e8d4b8),color-mix(in srgb,#ec4899 12%,#f3e8d6) 50%,color-mix(in srgb,#2563eb 8%,#e8d4b8));background:linear-gradient(90deg,color-mix(in srgb,var(--kc-brand-blue) 8%,#e8d4b8) 0,color-mix(in srgb,var(--kc-brand-pink) 12%,#f3e8d6) 50%,color-mix(in srgb,var(--kc-brand-blue) 8%,#e8d4b8) 100%);background-size:200% 100%;border-radius:.2rem .35rem .35rem .2rem;max-width:6.5rem;width:100%}.bookshelf-skeleton__line{background:color-mix(in srgb,#2563eb 10%,#e8d4b8);background:color-mix(in srgb,var(--kc-brand-blue) 10%,#e8d4b8);border-radius:999px;height:.65rem}.bookshelf-skeleton__line--title{width:5.5rem}.bookshelf-skeleton__line--sub{opacity:.7;width:4rem}@keyframes bookshelf-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.admin-filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0}.admin-select-inline{font-size:.85rem;min-width:10rem}.admin-form{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.admin-actions-cell{display:flex;flex-wrap:wrap;gap:.35rem}.admin-login{display:flex;flex-direction:column;margin:0 auto;max-width:40rem;padding:0 0 2rem;width:100%}.admin-login__card{margin-top:.5rem}.admin-modal{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.admin-modal__card{background:#fff;border-radius:1rem;max-height:80vh;max-width:28rem;overflow-y:auto;padding:1.5rem;width:100%}.admin-modal__actions{display:flex;gap:.5rem;margin-top:1rem}.admin-checklist{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.admin-check{align-items:center;display:flex;font-size:.9rem;gap:.5rem}.admin-reports__layout{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.admin-reports__detail{position:-webkit-sticky;position:sticky;top:1rem}@media (max-width:900px){.admin-portal{flex-direction:column}.admin-sidebar{align-items:center;flex-direction:row;flex-wrap:wrap;gap:.75rem;padding:1rem;width:100%}.admin-sidebar__brand{border-bottom:none;flex:1 1 12rem;margin-bottom:0;padding-bottom:0}.admin-nav{flex:1 1 100%;flex-direction:row;flex-wrap:wrap;order:3}.admin-sidebar__footer{border-top:none;flex-direction:row;order:2;padding-top:0}.admin-topbar{padding:.85rem 1rem}.admin-content{padding:1rem}.admin-reports__layout{grid-template-columns:1fr}.admin-reports__detail{position:static}.portal-session-bar{align-items:stretch;flex-direction:column}.portal-session-bar__actions{justify-content:flex-start}.portal-letterhead{flex-direction:column}.portal-signature{grid-template-columns:1fr}}@media (max-width:480px){.app-shell{padding-left:max(.5rem,env(safe-area-inset-left,0px));padding-right:max(.5rem,env(safe-area-inset-right,0px))}.app-lesson-card{border-radius:1rem;padding:1rem .85rem}.app-topbar{align-items:stretch;flex-direction:column;gap:.75rem;padding:.75rem .85rem}.app-brand{flex:1 1 auto;justify-content:center;text-align:center}.app-title-block{text-align:left}.app-subtitle{display:none}.foundation-font .app-subtitle{display:block;font-size:1.5rem;font-size:var(--fp-text-base);margin-top:.15rem}.foundation-font .app-toolbar__btn,.foundation-font .app-toolbar__select{font-size:1.5rem;font-size:var(--fp-text-base);min-height:2.85rem;min-height:var(--fp-touch-min)}.foundation-font .app-title{font-size:clamp(1.35rem,4.5vw,2.1rem);font-size:clamp(1.35rem,4.5vw,var(--fp-text-xl))}.foundation-font .app-footer{font-size:1.28rem;font-size:var(--fp-text-sm)}.foundation-font .pwa-install-banner__text{font-size:1.5rem;font-size:var(--fp-text-base)}.app-toolbar{gap:.4rem;justify-content:center;width:100%}.app-toolbar__btn,.app-toolbar__select{flex-basis:calc(50% - 0.25rem);flex-grow:1;flex-shrink:1;font-size:.8rem;min-width:0;padding:.55rem .65rem;text-align:center;white-space:normal}.app-lesson-toolbar{align-items:stretch;flex-direction:column;text-align:center}.app-lesson-nav{justify-content:stretch;width:100%}.app-lesson-nav__select{flex:1 1 auto;width:100%}.book-flow__nav{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:.35rem;scroll-snap-type:x proximity}.book-flow__nav-btn{flex:0 0 auto;scroll-snap-align:start}.foundation-font .book-flow__nav-btn{font-size:1.5rem;font-size:var(--fp-text-base);min-height:3rem;padding:.75rem 1.2rem}.foundation-font .book-flow__title{font-size:clamp(2.1rem,7vw,2.5rem);font-size:clamp(2.1rem,7vw,var(--fp-text-2xl))}.foundation-font .book-flow__blend,.foundation-font .book-flow__message,.foundation-font .book-worksheet-intro__text,.foundation-font .read-hint__steps,.foundation-font .read-story-lines__text,.foundation-font .wb-exercise__prompt{font-size:1.75rem;font-size:var(--fp-text-lg)}.foundation-font .book-flow__section-label,.foundation-font .book-worksheet-intro__title,.foundation-font .wb-exercise__title{font-size:2.1rem;font-size:var(--fp-text-xl)}.foundation-font .wb-exercise__read-word{font-size:2.5rem;font-size:var(--fp-text-2xl)}.foundation-font .wb-exercise__input,.foundation-font .wb-exercise__select,.foundation-font .wb-exercise__textarea{font-size:1.75rem;font-size:var(--fp-text-lg);min-height:3.25rem;padding:.7rem .85rem}.foundation-font .wb-exercise__input--num{font-size:2.5rem;font-size:var(--fp-text-2xl);min-height:3.5rem}.foundation-font .wb-exercise__input--lg{font-size:2.85rem;font-size:var(--fp-text-3xl)}.foundation-font .wb-exercise__chip{font-size:1.75rem;font-size:var(--fp-text-lg);min-height:3rem;padding:.75rem 1.25rem}.foundation-font .book-words-panel__done,.foundation-font .story-reader__read-btn,.foundation-font .wb-exercise__check{font-size:1.75rem;font-size:var(--fp-text-lg);min-height:3.25rem;padding:.85rem 1.5rem}.foundation-font .read-hear-btn{font-size:1.5rem;font-size:var(--fp-text-base);min-height:2.85rem;min-height:var(--fp-touch-min);padding:.55rem 1rem}.foundation-font .story-words{padding:1.1rem .9rem 1.35rem}.foundation-font .fill-gap__display{font-size:clamp(2.5rem,14vw,6.5rem);font-size:clamp(var(--fp-text-2xl),14vw,var(--fp-text-display))}.foundation-font .lined-page__input{font-size:clamp(1.5rem,4vw,1.75rem);font-size:clamp(var(--fp-text-base),4vw,var(--fp-text-lg))}.foundation-font .wb-exercise__read-grid{gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}.foundation-font .app-lesson-nav__select{font-size:1.5rem;font-size:var(--fp-text-base);min-height:3rem}.book-flow__card{padding:1rem .85rem}.book-flow__header,.book-lesson-header--card-top{padding-left:.5rem;padding-right:.5rem}.story-words{padding:1rem .85rem 1.2rem}.book-words-grid{gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.foundation-font .book-words-card__word{font-size:2.1rem;font-size:var(--fp-text-xl)}.bookshelf-grid{gap:1rem .75rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:1rem .75rem .5rem}.portal-professional .bookshelf-book__meta{max-width:none}.portal-professional .bookshelf-book__title{font-size:.9375rem}.bookshelf-hero__actions{align-items:stretch;flex-direction:column}.bookshelf-btn{text-align:center;width:100%}.bookshelf-alignment{padding:1rem .85rem}.bookshelf-alignment__grid,.bookshelf-alignment__phases{grid-template-columns:1fr}.pwa-install-banner{align-items:stretch;flex-direction:column;text-align:center}.pwa-install-banner__actions{flex-wrap:wrap;justify-content:center}.invigilator-bar{align-items:stretch;flex-direction:column;font-size:.85rem;gap:.5rem;text-align:center}}@media (min-width:481px) and (max-width:768px){.app-topbar{align-items:flex-start}.app-toolbar{justify-content:flex-end;width:100%}.app-lesson-toolbar{flex-wrap:wrap}.app-lesson-nav{flex:1 1 100%;justify-content:center}.foundation-font .app-lesson-nav__select{font-size:1.5rem;font-size:var(--fp-text-base);min-height:3rem}.book-words-grid,.bookshelf-grid{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr))}}.book-theme-page--afrikaans{background:#fff;border-color:#fdba74;border-color:var(--kc-accent-border);padding:.35rem}.book-theme-page__img--afrikaans{max-width:100%;object-fit:contain;width:100%}.wb-exercise__sentence-pair{line-height:1.45;margin:.35rem 0}.wb-exercise__sentence-en{display:block;font-weight:600}.wb-exercise__sentence-af{color:#4b5563;display:block;font-size:.92rem}.wb-exercise__scrambled{background:#fffbeb;border:1px solid #fcd34d;border-radius:.65rem;margin:.5rem 0 .75rem;padding:.65rem .85rem}.book-theme-page--literacy{background:#fff;border-color:#fdba74;border-color:var(--kc-accent-border);padding:.35rem}.book-theme-page__img--literacy,.book-theme-page__img--maths{max-width:100%;object-fit:contain;width:100%}.book-theme-page--maths{background:#fff;border-color:#fdba74;border-color:var(--kc-accent-border);padding:.35rem}.r2-page-spread{width:100%}.r2-page-spread.workbook-spread--reading2{margin-bottom:0}.book-theme-page.r2-page{display:block;padding:.35rem;width:100%}.r2-page__stage{line-height:0;position:relative;width:100%}.r2-page__img{display:block;height:auto;max-width:100%;pointer-events:none;-webkit-user-select:none;user-select:none;vertical-align:top;width:100%}.r2-page__overlay{left:0;pointer-events:none;position:absolute;top:0;transform-origin:top left}.r2-page__overlay>*{pointer-events:auto}.r2-page__overlay:not(.r2-page__overlay--ready){opacity:0}.r2-page__overlay--ready{opacity:1;transition:opacity .15s ease}.r2-page__debug-region{background:#ede9fe47;border:1px dashed #7c3aede6;box-sizing:border-box;pointer-events:none;z-index:5}.r2-page__area,.r2-page__field{background:#0000;border:none;border-radius:0;box-shadow:none;box-sizing:border-box;color:#1e1b4b;font-size:13px;font-weight:700;line-height:1.15;margin:0;outline:none;overflow:hidden;padding:0 1px;resize:none}.r2-page__field--build{letter-spacing:.02em;text-transform:lowercase}.r2-page__area:focus,.r2-page__field:focus{background:#ede9fe6b;box-shadow:inset 0 -2px 0 #7c3aed80}.r2-page__field--num{font-size:clamp(.8rem,2.2vw,1rem);text-align:center}.r2-page__circle-zone{pointer-events:none;position:absolute}.r2-page__circle-grid{grid-gap:0;box-sizing:border-box;display:grid;gap:0;grid-template-columns:repeat(4,1fr);grid-template-rows:1fr 1fr}.r2-page__circle-word{background:#0000;border:2px solid #0000;border-radius:999px;box-sizing:border-box;color:#0000;cursor:pointer;margin:0;min-height:0;min-width:0;padding:0}.r2-page__circle-word--on{background:#ede9fe80;border-color:#7c3aed;box-shadow:inset 0 0 0 1px #7c3aed59}.r2-page__tick{background:#0000;border:2px solid #0000;border-radius:.15rem;box-sizing:border-box;cursor:pointer;margin:0;min-height:0;min-width:0;padding:0}.r2-page__tick--on{background:#ede9fea6;border-color:#a78bfa}.r2-page__tick--on:after{align-items:center;color:#5b21b6;content:"✓";display:flex;font-size:11px;font-weight:800;height:100%;justify-content:center;width:100%}.r2-page__tick--quiz{border-radius:0;border-width:1px}.r2-page__tick--vocab{border-radius:0;text-align:left}.r2-page__tick--ok{background:#dcfce7bf;border-color:#86efac}.r2-page__draw-slot{box-sizing:border-box;overflow:hidden}.r2-page__draw-pad.draw-pad--compact{display:flex;flex-direction:column;gap:0;height:100%;width:100%}.r2-page__draw-pad .draw-pad__canvas,.r2-page__draw-pad .draw-pad__canvas-wrap--compact{background:#0000;border:none;border-radius:0}.r2-page__draw-pad .draw-pad__canvas{height:100%;width:100%}.r2-page__draw-pad .draw-pad__tools--compact{background:#ffffffd9;border-top:1px solid #0000000f;flex-shrink:0;gap:.15rem;padding:1px 2px}.r2-page__draw-pad .draw-pad__canvas-wrap--compact{flex:1 1;min-height:0}.r2-page__draw-pad .draw-pad__color{height:1.15rem;width:1.15rem}.r2-page__draw-pad .draw-pad__tool-btn{font-size:.62rem;padding:.15rem .35rem}.r2-page__checklist{display:flex;flex-wrap:wrap;gap:.35rem .75rem;justify-content:center;margin:.25rem 0 .5rem}.r2-page__status{color:#9ca3af;font-size:.78rem;font-weight:600;margin:0}.r2-page__status--ok{color:#15803d}.book-phonics-worksheet--reading2-overlay{gap:1rem;width:100%}.book-phonics-worksheet--reading2-overlay.reading2-story-flow{align-items:stretch}.book-phonics-worksheet--reading2-overlay .book-worksheet-intro{display:none}.reading2-workbook-panel{display:flex;flex-direction:column;gap:1rem;width:100%}.reading2-workbook-panel__intro{background:#ede9fe;border-radius:.65rem;color:#5b21b6;font-size:1.28rem;font-size:var(--fp-text-sm,1rem);font-weight:600;margin:0;padding:.65rem .85rem;text-align:center}.r2-reward-progress{background:linear-gradient(135deg,#faf5ff,#fef3c7);border:2px solid #e9d5ff;border-radius:.85rem;padding:.75rem .9rem;text-align:center}.r2-reward-progress__label{color:#6d28d9;font-size:1.28rem;font-size:var(--fp-text-sm,1rem);font-weight:700;margin:0 0 .35rem}.r2-reward-progress__stars{display:flex;font-size:1.45rem;gap:.35rem;justify-content:center;line-height:1}.r2-reward-progress__star{color:#d8b4fe;transition:transform .25s ease,color .25s ease}.r2-reward-progress__star--on{animation:r2-star-pop .45s ease;color:#f59e0b;transform:scale(1.15)}@keyframes r2-star-pop{0%{transform:scale(.6)}60%{transform:scale(1.25)}to{transform:scale(1.15)}}.r2-reward-progress__count{color:#5b21b6;font-size:1.28rem;font-size:var(--fp-text-sm,1rem);margin:.35rem 0 0}.r2-reward-toast{animation:r2-toast-in .35s ease;border-radius:.65rem;font-size:1.5rem;font-size:var(--fp-text-base,1.2rem);font-weight:700;margin:0;padding:.55rem .85rem;text-align:center}.r2-reward-toast--ok{background:#dcfce7;border:2px solid #86efac;color:#15803d}.r2-reward-toast--try{background:#fef3c7;border:2px solid #fcd34d;color:#b45309}@keyframes r2-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.r2-reward-celebrate{animation:r2-celebrate-in .5s ease;background:linear-gradient(135deg,#ede9fe,#fef9c3 55%,#dcfce7);border:2px solid #a78bfa;border-radius:1rem;overflow:hidden;padding:1.1rem 1rem;position:relative;text-align:center}@keyframes r2-celebrate-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.r2-reward-celebrate__emoji{animation:r2-bounce .8s ease infinite alternate;font-size:2.5rem;line-height:1;margin:0}@keyframes r2-bounce{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.r2-reward-celebrate__title{color:#5b21b6;font-size:1.75rem;font-size:var(--fp-text-lg,1.35rem);margin:.35rem 0 0}.r2-reward-celebrate__sub{color:#6b7280;font-size:1.28rem;font-size:var(--fp-text-sm,1rem);margin:.35rem 0 0}.r2-reward-celebrate__burst{inset:0;pointer-events:none;position:absolute}.r2-reward-celebrate__particle{animation:r2-particle 1.6s ease-out infinite;animation-delay:calc(var(--i)*.15s);font-size:1rem;left:calc(12% + var(--i)*11%);opacity:0;position:absolute;top:38%}@keyframes r2-particle{0%{opacity:0;transform:translateY(0) scale(.5)}20%{opacity:1}to{opacity:0;transform:translateY(-48px) scale(1.1)}}.r2-exercise--pop{animation:r2-section-pop .45s ease}@keyframes r2-section-pop{0%{box-shadow:0 0 0 0 #86efaccc}to{box-shadow:0 0 0 12px #86efac00}}.r2-exercise__badge{margin-right:.35rem}.r2-exercise__badge--hint{font-size:.95em;margin-left:.45rem;opacity:.85}.r2-exercise__row--ok .r2-exercise__input{background:#f0fdf4;border-color:#86efac}.r2-exercise__tick{color:#15803d;font-size:1.1rem;font-weight:800}.r2-exercise__chip--ok{background:#dcfce7!important;border-color:#86efac!important}.r2-exercise__choice{transition:transform .15s ease,border-color .15s ease,background .15s ease}.r2-exercise__choice:active:not(:disabled){transform:scale(.97)}.r2-exercise__choice--ok{animation:r2-choice-ok .4s ease}@keyframes r2-choice-ok{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.book-words-panel__done--celebrate{animation:r2-done-glow 1.2s ease infinite alternate;background:linear-gradient(135deg,#7c3aed,#5b21b6);box-shadow:0 4px 14px #7c3aed59}@keyframes r2-done-glow{0%{box-shadow:0 4px 14px #7c3aed59}to{box-shadow:0 6px 20px #f59e0b73}}.reading2-workbook-panel .read-hear-btn{flex-shrink:0}.ltsm-prose{color:#334155;font-family:inherit}.ltsm-prose__title{color:#1e293b;font-family:inherit;font-size:1.125rem;font-weight:700;margin:0 0 .5rem}.ltsm-prose__lead{color:#5b5569;font-size:.9375rem;line-height:1.6;margin:0 0 1rem;max-width:52rem}.ltsm-prose__lead a{color:#2563eb;color:var(--kc-brand-blue);text-decoration:underline;text-underline-offset:2px}.ltsm-prose__lead a:hover{color:#1d4ed8}.ltsm-prose__body{color:#334155;font-size:.9375rem;line-height:1.6;margin:0}.ltsm-prose__note{color:#64748b;font-size:.875rem;line-height:1.55;margin:0}.ltsm-prose__phase{color:#1e40af;font-size:.8125rem;font-weight:600;margin:.15rem 0 0}.caps-panel{background:linear-gradient(135deg,#f0fdf4,#eff6ff 55%,#faf5ff);border:2px solid #86efac;border-radius:.85rem;font-family:inherit;margin:0 0 1rem;padding:1rem 1.1rem}.caps-panel--compact{padding:.75rem .9rem}.caps-panel__head{align-items:center;display:flex;gap:.65rem;margin-bottom:.75rem}.caps-panel__logo{height:2rem;object-fit:contain;width:auto}.caps-panel__logo--gde{height:2.25rem}.caps-panel__title{color:#166534;font-family:inherit;font-size:1.125rem;font-weight:700;margin:0}.caps-panel__phase{color:#1e40af;font-family:inherit;font-size:.8125rem;font-weight:600;margin:.15rem 0 0}.caps-panel__grid{grid-gap:.5rem 1rem;display:grid;gap:.5rem 1rem;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));margin:0 0 .75rem}.caps-panel__grid dt{color:#64748b;font-size:.72rem;font-weight:700;letter-spacing:.04em;margin:0;text-transform:uppercase}.caps-panel__grid dd{color:#0f172a;font-family:inherit;font-size:.9375rem;font-weight:600;margin:.1rem 0 0}.caps-panel__gde,.caps-panel__pacing,.caps-panel__strands{color:#334155;font-family:inherit;font-size:.9375rem;line-height:1.6;margin:.45rem 0 0}.caps-panel__tasks{font-family:inherit;font-size:.9375rem;margin-top:.65rem}.caps-panel__tasks ul{margin:.35rem 0 0;padding-left:1.2rem}.caps-panel__tasks li{margin-bottom:.25rem}.caps-panel__disclaimer{border-top:1px solid #86efac99;color:#64748b;font-family:inherit;font-size:.875rem;line-height:1.55;margin:.75rem 0 0;padding-top:.65rem}.caps-phase-badge{border-radius:.35rem;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.02em;margin-left:.35rem;padding:.1rem .4rem;vertical-align:middle}.caps-phase-badge--foundation{background:#dcfce7;color:#166534}.caps-phase-badge--intermediate{background:#dbeafe;color:#1e3a8a}.caps-subject-badge{background:#dbeafe;border-radius:.35rem;color:#1d4ed8;display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.03em;margin-left:.35rem;padding:.1rem .4rem;vertical-align:middle}.caps-subject-badge--intermediate{background:#e0e7ff;color:#3730a3}.class-report__caps-tasks{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;margin:0 0 1rem;padding:.75rem .9rem}.class-report__caps-heading{color:#0f172a;font-size:.9rem;font-weight:700;margin:0 0 .35rem}.class-report__caps-tasks ul{font-size:.88rem;margin:0;padding-left:1.2rem}.class-report__caps-note{color:#64748b;font-size:.82rem;line-height:1.45;margin:.5rem 0 0}.class-report--embedded .class-report__sheet{margin-top:.5rem}.progress-analytics__filters{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1.25rem;padding:1rem}.progress-analytics__grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:1.5rem}.progress-analytics__panel{padding:1rem 1.1rem}.progress-analytics__panel--wide{grid-column:1/-1}.progress-analytics__bars,.progress-analytics__task-rates{display:flex;flex-direction:column;gap:.55rem}.progress-analytics__bar-row,.progress-analytics__task-rate{grid-gap:.5rem;align-items:center;display:grid;font-size:.82rem;gap:.5rem;grid-template-columns:7.5rem 1fr 4.5rem}.progress-analytics__bar-label,.progress-analytics__task-rate-label{color:#475569;font-weight:600}.progress-analytics__bar-track{background:#e2e8f0;border-radius:999px;height:.55rem;overflow:hidden}.progress-analytics__bar-fill{border-radius:999px;height:100%;min-width:2px;transition:width .3s ease}.progress-analytics__bar-fill--task{background:linear-gradient(90deg,#2563eb,#16a34a)}.progress-analytics__bar-value{font-feature-settings:"tnum";color:#64748b;font-variant-numeric:tabular-nums;text-align:right}.progress-analytics__month-chart{align-items:flex-end;display:flex;gap:.65rem;min-height:8rem;padding-top:.5rem}.progress-analytics__month-col{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:2.5rem}.progress-analytics__month-bar{background:linear-gradient(180deg,#3b82f6,#1d4ed8);border-radius:.35rem .35rem 0 0;max-width:2.5rem;min-height:8px;width:100%}.progress-analytics__month-label{color:#64748b;font-size:.72rem}.progress-analytics__month-count{color:#0f172a;font-size:.78rem;font-weight:700}.progress-analytics__sba{border-radius:.35rem;display:inline-block;font-size:.78rem;font-weight:700;padding:.15rem .45rem}.progress-analytics__sba--achieved{background:#dcfce7;color:#166534}.progress-analytics__sba--progressing{background:#fef3c7;color:#92400e}.progress-analytics__sba--needs-support{background:#fee2e2;color:#991b1b}.progress-analytics__sba--incomplete{background:#f1f5f9;color:#475569}.progress-analytics__chart-head{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:.75rem}.progress-analytics__panel-title{color:#0f172a;font-size:.95rem;font-weight:700;margin:0}.progress-analytics__year-picker{font-size:.85rem;max-width:8rem;padding:.35rem .5rem}.progress-analytics__year-chart-title{color:#475569;font-size:.88rem;margin:0 0 .75rem}.progress-analytics__term-chart{grid-gap:.75rem;align-items:flex-end;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);min-height:9rem}.progress-analytics__term-col{align-items:center;display:flex;flex-direction:column;gap:.2rem;text-align:center}.progress-analytics__term-col--empty{opacity:.55}.progress-analytics__term-bar{background:linear-gradient(180deg,#22c55e,#15803d);border-radius:.4rem .4rem 0 0;max-width:3.5rem;min-height:4px;width:100%}.progress-analytics__term-label{color:#0f172a;font-size:.82rem;font-weight:800}.progress-analytics__term-pct{color:#166534;font-size:.95rem;font-weight:800}.progress-analytics__term-sessions{color:#64748b;font-size:.7rem}.progress-analytics__year-table .progress-analytics__year-cell{min-width:6.5rem}.progress-analytics__year-pct{color:#0f172a;display:block;font-weight:800}.progress-analytics__year-meta{color:#64748b;display:block;font-size:.72rem;margin-top:.1rem}.progress-analytics__learner-detail td{background:#f8fafc;padding:.75rem 1rem!important}.progress-analytics__learner-year{font-size:.88rem}.progress-analytics__learner-terms{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:.65rem}.progress-analytics__learner-term-card{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;display:flex;flex-direction:column;gap:.2rem;padding:.55rem .65rem}.progress-analytics__learner-term-card--empty{background:#f8fafc;border-style:dashed}.progress-analytics__learner-term-title{color:#64748b;font-size:.78rem;font-weight:800}.class-report__descriptor{color:#64748b;font-size:.82rem}.workbook-spread--reading2{margin-bottom:1.25rem}.book-theme-page--reading2{background:#fff;border-color:#d8b4fe;padding:.35rem}.book-theme-page__img--reading2{max-width:100%;object-fit:contain;width:100%}.reading2-story-flow{display:flex;flex-direction:column;gap:1rem}.reading2-story-flow .story-reader{margin-top:0}.foundation-font .r2-exercise__title{font-size:2.1rem;font-size:var(--fp-text-xl)}.foundation-font .r2-exercise__order-text,.foundation-font .r2-exercise__question,.foundation-font .r2-exercise__row{font-size:1.75rem;font-size:var(--fp-text-lg)}.foundation-font .r2-exercise__input,.foundation-font .r2-exercise__order-num,.foundation-font .r2-exercise__textarea{font-size:1.75rem;font-size:var(--fp-text-lg);min-height:2.75rem}.foundation-font .r2-exercise__choice{font-size:1.75rem;font-size:var(--fp-text-lg);min-height:2.85rem;padding:.7rem .85rem}.foundation-font .r2-exercise__chip{font-size:1.5rem;font-size:var(--fp-text-base);padding:.45rem .95rem}.foundation-font .r2-exercise__check-label,.foundation-font .r2-exercise__feedback,.foundation-font .r2-exercise__hint,.foundation-font .r2-exercise__tip{font-size:1.28rem;font-size:var(--fp-text-sm)}.foundation-font .r2-exercise__next{padding:.55rem 1rem}.foundation-font .r2-exercise__next,.foundation-font .reading2-workbook-panel__intro{font-size:1.5rem;font-size:var(--fp-text-base)}.foundation-font .story-reader__badge,.foundation-font .story-reader__read-btn,.foundation-font .story-reader__tip{font-family:inherit}.foundation-font .story-reader__read-btn{font-size:2.1rem;font-size:var(--fp-text-xl)}.foundation-font .quiz-comp__title{color:#5b21b6;font-size:2.5rem;font-size:var(--fp-text-2xl);font-weight:700;margin:0 0 .5rem}.foundation-font .quiz-comp__question{font-size:2.1rem;font-size:var(--fp-text-xl);font-weight:600;margin:0 0 .75rem}.foundation-font .quiz-comp__choice{font-size:1.75rem;font-size:var(--fp-text-lg);min-height:3rem;padding:.75rem 1rem}.foundation-font .quiz-comp__feedback{font-size:1.5rem;font-size:var(--fp-text-base)}.foundation-font .quiz-comp__score{font-size:1.75rem;font-size:var(--fp-text-lg)}.r2-exercise{background:#faf5ff;border:2px solid #e9d5ff;border-radius:1rem;margin:1rem 0 1.25rem;padding:1rem 1.1rem}.r2-exercise--done{background:#f0fdf4;border-color:#86efac}.r2-exercise__title{color:#5b21b6;font-size:1.75rem;font-size:var(--fp-text-lg,1.35rem);margin:0 0 .65rem}.r2-exercise__stack{display:flex;flex-direction:column;gap:.65rem}.r2-exercise__row{align-items:center;display:flex;flex-wrap:wrap;font-size:1.5rem;font-size:var(--fp-text-base,1.2rem);gap:.35rem .5rem}.r2-exercise__stem{font-weight:700;min-width:2rem}.r2-exercise__input{border:2px solid #c4b5fd;border-radius:.5rem;font-size:1.5rem;font-size:var(--fp-text-base,1.2rem);min-width:4rem;padding:.35rem .55rem}.r2-exercise__input--wide{max-width:20rem;width:100%}.r2-exercise__hint,.r2-exercise__tip{color:#6b7280;font-size:1.28rem;font-size:var(--fp-text-sm,1rem);margin:0}.r2-exercise__question{font-size:1.5rem;font-size:var(--fp-text-base,1.2rem);font-weight:600;margin:0}.r2-exercise__choices{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.r2-exercise__choice{background:#fff;border:2px solid #e9d5ff;border-radius:.75rem;cursor:pointer;padding:.55rem .75rem;text-align:left}.r2-exercise__choice--picked{background:#ede9fe;border-color:#a78bfa}.r2-exercise__choice--ok{background:#dcfce7;border-color:#86efac}.r2-exercise__choice--used{cursor:not-allowed;opacity:.45}.r2-exercise__match{background:#fff;border:2px dashed #ddd6fe;border-radius:.75rem;padding:.65rem .75rem}.r2-exercise__match--ok{background:#f0fdf4;border-color:#86efac;border-style:solid}.r2-exercise__match-head{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem .75rem;margin-bottom:.5rem}.r2-exercise__match-thumb{background:#fff;border:2px solid #c4b5fd;border-radius:.5rem;box-shadow:0 2px 6px -2px #5b21b62e;flex-shrink:0;overflow:hidden}.r2-exercise__match-thumb-img{display:block;image-rendering:auto;max-width:none;pointer-events:none}.r2-exercise__match-label{align-items:center;color:#5b21b6;display:flex;flex-wrap:wrap;font-size:1.5rem;font-size:var(--fp-text-base,1.2rem);font-weight:600;gap:.35rem .5rem;margin:0}.r2-exercise__match-icon{font-size:1.15em}.r2-exercise__choices--match{margin-top:.15rem}.r2-exercise__chip-grid{display:flex;flex-wrap:wrap;gap:.45rem}.r2-exercise__chip{background:#fff;border:2px solid #ddd6fe;border-radius:999px;cursor:pointer;padding:.35rem .85rem}.r2-exercise__chip--on{background:#ede9fe;border-color:#7c3aed;color:#5b21b6}.r2-exercise__textarea{border:2px solid #c4b5fd;border-radius:.65rem;font-size:1.5rem;font-size:var(--fp-text-base,1.2rem);padding:.55rem .65rem;resize:vertical;width:100%}.r2-exercise__order-row{align-items:flex-start;display:flex;gap:.55rem}.r2-exercise__order-num{border:2px solid #c4b5fd;border-radius:.5rem;padding:.3rem;text-align:center;width:3rem}.r2-exercise__order-num,.r2-exercise__order-text{font-size:1.5rem;font-size:var(--fp-text-base,1.2rem)}.r2-exercise__order-text{flex:1 1}.r2-exercise__feedback{color:#4b5563;font-size:1.28rem;font-size:var(--fp-text-sm,1rem);margin:0}.r2-exercise__feedback--ok{color:#15803d;font-weight:600}.r2-exercise__next{align-self:flex-start;background:#5b21b6;border:none;border-radius:.65rem;color:#fff;cursor:pointer;padding:.45rem .9rem}.r2-exercise__check-label{align-items:center;display:flex;font-size:1.28rem;font-size:var(--fp-text-sm,1rem);gap:.45rem;margin-top:.65rem}@media (min-width:769px){.app-shell{padding:1.15rem 1.35rem 2rem}.app-layout__inner{padding:max(1rem,env(safe-area-inset-top,0px)) max(1.25rem,env(safe-area-inset-right,0px)) max(1.5rem,env(safe-area-inset-bottom,0px)) max(1.25rem,env(safe-area-inset-left,0px))}.app-container{max-width:54rem}}@media (min-width:1024px){.app-container{max-width:56rem}.app-topbar{padding:.85rem 1.15rem}.app-lesson-card{padding:1.5rem 1.65rem}}@media (min-width:1280px){.app-container{max-width:58rem}.foundation-font .story-words{font-size:clamp(2.1rem,2.8vw,2.5rem);font-size:clamp(var(--fp-text-xl),2.8vw,var(--fp-text-2xl))}.foundation-font .fill-gap__display{font-size:clamp(2.85rem,8vw,6.5rem);font-size:clamp(var(--fp-text-3xl),8vw,var(--fp-text-display))}}@media (display-mode:standalone){.app-layout__inner,.app-shell,.lesson-portal.foundation-font,.portal-professional{padding-bottom:max(1.35rem,env(safe-area-inset-bottom,0px));padding-top:max(.85rem,env(safe-area-inset-top,0px))}.app-shell.foundation-font .app-lesson-card{padding:1.45rem 1.35rem}}.story-reader__video{background:#fffef9;border:2px solid #d4c4a8;border-radius:.85rem;box-shadow:0 4px 16px -6px #5c3d122e;margin:1rem auto;max-width:640px;overflow:visible;padding-bottom:.35rem;text-align:center;width:100%}.story-reader__video .workbook-spread__caption{padding:.65rem .75rem .45rem;text-align:center}.story-reader__video-player{aspect-ratio:16/9;background:#000;border-radius:.65rem;display:block;height:auto;margin:0 auto;max-width:100%;min-height:12rem;object-fit:contain;vertical-align:middle;width:100%}.bookshelf-license-banner{background:#fff8e8;border:1px solid #e8d4a8;border-radius:.75rem;color:#5c3d12;font-size:.95rem;margin:1rem auto 0;max-width:52rem;padding:.85rem 1rem}.bookshelf-license-banner__link{background:none;border:none;color:#1a5f8a;cursor:pointer;font:inherit;padding:0;text-decoration:underline}.bookshelf-book--locked{filter:grayscale(.35);opacity:.72}.bookshelf-book__badge--lock{background:#8b5a14}.invigilator__book--locked{opacity:.65;position:relative}.invigilator__book-lock{color:#8b5a14;display:block;font-size:.7rem;margin-top:.2rem}.license-activate__card{margin:1rem auto;max-width:40rem}.license-activate__form{grid-gap:.85rem;display:grid;gap:.85rem;margin:1.25rem auto 0;max-width:40rem}.license-activate__error{color:#9b1c1c;margin:0}.license-activate__success{background:#edf8ed;border:1px solid #b8ddb8;border-radius:.65rem;color:#1f4d1f;padding:.75rem 1rem}.license-activate__help{color:#5c3d12;font-size:.92rem;margin:1.25rem auto 2rem;max-width:40rem}.admin-licenses__status{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem}.admin-licenses__pill{align-items:center;background:#f3f0ea;border:1px solid #ddd4c4;border-radius:999px;color:#5c3d12;display:inline-flex;font-size:.82rem;padding:.3rem .65rem}.admin-licenses__pill--on{background:#edf8ed;border-color:#b8ddb8;color:#1f4d1f}.admin-licenses__filter{grid-gap:.35rem;display:grid;gap:.35rem;margin-bottom:1rem;max-width:20rem}.admin-licenses__book-list{font-size:.88rem;margin:0;padding-left:1.1rem}.admin-licenses__sku-map{margin-top:1.5rem}.admin-licenses__sku-map summary{color:#5c3d12;cursor:pointer;font-weight:600}.media-centre-hub{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 4px 24px -12px #0f172a26;margin:1.5rem 0 2rem;padding:1.25rem 1.5rem}.media-centre-hub__title{color:#0f172a;font-size:1.35rem;font-weight:800;margin:0 0 .35rem}.media-centre-hub__lead{color:#475569;font-size:.95rem;line-height:1.5;margin:0 0 1.25rem;max-width:52rem}.media-centre-hub__grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.media-centre-hub__card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.85rem;display:flex;flex-direction:column;gap:.65rem;padding:1rem 1.1rem}.media-centre-hub__card-head{align-items:center;display:flex;gap:.5rem}.media-centre-hub__emoji{font-size:1.35rem}.media-centre-hub__card-title{color:#0f172a;font-size:1.05rem;font-weight:700;margin:0}.media-centre-hub__card-text{color:#64748b;flex:1 1;font-size:.85rem;line-height:1.45;margin:0}.media-centre-hub__btn{align-self:flex-start;border:none;border-radius:.55rem;cursor:pointer;font-size:.88rem;font-weight:700;margin-top:auto;padding:.55rem 1rem;transition:transform .12s,box-shadow .12s}.media-centre-hub__btn:hover{transform:translateY(-1px)}.media-centre-hub__badge{background:#f1f5f9;border-radius:999px;color:#475569;display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.03em;margin-bottom:.5rem;padding:.2rem .5rem;text-transform:uppercase}.media-centre-hub__btn--teacher{background:#16a34a;color:#fff}.media-centre-hub__btn--student{background:#2563eb;color:#fff}.media-centre-hub__btn--license{background:#d97706;color:#fff}.media-centre-hub__btn--admin{background:#475569;color:#fff}.media-centre-hub__card--teacher{border-top:3px solid #16a34a}.media-centre-hub__card--student{border-top:3px solid #2563eb}.media-centre-hub__card--license{border-top:3px solid #d97706}.media-centre-hub__card--admin{border-top:3px solid #475569}.bookshelf-hero__text--in-cover{font-size:1rem;line-height:1.5;margin:0;max-width:36rem}.lesson-chrome{grid-gap:.75rem 1rem;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 2px 12px -8px #0f172a33;display:grid;gap:.75rem 1rem;grid-template-columns:minmax(8rem,auto) 1fr minmax(8rem,auto);margin-bottom:.75rem;padding:.65rem 1rem}.lesson-chrome__center{align-items:center;display:flex;flex-direction:column;min-width:0;text-align:center}.lesson-chrome__eyebrow{color:#64748b;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.lesson-chrome__title{color:#0f172a;font-size:1rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-chrome__subtitle{color:#64748b;font-size:.8rem}.lesson-chrome__right{align-items:flex-end;color:#475569;display:flex;flex-direction:column;font-size:.78rem;gap:.25rem}.lesson-chrome__role{border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.2rem .55rem;text-transform:uppercase}.lesson-chrome__role--teacher{background:#dcfce7;color:#166534}.lesson-chrome__role--student{background:#dbeafe;color:#1e40af}.lesson-chrome__role--solo{background:#f1f5f9;color:#475569}.lesson-chrome__room strong{font-family:ui-monospace,monospace;letter-spacing:.08em}.invigilator-bar--compact{font-size:.82rem;margin-top:-.25rem;padding:.45rem .85rem}@media (max-width:720px){.lesson-chrome{grid-template-columns:1fr;text-align:center}.lesson-chrome__left,.lesson-chrome__right{align-items:center}}.access-gate{align-items:center;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.access-gate__backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a8c;inset:0;position:absolute}.access-gate__panel{background:#fff;border-radius:1rem;box-shadow:0 24px 48px -12px #0f172a59;max-width:28rem;padding:1.35rem 1.5rem 1.5rem;position:relative;width:100%}.access-gate__book{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.access-gate__cover{border-radius:.35rem;box-shadow:0 4px 12px -4px #00000040;height:auto;width:4.5rem}.access-gate__eyebrow{color:#64748b;display:block;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.access-gate__title{color:#0f172a;font-size:1.15rem;margin:.15rem 0 0}.access-gate__subtitle{color:#64748b;font-size:.82rem;margin:.2rem 0 0}.access-gate__message{color:#475569;font-size:.92rem;line-height:1.55;margin:0 0 1.25rem}.access-gate__actions{display:flex;flex-direction:column;gap:.55rem}.access-gate__btn{border:none;border-radius:.55rem;cursor:pointer;font-size:.92rem;font-weight:700;padding:.7rem 1rem;width:100%}.access-gate__btn--student{background:#2563eb;color:#fff}.access-gate__btn--license{background:#d97706;color:#fff}.access-gate__btn--teacher{background:#16a34a;color:#fff}.access-gate__btn--ghost{background:#f8fafc;border:1px solid #e2e8f0;color:#475569}.bookshelf-footer__staff{color:#64748b;font-size:.82rem;margin:1rem 0 0;text-align:center}.bookshelf-footer__staff-link{background:none;border:none;color:#475569;cursor:pointer;font-weight:600;padding:0;text-decoration:underline}.bookshelf-footer__staff-link:hover{color:#0f172a}.bookshelf-footer__staff-note{color:#94a3b8}.staff-sign-in{align-items:center;display:flex;flex-direction:column}.staff-sign-in__card{margin-inline:auto;width:min(100%,24rem)}.staff-sign-in__note{color:#64748b;font-size:.82rem;line-height:1.45;margin:1rem 0 0;text-align:center}.staff-home__grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:1.25rem}.staff-home__card{background:#fff;border:1px solid #e2e8f0;border-radius:.85rem;padding:1.1rem 1.2rem}.staff-home__card h2{color:#0f172a;font-size:1.05rem;margin:0 0 .4rem}.staff-home__card p{color:#64748b;font-size:.85rem;line-height:1.45;margin:0 0 .85rem}.staff-home__url{background:#f1f5f9;border-radius:.4rem;display:block;font-size:.78rem;margin-bottom:.65rem;padding:.45rem .55rem;word-break:break-all}.staff-home__btn{border:none;border-radius:.5rem;cursor:pointer;font-size:.85rem;font-weight:700;padding:.55rem .9rem}.staff-home__btn--teacher{background:#16a34a;color:#fff}.staff-home__btn--license{background:#d97706;color:#fff}.staff-home__btn--admin{background:#475569;color:#fff}.staff-home__btn--ghost{background:#f8fafc;border:1px solid #e2e8f0;color:#334155}.staff-home__footer-actions{display:flex;justify-content:flex-end;margin-bottom:1rem}.staff-home__signout{background:none;border:none;color:#64748b;cursor:pointer;font-size:.85rem;text-decoration:underline}.portal-access-intro__grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:1.25rem}.portal-access-intro__panel{padding:1.15rem 1.25rem}.portal-access-intro__panel--access{border-top:3px solid #d97706}.portal-access-intro__heading{color:#0f172a;font-size:1rem;font-weight:800;margin:0 0 .75rem}.portal-access-intro__list{color:#475569;font-size:.9rem;line-height:1.55;margin:0;padding-left:1.15rem}.portal-access-intro__list li+li{margin-top:.45rem}.portal-access-intro__note{background:#fffbeb;border:1px solid #fcd34d;border-radius:.5rem;color:#92400e;font-size:.85rem;line-height:1.45;margin:.85rem 0 0;padding:.65rem .75rem}.portal-access-intro__actions{display:flex;justify-content:center;margin-bottom:1rem}.portal-access-intro__continue{min-width:min(100%,20rem)}.preview-access-banner{background:#fffbeb;border:1px solid #fcd34d;border-radius:.65rem;color:#92400e;font-size:.88rem;line-height:1.45;margin:0 0 .85rem;padding:.65rem .9rem}.lesson-planner__mode-grid--simple{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:1rem 0 1.5rem}.lesson-planner__mode--pick{background:#fff;border:2px solid #d1fae5;border-radius:14px;cursor:pointer;padding:1.25rem 1.35rem;text-align:left;transition:border-color .15s,box-shadow .15s,transform .1s}.lesson-planner__mode--pick:hover:not(:disabled){border-color:#16a34a;box-shadow:0 6px 20px #16a34a1f;transform:translateY(-1px)}.lesson-planner__mode--pick:disabled{cursor:not-allowed;opacity:.55}.lesson-planner__mode--pick strong{color:#14532d;display:block;font-size:1.1rem;margin-bottom:.45rem}.lesson-planner__mode--pick span{color:#374151;display:block;font-size:.92rem;line-height:1.45}.lesson-planner__hint{color:#4b5563;font-size:.95rem;line-height:1.45;margin:0 0 1rem}.lesson-planner__freedom-list{color:#166534;line-height:1.55;margin:.75rem 0 1.25rem;padding-left:1.25rem}.lesson-planner__multi,.lesson-planner__single{margin-top:.5rem}:root{--kcup-brand:#16a34a;--kcup-brand-strong:#15803d;--kcup-brand-soft:#dcfce7;--kcup-brand-ink:#14532d;--kcup-surface:#f8fafc;--kcup-surface-card:#fff;--kcup-text:#0f172a;--kcup-text-muted:#475569;--kcup-danger:#dc2626;--kcup-warn:#d97706;--kcup-info:#0284c7;--kcup-radius:16px;--kcup-radius-sm:10px;--kcup-shadow:0 10px 30px #0f172a14;--kcup-shadow-lg:0 18px 50px #0f172a1f;--kcup-focus:0 0 0 3px #16a34a59;--kcup-touch:48px;--kcup-font-ui:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.portal-session-bar--sticky{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(180deg,#fffffff7,#ffffffeb);border:1px solid #bbf7d0;box-shadow:0 10px 30px #0f172a14;box-shadow:var(--kcup-shadow);position:-webkit-sticky;position:sticky;top:.5rem;z-index:40}.portal-session-bar__code-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.25rem}.portal-session-bar__code{font-feature-settings:"tnum";background:#dcfce7;background:var(--kcup-brand-soft);border:2px dashed #86efac;border-radius:10px;border-radius:var(--kcup-radius-sm);color:#14532d;color:var(--kcup-brand-ink);font-size:clamp(1.8rem,4vw,2.4rem);font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:.28em;padding:.35rem .85rem}.portal-session-bar__copy{min-height:48px;min-height:var(--kcup-touch);min-width:7.5rem}.staff-home--award .staff-home__grid{gap:1.1rem}.staff-home__card--hero{background:linear-gradient(165deg,#fff,#f0fdf4);border:2px solid #86efac;box-shadow:0 10px 30px #0f172a14;box-shadow:var(--kcup-shadow)}.staff-home__kicker{background:#dcfce7;background:var(--kcup-brand-soft);border-radius:999px;color:#15803d;color:var(--kcup-brand-strong);display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-bottom:.45rem;padding:.2rem .55rem;text-transform:uppercase}.staff-home__checklist{color:#475569;color:var(--kcup-text-muted);line-height:1.5;margin:.4rem 0 1rem;padding-left:1.15rem}.staff-home__card--hero .staff-home__btn--teacher{box-shadow:0 8px 20px #16a34a40;font-size:1.05rem;font-weight:700;min-height:48px;min-height:var(--kcup-touch)}.student-join--delight,.student-wait--delight{margin:0 auto;max-width:520px}.student-join__emoji{font-size:2.2rem;margin-bottom:.25rem;text-align:center}.student-join__input--code{font-size:1.5rem!important;font-weight:700;letter-spacing:.35em;min-height:56px;text-align:center}.student-join__code-dots{display:flex;gap:.45rem;justify-content:center;margin:.15rem 0 .35rem}.student-join__dot{align-items:center;background:#f8fafc;border:2px solid #cbd5e1;border-radius:10px;color:#14532d;color:var(--kcup-brand-ink);display:flex;font-size:1.25rem;font-weight:800;height:2.85rem;justify-content:center;width:2.35rem}.student-join__dot--filled{background:#dcfce7;background:var(--kcup-brand-soft);border-color:#16a34a;border-color:var(--kcup-brand);box-shadow:inset 0 0 0 1px #86efac}.student-join__submit,.student-wait__leave{font-weight:700;min-height:48px;min-height:var(--kcup-touch)}.portal-btn:focus-visible,.staff-home__btn:focus-visible,.student-join__input:focus-visible,.student-join__submit:focus-visible{box-shadow:0 0 0 3px #16a34a59;box-shadow:var(--kcup-focus);outline:none}.student-wait__status{align-items:center;display:flex;gap:.75rem;margin-bottom:.35rem}.student-wait__spinner{animation:kcup-spin .85s linear infinite;border:3px solid #bbf7d0;border-radius:50%;border-top:3px solid var(--kcup-brand);height:1.35rem;width:1.35rem}@keyframes kcup-spin{to{transform:rotate(1turn)}}.student-wait__hint{color:#475569;color:var(--kcup-text-muted);font-size:.9rem;margin:.5rem 0 0}.student-wait__book{background:#fff;border:1px solid #e2e8f0;border-radius:10px;border-radius:var(--kcup-radius-sm);box-shadow:0 10px 30px #0f172a14;box-shadow:var(--kcup-shadow);padding:.75rem}.lesson-planner__mode--pick{min-height:140px}.lesson-planner__mode--pick:focus-visible{box-shadow:0 0 0 3px #16a34a59;box-shadow:var(--kcup-focus);outline:none}.portal-enterprise .portal-card,.portal-enterprise .staff-home__card,.portal-enterprise .teacher-pick__card{border-radius:16px;border-radius:var(--kcup-radius)}.draw-workbook-task{display:flex;flex-direction:column;gap:.85rem;margin-top:.5rem}.draw-workbook-task__title{color:#14532d;font-size:1.15rem;margin:0}.draw-workbook-task__prompt{color:#374151;line-height:1.45;margin:0}.draw-workbook-task__primary{background:linear-gradient(165deg,#fff,#f0fdf4);border:2px solid #bbf7d0;border-radius:16px;box-shadow:0 8px 22px #16a34a14;display:flex;flex-direction:column;gap:.65rem;padding:1rem 1.1rem}.draw-workbook-task__icon{font-size:1.75rem;line-height:1}.draw-workbook-task__lead{color:#14532d;display:block;font-size:1.05rem;margin-bottom:.25rem}.draw-workbook-task__hint{color:#4b5563;font-size:.95rem;line-height:1.45;margin:0}.draw-workbook-task__done-btn{background:#fff;border:2px solid #16a34a;border-radius:12px;color:#14532d;cursor:pointer;font-size:1rem;font-weight:700;min-height:52px;padding:.65rem 1rem;transition:background .15s,color .15s,box-shadow .15s}.draw-workbook-task__done-btn:hover{background:#dcfce7}.draw-workbook-task__done-btn--on{background:#16a34a;box-shadow:0 6px 16px #16a34a47;color:#fff}.draw-workbook-task__done-btn:focus-visible{box-shadow:0 0 0 3px #16a34a59;outline:none}.draw-workbook-task__optional{border-top:1px dashed #cbd5e1;padding-top:.65rem}.draw-workbook-task__toggle{background:none;border:none;color:#15803d;cursor:pointer;font-size:.92rem;font-weight:600;min-height:44px;padding:.35rem 0;text-align:left;text-decoration:underline}.draw-workbook-task__screen{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:.5rem;padding:.75rem}.draw-workbook-task__screen-note{color:#64748b;font-size:.88rem;margin:0 0 .5rem}.draw-workbook-task__status{color:#15803d;font-weight:700;margin:0}.draw-workbook-task--done .draw-workbook-task__primary{border-color:#86efac}.draw-workbook-task--compact .draw-workbook-task__primary{padding:.85rem}