:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--primary-bg: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);--card-bg: rgba(0, 0, 0, .2);--card-border: rgba(255, 255, 255, .2);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--hover-bg: rgba(255, 255, 255, .1);--accent-color: #ff8c00;--hover-color: #ffa500;--shadow-color: rgba(0, 0, 0, .2);--chart-color-1: #0088FE;--chart-color-2: #00C49F;--chart-color-3: #FFBB28;--chart-color-4: #FF8042;--chart-color-5: #8884D8;--chart-color-6: #82CA9D}#root{min-height:100vh;width:100%;max-width:100%;margin:0;padding:0;background:linear-gradient(135deg,#1e3c728c,#2a52988c),url(/WeatherLocationDashboard_ReactJS/assets/background-D14-Px4A.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;color:var(--text-primary);overflow-y:auto;box-sizing:border-box;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,#root,.app-container,.hourly-list{scrollbar-width:none;-ms-overflow-style:none}body::-webkit-scrollbar,#root::-webkit-scrollbar,.app-container::-webkit-scrollbar,.hourly-list::-webkit-scrollbar{height:8px;width:8px}body::-webkit-scrollbar-track,#root::-webkit-scrollbar-track,.app-container::-webkit-scrollbar-track,.hourly-list::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}body::-webkit-scrollbar-thumb,#root::-webkit-scrollbar-thumb,.app-container::-webkit-scrollbar-thumb,.hourly-list::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}body::-webkit-scrollbar-thumb:hover,#root::-webkit-scrollbar-thumb:hover,.app-container::-webkit-scrollbar-thumb:hover,.hourly-list::-webkit-scrollbar-thumb:hover{background:#ffffff80}.app-container{display:grid;grid-template-areas:"header header header" "left main right" "bottom bottom bottom";grid-template-columns:280px 1fr 300px;grid-template-rows:auto 1fr auto;gap:2rem;padding:2rem;min-height:100vh;width:100%;max-width:1400px;margin:0 auto;box-sizing:border-box;background:transparent;color:var(--text-primary);position:relative}.app-header{grid-area:header;text-align:center;padding:1.5rem;background:linear-gradient(90deg,#ffffff0d,#ffffff08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.1);margin:0;box-shadow:0 4px 6px #0000001a}.app-header h1{margin:0;font-size:2.25rem;color:#fff;text-shadow:0 6px 20px rgba(0,0,0,.25);letter-spacing:2px}.app-header .powered-by{font-size:.55em;font-weight:400;color:var(--text-secondary);margin-right:10px;margin-left:20px;letter-spacing:.02em}.loading-message{text-align:center;padding:20px;background:var(--card-bg);border-radius:12px;color:var(--text-primary);font-size:1.1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--card-border);animation:pulse 1.5s infinite}.error-message{background:#ff00001a;color:#ff6b6b;padding:8px 16px;border-radius:8px;margin-top:10px;font-size:.9rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,0,0,.2)}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.app-container:before{content:"";position:fixed;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><circle cx="100" cy="100" r="80" fill="rgba(255,255,255,0.1)"/></svg>') center/150px;opacity:.1;pointer-events:none}.left-panel{grid-area:left;background:var(--card-bg);padding:1.5rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--card-border);box-shadow:0 4px 6px var(--shadow-color);height:fit-content}.right-panel{grid-area:right;background:var(--card-bg);padding:1.5rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--card-border);box-shadow:0 4px 6px var(--shadow-color);height:fit-content}.bottom-panel{grid-area:bottom;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:1rem}.bottom-nearby,.bottom-history{background:var(--card-bg);padding:1.5rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--card-border);box-shadow:0 4px 6px var(--shadow-color);height:fit-content}.main-content{grid-area:main;display:flex;flex-direction:column;gap:1.5rem;padding-right:.5rem;position:relative;height:fit-content}.nearby-locations-mobile{display:none}.visibility-controls{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:.75rem 1rem;box-shadow:0 4px 10px var(--shadow-color)}.visibility-controls .controls-title{display:inline-flex;align-items:center;margin:0 .75rem 0 0;font-size:1rem;color:var(--text-secondary);font-weight:600}.visibility-controls .controls-row{display:flex;flex-wrap:wrap;gap:1rem 1.25rem;align-items:center}.visibility-controls label{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-secondary);font-size:.95rem}.visibility-controls input[type=checkbox]{accent-color:#ffb347}.ip-lookup{width:100%;margin-bottom:20px}.ip-lookup form{display:flex;align-items:center;gap:12px}.search-input{flex:1 1 auto;min-width:0;padding:12px 20px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#ffffff08;color:var(--text-primary);font-size:1rem;transition:transform .18s ease,box-shadow .18s ease;box-shadow:0 6px 18px #050a1440 inset}.search-input:focus{outline:none;border-color:#ff8c00e6;box-shadow:0 8px 22px #00000059;transform:translateY(-2px) scale(1.01)}.search-input::placeholder{color:#fff9}.search-button{padding:10px 22px;background:linear-gradient(90deg,#ffb347,#fc3);color:#112;border:none;border-radius:999px;cursor:pointer;font-weight:700;font-size:.95rem;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 8px 20px #ff8c0026;letter-spacing:.6px}.search-button:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 30px #ff8c002e}.search-button:active{transform:translateY(1px);box-shadow:0 2px 10px var(--shadow-color)}.weather-info{display:flex;flex-direction:column;gap:1.5rem;position:relative;z-index:1;width:100%}.current-weather,.forecast,.astronomy,.marine,.summary{background:var(--card-bg);padding:25px;border-radius:20px;box-shadow:0 10px 30px var(--shadow-color);transition:all .3s ease;border:1px solid var(--card-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:visible;color:var(--text-primary);z-index:2;width:100%;box-sizing:border-box}.current-weather:before,.forecast:before,.astronomy:before,.marine:before,.summary:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.2) 0%,transparent 50%);opacity:0;transition:opacity .3s ease;pointer-events:none}.current-weather:hover:before,.forecast:hover:before,.astronomy:hover:before,.marine:hover:before,.summary:hover:before{opacity:1}.current-weather:hover,.forecast:hover,.astronomy:hover,.marine:hover,.summary:hover{transform:translateY(-5px);box-shadow:0 15px 40px var(--shadow-color)}.current-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:1.25rem;align-items:center}.current-left{display:flex;flex-direction:column;gap:.75rem}.temp-line{display:flex;align-items:flex-start;gap:6px}.temp-value{font-size:4.5rem;font-weight:800;line-height:.95;letter-spacing:-2px}.temp-unit{font-size:1.6rem;font-weight:600;opacity:.85;transform:translateY(6px)}.condition-line{display:flex;align-items:center;gap:12px}.current-icon-large{width:140px;height:140px}.condition-text{font-size:1.3rem;color:var(--text-secondary)}.sub-line{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.95rem}.sub-line .dot{opacity:.7}.current-right{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:12px}.metric{background:#ffffff0a;border:1px solid var(--card-border);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.metric .label{font-size:.85rem;color:var(--text-secondary)}.metric .value{font-size:1.1rem;font-weight:600}@media(max-width:900px){.current-hero{grid-template-columns:1fr}.current-right{grid-template-columns:repeat(2,1fr)}}.forecast-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:1.25rem;align-items:center}.forecast-left{display:flex;flex-direction:column;gap:.75rem}.forecast-icon-large{width:140px;height:140px}.forecast-right{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:12px}@media(max-width:900px){.forecast-hero{grid-template-columns:1fr}.forecast-right{grid-template-columns:repeat(2,1fr)}}.astronomy-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:1.25rem;align-items:center}.astronomy-left{display:flex;flex-direction:column;gap:.75rem}.astro-icon-large{font-size:4rem;line-height:1}.astronomy-right{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:12px}@media(max-width:900px){.astronomy-hero{grid-template-columns:1fr}.astronomy-right{grid-template-columns:repeat(2,1fr)}}.marine-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:1.25rem;align-items:center}.marine-left{display:flex;flex-direction:column;gap:.75rem}.marine-icon-large{font-size:4rem;line-height:1}.marine-right{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:12px}@media(max-width:900px){.marine-hero{grid-template-columns:1fr}.marine-right{grid-template-columns:repeat(1,1fr)}}.weather-details,.forecast-details,.astronomy-details,.tides-info,.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;padding:1.5rem;background:var(--card-bg);border-radius:12px;border:1px solid var(--card-border);color:var(--text-primary)}.forecast-details{grid-template-columns:minmax(180px,1fr) 2fr}.forecast-side{display:flex;flex-direction:column;gap:1rem}@media(max-width:700px){.forecast-details{grid-template-columns:1fr}}.weather-icon{width:128px;height:128px}.nearby-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}@media(min-width:500px){.nearby-header{flex-direction:row;justify-content:space-between;align-items:center}}.radius-control{display:flex;flex-direction:column;gap:.5rem;color:var(--text-secondary);font-size:.9rem}.radius-input-group{display:flex;align-items:center;gap:.5rem}.radius-input{width:40px;padding:.4rem .6rem;border:1px solid var(--card-border);border-radius:6px;background:#0003;color:var(--text-primary);font-size:.9rem;text-align:center}.radius-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px #ff8c0033}.radius-unit{font-weight:500;color:var(--text-primary)}.locations-list,.history-list{display:flex;flex-direction:column;gap:10px;height:fit-content;min-height:50px}.location-item,.history-item{background:linear-gradient(180deg,#ffffff05,#ffffff03);padding:14px;border-radius:12px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;border:1px solid rgba(255,255,255,.06);margin-bottom:12px;position:relative;overflow:hidden;color:var(--text-primary)}.history-content{display:flex;align-items:center;gap:12px}.history-weather-icon{width:32px;height:32px;object-fit:contain}.history-text{flex:1}.history-text p{margin:0}.condition-text{color:var(--text-secondary)}.location-item:after,.history-item:after{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:translate(-100%);transition:transform .6s ease}.location-item:hover:after,.history-item:hover:after{transform:translate(100%)}.location-item:hover,.history-item:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 14px 30px #00000073;background:linear-gradient(90deg,#ff8c000f,#ffcc330a);color:var(--text-primary)}.distance,.timestamp{font-size:.9em;color:#ffffffb3;font-weight:500;margin-top:5px;display:block}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.stat-item{text-align:center;padding:20px;background:linear-gradient(180deg,#ffffff05,#ffffff03);border-radius:14px;box-shadow:0 8px 24px #00000059;border:1px solid rgba(255,255,255,.06);transition:all .3s ease;position:relative;overflow:hidden;color:var(--text-primary)}.stat-item:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 18px 40px #00000073;background:linear-gradient(180deg,#ffffff08,#ffffff05)}.stat-item h3{color:#fffc;font-size:1.2rem;margin-bottom:10px}.stat-item p{font-size:1.8rem;font-weight:700;color:#fff;margin:0}.hourly-forecast{margin-top:2rem;background:#00000026;border-radius:12px;border:1px solid var(--card-border);padding:1rem;box-shadow:0 2px 8px var(--shadow-color)}.hourly-forecast h3{margin:0 0 1rem;font-size:1.1rem;color:var(--text-secondary)}.hourly-list{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%;max-width:600px;overflow-x:auto;overflow-y:hidden;gap:.75rem;padding-bottom:.75rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) rgba(0,0,0,.1)}.hour-item{min-width:90px;width:90px;flex-shrink:0;background:#0000002e;border-radius:8px;border:1px solid var(--card-border);padding:.4rem .6rem;display:flex;flex-direction:column;align-items:center;box-shadow:0 1px 4px var(--shadow-color);transition:transform .18s ease,box-shadow .18s ease,background .18s ease;cursor:pointer}.hour-time{font-size:.85rem;color:var(--text-secondary);margin-bottom:.2rem}.hour-icon{width:32px;height:32px;margin-bottom:.2rem}.hour-temp{font-size:1rem;font-weight:500;color:var(--text-primary);margin-bottom:.1rem}.hour-cond{font-size:.75rem;color:var(--text-secondary);text-align:center;line-height:1.2}.hour-item:hover{transform:translateY(-6px);box-shadow:0 14px 30px #00000073;background:linear-gradient(180deg,#ffffff08,#ffffff03)}@media(max-width:1400px){.app-container{grid-template-areas:"header header" "main right" "bottom bottom";grid-template-columns:1fr 300px;grid-template-rows:auto 1fr auto;gap:1.5rem;padding:1.5rem}.left-panel{display:none}.nearby-locations-mobile{display:block;background:var(--card-bg);padding:1rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--card-border);box-shadow:0 4px 6px var(--shadow-color);margin-bottom:1.5rem}.bottom-panel{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media(max-width:900px){.app-container{grid-template-areas:"header" "main" "bottom";grid-template-columns:1fr;grid-template-rows:auto 1fr auto;padding:1rem;gap:1rem}.right-panel{display:none}.app-header{margin:-1rem -1rem 0;border-radius:0;padding:1.5rem}.app-header h1{font-size:1.75rem}.main-content{padding-right:0}.bottom-panel{grid-template-columns:1fr;gap:1rem}}.hour-modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}.hour-modal{background:linear-gradient(135deg,#1e1e1ef2,#282828f2);border:1px solid var(--card-border);border-radius:16px;padding:0;max-width:500px;width:90vw;max-height:80vh;overflow:hidden;box-shadow:0 20px 40px #0009;animation:modalSlideIn .3s ease-out}.hour-modal-header{padding:1.5rem;border-bottom:1px solid var(--card-border);display:flex;justify-content:space-between;align-items:center;background:#0000001a}.hour-modal-header h3{margin:0;font-size:1.3rem;color:var(--text-primary);font-weight:600}.close-btn{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s ease,color .2s ease}.close-btn:hover{background:#ffffff1a;color:var(--text-primary)}.hour-modal-content{padding:1.5rem 1.5rem 2.5rem;overflow-y:auto;max-height:calc(80vh - 100px)}.hour-modal-main{display:flex;align-items:center;gap:2rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--card-border)}.hour-modal-temp{display:flex;align-items:baseline;gap:.25rem}.hour-modal-temp .temp-value{font-size:3rem;font-weight:700;color:var(--text-primary)}.hour-modal-temp .temp-unit{font-size:1.5rem;color:var(--text-secondary)}.hour-modal-condition{display:flex;flex-direction:column;align-items:center;gap:.5rem}.hour-modal-icon{width:64px;height:64px}.hour-modal-condition .condition-text{font-size:1.1rem;color:var(--text-secondary);text-align:center}.hour-modal-details{margin-top:1rem;margin-bottom:2rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.detail-item{background:#0003;border:1px solid var(--card-border);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.detail-value{font-size:1.1rem;color:var(--text-primary);font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:600px){.hour-modal{width:95vw;max-height:90vh}.hour-modal-main{flex-direction:column;gap:1rem;text-align:center}.detail-grid{grid-template-columns:1fr}.hour-modal-temp .temp-value{font-size:2.5rem}}.summary-filters{display:flex;gap:.5rem;align-items:center}.summary-filters label{font-size:.9rem;color:var(--text-secondary);margin-right:.25rem}.summary-filters select{padding:.5rem .75rem;border:1px solid var(--card-border);border-radius:6px;background:#0000004d;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all .2s ease}.summary-filters select:hover{background:#0006;border-color:var(--accent-color)}.summary-filters select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px #ff8c0033}.summary>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.summary h2{margin:0;color:var(--text-primary);font-size:1.5rem}.text-muted{color:var(--text-secondary);font-size:.95rem}.text-primary{color:var(--text-primary)}.weather-card{background:var(--card-bg);padding:1.5rem;border-radius:16px;border:1px solid var(--card-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 10px var(--shadow-color);transition:all .3s ease;margin-bottom:1.5rem}.weather-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px var(--shadow-color)}.weather-card h2{margin:0 0 1rem;color:var(--text-primary);font-size:1.4rem;display:flex;align-items:center;gap:.5rem}.weather-card h2 i{color:var(--accent-color)}.search-history{width:100%}.search-history h2{margin-bottom:1rem;color:var(--text-primary)}.nearby{width:100%}.nearby h2{margin:0;color:var(--text-primary);font-size:1.3rem}.location-stats i{color:var(--accent-color)}.unit-toggle{display:inline-flex;background:#0003;border-radius:20px;padding:.25rem;gap:.25rem}.unit-toggle button{padding:.5rem 1rem;border:none;background:transparent;color:var(--text-secondary);border-radius:16px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.unit-toggle button.active{background:var(--accent-color);color:#112;font-weight:600}.unit-toggle button:hover:not(.active){background:#ffffff0d;color:var(--text-primary)}.location-name{font-weight:500;color:var(--text-primary)}.updated{color:var(--text-secondary);font-size:.95rem}.analytics-button,.view-charts-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(90deg,var(--accent-color),var(--hover-color));color:#112;text-decoration:none;border-radius:50px;font-weight:600;transition:all .2s ease;box-shadow:0 4px 12px #ff8c004d;border:none;cursor:pointer;font-size:1rem}.analytics-button:hover,.view-charts-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff8c0066}.analytics-button i,.view-charts-button i{font-size:1.1rem}.recharts-wrapper{margin:0 auto}.recharts-cartesian-axis-tick-value{fill:var(--text-secondary);font-size:.85rem}.recharts-legend-wrapper{padding-top:1rem}.recharts-legend-item-text{color:var(--text-primary)!important}.fa-spinner.fa-spin{animation:fa-spin 1s infinite linear}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-header h1 a{color:inherit;text-decoration:none;transition:opacity .2s ease}.app-header h1 a:hover{opacity:.9}.analytics-charts-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(90deg,#0088fe,#00c49f);color:#fff;text-decoration:none;border-radius:50px;font-weight:600;transition:all .2s ease;box-shadow:0 4px 12px #0088fe4d;border:none;cursor:pointer;font-size:1rem}.analytics-charts-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0088fe66}.analytics-charts-button i{font-size:1.1rem}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.summary-header h2{margin:0;color:var(--text-primary);font-size:1.5rem}.recharts-tooltip-wrapper{outline:none}.recharts-default-tooltip{background:#000000e6!important;border:1px solid var(--card-border)!important;border-radius:8px!important;padding:.75rem!important;box-shadow:0 4px 12px #00000080!important}.recharts-tooltip-label{color:var(--text-primary)!important;font-weight:600!important;margin-bottom:.5rem!important}.recharts-tooltip-item{color:var(--text-secondary)!important}.recharts-tooltip-item-value{color:var(--text-primary)!important;font-weight:600!important}@media(max-width:600px){.summary-header{flex-direction:column;align-items:flex-start}.summary-filters{width:100%;flex-wrap:wrap}}.location-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.location-card-link{text-decoration:none;color:inherit;display:block;transition:transform .2s ease}.location-card-link:hover{transform:translateY(-5px)}.location-card{background:linear-gradient(180deg,#ffffff0d,#ffffff05);border:1px solid var(--card-border);border-radius:16px;padding:1.5rem;transition:all .3s ease;cursor:pointer;height:100%;display:flex;flex-direction:column}.location-card:hover{background:linear-gradient(90deg,#ff8c001a,#ffcc3314);box-shadow:0 12px 30px #0000004d;border-color:var(--accent-color)}.location-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.location-card-header img{width:64px;height:64px}.location-info h3{margin:0;font-size:1.3rem;color:var(--text-primary)}.location-info .text-muted{margin:0;font-size:.9rem;color:var(--text-secondary)}.location-card-body{flex:1;text-align:center;padding:1rem 0}.temp-display{font-size:3rem;font-weight:700;color:var(--accent-color);margin-bottom:.5rem}.condition{font-size:1.1rem;color:var(--text-secondary);margin-bottom:1rem}.location-stats{display:flex;justify-content:center;gap:2rem;margin-top:1rem}.location-stats span{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.location-card-footer{text-align:center;padding-top:1rem;border-top:1px solid var(--card-border)}.view-details{color:var(--accent-color);font-weight:600;font-size:.95rem;transition:all .2s ease}.location-card:hover .view-details{transform:translate(5px);display:inline-block}.charts-container{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}.chart-card{min-height:400px}.chart-description{color:var(--text-secondary);font-size:.95rem;margin-bottom:1.5rem;font-style:italic}.detail-header{background:var(--card-bg);padding:2rem;border-radius:16px;border:1px solid var(--card-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-bottom:1.5rem}.detail-header h2{margin:1rem 0 .5rem;color:var(--text-primary);font-size:2rem}.location-coordinates{color:var(--text-secondary);font-size:.95rem;margin:.5rem 0 0}.back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(90deg,var(--accent-color),var(--hover-color));color:#112;text-decoration:none;border-radius:50px;font-weight:600;transition:all .2s ease;box-shadow:0 4px 12px #ff8c004d}.back-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff8c0066}.back-button i{font-size:1rem}@media(max-width:768px){.location-grid,.charts-container{grid-template-columns:1fr}.chart-card{min-height:350px}}
