:root{--bg-0:#05100a;--bg-1:#081b0f;--bg-2:#061410;--ink:#eaf6ec;--ink-dim:#b7cebf;--ink-faint:#7f9a8a;--panel:#e9fff00b;--panel-strong:#e9fff014;--border:#96ebb424;--border-strong:#96ebb447;--spring:#7bf2a0;--lime:#c4f56a;--mint:#4fe3c1;--sky:#6fd0ff;--birdie:#6ff0a0;--even:#cfe6d6;--bogey:#ff9f6e;--gold:#ffd76a;--radius:18px;--radius-sm:12px;--shadow:0 24px 60px -28px #000000bf;--maxw:1080px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);color:var(--ink);background:var(--bg-0);-webkit-font-smoothing:antialiased;background-image:radial-gradient(120% 80% at 12% -10%, #c4f56a1f, transparent 55%), radial-gradient(90% 70% at 92% 0%, #4fe3c11a, transparent 50%), radial-gradient(120% 120% at 50% 120%, #06140ce6, transparent 60%), linear-gradient(180deg, var(--bg-1), var(--bg-0) 60%);background-attachment:fixed;min-height:100vh;line-height:1.5}a{color:inherit;text-decoration:none}h1,h2,h3{letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.08}.shell{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}.page{padding-bottom:96px}.section{margin-top:40px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--spring);font-size:12px;font-weight:700}.muted{color:var(--ink-dim)}.faint{color:var(--ink-faint)}.site-header{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);background:linear-gradient(#05100ad9,#05100a59);position:sticky;top:0}.site-header .bar{justify-content:space-between;align-items:center;gap:16px;height:64px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-weight:700;display:flex}.brand .mark{background:radial-gradient(circle at 35% 30%, var(--lime), var(--spring) 55%, #0d2e1c 120%);color:#06210f;width:30px;height:30px;box-shadow:0 0 0 1px var(--border-strong), 0 8px 22px -8px #7bf2a0b3;border-radius:50%;place-items:center;font-size:16px;display:grid}.brand small{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-size:11px;font-weight:600;display:block}.nav{align-items:center;gap:6px;display:flex}.nav a:not(.btn){color:var(--ink-dim);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;transition:background .15s,color .15s}.nav a:not(.btn):hover{background:var(--panel);color:var(--ink)}.nav a:not(.btn).active{color:var(--ink);background:var(--panel-strong)}.btn{border:1px solid var(--border-strong);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:transform .12s,background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:hover{background:var(--panel-strong);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{color:#052913;background:linear-gradient(135deg, var(--lime), var(--spring) 60%, var(--mint));border:none;box-shadow:0 14px 30px -14px #7bf2a0cc}.btn-primary:hover{background:linear-gradient(135deg,#d4fb86,#97f7b6 60%,#6cebd0);box-shadow:0 18px 40px -14px #7bf2a0f2}.btn-ghost{border-color:var(--border);background:0 0}.btn-danger{color:#ffb59a;background:0 0;border-color:#ff826466}.btn-danger:hover{color:#ffd6c8;background:#ff6e5a24;border-color:#ff8264bf}.btn-sm{padding:7px 13px;font-size:13px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.pad{padding:22px}.hero{border:1px solid var(--border);box-shadow:var(--shadow);background:radial-gradient(80% 120% at 85% 0,#4fe3c129,#0000 55%),radial-gradient(90% 120% at 0 100%,#c4f56a24,#0000 55%),linear-gradient(160deg,#0c2818e6,#06120ce6);border-radius:26px;margin-top:34px;padding:56px 40px 52px;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;background:radial-gradient(60% 100% at 50% 100%,#040e0999,#0000 70%);height:120px;position:absolute;inset:auto 0 0}.hero h1{max-width:15ch;margin:16px 0 14px;font-size:clamp(34px,6vw,60px)}.hero p{max-width:52ch;color:var(--ink-dim);margin:0 0 28px;font-size:17px}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-stats{flex-wrap:wrap;gap:26px;margin-top:34px;display:flex}.hero-stat .n{letter-spacing:-.03em;font-size:30px;font-weight:700}.hero-stat .l{text-transform:uppercase;letter-spacing:.16em;color:var(--ink-faint);font-size:12px}.section-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.section-head h2{font-size:24px}.section-head p{color:var(--ink-faint);margin:4px 0 0;font-size:14px}.holes-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;display:grid}.hole-card{border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(160deg, var(--panel-strong), var(--panel));padding:18px;transition:transform .14s,border-color .15s,box-shadow .15s;display:block;position:relative;overflow:hidden}.hole-card:hover{border-color:var(--border-strong);transform:translateY(-3px);box-shadow:0 20px 40px -22px #7bf2a080}.hole-card .num{letter-spacing:.14em;text-transform:uppercase;color:var(--spring);font-size:13px;font-weight:700}.hole-card .title{margin-top:6px;font-size:19px;font-weight:700}.hole-card .meta{gap:8px;margin-top:16px;display:flex}.chip{border:1px solid var(--border);color:var(--ink-dim);background:#ffffff0d;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.chip b{color:var(--ink);font-weight:700}.hole-card .ghost-num{color:#ffffff09;pointer-events:none;font-size:110px;font-weight:800;line-height:1;position:absolute;bottom:-22px;right:-6px}.hole-hero{grid-template-columns:1.1fr 1fr;gap:22px;display:grid}.hole-photo{border-radius:var(--radius);border:1px dashed var(--border-strong);min-height:260px;color:var(--ink-faint);background:radial-gradient(70% 80% at 30% 20%,#4fe3c11a,#0000 60%),linear-gradient(160deg,#0c281899,#06120c99);place-items:center;font-size:14px;display:grid}.hole-photo img{object-fit:cover;border-radius:var(--radius);width:100%;height:100%}.big-stats{gap:14px;margin:18px 0 22px;display:flex}.big-stat{border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--border);flex:1;padding:16px 18px}.big-stat .n{letter-spacing:-.03em;font-size:30px;font-weight:800}.big-stat .l{text-transform:uppercase;letter-spacing:.16em;color:var(--ink-faint);font-size:12px}.hole-nav{justify-content:space-between;gap:12px;margin-top:26px;display:flex}.field{margin-bottom:16px}.field label{color:var(--ink-dim);margin-bottom:7px;font-size:13px;font-weight:600;display:block}input[type=text],input:not([type]){border-radius:var(--radius-sm);border:1px solid var(--border);width:100%;color:var(--ink);background:#00000040;padding:12px 14px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}input:focus{border-color:var(--spring);outline:none;box-shadow:0 0 0 3px #7bf2a02e}.player-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.player-row .idx{text-align:center;width:26px;color:var(--spring);font-weight:700}.link-remove{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:6px 8px;font-family:inherit;font-size:13px}.link-remove:hover{color:var(--bogey)}.error{color:var(--bogey);margin:8px 0;font-size:14px}.score-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.save-flag{color:var(--ink-faint);min-width:60px;font-size:13px}.save-flag.on{color:var(--spring)}.standings{gap:10px;margin-bottom:24px;display:grid}.standing{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel);grid-template-columns:28px 1fr auto auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.standing .rank{color:var(--ink-faint);font-weight:800}.standing.lead{border-color:var(--border-strong);background:linear-gradient(120deg, #c4f56a1a, var(--panel))}.standing.lead .rank{color:var(--gold)}.standing .pname{font-weight:600}.standing .strokes{font-variant-numeric:tabular-nums;color:var(--ink-dim);font-weight:600}.topar{font-variant-numeric:tabular-nums;text-align:right;min-width:46px;font-weight:800}.topar.birdie{color:var(--birdie)}.topar.even{color:var(--even)}.topar.bogey{color:var(--bogey)}.card-scroll{border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);overflow-x:auto}table.score-table{border-collapse:collapse;table-layout:fixed;width:2130px}.score-table th{width:108px}.score-table .rowhead{width:130px}.score-table .total-col{width:56px}.score-table th,.score-table td{text-align:center;font-variant-numeric:tabular-nums;border-bottom:1px solid #ffffff0d;padding:10px 4px}.score-table thead th{color:var(--ink-faint);background:#06140ce6;font-size:12px;font-weight:700;position:sticky;top:0}.score-table .rowhead{text-align:left;white-space:nowrap;text-overflow:ellipsis;z-index:1;background:#06140ceb;padding-left:16px;font-weight:700;position:sticky;left:0;overflow:hidden}.score-table .par-row td{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;font-size:12px}.score-table .total-col{color:var(--ink);background:#ffffff08;font-weight:800}.stepper{justify-content:center;align-items:center;gap:5px;display:inline-flex}.step{border:1px solid var(--border);width:26px;height:30px;color:var(--ink);cursor:pointer;background:#00000040;border-radius:8px;flex:none;font-family:inherit;font-size:15px;font-weight:700;line-height:1;transition:background .12s,border-color .12s}.step:hover{border-color:var(--spring)}.cell-val{text-align:center;flex:none;min-width:26px;font-size:16px;font-weight:700;display:inline-block}.cell-val.is-empty{color:var(--ink-faint);font-size:11px;font-weight:400}.ranktable{gap:8px;display:grid}.rankrow{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel);grid-template-columns:40px 1fr auto auto;align-items:center;gap:14px;padding:14px 18px;display:grid}.rankrow .place{color:var(--ink-faint);text-align:center;font-size:20px;font-weight:800}.rankrow.gold{background:linear-gradient(120deg, #ffd76a1a, var(--panel));border-color:#ffd76a66}.rankrow.gold .place{color:var(--gold)}.rankrow .who{font-weight:700}.rankrow .sub{color:var(--ink-faint);font-size:12px}.badge{text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--border);color:var(--ink-dim);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.badge.live{color:var(--mint);border-color:#4fe3c166}.recent-round{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel);margin-bottom:10px;padding:16px 18px}.recent-round .top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.recent-players{flex-wrap:wrap;gap:8px;display:flex}.recent-players .rp{border:1px solid var(--border);background:#ffffff0a;border-radius:999px;align-items:center;gap:8px;padding:5px 11px;font-size:13px;display:inline-flex}.state{text-align:center;color:var(--ink-faint);padding:60px 0}.empty{text-align:center;color:var(--ink-faint);border:1px dashed var(--border);border-radius:var(--radius);padding:30px}.footer{border-top:1px solid var(--border);color:var(--ink-faint);text-align:center;margin-top:60px;padding:30px 0;font-size:13px}@media (max-width:720px){.hole-hero{grid-template-columns:1fr}.hero{padding:40px 24px}.nav a{padding:8px 10px}.brand small{display:none}}
