/* The midnight activity folio: painted boards, woodcut silhouettes, pencil notes. */
.activity-studio{--studio-paper:var(--paper,#f2dfb4);--studio-ink:var(--ink,#262331);--studio-plum:var(--plum,#32283f);--studio-orange:var(--pumpkin,#e99a58);--studio-mint:var(--ghost,#b3e4d0);color:var(--studio-ink);width:100%;min-width:0;font-family:inherit;text-align:left}
.activity-studio *{box-sizing:border-box}
.activity-studio button{font:inherit;min-height:44px;cursor:pointer;touch-action:manipulation;border-radius:8px;border:1.5px solid var(--studio-ink);color:var(--studio-ink);background:#f4e7c7;transition:transform .16s,background .16s,box-shadow .16s;box-shadow:0 2px 0 #26233126;line-height:1.1}
.activity-studio button:hover:not(:disabled){background:#fff2d3;transform:translateY(-2px);box-shadow:0 4px 0 #26233123}
.activity-studio button:active:not(:disabled){transform:translateY(1px);box-shadow:none}
.activity-studio button:focus-visible{outline:3px solid #754a80;outline-offset:3px}
.activity-studio button:disabled{cursor:default;opacity:.46;box-shadow:none}
.activity-studio [hidden]{display:none!important}
.activity-studio .studio-note{display:flex;align-items:center;gap:9px;border-top:1px solid #443b5140;border-bottom:1px solid #443b5140;padding:7px 1px;margin:2px 0 8px;font-size:9px;letter-spacing:.12em;font-weight:800;line-height:1.4}
.activity-studio .studio-note>span:last-child{margin-left:auto;font-size:19px;line-height:15px}
.activity-studio .note-number{display:inline-grid;place-items:center;width:23px;height:23px;border:1px solid var(--studio-ink);border-radius:50%;font-size:10px;letter-spacing:0;flex-shrink:0}
.activity-studio .studio-status{margin:0;font-size:12px;line-height:1.45;letter-spacing:0;font-weight:600;color:var(--studio-ink)}
.activity-studio .studio-status[data-hit=true]{color:#285646}
.activity-studio .studio-status[data-hit=false]{color:#784755}
.activity-studio .studio-footer{display:flex;align-items:center;gap:14px;margin-top:10px;min-height:46px}
.activity-studio .studio-footer>p{flex:1;min-width:0}
.activity-studio .studio-primary{flex:0 0 auto;background:var(--studio-plum);color:var(--studio-paper);border-color:var(--studio-plum);padding:12px 15px;font-size:12px;font-weight:800;box-shadow:3px 3px 0 #b88151;max-width:60%}
.activity-studio .studio-primary:hover:not(:disabled){background:#53415f}
.activity-studio .studio-primary>span{font-size:17px;margin-right:3px;vertical-align:-1px}
.activity-studio .studio-tiny{margin:8px 0 0;font-size:10px;line-height:1.5;text-align:center;opacity:.7}
.activity-studio .carving-board{position:relative;aspect-ratio:16/9;background:#e7cb9a;isolation:isolate;border-radius:48% 45% 12px 12px / 20% 18% 12px 12px;overflow:hidden;background-image:radial-gradient(ellipse at 50% 55%,#f5dc9f 0,#f5dc9f00 67%),repeating-linear-gradient(0deg,#887b4c08,#887b4c08 1px,transparent 1px,transparent 4px)}
.activity-studio .lantern-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair;position:relative;z-index:1}
.activity-studio .board-corner{position:absolute;top:29%;font-size:9px;letter-spacing:.1em;line-height:1.4;max-width:24%;opacity:.65;pointer-events:none}
.activity-studio .corner-left{left:4%;transform:rotate(-8deg)}
.activity-studio .corner-right{right:4%;text-align:right;transform:rotate(9deg)}
.activity-studio .carve-invitation{position:absolute;bottom:8%;left:50%;transform:translateX(-50%) rotate(-3deg);background:#f4e5bddd;padding:4px 8px;font-size:11px;font-style:italic;white-space:nowrap;border-radius:4px;pointer-events:none;z-index:2}
.activity-studio .stencil-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:8px}
.activity-studio .stencil-row button{padding:5px 2px;display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:0;min-height:58px;background:#f7eac9;border-color:#54485965}
.activity-studio .stencil-row button>span{font-size:25px;line-height:1;color:var(--studio-plum);font-family:Georgia,serif}
.activity-studio .stencil-row button>small{display:block;margin-top:4px;font-size:9px;line-height:1.1;letter-spacing:0;font-weight:600}
.activity-studio .stencil-row button:disabled{background:#b9cead;opacity:.8;border-style:dashed}
.activity-studio .carve-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px}
.activity-studio .carve-tools>div{display:flex;gap:5px}
.activity-studio .carve-tools button{padding:7px 10px;min-width:44px;font-size:11px;border-color:#54485965;background:transparent;box-shadow:none}
.activity-studio .lantern-colors button{font-size:22px;background:var(--studio-plum);color:var(--glow);padding:5px;border-radius:50%;width:44px;height:44px;border:2px solid transparent;min-width:44px}
.activity-studio .lantern-colors button[aria-pressed=true]{outline:2px solid #6b495b;outline-offset:1px;transform:rotate(-8deg)}
.activity-studio .lantern-colors button:hover:not(:disabled){background:#4d3b58}
.activity-studio .apple-board{position:relative;aspect-ratio:460/300;border-radius:10px;background:radial-gradient(ellipse at 50% 45%,#47657133,#536d4f00 72%);isolation:isolate;min-height:175px}
.activity-studio .barrel-art{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.activity-studio .barrel-shadow{fill:#36293820}
.activity-studio .barrel-wood{fill:#ac7855;stroke:#4a3b45;stroke-width:3;stroke-linejoin:round}
.activity-studio .barrel-staves{fill:none;stroke:#604d48;stroke-width:2}
.activity-studio .barrel-band{fill:none;stroke:#4a515b;stroke-width:8}
.activity-studio .barrel-rim{fill:#ce9d6a;stroke:#4a3b45;stroke-width:3}
.activity-studio .barrel-water{fill:url(#studio-water);stroke:#644e43;stroke-width:5}
.activity-studio .water-lines{fill:none;stroke:#a3c8bf;stroke-width:2;opacity:.4;stroke-linecap:round}
.activity-studio .apple-targets{position:absolute;inset:0}
.activity-studio .barrel-fruit{position:absolute;width:clamp(44px,12%,58px);height:auto;aspect-ratio:1;min-height:44px;transform:translate(-50%,-50%) translateY(var(--bob,0px));padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;z-index:2;transition:opacity .2s,filter .2s;outline-offset:-3px;isolation:isolate}
.activity-studio .barrel-fruit:hover:not(:disabled){transform:translate(-50%,-50%) translateY(var(--bob,0px)) scale(1.08);background:transparent;box-shadow:none}
.activity-studio .barrel-fruit:active:not(:disabled){transform:translate(-50%,-50%) translateY(var(--bob,0px)) scale(.92)}
.activity-studio .barrel-fruit:disabled{opacity:1}
.activity-studio .barrel-fruit svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 3px 1px #13283975)}
.activity-studio .apple-body{fill:#d66253;stroke:#4a3a42;stroke-width:2}
.activity-studio .apple-stem{fill:none;stroke:#48333d;stroke-width:3;stroke-linecap:round}
.activity-studio .apple-leaf{fill:#b7cd8c;stroke:#52644e;stroke-width:1.5}
.activity-studio .apple-shine{fill:none;stroke:#ffe3ad;stroke-width:3;stroke-linecap:round}
.activity-studio .fruit-golden .apple-body{fill:#f2c766}
.activity-studio .fruit-golden .apple-shine{stroke:#fff4b5}
.activity-studio .barrel-fruit.is-ripe svg{filter:drop-shadow(0 0 8px #f6d28faa) drop-shadow(0 3px 1px #13283975)}
.activity-studio .barrel-fruit.is-underwater{opacity:.48;filter:saturate(.4)}
.activity-studio .barrel-fruit.is-underwater svg{transform:scale(.85)}
.activity-studio .barrel-fruit.is-caught{opacity:0;pointer-events:none}
.activity-studio .frog-body{fill:#99bd88;stroke:#3d5550;stroke-width:2}
.activity-studio .frog-eye{fill:#d4dfac;stroke:#3d5550;stroke-width:1.5}
.activity-studio .floating-leaf{fill:#d3aa66;stroke:#7a6554;stroke-width:2}
.activity-studio .fruit-ink{fill:none;stroke:#41534c;stroke-width:2;stroke-linecap:round}
.activity-studio .fruit-shimmer{position:absolute;right:-4px;top:0;color:#ffedb2;font-size:24px;line-height:1;opacity:0;text-shadow:0 0 9px #ffedb2;pointer-events:none;transform:rotate(-12deg)}
.activity-studio .is-ripe .fruit-shimmer{opacity:1;animation:studio-twinkle 1.4s ease-in-out infinite}
.activity-studio .apple-scribble{position:absolute;right:2%;top:2%;font-size:11px;font-style:italic;transform:rotate(9deg);line-height:1.1;color:#785348;pointer-events:none}
.activity-studio .barrel-label{position:absolute;bottom:0;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:8px;letter-spacing:.11em;opacity:.65;pointer-events:none}
.activity-studio .apple-scoreboard{display:flex;align-items:center;justify-content:space-between;border-block:1px solid #45384740;padding:8px 2px;margin-top:7px;gap:10px}
.activity-studio .apple-basket{display:flex;gap:8px}
.activity-studio .apple-basket span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;border:1px dashed #776152;color:#b1946e;line-height:1;font-size:22px}
.activity-studio .apple-basket span.filled{background:var(--studio-plum);color:#f4cd81;border:1px solid var(--studio-plum);transform:rotate(-9deg)}
.activity-studio .apple-attempts{font-size:11px;font-weight:700;letter-spacing:0}
.activity-studio .catch-ripple{position:absolute;border:2px solid #d1f3e8;border-radius:50%;width:30px;height:12px;transform:translate(-50%,-50%);pointer-events:none;opacity:0;z-index:4}
.activity-studio .catch-ripple.ripple-catch,.activity-studio .catch-ripple.ripple-splash{animation:studio-ripple .7s ease-out both}
.activity-studio .catch-ripple.ripple-catch{border-color:#ffe49a}
.activity-studio .dance-board{position:relative;aspect-ratio:460/225;min-height:130px;border-radius:47% 43% 9px 9px / 18% 20% 9px 9px;overflow:hidden;isolation:isolate;background:var(--studio-plum);color:var(--studio-paper)}
.activity-studio .dance-scene{position:relative;width:100%;height:100%;display:block;overflow:visible}
.activity-studio .dance-moon{position:absolute;left:14%;top:7%;font:36px/1 Georgia,serif;color:#f4ce8c;transform:rotate(-15deg)}
.activity-studio .dance-stars{position:absolute;left:32%;top:8%;font-size:14px;line-height:2;color:#d9c79c;opacity:.8;white-space:nowrap}
.activity-studio .dance-ground{fill:#1e2030}
.activity-studio .fire-halo{fill:#d2916535}
.activity-studio .npc-dancer{fill:#b3d7c0;stroke:#2c2938;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:studio-ghost 1.4s ease-in-out infinite alternate}
.activity-studio .npc-dancer circle{fill:#353340;stroke:none}
.activity-studio .npc-dancer .ghost-mouth{fill:none;stroke:#353340;stroke-width:1.5;stroke-linecap:round}
.activity-studio .dancer-two{fill:#d3acd1;animation-delay:-.7s}
.activity-studio .skeleton-dancer{stroke:#f2dfb4;fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;transform-origin:50% 45%;transition:transform .2s}
.activity-studio .skeleton-dancer>path:last-of-type{fill:#f2dfb4;stroke-width:2}
.activity-studio .skeleton-dancer .dance-eye{fill:#383042;stroke:none}
.activity-studio .dance-arm,.activity-studio .dance-leg{transform-box:fill-box;transform-origin:top center;transition:transform .18s}
.activity-studio [data-pose=clap] .left-arm{transform:rotate(-40deg) translate(12px,-6px)}
.activity-studio [data-pose=clap] .right-arm{transform:rotate(40deg) translate(-12px,-6px)}
.activity-studio [data-pose=clap] .skeleton-dancer{transform:translateY(-6px)}
.activity-studio [data-pose=step] .left-leg{transform:rotate(24deg)}
.activity-studio [data-pose=step] .right-arm{transform:rotate(-22deg)}
.activity-studio [data-pose=twirl] .skeleton-dancer{transform:rotate(13deg) translateY(-4px)}
.activity-studio [data-pose=twirl] .left-arm{transform:rotate(38deg)}
.activity-studio [data-pose=twirl] .right-arm{transform:rotate(-38deg)}
.activity-studio [data-pose=twirl] .right-leg{transform:rotate(-35deg)}
.activity-studio .fire-log{fill:none;stroke:#ad7a58;stroke-width:9;stroke-linecap:round}
.activity-studio .outer-flame{fill:#e99a58;stroke:#f9c376;stroke-width:1.5;transform-origin:50% 90%;animation:studio-flame .5s ease-in-out infinite alternate}
.activity-studio .inner-flame{fill:#f6d893;transform-origin:50% 90%;animation:studio-flame .7s ease-in-out infinite alternate-reverse}
.activity-studio .fire-sparks{fill:none;stroke:#edc28c;stroke-width:2;stroke-linecap:round;animation:studio-twinkle 1s ease-in-out infinite alternate}
.activity-studio .dance-speech{position:absolute;right:3%;top:10%;background:#f2dfb4;color:#32283f;box-shadow:2px 3px 0 #1b1a27;transform:rotate(4deg);padding:7px 10px;font-size:11px;font-weight:800;line-height:1.25;border-radius:9px 9px 9px 1px;max-width:47%;min-height:28px;z-index:2}
.activity-studio .dance-scribble{position:absolute;left:2%;bottom:5%;font-size:9px;font-style:italic;color:#ddcaac;line-height:1.3;transform:rotate(-5deg);pointer-events:none}
.activity-studio .dance-sequence{display:flex;justify-content:center;gap:12px;margin-top:-8px;position:relative;z-index:2}
.activity-studio .dance-note{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:47px;height:52px;background:#ead6ae;border:1.5px solid #45384e;box-shadow:0 3px 0 #99816b;border-radius:7px;transform:rotate(-4deg);transition:transform .2s,background .2s,color .2s}
.activity-studio .dance-note:nth-child(even){transform:rotate(4deg)}
.activity-studio .dance-note>small{font-size:8px;opacity:.65;line-height:1;margin-top:3px}
.activity-studio .dance-note>span{font-size:28px;line-height:1.1}
.activity-studio .dance-note.is-current{background:#c0dfc5;transform:translateY(-5px) rotate(-3deg);box-shadow:0 6px 0 #355a4a}
.activity-studio .dance-note.is-done{background:#d6c6d9;color:#4a3659}
.activity-studio .dance-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}
.activity-studio .dance-controls button{min-height:65px;padding:5px;display:grid;grid-template-columns:1fr auto;gap:2px;position:relative;background:#f8ebcc}
.activity-studio .dance-controls button>span{font-size:29px;grid-column:1/-1;line-height:1;color:#664774}
.activity-studio .dance-controls button>strong{font-size:10px;line-height:1.3;grid-column:1/-1;font-weight:700}
.activity-studio .dance-controls button>small{position:absolute;right:5px;top:5px;font-size:8px;opacity:.5;border:1px solid #54485950;border-radius:3px;padding:2px}
.activity-studio .dance-footer{min-height:36px;margin-top:8px;gap:9px}
.activity-studio .dance-score{font-size:8px;letter-spacing:.08em;max-width:36%;text-align:right;font-weight:700;line-height:1.4}
@keyframes studio-ripple{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}100%{opacity:0;transform:translate(-50%,-50%) scale(4)}}
@keyframes studio-twinkle{from{opacity:.5}to{opacity:1}}
@keyframes studio-ghost{from{translate:0 -3px;rotate:-6deg}to{translate:0 4px;rotate:6deg}}
@keyframes studio-flame{from{scale:.96 .95;rotate:-2deg}to{scale:1.04 1.04;rotate:2deg}}
@media(max-width:480px){
.activity-studio .studio-note{font-size:8px;letter-spacing:.06em;margin-bottom:6px;padding-block:5px;gap:6px}
.activity-studio .studio-footer{gap:8px;margin-top:8px}
.activity-studio .studio-status{font-size:10px;line-height:1.4}
.activity-studio .studio-primary{font-size:10px;padding:10px 9px;max-width:58%}
.activity-studio .studio-primary>span{font-size:13px}
.activity-studio .board-corner{font-size:7px;letter-spacing:.03em}
.activity-studio .carve-invitation{font-size:9px;padding:3px 5px}
.activity-studio .stencil-row{gap:4px;margin-top:6px}
.activity-studio .stencil-row button{min-height:51px}
.activity-studio .stencil-row button>span{font-size:23px}
.activity-studio .stencil-row button>small{font-size:8px}
.activity-studio .carve-tools{gap:4px;margin-top:6px}
.activity-studio .carve-tools>div{gap:4px}
.activity-studio .carve-tools button{padding:6px;min-width:44px;font-size:10px}
.activity-studio .lantern-colors button{font-size:22px}
.activity-studio .apple-scribble{font-size:9px;right:0}
.activity-studio .barrel-label{font-size:6px;letter-spacing:.06em}
.activity-studio .apple-attempts{font-size:10px}
.activity-studio .dance-sequence{gap:10px}
.activity-studio .dance-note{min-width:40px;height:46px}
.activity-studio .dance-note>span{font-size:24px}
.activity-studio .dance-controls{gap:6px;margin-top:11px}
.activity-studio .dance-controls button{min-height:62px}
.activity-studio .dance-speech{font-size:9px;padding:6px;right:2%;top:7%;max-width:47%}
.activity-studio .dance-scribble{font-size:7px}
.activity-studio .dance-moon{font-size:27px}
.activity-studio .dance-stars{font-size:10px}
.activity-studio .studio-tiny{font-size:9px}
}
@media(max-height:500px) and (min-width:600px){.activity-studio .carving-board,.activity-studio .apple-board,.activity-studio .dance-board{max-height:180px;aspect-ratio:460/220}.activity-studio .carving-board{max-height:180px;max-width:340px;margin-inline:auto}.activity-studio .dance-board{max-width:380px;margin-inline:auto}.activity-studio .apple-board{max-width:340px;margin-inline:auto}.activity-studio .studio-note{padding-block:4px}.activity-studio .studio-footer{margin-top:7px}}
@media(prefers-reduced-motion:reduce){.activity-studio *,.activity-studio *:before,.activity-studio *:after{animation:none!important;transition:none!important}}
/* Three little rituals: wax compass, skull-and-water aim, and an ember clock. */
.activity-studio .candle-seals{margin-top:10px;border:1px solid #82684d70;border-radius:8px;padding:8px;background:repeating-linear-gradient(-8deg,#fcf0d320 0 2px,transparent 2px 5px),#ddc294;box-shadow:inset 0 0 22px #93684926}
.activity-studio .seal-recipe{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px;text-align:center;line-height:1.5;border-bottom:1px dashed #6c544d55;padding:0 0 6px}
.activity-studio .seal-recipe-heading{font-size:8px;letter-spacing:.13em;font-weight:800;flex-basis:100%}
.activity-studio .seal-recipe-clue{font-size:10px;font-style:italic;font-weight:650}
.activity-studio .seal-dials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:7px}
.activity-studio .seal-dials button{display:grid;justify-items:center;grid-template-columns:auto auto;align-items:center;gap:0 5px;background:#ead3aa;border-color:#6b4f4d90;padding:4px 5px;min-height:70px;min-width:0;box-shadow:inset 0 0 12px #a77a4c24,1px 2px 0 #69484b44}
.activity-studio .seal-dials svg{width:52px;height:52px;grid-column:1/-1;fill:none;stroke:#72555a;stroke-width:1.5;overflow:visible}
.activity-studio .seal-disc{fill:#b97856;stroke:#66434b;stroke-width:2}
.activity-studio .seal-compass{stroke:#513f48;stroke-width:2}
.activity-studio .seal-rune{fill:#f4dfac;stroke:#5a434b;stroke-width:1;transform-origin:0 0;transition:transform .25s}
.activity-studio .seal-pointer{fill:#fbe8c2;stroke:none}
.activity-studio .seal-dials strong{font-size:10px;font-weight:700}
.activity-studio .seal-dials small{font-size:9px;opacity:.75}
.activity-studio .seal-dials button.is-aligned{background:#bfd4b2;border-color:#526852}
.activity-studio .is-aligned .seal-disc{fill:#4f7765;stroke:#365846}
.activity-studio .is-aligned .seal-rune{fill:#fff0b8;stroke:#386451;filter:drop-shadow(0 0 4px #ffefb088)}
.activity-studio .apple-board{touch-action:none;background:radial-gradient(ellipse at 50% 35%,#e6dca35a,#657f6220 65%,transparent 73%)}
.activity-studio .apple-board:before,.activity-studio .apple-board:after{content:'';position:absolute;width:24%;height:18%;border-radius:50%;border:1px solid #bedbc54d;left:29%;top:25%;transform:rotate(-8deg);pointer-events:none;animation:studio-water 3s ease-in-out infinite}
.activity-studio .apple-board:after{width:34%;height:27%;left:21%;top:19%;animation-delay:-1.5s}
.activity-studio .bob-reticle{position:absolute;width:70px;height:70px;z-index:5;transform:translate(-50%,-50%);pointer-events:none;transition:opacity .2s}
.activity-studio .bob-reticle svg{width:100%;height:100%;fill:none;stroke:#fff0be;stroke-width:1.5;filter:drop-shadow(0 1px 2px #23394e)}
.activity-studio .bob-reticle circle{stroke-dasharray:5 4;animation:studio-reticle 18s linear infinite;transform-origin:center}
.activity-studio .reticle-skull{fill:#f8e6bd;stroke:#344653;stroke-width:1.6;stroke-linecap:round}
.activity-studio .bob-reticle.is-dipping{opacity:.65;scale:.85;translate:0 5px}
.activity-studio .barrel-fruit.is-selected:after{content:'';position:absolute;inset:-5px;border:1px dashed #fff0be;border-radius:50%;pointer-events:none}
.activity-studio .bob-charge{height:30px;position:relative;margin:9px 0 3px;background:linear-gradient(90deg,#c9a079 0 32%,#b2d4b9 32% 95%,#d59998 95%);border:1.5px solid #4a3b45;border-radius:15px;box-shadow:inset 0 1px 5px #44304e30;isolation:isolate}
.activity-studio .bob-charge-label{position:absolute;inset:0;display:grid;place-items:center;font-size:8px;letter-spacing:.1em;font-weight:800;color:#3e3a40;pointer-events:none;text-align:center}
.activity-studio .bob-charge-marker{position:absolute;height:36px;width:5px;top:-5px;left:calc(3% + var(--charge,0)*92%);background:#49354f;border:1px solid #fff2cc;box-shadow:0 1px 0 #362637;border-radius:4px;z-index:2}
.activity-studio .bob-charge[data-state=good]{box-shadow:0 0 12px #b4d8b3,inset 0 1px 5px #44304e30}
.activity-studio .bob-charge[data-state=deep]{background:#d59998}
.activity-studio .apple-aim-controls{display:grid;grid-template-columns:70px 1fr 70px;gap:8px;align-items:center;margin-top:8px}
.activity-studio .apple-aim-controls button{font-size:11px;min-height:44px}
.activity-studio .apple-aim-controls>span{text-align:center;font-size:10px;line-height:1.4;font-style:italic}
.activity-studio .dance-board{touch-action:none;background:radial-gradient(ellipse at 50% 95%,#af6c6633,transparent 65%),linear-gradient(#2e293d,#3a2d42)}
.activity-studio .dance-board:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(3deg,transparent 0 3px,#f5ddb505 3px 4px);mix-blend-mode:screen}
.activity-studio .ember-beat{position:relative;height:46px;margin:8px 12px 0;--beat:0}
.activity-studio .ember-track{position:absolute;left:3%;right:3%;top:12px;height:3px;background:#947461;border-radius:50%;box-shadow:0 -3px 0 #e2c79c}
.activity-studio .ember-moon{position:absolute;left:50%;top:0;width:30px;height:30px;translate:-50% 0;border:2px solid #6c526b;border-radius:50%;background:#e8dbba;box-shadow:0 0 0 4px #72566920}
.activity-studio .ember-moon:after{content:'';position:absolute;inset:4px;border:1px dotted #8b6a6c;border-radius:50%}
.activity-studio .ember-dot{position:absolute;left:calc(3% + var(--beat)*94%);top:6px;translate:-50% 0;width:15px;height:15px;border-radius:50% 50% 50% 2px;rotate:-45deg;background:#e29159;border:1px solid #784454;box-shadow:0 0 7px #df975999}
.activity-studio .ember-beat-label{position:absolute;left:0;right:0;bottom:0;text-align:center;font-size:7px;letter-spacing:.13em;font-weight:800;color:#76576a}
.activity-studio .ember-beat.is-onbeat .ember-moon{background:#c1dfc6;box-shadow:0 0 0 5px #b1d2ae55,0 0 16px #b1d2ae99;border-color:#567962}
.activity-studio .ember-beat.is-onbeat .ember-beat-label{color:#3b6c50}
.activity-studio .ember-beat.is-watching{opacity:.45}
@keyframes studio-water{50%{opacity:.35;scale:1.12}}
@keyframes studio-reticle{to{rotate:360deg}}
@media(max-width:480px){.activity-studio .seal-dials{gap:5px}.activity-studio .seal-dials button{min-height:70px;padding:3px}.activity-studio .seal-recipe-clue{font-size:9px}.activity-studio .bob-reticle{width:58px;height:58px}.activity-studio .apple-aim-controls{grid-template-columns:65px 1fr 65px;gap:5px}.activity-studio .apple-aim-controls>span{font-size:9px}.activity-studio .bob-charge-label{font-size:7px;letter-spacing:.05em}.activity-studio .ember-beat{margin-top:6px}.activity-studio .seal-dials strong{font-size:9px}.activity-studio .seal-dials small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.activity-studio .bob-reticle circle,.activity-studio .apple-board:before,.activity-studio .apple-board:after{animation:none}}
.activity-studio .skeleton-dancer .dance-skull{fill:#f2dfb4;stroke:#e2c99d;stroke-width:2}
.activity-studio .skeleton-dancer .dance-teeth{fill:none;stroke:#5a4854;stroke-width:1.2}
.activity-studio .skeleton-dancer .dance-nose{fill:#45394a;stroke:none}
.activity-studio .skeleton-dancer .dance-scarf{fill:#bc745a;stroke:#ebad79;stroke-width:1.1}
.activity-studio .skeleton-dancer .dance-arm circle{fill:#f2dfb4;stroke:none}
/* One small instruction at a time; the art carries the rest. */
.activity-studio .ritual-trail{display:flex;align-items:center;justify-content:center;gap:26px;margin:2px 0 9px;min-height:39px;position:relative}
.activity-studio .ritual-trail:before{content:'';position:absolute;top:13px;left:20%;right:20%;border-top:1px dashed #80675865;z-index:0;pointer-events:none}
.activity-studio .ritual-trail>span{display:flex;align-items:center;gap:5px;position:relative;background:#e9d5b1;padding:2px 5px;color:#705d61;border-radius:20px;min-width:0}
.activity-studio .ritual-trail b{display:grid;place-items:center;width:25px;height:25px;border:1px solid #876e665c;border-radius:50%;font:19px/1 Georgia,serif;background:#eddfc1;flex:0 0 auto}
.activity-studio .ritual-trail small{font-size:10px;font-weight:700;line-height:1.2}
.activity-studio .ritual-trail .is-current{color:#3a3341;background:#c1d5b9}
.activity-studio .ritual-trail .is-current b{background:#3c4f45;color:#fff0c5;border-color:#3c4f45;box-shadow:0 0 0 3px #7ea17c33}
.activity-studio .ritual-trail .is-done b{background:#d0c4d7;color:#493555;border-color:#a28caa}
.activity-studio .board-corner{font-size:25px;opacity:.35;top:40%}
.activity-studio .studio-help{margin-top:8px;border-top:1px dashed #78644f55;color:#5b4a50}
.activity-studio .studio-help summary{cursor:pointer;min-height:44px;display:flex;gap:8px;align-items:center;justify-content:center;font-size:11px;font-weight:700;list-style:none;touch-action:manipulation}
.activity-studio .studio-help summary::-webkit-details-marker{display:none}
.activity-studio .studio-help summary:focus-visible{outline:3px solid #754a80;outline-offset:1px;border-radius:4px}
.activity-studio .studio-help summary span{font-size:16px;transition:rotate .18s}
.activity-studio .studio-help[open] summary span{rotate:90deg}
.activity-studio .studio-help p{font-size:12px;line-height:1.6;margin:0 auto 10px;max-width:48ch}
.activity-studio .seal-recipe-clue{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:8px}
.activity-studio .seal-target{display:flex;align-items:center;justify-content:center;gap:8px;color:#64494c;padding:0 3px;border-radius:30px;transition:background .2s,color .2s;font-style:normal}
.activity-studio .seal-target b{font:26px/1 Georgia,serif;display:inline-block;color:#513e4c}
.activity-studio .seal-target.is-aligned{color:#305b46;background:#bcd3ad}
.activity-studio .seal-target.is-aligned b{color:#305b46}
.activity-studio .studio-primary.is-ready{background:#3c6150;color:#fff0c9;border-color:#365b49;box-shadow:0 0 0 3px #84ae7b44,2px 3px 0 #8c9f71}
.activity-studio .bob-reticle{transition:opacity .2s,scale .18s,translate .18s}
.activity-studio .bob-charge[data-state=good] .bob-charge-label{font-size:11px;letter-spacing:.15em;color:#285340}
.activity-studio .dance-controls.is-onbeat button:not(:disabled){border-color:#48765e;box-shadow:0 0 0 2px #95b98e65,0 3px 0 #54725945}
.activity-studio .ritual-trail.react-accept .is-current b,.activity-studio .seal-target.react-accept b,.activity-studio .apple-basket.react-accept .filled{animation:studio-stamp .4s cubic-bezier(.2,.7,.3,1) both}
.activity-studio .bob-reticle.react-miss svg{animation:studio-soggy .42s ease-out both}
.activity-studio .react-ready.studio-primary,.activity-studio .react-ready.bob-charge,.activity-studio .react-ready.dance-controls{animation:studio-welcome .55s ease-out both}
.activity-studio .dance-scene.react-accept .skeleton-dancer{animation:studio-bone-hop .42s cubic-bezier(.2,.7,.3,1) both}
.activity-studio .dance-scene.react-accept .fire-halo{animation:studio-ember-bloom .55s ease-out both;transform-box:fill-box;transform-origin:center}
.activity-studio .dance-speech.react-accept{animation:studio-stamp .4s cubic-bezier(.2,.7,.3,1) both}
.activity-studio .dance-speech.react-miss{animation:studio-soggy .4s ease-out both}
.activity-studio .dance-scene.react-miss .skeleton-dancer{animation:studio-sheepish .45s ease-out both}
@keyframes studio-stamp{0%{scale:.88}45%{scale:1.15;rotate:-5deg}100%{scale:1;rotate:0deg}}
@keyframes studio-soggy{0%{rotate:0deg}40%{rotate:-9deg;scale:.94}100%{rotate:0deg;scale:1}}
@keyframes studio-welcome{0%{filter:brightness(1)}45%{filter:brightness(1.16)}100%{filter:brightness(1)}}
@keyframes studio-bone-hop{0%{translate:0 0}40%{translate:0 -8px}100%{translate:0 0}}
@keyframes studio-sheepish{0%{rotate:0deg}40%{rotate:-7deg}100%{rotate:0deg}}
@keyframes studio-ember-bloom{0%{scale:1;opacity:1}45%{scale:1.22;opacity:.65}100%{scale:1;opacity:1}}
@media(max-width:480px){.activity-studio .ritual-trail{gap:10px;margin-bottom:7px}.activity-studio .ritual-trail small{font-size:9px}.activity-studio .ritual-trail>span{gap:4px;padding-inline:3px}.activity-studio .seal-recipe-clue{gap:4px}.activity-studio .seal-target{gap:5px}.activity-studio .seal-target b{font-size:24px}.activity-studio .studio-help p{font-size:11px}.activity-studio .studio-footer .studio-status{font-size:11px}}
@media(prefers-reduced-motion:reduce){.activity-studio .react-accept,.activity-studio .react-ready,.activity-studio .react-miss,.activity-studio .react-accept *,.activity-studio .react-ready *,.activity-studio .react-miss *{animation:none!important;transition:none!important}}
