#celebration{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:20}
.care-ring,.care-gain,.care-spark,.reward-spark,.expansion-badge{position:absolute;pointer-events:none;will-change:transform,opacity}
.care-ring{width:30px;height:30px;margin:-15px;border:2px solid var(--ring-color);border-radius:50%;animation:care-ring .5s ease-out forwards}
.care-gain{font:bold 20px 'DM Sans',sans-serif;color:#257962;text-shadow:0 1px 0 #ffffffe6,0 0 10px #ffffffb0;animation:care-gain .85s ease-out forwards;white-space:nowrap;margin-left:-20px}
.care-gain.bright{color:#b37b20;font-size:24px}
.care-spark{width:5px;height:5px;border-radius:50%;animation:care-spark .6s ease-out forwards}
.reward-spark{width:7px;height:11px;border-radius:2px;animation:reward-spark 1.1s cubic-bezier(.12,.7,.2,1) forwards}
.reward-spark:nth-child(3n){border-radius:50%;width:8px;height:8px}
.expansion-badge{transform:translateX(-50%);background:#1d584b;color:#fff6d6;padding:14px 22px;border:1px solid #e3ca80;border-radius:30px;box-shadow:0 8px 28px #123d3630;white-space:nowrap;font-weight:700;font-size:16px;animation:badge-in 1.5s ease-out forwards}
@keyframes care-ring{to{transform:scale(3);opacity:0}}
@keyframes care-gain{0%{opacity:0;transform:translateY(0) scale(.8)}15%{opacity:1;transform:translateY(-12px) scale(1.08)}100%{opacity:0;transform:translateY(-90px) scale(.95)}}
@keyframes care-spark{to{transform:translate(var(--dx),var(--dy)) scale(.1);opacity:0}}
@keyframes reward-spark{0%{opacity:1;transform:translate(0,0) rotate(0)}70%{opacity:1}100%{opacity:0;transform:translate(var(--dx),calc(var(--dy) + 100px)) rotate(var(--spin))}}
@keyframes badge-in{0%{opacity:0;translate:0 15px;scale:.85}15%,75%{opacity:1;translate:0 0;scale:1}100%{opacity:0;translate:0 -15px;scale:1}}
[data-theme=dark] .care-gain{color:#a3f1ce;text-shadow:0 1px 3px #102c28,0 0 10px #153b34}[data-theme=dark] .care-gain.bright{color:#ffe09a}
body.is-hidden .has-team{animation-play-state:paused}
.care-hint{text-align:center;font-size:10px;color:var(--muted);line-height:1.5;margin:9px 0}
.dress-button{display:block;margin:12px auto 0;background:#dae9da;color:#315e4c;border-radius:20px;padding:10px 19px;font-size:12px;min-height:40px}
.department-room{padding:0;text-align:left;color:#385d53;width:100%;cursor:pointer;transition:box-shadow .18s}
.department-room:hover{box-shadow:inset 0 0 0 2px #538e75}.department-room:focus-visible{outline:3px solid #b17e38;outline-offset:-3px}
.department-room>span{display:block;width:100%;font-style:normal;line-height:1.5}.department-room i{font-style:normal;margin-left:3px;opacity:.65}
#department-preview{border-radius:12px;overflow:hidden;margin:18px 0}#department-preview svg{display:block;width:100%;height:auto}
.floating-pod{animation:pod-float 4s ease-in-out infinite}.robot-helper{animation:robot-roll 5s ease-in-out infinite}
@keyframes pod-float{50%{transform:translateY(-4px)}}@keyframes robot-roll{50%{transform:translateX(-5px)}}
body.is-hidden .floating-pod,body.is-hidden .robot-helper{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.floating-pod,.robot-helper{animation:none!important}.department-room{transition:none}}
#dress-preview{display:grid;place-items:center;background:#edf3e8;border-radius:14px;margin:12px 0}#dress-preview svg{width:135px;height:155px}
#dress-options fieldset{border:0;padding:6px 0;margin:4px 0}#dress-options legend{font-size:12px;font-weight:600;margin-bottom:8px}
.look-swatch{width:40px;height:40px;border-radius:50%;margin:3px;border:3px solid transparent;box-shadow:inset 0 0 0 1px #0002}.look-swatch[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:1px;border-color:#fff}
[data-theme=dark] .dress-button{background:#31594b;color:#d9efdf}[data-theme=dark] #dress-preview{background:#28433d}
#care.hold-enabled,.producer{touch-action:pan-y;-webkit-touch-callout:none}
#care.hold-enabled{touch-action:none}
#care.is-holding .care-label,.producer.is-holding{box-shadow:0 0 0 3px #81c7a1,0 0 20px #77ba8a40}
.producer.is-holding{background:#e1f1e4}[data-theme=dark] .producer.is-holding{background:#31594b}
@media(prefers-reduced-motion:reduce){#celebration{display:none}.care-ring,.care-gain,.care-spark,.reward-spark,.expansion-badge{animation:none!important}}

.outfit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.outfit-button{display:flex;align-items:center;gap:9px;text-align:left;min-height:56px;padding:9px;border:1px solid var(--ink);border-radius:10px;color:inherit;background:transparent;font-size:12px}.outfit-button small{display:block;font-size:10px;margin-top:3px}.outfit-dot{width:24px;height:24px;flex-shrink:0;border-radius:7px;box-shadow:inset 0 0 0 1px #0003}.outfit-button[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:1px;background:#deecdf}.outfit-button:focus-visible,.look-swatch:focus-visible{outline:3px solid #c18425;outline-offset:3px}.outfit-note{font-size:11px!important;line-height:1.5}[data-theme=dark] .outfit-button[aria-pressed=true]{background:#31594b}

.care-hint[data-session=active],.care-hint[data-session=complete]{color:#25644f;font-weight:600;font-variant-numeric:tabular-nums}.care-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#care.is-holding .care-label::after{content:'';display:inline-block;width:7px;height:7px;margin-left:8px;border-radius:50%;background:#b7e4bc;animation:care-beat .5s ease-in-out infinite}.care-panel:has(#care.is-holding) .orbit{border-color:#81b993}.care-panel:has(#care.is-holding) .orbit-one{animation:care-orbit 1s ease-in-out infinite}@keyframes care-beat{50%{box-shadow:0 0 0 5px #b7e4bc30}}@keyframes care-orbit{50%{opacity:.5;scale:1.04}}[data-theme=dark] .care-hint[data-session=active],[data-theme=dark] .care-hint[data-session=complete]{color:#b7e4bc}@media(prefers-reduced-motion:reduce){#care.is-holding .care-label::after,.care-panel:has(#care.is-holding) .orbit-one{animation:none}}
