:root{--ink:#182f2b;--muted:#69766c;--paper:#f7f8f2;--line:#dfe5d9;--green:#254f3a;--lime:#def296;--orange:#dc713f;--white:#fff;--radius:18px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.55;cursor:wait}button,a{touch-action:manipulation}a{color:inherit}button{border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:3px}button{min-height:44px}h1,h2,h3,p{margin:0}h1{font-size:clamp(34px,3.65vw,58px);letter-spacing:-2.5px;line-height:1.03;font-weight:750}h1 em{font-style:normal;color:#658151}h2{font-size:23px;letter-spacing:-.7px}h3{font-size:18px;letter-spacing:-.4px}p{line-height:1.65}input,select,textarea{background:#fff;border:1px solid #cad3c4;border-radius:10px;padding:12px;max-width:100%;color:var(--ink)}textarea{resize:vertical;min-height:94px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--green)}.topbar{height:86px;background:var(--ink);color:white;padding:0 3.8%;display:flex;align-items:center;gap:38px}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-weight:780;font-size:24px;letter-spacing:-1px;white-space:nowrap}.brand-mark{font-size:32px;background:var(--lime);color:var(--ink);width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;position:relative;line-height:1}.brand-mark span{font-size:20px;position:absolute;right:1px;top:0}.beta{font-size:9px;letter-spacing:1px;border:1px solid #607365;border-radius:5px;padding:4px;margin-left:3px;color:#b9c8bb}.topbar nav{display:flex;align-self:stretch;gap:12px;margin:auto}.nav-item{color:#b9c8bb;padding:0 15px;position:relative;font-size:14px;font-weight:650}.nav-item.active{color:white}.nav-item.active:after{content:"";height:3px;position:absolute;bottom:0;left:15px;right:15px;background:var(--lime);border-radius:5px}.header-actions{display:flex;align-items:center;gap:18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:10px;font-weight:680;font-size:13px;text-decoration:none;line-height:1.35;transition:transform .15s,background .15s}.button:hover{transform:translateY(-1px)}.primary{background:var(--lime);color:var(--ink)}.light{background:#eaf0e2}.white{background:white;box-shadow:0 3px 12px #00000012}.outline{border:1px solid #becbb4}.dark{background:var(--ink);color:white}.danger{background:#fff1eb;color:#a53220;border:1px solid #edc4b8}.avatar{border-radius:50%;background:#41624b;color:#e7f5d1;width:42px;height:42px;font-weight:750}.view{display:none}.view.active{display:block}.explore-heading{display:flex;align-items:flex-end;justify-content:space-between;padding:40px 3.8% 26px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.65px;color:#6d7e63;display:block;margin-bottom:12px}.explore-copy{font-size:14px;line-height:1.8;color:var(--muted);padding-bottom:6px}.discovery-tools{display:flex;gap:12px;margin:0 3.8% 22px;align-items:center;flex-wrap:wrap}.location-search{display:flex;align-items:center;border:1px solid var(--line);background:white;border-radius:11px;padding:0 12px;gap:5px;width:300px}.location-search>span{font-size:27px}.location-search input{border:0;outline-offset:-4px;min-width:0;width:100%;background:transparent;font-size:13px;padding:12px 4px}.location-search button{font-size:22px;padding:0 4px}.sport-filters{display:flex;gap:6px;overflow:auto;flex:1;min-width:260px;padding:3px}.sport-chip{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border:1px solid var(--line);border-radius:30px;padding:8px 12px;font-size:12px;background:white;min-height:38px}.sport-chip.active{background:var(--ink);color:white;border-color:var(--ink)}.explore-layout{display:grid;grid-template-columns:365px 1fr;margin:0 3.8%;min-height:580px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:white}.results-panel{padding:23px 21px;max-height:660px;overflow:auto;scrollbar-width:thin}.results-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.results-top .eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:6px}.results-top h2{font-size:21px}.icon-button{font-size:26px;min-width:44px;border-radius:9px}.icon-button:hover{background:#e8eedf}.segmented{display:flex;background:#eff2e9;padding:4px;border-radius:10px;gap:3px}.segmented button{flex:1;padding:8px 4px;min-height:36px;font-size:12px;font-weight:650;border-radius:7px}.segmented button.active{background:white;box-shadow:0 2px 5px #19302012}.result-options{display:flex;align-items:center;gap:9px;margin:15px 0;font-size:11px;color:var(--muted)}.result-options select{font-size:11px;padding:6px 3px;border:0;background:#f6f8f2}.check-label{display:flex;align-items:center;gap:6px;margin-left:auto}.small{font-size:12px}.muted{color:var(--muted)}#results-summary{margin:8px 0 14px}.game-card,.venue-card{border:1px solid var(--line);border-radius:13px;padding:17px;margin-bottom:12px;background:white;transition:border-color .2s,transform .2s;text-align:left;width:100%;position:relative}.game-card:hover,.venue-card:hover{border-color:#8caa6d;transform:translateY(-2px)}.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px}.sport-label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.6px}.sport-ball{width:32px;height:32px;display:inline-grid;place-items:center;background:#f3e8d7;border-radius:9px;font-size:19px}.pill{display:inline-flex;align-items:center;border-radius:20px;padding:5px 8px;font-size:10px;font-weight:700;background:#eff3e8;color:#5b6d4a}.pill.live{background:#e3f1c9;color:#3b6330}.pill.warm{background:#fff0e1;color:#a1582a}.card-meta{font-size:12px;line-height:1.85;color:var(--muted);margin-top:7px}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:16px;border-top:1px solid #eef0e9;padding-top:12px;font-size:11px}.mini-avatars{display:flex;align-items:center}.mini-avatar{width:26px;height:26px;border:2px solid white;border-radius:50%;background:#dce6d3;display:grid;place-items:center;font-size:10px;font-weight:700;margin-right:-6px}.mini-avatar:nth-child(2){background:#ead8c2}.mini-avatar:nth-child(3){background:#d6e3e9}.player-count{margin-left:13px;color:var(--muted);font-size:10px}.card-arrow{font-size:19px;color:#50763c}.safety-note{line-height:1.6;color:var(--muted);padding:15px 2px 0}.map-wrap{position:relative;min-height:580px;background:#e6eada;border-left:1px solid var(--line)}#map{position:absolute;inset:0;background:#e7ecdf;z-index:1}.leaflet-container{font-family:inherit!important}.map-top{position:absolute;top:18px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;gap:8px;z-index:500;pointer-events:none}.map-top>*{pointer-events:auto}.map-label{background:white;padding:12px;border-radius:9px;font-size:11px;box-shadow:0 2px 10px #213c1810}.map-label i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#719a44;margin-right:6px}.map-bottom{position:absolute;bottom:27px;left:14px;right:14px;display:flex;justify-content:space-between;gap:10px;z-index:500;pointer-events:none;font-size:9px;color:#36542d}.map-bottom>span{background:#fffffff2;padding:8px 10px;border-radius:7px}.orange-dot{color:var(--orange)}#map-fallback{position:absolute;inset:130px 15%;z-index:400;background:#f9fbf0;border:1px solid #c7d6b7;border-radius:20px;padding:30px;height:fit-content;max-width:420px}#map-fallback p{font-size:13px;margin-top:10px}.game-marker,.venue-marker{border:2px solid white;box-shadow:0 3px 9px #142d2a40;display:grid;place-items:center;font-size:19px;border-radius:50% 50% 50% 10%;transform:rotate(-45deg);width:40px!important;height:40px!important;background:var(--ink);color:white}.game-marker>span,.venue-marker>span{transform:rotate(45deg)}.venue-marker{background:var(--orange);width:31px!important;height:31px!important;font-size:14px}.play-note{display:flex;align-items:center;gap:17px;padding:24px 3.8%;margin:12px 0}.play-note>div{display:flex;flex-direction:column;gap:5px}.play-note strong{font-size:15px}.play-note span:not(.court-mini){font-size:12px;color:var(--muted)}.play-note button{margin-left:auto}.court-mini{width:49px;height:49px;border:1px solid #c4d3b7;border-radius:13px;display:grid;place-items:center;background:#e9efdf;font-size:34px;color:#799961}.page-view{padding:50px 5%;min-height:74vh}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:15px}.page-view h1{margin-bottom:15px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.card-grid .game-card{margin:0}.empty{border:1px dashed #bfccaf;border-radius:14px;padding:30px 23px;text-align:center;background:#f7f9f0;grid-column:1/-1}.empty-mark{font-size:34px;margin-bottom:14px;color:#7e9d65}.empty h3{margin-bottom:9px}.empty p{font-size:13px;color:var(--muted);margin-bottom:20px}.empty .button{width:100%}.inbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:35px}.inbox-grid h2{margin-bottom:16px}.list-item{display:block;padding:18px;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;width:100%;text-align:left;background:white}.list-item p{font-size:13px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.text-button{font-size:12px;text-decoration:underline;text-underline-offset:3px;padding:3px}.row-actions{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}.row-actions .button{flex:1}.stack{display:grid;gap:15px}.stack label{display:grid;gap:7px;font-size:12px;font-weight:650}.stack .check-line{display:flex;align-items:flex-start;gap:9px;line-height:1.7;font-weight:400}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field-note{font-size:11px;color:var(--muted);line-height:1.6}.divider{height:1px;background:var(--line);margin:20px 0}.notice{font-size:12px;border:1px solid #e6dab4;background:#fcf8ea;border-radius:10px;padding:13px;line-height:1.65}.detail-hero{padding:24px;border-radius:14px;background:var(--ink);color:white;margin-bottom:20px;position:relative;overflow:hidden}.detail-hero:after{content:"";position:absolute;width:180px;height:180px;border:1px solid #65805d;right:-60px;bottom:-100px;border-radius:50%;pointer-events:none}.detail-hero h3{font-size:27px;line-height:1.15;margin:15px 0 8px}.detail-hero p{font-size:12px;color:#c6d4bd}.detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0}.detail-stats>div{background:#f0f4e8;border-radius:10px;padding:13px;text-align:center}.detail-stats strong{display:block;font-size:21px}.detail-stats span{font-size:10px;color:var(--muted)}.player-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.player-row .text-button{font-size:11px}.chip-group{display:flex;gap:7px;flex-wrap:wrap}.chip-group label{display:flex;align-items:center;font-weight:400;gap:4px}.chat-messages{height:340px;overflow:auto;padding:4px;display:flex;flex-direction:column;gap:12px;margin:12px 0}.message{background:#eff3e9;border-radius:13px;padding:12px;max-width:92%;align-self:flex-start;overflow-wrap:anywhere}.message.own{align-self:flex-end;background:#e0edc4}.message strong{font-size:11px}.message p{font-size:13px;white-space:pre-wrap}.message small{font-size:9px;color:var(--muted)}.message .text-button{min-height:30px;font-size:10px}#chat-form{display:flex;gap:8px}#chat-form input{flex:1;min-width:0}.error{color:#ad3925;font-size:12px;line-height:1.5}dialog{border:0;border-radius:21px;padding:25px;width:min(540px,calc(100% - 28px));max-height:90dvh;color:var(--ink);box-shadow:0 25px 100px #132d2940}dialog::backdrop{background:#102a246b;backdrop-filter:blur(5px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.dialog-header h2{font-size:21px}.dialog-header button{flex-shrink:0}#toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--ink);color:white;z-index:2000;padding:15px 22px;border:1px solid #789663;border-radius:12px;max-width:90vw;width:max-content;font-size:13px;box-shadow:0 10px 40px #132d2930}footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:25px 3.8%;font-size:11px;border-top:1px solid var(--line)}footer>div{display:flex;align-items:center;gap:20px}footer a{text-decoration:none}footer a:hover{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;left:10px;z-index:3000;background:white;padding:12px}.skip:focus{top:10px}.document{max-width:860px;margin:40px auto;padding:0 24px}.document h1{margin:20px 0}.document h2{margin:30px 0 12px}.document h3{margin:20px 0 8px}.document p,.document li{font-size:14px;line-height:1.8}.document nav{display:flex;gap:18px;flex-wrap:wrap}.document table{border-collapse:collapse;width:100%;font-size:12px}.document td,.document th{border:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}.document code{background:#e7eddc;padding:3px 5px;border-radius:4px}.log-row{font-family:ui-monospace,monospace;font-size:11px;padding:12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.owner-content pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#eef3e6;padding:14px;font-size:11px}.owner-tabs{display:flex;gap:10px;margin:20px 0}[hidden]{display:none!important}
@media(min-width:1500px){main{max-width:1700px;margin:auto}.explore-layout{grid-template-columns:405px 1fr}.map-wrap{min-height:660px}.results-panel{max-height:740px}}
@media(max-width:1100px){.topbar{gap:15px;padding:0 25px}.topbar nav{gap:0}.nav-item{padding:0 10px}.header-actions{gap:10px}.sport-filters{flex-basis:100%;min-width:0}.explore-layout{grid-template-columns:330px 1fr}.map-label{display:none}.explore-copy{font-size:12px}.explore-heading{padding-top:30px}}
@media(max-width:700px){h1{letter-spacing:-1.6px}.topbar{height:72px;padding:env(safe-area-inset-top) 18px 0}.brand{font-size:21px}.brand-mark{width:34px;height:34px;font-size:27px}.beta{font-size:8px}.topbar nav{position:fixed;bottom:0;left:0;right:0;height:calc(62px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--ink);z-index:900;justify-content:space-around;border-top:1px solid #53674f}.nav-item{font-size:12px;flex:1}.nav-item.active:after{bottom:auto;top:0}.header-actions{margin-left:auto}.header-actions .button{font-size:11px;padding:10px}.avatar{width:35px;min-height:35px;height:35px}.explore-heading{padding:27px 20px 20px}.explore-copy{display:none}.eyebrow{font-size:8px;letter-spacing:1.4px}.explore-heading h1{font-size:39px}.discovery-tools{margin:0 18px 16px;gap:8px}.location-search{flex:1;width:auto;min-width:170px}.discovery-tools>.button{font-size:10px;padding:12px 9px}.sport-filters{margin-top:5px}.sport-chip{font-size:11px;padding:8px 11px;min-height:40px}.explore-layout{margin:0 14px;display:flex;flex-direction:column-reverse;border-radius:16px}.map-wrap{height:310px;min-height:310px;border:0;border-bottom:1px solid var(--line)}.map-top{top:12px;left:12px;right:12px;justify-content:flex-end}.map-top .button{font-size:10px;padding:9px}.map-bottom{font-size:8px;bottom:24px;left:8px;right:8px}.map-bottom>span{padding:5px}.results-panel{max-height:none;padding:20px 17px}.results-top h2{font-size:23px}.game-card{padding:17px}.play-note{padding:22px 20px;gap:12px;flex-wrap:wrap}.play-note strong{font-size:13px}.play-note span:not(.court-mini){font-size:11px}.play-note button{margin-left:60px;font-size:11px}.court-mini{width:43px;height:43px}.page-view{padding:30px 20px;min-height:70vh}.page-heading{align-items:flex-start;flex-direction:column}.page-view h1{font-size:36px}.inbox-grid{grid-template-columns:1fr;gap:30px}.card-grid{grid-template-columns:1fr}.two-cols{grid-template-columns:1fr 1fr}.two-cols>*{min-width:0}.two-cols input{min-width:0;width:100%}footer{padding:20px 20px calc(85px + env(safe-area-inset-bottom));align-items:flex-start;flex-direction:column}footer>div{gap:17px}footer>span>.muted{display:none}dialog{padding:20px;max-height:85dvh}#toast{bottom:85px}#map-fallback{inset:70px 15px;padding:20px}.document{margin:25px auto}.document h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* One code input; development hints are plain explanatory text, never a second box. */
.verification-form{text-align:center;padding:6px 0 12px;gap:20px}
.verification-form>label{justify-items:center;gap:12px}
.verification-code{display:block;width:240px;max-width:100%;margin-inline:auto;text-align:center;font-size:28px;font-variant-numeric:tabular-nums;letter-spacing:.3em;padding:15px 12px 15px 20px;border:2px solid #8aa66c;border-radius:12px}
.verification-code::placeholder{color:#a2af99;opacity:1}
.verification-help{text-align:center;font-size:12px;line-height:1.65;color:var(--muted);border:0;background:none;padding:0;margin:0}
.verification-help strong{color:var(--ink);letter-spacing:2px;white-space:nowrap}
