/* Provider demos have their own clearly labelled virtual-wallet player. */
.tts-demo-panel button,#lobby-slots button,.tts-demo-actions a { min-height:44px; padding:11px 18px; border:1px solid var(--line); border-radius:10px; background:var(--raised); color:var(--ink); font:inherit; font-size:14px; font-weight:700; cursor:pointer; text-decoration:none; }
.tts-demo-panel button:focus-visible,#lobby-slots button:focus-visible,.tts-demo-actions a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
body[data-game-provider="bluerabbit"] #games-hub .game-content>.game-panels>#trytostart-demo-panel { gap:16px; padding:20px; }
#games-hub[data-external-game="trytostart-demo"] .provider-tools { visibility:hidden; }
.tts-demo-toolbar { display:contents; }
.tts-demo-toolbar p { margin:0; color:var(--muted); font-size:13px; line-height:1.4; }
.tts-demo-toolbar>strong { margin-inline-start:auto; color:var(--accent); font-size:14px; font-variant-numeric:tabular-nums; }
.tts-demo-sync-note { margin:0; color:var(--muted); font-size:12px; line-height:1.5; }
.tts-demo-status { max-width:650px; margin:auto; padding:36px 16px 12px; text-align:center; color:var(--ink); font-size:15px; line-height:1.6; }
.tts-demo-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; }
.tts-demo-actions:empty { display:none; }
.tts-demo-search,.tts-demo-select { min-height:44px; min-width:0; width:100%; padding:11px 14px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--ink); font:inherit; }
.tts-demo-search:focus-visible,.tts-demo-select:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.tts-slot-controls { display:grid; grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.tts-demo-games-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-content:start; gap:16px; }
#lobby-slots .tts-demo-game { position:relative; display:block; width:100%; min-width:0; min-height:0; aspect-ratio:3/4; margin:0; padding:0; overflow:hidden; border:0; border-radius:16px; background:var(--surface); }
.tts-demo-game>img { display:block; width:100%; height:100%; object-fit:contain; border-radius:16px; transition:filter .15s,transform .15s; }
.tts-demo-game:hover>img { transform:translateY(-2px); filter:brightness(1.07); }
.tts-demo-game[data-has-art="true"]>strong,.tts-demo-game[data-has-art="true"]>.tts-demo-game-provider { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.tts-demo-game[data-has-art="false"]>strong { position:absolute; inset:40% 12px auto; font-size:16px; line-height:1.4; overflow-wrap:anywhere; text-align:center; }
.tts-demo-game[data-has-art="false"]>.tts-demo-game-provider { position:absolute; inset:20px 12px auto; color:var(--muted); font-size:11px; text-align:center; }
.tts-demo-game-mode { position:absolute; inset:8px 8px auto auto; padding:4px 8px; border:1px solid #ffffff40; border-radius:6px; background:#080c20dd; color:#fff; font-size:11px; }
.tts-slot-more { display:flex; justify-content:center; margin-top:20px; }
#lobby-slots .tts-slot-more button { width:min(100%,260px); }
.tts-demo-frame-holder { width:100%; min-width:0; min-height:460px; aspect-ratio:16/10; background:#060b14; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.tts-demo-frame { display:block; width:100%; height:100%; min-height:460px; border:0; }
.tts-demo-panel [hidden],#lobby-slots [hidden] { display:none!important; }
@media(max-width:900px) {
  .tts-demo-games-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .tts-slot-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tts-slot-controls .tts-demo-search { grid-column:1/-1; }
}
@media(max-width:760px) {
  body[data-game-provider="bluerabbit"] #games-hub .game-content>.game-panels>#trytostart-demo-panel { padding:12px; gap:12px; }
  .tts-demo-toolbar>strong { width:100%; margin:0; }
  .tts-demo-frame-holder { aspect-ratio:auto; height:calc(100svh - 240px); min-height:460px; max-height:800px; border-radius:8px; }
  .tts-demo-frame { min-height:0; }
}
@media(max-width:380px) {
  .tts-demo-games-list { gap:10px; }
  .tts-demo-game-mode { inset:5px 5px auto auto; padding:2px 4px; font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
  .tts-demo-game>img { transition:none; }
  .tts-demo-game:hover>img { transform:none; }
}

/* Keep the game and its three actions together, including on narrow screens. */
.tts-slot-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:12px; width:100%; }
.tts-slot-actions > :is(button,a) { display:flex; align-items:center; justify-content:center; gap:9px; min-width:0; min-height:48px; margin:0; padding:12px 14px; border:1px solid var(--line); border-radius:10px; background:var(--raised); color:var(--ink); font:inherit; font-size:14px; font-weight:700; line-height:1.2; text-align:center; text-decoration:none; cursor:pointer; }
.tts-slot-actions > :is(button,a):hover:not(:disabled) { border-color:var(--accent); filter:brightness(1.08); }
.tts-slot-actions > :is(button,a):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.tts-slot-actions > button:disabled { opacity:.45; cursor:not-allowed; }
.tts-slot-actions > #tts-slot-deposit { background:var(--neon,var(--accent)); border-color:transparent; color:var(--theme-on-accent,#fff); }
.tts-slot-action-icon { display:inline-flex; align-items:center; justify-content:center; flex:none; width:20px; height:20px; font:500 25px/1 system-ui,sans-serif; }
#trytostart-demo-panel:fullscreen,#trytostart-demo-panel:-webkit-full-screen { display:flex!important; flex-direction:column; width:100%; height:100%; min-height:0; max-height:none; box-sizing:border-box; padding:12px!important; overflow:hidden; background:var(--paper,#101124); }
#trytostart-demo-panel:fullscreen .tts-demo-frame-holder,#trytostart-demo-panel:-webkit-full-screen .tts-demo-frame-holder { flex:1; height:auto; min-height:0; max-height:none; aspect-ratio:auto; }
#trytostart-demo-panel:fullscreen .tts-demo-frame,#trytostart-demo-panel:-webkit-full-screen .tts-demo-frame { min-height:0; }
#trytostart-demo-panel:fullscreen .tts-slot-actions,#trytostart-demo-panel:-webkit-full-screen .tts-slot-actions { flex:none; }
@media(max-width:600px) {
  .tts-slot-actions { gap:8px; }
  .tts-slot-actions > :is(button,a) { min-height:46px; padding:10px 6px; gap:5px; font-size:12px; }
  .tts-slot-action-icon { width:17px; height:20px; font-size:22px; }
}

/* Account slot library: sibling star controls keep launching and saving separate. */
.tts-library-filters { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px; }
#lobby-slots .tts-library-filters button { border-radius:999px; min-height:44px; padding:10px 18px; background:transparent; color:var(--muted); }
#lobby-slots .tts-library-filters button[aria-pressed="true"] { background:var(--accent); border-color:var(--accent); color:var(--theme-on-accent,#fff); }
.tts-library-feedback { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0 0 12px; }
.tts-library-feedback:has(>[hidden]):not(:has(>:not([hidden]))) { display:none; }
.tts-library-feedback p { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.tts-library-feedback a { display:inline-flex; align-items:center; min-height:44px; color:var(--accent); font-weight:700; }
.tts-demo-tile { position:relative; min-width:0; }
#lobby-slots .tts-slot-favorite { position:absolute; z-index:1; inset:6px 6px auto auto; display:grid; place-items:center; width:44px; height:44px; min-height:44px; margin:0; padding:0; border:1px solid #ffffff3d; border-radius:12px; background:#101022d9; color:#fff; font:400 27px/1 system-ui,sans-serif; box-shadow:0 2px 8px #0004; }
#lobby-slots .tts-slot-favorite[aria-pressed="true"] { color:#ffd775; }
#lobby-slots .tts-slot-favorite:disabled { opacity:.5; cursor:wait; }
#lobby-slots .tts-slot-favorite:focus-visible { outline:2px solid #ffd775; outline-offset:2px; }
.tts-demo-tile .tts-demo-game-mode { inset-inline-end:auto; inset-inline-start:8px; }
@media(max-width:600px) {
  .tts-library-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  #lobby-slots .tts-library-filters button { padding:9px 6px; font-size:12px; }
  #lobby-slots .tts-slot-favorite { inset:4px 4px auto auto; border-radius:10px; }
}

/* Slots maintenance leaves the other lobby categories and their players intact. */
#lobby-slots[data-slots-maintenance="true"] #tts-slots-controls { display:none!important; }
#lobby-slots .tts-slots-maintenance { display:flex; align-items:flex-start; gap:12px; padding:20px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink); }
#lobby-slots .tts-slots-maintenance>svg { flex:none; width:22px; height:22px; margin-top:1px; fill:none; stroke:var(--muted); stroke-width:1.7; stroke-linecap:round; }
#lobby-slots .tts-slots-maintenance>p { margin:0; font:500 14px/1.65 var(--body); overflow-wrap:anywhere; }
@media(max-width:600px) { #lobby-slots .tts-slots-maintenance { padding:16px; gap:10px; } }
