:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#173b3b;background:#f4f8f5;font-synthesis:none}*{box-sizing:border-box}:root{color-scheme:light}html,body,#root{max-width:100%;overflow-x:hidden}body{margin:0;min-width:320px;background:#f4f8f5}.mobile-nav{position:sticky;z-index:10;top:0;display:flex;justify-content:center;gap:.25rem;padding:.75rem 1rem;border-bottom:1px solid #d5e5df;background:#f4f8f5f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-nav a{min-height:44px;display:inline-flex;align-items:center;border-radius:.7rem;padding:.6rem .75rem;color:#476566;font-size:.9rem;font-weight:700;text-decoration:none}.mobile-nav a[aria-current=page]{color:#0b6b68;background:#dcefe9}.mobile-nav a{gap:.35rem}.nav-badge{display:inline-grid;min-width:1.25rem;height:1.25rem;place-items:center;border-radius:999px;padding:0 .25rem;color:#fff;background:#a52424;font-size:.7rem;line-height:1}.nav-more{position:relative}.nav-more summary{min-height:44px;display:inline-flex;align-items:center;border-radius:.7rem;padding:.6rem .75rem;color:#476566;cursor:pointer;font-size:.9rem;font-weight:700;list-style:none}.nav-more summary::-webkit-details-marker{display:none}.nav-more[open] summary{color:#0b6b68;background:#dcefe9}.nav-more-links{position:absolute;z-index:30;top:calc(100% + .35rem);right:0;display:grid;min-width:12rem;border:1px solid #d5e5df;border-radius:.8rem;padding:.35rem;background:#fff;box-shadow:0 1rem 2rem #173b3b1a}.nav-more-links a{color:#476566}.offline-banner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.35rem .75rem;padding:.65rem 1rem;color:#5d3a00;background:#fff1cf}.offline-banner .text-button{padding:.25rem;color:#5d3a00;text-decoration:underline}.install-prompt{position:fixed;z-index:20;right:1rem;bottom:1rem;width:min(100% - 2rem,24rem);pointer-events:none}.install-prompt .actions{pointer-events:auto}.shell{width:min(100% - 2rem,760px);margin:0 auto;padding:12vh 0 3rem}.login-shell{width:min(calc(100% - 2rem),36rem);padding-top:clamp(2rem,8vh,5rem)}.login-mode-actions{margin:1.5rem 0}.login-form{margin:0}.login-form .button{width:100%;margin-top:.5rem;text-align:center}.password-field{display:flex;align-items:stretch;gap:.5rem}.password-field input{min-width:0;flex:1;border-radius:.7rem}.password-toggle{flex:0 0 auto;border:1px solid #b8d0c9;border-radius:.7rem;padding:0 .8rem;background:#edf8f4}.button.login-google-button{display:block;width:fit-content;max-width:100%;margin:1.25rem auto 0;text-align:center}.eyebrow{color:#0b6b68;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1{max-width:680px;margin:.4rem 0 1rem;color:#102f31;font-size:clamp(2.4rem,10vw,5.5rem);line-height:.98}h2{margin-top:0}.lead{max-width:540px;color:#476566;font-size:clamp(1.1rem,3vw,1.35rem);line-height:1.55}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:2rem 0 4rem}.compact-actions{margin:1rem 0}.location-mode-switcher{display:flex;width:fit-content;max-width:100%;gap:.25rem;margin:1.25rem 0 1.5rem;border:1px solid #c8ddd6;border-radius:.9rem;padding:.25rem;background:#eaf4f0}.mode-tab{border:0;border-radius:.65rem;padding:.65rem .9rem;color:#476566;background:transparent;font-weight:750}.mode-tab.selected{color:#fff;background:#0b6b68;box-shadow:0 .15rem .35rem #173b3b24}.button{display:inline-block;border-radius:999px;padding:.85rem 1.35rem;color:#fff;background:#0b6b68;font-weight:750;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.text-button{border:0;background:transparent;color:#0b6b68;font-weight:700;padding:.85rem 0}label{display:grid;min-width:0;gap:.45rem;margin:1.25rem 0;font-weight:700}form,fieldset{min-width:0;max-width:100%}input{width:100%;min-width:0;max-width:100%;border:1px solid #b8d0c9;border-radius:.7rem;padding:.85rem;font:inherit;color:inherit;background:#fff}input[type=checkbox],input[type=radio]{width:auto;max-width:none}select,textarea{width:100%;min-width:0;max-width:100%;border:1px solid #b8d0c9;border-radius:.7rem;padding:.85rem;font:inherit;color:inherit;background:#fff}textarea{min-height:7rem;resize:vertical}fieldset{border:0;padding:0}legend{font-weight:700}progress{width:100%;accent-color:#0b6b68}.onboarding h1{font-size:clamp(2.1rem,8vw,4rem)}.onboarding-progress{margin:0 0 .5rem;color:#476566;font-weight:800}.choice-list{display:grid;gap:.75rem}.choice{display:grid;gap:.3rem;border:1px solid #d5e5df;border-radius:1rem;padding:1rem;text-align:left;color:#173b3b;background:#fff}.goal-list a.choice{color:inherit;text-decoration:none}.choice span{color:#476566;line-height:1.45}.choice.selected{border:2px solid #0b6b68;background:#edf8f4}.checks{display:grid;gap:.6rem}.checks label{display:flex;align-items:center;margin:0;font-weight:600}.checks input{width:1.2rem;height:1.2rem}.summary{line-height:1.5}.button:focus-visible,.text-link:focus-visible,.text-button:focus-visible,.nav-more summary:focus-visible,.mode-tab:focus-visible,.choice:focus-visible,.view-button:focus-visible,.mobile-nav a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #edac55;outline-offset:4px}.text-link{color:#0b6b68;font-weight:700}.card{min-width:0;max-width:100%;border:1px solid #d5e5df;border-radius:1.25rem;padding:1.5rem;background:#fff;box-shadow:0 1rem 3rem #173b3b0d;line-height:1.6}.game-list{display:grid;gap:1rem}.dashboard-section{margin-top:2rem}.game-card{color:inherit;text-decoration:none}.game-card h2{color:#102f31}.error{color:#a52424;font-weight:700}.feedback-error{margin:1rem 0;border:1px solid #e5b6b6;border-radius:.9rem;padding:.75rem 1rem;background:#fff7f7}.feedback-error p{margin:0}.empty-state{display:grid;gap:.5rem}.empty-state h2,.empty-state p{margin:0}.load-more-button{margin-top:1rem}.danger{color:#a52424}.dialog-backdrop{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:1rem;background:#102f3170}.confirm-dialog{width:min(100%,28rem);margin:0;box-shadow:0 1rem 3rem #102f3133}.confirm-dialog h2,.confirm-dialog p{margin-top:0}.confirm-dialog .actions{justify-content:flex-end;margin-top:1.25rem}.danger-button{background:#a52424}.account-danger-zone{margin-top:1.25rem;border-color:#e5b6b6}.cancellation-banner{display:grid;gap:.25rem;margin:1rem 0;border:2px solid #a52424;border-radius:1rem;padding:1rem 1.1rem;color:#7f1d1d;background:#fff1f1}.cancellation-banner strong{font-size:1.1rem}.hint{color:#476566}.calendar-toolbar{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin:1rem 0 2rem}.calendar-toolbar [role=group]{display:flex;gap:.5rem}.view-button{border:1px solid #b8d0c9;border-radius:.7rem;padding:.65rem .9rem;color:#173b3b;background:#fff}.view-button.selected{border-color:#0b6b68;color:#fff;background:#0b6b68}.filter-label{min-width:11rem;margin:0}.calendar-list,.month-grid{display:grid;gap:1rem}.calendar-card h2{margin-bottom:.5rem}.calendar-card h2 a{color:#102f31}.calendar-card p{margin:.4rem 0}.calendar-card.compact{border-top:1px solid #dbe4df;padding:.8rem 0}.calendar-card.compact:first-of-type{border-top:0}.calendar-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.map-chooser{position:relative}.map-chooser summary{cursor:pointer;list-style-position:inside}.map-chooser-options{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.75rem}@media(max-width:480px){.calendar-toolbar{align-items:stretch;flex-direction:column}.filter-label{min-width:0}}@media(max-width:480px){.mobile-nav{justify-content:space-between;gap:0;padding-inline:.25rem}.mobile-nav a{flex:1;justify-content:center;padding-inline:.25rem;font-size:.75rem}.nav-more summary{justify-content:center;padding-inline:.25rem;font-size:.75rem}.shell{padding-top:8vh}.login-shell{padding-top:2rem}.actions{margin-bottom:3rem}.login-mode-actions{margin-bottom:1.5rem}}.location-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr);gap:1rem;align-items:start}.location-setup-column{display:grid;gap:1rem}.location-summary{position:sticky;top:5rem}.map-panel,.map-fallback{width:100%;max-width:100%;min-height:20rem;height:20rem;border-radius:1rem;overflow:hidden;background:#dce9e5}.court-selection-card h2{margin-bottom:.35rem}.section-intro{margin:0 0 1.25rem;color:#476566}.venue-form{display:grid;min-width:0;max-width:100%;gap:.25rem}.venue-form label{margin:.85rem 0}.optional-label{color:#5c706b;font-weight:500}.venue-confirmation{margin:.25rem 0 .5rem}.compact-map{min-height:16rem;height:16rem;margin-top:.35rem;border-radius:.8rem}.venue-form-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem;border-top:1px solid #dbe4df;padding-top:.75rem}.venue-form-actions .button{margin-left:auto}.venue-location-button{padding:.5rem 0;text-align:left}.secondary-location-options{margin-top:1.5rem;border-top:1px solid #dbe4df;padding-top:1rem}.secondary-location-options summary{cursor:pointer;color:#0b6b68;font-weight:800}.secondary-location-content{padding-top:.5rem}.secondary-location-content h3{margin:1.25rem 0 .75rem}.map-shell{position:relative;min-width:0;max-width:100%;overflow:hidden}.map-pin{position:absolute;top:50%;left:50%;width:1rem;height:1rem;border:3px solid white;border-radius:999px;background:#0b6b68;box-shadow:0 0 0 2px #0b6b68;transform:translate(-50%,-50%);pointer-events:none}.map-preview{min-height:10rem;border:1px solid #d5e5df;border-radius:.7rem;background:#dce9e5}.segmented{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.location-list{display:grid;gap:1rem}.location-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.location-card h3,.location-card p{margin:.2rem 0}.create-game-strip{border-top:1px solid #dbe4df;padding-top:1.5rem}.map-fallback{display:grid;place-content:center;gap:.4rem;padding:1rem;text-align:center;color:#38534d}.area-form{margin-top:0}.map-inline-hint{border:1px solid #d5e5df;border-radius:.7rem;padding:.8rem;color:#476566;background:#f4f8f5}.place-results{display:grid;gap:.5rem}.google-place-search{width:100%;min-width:0;max-width:100%;min-height:2.75rem;color-scheme:light;scroll-margin-block:1rem}.google-place-search>gmp-place-autocomplete{display:block;width:100%;min-width:0;max-width:100%;color-scheme:light}.google-place-search:focus-within{position:relative;z-index:2}.place-result{display:grid;gap:.25rem;width:100%;border:1px solid #d5e5df;border-radius:.7rem;padding:.8rem;text-align:left;color:#173b3b;background:#fff}.place-result span{color:#5c706b;font-size:.9rem;line-height:1.35}.inline-panel{border-top:1px solid #dbe4df;margin:1rem 0;padding-top:1rem}.confirmation-panel{color:#176b42}.confirmation-player{display:inline-flex;align-items:center;gap:.35rem;margin-left:.65rem;color:#176b42;font-size:.9rem}.confirmation-checkbox{width:1.15rem;height:1.15rem;margin:0;accent-color:#16834d}.confirmation-status{font-weight:700}.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}.player-removal-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.game-chat{margin-top:1.5rem}.game-chat-list{display:grid;gap:.65rem;min-height:10rem;max-height:22rem;overflow-y:auto;overscroll-behavior:contain;border:1px solid #d5e5df;border-radius:.9rem;padding:.8rem;background:#f7fbf9}.game-chat-message{border:1px solid #dbe8e2;border-radius:.8rem;padding:.7rem .8rem;background:#fff}.game-chat-message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.game-chat-message footer{margin-top:.35rem;color:#5c706b;font-size:.8rem}.game-chat-loading,.game-chat-new{margin:.6rem 0 0;text-align:center}.game-chat-form{display:grid;gap:.6rem;margin-top:.8rem}.game-chat-form textarea{min-height:5rem}.venue-list{display:grid;gap:.5rem}.venue,.area-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;border-top:1px solid #dbe4df;padding:.8rem 0}.venue h3{margin:0}.venue p,.venue span{margin:.2rem 0 0;color:#5c706b;font-size:.9rem}.time-fields{display:grid;min-width:0;grid-template-columns:1fr 1fr;gap:1rem}.date-time-field{position:relative}.date-time-field>label{margin-bottom:.45rem}.date-time-input-row{display:flex;align-items:stretch}.date-time-trigger{width:100%;min-width:0;border-radius:.7rem 0 0 .7rem}.date-time-trigger::placeholder{color:#5c706b;opacity:1}.native-time-input{width:100%;min-height:3.25rem;padding:.85rem .9rem;color:#173b3b;background:#fff;font-size:1.1rem;font-weight:750;color-scheme:light}.mobile-time-control{display:none}.mobile-time-trigger{width:100%;min-height:3.25rem;border:1px solid #b8d0c9;border-radius:.7rem;padding:.85rem .9rem;color:#173b3b;background:#fff;font-size:1.1rem;font-weight:750;text-align:left}.date-time-overlay{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:1rem;background:#102f31b8}.date-time-dialog{position:relative;z-index:1;width:min(100%,28rem);max-height:min(90vh,42rem);overflow-y:auto;border:1px solid #d5e5df;border-radius:1.25rem;background:#fff;box-shadow:0 1.5rem 4rem #102f3159}.date-time-dialog-header{padding:1.35rem 1.5rem 1.15rem;color:#fff;background:#0b6b68;border-radius:1.25rem 1.25rem 0 0}.date-time-dialog-kicker{margin:0 0 .35rem;color:#cde8e1;font-size:.85rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.date-time-dialog-value{margin:0;font-size:clamp(1.45rem,6vw,2rem);font-weight:800;line-height:1.15}.date-time-dialog-value:focus-visible{outline:3px solid #edac55;outline-offset:4px}.date-time-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem .65rem}.date-time-icon-button{display:inline-grid;width:2.75rem;height:2.75rem;place-items:center;border:0;border-radius:999px;color:#0b6b68;background:#edf8f4;font-size:1.8rem;line-height:1}.date-time-icon-button:disabled{color:#9ab3ac;background:#f1f5f3}.date-time-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;padding:.25rem 1.25rem 1rem}.date-time-weekday{padding:.35rem 0;color:#5c706b;font-size:.75rem;font-weight:800;text-align:center;text-transform:uppercase}.date-time-empty{min-height:2.75rem}.date-time-day,.time-picker-option{min-width:2.75rem;min-height:2.75rem;border:1px solid transparent;border-radius:.75rem;color:#173b3b;background:#fff;font-weight:700}.date-time-day.today{border-color:#0b6b68}.date-time-day.selected,.time-picker-option.selected{color:#fff;background:#0b6b68}.date-time-day:disabled{color:#b8c9c3;background:#f7faf8;cursor:not-allowed}.date-time-day:focus-visible,.time-picker-option:focus-visible,.date-time-icon-button:focus-visible,.date-time-dialog-actions .text-button:focus-visible{outline:3px solid #edac55;outline-offset:2px}.date-time-dialog-actions{display:flex;justify-content:flex-end;border-top:1px solid #dbe4df;padding:.5rem 1.25rem}.date-time-backdrop{position:absolute;z-index:0;inset:0;width:100%;height:100%;border:0;background:transparent}.time-picker-dialog{overflow:hidden}.custom-time-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:.6rem;padding:1.35rem 1.25rem 1.5rem}.custom-time-control>label{margin:0 0 .55rem;color:#476566;font-size:.85rem;font-weight:800;text-transform:uppercase}.custom-time-stepper{display:grid;justify-items:center;gap:.7rem}.custom-time-stepper input{width:min(100%,4.25rem);min-width:3.5rem;min-height:4rem;padding:.2rem;color:#173b3b;background:#fff;font-size:2rem;font-weight:800;text-align:center;color-scheme:light;appearance:textfield}.custom-time-stepper-actions{display:flex;justify-content:center;gap:.9rem;width:100%}.custom-time-stepper-actions button{display:grid;width:3rem;height:3rem;place-items:center;border:1px solid #b8d0c9;border-radius:.7rem;color:#0b6b68;background:#edf8f4;font-size:1.5rem;font-weight:800;line-height:1}.custom-time-stepper input::-webkit-inner-spin-button,.custom-time-stepper input::-webkit-outer-spin-button{margin:0;appearance:none}.custom-time-separator{align-self:center;padding-top:2rem;color:#0b6b68;font-size:2rem;font-weight:800}.custom-time-actions{gap:.75rem;align-items:center}.custom-time-actions .button{min-width:6rem}.mobile-time-trigger:focus-visible,.custom-time-stepper-actions button:focus-visible{outline:3px solid #edac55;outline-offset:3px}@media(max-width:480px){.date-time-overlay{padding:.75rem}.date-time-dialog{width:min(100%,24rem);max-height:calc(100vh - 1.5rem);border-radius:1rem}.date-time-dialog-header{border-radius:1.25rem 1.25rem 0 0}}@media(max-width:760px){.skill-fields{grid-template-columns:1fr}.desktop-time-input{display:none}.mobile-time-control{display:block}}.weekly-summary{margin-top:1rem}.availability-day{border-top:1px solid #dbe4df;padding:.7rem 0}.availability-day h3{margin:0 0 .35rem}.availability-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0}.availability-row span{display:grid;gap:.15rem}.availability-row small{color:#5c706b;font-size:.9rem}.logout-button{display:inline-flex;min-height:2.75rem;align-items:center;margin-top:1.25rem;border:2px solid #a52424;border-radius:.7rem;padding:.65rem 1rem;color:#a52424;background:#fff7f7;font-weight:800}.logout-button:hover{background:#ffeaea}@media(max-width:760px){.location-grid{grid-template-columns:1fr}.location-summary{position:static}}@media(max-width:480px){.location-mode-switcher{width:100%}.mode-tab{flex:1;padding-inline:.55rem}.venue-form-actions{align-items:stretch;flex-direction:column}.venue-form-actions .button{width:100%;margin-left:0;text-align:center}}
