/* Carrom 3D — tournament table identity + responsive polish */
:root{--c3d-safe-l:max(12px,env(safe-area-inset-left,0px));--c3d-safe-r:max(12px,env(safe-area-inset-right,0px));--c3d-safe-t:max(10px,env(safe-area-inset-top,0px));--c3d-safe-b:max(10px,env(safe-area-inset-bottom,0px))}
#screen-menu{padding:0;align-items:stretch;justify-content:stretch;background:radial-gradient(circle at 50% 50%,#d9bd86 0 6%,#b99057 6% 7%,#ead6a7 7% 42%,#6e4026 42% 45%,#2f1d16 45% 100%);overflow:hidden}
#screen-menu::before{content:'';position:absolute;left:18%;right:18%;top:18%;bottom:10%;border:9px solid #6c4028;box-shadow:inset 0 0 0 6px #d6b67d,0 14px 0 #3d241a;transform:perspective(700px) rotateX(58deg);transform-origin:bottom;pointer-events:none}
#screen-menu::after{content:'CLUB TABLE 04  •  TOURNAMENT READY';position:absolute;left:max(6%,var(--c3d-safe-l));top:calc(var(--c3d-safe-t) + 2%);padding:.4rem .7rem;background:#efe0bd;color:#4b2e21;border:2px solid #6a432d;font:900 .7rem/1 ui-monospace,monospace;letter-spacing:.13em;white-space:nowrap}
#screen-menu .panel{position:absolute;inset:0;width:100%;max-width:none;max-height:none;padding:0;background:transparent;border:0;box-shadow:none;text-align:left;overflow:visible}
#screen-menu .panel::before,#screen-menu .panel::after{display:none!important}
#screen-menu .eyebrow{position:absolute;left:max(7%,var(--c3d-safe-l));top:13%;background:#4b2f23;color:#f4e2bd;border-radius:999px;padding:.3rem .65rem;letter-spacing:.15em}
#screen-menu h1{position:absolute;left:max(7%,var(--c3d-safe-l));top:20%;margin:0!important;max-width:48%;background:none!important;color:#fff1ca!important;font:900 clamp(3rem,8vw,6rem)/.8 Georgia,serif!important;letter-spacing:-.04em!important;text-shadow:5px 5px 0 #513020!important}
#screen-menu h1 span{display:block;color:#e9c66f!important;font-size:.58em}
#screen-menu .subtitle{position:absolute;left:max(7%,var(--c3d-safe-l));top:45%;width:min(40vw,500px);margin:0;padding:.65rem .75rem;background:#efe0bd;color:#4c3325;border-left:6px solid #7b472b;font-family:Georgia,serif;line-height:1.45}
#screen-menu .stat-strip{position:absolute;right:max(6%,var(--c3d-safe-r));top:10%;width:min(28vw,320px);display:grid;gap:5px;margin:0;background:transparent;border:0}
#screen-menu .stat-strip span{background:#f1e2bd;color:#4d3426;border:2px solid #6c432e;border-radius:999px;padding:.5rem .65rem;font-weight:900;text-align:center}
#screen-menu .menu-actions{position:absolute;right:max(6%,var(--c3d-safe-r));bottom:calc(8% + env(safe-area-inset-bottom,0px));width:min(31vw,340px);display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}
#screen-menu .menu-actions button{min-height:50px;border-radius:999px!important;border:3px solid #5d3826!important;background:#ead7aa!important;color:#4b3023!important;box-shadow:0 5px 0 #5d3826!important;font-family:Georgia,serif!important;font-weight:900!important}
#screen-menu .menu-actions button.primary{grid-column:1/-1;min-height:70px;background:#8f3d2e!important;color:#fff3cf!important;border-color:#5d241b!important;font-size:.95rem!important}
#screen-setup .panel,#screen-how .panel,#screen-pause .panel,#screen-gameover .panel,#screen-board-select .panel,#screen-skins .panel,#screen-settings .panel,#screen-results .panel{border-radius:8px!important;background:#efe0bd!important;color:#493226!important;border:5px double #6c432e!important;box-shadow:0 10px 0 #3d261b!important;max-height:calc(100dvh - var(--c3d-safe-t) - var(--c3d-safe-b) - 18px);overflow:auto}
#screen-setup,#screen-how,#screen-pause,#screen-gameover,#screen-board-select,#screen-skins,#screen-settings,#screen-results{padding:var(--c3d-safe-t) var(--c3d-safe-r) var(--c3d-safe-b) var(--c3d-safe-l)}
.game-bar{padding-left:var(--c3d-safe-l);padding-right:var(--c3d-safe-r);padding-top:max(0px,env(safe-area-inset-top,0px))}
.hud{padding-left:var(--c3d-safe-l);padding-right:var(--c3d-safe-r)}
.baseline-positioner{left:var(--c3d-safe-l);right:var(--c3d-safe-r)}
button,a,input[type="range"]{touch-action:manipulation}
.icon-btn,.hud-btn,.menu-actions button,.btn-group button,.difficulty-select button,.nn-nudge-signup,.nn-nudge-later{min-height:44px}
.icon-btn,.hud-btn{min-width:44px}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ffe4a3;outline-offset:3px}
@media(max-width:700px){
  #screen-menu{overflow:auto}
  #screen-menu::before{left:7%;right:7%;top:14%;bottom:4%;opacity:.78}
  #screen-menu::after{font-size:.54rem;letter-spacing:.08em;max-width:calc(100vw - var(--c3d-safe-l) - var(--c3d-safe-r));overflow:hidden;text-overflow:ellipsis}
  #screen-menu .panel{position:relative;min-height:100%;display:grid;grid-template-rows:auto auto auto auto 1fr;align-content:start;gap:8px;padding:calc(var(--c3d-safe-t) + 52px) var(--c3d-safe-r) calc(var(--c3d-safe-b) + 18px) var(--c3d-safe-l);overflow:auto}
  #screen-menu .eyebrow{position:static;justify-self:start;margin-top:1vh;font-size:.58rem}
  #screen-menu h1{position:static;max-width:100%;font-size:clamp(2.45rem,13vw,4.7rem)!important;line-height:.82!important}
  #screen-menu .subtitle{position:static;width:min(92vw,560px);font-size:.72rem;padding:.5rem .6rem;line-height:1.35}
  #screen-menu .stat-strip{position:static;width:min(92vw,560px);grid-template-columns:1fr 1fr;gap:6px}
  #screen-menu .stat-strip span{font-size:.62rem;padding:.42rem .45rem}
  #screen-menu .menu-actions{position:static;width:min(92vw,560px);grid-template-columns:1fr 1fr;gap:7px;margin:auto 0 0}
  #screen-menu .menu-actions button{min-height:44px;font-size:.61rem!important;padding:.45rem!important}
  #screen-menu .menu-actions button.primary{grid-column:auto;min-height:50px}
  #screen-menu .menu-actions button:first-child{grid-column:1/-1;min-height:54px}
  #screen-setup .panel,#screen-how .panel,#screen-pause .panel,#screen-gameover .panel,#screen-board-select .panel,#screen-skins .panel,#screen-settings .panel,#screen-results .panel{width:min(94vw,660px);padding:16px 14px}
  .setup-grid,.how-grid{grid-template-columns:1fr!important}
  .difficulty-select{display:grid!important;grid-template-columns:1fr 1fr;gap:6px!important}
  .difficulty-select button:last-child{grid-column:1/-1}
  .hud-top{gap:5px;flex-wrap:wrap}
  .hud-chip{min-width:0;padding:5px 7px;font-size:.62rem}
  .hud-chip .label{display:none}
  #hud-queen-chip{display:none}
  .baseline-positioner{bottom:calc(var(--c3d-safe-b) + 10px);width:auto}
  .practice-controls{bottom:calc(var(--c3d-safe-b) + 70px)}
}
@media(max-height:520px) and (orientation:landscape){
  #screen-menu .panel{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(340px,1.1fr);grid-template-rows:auto auto 1fr;gap:6px 20px;padding:calc(var(--c3d-safe-t) + 30px) var(--c3d-safe-r) var(--c3d-safe-b) var(--c3d-safe-l);overflow:auto}
  #screen-menu .eyebrow{position:static;grid-column:1;grid-row:1;align-self:end;font-size:.52rem}
  #screen-menu h1{position:static;grid-column:1;grid-row:2;max-width:100%;font-size:clamp(2.2rem,9vh,3.2rem)!important;align-self:center}
  #screen-menu .subtitle{position:static;grid-column:1;grid-row:3;width:100%;font-size:.62rem;align-self:start}
  #screen-menu .stat-strip{position:static;grid-column:2;grid-row:1;width:100%;grid-template-columns:1fr 1fr;align-self:end}
  #screen-menu .menu-actions{position:static;grid-column:2;grid-row:2/4;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));align-self:center}
  #screen-menu .menu-actions button,#screen-menu .menu-actions button.primary,#screen-menu .menu-actions button:first-child{grid-column:auto;min-height:44px;font-size:.55rem!important;padding:.42rem!important}
  #screen-menu .menu-actions button:first-child{grid-column:1/-1}
  #screen-menu::before{left:47%;right:4%;top:8%;bottom:4%;transform:perspective(700px) rotateX(52deg)}
  #screen-setup .panel,#screen-how .panel,#screen-pause .panel,#screen-gameover .panel,#screen-board-select .panel,#screen-skins .panel,#screen-settings .panel,#screen-results .panel{width:min(94vw,840px);padding:12px 16px}
  .menu-actions.compact,#screen-pause .menu-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .setup-grid,.how-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
