/* All selectors are scoped to the companion or its widget. No theme resets. */
:where(.bsc-tama, .bsc-tama-stats, .bsc-tama-inline) {
  --bsc-accent: #ed5939;
  --bsc-paper: #faf7ef;
  --bsc-ink: #273f32;
  --bsc-muted: #71776e;
  --bsc-line: #dfdfd3;
  --bsc-card: #f0efe6;
  --bsc-beer-card: #f3e8cb;
  --bsc-average-bg: #273f32;
  --bsc-average-ink: #faf7ef;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--bsc-ink);
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  letter-spacing: normal;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
}
:where(.bsc-tama, .bsc-tama-stats, .bsc-tama-inline) *,
:where(.bsc-tama, .bsc-tama-stats, .bsc-tama-inline) *::before,
:where(.bsc-tama, .bsc-tama-stats, .bsc-tama-inline) *::after { box-sizing: border-box; }
:where(.bsc-tama, .bsc-tama-stats, .bsc-tama-inline) [hidden] { display: none !important; }
:where(.bsc-tama, .bsc-tama-stats, .bsc-tama-inline) button {
  font: inherit; letter-spacing: normal; text-transform: none; text-decoration: none;
  min-height: 0; width: auto; height: auto; border: 0; border-radius: 0; box-shadow: none;
  margin: 0; padding: 0; color: inherit; background: transparent; cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
:where(.bsc-tama, .bsc-tama-stats, .bsc-tama-inline) button:focus-visible {
  outline: 3px solid var(--bsc-accent); outline-offset: 4px;
}
:where(.bsc-tama, .bsc-tama-stats) button:disabled { opacity: .4; cursor: default; }
:where(.bsc-tama, .bsc-tama-stats) p { margin: 0; }
.bsc-icon { width: 22px; height: 22px; display: inline-block; flex: 0 0 auto; vertical-align: middle; }
.bsc-eyebrow { display: block; font-size: 9px; font-weight: 700; letter-spacing: 1.9px; color: var(--bsc-muted); }
.bsc-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #73946b; display: inline-block; flex: 0 0 auto; }
.bsc-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }

