@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#25263f;--muted:#686c80;--purple:#5b48e9;--purple-dark:#4431c2;--line:#e5e7ef;--bg:#f5f6fa;--mint:#c9f3e5;--lime:#ddf789;--coral:#ff8f75;--font:'DM Sans',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px}button,select,input{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button{color:inherit}button:disabled{opacity:.4;cursor:default}button,a,select,input{outline-offset:4px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--purple)}button{transition:background .16s,transform .16s}button:hover:not(:disabled){filter:brightness(.97)}[hidden]{display:none!important}.topbar{height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 32px;gap:34px}.brand{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-1.2px;font-size:27px;display:flex;align-items:center;text-decoration:none;color:var(--ink);white-space:nowrap}.brand-dot{color:var(--purple)}.brandmark{display:grid;grid-template-columns:repeat(2,7px);gap:4px;padding:10px;background:var(--purple);border-radius:11px;margin-right:11px}.brandmark i{width:7px;height:7px;background:var(--lime);border-radius:50%}.brandmark i:last-child{background:white}.topbar nav{display:flex;align-items:center;gap:4px;margin-left:25px}.nav{background:none;border:0;padding:12px 16px;border-radius:9px;font-size:14px;font-weight:600;white-space:nowrap}.nav.active{background:#f0edff;color:var(--purple)}.nav-count{background:#e7e2ff;padding:2px 6px;border-radius:5px;margin-left:5px;font-size:12px}.top-note{margin-left:auto;color:var(--muted);font-size:13px;white-space:nowrap}.present{border:0;border-radius:9px;background:var(--ink);color:#fff;padding:12px 17px;font-size:14px;white-space:nowrap}.app-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 88px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:30px 22px 20px;display:flex;flex-direction:column;gap:28px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:1.4px;color:var(--muted);display:block}.sidebar select{width:100%;margin-top:13px;border:1px solid var(--line);border-radius:10px;padding:12px 8px;font-size:14px;font-weight:650;background:#fafaff;color:var(--ink)}.stage-hint{font-size:12px;color:var(--muted);margin:8px 4px 0}.board-menu{margin-top:14px;display:grid;gap:6px}.board-choice{display:flex;align-items:center;gap:12px;border:1px solid transparent;border-radius:11px;background:none;text-align:left;padding:12px 9px;width:100%;font-size:14px;font-weight:550}.board-choice.active{background:#f0edff;color:var(--purple);border-color:#e3dcff}.board-glyph{font-size:20px;display:flex;width:24px;height:24px;align-items:center;justify-content:center;font-weight:500}.board-choice .badge{font-size:10px;margin-left:auto;background:#e8edf3;border-radius:5px;padding:3px}.sidebar-bottom{margin-top:auto;background:#f6f7fb;padding:18px 14px;border-radius:13px}.little-pegs{display:flex;gap:5px;margin-bottom:14px}.little-pegs i{height:15px;width:15px;border-radius:50%;background:var(--purple)}.little-pegs i:nth-child(2){background:#ff967d}.little-pegs i:nth-child(3){background:#94d5be}.sidebar-bottom h3{font-size:15px;margin:0 0 8px}.sidebar-bottom p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 10px}.text-button{border:0;background:none;color:var(--purple);font-size:13px;font-weight:650;padding:4px 0}.sidebar-footer{font-size:9px;letter-spacing:1px;color:var(--muted)}main{padding:32px 36px;max-width:1600px;width:100%;margin:auto;min-width:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.page-heading .eyebrow{font-size:10px}h1{font-family:Manrope,sans-serif;font-size:36px;letter-spacing:-1.5px;font-weight:750;margin:7px 0 0;line-height:1.3}h1 em{font-style:normal;color:var(--purple)}.secondary{border:1px solid #dce0e9;border-radius:10px;padding:11px 15px;background:#fff;font-size:14px;font-weight:550}.studio-layout{display:grid;grid-template-columns:minmax(340px,1fr) 300px;gap:23px;align-items:start}.board-panel{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 5px 20px #22243f03}.board-heading{padding:17px 23px 12px;display:flex;align-items:center;justify-content:space-between}.board-heading>div{display:flex;align-items:center;gap:10px}.board-type-dot{width:9px;height:9px;background:var(--purple);border-radius:3px}.board-heading h2{font-size:17px;margin:0;font-weight:650;letter-spacing:-.3px}.board-range{font-size:12px;color:var(--muted);border:1px solid var(--line);padding:3px 7px;border-radius:5px}.icon-button{background:none;border:0;font-size:21px;width:34px;height:34px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center}.icon-button#labels{font-size:14px;background:#f4f5f9;color:var(--muted);font-weight:650}.toolstrip{margin:0 22px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:13px}.tool-group{display:flex;background:#f5f6fa;border-radius:8px;padding:3px}.tool{padding:7px 10px;border:0;border-radius:6px;background:none;font-size:13px;color:var(--muted);white-space:nowrap}.tool.active{background:#fff;color:var(--purple);box-shadow:0 1px 4px #1c1c3c12}.swatches{display:flex;gap:7px}.swatch{width:21px;height:21px;border-radius:50%;border:3px solid white;box-shadow:0 0 0 1px transparent;padding:0}.swatch.active{box-shadow:0 0 0 1.5px var(--ink)}.history-tools{margin-left:auto;display:flex}.history-tools button{color:var(--muted);font-size:23px}.board-canvas{padding:22px;min-height:320px;display:flex;align-items:center;justify-content:center;background:radial-gradient(#e6e8f0 .65px,transparent .65px);background-size:12px 12px}.number-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;width:100%;max-width:610px;isolation:isolate}.cell{border:1px solid #e0e4ef;background:#f2f4fb;border-radius:8px;aspect-ratio:1;font-size:clamp(14px,1.4vw,22px);font-weight:550;position:relative;padding:0;min-width:0;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;box-shadow:0 2px 0 #dfe3ef40;transition:background .12s,transform .12s}.cell:hover{background:#e5e5fc;transform:translateY(-1px)}.cell.pegged{background:var(--peg);border-color:transparent;color:#fff;font-weight:700}.cell.pegged.light{color:#243a34}.cell.covered{background:var(--ink);border-color:var(--ink);color:#fff}.cell.covered:after{content:'?';font-size:22px}.cell.covered span{display:none}.cell.peek{box-shadow:inset 0 0 0 3px var(--purple)}.number-grid.frame5,.number-grid.frame10{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border:3px solid var(--ink);border-radius:5px;max-width:600px}.frame5 .cell,.frame10 .cell{border-radius:0;border:1px solid var(--ink);background:#fff;box-shadow:none;font-size:24px}.frame5 .cell.pegged,.frame10 .cell.pegged{background:#fff}.frame5 .cell.pegged:before,.frame10 .cell.pegged:before{content:'';position:absolute;width:70%;height:70%;border-radius:50%;background:var(--peg)}.frame5 .cell span,.frame10 .cell span{z-index:1}.number-grid.line{grid-template-columns:repeat(10,minmax(0,1fr));row-gap:18px}.line .cell{border-radius:50%;border:2px solid #cbd0e5;box-shadow:none}.line .cell:after{content:'';height:2px;background:#cbd0e5;width:10px;position:absolute;right:-9px;top:50%;z-index:-1}.line .cell:nth-child(10n):after,.line .cell:last-child:after{display:none}.line.line5{grid-template-columns:repeat(5,minmax(0,1fr))}.number-grid.multiplication{grid-template-columns:28px repeat(10,minmax(0,1fr));gap:4px}.axis{display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted);font-weight:700}.board-bottom{padding:0 23px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.board-actions{background:#fafaff;border-top:1px solid var(--line);padding:12px 20px;display:flex;align-items:center;gap:10px;font-size:12px;flex-wrap:wrap}.board-actions label{display:flex;align-items:center;gap:7px}.board-actions select{border:1px solid var(--line);border-radius:5px;padding:5px;background:white;font-size:13px}.small-button{font-size:12px;border:1px solid var(--line);padding:7px 9px;background:white;border-radius:6px;font-weight:550}.action-divider{width:1px;height:20px;background:var(--line);margin:0 2px}#dice-result{font-weight:700;color:var(--purple)}.lesson-panel{border:1px solid #dfdcf3;background:white;border-radius:17px;overflow:hidden}.lesson-banner{padding:21px;background:#efedff}.lesson-banner .eyebrow{color:var(--purple);font-size:10px}.lesson-banner h2{font-family:Manrope,sans-serif;font-weight:750;letter-spacing:-.6px;line-height:1.25;font-size:25px;margin:14px 0 11px}.lesson-tags{display:flex;gap:8px;font-size:11px;color:#5b537c}.lesson-tags span{padding:4px 7px;background:#fff9;border-radius:5px}.lesson-body{padding:20px}.lesson-body p{font-size:14px;line-height:1.6;margin:8px 0 17px;color:#606579}.lesson-body h3{font-size:14px;margin:0}.lesson-step{display:grid;grid-template-columns:23px 1fr;gap:10px;margin:16px 0}.step-no{height:22px;width:22px;border:1px solid #dfdcf4;border-radius:50%;font-size:11px;color:var(--purple);display:grid;place-items:center}.lesson-step p{margin:0;font-size:13px;line-height:1.55}.primary{display:block;border:0;border-radius:9px;background:var(--purple);color:white;padding:12px 16px;font-size:14px;font-weight:650;width:100%}.primary:hover{background:var(--purple-dark)}.lesson-details{border-top:1px solid var(--line);padding:0 20px}.lesson-details details{border-bottom:1px solid var(--line);padding:14px 0}.lesson-details details:last-child{border:0}.lesson-details summary{font-size:13px;cursor:pointer;font-weight:550}.lesson-details p{font-size:13px;line-height:1.6;color:var(--muted)}.lesson-details a{color:var(--purple)}.lesson-note{background:#f3f8e8;border-radius:8px;padding:12px;font-size:13px!important;color:#435824!important}.talk-strip{margin-top:20px;border:1px solid #dee7e2;border-radius:13px;background:#eaf5ef;display:flex;align-items:center;gap:16px;padding:17px 22px}.talk-icon{font-family:Georgia,serif;font-size:52px;line-height:1;color:#39846d;height:38px}.talk-strip .eyebrow{font-size:10px;color:#49816b}.talk-strip p{font-size:16px;margin:5px 0 0;font-weight:550}.talk-strip>button{margin-left:auto;color:#39846d}.studio-footer{display:flex;justify-content:space-between;margin-top:20px;color:var(--muted);font-size:11px;gap:16px}.activity-intro{max-width:670px;color:var(--muted);line-height:1.65}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.filter{background:white;border:1px solid var(--line);padding:9px 15px;border-radius:25px;font-size:14px}.filter.active{background:var(--ink);color:white;border-color:var(--ink)}.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.activity-card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.card-visual{padding:24px;background:var(--card-bg,#ebe7ff);display:flex;align-items:center;justify-content:space-between;min-height:130px}.mini-grid{display:grid;grid-template-columns:repeat(5,15px);gap:5px;transform:rotate(-8deg)}.mini-grid i{height:15px;width:15px;background:#fff9;border-radius:4px}.mini-grid i.filled{background:var(--purple)}.card-symbol{font-family:Manrope,sans-serif;font-size:36px;letter-spacing:-2px;font-weight:750;margin-right:9px}.card-body{padding:22px;display:flex;flex-direction:column;flex:1}.card-body h2{font-size:21px;letter-spacing:-.5px;margin:8px 0}.card-body p{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 20px}.card-body button{margin-top:auto}.card-meta{font-size:11px;color:var(--muted)}.curriculum-intro{background:var(--ink);color:#fff;padding:32px;border-radius:19px;margin:20px 0 28px;display:grid;grid-template-columns:1.2fr 1fr;gap:32px}.curriculum-intro h2{font-family:Manrope;font-size:28px;letter-spacing:-.6px;margin:0 0 12px}.curriculum-intro p{line-height:1.65;color:#cdd0e5;font-size:15px}.curriculum-intro a{color:#d7f48c}.curriculum-table{width:100%;border-collapse:collapse;background:white;font-size:14px;margin:20px 0;border-radius:12px}.curriculum-table th,.curriculum-table td{padding:18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.6}.curriculum-table th{background:#efedf9;font-size:12px;color:#686080}.curriculum-table td:first-child{font-weight:650;white-space:nowrap}.curriculum-table a{color:var(--purple)}.pedagogy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.pedagogy-card{background:#fff;padding:23px;border:1px solid var(--line);border-radius:12px}.pedagogy-card h3{font-size:16px;margin:0 0 9px}.pedagogy-card p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}.source-list{font-size:14px;line-height:1.9;color:var(--muted);padding-left:20px}.source-list a{color:var(--purple)}.section-title{font-size:22px;letter-spacing:-.5px;margin-top:35px}.game-box{background:#f5f3ff;border:1px solid #e6e1ff;border-radius:10px;padding:12px;margin-bottom:15px}.game-box p{margin:5px 0 10px}.game-box input{width:100%;padding:10px;border:1px solid #d2cbe8;border-radius:6px;margin-bottom:8px}.game-box button{margin:5px 0}.game-feedback{font-weight:600;color:var(--purple)!important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.skip{position:absolute;top:-100px;left:10px;z-index:50;background:white;padding:15px}.skip:focus{top:10px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 22px;background:var(--ink);color:white;border-radius:10px;font-size:14px;box-shadow:0 7px 30px #0002;opacity:0;pointer-events:none;transition:opacity .2s;z-index:100;max-width:90vw}#toast.show{opacity:1}body.presenting .sidebar,body.presenting .topbar,body.presenting .page-heading,body.presenting .lesson-panel,body.presenting .studio-footer{display:none}body.presenting .app-shell{display:block}body.presenting main{max-width:1100px;padding:20px}body.presenting .studio-layout{display:block}body.presenting .number-grid{max-width:min(72vh,800px)}body.presenting .cell{font-size:clamp(20px,2.3vw,32px)}#exit-present{position:fixed;right:20px;top:15px;z-index:5;background:var(--ink);color:white;padding:12px;border:0;border-radius:9px}.source-note{font-size:12px;color:var(--muted);line-height:1.6}.table-wrap{overflow:auto}
@media(min-width:1500px){.studio-layout{grid-template-columns:minmax(420px,1fr) 330px}.number-grid{max-width:640px}.board-canvas{padding:28px 40px}.lesson-body p{font-size:15px}.lesson-step p{font-size:14px}}
@media(max-width:1250px){.top-note{display:none}.topbar{gap:20px}.topbar nav{margin-left:auto}.app-shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding:25px 15px}main{padding:28px 24px}.studio-layout{grid-template-columns:minmax(300px,1fr) 270px;gap:16px}.toolstrip{gap:7px;margin:0 16px}.tool{padding:7px}.tool span{display:none}.board-canvas{padding:16px}.swatches{gap:5px}.lesson-body{padding:17px}.lesson-banner{padding:19px}.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.app-shell{grid-template-columns:175px minmax(0,1fr)}.studio-layout{grid-template-columns:1fr}.lesson-panel{display:grid;grid-template-columns:1fr 1.5fr}.lesson-banner{grid-row:1}.lesson-details{grid-column:1/-1}.board-canvas{padding:23px}.number-grid{max-width:620px}.cell{font-size:21px}.sidebar{gap:24px}.brand{font-size:23px}.topbar{padding:0 20px;gap:12px}.nav{padding:10px}.present{padding:10px}h1{font-size:30px}.studio-footer{flex-direction:column;gap:5px}.curriculum-intro{grid-template-columns:1fr}.curriculum-table td,.curriculum-table th{padding:13px}.card-body{padding:18px}}
@media(max-width:700px){.topbar{height:auto;min-height:116px;flex-wrap:wrap;padding:16px 18px 0;gap:10px}.brand{font-size:25px}.topbar nav{order:3;width:100%;justify-content:space-between;margin:0;border-top:1px solid var(--line);padding:8px 0}.nav{font-size:12px;padding:10px 9px}.nav-count{font-size:10px}.present{margin-left:auto;font-size:12px}.present span{display:none}.app-shell{display:block}.sidebar{border-right:0;padding:14px 18px;gap:8px;display:block}.sidebar>div:first-child{display:flex;align-items:center;gap:12px}.sidebar>div:first-child>.eyebrow{display:none}.sidebar select{margin:0;width:auto;flex:1;padding:9px}.stage-hint{display:none}.sidebar>div:nth-child(2)>.eyebrow{display:none}.board-menu{display:flex;overflow-x:auto;gap:6px;margin-top:12px;padding-bottom:5px}.board-choice{min-width:max-content;width:auto;padding:9px;font-size:12px;gap:6px;border-color:var(--line)}.board-glyph{font-size:16px;width:20px}.sidebar-bottom,.sidebar-footer{display:none}main{padding:22px 16px}.page-heading{align-items:flex-end;margin-bottom:20px;gap:10px}h1{font-size:29px;letter-spacing:-1.2px}.page-heading .eyebrow{font-size:9px}.page-heading .secondary{font-size:12px;padding:9px}.board-heading{padding:14px}.board-heading h2{font-size:16px}.toolstrip{margin:0 12px}.swatch{width:20px;height:20px}.swatches{gap:5px}.history-tools button{width:27px}.board-canvas{padding:13px 10px;min-height:260px}.number-grid{gap:3px}.cell{border-radius:5px;font-size:15px}.number-grid.multiplication{gap:2px;grid-template-columns:18px repeat(10,minmax(0,1fr))}.multiplication .cell{font-size:12px}.board-actions{padding:10px;font-size:11px;gap:7px}.small-button{font-size:11px;padding:7px}.board-bottom{padding:6px 12px 12px;font-size:11px}.board-bottom .text-button{font-size:11px}.lesson-panel{display:block}.lesson-banner h2{margin-top:9px}.lesson-body{padding:19px}.talk-strip{padding:15px;gap:10px}.talk-strip p{font-size:14px}.activity-grid{grid-template-columns:1fr}.filters{gap:7px}.filter{padding:8px 11px;font-size:12px}.pedagogy-grid{grid-template-columns:1fr}.curriculum-intro{padding:23px;gap:15px}.curriculum-table{min-width:550px}.card-visual{min-height:110px}.studio-footer{font-size:10px}.number-grid.line .cell{font-size:13px}body.presenting main{padding-top:65px}body.presenting .cell{font-size:17px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{.topbar,.sidebar,.toolstrip,.board-actions,.page-heading>button,.lesson-body button,.studio-footer,.talk-strip,#toast{display:none!important}.app-shell{display:block}main{padding:0}.studio-layout{display:block}.lesson-panel{break-before:page}.number-grid{max-width:600px}.board-canvas{padding:10px}.cell{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Classroom readability and continuous number lines. */
.eyebrow{font-size:12px!important;letter-spacing:1.1px}.stage-hint,.sidebar-footer,.studio-footer,.source-note,.lesson-tags,.card-meta,.axis{font-size:12px}.board-choice,.tool,.text-button,.small-button,.board-actions,.board-actions select,.board-bottom,.lesson-details summary,.lesson-details p,.sidebar-bottom p,.lesson-step p{font-size:14px}.lesson-body>p,.activity-intro{font-size:16px}.lesson-step p{line-height:1.65}.toolstrip{flex-wrap:wrap}.tool-group{flex-shrink:0}.board-heading>div{flex-wrap:wrap}.lesson-step.current-step{background:#f3f0ff;padding:10px;margin-left:-10px;margin-right:-10px;border-radius:8px}.step-controls{display:flex;align-items:center;justify-content:space-between;margin-top:13px;gap:7px;font-size:12px}.board-canvas:has(.line){display:block;overflow-x:auto;padding-top:100px;padding-bottom:100px}.number-grid.line{gap:6px;max-width:none}.number-grid.line20{grid-template-columns:repeat(20,minmax(30px,1fr));min-width:714px}.line20 .cell:nth-child(10n):after{display:block}.line20 .cell:last-child:after{display:none}.frame5 .cell.covered,.frame10 .cell.covered{background:var(--ink);color:white}.frame5 .cell.covered span,.frame10 .cell.covered span{display:none}.number-grid.line20 .cell{font-size:15px}.number-grid.line20 .cell:after{right:-9px;width:8px}
@media(max-width:700px){.board-choice{font-size:14px}.board-bottom{font-size:12px;flex-wrap:wrap}.board-bottom .text-button,.small-button,.board-actions,.board-actions select{font-size:14px}.tool{padding:7px 8px}.lesson-body>p{font-size:16px}.studio-footer{font-size:12px}.page-heading .eyebrow{font-size:10px!important}.nav{font-size:14px}.topbar nav{gap:0}.nav-count{display:none}.board-range{font-size:12px}.lesson-panel{margin-top:5px}.swatch{height:23px;width:23px}.curriculum-intro .eyebrow{font-size:11px!important}}

/* Touch controls, language choice and the SchoolStore product relationship. */
.topbar{height:auto;min-height:100px;padding:14px 24px;gap:16px;flex-wrap:wrap}.topbar nav{margin-left:auto}.brand-lockup{display:flex;flex-direction:column;gap:4px}.creator{font-size:12px;color:var(--muted);text-decoration:none;padding-left:46px}.creator strong{color:var(--ink)}.language-switch{display:flex;border:1px solid var(--line);border-radius:10px;padding:3px;background:#f8f8fc}.language-switch a{min-height:44px;display:flex;align-items:center;padding:7px 10px;font-size:14px;text-decoration:none;border-radius:7px;color:var(--muted);font-weight:650}.language-switch a[aria-current]{color:var(--purple);background:#eae5ff}.shop-link,.kit-link{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:10px 13px;border-radius:9px;background:#eef4e4;color:#30451c;font-size:14px;font-weight:650;text-decoration:none;line-height:1.45}.sidebar-bottom .kit-link{width:100%;text-align:center}.lesson-details .kit-link{color:#30451c}.topbar .nav,.present,.secondary,.primary,.filter,.board-choice,.small-button{min-height:48px}.primary{min-height:52px}.tool-group{gap:4px;padding:4px}.tool{min-height:52px;padding:11px 14px;font-size:16px}.tool span{display:inline!important}.swatches{gap:10px}.swatch{width:44px;height:44px;border-width:5px;flex-shrink:0}.icon-button,.history-tools button{min-width:48px;min-height:48px;width:auto;height:auto}.toolbar-action{border:0;background:#f5f6fa;border-radius:8px;padding:10px 13px;display:flex;align-items:center;gap:8px;font-size:21px!important}.toolbar-action span{font-size:14px}.history-tools{gap:7px;flex-wrap:wrap}.board-actions .small-button,.board-actions select{min-height:48px;font-size:16px}.board-actions select{min-width:62px}.board-actions{gap:12px}.text-button{min-height:44px;display:inline-flex;align-items:center}.lesson-details summary{padding:9px 0;min-height:44px;line-height:1.5}.step-controls .small-button{min-width:78px}.toolstrip{gap:12px;padding-top:4px;padding-bottom:16px}.board-bottom{flex-wrap:wrap}.sidebar select{min-height:48px}.board-menu .board-choice{white-space:normal;line-height:1.4}.present{font-size:16px}.present span{display:inline}.step-controls{flex-wrap:wrap}.cell:focus-visible{outline:3px solid var(--purple);z-index:2}body.presenting .toolstrip{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:20;max-width:calc(100vw - 32px);width:max-content;margin:0;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 45px #25263f30;justify-content:center}body.presenting main{padding-bottom:170px}body.presenting .board-actions{padding:15px 24px}body.presenting .number-grid:not(.line){max-width:min(75vh,900px)}body.presenting .tool{min-height:56px;font-size:18px}body.presenting .swatch{width:48px;height:48px}body.presenting .history-tools button{min-height:56px}#exit-present{min-height:52px;font-size:16px;padding:12px 20px}.lesson-banner h2{overflow-wrap:anywhere}
@media(max-width:1300px){.topbar{gap:12px}.topbar nav{margin-left:0}.topbar .language-switch{margin-left:auto}.topbar .nav{padding:10px 12px}.shop-link{font-size:14px}.app-shell{min-height:calc(100vh - 100px)}}
@media(max-width:900px){.topbar{padding:14px 18px}.topbar nav{order:5;width:100%;justify-content:space-around;border-top:1px solid var(--line);padding-top:7px}.topbar .nav{font-size:14px;white-space:normal}.shop-link{margin-left:auto}.topbar .language-switch{margin-left:0}.brand{font-size:24px}.toolstrip{gap:10px}.history-tools{margin-left:0}.shop-link,.present{min-height:46px}.page-heading{flex-wrap:wrap}.board-menu .board-choice{min-height:50px;white-space:nowrap}.creator{font-size:12px}.lesson-banner h2{font-size:25px}body.presenting .toolstrip{bottom:8px;padding:8px;gap:8px}body.presenting main{padding-bottom:220px}}
@media(max-width:550px){.brand-lockup{flex:1}.language-switch{margin-left:auto!important}.language-switch a{padding:6px 8px}.topbar .shop-link{order:3;flex:1}.topbar .present{order:4;flex:1}.toolstrip{justify-content:flex-start}.tool{padding:10px 12px}.history-tools{margin-left:auto}.history-tools .toolbar-action{padding:8px 10px}.board-heading{gap:8px}.board-heading h2{font-size:18px}.board-range{max-width:100%;overflow-wrap:anywhere}.swatches{gap:8px}.swatch{width:42px;height:42px}.board-actions{padding:12px}.sidebar select{width:100%;font-size:15px}.page-heading .secondary{font-size:14px}.lesson-tags{flex-wrap:wrap}body.presenting .toolstrip{width:calc(100vw - 16px);max-width:none}body.presenting .history-tools{margin-left:0}body.presenting .tool{padding:10px}body.presenting .cell{font-size:17px}}

/* A welcoming entry to the teaching tools. */
body.welcome-page .sidebar{display:none}body.welcome-page .app-shell{display:block}body.welcome-page main{max-width:1360px;padding:52px 40px 24px}.welcome-hero{display:grid;grid-template-columns:1.12fr 1fr;gap:60px;align-items:center;padding:8px 0 56px}.welcome-copy h1{font-size:clamp(2.7rem,4.8vw,4.8rem);line-height:1.1;letter-spacing:-.055em;margin:18px 0 24px}.welcome-intro{font-size:1.125rem;line-height:1.7;max-width:560px;color:#55596e}.welcome-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.welcome-actions .primary{width:auto;min-height:56px;font-size:1rem;padding:14px 22px}.welcome-actions .secondary{font-size:1rem;min-height:56px}.welcome-meta{font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:20px}.welcome-demo{padding:34px;background:#fff;border:1px solid #ded9f9;border-radius:24px;box-shadow:0 20px 55px #4431c20c;border-top:6px solid var(--purple)}.welcome-demo .eyebrow{color:var(--purple)}.welcome-demo h2{font-family:Manrope,sans-serif;font-size:1.7rem;letter-spacing:-.04em;line-height:1.35;max-width:350px;margin:18px 0 28px}.welcome-demo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:2px solid var(--ink);border-radius:10px;overflow:hidden}.welcome-demo-cell{aspect-ratio:1;min-width:0;padding:12%;border:0;border-right:1px solid var(--ink);background:#f8f9fc;display:grid;place-items:center}.welcome-demo-cell:last-child{border:0}.welcome-demo-cell span{width:100%;aspect-ratio:1;border-radius:50%;background:transparent}.welcome-demo-cell.filled span{background:var(--purple);box-shadow:inset 0 -4px 0 #302a661c}.welcome-demo-cell:focus-visible{outline-offset:-5px}.welcome-demo-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:15px;font-size:1rem}.welcome-demo-bottom .text-button{font-size:1rem;padding:8px}.welcome-demo-help{font-size:1rem;color:var(--muted);line-height:1.6;border-top:1px solid var(--line);padding-top:18px;margin-bottom:0}.welcome-classes{scroll-margin-top:25px;border-top:1px solid var(--line);padding-top:38px}.welcome-classes h2,.welcome-how>h2,.welcome-kit h2{font-family:Manrope,sans-serif;font-size:clamp(1.6rem,2.6vw,2.3rem);letter-spacing:-.045em;line-height:1.25;margin:12px 0}.welcome-classes>p:not(.eyebrow){color:var(--muted);font-size:1rem;line-height:1.6}.welcome-class-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:26px}.welcome-class-card{padding:24px 20px;background:white;border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;border-top:5px solid #6854e9}.welcome-class-card:nth-child(2){border-top-color:#75bfa4}.welcome-class-card:nth-child(3){border-top-color:#e5b54c}.welcome-class-card:nth-child(4){border-top-color:#ef937a}.welcome-stage{font-size:.875rem;font-weight:650;color:var(--muted)}.welcome-class-card h3{font-size:1.25rem;line-height:1.4;letter-spacing:-.02em;margin:12px 0 8px}.welcome-class-card>p{font-size:1rem;color:var(--muted);line-height:1.5;margin:0 0 24px}.welcome-recommendation{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding:18px 0;margin-top:auto}.welcome-recommendation strong{font-size:1rem;line-height:1.5}.welcome-recommendation span{font-size:.875rem;color:var(--muted)}.welcome-class-card .primary{font-size:1rem;line-height:1.45;padding:12px;min-height:56px}.welcome-browse{font-size:1rem;margin:16px 0}.welcome-how{padding:28px 0 38px}.welcome-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:30px}.welcome-step-no{font-family:Manrope,sans-serif;font-size:1.75rem;font-weight:700;color:var(--purple)}.welcome-steps h3{font-size:1.125rem;margin:12px 0}.welcome-steps p{font-size:1rem;color:var(--muted);line-height:1.7;margin:0}.welcome-kit{display:flex;align-items:center;gap:40px;padding:36px 40px;background:var(--ink);color:#fff;border-radius:20px;margin-top:12px}.welcome-kit>div{flex:1}.welcome-kit .eyebrow{color:var(--lime)}.welcome-kit h2{max-width:690px}.welcome-kit p:not(.eyebrow){font-size:1rem;line-height:1.7;color:#d6d9e8;max-width:690px}.welcome-kit .kit-link{background:var(--lime);min-height:56px;font-size:1rem;max-width:300px;text-align:center;padding:16px 22px}.welcome-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 0 0;font-size:.875rem;color:var(--muted)}.welcome-footer .text-button{font-size:.875rem}.topbar nav{flex-wrap:wrap}
@media(max-width:1100px){.welcome-hero{gap:28px}.welcome-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-demo{padding:26px}.welcome-kit{align-items:flex-start;flex-direction:column;gap:10px}.welcome-kit .kit-link{max-width:none}.topbar{column-gap:12px}}
@media(max-width:750px){body.welcome-page main{padding:32px 20px 16px}.welcome-hero{grid-template-columns:1fr;gap:28px;padding-bottom:36px}.welcome-copy h1{font-size:clamp(2.65rem,9vw,4rem)}.welcome-demo h2{max-width:none}.welcome-demo-grid{max-width:500px}.welcome-steps{grid-template-columns:1fr;gap:26px}.welcome-kit{padding:26px}.welcome-footer{flex-direction:column;align-items:flex-start;gap:6px}.welcome-how{padding-top:18px}}
@media(max-width:450px){.welcome-class-grid{grid-template-columns:1fr}.welcome-actions>button{width:100%!important}.welcome-demo{padding:22px 16px}.welcome-demo-cell{min-height:48px}.welcome-class-card{padding:22px}.welcome-meta{font-size:.875rem}.welcome-footer .text-button{text-align:left}}

/* Guided teaching: one prompt, three everyday controls, optional tools. */
.app-shell{display:block}main{max-width:1180px;padding:28px 32px}.studio-layout{display:block}.studio-layout .number-grid{max-width:660px}#studio-view>.page-heading h1{font-size:clamp(1.7rem,3vw,2.3rem);letter-spacing:-.035em}.activity-guide{display:flex;gap:24px;align-items:center;justify-content:space-between;background:#efedff;border:1px solid #ddd7fb;border-radius:16px;padding:22px 26px;margin-bottom:18px}.guide-copy{max-width:760px}.guide-copy .eyebrow{color:#5040b9}.guide-copy p{font-size:1.15rem;line-height:1.6;margin:8px 0 0}.guide-buttons{display:flex;align-items:center;gap:10px;flex-shrink:0}.activity-guide .primary{width:auto;min-height:56px;font-size:1rem;white-space:normal}.activity-guide .secondary{font-size:1rem}.board-panel{overflow:visible}.toolstrip{justify-content:space-between;align-items:center;padding:6px 0 16px}.tool-hint{font-size:1rem;line-height:1.5;color:#55596e;flex:1 1 300px;margin:0;max-width:580px}.simple-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.simple-controls details{position:relative}.simple-controls summary{cursor:pointer;list-style:none;background:#f4f5f9;border:1px solid #e3e5ee;border-radius:9px;min-height:52px;padding:12px 16px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:1rem;font-weight:550}.simple-controls summary::-webkit-details-marker{display:none}.simple-controls summary:after{content:'+';font-size:1.1rem}.simple-controls details[open]>summary{border-color:var(--purple);color:var(--purple)}.simple-controls details[open]>summary:after{content:'−'}.simple-controls .toolbar-action{min-height:52px;font-size:1rem!important}.toolbar-action span{font-size:1rem}.active-colour{width:22px;height:22px;border-radius:50%;display:inline-block;background:var(--purple)}.colour-picker .swatches,.extra-tools-body{position:absolute;z-index:30;right:0;top:calc(100% + 10px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 35px #25263f25;padding:18px}.colour-picker .swatches{flex-wrap:nowrap;gap:14px}.colour-picker .swatch{width:48px;height:48px}.extra-tools-body{width:470px;max-width:calc(100vw - 52px);max-height:65vh;overflow-y:auto}.extra-tools-body .tool-group{display:flex;flex-wrap:wrap;margin-bottom:16px}.extra-tools-body .tool{flex:1}.extra-actions{display:flex;flex-wrap:wrap;gap:10px}.extra-actions>button{flex:1 1 130px;font-size:1rem}.extra-tools-body .board-actions{border:0;background:#fff;margin-top:12px;padding:12px 0;gap:14px}#pattern-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.board-picker{border-top:1px solid var(--line);padding-top:12px}.simple-controls .board-picker summary{justify-content:space-between;background:#fff;border:0;padding-left:0}.board-picker .sidebar{display:block!important;border:0;padding:12px 0;background:white}.board-picker .sidebar>div:first-child{display:block}.board-picker .sidebar select{width:100%;font-size:1rem}.board-picker .sidebar .eyebrow,.board-picker .stage-hint,.board-picker .sidebar-bottom,.board-picker .sidebar-footer{display:none}.board-picker .board-menu{display:grid;grid-template-columns:1fr 1fr;overflow:visible;gap:8px;margin-top:12px}.board-picker .board-choice{min-width:0;white-space:normal;width:100%;font-size:1rem;min-height:52px;border:1px solid var(--line)}.board-bottom{padding-top:12px;padding-bottom:18px}.teacher-notes{margin-top:22px;border:1px solid var(--line);border-radius:14px;background:white;padding:0 22px}.teacher-notes>summary{font-size:1rem;font-weight:650;cursor:pointer;min-height:58px;padding:18px 0}.teacher-notes .lesson-panel{display:block;border:0;border-radius:0}.teacher-notes .lesson-banner{display:none}.teacher-notes .lesson-body{padding:12px 0}.teacher-notes .lesson-body h3{font-size:1rem}.teacher-notes .lesson-details{padding:0}.teacher-notes .talk-strip{margin-bottom:22px}.studio-footer{display:none}body.presenting .activity-guide{margin-top:48px}body.presenting .teacher-notes{display:none}body.presenting .toolstrip{width:min(980px,calc(100vw - 32px));gap:12px;justify-content:space-between}body.presenting .tool-hint{max-width:440px}body.presenting .colour-picker .swatches,body.presenting .extra-tools-body{top:auto;bottom:calc(100% + 12px);max-height:55vh}body.presenting main{padding-bottom:190px}body.presenting .board-canvas{padding-top:14px;padding-bottom:14px}body.presenting .number-grid:not(.line){max-width:min(61vh,760px)}
@media(max-width:750px){main{padding:22px 16px}.activity-guide{padding:18px;gap:16px;align-items:flex-start;flex-direction:column}.guide-copy p{font-size:1.05rem}.guide-buttons{width:100%;justify-content:flex-end}.activity-guide .primary{min-height:52px}.simple-controls{gap:8px}.simple-controls summary{padding:12px;font-size:.95rem}.toolstrip{margin:0 14px;gap:12px}.tool-hint{flex-basis:100%;max-width:none;font-size:1rem}.simple-controls .extra-tools-body{position:fixed;left:16px;right:16px;top:25vh;width:auto;max-width:none;max-height:65vh}.colour-picker .swatches{left:0;right:auto}.teacher-notes{padding:0 18px}.board-picker .board-menu{grid-template-columns:1fr}.board-canvas{min-height:220px}body.presenting .toolstrip{justify-content:center}body.presenting .tool-hint{max-width:none;text-align:center}body.presenting .simple-controls .extra-tools-body{position:fixed;top:auto;bottom:calc(100% + 12px);left:0;right:0;max-height:50vh}body.presenting main{padding-bottom:210px}}
summary{touch-action:manipulation}summary:focus-visible{outline:3px solid var(--purple);outline-offset:4px}

.beta-notice{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 24px;background:#ece9ff;color:#332578;font-size:13px;line-height:1.45;text-align:center}.beta-notice strong{background:#5b48e9;color:white;padding:3px 9px;border-radius:4px;letter-spacing:.04em}.presenting .beta-notice{display:none}@media(max-width:600px){.beta-notice{align-items:flex-start;padding:10px 16px;text-align:left}}
