@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-primary: hsl(222, 47%, 4%);--bg-sidebar: hsla(222, 47%, 6%, .75);--bg-card: hsla(222, 47%, 12%, .55);--bg-card-hover: hsla(222, 47%, 16%, .7);--bg-input: hsla(222, 47%, 8%, .8);--border-glass: hsla(0, 0%, 100%, .08);--border-glass-active: hsla(168, 100%, 70%, .25);--accent-primary: hsl(168, 100%, 70%);--accent-primary-hover: hsl(168, 100%, 80%);--accent-primary-bg: hsla(168, 100%, 70%, .1);--accent-blue: hsl(210, 100%, 66%);--color-suitable: hsl(142, 76%, 45%);--bg-suitable: hsla(142, 76%, 45%, .12);--color-caution: hsl(38, 92%, 50%);--bg-caution: hsla(38, 92%, 50%, .12);--color-unsuitable: hsl(346, 84%, 55%);--bg-unsuitable: hsla(346, 84%, 55%, .12);--text-primary: hsl(210, 40%, 98%);--text-secondary: hsl(215, 20%, 72%);--text-muted: hsl(215, 16%, 52%);--shadow-glass: 0 12px 40px 0 rgba(0, 0, 0, .45);--shadow-glow: 0 0 20px 2px hsla(168, 100%, 70%, .15);--font-main: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition-smooth: all .3s cubic-bezier(.25, .8, .25, 1);--transition-fast: all .15s ease;--bg-solid: hsl(222, 47%, 8%)}[data-theme=light]{--bg-primary: hsl(210, 20%, 95%);--bg-sidebar: hsla(210, 20%, 100%, .8);--bg-card: hsla(210, 20%, 90%, .6);--bg-card-hover: hsla(210, 20%, 85%, .75);--bg-input: hsla(210, 20%, 100%, .95);--border-glass: rgba(0, 0, 0, .08);--border-glass-active: hsla(195, 100%, 36%, .25);--accent-primary: hsl(195, 100%, 36%);--accent-primary-hover: hsl(195, 100%, 42%);--accent-primary-bg: hsla(195, 100%, 36%, .08);--accent-blue: hsl(210, 80%, 45%);--color-suitable: hsl(142, 76%, 32%);--bg-suitable: hsla(142, 76%, 32%, .08);--color-caution: hsl(34, 90%, 38%);--bg-caution: hsla(34, 90%, 38%, .08);--color-unsuitable: hsl(346, 84%, 45%);--bg-unsuitable: hsla(346, 84%, 45%, .08);--text-primary: hsl(222, 40%, 12%);--text-secondary: hsl(222, 20%, 35%);--text-muted: hsl(222, 12%, 52%);--shadow-glass: 0 12px 40px 0 rgba(0, 0, 0, .08);--shadow-glow: 0 0 20px 2px hsla(195, 100%, 36%, .12);--bg-solid: hsl(210, 20%, 98%)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-primary);color:var(--text-primary);overflow:hidden;height:100vh;width:100vw;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{display:flex;position:relative;width:100%;height:100%}#map{flex-grow:1;height:100%;width:100%;z-index:1}.gmnoprint,.gm-style-cc{filter:invert(.9) hue-rotate(180deg)}#sidebar{position:absolute;top:20px;left:20px;bottom:20px;width:420px;z-index:10;display:flex;flex-direction:column;background:var(--bg-sidebar);border:1px solid var(--border-glass);border-radius:24px;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:var(--shadow-glass);padding:24px;overflow:hidden;transition:var(--transition-smooth)}.mobile-toggle-btn{display:none;position:absolute;bottom:24px;left:50%;transform:translate(-50%);z-index:25;background:var(--bg-sidebar);border:1.5px solid var(--accent-primary);border-radius:30px;padding:12px 24px;color:var(--text-primary);font-family:var(--font-main);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;box-shadow:var(--shadow-glass),0 0 15px #66ffe026;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);align-items:center;gap:8px;transition:var(--transition-smooth)}.mobile-toggle-btn:hover{background:var(--bg-card-hover);transform:translate(-50%) scale(1.05);box-shadow:var(--shadow-glass),var(--shadow-glow)}.mobile-toggle-btn:active{transform:translate(-50%) scale(.95)}.mobile-toggle-btn i{font-size:14px;color:var(--accent-primary)}@media (max-width: 768px){#sidebar{top:12px;left:12px;right:12px;bottom:12px;width:auto;border-radius:20px;padding:16px;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s ease}#app.map-only #sidebar{transform:translateY(calc(100% + 24px));opacity:0;pointer-events:none}.mobile-toggle-btn{display:flex!important}}.sidebar-header{margin-bottom:20px}.brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}.brand-logo-svg{width:32px;height:32px;flex-shrink:0;animation:float 3s ease-in-out infinite}.brand-title{font-size:24px;font-weight:700;letter-spacing:-.5px;background:linear-gradient(to right,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.controls-container{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.search-box{position:relative;width:100%}.search-input{width:100%;background:var(--bg-input);border:1px solid var(--border-glass);border-radius:14px;padding:14px 16px 14px 44px;color:var(--text-primary);font-family:var(--font-main);font-size:15px;outline:none;transition:var(--transition-fast)}.search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #66ffe026}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:16px;pointer-events:none}.filter-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.filter-tabs::-webkit-scrollbar{height:0px}.filter-badge{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:30px;padding:8px 14px;color:var(--text-secondary);font-family:var(--font-main);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:var(--transition-fast)}.filter-badge:hover{background:var(--bg-card-hover);color:var(--text-primary)}.filter-badge.active,.filter-badge.active[data-filter=all]{background:var(--accent-primary-bg);border-color:var(--accent-primary);color:var(--accent-primary)}.filter-badge.active[data-filter=suitable]{background:var(--bg-suitable);border-color:var(--color-suitable);color:var(--color-suitable)}.filter-badge.active[data-filter=caution]{background:var(--bg-caution);border-color:var(--color-caution);color:var(--color-caution)}.filter-badge.active[data-filter=unsuitable]{background:var(--bg-unsuitable);border-color:var(--color-unsuitable);color:var(--color-unsuitable)}.beach-list-container{flex-grow:1;overflow-y:auto;padding-right:4px;margin-bottom:16px}.beach-list-container::-webkit-scrollbar,dialog::-webkit-scrollbar{width:6px}.beach-list-container::-webkit-scrollbar-track,dialog::-webkit-scrollbar-track{background:transparent}.beach-list-container::-webkit-scrollbar-thumb,dialog::-webkit-scrollbar-thumb{background:var(--border-glass);border-radius:10px}.beach-list-container::-webkit-scrollbar-thumb:hover,dialog::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.beach-list{display:flex;flex-direction:column;gap:12px}.beach-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:16px;padding:16px;cursor:pointer;transition:var(--transition-smooth);display:flex;flex-direction:column;gap:8px}.beach-card:hover{background:var(--bg-card-hover);border-color:var(--border-glass-active);transform:translateY(-2px);box-shadow:0 4px 20px #0003}.beach-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.beach-card-header-vertical{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.beach-card-title{font-size:16px;font-weight:600;color:var(--text-primary);line-height:1.3}.status-pill{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;border-radius:20px;white-space:nowrap}.status-pill.suitable{background:var(--bg-suitable);color:var(--color-suitable)}.status-pill.caution{background:var(--bg-caution);color:var(--color-caution)}.status-pill.unsuitable{background:var(--bg-unsuitable);color:var(--color-unsuitable)}.beach-card-desc{font-size:13px;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.beach-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-muted);border-top:1px solid var(--border-glass);padding-top:10px;margin-top:4px}.card-metric{display:flex;align-items:center;gap:4px}.card-metric-val{color:var(--text-primary);font-weight:500}.btn{background:var(--accent-primary);color:#05080f;border:none;border-radius:14px;padding:14px 20px;font-family:var(--font-main);font-size:15px;font-weight:600;cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:8px;width:100%;box-shadow:0 4px 15px #66ffe033}.btn:hover{background:var(--accent-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-glow)}.btn:active{transform:translateY(1px)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-glass);box-shadow:none}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--text-muted);box-shadow:none}.btn-round{width:44px;height:44px;border-radius:50%;padding:0;flex-shrink:0}.sidebar-footer{display:flex;gap:10px;margin-top:auto}.floating-settings-btn{position:absolute;top:20px;right:20px;z-index:10;width:50px;height:50px;border-radius:50%;background:var(--bg-sidebar);border:1px solid var(--border-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-glass);color:var(--text-primary);display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:var(--transition-smooth)}.floating-settings-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);transform:rotate(45deg);box-shadow:var(--shadow-glow)}dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-sidebar);border:1px solid var(--border-glass);border-radius:28px;box-shadow:var(--shadow-glass);backdrop-filter:blur(25px) saturate(180%);-webkit-backdrop-filter:blur(25px) saturate(180%);color:var(--text-primary);width:90%;max-width:540px;padding:32px;outline:none;overflow-y:auto;max-height:85vh;z-index:100}dialog::backdrop{background-color:#020617bf;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@keyframes dialog-appear{0%{opacity:0;transform:translate(-50%,-46%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}dialog[open]{animation:dialog-appear .3s cubic-bezier(.34,1.56,.64,1) forwards}.dialog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;border-bottom:1px solid var(--border-glass);padding-bottom:16px}.dialog-title{font-size:22px;font-weight:700;letter-spacing:-.5px}.dialog-close-btn{background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;transition:var(--transition-fast);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center}.dialog-close-btn:hover{background:var(--bg-card);color:var(--text-primary)}form{display:flex;flex-direction:column;gap:18px}.form-group{display:flex;flex-direction:column;gap:8px}label{font-size:13px;font-weight:600;color:var(--text-secondary);letter-spacing:.5px;text-transform:uppercase}input[type=text],input[type=number],input[type=date],textarea,select{width:100%;background:var(--bg-input);border:1px solid var(--border-glass);border-radius:12px;padding:12px 14px;color:var(--text-primary);font-family:var(--font-main);font-size:14px;outline:none;transition:var(--transition-fast)}input:focus,textarea:focus,select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #66ffe01f}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}textarea{resize:vertical;min-height:80px}.helper-text{font-size:12px;color:var(--text-muted);margin-top:4px;line-height:1.3}.form-actions{display:flex;gap:12px;margin-top:10px}.detail-suitability-banner{display:flex;align-items:center;justify-content:space-between;padding:16px;border-radius:16px;margin-bottom:24px}.detail-suitability-banner.suitable{background:var(--bg-suitable);border:1px solid hsla(142,76%,45%,.2)}.detail-suitability-banner.caution{background:var(--bg-caution);border:1px solid hsla(38,92%,50%,.2)}.detail-suitability-banner.unsuitable{background:var(--bg-unsuitable);border:1px solid hsla(346,84%,55%,.2)}.banner-status-text{font-size:18px;font-weight:700;letter-spacing:-.3px}.banner-status-icon{font-size:24px}.detail-desc{font-size:15px;color:var(--text-secondary);line-height:1.6;margin-bottom:24px}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.metric-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px}.metric-title{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;font-weight:700}.metric-value-container{display:flex;align-items:baseline;gap:4px}.metric-value{font-size:22px;font-weight:700;color:var(--text-primary)}.metric-unit{font-size:12px;color:var(--text-muted)}.metric-status{font-size:12px;font-weight:600;display:flex;align-items:center;gap:4px}.metric-status.safe{color:var(--color-suitable)}.metric-status.warning{color:var(--color-caution)}.metric-status.danger{color:var(--color-unsuitable)}.advice-box{background:#52a8ff14;border:1px solid hsla(210,100%,66%,.15);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.advice-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--accent-blue)}.advice-text{font-size:13px;color:var(--text-secondary);line-height:1.5}.last-checked-label{font-size:12px;color:var(--text-muted);text-align:right}.location-status{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:12px;padding:12px 14px;font-size:13px;color:var(--text-secondary);display:flex;justify-content:space-between;align-items:center}.location-status.selected{border-color:var(--accent-primary);color:var(--text-primary)}.coordinate-display{font-family:monospace;font-weight:600}@media (max-width: 580px){dialog{width:95%;padding:20px;border-radius:20px}.metrics-grid{grid-template-columns:1fr}}.lang-selector{display:flex;gap:10px;background:#ffffff08;padding:4px 8px;border-radius:12px;border:1px solid var(--border-glass)}.lang-btn{background:none;border:none;font-size:20px;cursor:pointer;opacity:.5;transition:var(--transition-smooth);padding:2px;display:flex;align-items:center;justify-content:center;border-radius:6px}.lang-btn:hover{opacity:.85;transform:scale(1.15)}.lang-btn.active{opacity:1;transform:scale(1.1);filter:drop-shadow(0 0 6px hsla(168,100%,70%,.6))}.theme-toggle-btn{background:#ffffff08;border:1px solid var(--border-glass);width:36px;height:36px;border-radius:12px;color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:var(--transition-smooth)}.theme-toggle-btn:hover{background:var(--bg-card-hover);border-color:var(--accent-primary);color:var(--accent-primary);transform:rotate(15deg) scale(1.1);box-shadow:var(--shadow-glow)}#map{transition:filter .4s cubic-bezier(.25,.8,.25,1)}html:not([data-theme=light]) #map{filter:invert(.9) hue-rotate(180deg) saturate(1.25) contrast(1.05)}html:not([data-theme=light]) .custom-map-marker{filter:invert(1.1) hue-rotate(180deg)}.umbrella-marker{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--bg-card);border:2px solid var(--border-color);box-shadow:0 4px 12px #0000004d,inset 0 0 6px #ffffff1a;cursor:pointer;transition:var(--transition-smooth)}.umbrella-marker i{font-size:16px;transition:var(--transition-smooth)}.umbrella-marker:hover{transform:scale(1.2) translateY(-3px)!important;box-shadow:0 8px 24px #0006,0 0 12px var(--glow-color)!important}.umbrella-marker.suitable{--border-color: var(--color-suitable);--glow-color: var(--color-suitable)}.umbrella-marker.caution{--border-color: var(--color-caution);--glow-color: var(--color-caution)}.umbrella-marker.unsuitable{--border-color: var(--color-unsuitable);--glow-color: var(--color-unsuitable)}.umbrella-marker.suitable i{color:var(--color-suitable)}.umbrella-marker.caution i{color:var(--color-caution)}.umbrella-marker.unsuitable i{color:var(--color-unsuitable)}.gm-style-iw-c{background-color:var(--bg-solid)!important;border-radius:20px!important;box-shadow:var(--shadow-glass)!important;padding:0!important;border:1px solid var(--border-glass)!important;max-width:300px!important}.gm-style-iw-d{overflow:hidden!important;max-height:none!important}.gm-style-iw-c button[title=Close]{display:none!important}.gm-style-iw-t:after{background:var(--bg-solid)!important;box-shadow:-2px 2px 2px #0000001a!important;border:1px solid var(--border-glass)!important}html:not([data-theme=light]) .gm-style-iw-c,html:not([data-theme=light]) .gm-style-iw-t:after{filter:invert(1.1) hue-rotate(180deg)!important}.map-preview-card{padding:16px;min-width:260px;display:flex;flex-direction:column;gap:12px;background:transparent;color:var(--text-primary);font-family:var(--font-main)}.preview-header-vertical{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.preview-title{font-size:16px;font-weight:700;color:var(--text-primary);line-height:1.35;margin:0}.preview-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--border-glass);border-bottom:1px solid var(--border-glass);padding:10px 0}.preview-metric{display:flex;flex-direction:column;gap:4px}.preview-metric .metric-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;font-weight:700;letter-spacing:.5px}.preview-metric .metric-val{font-size:20px;font-weight:700}.preview-metric .metric-val.safe{color:var(--color-suitable)}.preview-metric .metric-val.warning{color:var(--color-caution)}.preview-metric .metric-val.danger{color:var(--color-unsuitable)}.preview-metric .metric-val small{font-size:9px;font-weight:500;color:var(--text-muted)}.preview-action-btn{background:var(--accent-primary-bg);border:1px solid var(--accent-primary);border-radius:10px;color:var(--accent-primary);padding:8px 12px;font-family:var(--font-main);font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:var(--transition-fast);width:100%}.preview-action-btn:hover{background:var(--accent-primary);color:#05080f;transform:translateY(-1px)}[data-theme=light] .preview-action-btn:hover{color:#fff}.preview-action-btn i{font-size:11px}.seo-crawler-content{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
