@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";
:root{--ink:#14231f;--muted:#68736d;--paper:#f7f8f2;--card:#fff;--line:#e2e7df;--green:#1d7a5a;--green-dark:#14583f;--mint:#dcf2e7;--orange:#f2a65a;--danger:#b84b4b}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);background:radial-gradient(circle at 88% -10%, #d9eee1 0, transparent 30rem), var(--paper);margin:0;font-family:DM Sans,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.skip-link{z-index:100;color:#fff;background:var(--green-dark);border-radius:10px;padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.page-shell{min-height:100svh}.container{width:min(100% - 32px,1040px);margin:0 auto}.topbar{justify-content:space-between;align-items:center;padding:24px 0 16px;display:flex}.header-actions{align-items:center;gap:10px;display:flex}.auth-controls,.auth-signed-in{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;min-width:0;display:flex}.auth-input{background:#fff;border:1px solid #cfd9d0;border-radius:9px;width:145px;padding:8px 10px;font-size:12px}.text-button,.claim-button{min-width:44px;min-height:44px;color:var(--green);background:0 0;border:0;justify-content:center;align-items:center;padding:8px;font-size:12px;font-weight:700;display:inline-flex}.text-button:disabled,.claim-button:disabled{cursor:wait;opacity:.55}.auth-message{max-width:260px;color:var(--green-dark);text-align:right;flex:1 0 100%;font-size:12px;line-height:1.4}.auth-signed-in{flex-wrap:wrap}.claim-button{margin-top:10px;display:inline-flex}.claimed-label,.claim-locked{margin-top:9px;font-size:11px;font-weight:700;display:inline-block}.claimed-label{color:var(--green-dark)}.claim-locked{color:var(--muted)}.claim-onboarding{color:var(--green-dark);background:#eff9f3;border:1px solid #c9dfd0;border-radius:14px;margin:0 0 16px;padding:14px 16px}.claim-onboarding strong{margin-bottom:4px;display:block}.claim-onboarding p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.member-details{min-width:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.brand{letter-spacing:-.04em;align-items:center;gap:10px;font-family:Space Grotesk,sans-serif;font-weight:700;display:flex}.brand-mark{color:#fff;background:var(--green);border-radius:12px;place-items:center;width:38px;height:38px;font-size:20px;display:grid}.status-pill{color:var(--green-dark);background:#eef9f1;border:1px solid #c9dfd0;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:700}.hero{gap:20px;padding:56px 0 38px;display:grid}.eyebrow{color:var(--green);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:700}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.065em;max-width:650px;margin-bottom:14px;font-family:Space Grotesk,sans-serif;font-size:clamp(38px,8vw,72px);line-height:.98}.hero-copy{max-width:590px;color:var(--muted);font-size:17px;line-height:1.55}.import-card{border:1px solid var(--line);background:#ffffffdb;border-radius:20px;gap:12px;max-width:720px;padding:18px;display:grid;box-shadow:0 18px 50px #14372614}.field-label{color:var(--ink);font-size:13px;font-weight:700}.input-row{gap:10px;display:flex}.input{min-width:0;color:var(--ink);background:#fff;border:1px solid #cfd9d0;border-radius:12px;outline:none;flex:1;padding:14px 15px}.input:focus{border-color:var(--green);box-shadow:0 0 0 3px #1d7a5a1f}.skip-link:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible,[role=tabpanel]:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.button{color:#fff;background:var(--green);border:0;border-radius:12px;padding:0 19px;font-weight:700;transition:transform .2s,background .2s}.button:hover{background:var(--green-dark);transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.6;transform:none}.hint{color:var(--muted);margin:0;font-size:12px}.error{color:var(--danger);background:#fff0ed;border-radius:10px;margin:0;padding:11px 13px;font-size:13px}.league-panel{padding:20px 0 60px}.league-hub-header{border:1px solid var(--line);background:#ffffffd1;border-radius:18px;margin:0 0 18px;padding:20px}.league-hub-header .league-heading{margin-bottom:18px}.roster-panel{padding:18px 0 4px}.league-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.league-heading>div:first-child,.section-heading>div:first-child,.settlement-item>div:first-child{min-width:0}.league-heading h2{letter-spacing:-.04em;margin-bottom:5px;font-family:Space Grotesk,sans-serif;font-size:clamp(25px,5vw,38px)}.league-meta{color:var(--muted);margin:0}.member-count{color:var(--green-dark);background:var(--mint);white-space:nowrap;border-radius:10px;padding:9px 12px;font-size:13px;font-weight:700}.member-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.member-card{border:1px solid var(--line);background:var(--card);border-radius:16px;align-items:center;gap:12px;padding:14px;display:flex}.avatar{width:42px;height:42px;color:var(--green-dark);background:var(--mint);border-radius:13px;flex:0 0 42px;place-items:center;font-family:Space Grotesk,sans-serif;font-weight:700;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.member-name{overflow-wrap:anywhere;margin:0 0 3px;font-weight:700}.team-name{overflow-wrap:anywhere;color:var(--muted);margin:0;font-size:13px}.empty{color:var(--muted);text-align:center;border:1px dashed #cbd6cd;border-radius:16px;padding:25px}.footer{color:var(--muted);padding:24px 0 32px;font-size:12px}.workspace{padding-bottom:18px}.league-switcher,.bet-card{border:1px solid var(--line);background:#ffffffd1;border-radius:18px;margin:0 0 18px;padding:18px}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.section-heading h2,.section-heading h3{letter-spacing:-.04em;margin:0;font-family:Space Grotesk,sans-serif}.section-heading h2{font-size:clamp(22px,4vw,30px)}.section-heading h3{font-size:21px}.league-list{flex-wrap:wrap;gap:9px;display:flex}.league-link{min-width:180px;color:var(--ink);text-align:left;background:#fff;border:1px solid #cfd9d0;border-radius:12px;gap:3px;padding:12px 14px;display:grid}.league-link:hover,.league-link.is-active{border-color:var(--green);background:#eff9f3}.league-link span{font-weight:700}.league-link small{color:var(--muted)}.league-nav{scrollbar-width:thin;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.league-nav-link,.table-tab{color:var(--muted);background:#fff;border:1px solid #cfd9d0;border-radius:999px;flex:none;padding:9px 13px;font-size:13px;font-weight:700}.league-nav-link.is-active,.table-tab.is-active{border-color:var(--green);color:var(--green-dark);background:var(--mint)}.empty-inline{color:var(--muted);margin:0;font-size:14px}.step-count{color:var(--green-dark);white-space:nowrap;font-size:12px;font-weight:700}.flow-step{gap:10px;display:grid}.flow-step textarea{resize:vertical;min-height:90px}.flow-button{min-height:44px}.flow-actions,.response-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:4px;display:flex}.choice-set{color:var(--ink);border:0;gap:8px;padding:10px 0 0;font-size:14px;display:grid}.choice-set legend{color:var(--ink);margin-bottom:6px;font-weight:700}.choice-set label{align-items:center;gap:8px;display:flex}.review-card{background:var(--mint);border-radius:13px;padding:14px}.review-card,.bet-item,.settlement-item{overflow-wrap:anywhere}.review-card p{margin-bottom:8px}.review-card p:last-of-type{margin-bottom:16px}.review-match{font-family:Space Grotesk,sans-serif;font-size:18px;font-weight:700}.review-match span,.bet-item-top span{color:var(--muted);font-weight:500}.muted-card{color:var(--muted)}.muted-card h3{color:var(--ink)}.bet-list{gap:10px;display:grid}.hub-stack,.settlement-stack{gap:18px;display:grid}.settlement-hero{background:linear-gradient(135deg,#f6fffa,#fffffff5);border-color:#c9dfd0}.settlement-intro{color:var(--muted);margin:0 0 15px;font-size:14px;line-height:1.45}.net-position-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;display:grid}.net-position{background:#fff;border-radius:13px;gap:4px;padding:13px;display:grid}.net-position span{color:var(--muted);font-size:12px;font-weight:700}.net-position strong{font-family:Space Grotesk,sans-serif;font-size:20px}.net-position.negative{border:1px solid #f2d6b0}.net-position.negative strong{color:#8d5c1a}.net-position.positive{border:1px solid #c9dfd0}.net-position.positive strong{color:var(--green-dark)}.settlement-list{gap:10px;display:grid}.settlement-item{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.settlement-item strong{line-height:1.35;display:block}.settlement-item p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.4}.settlement-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.settlement-status{color:#8d5c1a;white-space:nowrap;background:#fff4de;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:700}.settlement-status.marked_paid{color:#73501d;background:#fff0d5}.settlement-status.settled{color:var(--green-dark);background:var(--mint)}.chug-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 14px;display:grid}.chug-summary span{color:var(--muted);text-align:center;text-transform:uppercase;background:#f5f7f3;border-radius:11px;gap:2px;padding:10px;font-size:11px;display:grid}.chug-summary strong{color:var(--ink);font-family:Space Grotesk,sans-serif;font-size:19px}.attention-card{background:linear-gradient(135deg,#f6fffa,#fffffff5);border-color:#c9dfd0}.count-pill{min-width:28px;min-height:28px;color:var(--green-dark);background:var(--mint);border-radius:999px;place-items:center;font-size:12px;font-weight:700;display:grid}.bet-item{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px}.bet-item-top{justify-content:space-between;gap:12px;display:flex}.bet-item p{color:var(--muted);margin:8px 0 0;font-size:14px}.bet-item .stake-line{color:var(--ink);font-weight:700}.bet-status{color:#8d5c1a;white-space:nowrap;background:#fff4de;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.bet-status.accepted{background:var(--mint);color:var(--green-dark)}.bet-status.rejected{color:var(--danger);background:#fff0ed}.bet-status.resolved{color:#335e9b;background:#e5edf8}.resolution-line{font-weight:700;color:var(--green-dark)!important}.resolution-actions{gap:9px;margin-top:12px;display:grid}.resolution-choice-grid{flex-wrap:wrap;gap:8px;display:flex}.resolution-hint,.resolution-feedback{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.resolution-feedback{color:var(--green-dark);background:var(--mint);border-radius:10px;padding:11px 13px}.outline-button{border:1px solid var(--green);color:var(--green);background:#fff;border-radius:10px;padding:10px 13px;font-weight:700}.compact{min-height:44px;padding:8px 12px}.activity-list{gap:2px;display:grid}.activity-item{border-bottom:1px solid var(--line);grid-template-columns:14px minmax(0,1fr);gap:10px;padding:12px 0;display:grid}.activity-item:last-child{border-bottom:0;padding-bottom:0}.activity-dot{background:var(--green);width:8px;height:8px;box-shadow:0 0 0 4px var(--mint);border-radius:50%;margin-top:6px}.activity-item p{color:var(--muted);margin:0 0 5px;font-size:14px;line-height:1.45}.activity-item strong{color:var(--ink)}.activity-item time{color:var(--muted);font-size:12px}.composer-details,.roster-details{border:1px solid var(--line);background:#ffffffa6;border-radius:18px;margin:0 0 18px}.composer-details summary,.roster-details summary{color:var(--green-dark);cursor:pointer;padding:16px 18px;font-size:14px;font-weight:700}.composer-details[open],.roster-details[open]{background:#ffffffe6}.composer-details .bet-card{border-bottom:0;border-left:0;border-right:0;border-radius:0 0 18px 18px;margin:0}.roster-details .roster-panel{padding:0 18px 18px}.table-card{overflow:hidden}.table-tabs{gap:8px;margin-bottom:14px;padding-bottom:2px;display:flex;overflow-x:auto}.table-note{color:var(--green-dark);background:var(--mint);border-radius:12px;margin:0 0 14px;padding:12px 13px;font-size:13px;line-height:1.4}.table-scroll{scrollbar-width:thin;margin:0 -18px -18px;overflow-x:auto}.league-table{border-collapse:collapse;width:100%;min-width:580px;font-size:13px}.league-table th,.league-table td{border-top:1px solid var(--line);text-align:right;white-space:nowrap;padding:12px 18px}.league-table thead th{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;background:#f9faf7;font-size:11px}.league-table th[scope=row]{color:var(--ink);font-size:inherit;letter-spacing:normal;text-transform:none;background:0 0}.league-table th:first-child,.league-table td:first-child{text-align:left;min-width:150px}.league-table td small{color:var(--muted);margin-top:3px;font-size:11px;font-weight:400;display:block}.rivalry-stack{gap:18px;display:grid}.rivalry-hero{color:#fff;background:linear-gradient(135deg,#143f32,#1d7a5a);border-color:#143f32}.rivalry-hero .eyebrow,.rivalry-hero .settlement-intro{color:#c7e8d8}.rivalry-hero h3{color:#fff}.heat-explainer{color:#def5e8;border:1px solid #ffffff57;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:700}.rivalry-scope{margin-top:16px}.rivalry-scope .table-tab{color:#d7eee2;background:#ffffff14;border-color:#ffffff4d}.rivalry-scope .table-tab.is-active{color:var(--green-dark);background:#fff;border-color:#fff}.top-rivalry{color:#fff;text-align:left;background:#07302357;border:1px solid #ffffff3d;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;width:100%;margin-top:18px;padding:15px;display:flex}.top-rivalry>div,.rivalry-row>span{overflow-wrap:anywhere;min-width:0}.top-rivalry .eyebrow,.top-rivalry small{color:#c7e8d8;display:block}.top-rivalry strong{margin:4px 0;font-size:18px;display:block}.heat-score{min-width:58px;color:var(--green-dark);background:#fff;border-radius:12px;place-items:center;padding:8px;display:grid}.heat-score b{font-family:Space Grotesk,sans-serif;font-size:22px}.top-rivalry .heat-score small{color:var(--green-dark)}.heat-score small,.rivalry-row b small{text-transform:uppercase;font-size:10px;display:block}.superlative-scroll{scrollbar-width:thin;grid-auto-columns:minmax(178px,1fr);grid-auto-flow:column;gap:10px;padding-bottom:4px;display:grid;overflow-x:auto}.superlative-card{border:1px solid var(--line);background:#f9faf7;border-radius:14px;align-content:space-between;gap:8px;min-height:126px;padding:14px;display:grid}.superlative-card span,.superlative-card small{color:var(--muted);font-size:12px;line-height:1.35}.superlative-card em{color:var(--green-dark);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-style:normal;font-weight:700;overflow:hidden}.superlative-card strong{font-family:Space Grotesk,sans-serif;font-size:17px;line-height:1.08}.rivalry-list,.season-history-list{gap:8px;display:grid}.rivalry-row{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;display:flex}.rivalry-row:last-child{border-bottom:0;padding-bottom:0}.rivalry-row strong,.rivalry-row small{display:block}.rivalry-row small{color:var(--muted);margin-top:4px;font-size:12px}.rivalry-row b{min-width:42px;color:var(--green-dark);text-align:right;font-family:Space Grotesk,sans-serif;font-size:20px}.rivalry-row.is-selected strong{color:var(--green)}.rivalry-detail{border-color:#b8d8c6}.rivalry-record{background:var(--mint);text-align:center;border-radius:14px;grid-template-columns:1fr 1.15fr 1fr;gap:6px;margin-bottom:16px;padding:14px;display:grid}.rivalry-record div{gap:4px;display:grid}.rivalry-record span{color:#59635e;font-size:11px}.rivalry-detail-grid span{color:var(--muted);font-size:11px}.rivalry-record strong{font-family:Space Grotesk,sans-serif;font-size:20px}.rivalry-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.rivalry-detail-grid p{border:1px solid var(--line);border-radius:11px;gap:4px;margin:0;padding:10px;font-size:13px;display:grid}.rivalry-detail-grid strong{font-size:13px;line-height:1.35}.rivalry-detail,.rivalry-record,.rivalry-detail-grid,.rivalry-cash-row{overflow-wrap:anywhere}.rivalry-cash,.recent-rivalry-bets{margin-top:17px}.rivalry-cash>.eyebrow,.recent-rivalry-bets>.eyebrow{margin-bottom:7px}.rivalry-cash-row,.recent-rivalry-bets>div{border-top:1px solid var(--line);grid-template-columns:55px 1fr 1fr;gap:8px;padding:9px 0;font-size:12px;display:grid}.rivalry-cash-row span,.rivalry-cash-row small,.recent-rivalry-bets span{color:var(--muted)}.rivalry-cash-row small{grid-column:2/-1}.recent-rivalry-bets>div{grid-template-columns:1fr auto}.season-history-list article{border-bottom:1px solid var(--line);padding:12px 0}.season-history-list article:last-child{border-bottom:0;padding-bottom:0}.season-history-list div{align-items:baseline;gap:8px;display:flex}.season-history-list span,.season-history-list p,.season-history-list small{color:var(--muted);font-size:12px}.season-history-list p{margin:5px 0}.season-history-list small{color:var(--green-dark);margin-right:9px;font-weight:700}.invite-card{background:linear-gradient(135deg,#f6fffa,#fffffff5);border-color:#c9dfd0}.invite-card h3{margin:0}.invite-copy{max-width:650px;color:var(--muted);margin:0 0 14px;font-size:13px;line-height:1.45}.participation-details{border:1px solid var(--line);background:#ffffffb3;border-radius:11px;margin:0 0 14px}.participation-details summary{color:var(--green-dark);cursor:pointer;padding:10px 12px;font-size:13px;font-weight:700}.participation-list{gap:0;padding:0 12px 10px;display:grid}.participation-list div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:9px 0;font-size:13px;display:flex}.participation-list strong{font-size:12px}.participation-list .joined{color:var(--green-dark)}.participation-list .not-joined{color:var(--muted)}.invite-url{overflow-wrap:anywhere;border:1px solid var(--line);color:var(--green-dark);background:#fff;border-radius:10px;margin:0 0 12px;padding:11px 12px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.45}.invite-url-input{width:100%;display:block}.invite-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.danger-text{color:var(--danger)}.invite-card .resolution-feedback,.invite-card .error{margin-top:12px}.join-page{min-height:100svh}.join-container{max-width:720px}.invite-landing-card{border:1px solid var(--line);background:#ffffffe6;border-radius:22px;margin-top:56px;padding:clamp(22px,5vw,42px);box-shadow:0 18px 50px #14372614}.invite-landing-card h1{margin-bottom:12px;font-size:clamp(36px,8vw,62px)}.invite-auth{border-top:1px solid var(--line);gap:14px;margin-top:28px;padding-top:22px;display:grid}.invite-auth p{color:var(--muted);margin:0}.invite-auth .auth-controls{flex-wrap:wrap}.invite-question{margin:0 0 12px;padding:0;font-weight:700}.invite-member-list{border:0;gap:8px;margin:28px 0 0;padding:0;display:grid}.invite-member-option{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;display:grid}.invite-member-option:has(input:checked){border-color:var(--green);background:var(--mint)}.invite-member-option.is-claimed{color:var(--muted);cursor:not-allowed;background:#f8faf7}.invite-member-option input{accent-color:var(--green)}.invite-member-option strong,.invite-member-option small{display:block}.invite-member-option small,.invite-member-option em{color:var(--muted);font-size:12px;font-style:normal}.invite-member-option em{color:var(--green-dark);font-weight:700}.invite-member-option.is-claimed em{color:var(--muted)}.invite-claim .review-card{margin-top:14px}@media (max-width:560px){.container{width:min(100% - 24px,1040px)}.topbar{padding-top:16px}.hero{padding-top:38px}.input-row{flex-direction:column}.button{min-height:48px}.member-grid{grid-template-columns:1fr}.league-heading{flex-direction:column;align-items:start}.topbar{align-items:flex-start}.header-actions{flex-direction:column;align-items:flex-end}.auth-controls{flex-wrap:wrap;justify-content:flex-end}.section-heading{flex-direction:column;align-items:flex-start}.league-link{width:100%}.flow-actions{flex-direction:column-reverse;align-items:stretch}.flow-actions .text-button{min-height:36px}.response-actions{justify-content:flex-start}.resolution-choice-grid{grid-template-columns:1fr 1fr;display:grid}.league-hub-header{padding:16px}.league-nav-link{padding:9px 12px}.composer-details,.roster-details{border-radius:16px}.league-table{min-width:540px}.league-table th,.league-table td{padding:11px 14px}.settlement-item{flex-direction:column;align-items:flex-start}.settlement-actions{justify-content:flex-start}.chug-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.rivalry-hero .section-heading{gap:8px}.heat-explainer{align-self:flex-start}.superlative-scroll{grid-auto-columns:minmax(170px,82vw);margin-right:-2px}.rivalry-record{grid-template-columns:1fr}.rivalry-record div:nth-child(2){order:-1}.rivalry-detail-grid{grid-template-columns:1fr}.rivalry-cash-row{grid-template-columns:47px 1fr}.rivalry-cash-row strong{text-align:right}.rivalry-cash-row small{grid-column:1/-1}.invite-landing-card{margin-top:30px}.invite-member-option{grid-template-columns:auto minmax(0,1fr)}.invite-member-option em{grid-column:2}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.button:hover{transform:none}}
