:root{--bg:#f3f1eb;--bg-accent:#e7ece6;--card:#fff;--text:#1c2418;--muted:#5a6554;--accent:#4c7380;--accent-strong:#3d6b8e;--selection:#596b34;--warm:#c76134;--danger:#b42318;--border:#1c24181a;--shadow:0 10px 30px #1c241814;--radius:16px;--font:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--sans:"Avenir Next", "Segoe UI", system-ui, sans-serif;color:var(--text);background:radial-gradient(1200px 600px at 10% -10%, #dfe8df 0%, transparent 55%), radial-gradient(900px 500px at 100% 0%, #d9e4e7 0%, transparent 50%), var(--bg);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}a{color:var(--accent-strong)}h1,h2,h3,.brand-name{font-family:var(--font);letter-spacing:-.02em;font-weight:600}h1{margin:0 0 .35rem;font-size:1.85rem}h2{margin:0;font-size:1.15rem}h3{margin:0 0 .2rem;font-size:1.05rem}.muted{color:var(--muted)}.small{font-size:.9rem}.center{text-align:center}.mono{letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .35rem;font-size:.75rem}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#ffffffb8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;padding:.9rem 1.25rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.75rem;display:flex}.brand.large{margin-bottom:1rem}.brand-mark{background:var(--selection);color:#fff;border-radius:.85rem;place-items:center;width:2.4rem;height:2.4rem;font-size:.85rem;font-weight:700;display:grid}.brand-name{font-size:1.15rem;line-height:1.1}.brand-sub{color:var(--muted);font-size:.8rem}.nav{flex-wrap:wrap;gap:.35rem;display:flex}.nav a{color:var(--muted);border-radius:999px;padding:.4rem .7rem;font-size:.92rem;text-decoration:none}.nav a.active,.nav a:hover{color:var(--text);background:#4c73801f}.topbar-meta{align-items:center;gap:.75rem;display:flex}.page{flex:1;width:min(1100px,100%);margin:0 auto;padding:1.5rem 1.25rem 3rem}.stack{flex-direction:column;gap:.85rem;display:flex}.gap-lg{gap:1.25rem}.narrow{max-width:560px}.row-2{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (width<=640px){.row-2{grid-template-columns:1fr}}.hero-card,.panel,.auth-card,.action-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-card,.panel,.auth-card{padding:1.25rem}.card-list{gap:.75rem;display:grid}.action-card{color:inherit;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;text-decoration:none;transition:transform .15s,border-color .15s;display:flex}.action-card:hover{border-color:#4c738059;transform:translateY(-1px)}.action-card.compact{padding:.85rem 1rem}label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.92rem;display:flex}input{border:1px solid var(--border);font:inherit;color:var(--text);background:#fff;border-radius:12px;padding:.7rem .8rem}input:focus{border-color:var(--accent);outline:2px solid #4c738059}button,.primary,.secondary,.ghost,.list-btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px}.primary,.secondary,.ghost,.list-btn{padding:.7rem .95rem}.primary{background:var(--accent-strong);color:#fff}.secondary{color:var(--selection);background:#596b341f;border-color:#596b3433}.ghost{color:var(--muted);background:0 0}.ghost.danger{color:var(--danger)}.list-btn{text-align:left;border-color:var(--border);background:#f7f6f2}.list-btn:hover{background:#eef3ef}.linkish{color:var(--accent-strong);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}button:disabled{opacity:.55;cursor:not-allowed}.segmented{background:var(--bg-accent);border-radius:999px;grid-template-columns:1fr 1fr;gap:.35rem;margin-bottom:1rem;padding:.3rem;display:grid}.segmented button{color:var(--muted);background:0 0;border:none;border-radius:999px;padding:.55rem .75rem}.segmented button.active{color:var(--text);box-shadow:var(--shadow);background:#fff}.event-tabs{border-radius:14px;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden}@media (width<=720px){.event-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}.event-tabs button{border-radius:10px;padding:.5rem .35rem;font-size:.85rem}.subhead{color:var(--muted);margin-top:.5rem;font-size:.95rem}.itinerary-card{border-top:1px solid var(--border);padding:.85rem 0}.itinerary-card:first-of-type{border-top:none;padding-top:.25rem}.itinerary-card h3{margin-bottom:.15rem}.itinerary-card p{margin:.15rem 0 0}.attendees{color:var(--warm);font-size:.85rem;margin-top:.35rem!important}.auth-screen{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-card{width:min(420px,100%)}.kv{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.inline-result{justify-content:space-between;align-items:center;gap:.75rem;padding-top:.35rem;display:flex}.row-actions{gap:.4rem;display:flex}.pill{border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.8rem;font-weight:600;display:inline-flex}.pill.inline{margin-top:.5rem}.pill.quiet{color:var(--muted);background:#1c24180f}.pill.warm{color:var(--warm);background:#c7613426}.error{color:var(--danger);margin:0}.ok{color:var(--selection);margin:0}.scorecard-nav{justify-content:space-between;align-items:center;display:flex}.scorecard-header{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:.75rem;display:flex}.scorecard-title{margin:0}.scorecard-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.scorecard-scroll{-webkit-overflow-scrolling:touch;overflow:auto}.scorecard{border-collapse:separate;border-spacing:0;width:100%;min-width:920px;font-size:.85rem}.scorecard th,.scorecard td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-align:center;min-width:2.4rem;padding:.25rem}.scorecard .sticky-col{z-index:1;text-align:left;background:#f8f7f3;min-width:7.5rem;padding-left:.55rem;position:sticky;left:0}.scorecard thead th{background:#eef2ef;font-weight:600}.scorecard .meta-row td,.scorecard .meta-row th{color:var(--muted);background:#f7f8f5}.scorecard tr.mine .sticky-col{background:#e8f0e4}.player-name{align-items:center;gap:.35rem;display:flex}.you-tag{text-transform:uppercase;letter-spacing:.04em;background:var(--selection);color:#fff;border-radius:999px;padding:.1rem .35rem;font-size:.65rem}.subtotal{background:#fafaf7;font-weight:600}.score-input{text-align:center;background:#fffef8;border:1px solid #4c738059;border-radius:8px;width:2.4rem;padding:.35rem .15rem}.score-ro{min-width:1.2rem;display:inline-block}@media (width<=720px){.topbar-meta .muted{display:none}.nav a{padding:.35rem .55rem;font-size:.85rem}}.marketing{color:#f4f1ea;background:#10140f;min-height:100vh}.mkt-nav{z-index:5;padding:1.1rem 1.5rem;position:absolute;inset:0 0 auto}.mkt-nav-inner{justify-content:space-between;align-items:center;gap:1rem;width:min(1100px,100%);margin:0 auto;display:flex}.mkt-nav-inner-end{justify-content:flex-end}.mkt-nav .brand{color:#f4f1ea;text-decoration:none}.mkt-nav .brand-name{color:#f4f1ea;font-size:1.05rem}.mkt-nav-links{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.mkt-nav-links a{color:#f4f1ead1;font-size:.92rem;text-decoration:none}.mkt-nav-links a:hover{color:#fff}.mkt-nav-cta{background:#ffffff1f;border:1px solid #ffffff38;border-radius:999px;padding:.45rem .9rem!important}.mkt-hero{align-items:flex-end;min-height:100vh;padding:7rem 1.5rem 4.5rem;display:flex;position:relative;overflow:hidden}.mkt-hero-media{background:url(/hero-fairway.jpg) 50%/cover no-repeat;position:absolute;inset:0;transform:scale(1.02)}.mkt-hero-shade{background:linear-gradient(90deg,#10140fc7 0%,#10140f73 42%,#10140f26 70%,#0000 100%),linear-gradient(#0000 52%,#10140fb3 100%);position:absolute;inset:0}.mkt-hero-inner{width:min(720px,100%);max-width:1100px;margin:0 auto 0 max(0px,50% - 550px);position:relative}.mkt-kicker{text-transform:uppercase;letter-spacing:.14em;color:#dfe8dfd9;margin:0 0 .75rem;font-size:.75rem}.mkt-brand{font-family:var(--font);letter-spacing:-.03em;color:#f7f4ee;margin:0;font-size:clamp(2.8rem,8vw,5.2rem);line-height:.95}.mkt-headline{font-family:var(--font);color:#e8efe6;margin:1rem 0 .65rem;font-size:clamp(1.35rem,3vw,1.85rem);font-weight:500}.mkt-lede{color:#ecf0e8e0;max-width:36rem;margin:0;font-size:1.05rem;line-height:1.55}.mkt-cta-row{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.mkt-btn{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1.2rem;font-size:.98rem;font-weight:600;text-decoration:none;display:inline-flex}.mkt-btn.primary{color:#fff;background:#4c7380}.mkt-btn.primary:hover{background:#3d6b8e}.mkt-btn.ghost{color:#f4f1ea;background:0 0;border-color:#f4f1ea73}.mkt-btn.ghost:hover{background:#ffffff14}.mkt-ios-note{color:#dfe8dfbf;margin:1rem 0 0;font-size:.88rem}.mkt-band{color:var(--text);background:#f3f1eb;padding:4.5rem 1.5rem}.mkt-band.alt{background:#e7ece6}.mkt-band-inner{width:min(1100px,100%);margin:0 auto}.mkt-band h2{font-family:var(--font);margin:0 0 .75rem;font-size:clamp(1.7rem,3vw,2.2rem)}.mkt-band-intro{max-width:40rem;color:var(--muted);margin:0 0 2.25rem;font-size:1.05rem}.mkt-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 2.5rem;display:grid}.mkt-columns h3{font-family:var(--font);color:var(--selection);margin:0 0 .5rem;font-size:1.2rem}.mkt-columns p{color:var(--muted);margin:0;line-height:1.55}.mkt-feature-list{gap:1.1rem;max-width:42rem;margin:0 0 2rem;padding:0;list-style:none;display:grid}.mkt-feature-list li{gap:.2rem;display:grid}.mkt-feature-list strong{font-family:var(--font);color:var(--text);font-size:1.1rem}.mkt-feature-list span{color:var(--muted)}.mkt-footer{color:#f4f1eabf;background:#10140f;padding:1.75rem 1.5rem}.mkt-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;width:min(1100px,100%);margin:0 auto;display:flex}.mkt-footer .brand-name{color:#f4f1ea;font-size:1rem}.mkt-footer-links{flex-wrap:wrap;gap:1rem;display:flex}.mkt-footer a{color:#f4f1eabf;text-decoration:none}.mkt-footer a:hover{color:#fff}@media (width<=800px){.mkt-columns{grid-template-columns:1fr;gap:1.5rem}.mkt-hero{min-height:92vh;padding-bottom:3rem}.mkt-nav-links a:not(.mkt-nav-cta){display:none}}
