@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--paper:#f8f7ef;--ink:#283d34;--green:#32795b;--lime:#eaf0d9;--orange:#e99b55;--muted:#899183}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #dc924c;outline-offset:4px}header{padding:22px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e3e5d7;background:#fffdf6}.brand{font:800 27px Outfit,sans-serif;color:#4e8263;text-decoration:none;letter-spacing:-1px}.brand span{color:#daa16c;font-size:22px}.brand small{font:16px 'DM Sans',sans-serif;letter-spacing:2.5px;display:block;margin-top:3px;color:#a6a58e}nav{display:flex;align-items:center;gap:25px}nav a,nav button{font-size:16px;color:#7b8574;text-decoration:none;background:none;border:0}#music{border:1px solid #d9dfce;border-radius:25px;padding:10px 17px;background:#f9fbf2}main{max-width:1450px;margin:auto;padding:28px 5%}.topline{display:flex;justify-content:space-between;color:#8d9d83;font-size:16px;letter-spacing:2px;font-weight:700}.topline span:last-child{letter-spacing:0;background:#edf1e3;color:#6c805a;padding:6px 12px;border-radius:20px;margin-top:-5px}.heading{display:flex;justify-content:space-between;align-items:center;margin:28px 0 28px;gap:25px}.eyebrow{font-size:16px;letter-spacing:1.6px;color:#9b987a;font-weight:700}h1{font:600 49px/.99 Outfit,system-ui,sans-serif;letter-spacing:-1.8px;margin:13px 0}h1 em{font-style:normal;color:#458565}.heading p{font-size:16px;color:#929886;margin:13px 0 0}.dayTabs{display:flex;gap:9px}.dayTabs button{display:flex;align-items:center;gap:11px;padding:15px 16px;border:1px solid #dee3d3;background:#fffef9;border-radius:13px;color:#809073;text-align:left}.dayTabs b{font:500 23px Outfit,sans-serif;color:#b9c3a8}.dayTabs span{font-size:16px;font-weight:700}.dayTabs small{display:block;font-size:16px;font-weight:400;color:#a1a78d;margin-top:5px}.dayTabs button.active{border-color:#83a77a;background:#edf3e3}.dayTabs button.active b{color:#679064}.dashboard{display:grid;grid-template-columns:1fr 1fr 1fr 1.7fr;background:#fffef9;border:1px solid #e1e5d4;border-radius:16px;margin:0 0 25px;overflow:hidden}.dashboard>div{padding:20px 23px;border-right:1px solid #eef0e5}.dashboard small{display:block;font-size:16px;letter-spacing:1.2px;color:#859074;font-weight:700}.dashboard strong{display:block;font:500 32px Outfit,sans-serif;margin:5px 0;color:#3a4e3e}.dashboard span{font-size:16px;color:#9a9f8c}.dashboard .profitStat{background:#edf3e2}.profitStat strong{color:#528254}.goalStat{display:flex;flex-direction:column;justify-content:center;border:0!important}.goalStat>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:center}.goalStat b{font-size:16px;color:#70835f}.track{height:8px;background:#edf0e0;border-radius:20px;margin:14px 0 10px;overflow:hidden}.track i{display:block;background:#88ad68;height:100%;width:0;transition:width .4s}.layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr);gap:23px;align-items:start}.sceneCard{border:1px solid #dfe4d2;background:#fffef9;border-radius:17px;overflow:hidden}.scene{position:relative;aspect-ratio:1.37;overflow:hidden;background:#d2dfb2}.scene img{width:100%;height:100%;object-fit:cover;object-position:43% center}.sceneTop{position:absolute;top:15px;left:15px;right:15px;display:flex;justify-content:space-between;gap:6px}.sceneTop span{font-size:16px;padding:8px 11px;border-radius:20px;background:#fffdf0e8;color:#777d59;box-shadow:0 2px 5px #0001}.sceneTop span:last-child{background:#254b38e8;color:#f4f8e8;font-size:16px;letter-spacing:1px}.standLabel{position:absolute;bottom:45px;right:17px;background:#fff9e6ee;border:2px solid white;padding:12px 18px;border-radius:14px;transform:rotate(-5deg);box-shadow:0 3px 15px #0002;text-align:center}.standLabel b{font:800 22px Outfit,sans-serif;letter-spacing:1px;color:#327f82}.standLabel span{font-size:16px;letter-spacing:2.2px;display:block;margin-top:2px;color:#bc7f3c}.sceneNote{position:absolute;bottom:0;left:0;right:0;padding:17px;color:#fff8da;font-size:16px;background:linear-gradient(transparent,#24402bbf);text-shadow:0 1px 3px #0006}.sceneFoot{padding:14px 17px;display:flex;justify-content:space-between;font-size:16px;color:#8c9783;border-bottom:1px solid #eceee1}.sceneFoot span:last-child{color:#68845d;font-weight:700}.mentor{display:flex;gap:14px;padding:22px}.mentorIcon{width:38px;height:38px;flex-shrink:0;border-radius:11px;background:#f4ecd4;display:grid;place-items:center;font-size:20px}.mentor b{font-size:16px}.mentor p{font-size:16px;color:#8a937e;line-height:1.65;margin:6px 0 0}.workCard{background:#fffef9;border:1px solid #e0e4d5;border-radius:17px;padding:25px;min-height:570px}h2{font:600 24px Outfit,sans-serif;letter-spacing:-.5px;margin:9px 0 8px}.intro{font-size:16px;color:#8d9480;line-height:1.7;margin:0 0 21px}.step{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;margin:20px 0 11px}.step b{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#edf1df;color:#86976c;font-size:16px}.choices{display:flex;gap:8px}.choices button{flex:1;border:1px solid #e1e5d6;border-radius:10px;background:#fbfcf5;color:#6e7c60;padding:11px 8px;font-size:16px}.choices button strong{font:600 21px Outfit,sans-serif;display:block}.choices button small{display:block;font-size:16px;color:#9ba38b;margin-top:4px}.choices button.selected{border-color:#79a06e;background:#edf5e4;color:#467443}.planSummary{background:#f4f5e9;padding:14px;border-radius:10px;margin:17px 0;font-size:16px;color:#7c886d;line-height:1.9}.planSummary>div{display:flex;justify-content:space-between}.planSummary b{color:#607551}.planHint{font-size:16px;line-height:1.7;color:#879176;margin:10px 0 16px}.primary{display:block;width:100%;border:0;border-radius:10px;padding:15px;background:#367c5b;color:#fffdf0;font-size:16px;font-weight:700;box-shadow:0 4px 0 #246044;transition:background .2s}.primary:hover{background:#428c68}.primary:active{transform:translateY(2px);box-shadow:0 2px 0 #246044}.secondary{display:block;background:none;border:0;color:#869377;font-size:16px;padding:12px;margin:6px auto 0}.ledger{display:grid;grid-template-columns:1.3fr 1fr;gap:35px;margin-top:25px;border:1px solid #e1e4d5;background:#f0f2e5;border-radius:15px;padding:25px 28px;align-items:center}.ledger h2{font-size:21px}.ledger p{font-size:16px;color:#8d957f;line-height:1.7;max-width:400px;margin-bottom:0}.ledgerNumbers>div{display:flex;justify-content:space-between;font-size:16px;color:#8a947c;margin:9px 0}.ledgerNumbers b{color:#65795a}.ledgerNumbers .cash{border-top:1px dashed #cad3bc;padding-top:13px;color:#56704b;font-weight:700;font-size:16px}footer{display:flex;justify-content:space-between;margin:24px 0 0;font-size:16px;color:#a4aa96}.customer{background:#f2f4e7;border-radius:13px;display:flex;align-items:center;gap:13px;padding:15px;margin:18px 0}.avatar{font-size:43px}.customer b{font-size:16px}.customer p{font-size:16px;color:#8a927b;line-height:1.7;margin:4px 0 0}.order{padding:15px;background:#fff6df;border:1px dashed #e6ce93;border-radius:11px;text-align:center;font-size:16px;line-height:1.8}.flavors{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.flavor{background:#fffdf8;border:1px solid #e2e5d7;border-radius:11px;padding:12px 6px;font-size:16px;color:#7b876c}.scoop{width:33px;height:31px;display:block;margin:0 auto 7px;background:var(--flavor);border-radius:50% 50% 20% 20%;box-shadow:inset 0 5px 0 #ffffff60}.flavor:hover{border-color:#8aaa75}.feedback{font-size:16px;line-height:1.7;background:#eef4e5;color:#5e7c4c;border-radius:10px;padding:13px;margin:15px 0}.feedback:empty{display:none}.receipt{border-top:2px dashed #d8dfcb;border-bottom:2px dashed #d8dfcb;padding:17px 0;margin:20px 0}.receipt div{display:flex;justify-content:space-between;font-size:16px;margin:9px 0;color:#889579}.receipt .total{font-size:16px;font-weight:700;color:#567744}.resultHead{text-align:center}.resultHead .medal{font-size:45px}.resultHead h2{font-size:31px;color:#478057}.resultHead p{font-size:16px;color:#8b957d;line-height:1.7}.quiz{font-size:16px;line-height:1.7;margin:18px 0 12px}.confetti{position:fixed;top:-15px;pointer-events:none;z-index:20;width:10px;height:16px;animation:fall 3.5s ease-in infinite}@keyframes fall{to{transform:translateY(110vh) rotate(600deg)}}dialog{border:1px solid #dfe5d1;border-radius:20px;padding:30px;width:calc(100% - 30px);max-width:560px;background:#fffef6;color:var(--ink);box-shadow:0 25px 100px #25452b40}dialog::backdrop{background:#263e3155;backdrop-filter:blur(5px)}dialog p,dialog li{font-size:16px;line-height:1.8;color:#75856a}dialog li{margin-bottom:12px}dialog ol{padding-left:20px}.close{position:absolute;right:12px;top:10px;border:0;background:none;font-size:25px;color:#87977c}#toast{display:none;position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90%;padding:12px 23px;background:#315a40;color:white;border-radius:12px;font-size:16px;z-index:25;text-align:center}.warning{color:#a2763e}.receipt .negative{color:#aa7553}@media(min-width:1450px){.scene{aspect-ratio:1.5}.workCard{min-height:595px}}@media(max-width:1050px){.dayTabs{gap:5px}.dayTabs button{padding:12px 10px;gap:7px}.dayTabs b{font-size:19px}.dayTabs small{font-size:16px}.heading{gap:15px}h1{font-size:42px}.dashboard>div{padding:17px 15px}.layout{grid-template-columns:1.1fr 1fr}.scene{aspect-ratio:1.05}.workCard{padding:20px}.goalStat span{font-size:16px}.sceneFoot{gap:10px;line-height:1.5}}@media(max-width:750px){header{padding:18px 5%}.brand{font-size:23px}nav{gap:12px}nav a,nav button{font-size:16px}nav a{display:none}#music{padding:8px 10px}main{padding:24px 4%}.heading{display:block;margin-top:23px}h1{font-size:43px}.dayTabs{margin-top:23px}.dayTabs button{flex:1;padding:12px 8px;gap:8px}.dayTabs span{font-size:16px}.dayTabs small{font-size:16px}.dashboard{grid-template-columns:repeat(3,1fr)}.dashboard>div{padding:15px 12px}.dashboard strong{font-size:27px}.dashboard small{font-size:16px;letter-spacing:.8px}.dashboard span{font-size:16px}.dashboard .goalStat{grid-column:1/-1;border-top:1px solid #e5e9dc!important;padding:16px}.goalStat span{font-size:16px}.layout{grid-template-columns:1fr}.scene{aspect-ratio:1.65}.scene img{object-position:center}.mentor{padding:16px}.standLabel{padding:7px 12px;bottom:40px;right:10px}.standLabel b{font-size:17px}.sceneTop span{font-size:16px}.sceneNote{font-size:16px}.workCard{min-height:0;padding:24px}.ledger{grid-template-columns:1fr;gap:12px;padding:23px}footer{font-size:16px;gap:18px;line-height:1.6}.topline{font-size:16px;letter-spacing:1px}.topline span:last-child{font-size:16px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.intro,.planHint,.mentor p,.ledger p,.customer p{color:#68785d;font-size:16px}.dashboard span{color:#768068}.choices button small{color:#758366}.ledgerNumbers>div{color:#6d7d61}.feedback{font-size:16px}.flavor{font-size:16px}.sceneFoot{color:#6e7d61}.dayTabs small{color:#748267}

