/* Ahjussi Tournaments v12 — extends v11.css (load after it). Mocks only. No inline styles. */
:root{--line:#d8d0bd;--soju:#3E7CB1;--mak:#D9822B;--amber-bg:#fbe3b2;--amber-ink:#6b3f00;--amber-line:#a8660b}

/* ---------- shared ---------- */
.k-sub{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:3px;font:500 10.5px 'DM Mono',monospace;color:#6b655a;letter-spacing:.4px}
.k-tag{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border:1.5px solid var(--ink);border-radius:999px;font:600 10.5px 'DM Mono',monospace;letter-spacing:.6px;white-space:nowrap;background:#fffdf7;color:var(--ink)}
.k-tag.rs-in{background:#e6f2ea;border-color:var(--g);color:var(--g)}
.k-tag.rs-out{background:#f3d2cb;border-color:#7a2318;color:#7a2318}
.k-tag.rs-none{border-style:dashed;border-color:#b7ad98;color:#8a826f;background:transparent}
.k-tag.you{background:var(--y)}
.k-note{font-size:13px;color:#555;margin:0}

/* ---------- 1/2. board: no skins + tap a row to open that card ---------- */
.k-prow{border-bottom:1px dashed #cfc6b2}
.k-prow>summary{list-style:none;cursor:pointer;border-bottom:0}
.k-prow>summary::-webkit-details-marker{display:none}
.k-prow>summary:hover{background:#fbf5e6}
.k-prow>summary .chev{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1.5px solid var(--line);border-radius:8px;font:700 12px Inter,sans-serif;color:#6b655a;justify-self:end}
.k-prow[open]>summary{background:#fff3cf}
.k-prow[open]>summary .chev{transform:rotate(180deg);border-color:var(--ink);color:var(--ink);background:#fffdf7}
.k-prow>.hbh{border-bottom:0;border-top:1px dashed #e0d6bd}
.k-prow.me{border-bottom:2px solid var(--ink)}
.k-prow.me>.tr{background:#fff3cf;border-bottom:0}
.k-prow.me .chev{border-color:transparent}
.k-prow .tr b{display:flex;align-items:center;gap:6px;min-width:0}
.k-prow .tr b i.tdot{flex:none}
.k-prow .tr small .k-tag{font-size:9px;padding:0 6px;vertical-align:1px}
.k-cardft{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;padding-top:10px;font:500 11px 'DM Mono',monospace;color:#6b655a}
.k-cardft b{color:var(--ink)}
@media(max-width:760px){
  .tbl .tr{grid-template-columns:30px minmax(0,1fr) 34px 52px 40px 24px;column-gap:6px;padding:11px 10px}
}

/* ---------- 3. profanity filter ---------- */
.opt.k-prof{border-top:1.5px dashed var(--line)}
.k-deskchat .opt.k-prof{padding:12px 0;margin-top:2px}

/* ---------- 4/11. explicit Save rows ---------- */
.k-chx .k-row{justify-content:flex-end}
.k-chx .btn[disabled],.k-saverow .btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
.k-chx .k-pick{display:inline-flex;align-items:center;gap:6px;font:500 11px 'DM Mono',monospace;color:var(--g);margin-right:auto}
.chacc .k-saved{min-height:28px;padding:0 10px;font-size:12px}
.k-saverow{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px;padding-top:12px;border-top:1.5px dashed var(--line)}
.k-saverow .k-pick{margin-right:auto;font:500 11px 'DM Mono',monospace;color:#6b3f00;letter-spacing:.4px}
.k-share{margin-top:16px;padding-top:16px;border-top:2px solid var(--line)}
.k-share>.mlabel{display:block;margin:0 0 12px;font:500 11px 'DM Mono',monospace;letter-spacing:1.5px;color:var(--red)}

/* ---------- 5. combined scorecard ---------- */
.k-all .k-fixhd{margin-bottom:14px}
.k-all .k-pop{margin-bottom:14px}
.k-sg tr.k-gh th{height:32px;padding:0 12px;text-align:left;background:var(--g);color:var(--r);font:500 11px 'DM Mono',monospace;letter-spacing:1.2px;border-left:0}
.k-sg tr.k-gh th span{position:sticky;left:12px}
.k-sg tr.k-gh th small{font:inherit;color:var(--m);margin-left:10px}
.k-sg td .c.fx:before{content:"";position:absolute;left:4px;top:4px;width:6px;height:6px;border-radius:50%;background:#a8660b}
.k-log{margin-top:16px;padding:14px;border:2px solid var(--ink);border-radius:14px;background:#fffdf7}
.k-log h3{margin:0 0 10px;font:800 15px Inter,sans-serif;display:flex;justify-content:space-between;align-items:center;gap:10px}
.k-log h3 small{font:500 11px 'DM Mono',monospace;color:#6b655a}
.k-log ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.k-log li{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-top:1.5px dashed var(--line);font-size:13.5px}
.k-log li:first-child{border-top:0;padding-top:0}
.k-log li time{font:500 11px 'DM Mono',monospace;color:#6b655a}
.k-log li .ch{font:700 13px 'DM Mono',monospace;white-space:nowrap}
.k-log li .ch s{color:#8a826f}
.k-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font:500 11px 'DM Mono',monospace;color:#6b655a}
.k-legend .sw{display:inline-block;width:12px;height:12px;border-radius:3px;border:1.5px solid var(--line);background:#fff3cc;vertical-align:-2px;margin-right:6px}
.k-legend .sw.sel{background:#e6f2ea;border-color:var(--g)}
.k-all .k-phonefix{display:none}
@media(max-width:899px){
  .k-all .k-fixdesk{display:block}
  .k-all table.k-sg{min-width:0;width:max-content}
  .k-all .k-sg th,.k-all .k-sg td{min-width:40px;width:40px}
  .k-all .k-sg th.pn,.k-all .k-sg td.pn{min-width:118px;width:118px;max-width:118px;padding:0 8px;box-shadow:2px 0 0 var(--ink)}
  .k-all .k-sg td.pn b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
  .k-all .k-sg td.pn b .dot{display:inline-block;margin-right:6px;vertical-align:-1px}
  .k-all .k-sg td.k-tot,.k-all .k-sg th.k-tot{min-width:52px;width:52px}
  .k-all .k-sg tr.k-gh th{padding:0}
  .k-all .k-sg tr.k-gh th span{display:inline-block;padding:0 8px}
  .k-all .k-pop{position:sticky;top:8px;z-index:3;gap:10px;padding:12px}
  .k-all .k-pop .in{display:none}
  .k-all .k-pop .btn{flex:1 1 auto}
  .k-log li{grid-template-columns:minmax(0,1fr) auto}
  .k-log li time{grid-column:1/-1}
}

/* ---------- 6. groups: team HCP block, one team per row + gap box ---------- */
.k-hcp{display:grid;grid-template-columns:minmax(0,1fr) 112px;border:2px solid var(--ink);border-radius:14px;background:#fffdf7;overflow:hidden}
.k-hcp .tms{display:flex;flex-direction:column;min-width:0}
.k-hcp .tmr{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:48px;padding:8px 14px}
.k-hcp .tmr+.tmr{border-top:1.5px dashed var(--line)}
.k-hcp .tmr .dot{width:12px;height:12px}
.k-hcp .tmr b{min-width:0;overflow-wrap:break-word;font:700 15px/1.2 Inter,sans-serif}
.k-hcp .tmr .n{display:flex;align-items:baseline;gap:6px;font:900 22px Fraunces,Georgia,serif;line-height:1}
.k-hcp .tmr .n small{font:500 10px 'DM Mono',monospace;letter-spacing:1px;color:#6b655a}
/* phones: the card title already says TEAM HCP TOTALS; the suffix squeezed long team names into mid-word breaks (v12 g06b has none) */
@media(max-width:599px){.k-hcp .tmr .n small{display:none}}
.k-hcp .gap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px;border-left:2px solid var(--ink);background:#e6f2ea;color:var(--g);text-align:center}
.k-hcp .gap .l{font:500 10px 'DM Mono',monospace;letter-spacing:1.5px}
.k-hcp .gap .v{font:900 30px Fraunces,Georgia,serif;line-height:1}
.k-hcp .gap .s{font:600 9.5px 'DM Mono',monospace;letter-spacing:.6px;line-height:1.25}
.k-hcp.warn .gap{background:var(--amber-bg);color:var(--amber-ink)}
.k-hcp.warn{border-color:var(--amber-line)}
.k-hcp.warn .gap{border-left-color:var(--amber-line)}
.k-hcp.even .gap{background:#e6f2ea}
.k-hcp.big .tmr{min-height:54px}
.k-hcp.big .tmr .n{font-size:26px}
.k-hcp.big .gap .v{font-size:36px}
.k-allg{display:flex;flex-direction:column;gap:10px;margin:0 0 16px}
.k-allg .lbl{font:500 11px 'DM Mono',monospace;letter-spacing:1.5px;color:var(--red)}
.k-allg .k-note{font-size:12.5px}
.k-dg2{display:flex;flex-direction:column;gap:10px;padding:16px 0;border-top:1.5px dashed var(--line)}
.k-dg2 h4{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0;font:800 15px Inter,sans-serif}
.k-dg2 h4 small{font:600 12px 'DM Mono',monospace;color:var(--red);white-space:nowrap}
.k-dg2 .k-dpl{padding:0 2px}
.k-dg2 .k-hcp{margin-top:4px}
.k-dg2:last-child{padding-bottom:0}
@media(max-width:520px){.k-hcp{grid-template-columns:minmax(0,1fr) 100px}}
@media(max-width:380px){.k-hcp{grid-template-columns:minmax(0,1fr) 88px}.k-hcp .gap .v{font-size:26px}.k-hcp.big .gap .v{font-size:30px}.k-hcp .tmr{padding:8px 12px;gap:8px}.k-hcp .tmr b{font-size:14px}.k-hcp .tmr .n{font-size:20px}.k-hcp.big .tmr .n{font-size:22px}}

/* ---------- 7/9. mulligans + breakfast balls ---------- */
.k-bulk{display:flex;flex-direction:column;gap:10px;padding:12px;border:2px solid var(--ink);border-radius:14px;background:#f4efe4;margin:0 0 12px}
.k-bulk .lbl{font:500 11px 'DM Mono',monospace;letter-spacing:1.5px;color:var(--red)}
.k-bulk .k-row{gap:8px}
.k-bulk .k-row .btn{flex:1 1 150px}
.k-bulk .k-row>form{display:flex;flex:1 1 150px;margin:0}
.k-bulk .k-row>form .btn{flex:1 1 auto}
.k-bulk .k-sortsel{align-self:flex-start}
.k-mhd{display:grid;grid-template-columns:minmax(0,1fr) 128px 128px;gap:10px;padding:0 0 6px;font:500 10px 'DM Mono',monospace;letter-spacing:1px;color:#6b655a}
.k-mhd span:not(:first-child){text-align:center}
.k-mr2{display:grid;grid-template-columns:minmax(0,1fr) 128px 128px;gap:10px;align-items:center;padding:10px 0;border-top:1.5px dashed var(--line)}
.k-mr2 .who{display:flex;flex-direction:column;gap:2px;min-width:0}
.k-mr2 .who b{display:flex;align-items:center;gap:8px;font-size:14.5px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-mr2 .who small{font:500 11px 'DM Mono',monospace;color:#666}
.k-ctr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center;padding:4px 4px 4px 10px;border:1.5px solid var(--line);border-radius:12px;background:#fffdf7;min-height:44px}
.k-ctr .n{font:900 20px Fraunces,Georgia,serif;color:var(--g);line-height:1}
.k-ctr .l{font:500 9.5px 'DM Mono',monospace;letter-spacing:.8px;color:#666;line-height:1.2}
.k-ctr form{margin:0}
.k-ctr .btn{min-height:34px;padding:2px 10px}
.k-ctr.bb .n{color:#8a5a00}
.k-ctr.zero .n{color:#b3aa95}
.k-mr2.k-just{background:#fff3cc;margin:0 -10px;padding:10px;border-radius:12px;border-top-color:transparent}
.k-mr2.k-just+.k-mr2{border-top-color:transparent}
.k-mr2 .k-up{display:inline-block;font:700 10px 'DM Mono',monospace;color:var(--g);margin-left:2px}
.k-mtoast{margin:0 0 12px}
.k-mtoast.k-toast{margin:0 0 12px}
@media(max-width:520px){
  .k-mhd{display:none}
  .k-mr2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 10px}
  .k-mr2 .who{grid-column:1/-1;flex-direction:row;align-items:baseline;justify-content:space-between;gap:10px}
  .k-mr2 .who small{white-space:nowrap}
  .k-mr2.k-just{margin:0 -8px;padding:10px 8px}
}
/* rules: breakfast balls block */
.k-bb{display:flex;flex-direction:column;gap:12px;padding:14px;border:2px solid var(--ink);border-radius:14px;background:#fffdf7;margin-top:12px}
.k-bb .opt{padding:0;border:0}
.k-bb .vh{display:flex;justify-content:space-between;align-items:center;gap:12px}
.k-bb .fld{margin:0}
.k-bb .k-sep{border-top:1.5px dashed var(--line)}

/* ---------- 8. desk balance helpers ----------
   Desktop: each column is its own stack (no shared grid rows, so a tall card never leaves a hole beside it).
   Left = Teams, Roster, Mulligans; right = Round, Invite, Groups, Chat (v12 g08a).
   Phone: cards in one flex column, ordered so each tab keeps its m17e order (Round before Mulligans before Chat). */
@media(min-width:900px){
  body.page-setup .cols>.col{display:flex;flex-direction:column;gap:18px;min-width:0}
  body.page-setup .cols>.col>.panel{margin:0}
  .k-slot-l1,.k-slot-r1{order:1}
  .k-slot-l2,.k-slot-r2{order:2}
  .k-slot-l3,.k-slot-r3{order:3}
  .k-slot-r4{order:4}
}
@media(max-width:899px){
  body.page-setup .cols{display:flex;flex-direction:column}
  body.page-setup .cols>.col{display:contents}
  .k-slot-l1{order:1}.k-slot-l2{order:2}.k-slot-r2{order:3}.k-slot-r3{order:4}.k-slot-r1{order:5}.k-slot-l3{order:6}.k-slot-r4{order:7}
}
.k-order{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:8px;border:1.5px solid var(--ink);border-radius:50%;background:var(--y);font:700 11px 'DM Mono',monospace;vertical-align:3px}
.k-rcnote{margin:12px 0 0}

/* ---------- 10. RSVP + paid ---------- */
.k-rsum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 12px}
.k-rsum a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:64px;padding:8px 6px;border:2px solid var(--ink);border-radius:12px;background:#fffdf7;text-decoration:none;color:inherit;text-align:center}
.k-rsum a b{font:900 24px Fraunces,Georgia,serif;line-height:1}
.k-rsum a span{font:500 10px 'DM Mono',monospace;letter-spacing:.8px;color:#555;white-space:nowrap}
.k-rsum a.rs-in b{color:var(--g)}
.k-rsum a.rs-out b{color:#7a2318}
.k-rsum a.rs-none b{color:#8a826f}
.k-rsum a.on{background:var(--y);box-shadow:2px 2px 0 var(--ink)}
.k-rsum a b small{font:600 12px Inter,sans-serif;color:#6b655a}
.k-rline{margin:0 0 12px;font:500 11.5px 'DM Mono',monospace;color:#555;letter-spacing:.3px}
.k-paid2{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px 0 4px;border:1.5px solid var(--line);border-radius:999px;font:600 10.5px 'DM Mono',monospace;letter-spacing:.6px;color:#6b655a;cursor:pointer;background:#fffdf7}
.k-paid2 input{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:0;border:2px solid var(--ink);border-radius:6px;background:#fff;display:inline-grid;place-content:center;cursor:pointer;flex:none}
.k-paid2 input:checked{background:var(--g);border-color:var(--g)}
.k-paid2 input:checked:after{content:"✓";color:#fff;font:800 12px Inter,sans-serif;line-height:1}
.k-paid2.on{border-color:var(--g);color:var(--g);background:#e6f2ea}
.ro td.nm .k-sub{font-weight:500;margin-top:6px}
.k-pdhint{margin:12px 0 0;font-size:12.5px;color:#666}
.k-ef .k-rsvpf .seg{width:100%}
@media(max-width:899px){
  .k-rsum{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k-rsum a{flex-direction:row;justify-content:space-between;min-height:48px;padding:8px 12px}
  .k-rsum a b{font-size:22px}
}
/* info page */
.k-evr{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding:14px;border:2px solid var(--ink);border-radius:14px;background:#fffdf7;color:var(--ink)}
.k-evr .q{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.k-evr .q b{font:800 16px Inter,sans-serif}
.k-evr .seg{width:100%}
.k-evr .k-note{font-size:12.5px}
.k-tally{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 10px}
.k-tally.t4{grid-template-columns:repeat(4,minmax(0,1fr))}
.k-tally div{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border:1.5px solid var(--line);border-radius:10px;background:#fffdf7}
.k-tally b{font:900 20px Fraunces,Georgia,serif;line-height:1}
.k-tally span{font:500 9.5px 'DM Mono',monospace;letter-spacing:.8px;color:#555}
.k-hostrsvp h3{display:flex;justify-content:flex-start;align-items:center;gap:10px}
.k-hostrsvp h3 small{margin-left:auto}
.k-hostrsvp h3 small{font:500 10.5px 'DM Mono',monospace;color:var(--red);letter-spacing:1px}
.k-hostrsvp .k-list li{font-size:13.5px}
.k-mealr{margin-top:12px;padding-top:12px;border-top:1.5px dashed var(--line)}
.k-mealr:first-of-type{margin-top:0}
.k-mealr .mh{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;font-weight:800}
.k-mealr .mh small{font:500 10.5px 'DM Mono',monospace;color:#6b655a}
.k-diet{font-size:13px;color:#555;margin:6px 0 0}
/* selected cell: m17e uses td.sel, which collides with setup.css .sel (inline-flex + ▾). v12 uses td.k-on */
.k-sg td.k-on{box-shadow:inset 0 0 0 3px var(--g);background:#e6f2ea}
.k-sg td.k-on .c.fx{background:transparent}
@media(max-width:899px){.k-all .k-fixhd .seg{width:100%}.k-all .k-fixhd .seg a{flex:1 1 0;padding:6px 8px}.k-all .k-fixhd .seg a .lg{display:none}.k-all .k-fixhd .seg a .sh{display:inline}.k-all .k-sg tr.k-gh th small{display:none}}
.k-evf{display:flex;flex-direction:column;gap:10px;margin:0}
.k-evf .k-row{justify-content:flex-end}
.k-evr .seg label{white-space:nowrap;padding-left:8px;padding-right:8px}
.k-evr .seg{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:0;padding:0;background:none;border-radius:0;box-shadow:none}
.k-evr .seg label{display:flex;align-items:center;justify-content:center;min-height:48px;border:2px solid var(--ink);border-radius:999px;background:#fffdf7;font-weight:700;cursor:pointer}
.k-evr .seg input{position:absolute;opacity:0;width:1px;height:1px}
.k-evr .seg label:has(input:checked){background:var(--g);color:var(--r)}
.k-evr .seg label:has(input:focus-visible){outline:3px solid var(--y);outline-offset:2px}
/* meal RSVP gets the same big buttons as the event RSVP */
.k-meal .seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:0;padding:0;background:none;border-radius:0;box-shadow:none;width:100%}
.k-meal .seg label{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 6px;border:2px solid var(--ink);border-radius:999px;background:#fffdf7;color:var(--ink);font-weight:700;cursor:pointer;white-space:nowrap}
.k-meal .seg input{position:absolute;opacity:0;width:1px;height:1px}
.k-meal .seg label:has(input:checked){background:var(--g);color:var(--r)}
@media (max-width:380px){
  .tbl .tr{grid-template-columns:24px minmax(0,1fr) 28px 58px 24px;column-gap:6px;padding:11px 8px}
  .tbl .tr>span:nth-child(5){display:none} /* gross lives in the open card footer on tiny phones */
  .k-prow .tr b{font-size:15px;gap:5px}
}
@media (max-width:380px){
  .k-prow .tr b,.k-prow .tr>span:nth-child(2){white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:break-word;line-height:1.2}
  .tbl .tr.h span{font-size:10px;letter-spacing:.04em;white-space:nowrap}
}
@media(max-width:340px){.k-hcp{grid-template-columns:minmax(0,1fr) 80px}.k-hcp .tmr{padding:8px 10px;gap:6px}.k-hcp .tmr b{font-size:13px}.k-hcp .tmr .n,.k-hcp.big .tmr .n{font-size:19px}.k-hcp .gap .s{font-size:8.5px;letter-spacing:.3px}}
.k-all .k-fixhd .seg a .sh{display:none}
@media(max-width:899px){.k-all .k-fixhd .seg a .sh{display:inline}}

/* 1b. Equal team panels. The divider stays a fixed width. Names wrap twice, then ellipsis. */
.vsbox{grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);align-items:stretch}
/* 1b: long team name in the middle pill clamps to 2 lines; the margin (BY n) always shows */
.mid .lead .ln{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.tside{min-width:0;display:flex;flex-direction:column}
.tside b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.4em;max-height:2.4em;font:900 22px/1.2 Fraunces,serif;overflow-wrap:anywhere}
.tside .pts{font:900 64px/1 Fraunces,serif;margin-top:8px}
.tside.m b,.tside.m .pts,.tside.m small{margin-left:auto}
.mid{width:112px;box-sizing:border-box}
@media(max-width:760px){
  .vsbox{grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr)}
  .mid{width:88px;padding:8px 6px}
  .tside{padding:14px 10px}
  .tside b{font-size:16px}
  .tside .pts{font-size:48px}
}
@media(max-width:340px){
  .vsbox{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr)}
  .mid{width:72px;padding:6px 4px}
  .tside b{font-size:14px}
  .tside .pts{font-size:40px}
}
/* m17e selected score cell used td.sel, which setup.css styles as a dropdown pill. */
.sel:not(td){display:inline-flex;align-items:center;gap:4px;cursor:pointer}
.sel:not(td):after{content:"▾";font-size:10px;color:var(--mute)}
td.sel:after{content:none}
.k-mtoast[hidden]{display:none}
.k-mtoast.k-toast{position:sticky;top:8px;z-index:6}
/* v12 item 12: one shared offset shadow for every top-level card. --card-shadow mirrors .card on that page type (mockup.css 5px; setup.css 4px on page-setup). Cards nested in cards, chips, buttons and tiles keep their own styles. */
:root{--card-shadow:5px 5px 0 var(--g)}
body.page-setup{--card-shadow:4px 4px 0 var(--g)}
:is(.tbl,.sgc,.lb .mt,.k-isec,.vstat):not(.hero):not(:is(.card,.vc,.panel,.chat,.k-isec,.tbl,.sgc,.vstat) *){box-shadow:var(--card-shadow)}
/* Under 900px the chat panel is not a card, so the opened "Who can chat" form is the top-level card there. */
@media (max-width:899px){.chat .k-chx{box-shadow:var(--card-shadow)}}
/* The hidden attribute must win over .k-chx{display:flex}, or the form never closes (mock g02a/g04c states). */
.k-chx[hidden]{display:none}
/* v12 item 13: Net/Gross toggle sits on the standings title row with even gaps; real tap targets, nothing touching. */
.ind>.lrow{row-gap:14px;margin-bottom:14px}
.ind>.lrow h2{margin:0}
.ind .k-basis{gap:8px}
.ind .k-basis .chip{min-height:32px;padding:0 14px;display:inline-flex;align-items:center;font-size:12px}
/* v12 item 14: Enter scores reads on the dark green bar: cream fill, green text, same offset shadow as Host desk. */
.hostbar .btn.sm.ghost{background:var(--paper);color:var(--g);border-color:var(--ink);box-shadow:3px 3px 0 var(--ink)}
.hostbar{gap:12px}
