.brand{font-family:Nunito,'Arial Rounded MT Bold',system-ui,sans-serif}.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.choice{min-width:0}.board{overflow:hidden;gap:0;border-width:5px}.slot{background:transparent!important;border:0;border-radius:0;overflow:visible;opacity:.3;isolation:auto}.slot svg{position:absolute;pointer-events:none;max-width:none}.slot .cut-line{stroke:#5f7756;stroke-width:3;opacity:.7}.slot.filled{opacity:1;animation:none}.slot.filled .cut-line{stroke:#fff;stroke-width:2;opacity:.65}.board.complete .cut-line{opacity:0}.piece{border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;max-height:none;filter:drop-shadow(0 4px 1px #9ba98b);transform:rotate(var(--tilt))}.piece svg{display:block;width:100%;height:100%;pointer-events:none;overflow:visible}.piece:hover,.piece.selected{filter:drop-shadow(0 0 3px #e7a31c) drop-shadow(0 4px 1px #9ba98b)}.piece.selected .cut-line{stroke:#e9a520;stroke-width:6}.piece.dragging{filter:drop-shadow(0 8px 7px #31493f55);background:transparent!important;box-shadow:none!important}.tray{align-items:center;gap:12px;padding:20px 0;grid-auto-rows:min-content;min-height:240px}.tray-pages{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.tray-pages[hidden]{display:none}.tray-pages button{width:48px;height:48px;border-radius:50%;background:#fffaf0;font-size:25px}.tray-pages button:disabled{opacity:.3;cursor:default}.tray-pages span{font-size:13px;color:#64785b}.piece-card{min-width:0}.piece[hidden]{display:none}.party-card{width:min(900px,96vw);max-height:96dvh;overflow:auto;padding:30px 22px}.party-card h2{font-size:clamp(32px,5vw,53px)}.parade-stage{height:280px;overflow:hidden;margin:8px -22px 15px;position:relative;background:linear-gradient(transparent 88%,#e4ebd7 88%,#e4ebd7 90%,transparent 90%)}.dancers{height:100%;margin:0;gap:0;align-items:end;justify-content:center;font-size:initial}.dancers .animal{display:block;width:220px;height:260px;flex:0 0 220px;animation:animal-bounce .65s ease-in-out infinite alternate;transform-origin:bottom center;position:relative}.animal i{display:block;width:100%;height:100%;background-image:url('celebration.png');background-size:300% 200%;background-position:0 0;mix-blend-mode:multiply;animation:clap-frames .7s steps(1,end) infinite}.animal:nth-child(2) i{background-position:50% 0;animation-delay:-.23s}.animal:nth-child(3) i{background-position:100% 0;animation-delay:-.46s}.dancers .animal:nth-child(2){animation-delay:-.25s}.dancers .animal:nth-child(3){animation-delay:-.4s}[data-party=parade] .dancers{animation:parade 9s linear infinite;justify-content:flex-start;width:max-content}[data-party=clap] .animal{animation:clap-sway 1.2s ease-in-out infinite alternate}[data-party=clap] .animal i{animation-duration:.45s}[data-party=bounce] .animal{animation:big-hop .75s ease-in-out infinite alternate}.confetti{z-index:2}.party-card{z-index:1}.party-card .primary,.party-card .secondary{position:relative;z-index:3}.install-note{padding:15px;border-radius:14px;background:#edf2e7;margin-top:22px}.install-note h3{margin:0;font-size:16px}.install-note p{font-size:13px}.celebration .eyebrow{font-size:11px}@keyframes clap-frames{0%,100%{background-position-y:0%}50%{background-position-y:100%}}@keyframes animal-bounce{from{transform:translateY(0) rotate(-5deg)}to{transform:translateY(-15px) rotate(5deg)}}@keyframes clap-sway{from{transform:rotate(-6deg) scale(.98)}to{transform:rotate(6deg) scale(1.03)}}@keyframes big-hop{0%{transform:translateY(0) scale(1.05,.94)}100%{transform:translateY(-48px) scale(.98,1.04)}}@keyframes parade{from{transform:translateX(-660px)}to{transform:translateX(900px)}}@media(min-width:761px) and (max-height:850px){header{padding-top:14px;padding-bottom:14px}.intro{margin:6px 0 18px}h1{font-size:32px}.board{max-width:min(100%,44vh)}.tray{min-height:230px;padding:8px 0}.piece{max-height:145px}.chooser{margin-top:24px}}@media(max-width:760px){.choices{grid-template-columns:repeat(2,minmax(0,1fr))}.board{max-width:min(100%,46dvh)}.intro{margin:6px 0 14px}.intro h1{font-size:26px}.intro .eyebrow{display:none}.intro p{font-size:14px}.play-card{padding:12px 14px 6px}.board-heading{margin-bottom:10px}.board-heading h2{font-size:20px}.tray{min-height:0;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px;padding:10px 0}.piece-card{padding:12px}.game-layout{gap:10px}.dancers .animal{width:140px;height:190px;flex-basis:140px}.parade-stage{height:220px}.chooser-title h2{font-size:18px}.party-card{padding-top:24px}.tray-heading>span{display:none}.tray-pages{margin-bottom:0}.tray-pages button{height:40px;width:40px}}@media(prefers-reduced-motion:reduce){.animal,.animal i,.dancers,.confetti i{animation:none!important}.confetti{display:none}}
.board[data-guidance=outlines] .slot:not(.filled) image,.board[data-guidance=reference] .slot:not(.filled) image{opacity:0}.board[data-guidance=reference] .slot:not(.filled) .cut-line{opacity:0}.board.peeking .slot image{opacity:1!important}.board.peeking .slot .cut-line{opacity:.5!important}.board[data-guidance=outlines] .slot:not(.filled){opacity:.7}.board[data-guidance=outlines] .slot:not(.filled) .cut-line{stroke:#829977;stroke-width:4;stroke-dasharray:6 5}.reference{display:flex;align-items:center;gap:15px;margin-bottom:16px;padding:10px;background:#fffaf0;border-radius:14px}.reference[hidden]{display:none}.reference img{width:110px;height:110px;object-fit:cover;border-radius:8px}.reference span{font-size:14px;font-weight:600;color:#65785b}.piece-card:has(.reference:not([hidden])) .tray{min-height:160px}.piece-card:has(.reference:not([hidden])) .piece{max-height:120px}.dancers .animal{height:220px}.animal i{mix-blend-mode:normal}.choice strong,h1,h2{font-family:Nunito,'Arial Rounded MT Bold',system-ui,sans-serif}@media(max-width:760px){.reference{padding:7px;margin-bottom:8px}.reference img{width:75px;height:75px}.reference span{font-size:12px}.dancers .animal{height:140px}.parade-stage{height:180px}.piece-card:has(.reference:not([hidden])) .tray{min-height:0}}
.photo-collection{display:grid;gap:10px;margin-top:12px}.saved-photo{display:flex;align-items:center;gap:8px;padding:8px;background:#edf2e7;border-radius:12px}.saved-photo img{width:48px;height:48px;object-fit:cover;border-radius:8px}.saved-photo span{flex:1;min-width:0;overflow-wrap:anywhere;font-size:14px}.saved-photo button{background:#fffaf0;padding:10px 8px;border-radius:8px;font-size:13px;min-height:44px}.saved-photo button:last-child{color:#984e36}
