:root{--bg:#06120d;--ink:#f2f6f0;--muted:#9db2a5;--faint:#6c8476;--glass:#08140ea8;--glass-strong:#08130ed1;--line:#ffffff17;--line-strong:#ffffff2e;--accent:#d6f25c;--accent-ink:#13210b;--green:#3ddc84;--gold:#f5c451;--red:#ff6b6b;--blue:#5ec8ff;--radius:18px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--font:"SF Pro Display", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI Variable Display", "Segoe UI", Inter, Roboto, system-ui, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}body{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit;color:inherit}svg{width:1em;height:1em}.hidden{display:none!important}#scene{width:100vw;height:100vh;display:block;position:fixed;inset:0}.shade{pointer-events:none;background:radial-gradient(120% 90% at 85% 40%,#0000 30%,#030a078c 100%),linear-gradient(90deg,#030b08e6 0%,#030b088c 32%,#030b080d 70%);transition:opacity .6s;position:fixed;inset:0}body.in-game .shade{opacity:0}.btn{border:1px solid var(--line-strong);cursor:pointer;letter-spacing:.01em;background:#ffffff0f;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:background .15s,transform .15s,border-color .15s;display:inline-flex}.btn:hover{background:#ffffff1f}.btn:active{transform:scale(.97)}.btn svg{width:18px;height:18px}.btn.primary{color:var(--accent-ink);background:linear-gradient(#e2fb72,#c3e642);border-color:#0000;box-shadow:0 8px 24px #c8f05040}.btn.primary:hover{filter:brightness(1.05)}.btn.ghost{background:0 0}.btn.wide{width:100%;padding:13px;font-size:15px}.btn kbd{font:600 11px var(--font);background:#00000026;border-radius:6px;padding:2px 6px}.icon-btn{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(16px);cursor:pointer;border-radius:50%;place-items:center;width:42px;height:42px;transition:background .15s,transform .15s;display:inline-grid}.icon-btn:hover{background:#1e3228bf}.icon-btn:active{transform:scale(.94)}.icon-btn svg{width:20px;height:20px}.icon-btn.small{width:34px;height:34px}.icon-btn.small svg{width:16px;height:16px}.icon-btn.on{background:var(--accent);color:var(--accent-ink);border-color:#0000}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line-strong);cursor:pointer;background:#ffffff0a;border-radius:999px;padding:9px 14px;font-size:14px;font-weight:500;transition:all .15s}.chip:hover{background:#ffffff1a}.chip.on{background:var(--ink);color:#0b1a12;border-color:#0000;font-weight:650}.dot{background:var(--faint);border-radius:50%;flex:none;width:9px;height:9px;box-shadow:0 0 0 4px #ffffff0d}.st-ready .dot,.st-ball .dot{background:var(--green);box-shadow:0 0 0 4px #3ddc842e, 0 0 12px var(--green)}.st-bridge .dot,.st-searching .dot{background:var(--gold);box-shadow:0 0 0 4px #f5c45126}.st-error .dot{background:var(--red);box-shadow:0 0 0 4px #ff6b6b26}.st-ball .dot{animation:1.2s infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 8px #3ddc840d, 0 0 18px var(--green)}}.menu{padding:calc(40px + var(--safe-top)) calc(48px + var(--safe-right)) calc(36px + var(--safe-bottom)) calc(48px + var(--safe-left));grid-template-columns:minmax(300px,400px) 1fr;gap:clamp(24px,4vw,64px);display:grid;position:fixed;inset:0;overflow:auto}body.in-game .menu{display:none}.menu-side{flex-direction:column;gap:22px;animation:.6s both rise;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-mark{filter:drop-shadow(0 6px 20px #3ddc8459);width:56px;height:56px}.brand-name{letter-spacing:-.02em;font-size:34px;font-weight:800;line-height:1}.brand-sub{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-top:6px;font-size:13px}.tagline{color:#cfdcd3;max-width:34ch;margin:0;font-size:17px;line-height:1.5}.link-card{border-radius:var(--radius);background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);align-items:center;gap:14px;padding:16px 18px;display:flex}.link-card b{font-size:15px;font-weight:650;display:block}.link-card small{color:var(--muted);margin-top:3px;font-size:12.5px;line-height:1.4;display:block}.menu-actions{flex-wrap:wrap;gap:10px;display:flex}.menu-foot{color:var(--faint);gap:12px;margin-top:auto;font-size:12px;display:flex}.menu-foot a{color:var(--accent)}.menu-main{place-self:center end;width:100%;max-width:860px}.cards{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.card{text-align:left;border:1px solid var(--line);-webkit-backdrop-filter:blur(20px);cursor:pointer;background:linear-gradient(160deg,#14281eb8,#08120db8);border-radius:22px;align-items:center;gap:16px;min-height:108px;padding:20px;transition:transform .2s,border-color .2s,box-shadow .2s;animation:.55s both rise;display:flex;position:relative;overflow:hidden}.card:hover{border-color:var(--line-strong);transform:translateY(-3px);box-shadow:0 18px 40px #00000059}.card:after{content:"";background:radial-gradient(80% 120% at 100% 0%, var(--tint,#d6f25c1f), transparent 60%);pointer-events:none;position:absolute;inset:0}.card .ico{color:#0b1a12;background:var(--tintSolid,var(--accent));width:58px;height:58px;box-shadow:0 10px 26px var(--tint,#d6f25c40);border-radius:16px;flex:none;place-items:center;display:grid}.card .ico svg{width:32px;height:32px}.card h2{letter-spacing:-.01em;margin:0;font-size:19px;font-weight:720}.card p{color:var(--muted);margin:5px 0 0;font-size:13.5px;line-height:1.45}.card .go{color:var(--faint);flex:none;width:20px;height:20px;margin-left:auto}.card.hero{background:linear-gradient(115deg,#0e2e1ce6,#08140e99),radial-gradient(60% 140% at 90% 100%,#3ddc8459,#0000 70%);grid-column:span 2;min-height:170px;padding:28px}.card.hero h2{font-size:28px}.card.hero .ico{border-radius:22px;width:74px;height:74px}.card.hero .ico svg{width:42px;height:42px}.card:nth-child(2){animation-delay:50ms}.card:nth-child(3){animation-delay:.1s}.card:nth-child(4){animation-delay:.15s}.card:nth-child(5){animation-delay:.2s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.sheet{background:var(--glass-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(24px);border-radius:26px;padding:28px;animation:.35s both rise}.sheet-head{align-items:center;gap:14px;margin-bottom:22px;display:flex}.sheet-head h2{letter-spacing:-.01em;margin:0;font-size:26px}.sheet-head p{color:var(--muted);margin:4px 0 0;font-size:14px}.field{margin:0 0 20px}.field>label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;font-size:12px;font-weight:650;display:block}.options{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.option{text-align:left;border:1px solid var(--line);cursor:pointer;background:#ffffff08;border-radius:16px;padding:16px;transition:all .15s}.option:hover{background:#ffffff14}.option.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#d6f25c14}.option b{font-size:15.5px;display:block}.option small{color:var(--muted);margin-top:4px;font-size:12.5px;line-height:1.4;display:block}.sheet-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.sheet-foot .note{color:var(--muted);font-size:13px}.sheet .btn.primary{padding:14px 28px;font-size:16px}.hud{pointer-events:none;position:fixed;inset:0}.hud>*,.hud button,.hud input,.hud .panel{pointer-events:auto}.hud-top{top:calc(16px + var(--safe-top));left:calc(16px + var(--safe-left));right:calc(16px + var(--safe-right));pointer-events:none;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:absolute}.hud-title{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);pointer-events:auto;border-radius:999px;align-items:center;gap:12px;padding:6px 18px 6px 6px;display:flex}.hud-title .icon-btn{background:#ffffff12;border:0}.hud-title .t1{letter-spacing:-.01em;font-size:16px;font-weight:720}.hud-title .t2{color:var(--muted);margin-top:2px;font-size:12.5px}.hud-tools{pointer-events:auto;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.pill{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);white-space:nowrap;border-radius:999px;align-items:center;gap:9px;height:42px;padding:0 16px;font-size:13px;font-weight:550;display:inline-flex}.pill.wind svg{width:16px;height:16px;color:var(--blue);transition:transform .4s}.panel{background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(18px)}.panel h3{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin:0 0 12px;font-size:13px;font-weight:700;display:flex}.panel h3 small{text-transform:none;letter-spacing:0;color:var(--faint);font-weight:500}.side{top:calc(76px + var(--safe-top));right:calc(16px + var(--safe-right));width:290px;max-height:calc(100% - 250px - var(--safe-top) - var(--safe-bottom));padding:16px;position:absolute;overflow:auto}.side:empty{display:none}.side table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.side th{text-align:right;color:var(--faint);text-transform:uppercase;letter-spacing:.06em;padding:0 4px 6px;font-size:11px;font-weight:600}.side td{text-align:right;border-top:1px solid var(--line);padding:6px 4px}.side th:first-child,.side td:first-child,.side th:nth-child(2),.side td:nth-child(2){text-align:left}.side tfoot td{color:var(--accent);font-weight:650}.side .big{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:40px;font-weight:800}.side .row{border-top:1px solid var(--line);font-variant-numeric:tabular-nums;justify-content:space-between;padding:7px 0;font-size:14px;display:flex}.side .row:first-of-type{border-top:0}.side .row span{color:var(--muted)}.side .hint{color:var(--muted);margin:10px 0 0;font-size:13px;line-height:1.45}.side .progress{background:#ffffff14;border-radius:6px;height:6px;margin:10px 0 4px;overflow:hidden}.side .progress i{background:linear-gradient(90deg, var(--green), var(--accent));border-radius:6px;height:100%;transition:width .4s;display:block}.score-under{color:var(--red)}.score-over{color:var(--blue)}.scorecard td.cur{background:#d6f25c1a}.sc-birdie{width:22px;height:22px;box-shadow:inset 0 0 0 1.5px var(--red);border-radius:50%;place-items:center;display:inline-grid}.sc-bogey{width:22px;height:22px;box-shadow:inset 0 0 0 1.5px var(--blue);border-radius:4px;place-items:center;display:inline-grid}.hud-bottom{left:calc(16px + var(--safe-left));right:calc(16px + var(--safe-right));bottom:calc(16px + var(--safe-bottom));pointer-events:none;grid-template-columns:auto 1fr auto;align-items:end;gap:14px;display:grid;position:absolute}.hud-bottom>*{pointer-events:auto}.club{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);border-radius:999px;align-items:center;gap:6px;padding:6px;display:flex}.club .icon-btn{background:#ffffff0f;border:0}.club-name{text-align:center;min-width:112px}.club-name b{font-size:15px;font-weight:720;display:block}.club-name small{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:1px;font-size:11.5px;display:block}.aimctl{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;align-items:center;gap:6px;padding:6px;font-size:12px;font-weight:600;display:flex}.aimctl .icon-btn{background:#ffffff0f;border:0}.shotdata{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);scrollbar-width:none;border-radius:22px;justify-self:center;gap:0;max-width:100%;padding:10px 6px;display:flex;overflow-x:auto}.shotdata::-webkit-scrollbar{display:none}.stat{border-left:1px solid var(--line);min-width:88px;padding:2px 16px}.stat:first-child{border-left:0}.stat label{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;white-space:nowrap;font-size:10.5px;font-weight:650;display:block}.stat b{font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.01em;margin-top:3px;font-size:19px;font-weight:700;display:block}.stat.big b{color:#fff;font-size:30px;font-weight:800}.stat.big label{color:var(--accent)}.stat b.wait,.shotdata.empty .stat b{color:var(--faint)}.banner{text-align:center;pointer-events:none;text-shadow:0 4px 30px #00000080;animation:.5s cubic-bezier(.2,1.4,.4,1) both pop;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.banner .b1{letter-spacing:-.03em;font-size:clamp(36px,6vw,68px);font-weight:850}.banner .b2{color:#e6efe8;margin-top:6px;font-size:clamp(15px,1.8vw,20px);font-weight:550}.banner.small .b1{font-size:clamp(26px,4vw,40px)}@keyframes pop{0%{opacity:0;transform:translate(-50%,-40%)scale(.92)}}.tester{right:calc(16px + var(--safe-right));bottom:calc(110px + var(--safe-bottom));width:290px;padding:16px;position:absolute}.tester label{color:var(--muted);margin:0 0 12px;font-size:13px;display:block}.tester label span{float:right;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.tester input[type=range]{width:100%;accent-color:var(--accent);margin-top:8px}.tester.putt .no-putt{display:none}.modal{-webkit-backdrop-filter:blur(6px);z-index:20;background:#0208058c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--line-strong);background:#0a1610f0;border-radius:26px;width:min(560px,100%);max-height:90vh;padding:28px;animation:.3s both rise;overflow:auto;box-shadow:0 30px 80px #00000080}.modal-card h2{letter-spacing:-.01em;margin:0 0 6px;font-size:26px}.modal-card .lead{color:var(--muted);margin:0 0 20px}.modal-card .actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.modal-card table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.modal-card td,.modal-card th{border-top:1px solid var(--line);text-align:right;padding:7px 6px}.modal-card th{color:var(--faint);text-transform:uppercase;letter-spacing:.06em;border-top:0;font-size:11px}.modal-card td:first-child,.modal-card th:first-child{text-align:left}.modal-card .hero-num{letter-spacing:-.03em;margin:6px 0 4px;font-size:64px;font-weight:850;line-height:1}.setting{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.setting:first-of-type{border-top:0}.setting b{font-size:15px;display:block}.setting small{color:var(--muted);max-width:34ch;margin-top:3px;font-size:12.5px;display:block}.setting input[type=text]{border:1px solid var(--line-strong);background:#ffffff0f;border-radius:10px;width:170px;padding:9px 12px}.seg{border:1px solid var(--line);background:#ffffff0f;border-radius:12px;flex:none;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:9px;padding:7px 12px;font-size:13px;font-weight:600}.seg button.on{background:var(--ink);color:#0b1a12}.loading{-webkit-backdrop-filter:blur(8px);z-index:30;background:#040c08bf;place-content:center;justify-items:center;gap:18px;display:grid;position:fixed;inset:0}.spinner{border:3px solid #ffffff1f;border-top-color:var(--accent);border-radius:50%;width:46px;height:46px;animation:.9s linear infinite spin}.loading-text{color:#dfe9e2;font-size:15px;font-weight:550}@keyframes spin{to{transform:rotate(360deg)}}.toast{left:50%;bottom:calc(120px + var(--safe-bottom));background:var(--glass-strong);border:1px solid var(--line-strong);z-index:25;text-align:center;border-radius:14px;max-width:calc(100% - 32px);padding:12px 18px;font-size:14px;animation:.3s both rise;position:fixed;transform:translate(-50%)}@media (width<=900px){.menu{padding:calc(24px + var(--safe-top)) 16px calc(24px + var(--safe-bottom));grid-template-columns:1fr;align-content:start;gap:22px}.menu-main{justify-self:stretch}.tagline{font-size:15px}.menu-foot{margin-top:0}.shade{background:linear-gradient(#030b08bf,#030b0899)}}@media (width<=640px){.cards{grid-template-columns:1fr}.card.hero{grid-column:auto;min-height:130px;padding:20px}.card.hero h2{font-size:22px}.card{min-height:90px;padding:16px}.sheet{padding:20px}.hud-title{padding-right:12px}.hud-title .t2,.pill.status .label{display:none}.pill.status{padding:0 15px}.side{top:auto;bottom:calc(150px + var(--safe-bottom));width:auto;max-height:34%;left:12px;right:12px}.hud-bottom{left:10px;right:10px;bottom:calc(10px + var(--safe-bottom));grid-template-columns:1fr auto;gap:8px}.shotdata{grid-area:1/1/auto/-1;justify-self:stretch}.stat{min-width:76px;padding:2px 10px}.stat.big b{font-size:24px}.tester{width:auto;left:12px;right:12px;bottom:calc(150px + var(--safe-bottom))}}@media (height<=520px){.side{max-height:calc(100% - 200px)}.stat.big b{font-size:22px}.stat b{font-size:16px}}.tabs{margin:0 0 22px}.search{gap:10px;display:flex}.search input{border:1px solid var(--line-strong);min-width:0;color:inherit;font-size:15px;font:inherit;background:#ffffff0f;border-radius:12px;flex:1;padding:12px 14px}.search input:focus{border-color:var(--accent);outline:none}.results:empty{display:none}.results{max-height:300px;margin:0 0 20px;overflow-y:auto}.option{position:relative}.option .forget{width:26px;height:26px;color:var(--muted);cursor:pointer;background:#ffffff14;border:0;border-radius:50%;font-size:16px;line-height:1;position:absolute;top:8px;right:10px}.option .forget:hover{color:#fff;background:#ff5a5a4d}p.note{color:var(--muted);margin:10px 0 14px;font-size:13px;line-height:1.45}
