/* The Card Room — Home v2.2 FINAL (Fairway: ivory #F6EEDA; photo header <img class=hero-img> over solid green fallback + overlay; circle mark). Loaded from index.html, precached by sw.js. Every rule is scoped under .hv2 (the Home wrapper) except @font-face and the fw tokens. No images. */
@font-face{font-family:"Card Room Display";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/cardroom-display-600-latin.woff2") format("woff2");unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2039-203A,U+20AC,U+2122,U+2212}
@font-face{font-family:"Card Room Display";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/cardroom-display-500-latin.woff2") format("woff2");unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2039-203A,U+20AC,U+2122,U+2212}
@font-face{font-family:"Card Room Fallback";src:local("Georgia Bold"),local("Georgia-Bold"),local("Georgia");font-weight:500 700;size-adjust:87.71%;ascent-override:123.36%;descent-override:28.62%;line-gap-override:0%}
:root{--fw-bg:#F6EEDA;--fw-card:#FFFDF7;--fw-line:#E2D7BF;--fw-line-strong:#8C8576;--fw-ink:#16201A;--fw-muted:#4C4A42;--fw-label:#4E4B42;--fw-green:#1F3D2B;--fw-green-2:#234A35;--fw-hero:#1C3A28;--fw-hero-dark:#1A3526;--fw-on-hero-2:#F1E7CF;--fw-gold:#C9A24B;--fw-gold-hi:#ECD283;--fw-gold-lo:#D4B05A;--fw-on-gold:#152A1E;--fw-leader:#EDF3E9;--fw-plus:var(--fw-ink);--fw-minus:#921A1A;--fw-under:#921A1A;
--fw-serif:"Card Room Display","Card Room Fallback",ui-serif,"New York",Georgia,serif;--fw-sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;--fw-gutter:20px;--fw-tabbar:64px;--fw-sh-1:0 1px 1px rgba(40,32,10,.04),0 2px 6px rgba(40,32,10,.04);--fw-sh-btn:0 1px 0 rgba(255,255,255,.35) inset,0 6px 14px rgba(20,42,30,.22)}
body.sun{--fw-bg:#fff;--fw-card:#fff;--fw-line:#000;--fw-line-strong:#000;--fw-ink:#000;--fw-muted:#000;--fw-label:#000;--fw-hero:#00220f;--fw-hero-dark:#00220f;--fw-green-2:#00220f;--fw-leader:#fff;--fw-sh-1:none;--fw-plus:#000}
.hv2{background:var(--fw-bg);color:var(--fw-ink);font-family:var(--fw-sans);font-variant-numeric:lining-nums;min-height:100vh;padding-bottom:calc(var(--fw-tabbar) + 12px + env(safe-area-inset-bottom))}
.hv2 a{color:inherit;text-decoration:none}
.hv2 .fw-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.hv2 .fw-h2{font:600 28px/1.15 var(--fw-serif);letter-spacing:-.015em;margin:0;flex:1}
.hv2 .fw-card{background:var(--fw-card);border:1px solid var(--fw-line);border-radius:18px;box-shadow:var(--fw-sh-1)}
/* #375 Paper epic: Last Round and History (the round-result cards) on the shared cotton paper (--cr-paper, fairway-screens.css),
   for NEW rounds only (Ben, #182 03:14Z): app.js adds .nu when engine/rules.js newDisplay is true for the Last Round's round,
   and for the History card only when every round it lists is new, so a round finished before NEW_DISPLAY_FROM keeps its old
   look. Sunlight keeps plain white (:not(.sun)); static. */
body:not(.sun) .hv2 .fw-card.lr.nu,body:not(.sun) .hv2 .fw-card.hist.nu{background:var(--cr-paper)}
.hv2 .fw-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 26px 0 28px;border-radius:999px;border:0;background:linear-gradient(135deg,var(--fw-gold-hi),var(--fw-gold-lo));color:var(--fw-on-gold);font:700 17px var(--fw-sans);box-shadow:var(--fw-sh-btn);max-width:100%}
.hv2 .fw-btn .fw-icon{width:22px;height:22px}
/* B4 Start button (Designer·2 handoff) */
.hv2 .hero-cta{background:#D4B05A;color:#152A1E;box-shadow:inset 0 0 0 1px rgba(21,42,30,.22),inset 0 1px 0 rgba(255,253,247,.55),0 1px 2px rgba(12,28,19,.35),0 6px 14px rgba(12,28,19,.22);letter-spacing:.01em;white-space:nowrap}
.hv2 .hero-cta .fl{width:14px;height:18px;flex:none}
/* sun (Designer): on the black hero, inverted: #fff fill, #000 700 text and flag, no ring */
body.sun .hv2 .hero-cta{background:#fff;color:#000;font-weight:700;box-shadow:none}
body.sun .hv2 .hero-cta .fl{fill:#000}
.hv2 .fw-tag{display:inline-block;font:700 10px/1 var(--fw-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--fw-label);border:1px solid var(--fw-line-strong);border-radius:4px;padding:2px 5px;margin-right:4px;vertical-align:1px}
.hv2 .fw-plus{color:var(--fw-plus)}.hv2 .fw-minus,.hv2 .fw-under{color:var(--fw-minus)}.hv2 .fw-zero{color:var(--fw-muted)}
.fw-hero{color:#fff;position:relative;overflow:hidden;isolation:isolate;min-height:calc(env(safe-area-inset-top) + 410px);padding:calc(env(safe-area-inset-top) + 12px) var(--fw-gutter) 72px;background:var(--fw-hero)}
.fw-hero>*{position:relative;z-index:1}
.fw-hero>.hero-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.fw-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(12,28,19,.82) 0%,rgba(12,28,19,.80) 45%,rgba(12,28,19,.79) 82%,rgba(12,28,19,.66) 100%)}
.hv2 .topbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;min-height:44px}
.hv2 .brand{display:flex;flex-direction:column;align-items:center;gap:2px}
.hv2 .brand span{font:600 14px var(--fw-sans);letter-spacing:.32em;text-indent:.32em}
.hv2 .fw-iconbtn{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#fff}
.hv2 .hero-title{font:600 40px/1.05 var(--fw-serif);letter-spacing:-.015em;margin:26px 0 6px;overflow-wrap:anywhere;text-shadow:0 1px 1px rgba(0,0,0,.18)}
.hv2 .greet{font:500 22px/1.3 var(--fw-serif);overflow-wrap:anywhere;word-break:normal;hyphens:none;min-width:0;color:var(--fw-on-hero-2);margin:0 0 22px}
.hv2 .livepill{display:inline-flex;align-items:center;gap:8px;margin:18px 0 -10px;color:var(--fw-on-hero-2);font:700 12px var(--fw-sans);letter-spacing:.14em;text-transform:uppercase}
.hv2 .livepill i{width:8px;height:8px;border-radius:50%;background:#7fd4a0;box-shadow:0 0 0 3px rgba(127,212,160,.25)}
.hv2 .sub2{display:block;margin-top:10px;font-size:14px;color:var(--fw-on-hero-2)}
.hv2 .sub2 a{text-decoration:underline;text-underline-offset:3px;display:inline-block;min-height:44px;line-height:44px}
/* Designer (home-v22 c678593 #3): no trailing separator; the meta line stands alone and its link sits on its own line, 44px tall */
.hv2 .sub2 .meta{display:block;overflow-wrap:anywhere}
.hv2 .sub2 a.more{display:block;width:fit-content;min-height:44px;line-height:44px;padding-right:8px}
.hv2 .fw-sheet{margin-top:-28px;border-radius:24px 24px 0 0;background:var(--fw-bg);position:relative;padding:22px var(--fw-gutter) 28px}
.hv2 .sec{display:flex;align-items:baseline;gap:12px;margin:6px 0 2px}
.hv2 .viewall{display:inline-flex;align-items:center;gap:2px;min-height:44px;font:600 16px var(--fw-sans)}
.hv2 .viewall .fw-icon{width:18px;height:18px;color:var(--fw-muted)}
.hv2 .secsub{font-size:15px;color:var(--fw-muted);margin:0 0 14px;white-space:normal;overflow-wrap:anywhere}
.hv2 .lr{padding:4px 6px 6px}
.hv2 .lr table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums lining-nums}
/* Designer (home-v22 c678593 #2): the leaderboard is one grid, rank | name | score | net | won; rows are display:contents so the
   auto columns line up across every row. The rank is its own fixed 2.25rem cell; the name wraps in column 2 (hanging indent), never an ellipsis. */
.hv2 .lr table{display:grid;grid-template-columns:2.25rem 1fr auto auto auto}
.hv2 .lr table.nomoney{grid-template-columns:2.25rem 1fr auto auto}
.hv2 .lr thead,.hv2 .lr tbody,.hv2 .lr tr{display:contents}
.hv2 .lr th,.hv2 .lr td{box-sizing:border-box}
.hv2 .lr th{font:700 12px var(--fw-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--fw-label);text-align:right;padding:12px 6px 10px;border-bottom:1px solid var(--fw-line)}
.hv2 .lr th.ph{grid-column:1/3;text-align:left;padding-left:12px}
.hv2 .lr td{min-height:50px;padding:13px 6px;line-height:24px;white-space:nowrap;border-top:1px solid var(--fw-line);text-align:right;font-size:17px}
.hv2 .lr td.rk{grid-column:1;text-align:left;padding:13px 0 13px 12px;color:var(--fw-muted);font-weight:500}
.hv2 .lr td.all{grid-column:1/-1;text-align:left;padding-left:12px}
.hv2 .lr tbody tr:first-child td{border-top:0}
.hv2 .lr .leader td{background:var(--fw-leader)}
.hv2 .lr .leader td:first-child{border-radius:10px 0 0 10px}.hv2 .lr .leader td:last-child{border-radius:0 10px 10px 0}
.hv2 .lr tbody tr:not(:first-child).leader td{border-radius:0} /* a rounded cell would curve its top rule */
.hv2 .lr .pl{font-weight:600;text-align:left;white-space:normal;overflow-wrap:anywhere;min-width:0;padding-left:4px}
.hv2 .lr .sc{font-weight:600}.hv2 .lr .w{font-weight:700}
.hv2 .tiles{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:18px 0 30px}
@media (max-width:359px){.hv2 .tiles{grid-template-columns:1fr}}
.hv2 .tile{display:flex;align-items:center;gap:10px;padding:16px 8px 16px 14px;min-height:84px}
.hv2 .tile>.fw-icon:first-child{width:32px;height:32px;color:var(--fw-green);stroke-width:1.4}
.hv2 .tile .t{flex:1;min-width:0}
.hv2 .tile b{display:block;font:600 17px/1.2 var(--fw-sans);color:var(--fw-ink)}
.hv2 .tile .t span{display:block;font-size:13px;color:var(--fw-muted);margin-top:3px;white-space:normal;overflow-wrap:anywhere}
.hv2 .chev{width:18px;height:18px;color:var(--fw-muted)}
.hv2 .hist{padding:2px 4px 2px 0}
.hv2 .hrow{display:flex;align-items:center;gap:10px;min-height:68px;padding:10px 6px 10px 14px;border-top:1px solid var(--fw-line)}
.hv2 .hrow:first-child{border-top:0}
.hv2 .hrow .d{width:44px;flex:none;font-size:14px;color:var(--fw-muted);font-variant-numeric:tabular-nums lining-nums}
.hv2 .hrow .g{flex:1;min-width:0}
.hv2 .hrow .g b{display:block;font:600 17px/1.25 var(--fw-sans);color:var(--fw-ink);white-space:normal;overflow-wrap:anywhere}
.hv2 .hrow .g span{display:block;font-size:13px;color:var(--fw-muted);margin-top:2px;white-space:normal;overflow-wrap:anywhere}
.hv2 .hrow .s,.hv2 .hrow .m{white-space:nowrap;font-family:var(--fw-sans);font-variant-numeric:tabular-nums lining-nums;text-align:right;flex:none}
.hv2 .hrow .s{font-size:19px;font-weight:600;width:34px}
.hv2 .hrow .m{font-size:17px;font-weight:700;min-width:58px}
.hv2 .hrow .chev{width:16px;height:16px}
.hv2 .hres{font-size:13px;color:var(--fw-muted)}
.hv2 .setup .srow{display:flex;align-items:center;gap:14px;min-height:72px;padding:12px 10px 12px 16px;border-top:1px solid var(--fw-line)}
.hv2 .setup .srow:first-child{border-top:0}
.hv2 .setup{margin-bottom:28px}
.hv2 .setup .n{width:34px;height:34px;border-radius:50%;border:1px solid var(--fw-gold);color:var(--fw-green);display:flex;align-items:center;justify-content:center;font:600 17px var(--fw-sans);flex:none}
.hv2 .setup .g{flex:1}.hv2 .setup .g b{display:block;font:600 17px/1.25 var(--fw-sans);color:var(--fw-ink)}.hv2 .setup .g span{font-size:14px;color:var(--fw-muted)}
.hv2 .emptyh{text-align:center;padding:30px 24px;color:var(--fw-muted);font-size:15px}
.hv2 .emptyh b{display:block;font:600 17px var(--fw-sans);color:var(--fw-ink);margin:10px 0 4px}
.hv2 .emptyh .fw-icon{width:34px;height:34px;color:var(--fw-gold)}
.hv2 .notice{margin:0 0 14px}
.fw-tabbar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);background:var(--fw-card);border-top:1px solid var(--fw-line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:10}
.fw-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;color:var(--fw-muted);font:500 12px var(--fw-sans);position:relative}
.fw-tab[aria-current="page"]{color:var(--fw-green);font-weight:700}
.fw-tab[aria-current="page"]::after{content:"";position:absolute;bottom:0;width:28px;height:3px;border-radius:2px;background:var(--fw-green)}
body.sun .fw-tab[aria-current="page"]{color:#000}body.sun .fw-tab[aria-current="page"]::after{background:#000}
body.sun .hv2 .tile>.fw-icon:first-child{color:#000}
.hv2 a:focus-visible,.fw-tab:focus-visible{outline:3px solid #1F4FB8;outline-offset:2px}
body.sun .hv2 .fw-card{border-width:2px}
@media print{.fw-tabbar{display:none}}
.hv2 .lr .pl small{font:500 12px var(--fw-sans);color:var(--fw-muted);margin-left:4px}
.fw-devrow{display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 10px 8px 16px;background:var(--fw-card);border:1px solid var(--fw-line);border-radius:14px;color:var(--fw-ink);position:relative}
.fw-devrow label,.fw-devrow b{flex:1;min-width:0;font:600 17px/1.2 var(--fw-sans);color:var(--fw-ink)}
.fw-devrow select{appearance:none;-webkit-appearance:none;min-height:44px;max-width:58%;padding:0 34px 0 14px;border:1px solid var(--fw-line-strong);border-radius:999px;background:var(--fw-bg);color:var(--fw-ink);font:600 17px var(--fw-sans);text-overflow:ellipsis}
.fw-devrow select:invalid,.fw-devrow select.unset{color:var(--fw-muted);font-weight:500}
.fw-devrow .fw-icon{position:absolute;right:20px;transform:rotate(90deg);width:16px;height:16px;pointer-events:none;color:var(--fw-muted)}
.fw-devrow span{font:600 17px var(--fw-sans)}
.fw-devnote{font-size:14px;color:var(--fw-muted);margin:6px 4px 0}
body.sun .fw-devrow{border:2px solid #000}
/* Settings → Labs row (flags-on release): a .fw-devrow that is a link; title + 15px muted sub-line, chevron points right. Sun mode: the .fw-devrow rules above. */
.fw-linkrow{text-decoration:none;cursor:pointer}
.fw-linkrow .fw-lr{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fw-linkrow .fw-lr b{font:600 17px/1.2 var(--fw-sans);color:var(--fw-ink)}
.fw-linkrow .fw-lr-sub{font:400 15px/1.3 var(--fw-sans);color:var(--fw-muted);overflow-wrap:anywhere}
.fw-linkrow .fw-icon{position:static;transform:none;width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:var(--fw-muted)}
.fw-linkrow:focus-visible{outline:2px solid var(--fw-green);outline-offset:2px}
body.sun .fw-hero>.hero-img,body.sun .fw-hero::before{display:none}
.hv2 .brand .mark{display:block;width:23px;height:32px}
.hv2 .livepill.last i{background:#E3C676;box-shadow:0 0 0 3px rgba(227,198,118,.22)}
/* Ben (#182, Oct 29): the group-name eyebrow is gone from Home. The title keeps the place it had under it
   (24px + 14.4px eyebrow line + 8px), so the hero photo, leaf mask and contrast bands stay where QA measured them. */
.hv2 .fw-hero .hero-title{margin-top:46px}
.hv2.auth{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.auth .auth-hero{text-align:center;min-height:0;padding-top:calc(env(safe-area-inset-top) + 44px);padding-bottom:84px}
.auth .auth-mark{display:block;width:40px;height:56px;margin:0 auto 14px}
.auth .auth-title{font:600 42px/1.05 var(--fw-serif);letter-spacing:-.015em;margin:0;color:#fff}
.auth .auth-sub{font:700 12px/1.2 var(--fw-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--fw-on-hero-2);margin:12px 0 0}
.auth .fw-sheet{padding-top:24px}
.auth .auth-card{padding:22px 18px 20px}
.auth .auth-h2{font:600 26px/1.15 var(--fw-serif);letter-spacing:-.01em;margin:0 0 6px}
.auth .auth-lead{font-size:15px;color:var(--fw-muted);margin:0 0 6px;line-height:1.45}
/* #663 LD-2: the 18+ / Terms box (public/js/consent.js). The whole line is the tap target; the two links are 44px tall too. */
.auth label.age-ok{display:flex;align-items:flex-start;gap:10px;min-height:44px;margin:16px 2px 6px;font:400 15px/1.45 var(--fw-sans);letter-spacing:normal;text-transform:none;color:var(--fw-ink)}
.auth .age-ok input{flex:none;display:inline-block;width:24px;height:24px;min-height:0;padding:0;margin:10px 0 0;border-radius:4px}
.auth .age-ok span{padding-top:9px}
.auth .age-ok-link{display:inline-block;min-height:44px;line-height:44px;margin:-12px 0;padding:0 2px;color:inherit;text-decoration:underline;text-underline-offset:2px;font-weight:600}
.auth .fw-btn:disabled{opacity:1;background:#EFE3BF;color:#16201A;box-shadow:none;cursor:not-allowed}
.auth label{display:block;font:700 12px/1.2 var(--fw-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--fw-label);margin:18px 2px 8px}
.auth input{display:block;width:100%;min-height:52px;padding:0 16px;border:1px solid var(--fw-line-strong);border-radius:12px;background:#fff;color:var(--fw-ink);font:17px var(--fw-sans)}
.auth input:focus{outline:3px solid #1F4FB8;outline-offset:1px}
.auth input::placeholder{color:#6A675D}
.auth input[aria-invalid="true"]{border:2px solid #921A1A}
.auth .fw-btn{width:100%;margin-top:24px;cursor:pointer}
.auth .auth-note{text-align:center;font-size:15px;color:var(--fw-muted);margin:16px 8px 0}
.auth .notice{margin:22px 2px 0}
/* #764 email sign-in, username and create-your-player cards (folds #731) */
.auth .auth-card2{margin-top:12px}
.auth .em-more{display:grid;gap:10px;margin-top:12px}
.auth .em-more .btn,.auth .acct-out,.auth #email-in{min-height:44px}
.auth .acct-out{margin-top:12px}
.auth .em-addr,.fw-acct .acct-val{overflow-wrap:anywhere}
.fw-acct .acct-val{text-align:right}
.auth .un-hint{text-align:left;margin:8px 2px 0;font-size:15px}
.auth .un-terms{text-align:left;font-size:15px;display:flex;gap:8px;align-items:flex-start}
.auth .un-terms .nr3-info{flex:none;width:18px;height:18px;margin-top:2px}
/* ---- Designer review home-v22-48f9b81 fixes ---- */
/* Blocker 2: sign-in / invite tip is plain text under a hairline (not the blue .notice.info box) */
.auth .auth-tip{margin:22px 2px 0;padding:14px 16px;border-top:1px solid var(--fw-line);font-size:14px;line-height:1.5;color:var(--fw-muted)}
.auth .auth-tip b{color:var(--fw-ink)}
/* #5: Home a2hs tip "Got it" is a 44px target */
.hv2 #a2hsOk{min-height:44px}
/* B3.1: Settings "This device is" picker no longer clips at 320 — narrow phones stack the label over a full-width picker */
@media (max-width:359px){.fw-devrow{flex-wrap:wrap;row-gap:8px;padding:10px 12px}.fw-devrow label,.fw-devrow b{flex:1 0 100%}.fw-devrow select{max-width:none;flex:1 1 100%;min-width:0}.fw-devrow span{flex:1 1 100%;min-width:0;overflow-wrap:anywhere}.fw-devrow .fw-icon{top:auto;bottom:24px;right:26px}}
@media (max-width:359px){.fw-linkrow{flex-wrap:nowrap}.fw-linkrow .fw-lr{flex:1 1 auto}.fw-linkrow .fw-lr b{flex:none}}

/* Home v3 (Designer proto, Oct 28; reports/design/home-v3). Scoped by a new root modifier .hv3 on the
   existing <div class="hv2">; no class or id is renamed. Tokens only (home.css :root). */
/* hero: content-height, ~300px at 390 (was min 410px) */
.hv3 .fw-hero{min-height:0;padding:calc(env(safe-area-inset-top) + 8px) var(--fw-gutter) 46px}
.hv3 .hero-title{font:600 34px/1.08 var(--fw-serif);margin:10px 0 4px}
.hv3 .greet{font:500 22px/1.3 var(--fw-serif);margin:0}
/* hero subline REMOVED (Ben 14:40Z): hero = title, greeting, button (+ secondary link) */
/* state-driven CTA: label + supporting line inside one 56px gold pill (motion "+" refinement colours, 7.35:1) */
.hv3 .hero-cta{display:flex;width:100%;justify-content:space-between;align-items:center;text-align:left;margin-top:16px;min-height:56px;padding:7px 18px 7px 24px;border-radius:28px;background:#D4B05A;color:#152A1E;box-shadow:inset 0 0 0 1px rgba(21,42,30,.22),inset 0 1px 0 rgba(255,253,247,.55),0 1px 2px rgba(12,28,19,.35),0 6px 14px rgba(12,28,19,.22);text-decoration:none}
.hv3 .hero-cta .ct{display:flex;flex-direction:column;min-width:0;flex:1}
.hv3 .hero-cta .ct b{font:700 17px/1.2 var(--fw-sans)}
.hv3 .hero-cta .ct span{font:500 14px/1.3 var(--fw-sans);overflow-wrap:break-word}
.hv3 .sub2{margin-top:2px}
.hv3 .sub2:empty{display:none}
body.sun .hv3 .hero-cta{background:#fff;color:#000;box-shadow:none}
/* sheet */
.hv3 .fw-sheet{padding-top:20px}
.hv3 .fw-h2{font-size:24px}
.hv3 .sec{margin-top:18px}.hv3 .fw-sheet>.sec:first-child{margin-top:0}
.hv3 .secsub{margin-bottom:10px}
.hv3 .lr-take{display:block;margin:0 -6px;padding:12px 18px 2px;border-top:1px solid var(--fw-line);font:600 16px/1.4 var(--fw-sans);color:var(--fw-ink)}
.hv3 .lr-more{display:flex;align-items:center;gap:4px;min-height:44px;padding:0 12px;font:600 16px var(--fw-sans);color:var(--fw-green);text-decoration:none}
.hv3 .lr-more .fw-icon{width:18px;height:18px}
body.sun .hv3 .lr-more{color:#000;text-decoration:underline}
/* Your season: 3 stats, thin dividers */
.hv3 .season{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);padding:14px 0}
.hv3 .season .st{padding:0 8px;text-align:center;border-left:1px solid var(--fw-line);min-width:0}
.hv3 .season .st:first-child{border-left:0}
.hv3 .season .v{display:block;font:700 24px/1.15 var(--fw-sans);font-variant-numeric:tabular-nums lining-nums;color:var(--fw-ink)}
/* Home v3 money (Designer/Ben, DECISIONS.md): + green, − red on ivory; sun win #000; scoped to .hv3 only (other screens: later sweep) */
/* #500 Design: the win green is the settle-up green #17502F (#182), set on .hv3 only (home.css :root keeps main's --fw-plus);
   and only on the v3 sections (Last round .lr.v3, a new round's; This season), so an older round's Last Round table and the
   History cards keep main's colours exactly (Ben's "new rounds only"). */
.hv3{--hv3-win:#17502F;--hv3-loss:var(--fw-minus,#921A1A)}body.sun .hv3{--hv3-win:#000;--hv3-loss:#921A1A}
.hv3 .lr.v3 .fw-plus,.hv3 .tseason .fw-plus{color:var(--hv3-win)}.hv3 .lr.v3 .fw-minus,.hv3 .tseason .fw-minus,.hv3 .v.neg,.hv3 .srow2 .v.neg,.hv3 .lr-take .neg{color:var(--hv3-loss)}
.hv3 .fw-hero .fw-plus,.hv3 .fw-hero .fw-minus{color:var(--fw-on-hero,#F1E7CF)}
.hv3 .season .k{display:block;margin-top:5px;font:700 12px/1.3 var(--fw-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--fw-label)}
/* This season standings */
.hv3 .seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin:10px;padding:3px;border-radius:999px;background:var(--fw-bg);border:1px solid var(--fw-line)}
.hv3 .seg button{min-height:44px;border:0;border-radius:999px;background:transparent;font:600 15px/1.15 var(--fw-sans);color:var(--fw-ink);padding:0 4px}
.hv3 .seg button[aria-pressed="true"]{background:var(--fw-green);color:#FFFDF7}
body.sun .hv3 .seg{border-color:#000}body.sun .hv3 .seg button[aria-pressed="true"]{background:#000;color:#fff}
.hv3 .srow2{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;column-gap:8px;min-height:48px;padding:8px 16px 8px 14px;border-top:1px solid var(--fw-line)}
.hv3 .srow2 .r{color:var(--fw-muted);font:500 17px var(--fw-sans);font-variant-numeric:tabular-nums}
.hv3 .srow2 .n{font:600 17px/1.3 var(--fw-sans);overflow-wrap:break-word;min-width:0}
.hv3 .srow2 .n small{font:400 14px var(--fw-sans);color:var(--fw-muted)}
.hv3 .srow2 .v{font:700 17px var(--fw-sans);font-variant-numeric:tabular-nums lining-nums;text-align:right;white-space:nowrap}
.hv3 .srow2.me{background:var(--fw-leader)}
.hv3 .srow2.gap{border-top:1px dashed var(--fw-line)}
.hv3 .stand-note{margin:0;padding:10px 16px 12px;border-top:1px solid var(--fw-line);font-size:14px;line-height:1.45;color:var(--fw-muted)}
.hv3 .stand-nc{margin:0;padding:8px 16px 12px;border-top:1px solid var(--fw-line);font:500 14px/1.45 var(--fw-sans);color:var(--fw-muted)}
/* Players / Courses: kept, smaller, last (below This season + History) */
.hv3 .tiles{margin:20px 0 8px;gap:10px}
@media (max-width:359px){.hv3 .tiles{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.hv3 .tile{min-height:56px;padding:8px 6px 8px 12px;border-radius:14px;gap:8px}
.hv3 .tile>.fw-icon:first-child{width:22px;height:22px}
.hv3 .tile b{font-size:16px}
.hv3 .tile .t span{font-size:13px;margin-top:1px}
/* no tab bar on Home: drop the tab-bar reserve, keep the home-indicator safe area */
.hv2.hv3{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
/* leaves on the shorter hero: fall distance follows the hero (proposed motion.css change) */
/* (motion.css stays unchanged for its gzip budget: own keyframe, durations ×0.66 per Lead Dev) */
@keyframes hv3-fall{from{transform:translate3d(0,0,0) rotate(var(--r0))}to{transform:translate3d(var(--dx),var(--mo-fall,640px),0) rotate(var(--r1))}}
.hv3 .fw-hero>.mo-leaves{--mo-fall:420px}
.hv3 .fw-hero>.mo-leaves .lf{animation:hv3-fall calc(var(--d) * .66) linear calc(var(--dl) * .66) infinite}
.hv3 .fw-hero>.mo-leaves .lf>i{animation-duration:calc(var(--d) * .66 / 4);animation-delay:calc(var(--dl) * .66)}
.hv3 .fw-hero>.mo-leaves:not([data-m]){visibility:hidden}
/* Last round: Player | Gross | Net | Won. Raw strokes are ink (no under-par colour); tighter header tracking so 4 headers fit at 320 */
.hv3 .lr.v3 th{letter-spacing:.08em;padding-left:4px;padding-right:6px}
.hv3 .lr.v3 td.sc,.hv3 .lr.v3 td.np{color:var(--fw-ink);font-weight:600;font-variant-numeric:tabular-nums lining-nums}
.hv3 .lr.v3 td.w:empty::after{content:""}
/* #500 Design (320): ordinary names wrap only between words ("Bartholomew" stays whole). The name sits in .pln, an inline-block
   capped at the room the other columns leave (100vw minus gutters, card, rank and number columns): the name column is at least
   its longest word up to that cap (minmax(min-content,1fr)), and only a single word longer than the cap breaks, as a last
   resort (break-word). Below 390px the rank, number and header columns tighten and the name is 15px so ordinary first and last names fit whole. */
.hv3 .lr.v3 table{grid-template-columns:2.25rem minmax(min-content,1fr) auto auto auto}.hv3 .lr.v3 table.nomoney{grid-template-columns:2.25rem minmax(min-content,1fr) auto auto}
.hv3 .lr.v3 td.pl .pln{display:inline-block;max-width:calc(100vw - 265px);overflow-wrap:break-word;word-break:normal}
.hv3 .lr.v3 td.pl .pln .hy{white-space:nowrap} /* Lane R: "Montgomery-" stays together, the break comes after the hyphen (home.js nameHtml) */
@media (max-width:389px){
.hv3 .lr.v3 table{grid-template-columns:1.75rem minmax(min-content,1fr) auto auto auto}.hv3 .lr.v3 table.nomoney{grid-template-columns:1.75rem minmax(min-content,1fr) auto auto}
.hv3 .lr.v3 th{font-size:11px;letter-spacing:.02em;padding-left:2px;padding-right:3px}.hv3 .lr.v3 th.ph{padding-left:10px}
.hv3 .lr.v3 td{padding-left:3px;padding-right:3px}.hv3 .lr.v3 td.rk{padding-left:10px}.hv3 .lr.v3 td.pl{font-size:15px;padding-left:2px}
.hv3 .lr.v3 td.pl .pln{max-width:calc(100vw - 222px)}}
/* This season (merged): stats row, hairline, small picker, top 5 (+ you as 6th row) */
.hv3 .tseason{padding:0 0 4px}
.hv3 .tseason .season{padding:16px 0 14px}
.hv3 .season .ns{display:block;margin-top:2px;font:500 13px/1.3 var(--fw-sans);color:var(--fw-muted)}
.hv3 .hair{border:0;border-top:1px solid var(--fw-line);margin:0 14px}
.hv3 .shead{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:6px 10px 4px 16px}
.hv3 .shead>span{font:700 12px/1.2 var(--fw-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--fw-label)}
.hv3 .seg.sm{display:inline-grid;grid-template-columns:repeat(3,auto);margin:0;padding:2px}
.hv3 .seg.sm button{min-height:44px;padding:0 12px;font:600 14px/1 var(--fw-sans)}
.hv3 .srow2.me{background:var(--fw-leader)}
.hv3 .srow2-gap+.srow2.me{background:#EFE3BF} /* you, outside the top 5: pale gold 6th row */
.hv3 .srow2-gap{height:0;border-top:1px dashed var(--fw-line-strong,#CFC2A3)}
.hv3 .srow2-gap+.srow2{border-top:0}
body.sun .hv3 .srow2-gap+.srow2.me{background:#fff;box-shadow:inset 0 0 0 2px #000}

/* Home v3 hero r2 (Ben's ref ben-ref-motion.jpg, Designer gate Oct 28): lighter photo overlay, gold ring logo, serif gradient pill,
   ~50 small gold flecks over the whole hero (CSS only: box-shadow fields on each leaf's ::before/::after; no JS bytes), sheet slides up.
   Flecks: translate-only fall (field repeats every --mo-fall, 3 copies, so the loop is seamless); same opacity/colours as the leaves,
   r3 below: fields, opacity and mask. */
/* overlay zones: text rows (title, greet) get --hv3-ovD; the logo row and the button row/bottom (no text on the photo) get the lighter --hv3-ovL so the
   fairway reads; with a secondary link (Continue/Join) the bottom stays at --hv3-ovD because the link is hero text. Values measured (reports/home-v3/measure-*.txt). */
.hv3 .fw-hero{--hv3-ovD:.88;--hv3-ovL:.55;--hv3-ovE:calc(env(safe-area-inset-top) + 205px)}
.hv3 .fw-hero::before{background:linear-gradient(180deg,rgba(12,28,19,var(--hv3-ovL)) 0,rgba(12,28,19,var(--hv3-ovD)) calc(env(safe-area-inset-top) + 52px),rgba(12,28,19,var(--hv3-ovD)) var(--hv3-ovE),rgba(12,28,19,var(--hv3-ovL)) calc(var(--hv3-ovE) + 30px),rgba(12,28,19,var(--hv3-ovL)) 100%)}
.hv3 .fw-hero:has(.sub2 a)::before{background:linear-gradient(180deg,rgba(12,28,19,var(--hv3-ovL)) 0,rgba(12,28,19,var(--hv3-ovD)) calc(env(safe-area-inset-top) + 52px),rgba(12,28,19,var(--hv3-ovD)) 100%)}
.hv3 .brand .mk3{display:block;width:32px;height:32px;color:var(--fw-gold,#C9A24B)}
.hv3 .hero-title{font-size:38px;margin-top:14px}
@media (max-width:359px){.hv3 .hero-title{font-size:34px}}
.hv3 .hero-cta{display:inline-flex;width:auto;max-width:100%;gap:14px;white-space:normal;min-height:56px;padding:8px 22px 8px 26px;background:linear-gradient(180deg,#E8CD80 0%,#D4B05A 100%);color:#152A1E}
.hv3 .hero-cta .ct b{font:600 21px/1.2 var(--fw-serif)}
.hv3 .hero-cta.k-start .ct span{display:none}
.hv3 .hero-cta>.fw-icon{flex:none;width:22px;height:22px}
body.sun .hv3 .hero-cta{background:#fff}
.hv3 .fw-sheet{border-radius:28px 28px 0 0;animation:hv3-up .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes hv3-up{from{transform:translateY(56px)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.hv3 .fw-sheet{animation:none}}
@keyframes hv3-fall2{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,var(--mo-fall,420px),0)}}
.hv3 .fw-hero>.mo-leaves .lf{width:calc(var(--s) * .45);height:calc(var(--s) * .45);animation-name:hv3-fall2}
.hv3 .mo-leaves .lf::before,.hv3 .mo-leaves .lf::after{content:"";position:absolute;left:0;top:0;width:8px;height:5px;border-radius:0 80%}
.hv3 .mo-leaves .lf::after{width:5px;height:8px;border-radius:80% 0}
.hv3 .mo-leaves .lf:nth-child(even)::before{border-radius:80% 0}.hv3 .mo-leaves .lf:nth-child(3n)::after{border-radius:0 80%}
.hv3 .stand-note a{display:inline-block;min-height:44px;line-height:44px;text-decoration:underline;text-underline-offset:3px}

/* Home v3 r3 (Designer side-by-side gate on fbdf0c0): taller bottom-anchored hero, brighter flecks.
   Hero: min 340px (300px under 359px) + safe-area-top; the title block sits at the bottom (logo row keeps open photo below it);
   84px bottom padding = 56px pill-to-sheet + the sheet's 28px overlap. Start: the dark band is anchored from the bottom to the
   title/greet rows (room for a 2-line greeting); Continue/Join keeps the top-anchored band to the bottom (link is hero text). */
.hv3 .fw-hero{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;min-height:calc(env(safe-area-inset-top) + 340px);padding-bottom:84px}
@media (max-width:359px){.hv3 .fw-hero{min-height:calc(env(safe-area-inset-top) + 300px)}}
.hv3 .fw-hero>.topbar{align-self:stretch;margin-bottom:auto}
.hv3 .fw-hero:not(:has(.sub2 a))::before{background:linear-gradient(180deg,rgba(12,28,19,var(--hv3-ovL)) 0,rgba(12,28,19,var(--hv3-ovL)) calc(100% - 300px),rgba(12,28,19,var(--hv3-ovD)) calc(100% - 272px),rgba(12,28,19,var(--hv3-ovD)) calc(100% - 150px),rgba(12,28,19,var(--hv3-ovL)) calc(100% - 120px),rgba(12,28,19,var(--hv3-ovL)) 100%)}
/* Home v3 r4 (Ben via Boss, Oct 28 3:18 PM: "too animated"): tiny gold flakes drifting off the trees (ref ben-ref-motion.jpg).
   Flakes 3-5px (3x3 dots + spread 0-1px), leaf bodies shrunk to 4px; partial opacity (.9 x rgba .55-1), ~10% faint (.3-.42) + 1.5px blur.
   r4b (Designer 3:39 PM: mid frame read as almost none): 3px floor, .55-1 alpha, 10% faint, 64 positions (~1.33x count, ~50 at 390 mid frame).
   Motion: translate-only fall, 420px in d x 1.8 = 34-54s (8-12px/s); side drift = alternate +-5px sway on each field (seamless, no
   rotation on the fields); bodies sway +-4px / +-6deg. No tumbling (no rotate on the fall). 64 positions x 3 cycles.
   Upper weighting: second mask layer, full to 38% of the hero then .35 at 62% and .15 at the bottom; text bands thinned (--kt/--kg/--ks).
   They paint above the overlay (img z-2, overlay z-1, .mo-leaves z0, text z1). .mo-leaves.mo-leaves: motion.css loads after home.css.
   Colours stay at or darker than #C9A24B (the contrast probe's sheet colour). Gating (reduced motion, sun, low-core, hidden tab) is motion.js, unchanged. */
@keyframes hv3-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,var(--mo-fall,420px),0)}}
@keyframes hv3-sway{from{transform:translateX(-5px)}to{transform:translateX(5px)}}
@keyframes hv3-bsway{from{transform:translateX(-4px) rotate(-6deg)}to{transform:translateX(4px) rotate(6deg)}}
.hv3 .fw-hero>.mo-leaves.mo-leaves{--kt:.12;--kg:.1;--ks:.06;-webkit-mask-image:var(--mo-mask),linear-gradient(180deg,#000 38%,rgba(0,0,0,.35) 62%,rgba(0,0,0,.15) 100%);mask-image:var(--mo-mask),linear-gradient(180deg,#000 38%,rgba(0,0,0,.35) 62%,rgba(0,0,0,.15) 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
.hv3 .fw-hero:has(.livepill)>.mo-leaves.mo-leaves{--kg:.08}
.hv3 .fw-hero>.mo-leaves .lf{width:4px;height:4px;opacity:.9;animation:hv3-drift calc(var(--d) * 1.8) linear calc(var(--dl) * 1.8) infinite}
.hv3 .fw-hero>.mo-leaves .lf>i{animation:hv3-bsway calc(var(--d) * .5) ease-in-out var(--dl) infinite alternate}
.hv3 .mo-leaves .lf::before,.hv3 .mo-leaves .lf::after{width:3px;height:3px;border-radius:50%;animation:hv3-sway 13s ease-in-out var(--dl) infinite alternate}
.hv3 .mo-leaves .lf::after{animation-duration:17s;animation-direction:alternate-reverse}
.hv3 .mo-leaves.paused .lf::before,.hv3 .mo-leaves.paused .lf::after{animation-play-state:paused}
.hv3 .mo-leaves .lf:nth-child(1)::before{box-shadow:65vw -233px 0 0px rgba(201,162,75,0.92),65vw 187px 0 0px rgba(201,162,75,0.92),65vw 607px 0 0px rgba(201,162,75,0.92),21vw -297px 0 0px rgba(201,162,75,0.75),21vw 123px 0 0px rgba(201,162,75,0.75),21vw 543px 0 0px rgba(201,162,75,0.75),74vw -99px 0 0px rgba(201,162,75,0.98),74vw 321px 0 0px rgba(201,162,75,0.98),74vw 741px 0 0px rgba(201,162,75,0.98),-2vw -135px 0 0px rgba(201,162,75,0.99),-2vw 285px 0 0px rgba(201,162,75,0.99),-2vw 705px 0 0px rgba(201,162,75,0.99)}.hv3 .mo-leaves .lf:nth-child(1)::after{box-shadow:34vw -3px 0 0px rgba(201,162,75,0.81),34vw 417px 0 0px rgba(201,162,75,0.81),34vw 837px 0 0px rgba(201,162,75,0.81),-1vw -56px 0 0px rgba(201,162,75,0.72),-1vw 364px 0 0px rgba(201,162,75,0.72),-1vw 784px 0 0px rgba(201,162,75,0.72),62vw -121px 0 1px rgba(208,138,46,0.9),62vw 299px 0 1px rgba(208,138,46,0.9),62vw 719px 0 1px rgba(208,138,46,0.9),37vw -379px 0 0px rgba(201,162,75,0.86),37vw 41px 0 0px rgba(201,162,75,0.86),37vw 461px 0 0px rgba(201,162,75,0.86)}
.hv3 .mo-leaves .lf:nth-child(2)::before{box-shadow:-5vw -360px 0 1px rgba(201,162,75,0.68),-5vw 60px 0 1px rgba(201,162,75,0.68),-5vw 480px 0 1px rgba(201,162,75,0.68),-15vw -381px 0 1px rgba(201,162,75,0.74),-15vw 39px 0 1px rgba(201,162,75,0.74),-15vw 459px 0 1px rgba(201,162,75,0.74),29vw -116px 0 .5px rgba(208,138,46,0.7),29vw 304px 0 .5px rgba(208,138,46,0.7),29vw 724px 0 .5px rgba(208,138,46,0.7),2vw -64px 1.5px 0 rgba(208,138,46,0.41),2vw 356px 1.5px 0 rgba(208,138,46,0.41),2vw 776px 1.5px 0 rgba(208,138,46,0.41)}.hv3 .mo-leaves .lf:nth-child(2)::after{box-shadow:-18vw -78px 0 1px rgba(208,138,46,0.68),-18vw 342px 0 1px rgba(208,138,46,0.68),-18vw 762px 0 1px rgba(208,138,46,0.68),74vw -27px 0 0px rgba(201,162,75,0.77),74vw 393px 0 0px rgba(201,162,75,0.77),74vw 813px 0 0px rgba(201,162,75,0.77),68vw -215px 0 1px rgba(208,138,46,0.59),68vw 205px 0 1px rgba(208,138,46,0.59),68vw 625px 0 1px rgba(208,138,46,0.59),5vw -71px 0 .5px rgba(208,138,46,0.87),5vw 349px 0 .5px rgba(208,138,46,0.87),5vw 769px 0 .5px rgba(208,138,46,0.87)}
.hv3 .mo-leaves .lf:nth-child(3)::before{box-shadow:27vw -301px 0 0px rgba(201,162,75,0.62),27vw 119px 0 0px rgba(201,162,75,0.62),27vw 539px 0 0px rgba(201,162,75,0.62),56vw -147px 0 .5px rgba(208,138,46,0.55),56vw 273px 0 .5px rgba(208,138,46,0.55),56vw 693px 0 .5px rgba(208,138,46,0.55),47vw -12px 0 0px rgba(201,162,75,0.76),47vw 408px 0 0px rgba(201,162,75,0.76),47vw 828px 0 0px rgba(201,162,75,0.76),-24vw -323px 0 1px rgba(201,162,75,0.84),-24vw 97px 0 1px rgba(201,162,75,0.84),-24vw 517px 0 1px rgba(201,162,75,0.84)}.hv3 .mo-leaves .lf:nth-child(3)::after{box-shadow:36vw -420px 0 .5px rgba(201,162,75,0.82),36vw 0 0px .5px rgba(201,162,75,0.82),36vw 420px 0 .5px rgba(201,162,75,0.82),-20vw -106px 0 0px rgba(201,162,75,0.58),-20vw 314px 0 0px rgba(201,162,75,0.58),-20vw 734px 0 0px rgba(201,162,75,0.58),49vw -171px 0 .5px rgba(201,162,75,0.76),49vw 249px 0 .5px rgba(201,162,75,0.76),49vw 669px 0 .5px rgba(201,162,75,0.76),10vw -245px 0 0px rgba(201,162,75,0.61),10vw 175px 0 0px rgba(201,162,75,0.61),10vw 595px 0 0px rgba(201,162,75,0.61)}
.hv3 .mo-leaves .lf:nth-child(4)::before{box-shadow:-5vw -235px 0 0px rgba(201,162,75,0.64),-5vw 185px 0 0px rgba(201,162,75,0.64),-5vw 605px 0 0px rgba(201,162,75,0.64),31vw -64px 1.5px .5px rgba(201,162,75,0.42),31vw 356px 1.5px .5px rgba(201,162,75,0.42),31vw 776px 1.5px .5px rgba(201,162,75,0.42),-3vw -143px 0 .5px rgba(201,162,75,0.9),-3vw 277px 0 .5px rgba(201,162,75,0.9),-3vw 697px 0 .5px rgba(201,162,75,0.9),-10vw -42px 0 0px rgba(208,138,46,0.91),-10vw 378px 0 0px rgba(208,138,46,0.91),-10vw 798px 0 0px rgba(208,138,46,0.91)}.hv3 .mo-leaves .lf:nth-child(4)::after{box-shadow:-15vw -179px 0 0px rgba(208,138,46,1.0),-15vw 241px 0 0px rgba(208,138,46,1.0),-15vw 661px 0 0px rgba(208,138,46,1.0),36vw -242px 0 1px rgba(201,162,75,0.91),36vw 178px 0 1px rgba(201,162,75,0.91),36vw 598px 0 1px rgba(201,162,75,0.91),-9vw -316px 0 0px rgba(208,138,46,0.76),-9vw 104px 0 0px rgba(208,138,46,0.76),-9vw 524px 0 0px rgba(208,138,46,0.76),-22vw -244px 0 0px rgba(201,162,75,0.77),-22vw 176px 0 0px rgba(201,162,75,0.77),-22vw 596px 0 0px rgba(201,162,75,0.77)}
.hv3 .mo-leaves .lf:nth-child(5)::before{box-shadow:-31vw -176px 0 1px rgba(201,162,75,0.9),-31vw 244px 0 1px rgba(201,162,75,0.9),-31vw 664px 0 1px rgba(201,162,75,0.9),-18vw -218px 0 0px rgba(201,162,75,0.91),-18vw 202px 0 0px rgba(201,162,75,0.91),-18vw 622px 0 0px rgba(201,162,75,0.91),-41vw -406px 1.5px 0 rgba(201,162,75,0.32),-41vw 14px 1.5px 0 rgba(201,162,75,0.32),-41vw 434px 1.5px 0 rgba(201,162,75,0.32),31vw -178px 0 0px rgba(201,162,75,0.83),31vw 242px 0 0px rgba(201,162,75,0.83),31vw 662px 0 0px rgba(201,162,75,0.83)}.hv3 .mo-leaves .lf:nth-child(5)::after{box-shadow:-52vw -88px 0 0px rgba(201,162,75,0.56),-52vw 332px 0 0px rgba(201,162,75,0.56),-52vw 752px 0 0px rgba(201,162,75,0.56),26vw -406px 0 0px rgba(201,162,75,0.92),26vw 14px 0 0px rgba(201,162,75,0.92),26vw 434px 0 0px rgba(201,162,75,0.92),11vw -353px 0 .5px rgba(208,138,46,0.67),11vw 67px 0 .5px rgba(208,138,46,0.67),11vw 487px 0 .5px rgba(208,138,46,0.67),26vw -354px 0 1px rgba(201,162,75,0.92),26vw 66px 0 1px rgba(201,162,75,0.92),26vw 486px 0 1px rgba(201,162,75,0.92)}
.hv3 .mo-leaves .lf:nth-child(6)::before{box-shadow:-61vw -418px 1.5px 1px rgba(201,162,75,0.39),-61vw 2px 1.5px 1px rgba(201,162,75,0.39),-61vw 422px 1.5px 1px rgba(201,162,75,0.39),-43vw -71px 0 0px rgba(208,138,46,0.8),-43vw 349px 0 0px rgba(208,138,46,0.8),-43vw 769px 0 0px rgba(208,138,46,0.8),-60vw -293px 0 0px rgba(201,162,75,0.95),-60vw 127px 0 0px rgba(201,162,75,0.95),-60vw 547px 0 0px rgba(201,162,75,0.95),-11vw -194px 1.5px 1px rgba(201,162,75,0.37),-11vw 226px 1.5px 1px rgba(201,162,75,0.37),-11vw 646px 1.5px 1px rgba(201,162,75,0.37)}.hv3 .mo-leaves .lf:nth-child(6)::after{box-shadow:19vw -160px 0 0px rgba(208,138,46,0.86),19vw 260px 0 0px rgba(208,138,46,0.86),19vw 680px 0 0px rgba(208,138,46,0.86),-63vw -191px 0 .5px rgba(201,162,75,0.97),-63vw 229px 0 .5px rgba(201,162,75,0.97),-63vw 649px 0 .5px rgba(201,162,75,0.97),-8vw -383px 0 0px rgba(208,138,46,0.85),-8vw 37px 0 0px rgba(208,138,46,0.85),-8vw 457px 0 0px rgba(208,138,46,0.85),-2vw -82px 0 0px rgba(201,162,75,0.97),-2vw 338px 0 0px rgba(201,162,75,0.97),-2vw 758px 0 0px rgba(201,162,75,0.97)}
.hv3 .mo-leaves .lf:nth-child(7)::before{box-shadow:-14vw -217px 0 1px rgba(201,162,75,0.65),-14vw 203px 0 1px rgba(201,162,75,0.65),-14vw 623px 0 1px rgba(201,162,75,0.65),-52vw -157px 0 0px rgba(208,138,46,0.62),-52vw 263px 0 0px rgba(208,138,46,0.62),-52vw 683px 0 0px rgba(208,138,46,0.62),-9vw -247px 0 0px rgba(201,162,75,0.87),-9vw 173px 0 0px rgba(201,162,75,0.87),-9vw 593px 0 0px rgba(201,162,75,0.87),-74vw -158px 1.5px .5px rgba(208,138,46,0.36),-74vw 262px 1.5px .5px rgba(208,138,46,0.36),-74vw 682px 1.5px .5px rgba(208,138,46,0.36)}.hv3 .mo-leaves .lf:nth-child(7)::after{box-shadow:-54vw -377px 0 0px rgba(201,162,75,0.99),-54vw 43px 0 0px rgba(201,162,75,0.99),-54vw 463px 0 0px rgba(201,162,75,0.99),-21vw -74px 0 .5px rgba(208,138,46,0.89),-21vw 346px 0 .5px rgba(208,138,46,0.89),-21vw 766px 0 .5px rgba(208,138,46,0.89),-49vw -278px 0 1px rgba(201,162,75,0.87),-49vw 142px 0 1px rgba(201,162,75,0.87),-49vw 562px 0 1px rgba(201,162,75,0.87),0vw -96px 0 0px rgba(201,162,75,0.67),0vw 324px 0 0px rgba(201,162,75,0.67),0vw 744px 0 0px rgba(201,162,75,0.67)}
.hv3 .mo-leaves .lf:nth-child(8)::before{box-shadow:29vw -188px 0 0px rgba(201,162,75,0.58),29vw 232px 0 0px rgba(201,162,75,0.58),29vw 652px 0 0px rgba(201,162,75,0.58),53vw -151px 0 .5px rgba(201,162,75,0.83),53vw 269px 0 .5px rgba(201,162,75,0.83),53vw 689px 0 .5px rgba(201,162,75,0.83),-17vw -261px 0 .5px rgba(201,162,75,0.57),-17vw 159px 0 .5px rgba(201,162,75,0.57),-17vw 579px 0 .5px rgba(201,162,75,0.57),-28vw -282px 0 1px rgba(201,162,75,0.78),-28vw 138px 0 1px rgba(201,162,75,0.78),-28vw 558px 0 1px rgba(201,162,75,0.78)}.hv3 .mo-leaves .lf:nth-child(8)::after{box-shadow:22vw -138px 0 0px rgba(201,162,75,0.56),22vw 282px 0 0px rgba(201,162,75,0.56),22vw 702px 0 0px rgba(201,162,75,0.56),4vw -199px 0 1px rgba(201,162,75,0.6),4vw 221px 0 1px rgba(201,162,75,0.6),4vw 641px 0 1px rgba(201,162,75,0.6),-28vw -245px 0 .5px rgba(201,162,75,0.86),-28vw 175px 0 .5px rgba(201,162,75,0.86),-28vw 595px 0 .5px rgba(201,162,75,0.86),49vw -393px 0 0px rgba(208,138,46,0.73),49vw 27px 0 0px rgba(208,138,46,0.73),49vw 447px 0 0px rgba(208,138,46,0.73)}
/* Low core (hardwareConcurrency <= 4, no saveData; Designer 6:54 PM): motion.js keeps the first 6 of 8 leaves (~75%) and the faint blurred
   flakes drop out; saveData keeps 4 of 8. */
.hv3 .mo-leaves:has(>.lf:nth-child(6):last-child) .lf:nth-child(2)::before{box-shadow:-5vw -360px 0 1px rgba(201,162,75,0.68),-5vw 60px 0 1px rgba(201,162,75,0.68),-5vw 480px 0 1px rgba(201,162,75,0.68),-15vw -381px 0 1px rgba(201,162,75,0.74),-15vw 39px 0 1px rgba(201,162,75,0.74),-15vw 459px 0 1px rgba(201,162,75,0.74),29vw -116px 0 .5px rgba(208,138,46,0.7),29vw 304px 0 .5px rgba(208,138,46,0.7),29vw 724px 0 .5px rgba(208,138,46,0.7)}
.hv3 .mo-leaves:has(>.lf:nth-child(6):last-child) .lf:nth-child(4)::before{box-shadow:-5vw -235px 0 0px rgba(201,162,75,0.64),-5vw 185px 0 0px rgba(201,162,75,0.64),-5vw 605px 0 0px rgba(201,162,75,0.64),-3vw -143px 0 .5px rgba(201,162,75,0.9),-3vw 277px 0 .5px rgba(201,162,75,0.9),-3vw 697px 0 .5px rgba(201,162,75,0.9),-10vw -42px 0 0px rgba(208,138,46,0.91),-10vw 378px 0 0px rgba(208,138,46,0.91),-10vw 798px 0 0px rgba(208,138,46,0.91)}
.hv3 .mo-leaves:has(>.lf:nth-child(6):last-child) .lf:nth-child(5)::before{box-shadow:-31vw -176px 0 1px rgba(201,162,75,0.9),-31vw 244px 0 1px rgba(201,162,75,0.9),-31vw 664px 0 1px rgba(201,162,75,0.9),-18vw -218px 0 0px rgba(201,162,75,0.91),-18vw 202px 0 0px rgba(201,162,75,0.91),-18vw 622px 0 0px rgba(201,162,75,0.91),31vw -178px 0 0px rgba(201,162,75,0.83),31vw 242px 0 0px rgba(201,162,75,0.83),31vw 662px 0 0px rgba(201,162,75,0.83)}
.hv3 .mo-leaves:has(>.lf:nth-child(6):last-child) .lf:nth-child(6)::before{box-shadow:-43vw -71px 0 0px rgba(208,138,46,0.8),-43vw 349px 0 0px rgba(208,138,46,0.8),-43vw 769px 0 0px rgba(208,138,46,0.8),-60vw -293px 0 0px rgba(201,162,75,0.95),-60vw 127px 0 0px rgba(201,162,75,0.95),-60vw 547px 0 0px rgba(201,162,75,0.95)}
/* #382 first-run tour offer (flag tour, off): one line on Home after a fresh sign-in, a link to the tour and a 44px dismiss. Static. */
.hv2 .tour-offer{display:flex;align-items:center;gap:4px;margin:0 0 22px;padding:4px 4px 4px 16px}
.hv2 .tour-go{flex:1;min-width:0;min-height:44px;display:flex;align-items:center;font:600 17px/1.3 var(--fw-sans);color:var(--fw-green);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.hv2 .tour-x{flex:none;width:44px;height:44px;border:0;border-radius:999px;background:transparent;color:var(--fw-muted);font:400 26px/1 var(--fw-sans);cursor:pointer}
.hv2 .tour-x:focus-visible{outline:3px solid #1F4FB8;outline-offset:2px}
body.sun .hv2 .tour-go{color:#000}body.sun .hv2 .tour-x{color:#000}body.sun .hv2 .tour-x:focus-visible{outline-color:#000}
/* D11 install tip (#63): one dismissible line on Home v3, the tour offer's row style; 44px dismiss; static */
.hv2 .install-tip{display:flex;align-items:center;gap:4px;margin:0 0 22px;padding:4px 4px 4px 16px}
.hv2 .install-tip .it-t{flex:1;min-width:0;margin:0;padding:10px 0;font:500 15px/1.35 var(--fw-sans);color:var(--fw-ink)}
.hv2 .install-tip .it-t b{font-weight:700}
.hv2 .it-x{flex:none;width:44px;height:44px;border:0;border-radius:999px;background:transparent;color:var(--fw-muted);font:400 26px/1 var(--fw-sans);cursor:pointer}
.hv2 .it-x:focus-visible{outline:3px solid #1F4FB8;outline-offset:2px}
body.sun .hv2 .install-tip .it-t,body.sun .hv2 .it-x{color:#000}body.sun .hv2 .it-x:focus-visible{outline-color:#000}
/* #473 Home v3 Last round (new rounds): a short card's marker ("PU #3" / "17 holes") and the net-basis note */
.hv3 .lr.v3 .pl small.inc{display:block;font:500 12px/1.3 var(--fw-sans);color:var(--fw-muted);margin:2px 0 0;white-space:nowrap} /* under the name */
.hv3 .lr.v3 td.netnote{white-space:normal;font:500 13px/1.4 var(--fw-sans);color:var(--fw-muted);padding:8px 12px 10px;text-align:left}
body.sun .hv3 .lr.v3 .pl small.inc,body.sun .hv3 .lr.v3 td.netnote{color:#000}