/* Playful motion, with reduced-motion support. */
.customer{animation:customerHello .5s ease-out both}.customer .avatar{display:inline-block;animation:friendWave .7s ease-in-out}.resultHead .medal{display:inline-block;animation:medalPop .9s ease-out both}.makingTreat{height:140px;position:relative;width:120px;margin:2px auto 15px;text-align:center;animation:treatArrive .4s ease-out}.iceCup{position:absolute;top:61px;left:35px;width:50px;height:48px;background:linear-gradient(90deg,#419eb9,#84d9df);clip-path:polygon(0 0,100% 0,83% 100%,17% 100%);color:white;font-size:29px;padding-top:4px}.iceMound{position:absolute;top:30px;left:31px;width:58px;height:41px;border-radius:50% 50% 15% 15%;background:var(--ice-color);box-shadow:inset 0 7px 0 #ffffff66;transform-origin:bottom;animation:iceScoop .8s cubic-bezier(.2,.8,.3,1.2) both}.icePour{position:absolute;top:0;left:51px;color:var(--ice-color);font-size:16px;line-height:11px;animation:sprinkle .8s ease-in both}.makingTreat>span{position:absolute;bottom:0;left:0;right:0;font-size:16px;color:#6a8458;animation:treatArrive .6s .4s both}.saleCoin{position:fixed;z-index:50;background:#ffe7a0;color:#94661d;border:2px solid #e8b859;border-radius:30px;padding:9px 15px;font-weight:800;font-size:20px;pointer-events:none;box-shadow:0 5px 15px #83641820}.standLabel{animation:signHello .8s ease-out both}
@keyframes customerHello{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
@keyframes friendWave{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg)}65%{transform:rotate(10deg)}}
@keyframes medalPop{0%{transform:scale(.2) rotate(-25deg);opacity:0}60%{transform:scale(1.3) rotate(8deg);opacity:1}100%{transform:scale(1) rotate(0)}}
@keyframes iceScoop{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}
@keyframes sprinkle{0%{transform:translateY(-18px);opacity:0}25%{opacity:1}100%{transform:translateY(32px);opacity:0}}
@keyframes treatArrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes signHello{from{transform:rotate(-12deg) scale(.8)}to{transform:rotate(-5deg) scale(1)}}
@media(prefers-reduced-motion:reduce){.customer,.customer .avatar,.resultHead .medal,.makingTreat,.iceMound,.icePour,.makingTreat>span,.standLabel{animation:none!important}.icePour{display:none}}
/* The park is a playable stage: full-body visitors walk to the cart. */
.scene{aspect-ratio:16/9!important}.scene img{object-fit:cover;object-position:center}.standLabel{display:none}.sceneNote{display:none}#street{position:absolute;inset:0;pointer-events:none}#walkers{position:absolute;inset:0;overflow:hidden}#sceneSpeech{position:absolute;bottom:10px;left:12px;right:12px;padding:10px 14px;border:1px solid #fff6d4;border-radius:12px;background:#fffdf2f5;color:#365340;box-shadow:0 3px 14px #203b2520;font-size:16px;line-height:1.5;text-align:center;pointer-events:none}.streetFriend{position:absolute;width:18%;height:auto;bottom:13%;left:108%;padding:0;background:transparent;border:0;pointer-events:auto;transform:translateX(-50%);transition:left 1.8s linear;z-index:2;filter:drop-shadow(0 3px 2px #63492b35)}.streetFriend svg{display:block;width:100%;overflow:visible}.streetFriend.atCounter{left:77%}.streetFriend.leaving{left:115%;transition-duration:1.6s}.streetFriend:disabled{opacity:1}.friendName{display:block;background:#fff7e9;border:1px solid #dfcba4;border-radius:15px;padding:3px 7px;font-size:16px;color:#4e6844;position:absolute;bottom:-6px;left:50%;transform:translateX(-50%)}.arm{transform-box:fill-box;transform-origin:50% 0}.leg{transform-box:fill-box;transform-origin:50% 0}.walking .legLeft{animation:stepLeg .34s ease-in-out infinite alternate}.walking .legRight{animation:stepLeg .34s ease-in-out infinite alternate-reverse}.walking .armLeft{animation:stepArm .34s ease-in-out infinite alternate-reverse}.walking .armRight{animation:stepArm .34s ease-in-out infinite alternate}.walking .friendBody{animation:walkBob .34s ease-in-out infinite alternate}.waiting .friendBody{animation:breathe 2s ease-in-out infinite}.waving .armRight{animation:helloArm .35s ease-in-out 4 alternate;transform-origin:0 0}.eye{animation:blinkEyes 4.7s infinite;transform-box:fill-box;transform-origin:center}.heldIce{position:absolute;right:1%;top:56%;width:23%;height:24%;opacity:0;transform:translate(-60px,-20px);transition:transform .65s ease,opacity .3s;pointer-events:none}.heldIce i{display:block;height:40%;border-radius:50% 50% 10% 10%;background:var(--treat,#ed9ba3);box-shadow:inset 0 4px 0 #ffffff70}.heldIce b{display:block;height:57%;background:#59bdcf;color:white;font-size:16px;text-align:center;clip-path:polygon(0 0,100% 0,80% 100%,20% 100%)}.served .heldIce{opacity:1;transform:translate(0,0)}.preparing:after{content:'🍧';position:absolute;left:-20%;top:40%;font-size:25px;animation:scoopReady .8s ease-in-out infinite alternate}.partyFriend{pointer-events:none;width:15%;animation:partyHop .65s ease-in-out infinite alternate}.partyFriend .armRight{transform:rotate(-120deg)}
@keyframes stepLeg{from{transform:rotate(-17deg)}to{transform:rotate(17deg)}}@keyframes stepArm{from{transform:rotate(-20deg)}to{transform:rotate(20deg)}}@keyframes walkBob{from{transform:translateY(0)}to{transform:translateY(-3px)}}@keyframes breathe{50%{transform:translateY(-2px)}}@keyframes helloArm{from{transform:rotate(-95deg)}to{transform:rotate(-135deg)}}@keyframes blinkEyes{0%,44%,48%,100%{transform:scaleY(1)}46%{transform:scaleY(.1)}}@keyframes scoopReady{to{transform:translateY(-10px) rotate(12deg)}}@keyframes partyHop{to{transform:translate(-50%,-12px)}}
@media(max-width:750px){#sceneSpeech{font-size:16px;padding:7px 9px;bottom:6px}.streetFriend{bottom:18%;width:19%}.sceneTop{top:8px;left:8px;right:8px}.sceneFoot{font-size:16px}.friendName{font-size:16px;padding:2px 6px}}
@media(prefers-reduced-motion:reduce){#street *,#street *:after{animation:none!important;transition:none!important}}
/* Pose-sheet stage: Del and Ziah are animated actors, not painted scenery. */
.scene{aspect-ratio:1.38!important;background:#fffaf0;isolation:isolate}.park{position:absolute;inset:0;background:linear-gradient(#eaf8fc 0 40%,#f3f9ec 40% 65%,#fffaf2 65%)}.skyline{position:absolute;left:4%;right:3%;height:25%;top:10%;opacity:.32;background:repeating-linear-gradient(90deg,#b8cfda 0 5%,transparent 5% 8%,#b8cfda 8% 12%,transparent 12% 16%);clip-path:polygon(0 45%,8% 45%,8% 20%,17% 20%,17% 60%,24% 60%,24% 0,30% 0,30% 60%,40% 60%,40% 30%,48% 30%,48% 65%,62% 65%,62% 10%,70% 10%,70% 40%,84% 40%,84% 0,90% 0,90% 35%,100% 35%,100% 100%,0 100%)}.tree{position:absolute;top:18%;height:41%;width:2%;background:#c7ac80}.tree:before{content:'';position:absolute;width:800%;height:75%;left:-350%;top:-20%;border-radius:48%;background:#d5e8bb;box-shadow:18px -10px 0 #e0efc9,-17px 6px 0 #dcebc8}.tree1{left:5%}.tree2{right:6%}.parkFence{position:absolute;top:48%;width:100%;height:18%;border-top:3px solid #b6c7b2;border-bottom:3px solid #b6c7b2;background:repeating-linear-gradient(90deg,transparent 0 20px,#c3d3bf 20px 23px)}.path{position:absolute;bottom:0;height:35%;width:100%;background:linear-gradient(170deg,#fffaf2,#efe7d8)}#street{z-index:2}.host{position:absolute;bottom:30%;height:49%;width:24%;padding:0;border:0;background:none;pointer-events:auto;transform-origin:50% 100%;mix-blend-mode:multiply;animation:hostBreathe 2.5s ease-in-out infinite}.delHost{left:13%}.ziahHost{left:35%;height:46%;animation-delay:.6s}.pose{height:100%!important;width:100%!important;display:block;overflow:hidden!important;mix-blend-mode:multiply}.facingLeft{transform:scaleX(-1)}.host .pose{object-fit:contain}.cart{position:absolute;left:8%;width:54%;height:24%;bottom:19%;z-index:4;pointer-events:none;border-radius:6px 6px 12px 12px;border:3px solid #d4934c;background:linear-gradient(120deg,#ffdc76,#ffedaa);box-shadow:0 5px 0 #c58d4e;color:#286e75;display:flex;align-items:center;flex-direction:column;justify-content:center}.cart>b{font:800 clamp(19px,2.5vw,35px)/1 Outfit,system-ui;letter-spacing:2px;color:#288c98;text-shadow:1px 2px white}.cart>span{font-size:clamp(8px,1vw,12px);letter-spacing:3px;font-weight:800;margin-top:6px}.cart>small{font-size:clamp(7px,.8vw,10px);margin-top:7px;color:#89602d}.counter{position:absolute;top:-9px;left:-4%;width:108%;height:12px;border-radius:5px;background:#fdf9ed;border:2px solid #c3996e}.wheel{position:absolute;bottom:-19px;width:27px;height:27px;border-radius:50%;border:7px solid #45575b;background:#b7bfbc}.w1{left:10%}.w2{right:10%}.bottles{position:absolute;top:-48px;left:9%;height:40px;display:flex;gap:7px;align-items:flex-end}.bottles i{width:14px;height:32px;background:#ed7586;border:2px solid #fff9;border-radius:5px 5px 3px 3px;box-shadow:0 -7px 0 -3px #5f8075}.bottles i:nth-child(2){background:#71bfe1;height:37px}.bottles i:nth-child(3){background:#ecc357}.bottles i:nth-child(4){background:#a2c47b;height:36px}#walkers{z-index:5;mix-blend-mode:multiply}.streetFriend{height:47%;width:25%;bottom:17%;filter:none;mix-blend-mode:multiply;transition:left 1.8s linear}.streetFriend.atCounter{left:81%}.streetFriend .customerPose{height:100%;width:100%;display:block;transform-origin:50% 100%}.streetFriend.walking .customerPose{animation:poseWalk .28s ease-in-out infinite alternate}.streetFriend .heldIce{right:12%;top:56%;width:15%;height:20%}.friendName{bottom:-9px}.partyFriend{height:35%;width:21%;bottom:18%}#sceneSpeech{z-index:8;bottom:10px;font-size:16px;background:#fffef8;min-height:43px;display:grid;place-items:center}#sceneCup{position:absolute;left:48%;bottom:43%;width:5%;height:11%;z-index:6;opacity:0;pointer-events:none;--treat:#ea89a0}#sceneCup i{display:block;height:40%;background:var(--treat);border-radius:50% 50% 10% 10%;box-shadow:inset 0 5px #fff6}#sceneCup b{display:block;height:60%;background:#4baec5;color:white;text-align:center;font-size:18px;clip-path:polygon(0 0,100% 0,80% 100%,20% 100%)}#sceneCup.mixing{opacity:1;animation:mixCup .6s ease-in-out infinite alternate}#sceneCup.handoff{animation:passCup .75s ease-in forwards}[data-phase="prepare"] .delHost{animation:delWork .9s ease-in-out infinite alternate}[data-phase="prepare"] .ziahHost{animation:ziahWork .9s ease-in-out infinite alternate}[data-phase="greeting"] .host{animation:greetSway .8s ease-in-out infinite alternate}[data-phase="served"] .host{animation:saleCheer .8s ease-in-out 2}[data-phase="celebrate"] .host{animation:hostJump .6s ease-in-out infinite alternate}[data-phase="celebrate"] .ziahHost{animation-delay:.3s}[data-phase="closed"] .host{animation:none}.sceneTop{z-index:7;pointer-events:none}
@keyframes hostBreathe{50%{transform:translateY(-3px) rotate(.5deg)}}@keyframes poseWalk{from{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-5px) rotate(2deg)}}@keyframes greetSway{from{transform:rotate(-3deg)}to{transform:rotate(3deg) translateY(-4px)}}@keyframes delWork{to{transform:translateX(-10px) rotate(-4deg)}}@keyframes ziahWork{to{transform:translateX(12px) rotate(4deg)}}@keyframes saleCheer{50%{transform:translateY(-12px)}}@keyframes hostJump{to{transform:translateY(-24px) rotate(-4deg)}}@keyframes mixCup{to{transform:translateY(-8px) rotate(7deg)}}@keyframes passCup{0%{opacity:1;transform:translate(0,0)}90%{opacity:1}100%{opacity:0;transform:translate(550%,80%)}}
@media(min-width:751px){.layout{grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr)}}@media(max-width:750px){.scene{aspect-ratio:1.2!important}#sceneSpeech{font-size:16px;padding:6px 10px;min-height:38px}.streetFriend{bottom:20%}.cart{bottom:22%}.host{bottom:33%}.cart>b{font-size:23px}.cart>span{font-size:16px}.cart>small{font-size:16px}.bottles{transform:scale(.8);transform-origin:bottom left}#sceneCup{bottom:46%}.wheel{width:23px;height:23px;bottom:-17px;border-width:6px}}
@media(prefers-reduced-motion:reduce){#street *,#street *:after{animation:none!important;transition:none!important}#sceneCup.handoff{opacity:0}}
#street{mix-blend-mode:multiply}
/* Keep background details above the actors so the original white-backed art blends cleanly. */
.parkFence{display:none}.skyline{top:7%;height:16%;opacity:.22}.tree1{left:-5%}.tree2{right:-8%}.tree{top:13%;height:28%}.park{background:linear-gradient(#eef9fc 0 24%,#fffdf7 40% 65%,#fffaf2 65%)}
/* Smooth-motion edition: stable sprite geometry, articulated steps, quieter UI. */
#street,#walkers,.host,.pose,.streetFriend{mix-blend-mode:normal}.poseLayer{position:absolute;inset:0;display:block;pointer-events:none}.host{animation:softBreath 3.4s ease-in-out infinite;will-change:transform;filter:drop-shadow(0 5px 4px #31433c14)}.pose{overflow:hidden!important}.customerPose{position:relative;display:block}.streetFriend{left:112%;transition:left 2.2s cubic-bezier(.2,.05,.22,1);will-change:left;filter:drop-shadow(0 6px 4px #31433c16)}.streetFriend.atCounter{left:81%}.streetFriend.leaving{left:116%;transition:left 2s cubic-bezier(.65,0,.85,.7)}.streetFriend.walking .customerPose{animation:walkFloat .62s ease-in-out infinite}.rigLeg{transform-box:view-box;transition:transform .3s ease-out}.walking .rigLeft{animation:strideLeft .62s ease-in-out infinite}.walking .rigRight{animation:strideRight .62s ease-in-out infinite}.streetFriend:not(.walking) .rigLeg{transform:rotate(0)}.streetFriend .heldIce{right:19%;top:56%;width:14%;height:18%;transition:opacity .25s,transform .4s cubic-bezier(.2,.8,.2,1)}.friendName{background:#fffef8;border:0;box-shadow:0 3px 12px #35523c14;font-weight:700;padding:5px 12px;font-size:16px}.scene{aspect-ratio:1.35!important;border-radius:20px;background:#eaf6fa}.park{background:linear-gradient(#dff3fc 0%,#f0f9ff 38%,#e7f3db 68%,#f9f2e3 68%)}.path{background:linear-gradient(165deg,#fff7e8,#f1e5ce);height:32%}.skyline{opacity:.3}.tree:before{background:#bad998;box-shadow:18px -10px 0 #d0e7b2,-17px 6px 0 #c2dda2}.tree1{left:2%}.tree2{right:1%}.tree{top:16%;height:41%}.cart{border:0;border-bottom:5px solid #d89649;background:linear-gradient(135deg,#ffe7a0,#ffd174);box-shadow:0 12px 20px #9b774e20;border-radius:8px 8px 18px 18px}.cart>b{color:#247e88;text-shadow:0 2px #ffffffb0}.counter{height:14px;top:-11px;border:0;background:linear-gradient(#fffdf4,#eadbc5);box-shadow:0 3px 0 #b58b5740}.cart>small{font-weight:600}.wheel{background:#dde8e4;border-color:#344f50}.bottles{gap:9px}.bottles i{width:17px}.sceneTop span{backdrop-filter:blur(10px);font-size:16px;box-shadow:0 3px 12px #31433c0d}.sceneTop span:last-child{font-size:16px}#sceneSpeech{border:1px solid #ffffffba;background:#fffefaed;box-shadow:0 8px 24px #4b6a5114;border-radius:16px;font-size:16px;padding:13px 17px;bottom:13px;left:13px;right:13px;min-height:48px}.host{height:52%;bottom:29%;width:27%}.delHost{left:10%}.ziahHost{left:33%;height:50%}.streetFriend{height:49%;width:29%;bottom:18%}.partyFriend{height:38%;width:24%;bottom:20%;animation:softCelebrate 1.2s ease-in-out infinite}.partyFriend:nth-child(2){animation-delay:.3s}
[data-phase="greeting"] .host{animation:welcomeLean 1.3s ease-in-out 1}[data-phase="prepare"] .delHost{animation:prepareLean 1.6s ease-in-out infinite}[data-phase="prepare"] .ziahHost{animation:softBreath 2.4s ease-in-out infinite}[data-phase="served"] .delHost{animation:smallCheer 1.2s ease-in-out 1}[data-phase="served"] .ziahHost{animation:serveReach 1.1s cubic-bezier(.35,0,.2,1) 1}[data-phase="celebrate"] .host{animation:smallCheer 1.5s ease-in-out infinite}[data-phase="celebrate"] .ziahHost{animation-delay:.35s}#sceneCup{left:49%;bottom:45%;width:4.6%;height:10%}#sceneCup.mixing{animation:stirCup 1.4s ease-in-out infinite}#sceneCup.handoff{animation:smoothPass 1.1s cubic-bezier(.35,0,.2,1) forwards}.makingTreat{height:110px;transform:scale(.85);margin-top:-10px;margin-bottom:0}.workCard{box-shadow:0 10px 30px #36523d06;border-radius:20px}.sceneCard{box-shadow:0 12px 36px #36523d0a;border-radius:20px}.primary{background:linear-gradient(135deg,#2b896a,#28775e);box-shadow:0 4px 0 #1c5b46,0 7px 18px #2c806b17;font-size:16px;transition:transform .2s,box-shadow .2s}.primary:hover{transform:translateY(-2px)}.flavor{transition:transform .18s,box-shadow .18s;background:#fff}.flavor:hover{transform:translateY(-3px);box-shadow:0 6px 15px #3d6c4715}.choices button{transition:transform .18s,background .18s}.choices button:hover{transform:translateY(-2px)}.step{font-size:16px}.order{font-size:16px}.customer{animation:customerHello .35s ease-out}.customer .avatar{animation:none}.intro{font-size:16px}.eyebrow{font-size:16px}
@keyframes softBreath{50%{transform:translateY(-2px) scaleY(1.005)}}@keyframes strideLeft{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}@keyframes strideRight{0%,100%{transform:rotate(9deg)}50%{transform:rotate(-9deg)}}@keyframes walkFloat{0%,50%,100%{transform:translateY(0)}25%,75%{transform:translateY(-2px)}}@keyframes welcomeLean{50%{transform:rotate(2deg) translateY(-3px)}}@keyframes prepareLean{50%{transform:rotate(-2deg) translateX(-4px)}}@keyframes serveReach{0%,100%{transform:translateX(0)}45%,65%{transform:translateX(9px) rotate(2deg)}}@keyframes smallCheer{0%,100%{transform:translateY(0)}35%{transform:translateY(2px) scaleY(.985)}60%{transform:translateY(-10px)}85%{transform:translateY(1px)}}@keyframes softCelebrate{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-9px)}}@keyframes stirCup{50%{transform:translateY(-3px) rotate(3deg)}}@keyframes smoothPass{0%,20%{opacity:1;transform:translate(0,0)}45%{opacity:1;transform:translate(220%,-35%)}90%{opacity:1;transform:translate(530%,130%)}100%{opacity:0;transform:translate(530%,130%)}}
@media(min-width:751px){.sceneCard{position:sticky;top:20px}}@media(max-width:750px){.scene{aspect-ratio:1.16!important}.host{bottom:32%}.cart{bottom:23%}.streetFriend{bottom:20%}#sceneSpeech{font-size:16px;min-height:45px;bottom:9px;padding:9px 12px}#sceneCup{bottom:48%}.sceneTop span{font-size:16px}.friendName{font-size:16px}.cart>b{font-size:25px}.sceneFoot{font-size:16px}}
@media(prefers-reduced-motion:reduce){#street *,#street *:after,.primary,.flavor,.choices button{animation:none!important;transition:none!important}.primary:hover,.flavor:hover,.choices button:hover{transform:none}.host{will-change:auto}.streetFriend{will-change:auto}}
/* Friendly shop: three plans, three flavors, one clear action at a time. */
.planPacks{display:grid;gap:9px;margin:15px 0}.planPack{display:flex;width:100%;align-items:center;gap:12px;text-align:left;padding:14px;border:2px solid #e7ecdf;background:#fffdf8;border-radius:15px;color:#354c3c;transition:background .2s,border-color .2s,transform .2s}.planPack.selected{background:#eef7e8;border-color:#5c9a72;box-shadow:0 3px 12px #46785410}.planPack:hover{transform:translateY(-2px);border-color:#99bc91}.packIcon{font-size:29px;width:36px;text-align:center}.planPack>span:nth-child(2){flex:1}.planPack b{font-size:16px;display:block}.planPack small{display:block;font-size:16px;color:#62735d;margin-top:4px}.planPack em{display:block;font-style:normal;color:#798470;font-size:16px;margin-top:4px}.planPack>strong{font-size:23px;color:#387758;text-align:right}.planPack>strong small{font-size:16px}.customPlan{border-bottom:1px solid #e0e8d7;padding:8px 0 14px;margin-bottom:14px}.customPlan summary,.countHelp summary{cursor:pointer;color:#477354;font-size:16px;font-weight:700;padding:7px 0}.customPlan .step{margin:12px 0 8px}.planForecast{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;background:#f1f5e9;border-radius:12px;padding:14px 9px}.planForecast>div{text-align:center}.planForecast small{font-size:16px;color:#65765c;display:block}.planForecast b{font:600 24px Outfit,system-ui;display:block;margin-top:5px;color:#3f6e4e}.supplyNote{font-size:16px;line-height:1.5;color:#77846d;margin:0 0 17px}.orderSteps{display:flex;gap:7px;margin:15px 0}.orderSteps span{flex:1;border-radius:20px;background:#f0f1e8;font-size:16px;color:#87927d;padding:8px 6px;text-align:center}.orderSteps .current{background:#357b5b;color:white;font-weight:700}.orderSteps .complete{background:#e4f0da;color:#477944}.moneyEquation{display:grid;grid-template-columns:1.4fr auto 1fr auto .8fr;align-items:center;gap:8px;margin:16px 0 20px}.moneyEquation>div{text-align:center}.moneyEquation small{font-size:16px;letter-spacing:.4px;color:#6c7e61;display:block}.moneyEquation b{font:600 27px Outfit,system-ui;display:block;margin-top:6px}.pretendBill{padding:13px 5px;background:#e6efcf;border:2px solid #b5c791;border-radius:10px;box-shadow:inset 0 0 0 4px #f2f6e9}.moneyEquation>span{font-size:20px;color:#809073}.countHelp{margin:16px 0;background:#f6f5ed;border:1px solid #e1e5d7;border-radius:12px;padding:8px 13px}.countHelp p{font-size:16px;line-height:1.6;color:#6d7d63}.countLine{font-size:21px;margin:12px 0}.countButton{border:1px solid #cad9ba;background:#fffef7;color:#42724d;border-radius:8px;padding:9px 13px;margin:10px 4px 3px 0;font-size:16px}.countButton:disabled{opacity:.45}#countTokens{font-size:16px;color:#55724b;line-height:1.5}.soundControls{display:flex;align-items:center;gap:8px}#volumeWrap{font-size:16px;color:#59734f}#volumeWrap[hidden]{display:none}#musicVolume{width:66px;vertical-align:middle;accent-color:#347e5d}.moneyMilestone{padding:12px 17px;background:#eef5df;color:#426a43;font-weight:600;font-size:16px;line-height:1.5;border-bottom:1px solid #e2eace}.flavors{grid-template-columns:repeat(3,1fr)}.flavor{padding:16px 7px}.scoop{width:39px;height:37px}.sceneCard{overflow:hidden}.sunshine{position:absolute;right:14%;top:11%;width:9%;aspect-ratio:1;background:#ffdd79;border-radius:50%;box-shadow:0 0 0 10px #ffe69d33,0 0 45px #ffe19c66;animation:sunGlow 6s ease-in-out infinite}.cloud{position:absolute;left:8%;top:13%;width:16%;height:5%;border-radius:40px;background:#ffffffb0;animation:cloudSail 25s ease-in-out infinite alternate}.cloud:before{content:'';position:absolute;width:50%;height:180%;border-radius:50%;background:inherit;bottom:0;left:20%}.cloudTwo{top:27%;left:63%;width:13%;animation-duration:31s;animation-direction:alternate-reverse}.tree:before{transform-origin:50% 100%;animation:treeSway 7s ease-in-out infinite alternate}.tree2:before{animation-delay:-3s}.cashTill{position:absolute;left:51%;bottom:43%;width:8%;height:6%;z-index:5;border-radius:5px;background:#347b75;border-bottom:4px solid #205c59;color:#fff5da;text-align:center;font-size:16px;box-shadow:0 4px 5px #37564f20}.cashTill>i{position:absolute;top:-5px;left:0;width:100%;height:7px;background:#63a299;border-radius:4px;transform-origin:left bottom}.cashTill>span{font-size:16px;font-weight:800}#paymentToken{position:absolute;left:77%;top:53%;z-index:9;opacity:0;border:2px solid #90ae68;border-radius:6px;background:#e9f4d3;color:#3d6b42;padding:4px 10px;font-weight:800;font-size:16px;pointer-events:none}#paymentToken.paying{animation:paymentFlight 1s ease-in-out forwards}[data-phase="served"] .cashTill>i{animation:tillOpen 1.4s ease-in-out}[data-phase="served"] .cashTill{animation:tillDing 1.4s ease-out}#syrupStream{position:absolute;left:50.5%;bottom:54%;height:8%;width:3px;border-radius:10px;background:#ed8b9a;z-index:5;opacity:0;transform-origin:top}[data-phase="prepare"] #syrupStream{animation:syrupDrip 1.4s ease-in-out infinite}#happyHearts{position:absolute;left:64%;top:27%;color:#e8a099;letter-spacing:6px;font-size:24px;opacity:0;pointer-events:none;z-index:9}[data-phase="served"] #happyHearts{animation:happyFloat 1.8s .7s ease-out both}[data-phase="celebrate"] #happyHearts{animation:happyFloat 2s ease-out infinite}.partyFriend{animation:softCelebrate 1.2s ease-in-out infinite}.host:focus-visible{outline-offset:-6px;border-radius:30px}
@keyframes cloudSail{to{transform:translateX(35px)}}@keyframes treeSway{to{transform:rotate(2deg)}}@keyframes sunGlow{50%{box-shadow:0 0 0 14px #ffe69d22,0 0 55px #ffe19c88}}@keyframes paymentFlight{0%{opacity:0;transform:translate(0,0) rotate(7deg)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translate(-180px,-20px) rotate(-7deg)}}@keyframes tillOpen{30%,60%{transform:rotateX(60deg) translateY(-6px)}100%{transform:rotateX(0)}}@keyframes tillDing{70%{box-shadow:0 0 0 8px #fff2ad80}}@keyframes syrupDrip{0%,100%{opacity:0;transform:scaleY(.1)}30%,70%{opacity:.8;transform:scaleY(1)}}@keyframes happyFloat{0%{opacity:0;transform:translateY(15px) scale(.8)}25%{opacity:1}100%{opacity:0;transform:translateY(-35px) scale(1.15)}}
@media(max-width:750px){nav{gap:7px}.soundControls{gap:4px;flex-wrap:wrap;justify-content:flex-end;max-width:130px}#volumeWrap{font-size:16px}#musicVolume{width:50px}.planPack{padding:12px}.planPack b{font-size:16px}.planPack small{font-size:16px}.planPack em{font-size:16px}.planPack>strong{font-size:22px}.moneyMilestone{font-size:16px}.cashTill{bottom:47%;font-size:16px}.cashTill>span{font-size:16px}#syrupStream{bottom:57%}#paymentToken{font-size:16px}.moneyEquation{gap:6px}.moneyEquation b{font-size:23px}}
@media(prefers-reduced-motion:reduce){.cloud,.tree:before,.sunshine,.cashTill,.cashTill>i,#paymentToken,#syrupStream,#happyHearts,.planPack{animation:none!important;transition:none!important}.planPack:hover{transform:none}}
/* Reference-style illustrated cart and gentle, whole-character slides. */
.illustratedCart{position:absolute;z-index:4;left:0;top:2%;width:76%!important;height:82%!important;object-fit:fill!important;pointer-events:none;filter:drop-shadow(0 6px 4px #66441d18)}.host{height:45%;width:24%;bottom:29%}.delHost{left:18%}.ziahHost{left:40%;height:43%}.streetFriend{left:112%;transition:left 2.2s cubic-bezier(.25,.1,.25,1);filter:drop-shadow(0 6px 4px #31433c16)}.streetFriend.atCounter{left:83%}.streetFriend.leaving{left:116%;transition:left 2s cubic-bezier(.4,0,.6,1)}.streetFriend.walking .customerPose,.streetFriend .rigLeg{animation:none!important;transform:none!important}.cashTill{display:none}#sceneCup{left:59%;bottom:43%;width:4.6%;height:10%}#syrupStream{left:60.5%;bottom:52%}#paymentToken{left:78%;top:54%}#happyHearts{left:70%}#roundSummary{max-width:580px;width:calc(100% - 30px);padding:28px;background:#fffdf5;max-height:90dvh;overflow:auto}#roundSummary .ledger{display:block;background:transparent;border:0;border-radius:0;padding:0;margin:10px 0 20px}#roundSummary .ledger h2{font-size:27px}#roundSummary .ledger p{max-width:none;font-size:16px;line-height:1.7}#roundSummary .ledgerNumbers{margin-top:20px;border:1px solid #dfe8d3;border-radius:14px;background:#f0f5e6;padding:16px 20px}#roundSummary .ledgerNumbers>div{font-size:16px;margin:12px 0}#roundSummary .ledgerNumbers .cash{font-size:17px;padding-top:15px}.summaryDay{font-size:16px;font-weight:800;letter-spacing:1.5px;color:#57815d}.summaryReminder{font-size:16px!important;color:#5e7356!important;background:#fff3d8;padding:12px;border-radius:10px}#reviewSummary{font-size:16px;text-decoration:underline}.sceneCard .scene{overflow:hidden}
@media(max-width:750px){.illustratedCart{top:4%;height:78%!important;width:77%!important}.host{bottom:31%;height:43%;width:24%}.ziahHost{height:41%}.streetFriend{bottom:20%}#sceneCup{bottom:44%}#syrupStream{bottom:53%}#roundSummary{padding:22px}#roundSummary .ledger h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.streetFriend,.streetFriend.leaving{transition:none!important}}

/* Faces stay above the ice in both idle and serving poses. The umbrella and
   pole sit behind the hosts; only the counter artwork sits in front. */
.illustratedCart.cartBackdrop{z-index:1}
.host{z-index:2;bottom:38%;height:45%}
.ziahHost{bottom:38%;height:45%}
.illustratedCart.cartForeground{z-index:4;clip-path:inset(36% 0 0 0)}
@media(max-width:750px){
 .host,.ziahHost{bottom:40%;height:43%}
}

/* Comfortable reading sizes and explicit retry feedback. */
body{font-size:18px;line-height:1.5}
.intro,.step,.order,.feedback,.quiz,.receipt,.customer p,.planHint,.mentor,.resultHead p{font-size:18px}
.workCard h2{font-size:28px;line-height:1.2}
.primary,.secondary,.flavor,.planPack b,.planPack small,.customPlan summary,.countHelp summary,.countHelp p{font-size:18px;line-height:1.45}
.feedback.error{color:#b42318;background:#fff0ed;border:1px solid #edb5ae;font-weight:600}
.sceneTop{gap:8px;flex-wrap:wrap}.sceneTop span{font-size:14px;max-width:100%}
#sceneSpeech{font-size:16px;line-height:1.4;min-height:0}
.friendName{font-size:14px;padding:4px 9px}
.sceneFoot{gap:8px;flex-wrap:wrap}
.heading,header{flex-wrap:wrap}.dayTabs{flex-wrap:wrap}
.planForecast{gap:8px}.planForecast small{line-height:1.35}
.orderSteps span{font-size:16px}.moneyEquation small{font-size:14px}
#roundSummary .ledger p,#roundSummary .ledgerNumbers>div,.summaryReminder{font-size:18px!important}
/* Keep the customer inside the scene with safe horizontal headroom. */
.streetFriend.atCounter{left:81%}
@media(max-width:1000px){.layout{grid-template-columns:1fr}.sceneCard{position:static}}
@media(max-width:500px){
 main{padding:20px 14px}.dashboard{grid-template-columns:1fr 1fr}
 .dashboard>div{padding:14px}.planForecast{grid-template-columns:1fr}
 .planForecast>div{display:flex;justify-content:space-between;align-items:center;text-align:left}
 .moneyEquation{gap:5px}.moneyEquation b{font-size:26px}.moneyEquation small{font-size:12px}
 .sceneTop span{font-size:12px;padding:6px 9px}#sceneSpeech{font-size:14px;padding:8px}
 .friendName{font-size:12px}.streetFriend{bottom:22%}
 .planPack{flex-wrap:wrap}.orderSteps span{font-size:14px}
}
nav,.topline,footer{flex-wrap:wrap;gap:12px}
.secondary,.countButton,nav button,nav a{min-height:44px}
.secondary{white-space:normal}
.customer>div,.planPack>span:nth-child(2){min-width:0}

.dayActivity{margin-top:24px;padding:20px;border:2px solid #bfd8aa;border-radius:16px;background:#f4f8ec}.dayActivity h3{font-size:23px;margin:0 0 12px}.dayActivity p{font-size:18px}.dayActivity .choices{flex-wrap:wrap}.dayActivity button{min-height:48px}#reviewSummary{font-size:18px;text-decoration:none;margin:0 0 24px}button[aria-pressed="true"][data-save]{background:#dceccf;border-color:#38765a}
