/* Frataro design system and the app's base look. Loaded last in index.html (after the older per screen files, which still
   hold layout for screens not redesigned yet), so these rules win. style_guide.html uses the .f-* classes below.
   Colors: bg #0c100e, surfaces #151b18 / #1f2723, avatar #26302b, text #f4f5f4 / #b7bfbb / #8a948f.
   Green #006747 is the primary button fill only. Bright green #2fa77a: active tab icon, "Open now", your vote bar.
   Gold only on the member card (border and the Founding member label). Red only on delete actions.
   Type: Barlow 400/500/600 body; Barlow Condensed 600/700 for titles, section headers and numbers.
   Screen title 30, sub screen title 24, section header 15 caps .08em, eyebrow 12 caps .14em, body 15, secondary 13.
   Text is typed in normal case at the source; caps come only from the section header and eyebrow styles.
   Hero cards (member card, week card, debate) are the only boxes; everything else is list rows with 1px dividers. */
:root{
  --bg:#0c100e; --surface:#151b18; --surface-2:#1f2723; --avatar:#26302b;
  --line:rgba(255,255,255,.08); --ctl:rgba(255,255,255,.16); --edge:rgba(255,255,255,.24);
  --ink:#f4f5f4; --ink-2:#b7bfbb; --ink-3:#8a948f;
  --green:#006747; --green-2:#2fa77a; --bar-off:#5d6863;
  --gold:rgba(185,154,51,.55); --gold-ink:#c9ab4a; --gold-accent:#e7c27a; --cardinal:#a4161a;
  --f-head:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;
  --f-text:"Barlow",system-ui,-apple-system,sans-serif;
  --t-label:12px; --t-small:13px; --t-body:15px; --t-btn:16px; --t-section:15px; --t-title:28px; --t-hero:36px;
  --ls-label:.14em; --ls-head:.08em;
  --r-tag:4px; --r-chip:8px; --r-ctl:10px; --r-card:12px; --r-round:50%;
  --s-4:4px; --s-8:8px; --s-12:12px; --s-16:16px; --s-20:20px; --s-24:24px;
  --sh-2:0 14px 36px rgba(0,0,0,.55);
  --focus:0 0 0 2px var(--green-2);
  --surface-1:var(--surface); --surface-3:var(--avatar);
  /* app geometry: tab bar 56 + 22 bottom padding, top row 48, page padding 20 */
  --tabs-h:56px; --tabs-pad:max(var(--safe-b), 8px); --tabs-bar:calc(var(--tabs-h) + var(--tabs-pad)); --tabs-total:var(--tabs-bar); --app-h:100vh;   /* tab bar: 56 + the home indicator inset (8px at least); --tabs-total is the part inside the viewport (fullscreen) */
  --muted:var(--ink-2); --glass:var(--surface); --glass-line:var(--line); --cream:#fff; --board:var(--surface-2); --masters:var(--green);
}

/* =====================================================================================================================
   STYLE GUIDE CLASSES (.f-*)
   ===================================================================================================================== */
.f-label{font:600 var(--t-label)/1.3 var(--f-text);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--ink-3)}
.f-small{font:400 var(--t-small)/1.45 var(--f-text);color:var(--ink-3)}
.f-body{font:400 var(--t-body)/1.45 var(--f-text);color:var(--ink)}
.f-strong{font-weight:600}
.f-section{font:700 var(--t-section)/1.2 var(--f-head);letter-spacing:var(--ls-head);text-transform:uppercase;margin:0;color:var(--ink)}
.f-card-title{font:600 20px/1.15 var(--f-head);margin:0;color:var(--ink)}
.f-title{font:600 var(--t-title)/1.1 var(--f-head);margin:0;color:var(--ink)}
.f-hero{font:700 var(--t-hero)/1 var(--f-head);font-variant-numeric:tabular-nums;color:var(--ink)}
.f-num{font:700 20px/1 var(--f-head);font-variant-numeric:tabular-nums;color:var(--ink)}
.f-link{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;font-weight:600}
.f-error{color:var(--cardinal);font:600 var(--t-small)/1.45 var(--f-text)}
.f-header{position:relative;padding:var(--s-8) 0 var(--s-16)}
.f-header .f-wordmark{display:block;height:22px;width:auto;margin:0 0 var(--s-16)}
.f-header .f-profile{position:absolute;top:0;right:0;width:36px;height:36px;border-radius:var(--r-round);border:0;
  background:var(--surface);color:var(--ink);font:600 var(--t-body)/1 var(--f-text);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0}
.f-demo{display:flex;align-items:center;gap:4px;height:20px;color:var(--ink-3);font:400 var(--t-label)/1 var(--f-text);margin-bottom:var(--s-8)}
.f-demo button{border:0;background:none;padding:0;color:var(--ink-3);font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.f-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-8);height:48px;padding:0 var(--s-24);border-radius:var(--r-ctl);
  border:1px solid transparent;background:var(--green);color:#fff;font:600 var(--t-btn)/1 var(--f-text);letter-spacing:0;text-transform:none;text-decoration:none;cursor:pointer}
