html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}*{box-sizing:border-box}:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-width:320px;min-height:100vh;background-color:#f5f5f5;color:#333}#root{min-height:100vh}h1,h2,h3,h4,h5,h6,p{margin:0;padding:0}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:32px;border-radius:12px;box-shadow:0 4px 20px #0000004d;max-width:500px;width:90%;position:relative;max-height:90vh;overflow-y:auto}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:32px;color:#666;cursor:pointer;line-height:1;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close:hover{color:#235055}.navigation{background:#fcfaf5;box-shadow:0 2px 8px #00000026;position:sticky;top:0;z-index:1000}.navigation__container{max-width:1200px;margin:0 auto;padding:0 16px 0 2px;display:flex;justify-content:space-between;align-items:center;min-height:80px}.navigation__logo{font-size:29px;font-weight:700;margin-left:-30px}.navigation__logo-link{color:#0d47a1;text-decoration:none;transition:opacity .3s;display:flex;align-items:center}.navigation__logo-link:hover{opacity:.9}.navigation__logo-image{height:75px;width:auto;display:block}.navigation__menu{display:flex;list-style:none;margin:0;padding:0;gap:32px}.navigation__item{margin:0}.navigation__link{color:#235055;text-decoration:none;font-size:18px;font-weight:700;padding:8px 16px;border-radius:6px;transition:background-color .3s;display:block;font-family:Cinzel,serif}.navigation__link:hover{background-color:#0d47a11a}.navigation__auth{display:flex;gap:16px;align-items:center}.navigation__auth-button{background:#235055;color:#fff;border:none;padding:10px 19px;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;font-family:Cinzel,serif}.navigation__auth-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.navigation__auth-button:active{transform:translateY(0)}.modal__title{color:#235055;font-size:32px;margin:0 0 24px;font-family:Cinzel,serif;font-weight:600;text-align:center}.auth-form__group{margin-bottom:24px}.auth-form__label{display:block;margin-bottom:8px;color:#333;font-weight:600;font-size:15px}.auth-form__input{width:100%;padding:12px;border:2px solid rgba(35,80,85,.3);border-radius:8px;font-size:16px;transition:border-color .3s;font-family:inherit;box-sizing:border-box}.auth-form__input:focus{outline:none;border-color:#235055}.auth-form__submit{width:100%;padding:16px;background:#235055;color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:8px}.auth-form__submit:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.auth-form__submit:active{transform:translateY(0)}.auth-form__submit--logout{margin-top:32px}.account-info{padding:16px 0}.account-info__item{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eee}.account-info__item:last-of-type{border-bottom:none}.account-info__label{font-weight:600;color:#555}.account-info__value{color:#333}@media(max-width:768px){.navigation__container{flex-direction:column;padding:16px;gap:16px}.navigation__logo{font-size:24px}.navigation__logo-image{height:65px}.navigation__menu{gap:8px;flex-wrap:wrap;justify-content:center}.navigation__link{font-size:16px;padding:8px 12px}.navigation__auth{gap:8px}.navigation__auth-button{font-size:14px;padding:8px 16px}}.tide-info{background:#2350551a;border:2px solid rgba(35,80,85,.3);border-radius:8px;padding:16px;margin-bottom:24px}.tide-info__content{text-align:center}.tide-info__label{font-size:14px;color:#555;margin-bottom:8px;font-weight:500}.tide-info__value{font-size:32px;font-weight:700;color:#235055;font-family:Cinzel,serif;margin-bottom:4px}.tide-info__time{font-size:13px;color:#666;font-style:italic}.tide-info__loading,.tide-info__error{color:#666;font-size:14px;margin:0;text-align:center}.tide-info__error{color:#999}.welcome{min-height:100vh;background:linear-gradient(to bottom,#235055,#a7b9bb);padding:32px 16px}.welcome__container{max-width:1000px;margin:0 auto;background:#fcfaf5;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.welcome__header{width:100%;overflow:hidden}.welcome__banner-image{width:100%;height:auto;display:block}.welcome__title{margin:0 0 8px;font-size:40px;font-weight:700}.welcome__subtitle{margin:0;font-size:19px;opacity:.95}.welcome__content{padding:32px}.welcome__section{margin-bottom:32px}.welcome__section:last-child{margin-bottom:0}.welcome__section-title{color:#235055;font-size:29px;margin:0 0 16px;border-bottom:2px solid #e3f2fd;padding-bottom:8px;font-family:Cinzel,serif;font-weight:500}.welcome__section-text{line-height:1.6;color:#333;margin-bottom:16px;font-size:16px}.welcome__section-text:last-child{margin-bottom:0}@media(max-width:768px){.welcome__title{font-size:32px}.welcome__subtitle{font-size:16px}.welcome__content{padding:24px}.welcome__section-title{font-size:24px}}.sightings{min-height:100vh;background-image:url(/bliss_landing_frontend/assets/water-ripple-CHO0TS-b.jpeg);background-size:cover;background-position:top;background-attachment:scroll;padding:32px 16px}.sightings__container{max-width:1200px;margin:0 auto}.sightings__header{background:transparent;color:#fff;padding:48px 32px;text-align:center}.sightings__title{margin:0 0 8px;font-size:56px;font-weight:700;text-shadow:2px 2px 8px rgba(0,0,0,.7);font-family:Cinzel,serif}.sightings__subtitle{margin:0;font-size:29px;text-shadow:2px 2px 6px rgba(0,0,0,.7);font-family:Cinzel,serif}.sightings__content{margin-top:32px;max-width:800px;margin-left:auto;margin-right:auto}.sightings__report-button{width:100%;padding:19px;background:#235055;color:#fff;border:none;border-radius:12px;font-size:21px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-bottom:32px;font-family:Cinzel,serif}.sightings__report-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.sightings__report-button:active{transform:translateY(0)}.sightings__list-section{background:#ffffffb3;padding:32px;border-radius:12px;box-shadow:0 4px 6px #0000001a}.sightings__section-title{color:#235055;font-size:36px;margin:0 0 24px;border-bottom:2px solid rgba(35,80,85,.3);padding-bottom:8px;font-family:Cinzel,serif;font-weight:500}.sightings-form__group{margin-bottom:24px}.sightings-form__label{display:block;margin-bottom:8px;color:#333;font-weight:500}.sightings-form__input{width:100%;padding:12px;border:2px solid rgba(35,80,85,.3);border-radius:8px;font-size:16px;transition:border-color .3s;font-family:inherit}.sightings-form__input:focus{outline:none;border-color:#235055}.sightings-form__input--select{cursor:pointer}.sightings-form__input--textarea{resize:vertical;min-height:80px}.sightings-form__submit{width:100%;padding:16px;background:#235055;color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.sightings-form__submit:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.sightings-form__submit:active{transform:translateY(0)}.sightings__empty{text-align:center;color:#666;padding:32px;font-style:italic}.sightings__list{display:flex;flex-direction:column;gap:16px;max-height:600px;overflow-y:auto}.sighting-card{border:2px solid rgba(35,80,85,.3);border-radius:8px;padding:16px;background:#f9fdf9b3}.sighting-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(35,80,85,.3)}.sighting-card__species{margin:0;color:#235055;font-size:19px}.sighting-card__count{background:#235055;color:#fff;padding:4px 12px;border-radius:20px;font-size:14px;font-weight:500}.sighting-card__details{color:#333}.sighting-card__detail{margin:8px 0;font-size:15px}.sighting-card__notes{margin-top:12px;padding:12px;background:#ffffffb3;border-radius:6px;font-size:14px;color:#555;border-left:3px solid rgba(35,80,85,1)}@media(max-width:768px){.sightings__title{font-size:40px}.sightings__subtitle{font-size:22px}.sightings__header{padding:32px 24px}.sightings__list-section{padding:24px}.sightings__report-button{font-size:18px;padding:16px}}.courts{min-height:100vh;background-image:url(/bliss_landing_frontend/assets/courts-background-B9iBexp3.jpeg);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;padding:32px 16px}.courts__container{max-width:1200px;margin:0 auto}.courts__header{color:#fff;padding:48px 32px;text-align:center}.courts__title{margin:0 0 8px;font-size:56px;font-weight:700;font-family:Cinzel,serif;text-shadow:2px 2px 8px rgba(0,0,0,.7)}.courts__subtitle{margin:0;font-size:29px;opacity:.95;font-family:Cinzel,serif;text-shadow:2px 2px 6px rgba(0,0,0,.7)}.courts__content{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:32px}.courts__form-section,.courts__schedule-section{background:#ffffffb3;padding:32px;border-radius:12px;box-shadow:0 4px 6px #0000001a}.courts__section-title{color:#235055;font-size:24px;margin:0 0 24px;border-bottom:2px solid rgba(35,80,85,.3);padding-bottom:8px;font-family:Cinzel,serif;font-weight:500}.courts-form__group{margin-bottom:24px}.courts-form__label{display:block;margin-bottom:8px;color:#333;font-weight:500}.courts-form__input{width:100%;padding:12px;border:2px solid rgba(35,80,85,.3);border-radius:8px;font-size:16px;transition:border-color .3s;font-family:inherit}.courts-form__input:focus{outline:none;border-color:#235055}.courts-form__input--select{cursor:pointer}.courts-form__submit{width:100%;padding:16px;background:#235055;color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.courts-form__submit:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.courts-form__submit:active{transform:translateY(0)}.courts__date-picker{margin-bottom:24px}.courts__date-label{display:block;margin-bottom:8px;color:#333;font-weight:500}.courts__date-input{width:100%;padding:12px;border:2px solid rgba(35,80,85,.3);border-radius:8px;font-size:16px;transition:border-color .3s}.courts__date-input:focus{outline:none;border-color:#235055}.courts__empty{text-align:center;color:#666;padding:32px;font-style:italic}.courts__schedules{display:flex;flex-direction:column;gap:24px}.court-schedule{border:2px solid rgba(35,80,85,.3);border-radius:8px;padding:16px;background:#f9fdf9b3}.court-schedule__title{margin:0 0 16px;font-size:19px;padding-bottom:8px;border-bottom:2px solid rgba(35,80,85,.3)}.court-schedule__title--pickleball{color:#6a1b9a}.court-schedule__title--tennis{color:#0277bd}.court-schedule__slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.time-slot{padding:12px;border-radius:6px;display:flex;flex-direction:column;gap:4px;transition:transform .2s}.time-slot--available{background:#e8f5e9;border:2px solid #4caf50}.time-slot--booked{background:#ffebee;border:2px solid #f44336}.time-slot__time{font-weight:600;color:#333;font-size:15px}.time-slot__status{font-size:14px;color:#666}.time-slot--available .time-slot__status{color:#2e7d32;font-weight:500}.time-slot--booked .time-slot__status{color:#c62828;font-weight:500}@media(max-width:968px){.courts__content{grid-template-columns:1fr}.court-schedule__slots{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}@media(max-width:768px){.courts__title{font-size:32px}.courts__subtitle{font-size:16px}.courts__header{padding:32px 24px}.courts__form-section,.courts__schedule-section{padding:24px}.court-schedule__slots{grid-template-columns:1fr 1fr}}.footer{background:#fcfaf5;padding:24px;text-align:center;border-top:1px solid rgba(35,80,85,.2)}.footer__text{margin:0;color:#235055;font-size:14px;font-family:Cinzel,serif}.app{min-height:100vh;display:flex;flex-direction:column}.app__main{flex:1}
