/* Shared BavaSPINS control skin. Game adapters own geometry and account state. */
.bava-console,.bava-feature-menu,.bava-feature-confirm{
 --bava-ui-ink:#111820;--bava-ui-muted:#46515b;
 --bava-bar-surface:rgb(255 255 255 / .76);--bava-spin-face:#111820;
 font-family:Outfit,system-ui,sans-serif;color:var(--bava-ui-ink);
}
.bava-console{--bava-ui-ink:#fff;--bava-ui-muted:#c5cbd3;--bava-bar-surface:linear-gradient(0deg,rgb(3 7 13 / .44),rgb(3 7 13 / .12));--bava-spin-face:rgb(6 10 17 / .55)}
/* Shared, neutral bonus entry: one native button, always visible in base play.
   Adapter owns placement; server flags/replay/active rounds still own access. */
.bava-console .bava-feature-button{gap:7px;border:1px solid #fffffff0;border-radius:7px;background:#f5f6f8;color:#10151b;font:750 11px/1 Outfit,system-ui,sans-serif;letter-spacing:.015em;text-shadow:none;box-shadow:0 1px 0 #fff4}
.bava-console .bava-feature-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.bava-console .bava-feature-button:active:not(:disabled){background:#d7dce4}
/* One whole button cap compresses; no decorative stationary socket. */
.bava-console .bava-spin .spin-visual{position:absolute;inset:0;display:block;transform:none;transform-origin:50% 58%;transition:transform .18s cubic-bezier(.2,.9,.3,1.4)}
.bava-console .bava-spin .spin-face{position:absolute;inset:5%;border:2px solid #fffffff0;border-radius:50%;background:var(--bava-spin-face);box-shadow:0 3px 12px #0005,inset 0 0 0 4px #ffffff06;outline:0;transition:background .12s,border-color .12s}
.bava-console .bava-spin .spin-mark{display:block;position:absolute;z-index:2;inset:10%;width:80%;height:80%;fill:white;stroke:none;opacity:1;transform-origin:center}
.bava-console .bava-spin .spin-loop .spin-arc{fill:none;stroke:white;stroke-width:7.5;stroke-linecap:round}
.bava-console .bava-spin .spin-label{opacity:0;pointer-events:none}
.bava-console .bava-spin :is(.spin-stop,.spin-play){display:none}
.bava-console .bava-spin[data-action=stop] .spin-loop,.bava-console .bava-spin[data-action=play] .spin-loop{display:none}
.bava-console .bava-spin[data-action=stop] .spin-stop,.bava-console .bava-spin[data-action=play] .spin-play{display:block}
.bava-console .bava-spin[data-motion=working] .spin-loop{display:block;animation:bava-controls-working 1.2s linear infinite}
.bava-console .bava-spin.spin-contact .spin-visual{transform:translateY(2px) scale(.95);transition-duration:.06s}
.bava-console .bava-spin.spin-contact .spin-face{background:#ffffff29;border-color:white;box-shadow:none}
.bava-console .bava-spin.spin-rebound .spin-visual{transform:none}
.bava-console .bava-spin:focus-visible{outline:2px solid white!important;outline-offset:-2px;filter:drop-shadow(0 0 2px #111820)!important}
@keyframes bava-controls-working{to{rotate:360deg}}
.bava-feature-menu,.bava-feature-confirm{
 box-sizing:border-box;width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 24px);
 padding:0 20px 18px;border:1px solid #ffffffc4;border-radius:16px;
 background:#f6f7f9;box-shadow:0 24px 80px #0006;overflow:auto;
 scrollbar-color:#a1a8af transparent;text-align:left;
}
.bava-feature-menu::backdrop,.bava-feature-confirm::backdrop{background:#050b18b8;backdrop-filter:none}
.bava-feature-menu .feature-dialog-header{
 position:sticky;top:0;z-index:3;margin:0 -1px 14px;padding:20px 48px 16px 0;
 background:#f6f7f9;border-bottom:1px solid #15202e1a;
}
.bava-feature-menu h1,.bava-feature-confirm h1{
 margin:0 0 6px;color:var(--bava-ui-ink);font:700 25px/1.15 Outfit,system-ui,sans-serif;
 transform:none;text-shadow:none;letter-spacing:-.025em;
}
.bava-feature-menu .close,.bava-feature-confirm .close{
 position:absolute;right:0;top:12px;display:grid;place-items:center;float:none;
 width:44px;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:50%;
 background:#1118200b;color:var(--bava-ui-ink);box-shadow:none;font:400 30px/1 system-ui;cursor:pointer;
}
.bava-feature-menu .dialog-intro,.bava-feature-menu .fine-print,.bava-feature-confirm p{
 color:var(--bava-ui-muted);font:400 13px/1.5 Outfit,system-ui,sans-serif;margin:0;
}
.bava-feature-menu .fine-print{margin-top:16px;font-size:11px}
.bava-feature-menu .offer{
 display:grid;grid-template-columns:96px minmax(0,1fr) 112px;gap:8px 16px;align-items:center;
 position:relative;box-sizing:border-box;margin:10px 0;padding:14px;border:1px solid #15202e1c;
 border-radius:12px;background:#fff;box-shadow:none;overflow:visible;
}
.bava-feature-menu .offer[hidden]{display:none}
.bava-feature-menu .offer::before,.bava-feature-menu .offer::after{content:none}
.bava-feature-menu .offer>div:not(.offer-art){grid-column:2;grid-row:1;min-width:0}
.bava-feature-menu .offer h2{
 font:700 16px/1.15 Outfit,system-ui,sans-serif;letter-spacing:-.015em;
 color:var(--bava-ui-ink);text-shadow:none;transform:none;margin:0 0 6px;
}
.bava-feature-menu .feature-details{color:var(--bava-ui-muted);font:400 12px/1.5 Outfit,system-ui,sans-serif}
.bava-feature-menu .feature-details summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--bava-ui-muted)}
.bava-feature-menu .feature-details summary::before{color:inherit}
.bava-feature-menu .feature-details p,.bava-feature-menu .feature-details small{color:inherit;font:inherit;line-height:1.5}
.bava-feature-menu .feature-full-cost{grid-column:2;grid-row:2;display:grid;gap:4px;min-width:0;color:var(--bava-ui-ink)}
.bava-feature-menu .feature-full-cost strong{height:auto;color:inherit;font:650 22px/1 Outfit,system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.025em;overflow-wrap:anywhere}
.bava-feature-menu .feature-full-cost small{font:500 9px/1.3 Outfit,system-ui,sans-serif;color:var(--bava-ui-muted)}
.bava-feature-menu .offer>button,.bava-feature-confirm .primary-dialog-button{
 grid-column:3;grid-row:1/3;justify-self:stretch;box-sizing:border-box;min-width:44px;min-height:46px;
 padding:10px 12px;border:0;border-radius:8px;background:#111820;color:white;
 font:650 12px/1.25 Outfit,system-ui,sans-serif;text-shadow:none;letter-spacing:0;box-shadow:0 2px 0 #05080c;
 cursor:pointer;touch-action:manipulation;transition:transform .08s,background .12s;white-space:normal;
}
.bava-feature-menu .offer>button:active,.bava-feature-confirm .primary-dialog-button:active{transform:translateY(2px);box-shadow:none}
.bava-feature-menu button:disabled,.bava-feature-confirm button:disabled{opacity:.45;cursor:default}
.bava-feature-menu :is(button,summary):focus-visible,.bava-feature-confirm button:focus-visible{outline:2px solid #111820;outline-offset:3px}
.bava-feature-menu .feature-scene{
 grid-column:1;grid-row:1/3;box-sizing:border-box;position:relative;align-self:stretch;
 width:96px;min-height:92px;height:auto;max-height:130px;border:0;border-radius:8px;
 background:#091d30;box-shadow:none;overflow:hidden;transform:none;
}
.bava-feature-menu .feature-scene::before{content:none}
.bava-feature-menu .feature-socket{position:absolute;display:block;left:2px;top:13px;width:52px;height:52px}
.bava-feature-menu .feature-socket-1{left:24px;top:5px}
.bava-feature-menu .feature-socket-2{left:44px;top:28px}
.bava-feature-menu .offer[data-skin=wide] .feature-socket-1,.bava-feature-menu .offer[data-skin=wide] .feature-socket-2{left:44px;width:48px;height:48px}
.bava-feature-menu .feature-art-caption{position:absolute;left:2px;right:2px;bottom:5px;text-align:center;color:#fff;font:600 7px/1 Outfit,system-ui,sans-serif}
.bava-feature-menu .feature-art-badge{font-size:16px}
.bava-feature-confirm{position:relative;padding:24px}
.bava-feature-confirm .close{right:10px;top:10px}
.bava-feature-confirm h1{padding-right:40px}
.bava-feature-confirm p{margin:18px 0;white-space:pre-line}
.bava-feature-confirm .primary-dialog-button{width:100%}
@media(max-width:520px){
 .bava-feature-menu{padding:0 12px 14px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
 .bava-feature-menu .feature-dialog-header{padding-top:16px;margin-bottom:10px}
 .bava-feature-menu .offer{grid-template-columns:72px minmax(0,1fr);gap:6px 12px;padding:12px}
 .bava-feature-menu .feature-scene{width:72px;min-height:94px;grid-row:1/4;max-height:120px}
 .bava-feature-menu .feature-socket{width:43px;height:43px;left:0;top:14px}
 .bava-feature-menu .feature-socket-1{left:15px;top:7px}
 .bava-feature-menu .feature-socket-2{left:29px;top:32px}
 .bava-feature-menu .offer[data-skin=wide] .feature-socket-1,.bava-feature-menu .offer[data-skin=wide] .feature-socket-2{left:28px;width:42px;height:42px}
 .bava-feature-menu .feature-art-caption{font-size:6px}
 .bava-feature-menu .offer>button{grid-column:2;grid-row:3;width:100%;max-width:none}
 .bava-feature-menu .offer h2{font-size:14px}
 .bava-feature-menu .feature-full-cost strong{font-size:20px}
}
@media(hover:hover){.bava-feature-menu button:hover:not(:disabled),.bava-feature-confirm button:hover:not(:disabled){filter:brightness(1.15)}}
@media(prefers-reduced-motion:reduce){.bava-feature-menu *,.bava-feature-confirm *{transition:none!important}}
