:root{--forest:#16382a;--forest-deep:#0e251c;--fairway:#255841;--moss:#3d6b52;--gold:#c09e4f;--gold-soft:#d9c180;--cream:#f6f1e3;--paper:#fbf7ee;--ink:#1c241f;--muted:#5b675f;--bubble-them:#ece6d6;--safe-top:env(safe-area-inset-top,0px);--safe-bot:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;background:#0b1a14;font-family:Outfit,system-ui,sans-serif}body{justify-content:center;align-items:stretch;display:flex}.phone{background:var(--paper);flex-direction:column;width:100%;max-width:430px;height:100%;min-height:100dvh;display:flex;position:relative;overflow:hidden}.phone:before{content:"";pointer-events:none;opacity:.07;mix-blend-mode:multiply;z-index:5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}header.tourney{z-index:21;padding:calc(10px + var(--safe-top)) 10px 12px;color:var(--cream);background:radial-gradient(120% 80% at 50% -40%,#c09e4f2e,#0000 55%),linear-gradient(#12281f 0%,#16382a 100%);position:relative}.topbar{align-items:center;gap:8px;min-height:40px;display:flex}.menu-btn{cursor:pointer;z-index:22;background:0 0;border:0;flex-shrink:0;width:40px;height:40px;position:relative}.menu-btn span{background:var(--cream);border-radius:1px;width:18px;height:1.5px;transition:transform .2s,top .2s,opacity .2s;position:absolute;left:11px}.menu-btn span:first-child{top:13px}.menu-btn span:nth-child(2){top:19.25px}.menu-btn span:nth-child(3){top:25.5px}.menu-btn.open span:first-child{top:19.25px;transform:rotate(45deg)}.menu-btn.open span:nth-child(2){opacity:0}.menu-btn.open span:nth-child(3){top:19.25px;transform:rotate(-45deg)}header.tourney h1{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-family:Fraunces,Georgia,serif;font-size:22px;font-style:italic;font-weight:560;line-height:1.1;overflow:hidden}.live{letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);flex-shrink:0;align-items:center;gap:6px;padding-right:6px;font-size:10px;font-weight:500;display:inline-flex}.live i{background:#8fce6a;border-radius:50%;width:7px;height:7px;animation:2s ease-out infinite pulse;box-shadow:0 0 #8fce6ab3}.live.off i{box-shadow:none;background:#c07a4f;animation:none}.live-spacer{flex-shrink:0;width:40px}@keyframes pulse{70%{box-shadow:0 0 0 8px #8fce6a00}}.pills{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.pill{letter-spacing:.04em;color:var(--gold-soft);background:#0e251c59;border:1px solid #d9c18059;border-radius:999px;padding:5px 9px;font-size:10.5px}.ageency-mark{color:#f6f1e38c;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;font-size:11px;display:flex}.ageency-mark b{color:var(--gold-soft);font-family:Fraunces,serif;font-size:13px;font-style:italic;font-weight:560}.ageency-mark:before{content:"";background:#c09e4f73;width:18px;height:1px}.ageency-dot{color:#c09e4f8c}.ageency-cta{color:var(--gold-soft);text-underline-offset:3px;font-weight:500;-webkit-text-decoration:underline #d9c18073;text-decoration:underline #d9c18073}.ageency-cta:hover,.ageency-cta:focus-visible{color:var(--cream);-webkit-text-decoration-color:var(--gold-soft);text-decoration-color:var(--gold-soft);outline:none}main.thread{z-index:3;background:linear-gradient(180deg, transparent 0%, var(--paper) 24px), var(--paper);flex-direction:column;flex:1;gap:10px;padding:18px 16px 12px;display:flex;position:relative;overflow-y:auto}.daychip{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);background:#16382a0f;border-radius:999px;align-self:center;margin-bottom:4px;padding:5px 10px;font-size:10.5px}.row{flex-direction:column;max-width:86%;animation:.35s both rise;display:flex}.row.them{align-self:flex-start}.row.us{align-self:flex-end}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.who{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 6px 4px;font-size:10px}.row.us .who{text-align:right}.bubble{white-space:pre-wrap;border-radius:16px;padding:10px 13px;font-size:14.5px;font-weight:400;line-height:1.4}.row.them .bubble{background:var(--bubble-them);color:var(--ink);border-bottom-left-radius:5px}.row.us .bubble{background:var(--fairway);color:var(--cream);border-bottom-right-radius:5px}.bubble.pending{align-items:center;gap:10px;animation:1.8s ease-in-out infinite bubble-breathe;display:inline-flex}.typing-dots{align-items:center;gap:4px;display:inline-flex}.typing-dots i{background:var(--forest);opacity:.28;border-radius:50%;width:6px;height:6px;animation:1.15s ease-in-out infinite typing}.typing-dots i:nth-child(2){animation-delay:.16s}.typing-dots i:nth-child(3){animation-delay:.32s}.bubble.streaming:after{content:"";background:var(--forest);vertical-align:-.12em;width:2px;height:.9em;margin-left:4px;animation:.9s step-end infinite caret;display:inline-block}@keyframes typing{0%,80%,to{opacity:.28;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes bubble-breathe{0%,to{box-shadow:0 0 #16382a00}50%{box-shadow:0 0 0 5px #16382a12}}@keyframes caret{0%,49%{opacity:1}50%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.bubble.pending,.typing-dots i,.bubble.streaming:after{animation:none}.typing-dots i{opacity:.65}.bubble.streaming:after{opacity:.7}}.suggestions{z-index:3;background:var(--paper);scrollbar-width:none;gap:8px;padding:4px 16px 10px;display:flex;position:relative;overflow-x:auto}.suggestions::-webkit-scrollbar{display:none}.chip{color:var(--forest);cursor:pointer;background:#fff;border:1px solid #16382a29;border-radius:999px;flex:none;padding:8px 12px;font-family:inherit;font-size:13px}.chip:active,.chip:disabled{background:var(--cream)}.chip:disabled{cursor:default;opacity:.6}form.composer{z-index:4;padding:8px 14px calc(12px + var(--safe-bot));background:linear-gradient(180deg, var(--paper), #f3eee3);border-top:1px solid #16382a14;align-items:flex-end;gap:8px;display:flex;position:relative}form.composer input{color:var(--ink);background:#fff;border:1px solid #16382a29;border-radius:22px;outline:none;flex:1;padding:12px 16px;font-family:inherit;font-size:16px}form.composer input:focus{border-color:var(--gold)}form.composer input:disabled{opacity:.7}form.composer button{background:var(--forest);width:44px;height:44px;color:var(--cream);cursor:pointer;border:0;border-radius:50%;flex-shrink:0;place-items:center;display:grid}form.composer button:disabled{opacity:.45;cursor:default}form.composer button svg{width:18px;height:18px}.provided{text-align:center;color:var(--muted);z-index:4;background:#f3eee3;padding:0 16px 8px;font-size:10.5px;position:relative}.provided em{color:var(--forest);font-family:Fraunces,serif;font-style:italic}.drawer-backdrop{opacity:0;pointer-events:none;z-index:18;background:#0b1a1473;border:0;padding:0;transition:opacity .2s;position:absolute;inset:0}.drawer-backdrop.on{opacity:1;pointer-events:auto}.drawer{width:min(320px,86%);color:var(--cream);padding:calc(64px + var(--safe-top)) 20px calc(20px + var(--safe-bot));z-index:20;background:linear-gradient(#12281f 0%,#16382a 100%);flex-direction:column;transition:transform .22s;display:flex;position:absolute;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-104%)}.drawer.open{transform:none}.drawer-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);font-size:10px;font-weight:500}.drawer-title{letter-spacing:-.02em;margin:8px 0 10px;font-family:Fraunces,Georgia,serif;font-size:26px;font-style:italic;font-weight:560;line-height:1.1}.drawer-meta{color:#f6f1e3c7;font-size:12.5px;font-weight:300;line-height:1.45}.drawer .pills{margin-top:12px}.drawer-nav{flex-direction:column;gap:8px;margin:22px 0 18px;display:flex}.nav-item{text-align:left;width:100%;color:var(--cream);cursor:pointer;background:#0e251c59;border:1px solid #d9c18038;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;font-family:inherit;display:flex}.nav-item.current{background:#c09e4f24;border-color:#d9c180b3}.nav-label{font-size:16px;font-weight:500}.nav-hint{color:#f6f1e39e;font-size:12px;font-weight:300}.nav-item.danger{background:0 0;border-style:dashed;margin-top:4px}.nav-item.danger .nav-label{color:var(--gold-soft)}.nav-item.danger:disabled{opacity:.45;cursor:default}.nav-item.danger.confirm{background:#c09e4f29;border-style:solid;border-color:#d9c180d9}.drawer-cta{margin-top:auto;font-size:13px}.scorecard{padding:16px 16px calc(20px + var(--safe-bot));z-index:3;background:var(--paper);flex-direction:column;flex:1;gap:14px;display:flex;position:relative;overflow-y:auto}.card{background:#fff;border:1px solid #16382a1a;border-radius:16px;padding:14px 14px 12px}.card-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:500}.card h2{letter-spacing:-.02em;margin:4px 0 8px;font-family:Fraunces,Georgia,serif;font-size:22px;font-style:italic;font-weight:560}.claim-card p,.empty-board{color:var(--muted);margin-bottom:12px;font-size:13.5px;line-height:1.45}.claim-form{margin-top:10px}.claim-form label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:11px;display:block}.claim-row{gap:8px;display:flex}.claim-row input{background:var(--paper);min-width:0;color:var(--ink);border:1px solid #16382a29;border-radius:12px;outline:none;flex:1;padding:11px 12px;font-family:inherit;font-size:16px}.claim-row input:focus{border-color:var(--gold)}.claim-row button,.text-btn,.code-btn{cursor:pointer;font-family:inherit}.claim-row button{background:var(--forest);color:var(--cream);border:0;border-radius:12px;flex-shrink:0;padding:0 14px;font-size:14px;font-weight:500}.claim-row button:disabled{opacity:.45;cursor:default}.team-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.team-head h2{margin:2px 0 0}.team-score{color:var(--forest);white-space:nowrap;font-family:Fraunces,Georgia,serif;font-size:22px;font-style:italic}.team-score span{color:var(--muted);font-family:Outfit,system-ui,sans-serif;font-size:12px;font-style:normal}.team-code{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 12px;font-size:13px;display:flex}.code-btn{color:var(--forest);letter-spacing:.12em;background:#c09e4f1f;border:1px dashed #c09e4fb3;border-radius:8px;padding:4px 8px;font-weight:600}.code-hint{font-size:11px}.nines{flex-direction:column;gap:12px;display:flex}.nine-head{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);justify-content:space-between;margin-bottom:6px;font-size:11px;display:flex}.hole-grid{grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;display:grid}.hole{flex-direction:column;align-items:center;gap:2px;display:flex}.hole-no{color:var(--muted);font-size:10px}.hole-par{color:var(--gold);letter-spacing:.02em;font-size:9px}.hole input{text-align:center;width:100%;height:34px;color:var(--ink);background:var(--paper);border:1px solid #16382a24;border-radius:8px;outline:none;font-family:inherit;font-size:14px;font-weight:500}.hole input:focus{border-color:var(--gold);background:#fff}.text-btn{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;margin:12px auto 0;font-size:12px;text-decoration:underline;display:block}.switch-hint{text-align:center;color:var(--muted);margin:8px 0 0;font-size:11.5px;line-height:1.4}.rejoin{border-bottom:1px solid #16382a1a;margin:4px 0 14px;padding-bottom:14px}.rejoin .card-kicker{margin-bottom:4px}.rejoin-list{flex-direction:column;gap:8px;display:flex}.rejoin-btn{text-align:left;width:100%;color:var(--forest);cursor:pointer;background:#fff;border:1px solid #16382a29;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-family:inherit;font-size:15px;font-weight:500;display:flex}.rejoin-btn:disabled{opacity:.45;cursor:default}.score-error{color:#6a3318;background:#f3e4d8;border-radius:12px;padding:10px 12px;font-size:13px}.board{flex-direction:column;gap:6px;margin-top:8px;list-style:none;display:flex}.board-row{border-radius:10px;grid-template-columns:28px 1fr auto auto;align-items:center;gap:8px;padding:8px;display:grid}.board-row.mine{background:#c09e4f24}.board-rank{color:var(--forest);font-family:Fraunces,Georgia,serif;font-size:16px;font-style:italic}.board-name{flex-direction:column;min-width:0;font-size:14px;font-weight:500;display:flex}.board-name small{color:var(--muted);font-size:11px;font-weight:400}.board-to-par{color:var(--forest);text-align:right;min-width:2.2em;font-family:Fraunces,Georgia,serif;font-size:18px;font-style:italic}.board-total{color:var(--muted);text-align:right;min-width:1.8em;font-size:12px}.sponsors{padding:16px 16px calc(20px + var(--safe-bot));z-index:3;background:var(--paper);flex-direction:column;flex:1;gap:16px;display:flex;position:relative;overflow-y:auto}.become-sponsor{color:var(--cream);background:radial-gradient(120% 80% at 100% 0,#c09e4f47,#0000 55%),linear-gradient(#1a3328 0%,#16382a 100%);border:1px solid #d9c18059;border-radius:16px;align-items:center;gap:12px;padding:16px 16px 14px;text-decoration:none;display:flex}.become-sponsor h2{letter-spacing:-.02em;color:var(--cream);margin:4px 0 6px;font-family:Fraunces,Georgia,serif;font-size:24px;font-style:italic;font-weight:560}.become-sponsor p{color:#f6f1e3c7;font-size:13.5px;font-weight:300;line-height:1.45}.become-sponsor .card-kicker{color:var(--gold-soft)}.become-arrow{background:var(--gold);width:36px;height:36px;color:var(--forest-deep);border-radius:50%;flex-shrink:0;place-items:center;font-size:16px;display:grid}.become-sponsor:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px}.sponsor-tier h3{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:2px 0 8px;font-size:10px;font-weight:500}.sponsor-tier ul{flex-direction:column;gap:8px;list-style:none;display:flex}.sponsor-card{color:inherit;background:#fff;border:1px solid #16382a1a;border-radius:14px;padding:12px 14px;text-decoration:none;display:block}a.sponsor-card:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.sponsor-name{letter-spacing:-.02em;color:var(--forest);font-family:Fraunces,Georgia,serif;font-size:18px;font-style:italic;font-weight:560}.sponsor-blurb{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.4}@media (prefers-reduced-motion:reduce){.drawer,.drawer-backdrop,.menu-btn span{transition:none}}
