.fairway-social{max-width:1280px;margin:0 auto}
.golf-circle-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.4fr);gap:clamp(32px,7vw,104px);align-items:end;padding-bottom:34px}
.golf-circle-intro h1{max-width:760px}.golf-circle-intro .lede{max-width:700px}
.connection-note{display:grid;grid-template-columns:4px minmax(0,1fr);gap:16px;align-items:stretch;padding:4px 0;color:var(--text-secondary);line-height:1.5}
.connection-note-line{display:block;background:var(--accent)}.connection-note strong,.connection-note span{display:block}.connection-note strong{margin-bottom:5px;color:var(--text-primary)}
.fairway-connection-tabs{display:flex;gap:2px;overflow-x:auto;padding:0 0 1px;border-block:2px solid var(--border-strong);scrollbar-width:thin}
.fairway-connection-tabs button{position:relative;min-height:58px;padding:0 21px;border:0;background:transparent;color:var(--text-secondary);font:inherit;font-size:.78rem;font-weight:850;letter-spacing:.035em;white-space:nowrap;cursor:pointer}
.fairway-connection-tabs button::after{content:"";position:absolute;right:20px;bottom:-2px;left:20px;height:4px;background:transparent}
.fairway-connection-tabs button:hover{color:var(--text-primary);background:var(--surface-raised)}
.fairway-connection-tabs button.active{color:var(--text-primary)}.fairway-connection-tabs button.active::after{background:var(--accent)}
.fairway-connection-tabs button:focus-visible{z-index:1;outline:3px solid var(--focus-ring,var(--accent));outline-offset:-4px}
.golfer-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;max-width:780px;margin:26px 0 16px;padding:14px;border-left:4px solid var(--accent);background:var(--surface-raised)}
.golfer-search input{min-width:0}.social-message{min-height:1.5em;margin:15px 0;color:var(--text-muted)}
.golfer-directory{min-height:280px;border-top:1px solid var(--border-default)}
.golfer-row{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:112px;padding:20px 4px 20px 18px;border-bottom:1px solid var(--border-default)}
.golfer-row::before{content:"";position:absolute;top:20px;bottom:20px;left:0;width:3px;background:transparent}.golfer-row:hover::before,.golfer-row:focus-within::before{background:var(--accent)}
.golfer-avatar{width:56px;height:56px;display:grid;place-items:center;overflow:hidden;border:2px solid var(--border-strong);border-radius:50%;background:var(--action-primary-bg);color:var(--action-primary-text);font-weight:850}.golfer-avatar img{width:100%;height:100%;object-fit:cover}
.golfer-identity{min-width:0}.golfer-identity>strong,.golfer-identity>span{display:block}.golfer-identity>strong{font-size:1.03rem;line-height:1.2}.golfer-identity>span{margin-top:3px;color:var(--text-muted);font-size:.76rem}.golfer-identity p{max-width:650px;margin:7px 0 0;overflow:hidden;color:var(--text-secondary);font-size:.83rem;text-overflow:ellipsis;white-space:nowrap}
.golfer-states{display:flex;flex-wrap:wrap;gap:0;margin-top:11px}.golfer-states span{display:inline-flex;align-items:center;padding:0;color:var(--text-muted);font-size:.67rem;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.golfer-states span+span::before{content:"/";margin:0 8px;color:var(--border-strong)}
.golfer-actions{position:relative;display:flex;flex-wrap:wrap;justify-content:end;align-items:center;gap:8px;max-width:100%}
.golfer-actions .social-action,.golfer-more>summary{min-height:46px;touch-action:manipulation;transform:none}
.social-action{padding-inline:15px;border-color:var(--border-default);border-radius:3px;background:transparent;color:var(--text-primary);box-shadow:none}.social-action:hover{border-color:var(--border-strong);background:var(--surface-raised)}
.social-action.primary{min-width:116px;border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.social-action.primary:hover{border-color:var(--accent-hover);background:var(--accent-hover)}
.social-action.quiet-danger{padding-inline:10px;border-color:transparent;background:transparent;color:var(--danger)}.social-action.quiet-danger:hover{border-color:color-mix(in srgb,var(--danger) 38%,transparent);background:color-mix(in srgb,var(--danger) 9%,transparent)}
.social-action:disabled{opacity:.6;cursor:wait}
.golfer-more{position:relative;min-width:94px}.golfer-more>summary{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 15px;list-style:none;cursor:pointer;border:1px solid var(--border-default);border-radius:3px;background:var(--surface-panel);color:var(--text-secondary);font-weight:780}.golfer-more>summary::-webkit-details-marker{display:none}.golfer-more>summary::after{content:"⌄";font-size:1rem}.golfer-more[open]>summary{border-color:var(--border-strong);color:var(--text-primary)}
.golfer-secondary{position:absolute;right:0;top:calc(100% + 5px);z-index:20;width:210px;padding:6px;background:var(--surface-panel);border:1px solid var(--border-strong);box-shadow:0 12px 30px #0003}
.golfer-secondary .social-action{display:block;width:100%;min-height:44px;text-align:left;border:0;border-radius:0;padding:12px}.golfer-secondary .social-action+.social-action{border-top:1px solid var(--border-default)}
.golfer-more>summary:focus-visible,.social-action:focus-visible{outline:3px solid var(--focus-ring,var(--accent));outline-offset:3px}
.social-empty{min-height:250px;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;color:var(--text-muted)}.social-empty>span{position:relative;width:34px;height:34px;border-bottom:2px solid var(--border-strong)}.social-empty>span::before{content:"";position:absolute;left:10px;bottom:0;width:2px;height:30px;background:var(--border-strong)}.social-empty>span::after{content:"";position:absolute;left:12px;top:3px;width:16px;height:10px;border:2px solid var(--border-strong);border-left:0}.social-empty strong{color:var(--text-primary);font-size:1.08rem}.social-empty p{margin:0;max-width:420px}
.connection-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px;padding-top:18px;border-top:1px solid var(--border-default);color:var(--text-muted);font-size:.78rem}.connection-footer .text-button{display:inline-flex;align-items:center;gap:7px}.connection-footer svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.social-confirm{width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-panel);color:var(--text-primary)}.social-confirm::backdrop{background:#0008}.social-confirm h2{font-size:1.3rem;margin:0 0 12px}.social-confirm p{color:var(--text-secondary);line-height:1.6}.social-confirm-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.social-confirm-actions button{min-height:48px;flex:1;touch-action:manipulation}
@media(max-width:820px){.golf-circle-intro{grid-template-columns:1fr;gap:24px}.connection-note{max-width:620px}.golfer-row{grid-template-columns:56px minmax(0,1fr)}.golfer-actions{grid-column:1/-1;justify-content:start;padding-left:74px}.fairway-connection-tabs button{min-height:54px;padding-inline:17px}}
@media(max-width:520px){.golf-circle-intro{padding-bottom:24px}.fairway-connection-tabs{margin-inline:-16px;padding-inline:8px}.fairway-connection-tabs button{min-height:50px;padding-inline:13px}.fairway-connection-tabs button::after{right:12px;left:12px}.golfer-search{grid-template-columns:1fr;margin-top:18px;padding:12px}.golfer-row{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:17px 0}.golfer-row::before{display:none}.golfer-avatar{width:46px;height:46px}.golfer-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;padding-left:60px}.golfer-actions>.social-action{width:100%;min-width:0}.golfer-more{min-width:98px}.golfer-secondary{position:fixed;right:16px;bottom:16px;top:auto;width:min(260px,calc(100vw - 32px));z-index:40}.golfer-identity>strong{overflow-wrap:anywhere}.golfer-identity p{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.connection-footer{align-items:flex-start;flex-direction:column}.social-confirm-actions{flex-direction:column-reverse}.social-confirm-actions button{width:100%;flex:none}}
