:root{--bg:#0f2a1e;--surface:#16382a;--surface2:#1d4535;--border:#2a5a44;--border-strong:#4a7a62;--text:#f4f1e8;--muted:#a8cdb6;--gold:#e9b949;--ink:#1a1a10;--green:#7be0a0;--red:#ff9a8b;--danger:#e5604f;--r-ctl:12px;--r-card:16px;--tabbar:64px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.4;-webkit-text-size-adjust:100%}body{min-height:100dvh}button,input,select{font-family:inherit}button{cursor:pointer;color:var(--text);touch-action:manipulation}a{color:var(--gold)}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}input:focus-visible,select:focus-visible{outline-offset:0}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.app{max-width:480px;margin:0 auto;min-height:100dvh;padding:calc(16px + var(--safe-t)) 16px calc(24px + var(--safe-b));display:flex;flex-direction:column;gap:12px}.app.hastabs{padding-bottom:calc(var(--tabbar) + 24px + var(--safe-b))}.row{display:flex;align-items:center;gap:10px}.grow{flex:1 1;min-width:0}.stack{display:flex;flex-direction:column;gap:12px}.h1{font-size:32px;line-height:1.05}.h1,.h2{font-family:Barlow Condensed,Arial Narrow,sans-serif;font-weight:700;margin:0}.h2{font-size:26px;line-height:1.1}.h3{font-size:17px;font-weight:700;line-height:1.2;margin:0}.label,.muted{color:var(--muted);font-size:14px}.label{font-weight:600;margin-top:8px}.big{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:28px;line-height:1}.screenhead{gap:12px;min-height:48px}.screenhead,.sectiontitle{display:flex;align-items:center}.sectiontitle{justify-content:space-between;margin-top:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:14px 16px}.card.hot{border:2px solid var(--gold)}.list{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden}.list>*+*{border-top:1px solid var(--border)}.listrow{color:var(--text);display:flex;gap:12px;min-height:60px;padding:10px 16px;width:100%;text-align:left;background:none;border:0;border-radius:0}.btn,.listrow{font-size:16px;align-items:center}.btn{min-height:52px;border-radius:var(--r-card);border:1.5px solid var(--border-strong);background:transparent;font-weight:600;padding:0 18px;display:inline-flex;justify-content:center;gap:8px;text-decoration:none}.btn.gold,.btn.light{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:700;font-size:17px}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:700}.btn:disabled{opacity:1;background:var(--surface);border-color:var(--border);color:#7f9d8b;cursor:not-allowed}.btn.block{width:100%}.textbtn{background:transparent;border:1.5px solid var(--gold);border-radius:10px;color:var(--gold);font-size:15px;font-weight:600;min-height:44px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center}.textbtn.quiet{color:var(--muted);border-color:var(--border-strong)}.icon{width:44px;height:44px;border-radius:22px;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;padding:0;flex:none}.input{height:48px;border-radius:var(--r-ctl);background:var(--bg);border:1px solid var(--border-strong);color:var(--text);font-size:16px;padding:0 12px;width:100%}.input::placeholder{color:#7f9d8b}.chip{min-height:40px;border-radius:10px;background:var(--surface2);border:1px solid var(--border);font-size:14px;font-weight:600;padding:0 12px;display:inline-flex;align-items:center;justify-content:center}.chip.on{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:700}.chip.out{background:transparent;border:1.5px solid var(--gold);color:var(--gold);font-weight:700}.holes{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));grid-gap:6px;gap:6px;justify-items:center}.holestrip{display:flex;gap:8px;overflow-x:auto;padding:4px 2px;scroll-snap-type:x proximity;scrollbar-width:none;margin:0 -16px;padding-inline:16px}.holestrip::-webkit-scrollbar{display:none}.holestrip .hole{flex:none;width:40px;height:40px;border-radius:20px;scroll-snap-align:center}.hole{width:36px;height:36px;border-radius:18px;padding:0;font-size:15px;font-weight:600;background:transparent;border:2px solid var(--border);color:var(--muted)}.hole.done{background:#2f6e4f;border-color:#2f6e4f;color:var(--text);font-weight:700}.hole.cur{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:700}.hole.edited{box-shadow:0 0 0 2px var(--gold)}.player{display:flex;align-items:center;gap:8px;min-height:60px;padding:6px 10px 6px 12px;background:var(--surface);border-radius:14px;border-left:4px solid var(--border)}.player.win{border-left-color:var(--green)}.player.lose{border-left-color:var(--red)}.step{width:44px;height:44px;border-radius:22px;background:var(--bg);border:1px solid var(--border-strong);font-size:20px;padding:0}.score{width:28px;text-align:center;font-family:Barlow Condensed,sans-serif;font-size:30px}.money,.score{font-weight:700}.money{min-width:56px;text-align:right;font-size:17px}.pos{color:var(--green)}.neg{color:var(--red)}.tag{font-size:12px;font-weight:700;padding:2px 6px;border-radius:6px;background:var(--gold);color:var(--ink);margin-left:6px}.tag.out{background:transparent;border:1px solid var(--gold);color:var(--gold)}.seg{display:flex;gap:4px;background:var(--bg);border-radius:var(--r-ctl);padding:4px}.seg button{flex:1 1;min-height:44px;border-radius:9px;border:0;background:transparent;font-size:14px;font-weight:600}.seg button.on{background:var(--text);color:var(--bg);font-weight:700}.opt{width:100%;text-align:left;border-radius:var(--r-card);background:var(--surface);border:1px solid var(--border);padding:10px 16px;display:flex;align-items:center;gap:12px;min-height:64px}.opt.on{background:var(--surface2);border:2px solid var(--gold)}.warn{background:#3a2f12;border:1px solid var(--gold);border-radius:var(--r-ctl);padding:10px 12px;font-size:14px}.sticky{position:-webkit-sticky;position:sticky;margin:0 -16px calc(-24px - var(--safe-b));padding:12px 16px calc(12px + var(--safe-b));gap:10px;z-index:5}.sticky,.tabbar{bottom:0;background:var(--bg);border-top:1px solid var(--border);display:flex}.tabbar{position:fixed;left:0;right:0;z-index:20;justify-content:center;padding-bottom:var(--safe-b)}.tabbar>*{flex:1 1;max-width:160px}.tab{height:var(--tabbar);background:none;border:0;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12px;font-weight:600}.tab.on{color:var(--gold)}.scrim{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.6);display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:480px;background:var(--surface);border:1px solid var(--border);border-radius:20px 20px 0 0;padding:20px 16px calc(20px + var(--safe-b));display:flex;flex-direction:column;gap:12px}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--tabbar) + 16px + var(--safe-b));z-index:70;background:var(--text);color:var(--bg);font-weight:600;font-size:15px;padding:12px 18px;border-radius:12px;max-width:calc(100vw - 32px)}.scorepad{display:flex;gap:6px}.scorebtn{flex:1 1;min-width:0;height:52px;border-radius:var(--r-ctl);font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:26px;background:var(--bg);color:var(--text);border:1px solid var(--border-strong);padding:0}.scorebtn.on{background:var(--gold);color:var(--ink);border:2px solid var(--gold)}