/* Royal Lounge V3. Existing gameplay grid, seats, table, dealer and cards retain their geometry. */
.v3-admin-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.v3-admin-group{grid-column:1/-1;border:1px solid #bd9c5733;border-radius:9px;padding:10px;margin:6px 0}.v3-admin-group summary{font-size:12px;color:#d9c79c;cursor:pointer}.v3BossProfile{border-top:1px solid #bda46b44;padding:12px 0}.v3-admin-fields label{font-size:11px}.v3-admin-fields input,.v3-admin-fields select{padding:7px;min-height:32px}.v3BotLifecycle .actions button{min-width:32px;padding:5px 8px}
/* Product sizing corrections are confined to the shop, never the game cards. */
.boutique-results .shop-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),310px));justify-content:start}.shop-item{max-width:310px;min-width:0}.shop-item img{object-fit:contain}.cosmetic-stage .identity-preview-stage{width:100%;min-height:270px;display:flex;align-items:center;justify-content:center;flex-direction:column}.cosmetic-stage .identity-preview-portrait{width:clamp(110px,25vw,190px);aspect-ratio:1}.cosmetic-stage .identity-preview-portrait .arcade-avatar{width:100%;height:100%;margin:0}.cosmetic-stage .playing-card{aspect-ratio:5/7}.arcade-avatar>.avatar-energy,.arcade-avatar>.phantom-wings{position:absolute!important;inset:-13%!important;width:126%!important;height:126%!important;max-width:none;pointer-events:none;transform-origin:center}.arcade-avatar>img{object-fit:cover}.arcade-avatar>i{inset:auto 0 -4px auto;transform:none}.deck-preview,.playing-card,.card-fx{isolation:isolate}.card-fx{overflow:hidden;pointer-events:none}.vf-premium-canvas{clip-path:inset(0 round 12px)}
/* Compact buttons stay in their current toolbar, with no breakpoint changes. */
:is(.table-action-bar,.table-communication-bar,.room-header-actions) button{font:500 11px/1.25 system-ui;min-height:34px;padding:7px 10px;border-radius:8px;background:linear-gradient(#234335,#11281f);border-color:#c4ab6c50;box-shadow:inset 0 1px #ffffff0b,0 2px 4px #0003;text-shadow:none}:is(.table-action-bar,.table-communication-bar,.room-header-actions) button:hover{border-color:#d6bd7b99;box-shadow:inset 0 1px #fff1,0 0 9px #d7ba6520}:is(.table-action-bar,.room-header-actions) button:focus-visible{outline:2px solid #e6cb86;outline-offset:2px}:is(.table-action-bar,.room-header-actions) button[disabled]{opacity:.45;filter:saturate(.4)}
body[data-environment]{--vf-accent:var(--v3-env-metal);--vf-felt:var(--v3-env-felt);--vf-bg:var(--v3-env-room);background:radial-gradient(ellipse at 50% 30%,var(--v3-env-felt),var(--v3-env-room) 75%)!important}body[data-environment] :is(.table-felt,.table,.arena){background-image:url('/visual/art/felt-grain.svg'),radial-gradient(ellipse,var(--v3-env-felt),var(--v3-env-room));border-color:var(--v3-env-metal);box-shadow:inset 0 0 30px #0009,0 0 0 1px #ffffff0c,0 16px 28px #0006}body[data-environment] :is(.panel,.bet-panel,.bet-column,.rule-strip,.waiting-rules,.side-panel){background:linear-gradient(135deg,var(--v3-env-felt),var(--v3-env-room));border-color:color-mix(in srgb,var(--v3-env-metal) 40%,transparent)}
body[data-environment=phantom-manor]{background-image:url('/visual/art/manor.svg'),radial-gradient(ellipse at 50% 30%,#28193b,#090912 80%)!important;background-size:cover}body[data-environment=celestial-observatory]{background-image:radial-gradient(1px 1px at 22% 16%,#f4e0ac 80%,transparent),radial-gradient(2px 2px at 78% 25%,#a6c9f1 80%,transparent),linear-gradient(#142847,#060d1e)!important;background-size:170px 180px,270px 300px,cover}body[data-environment=enchanted-conservatory]{background-image:url('/visual/art/arcana-tracery.svg'),linear-gradient(#102f24,#061811)!important}body[data-environment=obsidian-sovereign]{background-image:repeating-linear-gradient(120deg,#ffffff04 0 1px,transparent 1px 110px),linear-gradient(#202631,#06090e)!important}
.v3-environment-preview{--v3-env-felt:#174533;--v3-env-room:#071811;--v3-env-metal:#b89456;position:relative;isolation:isolate;width:100%;min-height:260px;padding:25px 18px 16px;background:radial-gradient(ellipse,var(--v3-env-felt),var(--v3-env-room));border:1px solid var(--v3-env-metal);border-radius:14px;overflow:hidden;text-align:center}.v3-environment-preview[data-environment=royal-amethyst]{--v3-env-felt:#392447;--v3-env-room:#110b1b}.v3-environment-preview[data-environment=celestial-observatory]{--v3-env-felt:#162c4c;--v3-env-room:#060f23}.v3-environment-preview[data-environment=enchanted-conservatory]{--v3-env-felt:#1a4834;--v3-env-room:#061c16}.v3-environment-preview[data-environment=obsidian-sovereign]{--v3-env-felt:#181d25;--v3-env-room:#070a0d}.v3-environment-preview[data-environment=phantom-manor]{--v3-env-felt:#291b3d;--v3-env-room:#090912;background-image:url('/visual/art/manor.svg'),radial-gradient(ellipse,#291b3d,#090912);background-size:cover}.v3-studio-table{position:relative;width:88%;height:140px;margin:32px auto 24px;border-radius:48%;border:12px solid #251e1a;outline:1px solid var(--v3-env-metal);background:radial-gradient(ellipse,var(--v3-env-felt),var(--v3-env-room));box-shadow:inset 0 0 0 1px var(--v3-env-metal),inset 0 0 25px #0008,0 15px 18px #0007}.v3-studio-pot{position:absolute;left:38%;top:50%;font-size:21px;color:var(--v3-env-metal)}.v3-studio-deck{position:absolute;left:70%;top:30%;width:27px;height:36px;background:#181d28;border:1px solid var(--v3-env-metal);border-radius:4px;box-shadow:2px 2px #15191c,4px 4px #b6a97d}.v3-studio-chips{position:absolute;left:17%;top:20%;color:#bfa776;letter-spacing:-3px}.v3-studio-card{position:absolute;left:46%;top:12%;width:24px;height:33px;background:#e8ddbe;color:#173e31;border-radius:3px;font:12px Georgia}.v3-environment-preview small{font:10px system-ui;color:#c7c5b5}.v3-env-tools{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:8px}.v3-env-tools button{font-size:11px;padding:6px 9px}
.v3-result-overlay{position:fixed;z-index:90;pointer-events:none;left:50%;top:28%;transform:translateX(-50%);max-width:min(90vw,420px);padding:12px 22px;border:1px solid #cfb87966;border-radius:12px;background:#0c1b18eb;color:#e7d29b;text-align:center;box-shadow:0 12px 35px #0008;font:600 14px system-ui}.v3-result-overlay small{display:block;color:#d2d3c6;font:11px/1.6 system-ui}.v3-result-overlay[data-outcome=LOSS],.v3-result-overlay[data-outcome=POST]{color:#e3a3a0;border-color:#b8676055}.v3-result-overlay[data-outcome=TIE]{color:#abcadd}.v3-result-badge{position:absolute;left:50%;top:-10px;transform:translateX(-50%);z-index:12;padding:2px 6px;background:#14281f;border:1px solid #c8af69;border-radius:5px;font:700 9px/1.4 system-ui;white-space:nowrap;pointer-events:none}.v3-disabled-hit{position:fixed;z-index:1200;background:transparent;border:0;border-radius:8px;padding:0;margin:0;cursor:help}.v3-disabled-hit:focus-visible{outline:2px solid #ddca8c}.v3-action-reason{position:fixed;z-index:1300;left:50%;bottom:18px;transform:translateX(-50%);max-width:min(92vw,430px);padding:10px 14px;border-radius:10px;background:#10251ff5;border:1px solid #d6bc78;color:#eee3c6;font:12px/1.6 system-ui;pointer-events:none}.v3-ball-flight{position:fixed;z-index:100;pointer-events:none;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#fff,#e6e4d1 60%,#777e72);border:3px solid var(--ball-color,#aa8544);color:#172820;font:700 14px system-ui;box-shadow:0 6px 12px #0007}.number-chart>span.called{background:radial-gradient(circle at 35% 25%,#e9eedf,#7f9b7f)!important;color:#10261e;border-color:#dfcca1;box-shadow:inset 0 -2px 4px #0004}.number-chart>span.v3-newest{outline:1px solid #f1d488;outline-offset:-2px}.v3-last-result{font-size:11px;color:#d3c294}
.pumpkin-preview-balls,.pumpkin-machine .cage-window{visibility:hidden!important}.v3-machine-part{transform-box:fill-box;transform-origin:center}.v3-machine-ripple{pointer-events:none;transform-origin:center;transform-box:fill-box}.pumpkin-machine:not(.rolling):not(.releasing) .escaping-ball{visibility:hidden}.fairy-spoon{transform-origin:50% 80%;clip-path:polygon(0 0,100% 0,100% 87%,0 87%)}
@media(prefers-reduced-motion:reduce){.v3-environment-preview *,.v3-machine-part,.v3-result-badge{animation:none!important;transition:none!important}}

/* Original heraldic reverse, and anchored elemental effects. */
.back-elements-crest-back .playing-card.card-back,.deck-back-elements-crest-back>.back{background:#0a1420 url('/visual/art/elements-crest.svg') center/contain no-repeat!important;color:transparent}.back-elements-crest-back .playing-card.card-back>strong,.back-elements-crest-back .playing-card.card-back>small{visibility:hidden}.element-1 svg stop:first-child{stop-color:#dff9ff}.element-1 svg stop:last-child{stop-color:#123f70}.face-cursed-pumpkin .playing-card,.deck-face-cursed-pumpkin .face,.back-midnight-graveyard .playing-card,.deck-back-midnight-graveyard .back{background-size:cover!important;background-position:center!important}.face-cursed-pumpkin .playing-card:before,.deck-face-cursed-pumpkin .face:before{inset:0!important;clip-path:inset(0 round 8px)}

.v3-ladle-depth{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,100% 43%,0 43%);z-index:4;pointer-events:none}.v3-element-energy{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.v3-element-energy .v3-bat{opacity:0;transform-origin:50% 65%;transform-box:fill-box}.vf-ornament{overflow:hidden}

.v3-disabled-hit{min-height:0;line-height:0;background:transparent!important;border:0!important;box-shadow:none!important}

/* Bounded display-only atmosphere. It never participates in the table layout. */
.v3-environment-atmosphere{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;contain:strict;opacity:.4}.v3-environment-atmosphere i{position:absolute;left:calc(9% + var(--mote)*16%);top:110%;width:3px;height:3px;border-radius:50%;background:var(--v3-env-metal);box-shadow:0 0 7px var(--v3-env-metal);animation:v3-atmosphere 18s linear infinite;animation-delay:calc(var(--mote)*-3s)}.v3-environment-atmosphere[data-environment=enchanted-conservatory] i{width:10px;height:5px;border-radius:70% 0;background:#78aa75;opacity:.3}.v3-environment-atmosphere[data-environment=celestial-observatory] i{width:2px;height:2px;background:#d4e8ff;animation-duration:30s}.v3-environment-atmosphere[data-environment=phantom-manor] i{width:120px;height:40px;border-radius:50%;background:radial-gradient(ellipse,#8a68a133,transparent 70%);box-shadow:none;animation-duration:24s}.v3-environment-atmosphere[data-environment=obsidian-sovereign] i{width:1px;height:45px;border-radius:0;opacity:.15}.v3-environment-atmosphere[data-environment=royal-amethyst] i{background:#ce9ede;box-shadow:0 0 12px #ab77c2}
@keyframes v3-atmosphere{0%{transform:translate3d(0,0,0) rotate(0);opacity:0}15%,75%{opacity:.45}100%{transform:translate3d(40px,-120vh,0) rotate(75deg);opacity:0}}
html[data-vf-motion=off] .v3-environment-atmosphere,html[data-vf-hidden=true] .v3-environment-atmosphere{display:none}@media(prefers-reduced-motion:reduce){.v3-environment-atmosphere{display:none}}
.v3-last-result{float:right;max-width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Keep the collectible reverse ornament visible while its legacy text stays hidden. */
.back-midnight-graveyard .card-back>.vf-ornament{visibility:visible}
