.board[data-kind=sweets]{display:flex;min-height:0;overflow:hidden;border-radius:22px}
.wrapper-factory{flex:1;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:14px 18px;background:linear-gradient(#27123615,#27123615),url('art/wrapper-workshop-v1.webp') center/cover;border-radius:22px;overflow:hidden;color:#fff4db;position:relative}
.wrapper-order{flex:none;display:flex;align-items:center;justify-content:center;gap:12px;align-self:center;max-width:95%;min-height:48px;padding:8px 22px;border:3px solid #ffd283;border-radius:22px;background:#fff5e4;color:#503064;box-shadow:0 4px #60374e99;text-align:center;font-size:clamp(16px,1.9vw,26px)}
.wrapper-swatch{display:block;width:32px;height:32px;border-radius:50%;box-shadow:inset 0 3px 4px #fff7,0 3px #0002;flex:none}
.wrapper-workbench{flex:1;min-height:160px;position:relative;display:grid;place-items:center;isolation:isolate}
.wrapper-candy{position:relative;width:min(72%,680px);aspect-ratio:2/1;flex:none;filter:drop-shadow(0 10px 8px #17072355);isolation:isolate}
.wrapper-paper{position:absolute;inset:0;background:url('art/wrapper-candies-v1.webp') calc(var(--paper)*50%) 50%/300% 200% no-repeat;pointer-events:none;transition:filter .2s}
.wrapper-candy[data-colour=blank]>.wrapper-paper{filter:grayscale(1) brightness(1.35)}
.paper-body{clip-path:inset(0 24% 0 24%)}.paper-left{clip-path:inset(0 74% 0 0);transform-origin:25% 50%}.paper-right{clip-path:inset(0 0 0 74%);transform-origin:75% 50%}.paper-left.twisted{transform:rotate(-12deg) scaleX(.84)}.paper-right.twisted{transform:rotate(12deg) scaleX(.84)}
.wrapper-pattern{position:absolute;left:26%;top:12%;width:48%;height:70%;border-radius:50%;opacity:.6;mix-blend-mode:soft-light;pointer-events:none}
.wrapper-candy[data-pattern=dots] .wrapper-pattern,.pattern-choice[data-pattern=dots] .pattern-sample{background:radial-gradient(circle,#fff 22%,transparent 25%) 0 0/23px 23px}
.wrapper-candy[data-pattern=stripes] .wrapper-pattern,.pattern-choice[data-pattern=stripes] .pattern-sample{background:repeating-linear-gradient(45deg,#fff9 0 10px,transparent 10px 28px)}
.wrapper-sticker{display:block;aspect-ratio:1;background:url('art/wrapper-stickers-v2.webp') calc(var(--sticker)*100% / 3) 50%/400% 100% no-repeat;pointer-events:none}
.pasted-sticker{position:absolute;width:18%;max-width:92px;transform:translate(-50%,-50%);filter:drop-shadow(0 3px 2px #30104066);z-index:3;animation:wrapperPop .25s ease-out}
.wrapper-paper-target{position:absolute;left:25%;top:10%;width:50%;height:75%;padding:0;min-height:44px;background:transparent;border:0;border-radius:50%;z-index:4;touch-action:none}
.wrapper-paper-target.awaiting-sticker{outline:3px dashed #ffe393;box-shadow:inset 0 0 25px #ffe8a666}
.wrapper-twist{position:absolute;top:28%;width:50px;height:50px;min-height:44px;padding:0;border:3px solid #fff0b4;border-radius:50%;background:#ffdb64e8;color:#583466;font-size:27px;z-index:6;touch-action:none;box-shadow:0 4px #93632c;animation:wrapperNudge 1s ease-in-out infinite alternate}.twist-left{left:6%}.twist-right{right:6%}.wrapper-twist.is-twisted{background:#d2f2c6;color:#286b37;animation:none}
.wrapper-friend{position:absolute;bottom:1%;width:23%;height:85%;object-fit:contain;z-index:-1;pointer-events:none;filter:drop-shadow(0 7px 5px #25122b88)}.friend-ray{left:-3%;transform:rotate(-7deg)}.friend-dodu{right:-3%;transform:rotate(7deg)}
.wrapper-tabs{display:flex;gap:8px;justify-content:center;flex:none}.wrapper-tab{min-width:90px;min-height:44px;padding:8px 15px;border:2px solid #b789c7;background:#422653e8;color:#f8e9ff;font-size:15px}.wrapper-tab[aria-pressed=true]{background:#ffdb74;border-color:#fff0bf;color:#503063;box-shadow:0 3px #a77133}
.wrapper-palette{display:flex;align-items:center;justify-content:center;gap:12px;min-height:82px;flex:none}
.wrapper-choice{min-width:82px;max-width:120px;min-height:78px;padding:6px 12px;background:#fff5e6;border:3px solid #d7b6de;border-radius:16px;box-shadow:0 4px #68396d;color:#503063;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.wrapper-choice[aria-pressed=true]{border-color:#ffe17d;box-shadow:0 0 0 3px #bf7b35;background:#fff0ba}.wrapper-choice .wrapper-swatch{width:38px;height:38px;margin:auto}.wrapper-choice span:last-child{display:block;font-size:13px;font-weight:800;margin-top:3px}.wrapper-choice .wrapper-sticker{width:48px;height:48px;margin:auto}.pattern-sample{display:block;width:50px;height:36px;background:#ad71d0;border-radius:10px;border:2px solid #ba8ed2;margin:auto}
.wrapper-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;min-height:44px;flex:none}.wrapper-actions button{min-height:44px;padding:8px 14px;font-size:14px}.wrapper-undo,.wrapper-sound{background:#fff2dddb;color:#5c3663}.wrapper-wrap-note{font-size:clamp(17px,1.9vw,26px);font-weight:800;text-align:center;margin:0;color:#fff0bc;text-shadow:0 2px #321540}
.wrapper-gallery{position:absolute;right:12px;top:70px;width:150px;height:100px;pointer-events:none}.wrapper-gift-box{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.wrapper-gifts{position:absolute;left:8%;right:8%;top:15%;height:38%;display:flex;align-items:center;justify-content:center;gap:0}.wrapper-gift-slot{width:33.33%;height:100%;display:grid;place-items:center;color:#ffda81;font-size:22px}.wrapper-gift-slot .wrapper-candy{width:110%;transform:rotate(-10deg);filter:drop-shadow(0 2px 1px #32154055)}.wrapper-gift-slot .pasted-sticker{animation:none}
.wrapper-hint{font-size:13px;line-height:1.3;text-align:center;color:#fff1d5;min-height:18px;margin:0;text-shadow:0 1px #30123f;flex:none}.wrapper-wrong .wrapper-order{animation:wrapperShake .3s ease-out}
.wrapper-free-dialog{width:min(900px,96vw);max-height:94dvh;padding:14px;background:#3c2057;border:3px solid #c796e9;border-radius:24px;color:#fff0d5;overflow:auto}.wrapper-free-dialog::backdrop{background:#190e2bcc}.wrapper-free-dialog h2{text-align:center;margin:4px 0 10px;font:26px Froople,sans-serif}.wrapper-free-host{height:min(650px,72dvh);min-height:390px;display:flex}.wrapper-free-buttons{display:flex;justify-content:center;gap:10px;padding-top:12px}.wrapper-free-buttons button{min-height:44px}.special-sweet-button{min-height:44px;font-size:15px;padding:8px 16px}.wrapper-free-dialog .wrapper-gallery{display:none}
@keyframes wrapperPop{from{transform:translate(-50%,-50%) scale(.2)}to{transform:translate(-50%,-50%) scale(1)}}@keyframes wrapperNudge{to{translate:0 -4px}}@keyframes wrapperShake{25%{translate:-6px}75%{translate:6px}}
@media(max-height:760px) and (min-width:701px){.wrapper-factory{gap:4px;padding:8px 12px}.wrapper-order{min-height:40px;padding:4px 18px;font-size:18px}.wrapper-workbench{min-height:110px}.wrapper-candy{width:min(60%,420px)}.wrapper-choice{min-height:64px;padding:4px 10px}.wrapper-choice .wrapper-sticker{width:36px;height:36px}.wrapper-palette{min-height:64px}.wrapper-gallery{width:115px;height:80px;top:50px}.wrapper-hint{font-size:11px}}
@media(max-width:700px){
 body.halloween-game .board[data-kind=sweets]{min-height:330px}
 .wrapper-factory{padding:8px 6px;gap:6px;border-radius:16px;background-position:center}
 .wrapper-order{min-height:40px;padding:5px 9px;gap:6px;font-size:15px;max-width:100%;border-width:2px;border-radius:15px}.wrapper-order .wrapper-swatch{width:20px;height:20px}
 .wrapper-workbench{min-height:112px}.wrapper-workbench>.wrapper-candy{width:100%;max-width:380px}
 .wrapper-friend{display:none}.wrapper-gallery{display:none}
 .wrapper-tabs{gap:4px}.wrapper-tab{min-width:0;flex:1;min-height:44px;font-size:12px;padding:5px 4px;border-radius:12px}
 .wrapper-palette{gap:6px;min-height:69px}.wrapper-choice{min-width:0;flex:1;max-width:100px;min-height:66px;padding:4px;border-width:2px;border-radius:12px}.wrapper-choice .wrapper-sticker{width:40px;height:40px}.wrapper-choice .wrapper-swatch{width:34px;height:34px}.wrapper-choice span:last-child{font-size:11px}.pattern-sample{width:40px;height:33px}
 .wrapper-actions{gap:5px;min-height:44px}.wrapper-actions button{font-size:12px;padding:7px 9px}.wrapper-wrap-note{font-size:16px}.wrapper-hint{font-size:11px;min-height:27px}
 .wrapper-twist{width:44px;height:44px;top:27%;font-size:24px}.wrapper-free-dialog{padding:8px}.wrapper-free-host{height:65dvh;min-height:390px}.wrapper-free-dialog h2{font-size:21px}.wrapper-free-buttons{flex-wrap:wrap}.wrapper-free-buttons button{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.wrapper-twist,.pasted-sticker,.wrapper-wrong .wrapper-order{animation:none}}
.wrapper-hint{display:none}
.touch-drag-ghost.wrapper-choice .wrapper-sticker{width:100%!important;height:100%!important;margin:0!important}
.touch-drag-ghost.wrapper-choice .wrapper-swatch,.touch-drag-ghost.wrapper-choice .pattern-sample{width:58px!important;height:58px!important;margin:auto!important}
@media(max-width:700px){
 .wrapper-factory{gap:4px;padding:6px}
 .wrapper-workbench{min-height:144px}
 .wrapper-workbench>.wrapper-candy{width:min(100%,288px)}
 .wrapper-order{min-height:40px}
}
.wrapper-delivery-toast{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse,#4b236ae8,#2e1337c7);color:#fff0b8;pointer-events:none;border-radius:20px}
.wrapper-delivery-toast>.wrapper-gallery{display:block!important;position:relative!important;inset:auto!important;width:min(80%,340px)!important;height:230px!important;flex:none}.wrapper-delivery-toast>strong{font:clamp(19px,2.6vw,34px) Froople,sans-serif;text-align:center}.wrapper-cheer .wrapper-friend{animation:wrapperHappy .6s ease-out}
@keyframes wrapperHappy{50%{translate:0 -18px;rotate:4deg}}
@media(max-width:700px){.wrapper-delivery-toast>.wrapper-gallery{height:160px!important;width:250px!important}.wrapper-delivery-toast>strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){.wrapper-cheer .wrapper-friend{animation:none}}
.paper-left,.paper-right{transition:transform .3s cubic-bezier(.2,.8,.2,1),filter .2s;will-change:transform}
.wrapper-paper.pulling{transition:none;filter:brightness(1.12)}
.paper-left.twisted{transform:rotate(-28deg) scale(.86,.76)}.paper-right.twisted{transform:rotate(28deg) scale(.86,.76)}
.wrapper-twist.pulling{animation:none;background:conic-gradient(#b9efa4 calc(var(--pull-progress,0)*1turn),#ffdb64 0);box-shadow:0 0 16px #ffdf78}
.paper-left.paper-settle{animation:paperSettleLeft .4s ease-out}.paper-right.paper-settle{animation:paperSettleRight .4s ease-out}
@keyframes paperSettleLeft{from{transform:translateX(-20px) rotate(-36deg) scale(1.12,.72)}to{transform:rotate(-28deg) scale(.86,.76)}}
@keyframes paperSettleRight{from{transform:translateX(20px) rotate(36deg) scale(1.12,.72)}to{transform:rotate(28deg) scale(.86,.76)}}
@media(prefers-reduced-motion:reduce){.paper-left,.paper-right{transition:none}.paper-settle{animation:none!important}}