.f-btn.block{display:flex;width:100%}
.f-btn.secondary{height:44px;background:transparent;border-color:var(--edge);color:var(--ink)}
.f-btn.danger{background:var(--cardinal)}
.f-btn:disabled{background:var(--surface-2);color:var(--ink-3);cursor:not-allowed}
.f-vote{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-8)}
.f-vote button{height:44px;border-radius:var(--r-ctl);border:1px solid var(--edge);background:transparent;color:var(--ink);padding:0 var(--s-8);font:600 var(--t-btn)/1 var(--f-text);cursor:pointer}
.f-vote button.picked{border-color:var(--green-2)}
.f-chips{display:flex;flex-wrap:wrap;gap:var(--s-8)}
.f-chip{height:36px;padding:0 var(--s-16);border-radius:var(--r-chip);border:1px solid var(--ctl);background:transparent;color:var(--ink);font:600 var(--t-body)/1 var(--f-text);cursor:pointer}
.f-chip.on{background:var(--surface-2);border-color:var(--edge)}
.f-seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:var(--s-4);padding:var(--s-4);border-radius:var(--r-ctl);background:var(--surface);border:1px solid var(--line)}
.f-seg button{height:36px;border:0;border-radius:var(--r-chip);background:transparent;color:var(--ink-2);font:600 var(--t-body)/1 var(--f-text);cursor:pointer}
.f-seg button.on{background:var(--surface-2);color:var(--ink)}
.f-tag{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:var(--r-tag);background:var(--surface-2);color:var(--ink-2);font:600 var(--t-label)/1 var(--f-text);vertical-align:middle}
.f-admin-pill{display:inline-flex;align-items:center;height:32px;padding:0 var(--s-12);border-radius:var(--r-chip);border:1px solid var(--edge);background:transparent;color:var(--ink-2);font:600 var(--t-small)/1 var(--f-text);cursor:pointer}
.f-card{background:var(--surface);border-radius:var(--r-card);padding:18px;margin-bottom:var(--s-24)}
.f-well{background:var(--surface-2);border-radius:var(--r-card);padding:var(--s-12)}
.f-sheet{background:var(--surface);border:1px solid var(--line);border-bottom:0;border-radius:var(--r-card) var(--r-card) 0 0;padding:var(--s-20) var(--s-20) var(--s-24);box-shadow:var(--sh-2)}
.f-sheet .f-section{text-align:center;margin-bottom:var(--s-12)}
.f-input{width:100%;height:48px;border-radius:var(--r-ctl);border:1px solid var(--ctl);background:transparent;color:var(--ink);padding:0 var(--s-12);font:400 var(--t-body)/1 var(--f-text)}
.f-input:focus{outline:none;box-shadow:var(--focus)}
.f-check{display:flex;align-items:center;gap:var(--s-12);font:400 var(--t-body)/1.45 var(--f-text);color:var(--ink)}
.f-check input{width:20px;height:20px;accent-color:var(--green)}
.f-rowline{display:flex;align-items:center;justify-content:space-between;gap:var(--s-12);padding:12px 0;border-top:1px solid var(--line)}
.f-rowline:last-child{border-bottom:1px solid var(--line)}
.f-avatar{border-radius:var(--r-round)}
.f-member{border-radius:var(--r-card);padding:18px;background:var(--surface);border:1px solid var(--gold)}
.f-member .f-gold{color:var(--gold-ink)}
.f-tabs{display:grid;grid-template-columns:repeat(5,1fr);height:78px;padding-bottom:22px;border-top:1px solid var(--line);background:var(--bg)}
.f-tabs button{border:0;background:none;color:var(--ink-3);font:500 11px/1 var(--f-text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.f-tabs button svg{width:22px;height:22px}
.f-tabs button.on{color:var(--ink);font-weight:600}
.f-tabs button.on svg{color:var(--green-2)}

/* =====================================================================================================================
   APP FOUNDATION. S = every screen, sheet and the 19th Hole card. PLAY keeps its map overlays (yardage card, hole bar,
   GPS pill); only the tab bar, profile icon and sheets follow this look there.
   ===================================================================================================================== */
html,body{background:var(--bg)}
body:not(.tab-play){background:var(--bg)}
:is(.screen,.sheet,.n19-wrap){font-family:var(--f-text);color:var(--ink)}
:is(.screen,.sheet,.n19-wrap,.tabs,.toast) *{text-transform:none}
:focus-visible{outline:none;box-shadow:var(--focus)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

/* ---- page frame: top row 48, page padding 20, room for the pinned button and the tab bar ---- */
/* bottom padding = pinned bar (12 + 48 + 12 + 1px line) + tab bar, so nothing scrolls out of reach under them */
.screen,.so,.club{padding:var(--safe-t) 20px calc(var(--tabs-total) + 73px)}
.toprow{display:flex;align-items:center;gap:8px;height:48px;padding-right:44px;margin:0}
/* main tabs: 44 | 1fr | 44 grid, wordmark centered in the middle column (= screen center), profile circle over the right column */
.brandbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;height:48px;padding:0;margin:0}
.brandbar img{grid-column:2;justify-self:center;height:22px;width:auto;display:block}
.toprow .back{display:flex;align-items:center;justify-content:center;width:32px;height:40px;margin-left:-8px;padding:0;border:0;background:none;color:var(--ink);cursor:pointer}
.toprow .back svg{width:24px;height:24px}
.toprow .toptitle{margin:0;font:600 24px/1.1 var(--f-head);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-btn{top:calc(6px + var(--safe-t));right:20px;width:36px;height:36px;border:0;background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}
.profile-btn.in{border:0}
.profile-btn svg{width:20px;height:20px;color:var(--ink-2)}
body:not(.tab-play) .profile-btn{position:absolute}
.av{background:var(--avatar);color:var(--ink);font:600 15px/1 var(--f-text);letter-spacing:0}
.av.big{border:0;font-size:24px}
.av.sm{width:32px;height:32px;font-size:13px}
.profile-btn .av{background:var(--surface)}
/* demo: one 12px muted line under the top row */
.demo-line{display:flex;flex-wrap:wrap;align-items:center;gap:0 4px;min-height:20px;margin:-6px 0 8px;font:400 12px/1.45 var(--f-text);color:var(--ink-3)}
.demo-line button{border:0;padding:0;background:none;color:var(--ink-3);font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.title{position:relative;margin:8px 0 4px;font:600 var(--t-title)/1.1 var(--f-head);color:var(--ink)}
/* optional action at the right end of a screen title row (SCORECARD: ⋯ Card options), centered on the title */
.title-action{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--ink-2);cursor:pointer}
.title-action svg{width:22px;height:22px}
.title-sub{margin:0 0 4px;font:400 13px/1.45 var(--f-text);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.title-sub{margin-bottom:24px}
.title:not(:has(+ .title-sub)){margin-bottom:24px}

/* ---- info icon: native details; the text it explains opens under it ---- */
details.info{display:inline-block;vertical-align:middle;margin-left:2px}
details.info > summary{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;vertical-align:middle;list-style:none;cursor:pointer;color:var(--ink-3)}
details.info > summary::-webkit-details-marker{display:none}
details.info > summary svg{width:16px;height:16px}
details.info[open]{display:block;flex-basis:100%}
details.info[open] > summary{color:var(--ink)}
details.info > :not(summary){margin:4px 0 8px;font:400 13px/1.45 var(--f-text);color:var(--ink-2);text-align:left;letter-spacing:0;text-transform:none}

/* ---- type ---- */
:is(.screen,.sheet,.n19-wrap) :is(small,.lbl,.so-lb th,.app-dl dt,.code span,.sg-pick span,.eyebrow){font:600 12px/1.3 var(--f-text);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--ink-3)}
:is(.screen,.sheet,.n19-wrap) :is(.sec-h,.cl-h,.sg-title,.sg-h,.step-h){display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 4px}
:is(.screen,.sheet,.n19-wrap) :is(.sec-h b,.cl-h b,.sg-title b,.sg-h b,.step-h b){font:700 15px/1.2 var(--f-head);letter-spacing:var(--ls-head);text-transform:uppercase;color:var(--ink)}
:is(.screen,.sheet,.n19-wrap) :is(.sec-h,.cl-h,.sg-title,.sg-h) :is(small,em,.link){font:400 13px/1.45 var(--f-text);letter-spacing:0;text-transform:none;color:var(--ink-2);font-style:normal}
:is(.screen,.sheet,.n19-wrap) .sec-h .link{border:0;background:none;padding:0;cursor:pointer;color:var(--ink-2)}
:is(.screen,.sheet,.n19-wrap) :is(p,.bh-line,.n19-title,.benefits li,.tg,.take p,.stake,.reg-switch,.rules li,.boards p,.rd-card td,.pub-rows span,.fields .chk,.app-dl dd,.rp q,.so-err,.guest-note,.join-note){font-size:15px;line-height:1.45;letter-spacing:0}
/* secondary lines: 13 Barlow 400 muted, normal case */
:is(.screen,.sheet,.n19-wrap) :is(.what small,.past small,.rd-what small,.rd-date small,.pw small,.past-ad small,.rv-row small,.take .who small,.wr small,.benefits small,.pf-hint,.pf-photo small.pf-hint,
  .sc-note,.so-note,.so-sub,.votes,.fmt,.closes,.sg-line,.sg-key,.lb-key,.lb-lock,.rd-when,.wk-course span,.wk-grid span,.sv-sum span,.sv-sum em,.hc-missing span,
  .hcard .hupd,.hcard .hsrc,.mt-hcp .hrow,.mt-hcp .mnote,.legal,.ps-note,.gross-vs,.sg-big span,.sg-row span,.so-lb td.sim,.hnote,.rt-state,.sg-note,.app-dl,.jc-row span,
  .join-card>span,.sg-h em,.when span,.spot,.what .cd,.closes .cd,.watch.off,.wr-top li em,.wr-top li i,.seeds em,.pg-tile .from,.pg-tile b em,.stp b em,.so-lb td.sc small,.rd-empty,.photo,.nophoto,.row-sub,.mem-hcp,.sub){
  font:400 13px/1.45 var(--f-text);letter-spacing:0;text-transform:none;color:var(--ink-3)}
:is(.screen,.sheet,.n19-wrap) :is(.closes .cd,.what .cd){font-weight:600;color:var(--ink-2)}
:is(.screen,.sheet,.n19-wrap) :is(.sc-note,.so-note,.legal,.ps-note,.hnote,.rt-state,.sg-note,.pf-hint,.votes,.lb-key,.lb-lock,.rd-when){font-size:13px!important;line-height:1.45}
/* titles */
:is(.screen,.sheet,.n19-wrap) :is(.so-head h1,.so-title,.rd-head h2,.so-done h2,.bh h1){font:600 30px/1.1 var(--f-head);letter-spacing:0;color:var(--ink);text-transform:none}
.sheet-title{font:600 24px/1.1 var(--f-head);letter-spacing:0;text-transform:none;text-align:center;margin-bottom:16px;color:var(--ink)}
/* card titles: 20 Barlow Condensed 600 */
:is(.screen,.sheet,.n19-wrap) :is(.jc-row b,.so-week h2,.drop-h h3,.q-admin,.wk-course b,.join-hero h2,.join-hero .jh-text h2,.n19 h2,.boards b,.join-card>b,.pub b,.resume b,.big-line,.bh-card b,.settled b){
  font:600 20px/1.15 var(--f-head);letter-spacing:0;color:var(--ink);text-transform:none}
/* list row titles: 15 Barlow 600 */
:is(.screen,.sheet,.n19-wrap) :is(.what b,.past b,.past-ad b,.rd-what b,.rd-date b,.pw b,.wr-h b,.rp-h b,.take .who b,.so-lb td.pl b,.sim-lb td.pl b,.seeds b,.wr-top li b,.hc-missing b,.pf-box b,.stake b,.wk-grid b,.row-t){
  font:600 15px/1.3 var(--f-text);letter-spacing:0;color:var(--ink)}
/* numbers */
:is(.screen,.sheet,.n19-wrap) :is(.so-lb td.rk,.so-lb td.pts,.rd-score,.sg-row b,.sg-chips b,.pw .g,.seeds .seed,.when b,.sc tr.tot td,.rv-row b,.drop-stats b,.price,.done-grid b.sm,.stp b,.cut-b){
  font-family:var(--f-head);font-weight:700;font-size:20px;line-height:1.05;letter-spacing:0;color:var(--ink)}
:is(.screen,.sheet,.n19-wrap) :is(.hcard b,.rd-big b,.done-grid b,.sv-sum b,.rv-score b,.hc-card .hcv,.pg-tile b,.sg-big b){font:700 36px/1 var(--f-head);letter-spacing:0;color:var(--ink)}
:is(.screen,.sheet,.n19-wrap) .gross input{font:700 36px/1 var(--f-head)}
:is(.screen,.sheet) :is(.price-big,.join-hero .jh-text .price-big){font:700 20px/1.1 var(--f-head);color:var(--ink)}
.sheet-wordmark{height:28px}

/* ---- buttons: primary 48 r10 green, white Barlow 600 16; secondary 44 r10 1px outline ---- */
:is(.screen,.sheet,.n19-wrap) :is(.cta,.bh-btn,.sheet-actions button){height:48px;border-radius:10px;border:1px solid transparent;background:var(--green);color:#fff;
  font:600 16px/1 var(--f-text);letter-spacing:0;text-transform:none;box-shadow:none}
:is(.screen,.sheet,.n19-wrap) :is(.cta.ghost,.cta.small,.cta.yt,.cta.reject,.cta.gold,.sgt-line .cta.sgt,.sheet-actions button:not(.primary),.sc-clear,.btn2){
  height:44px;background:transparent;border:1px solid var(--edge);color:var(--ink);box-shadow:none}
:is(.screen,.sheet,.n19-wrap) .cta.reject:is([data-act=pfDelete],[data-act=pfDeleteYes],[data-act=rdDelete],[data-act=rdConfirmDelete],[data-act=discardRound],[data-act=clearYes],[data-act=tsDelete],[data-act=tsDeleteYes],[data-act=poRemove]){background:var(--cardinal);border-color:transparent}
:is(.screen,.sheet,.n19-wrap) .cta:disabled{opacity:1;background:var(--surface-2);border-color:transparent;color:var(--ink-3)}
:is(.screen,.sheet,.n19-wrap) .sc-clear{padding:0 14px;border-radius:10px;font:600 15px/1 var(--f-text);letter-spacing:0}
:is(.screen,.sheet,.n19-wrap) :is(.cl-more,.watch,.n19-later,.legal a,.textbtn){display:inline-flex;align-items:center;min-height:32px;border:0;background:none;padding:0;color:var(--ink-2);font:600 13px/1 var(--f-text);letter-spacing:0;text-decoration:none;cursor:pointer}
:is(.screen,.sheet,.n19-wrap) .watch.off{font-weight:400}
:is(.screen,.sheet,.n19-wrap) :is(.tk-act button,.pw .del){min-height:28px;border:0;background:none;color:var(--ink-3);font:600 13px/1 var(--f-text);letter-spacing:0;padding:0 12px 0 0}
:is(.screen,.sheet,.n19-wrap) .pw .del{color:var(--cardinal)}
.n19-x{border-radius:10px;background:var(--surface-2)}
/* one primary per screen, full width, pinned above the tab bar */
/* chips, keypad, steppers, segmented controls */
:is(.screen,.sheet,.n19-wrap) :is(.quick button,.sims button,.chips button,.seg3 button,.stp button){border:1px solid var(--ctl);border-radius:8px;background:transparent;color:var(--ink);font:600 15px/1 var(--f-text);letter-spacing:0}
:is(.screen,.sheet,.n19-wrap) :is(.sims button.on,.chips button.on,.seg3 button.on){background:var(--surface-2);border-color:var(--edge)}
:is(.screen,.sheet,.n19-wrap) .seg3 button{font:700 20px/1 var(--f-head)}
.pad button{border:0;border-radius:10px;background:var(--surface-2);font:700 22px/1 var(--f-head)}
.pad button.cur{background:var(--green)}
:is(.screen,.sheet,.n19-wrap) .gross button{border:1px solid var(--ctl);border-radius:10px;background:transparent}
:is(.screen,.sheet,.n19-wrap) .gross input{border:1px solid var(--ctl);border-radius:10px;background:transparent}
:is(.screen,.sheet,.n19-wrap) :is(.seg,.gn){border-radius:10px;background:var(--surface);border:0;padding:4px}
:is(.screen,.sheet,.n19-wrap) :is(.seg button,.gn button){border-radius:8px;color:var(--ink-2);font:600 15px/1 var(--f-text);letter-spacing:0}
:is(.screen,.sheet,.n19-wrap) :is(.seg4t button,.seg5t button){font-size:13px}
:is(.screen,.sheet,.n19-wrap) :is(.seg button.on,.gn button.on){background:var(--surface-2);color:var(--ink)}
/* tags: one quiet style */
:is(.screen,.sheet,.n19-wrap) :is(.pill,.st,.htag,.wk-no,.rd-type,.pw .wk,.wr-h .wk,.mcflag,.founding,.pf-box .su em,.benefits li.soon small,.founding-line,.so-done .st,.jh-text .pill){
  display:inline-flex;align-items:center;height:20px;padding:0 6px;border:0;border-radius:4px;background:var(--surface-2);color:var(--ink-2);font:600 12px/1 var(--f-text);letter-spacing:0;text-transform:none;box-shadow:none;vertical-align:middle}
:is(.screen,.sheet,.n19-wrap) :is(.st.founding,.founding-line,.st.ok,.htag.off,.htag.card,.htag.self,.pill.gold,.st.rejected,.so-done .st.pending,.so-done .st.approved,.pill.on,.pill.live,.pill.soon,.pill.full,.pill.cancel){background:var(--surface-2)!important;color:var(--ink-2)!important}
:is(.screen,.sheet,.n19-wrap) .htag.none{background:transparent;border:1px solid var(--ctl)}
:is(.screen,.sheet,.n19-wrap) :is(.smp,.sample){display:none!important}
:is(.screen,.sheet,.n19-wrap) .wk-status{display:inline;padding:0;background:none;font:600 12px/1.3 var(--f-text);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--ink-3)}
:is(.screen,.sheet,.n19-wrap) .wk-status.on{color:var(--green-2)}
:is(.screen,.sheet,.n19-wrap) .wk-status.on::before{content:none}
:is(.screen,.sheet,.n19-wrap) .pt{min-width:30px;height:24px;border-radius:4px;background:var(--surface-2);color:var(--ink)!important;font:700 15px/1 var(--f-head);box-shadow:none}
:is(.screen,.sheet,.n19-wrap) .pt.u::before{content:"-"}
:is(.screen,.sheet,.n19-wrap) .pt.o::before{content:"+"}
:is(.screen,.sheet,.n19-wrap) .lb-key .pt{min-width:24px;height:20px;font-size:13px}

/* ---- surfaces: no boxes except hero cards; sections are flat with list rows ---- */
:is(.screen,.sheet,.n19-wrap) .glass{background:transparent;border:0;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
:is(.screen,.sheet,.n19-wrap) :is(.cl-card,.so-card,.so-lb,.so-past,.so-step,.so-done,.sg,.mt,.drop,.rv,.rp,.hcard,.join-card,.join-hero,.resume,.hc-missing,.rd-row,.bh-card,.boards,.app,.so-review){
  border-radius:0;border:0;background:transparent;background-image:none;box-shadow:none;padding:0;margin:0 0 24px}
.hero,:is(.screen,.sheet,.n19-wrap) .hero{background:var(--surface);border:0;border-radius:12px;padding:18px;margin:0 0 24px;box-shadow:none}
:is(.screen,.sheet,.n19-wrap) .so-week{background:var(--surface);background-image:none;border:0;border-radius:12px;padding:18px;margin:0 0 24px;box-shadow:none}
:is(.screen,.sheet,.n19-wrap) :is(.wk-grid>div,.drop-stats>div,.done-grid>div,.pub-rows>div,.pf-box,.mt-hcp,.when,.sg-big,.settled,.nophoto,.rp q,.guest-note,.join-note){
  border-radius:10px;background:var(--surface);background-image:none;border:0}
:is(.screen,.sheet,.n19-wrap) .so-week :is(.wk-grid>div){background:var(--surface-2)}
:is(.screen,.sheet,.n19-wrap) .when{background:transparent;padding:0;min-width:0;text-align:left}
:is(.screen,.sheet,.n19-wrap) :is(.guest-note,.join-note){color:var(--ink-2)!important}
/* rows: 1px top divider, last row also bottom, padding 12 */
:is(.screen,.sheet,.n19-wrap) :is(.pw,.past,.past-ad,.wr,.mini,.rd-row,.take,.seeds li,.sg-row,.tg,.row,.mt,.rv,.rp,.drop){border:0;border-top:1px solid var(--line);padding:12px 0;margin:0;border-radius:0;background:transparent}
:is(.screen,.sheet,.n19-wrap) :is(.pw,.past,.past-ad,.wr,.mini,.rd-row,.take,.seeds li,.sg-row,.tg,.row,.mt,.rv,.rp,.drop):not(:has(~ :is(.pw,.past,.past-ad,.wr,.mini,.rd-row,.take,.seeds li,.sg-row,.tg,.row,.mt,.rv,.rp,.drop))){border-bottom:1px solid var(--line)}
:is(.screen,.sheet,.n19-wrap) :is(.pw:first-of-type,.past:first-of-type,.past-ad:first-of-type,.wr:first-of-type,.mini:first-of-type){border-top:1px solid var(--line)}
:is(.screen,.sheet,.n19-wrap) :is(.rd-list,.takes,.sg-rows,.pf-toggles,.seeds){display:grid;gap:0}
:is(.screen,.sheet,.n19-wrap) .seeds{grid-template-columns:1fr}
:is(.screen,.sheet,.n19-wrap) .seeds li{display:grid;grid-template-columns:36px 1fr auto;align-items:center;column-gap:8px}
:is(.screen,.sheet,.n19-wrap) .seeds .seed{grid-row:auto;color:var(--ink)}
:is(.screen,.sheet,.n19-wrap) .rd-row{border-left:0;border-right:0;padding:12px 0}
:is(.screen,.sheet,.n19-wrap) .so-lb table{border-collapse:collapse}
:is(.screen,.sheet,.n19-wrap) .so-lb td{padding:12px 4px;border-top:1px solid var(--line)}
:is(.screen,.sheet,.n19-wrap) .so-lb tbody tr:last-child td{border-bottom:1px solid var(--line)}
:is(.screen,.sheet,.n19-wrap) .so-lb th{padding:8px 4px}
:is(.screen,.sheet,.n19-wrap) .so-lb :is(td.rk,th):first-child{padding-left:0}
/* generic list row (CLUB home and others): title, secondary line, right value */
.row{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;color:var(--ink);text-align:left;text-decoration:none;cursor:pointer;border-left:0;border-right:0;font:inherit}
button.row{border-left:0;border-right:0;background:transparent}
.row .row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.row .row-end{flex:none;font:400 13px/1.45 var(--f-text);color:var(--ink-2);display:flex;align-items:center;gap:6px}
.row .chev{width:16px;height:16px;color:var(--ink-3);flex:none}
.rows{margin:0 0 24px}
/* sections: 24 between, header to rows 4 */
:is(.screen,.sheet,.n19-wrap) .sec-h.out{margin-top:0}
.more{display:none!important}
.show-all .more{display:revert!important}
.show-all tr.more{display:table-row!important}

/* ---- inputs ---- */
:is(.screen,.sheet,.n19-wrap) :is(.fields input,.fld input,.fld select,.fld textarea,.inline input,.sg-pick select,.fields select.sel,.so-sheet .fld select,.take-form textarea,.hh input,.rd-card .ed,.composer input){
  border:1px solid var(--ctl);border-radius:10px;background:transparent;color:var(--ink);font-family:var(--f-text);font-weight:400;font-size:15px;letter-spacing:0}
:is(.screen,.sheet,.n19-wrap) :is(input,select,textarea):focus{outline:none;box-shadow:var(--focus)}
:is(.screen,.sheet,.n19-wrap) :is(.tg input,.fields .chk input,.reg-switch input){accent-color:var(--green)}
:is(.screen,.sheet,.n19-wrap) :is(.code,.n19 .code){border:1px dashed var(--edge);border-radius:10px;background:transparent}
:is(.screen,.sheet,.n19-wrap) .code b{font:700 20px/1 var(--f-head);letter-spacing:.04em}
:is(.screen,.sheet,.n19-wrap) .so-err{background:transparent;color:#e0787a;padding:0;font-weight:600}
:is(.screen,.sheet,.n19-wrap) .photo{border:1px dashed var(--edge);border-radius:12px}
:is(.screen,.sheet,.n19-wrap) .photo.has{border:1px solid var(--line)}
:is(.screen,.sheet,.n19-wrap) .big-check,:is(.screen,.sheet,.n19-wrap) .big-check.rejected{background:var(--surface-2);box-shadow:none}
:is(.screen,.sheet,.n19-wrap) .step-h i{border-radius:4px;background:var(--surface-2);font:700 13px/26px var(--f-text)}
:is(.screen,.sheet,.n19-wrap) .rules li::before{border-radius:4px;background:var(--surface-2);font:700 12px/20px var(--f-text)}
:is(.screen,.sheet,.n19-wrap) :is(.stake svg){color:var(--ink-3)}
:is(.screen,.sheet,.n19-wrap) svg [fill="#006747"]{fill:var(--avatar)}
:is(.screen,.sheet,.n19-wrap) svg :is([fill="#e7c27a"],[fill="#c8892b"],[fill="#f4e3b5"]){fill:rgba(255,255,255,.6)}
:is(.screen,.sheet,.n19-wrap) svg :is([stroke="#e7c27a"],[stroke="#c8892b"]){stroke:var(--edge)}
:is(.screen,.sheet,.n19-wrap) .benefits svg circle{fill:var(--avatar)}

/* ---- side games, scorecard table, boards ---- */
:is(.screen,.sheet,.n19-wrap) :is(.sg-chips span,.sg-strip i){border-radius:8px;background:var(--surface)}
:is(.screen,.sheet,.n19-wrap) .sg-chips span.lead{background:var(--surface-2)}
:is(.screen,.sheet,.n19-wrap) :is(.sg-strip.skins i.w,.sg-strip i.a){background:rgba(255,255,255,.2)}
:is(.screen,.sheet,.n19-wrap) :is(.sg-strip.skins i.c,.sg-strip i.b){background:transparent;box-shadow:inset 0 0 0 1px var(--edge);color:var(--ink)}
:is(.screen,.sheet,.n19-wrap) .sg-strip i.h{background:rgba(255,255,255,.08)}
:is(.screen,.sheet,.n19-wrap) :is(.sg-strip i){font:600 13px/1 var(--f-text)}
:is(.screen,.sheet,.n19-wrap) .sg-strip i sup{color:var(--ink-2);font:600 12px/1 var(--f-text)}
:is(.screen,.sheet,.n19-wrap) .sg-key i.a{background:rgba(255,255,255,.5)}
:is(.screen,.sheet,.n19-wrap) .sg-key i.b{background:transparent;box-shadow:inset 0 0 0 1px var(--edge)}
:is(.screen,.sheet,.n19-wrap) .sg-key i.h{background:rgba(255,255,255,.2)}
:is(.screen,.sheet,.n19-wrap) :is(.sg-row.a,.sg-big.a){box-shadow:inset 3px 0 0 rgba(255,255,255,.6)}
:is(.screen,.sheet,.n19-wrap) :is(.sg-row.b,.sg-big.b){box-shadow:inset 3px 0 0 rgba(255,255,255,.2)}
:is(.screen,.sheet,.n19-wrap) :is(.sg-row.done b,.sg-big.done b,.sg-line .carry,.sg-h em){color:var(--ink)}
:is(.screen,.sheet,.n19-wrap) .sg{border-left:0}
:is(.screen,.sheet,.n19-wrap) .sg-row{padding:12px 4px}
:is(.screen,.sheet) .sc-wrap{border-radius:12px;overflow:hidden;background:var(--surface);border:0}
:is(.screen,.sheet) .sc thead th{background:var(--surface-2);color:var(--ink-2);font:600 12px/1.1 var(--f-text);letter-spacing:.04em}
:is(.screen,.sheet) .sc .ph{color:var(--ink);font:600 12px/1.1 var(--f-text);letter-spacing:0}
:is(.screen,.sheet) :is(.sc .ph .hx,.sc .ph .hx.ch){color:var(--ink-2);font:400 12px/1.1 var(--f-text);letter-spacing:0}
:is(.screen,.sheet) .sc td{font:600 15px/1 var(--f-head)}
:is(.screen,.sheet) :is(.sc td.h,.sc td.par,.sc td.yd){color:var(--ink-2);font:400 13px/1 var(--f-text)}
:is(.screen,.sheet) .sc td.s button{font:700 16px/1 var(--f-head);color:var(--ink)}
:is(.screen,.sheet) .sc tr.tot td{background:rgba(255,255,255,.04)}
:is(.screen,.sheet) :is(.sc tr.vs td,.sc tr.vs td.e,.sc tr.vs td.u){color:var(--ink-2);font:600 13px/1 var(--f-text)}
:is(.screen,.sheet) :is(.sc td.s.birdie span,.sc td.s.birdie button span,.sc td.s.bogey2 span,.sc td.s.bogey2 button span){border:1.5px solid var(--ink-2)}
:is(.screen,.sheet) .sc td.s .sdot{background:var(--ink-3)}
:is(.screen,.sheet) .sc td.s .kd b{background:var(--ink)}
:is(.screen,.sheet) .sc tr.resume-row td{background:rgba(255,255,255,.06)}
:is(.screen,.sheet) .rd-card td.fw{font:600 12px/1 var(--f-text)}
:is(.screen,.sheet) .so-lb tr.mine td{background:rgba(255,255,255,.04)}
:is(.screen,.sheet) .so-lb tr.in td.rk:first-child{color:var(--ink)}
:is(.screen,.sheet) .sim-lb td.rd{font:600 15px/1 var(--f-head)}
:is(.screen,.sheet) .sim-lb tr.cutrow td{color:var(--ink-3);border-top:1px dashed var(--edge);font:600 12px/1 var(--f-text);letter-spacing:var(--ls-label);text-transform:uppercase}
:is(.screen,.sheet) .resume{position:sticky;top:calc(8px + var(--safe-t));z-index:4;background:var(--surface);border-radius:12px;padding:16px}
:is(.screen,.sheet) .pg-tiles{grid-template-columns:1fr 1fr;gap:12px}
:is(.screen,.sheet) .pg-tile{display:flex;flex-direction:column;background:var(--surface);border:0;border-radius:12px;padding:14px}
:is(.screen,.sheet) .pg-tile b{order:-1;margin:0 0 4px}
.rd-chart .ax{fill:var(--ink-3);font:400 12px var(--f-text)}
.rd-chart polyline{stroke:var(--green-2)}
.rd-chart circle{stroke:var(--green-2);fill:#fff}
:is(.screen,.sheet,.n19-wrap) :is(.join-card>small,.jc-row small,.n19-top small,.settled small){color:var(--ink-3)}
:is(.screen,.sheet,.n19-wrap) .seat{border-radius:8px;background:var(--surface-2);font:600 15px/1 var(--f-text);letter-spacing:0}
:is(.screen,.sheet,.n19-wrap) .seat.open{background:transparent;border:1px dashed var(--edge);color:var(--ink-3)}
/* Frat Chat vote and results (shared by CLUB home and FRAT CHAT) */
:is(.screen,.sheet,.n19-wrap) .sides{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:stretch}
:is(.screen,.sheet,.n19-wrap) .sides .side{min-height:44px;height:auto;padding:10px 8px;border-radius:10px;border:1px solid var(--edge);background:transparent;color:var(--ink);font:600 15px/1.25 var(--f-text);letter-spacing:0;text-transform:none;box-shadow:none}
.res{display:grid;gap:12px}
.res-row{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:baseline}
.res-row .res-l{font:600 15px/1.3 var(--f-text);color:var(--ink)}
.res-row .res-l em{font-style:normal;font-weight:400;color:var(--green-2)}
.res-row .res-p{font:700 20px/1 var(--f-head);color:var(--ink)}
.res-row .res-bar{grid-column:1 / -1;height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}
.res-row .res-bar i{display:block;height:100%;border-radius:3px;background:var(--bar-off)}
.res-row.mine .res-bar i{background:var(--green-2)}

/* ---- sheets, 19th Hole, toast ---- */
.sheet{border-radius:12px 12px 0 0;background:var(--surface);border:0;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--sh-2);padding:20px 20px calc(20px + var(--safe-b))}
.n19{border-radius:12px;background:var(--surface);background-image:none;border:1px solid var(--line)}
.toast{background:var(--surface-2);color:var(--ink);font:600 15px/1 var(--f-text);letter-spacing:0;border-radius:10px;border:0;bottom:calc(var(--tabs-total) + 72px)}
/* profile sheet: signed in line and admin tools */
.acct-who{margin:0 0 12px;font:400 13px/1.45 var(--f-text);color:var(--ink-2);text-align:center}
.acct-who b{font:600 13px/1.45 var(--f-text);color:var(--ink)}
.admin-tools{margin:0 0 16px}
.admin-tools .row{min-height:44px}

/* ---- tab bar: 5 columns, icon 22 stroke 1.6, label 11 normal case; active white 600 with bright green icon ---- */
body .tabs{height:var(--tabs-bar);padding-bottom:var(--tabs-pad);background:var(--bg);border:0;border-top:1px solid var(--line);border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
body .tabs button{gap:5px;font:500 11px/1 var(--f-text);letter-spacing:0;color:var(--ink-3);text-shadow:none}
body .tabs button.active{color:var(--ink);font-weight:600}
body .tabs button.active::before{display:none}
body .tabs svg{width:22px;height:22px;filter:none}
body .tabs button.active svg{color:var(--green-2)}
body.tab-play .tabs{background:var(--bg);border-top:1px solid var(--line)}
body.tab-play .tabs button{color:var(--ink-3)}
body.tab-play .tabs button.active{color:var(--ink)}
/* PLAY overlays sit above the taller tab bar (same 20px gap as before) */
.bar{bottom:calc(var(--tabs-total) + 20px)}
.gps{bottom:calc(var(--tabs-total) + 100px)}
.preview-tag{bottom:calc(var(--tabs-total) + 106px)}

/* =====================================================================================================================
   CLUB home: member card, this week's debate, Members' Match rows, list rows, pinned Post a tee time
   ===================================================================================================================== */
:is(.screen,.sheet,.n19-wrap) :is(.sec-h,.cl-h){justify-content:flex-start;flex-wrap:wrap;align-items:center;min-height:32px}
:is(.screen,.sheet,.n19-wrap) :is(.sec-h,.cl-h) > b:first-child{margin-right:auto}
:is(.screen,.sheet,.n19-wrap) .sec-h details.info[open]{order:9}
:is(.screen,.sheet) .mcard{position:relative;border:1px solid var(--gold);border-radius:12px;padding:18px;margin:0 0 24px;background:var(--surface);background-image:none;box-shadow:none;overflow:visible}
:is(.screen,.sheet) .mcard::after{display:none}
:is(.screen,.sheet) .mcard .mc-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 16px}
:is(.screen,.sheet) .mcard .mc-name{margin:0;font:600 28px/1.1 var(--f-head);letter-spacing:0;text-transform:none;color:var(--ink)}
:is(.screen,.sheet) .mcard .founding{height:auto;padding:0;background:none!important;color:var(--gold-ink)!important;font:600 12px/1.3 var(--f-text);letter-spacing:var(--ls-label);text-transform:uppercase;white-space:nowrap}
:is(.screen,.sheet) .mcard .mc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px}
:is(.screen,.sheet) .mcard .mc-grid > :is(div,button){display:flex;flex-direction:column;gap:4px;padding:0;margin:0;border:0;border-radius:0;background:none;color:var(--ink);text-align:left;font:inherit}
:is(.screen,.sheet) .mcard .mc-grid b{margin:0;font:600 15px/1.3 var(--f-text);letter-spacing:0;color:var(--ink)}
:is(.screen,.sheet) .mcard .mc-grid small{font:400 12px/1.3 var(--f-text);letter-spacing:0;text-transform:none;color:var(--ink-3)}
:is(.screen,.sheet) .mcard .mc-hcp{cursor:pointer}
:is(.screen,.sheet) .mcard .mc-src{font:400 13px/1.3 var(--f-text);color:var(--ink-3)}
:is(.screen,.sheet) .mcard .mc-ghin{margin:12px 0 0;font:400 13px/1.45 var(--f-text);color:var(--ink-3)}
:is(.screen,.sheet) .debate .q{margin:0 0 16px;font:600 18px/1.35 var(--f-text);letter-spacing:0;text-transform:none;color:var(--ink)}
:is(.screen,.sheet) .debate .cl-more{margin-top:12px}
:is(.screen,.sheet) .debate .votes{margin:8px 0 0}
:is(.screen,.sheet) .settled{margin-top:16px;padding:14px;border-radius:10px;background:var(--surface-2);background-image:none;border:0;text-align:left}
:is(.screen,.sheet) .settled b{display:block;margin:4px 0 12px}
:is(.screen,.sheet) .settled .cta{width:100%}
:is(.screen,.sheet) .row-end.spot{color:var(--ink-2)}
:is(.screen,.sheet) .row .htag{margin-left:2px}
:is(.screen,.sheet,.n19-wrap) .row.bh-btn{height:auto;min-height:48px;max-width:none;margin:0;padding:12px 0;justify-content:flex-start;background:transparent;color:var(--ink);font:inherit;
  border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;text-decoration:none}

/* =====================================================================================================================
   LEAGUE: season line, week card (hero), standings with Full table, sections below, pinned Join on SGT
   ===================================================================================================================== */
:is(.screen,.sheet) .so-week.wk .wk-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
:is(.screen,.sheet) .so-week.wk h2.wkc{margin:8px 0 4px;font:600 26px/1.1 var(--f-head);letter-spacing:0;text-transform:none;color:var(--ink)}
:is(.screen,.sheet) .so-week.wk .wk-meta{margin:0;font:400 13px/1.45 var(--f-text);color:var(--ink-3)}
:is(.screen,.sheet) .so-week.wk .wk-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
:is(.screen,.sheet) .so-week.wk .wk-stats > div{display:flex;flex-direction:column;gap:4px}
:is(.screen,.sheet) .so-week.wk .wk-stats b{font:700 24px/1.1 var(--f-head);letter-spacing:0;color:var(--ink)}
:is(.screen,.sheet) .so-week.wk .wk-stats small{font:400 12px/1.3 var(--f-text);letter-spacing:0;text-transform:none;color:var(--ink-3)}
:is(.screen,.sheet) .so-week.wk .sgt-line{display:block;margin:0;padding:12px 0 0;border-top:1px solid var(--line)}
:is(.screen,.sheet) .so-week.wk .sgt-line p{margin:0;font:400 12px/1.45 var(--f-text);color:var(--ink-3)}
:is(.screen,.sheet) .so-lb td.rk.rds{font:400 15px/1 var(--f-text);color:var(--ink-2)}
:is(.screen,.sheet) .so-lb th{text-align:center}
:is(.screen,.sheet) .so-lb th.pl{text-align:left}
:is(.screen,.sheet) .so-lb .lb-key{margin:8px 0 0}
:is(.screen,.sheet) .playoffs .so-note.left{margin:0 0 8px}
:is(.screen,.sheet,.n19-wrap) details.info > p{margin:4px 0 8px;font:400 13px/1.45 var(--f-text);color:var(--ink-2)}

/* =====================================================================================================================
   MEMBERS' MATCH: one block per match, separated by dividers
   ===================================================================================================================== */
:is(.screen,.sheet) .mt-list{margin:0 0 24px}
:is(.screen,.sheet) .mt{padding:16px 0;opacity:1;border-left:0}
:is(.screen,.sheet) :is(.mt.cancel,.mt.done){opacity:.6}
:is(.screen,.sheet) .mt .mt-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
:is(.screen,.sheet) .mt .mt-top .when{font:400 13px/1.45 var(--f-text);color:var(--ink-3);background:none;padding:0}
:is(.screen,.sheet) .mt .mt-st{font:400 13px/1.45 var(--f-text);color:var(--ink-2)}
:is(.screen,.sheet) .mt h3{margin:4px 0 2px;font:600 24px/1.1 var(--f-head);letter-spacing:0;text-transform:none;color:var(--ink)}
:is(.screen,.sheet) .mt .fmt{margin:0}
:is(.screen,.sheet) .mt .stake{display:block;margin:8px 0 12px;font:400 15px/1.45 var(--f-text);color:var(--ink)}
:is(.screen,.sheet) .mt .stake b{font:600 15px/1.45 var(--f-text)}
:is(.screen,.sheet) .mt .mt-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
:is(.screen,.sheet) .mt .seats{display:flex;gap:6px;flex-wrap:wrap}
:is(.screen,.sheet) .mt .seat{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:50%;background:var(--avatar);color:var(--ink);font:600 13px/1 var(--f-text);outline:0}
:is(.screen,.sheet) .mt .seat.open{background:transparent;border:1px dashed var(--edge)}
:is(.screen,.sheet) .mt .seat.me{box-shadow:0 0 0 1.5px var(--ink-2)}
:is(.screen,.sheet) .mt .mt-act{margin:0;flex:none}
:is(.screen,.sheet) .mt .mt-act .cta{width:auto;height:40px;padding:0 16px;font-size:15px}
:is(.screen,.sheet) .mt .mt-strokes{font:400 13px/1.45 var(--f-text);color:var(--ink-2);text-align:right}
:is(.screen,.sheet) .mt-more{margin-top:12px}
:is(.screen,.sheet) .mt-more > summary{display:inline-flex;align-items:center;gap:6px;min-height:28px;list-style:none;cursor:pointer;font:600 13px/1 var(--f-text);color:var(--ink-2)}
:is(.screen,.sheet) .mt-more > summary::-webkit-details-marker{display:none}
:is(.screen,.sheet) .mt-more > summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
:is(.screen,.sheet) .mt-more[open] > summary::after{transform:rotate(-135deg)}
:is(.screen,.sheet) .mt-more .mt-hcp{margin:8px 0 0;padding:0;background:none}
:is(.screen,.sheet) .mt-hcp .gets{font:600 13px/1 var(--f-text);color:var(--ink-2)}
:is(.screen,.sheet) .mt-hcp .hrow b{font:600 15px/1 var(--f-text)}

/* =====================================================================================================================
   FRAT CHAT: debate hero, results, takes, bottom composer
   ===================================================================================================================== */
:is(.screen,.sheet) .topic .topic-top{display:flex;flex-wrap:wrap;align-items:center;gap:0 4px}
:is(.screen,.sheet) .topic .topic-top .kicker{margin:0 auto 0 0}
:is(.screen,.sheet) .topic .topic-top .closes{font:400 13px/1.45 var(--f-text);color:var(--ink-2)}
:is(.screen,.sheet) .topic .q.big{margin:8px 0 16px;font:600 30px/1.1 var(--f-head);letter-spacing:0;text-transform:none;color:var(--ink)}
:is(.screen,.sheet) .topic .votes{margin:12px 0 0}
:is(.screen,.sheet) .take{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start}
:is(.screen,.sheet) .take .who{display:flex;align-items:baseline;gap:0;flex-wrap:wrap}
:is(.screen,.sheet) .take .who b{font:600 15px/1.3 var(--f-text)}
:is(.screen,.sheet) .take .who small{font:400 13px/1.3 var(--f-text);color:var(--ink-3);letter-spacing:0;text-transform:none}
:is(.screen,.sheet) .take p{margin:4px 0 4px;font:400 15px/1.45 var(--f-text);color:var(--ink)}
:is(.screen,.sheet) .take .tk-act{display:flex;gap:0}
:is(.screen,.sheet) .take .who small{display:inline;white-space:pre}
/* other screens: small fixes on top of the foundation */
:is(.screen,.sheet) :is(.sc .ph .hx,.sc .ph .hx.ch){text-transform:none;letter-spacing:0}
.screen > .sgt-line{margin:0 0 16px}
.screen .sgt-line p{font:400 13px/1.45 var(--f-text);color:var(--ink-3)}

/* =====================================================================================================================
   PINNED BAR: the one primary per screen sits in a solid bar right above the tab bar
   ===================================================================================================================== */
.screen .pinbar{position:fixed;left:0;right:0;bottom:var(--tabs-total);z-index:6;margin:0;padding:12px 20px;background:var(--bg);border-top:1px solid var(--line)}
.screen .pinbar .cta{position:static;display:flex;align-items:center;justify-content:center;width:100%;height:48px;margin:0;padding:0 16px;border:0;border-radius:10px;
  background:var(--green);color:#fff;font:600 16px/1 var(--f-text);text-decoration:none;box-shadow:none}
.screen .pinbar .cta:disabled{background:var(--green);color:#fff;opacity:.4}
.screen .pinbar.composer{display:grid;grid-template-columns:1fr auto;gap:8px}
.screen .pinbar.composer input{height:48px;padding:0 12px;margin:0}
.screen .pinbar.composer .cta{width:auto;padding:0 16px}
.toast{bottom:calc(var(--tabs-total) + 84px)}

/* =====================================================================================================================
   SCORECARD: course line with the ⋯ menu, details line, Card / My rounds / Progress, Tees and Holes side by side,
   one line handicap notice, compact grid header, 44px hole rows
   ===================================================================================================================== */
:is(.screen) .seg.sc-view{display:grid;grid-template-columns:repeat(3,1fr);height:36px;padding:4px;gap:4px;margin:0 0 16px}
:is(.screen) .seg.sc-view button{height:28px}
:is(.screen) .sc-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 12px}
:is(.screen) .sc-opt small{display:block;margin:0 0 8px;font:400 12px/1.3 var(--f-text);letter-spacing:0;text-transform:none;color:var(--ink-3)}
:is(.screen) .sc-opt .seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;height:36px;padding:4px;gap:4px;margin:0}
:is(.screen) .sc-opt .seg button{height:28px;padding:0 4px;font:600 13px/1 var(--f-text);white-space:nowrap}
:is(.screen) .hc-missing{display:flex;flex-wrap:wrap;align-items:center;gap:0 4px;margin:0 0 12px;padding:0;border:0;background:none;font:400 13px/1.45 var(--f-text);color:var(--ink-3)}
:is(.screen) .hc-missing .hc-line{font:400 13px/1.45 var(--f-text);color:var(--ink-3)}
:is(.screen) .hc-missing details[open] .cta{width:100%;margin:0 0 8px}
:is(.screen) .hc-missing details > p b{font:inherit;color:inherit;display:inline}
:is(.screen) .sc thead th{padding:8px 4px;vertical-align:top}
:is(.screen) .sc thead th.p{padding:8px 0}
:is(.screen) .sc .pn{display:block;font:600 13px/1.2 var(--f-text);color:var(--ink);white-space:nowrap}
:is(.screen) .sc .ph{display:block;width:100%;margin:4px 0 0;padding:0;border:0;background:none;color:var(--ink-3);cursor:pointer}
:is(.screen) .sc .ph.add{width:24px;height:20px;margin:4px auto 0;border-radius:4px;background:var(--surface-2);color:var(--ink);font:600 15px/20px var(--f-text)}
:is(.screen) :is(.sc .ph .hx,.sc .ph .hx.ch){display:block;margin:0;font:400 12px/1.2 var(--f-text);color:var(--ink-3)}
:is(.screen) .sc tbody tr[data-row] td{height:44px;padding:0 4px}
:is(.screen) .sc td.s{padding:0}
:is(.screen) .sc td.s button{height:44px;border-radius:0}
:is(.screen) .seg.sc-view{margin:0 0 12px}
:is(.screen) .sc thead th,:is(.screen) .sc thead th.p{padding-bottom:4px}
/* 44px hole rows including the 1px divider */
:is(.screen) .sc tbody tr[data-row] td{height:43px}
:is(.screen) .sc td.s button{height:43px}

/* =====================================================================================================================
   SPACING RULE: gaps, padding and margins only 4, 8, 12, 16 or 24 (page and sheet side padding 20). These rules move every
   off grid value the audit (_test/design/spacing/audit.py) found, mostly from the older per screen files and browser defaults.
   ===================================================================================================================== */
:is(.screen,.sheet,.n19-wrap) p{margin-top:0;margin-bottom:12px}
:is(.screen,.sheet,.n19-wrap) button{padding:0}
:is(.screen,.sheet,.n19-wrap) input[type=checkbox]{margin:0}
:is(.screen,.sheet,.n19-wrap) small{margin:0}
:is(.screen,.sheet,.n19-wrap) :is(.fld small,.fields small){margin:0 0 8px}
:is(.screen,.sheet,.n19-wrap) small.lbl{margin:4px 0 8px}
:is(.screen,.sheet,.n19-wrap) :is(.pw small,.rd-what small,.rd-date small,.past small,.past-ad small,.rv-row small,.what small,.mem-hcp,.pf-photo small.pf-hint,.wr small){margin-top:4px}
:is(.screen,.sheet,.n19-wrap) :is(.so-note,.so-note.left,.so-note.hnote,#psDone,#rtState){margin:12px 0}
:is(.screen,.sheet,.n19-wrap) :is(.legal,#siLegal){margin:12px 0 0}
:is(.screen,.sheet,.n19-wrap) :is(.sg-line){margin:12px 0 8px}
:is(.screen,.sheet,.n19-wrap) :is(.q-admin){margin:0 0 12px}
:is(.screen,.sheet,.n19-wrap) .n19-title{margin:0 auto 16px}
:is(.screen,.sheet,.n19-wrap) .votes{margin:8px 0 0}
:is(.screen,.sheet,.n19-wrap) .sv-sum{margin:4px 0 12px;gap:12px}
:is(.screen,.sheet,.n19-wrap) .pf-hint{margin:4px 0 12px!important}
:is(.screen,.sheet,.n19-wrap) .pf-photo .pf-hint{margin:8px 0 0!important}
:is(.screen,.sheet,.n19-wrap) :is(.wk-grid b,.pf-box b,.cut-b,.drop-stats b,.wk-course b){margin-top:4px}
:is(.screen,.sheet,.n19-wrap) .hcard b{margin:8px 0}
:is(.screen,.sheet,.n19-wrap) .wk-grid span{margin-top:4px}
:is(.screen,.sheet,.n19-wrap) .sg-chips span{padding:8px 4px}
:is(.screen,.sheet) .sc th,:is(.screen,.sheet) .sc td{padding-top:8px;padding-bottom:8px}
:is(.screen,.sheet,.n19-wrap) h2{margin:8px 0}
:is(.screen,.sheet) .mt h3{margin:4px 0}
:is(.screen,.sheet,.n19-wrap) .sg-strip i{gap:4px}
:is(.screen,.sheet,.n19-wrap) .sg-key i{margin-left:8px}
:is(.screen,.sheet,.n19-wrap) .sg-key i:first-child{margin-left:0}
.sheet-wordmark{margin:0 auto 12px}
:is(.screen,.sheet,.n19-wrap) label.cta.small{padding:0 16px}
:is(.screen,.sheet,.n19-wrap) .reg-switch{margin:0 0 4px;gap:12px}
:is(.screen,.sheet,.n19-wrap) :is(.benefits,.benefits li){gap:12px}
:is(.screen,.sheet,.n19-wrap) .wr-top{gap:4px}
:is(.screen,.sheet,.n19-wrap) .pf-box{padding:12px;margin-bottom:12px}
.n19{padding:24px 16px 16px}
.n19.preview{margin-bottom:16px}
.sheet{padding:16px 20px calc(24px + var(--safe-b))}
:is(.screen,.sheet,.n19-wrap) :is(.hero,.so-week,.mcard){padding:16px}
:is(.screen,.sheet,.n19-wrap) :is(.wk-grid>div,.drop-stats>div,.done-grid>div,.pub-rows>div){padding:12px}
:is(.screen,.sheet,.n19-wrap) :is(.mcard .mc-grid > *,.wk-stats > div,.mc-hcp,.row-main){gap:4px}
:is(.screen,.sheet,.n19-wrap) .res-row{row-gap:8px}
:is(.screen,.sheet,.n19-wrap) :is(.drop-body,.pg-tile){padding:16px}
:is(.screen,.sheet,.n19-wrap) .code{gap:12px;margin-bottom:12px;padding:12px}
:is(.screen,.sheet,.n19-wrap) .sides .side{padding:12px 8px;gap:8px}
:is(.screen,.sheet,.n19-wrap) :is(.rd-row,.sgt-line,.drop-h,.gross,.pw,.pw.mem,.rv-row,.sheet-actions,.wk-grid,.tg,.benefits li){gap:12px}
:is(.screen,.sheet,.n19-wrap) :is(a.cta.link,.chips,.n19-top,.quick,.seats,.sg-chips,.sg-key,.stp,.lb-key,.stake,.row-end,.mt-more > summary){gap:8px}
:is(.screen,.sheet,.n19-wrap) .mt-hcp{gap:4px}
:is(.screen,.sheet,.n19-wrap) .pf-photo{column-gap:16px}
:is(.screen,.sheet,.n19-wrap) :is(#rdHoles,.chips.wide,.fields,.hh,.sg-big,.sg-pick){margin-bottom:12px}
:is(.screen,.sheet,.n19-wrap) .fld{margin-bottom:12px}
:is(.screen,.sheet,.n19-wrap) .gn{margin-top:12px}
:is(.screen,.sheet,.n19-wrap) .rv-row{margin:12px 0}
:is(.screen,.sheet,.n19-wrap) .wr-h{margin-bottom:8px}
:is(.screen,.sheet,.n19-wrap) .app-dl{gap:8px 12px;margin:0 0 12px}
:is(.screen,.sheet,.n19-wrap) :is(.pill,.st,.htag,.wk,.wk-no,.rd-type,.founding,.benefits li.soon small,.pf-box .su em,.mcflag){padding-left:8px;padding-right:8px}
:is(.screen,.sheet) .mcard .founding{padding:0}
:is(.screen,.sheet,.n19-wrap) .pt{padding:0 4px}
:is(.screen,.sheet,.n19-wrap) :is(.htag.self,.row .htag){margin-left:4px}
:is(.screen,.sheet,.n19-wrap) details.info{margin-left:4px}
:is(.screen,.sheet,.n19-wrap) :is(.fields input,.fld input,.fld select,.fld textarea,.inline input,.sg-pick select,.fields select.sel,.so-sheet .fld select,.take-form textarea,select,#siEmail){padding-left:12px;padding-right:12px}
:is(.screen,.sheet,.n19-wrap) textarea{padding:12px}
:is(.screen,.sheet,.n19-wrap) .gross input{padding:0}
.screen .pinbar #scSave{margin:0}
.demo-line{margin:0 0 8px}
/* sub screen top row: back | title | room for the profile circle, as a grid instead of 44px padding */
.toprow.sub{display:grid;grid-template-columns:auto 1fr 44px;padding-right:0}
.toprow.sub .back{margin-left:0;width:32px;justify-content:flex-start}
:is(.screen,.sheet,.n19-wrap) .sg-chips b{margin-top:4px}
:is(.screen,.sheet,.n19-wrap) .so-lb td.sc small{margin-left:8px}

/* =====================================================================================================================
   SIGN IN: Sign in / Create account switch, password field with show/hide
   ===================================================================================================================== */
.sheet .si-tabs{display:grid;grid-template-columns:1fr 1fr;height:36px;padding:4px;gap:4px;margin:0 0 16px}
.sheet .si-tabs button{height:28px}
.pw-wrap{position:relative;display:block}
.sheet .pw-wrap input{padding-right:48px}
.pw-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;background:none;color:var(--ink-3);cursor:pointer}
.pw-eye svg{width:20px;height:20px}
.sheet #siForgot{margin:12px 0 0}
.sheet .tg.req{margin:0 0 12px}

/* =====================================================================================================================
   SCORECARD PLAYERS: name button, index line, + Add player column; add player sheet; tee chips that scroll past 3
   ===================================================================================================================== */
:is(.screen) .sc .pn{display:block;width:100%;padding:0;border:0;background:none;font:600 13px/1.2 var(--f-text);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
:is(.screen) .sc span.ph{display:block;margin:4px 0 0;cursor:default}
:is(.screen) .sc th.p .hx{display:block;margin:4px 0 0;font:400 12px/1.2 var(--f-text);color:var(--ink-3);text-transform:none;letter-spacing:0}
:is(.screen) .sc th.addc{vertical-align:middle}
:is(.screen) .sc .addp{display:block;width:100%;min-height:40px;padding:0 4px;border:1px dashed var(--edge);border-radius:8px;background:none;color:var(--ink-2);font:600 12px/1.2 var(--f-text);cursor:pointer}
:is(.screen) .sc td.empty{background:transparent}
.sheet #apList{max-height:40vh;overflow:auto;margin:0 0 24px}
.sheet .ap-m .av.sm{flex:none}
.sheet .ap-m img.av.sm{width:32px;height:32px}
:is(.screen) .sc-opt .seg.scroll{display:flex;overflow-x:auto;scrollbar-width:none}
:is(.screen) .sc-opt .seg.scroll::-webkit-scrollbar{display:none}
:is(.screen) .sc-opt .seg.scroll button{flex:none;min-width:64px;padding:0 12px}
:is(.screen) .sc-opt{min-width:0}   /* a scrolling tee row stays in its half */
/* yards column header for a tee without yardage data */
:is(.screen) .sc thead th.yd-na{font:400 12px/1.2 var(--f-text);color:var(--ink-3);text-transform:none;letter-spacing:0;white-space:normal;max-width:56px}
:is(.screen) .sg .sg-add{width:auto;padding:0 16px}
.title-sub.wrap{white-space:normal}

/* =====================================================================================================================
   TEAM FORMATS: format switch, Teams row with chips, team columns, counting score, team result; Match Play hidden in teams
   ===================================================================================================================== */
:is(.screen) .sc-fmt{margin:0 0 12px}
:is(.screen) .sc-fmt .seg button{min-width:0;padding:0 12px}
:is(.screen) .sc-teams{margin:0 0 12px}
:is(.screen) .team-row{cursor:default;min-height:48px}
:is(.screen) .team-row .row-t{flex:none;width:64px}
:is(.screen) .tchips{display:flex;flex-wrap:wrap;gap:8px;flex:1}
:is(.screen) .tchip{height:32px;padding:0 12px;border:1px solid var(--ctl);border-radius:8px;background:transparent;color:var(--ink);font:600 13px/1 var(--f-text);cursor:pointer}
:is(.screen) #scTeams .cta.small{width:auto;padding:0 16px;margin:0 0 12px}
:is(.screen) .sc th.team{background:var(--surface-2)}
:is(.screen) .sc td.tm{font:700 16px/1 var(--f-head);color:var(--ink);background:rgba(255,255,255,.03)}
:is(.screen) .sc td.s.count button{box-shadow:inset 0 -2px 0 var(--green-2)}
:is(.screen) .sc-teamres{margin:24px 0}
:is(.screen) .sc-teamres .seg{display:grid;grid-template-columns:1fr 1fr;height:36px;padding:4px;gap:4px;margin:0 0 12px}
:is(.screen) .sc-teamres .seg button{height:28px}
:is(.screen) .team-res{margin:0 0 12px;font:600 20px/1.2 var(--f-head);color:var(--ink)}
:is(.screen) .sc-teamres .row-end b{font:700 20px/1 var(--f-head);color:var(--ink)}
#sideGames.teamfmt #sgMatch{display:none}
:is(.screen) .rd-what .rd-fmt{margin:0 0 0 8px}
:is(.screen) .rd-team{margin:4px 0 0;font:400 13px/1.45 var(--f-text);color:var(--ink-3)}

/* =====================================================================================================================
   CARD SETUP (Format, Side games, Tees, Holes: full width rows, 36px boxes, 12px apart) and its folded summary line;
   side games as list rows that open one game at a time; the save hint inside the pinned bar
   ===================================================================================================================== */
:is(.screen) .sc-setup{margin:0 0 12px}
:is(.screen) .sc-setup .sc-opt{margin:0 0 12px;min-width:0}
:is(.screen) .sc-setup .sc-opt:last-child{margin-bottom:0}
:is(.screen) .sc-setup .seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;height:36px;padding:4px;gap:4px;margin:0}
:is(.screen) .sc-setup .seg button{height:28px;min-width:0;padding:0 4px;font:600 13px/1 var(--f-text);white-space:nowrap}
:is(.screen) .sc-setup .seg button[hidden]{display:none}
:is(.screen) .sc-setup .seg.scroll{display:flex;overflow-x:auto;scrollbar-width:none}
:is(.screen) .sc-setup .seg.scroll button{flex:0 0 calc((100% - 12px) / 4);padding:0 8px}
:is(.screen) .sc-setup .seg.scroll::-webkit-scrollbar{display:none}
:is(.screen) .sc-fold{display:flex;align-items:center;gap:8px;margin:0 0 12px;font:400 13px/1.45 var(--f-text);color:var(--ink-3)}
:is(.screen) .sc-fold #scFoldText{flex:1;min-width:0}
:is(.screen) .sc-fold .textbtn{flex:none;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
:is(.screen) .sc-tap{margin:12px 0 0}
:is(.screen) .sc-sg{margin:24px 0 0}
:is(.screen) :is(#sideGames,#sideGames2) .sg-head .sg-status{display:block;flex:0 1 auto;max-width:70%;white-space:normal;text-align:right;line-height:1.45}   /* the bet's standing, right aligned, wraps when long */
:is(.screen) :is(#sideGames,#sideGames2) .sg-head[aria-expanded=true] .chev{transform:rotate(90deg)}
:is(.screen) :is(#sideGames,#sideGames2) section.sg-body{max-height:0;overflow:hidden;margin:0;padding:0;border:0}
:is(.screen) :is(#sideGames,#sideGames2) section.sg-body.open{max-height:none;overflow:visible;padding:0 0 12px}
:is(.screen) :is(#sideGames,#sideGames2) .sg-add{width:auto;padding:0 16px}
.screen .pinbar .pin-hint{margin:0 0 8px;font:400 12px/1.3 var(--f-text);color:var(--ink-3);text-align:left}
/* the profile circle belongs to the top row: it scrolls away with the page instead of floating over content */
body:not(.tab-play){position:relative}
:is(.screen) .sc-note.sc-tap{text-align:left}
/* hint line under the Format and Side bets rows (hidden with the setup when it folds) */
:is(.screen) .sc-setup .sc-hint{margin:8px 0 0;font:400 12px/1.3 var(--f-text);color:var(--ink-3)}
/* add a player prompt under the Side bets row (setup) and the link at the end of the folded summary */
:is(.screen) .sc-betprompt{margin:8px 0 0}
:is(.screen) .sc-betprompt .sc-note{margin:0 0 8px}
:is(.screen) .sc-betprompt .cta.small{width:auto;padding:0 16px}
:is(.screen) .sc-fold .sc-foldadd{display:inline;min-height:0;color:var(--ink);text-decoration:underline;text-underline-offset:3px;font:600 13px/1.45 var(--f-text)}


/* =====================================================================================================================
   POLISH: 40px wordmark in a 56px top row (titles 28px), bottom space measured live, equal width setup boxes,
   left aligned text (only the wordmark, button labels, tab labels and table cells are centered), vs par on the table columns
   ===================================================================================================================== */
.brandbar{height:56px}
.brandbar img{height:40px}
body:not(.tab-play) .profile-btn{top:calc(10px + var(--safe-t))}
/* bottom padding = the pinned bar the screen shows (with its hint line) + the tab bar + 24, measured by tabs.js (--bottom-space) */
.screen,.so,.club{padding-bottom:var(--bottom-space, calc(var(--tabs-total) + 24px))}
:is(.screen) .sc-setup .seg,:is(.screen) .sc-teamres .seg{grid-template-columns:none}
:is(.screen,.sheet,.n19-wrap) :where(*:not(button, button *, a.cta, a.cta *, table, table *, .brandbar, .brandbar *)){text-align:left}
:is(.screen) .sc-betprompt .cta.small{height:44px}
:is(.screen) .sc tr.vs td{height:44px;padding:0 4px;text-align:center}
:is(.screen,.sheet) .wr-top li i{text-align:right}   /* weekly points: a number column, right aligned */
:is(.screen,.sheet) .sg-strip i{align-items:center;text-align:center}   /* small hole tiles: centered */

/* PAYOUTS: stake boxes under the side bet boxes, money on result rows, totals, settle up, Start round */
:is(.screen) .stakes{display:grid;gap:8px;margin:8px 0 0}
:is(.screen) .stakes:empty{display:none}
:is(.screen) .stake-fld{display:block;min-width:0}
:is(.screen) .stake-fld small{margin:0 0 4px}
:is(.screen) .stake-fld input{width:100%;height:36px;box-sizing:border-box;padding:0 8px;border-radius:8px;border:1px solid var(--edge);background:var(--surface);color:var(--ink);font:600 15px/1 var(--f-text)}
.money{margin-left:auto;font:600 15px/1 var(--f-num, var(--f-text));font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}
:is(.screen,.sheet) .money{text-align:right}
.money.neg::before{content:"\2212"}
.money.pos{color:#9fe0bf}
:is(.screen,.sheet) .row .row-money{flex:none;margin-left:auto;display:flex;align-items:center;gap:4px;font:400 13px/1.45 var(--f-text);color:var(--ink-2)}
:is(.screen) .sc-totals,:is(.screen) .sc-settle,:is(.screen,.sheet) .rd-pay{margin:16px 0 0}
:is(.screen) .sc-settle .sc-note,:is(.screen,.sheet) .rd-pay .sc-settle-note{font-size:12px!important;color:var(--ink-3)}
:is(.screen) .sc-setup .sc-start{display:flex;width:100%;height:44px;margin:12px 0 0;padding:0 16px;align-items:center;justify-content:center;line-height:1}
:is(.screen) .sc-setup .sc-start[hidden]{display:none}

/* HOW TO PLAY: button on the League and Tournaments title row, and the page (sections, numbered steps) */
.title-action.howto{width:auto;height:44px;gap:4px;padding:0 4px;font:600 13px/1 var(--f-text);color:var(--ink-2)}
.title-action.howto svg{width:16px;height:16px}
:is(.screen) .howto section{margin:0 0 24px}
:is(.screen) .howto p{margin:0 0 12px;font:400 15px/1.45 var(--f-text);color:var(--ink)}
:is(.screen) .ht-steps{margin:0;padding:0 0 0 24px;display:grid;gap:8px;font:400 15px/1.45 var(--f-text);color:var(--ink)}

/* FULL HEIGHT: the app fills the dynamic viewport (100dvh, 100vh where dvh is missing); the tab bar sits on the bottom edge with
   the home indicator inset as its padding; the pinned bar sits on top of the tab bar (bottom: --tabs-total).
   fullscreen: when a home screen app's viewport ends above the screen bottom (tabs.js fitViewport sets --vp-gap), the bar's background
   runs on down to the screen edge (::after).
   fullscreen task (Nov 7, replaces --vp-gap and the bar's ::after filler): the page height is --app-h. Safari: 100dvh (100vh without dvh),
   exactly as before. iOS home screen app (html[data-standalone], set in index.html): 100lvh, the full screen; there innerHeight and
   100dvh stop short by the top safe area, and a root that clips (overflow hidden on html or body) cut the bottom of the screen off. So in
   standalone html and body do not clip (the document scrolls), the tab bar is placed from the top at --app-h minus its height with the
   home indicator inset as its padding, and --tabs-total is the part of the bar inside the viewport (--below is the screen under it), so
   everything pinned above the bar (sheets, Play's bottom row, toasts) still sits right on it. */
@supports (height:100dvh){:root{--app-h:100dvh}}
@supports (height:100lvh){html[data-standalone]{--app-h:100lvh}}
html[data-standalone]{--below:calc(var(--app-h) - 100dvh);--tabs-total:calc(var(--tabs-bar) - var(--below))}
html,body{margin:0;height:100vh;height:var(--app-h)}
html[data-standalone],html[data-standalone] body,html[data-standalone] body:not(.tab-play){overflow:visible}
body .tabs{position:fixed;left:0;right:0;bottom:0}
html[data-standalone] body .tabs{top:calc(var(--app-h) - var(--tabs-bar));bottom:auto}
html[data-standalone] :is(#splash,.sheet-bg,.n19-wrap){bottom:auto;height:var(--app-h)}
/* the week card's info icon stays at the end of its line (4px gap) */
:is(.screen,.sheet) .so-week.wk .wk-meta details.info{margin-left:4px}

/* SIDE BETS 2: second row of bet boxes (Wolf, Vegas, Sixes, Dots), disabled until 4 players; points sign drawn by CSS; settings rows */
:is(.screen) .sc-opt #scGames2{margin-top:8px}
:is(.screen) .sc-opt #scGames2[hidden]{display:none}
:is(.screen) .sc-opt #scGames2 button:disabled{opacity:.4}
.pts.neg::before{content:"\2212"}
:is(.screen,.sheet) .sg-set{margin:12px 0 0}
:is(.screen,.sheet) .sg-set small{display:block;margin:0 0 4px;font:400 13px/1.45 var(--f-text);color:var(--ink-2)}
:is(.screen,.sheet) .sg-set .gn{display:grid;width:100%;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:1fr;margin:0}
:is(.screen,.sheet) #sg2Sixes .sg-row span{text-align:left}
.sheet .ps-dots .chips{grid-auto-columns:minmax(0,1fr)}
.sheet .ps-dots .chips button{min-width:0;padding:0 4px;font-size:13px}
:is(.screen,.sheet) .rd-bets{margin:16px 0 0}   /* saved round: side bet standings under the card */

/* FRATARO INDEX (unofficial): Road to Single Digits card on Progress, the line in MY HANDICAP and the profile */
:is(.screen) .fx-card{margin:0 0 16px}
:is(.screen) .fx-card .fx-big{display:block;margin:8px 0 0;font:700 36px/1 var(--f-head);letter-spacing:0;color:var(--ink)}
:is(.screen) .fx-card .fx-label{display:block;margin:4px 0 0;font:400 12px/1.3 var(--f-text);color:var(--ink-3)}
:is(.screen) .fx-card .fx-to{margin:8px 0 12px;font:600 15px/1.45 var(--f-text);color:var(--ink)}
:is(.screen) .fx-card .fx-chart{display:block;margin:0 0 12px}
:is(.screen) .fx-rounds > summary{font:600 13px/1.45 var(--f-text);color:var(--ink-2);cursor:pointer;padding:12px 0}
:is(.screen,.sheet,.n19-wrap) .htag.fx{background:transparent;border:1px solid var(--edge)}
:is(.sheet) #myFx{margin-top:12px}
:is(.sheet) #myFx .sg-set{margin:12px 0 0}

/* ---------- SHARED HEADER BAND (every main tab and the Play course picker): green #006747 edge to edge behind the white wordmark,
   16px above and below it; the sample line, title and header buttons sit below it on the page background. Sub screens keep their
   back arrow header and no band. --side is the screen's own side padding, so the band reaches both edges. ---------- */
.screen{--side:20px}
#club.screen{--side:16px}
.hdr-band{position:relative;left:calc(-1 * var(--side));width:calc(100% + 2 * var(--side));box-sizing:border-box;margin:0 0 16px;padding:16px 0;background:#006747}
.hdr-band .brandbar{height:auto}
.hdr-row{display:flex;align-items:center;min-height:48px;margin:0}
.hdr-row .demo-line{margin:0}
/* the profile circle sits on the first row under the band (the sample line row, or the picker's title row) */
body:has(main.screen:not([hidden]) > .hdr-band) .profile-btn{top:calc(94px + var(--safe-t))}

/* ---------- LEAGUE and TOURNAMENTS on the Club standard (typematch): Club card style and type ----------
   card: surface, no border, radius 12, padding 16, 24 between cards; title 24px Barlow Condensed 600; caps eyebrow and status share
   the label token; subtitle, captions and footnote 13px muted; big numbers one display size; lists in one card with thin dividers */
:is(#league,#simopen) :is(#lgSeason,#soSub){font:400 13px/1.45 var(--f-text);letter-spacing:0;color:var(--ink-3)}
:is(#league,#simopen) .tm-card{display:block;background:var(--surface);background-image:none;border:0;border-radius:12px;padding:16px;margin:0 0 24px;box-shadow:none}
:is(#league,#simopen) .tm-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px}
:is(#league,#simopen) :is(.tm-eyebrow,.tm-status){display:inline;margin:0;padding:0;border:0;border-radius:0;background:none;font:600 12px/1.3 var(--f-text);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--ink-3)}
:is(#league,#simopen) .tm-status{margin-left:auto}   /* placed at the right end of the eyebrow row; its text stays left aligned (rule b) */
:is(#league,#simopen) .tm-status.on{color:var(--green-2)}
:is(#league,#simopen) .tm-title{margin:0;font:600 24px/1.2 var(--f-head);letter-spacing:0;text-transform:none;color:var(--ink)}
:is(#league,#simopen) .tm-sub{margin:4px 0 0;font:400 13px/1.45 var(--f-text);letter-spacing:0;text-transform:none;color:var(--ink-3)}
:is(#league,#simopen) .tm-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 0}
:is(#league,#simopen) .tm-stats > div{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;background:none}
:is(#league,#simopen) .tm-stats b{margin:0;font:700 24px/1.1 var(--f-head);letter-spacing:0;text-transform:none;color:var(--ink);font-variant-numeric:tabular-nums}
:is(#league,#simopen) .tm-stats small{margin:0;font:400 13px/1.45 var(--f-text);letter-spacing:0;text-transform:none;color:var(--ink-3)}
:is(#league,#simopen) .tm-card .sgt-line{display:block;margin:16px 0 0;padding:12px 0 0;border-top:1px solid var(--line)}
:is(#league,#simopen) .tm-card .sgt-line p{margin:0;font:400 13px/1.45 var(--f-text);letter-spacing:0;color:var(--ink-3)}
/* section cards: the heading is the card title row (24px, 44 tall), 8 to the body */
:is(#league,#simopen) .tm-card > .sec-h{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin:0 0 8px;padding:0}
:is(#league,#simopen) .tm-card > .sec-h b{font:600 24px/1.2 var(--f-head);letter-spacing:0;text-transform:none;color:var(--ink)}
:is(#league,#simopen) .tm-card > .sec-h small{font:400 13px/1.45 var(--f-text);letter-spacing:0;text-transform:none;color:var(--ink-3)}
/* standings and leaderboard: one card, thin dividers, 44px rows, names 16 regular, values 16 semibold tabular, right aligned */
:is(#league,#simopen) .tm-list table{width:100%;border-collapse:collapse}
:is(#league,#simopen) .tm-list td{height:44px;padding:0 4px;border-top:1px solid var(--line);border-bottom:0;vertical-align:middle;background:none}
:is(#league,#simopen) .tm-list tbody tr:last-child td{border-bottom:0}
:is(#league,#simopen) .tm-list td.pl b{font:400 16px/1.25 var(--f-text);letter-spacing:0;text-transform:none;color:var(--ink)}
:is(#league,#simopen) .tm-list :is(td.rk,td.pts,td.rd,td.sc,td.rds){font:600 16px/1.25 var(--f-text);letter-spacing:0;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
:is(#league,#simopen) .tm-list td:first-child{text-align:left;padding-left:0}
:is(#league,#simopen) .tm-list td:last-child{padding-right:0}
:is(#league,#simopen) .tm-list th:is(:not(.pl)){text-align:right}
:is(#league,#simopen) .tm-list th:first-child{text-align:left;padding-left:0}
:is(#league,#simopen) .tm-list th:last-child{padding-right:0}
:is(#league,#simopen) .tm-list tr.me td{background:rgba(47,167,122,.12)}
:is(#league,#simopen) .tm-stats b.cut-b{font-size:24px!important}   /* simopen.css sets .cut-b 16px with !important */
:is(#league,#simopen) .tm-card > .sec-h + *{margin-top:0}
/* statstack (Jay): the two stat pairs one under the other at full card width, caption directly under its value, 16 between pairs */
:is(#league,#simopen) .tm-stats{grid-template-columns:1fr;row-gap:16px;column-gap:0}

/* auditfix2: disabled side bets (Wolf, Vegas, Sixes until 4 players) stay readable: text #8a948f on the segment (5.6:1, was 2.6:1 at
   40 percent opacity), still plainly off: no fill, a dashed outline and the not-allowed cursor */
:is(.screen) .sc-opt #scGames2 button:disabled{opacity:1;color:#8a948f;background:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);outline:1px dashed rgba(255,255,255,.22);outline-offset:-4px;cursor:not-allowed}
/* NAVPLAY: every back control "‹" is a 44px target at the top left */
.toprow .back,.toprow.sub .back{width:44px;height:44px;margin-left:-12px;justify-content:center}
/* the Scorecard opened from Play: "‹ Play" above the Scorecard title */
#scorecard .sc-from{height:44px;margin:0 0 4px}
#scorecard .sc-from .sc-from-t{font:600 15px/1 var(--f-text);color:var(--ink-2)}

/* WINDBREAK: the 44px ⓘ that opens Golf Terms, and the Golf Terms sheet */
.terms-i{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;margin:-12px -12px -12px 0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink-3);cursor:pointer;vertical-align:middle}
.terms-i svg{width:18px;height:18px}
.terms-i:active{background:rgba(255,255,255,.08)}
.terms-i:focus-visible{outline:2px solid var(--green-2);outline-offset:-4px}
.terms-h{display:flex;align-items:center;justify-content:space-between;column-gap:8px}
.terms-h small{margin:0}
.sheet-title .terms-i{margin:-12px 0 -12px 0}
.rg-filter-row{display:flex;align-items:center;column-gap:4px}
.rg-filter-row .seg{flex:1 1 auto;min-width:0}
.rg-filter-row .terms-i{margin:0}
.sheet .gt-g{margin:0 0 16px}
.sheet .gt-h{margin:0 0 8px;font:600 15px/1.2 var(--f-text);color:var(--ink)}
.sheet .gt-row{margin:0 0 8px;font:400 15px/1.45 var(--f-text);color:var(--ink-2)}
.sheet .gt-row b{color:var(--ink);font-weight:600}
.sheet .gt-end{height:60vh}   /* lets the last group scroll up to the top too */
.sheet .gt{max-height:calc(100dvh - var(--tabs-total) - var(--safe-t) - 120px);overflow:auto;overscroll-behavior:contain}

/* BUILD3: score marks against par (Scorecard card, score pad, My Rounds, the Golf Terms legend). Thin 1.5px lines in the text color,
   the number centered: eagle or better a double circle, birdie a circle, par nothing, bogey a square, double bogey or worse a double square.
   Drawn with box shadows (a 1.5px border is rounded to 1px on some screens); the second ring is a pseudo element 3px outside. */
:is(td.mk-eagle,td.mk-birdie,td.mk-bogey,td.mk-double) span,:is(#pad button,.gt-mk):is(.mk-eagle,.mk-birdie,.mk-bogey,.mk-double) > span{
  position:relative;display:inline-grid;place-items:center;box-sizing:border-box;width:24px;height:24px;line-height:1;border:0;box-shadow:inset 0 0 0 1.5px currentColor}
:is(td.mk-eagle,td.mk-birdie) span,:is(#pad button,.gt-mk):is(.mk-eagle,.mk-birdie) > span{border-radius:50%}
:is(td.mk-bogey,td.mk-double) span,:is(#pad button,.gt-mk):is(.mk-bogey,.mk-double) > span{border-radius:2px}
:is(td.mk-eagle,td.mk-double) span::after,:is(#pad button,.gt-mk):is(.mk-eagle,.mk-double) > span::after{content:"";position:absolute;inset:-3px;border-radius:inherit;box-shadow:inset 0 0 0 1.5px currentColor;pointer-events:none}
:is(td.mk-bogey,td.mk-double) span::after,:is(#pad button,.gt-mk).mk-double > span::after{border-radius:4px}
td.mk-birdie span,td.mk-eagle span,td.mk-bogey span,td.mk-double span{color:inherit}
#pad button > span{display:inline-grid;place-items:center;min-width:24px;height:24px;box-sizing:border-box}
.gt-mk{display:inline-grid;place-items:center;width:32px;height:28px;margin:0 4px 0 0;vertical-align:middle;font:600 14px/1 var(--f-text);color:var(--ink)}

/* GATES (entitlements.js): the shared lock tag (lock icon and "Club"), locked entry rows, the Join Frataro Club sheet, the quiet
   Admin row at the bottom of Profile and the Viewing As bar. TEMPORARY tiers until Supabase. */
.ent-tag{display:inline-flex;align-items:center;column-gap:4px;flex:0 0 auto;height:24px;padding:0 8px;border-radius:12px;background:rgba(231,194,122,.14);color:var(--gold-accent);font:600 12px/1 var(--f-text);letter-spacing:0;white-space:nowrap}
.ent-tag .ent-lk{width:12px;height:12px}
:is(.screen,.sheet) .ent-row{display:flex;align-items:center;justify-content:space-between;column-gap:12px;width:100%;min-height:44px;cursor:pointer}
#scView button.ent-locked{display:inline-flex;align-items:center;justify-content:center;column-gap:4px}
#scView button.ent-locked .ent-tag{height:auto;padding:0;background:none;font-size:11px}
:is(.sheet) .jc-plans{display:grid;row-gap:8px;margin:0 0 16px}
:is(.sheet) .jc-plan{display:grid;grid-template-columns:1fr auto auto;align-items:center;column-gap:8px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface-2)}
:is(.sheet) .jc-plan b{font:600 18px/1.2 var(--f-head);letter-spacing:0;color:var(--ink)}
:is(.sheet) .jc-plan .jc-price{font:600 20px/1.2 var(--f-head);letter-spacing:0;color:var(--ink)}
:is(.sheet) .jc-plan small{grid-column:1/-1;margin:4px 0 0;font:400 13px/1.45 var(--f-text);color:var(--ink-2)}
:is(.sheet) .jc-plan.best{border-color:#e7c27a;background:rgba(231,194,122,.08)}
:is(.sheet) .jc-plan .pill{grid-column:2;grid-row:1;justify-self:end}
:is(.sheet) .jc-plan .jc-price{grid-column:3;grid-row:1}
:is(.sheet) .jc-msg{margin:0 0 12px}
:is(.sheet) .ent-admin{margin:24px 0 0;padding:12px 0 0;border-top:1px solid var(--line)}
/* REMOVE BEFORE LAUNCH (diag task): the Diagnostics row and sheet */
:is(.sheet) .diag-row-wrap{margin:12px 0 0;padding:0;border-top:1px solid var(--line)}
:is(.sheet) .diag-g{margin:0 0 16px}
:is(.sheet) .diag-gh{margin:0 0 4px;font:600 15px/1.2 var(--f-text);color:var(--ink)}
:is(.sheet) .diag-r{display:flex;justify-content:space-between;align-items:baseline;column-gap:12px;padding:4px 0;border-bottom:1px solid var(--line);font:400 15px/1.4 var(--f-text);color:var(--ink-2)}
:is(.sheet) .diag-r b{font-weight:600;color:var(--ink);text-align:right;overflow-wrap:anywhere}
:is(.sheet) .diag-btns{margin:12px 0 0}
:is(.sheet) .ent-admin-btn{display:block;height:44px;margin:0;padding:0;border:0;background:none;color:var(--ink-3);font:400 13px/1 var(--f-text);cursor:pointer}
:is(.sheet) .ent-admin-h{margin:0 0 8px;font:600 15px/1.2 var(--f-text);color:var(--ink)}
:is(.sheet) .ent-admin-l{display:block;margin:0 0 4px;font:400 13px/1.45 var(--f-text);color:var(--ink-2)}
:is(.sheet) .ent-seg{margin:0 0 12px}
:is(.sheet) .ent-code{margin:8px 0 0}
.ent-viewbar{position:fixed;left:0;right:0;top:0;z-index:80;height:calc(28px + env(safe-area-inset-top,0px));margin:0;padding:env(safe-area-inset-top,0px) 16px 0;border:0;background:#e7c27a;color:#0c100e;font:600 13px/28px var(--f-text);letter-spacing:0;text-align:center;cursor:pointer}
.ent-viewbar[hidden]{display:none}
html.ent-va{--safe-t:calc(env(safe-area-inset-top,0px) + 28px)}
:is(.sheet) #jcGets{gap:8px;margin:0 0 16px}
:is(.sheet) #jcGets li{gap:8px}
:is(.sheet) .jc-plan.best .pill.gold{background:#e7c27a!important;color:#1b1408!important}
:is(.sheet) .jc-plan small,:is(.sheet) .jc-gets-h b{text-transform:none;letter-spacing:0}   /* Title Case and sentence case as written */
:is(.sheet) .ent-seg{display:grid;grid-template-columns:repeat(4,1fr);column-gap:4px}
:is(.sheet) small.ent-admin-l{text-transform:none;letter-spacing:0}   /* beats the sheet label rule (0,2,1) */
/* split task: the Pro plans are buttons (Yearly picked first); "Included with Frataro Golf Club" is a quiet link to that screen */
:is(.sheet) button.jc-plan{width:100%;margin:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
:is(.sheet) button.jc-plan:focus-visible{outline:2px solid var(--green-2);outline-offset:2px}
:is(.sheet) .jc-club{display:block;min-height:44px;margin:0 0 8px;padding:0;border:0;background:none;color:var(--ink-2);font:400 13px/1.45 var(--f-text);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
:is(.sheet) #jcGets{margin:0 0 8px}
/* pro6: My Bag, Club Stats, the club picker, Round Stats, and Weather and My Notes in Course Intel */
:is(.sheet) .pf-two{margin:0 0 12px}
:is(.sheet) .bag-rows{display:grid;row-gap:4px;margin:0 0 12px}
:is(.sheet) .bag-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:8px;row-gap:4px;min-height:44px;padding:4px 0;border-bottom:1px solid var(--line)}
:is(.sheet) .bag-row .bag-on{margin:0;padding:0;border:0}
/* bag14: In Your Bag (count, name, yards, Remove, loft), Add Clubs by group, Add Another Wedge */
:is(.sheet) .bag-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 4px}
:is(.sheet) .bag-count{font:600 15px/1.2 var(--f-text);color:var(--ink-2)}
:is(.sheet) .bag-name{min-width:0;font:600 15px/1.3 var(--f-text);color:var(--ink);overflow-wrap:anywhere}
:is(.sheet) .bag-none{font:400 13px/1.45 var(--f-text);color:var(--ink-3)}
:is(.sheet) .bag-x{height:36px;padding:0 12px;border:1px solid var(--ctl);border-radius:8px;background:transparent;color:var(--ink);font:600 13px/1 var(--f-text);white-space:nowrap;cursor:pointer}
:is(.sheet) .bag-x:disabled,:is(.sheet) .bag-add button:disabled{opacity:.45;cursor:default}
:is(.sheet) .bag-loft{grid-column:1/-1;display:flex;align-items:center;column-gap:8px;margin:0 0 4px}
:is(.sheet) .bag-loft small{font:400 13px/1.45 var(--f-text);letter-spacing:0;text-transform:none;color:var(--ink-2)}
:is(.sheet) .bag-loft select{height:36px;padding:0 8px}
:is(.sheet) .bag-add-h{margin:24px 0 4px}
:is(.sheet) .bag-full{color:var(--ink)}
:is(.sheet) .bag-group{margin:0 0 16px}
:is(.sheet) .bag-gh{margin:0 0 8px;font:700 13px/1.2 var(--f-head);letter-spacing:var(--ls-head);text-transform:uppercase;color:var(--ink-2)}
:is(.sheet) .bag-add{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
:is(.sheet) .bag-add button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;row-gap:4px;min-width:0;min-height:44px;padding:4px 12px;border:1px solid var(--ctl);border-radius:8px;background:transparent;color:var(--ink);font:600 15px/1.2 var(--f-text);text-align:left;cursor:pointer}
:is(.sheet) .bag-add button :is(span,small){max-width:100%;white-space:nowrap}   /* finish: the name on one line, Add or Added under it */
:is(.sheet) .bag-add button small{font:400 13px/1 var(--f-text);color:var(--ink-3)}
:is(.sheet) .bag-add button.on{background:var(--surface-2);border-color:var(--edge);opacity:1}
:is(.sheet) .bag-add button.on small{color:var(--green-2)}
:is(.sheet) .bag-another{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 0}
:is(.sheet) .bag-another .bag-loft{margin:0}
:is(.sheet) .bag-yds{display:flex;align-items:center;column-gap:4px}
:is(.sheet) .bag-yds input{width:64px;height:36px;padding:0 8px;text-align:right}
:is(.sheet) small.bag-from{grid-column:1/-1;margin:0 0 8px;font:400 13px/1.45 var(--f-text);letter-spacing:0;text-transform:none;color:var(--green-2)}
:is(.sheet) .bag-stats-h{margin:24px 0 8px}
:is(.sheet,.screen) :is(.pro-stats,.rs-table){width:100%;border-collapse:collapse;font:400 14px/1.3 var(--f-text);color:var(--ink)}
:is(.sheet,.screen) :is(.pro-stats,.rs-table) :is(th,td){padding:8px 4px;border-bottom:1px solid var(--line);text-align:right}
:is(.sheet,.screen) :is(.pro-stats,.rs-table) :is(th:first-child,td:first-child){text-align:left}
:is(.sheet,.screen) :is(.pro-stats,.rs-table) thead th{font:600 12px/1.3 var(--f-text);color:var(--ink-3)}
:is(.screen) .rs-card{margin:16px 0 0}
:is(.screen) .rs-tr{font:700 16px/1 var(--f-text);color:var(--ink-2)}
:is(.screen) .rs-tr.better{color:var(--green-2)}
:is(.screen) .rs-tr.worse{color:#e07a5f}
:is(.sheet) .pro-clubs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
:is(.screen) :is(.pro-wx,.pro-notes){margin:16px 0 0}
:is(.screen) .pro-wx-now{display:grid;row-gap:4px;margin:0 0 12px}
:is(.screen) .pro-wx-now b{font:600 32px/1 var(--f-head);letter-spacing:0;color:var(--ink)}
:is(.screen) .pro-wx-now span{font:400 15px/1.45 var(--f-text);color:var(--ink)}
:is(.screen) .pro-wx-next{display:grid;row-gap:4px;margin:0 0 8px}
:is(.screen) .pro-wx-h{display:grid;grid-template-columns:48px 1fr;column-gap:8px;font:400 13px/1.45 var(--f-text);color:var(--ink-2)}
:is(.screen) .pro-wx-h small{text-transform:none;letter-spacing:0}
:is(.screen) .pro-note-saved{margin:0 0 12px;padding:12px;border-radius:var(--r-ctl);background:var(--surface-2);font:400 15px/1.45 var(--f-text);color:var(--ink);white-space:pre-wrap}
:is(.screen) .pro-note-saved[hidden]{display:none}
:is(.screen) .pro-notes textarea{width:100%;box-sizing:border-box;min-height:88px;resize:vertical}
/* fix_plays: the Plays Like sheet says which target the number is for */
:is(.sheet) .pl-target{margin:0 0 12px;font:600 15px/1.45 var(--f-text);color:var(--ink)}
:is(.sheet) #plReset{margin:12px 0 0}
