/* Scoped to the tournament entry and browser; the existing lobby art remains in place. */
/* poker.css's landscape-only table gate must not hide the lobby in portrait. */
@media(max-width:900px) and (orientation:portrait) {
  html:has(body.stake-select-page) { height:auto; overflow:auto !important; background:#06151e; }
  html:has(body.stake-select-page .tournament-browser[open]) { overflow:hidden !important; }
  body.stake-select-page { height:auto; overflow:auto !important; background:url('/assets/PokerLobbyBackground.png?v=lobby-bg-1') center / cover no-repeat fixed !important; }
  body.stake-select-page:has(.tournament-browser[open]) { overflow:hidden !important; }
  body.stake-select-page::before { display:none !important; }
  body.stake-select-page > * { visibility:visible !important; }
  .stake-select-page .nolimit-final-stack,.stake-select-page .tournament-png-stack { height:auto !important; aspect-ratio:520 / 315; }
  .stake-select-page .tournament-png-sitgo,.stake-select-page .sitgo-exact-click-zone { top:71.43% !important; }
  .stake-select-page .sitgo-exact-click-zone { height:22.22% !important; }
  .stake-select-page .weekly-hover-zone { top:72.06% !important; height:22.22% !important; }
  .stake-select-page #kasplay-public-info-footer { position:relative !important; bottom:auto !important; margin:28px 0 16px; }
  .stake-select-page .kasplay-footer-pill { flex-wrap:wrap; white-space:normal !important; line-height:1.5 !important; }
}
.tournament-browser-open { position:absolute; inset:0 0 29%; width:100%; border:0; background:transparent; cursor:pointer; pointer-events:auto; border-radius:22px; }
.tournament-browser-open:focus-visible { outline:3px solid #73e7d8; outline-offset:-12px; }
.stake-select-page .weekly-hover-zone {
  cursor:pointer !important; color:#ffe1a0 !important;
  background:linear-gradient(180deg,#694a1e,#30220e) !important;
  border:2px solid #bd9146 !important; border-radius:14px;
  box-shadow:inset 0 0 0 3px #352914,0 5px 16px #0008 !important;
  font:800 clamp(12px,1.2vw,17px)/1.2 system-ui; letter-spacing:.04em;
  transition:filter .18s,transform .18s;
}
.weekly-hover-zone span { display:block; font-size:10px; font-weight:500; margin-top:5px; letter-spacing:0; color:#eddbb7; }
.stake-select-page .weekly-hover-zone:hover { filter:brightness(1.2); transform:translateY(-2px); }
.stake-select-page .weekly-hover-zone:focus-visible { outline:3px solid #73e7d8; outline-offset:3px; }
.tournament-browser { --tb-gold:#f3cd82; --tb-teal:#83ead8; color:#f4f5f3; background:linear-gradient(145deg,#14272b,#0d181d 60%); border:1px solid #98783f; border-radius:24px; width:min(960px,calc(100vw - 40px)); max-width:none; max-height:calc(100dvh - 48px); padding:0; box-shadow:0 28px 100px #000b,0 0 45px #51cdbc12; text-align:left; font:14px/1.5 system-ui,sans-serif; overscroll-behavior:contain; color-scheme:dark; }
.tournament-browser[open] { animation:tb-enter .22s ease-out; }
.tournament-browser::backdrop { background:#020b11ba; backdrop-filter:blur(4px); animation:tb-fade .22s ease-out; }
.tournament-browser * { box-sizing:border-box; }
.tournament-browser button,.tournament-browser a { font:inherit; }
.tournament-browser button { cursor:pointer; }
.tournament-browser button:disabled { cursor:wait; opacity:.55; }
.tournament-browser :focus-visible { outline:3px solid var(--tb-teal); outline-offset:4px; }
.tb-header { display:flex; justify-content:space-between; gap:20px; padding:30px 30px 22px; background:radial-gradient(ellipse at top left,#28594c66,transparent 75%); }
.tb-eyebrow { color:var(--tb-gold); font-size:10px; font-weight:750; letter-spacing:.17em; margin:0 0 10px; }
.tb-header h2 { font:600 clamp(24px,4vw,32px)/1.2 Georgia,serif; margin:0; color:#fff0d2; }
.tb-subtitle { color:#adbdc0; margin:10px 0 0; }
.tb-close { display:grid; place-content:center; flex-shrink:0; width:40px; height:40px; border:1px solid #ffffff26; border-radius:50%; color:#f7e7c7; background:#ffffff08; font-size:26px !important; line-height:1 !important; }
.tb-close:hover { background:#ffffff18; }
.tb-filters { display:flex; gap:8px; padding:0 30px 20px; border-bottom:1px solid #ffffff12; }
.tb-filters button { border:1px solid #ffffff26; border-radius:30px; color:#bccbcd; background:transparent; padding:9px 16px; }
.tb-filters button[aria-pressed=true] { background:#83ead819; color:var(--tb-teal); border-color:#83ead87a; }
.tb-toolbar { display:flex; justify-content:space-between; align-items:center; padding:16px 30px; color:#a7b8bc; font-size:12px; }
.tb-refresh { border:0; background:none; color:var(--tb-teal); padding:8px; }
.tb-content { padding:0 30px 24px; }
.tb-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.tb-card { padding:22px; border:1px solid #ffffff1f; border-radius:16px; background:linear-gradient(135deg,#213137a8,#152127); min-width:0; overflow-wrap:anywhere; }
.tb-badges { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:10px; }
.tb-format { color:var(--tb-gold); background:#e8bd6513; border:1px solid #e8bd653b; padding:3px 7px; border-radius:5px; font-weight:750; letter-spacing:.08em; }
.tb-entry { color:var(--tb-teal); }
.tb-status { margin-left:auto; text-transform:capitalize; color:#bbc7ca; }
.tb-card h3 { font:600 20px/1.3 Georgia,serif; color:#fff0d2; margin:16px 0 20px; }
.tb-info { display:grid; grid-template-columns:1fr 1fr; gap:16px 12px; margin:0; }
.tb-info dt { color:#9eb1b5; font-size:11px; margin-bottom:4px; }
.tb-info dd { margin:0; font-weight:600; font-size:13px; }
.tb-blinds { margin-top:18px; font-size:12px; color:#b4c5c8; }
.tb-blinds summary { cursor:pointer; color:var(--tb-teal); padding:4px 0; }
.tb-blinds ol { max-height:180px; overflow:auto; padding-left:24px; }
.tb-controls { border-top:1px solid #ffffff13; margin-top:20px; padding-top:18px; }
.tb-action { display:inline-block; border:1px solid #f1cf8c; background:linear-gradient(135deg,#f1d59b,#c49b50); color:#1b211d; border-radius:9px; padding:10px 18px; text-decoration:none; font-weight:750 !important; transition:filter .15s; }
.tb-action:hover { filter:brightness(1.1); }
.tb-hint { color:#afc0c3; font-size:12px; margin:12px 0 0; }
.tb-hint:first-child { margin-top:0; }
.tb-notice { border:1px solid #83ead82c; background:#83ead808; border-radius:12px; padding:14px 18px; margin-bottom:16px; color:#c2d6d7; }
.tb-notice p { margin:0; }
.tb-notice .tb-action { margin-top:12px; }
.tb-empty { text-align:center; padding:34px 16px 48px; color:#adbdc0; }
.tb-empty h3 { font:600 24px Georgia,serif; color:#f3dfb9; margin:12px 0; }
.tb-empty p { max-width:390px; margin:0 auto; }
.tb-empty-icon { font-size:48px; color:var(--tb-gold); }
.tb-results { margin-top:20px; border-top:1px solid #ffffff26; }
.tb-results h4 { color:var(--tb-gold); }
.tb-results ol { list-style:none; padding:0; }
.tb-results li { padding:6px 0; }
.tb-footer { padding:16px 30px; border-top:1px solid #ffffff12; color:#91a7ac; font-size:11px; }
@keyframes tb-enter { from { opacity:0; transform:translateY(12px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes tb-fade { from { opacity:0; } to { opacity:1; } }
@media(max-width:640px) {
  .tournament-browser { width:calc(100vw - 20px); max-height:calc(100dvh - 24px); border-radius:18px; }
  .tb-header { padding:24px 18px 20px; gap:10px; }
  .tb-subtitle { font-size:12px; }
  .tb-filters { padding:0 18px 16px; gap:6px; }
  .tb-filters button { flex:1; padding:9px 6px; font-size:11px; white-space:nowrap; }
  .tb-toolbar { padding:10px 18px; }
  .tb-content { padding:0 18px 18px; }
  .tb-grid { grid-template-columns:1fr; }
  .tb-card { padding:18px; }
  .tb-footer { padding:14px 18px; }
}
@media(prefers-reduced-motion:reduce) { .tournament-browser[open],.tournament-browser::backdrop { animation:none; } }
