:root{color:#173f39;font-synthesis:none;--ink:#173f39;--cream:#fffaf0;--paper:#fffdf8;--red:#ef665a;--red-dark:#c8443e;--yellow:#ffce56;--mint:#bde2cf;--line:#d8d2c5;--purple:#7762c6;background:#f5f0e6;font-family:Avenir Next,Avenir,Trebuchet MS,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent;color:inherit}.topbar,.student-topbar{border-bottom:1px solid #173f3921;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(20px,4vw,60px);display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.15rem;font-weight:650;text-decoration:none;display:inline-flex}.brand strong{color:var(--red)}.brand.light{color:#fff}.brand.light strong{color:var(--yellow)}.logo-mark{background:var(--red);border-radius:50% 47% 50% 45%;place-items:center;width:34px;height:34px;display:inline-grid;position:relative;box-shadow:inset -5px -4px #8a1c1f24}.logo-mark:before,.logo-mark:after{content:"";background:var(--cream);position:absolute}.logo-mark:before{width:2px;height:28px}.logo-mark:after{width:28px;height:2px}.logo-mark span{background:var(--cream);z-index:1;border-radius:50%;width:7px;height:7px}.teacher-badge{background:#e7ded1;border-radius:999px;padding:8px 12px;font-size:.83rem;font-weight:750}.builder-shell{background:#f5f0e6;min-height:100vh}.builder{max-width:1240px;margin:0 auto;padding:56px 32px 80px}.builder-heading{max-width:700px;margin-bottom:36px}.eyebrow{color:var(--red-dark);letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:850}.builder-heading h1,.ready-screen h1,.complete-screen h1{letter-spacing:-.055em;margin:0;font-size:clamp(2.4rem,5vw,4.6rem);line-height:.98}.builder-heading>p:last-child{color:#55716c;max-width:650px;margin:18px 0 0;font-size:1.1rem;line-height:1.55}.builder-grid{grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);align-items:start;gap:32px;display:grid}.settings-card,.preview-card,.share-card{background:var(--paper);border:1px solid #173f3924;border-radius:24px;box-shadow:0 18px 55px #20312d14}.settings-card{padding:28px}.settings-card fieldset{border:0;border-top:1px solid #e5dfd4;margin:0;padding:25px 0}.settings-card legend,.title-field>span{padding:0;font-size:1rem;font-weight:800}.field-help{color:#6a7c78;margin:6px 0 16px;font-size:.9rem}.title-field{gap:9px;padding-bottom:25px;display:grid}.title-field input{width:100%;color:var(--ink);background:#fff;border:1.5px solid #cfc7ba;border-radius:12px;outline:none;padding:12px 14px}.title-field input:focus{border-color:var(--red);box-shadow:0 0 0 3px #ef665a24}.choice-grid{flex-wrap:wrap;gap:9px;display:flex}.choice-chip,.compact-options button{cursor:pointer;background:#fff;border:1.5px solid #cfc7ba;border-radius:11px;min-width:51px;padding:10px 12px;font-weight:750;transition:all .15s}.choice-chip:hover,.compact-options button:hover{border-color:var(--red);transform:translateY(-1px)}.choice-chip.active,.compact-options button.active{color:#fff;background:var(--ink);border-color:var(--ink);box-shadow:0 3px #0c2925}.combination-count{color:#5f7772;margin:14px 0 0;font-size:.8rem;font-weight:700}.segmented{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.segmented button{text-align:left;cursor:pointer;background:#fff;border:1.5px solid #cfc7ba;border-radius:14px;padding:14px;font-weight:800}.segmented button small{color:#70817e;margin-top:3px;font-weight:600;display:block}.segmented button.active{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red);background:#fff0ea}.segmented button.active small{color:#8c4a43}.field-row{border-top:1px solid #e5dfd4;grid-template-columns:1fr 1fr;gap:22px;display:grid}.field-row fieldset{border-top:0}.compact-options{gap:6px;margin-top:12px;display:flex}.compact-options button{min-width:44px;padding:8px 9px;font-size:.86rem}.toggle-row{cursor:pointer;border-top:1px solid #e5dfd4;justify-content:space-between;align-items:center;gap:18px;padding-top:24px;display:flex}.toggle-row span{gap:3px;display:grid}.toggle-row small{color:#6a7c78;line-height:1.35}.toggle-row input{width:48px;height:27px;accent-color:var(--ink)}.preview-column{position:sticky;top:24px}.preview-label{color:#6a7c78;text-transform:uppercase;letter-spacing:.1em;margin:0 0 9px 4px;font-size:.8rem;font-weight:800}.preview-card{overflow:hidden}.preview-top{background:var(--ink);color:#fff;justify-content:space-between;padding:14px 18px;font-size:.76rem;font-weight:750;display:flex}.preview-top span:last-child{color:var(--yellow);letter-spacing:.18em}.preview-question{justify-content:center;align-items:center;gap:11px;padding:23px 18px 8px;font-size:1.25rem;font-weight:800;display:flex}.fraction{vertical-align:middle;text-align:center;font-size:1.3em;font-weight:850;line-height:1;display:inline-grid}.fraction span:first-child{border-bottom:2px solid;padding:0 5px 4px}.fraction span:last-child{padding-top:3px}.fraction.small{font-size:1em}.mini-stage{background:radial-gradient(circle at 50% 30%,#f9f2df,#f0e7d3);place-items:center;height:230px;display:grid;position:relative;overflow:hidden}.mini-food{aspect-ratio:1;background:radial-gradient(circle at 50% 52%,#fde8c5 0 11%,#f6d19b 12% 20%,#f29b75 21% 28%,#c7423c 70%,#9a292c 100%);border-radius:50% 48% 51% 47%;width:165px;position:relative;box-shadow:0 14px 25px #59292338,inset 0 0 0 5px #b53937}.mini-food.donut{background:radial-gradient(circle,#f5f0e6 0 18%,#c58b54 19% 25%,#915232 26% 66%,#d6a372 67% 100%);border-radius:50%;box-shadow:0 14px 25px #59292338}.mini-food i,.tiny-slicer i,.ready-apple i{transform-origin:0;background:#ffffffde;width:46%;height:2px;position:absolute;top:50%;left:50%}.mini-food b,.tiny-slicer b,.ready-apple b{aspect-ratio:1;background:#a25b3b;border:4px solid #fff8e9;border-radius:50%;width:23px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mini-sprinkles i{background:var(--yellow);width:11px;height:11px;box-shadow:15px 12px 0 var(--red), -11px 26px 0 #55b8b2;border-radius:50%;animation:2s ease-in-out infinite alternate bob;position:absolute}.mini-sprinkles i:nth-child(2){background:#826dcc;transform:translate(-57px,-43px)}.mini-sprinkles i:nth-child(3){background:#75b44d;transform:translate(51px,34px)}.mini-sprinkles i:nth-child(4){background:#f28ec1;transform:translate(43px,-55px)}.mini-sprinkles i:nth-child(5){background:#ffce56;transform:translate(-48px,49px)}.preview-card>p{text-align:center;color:#4f6964;margin:0;padding:18px 22px 21px}.share-card{background:var(--ink);color:#fff;margin-top:18px;padding:20px}.share-card>div:first-child p{margin:0 0 4px;font-weight:850}.share-card>div:first-child small{color:#c9d9d5;line-height:1.4}.link-box{color:#41615c;background:#fff;border-radius:11px;align-items:center;margin-top:16px;padding:5px 5px 5px 12px;display:flex}.link-box span{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.78rem;overflow:hidden}.link-box button{background:var(--yellow);cursor:pointer;border:0;border-radius:8px;padding:8px 12px;font-weight:850}.open-activity{justify-content:space-between;align-items:center;margin-top:11px;padding:10px 2px 2px;font-weight:800;text-decoration:none;display:flex}.open-activity span{font-size:1.25rem}.student-shell{background:var(--ink);color:#fff;min-height:100vh}.student-topbar{border-color:#ffffff24}.question-progress{gap:7px;display:flex}.question-progress i{background:#ffffff38;border-radius:99px;width:34px;height:7px}.question-progress i.current{background:var(--yellow)}.question-progress i.done{background:#86c99f}.star-count{color:var(--yellow);font-weight:850}.ready-screen,.complete-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 72px);padding:42px 24px 70px;display:flex}.ready-screen .eyebrow,.complete-screen .eyebrow{color:var(--yellow)}.ready-screen h1,.complete-screen h1{max-width:760px;color:var(--cream)}.ready-screen>p:not(.eyebrow),.complete-screen>p:not(.eyebrow){color:#ccdbd8;max-width:640px;margin:20px 0 28px;font-size:1.08rem}.ready-art{width:255px;height:225px;margin-bottom:18px;position:relative}.ready-apple{aspect-ratio:1;background:radial-gradient(circle at 50% 52%,#ffe4b6 0 15%,#f4c177 16% 25%,#db554c 27% 77%,#a82f33 100%);border-radius:50% 47% 50% 45%;width:178px;position:absolute;bottom:0;left:40px;box-shadow:0 24px 30px #00000040}.ready-apple b{background:#6f372b}.fall-dot{background:var(--yellow);border-radius:50%;width:17px;height:17px;animation:2.3s ease-in infinite fall-loop;position:absolute;top:0;left:65px}.fall-dot.b{background:#ef665a;animation-delay:.45s;left:125px}.fall-dot.c{background:#62c5bb;animation-delay:.9s;left:181px}.primary-button{background:var(--yellow);color:#2d463f;cursor:pointer;border:0;border-radius:14px;padding:15px 22px;font-size:1.05rem;font-weight:900;transition:all .12s;box-shadow:0 5px #d8a82f}.primary-button:hover{transform:translateY(-2px);box-shadow:0 7px #d8a82f}.primary-button:active{transform:translateY(3px);box-shadow:0 2px #d8a82f}.primary-button span{margin-left:20px}.primary-button.smaller{margin-top:16px;padding:12px 17px;font-size:.94rem}.activity-page{grid-template-columns:minmax(360px,.83fr) minmax(500px,1.17fr);min-height:calc(100vh - 72px);display:grid}.instruction-panel{border-right:1px solid #ffffff21;flex-direction:column;justify-content:center;padding:clamp(32px,5vw,76px);display:flex}.step-label{letter-spacing:.1em;text-transform:uppercase;color:#99b4ae;margin:0 0 14px;font-size:.78rem;font-weight:850}.big-question{letter-spacing:-.04em;color:var(--cream);align-items:center;gap:13px;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:850;display:flex}.big-question .fraction{color:var(--yellow)}.prompt-block{margin-top:45px}.prompt-number{color:#83c8b1;text-transform:uppercase;letter-spacing:.13em;margin:0 0 7px;font-size:.75rem;font-weight:900}.prompt-block h2{max-width:560px;color:var(--cream);letter-spacing:-.025em;margin:0;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.18}.hint{color:#b6cac6;margin:9px 0 0}.answer-buttons{flex-wrap:wrap;gap:11px;margin-top:22px;display:flex}.answer-buttons button{color:#fff;cursor:pointer;background:#ffffff14;border:1.5px solid #ffffff42;border-radius:14px;min-width:74px;min-height:64px;font-size:1.35rem;font-weight:850;transition:all .13s}.answer-buttons button:hover,.answer-buttons button:focus-visible{color:var(--ink);background:#fff;transform:translateY(-2px)}.answer-buttons.fractions button{min-width:88px}.feedback{min-height:25px;color:var(--yellow);opacity:0;margin:28px 0 0;font-weight:750}.feedback.visible{opacity:1;animation:.25s ease-out pop}.slicer-pick{color:#fff;cursor:grab;background:#ffffff14;border:1.5px solid #ffffff47;border-radius:999px;align-items:center;gap:15px;margin-top:20px;padding:10px 18px 10px 10px;font-weight:800;display:flex}.slicer-pick.attached{opacity:.48}.tiny-slicer{aspect-ratio:1;background:#ffffff1f;border:5px solid #d9d7cd;border-radius:50%;width:56px;display:block;position:relative;overflow:hidden}.tiny-slicer i{background:#d9d7cd;height:1px}.tiny-slicer b{background:var(--ink);border-width:2px;width:11px}.equal-groups{color:#c6d6d2;align-items:center;gap:13px;margin-top:20px;font-size:1.08rem;display:flex}.equal-groups span:first-child{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:52px;height:52px;font-weight:900;display:grid}.visual-panel{color:var(--ink);background:radial-gradient(circle at 50% 45%,#fffaf0 0 24%,#efe5cf 76%,#dfd2b8 100%);flex-direction:column;justify-content:center;align-items:center;padding:90px 34px 45px;display:flex;position:relative;overflow:hidden}.counter-source{z-index:5;background:#fffdf7;border:3px solid #c4b8a2;border-radius:13px 13px 40px 40px;justify-content:center;gap:5px;width:132px;height:58px;padding-top:10px;transition:all .3s;display:flex;position:absolute;top:22px;left:50%;transform:translate(-50%)}.counter-source:after{content:"";background:#837968;border-radius:0 0 20px 20px;width:72px;height:11px;position:absolute;bottom:-9px}.counter-source span{background:var(--red);border-radius:50%;width:12px;height:12px}.counter-source span:nth-child(2){background:var(--yellow)}.counter-source span:nth-child(3){background:#55bdb5}.counter-source b{text-align:center;color:#62736f;width:150px;font-size:.75rem;position:absolute;top:63px}.counter-source.open{transform:translate(-50%)rotate(4deg)}.food-board{aspect-ratio:1;background:radial-gradient(circle at 48% 52%,#5b2d25 0 4%,#f7d7a5 5% 14%,#f4c07b 15% 22%,#ea765e 23% 50%,#c83f3d 75%,#92282d 100%);border-radius:50% 47% 51% 46%;width:min(60vh,520px);max-width:88%;transition:all .22s;position:relative;box-shadow:0 35px 45px #59362740,inset 0 0 0 10px #ab3436,inset 0 0 50px #5d191a59}.food-board:before{content:"";border-radius:inherit;border:8px solid #0000;transition:all .2s;position:absolute;inset:-13px}.food-board:not(.ready):before{border-style:dashed;border-color:#173f392e}.food-board.ready:before{z-index:3;border-style:solid;border-color:#c3beb0;box-shadow:inset 0 0 0 3px #fff,0 5px #777267}.food-board.donut{background:radial-gradient(circle,#f5e9d2 0 15%,#dca26d 16% 21%,#75452f 22% 27%,#8d4d31 28% 66%,#d09a64 67% 100%);border-radius:50%;box-shadow:0 35px 45px #59362740,inset 0 0 45px #431a1161}.food-texture{border-radius:inherit;opacity:.32;background-image:radial-gradient(circle,#fff 0 1.4px,#0000 1.6px),radial-gradient(circle,#642322 0 1px,#0000 1.5px);background-position:4px 8px,11px 3px;background-size:23px 29px,31px 19px;position:absolute;inset:7%}.donut .food-texture{opacity:.55;background-image:linear-gradient(70deg,#0000 45%,#ffce56 46% 51%,#0000 52%),linear-gradient(-20deg,#0000 45%,#ef665a 46% 51%,#0000 52%);background-size:36px 29px,43px 35px}.wedges{z-index:2;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.wedges line{stroke:#f6f1e6;stroke-width:1.2px;filter:drop-shadow(1px 1px #5f5b53)}.wedges circle{fill:#f8f3e8;stroke:#69645b;stroke-width:1.1px}.highlight-wedge{fill:#ffce569e;stroke:none;animation:.38s ease-out both wedge-in}.counter-layer{z-index:4;position:absolute;inset:0}.counter{left:calc(50% + var(--x));top:calc(50% + var(--y));aspect-ratio:1;background:var(--color);width:clamp(12px,2.1vw,21px);animation:counter-fall .72s cubic-bezier(.24,.8,.3,1.15) var(--delay) both;border:2px solid #ffffffb8;border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 4px #34231b47}.donut-hole{aspect-ratio:1;z-index:6;background:radial-gradient(circle,#e9dec8 0 55%,#845039 57% 67%,#c88c59 69%);border-radius:50%;width:30%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 6px 12px #3d22194d}.visual-caption{color:#526c67;background:#ffffffbd;border-radius:999px;align-items:center;gap:9px;min-height:48px;margin:30px 0 0;padding:10px 18px;font-weight:750;display:flex}.visual-caption strong{color:var(--red-dark);font-size:1.4rem}.complete-screen .celebration{background:var(--yellow);width:120px;height:120px;color:var(--ink);border-radius:50%;place-items:center;margin-bottom:28px;font-size:4rem;animation:.5s ease-out pop;display:grid;box-shadow:0 0 0 14px #ffce5621,0 0 0 28px #ffce560f}.complete-actions{align-items:center;gap:22px;display:flex}.complete-actions a{color:#d8e5e2;font-weight:750}@keyframes counter-fall{0%{opacity:0;transform:translate(var(--drift), -430px) scale(.7) rotate(-100deg)}20%{opacity:1}78%{transform:translate(-50%,-35%)scale(1.08)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes fall-loop{0%{opacity:0;transform:translateY(-30px)}20%{opacity:1}78%{opacity:1}to{opacity:0;transform:translateY(130px)}}@keyframes wedge-in{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}@keyframes bob{to{margin-top:-8px}}@media (width<=900px){.builder-grid{grid-template-columns:1fr}.preview-column{position:static}.activity-page{grid-template-columns:1fr}.instruction-panel{border-bottom:1px solid #ffffff21;border-right:0;min-height:480px}.visual-panel{min-height:630px}.food-board{width:min(75vw,470px)}}@media (width<=600px){.topbar,.student-topbar{height:62px;padding:0 17px}.teacher-badge{font-size:.72rem}.builder{padding:35px 16px 55px}.builder-heading h1{font-size:2.55rem}.settings-card{border-radius:18px;padding:20px 17px}.field-row{grid-template-columns:1fr;gap:0}.field-row fieldset+fieldset{padding-top:0}.segmented{grid-template-columns:1fr}.preview-question{font-size:1.05rem}.student-topbar .brand>span:last-child{display:none}.question-progress i{width:18px}.instruction-panel{min-height:500px;padding:35px 22px}.big-question{font-size:1.8rem}.prompt-block{margin-top:34px}.visual-panel{min-height:510px;padding:80px 15px 30px}.food-board{width:min(88vw,390px);max-width:none}.counter-source{transform-origin:top;transform:translate(-50%)scale(.85)}.counter-source.open{transform:translate(-50%)scale(.85)rotate(4deg)}.visual-caption{margin-top:25px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
