@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#16281a;--green:#1e4620;--green-pale:#e4ecdf;--gold:#b8952f;--gold-pale:#f6efd9;--card:#fffdf7;--ground:#e9e3d4;--rule:#d6cdb8;--muted:#6b6456;--rust:#9a3412;--head:"Oswald", "Arial Narrow", sans-serif;--body:"DM Sans", system-ui, sans-serif;--tap:52px;--dock-h:64px;--nav-h:72px}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--ground);-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font:16px/1.45 var(--body);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;padding-bottom:calc(var(--dock-h) + env(safe-area-inset-bottom));min-height:100dvh}body.has-hole-nav{padding-bottom:calc(var(--dock-h) + var(--nav-h) + env(safe-area-inset-bottom))}button,input,select{font:inherit;color:inherit}input,select,textarea{font-size:max(16px,1em)}button{cursor:pointer;touch-action:manipulation}table{border-collapse:collapse}td,th,.num,.step-val,.result,.chs,.nav-meta,.kv{font-variant-numeric:tabular-nums}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}#app{max-width:640px;margin:0 auto}.test-banner{z-index:30;background:var(--rust);color:#fff;font:600 15px/1 var(--head);letter-spacing:.12em;text-align:center;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;position:sticky;top:0}.top{background:var(--ink);color:var(--gold-pale);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.test-banner+.top{padding-top:12px}.top:first-child{padding-top:calc(12px + env(safe-area-inset-top))}.brand{font:600 20px/1 var(--head);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:10px;display:flex}.brand-mark{background:url(/app/icons/icon.svg) 50%/contain no-repeat;width:22px;height:22px}.sync{color:var(--gold-pale);align-items:center;gap:8px;font-size:14px;display:flex}.dot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.dot-local{background:var(--gold)}.dot-live{background:#5fb35a}.dot-bad{background:#ff6b4a}.view{padding:12px 12px 16px}.stack{flex-direction:column;gap:12px;display:flex}.dock{z-index:20;background:var(--card);border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #16281a14}.dock>*{max-width:640px;margin:0 auto}.tabs{height:var(--dock-h);grid-template-columns:repeat(4,1fr);display:grid}.tabs button{font:500 16px/1 var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:0 0;border:0;border-top:3px solid #0000}.tabs button.on{color:var(--green);border-top-color:var(--gold);background:var(--green-pale)}.hole-nav{height:var(--nav-h);border-bottom:1px solid var(--rule);background:var(--gold-pale);grid-template-columns:80px 1fr 80px;align-items:center;display:grid}.nav-btn{background:var(--green);color:#fff;height:100%;font:600 40px/1 var(--head);border:0}.nav-btn:disabled{background:var(--rule);color:var(--muted)}.nav-mid{text-align:center}.nav-hole{font:600 24px/1.1 var(--head);color:var(--ink);text-transform:uppercase;letter-spacing:.04em}.nav-meta{color:var(--ink);font-size:15px}h2{font:600 22px/1.2 var(--head);text-transform:uppercase;letter-spacing:.04em;color:var(--green);margin-bottom:8px}h3{font:600 17px/1.2 var(--head);text-transform:uppercase;letter-spacing:.06em;color:var(--green);margin-bottom:10px}.muted{color:var(--muted)}.small{margin-top:10px;font-size:14px}.warn{color:var(--rust);font-weight:700}.strong{font-weight:700}code{background:var(--ground);border-radius:4px;padding:2px 6px;font-size:14px}.panel,.notice{background:var(--card);border:1px solid var(--rule);border-radius:10px;padding:16px}.notice{border-color:var(--gold);background:var(--gold-pale)}.notice p+p{margin-top:8px}.seg{background:var(--card);border:1px solid var(--rule);border-radius:10px;gap:4px;padding:4px;display:flex}.seg button{min-height:48px;font:600 18px/1 var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:0 0;border:0;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:8px;display:inline-flex}.seg button.on{background:var(--green);color:#fff}.seg-sm button{min-height:48px;font-size:16px}.chip{border-radius:6px;padding:3px 8px;font-size:13px;font-weight:700}.chip-warn{background:var(--gold-pale);color:var(--rust);border:1px solid var(--gold)}.btn{min-height:var(--tap);background:var(--green);color:#fff;font:600 17px/1 var(--head);letter-spacing:.06em;text-transform:uppercase;border:0;border-radius:10px;margin-top:8px;padding:0 20px}.btn-danger{background:var(--rust)}.danger{border-color:#d9b3a4}.swatch{border:2px solid var(--ink);border-radius:50%;width:16px;height:16px}.swatch-yellow{background:#f2c500}.swatch-white{background:#fff}.course-line{flex-direction:column;gap:0;padding:0 2px;font-size:15px;line-height:1.35;display:flex}.course-line .chip{align-self:flex-start;margin-top:4px}.rows{flex-direction:column;gap:8px;display:flex}.row{background:var(--card);border:1px solid var(--rule);border-radius:10px;grid-template-columns:minmax(0,1fr) auto 58px;align-items:center;gap:10px;padding:8px 8px 8px 12px;display:grid}.who{min-width:0}.name{text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:700;overflow:hidden}.name.wrap{white-space:normal;line-height:1.2}.sub{color:var(--muted);align-items:center;gap:6px;margin-top:2px;font-size:14px;display:flex}.pill{font:600 14px/1 var(--head);text-align:center;border-radius:99px;min-width:32px;padding:4px 8px}.pill-0{background:var(--ground);color:var(--muted)}.pill-1{background:var(--green-pale);color:var(--green);border:1px solid var(--green)}.pill-2{background:var(--green);color:#fff}.pill-3{background:var(--gold);color:var(--ink)}.stepper{align-items:center;display:flex}.step{width:var(--tap);height:var(--tap);background:var(--green);color:#fff;font:600 28px/1 var(--head);border:0}.step:first-child{border-radius:10px 0 0 10px}.step:last-child{border-radius:0 10px 10px 0}.step:active{background:var(--ink)}.step-val{width:52px;height:var(--tap);border:2px solid var(--green);text-align:center;font:600 28px/1 var(--head);color:var(--ink);background:#fff;border-left:0;border-right:0;border-radius:0}.step-val::placeholder{color:var(--rule)}.result{text-align:center;flex-direction:column;line-height:1;display:flex}.result b{font:600 28px/1 var(--head)}.result small{color:var(--muted);margin-top:3px;font-size:12px}.result.good b{color:var(--green)}.result.bad b{color:var(--rust)}.result.muted{font:600 24px/1 var(--head)}.drive+.drive{border-top:1px dashed var(--rule);margin-top:14px;padding-top:14px}.drive-count{flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:15px;display:flex}.drive-count span.done{color:var(--green);font-weight:700}.drive-count.tight strong{color:#8a5a00}.drive-count.short strong{color:var(--rust)}.drive-count strong{width:100%}.tbl{width:100%;font-size:15px}.tbl th{font:500 13px/1 var(--head);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:center;border-bottom:1px solid var(--rule);padding:6px}.tbl td{text-align:center;border-bottom:1px solid var(--ground);padding:9px 6px}.tbl .l{text-align:left}.tbl tr:last-child td{border-bottom:0}.scroll-x{overflow-x:auto}.cup td.strong{font:600 20px/1 var(--head);color:var(--green)}.status{gap:4px;margin-top:12px;font-size:14px;list-style:none;display:grid}.select{border:1px solid var(--rule);background:#fff;border-radius:8px;width:100%;min-height:48px;padding:0 10px}.side td{padding:6px 4px}.card-scroll{background:var(--card);border:1px solid var(--rule);-webkit-overflow-scrolling:touch;border-radius:10px;overflow-x:auto}.scard{white-space:nowrap;font-size:15px}.scard th,.scard td{text-align:center;border-bottom:1px solid var(--ground);min-width:34px;padding:8px 6px}.scard .sticky{z-index:1;background:var(--card);text-align:left;text-overflow:ellipsis;border-right:2px solid var(--rule);min-width:108px;max-width:128px;position:sticky;left:0;overflow:hidden}.scard th.sticky small{color:var(--muted);font-size:12px;font-weight:400;display:block}.scard .hole-row th{background:var(--ink);color:var(--gold-pale);font:600 15px/1 var(--head)}.scard .hole-row th.sticky{background:var(--ink)}.scard .hole-row th.cur{background:var(--gold);color:var(--ink)}.scard .info td,.scard .info th{color:var(--muted);font-size:13px}.scard .sum{background:var(--green-pale);font-weight:700}.scard .drives td,.scard .drives th{color:var(--muted);padding-top:2px;font-size:12px}.scard td.birdie{box-shadow:inset 0 0 0 2px var(--green);border-radius:50%}.scard td.eagle{box-shadow:inset 0 0 0 2px var(--green), inset 0 0 0 4px #fff, inset 0 0 0 6px var(--green);border-radius:50%}.scard td.bogey{box-shadow:inset 0 0 0 2px var(--rule)}.scard td.double{box-shadow:inset 0 0 0 2px var(--rust)}.player-edit{border-top:1px solid var(--ground);padding:12px 0}.player-edit:first-of-type{border-top:0}.fields{gap:10px;display:flex}.field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.field.grow{flex:1;min-width:0}.field.idx{width:92px}.input{border:1px solid var(--rule);min-height:50px;color:var(--ink);background:#fff;border-radius:8px;width:100%;padding:0 12px;font-size:18px}.input.num{text-align:center;font-weight:700}.chs{color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:14px;display:flex}.chs b{color:var(--ink);font-size:16px}.pairings{flex-direction:column;gap:8px;display:flex}.pairing{text-align:left;border:2px solid var(--rule);background:#fff;border-radius:10px;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;min-height:64px;padding:10px 12px;font-size:15px;display:grid}.pairing span{flex-direction:column;display:flex}.pairing b{font:600 18px/1.2 var(--head);color:var(--green)}.pairing .vs{color:var(--muted);text-transform:uppercase;font-size:13px}.pairing.on{border-color:var(--green);background:var(--green-pale)}.kv{grid-template-columns:auto 1fr;gap:6px 12px;margin-top:10px;font-size:15px;display:grid}.kv dt{color:var(--muted)}@media (width<=360px){:root{--tap:46px}.step-val{width:44px}.row{grid-template-columns:minmax(0,1fr) auto 48px;gap:6px;padding-left:10px}}
