@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-gradient:linear-gradient(135deg, #1a1a1a 0%, #0d0d0d 100%);--glass-bg:#1e1e1e99;--glass-border:#00f3ff1a;--glass-shadow:0 8px 32px 0 #000c;--text-main:#f8fafc;--text-muted:#94a3b8;--accent:#00f3ff;--accent-glow:#00f3ff66}html{background-color:#0d0d0d}body{background:var(--bg-gradient);color:var(--text-main);-webkit-font-smoothing:antialiased;background-repeat:no-repeat;background-size:cover;background-attachment:scroll;min-height:100vh;margin:0;font-family:Outfit,sans-serif}*{box-sizing:border-box}h1,h2,h3,p{margin:0}a{color:var(--accent);text-decoration:none;transition:opacity .2s}a:hover{opacity:.8;text-decoration:underline}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px}.app-container{max-width:1200px;margin:0 auto;padding:2rem}.header{margin-bottom:3rem}.header-container{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;display:flex}@media (width>=768px){.header-container{text-align:left;flex-direction:row;justify-content:space-between;align-items:center;gap:2rem}}.header h1{background:linear-gradient(90deg,#fff,#ffffffb3);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.5rem;font-size:3rem;font-weight:700}.header p{color:var(--text-muted);font-size:1.2rem}.tabs{justify-content:center;gap:1rem;margin-bottom:2rem;display:flex}.tab-btn{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-main);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:30px;padding:.75rem 1.5rem;font-family:Outfit,sans-serif;font-size:1rem;font-weight:500;transition:all .3s}.tab-btn:hover{background:#fff3;transform:translateY(-2px)}.tab-btn.active{border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow);color:var(--accent);background:#00f3ff1a}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tab-content{animation:.4s ease-out forwards fadeIn}.split-view{flex-direction:column;gap:2rem;display:flex}@media (width>=900px){.split-view{flex-direction:row;height:700px}}.split-list{flex-direction:column;flex:1;gap:1.5rem;padding-right:1rem;display:flex;overflow-y:auto}.split-list::-webkit-scrollbar{width:8px}.split-list::-webkit-scrollbar-track{background:var(--glass-bg);border-radius:4px}.split-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.split-list::-webkit-scrollbar-thumb:hover{background:#fff6}.split-map{box-shadow:var(--glass-shadow);border:1px solid var(--glass-border);border-radius:16px;flex:1;overflow:hidden}@media (width<=767px){.tabs{display:none}}.gm-style-iw-c{background-color:#141414e6!important;border:1px solid #00f3ff40!important;border-radius:12px!important;padding:12px!important;box-shadow:0 8px 32px #000c!important}.gm-style-iw-t:after{box-shadow:none!important;background:#141414e6!important;border-bottom:1px solid #00f3ff40!important;border-left:1px solid #00f3ff40!important}.gm-ui-hover-effect{border-radius:50%;background:#ffffff0d!important;top:4px!important;right:4px!important}.gm-ui-hover-effect span{background-color:#94a3b8!important;margin:6px!important}.gm-ui-hover-effect:hover span{background-color:#00f3ff!important}.custom-map-marker{transition:transform .2s}.custom-map-marker:hover{transform:scale(1.2)translateY(-2px)}@keyframes pulse-highlight{0%{box-shadow:0 0 #00f3ffb3;border-color:#00f3ff!important}70%{box-shadow:0 0 0 15px #00f3ff00;border-color:#00f3ff80!important}to{box-shadow:0 0 #00f3ff00;border-color:var(--glass-border)!important}}.highlight-pulse{animation:1.5s ease-in-out infinite pulse-highlight;border-color:var(--accent)!important}@media (width<=767px){.app-container{padding-bottom:90px}.mobile-nav{z-index:1000;-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);height:64px;box-shadow:var(--glass-shadow);background:#141414d9;border-radius:20px;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:1rem;left:1rem;right:1rem}.mobile-nav-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;height:100%;font-family:Outfit,sans-serif;font-size:11px;font-weight:500;transition:all .2s;display:flex}.mobile-nav-btn.active{color:var(--accent);text-shadow:0 0 10px var(--accent-glow)}.mobile-nav-btn:active{transform:scale(.95)}.mobile-menu-overlay{z-index:1001;-webkit-backdrop-filter:blur(4px);background:#0000004d;animation:.2s ease-out fadeInOverlay;position:fixed;inset:0}.mobile-menu-popup{z-index:1002;-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);width:200px;box-shadow:var(--glass-shadow);background:#141414f2;border-radius:16px;flex-direction:column;gap:2px;padding:6px;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;display:flex;position:fixed;bottom:84px;right:1rem}.mobile-menu-item{color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;width:100%;padding:.65rem .85rem;font-family:Outfit,sans-serif;font-size:14px;font-weight:500;transition:all .2s;display:flex}.mobile-menu-item:hover,.mobile-menu-item:active{color:var(--text-main);background:#ffffff14}.mobile-menu-item.active{color:var(--accent);box-shadow:inset 0 0 0 1px var(--glass-border);background:#00f3ff1a}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}}@media (width>=768px){.mobile-nav,.mobile-menu-popup,.mobile-menu-overlay{display:none!important}}.scroll-to-top-btn{-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);width:48px;height:48px;color:var(--accent);cursor:pointer;z-index:990;box-shadow:var(--glass-shadow);background:#141414d9;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;animation:.3s ease-out fadeInScrollBtn;display:flex;position:fixed;bottom:2rem;right:2rem}.scroll-to-top-btn:hover{border-color:var(--accent);box-shadow:0 0 15px var(--accent-glow);background:#00f3ff26;transform:translateY(-3px)}.scroll-to-top-btn:active{transform:translateY(-1px)}@keyframes fadeInScrollBtn{0%{opacity:0;transform:scale(.8)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (width<=767px){.scroll-to-top-btn{width:42px;height:42px;bottom:5.5rem;right:1rem}}.countdown-card{flex-direction:column;gap:1.5rem;margin-bottom:2rem;padding:1.75rem;transition:transform .3s,border-color .3s;display:flex;position:relative;overflow:hidden}.countdown-card:before{content:"";background:linear-gradient(90deg, var(--accent) 0%, #00f3ff33 100%);width:100%;height:4px;position:absolute;top:0;left:0}.countdown-card:hover{border-color:#00f3ff40;transform:translateY(-2px)}.countdown-info{flex-direction:column;gap:.5rem;display:flex}.countdown-badge{background:#ffffff0d;border:1px solid #ffffff14;border-radius:20px;align-items:center;gap:.5rem;width:fit-content;padding:.25rem .75rem;display:flex}.status-dot{border-radius:50%;width:8px;height:8px;position:relative}.status-dot.countdown{background-color:var(--accent);box-shadow:0 0 8px var(--accent);animation:2s infinite pulse-cyan}.status-dot.live{background-color:#10b981;animation:2s infinite pulse-green;box-shadow:0 0 8px #10b981}.status-dot.completed{background-color:#64748b}.status-text{letter-spacing:.1em;color:var(--text-muted);font-size:.75rem;font-weight:700}.countdown-title{letter-spacing:-.01em;font-size:1.5rem;font-weight:600}.countdown-subtitle{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.info-icon{color:var(--accent);opacity:.8}.separator{opacity:.3}.countdown-grid{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}.time-segment{background:#0000004d;border:1px solid #ffffff0d;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-width:60px;padding:.75rem .5rem;transition:background .3s,border-color .3s;display:flex}.time-segment:hover{background:#00f3ff08;border-color:#00f3ff26}.time-value{font-variant-numeric:tabular-nums;background:linear-gradient(#fff 0%,#a5f3fc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2.25rem;font-weight:700;line-height:1}.time-label{letter-spacing:.05em;color:var(--text-muted);margin-top:.25rem;font-size:.65rem;font-weight:600}.countdown-status-banner{text-align:center;background:#00f3ff0a;border:1px dashed #00f3ff26;border-radius:12px;padding:1.25rem;font-weight:500}.live-message{color:var(--accent);justify-content:center;align-items:center;gap:.5rem;display:flex}.live-glow{background:var(--accent);width:6px;height:6px;box-shadow:0 0 10px var(--accent);border-radius:50%;animation:1s infinite alternate pulse-cyan}.completed-message{color:var(--text-muted)}.countdown-skeleton{text-align:center;color:var(--text-muted);padding:2.5rem;font-size:.9rem}.skeleton-pulse{animation:1.5s ease-in-out infinite pulse-opacity}@keyframes pulse-cyan{0%{box-shadow:0 0 #00f3ff66}70%{box-shadow:0 0 0 6px #00f3ff00}to{box-shadow:0 0 #00f3ff00}}@keyframes pulse-green{0%{box-shadow:0 0 #10b98166}70%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes pulse-opacity{0%,to{opacity:.6}50%{opacity:1}}@media (width>=640px){.countdown-card{flex-direction:row;justify-content:space-between;align-items:center;padding:2rem}.countdown-info{gap:.65rem}.countdown-title{font-size:1.75rem}.countdown-grid{gap:1rem}.time-segment{min-width:80px;padding:1rem}.time-value{font-size:2.5rem}.time-label{font-size:.7rem}}.itinerary-timeline-container{flex-direction:column;gap:2rem;display:flex}.day-selector-wrapper{justify-content:center;margin-bottom:1.5rem;display:flex}.day-selector-scroll{scrollbar-width:none;gap:.75rem;max-width:100%;padding:.5rem 1rem;display:flex;overflow-x:auto}.day-selector-scroll::-webkit-scrollbar{display:none}.day-pill{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-muted);cursor:pointer;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:.6rem 1.2rem;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1)}.day-pill:hover{color:var(--text-main);border-color:#00f3ff66;transform:translateY(-2px);box-shadow:0 4px 15px #00f3ff1a}.day-pill.active{border-color:var(--accent);color:var(--accent);box-shadow:0 0 20px var(--accent-glow);background:#00f3ff26}.timeline-spine-wrapper{flex-direction:column;gap:3rem;display:flex;position:relative}.timeline-day-group{flex-direction:column;gap:1.5rem;display:flex}.timeline-day-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.timeline-day-date{color:var(--text-main);font-size:1.5rem;font-weight:600}.timeline-day-badge{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;background:#00f3ff1a;border:1px solid #00f3ff33;border-radius:12px;padding:.25rem .75rem;font-size:.85rem;font-weight:600}.timeline-items-list{flex-direction:column;gap:.7rem;display:flex;position:relative}.timeline-items-list:before{content:"";background:linear-gradient(to bottom, var(--accent) 0%, #00f3ff4d 50%, #00f3ff0d 100%);width:2px;box-shadow:0 0 8px var(--accent-glow);position:absolute;top:1.5rem;bottom:1.5rem}@media (width>=768px){.timeline-items-list:before{left:210px}}@media (width<=767px){.timeline-items-list:before{left:20px}}.timeline-item{align-items:flex-start;display:flex;position:relative}.timeline-time-col{width:180px;color:var(--text-muted);text-align:right;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.5rem;padding-top:.25rem;font-size:.95rem;font-weight:500;display:flex}@media (width<=767px){.timeline-time-col{display:none}}.timeline-time-icon{opacity:.7}.timeline-dot-wrapper{flex-shrink:0;justify-content:center;align-items:flex-start;padding-top:.12rem;display:flex;position:relative}@media (width>=768px){.timeline-dot-wrapper{width:60px}}@media (width<=767px){.timeline-dot-wrapper{width:40px}}.timeline-dot-icon{border:2px solid var(--accent);width:40px;height:40px;color:var(--accent);z-index:2;box-shadow:0 0 12px var(--accent-glow);background:#141414;border-radius:50%;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}@media (width<=767px){.timeline-dot-icon{width:32px;height:32px}.timeline-dot-icon svg{width:15px;height:15px}}.timeline-item:hover .timeline-dot-icon{background:var(--accent);color:#000;box-shadow:0 0 20px var(--accent);transform:scale(1.15)}.timeline-dot-glow{background:var(--accent-glow);filter:blur(8px);z-index:1;opacity:.6;border-radius:50%;width:40px;height:40px;animation:3s infinite alternate pulseGlow;position:absolute;top:.12rem}@media (width<=767px){.timeline-dot-glow{width:32px;height:32px}}@keyframes pulseGlow{0%{opacity:.4;transform:scale(.9)}to{opacity:.8;transform:scale(1.2)}}.timeline-card-col{flex-grow:1;min-width:0}.timeline-card{flex-direction:column;gap:.25rem;padding:.6rem .9rem;transition:transform .3s,box-shadow .3s;display:flex}.timeline-card:hover{border-color:#00f3ff33;transform:translate(4px);box-shadow:0 8px 30px #00f3ff26}.timeline-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.timeline-card-title{color:var(--text-main);font-size:1.05rem;font-weight:700;line-height:1.3}.timeline-card-time-mobile{color:var(--accent);white-space:nowrap;background:#00f3ff14;border:1px solid #00f3ff26;border-radius:6px;padding:.2rem .5rem;font-size:.85rem;font-weight:500;display:none}@media (width<=767px){.timeline-card-time-mobile{display:inline-block}.timeline-card-header{flex-direction:column;gap:.4rem}}.timeline-card-desc{color:var(--text-muted);font-size:.85rem;line-height:1.4}.timeline-card-tip{border-left:3px solid var(--accent);background:#00f3ff0d;border-radius:0 8px 8px 0;gap:.75rem;margin-top:.2rem;padding:.3rem .6rem;display:flex}.timeline-tip-icon{color:var(--accent);flex-shrink:0;margin-top:.15rem}.timeline-tip-content{flex-direction:column;gap:.2rem;display:flex}.timeline-tip-label{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.timeline-tip-text{color:#b3f9ff;font-size:.78rem;font-style:italic;line-height:1.4}.timeline-card-actions{flex-wrap:wrap;gap:.5rem;margin-top:.15rem;display:flex}.timeline-nav-link{border:1px solid var(--glass-border);width:fit-content;color:var(--text-main);background:#ffffff0f;border-radius:8px;align-items:center;gap:.5rem;padding:.2rem .5rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.timeline-nav-link:hover{border-color:var(--accent);color:var(--accent);background:#00f3ff1a;text-decoration:none;box-shadow:0 0 10px #00f3ff1a}.concert-weather-card{background:linear-gradient(135deg,#ff6e0014 0%,#ffb8000a 100%);border:1px solid #ff6e0026;border-left:3px solid #f70;border-radius:0 8px 8px 0;flex-direction:column;gap:.25rem;margin-top:.3rem;padding:.5rem .75rem;display:flex}.concert-weather-header{color:#ff9d00;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;display:flex}.concert-weather-icon{color:#ff9d00}.concert-weather-body{flex-direction:column;gap:.1rem;display:flex}.concert-weather-temp{color:var(--text-main);font-size:.9rem;font-weight:700}.concert-weather-desc{color:#ffe0b3;font-size:.78rem;line-height:1.35}.timeline-item.is-travel-text{align-items:center;margin:0}.is-travel-text .travel-muted{opacity:.5;font-size:.8rem}.is-travel-text .timeline-dot-small{background:var(--glass-bg);border:1px dashed var(--text-muted);width:24px;height:24px;color:var(--text-muted);z-index:2;border-radius:50%;justify-content:center;align-items:center;margin-top:.15rem;display:flex}.is-travel-text .timeline-dot-small svg{width:12px;height:12px}.travel-text-col{padding-left:.5rem}.travel-text-content{color:var(--text-muted);align-items:center;gap:.4rem;font-size:.85rem;font-style:italic;display:flex}.travel-text-type{text-transform:uppercase;letter-spacing:.05em;opacity:.8;font-size:.75rem;font-weight:600}@media (width<=767px){.travel-text-content{font-size:.75rem}}.timeline-card.clickable-card{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.timeline-card.clickable-card:hover{transform:translate(6px)translateY(-2px);border-color:var(--accent)!important;box-shadow:0 8px 30px #00f3ff40!important}.timeline-card.clickable-card:after{content:"→ Details";text-transform:uppercase;letter-spacing:.05em;color:var(--accent);opacity:0;font-size:.7rem;font-weight:600;transition:all .2s;position:absolute;top:.6rem;right:.9rem;transform:translate(-5px)}.timeline-card.clickable-card:hover:after{opacity:.8;transform:translate(0)}@media (width<=767px){.timeline-card.clickable-card:after{display:none}}.weather-tab-container{flex-direction:column;gap:2rem;width:100%;animation:.4s ease-out forwards fadeIn;display:flex}.weather-tab-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;display:flex}.weather-title-area h2{color:var(--text-main);background:linear-gradient(135deg,#fff 0%,#a5f3fc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;align-items:center;gap:.5rem;font-size:1.8rem;font-weight:600;display:flex}.weather-title-area p{color:var(--text-muted);margin-top:.25rem;font-size:.9rem}.weather-control-group{align-items:center;gap:.75rem;display:flex}.source-badge{border-radius:12px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.75rem;font-weight:600;transition:all .3s;display:inline-flex}.source-badge.live{color:#10b981;background:#10b98126;border:1px solid #10b9814d;box-shadow:0 0 10px #10b9811a}.source-badge.simulated{color:#a78bfa;background:#8b5cf626;border:1px solid #8b5cf64d;box-shadow:0 0 10px #8b5cf61a}.weather-tab-refresh-btn{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-main);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.weather-tab-refresh-btn:hover{border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow);transform:rotate(30deg)}.weather-tab-refresh-btn.spinning{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.days-summary-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (width>=768px){.days-summary-grid{grid-template-columns:repeat(5,1fr)}}.day-summary-card{text-align:center;cursor:pointer;flex-direction:column;align-items:center;padding:1.25rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.day-summary-card:hover{background:#ffffff0d;border-color:#00f3ff33;transform:translateY(-4px)}.day-summary-card.active{border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow), inset 0 0 12px #00f3ff0d;background:#00f3ff14}.day-summary-card:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);height:2px;transition:transform .3s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.day-summary-card.active:before{transform:scaleX(1)}.day-card-name{color:var(--text-main);margin-bottom:.15rem;font-size:1.05rem;font-weight:600}.day-card-date{color:var(--text-muted);margin-bottom:.75rem;font-size:.75rem}.day-card-icon{filter:drop-shadow(0 4px 6px #00000026);justify-content:center;align-items:center;margin:.5rem 0;display:flex}.day-card-temps{justify-content:center;gap:.75rem;margin-top:.5rem;font-size:1rem;font-weight:500;display:flex}.day-card-high{color:#ff9e22}.day-card-low{color:#00f3ff}.day-card-rain{color:#3b82f6;background:#3b82f61a;border:1px solid #3b82f633;border-radius:8px;align-items:center;gap:.25rem;margin-top:.5rem;padding:.15rem .45rem;font-size:.75rem;font-weight:600;display:flex}.concert-badge-corner{color:#f472b6;background:#ec489926;border:1px solid #ec48994d;border-radius:6px;padding:.1rem .3rem;font-size:.7rem;font-weight:700;position:absolute;top:6px;right:6px}.charts-layout{flex-direction:column;gap:2rem;display:flex}@media (width>=1024px){.charts-layout{grid-template-columns:1fr 1fr;display:grid}}.chart-card-wrapper{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex;position:relative}.chart-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.chart-header-title{color:var(--text-main);font-size:1.2rem;font-weight:600}.chart-legend{color:var(--text-muted);gap:1rem;font-size:.75rem;display:flex}.legend-item{align-items:center;gap:.35rem;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px}.legend-line{border-radius:2px;width:16px;height:3px}.legend-bar{border-radius:2px;width:12px;height:8px}.svg-chart-container{width:100%;height:250px;position:relative;overflow:visible}.chart-svg{width:100%;height:100%;overflow:visible}.chart-grid-line{stroke:#ffffff0d;stroke-dasharray:4 4}.chart-axis-line{stroke:#ffffff26;stroke-width:1px}.chart-axis-label{fill:var(--text-muted);pointer-events:none;font-family:Outfit,sans-serif;font-size:.7rem}.temp-max-path{fill:none;stroke:url(#maxTempGrad);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.temp-min-path{fill:none;stroke:url(#minTempGrad);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.temp-single-path{fill:none;stroke:url(#hourlyTempGrad);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.temp-single-area{fill:url(#hourlyAreaGrad);opacity:.08;pointer-events:none}.temp-node-max{fill:#ff9e22;stroke:#121212;stroke-width:2px;cursor:pointer;transition:r .2s,fill .2s}.temp-node-max:hover{r:6;fill:#fff}.temp-node-min{fill:#00f3ff;stroke:#121212;stroke-width:2px;cursor:pointer;transition:r .2s,fill .2s}.temp-node-min:hover{r:6;fill:#fff}.temp-node-hourly{fill:var(--accent);stroke:#121212;stroke-width:2px;pointer-events:none}.temp-label{fill:var(--text-main);text-anchor:middle;pointer-events:none;font-size:.75rem;font-weight:600}.rain-probability-bar{fill:url(#rainBarGrad);rx:3px;ry:3px;cursor:pointer;opacity:.85;transition:fill .2s,opacity .2s}.rain-probability-bar:hover{opacity:1;fill:#3b82f6}.rain-probability-area{fill:url(#rainAreaGrad);opacity:.15;pointer-events:none}.rain-probability-line{fill:none;stroke:#3b82f6;stroke-width:1.5px;pointer-events:none}.interactive-overlay-rect{fill:#0000;cursor:crosshair}.scrub-line{stroke:#00f3ff66;stroke-width:1.5px;pointer-events:none}.scrub-active-dot{fill:var(--accent);stroke:#fff;stroke-width:1.5px;pointer-events:none;filter:drop-shadow(0 0 4px var(--accent-glow))}.chart-tooltip-container{z-index:10;pointer-events:none;opacity:0;max-width:160px;transition:opacity .2s,transform .2s;position:absolute;top:15px;right:15px;transform:translateY(5px)}.chart-tooltip-container.visible{opacity:1;transform:translateY(0)}.chart-tooltip-box{background:#0f172af2;border:1px solid #00f3ff4d;border-radius:10px;padding:.6rem;font-size:.75rem;box-shadow:0 4px 12px #00000080}.tooltip-time{color:var(--text-main);border-bottom:1px solid #ffffff1a;margin-bottom:.35rem;padding-bottom:.25rem;font-weight:700;display:block}.tooltip-row{color:var(--text-muted);justify-content:space-between;margin:.15rem 0;display:flex}.tooltip-row .tooltip-val{color:var(--text-main);font-weight:500}.tooltip-val.precip{color:#60a5fa}.tooltip-val.temp{color:#ff9e22}.weather-event-banner{background:#ec489914;border:1px solid #ec489940;border-radius:14px;align-items:flex-start;gap:.85rem;padding:1.25rem;animation:.4s ease-out forwards fadeIn;display:flex}.weather-event-banner-icon{color:#f472b6;background:#ec489926;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:.4rem;display:flex}.weather-event-banner-content{flex-direction:column;gap:.15rem;display:flex}.weather-event-title{color:var(--text-main);font-size:.95rem;font-weight:600}.weather-event-desc{color:var(--text-muted);font-size:.85rem;line-height:1.4}.active-day-stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (width>=600px){.active-day-stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-item-box{text-align:center;background:#ffffff05;border:1px solid #ffffff0d;border-radius:12px;flex-direction:column;gap:.35rem;padding:1rem;display:flex}.stat-item-box .stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.stat-item-box .stat-value{color:var(--text-main);font-size:1.25rem;font-weight:600}.stat-item-box .stat-desc{color:var(--text-muted);font-size:.7rem}.hourly-day-selector{gap:.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.hourly-day-selector::-webkit-scrollbar{height:4px}.hourly-day-selector-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:#ffffff08;border:1px solid #ffffff0d;border-radius:20px;padding:.35rem .75rem;font-size:.8rem;transition:all .2s}.hourly-day-selector-btn:hover{color:var(--text-main);background:#ffffff14}.hourly-day-selector-btn.active{border-color:var(--accent);color:var(--accent);background:#00f3ff1a}.budget-container{flex-direction:column;gap:2rem;display:flex}.budget-summary-card{text-align:center;border:1px solid var(--glass-border);background:linear-gradient(135deg,#00f3ff1a 0%,#00f3ff05 100%);flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex;box-shadow:0 0 40px #00f3ff0d}.summary-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.summary-header h2{font-size:2rem;font-weight:600}.text-accent{color:var(--accent)}.total-cost{color:var(--accent);align-items:flex-start;margin-bottom:.5rem;font-size:5rem;font-weight:700;line-height:1;display:flex}.total-cost span{background:linear-gradient(90deg,#00f3ff,#00d2ff);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.summary-subtext{color:var(--text-muted);font-size:1.1rem}.budget-grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}@media (width<=768px){.budget-grid{grid-template-columns:1fr}}.budget-column{flex-direction:column;gap:1rem;display:flex}.column-title{border-bottom:2px solid var(--glass-border);margin-bottom:.5rem;padding-bottom:.5rem;font-size:1.5rem}.cost-item{justify-content:space-between;align-items:center;padding:1.25rem;transition:transform .2s;display:flex}.cost-item:hover{transform:translate(5px)}.cost-info h4{margin-bottom:.25rem;font-size:1.1rem;font-weight:600}.cost-info p{color:var(--text-muted);font-size:.9rem}.cost-total{font-size:1.25rem;font-weight:700}.combo-item{background:#00f3ff14;border-color:#00f3ff4d}.savings-badge{color:#2ecc71;background:#2ecc7133;border-radius:12px;align-items:center;gap:.25rem;margin-top:.5rem;padding:.2rem .5rem;font-size:.8rem;font-weight:600;display:inline-flex}.attractions-container{flex-direction:column;gap:2rem;display:flex}.filter-scroll{-ms-overflow-style:none;scrollbar-width:none;padding-bottom:1rem;overflow-x:auto}.filter-scroll::-webkit-scrollbar{display:none}.filter-buttons{gap:.75rem;display:flex}.filter-btn{border:1px solid var(--glass-border);color:var(--text-main);cursor:pointer;white-space:nowrap;background:#ffffff1a;border-radius:20px;padding:.5rem 1.25rem;font-family:inherit;font-size:.9rem;transition:all .2s}.filter-btn:hover{background:#fff3}.filter-btn.active{background:var(--accent);color:#000;border-color:var(--accent);font-weight:600}.attractions-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.attraction-card{flex-direction:column;padding:1.5rem;transition:transform .3s;display:flex}.attraction-card:hover{transform:translateY(-5px)}.attraction-header{margin-bottom:1rem}.category-badge{text-transform:uppercase;letter-spacing:.5px;background:#fff3;border-radius:12px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.attraction-name{margin-bottom:.75rem;font-size:1.35rem;font-weight:700}.attraction-info{color:var(--text-muted);flex-grow:1;align-items:flex-start;gap:.5rem;margin-bottom:1.5rem;font-size:.9rem;display:flex}.info-icon{flex-shrink:0;margin-top:.2rem}.attraction-actions{gap:.75rem;display:flex}.action-link{text-align:center;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.6rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.action-link.website{color:var(--text-main);background:#ffffff1a;border:1px solid #fff3}.action-link.website:hover{background:#fff3;text-decoration:none}.action-link.map{color:var(--accent);background:#00f3ff26;border:1px solid #00f3ff4d}.action-link.map:hover{background:#00f3ff40;text-decoration:none}.attraction-tip{background:#00f3ff1a;border:1px solid #00f3ff33;border-radius:8px;align-items:flex-start;gap:.5rem;margin-bottom:1.5rem;padding:.75rem;display:flex}.attraction-tip p{color:#b3f9ff;margin:0;font-size:.85rem;font-style:italic;line-height:1.4}.tip-icon{color:var(--accent);flex-shrink:0;margin-top:.1rem}.packing-container{flex-direction:column;gap:1.5rem;display:flex}.packing-progress-card{padding:1.5rem;position:relative}.packing-progress-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.packing-progress-info{flex-direction:column;gap:.25rem;display:flex}.packing-icon-row{align-items:center;gap:.5rem;display:flex}.packing-suitcase-icon{color:var(--accent)}.packing-title{font-size:1.5rem;font-weight:700}.packing-subtitle{color:var(--text-muted);font-size:.9rem}.packing-progress-ring-container{flex-shrink:0;width:70px;height:70px;position:relative}.packing-progress-ring{width:100%;height:100%;transform:rotate(-90deg)}.packing-ring-bg{stroke:#ffffff0f}.packing-ring-fill{stroke:var(--accent);filter:drop-shadow(0 0 4px var(--accent-glow));transition:stroke-dashoffset .6s}.packing-progress-percent{font-variant-numeric:tabular-nums;color:var(--text-main);font-size:1rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.packing-progress-bar-track{background:#ffffff0f;border-radius:4px;height:4px;overflow:hidden}.packing-progress-bar-fill{background:linear-gradient(90deg, var(--accent) 0%, #00f3ff66 100%);border-radius:4px;height:100%;transition:width .6s}.packing-reset-btn{color:var(--text-muted);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:.35rem;margin-top:.75rem;padding:.35rem .75rem;font-family:Outfit,sans-serif;font-size:.75rem;transition:all .2s;display:inline-flex}.packing-reset-btn:hover{color:var(--text-main);background:#ffffff1a}.packing-category{padding:0;transition:border-color .3s;overflow:hidden}.packing-category.all-done{border-color:#10b98133}.packing-category-header{width:100%;color:var(--text-main);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-family:Outfit,sans-serif;font-size:1rem;font-weight:600;transition:background .2s;display:flex}.packing-category-header:hover{background:#ffffff08}.packing-category-left{align-items:center;gap:.5rem;display:flex}.packing-category-name{font-size:1.05rem}.packing-category-count{color:var(--text-muted);background:#ffffff0d;border-radius:10px;padding:.15rem .5rem;font-size:.8rem;font-weight:600}.packing-category-count.complete{color:#34d399;background:#10b9811a}.packing-items{flex-direction:column;gap:.25rem;padding:0 1.25rem 1rem;display:flex}.packing-item{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:.75rem;padding:.6rem .5rem;transition:background .15s;display:flex}.packing-item:hover{background:#ffffff0a}.packing-checkbox{flex-shrink:0;align-items:center;display:flex}.check-icon{color:#ffffff40;transition:color .2s}.check-icon.checked{color:#10b981}.packing-item-text{font-size:.925rem;line-height:1.3;transition:all .2s}.packing-item-text.packed{color:var(--text-muted);opacity:.6;text-decoration:line-through}.packing-delete-btn{color:#ffffff26;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;align-items:center;margin-left:auto;padding:.25rem;transition:all .2s;display:flex}.packing-item:hover .packing-delete-btn{opacity:1}.packing-delete-btn:hover{color:#ef4444;background:#ef44441a}.packing-add-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:1px dashed #ffffff1a;border-radius:6px;align-items:center;gap:.35rem;width:fit-content;margin-top:.25rem;padding:.4rem .75rem;font-family:Outfit,sans-serif;font-size:.8rem;transition:all .2s;display:inline-flex}.packing-add-btn:hover{color:var(--accent);background:#00f3ff08;border-color:#00f3ff33}.packing-add-form{gap:.5rem;margin-top:.25rem;display:flex}.packing-add-input{color:var(--text-main);background:#0000004d;border:1px solid #ffffff1a;border-radius:6px;outline:none;flex:1;padding:.5rem .75rem;font-family:Outfit,sans-serif;font-size:.85rem;transition:border-color .2s}.packing-add-input:focus{border-color:var(--accent)}.packing-add-input::placeholder{color:#ffffff40}.packing-add-confirm{color:var(--accent);cursor:pointer;background:#00f3ff1a;border:1px solid #00f3ff33;border-radius:6px;padding:.5rem 1rem;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:600;transition:all .2s}.packing-add-confirm:hover{background:#00f3ff26}.whats-next-banner{margin-bottom:0;padding:1.5rem;transition:transform .3s,border-color .3s;position:relative;overflow:hidden}.whats-next-banner:before{content:"";width:100%;height:3px;position:absolute;top:0;left:0}.whats-next-banner.live:before{background:linear-gradient(90deg,#10b981 0%,#10b98133 100%)}.whats-next-banner.upcoming:before{background:linear-gradient(90deg,#f59e0b 0%,#f59e0b33 100%)}.whats-next-banner.done:before{background:linear-gradient(90deg,#64748b 0%,#64748b33 100%)}.whats-next-banner:hover{transform:translateY(-2px)}.wn-header{margin-bottom:.75rem}.wn-status-badge{letter-spacing:.1em;border-radius:20px;align-items:center;gap:.5rem;padding:.25rem .75rem;font-size:.7rem;font-weight:700;display:inline-flex}.wn-status-badge.live{color:#34d399;background:#10b9811a;border:1px solid #10b98133}.wn-status-badge.upcoming{color:#fbbf24;background:#f59e0b1a;border:1px solid #f59e0b33}.wn-status-badge.done{color:#94a3b8;background:#64748b1a;border:1px solid #64748b33}.wn-dot{border-radius:50%;width:8px;height:8px}.wn-dot.live{background:#10b981;animation:2s infinite wn-pulse-green;box-shadow:0 0 8px #10b981}.wn-dot.upcoming{background:#f59e0b;animation:2s infinite wn-pulse-amber;box-shadow:0 0 8px #f59e0b}.wn-dot.done{background:#64748b}.wn-content{flex-direction:column;gap:.75rem;display:flex}.wn-main{flex-direction:column;gap:.35rem;display:flex}.wn-location{font-size:1.35rem;font-weight:700;line-height:1.2}.wn-description{color:var(--text-muted);font-size:.9rem}.wn-meta{align-items:center;gap:1rem;margin-top:.35rem;display:flex}.wn-time{color:var(--accent);align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;display:inline-flex}.wn-navigate{background:#ffffff1a;border-radius:6px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.8rem;font-weight:500;text-decoration:none;transition:background .2s;display:inline-flex}.wn-navigate:hover{background:#fff3;text-decoration:none}.wn-up-next{color:var(--text-muted);background:#ffffff0a;border:1px dashed #ffffff14;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8rem;display:flex}.wn-up-next-label{color:#fff6;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.25rem;font-size:.7rem;font-weight:600;display:inline-flex}.wn-up-next-name{color:var(--text-main);font-weight:600}.wn-up-next-time{color:var(--text-muted);margin-left:auto;font-size:.75rem}.wn-done-text{color:var(--text-muted);margin-top:.5rem;font-size:.95rem}@keyframes wn-pulse-green{0%{box-shadow:0 0 #10b98166}70%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes wn-pulse-amber{0%{box-shadow:0 0 #f59e0b66}70%{box-shadow:0 0 0 6px #f59e0b00}to{box-shadow:0 0 #f59e0b00}}@media (width>=640px){.whats-next-banner{padding:1.75rem}.wn-location{font-size:1.5rem}}.wn-camera-badge{cursor:help;border-radius:6px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.wn-camera-badge.allowed{color:var(--accent);background:#00f3ff14;border:1px solid #00f3ff33}.wn-camera-badge.restricted{color:#f87171;background:#ef444414;border:1px solid #ef444433}.weather-card{background:var(--glass-bg);border:1px solid var(--glass-border);min-width:240px;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(12px);border-radius:16px;flex-direction:column;gap:.4rem;padding:.75rem 1rem;transition:all .3s;display:flex}.weather-card:hover{border-color:#00f3ff40;box-shadow:0 4px 20px #00f3ff1a}.weather-main-row{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.weather-primary{align-items:center;gap:.5rem;display:flex}.weather-icon-container{background:#ffffff08;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.weather-temp-group{align-items:flex-start;display:flex}.weather-temp{color:var(--text-main);font-size:1.8rem;font-weight:700;line-height:1}.weather-unit-toggle{color:var(--text-muted);align-items:center;margin-top:.15rem;margin-left:.15rem;font-size:.7rem;display:flex}.unit-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.7rem;transition:color .2s}.unit-btn:hover{color:var(--text-main)}.unit-btn.active{color:var(--accent);font-weight:700}.unit-divider{opacity:.3;margin:0 .15rem}.weather-details{flex-direction:column;flex-grow:1;min-width:0;display:flex}.weather-header-row{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.weather-city{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.weather-refresh-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.2rem;transition:all .2s;display:flex}.weather-refresh-btn:hover{color:var(--accent);background:#ffffff0d}.weather-desc{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:500;overflow:hidden}.weather-grid{gap:.6rem;margin-top:.15rem;display:flex}.weather-grid-item{color:var(--text-muted);align-items:center;gap:.25rem;font-size:.75rem;display:flex}.grid-icon{color:var(--accent);opacity:.8}.weather-offline-badge{color:#ffb700;text-align:center;background:#ffb7000f;border:1px solid #ffb70026;border-radius:6px;justify-content:center;align-items:center;gap:.35rem;margin-top:.2rem;padding:.15rem .4rem;font-size:.7rem;font-weight:500;display:flex}.offline-dot{background:#ffb700;border-radius:50%;width:5px;height:5px;animation:2s infinite alternate pulseOffline;box-shadow:0 0 6px #ffb700}@keyframes pulseOffline{0%{opacity:.5}to{opacity:1}}.weather-refresh-btn.spinning{pointer-events:none;animation:.8s linear infinite spin}.weather-icon{filter:drop-shadow(0 0 4px #ffffff1a)}.weather-icon.clear-day{color:#ffcf33;filter:drop-shadow(0 0 6px #ffcf3366);animation:20s linear infinite rotateSun}.weather-icon.clear-night{color:#c9d6df;filter:drop-shadow(0 0 5px #c9d6df4d)}.weather-icon.cloudy-day{color:#a3e9ff}.weather-icon.cloudy-night{color:#7d9cb0}.weather-icon.cloudy{color:#cbd5e1}.weather-icon.rain,.weather-icon.showers,.weather-icon.drizzle{color:#38bdf8;animation:2s ease-in-out infinite alternate bounceRain}.weather-icon.storm{color:#f59e0b;filter:drop-shadow(0 0 8px #f59e0b80)}@keyframes rotateSun{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounceRain{0%{transform:translateY(0)}to{transform:translateY(-3px)}}.weather-card.loading-skeleton{border-style:dashed;justify-content:center;align-items:center;min-height:70px}.skeleton-icon{background:#ffffff0d;border-radius:50%;width:32px;height:32px;animation:1.5s ease-in-out infinite skeletonPulse}.skeleton-text{background:#ffffff0d;border-radius:4px;width:100px;height:12px;margin-top:.4rem;animation:1.5s ease-in-out .3s infinite skeletonPulse}@keyframes skeletonPulse{0%{opacity:.3}50%{opacity:.7}to{opacity:.3}}.weather-card.interactive{cursor:pointer;-webkit-user-select:none;user-select:none}.weather-header-actions{align-items:center;gap:.35rem;display:flex}.weather-expand-arrow{color:var(--text-muted);justify-content:center;align-items:center;transition:color .2s,transform .3s;display:flex}.weather-card.interactive:hover .weather-expand-arrow{color:var(--accent)}.weather-card.expanded{min-width:360px}.weather-forecast-container{flex-direction:column;animation:.3s cubic-bezier(.4,0,.2,1) forwards slideDown;display:flex;overflow:hidden}.forecast-divider{background:var(--glass-border);width:100%;height:1px;margin:.5rem 0}.forecast-header{color:var(--accent);letter-spacing:.08em;opacity:.8;margin-bottom:.4rem;font-size:.65rem;font-weight:700}.forecast-grid{justify-content:space-between;gap:.3rem;width:100%;display:flex}.forecast-day-col{background:#ffffff05;border:1px solid #0000;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:.15rem;min-width:0;padding:.25rem .15rem;transition:all .2s;display:flex}.forecast-day-col:hover{border-color:var(--glass-border);background:#ffffff0d}.forecast-day-name{color:var(--text-main);font-size:.75rem;font-weight:600}.forecast-day-date{color:var(--text-muted);font-size:.58rem}.forecast-day-icon{justify-content:center;align-items:center;height:22px;margin:.1rem 0;display:flex}.forecast-day-temps{gap:.25rem;font-size:.68rem;display:flex}.forecast-temp-max{color:var(--text-main);font-weight:600}.forecast-temp-min{color:var(--text-muted);opacity:.75}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-8px)}to{opacity:1;max-height:260px;transform:translateY(0)}}.forecast-day-col.highlight-concert{background:#00f3ff14;border:1px solid #00f3ff59;position:relative;box-shadow:0 0 12px #00f3ff26}.forecast-day-col.highlight-concert:hover{border-color:var(--accent);background:#00f3ff1f;box-shadow:0 0 16px #00f3ff40}.concert-badge-mini{color:#ff9d00;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;background:#ff9d001f;border:1px solid #ff9d0040;border-radius:4px;margin-top:.15rem;padding:.02rem .15rem;font-size:.52rem;font-weight:700}.concert-emphasis-banner{background:linear-gradient(135deg,#ff6e000f 0%,#00f3ff08 100%);border:1px dashed #00f3ff40;border-radius:10px;align-items:center;gap:.6rem;margin-top:.75rem;padding:.5rem .75rem;animation:4s infinite alternate bannerPulse;display:flex}@keyframes bannerPulse{0%{border-color:#00f3ff33;box-shadow:0 2px 8px #0003}to{border-color:#ff9d0066;box-shadow:0 2px 12px #ff9d0014}}.concert-banner-icon{color:#ff9d00;flex-shrink:0;animation:1.5s infinite alternate pulseIcon}@keyframes pulseIcon{0%{transform:scale(1)}to{transform:scale(1.15)}}.concert-banner-content{text-align:left;flex-direction:column;gap:.1rem;display:flex}.concert-banner-title{color:#ff9d00;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700}.concert-banner-desc{color:var(--text-main);font-size:.72rem;line-height:1.3}@media (width<=480px){.weather-card.expanded{min-width:100%}.forecast-grid{gap:.15rem}.forecast-day-col{padding:.2rem .05rem}.forecast-day-temps{flex-direction:column;align-items:center;gap:0;font-size:.65rem}.concert-badge-mini{padding:.01rem .1rem;font-size:.5rem}}.radar-banner{color:var(--text-muted);align-items:center;gap:10px;margin-bottom:1.5rem;padding:1rem 1.5rem;font-size:.9rem;display:flex}.radar-banner.waiting{border:1px dashed var(--glass-border);background:#14141466}.radar-banner.empty{background:var(--glass-bg);border:1px solid var(--glass-border)}.radar-panel{flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1.5rem;display:flex}.radar-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.radar-title-group{align-items:center;gap:12px;display:flex}.radar-title-group h3{color:var(--text-main);font-size:1.25rem;font-weight:700}.radar-monitoring-text{color:var(--text-muted);font-size:.85rem;font-weight:500}.radar-count-badge{color:var(--accent);background:#00f3ff1a;border:1px solid #00f3ff33;border-radius:20px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.radar-indicator{vertical-align:middle;width:14px;height:14px;display:inline-block;position:relative}.radar-dot{border-radius:50%;width:6px;height:6px;position:absolute;top:4px;left:4px}.radar-indicator.active .radar-dot{background-color:var(--accent);box-shadow:0 0 6px var(--accent)}.radar-indicator.inactive .radar-dot{background-color:var(--text-muted)}.radar-wave{opacity:0;border-radius:50%;width:14px;height:14px;position:absolute;top:0;left:0}.radar-indicator.active .radar-wave.animate{border:2px solid var(--accent);animation:2.5s cubic-bezier(.215,.61,.355,1) infinite radar-pulse-ring}.radar-indicator.inactive .radar-wave{border:2px solid var(--text-muted);opacity:.15}@keyframes radar-pulse-ring{0%{opacity:.8;transform:scale(.3)}80%,to{opacity:0;transform:scale(2.2)}}.radar-list{flex-direction:column;gap:.75rem;display:flex}.radar-item{background:#ffffff05;border:1px solid #ffffff0d;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;transition:all .2s;display:flex}.radar-item:hover{background:#ffffff0a;border-color:#00f3ff26;transform:translate(2px)}.radar-item-main{flex-direction:column;flex-grow:1;gap:.25rem;min-width:0;display:flex}.radar-item-row-one{align-items:center;gap:10px;display:flex}.radar-item-badge{text-transform:uppercase;color:var(--accent);letter-spacing:.05em;font-size:.7rem;font-weight:700}.radar-item-distance{color:var(--text-muted);font-size:.75rem;font-weight:600}.radar-item-name{color:var(--text-main);font-size:1.05rem;font-weight:600}.radar-item-address{color:var(--text-muted);font-size:.8rem}.radar-camera-badge{border-radius:4px;align-items:center;gap:4px;width:fit-content;max-width:100%;margin-top:4px;padding:2px 6px;font-size:.72rem;font-weight:600;display:inline-flex}.radar-camera-badge.allowed{color:var(--accent);background:#00f3ff0d;border:1px solid #00f3ff26}.radar-camera-badge.restricted{color:#f87171;background:#ef44440d;border:1px solid #ef444426}.radar-camera-tip{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex-grow:1;min-width:0;margin-left:4px;font-weight:400;overflow:hidden}.radar-action-btn{border:1px solid var(--glass-border);color:var(--text-main);cursor:pointer;background:#ffffff0d;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:68px;padding:.5rem .8rem;font-family:Outfit,sans-serif;font-size:.75rem;font-weight:500;transition:all .2s;display:flex}.radar-action-btn:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 0 10px var(--accent-glow);background:#00f3ff26}.radar-action-btn:active{transform:scale(.95)}.radar-panel.collapsed{padding:1rem 1.5rem}.radar-panel.collapsed .radar-header{border-bottom:none;padding-bottom:0}.radar-collapse-btn:hover{color:var(--accent)!important}
