.weather-container{border-radius:8px;display:flex;flex-direction:column;align-items:center}.current-weather{justify-content:center;margin-bottom:8px;padding-bottom:8px;gap:16px}.current-weather,.location{display:flex;align-items:center}.location{flex-direction:column;min-width:100px}.city{font-weight:600;font-size:1rem;line-height:1.2;color:var(--text-primary,currentColor)}.weather-label{font-size:1rem;color:var(--text-secondary,#666)}.current-conditions{display:flex;align-items:center;gap:40px;flex-grow:1}.current-icon{flex-shrink:0;border-radius:6px}.current-details{display:flex;flex-direction:column}.current-temp{font-weight:600;font-size:1.7rem;color:var(--text-primary,currentColor)}.current-desc{font-size:.9rem;color:var(--text-secondary,#666)}.forecast{display:flex;justify-content:space-between;overflow-x:visible;-ms-overflow-style:none;gap:0;padding:4px 0;width:100%}.forecast::-webkit-scrollbar{display:none}@media (max-width:500px){.forecast{overflow-x:auto}}.forecast-day{display:flex;flex-direction:column;align-items:center;min-width:50px;padding:2px 1px;border-radius:6px;transition:background-color .2s;flex-shrink:0}.forecast-day:hover{background-color:var(--hover-color,rgba(0,0,0,.05))}.day-name{font-weight:500;font-size:.8rem;margin-bottom:2px;color:var(--text-primary,currentColor)}.forecast-icon{margin:2px 0;border-radius:6px;width:32px;height:32px;-o-object-fit:contain;object-fit:contain}.temps{display:flex;flex-direction:column;align-items:center;gap:0;font-size:.85rem}.high-temp{color:var(--temp-high-color,#d32f2f);font-weight:700}.low-temp{color:var(--temp-low-color,#1976d2)}@media (min-width:768px){.weather-container{flex-direction:row;align-items:center;gap:24px}.current-weather{margin-bottom:0;padding-bottom:0;border-bottom:none;padding-right:24px;min-width:260px}.forecast{gap:4px;flex-wrap:nowrap;justify-content:space-between;flex:1}.forecast-day{min-width:0;flex:1;padding:4px 2px}.day-name{font-size:.85rem}}.short-day{display:inline}.full-day{display:none}.hourly-weather-container{max-width:100%;margin:0 auto;padding:1rem;background:var(--card-background,rgba(255,255,255,.05));border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.hourly-heading{font-size:1.2rem;font-weight:700;margin:.5rem 0 1rem;text-align:center}.hourly-forecast-wrapper{position:relative;width:100%;margin:0 auto;overflow:hidden}.hourly-forecast{display:flex;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;padding:.5rem 0 12px;border-radius:4px;margin:0}@supports (scrollbar-width:none){.forecast{scrollbar-width:none}}@supports (scrollbar-width:thin){.hourly-forecast{scrollbar-width:thin}}.hourly-item{display:flex;flex-direction:column;align-items:center;min-width:80px;flex-shrink:0;margin:0 .5rem;padding:.75rem .5rem;background:var(--hourly-item-bg,rgba(255,255,255,.08));border-radius:8px;transition:transform .2s ease}.hourly-item:hover{transform:translateY(-2px);background:var(--hourly-item-hover-bg,rgba(255,255,255,.12))}.hour{font-weight:700;margin-bottom:.3rem}.hourly-icon,.hourly-temp{margin:.3rem 0}.hourly-temp{font-weight:700;font-size:1.1rem}.hourly-desc{font-size:.8rem;text-align:center;max-width:100px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.2;height:2.4em}.hourly-forecast::-webkit-scrollbar{height:4px}.hourly-forecast::-webkit-scrollbar-track{background:rgba(0,0,0,.05);border-radius:2px}.hourly-forecast::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:2px}@media (min-width:768px){.hourly-weather-container{padding:1.5rem;max-width:calc(100% - 2rem);margin:0 auto}.hourly-item{min-width:100px}}@media (min-width:1200px){.forecast{justify-content:flex-start;gap:12px}.forecast-day{min-width:110px;padding:8px 4px}.day-name{font-size:1rem}.short-day{display:none}.full-day{display:inline}.temps{flex-direction:row;justify-content:center;gap:8px;font-size:.95rem}.forecast-icon{width:40px;height:40px;padding:2px;margin:6px 0}}.tide-container{margin-top:1.5rem;padding:1rem;background:var(--card-background,rgba(255,255,255,.05));border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.tide-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--divider-color,#e0e0e0)}.tide-title{font-size:1.2rem;font-weight:600;margin:0}.water-temp{display:flex;align-items:center;gap:.5rem}.water-temp-value{font-weight:600;font-size:1.2rem}.water-temp-label{display:none}.tide-schedule{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-around}.tide-event{display:flex;flex-direction:column;align-items:center;padding:.75rem;background:var(--tide-event-bg,rgba(255,255,255,.08));border-radius:8px;min-width:120px}.tide-time-large{font-size:1.3rem;font-weight:600;margin-bottom:.25rem}.tide-time-large,.tide-type{color:var(--text-primary,currentColor)}.tide-type{font-weight:500;font-size:.95rem;margin:.15rem 0}.tide-height-small{font-size:.85rem;color:var(--text-tertiary,#888);margin-top:.15rem}.tide-height,.tide-time{display:none}.data-source{margin-top:1rem;text-align:right;font-size:.7rem;color:var(--text-secondary,#666);font-style:italic}@media (min-width:768px){.tide-schedule{justify-content:space-between}.tide-event{flex:1;max-width:200px}.tide-time-large{font-size:1.5rem}}.temp-icon{width:24px;height:24px;background-size:contain;background-repeat:no-repeat;background-position:50%;margin-right:6px}.temp-cold{color:#1976d2}.temp-medium{color:#4CAF50}.temp-hot{color:#d32f2f}.sea-temp-label{font-weight:500;font-size:.9rem}.sea-temp-value{font-weight:600;font-size:1.1rem}.sun-times{display:flex;justify-content:space-around;gap:1rem;margin:1rem 0}.sun-time-event{flex-direction:column;padding:.75rem;background:var(--tide-event-bg,rgba(255,255,255,.08));border-radius:8px;min-width:120px;flex:1}.sun-icon,.sun-time-event{display:flex;align-items:center}.sun-icon{justify-content:center;margin-bottom:.5rem}.sun-icon-svg{width:28px;height:28px}.sunrise .sun-icon-svg{color:#ff9800}.sunset .sun-icon-svg{color:#e91e63}.sun-time-label{font-weight:500;font-size:.95rem;margin:.15rem 0}.sun-time-label,.sun-time-value{color:var(--text-primary,currentColor)}.sun-time-value{font-size:1.3rem;font-weight:600}.sun-times-unavailable{text-align:center;padding:1rem;font-style:italic;color:var(--text-secondary,#666)}@media (min-width:768px){.sun-time-event{padding:1rem;max-width:200px}.sun-time-value{font-size:1.5rem}.sun-icon-svg{width:32px;height:32px}}.sun-info-header{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}.sun-times-compact{display:flex;align-items:center;gap:1rem}.sun-time-compact{display:flex;align-items:center;gap:.3rem;font-size:.85rem;font-weight:500}.sun-time-compact.sunrise{color:#ff9800}.sun-time-compact.sunset{color:#e91e63}.sun-icon-small{width:16px;height:16px}@media (min-width:768px){.sun-info-header{flex-direction:row;align-items:center;gap:1rem}.tide-title{margin-right:.5rem}.sun-time-compact{font-size:.9rem}}