/* Saved tables and a real page footer. Game-specific colors remain authoritative. */
body.pf-page-layout { display:flex; flex-direction:column; box-sizing:border-box; min-height:100vh; min-height:100dvh; padding-bottom:calc(5.625rem + env(safe-area-inset-bottom,0px)); }
body.pf-page-layout > main { width:100%; margin:0 auto; flex:1 0 auto; }
body.pf-page-layout > .pf-game-header { width:100%; flex:0 0 auto; }
body.pf-page-layout > .release-footer { position:static; flex:0 0 auto; width:100%; max-width:none; margin:0; padding:12px max(16px,env(safe-area-inset-left,0px)); border-top:1px solid var(--nav-line,var(--border)); display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 18px; line-height:1.6; opacity:1; color:var(--muted); }
body.pf-page-layout > .release-footer .release-brand { gap:8px 12px; margin:0; font-size:.6875rem; }
body.pf-page-layout > .release-footer .release-brand img { width:86px; height:30px; }
body.pf-page-layout > .release-footer span { white-space:normal; }
.pf-match-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:16px 0 10px; }
.pf-match-views { display:flex; align-items:center; gap:4px; padding:4px; border:1px solid var(--border); border-radius:13px; background:var(--surface); }
.pf-match-toolbar .pf-match-view,.pf-match-toolbar .pf-match-refresh { min-height:44px; min-width:70px; width:auto; margin:0; padding:10px 16px; font-family:inherit; font-size:.8125rem; font-weight:650; line-height:1.3; border:1px solid transparent; border-radius:9px; color:var(--muted); background:transparent; cursor:pointer; }
.pf-match-toolbar .pf-match-view[aria-pressed="true"] { color:var(--selected-text); background:var(--selected); border-color:var(--selected-border); }
.pf-match-toolbar .pf-match-refresh { color:var(--text); border-color:var(--border); background:var(--surface); }
.pf-match-hint,.pf-match-feedback,.pf-match-status { font-size:.8125rem!important; line-height:1.55!important; color:var(--muted); margin:8px 0 10px; }
.pf-match-feedback:empty,.pf-match-status:empty { display:none; }
.pf-match-feedback { color:var(--selected-text); }
.pf-match-list { display:grid!important; grid-template-columns:minmax(0,1fr); gap:8px!important; list-style:none; margin:12px 0!important; padding:0!important; width:100%; min-width:0; }
/* An explicit list-ID scope beats legacy #myMatches a and Stud #matches button rules. */
body.pf-page-layout :is(#myMatches,#matches,#recentMatches).pf-match-list .pf-match-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:stretch; width:100%; min-width:0; margin:0; padding:0; border:1px solid var(--border); border-radius:12px; background:var(--surface); overflow:visible; box-shadow:0 2px 8px var(--shadow); }
body.pf-page-layout :is(#myMatches,#matches,#recentMatches).pf-match-list .pf-match-open { box-sizing:border-box; display:flex; flex-direction:column; justify-content:center; gap:3px; width:100%; min-width:0; min-height:44px; height:auto; margin:0; padding:11px 12px; border:0; border-radius:11px; background:transparent; color:var(--text); text-decoration:none; text-align:left; font:inherit; line-height:1.4; cursor:pointer; }
.pf-match-heading,.pf-match-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:3px 8px; min-width:0; width:100%; }
.pf-match-game { color:var(--muted); font-size:.6875rem; letter-spacing:.02em; font-weight:550; }
.pf-match-badge { font-size:.6875rem; padding:0; border-radius:0; color:var(--selected-text); background:transparent; line-height:1.4; }
.pf-match-title { display:block; color:var(--text); font-size:1rem; line-height:1.3; font-weight:700; letter-spacing:-.02em; overflow-wrap:anywhere; }
.pf-match-detail { color:var(--muted); font-size:.75rem; overflow-wrap:anywhere; }
.pf-match-cta { color:var(--selected-text); font-size:.75rem; font-weight:650; white-space:nowrap; margin-left:auto; }
body.pf-page-layout :is(#myMatches,#matches,#recentMatches).pf-match-list .pf-match-actions { display:flex; align-items:center; justify-content:center; gap:0; padding:4px 6px 4px 0; border:0; border-radius:0; }
body.pf-page-layout :is(#myMatches,#matches,#recentMatches).pf-match-list .pf-match-archive { width:auto; min-width:64px; min-height:44px; padding:8px; margin:0; background:transparent; border:0; border-radius:8px; color:var(--muted); font-family:inherit; font-size:.75rem; font-weight:600; line-height:1.4; text-align:center; cursor:pointer; }
.pf-match-list .pf-match-empty { margin:0; padding:28px 22px; border:1px dashed var(--border); border-radius:16px; color:var(--muted); background:var(--surface); }
.pf-match-empty strong { display:block; color:var(--text); font-size:1rem; }
.pf-match-empty p { margin:8px 0 0; font-size:.8125rem; line-height:1.6; }
.pf-match-toolbar button:focus-visible,.pf-match-list .pf-match-open:focus-visible,.pf-match-list .pf-match-archive:focus-visible { outline:3px solid var(--selected-border); outline-offset:3px; }
.pf-match-toolbar button:disabled,.pf-match-list button:disabled { cursor:wait; opacity:.55; }
@media(hover:hover){body.pf-page-layout :is(#myMatches,#matches,#recentMatches).pf-match-list .pf-match-open:hover,body.pf-page-layout :is(#myMatches,#matches,#recentMatches).pf-match-list .pf-match-archive:hover,.pf-match-toolbar button:hover { background:var(--surface-hover); }.pf-match-list .pf-match-open:hover { text-decoration:none; }}
@media(max-width:380px){.pf-match-toolbar { gap:8px; }.pf-match-toolbar .pf-match-view,.pf-match-toolbar .pf-match-refresh { padding:10px 11px; min-width:60px; }body.pf-page-layout :is(#myMatches,#matches,#recentMatches).pf-match-list .pf-match-open { padding:10px; }.pf-match-heading { align-items:flex-start; }.pf-match-badge { margin-left:0; }}
@media print { body.pf-page-layout { padding-bottom:0; }.pf-match-toolbar,.pf-match-actions { display:none; } }

.pf-match-list .pf-match-open[aria-disabled="true"] { cursor:default; }

body.pf-page-layout.pf-has-navigation { padding-bottom:calc(var(--pf-game-nav-height) + var(--pf-game-nav-gap)); }

body.pf-page-layout > .release-footer .pf-motion-toggle { margin:0; min-height:44px; font-size:.6875rem; }
