@font-face{font-family:Nunito;src:url('/flash/fonts/Nunito.ttf');font-weight:200 1000;font-display:swap}@font-face{font-family:DM;src:url('/flash/fonts/DMSans.ttf');font-weight:100 1000;font-display:swap}
:root{font-family:DM,Arial,sans-serif;color:#354a43;background:#f7f2e8;color-scheme:light;font-synthesis:none;--ink:#354a43;--muted:#788375;--accent:#577e69}*{box-sizing:border-box}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 85% 80%,#e6ebdc80,transparent 65%)}button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #b88230;outline-offset:4px}[hidden]{display:none!important}.skip-link{position:fixed;top:-80px;left:14px;z-index:100;background:#fff3c6;padding:12px}.skip-link:focus{top:12px}main{max-width:1190px;margin:auto;padding:27px 30px 35px}.lesson-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.eyebrow{font-size:9px;font-weight:750;letter-spacing:.15em;color:#8d8e77;margin:0 0 7px}h1{font:900 45px/1 Nunito,sans-serif;letter-spacing:-.045em;margin:0}h1>span{color:#cd9659}h2{font:850 23px/1.3 Nunito,sans-serif;letter-spacing:-.025em;margin:0}h3{font:900 30px/1.15 Nunito,sans-serif;letter-spacing:-.03em;margin:0 0 10px}.heading-controls,.button-row{display:flex;gap:10px;flex-wrap:wrap}.heading-controls button,.primary,.secondary,.quiet,.free-controls button,.build-choices button{border:1px solid #d1d8c7;border-radius:12px;min-height:44px;padding:11px 16px;font-size:12px;font-weight:650;color:#4e6c5c;background:#fffdf7}.primary{background:#547765;color:#fffdf0;border-color:#547765}.secondary{background:#f0e6d2;border-color:#e4d4b5;color:#816342}.quiet{background:transparent;border-color:transparent;font-size:11px}.shape-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:5px;background:#e9eada;border:1px solid #d8dccb;border-radius:16px;width:fit-content;margin-bottom:27px}.shape-tabs button{background:transparent;border:0;border-radius:11px;padding:13px 25px;min-height:46px;color:#78816c;font-size:12px;font-weight:650}.shape-tabs [aria-selected=true]{background:#547765;color:#fffdf0;box-shadow:0 3px 6px #354a4318}.section-caption{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.section-caption>span{font-size:11px;color:#8b907b}.identify-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.shape-tile,.find-choice{border:1px solid #d9dac9;background:#fffcf4;border-radius:21px;padding:13px 9px 15px;box-shadow:0 5px 0 #b6bfa51a;color:var(--ink);position:relative}.shape-tile svg{width:100%;max-width:160px;display:block;margin:auto;aspect-ratio:1}.shape-tile>span{font:850 19px Nunito,sans-serif}.wood-shape{stroke:#503e281c;stroke-width:2;stroke-linejoin:round;filter:drop-shadow(0 6px 0 #78613c1b)}.shape-tile[aria-pressed=true]{box-shadow:0 0 0 3px #c9a86b,0 6px 0 #b6bfa51a}.shape-tile:active,.find-choice:active{transform:scale(.98)}.explore-shelf{margin-top:27px;display:grid;grid-template-columns:225px 1fr;gap:30px;align-items:center;border:1px solid #dedbc7;background:linear-gradient(105deg,#f0e5d2,#f8f4e8);border-radius:23px;padding:22px 32px;position:relative;overflow:hidden}.explore-shelf:before{content:'';position:absolute;left:0;right:0;bottom:0;height:7px;background:#d8c4a4aa}.identify-art{background:#fffdf483;border:1px solid #d8cbb5;border-radius:20px;aspect-ratio:1}.identify-art svg{display:block;width:100%;height:100%}.explore-copy>p:not(.eyebrow){font-size:13px;color:#7b7e69;line-height:1.7;margin:0 0 13px}.explore-copy h3{font-size:33px}.explore-copy .example-note{min-height:21px;margin:12px 0 0!important;font-size:12px!important}.feature-side{stroke:#fff4ae;stroke-width:8;stroke-linecap:round;filter:drop-shadow(0 0 3px #594d35)}.feature-corner{fill:#fff3a2;stroke:#786a3e;stroke-width:2}.activity-note,.status{font-size:11px;line-height:1.65;text-align:center;color:#7a8673;margin:19px 0 0}.status{min-height:19px;color:#58725d}.find-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:900px;margin:25px auto}.find-options[data-count='3']{grid-template-columns:repeat(3,minmax(0,1fr))}.find-options[data-count='4']{grid-template-columns:repeat(4,minmax(0,1fr))}.find-choice{min-height:240px;padding:15px;display:grid;place-items:center}.find-choice svg{width:100%;max-width:255px;aspect-ratio:1}.find-choice.correct{box-shadow:0 0 0 4px #78a36d;background:#edf1d8}.find-choice.correct:after{content:'✓';position:absolute;right:15px;top:12px;font:900 25px Nunito;color:#537b52}.find-choice.try{box-shadow:0 0 0 3px #d6b774}.lesson-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;max-width:900px;margin:15px auto}.lesson-footer p{font-size:13px;line-height:1.6;color:#73806c;margin:0}.trace-layout{display:grid;grid-template-columns:minmax(280px,510px) 1fr;gap:65px;align-items:center}.trace-paper,.build-paper{background-color:#fffdf7;background-image:radial-gradient(#d6d9cb 1px,transparent 1px);background-size:20px 20px;border:1px solid #dbdccb;border-radius:23px;box-shadow:0 6px 0 #b6bfa51a;overflow:hidden;position:relative}.trace-paper svg{width:100%;display:block;aspect-ratio:1;touch-action:none;outline-offset:-8px;cursor:crosshair}.trace-base{fill:#e6ecdd35;stroke:#c2cebb;stroke-width:4;stroke-dasharray:3 6;stroke-linecap:round;stroke-linejoin:round}.trace-done{fill:none;stroke:#759b7c;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.trace-dot{fill:#d3a459;stroke:#fff8dc;stroke-width:3;filter:drop-shadow(0 2px 2px #54432c40)}.trace-halo{fill:#e9ce8c33;stroke:#d3a45966;stroke-width:1;pointer-events:none}.paper-label{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-size:8px;font-weight:750;letter-spacing:.18em;color:#a1a88f;pointer-events:none}.trace-copy{max-width:340px}.trace-copy .little-blocks{font:600 48px Nunito;letter-spacing:8px;color:#c29a68;display:block;margin-bottom:25px}.trace-copy h3{font-size:37px}.trace-copy>p{font-size:13px;line-height:1.8;color:#808674}.trace-copy .activity-note{text-align:left;font-size:10px}.trace-copy progress{display:block;appearance:none;width:100%;height:9px;border:0;background:#e2e5d4;border-radius:9px;margin:25px 0}.trace-copy progress::-webkit-progress-bar{background:#e2e5d4;border-radius:9px}.trace-copy progress::-webkit-progress-value{background:#83a583;border-radius:9px}.trace-copy progress::-moz-progress-bar{background:#83a583;border-radius:9px}.build-choices{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:19px}.build-choices button{background:#f4eedf;min-height:40px;font-size:11px}.build-choices [aria-pressed=true]{background:#b68f5a;color:#fffdf2;border-color:#b68f5a}.build-workshop{display:grid;grid-template-columns:minmax(300px,1fr) 250px;gap:25px;align-items:start}.build-paper svg{display:block;width:100%;aspect-ratio:600/390;touch-action:none}.build-paper [role=button]{cursor:pointer;outline:none}.build-paper [role=button]:focus-visible>path{stroke:#735a2d;stroke-width:6;stroke-dasharray:4 4}.build-slot{stroke:#bdc6b3;stroke-width:3;stroke-dasharray:7 7;stroke-linejoin:round}.build-slot.available{fill:#f4db9d44;stroke:#b68943;stroke-width:5;stroke-dasharray:none}.build-slot.placed{stroke:#574c2f33;stroke-dasharray:none;stroke-width:2;filter:drop-shadow(0 4px 0 #6654311c)}.build-paper text{font:750 12px Nunito;fill:#929b84;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#fffdf7;stroke-width:4;stroke-linejoin:round}.piece-shelf{background:linear-gradient(110deg,#f0e4cf,#f5ecdc);border:1px solid #e0d2b8;border-radius:20px;padding:18px 15px}.piece-shelf>.eyebrow{font-size:8px;margin-bottom:13px}.piece-tray{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.piece-tray button{background:#fffaf0;border:1px solid #ddd1ba;border-radius:13px;padding:7px;min-height:100px;color:#6b705b}.piece-tray svg{display:block;width:58px;max-width:100%;aspect-ratio:1;margin:auto}.piece-tray button>span{font-size:10px;font-weight:650;line-height:1.3;display:block}.piece-tray [aria-pressed=true]{box-shadow:0 0 0 3px #bb975a}.piece-tray button:disabled{opacity:.3}.piece-shelf>p:last-child{font-size:10px;line-height:1.65;color:#8a856b;margin:15px 0 0}.free-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:17px}.free-controls button{font-size:11px;min-width:44px;padding:9px 12px}.free-piece[aria-pressed=true]>path{stroke:#70572d;stroke-width:6}.drag-ghost{position:fixed;pointer-events:none;z-index:200;width:85px;height:85px;filter:drop-shadow(0 8px 9px #263b3933);opacity:.85}.drag-ghost svg{width:100%;height:100%}.build-paper[data-complete=true]{box-shadow:0 0 0 3px #c8ad67,0 6px 0 #b6bfa51a}.shape-card{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:#fffcf5;border:1px solid #d8dcc8;border-radius:28px;box-shadow:0 8px 0 #c6cdb925;min-height:360px;width:min(800px,100%);margin:auto;padding:20px;touch-action:manipulation}.shape-card>span:first-child{display:block;width:min(330px,70%);aspect-ratio:1}.shape-card svg{display:block;width:100%;height:100%}.shape-card #card-name{font:900 40px/1 Nunito;color:var(--ink);margin:0 0 10px}.shape-card:has(#card-name:not([hidden]))>span:first-child{width:min(285px,60%)}dialog{border:1px solid #d8d2bf;border-radius:23px;padding:28px;max-width:530px;width:calc(100% - 28px);color:var(--ink);background:#fffcf4;max-height:90svh}dialog::backdrop{background:#1a2d3b99}dialog h2{font-size:30px}dialog p{font-size:12px;line-height:1.7;color:#7b806b}.dialog-close{float:right;background:#f0e8d7;color:#6b715b;border:0;border-radius:50%;width:36px;height:36px;font-size:23px}dialog fieldset{border:1px solid #d8dcc8;border-radius:14px;padding:13px;margin:18px 0}dialog legend{font-size:12px;font-weight:700;padding:0 7px}.settings-shapes{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.settings-shapes label,.check-line{display:flex;align-items:center;gap:7px;font-size:12px;min-height:40px}.settings-shapes input,.check-line input{width:18px;height:18px;accent-color:#547765}.setting-line{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;margin:14px 0}.setting-line select{max-width:65%;min-height:44px;border:1px solid #d8dcc8;background:#fffdf8;border-radius:10px;padding:8px;color:#56715d;font-size:12px}.settings-note{font-size:10px!important}#settings-error{color:#9c5636;font-weight:650;min-height:17px}#settings-save{width:100%}
@media(max-width:1000px){.identify-grid{gap:11px}.trace-layout{gap:35px}.trace-copy h3{font-size:31px}.build-workshop{grid-template-columns:minmax(300px,1fr) 210px}.find-options[data-count='4']{grid-template-columns:repeat(2,minmax(0,1fr))}.find-choice{min-height:200px}.find-choice svg{max-width:210px}}
@media(max-width:720px){main{padding:22px 17px 28px}.lesson-heading{gap:10px;margin-bottom:20px}h1{font-size:38px}.eyebrow{font-size:8px}h2{font-size:21px}.heading-controls button{font-size:10px;padding:9px 11px}.shape-tabs{width:100%;gap:3px;margin-bottom:23px}.shape-tabs button{padding:12px 8px;font-size:11px;flex:1 0 25%}.section-caption>span{font-size:9px;text-align:right}.identify-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.shape-tile{border-radius:16px;padding:9px 5px 13px}.shape-tile>span{font-size:16px}.explore-shelf{grid-template-columns:115px 1fr;gap:17px;padding:19px 16px;margin-top:22px}.explore-copy h3{font-size:27px}.explore-copy .eyebrow{font-size:7px}.explore-copy>p:not(.eyebrow){font-size:11px}.explore-copy .button-row{gap:5px}.explore-copy .primary{font-size:10px;padding:10px}.explore-copy .quiet{font-size:10px;padding:9px 5px}.find-options{gap:13px;margin:20px 0}.find-choice{min-height:165px;padding:6px}.find-options[data-count='3']{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-footer p{font-size:11px}.lesson-footer .primary{font-size:11px;white-space:nowrap;padding:11px}.trace-layout{grid-template-columns:1fr;gap:25px}.trace-paper{max-width:480px;width:100%;margin:auto}.trace-copy{max-width:none}.trace-copy .little-blocks{display:none}.trace-copy h3{font-size:27px}.trace-copy h3 br{display:none}.trace-copy h3 br:after{content:' '}.trace-copy>p{font-size:12px;margin:10px 0}.trace-copy progress{margin:16px 0}.trace-copy .activity-note{font-size:9px}.build-workshop{grid-template-columns:1fr;gap:17px}.piece-tray{grid-template-columns:repeat(3,minmax(0,1fr))}.piece-shelf{padding:13px}.piece-shelf>p:last-child{font-size:10px;margin-top:12px}.piece-tray button{min-height:94px;touch-action:none}.build-choices{gap:5px}.build-choices button{padding:9px 12px;font-size:10px}.build-paper{border-radius:18px}.shape-card{min-height:330px;border-radius:22px}.shape-card #card-name{font-size:34px}.activity-note,.status{font-size:10px}.settings-shapes{grid-template-columns:repeat(2,1fr)}.settings-shapes label{font-size:12px}.free-controls button{font-size:10px}.setting-line select{font-size:11px}}
@media(max-width:380px){.explore-shelf{grid-template-columns:1fr;gap:15px}.identify-art{width:150px;margin:auto}.explore-copy{text-align:center}.explore-copy .button-row{justify-content:center}.identify-grid{gap:8px}.shape-tile>span{font-size:14px}.find-choice{min-height:145px}.section-caption h2{font-size:19px}.shape-tabs button{font-size:10px}.section-caption .quiet{padding:9px 5px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.piece-tray [data-drag-piece]{touch-action:none}

body.tutor-app[data-tutor-tool="shapes"]{touch-action:auto;overscroll-behavior:auto}.tutor-app #shape-settings{touch-action:pan-y}.tutor-app[data-tutor-tool="shapes"] .tutor-bar nav{touch-action:pan-x}
