/* 2026-10-28: signed-in Play home. The head script sets html.signed-in before paint, so guest content never shows
   to a signed-in player, and a [hidden] element stays hidden even when its class sets display. */
html.signed-in .guest-only{display:none!important}
html:not(.signed-in) .signed-only{display:none!important}
[hidden]{display:none!important}
html:not(.signed-in):not(.guest-play) #lobby{max-width:none;padding:0}
html:not(.signed-in):not(.guest-play) #lobby>*:not(#gate){display:none!important}
html:not(.signed-in):not(.guest-play) .honor,html:not(.signed-in):not(.guest-play) .open-access{display:none!important}
html.signed-in #gate,html.guest-play #gate{display:none!important}
.gate{min-height:100dvh;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;max-width:100%;overflow-x:hidden;padding:12px 16px 0;text-align:center;color:#fff;
  background:
    radial-gradient(70% 42% at 50% 0%, rgba(120,170,255,.55), transparent 68%),
    linear-gradient(180deg, #1a4eae 0%, #12357a 38%, #0a1848 100%)}
.gate-logo{display:block;width:auto;height:160px;max-width:100%;margin:0 auto 6px;object-fit:contain;object-position:center;background:none;border:0;border-radius:0;box-shadow:none}
.gate-title{margin:0 auto;max-width:100%;font-size:clamp(32px,8.6vw,68px);line-height:.95;font-weight:800;letter-spacing:-.03em;color:#fff;
  text-shadow:0 3px 0 #9b1c1c,2px 2px 0 #9b1c1c,-2px 2px 0 #9b1c1c,2px 0 0 #9b1c1c,-2px 0 0 #9b1c1c}
.gate-title .gate-line{display:block;white-space:nowrap}
.gate-title .yel{color:#ffe14a}
.gate-tag{margin:8px auto 0;max-width:100%;font-weight:800;font-size:clamp(18px,4.8vw,26px);line-height:1.15;letter-spacing:-.015em;color:#ffe14a}
.gate-tag span{display:block}
.gate-pills{display:flex;justify-content:center;gap:8px;margin:10px 0 4px;max-width:100%;flex-wrap:nowrap}
.gate-pill{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;color:#fff;font-weight:800;font-size:14px;white-space:nowrap}
.gate-pill.g{background:#1f9d4a}
.gate-pill.c{background:#d21f3c}
.gate-pill.p{background:#7a3db8}
.gate-scene{width:min(920px,100%);margin:0 0 6px;line-height:0}
.gate-scene img{width:100%;height:auto;display:block;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 8%,#000 96%,transparent 100%),linear-gradient(90deg,transparent 0%,#000 3%,#000 97%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(180deg,transparent 0%,#000 8%,#000 96%,transparent 100%),linear-gradient(90deg,transparent 0%,#000 3%,#000 97%,transparent 100%);
  mask-composite:intersect}
.gate-actions{display:flex;flex-direction:column;align-items:stretch;gap:0;width:min(420px,100%)}
.gate-form{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left}
.gate-form[hidden],#forgotNext[hidden]{display:none!important}
.gate-form label,.gate-lead,.gate-fine{color:#fff}
.gate-lead{margin:0 0 4px;font-weight:800;font-size:18px;text-align:center}
.gate-fine{margin:4px 0 0;font-size:14px;font-weight:700}
.gate-form input:not([type=checkbox]),.gate-form select{width:100%;box-sizing:border-box;min-height:48px;border:0;border-radius:12px;padding:0 12px;background:#fff;color:#142033;font:600 16px/1.2 "Atkinson Hyperlegible",system-ui,sans-serif}
.gate-form select{padding-right:8px}
.gate-pass{position:relative}
.gate-pass input{padding-right:52px}
.gate-eye{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:#12357a;cursor:pointer;display:grid;place-items:center}
.gate-eye[aria-pressed="true"]{color:#9b1c1c}
.gate-err{margin:0;color:#ffd2d2;font-size:14px;font-weight:700;line-height:1.3}
.gate-err:empty{display:none}
.gate-hint{margin:0;color:#ffe14a;font-size:14px;font-weight:700}
.gate-hint:empty{display:none}
.gate-forgot{align-self:flex-start;margin:0 0 4px;padding:0;min-height:44px;border:0;background:none;color:#fff;text-decoration:underline;cursor:pointer;font:700 16px/1 "Atkinson Hyperlegible",system-ui,sans-serif}
.gate-keep{display:flex;align-items:center;gap:8px;min-height:44px;font-weight:700}
.gate-keep input{width:22px;height:22px}
.gate-keep a{color:#ffe14a}
.gate-msg{margin:4px 0;min-height:0;font-weight:700;color:#fff}
.gate-msg:empty{display:none}
.gate-switch{margin:6px 0 0;text-align:center;color:#fff;font-weight:700}
.gate-switch button{min-height:44px;border:0;background:none;color:#ffe14a;text-decoration:underline;cursor:pointer;font:800 18px/1 "Atkinson Hyperlegible",system-ui,sans-serif}
.gate-born{margin:6px 0;padding:0;border:0}
.gate-born legend{font-weight:800;color:#fff;padding:0}
.gate-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gate-go,.gate-reg{width:100%;min-height:54px;border:0;border-radius:999px;cursor:pointer;font:800 22px/1 "Atkinson Hyperlegible",system-ui,sans-serif}
.gate-go{background:#1f9d4a;color:#fff}
.gate-reg{background:#fff;color:#102026}
.gate-guest{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;box-sizing:border-box;width:min(360px,100%);min-height:60px;margin:12px auto 4px;padding:10px 18px;border-radius:18px;cursor:pointer;touch-action:manipulation;font:800 23px/1.1 "Atkinson Hyperlegible",system-ui,sans-serif}
.gate-note{width:min(640px,100%);margin:4px 0 16px;padding:14px 16px;border-radius:18px;background:#fff;color:#142033;text-align:left}
.gate-note p{margin:0;font-size:16px;line-height:1.45}
.gate-foot{margin-top:auto;width:100%;box-sizing:border-box;background:#fff;color:#142033;font-weight:800;font-size:clamp(13px,3.45vw,22px);white-space:nowrap;padding:12px 10px calc(12px + env(safe-area-inset-bottom))}
@media (max-width:420px){
  .gate{padding-top:8px}
  .gate-pill{font-size:12px;padding:0 8px}
  .gate-title{font-size:clamp(30px,8.4vw,34px)}
  .gate-tag{font-size:18px}
  .gate-note{margin-bottom:10px}
  .gate-note p{font-size:15px}
}
@media (min-width:560px){
  .gate-tag span{display:inline}
  .gate-tag span+span::before{content:" "}
}
@media (min-width:900px){
  .gate-actions{align-items:center}
  .gate-form{width:min(420px,100%)}
  .gate-go{width:100%}
}
.brand{flex-wrap:wrap}
.brand img.pd-logo{width:96px;height:auto;object-fit:contain;background:transparent}
#callMenuSlots label,#liveMenuSlots label{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:6px 0}
#callMenuSlots select,#liveMenuSlots select{min-height:44px;min-width:12rem}
.pd-home{margin:10px 0 0;font-size:16px;color:#c3cdc8}
.topbar{flex-wrap:wrap}
.chat-drawer{position:absolute;left:0;right:0;bottom:0;z-index:9;background:#1f2b24;color:#eef2f0;border-top:1px solid #4b5c50;padding:10px;max-height:46%;overflow:auto}
.chat-drawer[hidden],.last-sheet[hidden]{display:none!important}
.last-sheet{position:absolute;right:8px;bottom:8px;z-index:7;width:min(360px,92%);background:#1f2b24;color:#eef2f0;border:1px solid #4b5c50;border-radius:12px;padding:12px}
.speak{box-shadow:0 0 0 3px #7fe0d6}
.dealer-badge{display:inline-flex;align-items:center;gap:6px;background:#17201b;color:#eef2f0;border:1px solid #7fe0d6;border-radius:999px;padding:2px 8px 2px 2px;font-size:13px;font-weight:700}
.dealer-badge img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.rules-ov{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,94%);background:#161a24;color:#f2f4f8;border:1px solid #3a4357;border-radius:14px;padding:16px;z-index:8}
.rules-ov[hidden]{display:none!important}
#callPicker[hidden],#guestPlay[hidden]{display:none!important}
.guest-play{margin-top:4px}
#guestPlayLead{margin:0;font-size:18px;line-height:1.4}
.call-guest-acts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.call-guest-acts .btn{min-width:0;width:100%;height:52px;min-height:52px;max-height:52px;margin:0;padding:0 12px;font-size:16px;font-weight:700;line-height:1.2;box-sizing:border-box;white-space:nowrap}
.chipopt.is-locked{cursor:pointer}
.chipopt.is-locked span{border-style:dashed;opacity:.8}
.chipopt.is-locked .tile-lock{margin-right:6px}
.chipopt.is-deck{cursor:not-allowed}
.chipopt.is-deck span{border-style:dashed;opacity:.45}
#callGames button.is-deck,#callGames button:disabled{opacity:.45;cursor:not-allowed}
#deckNote,#callDeckNote{white-space:pre-line}
html,body{min-height:100dvh}
input,select,textarea{font-size:16px}
/* Poker Pals v2 look. Loaded after poker.css and only overrides it, so the builder's layout rules stay in poker.css.
   Fonts: Atkinson Hyperlegible (SIL OFL 1.1, Braille Institute), self-hosted Latin subset in fonts/. */
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/AtkinsonHyperlegible-Regular-latin.woff2) format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/AtkinsonHyperlegible-Bold-latin.woff2) format("woff2")}

/* "card room" palette: deep green-black and walnut; text in cool greys/white, one accent, sky blue #7cc4ff (QC p11d #7: no black-and-gold) */
:root{--bg:#0d1210;--panel:#17201b;--panel2:#1f2b24;--ink:#eef2f0;--mute:#c3cdc8;--line:#3a4a3f;--accent:#7cc4ff;--go:#1d7a42;--go2:#3aa866;--red:#a83232;--focus:#7fe0d6;
  --wood1:#3a2416;--wood2:#2e1c10}
html,body{font-family:"Atkinson Hyperlegible","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;background:var(--bg)}
body{background:radial-gradient(120% 80% at 50% 0%,#1a2a21 0%,#0d1210 60%) fixed,var(--bg)}
a,.link{color:#9fd0ff}
#pregameDlg:not([open]){display:none}
#pregameDlg{width:min(28rem,calc(100vw - 16px));max-width:100%;max-height:min(96dvh,100%);overflow:auto;padding:12px;border:0;background:#10241c;color:#eef2f0}
#pregameDlg::backdrop{background:rgba(8,14,12,.72)}
.pregame-card{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.pregame-card h2{margin:0;font-size:1.35rem;line-height:1.25}
.pregame-art{display:flex;align-items:flex-end;justify-content:center;gap:8px;width:100%}
.pregame-art img{width:min(28vw,180px);height:auto;max-height:42dvh;object-fit:contain}
.pregame-photo{width:min(100%,450px);height:auto;max-height:min(62dvh,520px);object-fit:contain;display:block}
.pregame-shop{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:999px;background:#1d7a42;color:#eef2f0;font-weight:700;text-decoration:none}
.pregame-count{margin:8px 0 0;text-align:center;font-weight:800;font-size:18px}
#pregameSkip{min-height:44px;min-width:88px;margin-top:8px;border-radius:999px;border:1px solid #1a1e24;background:#fff;color:#1a1e24;font:800 16px/1 "Atkinson Hyperlegible",system-ui,sans-serif;cursor:pointer}
#pregameSkip:disabled{opacity:.55;cursor:default}
.pregame-photo{cursor:pointer}
.pregame-foot{margin:0;color:#c3cdc8}
.pregame-card{animation:pregame-in 1s ease both}
@keyframes pregame-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion: reduce){#pregameDlg .pregame-card{animation:none}}
@media (orientation:landscape) and (max-height:520px),(orientation:landscape) and (pointer:coarse) and (min-height:521px) and (max-height:1100px) and (max-width:1400px){
  #pregameDlg{max-height:96dvh}
  .pregame-art img{max-height:34dvh;width:min(22vw,140px)}
  .pregame-photo{max-height:42dvh;width:auto;max-width:min(92vw,450px);margin:0 auto}
}
#homeDlg{width:min(28rem,calc(100vw - 24px));max-height:min(92dvh,100%);overflow:auto}
#homeDlg .home-step{display:flex;align-items:center;gap:12px;min-height:44px;margin:8px 0}
#homeDlg .home-step svg{flex:0 0 28px;color:#7fe0d6}
#homeInstall,#homeGot,#homeNever,#homeSettings{min-height:44px}
@media (orientation:landscape) and (max-height:520px),(orientation:landscape) and (pointer:coarse) and (min-height:521px) and (max-height:1100px) and (max-width:1400px) {
  #homeDlg{max-height:94dvh}
  #homeSteps{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
}
.howto-pair{display:inline-flex;align-items:center;gap:4px;max-width:100%}
.pick-row{display:flex;align-items:center;gap:8px;max-width:100%}
.pick-row select{flex:1 1 auto;min-width:0;width:100%;min-height:48px}
.rules-preview{margin:6px 0 0}
.seat-note:empty{display:none}
#callGames{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:100%}
#callGames select{flex:1 1 12rem;min-width:0;min-height:48px}
#callGames .rules-preview{flex-basis:100%;margin:0}
.howto-i{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:999px;border:1px solid #7fe0d6;background:#17201b;color:#eef2f0;font:700 18px/1 "Atkinson Hyperlegible",system-ui,sans-serif;cursor:pointer;padding:0}
.howto-i:focus-visible{outline:3px solid #7fe0d6;outline-offset:2px}
.howto-pop{position:fixed;z-index:40;width:min(280px,calc(100vw - 16px));padding:12px;border-radius:12px;border:1px solid #7fe0d6;background:#17201b;color:#eef2f0;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.howto-pop[hidden]{display:none}
.howto-sum{margin:0 0 8px;font-size:15px;line-height:1.4}
.howto-full{min-height:44px}
#howtoDlg{max-width:36rem;color:#eef2f0;background:#17201b;border:1px solid #3a4a3f;border-radius:14px}
#howtoDlg p{font-size:1.05rem;line-height:1.45}

/* lobby panels: soft leather with a brass hairline */
.card{background:linear-gradient(180deg,#213029,#1f2b24);border:1px solid #47584b;box-shadow:0 12px 30px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.08)}
.card h2{color:#ffffff;letter-spacing:.2px}
.brand h1{color:#ffffff;text-shadow:0 2px 0 rgba(0,0,0,.35)}
input[type=number],input:not([type]),select{background:#0e1512;border-color:#4b5c50;color:var(--ink)}
.btn{background:#26332c;border-color:#4b5c50}
.btn.primary{background:linear-gradient(180deg,#1b7440,#155e33);border-color:#52b57a;color:#fff;font-weight:700}
.btn.primary:hover{background:linear-gradient(180deg,#1f7f46,#186838)}
.btn.go{background:linear-gradient(180deg,#1b7440,#155e33);border-color:#52b57a;color:#fff}
.custom-btn{background:#26332c;border-color:#7c8c7e}
.practice-btn{background:linear-gradient(180deg,#24503a,#1a3b2b);border-color:#5bb784}

/* every piece of text at 16px or larger */
.brand h1 small,label,.chk.sm,.hint,.btn.sm,.link,.sched ol,.legal-foot,.notice7a,.tb-info,#banner,#actionBar .notice7a,
dialog h3,.sw,.ad-label,.ad-bay,.ad-disclosure,.bankchip,.preset,.sitin p{font-size:16px}
.hint,.legal-foot{color:#c3cdc8}
.act kbd{font-size:16px;padding:0 5px}
@media (hover:none),(max-width:700px){.act kbd{display:none}}

/* table chrome: walnut top and bottom bars #3a2416/#2e1c10, no brass edge (Mind Check N3); Raise blue #2563c9 */
#table{background:#0b0f0d}
.topbar{background:linear-gradient(180deg,var(--wood1),var(--wood2));border-bottom:1px solid rgba(0,0,0,.45)}
.icon{background:#2b1c12;border-color:#6b5032;color:#ffffff}
.tb-info{color:#ffffff;font-weight:700;font-variant-numeric:tabular-nums}
#actionBar{background:linear-gradient(180deg,var(--wood1),var(--wood2));border-top:1px solid rgba(0,0,0,.45);padding:4px 8px calc(4px + env(safe-area-inset-bottom))}
#actionBar .preacts{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-items:stretch}
#actionBar .chk.pre{min-height:44px;height:44px;max-height:44px;margin:0;padding:0 6px;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;overflow:hidden;font-size:14px;line-height:1;box-sizing:border-box}
#actionBar .chk.pre span{overflow:hidden;text-overflow:ellipsis}
#actionBar .acts{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
#actionBar .act{min-height:44px;height:44px;white-space:nowrap;padding:0 4px;font-size:16px;box-sizing:border-box}
#actionBar .acts2{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;margin-top:6px;align-items:stretch;flex-wrap:unset}
#actionBar .acts2>[hidden]{display:none!important}
#actionBar .acts2 .toolpill,#actionBar .acts2 .chk,#actionBar .acts2 .btn,#actionBar .acts2 .bankchip,#actionBar .acts2 .tb-badge{min-height:44px;height:44px;margin:0;width:100%;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;line-height:1;padding:0 6px}
#actionBar #barNotice{margin:3px 0 0;font-size:11px;line-height:1.2;white-space:nowrap;text-align:center;overflow:hidden;text-overflow:ellipsis}
@media (max-width:430px){#actionBar .act kbd{display:none}}
@media (orientation:landscape) and (max-height:520px),(orientation:landscape) and (pointer:coarse) and (min-height:521px) and (max-height:1100px) and (max-width:1400px){
  #actionBar .preacts,#actionBar .acts,#actionBar .acts2{grid-auto-flow:row;grid-template-columns:minmax(0,1fr);grid-auto-columns:auto}
  #actionBar #barNotice{white-space:normal}
}
#banner,.waitmsg,#hostBar,.paused-ov,.sitin{background:rgba(16,22,18,.95);border-color:#7c8c7e}
.chk.pre{background:#26332c;border-color:#4b5c50}

/* action buttons: 56px, colour-coded, white or near-black text at AA contrast or better
   Fold #ad3434 / white 6.3:1   Check-Call #1b7440 / white 5.8:1   Raise #2563c9 / white 5.7:1 (QC p11d #7: no gold in the table chrome) (Mind Check C1-C4: no mustard, bars lifted off near-black) */
.act{min-height:56px;font-size:18px;letter-spacing:.2px;border-width:2px;box-shadow:0 3px 0 rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.18);transition:transform .08s ease,filter .08s ease}
.act.fold{background:linear-gradient(180deg,#ad3434,#8e2727);color:#fff;border-color:#d06060}
.act.call{background:linear-gradient(180deg,#1b7440,#155e33);color:#fff;border-color:#52b57a}
.act.raise{background:linear-gradient(180deg,#2563c9,#1d50a6);color:#ffffff;border-color:#7cc4ff}
.act:not(:disabled):hover{filter:brightness(1.08)}
.act:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px 0 rgba(0,0,0,.45)}
.act:disabled,.act.raise:disabled{opacity:1;background:#3a4a3f;color:#c3cdc8;border-color:#56685b;box-shadow:none;cursor:default}
.slider input[type=range]{accent-color:#7cc4ff}
@media (orientation:landscape) and (max-height:520px),(orientation:landscape) and (pointer:coarse) and (min-height:521px) and (max-height:1100px) and (max-width:1400px){.act{font-size:16px}}

/* dialogs */
dialog{background:linear-gradient(180deg,#1f2b24,#16201b);border-color:#55684f}
.sw{background:#1f2b24;border-color:#3f5045}.sw[aria-checked=true]{border-color:#ffffff;background:#2a3a30}
.tabs [role=tab]{background:#1f2b24;border-color:#3f5045}.tabs [aria-selected=true]{background:#1d7a42;border-color:#52b57a}

/* motion: nothing animates when the player asks for reduced motion */
@media (prefers-reduced-motion:reduce){.act{transition:none}.act:not(:disabled):active{transform:none}}

/* Mind Check B3: one bot style everywhere, a "Bot" tag (the canvas plate draws the same word) */
.bot-tag{display:inline-block;margin-left:4px;padding:0 7px;border-radius:999px;background:#3a4148;border:1px solid #8a949c;color:#ffffff;font-size:.8em;font-weight:700;line-height:1.5;vertical-align:.1em}
/* the auto-muck checkbox stays 22x22 next to a long label at 320px */
.chk input{flex:none;width:22px;height:22px}
.automuck-link .link{font-size:16px}
.fair-extra{font-weight:700}
/* lobby footer: a wrapping list spaced by gaps, so no line ever starts or ends with a stray dot (320px included) */
.foot-links{list-style:none;padding:0;margin:8px 0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px}
.foot-links li{display:flex;align-items:center}.foot-links a,.foot-links .link{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;margin:0;font-size:15px;line-height:1.3}
/* dialog headings take focus on open (B2) without looking like a control */
h2[tabindex="-1"]:focus,h2[tabindex="-1"]:focus-visible{outline:none}
:focus-visible{outline-offset:2px}
.fairplay p{margin:0 0 10px}.fair-lead{margin-bottom:6px}
.am-hint{margin:2px 0 8px 32px}

/* (the pre-action layout fixes for landscape and 320px now live in poker.css) */

/* Nocturne steel. Cool glass and brushed metal over the locked palette. Motion stays under 3 Hz. */
body{color:var(--ink);background:
  radial-gradient(80% 42% at 50% -8%, rgba(127,224,214,.18), transparent 58%),
  radial-gradient(46% 32% at 100% 0%, rgba(124,196,255,.14), transparent 60%),
  radial-gradient(120% 90% at 50% 120%, #101820 0%, #070b10 72%)}
.lobby-nav{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 8px}
.lobby-nav a{color:#c5e6ff;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid transparent}
.lobby-nav a:hover{border-bottom-color:#7fe0d6}
.brand{padding:8px 4px 4px}
.brand h1{letter-spacing:-.02em;font-weight:700}
.brand .tag:last-of-type{display:inline-block;padding-bottom:6px;background-image:linear-gradient(90deg, transparent, #7fe0d6, #7cc4ff, transparent);background-repeat:no-repeat;background-size:100% 2px;background-position:0 100%}
.brand img.bot-portrait,#youAvatar{width:84px;height:84px;object-fit:cover;border-radius:22px;background:
  radial-gradient(circle at 35% 30%, #46525c, #12181e 70%);
  box-shadow:0 0 0 2px #c5d0d6, 0 0 0 5px #1c262e, 0 14px 28px rgba(0,0,0,.5)}
.brand img.pd-logo{filter:drop-shadow(0 12px 18px rgba(0,0,0,.55)) drop-shadow(0 0 14px rgba(127,224,214,.28))}
.card{background:
  linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 32%),
  linear-gradient(180deg, rgba(32,44,52,.94), rgba(14,20,26,.9));
  border:1px solid rgba(176,204,214,.32);border-radius:18px;
  box-shadow:0 22px 48px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.16)}
.card h2{letter-spacing:-.01em}
.avpick{background:linear-gradient(180deg,#243038,#151c22);border-color:#5d7380;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.avpick canvas{box-shadow:inset 0 0 0 1px rgba(197,208,214,.35)}
input[type=number],input:not([type]),input[type=email],input[type=password],select,textarea{background:#0c1216;border:1px solid #4d6270;border-radius:12px;color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
input:focus,select:focus,textarea:focus{border-color:#7fe0d6;box-shadow:0 0 0 3px rgba(127,224,214,.28)}
.btn{background:linear-gradient(180deg,#2a3842,#1a242c);border-color:#5d7380;box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 8px 16px rgba(0,0,0,.22)}
.btn.primary,.btn.go{background:linear-gradient(180deg,#2f9a90,#14635c);border-color:#7fe0d6;color:#fff;box-shadow:0 10px 22px rgba(16,80,76,.35), inset 0 1px 0 rgba(255,255,255,.28)}
.topbar,#actionBar{background:
  linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 40%),
  linear-gradient(180deg,#2c3944,#141b22 58%,#10161c);
  border-color:rgba(190,210,218,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
#table{background:
  radial-gradient(70% 40% at 50% 0%, rgba(127,224,214,.08), transparent 60%),
  #070b10}
.icon{background:linear-gradient(180deg,#2a3842,#161e26);border-color:#6a808c;color:#f7fafb;box-shadow:inset 0 1px 0 rgba(255,255,255,.16)}
.chat-bubble,.voice-pill{position:relative;font-size:14px;font-weight:700;padding:0 12px}
.unread{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#7fe0d6;color:#071014;font-size:11px;line-height:18px;font-weight:700}
.chat-drawer{position:relative;left:auto;right:auto;bottom:auto;z-index:2;max-height:220px;flex:0 0 auto;
  background:linear-gradient(180deg, rgba(28,40,48,.97), rgba(12,18,22,.97));
  border-top:1px solid rgba(127,224,214,.4);color:var(--ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
#chatDrawer #chatLog{flex:1 1 auto;min-height:0;max-height:52px;overflow:auto;margin:0 0 4px;font-size:16px}
#chatDrawer #chatQuick{flex:0 0 auto;flex-wrap:nowrap;overflow-x:auto;max-height:44px}
#chatDrawer #chatGate{margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#chatDrawer #chatForm,#chatDrawer .row-btns,#chatDrawer #hostTalk{flex:0 0 auto}
#chatLog{max-height:88px;overflow:auto;margin:0 0 8px;font-size:16px}
.chat-line{margin:2px 0;display:flex;gap:8px;align-items:baseline}
.chat-line .mute-one{min-height:32px;padding:0 4px}
#chatForm{display:flex;gap:8px;align-items:center}
#chatForm input{flex:1;margin:0}
.chipset{display:flex;flex-wrap:wrap;gap:6px}
#helperQ,#aiDescribe{width:100%;max-width:100%;min-height:96px;box-sizing:border-box}
#aiBox[hidden],#helperBtn[hidden]{display:none!important}
.own-bot-btn{display:inline-flex;align-items:center;gap:8px}
#helperH,.tommy-head{display:flex;align-items:center;gap:10px}
#helperH .icon,.tommy-head .icon{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center}
#helperRename[hidden],#helperRenameBox[hidden],#aiRename[hidden],#aiRenameBox[hidden],#helperMeet[hidden],#helperChat[hidden],#aiMeet[hidden]{display:none!important}
.own-bot{display:inline-flex;width:36px;height:36px;flex:none;--bot-accent:#9fd4ea}
.own-bot-lg{width:72px;height:72px}
.own-bot svg{width:100%;height:100%;display:block}
.own-bot .shell{fill:#d5dde4}
.own-bot .shine{fill:#f7fafc}
.own-bot .antenna,.own-bot .mouth{fill:#5c6770}
.own-bot .bot-accent{fill:var(--bot-accent)}
.bot-line{margin:.35rem 0 .15rem;font-size:1.05rem}
.bot-ideas{display:flex;gap:8px;flex-wrap:wrap;margin:.4rem 0}
.bot-styles{display:flex;gap:8px;overflow-x:auto;padding:4px 0 8px}
.bot-style{display:flex;flex-direction:column;align-items:center;gap:4px;background:transparent;border:1px solid transparent;color:inherit;border-radius:12px;padding:4px 6px;font:inherit}
.bot-style[aria-pressed="true"]{border-color:#fff}
.voice-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 10px;background:rgba(12,20,26,.94);border-top:1px solid rgba(127,224,214,.35)}
.voice-strip[hidden]{display:none!important}
dialog{background:
  linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,0) 24%),
  linear-gradient(180deg,#1c2830,#10161c);
  border:1px solid rgba(176,204,214,.35);color:var(--ink);
  box-shadow:0 30px 80px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.14)}
.rules-ov,.last-sheet,#banner,#hostBar,.paused-ov,.sitin,.waitmsg{background:rgba(12,18,24,.94);border-color:rgba(176,204,214,.35);box-shadow:0 18px 40px rgba(0,0,0,.4)}
.act.raise{box-shadow:0 0 0 1px rgba(124,196,255,.4), 0 8px 18px rgba(18,48,110,.4), inset 0 1px 0 rgba(255,255,255,.28)}
main{color:var(--ink)}
main h1{letter-spacing:-.03em;font-weight:700}
main article,main fieldset,main pre,main .panel{background:
  linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 36%),
  rgba(16,24,30,.78);
  border:1px solid rgba(176,204,214,.3);border-radius:16px;padding:16px;
  box-shadow:0 16px 36px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.1)}
main nav a{color:#c5e6ff}
.bay{box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 8px 16px rgba(0,0,0,.28)}
@media (prefers-reduced-motion:reduce){
  .act{transition:none}
}

/* Lobby hero, floating table chrome, ring glass. Teal plus a warm copper highlight. */
#lobby{width:100%;max-width:1180px;min-width:0}
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);grid-template-rows:auto auto;gap:18px 22px;align-items:center;margin:0 0 18px;padding:18px 18px 14px;min-width:0;max-width:100%;border-radius:28px;border:1px solid rgba(127,224,214,.4);
  background:
    radial-gradient(55% 70% at 28% 42%, rgba(127,224,214,.28), transparent 62%),
    radial-gradient(42% 48% at 78% 78%, rgba(196,120,104,.22), transparent 64%),
    linear-gradient(165deg, #16303a 0%, #102028 42%, #09141c 100%);
  box-shadow:0 30px 70px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.16), inset 0 0 0 1px rgba(196,120,104,.18)}
.hero-stage{position:relative;grid-column:1;grid-row:1;min-height:0;min-width:0;max-width:100%;display:flex;align-items:flex-end;justify-content:center;gap:8px;overflow:hidden}
.hero-cast{display:block;flex:1 1 0;width:calc((100% - 8px) / 2);max-width:calc((100% - 8px) / 2);min-width:0}
.hero-cast img{display:block;width:100%;max-width:100%;height:auto;max-height:min(42vh,420px);object-fit:contain;object-position:center top;border-radius:22px;background:#091a2d;box-shadow:0 18px 32px rgba(0,0,0,.45), 0 0 0 1px rgba(127,224,214,.45)}
.hero-logo{display:block;width:72px;margin:0 0 8px}
.hero-logo img,.hero-mark{position:static;width:72px;height:auto;max-width:72px;z-index:auto;background:transparent}
.hero-pinky img{box-shadow:0 18px 32px rgba(0,0,0,.45), 0 0 0 1px rgba(127,224,214,.45)}
.hero-tommy img{box-shadow:0 18px 32px rgba(0,0,0,.45), 0 0 0 1px rgba(196,120,104,.55)}
.hero-mark{position:static;left:auto;top:auto;width:72px;height:auto;z-index:auto;background:transparent;filter:drop-shadow(0 10px 16px rgba(0,0,0,.55)) drop-shadow(0 0 12px rgba(127,224,214,.4))}
.hero-copy{grid-column:2;grid-row:1;align-self:center;min-width:0;max-width:100%}
.hero-kicker{margin:0 0 8px;color:#7fe0d6;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.hero h1{margin:0;font-size:clamp(34px,4.4vw,58px);line-height:1.02;letter-spacing:-.03em}
.hero-line{margin:12px 0 0;font-size:clamp(22px,2vw,28px);font-weight:700;color:#e7a090}
.hero .tag{margin:10px 0 0;max-width:36rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.hero-actions .btn{min-height:52px;padding:0 18px;font-weight:700}
.hero-looks{grid-column:1 / -1;grid-row:2;min-width:0;max-width:100%}
.hero-looks .hint{margin:0 0 8px}
.avatars{display:flex;flex-wrap:nowrap;gap:10px;width:100%;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:4px 2px 12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.avpick{flex:0 0 auto;width:118px;min-height:148px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px 8px;border-radius:18px;border:1px solid rgba(176,204,214,.38);
  background:linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,0) 36%), linear-gradient(180deg, rgba(28,44,52,.95), rgba(12,18,24,.92));
  box-shadow:0 14px 28px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.16);color:inherit;font:inherit;cursor:pointer}
.avpick canvas{width:92px;height:92px;border-radius:50%;background:radial-gradient(circle at 35% 30%, #3d5566, #091a2d 72%);box-shadow:inset 0 0 0 1px rgba(197,208,214,.4), 0 8px 16px rgba(0,0,0,.35)}
.avpick span{font-size:13px;line-height:1.15;text-align:center;font-weight:700}
.avpick[aria-checked=true]{border-color:#7fe0d6;background:linear-gradient(180deg, rgba(127,224,214,.2), rgba(20,40,48,.92));box-shadow:0 0 0 2px #7fe0d6, 0 16px 28px rgba(16,80,76,.35)}
.ring-box{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin:8px 0;padding:14px;border-radius:18px;border:1px solid rgba(127,224,214,.4);
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,0) 40%), rgba(12,28,32,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 0 0 1px rgba(196,120,104,.16)}
.ring-box[hidden]{display:none!important}
.ring-box h3{margin:0}
#hostBar{position:absolute;left:10px;right:auto;top:10px;bottom:auto;transform:none;width:min(280px,46vw);max-height:calc(100% - 20px);z-index:8;margin:0;border-radius:18px;overflow:auto;
  border:1px solid rgba(127,224,214,.55);
  background:linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,0) 28%), linear-gradient(180deg, rgba(22,36,44,.96), rgba(10,16,22,.94));
  box-shadow:0 22px 48px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.16), 0 0 0 1px rgba(196,120,104,.28)}
#hostBar[hidden]{display:none!important}
#chatDrawer.chat-drawer{position:relative;left:auto;right:auto;bottom:auto;width:auto;max-height:min(30dvh,188px);display:flex;flex-direction:column;flex:0 0 auto;z-index:8;overflow:auto;margin:0 8px 6px;padding:6px 8px;border-radius:18px;
  border:1px solid rgba(127,224,214,.55);border-top:1px solid rgba(127,224,214,.55);
  background:linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,0) 30%), linear-gradient(180deg, rgba(20,36,44,.97), rgba(8,14,18,.96));
  box-shadow:0 20px 44px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.14), 0 0 0 1px rgba(196,120,104,.22)}
#voiceStrip.voice-strip{position:relative;top:auto;right:auto;bottom:auto;left:auto;width:auto;max-height:min(140px,22vh);z-index:7;border-radius:18px;margin:8px 10px 0;padding:10px;
  border:1px solid rgba(127,224,214,.5);border-top:1px solid rgba(127,224,214,.5);
  background:linear-gradient(180deg, rgba(255,255,255,.1), rgba(20,36,44,.96));
  box-shadow:0 16px 36px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.14)}
@media (orientation:landscape) and (max-height:520px),(orientation:landscape) and (pointer:coarse) and (min-height:521px) and (max-height:1100px) and (max-width:1400px){
  #chatDrawer,#voiceStrip{position:relative;left:auto;right:auto;bottom:auto;grid-area:st;justify-self:end;align-self:start;width:min(240px,36vw);max-height:42%;margin:8px}
}
#barMore{display:none}
.bar-more{position:absolute;top:calc(100% + 6px);right:0;z-index:40;width:min(240px,100%);display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:16px;
  border:1px solid #c5d6de;color:#f7fbfc;
  background:linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,0) 28%), linear-gradient(180deg,#24323c,#10161c);
  box-shadow:0 18px 40px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.16)}
.bar-more[hidden]{display:none!important}
.bar-more .btn{min-height:48px;justify-content:flex-start;color:#f7fbfc;background:linear-gradient(180deg,#4a6270,#24343e);border:1px solid #c5d6de}
.pause-bay{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;position:relative;max-width:100%}
.pause-bay[hidden]{display:none!important}
#pauseBtn.pausebtn{width:auto;min-width:72px;min-height:44px;padding:0 12px;font:800 16px/1 "Atkinson Hyperlegible",system-ui,sans-serif;white-space:nowrap}
#pauseBtn.pausebtn.is-locked,#pauseBtn.pausebtn:disabled{opacity:.45;cursor:not-allowed}
#pauseInfo.tip-i{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border-radius:999px;border:1px solid #7fe0d6;background:#17201b;color:#eef2f0;font:700 16px/1 "Atkinson Hyperlegible",system-ui,sans-serif;cursor:pointer}
#pauseTip.pause-tip{position:fixed;z-index:80;max-width:min(260px,calc(100vw - 16px));padding:10px 12px;border-radius:12px;border:1px solid #7fe0d6;background:#102026;color:#eef2f0;font:16px/1.35 "Atkinson Hyperlegible",system-ui,sans-serif;box-shadow:0 12px 28px rgba(0,0,0,.4)}
#pauseTip[hidden]{display:none!important}
@media (max-width:760px) and (orientation:portrait){
  .topbar{position:relative;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto auto;grid-template-areas:"menu pause . chat mic more" "status status status status status set";align-items:center;gap:6px 8px;overflow:visible;flex-wrap:unset;padding:calc(4px + env(safe-area-inset-top)) 8px 6px}
  #menuBtn{grid-area:menu}
  #pauseSlot{grid-area:pause}
  #pauseBtn{grid-area:pause} /* host Pause stays visible on phones (also in More) */
  #chatBubble{grid-area:chat}
  #voicePill{grid-area:mic}
  /* release-1103 (owner pt7052u): an obvious, labeled Settings button on the phone table bar (row 2, right, under More) */
  #prefsBtn{grid-area:set;display:inline-flex;align-items:center;justify-content:center;gap:4px;width:auto;min-width:44px;min-height:44px;padding:0 12px;white-space:nowrap;font-weight:800}
  #barMore{grid-area:more;display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:0 10px;white-space:nowrap}
  .topbar .tb-info{grid-area:status;flex:none;order:0;min-width:0;max-width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .chat-bubble,.voice-pill{white-space:nowrap;padding:0 10px}
  .topbar > :not(#menuBtn):not(#pauseBtn):not(#levelInfo):not(#chatBubble):not(#voicePill):not(#barMore):not(#barMoreMenu):not(#pauseSlot):not(#prefsBtn):not(#tableModeBar){position:absolute!important;left:0!important;top:0!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;pointer-events:none!important;white-space:nowrap;border:0!important}
  #chatDrawer #chatLog{max-height:36px;margin:0 0 2px}
  #chatDrawer #chatQuick{max-height:40px}
  #chatDrawer .row-btns{margin-top:4px;gap:6px}
  #chatDrawer .row-btns .btn{flex:1;min-height:44px;padding:4px 8px}
  #actionBar{padding:6px 8px calc(4px + env(safe-area-inset-bottom))}
  #actionBar .acts2{margin-top:4px}
  #actionBar .notice7a{margin:2px 0 0;line-height:1.25}
}
.chat-bubble,.voice-pill{box-shadow:0 0 0 1px rgba(127,224,214,.45), inset 0 1px 0 rgba(255,255,255,.2)}
.login-cast{display:flex;gap:8px;margin:0 0 12px;max-width:100%;min-width:0;width:min(100%,280px)}
.login-cast img{flex:1 1 0;width:calc((100% - 8px) / 2);max-width:calc((100% - 8px) / 2);height:140px;object-fit:contain;object-position:center top;border-radius:16px;background:#091a2d;box-shadow:0 12px 24px rgba(0,0,0,.4), 0 0 0 1px rgba(127,224,214,.45)}
.focus-switch{position:static;top:auto;right:auto;z-index:1;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:48px;min-height:48px;padding:8px 14px;border-radius:14px;cursor:pointer;font:700 18px/1 "Atkinson Hyperlegible",system-ui,sans-serif;color:#041614;background:#f4f7f2;border:2px solid #102026}
.focus-switch[aria-pressed=true]{background:#102026;color:#f7fbfc;border-color:#f4f7f2}
.focus-switch .focus-eye{font-size:22px;line-height:1}
.focus-mode{position:absolute;inset:0;z-index:12;display:flex;flex-direction:column;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#0e1412;color:#f7fbfc;overflow:hidden}
.focus-mode[hidden]{display:none!important}
.focus-mode>.focus-banner,.focus-mode>.focus-tip,.focus-mode>.focus-status,.focus-mode>.focus-hand,.focus-mode>.focus-draws,.focus-mode>.focus-panes,.focus-mode>.focus-prompt,.focus-mode>.focus-acts{flex-shrink:0}
.focus-banner{margin:0;font-size:max(28px,1.75rem);font-weight:700;line-height:1.2;color:#041614;background:#9af0e6;border-radius:14px;padding:10px 12px}
.focus-mode.your-turn .focus-banner{background:var(--turn,#ff3dbe);color:var(--turn-ink,#140814);box-shadow:0 0 28px var(--turn,#ff3dbe)}
.focus-mode.breathe-subtle{--turn-scale:1.02}
.focus-mode.breathe-normal{--turn-scale:1.04}
.focus-mode.breathe-strong{--turn-scale:1.06}
.focus-mode.your-turn .focus-card:not(.zoomed){animation:turn-breathe 1.4s ease-in-out infinite,turn-glow 1.4s ease-in-out infinite}
.focus-mode.your-turn .focus-card.wild:not(.zoomed){animation:turn-breathe 1.4s ease-in-out infinite,turn-glow-wild 1.4s ease-in-out infinite}
.focus-mode.your-turn .focus-card.split:not(.zoomed){animation:turn-breathe 1.4s ease-in-out infinite,turn-glow-split 1.4s ease-in-out infinite}
.focus-mode.your-turn .focus-card.wild.split:not(.zoomed){animation:turn-breathe 1.4s ease-in-out infinite,turn-glow-both 1.4s ease-in-out infinite}
button.focus-card{cursor:pointer;appearance:none;-webkit-appearance:none}
@keyframes turn-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(var(--turn-scale,1.06))}}
@keyframes turn-glow{0%,100%{box-shadow:0 0 0 5px var(--turn,#ff3dbe),0 0 10px var(--turn,#ff3dbe)}50%{box-shadow:0 0 0 14px var(--turn,#ff3dbe),0 0 42px 10px var(--turn,#ff3dbe)}}
@keyframes turn-glow-wild{0%,100%{box-shadow:0 0 0 6px #a16207,0 0 0 12px var(--turn,#ff3dbe),0 0 12px var(--turn,#ff3dbe)}50%{box-shadow:0 0 0 6px #a16207,0 0 0 18px var(--turn,#ff3dbe),0 0 42px 8px var(--turn,#ff3dbe)}}
@keyframes turn-glow-split{0%,100%{box-shadow:0 0 0 6px #6d28d9,0 0 0 12px var(--turn,#ff3dbe),0 0 12px var(--turn,#ff3dbe)}50%{box-shadow:0 0 0 6px #6d28d9,0 0 0 18px var(--turn,#ff3dbe),0 0 42px 8px var(--turn,#ff3dbe)}}
@keyframes turn-glow-both{0%,100%{box-shadow:0 0 0 6px #a16207,0 0 0 12px #6d28d9,0 0 0 18px var(--turn,#ff3dbe)}50%{box-shadow:0 0 0 6px #a16207,0 0 0 12px #6d28d9,0 0 0 22px var(--turn,#ff3dbe),0 0 36px var(--turn,#ff3dbe)}}
.focus-hand{margin:4px 0 0;font-size:max(22px,1.35rem);font-weight:800;color:#fff}
.focus-draws{margin:2px 0 0;padding-left:1.1em;font-size:max(17px,1.05rem);line-height:1.3;color:#d8f3e8}
.focus-status{margin:0;font-size:max(24px,1.5rem);font-weight:700;line-height:1.3}
.focus-panes{display:flex;gap:8px;flex-wrap:wrap}
.focus-panes button{flex:1 1 120px;min-height:48px;padding:8px 10px;border-radius:14px;cursor:pointer;font:700 max(18px,1.05rem)/1.2 "Atkinson Hyperlegible",system-ui,sans-serif;color:#041614;background:#d7e4ea;border:2px solid #102026}
.focus-panes button[aria-pressed=true]{background:#f7fbfc;outline:3px solid #9af0e6}
.focus-panes button:disabled{opacity:.45;cursor:not-allowed}
.focus-badge{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:#9b1c1c;color:#fff;font-size:16px}
.focus-badge[hidden]{display:none!important}
.focus-tip{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:8px 10px 8px 12px;border-radius:14px;background:#1c3330;color:#e7f7f4;font-size:16px;font-weight:700;line-height:1.3}
.focus-tip span{flex:1 1 auto;min-width:0}
.focus-tip[hidden]{display:none!important}
.focus-tip button{flex:0 0 auto;min-width:76px;min-height:44px;padding:0 12px;border-radius:12px;cursor:pointer;font:700 16px/1 "Atkinson Hyperlegible",system-ui,sans-serif;color:#041614;background:#f4f7f2;border:2px solid #9af0e6}
.focus-cards{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start;justify-content:center}
.focus-cards.is-stack{flex-direction:column;flex-wrap:nowrap;align-items:center;align-content:center;justify-content:center;gap:0;overflow:hidden}
.focus-cards.is-row{flex-wrap:nowrap;align-items:center;align-content:center;justify-content:center;gap:var(--gap,6px);overflow:hidden}
.focus-cards.is-scroll{flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:var(--gap,8px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.focus-row{display:flex;justify-content:center;align-items:flex-start;gap:var(--gap,6px);max-width:100%}
.focus-row.top{position:relative;z-index:1}
.focus-row.bot{position:relative;z-index:2;margin-top:calc(var(--overlap,0px) * -1)}
.focus-cards.is-stack .focus-card,.focus-cards.is-row .focus-card,.focus-cards.is-scroll .focus-card{width:var(--card-w);height:var(--card-h);min-height:0;max-width:none;flex:0 0 var(--card-w);padding:6px 4px 4px;scroll-snap-align:center}
.focus-cards.is-stack .focus-card .rank,.focus-cards.is-row .focus-card .rank,.focus-cards.is-scroll .focus-card .rank{font-size:calc(var(--card-w) * 0.42)}
.focus-cards.is-stack .focus-card .suit,.focus-cards.is-row .focus-card .suit,.focus-cards.is-scroll .focus-card .suit{font-size:calc(var(--card-w) * 0.32)}
.focus-cards.is-stack .focus-card .mark,.focus-cards.is-row .focus-card .mark,.focus-cards.is-scroll .focus-card .mark{font-size:max(12px,calc(var(--card-w) * 0.16));margin-top:2px}
.focus-mode:not(.your-turn) .focus-cards.is-scroll .focus-card{transform:rotate(var(--fan,0deg))}
.focus-mode.is-big{padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:6px}
.focus-mode.is-big .focus-banner{font-size:22px;line-height:1.15;padding:6px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.focus-mode.is-big .focus-status{font-size:16px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.focus-mode.is-big .focus-panes{flex-wrap:nowrap;overflow-x:auto}
.focus-mode.is-big .focus-panes button{flex:1 0 auto;min-height:40px;font-size:15px;white-space:nowrap;padding:4px 8px}
.focus-mode.is-big .focus-acts{flex-wrap:nowrap}
.focus-mode.is-big .focus-acts button{flex:1 1 0;min-width:0;min-height:48px;font-size:18px;padding:4px 6px}
.focus-mode.is-big .focus-cards{min-height:140px}
.focus-mode.is-big.is-land{display:grid;grid-template-columns:minmax(0,1fr) 104px;grid-template-rows:auto auto auto minmax(0,1fr) auto;grid-template-areas:"banner side" "status side" "panes side" "cards side" "prompt side";align-items:stretch}
.focus-mode.is-big.is-land .focus-banner{grid-area:banner}
.focus-mode.is-big.is-land .focus-status{grid-area:status}
.focus-mode.is-big.is-land .focus-panes{grid-area:panes}
.focus-mode.is-big.is-land .focus-cards{grid-area:cards}
.focus-mode.is-big.is-land .focus-prompt{grid-area:prompt}
.focus-mode.is-big.is-land .focus-tip{display:none!important}
.focus-mode.is-big.is-land .focus-acts{grid-area:side;flex-direction:column;flex-wrap:nowrap;align-self:stretch;justify-content:stretch}
.focus-mode.is-big.is-land .focus-acts button{flex:1 1 auto;width:100%;min-height:48px}
.focus-zoom{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:12px;background:rgba(8,12,10,.94)}
.focus-zoom[hidden]{display:none!important}
.focus-zoom .focus-card{width:100%;max-width:100%;height:auto;min-height:0;aspect-ratio:5/7;max-height:72%;flex:0 1 auto}
.focus-zoom .focus-card .rank{font-size:clamp(64px,22vw,128px)}
.focus-zoom .focus-card .suit{font-size:clamp(44px,14vw,88px)}
.focus-zoom .focus-card .mark{font-size:22px}
.focus-zoom-pick,.focus-zoom-close{min-height:52px;border-radius:14px;cursor:pointer;font:700 20px/1 "Atkinson Hyperlegible",system-ui,sans-serif;color:#041614;background:#f7fbfc;border:2px solid #102026}
@media (max-height:700px){
  .focus-mode .focus-status{font-size:16px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .focus-mode .focus-panes{flex-wrap:nowrap;overflow-x:auto}
  .focus-mode .focus-panes button{flex:1 0 auto;min-height:40px;font-size:15px;white-space:nowrap;padding:4px 8px}
  .focus-mode .focus-acts{flex-wrap:nowrap}
  .focus-mode .focus-acts button{flex:1 1 0;min-width:0;min-height:48px;font-size:18px;padding:4px 6px}
  .focus-mode .focus-cards{min-height:96px}
  .focus-mode .focus-hand{margin:0;font-size:17px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .focus-mode .focus-draws{display:flex;gap:4px 14px;margin:0;padding:0 0 2px;list-style:none;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;font-size:14px;line-height:1.3;scrollbar-width:none}
  .focus-mode .focus-draws::-webkit-scrollbar{display:none}
  .focus-mode .focus-draws li{flex:0 0 auto}
  .focus-mode .focus-draws li+li::before{content:"\2022";margin-right:8px;opacity:.7}
}
@media (orientation:landscape) and (max-height:520px),(orientation:landscape) and (pointer:coarse) and (min-height:521px) and (max-height:1100px) and (max-width:1400px){
  .focus-mode{gap:4px;padding-top:4px}
  .focus-mode .focus-banner{font-size:20px;padding:4px 10px}
  .focus-mode .focus-cards{min-height:72px}
  .focus-mode .focus-acts button{min-height:44px}
  #table.focus-on .focus-mode.is-big.is-land{position:fixed;top:0;right:0;bottom:0;left:72px;z-index:40}
  .focus-mode.is-big{padding:6px 8px;gap:4px}
  .focus-mode.is-big .focus-banner{font-size:22px;padding:6px 10px}
  .focus-mode.is-big .focus-status{font-size:16px}
  .focus-mode.is-big .focus-panes button{min-height:40px;font-size:15px;padding:4px 8px}
}
.focus-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(42vw,148px);min-height:168px;max-width:100%;padding:28px 8px 10px;border-radius:16px;background:#f7fbfc;color:#102026;border:2px solid #102026;font:700 16px/1.1 "Atkinson Hyperlegible",system-ui,sans-serif;overflow:hidden;box-sizing:border-box}
.focus-card .rank{font-size:clamp(36px,10vw,52px);line-height:1;max-width:100%}
.focus-card .suit{font-size:clamp(28px,8vw,40px);line-height:1;max-width:100%}
.focus-card .mark{margin-top:6px;font-size:14px;font-weight:700;color:#102026;max-width:100%;text-align:center}
.focus-card.wild{box-shadow:0 0 0 6px #a16207}
.focus-card.split{box-shadow:0 0 0 6px #6d28d9}
.focus-card.wild.split{box-shadow:0 0 0 6px #a16207,0 0 0 12px #6d28d9}
.focus-card.picked{outline:4px solid #0b6b3a}
.focus-card.back{background:#14342c;color:#f7fbfc}
.focus-card .tag{position:absolute;top:6px;left:6px;font-size:14px;letter-spacing:.04em;color:#041614;background:#9af0e6;border-radius:6px;padding:2px 6px}
.focus-card .tag.split{background:#ddd6fe;top:auto;bottom:6px}
.focus-seat{flex:1 1 100%;margin:0;font-size:max(24px,1.4rem);font-weight:700}
.focus-prompt{margin:0;font-size:max(24px,1.4rem);font-weight:700;color:#041614;background:#f7fbfc;border-radius:12px;padding:8px 10px}
.focus-acts{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto}
.focus-acts button{flex:1 1 120px;min-height:56px;border-radius:14px;cursor:pointer;font:700 max(22px,1.25rem)/1.1 "Atkinson Hyperlegible",system-ui,sans-serif;color:#041614;background:#f7fbfc;border:2px solid #102026}
.focus-acts button.fold{background:#f3d0d4}
.focus-acts button:disabled{opacity:.45}
#table.focus-on #cv,#table.focus-on #seatLayer,#table.focus-on #banner{visibility:hidden}
#table.focus-on #actionBar{display:none}
@media (prefers-reduced-motion: reduce){
  .focus-card,.focus-banner,.focus-mode.your-turn .focus-card{transition:none;animation:none;transform:none}
  .focus-mode.your-turn .focus-card{box-shadow:0 0 0 12px var(--turn,#ff3dbe),0 0 36px 8px var(--turn,#ff3dbe)}
  .focus-mode.your-turn .focus-card.wild{box-shadow:0 0 0 6px #a16207,0 0 0 16px var(--turn,#ff3dbe),0 0 36px 8px var(--turn,#ff3dbe)}
  .focus-mode.your-turn .focus-card.split{box-shadow:0 0 0 6px #6d28d9,0 0 0 16px var(--turn,#ff3dbe),0 0 36px 8px var(--turn,#ff3dbe)}
}
[data-owner-desk][hidden]{display:none!important}
.build-entry{border-color:rgba(127,224,214,.55)}
.cast-pair{display:flex;gap:8px;width:min(100%,280px);min-width:0;margin:0 0 12px}
.cast-pair img{flex:1 1 0;width:calc((100% - 8px) / 2);height:140px;object-fit:contain;object-position:center top;border-radius:16px;background:#091a2d}
.page-hero{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;margin:0 0 18px;padding:14px;border-radius:22px;border:1px solid rgba(127,224,214,.38);
  background:radial-gradient(80% 120% at 0% 50%, rgba(127,224,214,.2), transparent 55%), linear-gradient(160deg, #16303a, #09141c);
  box-shadow:0 18px 40px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.12)}
.page-hero .cast{display:flex;gap:8px;width:min(100%,280px);min-width:0}
.page-hero .cast img,.page-hero img{flex:1 1 0;width:calc((100% - 8px) / 2);max-width:calc((100% - 8px) / 2);height:150px;object-fit:contain;object-position:center top;border-radius:16px;background:#091a2d;box-shadow:0 10px 20px rgba(0,0,0,.4), 0 0 0 1px rgba(196,120,104,.4)}
.oil-gauge{display:grid;gap:6px;width:100%;max-width:28rem;margin:8px 0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.oil-meter{display:block;height:12px;border-radius:999px;background:#1c3a34;overflow:hidden}
.oil-meter>span{display:block;height:100%;background:linear-gradient(90deg,#2f9a90,#9af0e6)}
.oil-read{font-weight:700}
.page-hero h1{margin:0}
.page-hero .kicker{margin:0 0 4px;color:#7fe0d6;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
@media (max-width:760px){
  .hero{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px}
  .hero-stage,.hero-copy,.hero-looks{grid-column:1;grid-row:auto;min-width:0;max-width:100%}
  .hero-stage{min-height:0;width:100%}
  .hero-cast{width:calc((100% - 8px) / 2);max-width:calc((100% - 8px) / 2)}
  .hero-cast img{width:100%;max-width:100%;height:auto;max-height:200px;object-fit:contain;object-position:center top}
  .hero{padding:10px}
  .hero h1{font-size:30px}
  .hero .tag{margin-top:6px}
  .ring-box{grid-template-columns:minmax(0,1fr)}
  .page-hero{grid-template-columns:minmax(0,1fr)}
  .page-hero .cast{min-width:0;max-width:100%}
  .page-hero .cast{width:100%}
  .page-hero img,.page-hero .cast img{width:calc((100% - 8px) / 2);max-width:calc((100% - 8px) / 2);height:160px;max-height:160px;object-fit:contain}
  #callMenuSlots select,#liveMenuSlots select{min-width:0;width:100%;max-width:100%}
  .card,.setup,#hostForm,.studio,main{min-width:0;max-width:100%}
}
/* Shortest landscape phones (iPhone SE sideways): keep Fold/Call/Raise on screen. The draws list collapses; the hand line stays. */
@media (orientation:landscape) and (max-height:340px){
  .focus-mode{gap:3px}
  .focus-mode .focus-banner{font-size:18px;padding:2px 10px}
  .focus-mode .focus-draws{display:none!important}
  .focus-mode .focus-panes button{min-height:34px;padding:2px 8px}
  .focus-mode .focus-cards{min-height:60px}
}

.chat-top{position:sticky;top:-6px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-6px -8px 4px;padding:6px 8px;background:rgba(14,24,30,.98);border-radius:18px 18px 0 0}
.chat-top .chat-x{min-height:44px;padding:4px 12px}
#chatDrawer #chatGate{white-space:normal}

/* QA F17/F19 (Oct 29): dark sheets keep light text in the light theme; More menu above the hand strip; Hand history as a button. */
:is(.rules-ov,.last-sheet,.paused-ov,.sitin,.waitmsg) :is(h1,h2,h3,h4,p,li,span,b,strong,small,em,div,label,dt,dd):not(button,button *,.btn,.btn *){color:#eef2f0!important}
html:has(#barMoreMenu:not([hidden])) .pp-nav{visibility:hidden}
:is(.rules-ov,.last-sheet,.paused-ov,.sitin,.waitmsg){color:#eef2f0}
.bar-more{z-index:120}
header:has(#barMoreMenu:not([hidden])){z-index:120}
.bar-more #moreDealer{color:#eef2f0!important}
.bar-more a.btn{display:flex;align-items:center;text-decoration:none;font:inherit;font-weight:700}

/* Oct 29 5:55 PM owner rule: no mic capture at the table without an attorney's OK. Mic button and voice strip hidden for everyone. */
#voicePill,#voiceStrip{display:none!important}

/* Create a table (Oct 30): first thing in the Play view, visible without scrolling on phones. */
.play-create{margin:0 0 10px}
.play-create .btn{min-height:52px;font-size:1.15rem}
.play-create-s{font-weight:600;font-size:.85rem;opacity:.85;margin-left:6px}
.lobby-empty p{margin:0 0 8px}
.lobby-empty .btn{min-height:44px}

/* release-1103 (owner pt7052u): the table Settings button shows its word on every screen size */
.topbar #prefsBtn{width:auto;min-width:44px;min-height:44px;padding:0 12px;gap:4px;white-space:nowrap}

/* Practice table on a phone: one 44px bar, the oval fills the rest, controls stay compact. */
#toolsMore{display:none}
#table #talkHandle{width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;margin:0 8px 2px auto;padding:0;border-radius:10px;box-shadow:none}
#table #talkHandle .th-txt,#table #talkHandle .th-chev{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
#cv{image-rendering:auto}
@media (max-width:900px),(orientation:landscape) and (max-height:520px),(orientation:landscape) and (pointer:coarse) and (min-height:521px) and (max-height:1100px) and (max-width:1400px){
  #table .icon,#table #pauseBtn,#table #prefsBtn,#table #toolsMore,#table #talkHandle,#table .act,#table .acts2 .toolpill,#table .acts2 .chk,#table .acts2 .btn,#table .acts2 .bankchip{
    height:44px;min-height:44px;max-height:44px;padding:0 8px;font-size:15px;line-height:1;border-radius:10px;box-shadow:none}
  #table .act{font-size:16px;letter-spacing:0}
  #toolsMore{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px}
  #actionBar:not(.tools-open) #barTools{display:none}
  #actionBar.tools-open #barTools{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
  #turnDock{position:absolute;left:0;right:0;top:0;height:44px;min-height:44px;padding:0;margin:0;border:0;background:transparent;pointer-events:none;z-index:6;overflow:visible}
  #turnDock > *{display:none!important}
  #table .topbar{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px;width:auto;max-width:none;min-width:0;overflow:visible;border-right:0;
    padding:calc(4px + env(safe-area-inset-top)) 52px 4px 52px}
  #table .topbar > #levelInfo,#table .topbar > #barMore,#table .topbar > #chatBubble,#table .topbar > #avBtn,#table .topbar > #rulesBtn,#table .topbar > #helpBtn,#table .topbar > #dealerBadge,#table .topbar > #visitAsk,#table .topbar > #seatLive{display:none!important}
  #table .topbar > #tableInfoBtn,#table .topbar > #menuBtn,#table .topbar > #pauseSlot,#table .topbar > #prefsBtn{
    position:static!important;width:auto!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-height:44px!important;
    margin:0!important;overflow:visible!important;clip:auto!important;pointer-events:auto!important}
  #table.info-open .topbar > #levelInfo{display:block!important;position:absolute!important;left:8px;right:8px;top:52px;height:auto!important;min-height:0!important;max-height:none!important;
    white-space:normal;text-align:left;padding:10px 12px;border:1px solid #7fe0d6;border-radius:12px;background:#102026;z-index:40;clip:auto!important;width:auto!important;overflow:visible!important}
  #pauseBtn.pausebtn{width:auto;min-width:44px;padding:0 8px;font-size:15px}
  #actionBar .acts .act{min-height:44px;height:44px}
  #barNotice{font-size:13px;line-height:1.25;margin:4px 0 0}
}
@media (max-width:900px) and (orientation:portrait){
  #actionBar{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:6px;align-items:center}
  #toolsMore{grid-column:1;grid-row:1}
  #actsMain{grid-column:2;grid-row:1}
  #raiseRow,#preActs,#barTools,#barNotice{grid-column:1 / -1}
}
@media (orientation:landscape) and (max-height:520px),(orientation:landscape) and (pointer:coarse) and (min-height:521px) and (max-height:1100px) and (max-width:1400px){
  #table{display:grid;grid-template-columns:minmax(0,7fr) minmax(168px,3fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"tb ab" "st ab" "nt ab"}
  #table .topbar{grid-area:tb;padding-left:52px;padding-right:52px;padding-top:4px}
  #actionBar{display:flex;flex-direction:column;align-items:stretch}
  #stage{grid-area:st}
  #table > .notice7a{grid-area:nt}
  #actionBar{grid-area:ab;width:auto;max-width:none;overflow:auto}
  #turnDock{right:30%}
  #table .topbar > #chatBubble{display:inline-flex!important;position:static!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important;padding:0!important;overflow:visible!important;clip:auto!important;pointer-events:auto!important}
  #talkHandle{display:none!important}
}

/* t8461: suppress index Home flash while navigating to lobby.html after avatar pick */
html.heading-lobby #lobby,html.heading-lobby .home-tabs,html.heading-lobby #crewCard,html.heading-lobby .hero,html.heading-lobby #wideTourSlot,html.heading-lobby #h1TourSlot{visibility:hidden!important}
/* t8599 (TestMu iPhone/Galaxy): the pre-action buttons read in full on a 390px phone ("Check/Fold", "Call any") */
@media (max-width:430px) and (orientation:portrait){
  html:root #actionBar .chk.pre{padding:0 4px;gap:4px;font-size:13px;letter-spacing:-.1px}
  html:root #actionBar .chk.pre input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
  html:root #actionBar .chk.pre{position:relative}
  html:root #actionBar .chk.pre:has(input:checked){border-color:#ffd166;background:#3a3214;box-shadow:inset 0 0 0 1px #ffd166}
  html:root #actionBar .chk.pre:has(input:checked) span::before{content:"\2713\00a0"}
  html:root #actionBar .chk.pre:has(input:focus-visible){outline:2px solid #7cc4ff;outline-offset:2px}
  html:root #actionBar .chk.pre span{text-overflow:clip;font-size:13px!important;letter-spacing:-.2px}
}

/* t8599 (TestMu, both phones): Focus mode keeps its own dark surface in every theme, so its text must stay light.
   The light theme was painting the player/pot/Chalupa line and pane messages near-black on #0e1412. */
html #focusMode .focus-status,html #focusMode .focus-seat,html #focusMode .focus-hand,html #focusMode .focus-prompt{color:#f7fbfc!important;opacity:1!important}
html #focusMode .focus-draws{color:#d8f3e8!important}
html #focusMode .focus-seat{font-size:max(20px,1.25rem)}
/* t8599: on 360-375px phones "Check/Fold" wrapped to two lines. One line always; smaller phones drop the tick (the gold fill still shows it is set). */
@media (max-width:430px) and (orientation:portrait){html:root #actionBar .chk.pre span{white-space:nowrap;overflow:visible}}
@media (max-width:379px) and (orientation:portrait){
  html:root #actionBar .chk.pre{padding:0 2px}
  html:root #actionBar .chk.pre span{font-size:12px!important;letter-spacing:-.3px}
  html:root #actionBar .chk.pre:has(input:checked) span::before{content:none}
}
/* t8617 (TestMu Galaxy): "..." opened the tools row (Sit out, Show my cards, reserve) below the bottom edge of the
   phone, so nothing seemed to happen. The row now opens as a tray just above the action bar. */
@media (max-width:900px),(orientation:landscape) and (max-height:520px),(orientation:landscape) and (pointer:coarse) and (min-height:521px) and (max-height:1100px) and (max-width:1400px){
  html:root #actionBar{position:relative}
  html:root #actionBar.tools-open #barTools{position:absolute;left:8px;right:8px;bottom:calc(100% + 6px);z-index:40;gap:6px;padding:6px;border-radius:14px;background:rgba(10,16,28,.95);border:1px solid rgba(255,214,106,.45);box-shadow:0 6px 18px rgba(0,0,0,.45)}
  html:root body #table #actionBar.tools-open:not(.raising){z-index:50;overflow:visible!important}
  html:root #actionBar.tools-open #toolsMore{outline:2px solid #ffd166;outline-offset:1px}
}
/* t8617: the paused strip squeezed "Practice paused" and its hint into two thin columns on a phone. One clear line
   and the Resume button; the hint stays for screen readers. */
@media (max-width:600px),(orientation:landscape) and (max-height:520px){
  html body #table #pausedOv[hidden]:not(#zz){display:none!important}
  html body #table #pausedOv:not([hidden]):not(#zz){display:flex!important;align-items:center!important;gap:10px!important;padding:6px 8px!important}
  html body #table #pausedOv:not([hidden]) #pausedT.paused-t:not(#zz){display:block!important;flex:1 1 auto!important;font-size:15px!important;font-weight:800!important;line-height:1.25!important;max-height:none!important;white-space:normal!important}
  html body #table #pausedOv #pausedH:not(#zz){position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
  html body #table #sitInBar:not(#zz) p{font-size:13px!important;max-height:none!important}
}
/* t8617 TestMu #4: a back/forward arrow with nowhere to go looked exactly like a live one (green, only a light grey
   filter in dark mode), so the forward arrow at a table seemed broken. A disabled arrow now reads clearly as off. */
html:root body .pp-nav button:disabled:not(#zz),html:root[data-theme="dark"] body .pp-nav button:disabled:not(#zz){opacity:.38!important;filter:grayscale(1)!important;box-shadow:none!important;cursor:default!important}
/* t8617 (2D polish pass, Table felt & cards): a chosen swatch has a dark green fill, but its label stayed dark grey and
   could not be read. Chosen labels are now white. */
html body #lookDlg .swatches .sw[aria-checked="true"]:not(#zz){color:#ffffff!important;-webkit-text-fill-color:#ffffff!important;text-shadow:0 1px 1px rgba(0,0,0,.45)}
