.sparkle-mini{position:relative;margin-top:80px;padding:70px 24px 55px;background:#c7aae8;color:#39204f}.route-mini{background:#bce4ca}.mini-inner{position:relative;max-width:1050px;margin:auto}.sparkle-mini h2{font-size:clamp(38px,5vw,65px);line-height:1.08;margin:18px 0}.mini-intro{max-width:680px;font-size:19px;line-height:1.6;margin-bottom:28px}.caddy-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.mini-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mini-tools button{border:3px solid transparent;background:#ffffff66;border-radius:25px;padding:12px;cursor:pointer;color:#39204f;font:inherit;font-weight:bold}.mini-tools img{width:100%;height:auto;display:block}.mini-tools button[aria-pressed=true]{border-color:#603794;background:#fff9e8}.caddy-art{text-align:center}.caddy-art>img{width:65%;max-width:310px;height:auto}.packed-slots{display:flex;justify-content:center;gap:12px}.packed-slots span{width:85px;height:85px;background:#fff9e8;border:3px dashed #603794;border-radius:24px;display:grid;place-items:center;font-size:25px}.packed-slots img{width:100%;height:100%}.mini-map{position:relative;border:8px solid white;border-radius:35px;overflow:hidden;box-shadow:0 10px 0 #60379433}.mini-map>img{width:100%;height:auto;display:block}.mini-map button{position:absolute;transform:translate(-50%,-50%);width:clamp(44px,6vw,68px);height:clamp(44px,6vw,68px);border:4px solid #603794;border-radius:50%;background:#ffdf57;color:#39204f;font:bold 24px Arial;cursor:pointer;box-shadow:0 5px 0 #60379433}.mini-map button.done{background:#fff9e8}.mini-map button.next{outline:4px dashed white;outline-offset:5px}.mini-status{font-weight:bold;font-size:19px;min-height:30px;margin:28px 0 12px}.mini-note{font-size:14px;max-width:650px;line-height:1.6}.mini-reset{background:#fff9e8;border:2px solid #603794;border-radius:30px;padding:12px 20px;font:inherit;color:#39204f;cursor:pointer;margin-top:16px}.mini-win{background:#fff9e8;padding:24px;border-radius:24px;margin-top:20px}.mini-win[hidden]{display:none}.mini-win h3{font-size:28px;margin:0 0 12px}.sparkle-mini button:focus-visible{outline:4px solid #39204f;outline-offset:4px}.mini-sparks{position:absolute;inset:0;pointer-events:none;overflow:hidden}.mini-sparks i{position:absolute;left:var(--x);top:45%;font-size:35px;font-style:normal;color:#603794;animation:mini-cheer 1.8s ease-out forwards}@keyframes mini-cheer{to{transform:translateY(-280px) rotate(160deg);opacity:0}}@media(max-width:650px){.caddy-layout{grid-template-columns:1fr}.mini-tools img{max-height:110px;object-fit:contain}.caddy-art>img{width:160px}.packed-slots span{width:65px;height:65px}.sparkle-mini{padding:45px 16px}.mini-intro{font-size:17px}}@media(prefers-reduced-motion:reduce){.mini-sparks{display:none}}

/* A calmer shared play system, with stronger progress and one closing enquiry. */
.sparkle-mini{background:#f0e8f8;margin-top:55px;padding-top:54px}.route-mini{background:#bce4ca}.mini-inner{max-width:1000px}.mini-intro{max-width:720px;font-size:18px}.caddy-art{background:#fff9e8aa;border:2px solid white;border-radius:36px;padding:24px 12px}.caddy-caption{font-size:12px;font-weight:700;letter-spacing:.14em}.caddy-hint{font-size:15px;margin:0 0 14px}.mini-tools button{position:relative;transition:transform .18s ease,background .18s ease}.mini-tools button[aria-pressed=true]:after{content:'✓';position:absolute;right:7px;top:7px;background:#603794;color:white;border-radius:50%;width:25px;height:25px;display:grid;place-items:center}.mini-progress{display:block;width:100%;height:10px;margin-top:30px;accent-color:#603794}.mini-status{margin-top:14px;font-size:17px}.mini-map{max-width:900px;margin:auto}.mini-map>.route-van{position:absolute;width:80px;height:auto;left:9%;top:84%;transform:translate(-50%,-110%);z-index:2;pointer-events:none;filter:drop-shadow(0 3px 0 white);transition:left .5s ease,top .5s ease}.mini-win{border:2px solid #60379422}.mini-win h3{font-size:24px}.mini-win p{margin-bottom:0}.is-complete .packed-slots span{border-style:solid;background:#bce4ca}.mini-reset{font-size:15px}.sparkle-mini+ .page-cta{margin-top:0}@media(hover:hover){.mini-tools button:hover{transform:translateY(-4px);background:#fff9e8}.mini-map button:hover{background:white}}@media(max-width:650px){.caddy-art{padding:12px}.caddy-art>img{width:125px}.mini-map>.route-van{width:54px}.mini-tools button{padding:7px}.mini-intro{font-size:16px}.mini-win h3{font-size:22px}}@media(prefers-reduced-motion:reduce){.mini-tools button,.mini-map>.route-van{transition:none}}

.mini-tools button{touch-action:none;user-select:none;cursor:grab}.mini-tools img{-webkit-user-drag:none;pointer-events:none}.mini-tools button.is-dragging{opacity:.4;cursor:grabbing}.caddy-art.is-drop-ready{outline:3px dashed #603794;outline-offset:5px}.caddy-art.is-drag-over{background:#ffdf57;outline-style:solid}.caddy-drag-ghost{position:fixed;width:115px;height:115px;object-fit:contain;transform:translate(-50%,-50%) rotate(-8deg);pointer-events:none;z-index:9999;filter:drop-shadow(0 8px 5px #39204f44)}
/* Keep the entire drag journey visible on narrow screens. */
@media(max-width:650px){.caddy-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px;align-items:center}.caddy-mini .mini-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.caddy-mini .mini-tools button{padding:5px;border-radius:18px;min-height:85px;font-size:12px}.caddy-mini .mini-tools img{height:65px;max-height:65px}.caddy-mini .caddy-art{min-width:0;padding:12px 6px;border-radius:24px}.caddy-mini .caddy-art>img{width:100%;max-width:145px}.caddy-caption{font-size:10px;letter-spacing:.06em}.caddy-hint{font-size:12px}.caddy-mini .packed-slots{gap:4px}.caddy-mini .packed-slots span{width:30%;height:auto;aspect-ratio:1;border-radius:10px;font-size:15px}.caddy-drag-ghost{width:80px;height:80px}}

.mini-tools button{-webkit-touch-callout:none;-webkit-user-select:none}.caddy-drag-ghost{touch-action:none}

/* A short welcoming sweep, with no endless decorative motion. */
.area-header-broom{transform-origin:50% 80%;animation:area-broom-sweep 2.8s ease-in-out 2;will-change:auto}@keyframes area-broom-sweep{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(-16px) rotate(-12deg)}65%{transform:translateX(16px) rotate(12deg)}}@media(prefers-reduced-motion:reduce){.area-header-broom{animation:none}}