/* Direct icon controls travel with Crafty; all numbers belong to the page widget. */
.bsc-tama { position: fixed; z-index: 99990; width: min(max(var(--bsc-pet-size, 170px), 200px), calc(100vw - 16px)); isolation: isolate; }
.bsc-pet-stage { display: flex; flex-direction: column; align-items: center; }
.bsc-pet-content { display: flex; flex-direction: column; align-items: center; width: 100%; padding: 12px 0 4px; }
.bsc-tama .bsc-pet-grab { position: relative; display: block; width: var(--bsc-pet-size, 170px); max-width: 100%; cursor: grab; touch-action: none; user-select: none; border-radius: 0; }
.bsc-tama .bsc-pet-grab:active, .bsc-dragging .bsc-pet-grab { cursor: grabbing; }
.bsc-tama, .bsc-tama * { -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; }
.bsc-tama ::selection { background: transparent; color: inherit; }
.bsc-tama button:is(:hover, :focus, :focus-visible, :active) {
  outline: none !important; border: 0 !important; box-shadow: none !important;
  background: transparent !important; color: #20251f !important;
}
.bsc-tama button::-moz-focus-inner { border: 0; }
.bsc-tama .bsc-pet-grab:focus-visible .bsc-character { filter: drop-shadow(0 0 1px #20251f); }
.bsc-character { display: block; width: 100%; height: auto; overflow: visible; filter: drop-shadow(0 5px 1px rgb(24 40 29 / 5%)); }
.bsc-pet-footer { display: flex; align-items: center; justify-content: center; gap: 5px; padding: 0 5px; }
.bsc-tama .bsc-pet-label { display: flex; align-items: center; gap: 6px; padding: 0 5px 0 0; font-size: 10px; font-weight: 600; white-space: nowrap; }
.bsc-pet-label .bsc-pet-name { overflow: hidden; text-overflow: ellipsis; max-width: 90px; }
.bsc-care-actions { display: flex; gap: 1px; }
.bsc-tama .bsc-care-actions button { display: grid; place-items: center; width: 28px; height: 28px; color: var(--bsc-muted); }
.bsc-care-actions .bsc-icon { width: 15px; height: 15px; }
.bsc-tama .bsc-care-actions button:hover:enabled, .bsc-tama .bsc-care-actions button[aria-pressed="true"] { color: var(--bsc-accent); }
.bsc-drag-hint { display: flex; align-items: center; gap: 4px; color: #6b7669; font-size: 8px; margin-top: 7px; white-space: nowrap; }
.bsc-drag-hint .bsc-icon { width: 11px; height: 11px; }
.bsc-tama .bsc-speech { position: fixed; top: 0; left: 0; transform: translateY(7px); width: 188px; padding: 12px 15px; background: var(--bsc-paper); color: var(--bsc-ink); border: 1px solid #d7dbcb; border-radius: 15px 15px 15px 3px; font-size: 11px; line-height: 1.5; box-shadow: 0 6px 22px rgb(22 44 29 / 8%); opacity: 0; transition: opacity .2s, transform .2s; pointer-events: none; }
.bsc-speaking .bsc-speech { opacity: 1; transform: translateY(0); }
.bsc-dragging .bsc-speech, .bsc-dismissed .bsc-speech { opacity: 0; }
.bsc-tama .bsc-return-button { display: flex; align-items: center; gap: 8px; padding: 11px 16px; border: 1px solid var(--bsc-line); background: var(--bsc-paper); border-radius: 30px; font-size: 11px; white-space: nowrap; box-shadow: 0 4px 18px rgb(22 44 29 / 10%); }
.bsc-return-button .bsc-icon { width: 18px; height: 18px; }
.bsc-tama.bsc-dismissed { width: auto; }

/* Facial and body animation: separate SVG groups, not a flattened picture. */
.bsc-body { transform-origin: 150px 295px; animation: bsc-breathe 4s ease-in-out infinite; }
.bsc-head { transform-origin: 148px 218px; }
.bsc-arm { transform-origin: 209px 246px; animation: bsc-arm-idle 6s ease-in-out infinite; }
.bsc-forearm { transform-origin: 216px 268px; }
.bsc-wrist { transform-origin: 232px 259px; animation: bsc-wrist-idle 6s ease-in-out infinite; }
.bsc-fingers { transform-origin: 236px 265px; }
.bsc-finger-index { transform-origin: 230px 251px; }
.bsc-finger-middle { transform-origin: 239px 250px; }
.bsc-finger-ring { transform-origin: 248px 253px; }
.bsc-finger-little { transform-origin: 254px 259px; }
.bsc-thumb { transform-origin: 229px 260px; }
.bsc-arm-left { transform-origin: 79px 255px; animation: bsc-left-idle 6s ease-in-out infinite; }
.bsc-left-wrist { transform-origin: 71px 280px; animation: bsc-left-wrist-idle 6s ease-in-out infinite; }
.bsc-headwear { transform-origin: 146px 120px; }
/* The knitted crown flexes above the anchored cuff; the goggles stay on the face. */
.bsc-hat-crown { transform-origin: 139px 102px; animation: bsc-hat-idle 4s ease-in-out infinite; }
.bsc-hat-brim { transform-origin: 139px 104px; }
.bsc-pompom { transform-origin: 86px 79px; animation: bsc-pompom-idle 4s ease-in-out infinite; }
.bsc-cheek { opacity: var(--bsc-blush, .48); transition: opacity 1s; }
.bsc-eyes-open { transform-origin: 150px 160px; animation: bsc-blink 5.5s infinite; }
.bsc-pupils { transform: translate(var(--bsc-look-x, 0px), var(--bsc-look-y, 0px)); transition: transform .15s; }
.bsc-eyes-closed, .bsc-eyes-dizzy, .bsc-eye-wink, .bsc-hand-wave, .bsc-hand-grip, .bsc-held-item, .bsc-mouth-bite, .bsc-mouth-sad, .bsc-mouth-o, .bsc-sweat, .bsc-zzz, .bsc-hearts { display: none; }
.bsc-zzz text { animation: bsc-dream 3s ease-in-out infinite; }
.bsc-zzz .bsc-z-two { animation-delay: -.9s; }
.bsc-zzz .bsc-z-three { animation-delay: -1.8s; }
:is(.bsc-tama, .bsc-character-preview)[data-mood="cheerful"] .bsc-head { animation: bsc-tilt 3s ease-in-out infinite; }
:is(.bsc-tama, .bsc-character-preview)[data-mood="cheerful"] .bsc-brow { animation: bsc-brow-lift 4s ease-in-out infinite; }
:is(.bsc-tama, .bsc-character-preview)[data-mood="tipsy"] .bsc-head { animation: bsc-tilt 2s ease-in-out infinite; }
:is(.bsc-tama, .bsc-character-preview)[data-mood="tipsy"] { --bsc-blush: .8; }
:is(.bsc-tama, .bsc-character-preview)[data-mood="dizzy"] { --bsc-blush: .95; }
:is(.bsc-tama, .bsc-character-preview)[data-mood="dizzy"] .bsc-body { animation: bsc-sway 2.3s ease-in-out infinite; }
:is(.bsc-tama, .bsc-character-preview):is([data-mood="dizzy"], [data-mood="coma"], [data-mood="sleeping"], [data-mood="tired"]) .bsc-eyes-open { display: none; }
:is(.bsc-tama, .bsc-character-preview)[data-mood="dizzy"] .bsc-eyes-dizzy,
:is(.bsc-tama, .bsc-character-preview):is([data-mood="dizzy"], [data-mood="thirsty"]) .bsc-sweat { display: block; }
:is(.bsc-tama, .bsc-character-preview):is([data-mood="coma"], [data-mood="sleeping"], [data-mood="tired"]) .bsc-eyes-closed { display: block; }
:is(.bsc-tama, .bsc-character-preview):is([data-mood="coma"], [data-mood="sleeping"]) .bsc-zzz { display: block; }
:is(.bsc-tama, .bsc-character-preview):is([data-mood="coma"], [data-mood="sleeping"]) .bsc-head { transform: rotate(9deg); }
:is(.bsc-tama, .bsc-character-preview):is([data-mood="coma"], [data-mood="sleeping"]) .bsc-body { animation: bsc-sleep-breathe 5s ease-in-out infinite; }
:is(.bsc-tama, .bsc-character-preview)[data-mood="tired"] .bsc-head { animation: bsc-nod 5s ease-in-out infinite; }
:is(.bsc-tama, .bsc-character-preview):is([data-mood="hungry"], [data-mood="thirsty"], [data-mood="dizzy"], [data-mood="coma"], [data-mood="sleeping"]) .bsc-smile { display: none; }
:is(.bsc-tama, .bsc-character-preview):is([data-mood="hungry"], [data-mood="thirsty"]) .bsc-mouth-sad { display: block; }
:is(.bsc-tama, .bsc-character-preview):is([data-mood="dizzy"], [data-mood="sleeping"], [data-mood="coma"]) .bsc-mouth-o { display: block; }
.bsc-tama:is([data-mood="coma"], [data-mood="dizzy"]) .bsc-status-dot { background: var(--bsc-accent); }
:is(.bsc-tama, .bsc-character-preview).bsc-eating .bsc-head { animation: bsc-munch .55s 4; }
.bsc-eating .bsc-mouth-bite { display: block; animation: bsc-chew .28s 7; transform-origin: 150px 190px; }
:is(.bsc-tama, .bsc-character-preview).bsc-eating :is(.bsc-eyes-open, .bsc-eyes-dizzy, .bsc-smile, .bsc-mouth-sad, .bsc-mouth-o),
:is(.bsc-tama, .bsc-character-preview).bsc-drinking :is(.bsc-eyes-open, .bsc-eyes-dizzy, .bsc-smile, .bsc-mouth-sad) { display: none; }
.bsc-eating .bsc-eyes-closed, .bsc-drinking .bsc-eyes-closed, .bsc-drinking .bsc-mouth-o { display: block; }
:is(.bsc-tama, .bsc-character-preview).bsc-drinking .bsc-head { animation: bsc-sip .7s 3; }
.bsc-drinking .bsc-arm, .bsc-eating .bsc-arm { animation: bsc-reach 2.2s cubic-bezier(.3, 0, .2, 1) both; }
.bsc-drinking .bsc-forearm, .bsc-eating .bsc-forearm { animation: bsc-elbow-fold 2.2s ease-in-out both; }
.bsc-drinking .bsc-wrist { animation: bsc-cup-tilt 2.2s ease-in-out both; }
.bsc-eating .bsc-wrist { animation: bsc-bite-wrist 2.2s ease-in-out both; }
.bsc-eating .bsc-left-wrist, .bsc-drinking .bsc-left-wrist { animation: bsc-support-hand 2.2s ease-in-out both; }
.bsc-drinking .bsc-hand-relaxed, .bsc-eating .bsc-hand-relaxed { display: none; }
.bsc-drinking .bsc-hand-grip, .bsc-eating .bsc-hand-grip, .bsc-drinking .bsc-held-item, .bsc-eating .bsc-held-item { display: block; }
.bsc-waving .bsc-arm { animation: bsc-wave-arm 2.8s ease-in-out both; }
.bsc-waving .bsc-forearm { animation: bsc-wave-elbow 2.8s ease-in-out both; }
.bsc-waving .bsc-wrist { animation: bsc-wave-wrist 2.8s ease-in-out both; }
.bsc-waving .bsc-fingers { animation: bsc-wave-palm 2.8s ease-in-out both; }
.bsc-waving .bsc-finger { animation: bsc-finger-fan 2.8s ease-in-out both; }
.bsc-finger-index { --bsc-finger-open: -7deg; --bsc-finger-fold: 12deg; }
.bsc-finger-middle { --bsc-finger-open: -2deg; --bsc-finger-fold: 7deg; }
.bsc-finger-ring { --bsc-finger-open: 4deg; --bsc-finger-fold: -8deg; }
.bsc-finger-little { --bsc-finger-open: 9deg; --bsc-finger-fold: -16deg; }
.bsc-waving .bsc-thumb { animation: bsc-thumb-wave 2.8s ease-in-out both; }
.bsc-waving .bsc-arm-left { animation: bsc-wave-left 2.8s ease-in-out both; }
.bsc-waving .bsc-left-wrist { animation: bsc-wave-left-wrist 2.8s ease-in-out both; }
.bsc-waving .bsc-hat-crown { animation: bsc-hat-spring 2.8s ease-in-out both; }
.bsc-waving .bsc-pompom { animation: bsc-pompom-wave 2.8s ease-in-out both; }
.bsc-petted .bsc-hat-crown { animation: bsc-hat-pat 1.8s ease-in-out both; }
.bsc-petted .bsc-hat-brim { animation: bsc-brim-pat 1.8s ease-in-out both; }
.bsc-petted .bsc-pompom { animation: bsc-pompom-pat 1.8s ease-in-out both; }
.bsc-eating .bsc-hat-crown, .bsc-drinking .bsc-hat-crown { animation: bsc-hat-nibble 2.2s ease-in-out both; }
.bsc-eating .bsc-pompom, .bsc-drinking .bsc-pompom { animation: bsc-pompom-nibble 2.2s ease-in-out both; }
:is(.bsc-tama, .bsc-character-preview):is([data-mood="sleeping"], [data-mood="coma"]) .bsc-hat-crown { animation: bsc-hat-sleep 5s ease-in-out infinite; }
:is(.bsc-tama, .bsc-character-preview):is([data-mood="sleeping"], [data-mood="coma"]) .bsc-pompom { animation: bsc-pompom-sleep 5s ease-in-out infinite; }
:is(.bsc-tama, .bsc-character-preview):is([data-mood="sleeping"], [data-mood="coma"]) :is(.bsc-arm, .bsc-arm-left, .bsc-wrist, .bsc-left-wrist) { animation-duration: 5s; }
.bsc-waving .bsc-hand-relaxed { opacity: 0; animation: bsc-relaxed-hand-hide 2.8s ease-in-out both; }
.bsc-waving .bsc-hand-wave { display: block; animation: bsc-open-hand-show 2.8s ease-in-out both; }
.bsc-waving:is([data-mood="happy"], [data-mood="cheerful"], [data-mood="tipsy"]) .bsc-eye-right { visibility: hidden; }
.bsc-waving:is([data-mood="happy"], [data-mood="cheerful"], [data-mood="tipsy"]) .bsc-eye-wink { display: block; }
.bsc-waving .bsc-eyes-open { animation: none; }
:is(.bsc-tama, .bsc-character-preview).bsc-waving .bsc-head { animation: bsc-wave-nod 2.8s ease-in-out both; }
.bsc-petted .bsc-hearts { display: block; animation: bsc-love 1.8s ease both; }
.bsc-dragging .bsc-body { animation: none; transform: rotate(-4deg); }
.bsc-dragging .bsc-hat-crown { animation: bsc-hat-drag .8s ease-in-out infinite; }
.bsc-dragging .bsc-pompom { animation: bsc-pompom-drag .8s ease-in-out infinite; }
.bsc-dragging .bsc-arm { animation: bsc-hand-drag .8s ease-in-out infinite; }
.bsc-settling .bsc-hat-crown { animation: bsc-hat-settle .8s ease-out both; }
.bsc-settling .bsc-pompom { animation: bsc-pompom-settle .8s ease-out both; }
.bsc-paused * { animation-play-state: paused !important; }
@keyframes bsc-breathe { 0%, 100% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-2px) scaleY(1.007); } }
@keyframes bsc-sleep-breathe { 0%, 100% { transform: scaleY(.99); } 50% { transform: scaleY(1.015); } }
@keyframes bsc-blink { 0%, 42%, 46%, 96%, 100% { transform: scaleY(1); } 44%, 98% { transform: scaleY(.06); } }
@keyframes bsc-brow-lift { 0%, 45%, 70%, 100% { transform: translateY(0); } 55%, 60% { transform: translateY(-3px); } }
@keyframes bsc-tilt { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(4deg); } }
@keyframes bsc-sway { 0%, 100% { transform: rotate(-6deg); } 50% { transform: rotate(5deg); } }
@keyframes bsc-dream { 0%, 100% { opacity: .15; transform: translateY(3px); } 50% { opacity: .95; transform: translateY(-7px); } }
@keyframes bsc-nod { 0%, 100% { transform: rotate(2deg); } 55% { transform: translateY(3px) rotate(7deg); } }
@keyframes bsc-munch { 50% { transform: translateY(2px) rotate(1.5deg); } }
@keyframes bsc-chew { 50% { transform: scale(.87, .45); } }
@keyframes bsc-sip { 50% { transform: translateY(-2px) rotate(-9deg); } }
@keyframes bsc-arm-idle { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(-2deg); } }
@keyframes bsc-left-idle { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(2deg); } }
@keyframes bsc-wrist-idle { 0%, 100% { transform: rotate(0); } 42% { transform: rotate(2.5deg); } 70% { transform: rotate(-1deg); } }
@keyframes bsc-left-wrist-idle { 0%, 100% { transform: rotate(0); } 58% { transform: rotate(-3deg); } }
@keyframes bsc-hat-idle { 0%, 100% { transform: rotate(0) scaleY(1); } 45% { transform: rotate(-1.4deg) scaleY(1.012); } 75% { transform: rotate(.5deg) scaleY(.995); } }
@keyframes bsc-pompom-idle { 0%, 100% { transform: rotate(0); } 55% { transform: rotate(5deg); } 82% { transform: rotate(-2deg); } }
@keyframes bsc-reach {
  0%, 100% { transform: translate(0, 0) rotate(0); }
  10% { transform: translate(2px, 2px) rotate(5deg); }
  32%, 73% { transform: translate(-10px, -15px) rotate(-23deg); }
  88% { transform: translate(0, 1px) rotate(3deg); }
}
@keyframes bsc-elbow-fold { 0%, 100% { transform: rotate(0); } 12% { transform: rotate(4deg); } 36%, 72% { transform: rotate(-42deg); } 91% { transform: rotate(2deg); } }
@keyframes bsc-cup-tilt { 0%, 28%, 100% { transform: rotate(0); } 43% { transform: rotate(-26deg); } 55% { transform: rotate(-18deg); } 67% { transform: rotate(-29deg); } 80% { transform: rotate(-5deg); } }
@keyframes bsc-bite-wrist { 0%, 25%, 100% { transform: translateY(0) rotate(0); } 38%, 62% { transform: translateY(-2px) rotate(-9deg); } 50%, 74% { transform: translateY(0) rotate(-3deg); } 90% { transform: rotate(2deg); } }
@keyframes bsc-support-hand { 0%, 100% { transform: rotate(0); } 38%, 68% { transform: translateY(-2px) rotate(-8deg); } 86% { transform: rotate(2deg); } }
/* One complete gesture: anticipation, lift, three waves, then a soft return. */
@keyframes bsc-wave-arm {
  0%, 100% { transform: translate(0, 0) rotate(0); }
  9% { transform: translate(1px, 2px) rotate(6deg); }
  26% { transform: translate(2px, -9px) rotate(-22deg); }
  40%, 60% { transform: translate(3px, -10px) rotate(-20deg); }
  50%, 70% { transform: translate(2px, -9px) rotate(-23deg); }
  80% { transform: translate(2px, -7px) rotate(-18deg); }
  94% { transform: translate(0, 1px) rotate(3deg); }
}
@keyframes bsc-wave-elbow { 0%, 9%, 100% { transform: rotate(0); } 29%, 75% { transform: rotate(-14deg); } 88% { transform: rotate(-5deg); } 95% { transform: rotate(2deg); } }
@keyframes bsc-wave-wrist { 0%, 14%, 100% { transform: rotate(0); } 28% { transform: rotate(18deg); } 38%, 58% { transform: rotate(46deg); } 48% { transform: rotate(14deg); } 68% { transform: rotate(17deg); } 78% { transform: rotate(37deg); } 91% { transform: rotate(-3deg); } }
@keyframes bsc-wave-palm { 0%, 100% { transform: scale(1); } 14% { transform: scale(.97, .92); } 29%, 75% { transform: scale(1.025, 1); } 89% { transform: scale(.98, .96); } }
@keyframes bsc-finger-fan {
  0%, 100% { transform: rotate(0); }
  12%, 89% { transform: rotate(var(--bsc-finger-fold)); }
  29%, 49%, 69% { transform: rotate(var(--bsc-finger-open)); }
  39%, 59%, 79% { transform: rotate(calc(var(--bsc-finger-open) * .35)); }
}
@keyframes bsc-thumb-wave { 0%, 100% { transform: rotate(0); } 15%, 88% { transform: rotate(9deg); } 31%, 51%, 71% { transform: rotate(-8deg); } 41%, 61% { transform: rotate(-3deg); } }
@keyframes bsc-relaxed-hand-hide { 0%, 100% { opacity: 1; } 12%, 88% { opacity: 0; } }
@keyframes bsc-open-hand-show { 0%, 100% { opacity: 0; } 12%, 88% { opacity: 1; } }
@keyframes bsc-wave-left { 0%, 100% { transform: rotate(0); } 30%, 72% { transform: translateY(-2px) rotate(-5deg); } 91% { transform: rotate(1deg); } }
@keyframes bsc-wave-left-wrist { 0%, 100% { transform: rotate(0); } 36%, 70% { transform: rotate(-9deg); } 91% { transform: rotate(3deg); } }
@keyframes bsc-hat-spring {
  0%, 100% { transform: rotate(0) scale(1); }
  12% { transform: rotate(1.5deg) scale(1.015, .97); }
  28% { transform: rotate(-3deg) scale(.985, 1.045); }
  43% { transform: rotate(2deg) scale(1.01, .985); }
  58% { transform: rotate(-1.5deg) scale(1, 1.02); }
  74% { transform: rotate(.8deg) scale(1, .99); }
  89% { transform: rotate(-.5deg) scale(1, 1.005); }
}
@keyframes bsc-pompom-wave { 0%, 100% { transform: rotate(0) scale(1); } 16% { transform: rotate(-7deg) scaleY(.97); } 34% { transform: rotate(19deg) scaleY(1.04); } 49% { transform: rotate(-14deg); } 64% { transform: rotate(10deg); } 79% { transform: rotate(-6deg); } 93% { transform: rotate(2deg); } }
@keyframes bsc-hat-pat { 0%, 100% { transform: scale(1); } 18% { transform: rotate(2deg) scale(1.025, .92); } 38% { transform: rotate(-2deg) scale(.985, 1.045); } 58% { transform: rotate(1deg) scale(1.01, .98); } 79% { transform: rotate(-.5deg) scale(1, 1.01); } }
@keyframes bsc-brim-pat { 0%, 100% { transform: scaleY(1); } 18% { transform: scaleY(.97); } 40% { transform: scaleY(1.01); } }
@keyframes bsc-pompom-pat { 0%, 100% { transform: rotate(0); } 24% { transform: translateY(2px) rotate(-12deg) scaleY(.94); } 45% { transform: rotate(17deg); } 64% { transform: rotate(-9deg); } 83% { transform: rotate(4deg); } }
@keyframes bsc-hat-nibble { 0%, 100% { transform: rotate(0) scaleY(1); } 36%, 62% { transform: rotate(2deg) scaleY(.975); } 49%, 75% { transform: rotate(-1deg) scaleY(1.015); } 89% { transform: rotate(.5deg); } }
@keyframes bsc-pompom-nibble { 0%, 100% { transform: rotate(0); } 42%, 68% { transform: rotate(-9deg); } 55%, 81% { transform: rotate(7deg); } 93% { transform: rotate(-2deg); } }
@keyframes bsc-hat-sleep { 0%, 100% { transform: rotate(1deg) scaleY(.99); } 50% { transform: rotate(2.5deg) scaleY(1.015); } }
@keyframes bsc-pompom-sleep { 0%, 100% { transform: rotate(0); } 61% { transform: rotate(-4deg); } }
@keyframes bsc-hat-drag { 0%, 100% { transform: rotate(3deg) scaleY(1); } 50% { transform: rotate(5deg) scaleY(.98); } }
@keyframes bsc-pompom-drag { 0%, 100% { transform: rotate(-10deg); } 50% { transform: rotate(15deg); } }
@keyframes bsc-hand-drag { 0%, 100% { transform: rotate(-5deg); } 50% { transform: rotate(3deg); } }
@keyframes bsc-hat-settle { 0% { transform: rotate(4deg) scaleY(.98); } 30% { transform: rotate(-2.5deg) scaleY(1.03); } 58% { transform: rotate(1.2deg) scaleY(.99); } 80% { transform: rotate(-.5deg); } 100% { transform: rotate(0) scaleY(1); } }
@keyframes bsc-pompom-settle { 0% { transform: rotate(12deg); } 35% { transform: rotate(-16deg); } 62% { transform: rotate(8deg); } 82% { transform: rotate(-3deg); } 100% { transform: rotate(0); } }
@keyframes bsc-wave-nod { 0%, 100% { transform: rotate(0); } 12% { transform: translateY(1px) rotate(2deg); } 29%, 70% { transform: translateY(-1px) rotate(-5deg); } 90% { transform: rotate(1deg); } }
@keyframes bsc-love { 0% { opacity: 0; transform: translateY(12px); } 25% { opacity: 1; } 100% { opacity: 0; transform: translateY(-16px); } }

