nav.navbar{position:sticky;top:0;z-index:100;background-color:inherit;padding:.85rem clamp(1rem,4vw,1.5rem);display:flex;justify-content:space-between;align-items:center;transition:top .3s ease-in-out}.navbar.hidden{top:-80px}.logo{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:inherit;font-weight:700;font-size:1.2rem}.logo-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background-color:var(--light-accent);color:var(--on-light-accent);font-size:.85rem;letter-spacing:.02em}body.dark .logo-mark{background-color:var(--dark-accent);color:var(--on-dark-accent)}.theme-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:inherit}.navbar-links{display:flex;align-items:center;gap:.35rem}.navbar-link{text-decoration:none;color:inherit;font-size:1.25rem;border-radius:12px;min-width:46px;min-height:46px;display:inline-flex;align-items:center;justify-content:center}.navbar-link-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.navbar-link:hover,.navbar-link:focus-visible{background-color:#ef626c24}.navbar-link.active{background-color:#ef626c38}body.dark .navbar-link:hover,body.dark .navbar-link:focus-visible{background-color:#84dccf29}body.dark .navbar-link.active{background-color:#84dccf42}.theme-btn{min-width:46px;min-height:46px;border-radius:12px}nav.navbar{flex-wrap:nowrap;gap:.6rem}.logo{white-space:nowrap}@media(max-width:480px){.logo{font-size:1rem}}.navbar-auth-link{display:inline-flex;align-items:center;min-height:44px;padding:.45rem .8rem;border-radius:999px;font-weight:700;font-size:.95rem;white-space:nowrap;color:var(--on-light-accent);background-color:var(--light-accent);transition:filter .2s}body.dark .navbar-auth-link{color:var(--on-dark-accent);background-color:var(--dark-accent)}.navbar-auth-link:hover,.navbar-auth-link:focus-visible{filter:brightness(1.08)}.navbar-avatar-chip{--navbar-chip-colour: var(--map-chip);display:inline-flex;align-items:center;gap:.4rem;min-height:44px;max-width:10rem;padding:.3rem .75rem;border-radius:999px;font-weight:700;font-size:.9rem;white-space:nowrap;background-color:var(--map-chip);color:var(--map-text);transition:filter .2s,transform .2s}.navbar-avatar-chip.has-child{background-color:var(--navbar-chip-colour);color:var(--on-light-accent)}.navbar-avatar-chip:hover,.navbar-avatar-chip:focus-visible{filter:brightness(1.06);transform:scale(1.03)}.navbar-avatar-emoji{font-size:1.25rem;line-height:1}.navbar-avatar-name{overflow:hidden;text-overflow:ellipsis}@media(max-width:560px){.navbar-avatar-name{display:none}.navbar-avatar-chip{padding:.3rem .55rem}.navbar-auth-link{padding:.4rem .6rem;font-size:.85rem}}.navbar-link{position:relative}.navbar-news-dot{position:absolute;top:7px;right:7px;width:11px;height:11px;border:2px solid var(--light-bg);border-radius:50%;background:var(--light-accent)}body.dark .navbar-news-dot{border-color:var(--dark-bg);background:var(--dark-accent)}.navbar-stats{display:inline-flex;gap:.35rem;font-size:.9rem;font-weight:800;white-space:nowrap}.navbar-stats>span{padding:.35rem .6rem;border-radius:999px;background:var(--map-chip);color:var(--map-text)}.navbar-avatar-chip{position:relative}.navbar-streak-badge{display:none;position:absolute;bottom:-6px;right:-4px;padding:0 .3rem;border-radius:999px;background:var(--light-accent);color:var(--on-light-accent);font-size:.7rem;font-weight:800;line-height:1.5}body.dark .navbar-streak-badge{background:var(--dark-accent);color:var(--on-dark-accent)}@media(max-width:480px){.navbar-stats{display:none}.navbar-streak-badge{display:inline-block}}@media(max-width:360px){nav.navbar{gap:.35rem;padding-inline:.75rem}.navbar-links{gap:.15rem}.navbar-auth-link{padding:.4rem .5rem}}@media(max-width:360px){.navbar-links{min-width:0;flex-wrap:wrap;justify-content:flex-end}.navbar.hidden{top:calc(-1 * var(--navbar-height, 80px))}}.brain-break-offer,.brain-break-dialog{--bb-panel: var(--light-panel);--bb-text: var(--light-text);--bb-accent: var(--light-accent);--bb-on-accent: var(--on-light-accent)}body.dark .brain-break-offer,body.dark .brain-break-dialog{--bb-panel: var(--dark-panel);--bb-text: var(--dark-text);--bb-accent: var(--dark-accent);--bb-on-accent: var(--on-dark-accent)}.brain-break-offer{position:fixed;z-index:900;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;width:min(36rem,calc(100% - 32px));padding:.85rem 1rem;border:3px solid var(--bb-accent);border-radius:20px;background:var(--bb-panel);color:var(--bb-text);box-shadow:0 10px 28px var(--panel-shadow);box-sizing:border-box;animation:brain-break-rise .36s ease-out both}.brain-break-offer-icon{font-size:2.2rem}.brain-break-offer-text{flex:1 1 12rem;margin:0;font-size:1.15rem;font-weight:700}.brain-break-offer-actions,.brain-break-actions{display:flex;flex-wrap:wrap;gap:.6rem}.brain-break-actions{justify-content:center}.brain-break-primary,.brain-break-secondary{min-height:56px;padding:.5rem 1.2rem;border-radius:16px;font:inherit;font-size:1.1rem;font-weight:700;cursor:pointer}.brain-break-primary{min-height:64px;border:none;background:var(--bb-accent);color:var(--bb-on-accent)}.brain-break-secondary{border:3px solid var(--bb-accent);background:transparent;color:var(--bb-text)}.brain-break-primary:focus-visible,.brain-break-secondary:focus-visible{outline:4px solid var(--bb-text);outline-offset:3px}.brain-break-backdrop{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:16px;background:#00000073}.brain-break-dialog{display:flex;flex-direction:column;align-items:center;gap:1rem;width:min(32rem,100%);max-height:calc(100vh - 32px);overflow-y:auto;padding:1.5rem 1.25rem;border-radius:24px;background:var(--bb-panel);color:var(--bb-text);text-align:center;box-sizing:border-box}.brain-break-eyebrow{margin:0;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.8}.brain-break-title{margin:0;font-size:1.5rem;font-weight:700;line-height:1.3}.brain-break-dialog:focus{outline:none}.brain-break-emoji{font-size:5rem;line-height:1}.brain-break-emoji.move-jump{animation:brain-break-jump .9s ease-in-out infinite}.brain-break-emoji.move-stretch{animation:brain-break-stretch 1.6s ease-in-out infinite}.brain-break-emoji.move-spin{animation:brain-break-spin 2.4s linear infinite}.brain-break-emoji.move-sway{animation:brain-break-sway 1.4s ease-in-out infinite}@keyframes brain-break-rise{0%{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes brain-break-jump{0%,to{transform:translateY(0)}45%{transform:translateY(-28px)}}@keyframes brain-break-stretch{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.25)}}@keyframes brain-break-spin{to{transform:rotate(360deg)}}@keyframes brain-break-sway{0%,to{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}@media(prefers-reduced-motion:reduce){.brain-break-offer,.brain-break-emoji[class*=move-]{animation:none}}.app-footer{--footer-ink: var(--light-text);--footer-card: var(--light-panel);--footer-muted: var(--light-home-muted);--footer-focus: var(--light-text);--footer-card-edge: var(--light-home-card-edge);--footer-curriculum-label: var(--light-home-curriculum-label);--footer-curriculum-ink: var(--light-home-curriculum-ink)}body.dark .app-footer{--footer-ink: var(--dark-text);--footer-card: var(--dark-panel);--footer-muted: var(--dark-home-muted);--footer-focus: var(--dark-accent);--footer-card-edge: var(--dark-home-card-edge);--footer-curriculum-label: var(--dark-home-curriculum-label);--footer-curriculum-ink: var(--dark-home-curriculum-ink)}.app-footer{box-sizing:border-box;width:min(1150px,calc(100% - 2rem));margin:1rem auto 2rem;color:var(--footer-ink);line-height:1.6;padding:clamp(1.5rem,4vw,2.5rem);border-radius:28px;background:var(--footer-card);box-shadow:0 14px 34px var(--panel-shadow)}.app-footer-inner{display:flex;flex-wrap:wrap;gap:clamp(1.5rem,5vw,4rem);justify-content:space-between}.app-footer-brand{display:flex;gap:.9rem;max-width:34rem}.app-footer-mark{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:14px;background:var(--footer-curriculum-label);color:var(--footer-curriculum-ink);font-weight:700}.app-footer-name{margin:0 0 .25rem;font-size:1.2rem;font-weight:700}.app-footer-tagline{margin:0;color:var(--footer-muted)}.app-footer-nav{display:flex;flex-wrap:wrap;gap:clamp(1.5rem,6vw,3.5rem)}.app-footer-group{display:flex;flex-direction:column}.app-footer-group h2{margin:0 0 .3rem;color:var(--footer-muted);font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.app-footer-group a{display:inline-flex;align-items:center;min-height:48px;color:var(--footer-ink);font-weight:700;text-decoration:none}.app-footer-group a:hover{text-decoration:underline;text-underline-offset:4px}.app-footer-group a:focus-visible{outline:3px solid var(--footer-focus);outline-offset:3px;border-radius:8px}.app-footer-note{margin:clamp(1.2rem,4vw,2rem) 0 0;padding-top:1.2rem;border-top:2px solid var(--footer-card-edge);color:var(--footer-muted);font-size:.9rem}.app-layout{display:flex;flex-direction:column;min-height:100dvh;background-color:inherit}.app-layout-main{flex:1;min-width:0}.app-layout--with-footer .parent-area-page,.app-layout--with-footer .profiles-page,.app-layout--with-footer .auth-page{min-height:0}.mascot{--home-mascot-1: #ffb9bd;--home-mascot-2: #ef626c;--home-mascot-dot: #ffe08a;--home-mascot-cheek: rgba(239, 98, 108, .55);position:relative;display:grid;place-items:end center;width:clamp(120px,26vw,190px);aspect-ratio:1 / 1.05;padding:0;border:0;background:none;cursor:pointer;animation:mascot-bob 3.6s ease-in-out infinite;touch-action:manipulation;-webkit-tap-highlight-color:transparent}body.dark .mascot{--home-mascot-1: #a9ece2;--home-mascot-2: #4fb4a5;--home-mascot-dot: #ffd166;--home-mascot-cheek: rgba(255, 145, 155, .5)}.mascot:focus-visible{outline:3px solid var(--home-focus, currentColor);outline-offset:8px;border-radius:40%}.mascot-body{position:relative;display:block;width:100%;aspect-ratio:1 / .92;border-radius:48% 52% 44% 56%/56% 54% 46% 44%;background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.55),transparent 46%),linear-gradient(160deg,var(--home-mascot-1),var(--home-mascot-2));box-shadow:inset 0 -12px 22px #22181c29;transform-origin:50% 100%;transition:transform .18s ease-out}.mascot:hover .mascot-body{transform:scale(1.04) rotate(-2deg)}.mascot.is-reacting .mascot-body{animation:mascot-squash 1s cubic-bezier(.25,1.6,.4,1)}.mascot-antenna{position:absolute;top:-20%;width:5px;height:24%;border-radius:4px;background:var(--home-mascot-2);transform-origin:50% 100%}.mascot-antenna:after{content:"";position:absolute;top:-9px;left:50%;width:15px;height:15px;margin-left:-7.5px;border-radius:50%;background:var(--home-mascot-dot);box-shadow:0 0 0 3px var(--home-mascot-2)}.mascot-antenna-left{left:30%;transform:rotate(-16deg);animation:mascot-sway 2.9s ease-in-out infinite}.mascot-antenna-right{right:30%;transform:rotate(16deg);animation:mascot-sway 2.9s ease-in-out infinite reverse}.mascot-face{position:absolute;top:26%;left:50%;display:flex;gap:13%;width:62%;transform:translate(-50%)}.mascot-eye{position:relative;flex:1;aspect-ratio:1 / 1.12;border-radius:50%;background:#fff;box-shadow:inset 0 3px 5px #22181c33;overflow:hidden;animation:mascot-blink 5.2s infinite}.mascot-pupil{position:absolute;top:50%;left:50%;width:46%;aspect-ratio:1;border-radius:50%;background:#22181c;transform:translate(-50%,-50%) translate(var(--pupil-x, 0%),var(--pupil-y, 0%));transition:transform .12s ease-out}.mascot-pupil:after{content:"";position:absolute;top:16%;left:18%;width:34%;aspect-ratio:1;border-radius:50%;background:#ffffffe6}.mascot-cheek{position:absolute;top:52%;width:16%;aspect-ratio:1 / .7;border-radius:50%;background:var(--home-mascot-cheek);opacity:.75}.mascot-cheek-left{left:11%}.mascot-cheek-right{right:11%}.mascot-mouth{position:absolute;top:58%;left:50%;width:26%;aspect-ratio:2 / 1;border:4px solid #22181C;border-top:0;border-radius:0 0 100px 100px;transform:translate(-50%);transition:width .2s ease-out,aspect-ratio .2s ease-out}.mascot:hover .mascot-mouth,.mascot.is-reacting .mascot-mouth{width:34%;aspect-ratio:1.5 / 1}.mascot-shadow{position:absolute;bottom:-4%;left:50%;width:56%;height:7%;border-radius:50%;background:#22181c2e;filter:blur(4px);transform:translate(-50%);animation:mascot-shadow-pulse 3.6s ease-in-out infinite}.mascot-burst{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.mascot-burst span{position:absolute;font-size:1.5rem;animation:mascot-burst-fly 1s ease-out forwards}@keyframes mascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes mascot-shadow-pulse{0%,to{transform:translate(-50%) scale(1);opacity:.55}50%{transform:translate(-50%) scale(.86);opacity:.35}}@keyframes mascot-sway{0%,to{transform:rotate(-16deg)}50%{transform:rotate(-4deg)}}@keyframes mascot-blink{0%,92%,96%,to{transform:scaleY(1)}94%,98%{transform:scaleY(.08)}}@keyframes mascot-squash{0%{transform:scale(1)}22%{transform:scale(1.18,.78) translateY(6%)}45%{transform:scale(.88,1.2) translateY(-14%)}68%{transform:scale(1.08,.94) translateY(2%)}to{transform:scale(1)}}@keyframes mascot-burst-fly{0%{opacity:0;transform:rotate(var(--burst-angle)) translateY(0) rotate(calc(-1 * var(--burst-angle))) scale(.3)}20%{opacity:1}to{opacity:0;transform:rotate(var(--burst-angle)) translateY(calc(-1 * var(--burst-distance))) rotate(calc(-1 * var(--burst-angle))) scale(1.1)}}@media(prefers-reduced-motion:reduce){.mascot,.mascot-shadow,.mascot-antenna,.mascot-eye,.mascot.is-reacting .mascot-body{animation:none}.mascot-body,.mascot-mouth,.mascot-pupil{transition:none}.mascot:hover .mascot-body{transform:none}}.mascot.mascot-small{width:150px;zoom:.38}.mascot.mascot-medium{width:150px;zoom:.62}.mascot .mascot-face{transition:transform .24s cubic-bezier(.22,1.2,.36,1)}.mascot.is-puzzled .mascot-face{transform:translate(-50%) rotate(-12deg) translateY(2%)}@media(prefers-reduced-motion:reduce){.mascot .mascot-face{transition:none}}.mascot,.mascot-joker,.bix-joke-card{--joke-ink: var(--light-text);--joke-surface: var(--light-panel);--joke-accent: var(--light-accent);--joke-on-accent: var(--on-light-accent);--joke-shadow: var(--panel-shadow)}body.dark .mascot,body.dark .mascot-joker,body.dark .bix-joke-card{--joke-ink: var(--dark-text);--joke-surface: var(--dark-panel);--joke-accent: var(--dark-accent);--joke-on-accent: var(--on-dark-accent)}.mascot{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.mascot-body{container-type:inline-size}.mascot-hat{position:absolute;top:-27%;left:50%;z-index:1;font-size:2rem;font-size:30cqw;line-height:1;translate:-50% 0;animation:mascot-hat-on .42s cubic-bezier(.2,1.6,.4,1) both}.mascot.is-sneeze .mascot-body{animation:mascot-sneeze .9s ease-out}.mascot.is-wobble .mascot-body{animation:mascot-wobble 1.1s ease-in-out}.mascot-secret{position:absolute;bottom:4%;left:50%;z-index:2;width:max-content;max-width:124%;padding:.3rem .7rem;border:2px solid var(--joke-accent);border-radius:14px;background:var(--joke-surface);box-shadow:0 4px 10px var(--joke-shadow);color:var(--joke-ink);font-size:1rem;font-weight:800;line-height:1.25;text-align:center;pointer-events:none;translate:-50% 0;animation:mascot-secret-in .26s ease-out both}.mascot.mascot-medium .mascot-secret{font-size:calc(1rem / .62)}@keyframes mascot-hat-on{0%{transform:translateY(-30%) scale(.2);opacity:0}to{transform:none;opacity:1}}@keyframes mascot-sneeze{0%{transform:none}30%{transform:scale(1.04,.95) rotate(4deg)}45%{transform:translate(-7%,-8%) rotate(-12deg) scale(.96,1.06)}70%{transform:translate(-2%) rotate(-3deg)}to{transform:none}}@keyframes mascot-wobble{0%,to{transform:none}15%{transform:rotate(-10deg)}30%{transform:rotate(9deg)}45%{transform:rotate(-7deg)}60%{transform:rotate(5deg)}75%{transform:rotate(-3deg)}}@keyframes mascot-secret-in{0%{opacity:0;transform:translateY(20%)}to{opacity:1;transform:none}}.mascot-joker{display:grid;justify-items:center;gap:.9rem}.mascot-joker-figure{display:grid;justify-items:center;gap:.7rem}.mascot-joke-button,.mascot-joke-action,.mascot-joke-close{font:inherit;font-weight:800;cursor:pointer;transition:transform .14s ease-out}.mascot-joke-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:48px;padding:.55rem 1.1rem;border:3px solid var(--joke-accent);border-radius:999px;background:var(--joke-surface);box-shadow:0 4px 0 var(--joke-shadow);color:var(--joke-ink);font-size:1rem;line-height:1.15}.mascot-joke-button:hover,.mascot-joke-action:hover,.mascot-joke-close:hover{transform:translateY(-2px)}.mascot-joke-button:active,.mascot-joke-action:active,.mascot-joke-close:active{transform:translateY(2px)}.mascot-joke-button:focus-visible,.mascot-joke-action:focus-visible,.mascot-joke-close:focus-visible{outline:3px solid var(--joke-ink);outline-offset:3px}.mascot-joke-bubble{position:relative;box-sizing:border-box;width:20rem;max-width:calc(100vw - 2.5rem);margin-top:.4rem;padding:1rem 1.1rem;border:3px solid var(--joke-accent);border-radius:22px;background:var(--joke-surface);box-shadow:0 10px 24px var(--joke-shadow);color:var(--joke-ink);text-align:center;animation:mascot-bubble-in .24s ease-out both}.mascot-joke-bubble:before{content:"";position:absolute;top:-14px;left:50%;width:22px;height:22px;border-top:3px solid var(--joke-accent);border-left:3px solid var(--joke-accent);border-radius:5px 0 0;background:var(--joke-surface);transform:translate(-50%) rotate(45deg)}.mascot-joke-setup{margin:0;font-size:1.15rem;font-weight:700;line-height:1.35}.mascot-joke-punchline{margin:.6rem 0 0;font-size:1.3rem;font-weight:800;line-height:1.3}.mascot-joke-actions{display:flex;justify-content:center;gap:.6rem;margin-top:.9rem}.mascot-joke-action{min-height:52px;padding:.6rem 1.3rem;border:0;border-radius:14px;background:var(--joke-accent);color:var(--joke-on-accent);font-size:1.05rem}.mascot-joke-close{display:grid;place-items:center;width:52px;height:52px;padding:0;border:2px solid var(--joke-accent);border-radius:14px;background:transparent;color:var(--joke-ink);font-size:1.2rem}@keyframes mascot-bubble-in{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:none}}.bix-joke-card{display:flex;align-items:center;gap:.8rem;box-sizing:border-box;width:min(100%,26rem);margin:1.2rem auto 0;padding:.7rem .9rem;border:2px dashed var(--joke-accent);border-radius:18px;color:var(--joke-ink);text-align:left}.bix-joke-card-bix{flex:none;display:grid;place-items:center}.bix-joke-card-body{display:grid;justify-items:start;gap:.5rem;min-width:0}.bix-joke-card-title{margin:0;font-size:1.05rem;font-weight:800}.bix-joke-card .mascot-joke-setup{font-size:1.05rem}.bix-joke-card .mascot-joke-punchline{margin:0;font-size:1.15rem}.bix-joke-card .mascot-joke-action{min-height:48px;padding:.5rem 1.1rem;font-size:1rem}@media(prefers-reduced-motion:reduce){.mascot-hat,.mascot-secret,.mascot-joke-bubble,.mascot.is-sneeze .mascot-body,.mascot.is-wobble .mascot-body{animation:none}.mascot-joke-button,.mascot-joke-action,.mascot-joke-close{transition:none}.mascot-joke-button:hover,.mascot-joke-action:hover,.mascot-joke-close:hover,.mascot-joke-button:active,.mascot-joke-action:active,.mascot-joke-close:active{transform:none}}.level-bar{--lb-ink: var(--light-text);--lb-track: rgba(34, 24, 28, .1);--lb-fill: var(--light-accent);display:flex;align-items:center;gap:.5rem;color:var(--lb-ink);font-weight:700}body.dark .level-bar{--lb-ink: var(--dark-text);--lb-track: rgba(246, 232, 234, .14);--lb-fill: var(--dark-accent)}.level-bar-track{flex:1;height:12px;min-width:80px;border-radius:999px;background:var(--lb-track);overflow:hidden}.level-bar-fill{display:block;height:100%;border-radius:inherit;background:var(--lb-fill);transition:width .9s cubic-bezier(.2,.9,.3,1)}.level-bar-count{font-size:.85rem;opacity:.8;white-space:nowrap}@media(prefers-reduced-motion:reduce){.level-bar-fill{transition:none}}.week-dots{--wd-ink: var(--light-text);--wd-empty: rgba(34, 24, 28, .08);--wd-ring: var(--light-accent);display:flex;justify-content:center;gap:.4rem;margin:.8rem 0 0;padding:0;list-style:none;color:var(--wd-ink)}body.dark .week-dots{--wd-ink: var(--dark-text);--wd-empty: rgba(246, 232, 234, .12);--wd-ring: var(--dark-accent)}.week-dot{display:grid;justify-items:center;gap:.2rem;font-size:.75rem;font-weight:700}.week-dot-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--wd-empty);font-size:1.05rem}.week-dot.is-today .week-dot-mark{box-shadow:inset 0 0 0 3px var(--wd-ring)}.home-achievements{box-sizing:border-box;padding:clamp(1.3rem,4vw,2.5rem);border:2px solid var(--home-achievements-edge);border-radius:32px;background:var(--home-achievements)}.home-achievements .home-section-title{color:var(--home-achievements-ink)}.home-ach-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}.home-ach-card{display:grid;align-content:start;gap:.35rem;padding:1.1rem 1.2rem;border:2px solid var(--home-card-edge);border-radius:22px;background:var(--home-card);color:var(--home-ink);text-decoration:none;box-shadow:0 6px 18px var(--panel-shadow)}a.home-ach-card:focus-visible{outline:3px solid var(--home-focus);outline-offset:3px}.home-ach-news{grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;margin-bottom:1rem;border-color:var(--home-accent)}.home-ach-news-icon{font-size:2.2rem;animation:home-ach-wiggle 1.6s ease-in-out infinite}.home-ach-go{font-weight:800;white-space:nowrap}.home-ach-eyebrow{margin:0;color:var(--home-muted);font-weight:700;letter-spacing:.04em}.home-ach-big{margin:0;font-size:1.5rem;font-weight:800}.home-ach-note{margin:0;color:var(--home-muted)}.home-ach-level{margin-top:.6rem}.home-ach-latest{display:flex;align-items:center;gap:.5rem;margin:.4rem 0 0;font-weight:700}.home-ach-sticker{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--home-card-edge);font-size:1.5rem}@keyframes home-ach-wiggle{0%,to{transform:rotate(0)}50%{transform:rotate(-10deg) scale(1.08)}}@media(max-width:560px){.home-ach-news{grid-template-columns:auto 1fr}.home-ach-go{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){.home-ach-news-icon{animation:none}}.home-page{--home-ink: var(--light-text);--home-card: var(--light-panel);--home-accent: var(--light-accent);--home-focus: var(--light-text);--home-muted: var(--light-home-muted);--home-cta-edge: var(--light-home-cta-edge);--home-curriculum-label: var(--light-home-curriculum-label);--home-curriculum-ink: var(--light-home-curriculum-ink);--home-practice-label: var(--light-home-practice-label);--home-practice-ink: var(--light-home-practice-ink);--home-achievements-ink: var(--light-home-achievements-ink);--home-space-ink: var(--light-home-space-ink);--home-reading-ink: var(--light-home-reading-ink);--home-arithmetic-ink: var(--light-home-arithmetic-ink);--home-bonds-ink: var(--light-home-bonds-ink);--home-card-edge: var(--light-home-card-edge);--home-sky-top: var(--light-home-sky-top);--home-sky-bottom: var(--light-home-sky-bottom);--home-glyph: var(--light-home-glyph);--home-cta: var(--light-home-cta);--home-on-cta: var(--light-home-on-cta);--home-accent-shade: var(--light-home-cta-shade);--home-curriculum: var(--light-home-curriculum);--home-curriculum-edge: var(--light-home-curriculum-edge);--home-practice: var(--light-home-practice);--home-practice-edge: var(--light-home-practice-edge);--home-achievements: var(--light-home-achievements);--home-achievements-edge: var(--light-home-achievements-edge);--home-space: var(--light-home-space);--home-space-edge: var(--light-home-space-edge);--home-reading: var(--light-home-reading);--home-reading-edge: var(--light-home-reading-edge);--home-arithmetic: var(--light-home-arithmetic);--home-arithmetic-edge: var(--light-home-arithmetic-edge);--home-bonds: var(--light-home-bonds);--home-bonds-edge: var(--light-home-bonds-edge);padding:0 1rem 4rem;color:var(--home-ink);background-color:var(--light-bg);overflow-x:clip}body.dark .home-page{--home-ink: var(--dark-text);--home-card: var(--dark-panel);--home-accent: var(--dark-accent);--home-focus: var(--dark-accent);--home-muted: var(--dark-home-muted);--home-cta-edge: var(--dark-home-cta-edge);--home-curriculum-label: var(--dark-home-curriculum-label);--home-curriculum-ink: var(--dark-home-curriculum-ink);--home-practice-label: var(--dark-home-practice-label);--home-practice-ink: var(--dark-home-practice-ink);--home-achievements-ink: var(--dark-home-achievements-ink);--home-space-ink: var(--dark-home-space-ink);--home-reading-ink: var(--dark-home-reading-ink);--home-arithmetic-ink: var(--dark-home-arithmetic-ink);--home-bonds-ink: var(--dark-home-bonds-ink);--home-card-edge: var(--dark-home-card-edge);--home-sky-top: var(--dark-home-sky-top);--home-sky-bottom: var(--dark-home-sky-bottom);--home-glyph: var(--dark-home-glyph);--home-cta: var(--dark-home-cta);--home-on-cta: var(--dark-home-on-cta);--home-accent-shade: var(--dark-home-cta-shade);--home-curriculum: var(--dark-home-curriculum);--home-curriculum-edge: var(--dark-home-curriculum-edge);--home-practice: var(--dark-home-practice);--home-practice-edge: var(--dark-home-practice-edge);--home-achievements: var(--dark-home-achievements);--home-achievements-edge: var(--dark-home-achievements-edge);--home-space: var(--dark-home-space);--home-space-edge: var(--dark-home-space-edge);--home-reading: var(--dark-home-reading);--home-reading-edge: var(--dark-home-reading-edge);--home-arithmetic: var(--dark-home-arithmetic);--home-arithmetic-edge: var(--dark-home-arithmetic-edge);--home-bonds: var(--dark-home-bonds);--home-bonds-edge: var(--dark-home-bonds-edge);background-color:var(--dark-bg)}.reveal-armed{opacity:0;transform:translateY(26px) scale(.98);transition:opacity .52s ease-out,transform .52s cubic-bezier(.22,1.2,.36,1)}.reveal-armed.is-revealed{opacity:1;transform:none}.home-hero{position:relative;max-width:1150px;margin:0 auto;padding:clamp(1.5rem,5vw,3.5rem) clamp(1rem,4vw,3rem) clamp(2rem,5vw,3rem);border-radius:0 0 40px 40px;background:linear-gradient(180deg,var(--home-sky-top),var(--home-sky-bottom));overflow:hidden;isolation:isolate}@media(max-width:720px){.home-page{padding-inline:.75rem}.home-hero{margin-inline:-.75rem;padding-top:3rem;border-radius:0 0 32px 32px}}.home-sky{position:absolute;inset:0;z-index:-1;pointer-events:none}.home-glyph{position:absolute;color:var(--home-glyph);opacity:.45;font-weight:700;line-height:1;animation-name:home-drift;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.home-hero-inner{display:flex;align-items:center;justify-content:center;gap:clamp(1rem,4vw,3rem)}.home-hero-copy{flex:1 1 380px;max-width:560px}@media(max-width:760px){.home-hero-inner{flex-direction:column-reverse;text-align:center}.home-hero-copy{flex-basis:auto}.home-hero-inner.is-signed-in{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:.6rem;row-gap:.2rem}.home-hero-inner.is-signed-in .home-hero-copy{display:contents}.home-hero-inner.is-signed-in .home-hello{grid-column:1;grid-row:1;justify-self:start;margin-bottom:0}.home-hero-inner.is-signed-in .home-hero-mascot{grid-column:2;grid-row:1}.home-hero-inner.is-signed-in .home-hero-mascot:has(.mascot-joker),.home-hero-inner.is-signed-in .mascot-joker{display:contents}.home-hero-inner.is-signed-in .mascot-joker-figure{grid-column:2;grid-row:1;gap:.45rem}.home-hero-inner.is-signed-in .mascot-joke-bubble{grid-column:1 / -1;grid-row:2;justify-self:center;margin-block:.6rem .4rem}.home-hero-inner.is-signed-in .mascot-secret{inset:2% 92% auto auto;max-width:none;translate:none;font-size:.95rem}.home-hero-inner.is-signed-in .mascot-joke-bubble:before{left:auto;right:3rem;transform:rotate(45deg)}.home-hero-inner.is-signed-in .mascot-joke-button{max-width:8.5rem;padding-inline:.6rem;font-size:.9rem;text-align:center}.home-hero-inner.is-signed-in .mascot{width:clamp(88px,24vw,130px)}.home-hero-inner.is-signed-in .home-subtitle,.home-hero-inner.is-signed-in .home-progress,.home-hero-inner.is-signed-in .home-hero-actions{grid-column:1 / -1}}.home-hello{display:inline-flex;align-items:center;gap:.6rem;margin:0 0 .6rem;padding:.35rem .9rem .35rem .35rem;border-radius:999px;background:var(--home-card);box-shadow:0 4px 14px var(--panel-shadow);font-size:1.15rem;font-weight:700}.home-hello-avatar{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;font-size:1.3rem}.home-hello-name span{display:inline-block;animation:home-letter-in .52s cubic-bezier(.22,1.4,.36,1) both;animation-delay:calc(var(--letter-index) * 45ms)}.home-title{margin:.2rem 0 .6rem;color:var(--home-ink);font-size:clamp(2rem,6.5vw,3.4rem);line-height:1.1}.home-subtitle{margin:0 0 1.4rem;max-width:42ch;line-height:1.6;color:var(--home-muted);font-size:clamp(1rem,2.4vw,1.2rem)}@media(max-width:760px){.home-subtitle{margin-inline:auto}}.home-hero-actions{display:flex;flex-wrap:wrap;gap:.8rem}@media(max-width:760px){.home-hero-actions{flex-wrap:wrap;justify-content:center}.home-btn-big{flex:1 0 100%;justify-content:center}.home-btn-quiet{flex:1 1 0;min-width:0;justify-content:center;padding-inline:.9rem}}.home-hero-mascot{display:grid;justify-items:center;gap:.6rem}.home-btn{display:inline-flex;align-items:center;gap:.45rem;min-height:56px;padding:.9rem 1.5rem;border-radius:16px;font-size:1.05rem;font-weight:700;text-decoration:none;transition:transform .14s ease-out,box-shadow .14s ease-out,background-color .2s ease}.home-btn-big{min-height:68px;padding:1.1rem 2rem;font-size:clamp(1.15rem,3vw,1.4rem)}.home-btn-primary{background:var(--home-cta);color:var(--home-on-cta);border:2px solid var(--home-cta-edge);box-shadow:0 6px 0 var(--home-accent-shade)}.home-btn-primary:hover{transform:translateY(-2px)}.home-btn-primary:active{transform:translateY(5px);box-shadow:0 1px 0 var(--home-accent-shade)}.home-btn-ghost{background:var(--home-card);color:var(--home-ink);box-shadow:0 6px 0 var(--home-card-edge)}.home-btn-ghost:hover{transform:translateY(-2px)}.home-btn-ghost:active{transform:translateY(5px);box-shadow:0 1px 0 var(--home-card-edge)}.home-btn-quiet{background:none;border:2px solid var(--home-card-edge);color:var(--home-ink);font-size:1rem}.home-btn-quiet:hover{background:var(--home-card);border-color:var(--home-cta)}.home-btn-quiet:active{transform:translateY(2px)}.home-btn:focus-visible,.home-skill:focus-visible{outline:3px solid var(--home-focus);outline-offset:3px}.home-progress{display:flex;align-items:center;gap:.9rem;margin-bottom:1.3rem}@media(max-width:760px){.home-progress{justify-content:center;text-align:left}}.home-progress p{margin:0}.home-progress-topic{font-size:1.15rem;font-weight:700}.home-progress-count{color:var(--home-muted);font-size:.95rem}.home-eyebrow{margin:0;color:var(--home-muted);font-size:.85rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.home-ring{flex:none;width:clamp(76px,18vw,94px);height:auto}.home-ring-track{fill:none;stroke:var(--home-card-edge);stroke-width:11}.home-ring-fill{fill:none;stroke:var(--home-cta);stroke-width:11;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset 1.1s cubic-bezier(.2,.9,.3,1)}.home-ring-text{fill:var(--home-ink);font-size:1.5rem;font-weight:700;text-anchor:middle;dominant-baseline:central}.home-section{box-sizing:border-box;max-width:1150px;margin:clamp(2.5rem,7vw,4.5rem) auto 0}.home-section-title{margin:0 0 1.4rem;font-size:clamp(1.6rem,5vw,2.3rem);text-align:center}.home-curriculum,.home-practice{padding:clamp(1.3rem,4vw,2.5rem);border:2px solid;border-radius:32px}.home-curriculum{--section-label: var(--home-curriculum-label);--section-ink: var(--home-curriculum-ink);background:var(--home-curriculum);border-color:var(--home-curriculum-edge);box-shadow:0 3px 0 var(--home-curriculum-edge)}.home-practice{--section-label: var(--home-practice-label);--section-ink: var(--home-practice-ink);background:var(--home-practice);border-color:var(--home-practice-edge)}.home-section-heading{text-align:center}.home-section-heading .home-section-title{color:var(--section-ink)}.home-section-heading .home-section-title{margin-bottom:.65rem}.home-section-label{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 .9rem;padding:.55rem .9rem;border-radius:999px;background:var(--section-label);color:var(--section-ink);font-size:.95rem;font-weight:700}.home-section-intro{max-width:48ch;margin:0 auto;color:var(--home-muted);line-height:1.6;font-size:1.05rem}.home-practice-note{display:flex;align-items:center;gap:.8rem;max-width:48ch;margin:1.3rem auto 0;padding:.9rem 1rem;border-left:4px solid var(--home-space-edge);border-radius:0 14px 14px 0;background:var(--home-card);color:var(--home-ink);line-height:1.6}.home-practice-note>span:first-child{font-size:1.5rem}.home-practice-note strong{display:block;color:var(--home-practice-ink)}.home-coverage{margin-top:1.6rem;margin-bottom:2rem;padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--home-curriculum-edge);border-radius:24px;background:var(--home-card)}.home-coverage h3{margin:0 0 .8rem;color:var(--home-curriculum-ink);font-size:clamp(1.2rem,3vw,1.6rem);text-align:center}.home-coverage-summary{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.2rem;margin:0 0 1rem;line-height:1.6;text-align:center}.home-coverage-summary strong{color:var(--home-curriculum-ink)}.home-coverage-summary span{color:var(--home-muted)}.home-coverage-scroll{overflow-x:auto;border-radius:12px}.home-coverage-scroll:focus-visible{outline:3px solid var(--home-focus);outline-offset:3px}.home-coverage-table{width:100%;min-width:640px;border-collapse:collapse;text-align:center}.home-coverage-table caption{padding:0 0 .8rem;color:var(--home-muted);font-size:.95rem;text-align:left}.home-coverage-table th,.home-coverage-table td{padding:.85rem .7rem;border-bottom:1px solid var(--home-card-edge)}.home-coverage-table thead{background:var(--home-curriculum-label);color:var(--home-curriculum-ink)}.home-coverage-subject{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.home-coverage-table th:first-child{text-align:left;white-space:nowrap}.home-coverage-table tbody tr:last-child>*{border-bottom:0}.home-coverage-count{display:block;font-size:1.2rem}.home-coverage-empty{color:var(--home-muted);font-size:.9rem}.home-coverage-note{margin:.85rem 0 0;color:var(--home-muted);font-size:.85rem;line-height:1.6}.home-journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;padding:0;margin:0;list-style:none}.home-journey li{position:relative;padding:1.3rem;border:1px solid var(--home-card-edge);border-radius:24px;background:var(--home-card);text-align:center}.home-journey-number{position:absolute;top:.8rem;left:.8rem;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--home-curriculum-label);color:var(--home-curriculum-ink);font-weight:700}.home-journey-icon{display:block;margin-block:.4rem .8rem;font-size:2.5rem}.home-journey h3{margin:0 0 .5rem;font-size:1.2rem}.home-journey p{margin:0;line-height:1.6;color:var(--home-muted)}.home-curriculum-actions,.home-practice-actions{margin-top:1.7rem;text-align:center}.home-curriculum-actions p{margin:1rem 0 0;font-size:.9rem;color:var(--home-muted)}.home-skills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1.7rem}.home-skill{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;min-width:0;padding:1.2rem;border:2px solid var(--skill-edge);border-radius:24px;background:var(--home-card);color:var(--home-ink);text-decoration:none;box-shadow:0 3px 0 var(--skill-edge);transition:transform .18s ease-out}.home-skill-space{--skill-bg: var(--home-space);--skill-edge: var(--home-space-edge);--skill-ink: var(--home-space-ink)}.home-skill-reading{--skill-bg: var(--home-reading);--skill-edge: var(--home-reading-edge);--skill-ink: var(--home-reading-ink)}.home-skill-arithmetic{--skill-bg: var(--home-arithmetic);--skill-edge: var(--home-arithmetic-edge);--skill-ink: var(--home-arithmetic-ink)}.home-skill-bonds{--skill-bg: var(--home-bonds);--skill-edge: var(--home-bonds-edge);--skill-ink: var(--home-bonds-ink)}.home-skill:hover{transform:translateY(-5px)}.home-skill:active{transform:translateY(2px)}.home-skill-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--skill-bg);font-size:1.8rem;flex-shrink:0}.home-skill-copy{display:grid;gap:.9rem;width:100%}.home-skill-heading{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:.75rem}.home-skill-title{display:grid;gap:.25rem;min-width:0}.home-skill-subject{font-size:.85rem;line-height:1.4;font-weight:700;color:var(--home-muted)}.home-skill h3{margin:0;font-size:1.1rem;line-height:1.4;overflow-wrap:anywhere}.home-skill p{margin:0;color:var(--home-muted);line-height:1.6}.home-skill-go{color:var(--skill-ink);display:flex;align-items:center;gap:.4rem;min-height:48px;margin-top:auto;font-weight:700;text-decoration:underline;text-underline-offset:4px}.home-practice-actions .home-btn-quiet{border-color:var(--home-practice-edge);background:var(--home-card)}@media(max-width:1000px){.home-skills{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.home-skills{grid-template-columns:1fr}.home-journey{grid-template-columns:1fr;gap:.8rem}.home-journey li{display:grid;grid-template-columns:2rem 2rem minmax(0,1fr);align-items:center;gap:.65rem .5rem;padding:1rem;text-align:left}.home-journey-number{position:static}.home-journey-icon{margin:0;font-size:2rem;line-height:1}.home-journey h3{margin:0;font-size:clamp(1rem,3vw,1.2rem)}.home-journey p{grid-column:1 / -1}}@media(max-width:480px){.home-skills{grid-template-columns:1fr}.home-curriculum-actions .home-btn{width:100%;justify-content:center;box-sizing:border-box;padding-inline:.7rem}}@keyframes home-drift{0%,to{transform:translateZ(0) rotate(0)}33%{transform:translate3d(14px,-22px,0) rotate(8deg)}66%{transform:translate3d(-12px,-10px,0) rotate(-6deg)}}@keyframes home-letter-in{0%{opacity:0;transform:translateY(14px) rotate(-8deg)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.home-glyph,.home-hello-name span{animation:none}.home-btn,.home-skill,.home-ring-fill,.reveal-armed{transition:none}.home-btn:hover,.home-skill:hover{transform:none}}.react-clock{display:block;position:relative}.react-clock,.react-clock *,.react-clock *:before,.react-clock *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.react-clock__face{position:absolute;inset:0;border:1px solid black;border-radius:50%}.react-clock__hand{position:absolute;inset:0 50%}.react-clock__hand__body{position:absolute;background-color:#000;transform:translate(-50%)}.react-clock__mark{position:absolute;inset:0 50%}.react-clock__mark__body{position:absolute;background-color:#000;transform:translate(-50%)}.react-clock__mark__number{position:absolute;left:-40px;width:80px;text-align:center}.react-clock__second-hand__body{background-color:red}.clock-wrapper{position:relative;width:clamp(250px,60vmin,420px);aspect-ratio:1;height:auto;margin:2rem auto}.dual-label{position:absolute;width:12%;text-align:center;font-size:clamp(.72rem,2.2vmin,.95rem);line-height:1.15;font-weight:600;transform:translate(-50%,-50%);pointer-events:none;color:inherit}.counting-panel{display:flex;flex-direction:column;align-items:center;gap:1rem}.input-row{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.range-group{display:flex;flex-direction:column;align-items:flex-start;font-size:.95rem}.range-group input{padding:.3rem;font-size:1rem;width:120px;border:2px solid var(--light-accent);border-radius:5px;background-color:#fff;color:#000}body.dark .range-group input{background-color:#222;border-color:var(--dark-accent);color:#fff}.display-mode{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.display-mode label{cursor:pointer;font-size:.95rem;display:flex;align-items:center;gap:.4rem}.output-box{margin-top:1rem;padding:1.2rem 2rem;border-radius:8px;background-color:var(--light-panel);border:2px solid var(--light-accent);color:var(--light-text);text-align:center;font-size:1.25rem}body.dark .output-box{background-color:var(--dark-accent);color:#000}.multiplication-panel{display:flex;flex-direction:column;align-items:center;gap:1.2rem}.config-row{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap}.config-row label{display:flex;flex-direction:column;font-size:.95rem;align-items:center;gap:.3rem;color:inherit}.config-row input{padding:.3rem;font-size:1rem;width:80px;border:2px solid var(--light-accent);border-radius:6px;background-color:#fff;color:#000}body.dark .config-row input{background-color:#222;border-color:var(--dark-accent);color:#fff}.table-wrapper{overflow-x:auto;max-width:100%}.multiplication-table{border-collapse:collapse;font-size:1rem}.multiplication-table th,.multiplication-table td{border:1px solid var(--light-accent);padding:.5rem;text-align:center;min-width:45px;height:45px}body.dark .multiplication-table th,body.dark .multiplication-table td{border-color:var(--dark-accent)}.header-cell{font-weight:700;background-color:var(--light-accent);color:#fff}body.dark .header-cell{background-color:var(--dark-accent);color:#000}.cell.highlight{background-color:#ef626c33}body.dark .cell.highlight{background-color:#84dccf33}.cell.focus{background-color:var(--light-accent);color:#fff}body.dark .cell.focus{background-color:var(--dark-accent);color:#000}.calculation-display{font-size:1.2rem;font-weight:700;color:var(--light-accent)}body.dark .calculation-display{color:var(--dark-accent)}.score,.prompt{font-weight:600;color:var(--light-text)}.score{font-size:1.2rem}.prompt{font-size:1.5rem}body.dark .score,body.dark .prompt{color:var(--dark-text)}.word{font-size:2.5rem;font-weight:700;color:var(--light-text);font-family:monospace;background-color:var(--light-panel);padding:1.5rem 2.5rem;border-radius:12px;box-shadow:0 4px 6px #0000001a}body.dark .optionBtn.correct{background-color:var(--dark-accent);color:var(--dark-bg)}body.dark .optionBtn.wrong{background-color:#555}select{width:80%;max-width:300px;padding:.6rem 1rem;font-size:1rem;border-radius:8px;border:2px solid var(--light-accent);background-color:var(--light-panel);color:var(--light-text);transition:all .2s ease;box-shadow:0 1px 3px #0000001a;cursor:pointer}select:hover,select:focus{border-color:var(--light-accent);box-shadow:0 0 8px #ef626c4d;outline:none}body.dark select{background-color:var(--dark-panel);color:var(--dark-text);border-color:var(--dark-accent)}body.dark select:hover,body.dark select:focus{box-shadow:0 0 8px #84dccf4d}input[type=range]{-webkit-appearance:none;appearance:none;width:80%;max-width:300px;height:6px;border-radius:5px;background:linear-gradient(to right,var(--light-accent),rgba(239,98,108,.3));outline:none;transition:background .2s;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--light-accent);box-shadow:0 0 4px #ef626c66;transition:transform .2s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}body.dark input[type=range]{background:linear-gradient(to right,var(--dark-accent),rgba(132,220,207,.3))}body.dark input[type=range]::-webkit-slider-thumb{background:var(--dark-accent);box-shadow:0 0 4px #84dccf66}input[type=range]::-moz-range-track{height:6px;border-radius:5px;background:linear-gradient(to right,var(--light-accent),rgba(239,98,108,.3))}body.dark input[type=range]::-moz-range-track{background:linear-gradient(to right,var(--dark-accent),rgba(132,220,207,.3))}input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--light-accent);border:none;box-shadow:0 0 4px #ef626c66}body.dark input[type=range]::-moz-range-thumb{background:var(--dark-accent);box-shadow:0 0 4px #84dccf66}.opGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem 1rem;width:100%}.opCheck{display:flex;align-items:center;gap:.5rem;font-weight:600;cursor:pointer;color:var(--light-text)}.opCheck input{width:1.15rem;height:1.15rem;accent-color:var(--light-accent);cursor:pointer}.opCheck input:disabled{cursor:default}.opCheck:has(input:disabled){opacity:.55;cursor:default}.settingsHint{font-size:.85rem;opacity:.75;color:var(--light-text)}body.dark .opCheck,body.dark .settingsHint{color:var(--dark-text)}body.dark .opCheck input{accent-color:var(--dark-accent)}.prompt{font-size:1.5rem;font-weight:600;color:var(--light-text)}.word{font-size:2.2rem;font-weight:700;color:var(--light-text);font-family:monospace;background-color:var(--light-panel);padding:1.5rem 2.5rem;border-radius:12px;box-shadow:0 4px 6px #0000001a}.feedback{font-size:1.25rem;font-weight:600}.options{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.optionBtn{font-size:1.5rem;padding:.75rem 1.5rem;border:2px solid var(--light-accent);border-radius:8px;background-color:var(--light-panel);color:var(--light-text);cursor:pointer;transition:all .2s;font-weight:600;min-width:80px}select{width:80%;max-width:300px}.startBtn,.restartBtn{padding:.75rem 2rem;font-size:1.2rem;font-weight:600;border-radius:8px;cursor:pointer;background-color:var(--light-accent);color:#fff;border:none;transition:all .2s}.bonds-wrapper{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:1rem;width:100%;max-width:900px;margin:0 auto;box-sizing:border-box}.bonds-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;width:100%;gap:.75rem}.bonds-title{font-size:1.6rem;font-weight:700;color:var(--light-text);margin:0}body.dark .bonds-title{color:var(--dark-text)}.bonds-select{display:flex;align-items:center;gap:.5rem;font-weight:600}.bonds-select label{color:var(--light-text)}body.dark .bonds-select label{color:var(--dark-text)}.bonds-select select{border:2px solid var(--light-accent);background-color:var(--light-panel);border-radius:8px;padding:.3rem .5rem;font-weight:600;cursor:pointer;color:var(--light-text)}body.dark .bonds-select select{border-color:var(--dark-accent);background-color:var(--dark-panel);color:var(--dark-text)}.bonds-score{font-size:1.1rem;font-weight:600;color:var(--light-text)}body.dark .bonds-score{color:var(--dark-text)}.bonds-prompt{font-size:1.25rem;font-weight:500;color:var(--light-text)}body.dark .bonds-prompt{color:var(--dark-text)}.bonds-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:.75rem;width:100%;max-width:500px;justify-items:center}.bonds-card{perspective:1000px;cursor:pointer}.bonds-card-inner{position:relative;width:clamp(70px,20vw,100px);height:clamp(70px,20vw,100px);transform-style:preserve-3d;transition:transform .4s}.bonds-card.flipped .bonds-card-inner{transform:rotateY(180deg)}.bonds-card-front,.bonds-card-back{position:absolute;width:100%;height:100%;border-radius:12px;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.3rem}.bonds-card-front{background-color:var(--light-panel);border:2px solid var(--light-accent);color:var(--light-accent)}body.dark .bonds-card-front{background-color:var(--dark-panel);border-color:var(--dark-accent);color:var(--dark-accent)}.bonds-card-back{background-color:var(--light-accent);color:#fff;transform:rotateY(180deg)}body.dark .bonds-card-back{background-color:var(--dark-accent);color:var(--dark-bg)}.bonds-card.matched .bonds-card-back{opacity:.7}.bonds-feedback{font-size:1.25rem;font-weight:600}.bonds-feedback.correct{color:var(--light-accent)}.bonds-feedback.wrong{color:#888;animation:shake .3s}body.dark .bonds-feedback.correct{color:var(--dark-accent)}body.dark .bonds-feedback.wrong{color:#aaa}.practice-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.practice-equation{font-size:2rem;font-weight:700;color:var(--light-text);display:flex;align-items:center;justify-content:center;gap:.5rem}body.dark .practice-equation{color:var(--dark-text)}.practice-input{width:60px;font-size:1.8rem;text-align:center;font-weight:700;border:2px solid var(--light-accent);border-radius:8px;padding:.3rem;background:var(--light-panel);color:var(--light-text)}.practice-input:focus{outline:none;border-color:var(--light-accent)}body.dark .practice-input{background:var(--dark-panel);border-color:var(--dark-accent);color:var(--dark-text)}.bonds-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:flex-end;width:100%}.practice-input-group{display:flex;align-items:center;gap:.5rem}.practice-btn{background-color:var(--light-accent);color:#fff;border:none;border-radius:8px;padding:.4rem .8rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.practice-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 5px #0003}.practice-btn:disabled{opacity:.5;cursor:not-allowed}body.dark .practice-btn{background-color:var(--dark-accent);color:var(--dark-bg)}.bonds-custom-input{width:80px;font-weight:600;font-size:1rem;border:2px solid var(--light-accent);border-radius:8px;padding:.25rem .4rem;background-color:var(--light-panel);color:var(--light-text);text-align:center}body.dark .bonds-custom-input{border-color:var(--dark-accent);background-color:var(--dark-panel);color:var(--dark-text)}@media(max-width:480px){.bonds-grid{gap:.6rem}.bonds-header{flex-direction:column;align-items:flex-start}.bonds-controls{justify-content:center}.bonds-title{text-align:center;width:100%}.bonds-card-inner{width:70px;height:70px}}.bonds-notice{margin:0 auto .5rem;max-width:32rem;font-size:.9rem;opacity:.85;color:var(--light-text)}body.dark .bonds-notice{color:var(--dark-text)}.fraction-wrapper{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;width:100%;max-width:600px;margin:0 auto}.fraction-title{font-size:1.6rem;font-weight:700;color:var(--light-text)}body.dark .fraction-title{color:var(--dark-text)}.fraction-prompt{font-size:1.25rem;font-weight:500;color:var(--light-text)}body.dark .fraction-prompt{color:var(--dark-text)}.fraction-bar{display:flex;justify-content:stretch;align-items:stretch;width:100%;max-width:100%;height:auto;flex-wrap:wrap;overflow:hidden;border-radius:8px;box-sizing:border-box;padding:0;gap:4px;padding:0 1rem}.fraction-segment{flex:1;min-width:0;min-height:60px;margin:0;border:2px solid var(--light-accent);border-radius:4px;background:var(--light-panel);cursor:pointer;transition:all .2s ease;box-sizing:border-box}.fraction-segment:hover{transform:scale(1.05)}.fraction-segment.filled{background:var(--light-accent)}body.dark .fraction-segment{border-color:var(--dark-accent);background:var(--dark-panel)}body.dark .fraction-segment.filled{background:var(--dark-accent)}.fraction-btn{background-color:var(--light-accent);color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-weight:600;cursor:pointer;font-size:1rem;transition:all .2s}.fraction-btn:hover{transform:translateY(-1px)}.fraction-btn:disabled{opacity:.6;cursor:not-allowed}body.dark .fraction-btn{background-color:var(--dark-accent);color:var(--dark-bg)}.fraction-feedback{font-size:1.25rem;font-weight:600}.fraction-feedback.correct{color:var(--light-accent)}.fraction-feedback.wrong{color:#888}body.dark .fraction-feedback.correct{color:var(--dark-accent)}body.dark .fraction-feedback.wrong{color:#aaa}@media(max-width:600px){.fraction-bar{gap:2px}.fraction-segment{min-height:45px}}.speak-btn{display:inline-flex;align-items:center;gap:.45rem;min-height:48px;padding:.45rem 1rem;font-size:1rem;font-weight:700;color:var(--ck-text);background:var(--ck-muted);border:2px solid var(--ck-border);border-radius:999px;cursor:pointer}.speak-btn.speak-btn,.speak-btn.is-compact{margin-top:0}.speak-btn.is-compact{min-width:48px;justify-content:center;padding:.45rem}.speak-btn:hover{border-color:var(--ck-accent)}.speak-btn.is-speaking{border-color:var(--ck-accent);box-shadow:0 0 0 3px var(--ck-muted)}.speak-btn:focus-visible{outline:3px solid var(--ck-text);outline-offset:2px}.challenge-hint{max-width:34rem;margin:0 auto 1.2rem;padding:.7rem 1rem;font-size:1.05rem;line-height:1.45;color:var(--ck-text);background:var(--ck-muted);border-left:5px solid var(--ck-accent);border-radius:10px;text-align:left}.english-prompt-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem .9rem;margin-bottom:1.2rem}.english-prompt-row .challenge-prompt{margin:0}.english-focus{margin:0 auto 1.4rem;font-size:clamp(1.35rem,4.5vw,1.8rem);font-weight:700;line-height:1.45;max-width:30ch}.english-focus .english-blank{display:inline-block;min-width:4.5ch;padding:0 .2em;color:var(--ck-accent);border-bottom:4px solid var(--ck-accent)}.english-blank-empty{color:var(--ck-text);opacity:.35}.english-picture{display:block;font-size:3rem;line-height:1;margin-bottom:.6rem}.english-mark{padding:0 .12em;border-radius:6px;background:var(--ck-accent);color:var(--ck-on-accent)}.letter-input{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.4rem}.letter-input-line{min-width:10ch;min-height:1.4em;margin:0;padding:0 .6rem .1rem;font-size:2.1rem;font-weight:700;letter-spacing:.06em;line-height:1.2;border-bottom:4px solid var(--ck-accent)}.letter-input-placeholder{opacity:.3}.letter-keyboard{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.45rem;width:100%;max-width:420px}.letter-input-key.letter-key{margin-top:0;min-height:50px;font-size:1.35rem;font-weight:700;color:var(--ck-text);background:var(--ck-muted);border:2px solid transparent;border-radius:10px;cursor:pointer}.letter-input-key.letter-key:hover:not(:disabled){border-color:var(--ck-border)}.letter-input-key.is-action{grid-column:span 2;font-size:1rem;font-weight:600}.letter-input-key.letter-key:disabled{opacity:.4;cursor:not-allowed}.tile-builder{display:flex;flex-direction:column;align-items:center;gap:1.1rem;margin-bottom:1.4rem}.tile-answer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;min-height:72px;width:100%;max-width:640px;padding:.6rem .8rem;border:3px dashed var(--ck-border);border-radius:14px}.tile-builder.is-letters .tile-answer{gap:.2rem}.tile-answer-empty{opacity:.6}.tile-fixed,.tile-gap{font-size:1.5rem;font-weight:700}.tile-gap{opacity:.4}.tile-tray{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}.tile-answer-slot.tile,.tile-tray-slot.tile{margin-top:0;min-width:52px;min-height:52px;padding:.35rem .9rem;font-size:1.35rem;font-weight:700;color:var(--ck-text);background:var(--ck-muted);border:3px solid var(--ck-border);border-radius:12px;box-shadow:0 2px 5px var(--panel-shadow);cursor:pointer}.tile-answer-slot.is-placed{background:var(--ck-accent);border-color:var(--ck-accent);color:var(--ck-on-accent)}.tile-tray-slot.is-used{opacity:.25;box-shadow:none;cursor:default}.tile-answer-slot.tile:focus-visible,.tile-tray-slot.tile:focus-visible{outline:3px solid var(--ck-text);outline-offset:2px}.word-picker{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .4rem;max-width:640px;margin:0 auto 1.5rem;font-size:clamp(1.2rem,4vw,1.5rem);line-height:1.5}.word-picker-word.word-pick{margin-top:0;min-height:48px;padding:.2rem .55rem;font:inherit;font-weight:600;color:var(--ck-text);background:var(--ck-muted);border:3px solid transparent;border-radius:10px;cursor:pointer}.word-picker-word.word-pick:hover:not(:disabled){border-color:var(--ck-border)}.word-picker-word.selected{background:var(--ck-accent);border-color:var(--ck-accent);color:var(--ck-on-accent)}.word-picker-text{padding:.2rem .1rem}.word-picker .is-hinted{text-decoration:underline 3px var(--ck-accent);text-underline-offset:5px}.word-picker.is-sentences{justify-content:flex-start;max-width:38rem;font-size:1.12rem;text-align:left}.word-picker.is-sentences .word-picker-word{text-align:left;font-weight:500;line-height:1.45}.word-picker.is-gaps{gap:.1rem}.word-picker-run{display:inline-flex;align-items:center}.word-picker-gap.word-gap{margin-top:0;min-width:34px;min-height:48px;padding:0 .15rem;font-size:1.1rem;font-weight:800;color:var(--ck-text);background:transparent;border:2px dashed var(--ck-border);border-radius:8px;cursor:pointer}.word-picker-gap.selected{background:var(--ck-accent);border:2px solid var(--ck-accent);color:var(--ck-on-accent)}.word-picker-word.word-pick:focus-visible,.word-picker-gap.word-gap:focus-visible{outline:3px solid var(--ck-text);outline-offset:2px}.reading-passage{max-width:38rem;margin:0 auto 1.5rem;padding:1rem 1.2rem 1.1rem;text-align:left;font-size:1.12rem;line-height:1.6;background:var(--ck-muted);border-radius:16px}.reading-passage-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.6rem}.reading-passage-title{margin:0;font-size:1.25rem}.reading-passage-body p,.reading-passage-heading{margin:0 0 .7rem}.reading-passage-body p:last-child{margin-bottom:0}.reading-passage-heading{font-size:1.1rem;font-weight:800}.reading-passage-line,.reading-passage-body .reading-passage-line{margin-bottom:.15rem}.reading-passage-label{display:block;margin-bottom:.15rem;font-size:.85rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;opacity:.7}.reading-passage-step{font-weight:800}.reading-passage .is-highlighted{border-radius:6px;box-shadow:0 0 0 3px var(--ck-accent)}.reading-passage.is-letter .reading-passage-body,.reading-passage.is-diary .reading-passage-body{font-style:normal}.sort-bins{display:flex;flex-direction:column;align-items:center;gap:.9rem;margin-bottom:1.4rem}.sort-pile{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;min-height:60px}.sort-pile-empty{align-self:center;opacity:.75}.sort-pile-card.sort-card,.sort-bin-card.sort-card{margin-top:0;min-height:52px;padding:.35rem .9rem;font-size:1.2rem;font-weight:700;color:var(--ck-text);background:var(--ck-panel);border:3px solid var(--ck-border);border-radius:12px;box-shadow:0 2px 5px var(--panel-shadow);cursor:pointer}.sort-pile-card.selected{background:var(--ck-accent);border-color:var(--ck-accent);color:var(--ck-on-accent);transform:translateY(-3px)}.sort-instruction{margin:0;font-size:1rem;opacity:.8}.sort-bin-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;width:100%;max-width:640px}.sort-bin-row.has-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sort-bin{display:flex;flex-direction:column;gap:.5rem;min-height:150px;padding:.5rem;border:3px dashed var(--ck-border);border-radius:14px}.sort-bin-target.sort-bin-label{margin-top:0;min-height:52px;font-size:1.25rem;font-weight:800;color:var(--ck-text);background:var(--ck-muted);border:3px solid transparent;border-radius:10px;cursor:pointer}.sort-bin-target.is-ready{border-color:var(--ck-accent)}.sort-bin-target.sort-bin-label:disabled{cursor:default}.sort-bin-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}.sort-bin-card.sort-card{min-height:44px;padding:.2rem .6rem;font-size:1.05rem}.sort-pile-card.sort-card:focus-visible,.sort-bin-card.sort-card:focus-visible,.sort-bin-target.sort-bin-label:focus-visible{outline:3px solid var(--ck-text);outline-offset:2px}.drag-strip.drag-strip-vertical{flex-direction:column;flex-wrap:nowrap;width:100%;max-width:560px;gap:.6rem}.drag-strip-vertical .drag-card{justify-content:flex-start;min-height:56px;padding:.5rem .9rem;font-size:1.08rem;font-weight:600;line-height:1.4;text-align:left}@media(max-width:480px){.letter-keyboard{gap:.3rem}.letter-input-key.letter-key{min-height:46px;font-size:1.2rem}.sort-bin-row.has-3{grid-template-columns:1fr}.sort-bin{min-height:110px}.reading-passage{padding:.85rem .9rem;font-size:1.05rem}}@media(prefers-reduced-motion:reduce){.sort-pile-card.selected{transform:none}}:root,body.light{--ck-panel: var(--light-panel);--ck-text: var(--light-text);--ck-accent: var(--light-accent);--ck-on-accent: var(--on-light-accent);--ck-muted: rgba(34, 24, 28, .08);--ck-border: rgba(34, 24, 28, .18);--ck-card-edge: rgba(34, 24, 28, .06)}body.dark{--ck-panel: var(--dark-panel);--ck-text: var(--dark-text);--ck-accent: var(--dark-accent);--ck-on-accent: var(--on-dark-accent);--ck-muted: rgba(246, 232, 234, .1);--ck-border: rgba(246, 232, 234, .25);--ck-card-edge: rgba(246, 232, 234, .08)}.challenge-container{max-width:760px;margin:0 auto;padding:clamp(1.25rem,4vw,2.25rem) clamp(1rem,4vw,2.5rem) clamp(1rem,3vw,1.5rem);border-radius:24px;background:var(--ck-panel);color:var(--ck-text);box-shadow:0 0 0 1px var(--ck-card-edge),0 2px 4px var(--panel-shadow),0 16px 36px -12px var(--panel-shadow);text-align:center}.challenge-progress{font-size:.95rem;letter-spacing:.02em;opacity:.75}.challenge-progress-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 1rem}.challenge-progress-row .speak-btn.challenge-read-aloud{margin:0;font-size:.95rem}.challenge-progress-bar{display:flex;gap:8px;max-width:420px;margin:.6rem auto 1.75rem}.challenge-progress-segment{flex:1;height:14px;border-radius:999px;background:var(--ck-muted);box-shadow:inset 0 0 0 1px var(--ck-border);transition:background-color .25s ease,transform .25s ease}.challenge-progress-segment.is-filled{background:var(--ck-accent);box-shadow:none;animation:challenge-segment-fill .42s cubic-bezier(.2,1.6,.5,1)}@keyframes challenge-segment-fill{0%{transform:scaleY(1)}45%{transform:scaleY(1.7)}to{transform:scaleY(1)}}.challenge-feedback{display:flex;align-items:center;justify-content:center;gap:.55rem}.challenge-feedback-icon{display:inline-grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;font-size:1.2rem;font-weight:800}.challenge-feedback-correct .challenge-feedback-icon{background:var(--ck-accent);color:var(--ck-on-accent);animation:challenge-tick-pop .48s cubic-bezier(.2,1.8,.5,1) both}.challenge-feedback-combo{font-weight:800}.challenge-feedback-combo .challenge-feedback-icon{background:var(--ck-accent);color:var(--ck-on-accent);font-size:1.3rem;animation:challenge-combo-pop .62s cubic-bezier(.2,1.9,.5,1) both}@keyframes challenge-combo-pop{0%{transform:scale(.2) rotate(-30deg);opacity:0}60%{transform:scale(1.35) rotate(8deg);opacity:1}to{transform:scale(1) rotate(0)}}.challenge-feedback-bix{display:inline-flex;margin-left:.2rem;animation:challenge-bix-in .42s cubic-bezier(.2,1.6,.5,1) both}@keyframes challenge-bix-in{0%{opacity:0;transform:translateY(12px) scale(.6)}to{opacity:1;transform:none}}.challenge-feedback-wrong .challenge-feedback-icon{background:var(--ck-muted);color:var(--ck-text);box-shadow:inset 0 0 0 2px var(--ck-border)}@keyframes challenge-tick-pop{0%{transform:scale(.2) rotate(-25deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.challenge-progress-segment{transition:none}.challenge-progress-segment.is-filled,.challenge-feedback-correct .challenge-feedback-icon,.challenge-feedback-combo .challenge-feedback-icon,.challenge-feedback-bix{animation:none}}.challenge-title{max-width:34ch;margin:0 auto 1.5rem;font-size:clamp(1.3rem,3.6vw,1.6rem);line-height:1.35;text-wrap:balance}.challenge-prompt{font-size:1.2rem;margin-bottom:1.2rem}.sequence-strip{margin-bottom:1.6rem;font-size:1.9rem;font-weight:700;letter-spacing:.04em;font-variant-numeric:tabular-nums}.feedback{margin-top:1.2rem;font-size:1.15rem;font-weight:600;min-height:1.6em}.choice-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem;margin-bottom:1.6rem}.choice-btn{min-width:84px;min-height:64px;padding:.6rem 1.2rem;font-size:1.5rem;font-weight:700;color:var(--ck-text);background:var(--ck-muted);border:3px solid transparent;border-radius:14px;cursor:pointer;transition:transform .15s ease,border-color .15s ease}.choice-btn:hover:not(:disabled){transform:translateY(-2px)}.choice-btn.selected{border-color:var(--ck-accent);background:var(--ck-accent);color:var(--ck-on-accent)}.choice-btn:disabled{opacity:.6;cursor:not-allowed}.choice-grid.wordy .choice-btn{font-size:1.05rem;line-height:1.3;max-width:15rem}.number-line{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.9rem;margin-bottom:1.6rem}.number-cell{display:flex;align-items:center;justify-content:center;min-width:64px;min-height:64px;padding:.4rem;font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ck-text);background:var(--ck-muted);border:3px solid transparent;border-radius:12px}.number-cell.highlight{border-color:var(--ck-accent);background:var(--ck-accent);color:var(--ck-on-accent)}.number-line.dense{gap:.4rem}.number-line.dense .number-cell{min-width:44px;min-height:48px;font-size:1.05rem}.number-cell.gap{cursor:pointer;border-style:dashed;border-color:var(--ck-border);background:transparent}.number-cell.gap.filled{background:var(--ck-muted);border-style:solid}.number-cell.gap.active{border-color:var(--ck-accent);border-style:solid}.number-line.captioned .number-cell{flex-direction:column;gap:.2rem;min-width:88px;min-height:72px}.number-cell-caption{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.75}.machine{display:inline-grid;grid-template-columns:auto auto auto;align-items:center;gap:.5rem 1rem;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}.machine-arrow{opacity:.55}.machine-out.unknown{color:var(--ck-accent)}.blocks{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:1.4rem;margin-bottom:1.5rem}.blocks-group{display:flex;align-items:flex-end;gap:.4rem}.block-ten{width:22px;height:92px;background:var(--ck-accent);border-radius:4px}.block-one{width:22px;height:22px;background:var(--ck-accent);border-radius:4px;opacity:.75}.array-grid{display:inline-flex;flex-direction:column;gap:min(.5rem,1.5vw);max-width:100%;margin-bottom:1.5rem;padding:.8rem min(1rem,3vw);border:3px solid var(--ck-border);border-radius:14px}.array-row{display:flex;gap:min(.5rem,1.5vw)}.array-dot{width:min(26px,5.5vw);height:min(26px,5.5vw);border-radius:50%;background:var(--ck-accent)}.fact-triangle{width:190px;margin:0 auto 1.5rem;font-size:1.65rem;font-weight:800;font-variant-numeric:tabular-nums}.fact-triangle-line{width:0;height:0;margin:.2rem auto;border-left:82px solid transparent;border-right:82px solid transparent;border-bottom:78px solid var(--ck-muted);filter:drop-shadow(0 0 1px var(--ck-border))}.fact-triangle-top{margin-bottom:-3.7rem;position:relative;z-index:1}.fact-triangle-factors{display:flex;justify-content:space-between;align-items:center;margin-top:-2.3rem;padding:0 .25rem;position:relative;z-index:1}.fact-triangle-times{opacity:.55;font-size:1.15rem}.fact-triangle-value{display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:52px;border-radius:50%;background:var(--ck-panel);border:3px solid var(--ck-border)}.fact-triangle-value.hidden{color:var(--ck-on-accent);background:var(--ck-accent);border-color:var(--ck-accent)}.partition-board{margin:0 auto 1.5rem;max-width:430px;font-variant-numeric:tabular-nums}.partition-heading{display:inline-block;padding:.5rem 1rem;border-radius:12px;background:var(--ck-muted);font-size:1.65rem;font-weight:800}.partition-arrow{font-size:1.5rem;color:var(--ck-accent)}.partition-cells{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.partition-cell{min-height:86px;padding:.7rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;color:var(--ck-text);background:var(--ck-muted);border:3px solid transparent;border-radius:12px;font:inherit;font-size:1.35rem;margin-top:0}button.partition-cell{cursor:pointer}.partition-cell.active{border-color:var(--ck-accent)}.partition-cell-label{font-size:.95rem;font-weight:700}.partition-total{margin-top:.8rem;font-size:1.35rem;font-weight:800}.short-multiply{width:210px;margin:0 auto 1.4rem;font-size:1.8rem;font-weight:700;font-variant-numeric:tabular-nums}.short-multiply-row{display:grid;grid-template-columns:1.5rem repeat(3,2.8rem);justify-content:center;align-items:center}.short-multiply-row.operand{padding-bottom:.25rem}.short-multiply-rule{height:3px;margin:0 auto .35rem;background:var(--ck-text);border-radius:2px}.short-multiply-slot{min-width:2.6rem;min-height:52px;margin-top:0;padding:.1rem;border:3px dashed var(--ck-border);border-radius:9px;color:var(--ck-text);background:transparent;font:inherit;cursor:pointer}.short-multiply-slot.active{border-style:solid;border-color:var(--ck-accent)}.short-multiply-slot.filled{border-style:solid}.double-chain{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.double-chain-step{min-width:92px;padding:.7rem;background:var(--ck-muted);border-radius:12px;font-weight:800}.double-chain-arrow{color:var(--ck-accent);font-weight:800}.share-groups{display:grid;grid-template-columns:repeat(4,minmax(56px,1fr));gap:.65rem;max-width:430px;margin:0 auto 1rem}.share-group{min-height:66px;display:flex;align-items:center;justify-content:center;padding:.35rem;border:3px solid var(--ck-border);border-radius:12px;font-size:.9rem;letter-spacing:.08em;overflow-wrap:anywhere}.deal-btn{min-height:52px;margin-top:0;padding:.5rem 1rem;border:2px solid var(--ck-accent);border-radius:12px;color:var(--ck-text);background:var(--ck-muted);font-size:1rem;font-weight:800;cursor:pointer}.scale-comparison{margin:0 auto 1.5rem;max-width:520px;text-align:left}.scale-row{display:grid;grid-template-columns:7rem 1fr;align-items:center;gap:.7rem;margin:.65rem 0}.scale-row-label{font-weight:700;text-align:right}.scale-bar{min-width:42px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:10px;color:var(--ck-on-accent);background:var(--ck-accent);font-weight:800}.scale-bar.base{background:color-mix(in srgb,var(--ck-accent) 65%,var(--ck-panel))}.correspondence-board{margin:0 auto 1.4rem;max-width:520px}.correspondence-key{margin:0 0 .7rem;font-size:.95rem}.correspondence-grid{display:grid;grid-template-columns:58px repeat(var(--correspondence-columns),minmax(58px,1fr));gap:.45rem;align-items:stretch}.correspondence-heading,.correspondence-corner{min-height:52px;display:flex;align-items:center;justify-content:center;font-size:1.7rem}.correspondence-corner{font-size:1rem;opacity:.55}.correspondence-pair{min-height:58px;margin-top:0;padding:.25rem;border:3px solid var(--ck-border);border-radius:10px;color:var(--ck-text);background:var(--ck-muted);font-size:1.3rem;font-weight:800;cursor:pointer}.correspondence-pair.selected{border-color:var(--ck-accent);color:var(--ck-on-accent);background:var(--ck-accent)}.equation-display{margin:0 auto 1.4rem;font-size:clamp(1.45rem,5vw,2rem);font-weight:800;font-variant-numeric:tabular-nums}.known-fact{margin:0 auto .65rem;color:var(--ck-text);font-size:1.1rem}@media(max-width:520px){.share-groups{grid-template-columns:repeat(2,minmax(56px,1fr))}.scale-row{grid-template-columns:5.5rem 1fr}.scale-row-label{font-size:.85rem}.correspondence-grid{grid-template-columns:48px repeat(var(--correspondence-columns),minmax(48px,1fr));gap:.3rem}.correspondence-heading,.correspondence-corner{min-height:44px;font-size:1.35rem}.correspondence-pair{min-height:50px}}.fraction-bar{display:flex;width:min(420px,100%);height:76px;margin:0 auto 1.5rem;border:3px solid var(--ck-border);border-radius:12px;overflow:hidden}.fraction-part{flex:1;border-right:3px solid var(--ck-border)}.fraction-part:last-child{border-right:none}.fraction-part.shaded{background:var(--ck-accent)}.scale{margin:0 auto 1.6rem}.scale-track{position:relative;background:var(--ck-muted);border:3px solid var(--ck-border);border-radius:10px}.scale-horizontal .scale-track{width:min(460px,100%);height:56px;margin:0 auto 2.4rem}.scale-vertical .scale-track{width:74px;height:260px;margin:0 auto 1rem}.scale-fill{position:absolute;background:var(--ck-accent);opacity:.35}.scale-horizontal .scale-fill{left:0;top:0;bottom:0}.scale-vertical .scale-fill{bottom:0;left:0;right:0}.scale-tick{position:absolute}.scale-horizontal .scale-tick{top:0;bottom:0;width:2px;background:var(--ck-border);transform:translate(-1px)}.scale-horizontal .scale-tick.minor{top:50%;background:color-mix(in srgb,var(--ck-text) 45%,transparent)}.scale-vertical .scale-tick{left:0;right:0;height:2px;background:var(--ck-border);transform:translateY(1px)}.scale-vertical .scale-tick.minor{left:50%;background:color-mix(in srgb,var(--ck-text) 45%,transparent)}.scale-tick-label{position:absolute;font-size:.85rem;font-variant-numeric:tabular-nums;opacity:.8;white-space:nowrap}.scale-horizontal .scale-tick-label{top:100%;left:50%;transform:translate(-50%);padding-top:.3rem}.scale-vertical .scale-tick-label{left:100%;top:50%;transform:translateY(-50%);padding-left:.4rem}.scale-pointer{position:absolute;background:var(--ck-accent);border-radius:3px}.scale-horizontal .scale-pointer{top:-10px;bottom:-10px;width:6px;transform:translate(-3px)}.scale-vertical .scale-pointer{left:-10px;right:-10px;height:6px;transform:translateY(3px)}.scale-unit{font-size:1rem;font-weight:600;opacity:.85}.scale.jug .scale-track,.scale.thermometer .scale-track{border-radius:10px 10px 22px 22px}.scale-interactive .scale-track{cursor:pointer;touch-action:none}.scale-interactive .scale-track:focus-visible{outline:3px solid var(--ck-accent);outline-offset:4px}.scale-pointer.draggable{box-shadow:0 0 0 3px var(--ck-panel)}.scale-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.6rem}.scale-step-btn{min-width:56px;min-height:48px;font-size:1.1rem;font-weight:700;color:var(--ck-text);background:var(--ck-muted);border:2px solid transparent;border-radius:10px;cursor:pointer}.scale-step-btn:hover:not(:disabled){border-color:var(--ck-border)}.scale-step-btn:disabled{opacity:.4;cursor:not-allowed}.scale-readout{min-width:110px;font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums}.coin-tray{margin-bottom:1.5rem}.coin-row,.coin-picked{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem}.coin-picked{min-height:72px;align-items:center;margin-top:1.1rem;padding:.6rem;border:3px dashed var(--ck-border);border-radius:14px}.coin{min-width:62px;min-height:62px;padding:.3rem;font-size:.95rem;font-weight:700;color:var(--ck-text);background:var(--ck-muted);border:3px solid var(--ck-border);border-radius:50%;cursor:pointer}.coin-1,.coin-2{background:#c98a5e;color:#22181c}.coin-100,.coin-200{background:#d9bd72;color:#22181c}.coin.picked{border-style:solid;border-color:var(--ck-accent)}.coin:disabled{opacity:.5;cursor:not-allowed}.coin-empty{opacity:.65}.coin-total{margin-top:1rem;font-size:1.2rem}.coin-total.matched{color:var(--ck-accent);font-weight:700}.clock-face{position:relative;width:min(250px,72vw);aspect-ratio:1;margin:0 auto 1.4rem}.clock-face .clock-wrapper{width:100%;margin:0}.clock-hour-label{position:absolute;transform:translate(-50%,-50%);font-size:1rem;font-weight:700;pointer-events:none}.time-setter{display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem;margin-bottom:1.4rem}.time-setter-group{display:flex;align-items:center;gap:.6rem}.time-setter-value{min-width:52px;font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums}.time-setter-label{font-size:.95rem;opacity:.75}.mixed-unit-builder{max-width:500px;margin:0 auto 1.5rem}.mixed-unit-equivalence{margin:0 0 .7rem;font-weight:700}.mixed-unit-visual{display:flex;justify-content:center;gap:.45rem;min-height:42px;margin-bottom:1rem}.mixed-unit-whole,.mixed-unit-part{width:76px;min-height:38px;overflow:hidden;border:3px solid var(--ck-border);border-radius:9px;background:var(--ck-muted)}.mixed-unit-whole{background:var(--ck-accent)}.mixed-unit-part span{display:block;height:100%;min-height:38px;background:var(--ck-accent)}.mixed-unit-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.mixed-unit-control{display:grid;grid-template-columns:54px minmax(74px,1fr) 54px;align-items:center;gap:.35rem}.mixed-unit-control .mixed-unit-step{min-width:54px;min-height:54px;margin-top:0;border:2px solid var(--ck-border);border-radius:10px;color:var(--ck-text);background:var(--ck-muted);font-size:1.4rem;font-weight:800;cursor:pointer}.mixed-unit-value{min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;background:var(--ck-muted)}.mixed-unit-value strong{font-size:1.55rem}.mixed-unit-value small{font-size:.85rem;font-weight:700}.measure-compare{display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:center;gap:.6rem;max-width:520px;margin:0 auto 1.4rem;font-size:1.25rem}.measure-compare strong{min-height:68px;display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:12px;background:var(--ck-muted)}.measure-compare-gap{font-size:1.8rem;font-weight:800;color:var(--ck-accent)}.trace-side-btn{min-height:52px;margin-top:0;padding:.55rem 1rem;border:2px solid var(--ck-accent);border-radius:12px;color:var(--ck-text);background:var(--ck-muted);font-size:1rem;font-weight:800;cursor:pointer}.duration-timeline{display:grid;grid-template-columns:auto minmax(70px,1fr) auto;align-items:center;gap:.7rem;max-width:480px;margin:0 auto 1.5rem}.duration-timeline>span{min-width:82px;display:flex;flex-direction:column;gap:.15rem;padding:.65rem;border:3px solid var(--ck-border);border-radius:12px;background:var(--ck-muted)}.duration-timeline strong{font-size:1.25rem;font-variant-numeric:tabular-nums}.duration-timeline small{font-weight:700;opacity:.7}.duration-timeline i{position:relative;height:4px;border-radius:999px;background:var(--ck-accent)}.duration-timeline i:after{content:"";position:absolute;right:-2px;top:50%;width:12px;height:12px;border-top:4px solid var(--ck-accent);border-right:4px solid var(--ck-accent);transform:translateY(-50%) rotate(45deg)}@media(max-width:520px){.mixed-unit-controls,.measure-compare{grid-template-columns:1fr}.measure-compare-gap{min-height:40px}.duration-timeline{grid-template-columns:auto 1fr auto;gap:.35rem}.duration-timeline>span{min-width:64px;padding:.45rem}}.shape-figure,.solid-figure{display:block;width:min(210px,62vw);height:auto;margin:0 auto 1.5rem}.shape-outline{fill:var(--ck-accent);fill-opacity:.35;stroke:var(--ck-accent);stroke-width:4;stroke-linejoin:round}.shape-outline.guide{fill:var(--ck-muted);fill-opacity:.35;stroke:var(--ck-border);stroke-width:3;stroke-dasharray:7 6}.shape-edge{stroke:var(--ck-accent);stroke-width:6;stroke-linecap:round;animation:shape-edge-draw .3s ease-out}.shape-edge.highlighted{stroke-width:9;filter:drop-shadow(0 0 2px var(--ck-panel))}@keyframes shape-edge-draw{0%{opacity:0}to{opacity:1}}.shape-vertex{fill:var(--ck-text)}.shape-symmetry-line{stroke:var(--ck-text);stroke-width:3;stroke-dasharray:8 6;opacity:.75}.solid-face{fill:var(--ck-accent);fill-opacity:.28;stroke:var(--ck-accent);stroke-width:3.5;stroke-linejoin:round}.solid-edge{fill:none;stroke:var(--ck-accent);stroke-width:3.5;stroke-linecap:round}.solid-hidden{fill:none;stroke:var(--ck-accent);stroke-width:2.5;stroke-dasharray:6 5;opacity:.55}.pattern-strip{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;margin-bottom:1.6rem}.pattern-cell{width:66px;height:66px;display:flex;align-items:center;justify-content:center;border-radius:12px}.pattern-cell .shape-figure,.orientation-option .shape-figure,.pattern-cell .solid-figure{width:54px;margin:0}.pattern-cell.gap{border:3px dashed var(--ck-border)}.pattern-question{font-size:1.8rem;font-weight:700;color:var(--ck-accent)}.orientation-row{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem;margin-bottom:1.6rem}.orientation-option{width:92px;height:92px;display:flex;align-items:center;justify-content:center;background:var(--ck-muted);border:3px solid transparent;border-radius:14px;cursor:pointer}.orientation-option.selected{border-color:var(--ck-accent)}.orientation-option:disabled{opacity:.55;cursor:not-allowed}.orientation-inner{display:flex;align-items:center;justify-content:center}.rotation-dial{margin-bottom:1.5rem}.dial-face{position:relative;width:min(190px,60vw);aspect-ratio:1;margin:0 auto 1rem;border:3px solid var(--ck-border);border-radius:50%}.dial-cross:before,.dial-cross:after{content:"";position:absolute;background:var(--ck-border);opacity:.6}.dial-cross:before{left:50%;top:6%;bottom:6%;width:2px;transform:translate(-1px)}.dial-cross:after{top:50%;left:6%;right:6%;height:2px;transform:translateY(-1px)}.dial-arrow{position:absolute;left:50%;top:50%;width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-bottom:62px solid var(--ck-accent);transform-origin:50% 100%;margin:-62px 0 0 -14px;transition:transform .45s ease}.dial-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem}.dial-readout{margin-top:.7rem;font-size:1.1rem;font-weight:600}.robot-grid,.position-board{display:grid;gap:4px;width:min(280px,78vw);margin:0 auto 1.5rem}.robot-cell,.position-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--ck-muted);border-radius:8px}.robot-cell.target{border:3px dashed var(--ck-accent)}.robot-flag{font-size:1.5rem;color:var(--ck-accent)}.robot{font-size:1.7rem;color:var(--ck-accent);transition:transform .35s ease}.position-cell.highlight{border:3px solid var(--ck-accent)}.position-object{font-size:1.7rem}@media(prefers-reduced-motion:reduce){.dial-arrow,.robot{transition:none}}.statement{display:flex;justify-content:center;align-items:center;gap:1.2rem;margin-bottom:1.5rem;font-size:2.2rem;font-weight:700;font-variant-numeric:tabular-nums}.statement-slot{display:inline-flex;align-items:center;justify-content:center;min-width:68px;min-height:68px;border:3px dashed var(--ck-border);border-radius:12px;color:var(--ck-accent)}.drag-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem;min-height:84px;width:fit-content;max-width:100%;padding:.9rem 1.1rem;margin:0 auto 1.6rem;border:3px dashed var(--ck-border);border-radius:14px}.drag-card{display:flex;align-items:center;justify-content:center;min-width:68px;min-height:68px;font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ck-text);background:var(--ck-muted);border:3px solid var(--ck-border);border-radius:12px;box-shadow:0 2px 6px var(--panel-shadow);cursor:grab;-webkit-user-select:none;user-select:none}.drag-card.dragging{transform:rotate(-3deg)}.drag-card:focus-visible{outline:3px solid var(--ck-text);outline-offset:2px}.number-input{display:flex;flex-direction:column;align-items:center;gap:1.1rem;margin-bottom:1.4rem}.number-input-label{display:flex;flex-direction:column;align-items:center;gap:.45rem}.number-input-caption{font-size:1.05rem;opacity:.8}.number-input-field{width:120px;padding:.1rem .6rem .15rem;font-size:2.1rem;font-weight:700;line-height:1.15;text-align:center;font-variant-numeric:tabular-nums;color:var(--ck-text);background:transparent;border:none;border-bottom:4px solid var(--ck-border);border-radius:0}.number-input-field::placeholder{color:var(--ck-text);opacity:.3}.number-input-field:focus{outline:none;border-bottom-color:var(--ck-accent)}.keypad{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.6rem;max-width:430px;width:100%}.keypad-btn{min-height:54px;font-size:1.3rem;font-weight:700;color:var(--ck-text);background:var(--ck-muted);border:2px solid transparent;border-radius:10px;cursor:pointer}.keypad-btn:hover:not(:disabled){border-color:var(--ck-border)}.keypad-btn.action{font-size:.95rem;font-weight:600}.keypad-btn:disabled{opacity:.4;cursor:not-allowed}.submit-btn{min-height:56px;padding:.7rem 2.2rem;font-size:1.15rem;font-weight:700;color:var(--ck-on-accent);background:var(--ck-accent);border:none;border-radius:12px;cursor:pointer}.submit-btn:disabled{opacity:.55;cursor:not-allowed}@media(prefers-reduced-motion:reduce){.choice-btn,.drag-card{transition:none}.choice-btn:hover:not(:disabled){transform:none}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pictogram,.tally-chart,.block-diagram,.data-table,.survey-tray{margin:0 auto 1.6rem}.pictogram-key{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1rem;padding:.45rem .9rem;font-size:1.05rem;font-weight:600;background:var(--ck-muted);border:2px solid var(--ck-border);border-radius:10px}.pictogram-table,.tally-chart{margin:0 auto;border-collapse:collapse}.pictogram-table th,.tally-chart th{padding:.5rem 1rem .5rem 0;font-size:1.1rem;font-weight:600;text-align:right;white-space:nowrap}.pictogram-symbols{padding:.35rem 0;text-align:left;white-space:nowrap}.pictogram-symbol{font-size:1.7rem;line-height:1.2}.pictogram-symbols .pictogram-symbol{margin-right:.35rem}.pictogram-empty{font-size:.95rem;font-style:italic;opacity:.55}.pictogram-table tr.highlight th,.pictogram-table tr.highlight td,.tally-chart tr.highlight th,.tally-chart tr.highlight td{background:var(--ck-muted)}.pictogram-controls{padding-left:.8rem;white-space:nowrap}.chart-step-btn{width:46px;height:46px;margin-left:.35rem;font-size:1.4rem;font-weight:700;color:var(--ck-text);background:var(--ck-muted);border:2px solid var(--ck-border);border-radius:10px;cursor:pointer}.chart-step-btn:hover:not(:disabled){border-color:var(--ck-accent)}.chart-step-btn:disabled{opacity:.35;cursor:not-allowed}.tally-marks{padding:.45rem 0;text-align:left;white-space:nowrap}.tally-group{position:relative;display:inline-block;height:34px;margin-right:1.1rem}.tally-mark{display:inline-block;width:3px;height:34px;margin-right:5px;background:var(--ck-text);border-radius:2px}.tally-mark.across{position:absolute;top:15px;left:-3px;width:38px;height:3px;margin:0;transform:rotate(-20deg)}.tally-count{padding-left:.8rem;font-size:1.05rem;font-weight:700;text-align:left;font-variant-numeric:tabular-nums}.tally-chart .tally-marks{width:240px}.block-diagram{display:flex;justify-content:center;gap:.6rem}.block-axis{display:flex;flex-direction:column;justify-content:space-between;padding-bottom:1.9rem;font-size:.9rem;font-variant-numeric:tabular-nums;opacity:.75}.block-tick{height:0;line-height:0}.block-columns{display:flex;align-items:flex-end;gap:.7rem}.block-column{display:flex;flex-direction:column;align-items:center}.block-stack{display:flex;flex-direction:column;border-bottom:3px solid var(--ck-border)}.block-slot{display:block;width:54px;height:26px;padding:0;background:transparent;border:1px solid var(--ck-border);border-bottom:none}.block-stack .block-slot{margin-top:0}button.block-slot{cursor:pointer}button.block-slot:hover:not(:disabled){background:var(--ck-muted)}.block-slot.filled{background:var(--ck-accent);border-color:var(--ck-accent)}button.block-slot.filled:hover:not(:disabled){opacity:.85}.block-label{margin-top:.55rem;font-size:1rem;font-weight:600}.block-column.highlight .block-label{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:4px}.data-table{border-collapse:collapse}.data-caption{margin-bottom:.7rem;font-size:1.05rem;font-weight:600}.data-table th,.data-table td{min-width:78px;padding:.6rem .9rem;font-size:1.1rem;font-variant-numeric:tabular-nums;border:2px solid var(--ck-border)}.data-table thead th,.data-table tbody th{font-weight:700;background:var(--ck-muted)}.data-corner{border:none}.data-table th.highlight,.data-table td.highlight{color:var(--ck-on-accent);background:var(--ck-accent)}.data-table td.blank{font-weight:700;border-style:dashed;border-color:var(--ck-accent)}.survey-tray{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.3rem;max-width:520px;padding:1.1rem;background:var(--ck-muted);border:2px dashed var(--ck-border);border-radius:14px}.survey-item{width:52px;height:52px;font-size:1.8rem;line-height:52px;text-align:center;background:transparent;border:2px solid transparent;border-radius:50%}.survey-tray .survey-item,.pictogram-controls .chart-step-btn{margin-top:0}button.survey-item{cursor:pointer}button.survey-item:hover:not(:disabled){border-color:var(--ck-border)}.survey-item.counted{background:var(--ck-panel);border-color:var(--ck-accent);opacity:.55}@media(max-width:560px){.block-slot{width:38px;height:22px}.data-table th,.data-table td{min-width:0;padding:.45rem .55rem;font-size:1rem}}.pv-blocks{display:flex;justify-content:center;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin:1rem 0}.pv-column{flex:1 1 8rem;min-width:7.5rem;padding:.6rem;border:2px solid var(--ck-border);border-radius:12px;background:var(--ck-muted);transition:border-color .3s,box-shadow .3s}.pv-column.highlight{border-color:var(--ck-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ck-accent) 30%,transparent)}.pv-column.exchanging{animation:pv-exchange .6s ease-in-out}@keyframes pv-exchange{0%,to{transform:scale(1)}40%{transform:scale(1.06)}}.pv-column-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;font-weight:700;color:var(--ck-text)}.pv-place-name{font-size:.85rem;text-transform:capitalize}.pv-place-count{font-size:1.25rem}.pv-pieces{display:flex;flex-wrap:wrap;align-items:flex-end;gap:4px;min-height:3.5rem}.pv-empty{font-size:.8rem;opacity:.6;color:var(--ck-text)}.pv-flat{display:grid;grid-template-columns:repeat(10,1fr);gap:1px;width:3.4rem;height:3.4rem;animation:pv-pop .3s ease-out}.pv-rod{display:grid;grid-template-rows:repeat(10,1fr);gap:1px;width:.65rem;height:3.4rem;animation:pv-pop .3s ease-out}.pv-cube{width:.65rem;height:.65rem;border-radius:2px;background:var(--ck-accent);border:1px solid var(--ck-border);animation:pv-pop .3s ease-out}.pv-cell{background:var(--ck-accent);border-radius:1px}@keyframes pv-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}.pv-controls{display:flex;gap:.4rem;margin-top:.6rem}.pv-controls .pv-step-btn,.bar-chart-controls .bar-step-btn{margin-top:0}.pv-step-btn,.bar-step-btn{flex:1;padding:.35rem;font-size:1.1rem;font-weight:700;line-height:1;border:2px solid var(--ck-border);border-radius:8px;background:var(--ck-panel);color:var(--ck-text);cursor:pointer;transition:transform .15s,background-color .2s}.bar-step-btn{min-width:44px;min-height:46px}.pv-step-btn:hover:not(:disabled),.bar-step-btn:hover:not(:disabled){background:var(--ck-accent);color:var(--ck-on-accent);transform:translateY(-1px)}.pv-step-btn:disabled,.bar-step-btn:disabled{opacity:.4;cursor:not-allowed}.col-sum{display:flex;justify-content:center;margin:1.25rem 0}.col-sum-grid{font-variant-numeric:tabular-nums;font-size:1.8rem;color:var(--ck-text)}.col-sum-row{display:grid;grid-template-columns:1.4rem repeat(3,2.2rem);align-items:center}.col-sum-cell{text-align:center}.col-sum-sign{text-align:center;font-weight:700}.col-sum-marks{height:1.3rem;font-size:.9rem}.col-carry{display:inline-block;color:var(--ck-accent);font-weight:700;animation:col-hop .45s ease-out}@keyframes col-hop{0%{transform:translateY(1.4rem) scale(.7);opacity:0}60%{transform:translateY(-.15rem) scale(1.1);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}.col-exchange{display:inline-block;color:var(--ck-accent);font-weight:700;animation:col-hop .45s ease-out}.col-sum-cell.struck{position:relative;opacity:.55}.col-sum-cell.struck:after{content:"";position:absolute;left:15%;right:15%;top:50%;border-top:2px solid var(--ck-accent);transform:rotate(-12deg)}.col-sum-rule{height:3px;background:var(--ck-text);margin:.25rem 0;border-radius:2px}.col-sum-slot{min-width:2.2rem;padding:.1rem 0;border:2px dashed var(--ck-border);border-radius:8px;background:transparent;color:var(--ck-text);font-size:1.6rem;font-family:inherit;cursor:pointer;margin-top:0}.col-sum-slot.active{border-style:solid;border-color:var(--ck-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ck-accent) 25%,transparent)}.col-sum-slot.filled{border-style:solid;font-weight:700}.angle-explorer{display:block;margin:.5rem auto}.angle-arm{stroke:var(--ck-text);stroke-width:4;stroke-linecap:round}.angle-arm-moving{transition:all .5s ease-in-out}.angle-wedge{fill:color-mix(in srgb,var(--ck-accent) 35%,transparent);transition:d .5s ease-in-out}.angle-compare{fill:none;stroke:var(--ck-border);stroke-width:3;stroke-dasharray:5 4}.angle-right-marker{fill:none;stroke:var(--ck-accent);stroke-width:3;animation:angle-snap .4s ease-out}@keyframes angle-snap{0%{opacity:0;transform:scale(.6);transform-origin:center}to{opacity:1;transform:scale(1)}}.angle-vertex{fill:var(--ck-text)}.angle-gallery,.turn-pair{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.angle-card{min-width:116px;padding:.5rem;border:2px solid var(--ck-border);border-radius:14px;background:var(--ck-muted);font-weight:700}.angle-card .angle-explorer{margin:0 auto}.turn-pair .rotation-dial{width:min(180px,42vw);margin-bottom:0}.turn-pair .dial-face{width:min(130px,34vw)}.shape-trace-count{margin:-.75rem 0 1rem;font-weight:700;color:var(--ck-accent)}.bar-chart{margin:1rem 0}.bar-chart-plot{display:flex;height:13rem}.bar-chart-axis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding-right:.5rem;width:2.2rem;font-size:.8rem;color:var(--ck-text)}.bar-chart-area{position:relative;flex:1;border-left:3px solid var(--ck-text);border-bottom:3px solid var(--ck-text)}.bar-chart-grid{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between}.bar-chart-gridline{border-top:1px dashed var(--ck-border)}.bar-chart-bars{position:absolute;inset:0;display:flex;align-items:flex-end;gap:.6rem;padding:0 .6rem}.bar-chart-column{flex:1;height:100%;display:flex;align-items:flex-end}.bar-chart-bar{width:100%;background:var(--ck-accent);border-radius:6px 6px 0 0;transition:height .45s cubic-bezier(.34,1.4,.64,1)}.bar-chart-labels{display:flex}.bar-chart-axis-spacer{width:2.2rem}.bar-chart-label-row{flex:1;display:flex;gap:.6rem;padding:.4rem .6rem 0}.bar-chart-label{flex:1;text-align:center;font-size:.85rem;color:var(--ck-text)}.bar-chart-controls{display:flex;gap:.25rem;margin-top:.3rem}@media(max-width:480px){.bar-chart-controls{flex-direction:column}}.bar-chart-unit{text-align:center;font-size:.85rem;opacity:.8;color:var(--ck-text)}.perimeter-shape{display:block;margin:.5rem auto;max-width:320px}.perimeter-fill{fill:color-mix(in srgb,var(--ck-accent) 14%,transparent);stroke:none}.perimeter-edge{stroke:var(--ck-border);stroke-width:4;stroke-linecap:round;transition:stroke .3s,stroke-width .3s}.perimeter-edge.traced{stroke:var(--ck-accent);stroke-width:7}.perimeter-length{fill:var(--ck-text);font-size:15px;font-weight:600;paint-order:stroke;stroke:var(--ck-panel);stroke-width:4px;transition:fill .3s}.perimeter-length.traced{fill:var(--ck-accent);font-weight:800}.perimeter-running{fill:var(--ck-text);font-size:26px;font-weight:800}@media(prefers-reduced-motion:reduce){.pv-flat,.pv-rod,.pv-cube,.pv-column.exchanging,.col-carry,.col-exchange,.angle-right-marker,.shape-edge{animation:none}.angle-arm-moving,.angle-wedge,.bar-chart-bar,.perimeter-edge,.perimeter-length{transition:none}}.clue-list{list-style:none;margin:1rem auto 1.4rem;padding:0;max-width:28rem;text-align:left;color:var(--ck-text)}.clue-list li{padding:.45rem .9rem;margin-bottom:.4rem;font-size:1.05rem;background:var(--ck-muted);border-radius:10px}.partition-sentence{text-align:center;font-size:1.6rem;color:var(--ck-text);font-variant-numeric:tabular-nums;margin:1.25rem 0}.partition-gap{display:inline-block;min-width:3rem;padding:0 .4rem;border-bottom:3px solid var(--ck-accent);color:var(--ck-accent);font-weight:800}.chain-jump{font-size:.9rem;font-weight:700;padding:.1rem .5rem;border-radius:999px;background:var(--ck-muted);color:var(--ck-text);white-space:nowrap}.challenge-running{text-align:center;font-size:1.1rem;color:var(--ck-text)}.free-play-page{padding:1.5rem 1.25rem 3rem;text-align:center;color:var(--light-text)}body.dark .free-play-page{color:var(--dark-text)}.free-play-header{display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:760px;margin:0 auto 1.25rem}.free-play-back{align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;min-height:48px;padding:0 .9rem;border-radius:999px;font-weight:700;color:inherit;text-decoration:none}.free-play-back:hover{background:var(--ck-muted)}.free-play-back:focus-visible{outline:3px solid var(--ck-accent);outline-offset:2px}.free-play-title{font-size:clamp(1.6rem,5vw,2.1rem);line-height:1.2}.free-play-intro{max-width:36rem;font-size:1.05rem;line-height:1.45;opacity:.85}.free-play-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.9rem;margin-bottom:1.4rem}.free-play-levels{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--ck-muted)}.free-play-levels .free-play-level{min-height:48px;min-width:48px;margin-top:0;padding:0 1rem;border:none;border-radius:999px;font:inherit;font-size:1rem;font-weight:700;color:var(--ck-text);background:transparent;cursor:pointer}.free-play-levels .free-play-level:hover:not(.is-active){background:var(--ck-border)}.free-play-levels .free-play-level.is-active{color:var(--ck-on-accent);background:var(--ck-accent)}.free-play-levels .free-play-level:focus-visible{outline:3px solid var(--ck-text);outline-offset:2px}.free-play-stars{display:inline-flex;align-items:center;gap:6px}.free-play-pip{width:16px;height:16px;border-radius:50%;background:var(--ck-muted);box-shadow:inset 0 0 0 2px var(--ck-border);transition:background-color .25s ease,transform .25s ease}.free-play-pip.is-filled{background:var(--ck-accent);box-shadow:none;animation:free-play-pip-pop .38s cubic-bezier(.2,1.6,.5,1)}@keyframes free-play-pip-pop{0%{transform:scale(1)}50%{transform:scale(1.45)}to{transform:scale(1)}}.free-play-star-count{margin-left:.35rem;font-weight:800;font-variant-numeric:tabular-nums}.free-play-prompt-row{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.2rem}.free-play-prompt-row .free-play-prompt{margin-bottom:0;font-size:clamp(1.2rem,3.6vw,1.45rem);font-weight:700;line-height:1.35;text-wrap:balance}.free-play-prompt:focus{outline:none}.free-play-prompt:focus-visible{outline:3px solid var(--ck-accent);outline-offset:4px;border-radius:6px}.free-play-stage{min-width:0}.free-play-stage .submit-btn{margin-top:.4rem}.free-play-feedback.free-play-milestone{font-size:1.3rem}.free-play-feedback.free-play-milestone .challenge-feedback-icon{width:2.5rem;height:2.5rem;font-size:1.5rem}@media(max-width:520px){.free-play-page{padding:1rem 1rem 2rem}.free-play-toolbar{justify-content:center}.free-play-levels .free-play-level{padding:0 .8rem}}@media(prefers-reduced-motion:reduce){.free-play-pip{transition:none}.free-play-pip.is-filled{animation:none}}.money-match-coins{margin:.5rem auto 1.6rem;max-width:520px}.money-match-coins .money-match-coin{display:inline-flex;align-items:center;justify-content:center;cursor:default;font-size:1.05rem}.robot-moves-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin-bottom:1rem}.robot-moves-buttons .robot-moves-step{min-width:0;font-size:1.1rem}.robot-moves-program{min-height:2.6rem;margin-bottom:.8rem;font-size:1.25rem;line-height:1.4}.robot-moves-empty{font-size:1rem;font-weight:500;opacity:.7}.robot-moves-edit{display:flex;justify-content:center;gap:.7rem;margin-bottom:1.2rem}.robot-moves-edit .scale-step-btn{padding:0 1rem}.chart-detective-figure{max-width:560px;margin:0 auto 1.4rem}.chart-detective-caption{margin-bottom:.7rem;font-size:1.1rem;font-weight:800}.chart-detective-figure .pictogram-symbols,.chart-detective-figure .tally-marks{flex-wrap:wrap}.place-value-digits{display:flex;justify-content:center;gap:.5rem;margin:.4rem auto 1.6rem;font-size:clamp(2.6rem,10vw,3.4rem);font-weight:800;font-variant-numeric:tabular-nums}.place-value-digit{min-width:1.4em;padding:.1em .2em;border:3px solid transparent;border-radius:14px;background:var(--ck-muted)}.place-value-digit.is-asked{border-color:var(--ck-accent)}.wrapper{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem;max-width:600px;margin:0 auto}.score{font-size:1.2rem;font-weight:600;color:var(--light-text)}.prompt{font-size:1.5rem;font-weight:600;color:var(--light-text);margin:0}.word{font-size:3rem;font-weight:700;letter-spacing:.5rem;color:var(--light-text);font-family:monospace;background-color:var(--light-panel);padding:1.5rem 2.5rem;border-radius:12px;box-shadow:0 4px 6px #0000001a}body.dark .word{color:var(--dark-text);background-color:var(--dark-panel)}.feedback{font-size:1.25rem;font-weight:600;margin-top:-.5rem}.feedback.correct{color:var(--light-accent)}.feedback.wrong{color:#888}body.dark .feedback.correct{color:var(--dark-accent)}body.dark .feedback.wrong{color:#aaa}.options{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.optionBtn{font-size:1.5rem;padding:.75rem 1.5rem;border:2px solid var(--light-accent);border-radius:8px;background-color:var(--light-panel);color:var(--light-text);cursor:pointer;transition:all .2s;font-weight:600;box-shadow:0 1px 3px #0000001a;min-width:60px}.optionBtn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #ef626c4d}.optionBtn:disabled{cursor:default}body.dark .optionBtn{background-color:var(--dark-panel);border-color:var(--dark-accent);color:var(--dark-text)}body.dark .optionBtn:hover:not(:disabled){box-shadow:0 4px 8px #84dccf4d}.optionBtn.correct{background-color:var(--light-accent);color:#fff;border-color:var(--light-accent);transform:scale(1.05)}body.dark .optionBtn.correct{background-color:var(--dark-accent);color:var(--dark-bg);border-color:var(--dark-accent)}.optionBtn.wrong{background-color:#888;color:#fff;border-color:#888}body.dark .optionBtn.wrong{background-color:#555;color:#fff;border-color:#555}.optionBtn.dimmed{opacity:.4}.sorter-wrapper{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem;max-width:800px;margin:0 auto}.sorter-score{font-size:1.2rem;font-weight:600;color:var(--light-text)}body.dark .sorter-score{color:var(--dark-text)}.sorter-prompt{margin:0;font-size:1.5rem;font-weight:600;color:var(--light-text)}body.dark .sorter-prompt{color:var(--dark-text)}.word-bank{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;background-color:var(--light-panel);padding:1rem;border-radius:12px;min-height:80px}body.dark .word-bank{background-color:var(--dark-panel)}.word-tile{background-color:var(--light-panel);border:2px solid var(--light-accent);border-radius:8px;padding:.5rem 1rem;font-weight:600;cursor:grab;color:var(--light-text);transition:all .2s;display:flex;justify-content:center;align-items:center}.word-tile:hover{transform:scale(1.05)}body.dark .word-tile{background-color:var(--dark-panel);border-color:var(--dark-accent);color:var(--dark-text)}.word-tile.small{font-size:.9rem;cursor:default}.bucket-area{width:100%;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.bucket{flex:1 1 200px;min-height:120px;background-color:var(--light-panel);border:3px dashed var(--light-accent);border-radius:12px;padding:1rem;text-align:center;transition:background .3s;display:flex;flex-flow:column;gap:1rem}body.dark .bucket{background-color:var(--dark-panel);border-color:var(--dark-accent)}.bucket-title{font-weight:700;margin-bottom:.5rem;color:var(--light-text)}body.dark .bucket-title{color:var(--dark-text)}.sorter-feedback{font-size:1.25rem;font-weight:600}.sorter-feedback.correct{color:var(--light-accent)}.sorter-feedback.wrong{color:#888}body.dark .sorter-feedback.correct{color:var(--dark-accent)}body.dark .sorter-feedback.wrong{color:#aaa}.sorter-newBtn{padding:.7rem 1.5rem;font-size:1rem;font-weight:600;border-radius:10px;border:2px solid var(--light-accent);background-color:var(--light-panel);color:var(--light-text);cursor:pointer;transition:all .2s}.sorter-newBtn:hover:not(:disabled){background-color:var(--light-accent);color:#fff;transform:translateY(-2px)}.sorter-newBtn:disabled{opacity:.5;cursor:default}body.dark .sorter-newBtn{border-color:var(--dark-accent);background-color:var(--dark-panel);color:var(--dark-text)}body.dark .sorter-newBtn:hover:not(:disabled){background-color:var(--dark-accent);color:var(--dark-bg)}.sentence-wrapper{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem;max-width:700px;margin:0 auto;text-align:center}.sentence-score{font-size:1.2rem;font-weight:600;color:var(--light-text)}body.dark .sentence-score{color:var(--dark-text)}.sentence-prompt{font-size:1.5rem;font-weight:600;color:var(--light-text)}body.dark .sentence-prompt{color:var(--dark-text)}.sentence-area{background-color:var(--light-panel);padding:1rem 1.5rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;min-height:100px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap}body.dark .sentence-area{background-color:var(--dark-panel)}.word-container{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.word-chip{background-color:var(--light-panel);border:2px solid var(--light-accent);border-radius:8px;padding:.5rem 1rem;cursor:grab;-webkit-user-select:none;user-select:none;font-size:1.1rem;font-weight:600;transition:all .2s ease;color:var(--light-text)}body.dark .word-chip{background-color:var(--dark-panel);border-color:var(--dark-accent);color:var(--dark-text)}.word-chip.correct{background-color:var(--light-accent);color:#fff;border-color:var(--light-accent)}body.dark .word-chip.correct{background-color:var(--dark-accent);color:var(--dark-bg)}.word-chip.wrong{background-color:#888;color:#fff;border-color:#888}body.dark .word-chip.wrong{background-color:#555;color:#fff;border-color:#555}.sentence-feedback{font-size:1.25rem;font-weight:600}.sentence-feedback.correct{color:var(--light-accent)}.sentence-feedback.wrong{color:#888}body.dark .sentence-feedback.correct{color:var(--dark-accent)}body.dark .sentence-feedback.wrong{color:#aaa}.check-btn{font-size:1.2rem;padding:.5rem 1.25rem;border-radius:8px;border:2px solid var(--light-accent);background-color:var(--light-panel);color:var(--light-text);cursor:pointer;font-weight:600;transition:all .2s ease}.check-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #ef626c4d}.check-btn:disabled{opacity:.6;cursor:default}body.dark .check-btn{background-color:var(--dark-panel);border-color:var(--dark-accent);color:var(--dark-text)}body.dark .check-btn:hover:not(:disabled){box-shadow:0 4px 8px #84dccf4d}.sentence-settings{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:380px}.sentence-settingsGroup{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}.sentence-settingsGroup label{font-weight:600;color:var(--light-text)}.sentence-settingsGroup input[type=range]{width:100%;accent-color:var(--light-accent);cursor:pointer}.sentence-poolCount{margin:0;font-size:.95rem;opacity:.8;color:var(--light-text)}.sentence-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}body.dark .sentence-settingsGroup label,body.dark .sentence-poolCount{color:var(--dark-text)}body.dark .sentence-settingsGroup input[type=range]{accent-color:var(--dark-accent)}.match-wrapper{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem;max-width:800px;margin:0 auto}.match-score{font-size:1.2rem;font-weight:600;color:var(--light-text)}body.dark .match-score{color:var(--dark-text)}.match-prompt{font-size:1.5rem;font-weight:600;color:var(--light-text)}body.dark .match-prompt{color:var(--dark-text)}.match-area{display:flex;gap:3rem;justify-content:center;flex-wrap:wrap}.left-column,.right-column{display:flex;flex-direction:column;justify-content:space-around;gap:1rem}.word-chip,.drop-zone{background-color:var(--light-panel);border:2px solid var(--light-accent);border-radius:8px;padding:.6rem 1.2rem;font-weight:600;cursor:grab;text-align:center;transition:all .2s ease;min-width:100px}.word-chip:hover{transform:scale(1.05)}.drop-zone{cursor:default}body.dark .word-chip,body.dark .drop-zone{background-color:var(--dark-panel);border-color:var(--dark-accent);color:var(--dark-text)}.word-chip.matched,.drop-zone.matched{background-color:var(--light-accent);border-color:var(--light-accent);color:#fff;cursor:default}body.dark .word-chip.matched,body.dark .drop-zone.matched{background-color:var(--dark-accent);border-color:var(--dark-accent);color:var(--dark-bg)}.drop-zone.hover{background-color:#ef626c33;border-color:var(--light-accent)}body.dark .drop-zone.hover{background-color:#84dccf33}.locked{font-weight:700}.match-feedback{font-size:1.25rem;font-weight:600}.match-feedback.correct{color:var(--light-accent)}.match-feedback.wrong{color:#888;animation:shake .3s}body.dark .match-feedback.correct{color:var(--dark-accent)}body.dark .match-feedback.wrong{color:#aaa}.safari-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:500px;flex-wrap:wrap;gap:1rem}.safari-title{font-size:1.6rem;font-weight:700;color:var(--light-text);margin:0}body.dark .safari-title{color:var(--dark-text)}.difficulty-select{display:flex;align-items:center;gap:.5rem;font-weight:600}.difficulty-select label{color:var(--light-text)}body.dark .difficulty-select label{color:var(--dark-text)}.difficulty-select select{border:2px solid var(--light-accent);background-color:var(--light-panel);border-radius:8px;padding:.3rem .5rem;font-weight:600;cursor:pointer}body.dark .difficulty-select select{border-color:var(--dark-accent);background-color:var(--dark-panel);color:var(--dark-text)}.safari-wrapper{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem;max-width:800px;margin:0 auto}.safari-score{font-size:1.1rem;font-weight:600;color:var(--light-text)}body.dark .safari-score{color:var(--dark-text)}.safari-prompt{font-size:1.5rem;font-weight:600;color:var(--light-text)}body.dark .safari-prompt{color:var(--dark-text)}.safari-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem;max-width:500px}.safari-card{perspective:1000px;cursor:pointer}.safari-card-inner{position:relative;width:100px;height:100px;text-align:center;transform-style:preserve-3d;transition:transform .5s}.safari-card.flipped .safari-card-inner{transform:rotateY(180deg)}.safari-card-front,.safari-card-back{position:absolute;width:100%;height:100%;border-radius:12px;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.safari-card-front{background-color:var(--light-panel);border:2px solid var(--light-accent);color:var(--light-accent)}body.dark .safari-card-front{background-color:var(--dark-panel);border-color:var(--dark-accent);color:var(--dark-accent)}.safari-card-back{background-color:var(--light-accent);color:#fff;transform:rotateY(180deg)}body.dark .safari-card-back{background-color:var(--dark-accent);color:var(--dark-bg)}.safari-card.matched .safari-card-back{opacity:.7}.safari-feedback{font-size:1.25rem;font-weight:600}.safari-feedback.correct{color:var(--light-accent)}.safari-feedback.wrong{color:#888;animation:shake .3s}body.dark .safari-feedback.correct{color:var(--dark-accent)}body.dark .safari-feedback.wrong{color:#aaa}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.wrapper{display:flex;flex-direction:column;align-items:center;gap:1.6rem;padding:2rem;max-width:600px;margin:0 auto;overflow:hidden}.score{font-size:1.1rem;font-weight:600;color:var(--light-text);text-align:center}body.dark .score{color:var(--dark-text)}.prompt{font-size:1.4rem;font-weight:600;color:var(--light-text);text-align:center}body.dark .prompt{color:var(--dark-text)}.instructions{font-size:1rem;color:var(--light-text);text-align:center;opacity:.85}body.dark .instructions{color:var(--dark-text)}.targetWord{color:var(--light-accent);font-weight:700}body.dark .targetWord{color:var(--dark-accent)}.settingsGroup{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}.settingsGroup label{font-weight:600;color:var(--light-text)}body.dark .settingsGroup label{color:var(--dark-text)}.settingsGroup input[type=range]{width:80%;max-width:300px}.bubbleField{position:relative;width:100%;--field-h: clamp(260px, 52vh, 440px);height:var(--field-h);overflow:hidden}.bubbleBtn{position:absolute;bottom:calc(-.25 * var(--field-h, 440px));padding:1rem 1.2rem;border-radius:50%;border:3px solid var(--light-accent);background-color:var(--light-panel);color:var(--light-text);font-size:1.15rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;box-shadow:0 2px 6px #0000001a;transition:transform .25s ease,box-shadow .25s ease,opacity .25s ease;animation:floatUp 3s linear forwards;aspect-ratio:1 / 1}.bubbleBtn:hover{transform:scale(1.07)}body.dark .bubbleBtn{background-color:var(--dark-panel);border-color:var(--dark-accent);color:var(--dark-text);box-shadow:0 2px 6px #84dccf26}@keyframes floatUp{0%{transform:translateY(0);opacity:1}85%{transform:translateY(calc(-.98 * var(--field-h, 440px)));opacity:1}to{transform:translateY(calc(-1.05 * var(--field-h, 440px)));opacity:0}}.startBtn,.restartBtn{padding:.75rem 2rem;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;background-color:var(--light-accent);color:#fff;border:none;transition:all .2s}.startBtn:hover,.restartBtn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #ef626c4d}body.dark .startBtn,body.dark .restartBtn{background-color:var(--dark-accent);color:var(--dark-bg)}:root{--reader-backdrop: rgba(34, 24, 28, .72);--reader-surface: var(--light-panel)}body.dark{--reader-backdrop: rgba(10, 6, 8, .82);--reader-surface: var(--dark-panel)}.ro-backdrop{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem;overflow-y:auto;background-color:var(--reader-backdrop);box-sizing:border-box}.ro-panel{position:relative;width:min(56rem,100%);min-height:min(32rem,calc(100dvh - 2rem));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:3.5rem 1.5rem 1.5rem;border-radius:18px;background-color:var(--reader-surface);color:var(--light-text);box-sizing:border-box;box-shadow:0 1rem 3rem #22181c47}body.dark .ro-panel{color:var(--dark-text);box-shadow:0 1rem 3rem #00000073}.ro-close{position:absolute;top:.65rem;right:.65rem;min-width:2.75rem;min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:50%;background:transparent;color:inherit;font:inherit;font-size:1.25rem;line-height:1;cursor:pointer}.ro-close:hover{background-color:var(--map-chip)}.ro-panel:focus-visible,.ro-panel :focus-visible{outline:3px solid var(--light-accent);outline-offset:3px}body.dark .ro-panel:focus-visible,body.dark .ro-panel :focus-visible{outline-color:var(--dark-accent)}@media(max-width:40rem){.ro-backdrop{align-items:stretch;padding:0}.ro-panel{width:100%;min-height:100dvh;padding:3.75rem 1rem 1.25rem;border-radius:0}}@media(max-height:36rem)and (min-width:40.001rem){.ro-backdrop{align-items:flex-start}.ro-panel{min-height:calc(100dvh - 2rem)}}:root{--reader-pivot: #b83243;--reader-success: #237a47;--reader-error: #b83243}body.dark{--reader-pivot: var(--dark-accent);--reader-success: #72d9a1;--reader-error: #ff8997}.sr-page{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-bottom:2rem;text-align:center}.sr-title{font-size:clamp(1.75rem,5vw,2.3rem)}.sr-intro{max-width:34rem;font-size:1.05rem}.sr-group{width:100%;max-width:44rem;border:0}.sr-legend{width:100%;margin-bottom:.65rem;font-size:1.15rem;font-weight:700}.sr-stories{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem}.sr-story{display:flex;min-height:6.5rem;padding:.75rem;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;border:2px solid var(--map-border);border-radius:12px;background-color:var(--light-panel);color:inherit;cursor:pointer}body.dark .sr-story,body.dark .sr-speed,body.dark .sr-chunk,body.dark .sr-textarea,body.dark .sr-option,body.dark .sr-secondary{background-color:var(--dark-panel)}.sr-story:hover,.sr-speed:hover,.sr-chunk:hover,.sr-option:hover,.sr-secondary:hover{border-color:var(--map-accent)}.sr-story.is-active,.sr-speed.is-active,.sr-chunk.is-active{border-color:var(--map-accent);box-shadow:0 0 0 2px var(--map-accent)}.sr-story:has(input:focus-visible),.sr-page button:focus-visible,.sr-summary:focus-visible,.sr-textarea:focus-visible,.sr-slider input:focus-visible,.sr-toggle input:focus-visible{outline:3px solid var(--map-accent);outline-offset:3px}.sr-visually-hidden,.sr-textarea-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-story-emoji{font-size:1.75rem}.sr-story-title{font-weight:700}.sr-story-meta,.sr-speed small,.sr-note,.sr-count,.sr-nudge-value,.sr-status{color:var(--map-muted)}.sr-story-meta,.sr-speed small,.sr-note{font-size:.9rem}.sr-speeds,.sr-chunks,.sr-controls,.sr-nudge{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.65rem}.sr-speed,.sr-chunk{display:flex;min-width:5rem;min-height:3.25rem;padding:.5rem .75rem;flex-direction:column;align-items:center;justify-content:center;border:2px solid var(--map-border);border-radius:10px;background-color:var(--light-panel);color:inherit;cursor:pointer}.sr-chunk{min-width:3.25rem;font-size:1.25rem}.sr-slider{display:flex;margin-top:.85rem;flex-direction:column;align-items:center;gap:.35rem}.sr-slider input{width:min(100%,24rem);min-height:2rem}.sr-toggle{display:flex;margin-top:.85rem;align-items:center;justify-content:center;gap:.55rem}.sr-toggle input{width:1.35rem;height:1.35rem}.sr-custom{width:100%;max-width:44rem;text-align:left}.sr-summary{min-height:2.75rem;padding:.5rem 0;font-weight:700;cursor:pointer}.sr-textarea{width:100%;padding:.65rem;border:2px solid var(--map-border);border-radius:8px;background-color:var(--light-panel);color:inherit;resize:vertical}.sr-note{margin-top:.4rem}.sr-start,.sr-secondary{min-height:3.25rem;padding:.75rem 1.5rem;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer}.sr-start{border:0;background-color:var(--light-accent);color:var(--on-light-accent)}body.dark .sr-start{background-color:var(--dark-accent);color:var(--on-dark-accent)}.sr-start:disabled,.sr-ctrl:disabled{opacity:.45;cursor:not-allowed}.sr-countdown{font-size:clamp(4rem,20vw,8rem);font-weight:700;color:var(--reader-pivot)}.sr-status{min-height:1.5rem;font-weight:700}.sr-stage{position:relative;display:flex;width:100%;min-height:9rem;align-items:center;justify-content:center}.sr-word{display:flex;width:100%;align-items:baseline;font-size:clamp(2.5rem,12vw,5rem);font-weight:700;line-height:1.2;white-space:pre}.sr-word-left,.sr-word-right{min-width:0;flex:1;overflow:hidden}.sr-word-left{text-align:right}.sr-word-right{text-align:left}.sr-word-pivot{flex:0 0 auto;color:var(--reader-pivot)}.sr-word-plain{min-width:0;flex:1;overflow:hidden;text-align:center}.sr-crosshair{position:absolute;inset:0;pointer-events:none}.sr-crosshair:before,.sr-crosshair:after{position:absolute;left:50%;width:0;height:1.4rem;border-left:2px solid var(--map-border);content:""}.sr-crosshair:before{top:.25rem}.sr-crosshair:after{bottom:.25rem}.sr-progress{width:min(28rem,100%);height:.65rem;overflow:hidden;border-radius:999px;background-color:var(--map-chip)}.sr-progress-bar{height:100%;background-color:var(--light-accent);transition:width .15s linear}body.dark .sr-progress-bar{background-color:var(--dark-accent)}.sr-ctrl{min-width:3.25rem;min-height:3.25rem;padding:.5rem 1rem;border:2px solid var(--map-border);border-radius:12px;background-color:var(--reader-surface);color:inherit;font-size:1.1rem;cursor:pointer}.sr-ctrl.is-primary{min-width:8rem;border-color:transparent;background-color:var(--light-accent);color:var(--on-light-accent);font-weight:700}body.dark .sr-ctrl.is-primary{background-color:var(--dark-accent);color:var(--on-dark-accent)}.sr-nudge-value{min-width:6rem}.sr-quiz,.sr-finish{display:flex;width:100%;max-width:34rem;flex-direction:column;align-items:center;gap:1rem}.sr-question{font-size:1.4rem}.sr-options{display:flex;width:100%;flex-direction:column;gap:.75rem}.sr-option,.sr-secondary{border:2px solid var(--map-border);background-color:var(--light-panel);color:inherit}.sr-option{min-height:3.25rem;padding:.75rem 1rem;border-radius:12px;font-size:1.1rem;cursor:pointer}.sr-option.is-right{border-color:var(--reader-success);box-shadow:0 0 0 1px var(--reader-success)}.sr-option.is-wrong{border-color:var(--reader-error);box-shadow:0 0 0 1px var(--reader-error)}.sr-option:disabled{opacity:.72;cursor:default}.sr-feedback{min-height:1.7rem;font-size:1.1rem;font-weight:700}.sr-finish-title{font-size:1.65rem}.sr-finish-stats{font-size:1.05rem}.sr-secondary{font-weight:600}@media(max-width:400px){.sr-stories{grid-template-columns:repeat(2,minmax(0,1fr))}.sr-story{min-height:6rem;padding-inline:.4rem}.sr-controls,.sr-nudge{gap:.4rem}.sr-ctrl{padding-inline:.65rem}}@media(prefers-reduced-motion:reduce){.sr-progress-bar{transition:none}}.worldmap-shell{height:calc(100dvh - var(--navbar-height, 56px));min-height:24rem;overflow:hidden}@media(max-width:600px){.mapgame-hud{font-size:.85rem;gap:6px!important;padding:8px 10px!important}}.worldmap-shell .leaflet-container img.leaflet-tile{mix-blend-mode:normal;width:256.5px!important;height:256.5px!important}.mapgame--plain .leaflet-container{background:var(--map-ocean)}.worldmap-modes{display:flex;gap:4px;padding:4px;border:1px solid var(--map-border);border-radius:12px;background:var(--map-chip)}.worldmap-modes .worldmap-mode{min-height:44px;padding:8px 14px;border:0;border-bottom:3px solid transparent;border-radius:8px;background:transparent;color:var(--map-muted);font:inherit;cursor:pointer}.worldmap-modes .worldmap-mode[aria-pressed=true]{background:var(--light-panel);color:var(--map-text);border-bottom-color:var(--map-text);font-weight:700}body.dark .worldmap-modes .worldmap-mode[aria-pressed=true]{background:var(--dark-panel)}.worldmap-modes .worldmap-mode:hover{color:var(--map-text)}.worldmap-modes .worldmap-mode:focus-visible{outline:2px solid var(--map-text);outline-offset:2px}.flag-wrapper{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem;max-width:600px;margin:0 auto}.flag-score{font-size:1.2rem;font-weight:600;color:var(--light-text)}body.dark .flag-score{color:var(--dark-text)}.flag-prompt{font-size:1.5rem;font-weight:600;color:var(--light-text);margin:0}body.dark .flag-prompt{color:var(--dark-text)}.flag-card{background-color:var(--light-panel);padding:1rem;border-radius:12px;box-shadow:0 4px 6px #0000001a}body.dark .flag-card{background-color:var(--dark-panel)}.flag-image{width:240px;height:160px;object-fit:contain;border-radius:8px}.flag-feedback{font-size:1.25rem;font-weight:600}.flag-feedback.correct{color:var(--light-accent)}.flag-feedback.wrong{color:#888}body.dark .flag-feedback.correct{color:var(--dark-accent)}body.dark .flag-feedback.wrong{color:#aaa}.flag-options{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.flag-optionBtn{font-size:1.1rem;padding:.75rem 1.5rem;border:2px solid var(--light-accent);border-radius:8px;background-color:var(--light-panel);color:var(--light-text);cursor:pointer;transition:all .2s;font-weight:600;min-width:120px}.flag-optionBtn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #ef626c4d}.flag-optionBtn:disabled{cursor:default}body.dark .flag-optionBtn{background-color:var(--dark-panel);border-color:var(--dark-accent);color:var(--dark-text)}body.dark .flag-optionBtn:hover:not(:disabled){box-shadow:0 4px 8px #84dccf4d}.flag-optionBtn.correct{background-color:var(--light-accent);color:#fff;border-color:var(--light-accent);transform:scale(1.05)}body.dark .flag-optionBtn.correct{background-color:var(--dark-accent);color:var(--dark-bg);border-color:var(--dark-accent)}.flag-optionBtn.wrong{background-color:#888;color:#fff;border-color:#888}body.dark .flag-optionBtn.wrong{background-color:#555;color:#fff;border-color:#555}.flag-optionBtn.dimmed{opacity:.4}.flag-loading{color:var(--light-text);padding:2rem}body.dark .flag-loading{color:var(--dark-text)}.flag-continentPicker{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}.flag-continentPicker label{font-weight:600;color:var(--light-text)}.flag-continentPicker select{width:100%;max-width:280px;padding:.6rem 1rem;font-size:1rem;font-weight:600;border-radius:8px;border:2px solid var(--light-accent);background-color:var(--light-panel);color:var(--light-text);cursor:pointer}.flag-continentPicker select:focus{outline:3px solid var(--light-accent);outline-offset:2px}body.dark .flag-continentPicker label{color:var(--dark-text)}body.dark .flag-continentPicker select{background-color:var(--dark-panel);color:var(--dark-text);border-color:var(--dark-accent)}body.dark .flag-continentPicker select:focus{outline-color:var(--dark-accent)}.flag-loadStatus,.flag-error{color:var(--light-text);text-align:center;margin:0}body.dark .flag-loadStatus,body.dark .flag-error{color:var(--dark-text)}.flag-loadStatus .flag-optionBtn{display:block;margin:.75rem auto 0}.city-spotlight{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;max-width:700px;margin:0 auto;text-align:center;width:100%}.city-spotlight .score{font-size:1.25rem;font-weight:600;color:var(--light-text)}.city-spotlight .prompt{font-size:1.5rem;font-weight:700;color:var(--light-text)}body.dark .city-spotlight .score,body.dark .city-spotlight .prompt{color:var(--dark-text)}.city-spotlight .cityImage{width:100%;max-width:500px;aspect-ratio:4 / 3;height:auto;border-radius:12px;box-shadow:0 6px 16px #00000026;object-fit:cover;object-position:center;background-color:var(--light-panel);transition:transform .2s ease,box-shadow .2s ease}body.dark .city-spotlight .cityImage{background-color:var(--dark-panel)}.city-spotlight .cityImage:hover{transform:scale(1.03);box-shadow:0 8px 20px #00000040}.city-spotlight .options{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;width:100%}.city-spotlight .optionBtn{font-size:1.2rem;padding:.8rem 1.5rem;border-radius:10px;border:2px solid var(--light-accent);background-color:var(--light-panel);color:var(--light-text);font-weight:600;cursor:pointer;transition:all .25s ease;min-width:130px}.city-spotlight .optionBtn:hover:not(:disabled){background-color:var(--light-accent);color:#fff;transform:translateY(-2px)}.city-spotlight .optionBtn.correct{background-color:var(--light-accent);color:#fff;border-color:var(--light-accent);transform:scale(1.05)}.city-spotlight .optionBtn.wrong{background-color:#888;color:#fff;border-color:#888}.city-spotlight .optionBtn.dimmed{opacity:.4;cursor:default}body.dark .city-spotlight .optionBtn{border-color:var(--dark-accent);background-color:var(--dark-panel);color:var(--dark-text)}body.dark .city-spotlight .optionBtn:hover:not(:disabled){background-color:var(--dark-accent);color:var(--dark-bg)}body.dark .city-spotlight .optionBtn.correct{background-color:var(--dark-accent);color:var(--dark-bg)}body.dark .city-spotlight .optionBtn.wrong{background-color:#555}.city-spotlight .info{font-size:1.2rem;font-weight:600;color:var(--light-accent);margin-top:.5rem}body.dark .city-spotlight .info{color:var(--dark-accent)}.city-spotlight .intro{font-size:1.2rem;color:var(--light-text)}body.dark .city-spotlight .intro{color:var(--dark-text)}.city-spotlight .startBtn,.city-spotlight .restartBtn{padding:.9rem 2rem;font-size:1.2rem;font-weight:600;border-radius:10px;cursor:pointer;background-color:var(--light-accent);color:#fff;border:none;transition:all .25s ease}.city-spotlight .startBtn:hover,.city-spotlight .restartBtn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #ef626c4d}body.dark .city-spotlight .startBtn,body.dark .city-spotlight .restartBtn{background-color:var(--dark-accent);color:var(--dark-bg)}@media(max-width:600px){.city-spotlight .cityImage{max-width:100%}.city-spotlight .optionBtn{font-size:1.1rem;padding:.6rem 1.2rem}}.find-the-city{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;max-width:1200px;margin:0 auto;text-align:center;width:100%}.find-the-city .score{font-size:1.25rem;font-weight:600;color:var(--light-text)}.find-the-city .prompt{font-size:1.5rem;font-weight:700;color:var(--light-text)}body.dark .find-the-city .score,body.dark .find-the-city .prompt{color:var(--dark-text)}.find-the-city .mapContainer{width:100%;height:clamp(340px,60vh,720px);border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #00000026}.find-the-city .leaflet-container{width:100%;height:100%;cursor:pointer;border-radius:12px}.find-the-city .mapContainer.answered .leaflet-container{cursor:grab}.find-the-city .mapStatus{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1.25rem;min-height:3.25rem}.find-the-city .mapStatus .info{margin-top:0}.find-the-city .hintBtn{min-height:3rem;padding:.6rem 1.25rem;font-size:1.1rem;font-weight:600;border-radius:10px;border:2px solid var(--light-accent);background-color:var(--light-panel);color:var(--light-text);cursor:pointer;transition:all .25s ease}.find-the-city .hintBtn:hover{background-color:var(--light-accent);color:#fff}body.dark .find-the-city .hintBtn{border-color:var(--dark-accent);background-color:var(--dark-panel);color:var(--dark-text)}body.dark .find-the-city .hintBtn:hover{background-color:var(--dark-accent);color:var(--dark-bg)}.find-the-city .hintText{font-size:1.2rem;font-weight:600;padding:.6rem 1.1rem;border-radius:10px;background-color:var(--light-panel);color:var(--light-text)}body.dark .find-the-city .hintText{background-color:var(--dark-panel);color:var(--dark-text)}.find-the-city .guessLine{stroke:var(--light-text);stroke-width:3}.find-the-city .guessDot{stroke:var(--light-text);stroke-width:3;fill:var(--light-panel);fill-opacity:1}.find-the-city .cityDot{stroke:var(--light-panel);stroke-width:3;fill:var(--light-accent);fill-opacity:1}.find-the-city .leaflet-tooltip.cityLabel,.find-the-city .leaflet-tooltip.distanceLabel{font-size:1rem;font-weight:700;color:var(--light-text)}.find-the-city .info{font-size:1.2rem;font-weight:600;color:var(--light-accent);margin-top:.5rem}body.dark .find-the-city .info{color:var(--dark-accent)}.find-the-city .intro{font-size:1.2rem;color:var(--light-text)}body.dark .find-the-city .intro{color:var(--dark-text)}.find-the-city .startBtn,.find-the-city .restartBtn,.find-the-city .nextBtn{padding:.9rem 2rem;font-size:1.2rem;font-weight:600;border-radius:10px;cursor:pointer;background-color:var(--light-accent);color:#fff;border:none;transition:all .25s ease}.find-the-city .startBtn:hover,.find-the-city .restartBtn:hover,.find-the-city .nextBtn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #ef626c4d}body.dark .find-the-city .startBtn,body.dark .find-the-city .restartBtn,body.dark .find-the-city .nextBtn{background-color:var(--dark-accent);color:var(--dark-bg)}@media(max-width:600px){.find-the-city{padding:1rem}.find-the-city .mapContainer{height:clamp(300px,55vh,500px)}}.solar-constellation{position:absolute;z-index:60;top:3.25rem;left:50%;display:flex;flex-direction:column;gap:1rem;box-sizing:border-box;width:min(58rem,calc(100% - 2rem));max-height:calc(100% - 4rem);padding:1rem;overflow:hidden;transform:translate(-50%);border:1px solid rgba(159,208,255,.32);border-radius:1.25rem;background:radial-gradient(circle at 100% 0,rgba(96,165,250,.18),transparent 48%),#050a18f0;box-shadow:0 1.25rem 3.5rem #00000080;color:#f8fafc;font-family:system-ui,sans-serif;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:solar-card-enter .22s ease-out}.solar-constellation__chart-pane{flex:0 0 auto;height:clamp(9rem,28vh,18rem);min-height:0;padding:.5rem;overflow:hidden;border:1px solid rgba(159,208,255,.16);border-radius:1rem;background:radial-gradient(circle at 50% 40%,#172554a6,#02040ae6)}.solar-constellation__chart{display:block;width:100%;height:100%}.solar-constellation__lines line{stroke:#9fd0ffb8;stroke-width:.45;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:solar-constellation-draw .62s ease-out forwards}.solar-constellation__stars{opacity:0;animation:solar-constellation-appear .42s ease-out forwards}.solar-constellation__star{fill:#fff}.solar-constellation__star-name{fill:#e2f0ffd1;font-size:3.6px;font-weight:600;letter-spacing:.04em}@keyframes solar-constellation-draw{to{stroke-dashoffset:0}}@keyframes solar-constellation-appear{to{opacity:1}}.solar-constellation__body{display:flex;flex:1 1 auto;flex-direction:column;gap:.75rem;min-height:0}.solar-constellation__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.solar-constellation__eyebrow{display:block;color:#9fd0ff;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.solar-constellation__header h2{margin:.15rem 0 0;font-size:1.4rem}.solar-constellation__aka{margin:.2rem 0 0;color:#e2f0ffa8;font-size:.78rem}.solar-constellation__close{flex:0 0 auto;width:2.75rem;height:2.75rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#ffffff0f;color:#f8fafc;font-size:1.1rem;line-height:1;cursor:pointer}.solar-constellation__close:hover{background:#ffffff24}.solar-constellation__close:focus-visible{outline:2px solid #9fd0ff;outline-offset:3px}.solar-constellation__scroll{flex:1 1 auto;min-height:0;overflow-y:auto}.solar-constellation__description{margin:0 0 .75rem;font-size:.92rem;line-height:1.5}.solar-constellation__scroll h3{margin:0 0 .4rem;color:#9fd0ff;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.solar-constellation__scroll ul{margin:0;padding-left:1.1rem;font-size:.85rem;line-height:1.55}.solar-constellation__scroll li+li{margin-top:.35rem}@media(min-width:720px){.solar-constellation{left:calc((100% - 17.5rem)/2);flex-direction:row;gap:1.25rem;width:min(58rem,calc(100% - 19.5rem));padding:1.25rem}.solar-constellation__chart-pane{flex:1 1 58%;align-self:stretch;height:auto}.solar-constellation__body{flex:1 1 42%}.solar-constellation__header h2{font-size:1.6rem}}@media(prefers-reduced-motion:reduce){.solar-constellation{animation:none}.solar-constellation__lines line{stroke-dashoffset:0;animation:none}.solar-constellation__stars{opacity:1;animation:none}}.solar-system__canvas{transition:filter .32s ease}.solar-system__canvas--dimmed{filter:brightness(.32) saturate(.55)}.solar-info-card{position:absolute;display:flex;flex-direction:column;z-index:50;left:1rem;bottom:4.75rem;width:calc(100% - 2rem);max-height:min(48%,26rem);overflow:hidden;padding:1rem;border:1px solid rgba(255,210,132,.3);border-radius:1.25rem;background:radial-gradient(circle at 0 0,rgba(255,174,72,.16),transparent 45%),#050a18eb;box-shadow:0 1.25rem 3.5rem #0000006b;color:#f8fafc;font-family:system-ui,sans-serif;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:solar-card-enter .22s ease-out}.solar-info-card--tour{top:4.25rem;bottom:auto;max-height:min(46%,24rem)}.solar-launch-buttons{position:absolute;z-index:45;top:1rem;left:1rem;display:grid;grid-template-columns:repeat(2,2.65rem);align-items:flex-start;gap:.5rem}.solar-tour-launch{display:inline-flex;min-width:2.65rem;min-height:2.65rem;align-items:center;justify-content:center;gap:.45rem;padding:.72rem .8rem;border:1px solid rgba(255,205,117,.42);border-radius:999px;background:#0d1222e6;box-shadow:0 .75rem 2rem #0000004d;color:#fff;font:700 .8rem/1 system-ui,sans-serif;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .16s ease,border-color .16s ease,transform .16s ease}.solar-tour-launch__icon{color:#f6bd68;font-size:1rem}.solar-action-label{display:none}.solar-tour-launch:disabled{opacity:.5;cursor:not-allowed}.solar-launch-buttons--meteor{display:flex}.solar-tour-launch--meteor-reset{padding-inline:1rem}.solar-meteor-status{position:absolute;z-index:45;top:4.4rem;left:1rem;max-width:min(24rem,calc(100% - 2rem));margin:0;padding:.55rem .75rem;border:1px solid rgba(255,205,117,.3);border-radius:999px;background:#0d1222e6;color:#fff;font:600 .78rem/1.3 system-ui,sans-serif}.solar-tour-launch:hover{border-color:#f6bd68;background:#1f2537f0;transform:translateY(-1px)}.solar-tour-launch:focus-visible{outline:2px solid #f6bd68;outline-offset:3px}.solar-toolbar{position:absolute;z-index:46;top:7.5rem;left:1rem;right:1rem;display:flex;align-items:flex-start;gap:.5rem;font-family:system-ui,sans-serif}.solar-search-toggle{display:grid;flex:0 0 auto;width:2.65rem;height:2.65rem;padding:0;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#050a18e6;box-shadow:0 .75rem 2rem #0000004d;color:#f6bd68;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color .16s ease,background .16s ease}.solar-search-toggle:hover{border-color:#f6bd6899;background:#1f2537f0}.solar-search-toggle:focus-visible{outline:2px solid #f6bd68;outline-offset:3px}.solar-search__glyph{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.solar-search{position:relative;display:none;flex:1 1 auto;min-width:0;align-items:center;gap:.4rem;padding:0 .85rem;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#050a18e6;box-shadow:0 .75rem 2rem #0000004d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color .16s ease}.solar-search:focus-within{border-color:#f6bd6899}.solar-toolbar--searching .solar-search-toggle{display:none}.solar-toolbar--searching .solar-search{display:flex}.solar-search__icon{display:grid;flex:0 0 auto;place-items:center;color:#f6bd68}.solar-search__input{flex:1 1 auto;width:100%;min-width:0;min-height:2.5rem;padding:0;border:0;background:transparent;color:#f8fafc;font:600 .82rem/1 system-ui,sans-serif}.solar-search__input::placeholder{color:#aeb7c5e6;font-weight:500}.solar-search__input:focus{outline:none}.solar-search__input::-webkit-search-cancel-button{filter:invert(1) opacity(.5)}.solar-search__results{position:absolute;top:calc(100% + .4rem);left:0;right:0;max-height:17rem;overflow-y:auto;padding:.35rem;border:1px solid rgba(255,210,132,.28);border-radius:.9rem;background:#050a18f5;box-shadow:0 1.25rem 3rem #00000073;scrollbar-color:rgba(246,189,104,.45) transparent;scrollbar-width:thin;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.solar-search__result{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.5rem .65rem;border-radius:.6rem;cursor:pointer}.solar-search__result--active{background:#f6bd6829}.solar-search__result-name{color:#fff;font:700 .85rem/1.2 system-ui,sans-serif}.solar-search__result-kind{flex:0 0 auto;color:#aeb7c5;font:600 .68rem/1.2 system-ui,sans-serif}.solar-search__result--active .solar-search__result-kind{color:#f6bd68}.solar-search__empty{margin:0;padding:.55rem .65rem;color:#aeb7c5;font:600 .78rem/1.35 system-ui,sans-serif}.solar-overview-button{display:inline-flex;flex:0 0 auto;align-items:center;gap:.4rem;min-height:2.65rem;padding:0 .9rem;border:1px solid rgba(246,189,104,.42);border-radius:999px;background:#0d1222e6;box-shadow:0 .75rem 2rem #0000004d;color:#fff;font:700 .78rem/1 system-ui,sans-serif;white-space:nowrap;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .16s ease,border-color .16s ease,transform .16s ease}.solar-overview-button span{color:#f6bd68;font-size:.95rem}.solar-overview-button:hover{border-color:#f6bd68;background:#1f2537f0;transform:translateY(-1px)}.solar-overview-button:focus-visible{outline:2px solid #f6bd68;outline-offset:3px}.solar-info-card__header{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:1rem}.solar-info-card__body{min-height:0;margin-right:-.45rem;padding-right:.45rem;overflow-y:auto;scrollbar-color:rgba(246,189,104,.45) transparent;scrollbar-width:thin}.solar-info-card__eyebrow{display:block;margin-bottom:.2rem;color:#f6bd68;font-size:.7rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.solar-info-card h2,.solar-info-card h3{margin:0;color:#fff}.solar-info-card h2{font-size:clamp(1.65rem,5vw,2.25rem);line-height:1.05}.solar-info-card h3{margin-top:1rem;font-size:.85rem;letter-spacing:.04em}.solar-info-card__close{display:grid;flex:0 0 auto;width:2.25rem;height:2.25rem;padding:0;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:#ffffff14;color:#fff;font:400 1.4rem/1 system-ui,sans-serif;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.solar-info-card__close:hover{border-color:#ffd2848c;background:#ffffff26;transform:scale(1.05)}.solar-info-card__close:focus-visible{outline:2px solid #f6bd68;outline-offset:3px}.solar-info-card__meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.85rem}.solar-info-card__meta span{padding:.35rem .55rem;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#ffffff0f;color:#dce4ef;font-size:.7rem;font-weight:600}.solar-info-card ul{display:grid;gap:.65rem;margin:.65rem 0 0;padding:0 0 0 1.15rem;color:#dce4ef;font-size:.82rem;line-height:1.45}.solar-info-card li::marker{color:#f6bd68}.solar-info-card__summary{margin:.85rem 0 0;color:#f5f7fb;font-size:.86rem;font-weight:500;line-height:1.5}.solar-tour-narration{display:grid;grid-template-columns:auto 1fr;gap:.65rem;margin-top:.85rem;padding:.8rem;border:1px solid rgba(246,189,104,.2);border-radius:.85rem;background:#f6bd6814}.solar-tour-narration span{color:#f6bd68;font-weight:800}.solar-tour-narration p{margin:0;color:#f5f7fb;font-size:.84rem;line-height:1.5}.solar-info-card__tour-button,.solar-tour-controls button{border:1px solid rgba(255,255,255,.16);border-radius:.65rem;background:#ffffff14;color:#fff;font:700 .75rem/1 system-ui,sans-serif;cursor:pointer;transition:background .16s ease,border-color .16s ease,opacity .16s ease}.solar-control-icon{font-size:1.15rem;line-height:1}.solar-control-label{display:none}.solar-info-card__tour-button{flex:0 0 auto;margin-top:1rem;padding:.75rem 1rem;border-color:#f6bd6861;background:#f6bd6824}.solar-info-card__tour-button:hover,.solar-tour-controls button:hover:not(:disabled){border-color:#f6bd688c;background:#f6bd682e}.solar-info-card__tour-button:focus-visible,.solar-tour-controls button:focus-visible{outline:2px solid #f6bd68;outline-offset:2px}.solar-tour-controls{display:grid;flex:0 0 auto;gap:.6rem;margin:.9rem -1rem -1rem;padding:.8rem 1rem 1rem;border-top:1px solid rgba(255,255,255,.1);background:#040813e0}.solar-tour-controls__audio,.solar-tour-controls__nav{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.solar-tour-controls button{min-height:2.25rem;padding:.55rem .7rem}.solar-tour-controls button:disabled{opacity:.36;cursor:not-allowed}.solar-tour-controls .solar-tour-controls__next{border-color:#e9ab53;background:#e9ab53;color:#121621}.solar-tour-controls .solar-tour-controls__next:hover:not(:disabled){border-color:#f6c77e;background:#f6c77e}@media(max-width:719px){.solar-tour-controls{display:flex;align-items:center;justify-content:center}.solar-tour-controls__audio,.solar-tour-controls__nav{display:flex}.solar-tour-controls button{width:2.75rem;min-height:2.75rem;padding:0}}@media(min-width:720px){.solar-launch-buttons{display:flex}.solar-toolbar{top:1rem;left:14rem;right:17.5rem;justify-content:flex-start}.solar-search-toggle{display:none}.solar-search{display:flex;flex:0 1 20rem}.solar-tour-launch{gap:.55rem;padding:.7rem .95rem}.solar-control-icon{display:none}.solar-control-label{display:inline}.solar-info-card{top:4.75rem;bottom:auto;width:min(22rem,calc(100% - 19rem));max-height:calc(100% - 9.25rem);padding:1.25rem}.solar-info-card--tour{top:4.75rem;max-height:calc(100% - 9.25rem)}.solar-info-card ul{font-size:.88rem}.solar-tour-controls{margin-right:-1.25rem;margin-bottom:-1.25rem;margin-left:-1.25rem;padding-right:1.25rem;padding-bottom:1.25rem;padding-left:1.25rem}}@media(min-width:1100px){.solar-toolbar{left:43rem}.solar-action-label{display:inline}}@keyframes solar-card-enter{0%{opacity:0;transform:translateY(.5rem) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.solar-system__canvas{transition:none}.solar-info-card{animation:none}.solar-overview-button:hover,.solar-tour-launch:hover{transform:none}}.solar-system .solar-system__hint{bottom:1rem}.solar-system .solar-info-card{bottom:1rem;max-height:min(62%,32rem)}.solar-system .solar-info-card--tour{top:4.25rem;bottom:auto;max-height:calc(100% - 5.25rem)}@media(min-width:720px){.solar-system .solar-info-card{top:4.75rem;bottom:auto}.solar-system .solar-info-card--tour{max-height:calc(100% - 6rem)}}@media(max-height:520px){.solar-system .solar-info-card{max-height:70%}}@media(prefers-reduced-motion:reduce){.solar-tour-launch{transition:none}}.challenge{margin-top:1.5rem;background-color:var(--light-panel);border-radius:12px;padding:1.5rem;box-shadow:0 4px 10px #0000001a;transition:all .3s ease}body.dark .challenge{background-color:var(--dark-panel);color:var(--light-text)}.challenge input{padding:.6rem;border-radius:6px;border:1px solid var(--light-accent);width:200px;margin-right:.5rem}body.dark .challenge input{border-color:var(--dark-accent);background-color:#222;color:var(--light-text)}.feedback{margin-top:.75rem;font-weight:700}.challenge-error-hint{opacity:.85;font-size:.95rem}.challenge-error-actions{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:1rem}.challenge-retry-btn{background-color:var(--light-accent);color:var(--on-light-accent);padding:.7rem 1.75rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,background-color .3s}body.dark .challenge-retry-btn{background-color:var(--dark-accent);color:var(--on-dark-accent)}.challenge-retry-btn:hover,.challenge-retry-btn:focus-visible{transform:scale(1.04);background-color:#f2757e}body.dark .challenge-retry-btn:hover,body.dark .challenge-retry-btn:focus-visible{background-color:#9be7dc}.challenge-error-link{color:var(--light-text);text-decoration:underline;font-size:.95rem}body.dark .challenge-error-link{color:var(--dark-text)}@media(prefers-reduced-motion:reduce){.challenge-retry-btn:hover,.challenge-retry-btn:focus-visible{transform:none}}.science-plant-figure{margin:1rem auto;max-width:440px}.science-plant-figure svg{display:block;width:100%;height:auto}.science-plant-figure figcaption{font-size:.95rem;line-height:1.5}.science-soil{fill:var(--ck-muted)}.science-line,.science-stem{stroke:var(--ck-text);stroke-width:3;fill:none;stroke-linecap:round}.science-stem{stroke-width:7}.science-stem.is-woody{stroke-width:15}.science-leaf{fill:var(--ck-muted);stroke:var(--ck-text);stroke-width:2}.science-bloom{fill:var(--ck-accent);stroke:var(--ck-text);stroke-width:2}.science-flower-centre{fill:var(--ck-panel)}.science-svg-text,.science-callout text{fill:var(--ck-text);font-size:15px;font-weight:700}.science-callout path{fill:none;stroke:var(--ck-text);stroke-width:2;stroke-dasharray:3 3}.science-callout circle{fill:var(--ck-text)}.science-callout.is-highlighted path{stroke-width:4;stroke-dasharray:none}.science-rule,.science-observation{padding:1rem;border:2px solid var(--ck-border);border-radius:16px;margin:1rem 0;text-align:left;line-height:1.6}.science-rule dl{margin:0}.science-rule-row{display:grid;grid-template-columns:110px 1fr;gap:1rem;margin-bottom:.6rem}.science-rule dt{font-weight:700}.science-rule dd{margin:0}.science-gloss summary{min-height:44px;padding:.65rem;cursor:pointer}.science-gloss{font-size:.95rem;line-height:1.6}.science-label-tray,.science-label-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0}.science-label-board button{min-height:48px;padding:.75rem;margin:0;border:2px solid var(--ck-border);border-radius:12px;background:var(--ck-panel);color:var(--ck-text);font:inherit;cursor:pointer;overflow-wrap:anywhere}.science-label-board button.is-selected{border-color:var(--ck-text);outline:3px solid var(--ck-accent)}.science-label-board button:focus-visible{outline:3px solid var(--ck-text);outline-offset:3px}.science-label-board button:disabled{opacity:.65;cursor:default}.science-practical{margin:1rem 0;border:2px solid currentColor;border-radius:16px;padding:.8rem;text-align:left;line-height:1.6}.science-practical summary{cursor:pointer;min-height:44px;display:list-item;padding:.5rem;font-weight:700}.science-practical summary:focus-visible{outline:3px solid currentColor;outline-offset:2px}.science-practical li{margin:.5rem 0}@media(max-width:420px){.science-rule-row{grid-template-columns:1fr;gap:.3rem}.science-rule dd{margin-bottom:.5rem}}.science-needs-guide{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem;text-align:left;margin:1rem 0}.science-needs-guide>div{border:2px solid var(--ck-border);border-radius:12px;padding:.8rem}.science-needs-guide span{display:block;font-size:1.8rem}.science-needs-guide img{display:block;width:48px;height:48px;margin-bottom:.3rem}.science-needs-guide p{line-height:1.5}.science-sequence-pictures{display:flex;justify-content:center;align-items:end;gap:1rem}.science-sequence-pictures>div{width:min(35%,140px)}.science-sequence-pictures svg{width:100%;height:auto}.science-sequence-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin:1rem 0}.science-sequence-controls button,.science-reset{min-height:48px;margin:0;padding:.75rem;border:2px solid var(--ck-border);border-radius:12px;background:var(--ck-panel);color:var(--ck-text);font:inherit;cursor:pointer}.science-sequence-controls button[aria-pressed=true]{border-color:var(--ck-text);font-weight:700}.science-sequence-controls button:focus-visible,.science-reset:focus-visible,.science-record-fields input:focus-visible{outline:3px solid var(--ck-text);outline-offset:3px}.science-sequence-controls button:disabled,.science-reset:disabled{opacity:.65;cursor:default}.science-record-fields{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.science-record-fields label{display:grid;gap:.5rem;text-align:left}.science-record-fields input{min-height:48px;max-width:160px;box-sizing:border-box;padding:.6rem;font:inherit;border:2px solid var(--ck-border);border-radius:12px;color:var(--ck-text);background:var(--ck-panel)}.science-water-figure{max-width:420px;margin:1rem auto}.science-water-figure svg{display:block;width:100%;height:auto}.science-water-figure figcaption{line-height:1.5;font-size:.95rem}.science-water-container{fill:none;stroke:var(--ck-text);stroke-width:3}.science-water-bloom{fill:var(--ck-panel);stroke:var(--ck-text);stroke-width:2}.science-dye-marks{fill:var(--ck-accent);stroke:var(--ck-text);stroke-width:2}.science-water-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}@media(max-width:500px){.science-water-comparison{grid-template-columns:1fr}}.science-life-figure{max-width:440px;margin:1rem auto}.science-life-figure svg{display:block;width:100%;height:auto}.science-life-figure figcaption{font-size:.95rem;line-height:1.5}.science-seed-case{fill:var(--ck-muted);stroke:var(--ck-text);stroke-width:3}.science-seed-shape{fill:var(--ck-accent);stroke:var(--ck-text);stroke-width:2}.science-pollen-source{fill:var(--ck-panel);stroke:var(--ck-text);stroke-width:2}.science-transferred-pollen{fill:var(--ck-accent);stroke:var(--ck-text);stroke-width:1.5}.science-transfer-path{stroke:var(--ck-text);stroke-width:2;stroke-dasharray:4 4;fill:none}.science-life-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem}.science-movement-bone{stroke:var(--ck-text);stroke-width:9;fill:none;stroke-linecap:round}.science-movement-muscle{fill:var(--ck-accent);stroke:var(--ck-text);stroke-width:2}.science-rock-grains{fill:var(--ck-panel);stroke:var(--ck-text);stroke-width:2}.science-rock-crystals{fill:var(--ck-accent);stroke:var(--ck-text);stroke-width:2}.science-classification-scroll{max-width:100%;overflow-x:auto;margin:1rem 0}.science-classification-options{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}.science-classification-options button{min-width:48px;min-height:48px;margin:0;padding:.6rem;border:2px solid var(--ck-border);border-radius:12px;background:var(--ck-panel);color:var(--ck-text);font:inherit;cursor:pointer}.science-classification-options button[aria-pressed=true]{border-color:var(--ck-text);outline:2px solid var(--ck-accent);font-weight:700}.science-classification-options button:focus-visible,.science-classification-scroll:focus-visible{outline:3px solid var(--ck-text);outline-offset:3px}.science-classification-options button:disabled{opacity:.65;cursor:default}.science-light-box{stroke:var(--ck-text);stroke-width:3}.science-light-box.is-lit{fill:var(--light-panel)}.science-light-box.is-dark{fill:var(--dark-bg)}.science-light-object .science-line,.science-light-object .science-rock-crystals{stroke:var(--light-text)}.science-reflection-ray{fill:none;stroke:var(--ck-text);stroke-width:3}.science-reflection-arrow{fill:var(--ck-text)}.science-shadow-paths{fill:none;stroke:var(--light-text);stroke-width:1.5}.science-shadow-paths .science-shadow-region{fill:var(--dark-bg);fill-opacity:.2;stroke:none}.science-shadow-screen{fill:none;stroke:var(--ck-text);stroke-width:5}.science-shadow-mark{fill:none;stroke:var(--dark-bg);stroke-width:10}.science-shadow-lit-setup{stroke:var(--light-text)}.science-surface-travel,.science-force-giver{fill:var(--ck-accent);stroke:var(--ck-text);stroke-width:2}.science-force-receiver{fill:var(--ck-panel);stroke:var(--ck-text);stroke-width:2}.science-material-start{fill:none;stroke:var(--ck-text);stroke-width:2;stroke-dasharray:4 4}.science-magnet-body{fill:var(--ck-panel);stroke:var(--ck-text);stroke-width:3}.science-illustration{max-width:540px}.science-illustration svg,.science-animal-picture img{border-radius:18px;background:var(--ck-muted)}.science-illustration-callout path{stroke-dasharray:none}.science-illustration-callout .science-callout-halo{stroke:var(--ck-panel);stroke-width:6;opacity:.85}.science-illustration-callout circle{stroke:var(--ck-panel);stroke-width:2}.science-animal-picture{text-align:center}.science-animal-picture img{display:block;width:min(160px,50vw);height:auto;margin:0 auto;padding:1rem;box-sizing:content-box}.science-credit{display:block;margin-top:.35rem;font-size:.78rem;opacity:.7}:root,body.light{--sci-muscle: #e8737a;--sci-muscle-lit: #d94d57;--sci-muscle-quiet: #d9cfc7}body.dark{--sci-muscle: #f08a90;--sci-muscle-lit: #ff6f7a;--sci-muscle-quiet: #4a4340}.science-muscle-belly{fill:var(--sci-muscle);fill-opacity:.9;stroke:var(--ck-text);stroke-width:2}.science-tendon{fill:none;stroke:var(--ck-text);stroke-width:2.5;stroke-linecap:round}.science-joint{fill:none;stroke:var(--ck-text);stroke-width:2.5;stroke-dasharray:4 3}.science-muscle-map{max-width:360px}.science-muscle-map-views{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:.75rem;border-radius:18px;background:var(--ck-muted)}.science-muscle-map-views svg{background:none;border-radius:0}.science-muscle-map-view{display:flex;flex-direction:column;align-items:center;gap:.35rem}.science-muscle-map-label{font-weight:700;color:var(--ck-text)}.science-muscle-map path{fill:var(--sci-muscle-quiet);stroke:var(--ck-panel);stroke-width:.15}.science-muscle-map path.is-lit{fill:var(--sci-muscle-lit);stroke:var(--ck-text);stroke-width:.25}.science-rock-shadow{fill:#000;opacity:.14}.science-rock-outline{fill:none;stroke:#3b2f28;stroke-width:3}.science-rock-band{fill:#2d2622}.science-rock-grain ellipse{fill:#f3e6c6;stroke:#5a4632;stroke-width:2}.science-rock-grain .science-rock-grain-shine{fill:#fff;stroke:none;opacity:.75}.science-rock-crystal path{stroke:#33262a;stroke-width:1.8;stroke-linejoin:round}.science-rock-crystal .is-light{fill:#f6f1ff}.science-rock-crystal .is-dark{fill:#b9a3c9}.science-rock-glint{fill:#fff;stroke:none!important}.science-rock-fossil path{fill:none;stroke:#3b2f28;stroke-width:4;stroke-linecap:round}.science-rock-fossil .is-emboss{stroke:#fff;stroke-opacity:.55}.science-layer{stroke:#3b2f28;stroke-width:2}.science-layer-surface{fill:none;stroke:var(--ck-text);stroke-width:3}.science-water-top{stop-color:#bfe3f5}.science-water-bottom{stop-color:#6fb3d6}body.dark .science-water-top{stop-color:#2f5e78}body.dark .science-water-bottom{stop-color:#1f4357}.science-fossil-remains path{fill:#f3e7cc;stroke:#3b2f28;stroke-width:3}.science-layer-label rect{fill:var(--ck-panel);stroke:var(--ck-border);stroke-width:1.5}.science-soil-card{fill:var(--ck-panel);stroke:var(--ck-border);stroke-width:2}:root,body.light{--sci-soil-top: #c99a6b;--sci-soil-bottom: #8d6544;--sci-leaf-light: #8fd16a;--sci-leaf-dark: #4f9a36;--sci-stem: #5fa840;--sci-plant-ink: #2f4a22;--sci-seed: #b07a45;--sci-seed-young: #b9d98a;--sci-glass: #dff1fb;--sci-dye-water: #9ec9ef}body.dark{--sci-soil-top: #74543a;--sci-soil-bottom: #4a3422;--sci-leaf-light: #7cc257;--sci-leaf-dark: #3f8429;--sci-stem: #57a03a;--sci-plant-ink: #1d3015;--sci-seed: #c08a52;--sci-seed-young: #a6cc74;--sci-glass: #2b4552;--sci-dye-water: #3f6f9c}.science-soil-top{stop-color:var(--sci-soil-top)}.science-soil-bottom{stop-color:var(--sci-soil-bottom)}.science-leaf-light{stop-color:var(--sci-leaf-light)}.science-leaf-dark{stop-color:var(--sci-leaf-dark)}.science-soil-pebble{fill:#000;opacity:.13}.science-soil-surface{fill:none;stroke:#5a3f28;stroke-width:3;stroke-linecap:round}.science-plant-leaf path:first-child{stroke:var(--sci-plant-ink);stroke-width:2;stroke-linejoin:round}.science-plant-vein{fill:none;stroke:var(--sci-plant-ink);stroke-width:1.2;opacity:.5;stroke-linecap:round}.science-plant-stem path{fill:none;stroke-linecap:round}.science-plant-stem .is-outline{stroke:var(--sci-plant-ink)}.science-plant-stem .is-fill{stroke:var(--sci-stem)}.science-plant-stem .is-shine{stroke:#fff;opacity:.35}[data-plant-part=roots]{filter:drop-shadow(0 0 1.2px rgba(255,244,222,.85))}.science-glass-edge{stop-color:var(--sci-glass);stop-opacity:.75}.science-glass-middle{stop-color:var(--sci-glass);stop-opacity:.2}.science-jar{stroke:var(--ck-text);stroke-width:3;stroke-linejoin:round}.science-jar-shine{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;opacity:.6}.science-jar-water{fill:var(--sci-dye-water)}.science-cut-end{fill:none;stroke:var(--sci-plant-ink);stroke-width:3;stroke-linecap:round}.science-seed-body{fill:var(--sci-seed);stroke:#3b2a20;stroke-width:2}.science-seed.is-young .science-seed-body{fill:var(--sci-seed-young);stroke:var(--sci-plant-ink)}.science-seed-scar{fill:none;stroke:#3b2a20;stroke-width:1.5;stroke-linecap:round;opacity:.55}.science-case-skin{stroke:#3b2a20;stroke-width:3;stroke-linejoin:round}.science-case-skin.is-capsule{fill:#9cc366}.science-case-skin.is-pod{fill:#b5cf74}.science-case-skin.is-fruit{fill:#e2605a}.science-case-flesh{fill:#f7efd6;stroke:#3b2a20;stroke-width:1.5;opacity:.95}.science-tuft-hairs path{fill:none;stroke:var(--ck-text);stroke-width:1.3;stroke-linecap:round;opacity:.75}.science-tuft-stalk{fill:none;stroke:#8a6a3e;stroke-width:2.5;stroke-linecap:round}.science-seed-ribs{fill:none;stroke:#3b2a20;stroke-width:1;opacity:.5}.science-wing-base{stop-color:#c9a46a}.science-wing-tip{stop-color:#ead8a8}.science-wing{stroke:#5a4024;stroke-width:2.5;stroke-linejoin:round}.science-wing-veins{fill:none;stroke:#8a6a3e;stroke-width:1.4;opacity:.7}.science-samara-seed{fill:#9c8a4a;stroke:#3b2a20;stroke-width:2.5}.science-burr-spines path{fill:none;stroke:#6b4f2a;stroke-width:2.6;stroke-linecap:round}.science-burr-body{fill:#a07a46;stroke:#3b2a20;stroke-width:2.5}.science-water-line{fill:none;stroke:#2f6f94;stroke-width:2.5}.science-pod{fill:#d2b071;stroke:#3b2a20;stroke-width:3;stroke-linejoin:round}.science-pod-window{fill:#f3e4c0;stroke:#6b4f2a;stroke-width:1.5}.science-pod-seam{fill:none;stroke:#6b4f2a;stroke-width:2;stroke-dasharray:6 4}.science-pod-stalk,.science-branch{fill:none;stroke:#6b4f2a;stroke-width:5;stroke-linecap:round}.science-branch{stroke-width:9}.science-ground{fill:none;stroke:#6b4f2a;stroke-width:4}.science-grass{fill:none;stroke:var(--sci-stem);stroke-width:2.5;stroke-linecap:round}.science-plant-leaf-flat{fill:var(--sci-leaf-light);stroke:var(--sci-plant-ink);stroke-width:2}.science-fruit-core{fill:#efe2bd;stroke:#b8a274;stroke-width:1.5}.science-husk{fill:#8a5a33;stroke:#3b2a20;stroke-width:2.5}.science-husk-fibres path{fill:none;stroke:#c49a6c;stroke-width:1.6;stroke-linecap:round;opacity:.8}body.dark .science-burr-spines path,body.dark .science-branch,body.dark .science-pod-stalk,body.dark .science-ground{stroke:#b48c5c}.science-credit a{color:inherit;text-decoration:underline;display:inline-flex;align-items:center;min-height:44px;padding:0 .2rem}:root{--ui-dialog-backdrop: rgba(34, 24, 28, .72);--ui-dialog-surface: var(--light-panel);--ui-dialog-ink: var(--light-text);--ui-dialog-focus: var(--light-accent);--ui-dialog-hover: rgba(34, 24, 28, .08)}body.dark{--ui-dialog-backdrop: rgba(10, 6, 8, .82);--ui-dialog-surface: var(--dark-panel);--ui-dialog-ink: var(--dark-text);--ui-dialog-focus: var(--dark-accent);--ui-dialog-hover: rgba(246, 232, 234, .1)}.ui-dialog-backdrop{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:1rem;overflow-y:auto;background-color:var(--ui-dialog-backdrop);box-sizing:border-box;overscroll-behavior:contain}.ui-dialog-panel{position:relative;width:min(44rem,100%);margin:auto 0;padding:3.5rem 1.5rem 1.5rem;border-radius:24px;background-color:var(--ui-dialog-surface);color:var(--ui-dialog-ink);box-sizing:border-box;box-shadow:0 1rem 3rem #22181c47}body.dark .ui-dialog-panel{box-shadow:0 1rem 3rem #00000073}.ui-dialog-close{position:absolute;top:.6rem;right:.6rem;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:none;border-radius:50%;background:transparent;color:inherit;font:inherit;font-size:1.3rem;line-height:1;cursor:pointer}.ui-dialog-close:hover{background-color:var(--ui-dialog-hover)}.ui-dialog-panel:focus-visible,.ui-dialog-panel :focus-visible{outline:3px solid var(--ui-dialog-focus);outline-offset:3px}.ui-dialog-panel:focus:not(:focus-visible){outline:none}@media(max-width:40rem){.ui-dialog-backdrop{padding:0}.ui-dialog-panel{width:100%;min-height:100dvh;margin:0;padding:3.75rem 16px calc(1.25rem + env(safe-area-inset-bottom));border-radius:0}}.certificate{--certificate-ink: var(--light-text);--certificate-paper: #fffaf0;--certificate-band: #fff2d7;--certificate-edge: #e9c77e;--certificate-muted: #645057;--certificate-accent: var(--light-accent);--certificate-on-accent: var(--on-light-accent);--certificate-signature: #2f4f9a;--certificate-bix-1: #ffb9bd;--certificate-bix-2: #ef626c;--certificate-bix-dot: #ffe08a;--certificate-bix-cheek: rgba(239, 98, 108, .55);--certificate-bix-ink: #22181c;box-sizing:border-box;width:100%;max-width:40rem;margin:1rem auto .4rem;padding:clamp(1rem,4vw,2rem);border:6px double var(--certificate-edge);border-radius:18px;background:var(--certificate-paper);box-shadow:inset 0 0 0 5px var(--certificate-paper),inset 0 0 0 7px var(--certificate-band);color:var(--certificate-ink);text-align:center}body.dark .certificate{--certificate-ink: var(--dark-text);--certificate-paper: #2e2a22;--certificate-band: #423820;--certificate-edge: #aa925f;--certificate-muted: #d5c6c8;--certificate-accent: var(--dark-accent);--certificate-on-accent: var(--on-dark-accent);--certificate-signature: #a9c4ff;--certificate-bix-1: #a9ece2;--certificate-bix-2: #4fb4a5;--certificate-bix-dot: #ffd166;--certificate-bix-cheek: rgba(255, 145, 155, .5)}.certificate p{margin:.25rem 0}.certificate-label{display:inline-block;padding:.25rem .9rem;border-radius:999px;background:var(--certificate-accent);color:var(--certificate-on-accent);font-size:.85rem;font-weight:800;letter-spacing:.04em}.certificate-title{font-size:clamp(1.3rem,4vw,1.8rem);font-weight:800;letter-spacing:.03em}.certificate-small,.certificate-context{color:var(--certificate-muted)}.certificate-context{font-weight:700}.certificate-who{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.3rem .7rem;margin:.3rem 0}.certificate-avatar{display:grid;place-items:center;flex:none;width:3.4rem;height:3.4rem;border-radius:50%;background:var(--certificate-avatar, var(--certificate-band));box-shadow:0 0 0 3px var(--certificate-edge);font-size:2rem;line-height:1}.certificate .certificate-name{margin:0;font-size:clamp(1.7rem,6vw,2.5rem);font-weight:800;line-height:1.15;overflow-wrap:anywhere}.certificate-achievement{font-size:1.05rem}.certificate-statement{display:flex;align-items:center;gap:.8rem;max-width:34rem;margin:.9rem auto .4rem;padding:.7rem 1rem;border:2px dashed var(--certificate-edge);border-radius:16px;background:var(--certificate-band);text-align:left}.certificate-statement p{font-size:clamp(1.05rem,3.4vw,1.3rem);font-weight:800;line-height:1.3}.certificate-seal{flex:none;font-size:2.4rem;line-height:1}.certificate-footer{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.8rem 1.2rem;margin-top:1rem;text-align:left}.certificate-date{display:grid;gap:.15rem}.certificate-line{padding-bottom:.2rem;border-bottom:2px solid var(--certificate-edge);font-weight:700}.certificate-caption{color:var(--certificate-muted);font-size:.8rem}.certificate-signature{display:flex;align-items:flex-end;gap:.4rem}.certificate-bix{flex:none;width:52px;height:52px}.certificate-sign{display:grid;gap:.1rem}.certificate-scrawl{width:112px;height:48px;fill:none;stroke:var(--certificate-signature);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.certificate-bix-body{fill:var(--certificate-bix-1);stroke:var(--certificate-bix-2);stroke-width:2.5}.certificate-bix-stroke{stroke:var(--certificate-bix-2);stroke-width:3;stroke-linecap:round}.certificate-bix-dot{fill:var(--certificate-bix-dot);stroke:var(--certificate-bix-2);stroke-width:1.5}.certificate-bix-pupil{fill:var(--certificate-bix-ink)}.certificate-bix-cheek{fill:var(--certificate-bix-cheek)}.certificate-bix-mouth{fill:none;stroke:var(--certificate-bix-ink);stroke-width:2.5;stroke-linecap:round}@media(max-width:420px){.certificate{border-width:5px}.certificate-statement{gap:.6rem;padding:.6rem .75rem}.certificate-seal{font-size:2rem}}.certificate-dialog{width:min(46rem,100%)}.certificate-dialog-title{margin:0 0 .2rem;font-size:clamp(1.4rem,4.5vw,1.8rem);text-align:center}.certificate-dialog .certificate{margin-top:.6rem}.certificate-dialog-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:1rem}.certificate-dialog-actions button{min-width:10rem;min-height:52px;padding:.6rem 1.4rem;border:3px solid var(--light-accent);border-radius:999px;background:transparent;color:var(--light-text);font:inherit;font-weight:800;cursor:pointer}.certificate-dialog-actions .certificate-print-button{background:var(--light-accent);color:var(--on-light-accent)}body.dark .certificate-dialog-actions button{border-color:var(--dark-accent);color:var(--dark-text)}body.dark .certificate-dialog-actions .certificate-print-button{background:var(--dark-accent);color:var(--on-dark-accent)}@media(max-width:420px){.certificate-dialog-actions button{flex:1 1 100%}}.certificate-print-sheet{display:none}@page certificate{size:A4 portrait;margin:12mm}@media print{body:has(>.certificate-print-sheet){margin:0;background:#fff!important}body:has(>.certificate-print-sheet)>:not(.certificate-print-sheet){display:none!important}.certificate-print-sheet{display:block;page:certificate}.certificate-print-sheet .certificate,body.dark .certificate-print-sheet .certificate{--certificate-ink: #22181c;--certificate-paper: #fff;--certificate-band: #fff6e3;--certificate-edge: #c9a24f;--certificate-muted: #4d3d43;--certificate-accent: #ef626c;--certificate-on-accent: #22181c;--certificate-signature: #2f4f9a;--certificate-bix-1: #ffb9bd;--certificate-bix-2: #ef626c;--certificate-bix-dot: #ffe08a;--certificate-bix-cheek: rgba(239, 98, 108, .55);display:flex;flex-direction:column;justify-content:center;max-width:none;min-height:240mm;margin:0;padding:14mm 12mm;border-width:10px;border-radius:8mm;font-size:15pt;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}.certificate-print-sheet .certificate-label{align-self:center}.certificate-print-sheet .certificate-title{font-size:30pt}.certificate-print-sheet .certificate-name{font-size:40pt}.certificate-print-sheet .certificate-avatar{width:22mm;height:22mm;font-size:34pt}.certificate-print-sheet .certificate-statement{margin:10mm auto 6mm;padding:6mm 8mm}.certificate-print-sheet .certificate-statement p{font-size:19pt}.certificate-print-sheet .certificate-seal{font-size:40pt}.certificate-print-sheet .certificate-footer{margin-top:12mm}.certificate-print-sheet .certificate-bix{width:20mm;height:20mm}.certificate-print-sheet .certificate-scrawl{width:42mm;height:18mm}}.completion-celebration{--celebration-ink: var(--light-text);--celebration-surface: var(--light-panel);--celebration-accent: var(--light-accent);--celebration-on-accent: var(--on-light-accent);--celebration-wash: #fff2d7;--celebration-border: #e9c77e;--celebration-muted: #645057;position:relative;display:grid;place-items:center;min-height:min(720px,calc(100dvh - var(--navbar-height)));padding:2rem 1rem;overflow:hidden;isolation:isolate;color:var(--celebration-ink);background:radial-gradient(circle at 50% 25%,var(--celebration-wash),transparent 60%)}body.dark .completion-celebration{--celebration-ink: var(--dark-text);--celebration-surface: var(--dark-panel);--celebration-accent: var(--dark-accent);--celebration-on-accent: var(--on-dark-accent);--celebration-wash: #423820;--celebration-border: #aa925f;--celebration-muted: #d5c6c8}.completion-celebration-year{min-height:calc(100dvh - var(--navbar-height));--celebration-wash: #ffe4a3}body.dark .completion-celebration-year{--celebration-wash: #584525}.completion-celebration-card{position:relative;z-index:1;width:min(100%,690px);padding:clamp(1.5rem,5vw,3.5rem);border:3px solid var(--celebration-border);border-radius:32px;background:var(--celebration-surface);box-shadow:0 18px 50px var(--panel-shadow);text-align:center;animation:completion-card-in .42s ease-out both}.completion-celebration-challenge .completion-celebration-card,.completion-celebration-practice .completion-celebration-card{max-width:520px;padding:1.5rem;border-color:var(--celebration-accent)}.completion-celebration-challenge .completion-celebration-medal,.completion-celebration-practice .completion-celebration-medal{width:105px;margin:.8rem auto;border-width:6px;font-size:3rem}.completion-celebration-challenge h1,.completion-celebration-practice h1,.completion-celebration h2{font-size:clamp(2rem,5vw,2.5rem)}.completion-celebration-year .completion-celebration-card{width:min(100%,760px);padding:clamp(1.5rem,3vw,2rem);border-width:5px}.completion-celebration-year .completion-celebration-medal{width:132px;margin:.7rem auto}.completion-celebration-year .completion-celebration-stats{margin-top:1rem;padding:.7rem}.completion-celebration-year .completion-celebration-actions{margin-top:1rem}.completion-celebration-eyebrow{color:var(--celebration-muted);font-size:.95rem;font-weight:700;letter-spacing:.04em}.completion-celebration-medal{display:grid;place-items:center;width:clamp(100px,20vw,150px);aspect-ratio:1;margin:1.2rem auto;border:8px solid var(--celebration-border);border-radius:50%;background:var(--celebration-wash);box-shadow:0 8px 0 var(--celebration-border);font-size:clamp(3rem,9vw,5rem);line-height:1;animation:completion-medal-in .58s .12s cubic-bezier(.2,1.5,.5,1) both}.completion-celebration h1,.completion-celebration h2{margin:.5rem 0 0;color:var(--celebration-ink);font-size:clamp(2rem,6vw,3.5rem);line-height:1.15}.completion-celebration-message{max-width:34rem;margin:.8rem auto 0;font-size:clamp(1.05rem,2.5vw,1.3rem);line-height:1.5}.completion-celebration-earned{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}.completion-celebration-earned span{padding:.4rem .7rem;border-radius:999px;background:var(--celebration-wash);color:var(--celebration-ink);font-size:.9rem;font-weight:700}.completion-celebration-stats{display:flex;justify-content:center;gap:clamp(.8rem,4vw,2.5rem);margin:1.6rem auto 0;padding:1rem;border-top:2px solid var(--celebration-border);border-bottom:2px solid var(--celebration-border)}.completion-celebration-stat{display:grid;gap:.1rem;min-width:4rem}.completion-celebration-stat strong{font-size:clamp(1.4rem,4vw,2rem);line-height:1.1}.completion-celebration-stat span{color:var(--celebration-muted);font-size:.85rem}.completion-celebration-actions{display:grid;justify-items:center;gap:.7rem;margin-top:1.8rem}.completion-celebration-primary,.completion-celebration-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:54px;min-width:min(100%,230px);padding:.8rem 1.4rem;border-radius:14px;font-size:1.1rem;font-weight:700;text-decoration:none;transition:transform .16s ease,filter .16s ease}.completion-celebration-primary{gap:.7rem;background:var(--celebration-accent);color:var(--celebration-on-accent)}.completion-celebration-secondary{color:var(--celebration-ink);text-decoration:underline}.completion-celebration-primary:hover,.completion-celebration-secondary:hover{transform:translateY(-2px)}.completion-celebration-primary:focus-visible,.completion-celebration-secondary:focus-visible,.completion-celebration-skip:focus-visible{outline:3px solid var(--celebration-ink);outline-offset:3px}.completion-celebration-skip{min-height:44px;margin-top:.7rem;padding:.4rem .9rem;border:0;background:transparent;color:var(--celebration-muted);text-decoration:underline;cursor:pointer}@media(max-width:500px){.completion-celebration{padding:1rem .75rem}.completion-celebration-card{border-radius:22px}.completion-celebration-primary,.completion-celebration-secondary{width:100%}}@media(prefers-reduced-motion:reduce){.completion-celebration-card,.completion-celebration-medal{animation:none}.completion-celebration-primary,.completion-celebration-secondary{transition:none}}button.completion-celebration-primary,button.completion-celebration-secondary{border:0;font:inherit;font-size:1.1rem;font-weight:700;cursor:pointer}button.completion-celebration-primary{min-height:58px;min-width:min(100%,260px)}button.completion-celebration-secondary{background:transparent}.completion-celebration-skip{display:inline-flex;align-items:center;font-size:.95rem}.completion-celebration h2:focus,.completion-celebration h1:focus{outline:none}.completion-celebration-dots{display:flex;justify-content:center;gap:8px;margin:1.2rem 0 0;padding:0;list-style:none}.completion-celebration-dots li{width:10px;height:10px;border-radius:50%;background:var(--celebration-border);opacity:.4;transition:opacity .2s ease,transform .2s ease}.completion-celebration-dots li.is-done{opacity:1;background:var(--celebration-accent)}.celebration-reward-name{margin:.6rem 0 0;font-size:clamp(1.4rem,4vw,1.9rem);font-weight:800}.celebration-chip{display:inline-block;margin:.8rem 0 0;padding:.35rem .9rem;border-radius:999px;background:var(--celebration-wash);font-weight:800}.celebration-progress{display:grid;place-items:center;margin:1.2rem auto .4rem}.cs-ring{width:clamp(140px,36vw,190px);height:auto}.cs-ring-track{fill:none;stroke:var(--celebration-wash);stroke-width:12}.cs-ring-fill{fill:none;stroke:var(--celebration-accent);stroke-width:12;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset 1.2s cubic-bezier(.2,.9,.3,1)}.cs-ring-text{fill:var(--celebration-ink);font-size:1.7rem;font-weight:800;text-anchor:middle;dominant-baseline:central}.celebration-sticker{display:grid;place-items:center;width:clamp(130px,34vw,170px);aspect-ratio:1;margin:1.2rem auto .4rem;border:8px solid var(--celebration-surface);border-radius:50%;background:var(--celebration-wash);box-shadow:0 0 0 3px var(--celebration-border),0 12px 24px var(--panel-shadow);animation:celebration-sticker-drop .7s cubic-bezier(.2,1.4,.5,1) both}.celebration-sticker-icon{font-size:clamp(4rem,12vw,5.5rem);line-height:1}@keyframes celebration-sticker-drop{0%{opacity:0;transform:translateY(-60px) scale(1.4) rotate(-20deg)}60%{opacity:1;transform:translateY(0) scale(.94) rotate(6deg)}to{transform:none}}.celebration-badge{width:clamp(140px,36vw,180px);aspect-ratio:1;margin:1.2rem auto .4rem;perspective:800px}.celebration-badge-card{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:celebration-badge-flip .9s .45s cubic-bezier(.3,1.3,.5,1) both}.celebration-badge-face{position:absolute;inset:0;display:grid;place-items:center;border:8px solid var(--celebration-border);border-radius:50%;backface-visibility:hidden;box-shadow:0 8px 0 var(--celebration-border);line-height:1}.celebration-badge-front{background:var(--celebration-surface);color:var(--celebration-muted);font-size:4rem;font-weight:800}.celebration-badge-back{background:var(--celebration-wash);font-size:clamp(4rem,12vw,5.5rem);transform:rotateY(180deg)}@keyframes celebration-badge-flip{0%{transform:rotateY(0) scale(.9)}to{transform:rotateY(180deg) scale(1)}}.celebration-avatar{display:grid;place-items:center;width:clamp(120px,30vw,150px);aspect-ratio:1;margin:1.2rem auto .4rem;border-radius:50%;background:var(--celebration-wash);box-shadow:0 0 0 6px var(--celebration-accent);font-size:clamp(4rem,11vw,5rem);animation:completion-medal-in .58s .12s cubic-bezier(.2,1.5,.5,1) both}.completion-celebration-step-certificate .certificate{margin-top:.8rem}.celebration-see-certificate{margin-top:.4rem}.celebration-print{margin-top:.8rem}@media(max-width:500px){.completion-celebration-card{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}button.completion-celebration-primary{width:100%}}@media(prefers-reduced-motion:reduce){.celebration-sticker,.celebration-avatar{animation:celebration-fade .3s ease both}.celebration-badge-card{animation:none;transform:rotateY(180deg)}.completion-celebration-dots li{transition:none}}@keyframes celebration-fade{0%{opacity:0}to{opacity:1}}.completion-celebration-card{padding:clamp(1.1rem,3.5vw,2rem)}.completion-celebration-medal{width:clamp(88px,15vw,118px);margin:.8rem auto;font-size:clamp(2.8rem,7vw,3.8rem)}.completion-celebration h1{font-size:clamp(2rem,5.5vw,2.8rem)}.completion-celebration-stats{margin-top:1rem;padding:.6rem}.completion-celebration-actions{margin-top:1.2rem}button.celebration-claim{display:inline-flex;align-items:center;gap:.5rem;min-height:52px;margin-top:.6rem;padding:.6rem 1.3rem;border:3px solid var(--celebration-accent);border-radius:14px;color:var(--celebration-ink);text-decoration:none}button.celebration-claim:disabled{opacity:.6;cursor:progress}.celebration-avatar.is-claimed{box-shadow:0 0 0 6px var(--celebration-accent),0 0 0 12px var(--celebration-wash)}.celebration-xp{display:grid;gap:.5rem;max-width:340px;margin:.8rem auto 0}.celebration-xp-gain{margin:0 auto;font-size:1.1rem;animation:completion-medal-in .52s .2s cubic-bezier(.2,1.5,.5,1) both}.celebration-levelup{position:relative;display:grid;place-items:center;margin:1rem auto .4rem}.celebration-level-badge{position:absolute;right:calc(50% - 90px);top:0;display:grid;place-items:center;width:52px;height:52px;border:4px solid var(--celebration-surface);border-radius:50%;background:var(--celebration-accent);color:var(--celebration-on-accent);font-size:1.5rem;font-weight:800;animation:completion-medal-in .58s .3s cubic-bezier(.2,1.5,.5,1) both}.celebration-streak{display:flex;align-items:center;justify-content:center;gap:.3rem;margin:1rem auto .4rem}.celebration-streak-flame{font-size:clamp(4rem,12vw,5.5rem);line-height:1;animation:completion-medal-in .58s cubic-bezier(.2,1.5,.5,1) both}.celebration-streak-count{font-size:clamp(3rem,9vw,4.2rem);font-weight:800;color:var(--celebration-ink)}@media(prefers-reduced-motion:reduce){.celebration-xp-gain,.celebration-level-badge,.celebration-streak-flame{animation:celebration-fade .3s ease both}}.progress-error{padding:1.5rem;text-align:center;color:var(--light-text)}.progress-error p{margin-bottom:1rem}.progress-error button{min-height:56px;padding:.7rem 2rem;font:inherit;font-weight:700;color:var(--light-text);background:var(--light-bg);border:2px solid var(--light-accent);border-radius:12px;cursor:pointer}body.dark .progress-error,body.dark .progress-error button{color:var(--dark-text)}body.dark .progress-error button{background:var(--dark-bg);border-color:var(--dark-accent)}.progress-error button:focus-visible{outline:3px solid currentColor;outline-offset:4px}.problem-page{padding:1.75rem 2rem 3rem;text-align:center;animation:fadeIn .6s ease-in-out}.problem-header{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1.75rem}.problem-page h2{font-size:clamp(1.5rem,4.5vw,1.9rem);line-height:1.2;color:var(--light-text)}body.dark .problem-page h2{color:var(--dark-text)}.replay-info{max-width:34rem;padding:.55rem 1.1rem;border-radius:14px;font-size:.98rem;line-height:1.4;color:var(--light-text);background:color-mix(in srgb,var(--light-accent) 14%,transparent)}body.dark .replay-info{color:var(--dark-text);background:color-mix(in srgb,var(--dark-accent) 16%,transparent)}@media(max-width:600px){.problem-page{padding:1.25rem 1rem 2rem}.problem-header{gap:.6rem;margin-bottom:1.25rem}}@media(prefers-reduced-motion:reduce){.problem-page{animation:none}}.coach-mark{--cm-panel: var(--light-panel);--cm-text: var(--light-text);--cm-accent: var(--light-accent);--cm-on-accent: var(--on-light-accent);display:flex;align-items:center;gap:.75rem;max-width:40rem;margin:.75rem auto;padding:.75rem 1rem;border:3px solid var(--cm-accent);border-radius:18px;background:var(--cm-panel);color:var(--cm-text);box-shadow:0 6px 18px var(--panel-shadow);box-sizing:border-box;animation:coach-mark-in .32s ease-out both}body.dark .coach-mark{--cm-panel: var(--dark-panel);--cm-text: var(--dark-text);--cm-accent: var(--dark-accent);--cm-on-accent: var(--on-dark-accent)}.coach-mark-bix{font-size:1.8rem}.coach-mark-text{flex:1;margin:0;font-size:1.1rem;font-weight:700}.coach-mark-close{min-height:48px;min-width:48px;padding:.4rem 1rem;border:none;border-radius:14px;background:var(--cm-accent);color:var(--cm-on-accent);font:inherit;font-weight:700;cursor:pointer}.coach-mark-close:focus-visible{outline:4px solid var(--cm-text);outline-offset:3px}@keyframes coach-mark-in{0%{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.coach-mark{animation:none}}.trophy-room{--tr-ink: var(--light-text);--tr-panel: var(--light-panel);--tr-accent: var(--light-accent);--tr-on-accent: var(--on-light-accent);--tr-wash: #fff2d7;--tr-edge: #e9c77e;--tr-muted: #645057;--tr-locked: rgba(34, 24, 28, .06);--tr-locked-edge: rgba(34, 24, 28, .22);max-width:980px;margin:0 auto;padding:1.5rem 16px 3rem;color:var(--tr-ink)}body.dark .trophy-room{--tr-ink: var(--dark-text);--tr-panel: var(--dark-panel);--tr-accent: var(--dark-accent);--tr-on-accent: var(--on-dark-accent);--tr-wash: #423820;--tr-edge: #aa925f;--tr-muted: #d5c6c8;--tr-locked: rgba(246, 232, 234, .06);--tr-locked-edge: rgba(246, 232, 234, .25)}.trophy-header{text-align:center}.trophy-eyebrow{margin:0;color:var(--tr-muted);font-weight:700;letter-spacing:.04em}.trophy-header h1{margin:.2rem 0 0;font-size:clamp(1.9rem,6vw,2.8rem)}.trophy-back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:.4rem;color:var(--tr-ink);font-weight:700}.trophy-next-row.has-bix{display:flex;align-items:center;gap:.6rem;margin-top:1.5rem}.trophy-next-row.has-bix .trophy-next{flex:1;margin-top:0}.trophy-bix{flex:none}@media(max-width:560px){.trophy-next-row.has-bix{flex-direction:column}.trophy-next-row.has-bix .trophy-next{width:100%}}.trophy-loading{text-align:center;margin-top:2rem}.trophy-summary{display:flex;justify-content:center;flex-wrap:wrap;gap:.7rem;margin:1.2rem 0 0;padding:0;list-style:none}.trophy-summary li{padding:.45rem 1rem;border-radius:999px;background:var(--tr-wash);font-weight:600}.trophy-summary strong{font-size:1.2rem}.trophy-next{display:flex;align-items:center;gap:1rem;margin:1.5rem 0 0;padding:1rem 1.2rem;border:3px solid var(--tr-accent);border-radius:22px;background:var(--tr-panel);box-shadow:0 8px 24px var(--panel-shadow)}.trophy-next-disc{display:grid;place-items:center;flex:none;width:64px;height:64px;border-radius:50%;background:var(--tr-wash);font-size:2.2rem}.trophy-next-text{flex:1}.trophy-next-text h2{margin:0;font-size:1.2rem}.trophy-next-text p{margin:.2rem 0 0}.trophy-next-play{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:52px;padding:.6rem 1.3rem;border-radius:14px;background:var(--tr-accent);color:var(--tr-on-accent);font-weight:800;text-align:center;text-decoration:none}.trophy-next-play:focus-visible{outline:3px solid var(--tr-ink);outline-offset:3px}.trophy-section{margin-top:2rem}.trophy-section h2{margin:0 0 .6rem;font-size:1.5rem}.trophy-section-note{margin:-.3rem 0 .8rem;color:var(--tr-muted)}.trophy-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:.8rem;margin:0;padding:0;list-style:none}.trophy-badge{display:grid;justify-items:center;align-content:start;gap:.35rem;padding:1rem .8rem;border-radius:20px;text-align:center}.trophy-badge.is-held{border:3px solid var(--tr-edge);background:var(--tr-wash);box-shadow:0 5px 0 var(--tr-edge)}.trophy-badge.is-locked{border:3px dashed var(--tr-locked-edge);background:var(--tr-locked)}.trophy-badge-icon{font-size:3rem;line-height:1.1}.trophy-badge.is-locked .trophy-badge-icon{filter:grayscale(1) brightness(0);opacity:.25}body.dark .trophy-badge.is-locked .trophy-badge-icon{filter:grayscale(1) brightness(0) invert(1)}.trophy-badge-note{display:grid;gap:.2rem;color:var(--tr-muted);font-size:.9rem}.trophy-badge-date{font-size:.8rem;font-weight:700}.trophy-meter{position:relative;display:block;width:100%;height:20px;border-radius:999px;background:var(--tr-locked);box-shadow:inset 0 0 0 1px var(--tr-locked-edge);overflow:hidden}.trophy-meter>span{display:block;height:100%;background:var(--tr-accent)}.trophy-meter em{position:absolute;inset:0;display:grid;place-items:center;font-size:.75rem;font-style:normal;font-weight:800}.trophy-year{margin-top:.8rem;border:2px solid var(--tr-locked-edge);border-radius:20px;background:var(--tr-panel)}.trophy-year summary{display:flex;align-items:center;gap:1rem;min-height:56px;padding:.8rem 1rem;cursor:pointer;list-style:none}.trophy-year summary::-webkit-details-marker{display:none}.trophy-year summary:after{content:"▾";margin-left:auto;font-size:1.3rem;transition:transform .2s ease}.trophy-year[open] summary:after{transform:rotate(180deg)}.trophy-year summary:focus-visible{outline:3px solid var(--tr-ink);outline-offset:-3px;border-radius:18px}.trophy-year-title{display:grid;gap:.1rem}.trophy-year-title strong{font-size:1.2rem}.trophy-year-title span{color:var(--tr-muted)}.tr-ring{flex:none;width:60px;height:auto}.tr-ring-track{fill:none;stroke:var(--tr-locked);stroke-width:12}.tr-ring-fill{fill:none;stroke:var(--tr-accent);stroke-width:12;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset 1.1s cubic-bezier(.2,.9,.3,1)}.tr-ring-text{fill:var(--tr-ink);font-size:2rem;font-weight:800;text-anchor:middle;dominant-baseline:central}.trophy-quest{padding:0 1rem 1rem}.trophy-quest h3{margin:.6rem 0;font-size:1.05rem}.trophy-stickers{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.7rem;margin:0;padding:0;list-style:none}.trophy-sticker{display:grid;justify-items:center;align-content:start;gap:.25rem;text-align:center;font-size:.85rem}.trophy-sticker-disc{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;font-size:2.3rem}.trophy-sticker.is-earned .trophy-sticker-disc{border:5px solid var(--tr-panel);background:var(--tr-wash);box-shadow:0 0 0 2px var(--tr-edge),0 6px 12px var(--panel-shadow)}.trophy-sticker.is-locked .trophy-sticker-disc{border:3px dashed var(--tr-locked-edge);background:var(--tr-locked)}.trophy-sticker.is-locked .trophy-sticker-disc{color:transparent;text-shadow:0 0 0 var(--tr-locked-edge)}.trophy-sticker-name{font-weight:700;line-height:1.25}.trophy-sticker-note{color:var(--tr-muted);font-size:.8rem}.trophy-sticker.is-earned .trophy-sticker-note{color:var(--tr-ink);font-weight:700}@media(max-width:560px){.trophy-next{flex-wrap:wrap}.trophy-next-play{width:100%}.trophy-badges{grid-template-columns:repeat(2,1fr)}.trophy-stickers{grid-template-columns:repeat(3,1fr)}.trophy-sticker-disc{width:64px;height:64px;font-size:2rem}}@media(prefers-reduced-motion:reduce){.tr-ring-fill,.trophy-year summary:after{transition:none}}.trophy-badge,.trophy-sticker{position:relative}.trophy-new{position:absolute;top:-8px;right:-6px;padding:.1rem .45rem;border-radius:999px;background:var(--tr-accent);color:var(--tr-on-accent);font-size:.7rem;font-weight:800;letter-spacing:.04em;animation:trophy-new-pop .7s cubic-bezier(.2,1.6,.5,1) both}@keyframes trophy-new-pop{0%{transform:scale(.3);opacity:0}to{transform:none;opacity:1}}.trophy-stats{display:grid;gap:.4rem;max-width:420px;margin:1rem auto 0;text-align:center}.trophy-stats p{margin:0;font-weight:700}@media(prefers-reduced-motion:reduce){.trophy-new{animation:none}}.trophy-retry{min-height:48px;min-width:140px;margin-top:.8rem;padding:0 1.4rem;border:0;border-radius:999px;background:var(--light-accent);color:var(--on-light-accent);font:inherit;font-weight:800;cursor:pointer}body.dark .trophy-retry{background:var(--dark-accent);color:var(--on-dark-accent)}.trophy-sticker-button{display:grid;justify-items:center;align-content:start;gap:.25rem;width:100%;min-height:48px;padding:.3rem .2rem .4rem;border:0;border-radius:16px;background:transparent;color:inherit;font:inherit;text-align:center;cursor:pointer}.trophy-sticker-button:hover{background:var(--tr-locked)}.trophy-sticker-button:focus-visible{outline:3px solid var(--tr-ink);outline-offset:2px}.trophy-sticker-cert{color:var(--tr-ink);font-size:.78rem;font-weight:700;text-decoration:underline}.trophy-quest-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.2rem .8rem}.trophy-certs{display:flex;flex-wrap:wrap;gap:.6rem;padding:0 1rem .4rem}.trophy-cert-button{display:inline-flex;align-items:center;justify-content:center;gap:.2rem;min-height:48px;padding:.4rem 1.1rem;border:3px solid var(--tr-edge);border-radius:999px;background:var(--tr-wash);color:var(--tr-ink);font:inherit;font-weight:800;cursor:pointer}.trophy-cert-button:hover{filter:brightness(1.04)}.trophy-cert-button:focus-visible{outline:3px solid var(--tr-ink);outline-offset:3px}@media(max-width:560px){.trophy-quest-head .trophy-cert-button{width:100%;margin-bottom:.4rem}}.auth-page{--au-bg: var(--light-bg);--au-text: var(--light-text);--au-panel: var(--light-panel);--au-accent: var(--light-accent);--au-on-accent: var(--on-light-accent);--au-border: var(--map-border);--au-muted: var(--map-muted);--au-danger: var(--danger-text);--au-shadow: var(--panel-shadow);--au-sky-top: #ffe3e7;--au-sky-bottom: #f8ecee;--au-glyph: rgba(239, 98, 108, .26);--au-cta: #c33d47;--au-on-cta: #ffffff;--au-cta-shade: #92262f;--au-soft: rgba(239, 98, 108, .1);--au-good: #1a6b46;--au-step-distance: 34px;position:relative;isolation:isolate;overflow:hidden;min-height:calc(100dvh - var(--navbar-height));display:flex;align-items:flex-start;justify-content:center;padding:clamp(1.25rem,5vw,3rem) 1rem 3rem;color:var(--au-text);background:linear-gradient(180deg,var(--au-sky-top),var(--au-sky-bottom))}body.dark .auth-page{--au-bg: var(--dark-bg);--au-text: var(--dark-text);--au-panel: var(--dark-panel);--au-accent: var(--dark-accent);--au-on-accent: var(--on-dark-accent);--au-sky-top: #33262c;--au-sky-bottom: #241a1e;--au-glyph: rgba(132, 220, 207, .22);--au-cta: #1f7d70;--au-on-cta: #ffffff;--au-cta-shade: #13544b;--au-soft: rgba(132, 220, 207, .12);--au-good: #7fdba8}.auth-page .auth-sky{position:absolute;inset:0;z-index:-1;pointer-events:none}.auth-page .auth-glyph{position:absolute;color:var(--au-glyph);font-weight:700;line-height:1;animation-name:auth-drift;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.auth-page .reveal-armed{opacity:0;transform:translateY(20px) scale(.98);transition:opacity .46s ease-out,transform .46s cubic-bezier(.22,1.2,.36,1)}.auth-page .reveal-armed.is-revealed{opacity:1;transform:none}.auth-page .auth-card{position:relative;width:100%;background-color:var(--au-panel);border-radius:22px;padding:clamp(1.5rem,4vw,2.25rem) clamp(1.1rem,4vw,1.9rem);box-shadow:0 10px 30px var(--au-shadow);animation:auth-card-in .52s cubic-bezier(.22,1.2,.36,1) both}.auth-page .auth-card.is-narrow{max-width:27rem}.auth-page .auth-card.is-wide{max-width:40rem}.auth-page .auth-title{font-size:clamp(1.45rem,4.5vw,1.8rem);line-height:1.2;margin-bottom:.45rem;color:var(--au-text)}.auth-page .auth-intro{font-size:.95rem;color:var(--au-muted);margin-bottom:1.4rem}.auth-page .auth-form{display:grid;gap:1.1rem}.auth-page .auth-field{display:grid;gap:.35rem}.auth-page .auth-label{font-weight:600;font-size:.95rem}.auth-page .auth-input{width:100%;min-height:48px;padding:.6rem .75rem;border-radius:12px;border:2px solid var(--au-border);background-color:var(--au-panel);color:var(--au-text);font:inherit;transition:border-color .2s,box-shadow .2s}.auth-page .auth-input:focus{outline:none;border-color:var(--au-accent);box-shadow:0 0 0 4px var(--au-soft)}.auth-page .auth-input.invalid{border-color:var(--au-danger)}.auth-page .auth-input-wrap{position:relative;display:flex}.auth-page .auth-input-wrap .auth-input{padding-inline-end:3.6rem}.auth-page .auth-peek{position:absolute;inset-block:0;inset-inline-end:.3rem;min-width:44px;border:none;border-radius:10px;background:none;color:var(--au-muted);font-size:1.15rem;cursor:pointer}.auth-page .auth-peek:hover,.auth-page .auth-peek:focus-visible{color:var(--au-text)}.auth-page .auth-hint{font-size:.85rem;color:var(--au-muted)}.auth-page .auth-error{font-size:.85rem;font-weight:600;color:var(--au-danger)}.auth-page .auth-btn{min-height:52px;padding-inline:1.2rem;border:none;border-radius:14px;font:inherit;font-size:1.05rem;font-weight:700;cursor:pointer;background-color:var(--au-cta);color:var(--au-on-cta);box-shadow:0 4px 0 var(--au-cta-shade);transition:filter .2s,transform .15s,box-shadow .15s}.auth-page .auth-btn:hover:not(:disabled,[aria-disabled=true]),.auth-page .auth-btn:focus-visible:not(:disabled){filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 6px 0 var(--au-cta-shade)}.auth-page .auth-btn:active:not(:disabled,[aria-disabled=true]){transform:translateY(2px);box-shadow:0 2px 0 var(--au-cta-shade)}.auth-page .auth-btn:disabled,.auth-page .auth-btn[aria-disabled=true]{cursor:not-allowed;opacity:.65;box-shadow:0 4px 0 var(--au-cta-shade);transform:none}.auth-page .auth-btn-quiet{background:none;color:var(--au-text);border:2px solid var(--au-border);box-shadow:none;font-size:.95rem;min-height:46px}.auth-page .auth-btn-quiet:hover:not(:disabled,[aria-disabled=true]),.auth-page .auth-btn-quiet:focus-visible:not(:disabled){border-color:var(--au-accent);box-shadow:none;filter:none}.auth-page .auth-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.3rem}.auth-page .auth-actions .auth-btn{flex:1 1 10rem}.auth-page .auth-switch{margin-top:1.4rem;font-size:.95rem;text-align:center;color:var(--au-muted)}.auth-page .auth-switch a{color:var(--au-text);font-weight:700;text-decoration:underline}@keyframes auth-drift{0%,to{transform:translateZ(0) rotate(0)}33%{transform:translate3d(12px,-20px,0) rotate(7deg)}66%{transform:translate3d(-10px,-9px,0) rotate(-5deg)}}@keyframes auth-card-in{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}@keyframes auth-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px) rotate(-1.2deg)}40%{transform:translate(7px) rotate(1.2deg)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@media(prefers-reduced-motion:reduce){.auth-page .auth-glyph,.auth-page .auth-card{animation:none}.auth-page .reveal-armed,.auth-page .auth-btn,.auth-page .auth-input{transition:none}.auth-page .auth-btn:hover,.auth-page .auth-btn:active{transform:none}}.auth-page .lg-greeting span{display:inline-block;animation:lg-letter-in .48s cubic-bezier(.22,1.2,.36,1) both;animation-delay:calc(var(--letter-index, 0) * 42ms)}.auth-page .lg-faces{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1.2rem;padding:0;list-style:none}.auth-page .lg-face{--face-colour: var(--profile-colour-sky);display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .9rem .45rem .5rem;border-radius:999px;font-weight:700;background-color:var(--face-colour);color:var(--on-light-accent);animation:lg-face-in .46s cubic-bezier(.22,1.2,.36,1) both;animation-delay:calc(var(--face-index, 0) * 90ms + .18s)}.auth-page .lg-face-avatar{font-size:1.6rem;line-height:1}.auth-page .lg-face-name{font-size:.98rem}.auth-page .lg-as{margin-bottom:1.2rem;font-size:.9rem;color:var(--au-muted);word-break:break-word}.auth-page .lg-as strong{color:var(--au-text)}.auth-page .lg-hidden-field{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.auth-page .lg-not-you{display:block;width:100%;margin-top:1rem;padding:.6rem;min-height:44px;border:none;background:none;font:inherit;font-size:.92rem;font-weight:600;color:var(--au-muted);text-decoration:underline;cursor:pointer;border-radius:10px}.auth-page .lg-not-you:hover,.auth-page .lg-not-you:focus-visible{color:var(--au-text);background-color:var(--au-soft)}@keyframes lg-letter-in{0%{opacity:0;transform:translateY(12px) rotate(-7deg)}to{opacity:1;transform:none}}@keyframes lg-face-in{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.auth-page .lg-greeting span,.auth-page .lg-face{animation:none}}:is(.profile-builder,.pb-pickers){--pb-text: var(--light-text);--pb-panel: var(--light-panel);--pb-accent: var(--light-accent);--pb-on-accent: var(--on-light-accent);--pb-border: var(--map-border);--pb-danger: var(--danger-text);--pb-shadow: var(--panel-shadow);--pb-on-colour: var(--on-light-accent);--pb-tap: 64px}.profile-builder{display:block;text-align:left;color:var(--pb-text)}body.dark :is(.profile-builder,.pb-pickers){--pb-text: var(--dark-text);--pb-panel: var(--dark-panel);--pb-accent: var(--dark-accent);--pb-on-accent: var(--on-dark-accent)}.profile-builder:not(.is-bare){max-width:34rem;margin:2rem auto 0;padding:1.5rem 1.25rem;border-radius:24px;background-color:var(--pb-panel);box-shadow:0 6px 16px var(--pb-shadow)}.profile-builder .pb-title{font-size:1.4rem;margin-bottom:1rem;text-align:center}.profile-builder .pb-label{display:block;font-weight:700;font-size:1.05rem;margin:1rem 0 .5rem}.profile-builder .pb-name-input{width:100%;min-height:56px;padding:.6rem .9rem;font:inherit;font-size:1.15rem;border-radius:14px;border:3px solid var(--pb-border);background-color:var(--pb-panel);color:var(--pb-text);transition:border-color .15s ease}.profile-builder .pb-name-input:focus{outline:none;border-color:var(--pb-accent)}.profile-builder .pb-name-input.invalid{border-color:var(--pb-danger)}:is(.profile-builder,.pb-pickers) .pb-avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--pb-tap),1fr));gap:.6rem}:is(.profile-builder,.pb-pickers) .pb-avatar-option{min-width:var(--pb-tap);min-height:var(--pb-tap);display:flex;align-items:center;justify-content:center;font-size:2rem;cursor:pointer;border-radius:18px;border:3px solid var(--pb-border);background-color:var(--pb-panel);color:var(--pb-text);transition:transform .15s ease,border-color .15s ease}:is(.profile-builder,.pb-pickers) .pb-avatar-option:hover,:is(.profile-builder,.pb-pickers) .pb-avatar-option:focus-visible{outline:none;transform:scale(1.08);border-color:var(--pb-accent)}:is(.profile-builder,.pb-pickers) .pb-avatar-option.is-locked{cursor:default;opacity:.55;font-size:1.5rem;border-style:dashed}:is(.profile-builder,.pb-pickers) .pb-avatar-option.selected{border-color:var(--pb-accent);background-color:var(--pb-accent);color:var(--pb-on-accent)}:is(.profile-builder,.pb-pickers) .pb-colour-row{display:flex;flex-wrap:wrap;gap:.6rem}:is(.profile-builder,.pb-pickers) .pb-colour-option{--pb-swatch: var(--profile-colour-sky);width:var(--pb-tap);height:var(--pb-tap);border-radius:50%;cursor:pointer;border:4px solid transparent;background-color:var(--pb-swatch);transition:transform .15s ease,border-color .15s ease}:is(.profile-builder,.pb-pickers) .pb-colour-option:hover,:is(.profile-builder,.pb-pickers) .pb-colour-option:focus-visible{outline:none;transform:scale(1.08)}:is(.profile-builder,.pb-pickers) .pb-colour-option.selected{border-color:var(--pb-accent);transform:scale(1.08)}.profile-builder .pb-year-row{display:flex;flex-wrap:wrap;gap:.5rem}.profile-builder .pb-year{display:grid;gap:.1rem;justify-items:center;min-height:52px;padding:.5rem .9rem;border-radius:14px;border:3px solid var(--pb-border);background-color:var(--pb-panel);color:var(--pb-text);font:inherit;cursor:pointer;transition:transform .15s ease,border-color .15s ease}.profile-builder .pb-year:hover,.profile-builder .pb-year:focus-visible{outline:none;transform:scale(1.04);border-color:var(--pb-accent)}.profile-builder .pb-year.selected{border-color:var(--pb-accent);background-color:var(--pb-accent);color:var(--pb-on-accent)}.profile-builder .pb-year-name{font-weight:700;font-size:.98rem}.profile-builder .pb-year-note{font-size:.68rem;opacity:.8}.profile-builder .pb-preview{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin-top:1.25rem}.profile-builder .pb-preview-label{font-weight:700}.profile-builder .pb-preview-chip{--pb-chip-colour: var(--profile-colour-sky);display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:999px;font-weight:700;font-size:1.1rem;background-color:var(--pb-chip-colour);color:var(--pb-on-colour);transition:background-color .2s ease}.profile-builder .pb-error{margin-top:.9rem;font-weight:700;color:var(--pb-danger)}.profile-builder .pb-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.profile-builder .pb-save-btn{flex:1 1 12rem;min-height:var(--pb-tap);border:none;border-radius:16px;font:inherit;font-size:1.15rem;font-weight:700;cursor:pointer;background-color:var(--pb-accent);color:var(--pb-on-accent);transition:filter .2s ease}.profile-builder .pb-save-btn:hover:not(:disabled),.profile-builder .pb-save-btn:focus-visible:not(:disabled){filter:brightness(1.08)}.profile-builder .pb-save-btn:disabled{cursor:not-allowed;opacity:.65}.profile-builder .pb-cancel-btn{flex:0 1 8rem;min-height:var(--pb-tap);border-radius:16px;font:inherit;font-size:1rem;font-weight:700;cursor:pointer;border:3px solid var(--pb-border);background-color:var(--pb-panel);color:var(--pb-text)}.profile-builder .pb-cancel-btn:hover,.profile-builder .pb-cancel-btn:focus-visible{outline:none;border-color:var(--pb-accent)}@media(prefers-reduced-motion:reduce){:is(.profile-builder,.pb-pickers) .pb-avatar-option,:is(.profile-builder,.pb-pickers) .pb-colour-option,.profile-builder .pb-year,.profile-builder .pb-name-input,.profile-builder .pb-preview-chip,.profile-builder .pb-save-btn{transition:none}:is(.profile-builder,.pb-pickers) .pb-avatar-option:hover,:is(.profile-builder,.pb-pickers) .pb-colour-option:hover,.profile-builder .pb-year:hover,:is(.profile-builder,.pb-pickers) .pb-colour-option.selected{transform:none}}.auth-page .sf{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.auth-page .sf-stars{display:flex;justify-content:center;gap:.6rem;margin:0;padding:0;list-style:none}.auth-page .sf-star{width:1.4rem;height:1.4rem;border-radius:50%;display:grid;place-items:center;border:2px solid var(--au-border);font-size:.9rem;color:var(--au-on-accent);transition:background-color .3s ease,transform .3s cubic-bezier(.22,1.2,.36,1)}.auth-page .sf-star.is-current{border-color:var(--au-accent);transform:scale(1.15)}.auth-page .sf-star.is-done{background:var(--au-accent);border-color:var(--au-accent)}.auth-page .sf-bix{display:flex;align-items:center;gap:.75rem}.auth-page .sf-bix-mascot{width:150px;zoom:.5;flex:none}.auth-page .sf-bubble{margin:0;padding:.7rem 1rem;border-radius:1rem 1rem 1rem .25rem;background:var(--au-bg);color:var(--au-text);font-size:1.05rem;font-weight:600}.auth-page .sf-family{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem .75rem;margin:0;padding:0;list-style:none}.auth-page .sf-family-face{display:flex;flex-direction:column;align-items:center;gap:.2rem;max-width:4.5rem;animation:sf-face-in .52s cubic-bezier(.22,1.2,.36,1) both}.auth-page .sf-family-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;background:var(--sf-face, var(--au-bg))}.auth-page .sf-family-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;color:var(--au-text)}@keyframes sf-face-in{0%{transform:translateY(60px) scale(1.6);opacity:0}to{transform:none;opacity:1}}.auth-page .sf-panel{animation:sf-step-in .38s cubic-bezier(.22,1.1,.36,1) both}.auth-page .sf-panel[data-direction=back]{animation-name:sf-step-in-back}@keyframes sf-step-in{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}@keyframes sf-step-in-back{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:none}}.auth-page .sf-panel .auth-title:focus{outline:none}.auth-page .sf .auth-btn{min-height:64px}.auth-page .sf .auth-input{min-height:56px}.auth-page .sf .auth-input-wrap .auth-input{padding-inline-end:4.2rem}.auth-page .sf .auth-peek{min-width:56px;min-height:48px}.auth-page .sf-cards{display:grid;grid-template-columns:1fr;gap:.75rem}.auth-page .sf-card{position:relative;min-height:64px;padding:.9rem 2.75rem .9rem 1rem;border-radius:1rem;text-align:left;display:grid;grid-template-columns:auto 1fr;column-gap:.75rem;align-items:center;border:2px solid var(--au-border);background:var(--au-panel);color:var(--au-text);font:inherit;cursor:pointer;transition:transform .16s cubic-bezier(.22,1.2,.36,1),border-color .16s ease}.auth-page .sf-card:active{transform:scale(.96)}.auth-page .sf-card:focus-visible{outline:3px solid var(--au-accent);outline-offset:2px}.auth-page .sf-card.is-chosen{border-color:var(--au-accent)}.auth-page .sf-card-icon{grid-row:span 2;font-size:2rem}.auth-page .sf-card-title{font-size:1.15rem;font-weight:700}.auth-page .sf-card-blurb{color:var(--au-muted);font-size:.95rem}.auth-page .sf-card-check{position:absolute;top:.5rem;right:.6rem;width:1.6rem;height:1.6rem;border-radius:50%;display:grid;place-items:center;background:var(--au-accent);color:var(--au-on-accent);transform:scale(0);transition:transform .22s cubic-bezier(.22,1.6,.36,1)}.auth-page .sf-card.is-chosen .sf-card-check{transform:scale(1)}@media(min-width:640px){.auth-page .sf-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-page .sf-cards:has(>:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))}}.auth-page .sf-wheel{position:relative;box-sizing:border-box;height:15rem;overflow-y:auto;overscroll-behavior-y:contain;scroll-snap-type:y mandatory;scroll-padding-block:.5rem;scrollbar-width:thin;scrollbar-color:var(--au-muted) var(--au-bg);margin:0;padding:.5rem .75rem;list-style:none;border:2px solid var(--au-border);border-radius:1.25rem;background:var(--au-bg)}.auth-page .sf-wheel:focus-visible{outline:3px solid var(--au-cta);outline-offset:3px}.auth-page .sf-wheel-item{position:relative;box-sizing:border-box;scroll-snap-align:center;min-height:4rem;display:grid;place-items:center;padding:.5rem 2.5rem;margin-block:.25rem;border:2px solid transparent;border-radius:.85rem;font-size:1.35rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--au-text);cursor:pointer;transition:background-color .16s ease,border-color .16s ease}@media(hover:hover){.auth-page .sf-wheel-item:hover{background:var(--au-panel);border-color:var(--au-border)}}.auth-page .sf-wheel-item.is-chosen{border-color:var(--au-accent);background:var(--au-accent);color:var(--au-on-accent);font-weight:800}.auth-page .sf-wheel-item.is-chosen:after{content:"✓";position:absolute;right:1rem;font-size:1.2rem}.auth-page .sf-code{display:flex;justify-content:center;gap:.3rem}.auth-page .sf-code.is-invalid{animation:auth-shake .4s ease both}.auth-page .sf-code-box{flex:1 1 0;min-width:0;max-width:4rem;height:4rem;padding:0;border-radius:.75rem;text-align:center;font-size:1.8rem;font-weight:700;border:2px solid var(--au-border);background:var(--au-panel);color:var(--au-text)}.auth-page .sf-code-box:focus{border-color:var(--au-accent)}.auth-page .sf-code-box:focus-visible{outline:3px solid var(--au-accent);outline-offset:2px}.auth-page .sf-code-msg{margin:0;font-size:1rem;font-weight:600;color:var(--au-text)}.auth-page .sf-code.is-invalid .sf-code-box{border-style:dashed;border-color:var(--au-accent)}.auth-page .sf-continue{position:sticky;bottom:calc(env(safe-area-inset-bottom,0px) + .75rem)}.auth-page .sf-continue .auth-btn{width:100%;min-height:64px;font-size:1.15rem}.auth-page .sf-handover{text-align:center;display:grid;gap:1.25rem;justify-items:center}.auth-page .sf-handover-face{width:9rem;height:9rem;border-radius:50%;display:grid;place-items:center;font-size:5rem;background:var(--sf-face, var(--au-bg))}.auth-page .sf-handover .auth-btn{min-height:80px;font-size:1.4rem;padding-inline:2rem;animation:sf-pulse 1.6s ease-in-out infinite}@keyframes sf-pulse{50%{transform:scale(1.05)}}.auth-page .su-strength{font-weight:600;transition:color .2s ease}.auth-page .su-strength.is-short{color:var(--au-danger)}.auth-page .su-strength.is-strong,.auth-page .su-strength.is-good{color:var(--au-good)}.auth-page .sf-summary{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.auth-page .sf-add{margin-top:1.5rem}.auth-page .sf-summary-card{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;padding:.75rem;border-radius:1rem;border:2px solid var(--au-border)}@media(min-width:900px){.auth-page .sf{grid-template-columns:9rem minmax(0,1fr);column-gap:1.5rem}.auth-page .sf>:not(.sf-bix){grid-column:2}.auth-page .sf-bix{grid-column:1;grid-row:1 / span 4;flex-direction:column;align-self:start}.auth-page .sf-bix-mascot{zoom:.8}.auth-page .sf-cards:has(>:nth-child(5)){grid-template-columns:repeat(2,minmax(0,1fr))}.auth-page .sf-bubble{border-radius:1rem}}@media(prefers-reduced-motion:reduce){.auth-page .sf-panel,.auth-page .sf-panel[data-direction=back]{animation:sf-fade .2s ease both}.auth-page .sf-family-face,.auth-page .sf-handover .auth-btn,.auth-page .sf-code.is-invalid{animation:none}.auth-page .su-strength,.auth-page .sf-card,.auth-page .sf-card-check,.auth-page .sf-wheel-item,.auth-page .sf-star{transition:none}}@keyframes sf-fade{0%{opacity:0}to{opacity:1}}.floating-glyph-page{--fg-top: #ffe3e7;--fg-bottom: #f8ecee;--fg-ink: rgba(239, 98, 108, .26);position:relative;isolation:isolate;background:linear-gradient(180deg,var(--fg-top),var(--fg-bottom));overflow-x:clip}body.dark .floating-glyph-page{--fg-top: #33262c;--fg-bottom: #241a1e;--fg-ink: rgba(132, 220, 207, .22)}.floating-glyph-page .floating-glyph-background{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.floating-glyph-page .floating-glyph{position:absolute;left:var(--fg-mobile-left, var(--fg-base-left));top:var(--fg-mobile-top, var(--fg-base-top));color:var(--fg-ink);font-weight:700;line-height:1;animation:floating-glyph-drift ease-in-out infinite}@keyframes floating-glyph-drift{0%,to{transform:translateZ(0) rotate(0)}33%{transform:translate3d(13px,-20px,0) rotate(8deg)}66%{transform:translate3d(-11px,-9px,0) rotate(-6deg)}}@media(max-width:480px){.floating-glyph-page .floating-glyph:nth-child(1){--fg-mobile-top: 1rem;--fg-mobile-left: 10%}.floating-glyph-page .floating-glyph:nth-child(2){--fg-mobile-top: 2rem;--fg-mobile-left: 35%}.floating-glyph-page .floating-glyph:nth-child(3){--fg-mobile-top: .9rem;--fg-mobile-left: 64%}.floating-glyph-page .floating-glyph:nth-child(4){--fg-mobile-top: 1.8rem;--fg-mobile-left: 86%}}@media(prefers-reduced-motion:reduce){.floating-glyph-page .floating-glyph{animation:none}}.profiles-page{--pf-text: var(--light-text);--pf-panel: var(--light-panel);--pf-accent: var(--light-accent);--pf-on-accent: var(--on-light-accent);--pf-border: var(--map-border);--pf-muted: var(--map-muted);--pf-danger: var(--danger-text);--pf-shadow: var(--panel-shadow);--pf-on-colour: var(--on-light-accent);--pf-card-size: 11.5rem;min-height:calc(100dvh - var(--navbar-height));padding:2rem 1rem 3rem;color:var(--pf-text);text-align:center}body.dark .profiles-page{--pf-text: var(--dark-text);--pf-panel: var(--dark-panel);--pf-accent: var(--dark-accent);--pf-on-accent: var(--on-dark-accent)}.profiles-page .profiles-header{margin-bottom:2rem}.profiles-page .profiles-title{font-size:2.2rem;color:var(--pf-text);margin-bottom:.4rem}.profiles-page .profiles-subtitle{font-size:1.15rem;opacity:.9}.profiles-page .profiles-loading{font-size:1.2rem;padding:3rem 1rem}.profiles-page .profiles-signedout{max-width:28rem;margin:0 auto;background-color:var(--pf-panel);border-radius:20px;padding:2rem 1.5rem;box-shadow:0 4px 14px var(--pf-shadow)}.profiles-page .profiles-signin-link{display:inline-flex;align-items:center;justify-content:center;margin-top:1.25rem;min-height:48px;padding:0 1.4rem;border-radius:12px;font-weight:700;background-color:var(--pf-accent);color:var(--pf-on-accent)}.profiles-page .profiles-signin-link:hover,.profiles-page .profiles-signin-link:focus-visible{filter:brightness(1.08)}.profiles-page .profiles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--pf-card-size),max-content));justify-content:center;gap:1.25rem;max-width:60rem;margin:0 auto;list-style:none}.profiles-page .profiles-grid-item{display:flex}.profiles-page .profiles-card{--profile-card-colour: var(--profile-colour-sky);width:var(--pf-card-size);min-height:var(--pf-card-size);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1rem .75rem;border:4px solid transparent;border-radius:28px;cursor:pointer;font:inherit;background-color:var(--profile-card-colour);color:var(--pf-on-colour);box-shadow:0 6px 16px var(--pf-shadow);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.profiles-page .profiles-card:hover:not(:disabled),.profiles-page .profiles-card:focus-visible:not(:disabled){transform:translateY(-4px) scale(1.03);filter:brightness(1.06)}.profiles-page .profiles-card:focus-visible{outline:none;border-color:var(--pf-accent)}.profiles-page .profiles-card:disabled{cursor:default}.profiles-page .profiles-card.chosen{transform:scale(1.06);border-color:var(--pf-accent)}.profiles-page .profiles-avatar{font-size:3.4rem;line-height:1.1}.profiles-page .profiles-name{font-size:1.2rem;font-weight:700;overflow-wrap:anywhere}.profiles-page .profiles-go{font-size:.9rem;font-weight:600;opacity:.85}.profiles-page .profiles-progress{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.1rem}.profiles-page .pf-ring{flex:none;width:clamp(42px,11vw,50px);height:auto}.profiles-page .pf-ring-track{fill:none;stroke:var(--pf-on-colour);opacity:.22;stroke-width:13}.profiles-page .pf-ring-fill{fill:none;stroke:var(--pf-on-colour);stroke-width:13;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset 1.1s cubic-bezier(.2,.9,.3,1)}.profiles-page .pf-ring-text{fill:var(--pf-on-colour);font-size:2.6rem;font-weight:700;text-anchor:middle;dominant-baseline:central}.profiles-page .profiles-progress-text{display:flex;flex-direction:column;text-align:left;line-height:1.25}.profiles-page .profiles-progress-where{font-size:.72rem;font-weight:700}.profiles-page .profiles-progress-count{font-size:.7rem;opacity:.85}.profiles-page .profiles-progress-new{font-size:.78rem;font-weight:600;opacity:.9;margin-top:.1rem}.profiles-page .profiles-add-card{background-color:var(--pf-panel);color:var(--pf-text);border:4px dashed var(--pf-border)}.profiles-page .profiles-footer{margin-top:2.5rem;font-size:.95rem;color:var(--pf-muted)}.profiles-page .profiles-footer a{text-decoration:underline;font-weight:600}@media(max-width:480px){.profiles-page{--pf-card-size: 9.75rem;padding:5.25rem .75rem 2.5rem}.profiles-page .profiles-title{font-size:1.7rem}.profiles-page .profiles-avatar{font-size:2.8rem}.profiles-page .profiles-grid{gap:.9rem}}@media(prefers-reduced-motion:reduce){.profiles-page .profiles-card,.profiles-page .pf-ring-fill{transition:none}}.parent-area-page{--pa-text: var(--light-text);--pa-panel: var(--light-panel);--pa-accent: var(--light-accent);--pa-on-accent: var(--on-light-accent);--pa-border: var(--map-border);--pa-muted: var(--map-muted);--pa-danger: var(--danger-text);--pa-shadow: var(--panel-shadow);--pa-on-colour: var(--on-light-accent);min-height:calc(100dvh - var(--navbar-height));display:flex;justify-content:center;padding:2rem 1rem 3rem;color:var(--pa-text)}body.dark .parent-area-page{--pa-text: var(--dark-text);--pa-panel: var(--dark-panel);--pa-accent: var(--dark-accent);--pa-on-accent: var(--on-dark-accent)}.parent-area-page .parent-area-loading{position:relative;padding:3rem 1rem}.parent-area-page .parent-area-card{position:relative;width:100%;max-width:38rem;min-width:0;background-color:var(--pa-panel);border-radius:16px;padding:2rem 1.5rem;box-shadow:0 4px 14px var(--pa-shadow);overflow-wrap:anywhere}.parent-area-page .parent-area-title{font-size:1.6rem;margin-bottom:.5rem}.parent-area-page .parent-area-account{font-size:.95rem;color:var(--pa-muted);overflow-wrap:anywhere}.parent-area-page .parent-area-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--pa-border)}.parent-area-page .parent-area-section-title{font-size:1.15rem;margin-bottom:1rem}.parent-area-page .parent-area-note{font-size:.95rem;line-height:1.5;color:var(--pa-muted);margin-top:1rem;margin-bottom:.7rem}.parent-area-page .parent-area-note strong{color:var(--pa-text)}.parent-area-page .parent-area-empty{font-size:.95rem;color:var(--pa-muted);margin-bottom:1rem}.parent-area-page .parent-area-empty a{color:var(--pa-text);font-weight:700;text-decoration:underline}.parent-area-page .parent-area-list{list-style:none;display:grid;min-width:0;gap:.75rem;margin-bottom:1.25rem}.parent-area-page .parent-area-row{display:flex;min-width:0;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;border:1px solid var(--pa-border);border-radius:12px}.parent-area-page .parent-area-row-actions{display:flex;flex-wrap:wrap;min-width:0;gap:.5rem}.parent-area-page .parent-area-name{flex-basis:100%;display:grid;min-width:0;gap:.4rem}.parent-area-page .parent-area-name label{font-size:.85rem;color:var(--pa-muted)}.parent-area-page .parent-area-name-row{display:flex;flex-wrap:wrap;min-width:0;gap:.5rem}.parent-area-page .parent-area-name input{flex:1 1 12rem;min-width:0;min-height:44px;padding:0 .75rem;border:1px solid var(--pa-border);border-radius:10px;background-color:var(--pa-panel);color:var(--pa-text);font:inherit}.parent-area-page .parent-area-name input:focus-visible{outline:2px solid var(--pa-accent);outline-offset:2px}.parent-area-page .parent-area-name-error{color:var(--pa-danger);font-size:.85rem;font-weight:600}.parent-area-page .parent-area-year{flex-basis:100%;display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:.5rem}.parent-area-page .parent-area-year-label{font-size:.85rem;color:var(--pa-muted)}.parent-area-page .parent-area-year-row{display:flex;flex-wrap:wrap;min-width:0;gap:.3rem}.parent-area-page .parent-area-year-btn{min-width:44px;min-height:36px;padding-inline:.55rem;border-radius:9px;border:1px solid var(--pa-border);background-color:var(--pa-panel);color:var(--pa-text);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.parent-area-page .parent-area-year-btn:hover:not(:disabled),.parent-area-page .parent-area-year-btn:focus-visible:not(:disabled){outline:none;border-color:var(--pa-accent)}.parent-area-page .parent-area-year-btn.selected{border-color:var(--pa-accent);background-color:var(--pa-accent);color:var(--pa-on-accent)}.parent-area-page .parent-area-year-btn:disabled{cursor:not-allowed;opacity:.6}.parent-area-page .parent-area-year-error{font-size:.82rem;font-weight:600;color:var(--pa-danger)}.parent-area-page .parent-area-rewards{flex-basis:100%;min-width:0;margin-top:.25rem;padding-top:.75rem;border-top:1px solid var(--pa-border)}.parent-area-page .parent-area-rewards-title{display:flex;align-items:baseline;gap:.5rem;font-size:.85rem;font-weight:700;margin-bottom:.5rem}.parent-area-page .parent-area-rewards-count{font-weight:400;font-variant-numeric:tabular-nums;color:var(--pa-muted)}.parent-area-page .parent-area-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .9rem;padding:0;list-style:none}.parent-area-page .parent-area-badge{display:flex;align-items:center;gap:.35rem;padding:.3rem .6rem;border-radius:999px;border:1px solid var(--pa-border);font-size:.78rem;opacity:.5}.parent-area-page .parent-area-badge.is-held{opacity:1;border-color:var(--pa-accent);font-weight:700}.parent-area-page .parent-area-badge-icon{font-size:1.05rem;line-height:1}.parent-area-page .parent-area-avatars{display:flex;flex-wrap:wrap;gap:.35rem}.parent-area-page .parent-area-avatar{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;border-radius:12px;border:1px solid var(--pa-border);background-color:var(--pa-panel);cursor:pointer;transition:border-color .15s ease,transform .15s ease}.parent-area-page .parent-area-avatar:hover:not(:disabled),.parent-area-page .parent-area-avatar:focus-visible:not(:disabled){outline:none;border-color:var(--pa-accent);transform:scale(1.06)}.parent-area-page .parent-area-avatar.selected{border:3px solid var(--pa-accent)}.parent-area-page .parent-area-avatar:disabled{cursor:not-allowed;opacity:.6}.parent-area-page .parent-area-progress{flex-basis:100%;min-width:0;margin-top:.25rem;padding-top:.75rem;border-top:1px solid var(--pa-border)}.parent-area-page .parent-area-progress-head{font-size:.9rem;font-weight:600;margin-bottom:.75rem}.parent-area-page .parent-area-progress-note{font-size:.85rem;font-weight:400;color:var(--pa-muted)}.parent-area-page .parent-area-cats{display:grid;gap:.9rem;margin:0;padding:0;list-style:none}.parent-area-page .parent-area-cat-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.3rem}.parent-area-page .parent-area-cat-name{font-size:.88rem;font-weight:700}.parent-area-page .parent-area-cat-count{flex:none;font-size:.82rem;font-variant-numeric:tabular-nums;color:var(--pa-muted)}.parent-area-page .parent-area-bar{height:8px;border-radius:999px;overflow:hidden;background-color:var(--pa-border)}.parent-area-page .parent-area-bar-fill{height:100%;border-radius:999px;background-color:var(--pa-accent);transition:width .6s cubic-bezier(.2,.9,.3,1)}.parent-area-page .parent-area-topics{display:grid;gap:.15rem;margin:.5rem 0 0;padding:0;list-style:none}.parent-area-page .parent-area-topic{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;font-size:.82rem;color:var(--pa-muted)}.parent-area-page .parent-area-topic>span:first-child,.parent-area-page .parent-area-cat-name{min-width:0;overflow-wrap:anywhere}.parent-area-page .parent-area-topic.is-done{color:var(--pa-text);font-weight:600}.parent-area-page .parent-area-topic-count{flex:none;font-variant-numeric:tabular-nums}.parent-area-page .parent-area-chip{--parent-chip-colour: var(--profile-colour-sky);display:inline-flex;max-width:100%;min-width:0;align-items:center;gap:.5rem;padding:.4rem .9rem;border-radius:999px;font-weight:700;background-color:var(--parent-chip-colour);color:var(--pa-on-colour)}.parent-area-page .parent-area-chip-name{min-width:0;overflow-wrap:anywhere}.parent-area-page .parent-area-confirm{display:flex;flex-direction:column;min-width:0;gap:.6rem;flex:1 1 16rem}.parent-area-page .parent-area-confirm-text{font-size:.9rem;font-weight:600;color:var(--pa-danger);overflow-wrap:anywhere}.parent-area-page .parent-area-confirm-actions{display:flex;flex-wrap:wrap;gap:.5rem}.parent-area-page .parent-area-primary-btn{display:inline-flex;max-width:100%;align-items:center;justify-content:center;min-height:48px;padding:0 1.2rem;border:none;border-radius:10px;font-weight:700;cursor:pointer;background-color:var(--pa-accent);color:var(--pa-on-accent);transition:filter .2s}.parent-area-page .parent-area-primary-btn:hover,.parent-area-page .parent-area-primary-btn:focus-visible{filter:brightness(1.08)}.parent-area-page .parent-area-secondary-btn{min-height:44px;padding:0 1rem;border-radius:10px;font-weight:600;cursor:pointer;border:1px solid var(--pa-border);background-color:var(--pa-panel);color:var(--pa-text);transition:border-color .2s}.parent-area-page .parent-area-secondary-btn:hover,.parent-area-page .parent-area-secondary-btn:focus-visible{border-color:var(--pa-accent)}.parent-area-page .parent-area-secondary-btn:disabled{cursor:default;opacity:.55}.parent-area-page .parent-area-danger-btn{min-height:44px;padding:0 1rem;border-radius:10px;font-weight:700;cursor:pointer;background-color:var(--pa-panel);color:var(--pa-danger);border:2px solid var(--pa-danger);transition:opacity .2s}.parent-area-page .parent-area-danger-btn:hover,.parent-area-page .parent-area-danger-btn:focus-visible{opacity:.85}.parent-area-page .parent-area-signout-btn{min-height:48px;padding:0 1.2rem;border-radius:10px;font-weight:700;cursor:pointer;border:2px solid var(--pa-border);background-color:var(--pa-panel);color:var(--pa-text);transition:border-color .2s}.parent-area-page .parent-area-signout-btn:hover,.parent-area-page .parent-area-signout-btn:focus-visible{border-color:var(--pa-accent)}.parent-area-page .parent-area-delete{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;padding:1rem;border:2px solid var(--pa-danger);border-radius:12px}.parent-area-page .parent-area-account-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1rem}.parent-area-page .parent-area-account-actions>.parent-area-danger-btn{min-height:48px}.parent-area-page .parent-area-account-actions>.parent-area-delete{flex-basis:100%;min-width:0;margin-top:0}.parent-area-page .parent-area-danger-btn:disabled{cursor:default;opacity:.55}@media(max-width:480px){.parent-area-page{padding:5.25rem .75rem 2rem}.parent-area-page .parent-area-card{padding:1.5rem 1.1rem}.parent-area-page .parent-area-row{flex-direction:column;flex-wrap:nowrap;align-items:stretch}.parent-area-page .parent-area-name,.parent-area-page .parent-area-year,.parent-area-page .parent-area-rewards,.parent-area-page .parent-area-progress{flex-basis:auto;width:100%}.parent-area-page .parent-area-name-row>*{width:100%}.parent-area-page .parent-area-name input{flex-basis:auto}.parent-area-page .parent-area-primary-btn{width:100%;text-align:center}}@media(prefers-reduced-motion:reduce){.parent-area-page .parent-area-bar-fill,.parent-area-page .parent-area-year-btn,.parent-area-page .parent-area-avatar{transition:none}.parent-area-page .parent-area-avatar:hover{transform:none}}.parent-area-page .parent-area-trophies-link{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;margin:.2rem 0 .6rem;color:var(--pa-text);font-weight:700;text-decoration:underline}.parent-area-page .parent-area-intro-replay{display:flex;padding:0;border:none;background:none;font:inherit;font-weight:700;cursor:pointer}.parent-area-page .parent-area-stats{font-size:.95rem;color:var(--pa-muted);margin:.2rem 0 .6rem}.skills-page{--sk-ink: var(--light-text);--sk-muted: #645057;--sk-card: var(--light-panel);--sk-edge: #f0dde0;--sk-inset: #faf2f3;--sk-sky-top: #ffe3e7;--sk-sky-bottom: #f8ecee;--sk-glyph: rgba(239, 98, 108, .26);--sk-accent: var(--light-accent);--sk-on-accent: var(--on-light-accent);--sk-on-deep: #ffffff;--sk-focus: #22181c;--sk-hue-math: #ef626c;--sk-hue-english: #9f91e8;--sk-hue-shapes: #56a9e0;--sk-hue-geography: #2fa898;--sk-deep-math: #c33d47;--sk-deep-english: #5e4eb8;--sk-deep-shapes: #1f6fa8;--sk-deep-geography: #1f7d70;max-width:1200px;margin:0 auto;padding:0 1rem 3rem;color:var(--sk-ink);overflow-x:clip}body.dark .skills-page{--sk-ink: var(--dark-text);--sk-muted: #c8b9bd;--sk-card: var(--dark-panel);--sk-edge: #46403f;--sk-inset: #3a3437;--sk-sky-top: #33262c;--sk-sky-bottom: #241a1e;--sk-glyph: rgba(132, 220, 207, .22);--sk-accent: var(--dark-accent);--sk-on-accent: var(--on-dark-accent);--sk-focus: #84dccf}.sk-practice-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.5rem;margin-bottom:1.4rem;padding:.8rem 1rem;border:1px solid var(--sk-edge);border-radius:16px;background:var(--sk-card);color:var(--sk-ink);line-height:1.6}.sk-practice-note p{flex:1 1 34ch;margin:0}.sk-practice-note a{display:inline-flex;align-items:center;gap:.4rem;min-height:48px;color:inherit;font-weight:700;text-underline-offset:4px}.sk-practice-note a:focus-visible{outline:3px solid var(--sk-focus);outline-offset:3px}.skills-page .reveal-armed{opacity:0;transform:translateY(24px) scale(.985);transition:opacity .48s ease-out,transform .48s cubic-bezier(.22,1.2,.36,1)}.skills-page .reveal-armed.is-revealed{opacity:1;transform:none}.sk-hero{position:relative;margin:0 auto clamp(.9rem,3vw,1.4rem);padding:clamp(.7rem,2vw,1rem) clamp(.8rem,3vw,1.6rem);border-radius:0 0 26px 26px;background:linear-gradient(180deg,var(--sk-sky-top),var(--sk-sky-bottom));overflow:hidden;isolation:isolate}@media(max-width:720px){.skills-page{padding-inline:.75rem}.sk-hero{margin-inline:-.75rem}}.sk-sky{position:absolute;inset:0;z-index:-1;pointer-events:none}.sk-glyph{position:absolute;color:var(--sk-glyph);font-weight:700;line-height:1;animation-name:sk-drift;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.sk-bar{display:flex;align-items:center;gap:clamp(.6rem,2vw,.9rem)}.sk-bar-icon{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:18px;background:var(--sk-accent);font-size:1.7rem;animation:sk-icon-idle 5s ease-in-out infinite}.sk-bar-id{min-width:0}.sk-title{margin:0;font-size:clamp(1.3rem,4vw,1.9rem);line-height:1.15}.sk-bar-meta{margin:.1rem 0 0;color:var(--sk-muted);font-size:clamp(.85rem,2.4vw,.95rem);font-weight:700}.sk-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:clamp(1rem,3vw,1.4rem)}.sk-filter{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:.4rem .95rem;border:3px solid var(--group-hue, var(--sk-accent));border-radius:999px;background:var(--sk-card);color:var(--sk-ink);font-family:inherit;font-size:.95rem;font-weight:700;cursor:pointer;transition:transform .18s cubic-bezier(.22,1.2,.36,1),background-color .18s ease,color .18s ease}.sk-filter:hover{transform:translateY(-3px)}.sk-filter.is-active{background:var(--group-deep, var(--sk-accent));border-color:var(--group-deep, var(--sk-accent));color:var(--sk-on-deep)}.sk-filter:first-child.is-active{color:var(--sk-on-accent)}.sk-grid{display:grid;gap:clamp(1rem,2.5vw,1.5rem);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}.sk-card{padding:clamp(1rem,3vw,1.4rem);border:3px solid var(--group-hue);border-radius:26px;background:var(--sk-card);box-shadow:0 10px 0 -2px var(--group-hue),0 16px 30px var(--panel-shadow);animation:sk-pop .38s cubic-bezier(.22,1.3,.36,1);transition:transform .22s cubic-bezier(.22,1.2,.36,1),box-shadow .22s ease-out}.sk-card:hover{transform:translateY(-5px);box-shadow:0 15px 0 -2px var(--group-hue),0 24px 40px var(--panel-shadow)}.sk-card-head{display:flex;align-items:center;gap:.8rem}.sk-card-icon{display:grid;place-items:center;flex:none;width:58px;height:58px;border-radius:18px;background:var(--group-hue);font-size:1.9rem;animation:sk-icon-idle 4.5s ease-in-out infinite}.sk-card:hover .sk-card-icon{animation:sk-icon-wiggle .7s ease-in-out infinite}.sk-card-title{flex:1 1 auto;min-width:0;margin:0;font-size:clamp(1.3rem,3vw,1.6rem);overflow-wrap:anywhere}.sk-card-count{flex:none;padding:.2rem .65rem;border-radius:999px;background:var(--sk-inset);color:var(--sk-muted);font-size:.8rem;font-weight:700;white-space:nowrap}.sk-games{display:grid;gap:.5rem;margin-top:1rem}.sk-game{position:relative;display:flex;align-items:center;gap:.6rem;min-height:54px;padding:.6rem .9rem;border-radius:16px;background:var(--group-deep);box-shadow:0 4px #00000038;color:var(--sk-on-deep);font-size:1rem;font-weight:700;text-decoration:none;overflow:hidden;animation:sk-rise .42s cubic-bezier(.22,1.2,.36,1) both;animation-delay:calc(var(--game-index) * 45ms);transition:transform .16s cubic-bezier(.22,1.2,.36,1),box-shadow .16s ease-out}.sk-game:hover{transform:translateY(-2px);box-shadow:0 6px #00000038}.sk-game:active{transform:translateY(3px);box-shadow:0 1px #00000038}.sk-game-icon{display:grid;place-items:center;flex:none;width:2.1rem;height:2.1rem;border-radius:10px;background:#ffffff38;font-size:1.15rem}.sk-game-label{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.sk-game-go{flex:none;opacity:.85;transition:transform .16s ease-out}.sk-game:hover .sk-game-go{transform:translate(3px)}.sk-game:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.3) 50%,transparent 65%);background-size:250% 100%;animation:sk-shimmer 4.5s linear infinite;animation-delay:calc(var(--game-index) * .22s);pointer-events:none}.sk-filter:focus-visible,.sk-game:focus-visible{outline:3px solid var(--sk-focus);outline-offset:3px}@keyframes sk-drift{0%,to{transform:translateZ(0) rotate(0)}33%{transform:translate3d(13px,-20px,0) rotate(8deg)}66%{transform:translate3d(-11px,-9px,0) rotate(-6deg)}}@keyframes sk-icon-idle{0%,88%,to{transform:translateY(0) rotate(0)}92%{transform:translateY(-6px) rotate(-7deg)}96%{transform:translateY(-3px) rotate(5deg)}}@keyframes sk-icon-wiggle{0%,to{transform:rotate(-8deg) scale(1.06)}50%{transform:rotate(8deg) scale(1.06)}}@keyframes sk-shimmer{0%{background-position:180% 0}to{background-position:-80% 0}}@keyframes sk-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes sk-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.sk-glyph,.sk-bar-icon,.sk-card-icon,.sk-card:hover .sk-card-icon,.sk-card,.sk-game,.sk-game:after{animation:none}.sk-filter,.sk-game,.sk-game-go,.sk-card,.skills-page .reveal-armed{transition:none}.sk-filter:hover,.sk-card:hover,.sk-game:hover,.sk-game:hover .sk-game-go{transform:none}}.curriculum-page{--cp-ink: var(--light-text);--cp-muted: #645057;--cp-card: var(--light-panel);--cp-edge: #f0dde0;--cp-inset: #faf2f3;--cp-sky-top: #ffe3e7;--cp-sky-bottom: #f8ecee;--cp-glyph: rgba(239, 98, 108, .26);--cp-accent: var(--light-accent);--cp-cta: #c33d47;--cp-cta-shade: #92262f;--cp-on-deep: #ffffff;--cp-focus: #22181c;--cp-dead: #5f5f5f;--cp-on-dead: #ffffff;--cp-hue-0: #ef626c;--cp-hue-1: #9f91e8;--cp-hue-2: #2fa898;--cp-hue-3: #e39a24;--cp-hue-4: #56a9e0;--cp-hue-5: #e07bb8;--cp-hue-6: #7cb342;--cp-hue-7: #f08a5d;--cp-deep-0: #c33d47;--cp-deep-1: #5e4eb8;--cp-deep-2: #1f7d70;--cp-deep-3: #8f5900;--cp-deep-4: #1f6fa8;--cp-deep-5: #a33b7a;--cp-deep-6: #4a7c17;--cp-deep-7: #b1442c;max-width:1200px;margin:0 auto;padding:0 1rem 1.5rem;color:var(--cp-ink);overflow-x:clip}body.dark .curriculum-page{--cp-ink: var(--dark-text);--cp-muted: #c8b9bd;--cp-card: var(--dark-panel);--cp-edge: #46403f;--cp-inset: #3a3437;--cp-sky-top: #33262c;--cp-sky-bottom: #241a1e;--cp-glyph: rgba(132, 220, 207, .22);--cp-accent: var(--dark-accent);--cp-cta: #1f7d70;--cp-cta-shade: #13544b;--cp-focus: #84dccf;--cp-dead: #6b6b6b}.curriculum-page .reveal-armed{opacity:0;transform:translateY(26px) scale(.985);transition:opacity .52s ease-out,transform .52s cubic-bezier(.22,1.2,.36,1)}.curriculum-page .reveal-armed.is-revealed{opacity:1;transform:none}.cp-hero{position:relative;margin:0 auto clamp(.9rem,2.5vw,1.4rem);padding:clamp(.7rem,2vw,1rem) clamp(.8rem,3vw,1.6rem);border-radius:0 0 26px 26px;background:linear-gradient(180deg,var(--cp-sky-top),var(--cp-sky-bottom));overflow:hidden;isolation:isolate}@media(max-width:720px){.curriculum-page{padding-inline:.75rem}.cp-hero{margin-inline:-.75rem;border-radius:0 0 30px 30px}}.cp-sky{position:absolute;inset:0;z-index:-1;pointer-events:none}.cp-glyph{position:absolute;color:var(--cp-glyph);font-weight:700;line-height:1;animation-name:cp-drift;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.cp-bar{display:flex;align-items:center;gap:clamp(.6rem,2vw,1rem)}.cp-back{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--cp-card);box-shadow:0 4px 12px var(--panel-shadow);color:var(--cp-ink);font-size:1.2rem;font-weight:700;text-decoration:none;transition:transform .16s ease-out,background-color .2s ease}.cp-back:hover{transform:translate(-3px)}.cp-bar-id{flex:1 1 auto;min-width:0}.cp-title{margin:0;font-size:clamp(1.15rem,3.6vw,1.7rem);line-height:1.15}.cp-bar-meta{margin:.1rem 0 0;color:var(--cp-muted);font-size:clamp(.85rem,2.4vw,.95rem);font-weight:700;font-variant-numeric:tabular-nums}.cp-bar-soon{font-weight:400;opacity:.85}.cp-cta{display:inline-flex;flex:none;flex-direction:column;justify-content:center;gap:.1rem;max-width:15rem;min-height:56px;padding:.55rem 1.1rem;border-radius:16px;background:var(--cp-cta);box-shadow:0 5px 0 var(--cp-cta-shade);color:var(--cp-on-deep);text-decoration:none;transition:transform .14s ease-out,box-shadow .14s ease-out}.cp-cta:hover{transform:translateY(-2px)}.cp-cta:active{transform:translateY(4px);box-shadow:0 1px 0 var(--cp-cta-shade)}.cp-cta-main{font-size:1.05rem;font-weight:700;white-space:nowrap}.cp-cta-sub{overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap;opacity:.92}@media(max-width:600px){.cp-bar{flex-wrap:wrap}.cp-cta{flex:1 0 100%;max-width:none;align-items:center;text-align:center}}.cp-ring{flex:none;width:clamp(54px,12vw,68px);height:auto}.cp-ring-track{fill:none;stroke:var(--cp-edge);stroke-width:12}.cp-ring-fill{fill:none;stroke:var(--cp-accent);stroke-width:12;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset 1.1s cubic-bezier(.2,.9,.3,1)}.cp-ring-text{fill:var(--cp-ink);font-size:2.1rem;font-weight:700;text-anchor:middle;dominant-baseline:central}.dev-unlock-banner{display:inline-block;margin:.6rem 0 0;padding:.4rem .9rem;border:2px dashed var(--cp-accent);border-radius:10px;font-size:.95rem;font-weight:600}.cp-rail-head{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .8rem;margin-bottom:.6rem}.cp-dots{display:flex;flex:1;flex-wrap:wrap;gap:.4rem}.cp-dot{display:grid;place-items:center;width:2.6rem;height:2.6rem;padding:0;border:3px solid transparent;border-radius:50%;background:var(--cp-inset);font-size:1.15rem;cursor:pointer;transition:transform .18s cubic-bezier(.22,1.2,.36,1),border-color .18s ease,background-color .18s ease}.cp-dot:hover{transform:translateY(-3px) scale(1.06)}.cp-dot.is-active{border-color:var(--cat-hue);background:var(--cat-hue);transform:scale(1.08)}.cp-dot.is-locked{filter:grayscale(1);opacity:.75}.cp-rail-arrows{display:flex;gap:.4rem}.cp-arrow{display:grid;place-items:center;width:2.8rem;height:2.8rem;border:none;border-radius:50%;background:var(--cp-card);box-shadow:0 4px 12px var(--panel-shadow);color:var(--cp-ink);font-size:1.2rem;font-weight:700;cursor:pointer;transition:transform .16s ease-out,opacity .16s ease}.cp-arrow:hover:not(:disabled){transform:scale(1.08)}.cp-arrow:disabled{opacity:.35;cursor:not-allowed}@media(hover:none){.cp-rail-arrows{display:none}}.cp-rail{display:flex;gap:clamp(1rem,2.5vw,1.6rem);padding:.4rem .25rem 1.1rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-left:.25rem;scrollbar-width:thin;scrollbar-color:var(--cp-accent) var(--cp-inset)}.cp-rail::-webkit-scrollbar{height:12px}.cp-rail::-webkit-scrollbar-track{border-radius:999px;background:var(--cp-inset)}.cp-rail::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:var(--cp-accent);background-clip:content-box}.cp-cat{flex:0 0 clamp(290px,86vw,400px);display:flex;flex-direction:column;max-height:max(340px,min(78vh,calc(100dvh - var(--navbar-height) - 215px)));scroll-snap-align:start;padding:clamp(1.1rem,3vw,1.5rem);border:3px solid var(--cat-hue);border-radius:26px;background:var(--cp-card);box-shadow:0 10px 0 -2px var(--cat-hue),0 16px 30px var(--panel-shadow);transition:transform .22s cubic-bezier(.22,1.2,.36,1),box-shadow .22s ease-out}.cp-cat:hover{transform:translateY(-5px);box-shadow:0 15px 0 -2px var(--cat-hue),0 24px 40px var(--panel-shadow)}.cp-cat.is-locked{border-style:dashed;border-color:var(--cp-edge);box-shadow:0 10px 26px var(--panel-shadow)}.cp-cat.is-locked:hover{transform:none;box-shadow:0 10px 26px var(--panel-shadow)}.cp-cat-head{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}.cp-cat-icon{display:grid;place-items:center;flex:none;width:62px;height:62px;border-radius:20px;background:var(--cat-hue);font-size:2rem;animation:cp-icon-idle 5s ease-in-out infinite}.cp-cat.is-locked .cp-cat-icon{background:var(--cp-inset);filter:grayscale(1);animation:none}.cp-cat:hover .cp-cat-icon{animation:cp-icon-wiggle .7s ease-in-out infinite}.cp-cat-heading{flex:1 1 10rem;min-width:0}.cp-cat-eyebrow{margin:0;color:var(--cp-muted);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.cp-cat-title{margin:.1rem 0 0;font-size:clamp(1.35rem,3vw,1.7rem);line-height:1.12;overflow-wrap:anywhere}.cp-cat-badge{padding:.3rem .75rem;border-radius:999px;background:var(--cat-deep);color:var(--cp-on-deep);font-size:.8rem;font-weight:700;white-space:nowrap}.cp-cat-badge.is-locked{background:var(--cp-dead);color:var(--cp-on-dead)}.cp-cat-progress{display:flex;align-items:center;gap:.7rem;margin-top:1rem}.cp-cat-bar{flex:1;height:12px;border-radius:999px;background:var(--cp-inset);overflow:hidden}.cp-cat-bar-fill{height:100%;border-radius:999px;background:var(--cat-deep);transition:width .9s cubic-bezier(.2,.9,.3,1)}.cp-cat-count{margin:0;color:var(--cp-muted);font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums}.cp-topics{display:flex;flex:1;flex-direction:column;gap:.9rem;min-height:0;margin-top:1.1rem;padding-right:.35rem;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--cat-hue) transparent}.cp-topics::-webkit-scrollbar{width:8px}.cp-topics::-webkit-scrollbar-thumb{border-radius:999px;background:var(--cat-hue)}.cp-topic{padding:.9rem 1rem 1rem;border-radius:18px;background:var(--cp-inset);border-left:5px solid var(--cat-hue)}.cp-topic.is-complete{border-left-color:var(--cat-deep)}.cp-topic.is-locked{border-left-color:var(--cp-dead)}.cp-topic-head{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.cp-topic-pin{display:grid;place-items:center;flex:none;width:2rem;height:2rem;border-radius:50%;background:var(--cat-deep);color:var(--cp-on-deep);font-size:.95rem;font-weight:700}.cp-topic-sticker{position:relative;display:grid;place-items:center;flex:none;width:2.6rem;height:2.6rem;border:3px solid var(--cp-inset);border-radius:50%;background:var(--cat-hue);box-shadow:0 0 0 2px var(--cat-deep),0 3px 6px var(--panel-shadow);font-size:1.35rem;line-height:1}.cp-topic.is-locked .cp-topic-pin{background:var(--cp-dead);color:var(--cp-on-dead)}.cp-topic-title{flex:1 1 8rem;min-width:0;margin:0;font-size:1.1rem;overflow-wrap:anywhere}.cp-chip{padding:.2rem .6rem;border-radius:999px;font-size:.8rem;font-weight:700;white-space:nowrap}.cp-chip.is-count{background:var(--cp-card);color:var(--cp-ink);font-variant-numeric:tabular-nums}.cp-chip.is-soon{border:1px dashed var(--cp-muted);color:var(--cp-muted)}.cp-challenges{display:grid;gap:.5rem;margin-top:.8rem}.cp-challenge{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.6rem;width:100%;min-height:52px;padding:.7rem .9rem;border:none;border-radius:14px;font-family:inherit;font-size:1rem;font-weight:700;text-align:left;text-decoration:none;overflow:hidden;transition:transform .16s cubic-bezier(.22,1.2,.36,1),box-shadow .16s ease-out}.cp-challenge-label{min-width:0;overflow-wrap:anywhere}.cp-challenge-state{flex:none;font-size:1.05rem}.cp-challenge.is-open{background:var(--cat-deep);color:var(--cp-on-deep);box-shadow:0 4px #00000038;cursor:pointer}.cp-challenge.is-open:hover{transform:translateY(-2px);box-shadow:0 6px #00000038}.cp-challenge.is-open:active{transform:translateY(3px);box-shadow:0 1px #00000038}.cp-challenge.is-open:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);background-size:250% 100%;animation:cp-shimmer 3.6s linear infinite;pointer-events:none}.cp-challenge.is-complete{background:var(--cp-card);border:2px solid var(--cat-deep);color:var(--cp-ink);cursor:pointer}.cp-challenge.is-complete:hover{transform:translateY(-2px)}.cp-challenge.is-complete .cp-challenge-state{animation:cp-star 3s ease-in-out infinite}.cp-challenge.is-locked,.cp-challenge.is-soon{background:var(--cp-dead);color:var(--cp-on-dead);cursor:not-allowed}.cp-challenge.is-soon{background:none;border:2px dashed var(--cp-dead);color:var(--cp-muted)}.cp-challenge.is-nudged{animation:cp-shake .42s ease-in-out}.cp-back:focus-visible,.cp-cta:focus-visible,.cp-dot:focus-visible,.cp-arrow:focus-visible,.cp-challenge:focus-visible{outline:3px solid var(--cp-focus);outline-offset:3px}@keyframes cp-drift{0%,to{transform:translateZ(0) rotate(0)}33%{transform:translate3d(13px,-20px,0) rotate(8deg)}66%{transform:translate3d(-11px,-9px,0) rotate(-6deg)}}@keyframes cp-icon-idle{0%,88%,to{transform:translateY(0) rotate(0)}92%{transform:translateY(-6px) rotate(-7deg)}96%{transform:translateY(-3px) rotate(5deg)}}@keyframes cp-icon-wiggle{0%,to{transform:rotate(-8deg) scale(1.06)}50%{transform:rotate(8deg) scale(1.06)}}@keyframes cp-shimmer{0%{background-position:180% 0}to{background-position:-80% 0}}@keyframes cp-star{0%,80%,to{transform:scale(1) rotate(0)}88%{transform:scale(1.3) rotate(14deg)}}@keyframes cp-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px) rotate(-1.5deg)}40%{transform:translate(7px) rotate(1.5deg)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@media(prefers-reduced-motion:reduce){.cp-glyph,.cp-cat-icon,.cp-cat:hover .cp-cat-icon,.cp-challenge.is-open:after,.cp-challenge.is-complete .cp-challenge-state,.cp-challenge.is-nudged{animation:none}.cp-back,.cp-cta,.cp-cat,.cp-dot,.cp-arrow,.cp-challenge,.cp-cat-bar-fill,.cp-ring-fill,.curriculum-page .reveal-armed{transition:none}.cp-back:hover,.cp-cta:hover,.cp-cat:hover,.cp-dot:hover,.cp-arrow:hover:not(:disabled),.cp-challenge:hover{transform:none}.cp-dot.is-active{transform:none}}.cs-page{--cs-ink: var(--light-text);--cs-muted: #645057;--cs-card: var(--light-panel);--cs-edge: #f0dde0;--cs-inset: #faf2f3;--cs-sky-top: #ffe3e7;--cs-sky-bottom: #f8ecee;--cs-glyph: rgba(239, 98, 108, .26);--cs-accent: var(--light-accent);--cs-on-deep: #ffffff;--cs-focus: #22181c;--cs-dead: #5f5f5f;--cs-hue-math: #ef626c;--cs-hue-english: #9f91e8;--cs-hue-geography: #2fa898;--cs-hue-science: #e39a24;--cs-hue-history: #b5794f;--cs-deep-math: #c33d47;--cs-deep-english: #5e4eb8;--cs-deep-geography: #1f7d70;--cs-deep-science: #8f5900;--cs-deep-history: #7a4a2c;max-width:1100px;margin:0 auto;padding:0 1rem 3rem;color:var(--cs-ink);overflow-x:clip}body.dark .cs-page{--cs-ink: var(--dark-text);--cs-muted: #c8b9bd;--cs-card: var(--dark-panel);--cs-edge: #46403f;--cs-inset: #3a3437;--cs-sky-top: #33262c;--cs-sky-bottom: #241a1e;--cs-glyph: rgba(132, 220, 207, .22);--cs-accent: var(--dark-accent);--cs-dead: #6b6b6b}.cs-page .reveal-armed{opacity:0;transform:translateY(24px) scale(.985);transition:opacity .48s ease-out,transform .48s cubic-bezier(.22,1.2,.36,1)}.cs-page .reveal-armed.is-revealed{opacity:1;transform:none}.cs-hero{position:relative;margin:0 auto clamp(1.2rem,4vw,2rem);padding:clamp(.7rem,2vw,1rem) clamp(.8rem,3vw,1.6rem);border-radius:0 0 26px 26px;background:linear-gradient(180deg,var(--cs-sky-top),var(--cs-sky-bottom));overflow:hidden;isolation:isolate}@media(max-width:720px){.cs-page{padding-inline:.75rem}.cs-hero{margin-inline:-.75rem}}.cs-sky{position:absolute;inset:0;z-index:-1;pointer-events:none}.cs-glyph{position:absolute;color:var(--cs-glyph);font-weight:700;line-height:1;animation-name:cs-drift;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.cs-bar{display:flex;align-items:center;gap:clamp(.6rem,2vw,1rem)}.cs-back{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--cs-card);box-shadow:0 4px 12px var(--panel-shadow);color:var(--cs-ink);font-size:1.2rem;font-weight:700;text-decoration:none;transition:transform .16s ease-out,background-color .2s ease}.cs-back:hover{transform:translate(-3px)}.cs-title{flex:1 1 auto;min-width:0;margin:0;font-size:clamp(1.25rem,4vw,1.9rem);line-height:1.15}.cs-track{display:flex;align-items:center;gap:.35rem;flex:none;margin:0;padding:0;list-style:none}.cs-track-step{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--cs-card);color:var(--cs-muted);font-size:.9rem;font-weight:700;transition:background-color .26s ease,color .26s ease,transform .26s cubic-bezier(.22,1.2,.36,1)}.cs-track-step.is-done{background:var(--cs-accent);color:var(--on-light-accent);transform:scale(1.06)}.cs-track-line{width:1.4rem;height:4px;border-radius:999px;background:var(--cs-card)}.cs-step{margin-bottom:clamp(1.4rem,4vw,2.2rem)}.cs-step-title{display:flex;align-items:center;gap:.6rem;margin:0 0 .9rem;font-size:clamp(1.1rem,3vw,1.4rem)}.cs-step-num{display:grid;place-items:center;flex:none;width:2rem;height:2rem;border-radius:50%;background:var(--cs-accent);color:var(--on-light-accent);font-size:1rem}.cs-step-num.is-waiting{background:var(--cs-inset);color:var(--cs-muted)}.cs-step-year{padding:.2rem .7rem;border-radius:999px;background:var(--cs-inset);color:var(--cs-muted);font-size:.85rem;font-weight:700;animation:cs-pop .42s cubic-bezier(.22,1.4,.36,1)}.cs-years{display:flex;flex-wrap:wrap;gap:clamp(.6rem,2vw,1rem)}.cs-years.is-nudged{animation:cs-shake .46s ease-in-out}.cs-year{display:flex;flex:1 1 8.5rem;flex-direction:column;align-items:center;gap:.15rem;max-width:14rem;min-height:108px;padding:.9rem 1rem;border:3px solid var(--cs-edge);border-radius:22px;background:var(--cs-card);box-shadow:0 6px 0 -1px var(--cs-edge);color:var(--cs-ink);font-family:inherit;cursor:pointer;transition:transform .2s cubic-bezier(.22,1.2,.36,1),border-color .2s ease,box-shadow .2s ease}.cs-year:hover{transform:translateY(-4px)}.cs-year:active{transform:translateY(2px);box-shadow:0 2px 0 -1px var(--cs-edge)}.cs-year-icon{font-size:2rem;animation:cs-icon-idle 5s ease-in-out infinite}.cs-year-label{font-size:1.2rem;font-weight:700}.cs-year-state{color:var(--cs-muted);font-size:.8rem;font-weight:700}.cs-year.is-selected{border-color:var(--cs-accent);background:var(--cs-accent);box-shadow:0 6px 0 -1px var(--cs-accent);color:var(--on-light-accent)}.cs-year.is-selected .cs-year-state{color:var(--on-light-accent)}.cs-year.is-selected .cs-year-icon{animation:cs-icon-wiggle .7s ease-in-out infinite}.cs-year.is-locked{border-style:dashed;border-color:var(--cs-dead);background:var(--cs-inset);box-shadow:none;color:var(--cs-muted);cursor:not-allowed}.cs-year.is-locked:hover{transform:none}.cs-year.is-locked .cs-year-icon{animation:none}.cs-year.is-nudged,.cs-subject.is-nudged{animation:cs-shake .44s ease-in-out}.cs-subjects{display:grid;gap:clamp(.8rem,2.5vw,1.2rem);grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.cs-subject{position:relative;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.3rem 1rem 1.1rem;border:3px solid var(--subject-hue);border-radius:26px;background:var(--cs-card);box-shadow:0 10px 0 -2px var(--subject-hue),0 16px 30px var(--panel-shadow);color:var(--cs-ink);font-family:inherit;cursor:pointer;transition:transform .22s cubic-bezier(.22,1.2,.36,1),box-shadow .22s ease-out,border-color .22s ease}.cs-subject:hover{transform:translateY(-7px) rotate(-1.2deg);box-shadow:0 16px 0 -2px var(--subject-hue),0 24px 40px var(--panel-shadow)}.cs-subject:active{transform:translateY(-1px)}.cs-subject-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--subject-hue);font-size:2.1rem;animation:cs-icon-idle 4.5s ease-in-out infinite}.cs-subject:hover .cs-subject-icon{animation:cs-icon-wiggle .7s ease-in-out infinite}.cs-subject-name{font-size:1.3rem;font-weight:700}.cs-subject-state{display:grid;place-items:center;width:100%;min-height:44px;margin-top:auto;padding:.5rem .8rem;border-radius:14px;background:var(--subject-deep);color:var(--cs-on-deep);font-size:.95rem;font-weight:700}.cs-subject-flag{position:absolute;top:-13px;right:16px;padding:.25rem .75rem;border-radius:999px;background:var(--subject-deep);color:var(--cs-on-deep);font-size:.75rem;font-weight:700;background-image:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.75) 50%,transparent 70%);background-size:250% 100%;animation:cs-shimmer 2.8s linear infinite}.cs-subject-pick{position:absolute;top:-13px;left:16px;padding:.25rem .75rem;border-radius:999px;background:var(--subject-deep);color:var(--cs-on-deep);font-size:.75rem;font-weight:700}.cs-subject.is-waiting,.cs-subject.is-locked{border-style:dashed;box-shadow:0 10px 26px var(--panel-shadow);cursor:not-allowed}.cs-subject.is-waiting:hover,.cs-subject.is-locked:hover{transform:none;box-shadow:0 10px 26px var(--panel-shadow)}.cs-subject.is-waiting .cs-subject-state,.cs-subject.is-locked .cs-subject-state{background:none;border:2px dashed var(--cs-dead);color:var(--cs-muted)}.cs-subject.is-locked .cs-subject-icon,.cs-subject.is-waiting .cs-subject-icon{filter:grayscale(.7);animation:none}.cs-subject.is-locked:hover .cs-subject-icon,.cs-subject.is-waiting:hover .cs-subject-icon{animation:none}.cs-back:focus-visible,.cs-year:focus-visible,.cs-subject:focus-visible{outline:3px solid var(--cs-focus);outline-offset:3px}body.dark .cs-back:focus-visible,body.dark .cs-year:focus-visible,body.dark .cs-subject:focus-visible{outline-color:var(--dark-accent)}@keyframes cs-drift{0%,to{transform:translateZ(0) rotate(0)}33%{transform:translate3d(13px,-20px,0) rotate(8deg)}66%{transform:translate3d(-11px,-9px,0) rotate(-6deg)}}@keyframes cs-icon-idle{0%,88%,to{transform:translateY(0) rotate(0)}92%{transform:translateY(-6px) rotate(-7deg)}96%{transform:translateY(-3px) rotate(5deg)}}@keyframes cs-icon-wiggle{0%,to{transform:rotate(-8deg) scale(1.06)}50%{transform:rotate(8deg) scale(1.06)}}@keyframes cs-shimmer{0%{background-position:180% 0}to{background-position:-80% 0}}@keyframes cs-pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes cs-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px) rotate(-1.2deg)}40%{transform:translate(7px) rotate(1.2deg)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@media(prefers-reduced-motion:reduce){.cs-glyph,.cs-year-icon,.cs-year.is-selected .cs-year-icon,.cs-subject-icon,.cs-subject:hover .cs-subject-icon,.cs-subject-flag,.cs-step-year,.cs-years.is-nudged,.cs-year.is-nudged,.cs-subject.is-nudged{animation:none}.cs-back,.cs-year,.cs-subject,.cs-track-step,.cs-page .reveal-armed{transition:none}.cs-back:hover,.cs-year:hover,.cs-subject:hover{transform:none}}.notfound-page{padding:3rem 2rem;text-align:center;animation:fadeIn .6s ease-in-out}.notfound-emoji{font-size:4rem;line-height:1;margin-bottom:1rem}.notfound-title{color:var(--light-accent);margin-bottom:.5rem}body.dark .notfound-title{color:var(--dark-accent)}.notfound-message{max-width:34rem;margin:0 auto 2rem;line-height:1.5}.notfound-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.notfound-btn{display:inline-block;padding:.6rem 1.2rem;border-radius:999px;border:2px solid var(--light-accent);color:var(--light-text);text-decoration:none;font-weight:600;transition:background-color .2s ease,color .2s ease}.notfound-btn:hover{background-color:var(--light-accent);color:var(--light-bg)}.notfound-btn-primary{background-color:var(--light-accent);color:var(--on-light-accent)}body.dark .notfound-btn{border-color:var(--dark-accent);color:var(--dark-text)}body.dark .notfound-btn:hover,body.dark .notfound-btn-primary{background-color:var(--dark-accent);color:var(--dark-bg)}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@font-face{font-family:ABeeZee;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/abeezee-latin-ext-400-normal-CMj6VQp1.woff2) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAsQAA4AAAAAD6wAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABRAAAAD4AAABkARoAzUdQT1MAAAGEAAAAgwAAAMAtiibhR1NVQgAAAggAAAAnAAAAKLj8uOpPUy8yAAACMAAAAEgAAABgZKtft2NtYXAAAAJ4AAAAbQAAAJIKvwZgZ2FzcAAAAugAAAAIAAAACAAAABBnbHlmAAAC8AAABNAAAAcoJRaFd2hlYWQAAAfAAAAANgAAADYe2T19aGhlYQAAB/gAAAAfAAAAJAcXAaNobXR4AAAIGAAAAG8AAACmRW4HoGxvY2EAAAiIAAAAXgAAAF4o3Cc0bWF4cAAACOgAAAAgAAAAIAF7DutuYW1lAAAJCAAAARsAAAJUMHBMy3Bvc3QAAAokAAAA6wAAAXXm+7tJeNoNx4URwwAQA8GVw8wMhv6L9I/wROMP2CvCVkXQ2IiJmJmLZSnWpdiV4uAkrh7i5S2+pWhL0RtkBEFTAegAAHjaZYi1FUJREETvPlwT3LWC3wIuIQWgCe4R5dELHZAum3PmjF0EiNLGw3X70xnJ/eJ+JIkfQBUBZLe5HgkDghk/zp5gpowfiPDiyd70NC0Z4iFGg8TIkKNAkQoNmgQQfePMPnPYnNMPwT+aIU3O7AhbVvSLI0OfnFkwhhCk/wOakx+oAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYZJmnMDAysDAtIepi4GBoQdCM95lMGL4xYAK+JE5AZFBwQwHGByZzJln/AOqZJ7ByA4UbgTJMXEw7QFSCgzMAH9BDRt42hXIQQoBYRgA0PfNIBGYBhuCjWyVxk5TjmDjMs6Giyj34Edv95AhRykXKDVcURjKZWqP2MY+DnGKS1alhNo9NrGLKo5x/l+6pRo+L3g/BegrMLEEhZaxplLbVMdM11zPwuBnZG1o9QV1RhIhAAAAAAEAAf//AA942pWTA3QkWRSG37s96epkgm1UdZx0V7t7ZpI0Y9tOahCsbdvWWAdr27b3YG3bHnfV3vcqmrNHG+fWf7/7XxQBcggh9Fd4nBiIQEjY7DC7w2b5EHqe+vSePfB4sqkJIqhK07bBalQJJI2QFK9D8NIwdTsMUNmjPt7TTy0H0Uw1SoVz015+0QHXJVf+Q/uIpul5ho3gIZQQzA6QR8h8/LyZuJEED0YbRMG/H+Fe0EnYrEwwA6hWtL/haIx7yCJOEaiVUbQfMClkOAgwzilLHmIUov1NV6E6ixC70+ONS1K4LBZFns24eWl/3lJboqAkMXFYenFuu5jfPEA/U4NnHqdpPO9z7knQPbXPeKK7kJaie3KIygStR1+bhtHB7FPMSeXOZPIQLSWUqUHArAyWJXjjmBm3C6JDPLAlf3rizfxfaT1dnN/kpdPq88NNkx8P65XgQMxJ5ZUopsjUrJxBo8pp6itY8VFoSTZBQ/JJrMu1fK7pM3N9nWCIT6oTnicScbA9eTyybJbNsVi4TBJtRqEQ7HbKphHxyE6jQP8cdezXkzURnYqfdfboQF7Aa+tSjziiTRnqccak9Cdbq9TX4NGUlIMG2seldEc8dD09sK6qrB4Ae9drcQ+ZMx42kvn4pTNxIwm16dFi5mxO7Sd34W/K7gky4WuSx7qWo+FoWAyLsqhbRu+6U/N4b69yyin5IxVjo0pk2dLBAmhvGB9vWOuPHTKq3kHbE031IfVm5PUh9VYwzd5QnwKm5A6sX6Nl06fgM7whvB386ZII8eKcdnE3LprDL+ojtFQIb4KuMhLfLRjQbtOyyQPIzGQXpR+Ufk9Gc7VfynBbh5VQx/f2TlP6IZBIPlXd7WYszKIJ+BpZEmd5riXMn7aN/gNf8/eImmX9MOz0IfUvRfkp8so/aVRU8bk6/k75vf9oGuqLUc8o2TNzO4fonJ30O8jiHLeIHJFzbsVJK18nXv1JSG4D0xffJ174mKk78baHseo+/J3wcPfstYjbjcZfl3YElSU+qztDskTT5Z4aqE++HIukGttN6dgHzz2UO8ibufHVNDTznu2HzOwZZnT+zufYSWRXFinK6UVbF1bYlNcYoCPqWxWNbY/OVtJ3BylgI1a+u//cQN9o/mgV7j+6bOlAAZhGA+ULd49O9fyd6LSQO3WTDWSGS89HrkXn1gBy7QKDGkWxbzQj1BDKKkzLs+a6G4NgOtpRLhsMK02Bsaa/WP8BzL4C/kJqMd+jdweLLlJ3MeZc1P/xh1hpUPubfEBOIYv5TKKRmRdvfZ7PVZTr96T78opcvrxCN3PlgylyI3zGtNYF2gNz3c4C/IYpT06B052bL3NtLc2CncSAWm/c3lr0RABqq08fYpwyqKLrcQ9G/ixsF7xTy1bXrV52LlR1rFrVcbCu6UTNXzMaO+7oeRScu2w1dKLi4I5VXDNJj4c3icg0fPazW5RxvTisYdmSKMxxOUTJmSFblhXlupx2yQWTNbZis9maXmsuMJsl3plWTF7FSQg4BSQxxEDAGVjcmVr7eXZwPCHWT/KePqVZho179fTpXE/f0g2G8xb0tDK4pm518EL4tqevr2dC1/yCmksX9PTCmuBFFwZXwy+omOjp45pt9HjDQf+7p2179/QvucaX/gABAAAAAQDFFcQ8zV8PPPUADwPoAAAAAN4XFS0AAAAA3iLkFv+r/voD0QOYAAAABgACAAAAAAAAeNpjYGRgYJ7x7xcDA4vU/9X/MpkvAkVQgSoApcIGvgB42mOKYMhimsPABcOMwgxRTAcZohiF/79kXMfAAMb/gXwgZuJhYAXJgXEmGo5k4GL4xRAAVGfH8Ov/bUbW/6tBGMgPAOOPQBzF4A3GxQwMTAEMASDM2A/GWkDMwqjDEMzAwKABhEYgiGABAMWaJDgAAAAAEwAvADsARgBSAF4AaQCFAJAAnwCrAMUA2wDnAR0BKQE0AUABaAF0AYcBkgGtAbgB0AHcAfMCEQIdAkYCZgJyApECnAKnAr0C0wLhAvMDBQMqAz0DSwNdA28DlAAAAAEAAAAuAFEABQBAAAQAAgAiAEsAjQAAAJAODAAEAAF42mJgYOBgSGNgZmBk4QSynzFyQNmMDHwMv6BsJiD7DYQNJE0YdkDZLAxyDLOgbFZAH+Sgk2EABdAzNfcM35jtGvKQjSn9tvH0nd3MXRvscv6qD+hffNUH1SBLU6jSYJUpocEjdXJ6muqTNNSLyorejPEjdtlng01Swm3wCU7lGVpm3pt3qVWPygplEmasnxbmWNNqCmnzWsoKWbPKagnDtCNzWZpj5NuM5OuMLz2PuTF6pvb/Xl+sb7lbVKjSi9sz8ZWEWfvPCIn/y8YO33c6Nr9CXv0xKjbiqmx8qxE3ff9vhlxktHhg0qoKpfBWhIybpUjH1/y+/nuzUkI/+AgJndf6+AeN+HRb/qRn97Uy4dDK0s+NnwF6x1xdAHjabIPFAQEAAADvdHfHz0/XGJpRrSAm8GcP+XZBgB+vIxP+Mfjc4cqZngGD9A0xNMydsRHmRo0ZN8HNpCnTZliaNcfKPA82FjhYtETeshWr1qzbsGnLtu+mpuIAYRiK4g4jsEHdBugFtwnq3gSH7ZH45cvTeWu56i3veRXF41WYX8NHnVTxu7OJ4L2388PHPe6dyAr9KwT9B8hVzbI7WeBfW3nRy5EZwbrhjAsegqWGMynTaxyDygdRHnaqfzLAkVcx0kHbUJ0hIkNYBwTRyXaHqIszuj1jWjn0b/GEGMTHRc+MWdH7BReHW6MA) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:ABeeZee;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/abeezee-latin-400-normal-BUKDlVw4.woff2) format("woff2"),url(/assets/abeezee-latin-400-normal-B77gvvAJ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ABeeZee;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/abeezee-latin-ext-400-italic-BtvQKnOx.woff2) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAv4AA4AAAAAEPQAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABRAAAAEEAAABqATsA70dQT1MAAAGIAAAAiwAAAMQuRifhR1NVQgAAAhQAAAAnAAAAKLj8uOpPUy8yAAACPAAAAEgAAABgZKtfdGNtYXAAAAKEAAAAbwAAAJIKzwZiZ2FzcAAAAvQAAAAIAAAACAAAABBnbHlmAAAC/AAABagAAAhuA7+PgWhlYWQAAAikAAAANgAAADYesj1+aGhlYQAACNwAAAAiAAAAJAeeBYtobXR4AAAJAAAAAHIAAACsRy4C82xvY2EAAAl0AAAAYAAAAGAvKTF6bWF4cAAACdQAAAAgAAAAIAFxDu5uYW1lAAAJ9AAAARcAAAJMLsNMYnBvc3QAAAsMAAAA7AAAAW8SAUbheNodx4URgwAABMF94u7ugf5bxOb1ROENWPfEsk9Q9DsQI2MxbRXzVrFqFRs7cXIWVzfx8BRvb/FrFaVKGk2yAisAAAB42i3JAaZCURRG4e+cerl6VJG4UKgRhEaQoBCaQBEoIQlAg2sQTSMI4LQpv8Vea0tom5rJi+V6q3PaXc86mlCKhHQ8XM4qvqYphyWBURhtdzcnMfvY2jyWorf86+rpG6qNTUz9SeUpB42gKg91eYlqIAeNoDIxjpoNbdRW8q+9xWUkvpKW5QcAdR1oAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYRJnnMDAysDAtIepi4GBoQdCM95lMGL4xYAK+JE5AZFBwQyNDI5M5swz/gFVMs9gZAcKN4LkmDiY9gApBQZmAHWuDNh42h3IQQoBARhA4e+fQSKMiSkbiJKt0thpyhFsXMbZcBPlGgz0Fq8+JEgxkor/Gy7IZVKJyj02sYt9HOOclHWNyi3WsY0yDnH6WX2tK3g/4fUQoC9HYQ5yLYWmsbaJjqmumZ6FwbehlczyA3cgEjMAAAEAAf//AA942pVUA3wjaRR/3zdtJnXTWJvOTDNJjUkbFIvaXqR3m+5xbZ9t27Zt27ZtG03uzTepf7q6b97742GAwkoA8j29FzjgAYyCQfAaJMNKcmh8XzLvX3rvWFMTDYw9C0ATnyZ+p8sxk4d0AB9RjLxP4I0C5yIHrjprpCh+77pzia7VS88Y6zU/+TixkH5IJLQq7kwqAwHA2mJig8n4oRPxEngKfxMowh8pTA8oRoUr2ie2j6oikYCixK/0KnwiQwqr4EmuisQqDueWUy2ugzIjBhIvJn4lZ2G2AcAqyr6gxaJU1QQRMZtbV9XnjpgUsaA2ayQ2kllRV5/p97TYxWAz+TtOF/QXZqM+rKeVTB+f1HfWhL63EDcVAMEEXrgstprMz4mPosqzhpkeLQMr01ilF94mFVhJMf4pVmYBYOtUKUErzyPCXu3OTbWxwAuuvwsZEnE4m4pIb/zNnuZdvxnWOOnNWJmGlZxkVIxYK329V3Sf/Z9bHt1nX9o2diey30q7WJ9YNut4ptZxZMcQ9u8v2kYfBRf4EKemRqmyWMwmHT8nVeHFslSJk4io43lsU3VAvrS0t7prec3mWGGZw2DyClJJjWB3lbSHa2LE6yg2Fg0uXtFNb9anV/RXjuySnVcdCZU5B8RgY2NQjL9At6SkfNtWX9mA/dB4mZ7spB4OJuPHTMRL4bxkPF/VmYzroEhdUShHCxL9FAT8JyBLog6lSkYpqAQVXuElXvWDdnhOQmvkydICabApxxvduzejNzeauzNjp8ezZ6i5XxeOBlMpWS+XV60ceo22L1iyZMH1wQWDdXY5fjcJ2qxqp7zIoacfQAbkYKdEuTqggevU5j/scvvn4Pey6EiULhMs+T7B4vGPXUD1QNRKeJvq2fZi7gFqjh49eRM2mouIMhiZVysB1Stj2pu+jPHCX4HqwATqpe2dsJFcxu+czs8rnE4nTa7z00kto9HluYsbhKC5IFu2OP38pK4lYzcubsvL7cgyyEVAVGT4mOqZrxlYR87E0E8pRa1M1YE4ARl8X6pabYDi0dk/NA2jfoY4sVWSKPqsCMwjQZKhOjk2TroiWuNcHCxulFcNpKbzw4Zir6dsnn2ftJwy9/zGUtnVPi+7NEo/jT9XVl1Q7+3tJAc7bC3O4lfdfFqw2FMsLe6LjwHrar7KjZvi0DYlrCn6k3xA0yFXVcTjjU3o4KUDo/IfgS8OdZUYhSJFOKEIp/Pu+6FHzso3dHv91/6E1QF8b+CeqZMI6nRmE+uNlXWqOoBHezKlhaJBzE7Lq3DVDafsFr01y6wXZT3fnpbR3OKw0ypUxlC2MGXu5DvgVlKC6AaMr0V0F2pTr382Q5C9Gl4+yniNZzqTrcE4Whsld0da22+cTnmko7WYDGjbR+3UBHYAkjwQZfph4AzIammgOacgOrLI4lkRaRrQLqKUPBZYM/wC1W+va5s8hnRfmepGw/0T3eQzNzK8y2YfwB8PIh9uqYYtBZHKzBitvDx+pVsJyXd4qsPukYhVyPBnOgwFreE8d5RsTc3iXdYWpcrU2sCnLk5NUbbufRXyabi/Ip/I5uovVPfv3vhfKttEtOjUt1BDOPErPAQ7IQPAOuVStrnEMpdbKM2ULF6/aPX6Vb1+Opdk0T+B07rvvynwEN16cNca9VkVrSNn4mR0+MwXVKy8b0i8eN6hoU20rmPpqvoVWk4nOZ3+CjpWjwhSVem+J5RcPI9e1blyRcdSLWeUbMKLNuM/6kxZF3gf6wmbNNlkLvc4CgSrxZ9ns9a5HFK+zSTm0BPz3HkGc06DZY7BYMxU1Sby4Wt0x6MzHYMIfm3sDfkLIxZh/ugcW/GSEPP0PsnizpzqibMc3LVW0/I5OZM7dJanrfTzzsHRhpiW8x05nTtmmqd9TkRPXFNrLNa6SMv5nWzilv9vT5w8zdN/rmu/egABAAAAAQDF8yD0pV8PPPUADwPoAAAAAN4XFS0AAAAA3iLkGP9n/vkD7AOYAAIABgACAAAAAAAAeNpjYGRgYJ7x7xcDA4vU//R/GcxvmF8wbGBABuoAu3EIMAAAeNpjimDIYpr+/wkMMwowaDGtZtAC0Yyz/18A439ANhAzcTIwMe0D0iCci4bDGfQZGRhUGf4zqDJxQGhGjv/pMMwkDxQHYsbXQOzBYALGiQyCTL5AcSBmnArkg/H/PYw6DJYMDAwaDEZgqAFjAQBmGSZGAAAAAAAVADAAPABIAFUAYQBsAIwAmACpALUA0gDpAPUBMQE9AUkBVAGKAacBswG/AcoB9wIVAiACXgJpAogCqwK3AuYDEgMeA0oDVQNgA3YDhAOWA6gDzQPgA+4EAAQSBDcAAQAAAC8AUQAFAEMABAACACIASwCNAAAAhg4MAAMAAXjafZCFTQRAEEUf7jSAbRR3hwju7hCDc3evhEKo6QqgAn4muGVlXn7GgWYC1FFT3wJUa3jlGjp5fuVa2qlirH+Kp1eup5vHV25gi7NXbpQ+98qdIgiR00mRZYlxnSxeMoSl5MRjZMUx2aTUIOMcs8UBq6zh17mzf5RdcjwQI6zoKykZi0uSwDGp6AmdaZZxVi3AA3nZJCHCJESOAQrmuaA3zeC3Cu5zhS8ZT7jljHPRPz195m9+6yRJUbaZg7YNxxQTTOo4LqSo+o9uTsiQJCL2WsSqzROyLWVtmu97DRI2jzwexhSVJG5qUidIDD8B25e2Lv0Bj1Wq2D+Io4jFi86kZG3HBf0+KVtYpOhIkfGfHb8Ap5taRwB42mJgYmD4/w2ItzIYMWAD+kCswnCS4TigqWlIbCCAov/FRs0TxD5ANrW7HxttfNPsk4ME483HI9URQ5waSFALSdpQBykaII0MssjRC62RR4FeUUSJ3lBGhd5RpS194oR+cYozquIcF7jEFa5xg1vc4T72+JR6nKmGIOafeHXCz03JEFeJF8Gepd5Yfj4TU1/e4tmJbaXnltruDIYJhWMnMVVLqY7Zgbu9UV4LQ1xpb1TQ5YkoWgZrCSqfMI7Jlhs5iUaOsg7I2ybnIL1219vjrNMRMt1hKdA2eXYqFjxD9Bk7TymwOu8ez71b9g==) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:ABeeZee;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/abeezee-latin-400-italic-DAXKVd-q.woff2) format("woff2"),url(/assets/abeezee-latin-400-italic-CHDj5KF9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--light-home-muted: #58474f;--light-home-card-edge: #eadce0;--light-home-sky-top: #ffe3e7;--light-home-sky-bottom: #f8ecee;--light-home-glyph: #d69099;--light-home-cta: #c33d47;--light-home-on-cta: #ffffff;--light-home-cta-edge: #c33d47;--light-home-cta-shade: #92262f;--light-home-curriculum: #fff7f5;--light-home-curriculum-edge: #e8b8bc;--light-home-curriculum-label: #fbe1e4;--light-home-curriculum-ink: #8f3442;--light-home-practice: #f3f8f5;--light-home-practice-edge: #b8d2c5;--light-home-practice-label: #dceee5;--light-home-practice-ink: #246957;--light-home-achievements: #fff9ed;--light-home-achievements-edge: #e5d2a2;--light-home-achievements-ink: #795714;--light-home-space: #e0f0e9;--light-home-space-edge: #368978;--light-home-space-ink: #246957;--light-home-reading: #eee7f8;--light-home-reading-edge: #9680c4;--light-home-reading-ink: #655096;--light-home-arithmetic: #fce4e7;--light-home-arithmetic-edge: #cd626f;--light-home-arithmetic-ink: #a23848;--light-home-bonds: #fbefcf;--light-home-bonds-edge: #ad812a;--light-home-bonds-ink: #795714;--light-bg: #F6E8EA;--light-text: #22181C;--light-accent: #EF626C;--light-panel: #ffffff;--dark-bg: #22181C;--dark-text: #F6E8EA;--dark-accent: #84DCCF;--dark-panel: #312F2F;--on-light-accent: #22181C;--on-dark-accent: #22181C;--sq-text: var(--light-text);--sq-panel: var(--light-panel);--map-border: #e6dcde;--map-muted: #5c5157;--map-text: var(--light-text);--map-chip: #f0e6e8;--map-accent: var(--light-accent);--map-on-accent: var(--on-light-accent);--map-hud: rgba(255, 255, 255, .95);--map-ocean: #aad3df;--map-land: #f2efe9;--danger-text: #b3261e;--panel-shadow: rgba(34, 24, 28, .12);--navbar-height: 56px;--solar-panel: rgba(255, 248, 244, .96);--solar-text: #22181c;--solar-muted: #51464a;--solar-border: #bd998c;--solar-accent: var(--light-accent);--solar-on-accent: var(--on-light-accent)}body.dark{--dark-home-muted: #d3c3c9;--dark-home-card-edge: #51454a;--dark-home-sky-top: #33262c;--dark-home-sky-bottom: #241a1e;--dark-home-glyph: #547b74;--dark-home-cta: #1f7d70;--dark-home-on-cta: #ffffff;--dark-home-cta-edge: #72c4b6;--dark-home-cta-shade: #13544b;--dark-home-curriculum: #32262b;--dark-home-curriculum-edge: #76555e;--dark-home-curriculum-label: #4b3039;--dark-home-curriculum-ink: #f2c3ca;--dark-home-practice: #26312d;--dark-home-practice-edge: #536f61;--dark-home-practice-label: #30493e;--dark-home-practice-ink: #b7e2d0;--dark-home-achievements: #332e25;--dark-home-achievements-edge: #756347;--dark-home-achievements-ink: #ead5a7;--dark-home-space: #29443b;--dark-home-space-edge: #75bba6;--dark-home-space-ink: #b7e2d0;--dark-home-reading: #40344f;--dark-home-reading-edge: #b4a0d6;--dark-home-reading-ink: #d7c7ed;--dark-home-arithmetic: #4b3039;--dark-home-arithmetic-edge: #d998a4;--dark-home-arithmetic-ink: #f2c3ca;--dark-home-bonds: #493c27;--dark-home-bonds-edge: #d0b26e;--dark-home-bonds-ink: #ead5a7;--danger-text: #ffb4ab;--panel-shadow: rgba(0, 0, 0, .4);--sq-text: var(--dark-text);--sq-panel: var(--dark-panel);--map-border: #443b3f;--map-muted: #bdb0b4;--map-text: var(--dark-text);--map-chip: #3a3437;--map-accent: var(--dark-accent);--map-on-accent: var(--on-dark-accent);--map-hud: rgba(34, 24, 28, .95);--map-ocean: #aad3df;--map-land: #4a4043;--solar-panel: rgba(20, 24, 39, .96);--solar-text: #f6e8ea;--solar-muted: #d4c9cf;--solar-border: #c4a47d;--solar-accent: var(--dark-accent);--solar-on-accent: var(--on-dark-accent)}body{margin:0;font-family:ABeeZee,sans-serif;font-weight:400;transition:background-color .3s,color .3s;min-height:100dvh}body.light{background-color:#f6e8ea;color:#22181c}body.dark{background-color:#22181c;color:#f6e8ea}body.dark{background-color:var(--dark-bg);color:var(--dark-text)}.clock-panel{display:flex;flex-direction:column;align-items:center}.clock-btn{padding:.5rem 1rem;font-size:1rem;background-color:var(--light-accent);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .3s}body.dark .clock-btn{background-color:var(--dark-accent)}.clock-btn:hover{filter:brightness(.9)}.clock-btn:disabled{background-color:gray;cursor:not-allowed;opacity:.6}.option-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem;max-width:500px;margin:1rem auto;width:100%}@media(max-width:400px){.option-list{grid-template-columns:1fr}}.option-list label{position:relative;font-size:.95rem;cursor:pointer;-webkit-user-select:none;user-select:none;color:inherit;line-height:1.6rem;display:flex;align-items:center;gap:.5rem}.option-list input[type=checkbox]{appearance:none;width:1.1rem;height:1.1rem;border:2px solid var(--light-accent);border-radius:3px;background-color:#fff;cursor:pointer;transition:all .2s;position:relative}body.dark .option-list input[type=checkbox]{border-color:var(--dark-accent);background-color:#222}.option-list input[type=checkbox]:checked{background-color:var(--light-accent);border-color:var(--light-accent)}body.dark .option-list input[type=checkbox]:checked{background-color:var(--dark-accent);border-color:var(--dark-accent)}.option-list input[type=checkbox]:checked:after{content:"✔";color:#fff;position:absolute;top:-.2rem;left:.15rem;font-size:.9rem}body.dark .option-list input[type=checkbox]:checked:after{color:#000}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{background-color:#f6e8ea}@media(prefers-color-scheme:dark){html{background-color:#22181c}}html:has(body.light){background-color:#f6e8ea}html:has(body.dark){background-color:#22181c}.abeezee-regular{font-family:ABeeZee,sans-serif;font-weight:400;font-style:normal}.abeezee-regular-italic{font-family:ABeeZee,sans-serif;font-weight:400;font-style:italic}.page{max-width:1200px;margin:0 auto;padding:1rem}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{line-height:1.5}ul,ol{list-style:none}a{text-decoration:none;color:inherit}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}:root{--profile-colour-coral: #f7b3b7;--profile-colour-sky: #a9cdf0;--profile-colour-mint: #a8e0cf;--profile-colour-sun: #f6d98a;--profile-colour-lilac: #cdbdec;--profile-colour-peach: #f8c49b}body.dark{--profile-colour-coral: #d98d92;--profile-colour-sky: #8ab2d8;--profile-colour-mint: #8ac6b5;--profile-colour-sun: #d9bd72;--profile-colour-lilac: #b0a0d0;--profile-colour-peach: #dca87f}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