/* Shared live gauges, rendered inside the Elementor statistics widget. */
.bsc-gauges { display: grid; gap: 11px; }
.bsc-gauge-label { display: flex; align-items: center; gap: 6px; font-size: 10px; margin-bottom: 5px; }
.bsc-gauge-label .bsc-icon { width: 13px; height: 13px; }
.bsc-gauge-label [data-gauge-text] { margin-left: auto; font-variant-numeric: tabular-nums; color: var(--bsc-muted); }
.bsc-gauge-track { height: 5px; border-radius: 6px; overflow: hidden; background: #e6e6da; }
.bsc-gauge-track > span { display: block; height: 100%; background: var(--bsc-water-color, #739783); border-radius: inherit; transition: width .5s; }
.bsc-gauge-food .bsc-gauge-track > span { background: var(--bsc-food-color, #d6a24d); }
.bsc-gauge-energy .bsc-gauge-track > span { background: var(--bsc-energy-color, #a2ad7b); }
.bsc-food-grid { display: grid; grid-template-columns: repeat(4, 44px); justify-content: center; gap: 8px; width: 100%; margin-top: 2px; padding-bottom: 8px; }
.bsc-tama .bsc-food-grid button { display: grid; place-items: center; width: 44px; height: 48px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #3b4f3c; transform: translateY(var(--bsc-food-offset, 0px)); }
.bsc-food-grid [data-feed="beer"] { --bsc-food-tilt: -7deg; }
.bsc-food-grid [data-feed="bread"] { --bsc-food-offset: 8px; --bsc-food-tilt: -2deg; }
.bsc-food-grid [data-feed="pretzel"] { --bsc-food-offset: 8px; --bsc-food-tilt: 2deg; }
.bsc-food-grid [data-feed="water"] { --bsc-food-tilt: 7deg; }
.bsc-food-grid .bsc-icon { width: 30px; height: 30px; transform: rotate(var(--bsc-food-tilt, 0deg)); transform-origin: 50% 70%; transition: transform .24s cubic-bezier(.2, .8, .2, 1), filter .24s; filter: drop-shadow(0 2px 1px rgb(28 42 29 / 12%)); }
.bsc-tama .bsc-food-grid button:focus-visible:enabled .bsc-icon { animation: bsc-food-hover .6s cubic-bezier(.22, .7, .25, 1) both; filter: drop-shadow(0 5px 2px rgb(28 42 29 / 18%)); }
@media (hover: hover) and (pointer: fine) {
  .bsc-tama .bsc-food-grid button:hover:enabled .bsc-icon { animation: bsc-food-hover .6s cubic-bezier(.22, .7, .25, 1) both; filter: drop-shadow(0 5px 2px rgb(28 42 29 / 18%)); }
}
@keyframes bsc-food-hover {
  0% { transform: translateY(0) rotate(var(--bsc-food-tilt, 0deg)) scale(1); }
  35% { transform: translateY(-7px) rotate(calc(var(--bsc-food-tilt, 0deg) - 7deg)) scale(1.14); }
  65% { transform: translateY(-3px) rotate(calc(var(--bsc-food-tilt, 0deg) + 5deg)) scale(1.1); }
  100% { transform: translateY(-4px) rotate(var(--bsc-food-tilt, 0deg)) scale(1.08); }
}

/* The site's black/white, magenta and mint identity. Elementor's scoped rules win. */
:where(.bsc-tama-stats) {
  --bsc-accent: #00d1b4;
  --bsc-accent-ink: #111;
  --bsc-paper: #111;
  --bsc-ink: #fff;
  --bsc-muted: #b7b7b7;
  --bsc-line: #393939;
  --bsc-card: #1e1e1e;
  --bsc-beer-card: #bd009f;
  --bsc-beer-ink: #fff;
  --bsc-average-bg: #00d1b4;
  --bsc-average-ink: #111;
  --bsc-chart-color: #bd009f;
  --bsc-water-color: #00d1b4;
  --bsc-food-color: #f4ba54;
  --bsc-energy-color: #e389d4;
  --bsc-button-bg: #00d1b4;
  --bsc-button-ink: #111;
}
:where(.bsc-tama-stats[data-design="light"]) { --bsc-paper: #fff; --bsc-ink: #111; --bsc-muted: #595959; --bsc-line: #dedede; --bsc-card: #f3f3f3; }
.bsc-tama-stats { background: var(--bsc-paper); color: var(--bsc-ink); border: 1px solid var(--bsc-line); padding: clamp(24px, 4vw, 44px); border-radius: 0; width: 100%; min-width: 0; font-family: Roboto, Arial, Helvetica, sans-serif; }
.bsc-stats-heading { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: 24px; padding-bottom: 28px; border-bottom: 1px solid var(--bsc-line); }
.bsc-stats-heading--portrait { grid-template-columns: minmax(0, 1fr) minmax(0, var(--bsc-portrait-width, 240px)); }
.bsc-stats-intro { min-width: 0; }
.bsc-stats-heading .bsc-eyebrow { color: var(--bsc-accent); font-size: 10px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; }
.bsc-tama-stats h2 { color: var(--bsc-ink); font-family: inherit; font-size: clamp(32px, 4vw, 58px); font-weight: 900; line-height: .98; margin: 17px 0 14px; padding: 0; text-transform: uppercase; letter-spacing: -.045em; overflow-wrap: anywhere; }
.bsc-stats-heading p { font-size: 13px; line-height: 1.6; color: var(--bsc-muted); max-width: 40ch; }
.bsc-stats-heading :is([data-widget-eyebrow], [data-widget-subtitle]):empty { display: none; }
.bsc-stats-portrait { margin: 0; padding: 7px; width: 100%; background: #fff; border: 1px solid #fff; transform: rotate(-3deg); }
.bsc-stats-portrait img { display: block; width: 100%; height: auto; object-fit: contain; margin: 0; border: 0; border-radius: 0; }
.bsc-periods { display: flex; gap: 0; padding: 3px; border: 1px solid var(--bsc-line); border-radius: 0; margin-top: 26px; max-width: 440px; }
.bsc-tama-stats .bsc-periods button { flex: 1; min-width: 0; min-height: 44px; padding: 9px 10px; border-radius: 0; color: var(--bsc-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.bsc-tama-stats .bsc-periods button:hover { background: var(--bsc-card); color: var(--bsc-ink); }
.bsc-tama-stats .bsc-periods button[aria-pressed="true"] { background: var(--bsc-accent); color: var(--bsc-accent-ink); }
.bsc-tama-stats .bsc-period-description { font-size: 11px; color: var(--bsc-muted); margin: 12px 0 22px; }
.bsc-stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.bsc-stat-card { background: var(--bsc-card); border: 1px solid var(--bsc-line); padding: 22px 18px 20px; border-radius: 0; min-width: 0; display: flex; flex-direction: column; }
.bsc-stat-card > strong { display: block; font-size: 48px; font-weight: 900; letter-spacing: -.05em; font-variant-numeric: tabular-nums; line-height: 1.1; margin: 20px 0 10px; overflow-wrap: anywhere; }
.bsc-stat-card small { font-size: 13px; letter-spacing: 0; font-weight: 600; white-space: nowrap; }
.bsc-stat-icon { color: inherit; }
.bsc-stat-icon .bsc-icon { width: 26px; height: 26px; }
.bsc-stat-beer { background: var(--bsc-beer-card); border-color: var(--bsc-beer-card); color: var(--bsc-beer-ink); }
.bsc-stat-average { background: var(--bsc-average-bg); border-color: var(--bsc-average-bg); color: var(--bsc-average-ink); }
.bsc-stat-name { font-size: 10px; font-weight: 700; letter-spacing: .055em; line-height: 1.5; text-transform: uppercase; overflow-wrap: anywhere; }
.bsc-chart { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--bsc-line); }
.bsc-chart-heading { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; font-size: 13px; }
.bsc-chart-heading strong { font-weight: 800; text-transform: uppercase; letter-spacing: -.02em; }
.bsc-chart-heading > span { font-size: 11px; color: var(--bsc-muted); }
.bsc-chart-bars { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; margin-top: 22px; }
.bsc-chart-column { display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 11px; color: var(--bsc-muted); }
.bsc-chart-track { height: 84px; width: 100%; max-width: 42px; background: var(--bsc-card); border-radius: 0; display: flex; align-items: flex-end; overflow: hidden; }
.bsc-chart-track > i { display: block; width: 100%; background: var(--bsc-chart-color); transition: height .3s; }
.bsc-tama-stats .bsc-chart-empty { text-align: center; color: var(--bsc-muted); font-size: 12px; margin-top: 18px; }
.bsc-live-state { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--bsc-line); }
.bsc-live-state > div:first-child { display: flex; align-items: center; gap: 8px; margin-bottom: 20px; font-size: 12px; flex-wrap: wrap; }
.bsc-live-state .bsc-status-dot { background: var(--bsc-accent); }
.bsc-live-state strong { font-weight: 800; text-transform: uppercase; }
.bsc-live-bac { margin-left: auto; color: var(--bsc-muted); font-variant-numeric: tabular-nums; }
.bsc-live-state .bsc-gauges { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.bsc-live-state .bsc-gauge-label { font-size: 11px; gap: 6px; }
.bsc-live-state .bsc-gauge-label .bsc-icon { display: none; }
.bsc-live-state .bsc-gauge-track { background: var(--bsc-card); height: 6px; border-radius: 0; }
.bsc-tama-stats .bsc-visit-button, .bsc-tama-inline .bsc-tama-summon { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 48px; padding: 14px 18px; border-radius: 0; background: var(--bsc-button-bg, var(--bsc-ink)); color: var(--bsc-button-ink, var(--bsc-paper)); font-size: 12px; font-weight: 800; text-transform: uppercase; margin-top: 26px; }
.bsc-visit-button .bsc-icon { width: 20px; height: 20px; }
.bsc-tama-stats .bsc-visit-button:hover { filter: brightness(.9); }
.bsc-stats-footer { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--bsc-line); font-size: 10px; color: var(--bsc-muted); }
.bsc-stats-footer > span { display: flex; gap: 7px; align-items: center; }
.bsc-stats-footer .bsc-icon { width: 14px; height: 14px; }
.bsc-tama-stats [data-reset] { min-height: 44px; font-size: 11px; color: var(--bsc-muted); text-decoration: underline; text-underline-offset: 4px; }
.bsc-tama-stats .bsc-stats-note { color: var(--bsc-muted); font-size: 10px; margin-top: 10px; line-height: 1.7; }
.bsc-reset-confirm { margin-top: 16px; padding: 16px; border: 1px solid var(--bsc-line); border-radius: 0; font-size: 12px; }
.bsc-tama-stats .bsc-reset-confirm button { min-height: 44px; padding: 9px 12px; margin: 12px 8px 0 0; background: var(--bsc-card); color: var(--bsc-ink); }
.bsc-tama-stats .bsc-reset-confirm [data-confirm-reset] { background: var(--bsc-accent); color: var(--bsc-accent-ink); }
.bsc-tama-stats .bsc-storage-warning, .bsc-tama .bsc-storage-warning { font-size: 11px; background: #f3e4ce; color: #392e1a; padding: 12px; margin-top: 14px; border-radius: 0; }
/* Width is observed without CSS size containment, which would inflate the
   intrinsic height of an Elementor widget inside a vertical flex container. */
:where(.bsc-tama-stats[data-layout="compact"], .bsc-tama-stats[data-layout="narrow"]) .bsc-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
:where(.bsc-tama-stats[data-layout="compact"], .bsc-tama-stats[data-layout="narrow"]) .bsc-stats-heading--portrait { grid-template-columns: minmax(0, 1fr); gap: 24px; }
:where(.bsc-tama-stats[data-layout="compact"], .bsc-tama-stats[data-layout="narrow"]) .bsc-stats-heading--portrait .bsc-stats-portrait { width: min(100%, var(--bsc-portrait-width, 220px)); justify-self: center; }
:where(.bsc-tama-stats[data-layout="compact"], .bsc-tama-stats[data-layout="narrow"]) .bsc-stats-heading h2 { font-size: 32px; }
:where(.bsc-tama-stats[data-layout="compact"], .bsc-tama-stats[data-layout="narrow"]) .bsc-stat-card > strong { font-size: 38px; }
:where(.bsc-tama-stats[data-layout="compact"], .bsc-tama-stats[data-layout="narrow"]) .bsc-live-state .bsc-gauges { gap: 14px; }
:where(.bsc-tama-stats[data-layout="compact"], .bsc-tama-stats[data-layout="narrow"]) .bsc-live-state .bsc-gauge-label { flex-wrap: wrap; }
:where(.bsc-tama-stats[data-layout="narrow"]) .bsc-stats-heading--portrait { grid-template-columns: minmax(0, 1fr); }
:where(.bsc-tama-stats[data-layout="narrow"]) .bsc-stats-heading h2 { font-size: 27px; }
:where(.bsc-tama-stats[data-layout="narrow"]) .bsc-stat-card { padding: 16px 12px; }
:where(.bsc-tama-stats[data-layout="narrow"]) .bsc-stat-card > strong { font-size: 32px; }
:where(.bsc-tama-stats[data-layout="narrow"]) .bsc-live-state .bsc-gauges { grid-template-columns: 1fr; }
:where(.bsc-tama-stats[data-layout="narrow"]) .bsc-live-bac { margin-left: 0; }
@media (max-width: 540px) {
  .bsc-tama-stats { padding: 24px 18px; }
  .bsc-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bsc-stats-heading h2 { font-size: 28px; }
  .bsc-live-state .bsc-gauges { gap: 8px; }
  .bsc-gauge-label { flex-wrap: wrap; }
  .bsc-periods { max-width: none; }
}
/* Independent Elementor widgets share live data, never a forced page layout. */
:where(.bsc-tama-component[data-component="beer"][data-design="club"]) { --bsc-paper: #bd009f; --bsc-ink: #fff; --bsc-muted: #ffddf8; --bsc-line: #bd009f; }
:where(.bsc-tama-component[data-component="average"][data-design="club"]) { --bsc-paper: #00d1b4; --bsc-ink: #111; --bsc-muted: #18463c; --bsc-line: #00d1b4; }
.bsc-tama-component { display: flex; flex-direction: column; align-items: stretch; gap: var(--bsc-component-gap, 12px); padding: 24px; height: 100%; overflow-wrap: anywhere; }
.bsc-component-icon { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; max-width: 100%; color: var(--bsc-ink); flex-shrink: 0; align-self: var(--bsc-component-align, start); }
.bsc-component-icon :is(svg, img) { width: 100%; height: 100%; display: block; object-fit: contain; }
.bsc-component-label { font-size: 12px; line-height: 1.4; font-weight: 800; text-transform: uppercase; letter-spacing: -.02em; color: var(--bsc-ink); margin: 0; }
.bsc-component-number { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: var(--bsc-component-align, start); gap: 6px; }
.bsc-component-value { font-family: inherit; font-size: clamp(36px, 4vw, 56px); font-weight: 900; line-height: 1; letter-spacing: -.05em; color: var(--bsc-ink); }
.bsc-component-unit { font-size: 11px; font-weight: 600; line-height: 1.4; color: var(--bsc-muted); }
.bsc-tama-component .bsc-component-description { font-size: 13px; line-height: 1.65; color: var(--bsc-muted); }
.bsc-tama-component .bsc-component-note { font-size: 10px; line-height: 1.6; color: var(--bsc-muted); }
.bsc-tama-component .bsc-period-description { font-size: 11px; margin: 0; color: var(--bsc-muted); }
.bsc-tama-component .bsc-periods { margin: 4px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
.bsc-tama-component .bsc-periods button { padding: 8px 4px; font-size: 10px; }
.bsc-tama-component .bsc-gauge-track { height: 8px; border-radius: 0; background: var(--bsc-card); }
.bsc-tama-component .bsc-gauge-track > span { background: var(--bsc-accent); }
:where(.bsc-tama-component[data-component="satiety"]) { --bsc-accent: #f5bd54; }
:where(.bsc-tama-component[data-component="energy"]) { --bsc-accent: #e281cb; }
.bsc-tama-component[data-kind="mood"] .bsc-component-value { font-size: 28px; letter-spacing: -.035em; line-height: 1.1; }
.bsc-tama-component .bsc-chart-bars { margin-top: 6px; }
.bsc-tama-component .bsc-chart-track { max-width: none; height: 130px; }
.bsc-tama-component .bsc-chart-empty { margin: 0; }
.bsc-tama-component .bsc-visit-button { margin-top: 8px; }
.bsc-tama-component :is(.bsc-component-description, .bsc-component-unit, .bsc-component-eyebrow):empty { display: none; }
.bsc-tama-component[data-component="portrait"] { padding: clamp(28px, 4vw, 48px); }
.bsc-component-portrait-layout { display: flex; flex-direction: row; align-items: center; gap: 40px; }
.bsc-component-intro { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--bsc-component-gap, 20px); }
.bsc-component-portrait-layout .bsc-stats-portrait { flex: 0 1 auto; width: var(--bsc-portrait-width, 320px); max-width: 100%; overflow: hidden; }
.bsc-component-portrait-layout .bsc-component-label { font-size: clamp(36px, 5vw, 68px); font-weight: 900; line-height: .95; letter-spacing: -.05em; margin: 0; }
.bsc-component-eyebrow { color: var(--bsc-accent); font-size: 10px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; }
:where(.bsc-tama-component[data-layout="compact"], .bsc-tama-component[data-layout="narrow"]) .bsc-component-portrait-layout { flex-direction: column; gap: 32px; }
:where(.bsc-tama-component[data-layout="compact"], .bsc-tama-component[data-layout="narrow"]) .bsc-component-portrait-layout .bsc-stats-portrait { flex-basis: auto; width: min(100%, var(--bsc-portrait-width, 240px)); }
:where(.bsc-tama-component[data-layout="compact"], .bsc-tama-component[data-layout="narrow"]) .bsc-component-portrait-layout .bsc-component-label { font-size: 42px; }
.bsc-tama .bsc-country-toggle { display: block; margin: 8px auto 0; padding: 4px; font-size: 10px; color: var(--bsc-muted); text-decoration: underline; text-underline-offset: 3px; }
.bsc-pet-country { background: var(--bsc-paper); color: var(--bsc-ink); padding: 10px; border: 1px solid var(--bsc-line); margin-top: 8px; border-radius: 8px; font-size: 11px; }
.bsc-pet-country p { font-size: 10px; margin-top: 6px; }
.bsc-tama-component[data-component="community"] { height: auto; gap: 20px; }
.bsc-tama-component[data-component="community"] > .bsc-component-label { font-size: clamp(24px, 3vw, 36px); font-weight: 900; line-height: 1.1; }
.bsc-community-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
:is(.bsc-community-filters, .bsc-community-country, .bsc-pet-country) label { display: flex; flex-direction: column; gap: 8px; font: inherit; font-size: 12px; font-weight: 600; min-width: 0; }
:is(.bsc-community-filters, .bsc-community-country, .bsc-pet-country) :is(select, input) { width: 100%; max-width: 100%; min-width: 0; min-height: 44px; padding: 8px 10px; border: 1px solid var(--bsc-line); border-radius: 0; background: var(--bsc-paper); color: var(--bsc-ink); font: inherit; color-scheme: dark; }
:is(.bsc-community-filters, .bsc-community-country, .bsc-pet-country) :is(select, input):focus-visible, .bsc-community-scroll:focus-visible { outline: 3px solid var(--bsc-accent); outline-offset: 3px; }
:where([data-design="light"]) :is(.bsc-community-filters, .bsc-community-country) :is(select, input), .bsc-pet-country select { color-scheme: light; }
.bsc-community-totals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.bsc-community-metric { min-width: 0; background: var(--bsc-card); padding: 22px; display: flex; flex-direction: column; gap: 12px; }
.bsc-community-metric > span { font-size: 11px; font-weight: 800; text-transform: uppercase; }
.bsc-community-metric strong { font-size: clamp(34px, 4vw, 54px); font-weight: 900; line-height: 1; letter-spacing: -.04em; }
.bsc-community-metric .bsc-community-average { font-size: 12px; line-height: 1.5; color: var(--bsc-muted); }
.bsc-community-average b { color: var(--bsc-accent); font-size: 18px; }
.bsc-community-scroll { width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; }
.bsc-community-table { border-collapse: collapse; min-width: 760px; width: 100%; margin: 0; font: inherit; font-size: 12px; color: var(--bsc-ink); }
.bsc-community-table caption { text-align: start; color: var(--bsc-muted); padding: 0 0 14px; font-size: 11px; }
.bsc-community-table :is(th, td) { padding: 14px 10px; text-align: end; border: 0; border-bottom: 1px solid var(--bsc-line); background: transparent; }
.bsc-community-table th { font-weight: 800; }
.bsc-community-table tr > :first-child { text-align: start; }
.bsc-community-status { font-size: 12px; color: var(--bsc-muted); line-height: 1.5; }
.bsc-community-status:empty, .bsc-tama-component[data-component="community"] > .bsc-component-label:empty { display: none; }
.bsc-community-country { max-width: 440px; padding-top: 16px; border-top: 1px solid var(--bsc-line); }
.bsc-community-country p, .bsc-community-country-status { font-size: 11px; line-height: 1.6; color: var(--bsc-muted); }
.bsc-community-country p { margin-top: 8px; }
@media (max-width: 600px) { .bsc-community-totals, .bsc-community-filters { grid-template-columns: 1fr; } }

/* Crafty lives directly on the page: transparent silhouette and four bare icons. */
.bsc-tama-component[data-component="portrait"] {
  display: flex; align-items: center; justify-content: var(--bsc-component-align, center);
  background: transparent; border: 0; box-shadow: none; border-radius: 0;
  padding: 16px 0 24px; min-height: 0; overflow: visible;
}
.bsc-tama.bsc-tama-embedded {
  --bsc-pet-size: var(--bsc-portrait-width, 320px);
  position: relative; z-index: 5; flex: 0 1 auto;
  width: min(var(--bsc-pet-size), 100%); max-width: 100%;
}
.bsc-tama { width: min(max(var(--bsc-pet-size, 170px), 200px), calc(100vw - 16px)); }
.bsc-tama .bsc-pet-content { position: relative; padding: 0 0 20%; }
.bsc-tama .bsc-pet-grab { width: 100%; }
.bsc-tama .bsc-character { filter: none; }
.bsc-tama .bsc-food-grid { display: contents; }
.bsc-tama .bsc-food-grid button {
  position: absolute; width: 44px; height: 44px; transform: none;
  --bsc-food-offset: 0px; color: #20251f;
}
.bsc-tama [data-feed="beer"] { left: 0; bottom: 17%; --bsc-food-tilt: -12deg; }
.bsc-tama [data-feed="chips"] { left: 27%; bottom: 0; --bsc-food-tilt: -5deg; }
.bsc-tama [data-feed="pretzel"] { right: 27%; bottom: 0; --bsc-food-tilt: 5deg; }
.bsc-tama [data-feed="water"] { right: 0; bottom: 17%; --bsc-food-tilt: 12deg; }
.bsc-tama .bsc-food-grid .bsc-icon { width: var(--bsc-offer-size, 34px); height: var(--bsc-offer-size, 34px); filter: none; }
.bsc-tama .bsc-food-grid button:disabled { opacity: 1; }
.bsc-tama .bsc-food-grid button:disabled > .bsc-icon { opacity: .6; }
.bsc-tama .bsc-gift-number {
  position: absolute; bottom: calc(100% + 3px); left: 50%; transform: translateX(var(--bsc-number-x, -50%));
  min-width: 25px; padding: 4px 7px; border-radius: 8px;
  background: var(--bsc-bubble-bg, #20251f); color: var(--bsc-bubble-ink, #fff9ee);
  font: 700 11px/1.2 Arial, sans-serif; white-space: nowrap; pointer-events: none;
  animation: bsc-number-pop 2.4s ease both; z-index: 2;
}
.bsc-gift-number::after { content: ''; position: absolute; top: 100%; left: calc(50% - 3px); border: 3px solid transparent; border-top-color: var(--bsc-bubble-bg, #20251f); }
.bsc-tama [data-feed="beer"] .bsc-gift-number { left: 0; --bsc-number-x: 0%; }
.bsc-tama [data-feed="water"] .bsc-gift-number { left: 100%; --bsc-number-x: -100%; }
.bsc-tama[data-mood="happy"] .bsc-head { animation: bsc-curious 8s ease-in-out infinite; }
.bsc-petted .bsc-head { animation: bsc-pet-nuzzle 1.8s ease both !important; }
.bsc-petted .bsc-eyes-open { display: none; }
.bsc-petted .bsc-eyes-closed { display: block; }
.bsc-petted .bsc-left-wrist { animation: bsc-support-hand 1.8s ease both; }
.bsc-drinking .bsc-head { animation: bsc-drink-head 2.4s ease both !important; }
.bsc-eating .bsc-head { animation: bsc-eat-head 2.4s ease both !important; }
.bsc-eating .bsc-mouth-bite { animation: bsc-chew .32s .8s 4; }
.bsc-tama:is(.bsc-drinking, .bsc-eating) :is(.bsc-arm, .bsc-forearm, .bsc-wrist, .bsc-left-wrist, .bsc-hat-crown, .bsc-pompom) { animation-duration: 2.4s; }
.bsc-tama:is(.bsc-drinking, .bsc-eating) .bsc-hand-grip { transform-origin: 233px 258px; animation: bsc-grip-squeeze 2.4s ease both; }
.bsc-tama:is(.bsc-drinking, .bsc-eating) .bsc-held-item { animation: bsc-offer-appear 2.4s ease both; transform-origin: 235px 252px; }
.bsc-serving-sleeve { display: none; }
.bsc-tama:is(.bsc-drinking, .bsc-eating) .bsc-serving-sleeve { display: block; animation: bsc-sleeve-reach 2.4s ease both; }
@keyframes bsc-sleeve-reach { 0%, 100% { d: path('M205 234C226 235 242 253 235 270C224 286 208 281 201 268L193 250Z'); opacity: 0; } 12%, 88% { opacity: 1; } 36%, 72% { d: path('M205 234C214 250 212 274 194 272C177 270 158 248 160 231L180 217Z'); opacity: 1; } }
@keyframes bsc-reach { 0%, 100% { transform: translate(0, 0) rotate(0); } 10% { transform: translate(2px, 2px) rotate(4deg); } 36%, 72% { transform: translate(-54px, -34px) rotate(-10deg); } 90% { transform: translate(0, 1px) rotate(2deg); } }
@keyframes bsc-elbow-fold { 0%, 100% { transform: rotate(0); } 12% { transform: rotate(3deg); } 36%, 72% { transform: rotate(-5deg); } 91% { transform: rotate(1deg); } }
@keyframes bsc-cup-tilt { 0%, 28%, 100% { transform: rotate(0); } 43% { transform: rotate(-20deg); } 55% { transform: rotate(-17deg); } 67% { transform: rotate(-21deg); } 83% { transform: rotate(-3deg); } }
@keyframes bsc-number-pop { 0% { opacity: 0; transform: translate(var(--bsc-number-x, -50%), 5px) scale(.8); } 12%, 82% { opacity: 1; transform: translate(var(--bsc-number-x, -50%), 0) scale(1); } 100% { opacity: 0; transform: translate(var(--bsc-number-x, -50%), -4px) scale(.96); } }
@keyframes bsc-curious { 0%, 15%, 60%, 100% { transform: rotate(0); } 27%, 38% { transform: rotate(-2deg) translateY(-1px); } 45% { transform: rotate(.6deg); } 78%, 85% { transform: rotate(1.5deg); } }
@keyframes bsc-pet-nuzzle { 0%, 100% { transform: rotate(0); } 24% { transform: translateY(3px) rotate(-4deg); } 50% { transform: translateY(-2px) rotate(3deg); } 72% { transform: rotate(-1deg); } }
@keyframes bsc-drink-head { 0%, 20%, 100% { transform: rotate(0); } 38%, 70% { transform: translate(2px, 1px) rotate(5deg); } 48%, 60% { transform: translate(2px, -1px) rotate(7deg); } 90% { transform: rotate(-1deg); } }
@keyframes bsc-eat-head { 0%, 25%, 100% { transform: rotate(0); } 40%, 58%, 74% { transform: translateY(2px) rotate(2deg); } 49%, 66% { transform: translateY(-1px) rotate(.5deg); } }
@keyframes bsc-grip-squeeze { 0%, 20%, 86%, 100% { transform: scale(1); } 38%, 70% { transform: scale(.95, 1.03); } 55% { transform: scale(.98, 1); } }
@keyframes bsc-offer-appear { 0%, 100% { opacity: 0; } 10%, 88% { opacity: 1; } }

/* Feeding rig: continuous sleeves anchored at the shoulders, independent hands. */
.bsc-feed-rig, .bsc-coat-serving { display: none; }
.bsc-tama.bsc-feeding .bsc-feed-rig, .bsc-tama.bsc-feeding .bsc-coat-serving { display: block; opacity: var(--bsc-feeding-opacity, 0); }
.bsc-tama.bsc-feeding :is(.bsc-arm, .bsc-arm-left, .bsc-coat-idle) { opacity: calc(1 - var(--bsc-feeding-opacity, 0)); }
.bsc-tama.bsc-feeding .bsc-serving-sleeve { display: none; }
.bsc-tama.bsc-feeding .bsc-head, .bsc-tama.bsc-feeding .bsc-mouth-bite { animation: none !important; }
.bsc-tama.bsc-feeding :is(.bsc-hat-crown, .bsc-pompom) { animation-duration: var(--bsc-gesture-duration, 3.1s); }
.bsc-feed-can, .bsc-feed-glass, .bsc-feed-pretzel, .bsc-single-chip, .bsc-feed-cup-grip, .bsc-feed-pinch-grip { display: none; }
[data-last-gift="beer"] .bsc-feed-can, [data-last-gift="water"] .bsc-feed-glass,
[data-last-gift="pretzel"] .bsc-feed-pretzel, [data-last-gift="chips"] .bsc-single-chip,
:is([data-last-gift="beer"], [data-last-gift="water"]) .bsc-feed-cup-grip,
:is([data-last-gift="pretzel"], [data-last-gift="chips"]) .bsc-feed-pinch-grip { display: block; }
.bsc-feed-bag, .bsc-feed-crumb { opacity: 0; }
.bsc-feed-grip-thumb { transform-origin: -10px 2px; transform: rotate(calc((1 - var(--bsc-clench, 0)) * -14deg)); }
.bsc-feed-grip-index { transform-origin: 0 5px; transform: rotate(calc((1 - var(--bsc-clench, 0)) * 13deg)); }
.bsc-feed-grip-middle { transform: translateX(calc((1 - var(--bsc-clench, 0)) * 2px)); }
.bsc-tama.bsc-feeding :is(.bsc-mouth-o, .bsc-mouth-bite) { display: none; }
.bsc-tama.bsc-feeding .bsc-smile { display: block; }
.bsc-tama.bsc-feeding[data-feed-phase="sip"] .bsc-mouth-o,
.bsc-tama.bsc-feeding[data-feed-phase="bite"] .bsc-mouth-o,
.bsc-tama.bsc-feeding[data-feed-phase="chew"] .bsc-mouth-bite { display: block; }
.bsc-tama.bsc-feeding:is([data-feed-phase="sip"], [data-feed-phase="bite"], [data-feed-phase="chew"]) .bsc-smile { display: none; }
.bsc-tama.bsc-feeding[data-feed-phase="prepare"] .bsc-eyes-open { display: block; }
.bsc-tama.bsc-feeding[data-feed-phase="prepare"] .bsc-eyes-closed { display: none; }

@media (max-width: 767px) {
  body.bsc-mobile-disabled .bsc-tama,
  body.bsc-mobile-disabled [data-component="portrait"],
  body.bsc-mobile-disabled .elementor-widget-bsc-crafty-portrait,
  [data-component="portrait"][data-show-mobile="no"],
  .bsc-crafty-hide-mobile { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .bsc-tama *, .bsc-tama-stats * { animation: none !important; transition: none !important; }
}
