.ss-solar-tool{
  --ss-ink:#24203a;--ss-muted:#746c7b;--ss-line:#eaded7;--ss-card:#fff;--ss-sun:#ffd45c;--ss-gold:#ffb447;--ss-coral:#ff7163;--ss-pink:#ef72aa;--ss-violet:#765fd0;--ss-sky:#76ccfb;--ss-aqua:#7edfd0;--ss-night:#17244b;
  position:relative;margin-block:1.25rem 2.7rem;color:var(--ss-ink);width:100%;max-width:1180px;margin-inline:auto
}
.ss-tool-head{max-width:820px;margin:0 auto 1.1rem;text-align:center}.ss-tool-heading{font-size:clamp(1.55rem,3vw,2.45rem);margin:.2rem 0 .45rem;letter-spacing:-.025em}.ss-tool-intro{color:var(--ss-muted);margin:0 auto;max-width:760px}.ss-tool-app{position:relative}.ss-tool-loading{padding:2rem;text-align:center;background:#fff8ee;border:1px solid var(--ss-line);border-radius:22px}.ss-tool-app.is-busy:after{content:"";position:absolute;inset:0;background:rgba(255,250,244,.74);border-radius:24px;z-index:20}.ss-tool-app.is-busy:before{content:"";position:absolute;z-index:21;left:50%;top:7rem;width:34px;height:34px;margin:-17px;border:3px solid #f4ddd2;border-top-color:var(--ss-coral);border-radius:50%;animation:ss-spin .8s linear infinite}
.ss-controls{display:flex;gap:.62rem;align-items:center;flex-wrap:wrap;background:linear-gradient(118deg,#fff9df 0%,#ffece6 28%,#f9eaff 62%,#e9f8ff 100%);border:1px solid rgba(224,187,181,.65);padding:.9rem;border-radius:22px;box-shadow:0 15px 38px rgba(77,55,69,.09)}.ss-search-form{display:flex;flex:1 1 350px;gap:.45rem}.ss-controls input,.ss-controls button,.ss-world-picker input,.ss-world-picker button{min-height:46px;font:inherit}.ss-location-input{flex:1;min-width:180px;border:1px solid #e3d5ce;border-radius:999px;padding:.65rem .95rem;background:#fff}.ss-controls button,.ss-world-picker button,.ss-calendar-actions button,.ss-section-head button{border:1px solid #e3d5ce;background:#fff;color:#3a3143;border-radius:999px;padding:.64rem .9rem;font-weight:760;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.ss-search-form button{background:linear-gradient(135deg,#6f58c8,#ef6e9d 54%,#ff8b65);color:#fff;border:0;box-shadow:0 6px 18px rgba(117,72,140,.2)}.ss-use-location{background:linear-gradient(135deg,#fff,#fff3cf)!important}.ss-map-toggle{background:linear-gradient(135deg,#fff,#e9f8ff)!important}.ss-controls button:hover,.ss-world-picker button:hover,.ss-calendar-actions button:hover,.ss-section-head button:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(70,47,65,.11)}.ss-date-label{display:flex;align-items:center;gap:.4rem;font-size:.88rem;font-weight:750}.ss-date-input{border:1px solid #e3d5ce;border-radius:999px;padding:.45rem .7rem;background:#fff}.ss-time-format{background:linear-gradient(135deg,#f1ecff,#fff)!important}
.ss-search-results{margin:.55rem 0;border:1px solid var(--ss-line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 15px 34px rgba(64,48,67,.1)}.ss-search-results button{display:flex;width:100%;justify-content:space-between;gap:1rem;text-align:left;border:0;border-bottom:1px solid #f0e8e4;background:#fff;padding:.82rem 1rem;cursor:pointer}.ss-search-results button:last-child{border-bottom:0}.ss-search-results button:hover{background:#fff9f4}.ss-search-results span{color:var(--ss-muted);font-size:.82rem;white-space:nowrap}.ss-location-line{display:flex;gap:.55rem 1rem;flex-wrap:wrap;align-items:center;margin:.9rem 0 .4rem;color:var(--ss-muted);font-size:.92rem}.ss-location-line strong{color:var(--ss-ink);font-size:1rem}.ss-location-line[data-status]:after{content:attr(data-status);margin-left:auto;font-weight:760;color:var(--ss-violet)}
.ss-date-title{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:.8rem 0}.ss-date-title>span:first-child{font-weight:780}.ss-status-pill{text-transform:capitalize;background:linear-gradient(135deg,#f1eaff,#ffe9ef);color:#704e92;border-radius:999px;padding:.3rem .65rem;font-size:.78rem;font-weight:780}
.ss-solar-weather-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:1rem;align-items:start}.ss-solar-main{min-width:0}.ss-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.ss-result-card{display:flex;gap:.72rem;align-items:center;min-height:108px;padding:1rem;border:1px solid rgba(228,207,196,.78);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(73,52,67,.07);position:relative;overflow:hidden}.ss-result-card:after{content:"";position:absolute;right:-25px;top:-30px;width:72px;height:72px;border-radius:50%;background:rgba(255,211,90,.13)}.ss-result-card:nth-child(4n+1){background:linear-gradient(145deg,#fffaf0,#fff)}.ss-result-card:nth-child(4n+2){background:linear-gradient(145deg,#fff0e9,#fff)}.ss-result-card:nth-child(4n+3){background:linear-gradient(145deg,#f7eeff,#fff)}.ss-result-card:nth-child(4n){background:linear-gradient(145deg,#eaf9ff,#fff)}.ss-result-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:linear-gradient(145deg,#ffe68a,#ffba75 55%,#ff8a7f);font-size:1.28rem;box-shadow:0 5px 14px rgba(255,143,101,.2)}.ss-result-card:nth-child(3n+2) .ss-result-icon{background:linear-gradient(145deg,#ecddff,#c9c4ff)}.ss-result-card:nth-child(4n) .ss-result-icon{background:linear-gradient(145deg,#ddf7ff,#9fe4ff)}.ss-result-card>div{min-width:0}.ss-result-label,.ss-result-sub{display:block;color:var(--ss-muted);font-size:.78rem;line-height:1.35}.ss-result-value{display:block;font-size:clamp(1rem,2vw,1.22rem);line-height:1.25;margin:.18rem 0;overflow-wrap:anywhere}
.ss-sun-visual{margin:1rem 0;padding:1rem;background:linear-gradient(180deg,#dff4ff 0%,#eef7ff 32%,#fff3c7 67%,#ffc6a4 74%,#fff 75%);border:1px solid #e3d8d4;border-radius:24px;overflow:hidden;box-shadow:0 10px 27px rgba(79,57,72,.05)}.ss-sun-visual svg{display:block;width:100%;height:auto;max-height:250px}.ss-arc{fill:none;stroke:#9bb7ca;stroke-width:.75;stroke-dasharray:2 2}.ss-horizon{stroke:#9a8790;stroke-width:.55}.ss-sun-dot{fill:#ffd05a;filter:drop-shadow(0 0 7px rgba(255,189,67,.7));animation:ss-pulse 3s ease-in-out infinite}.ss-event-dot{fill:#765fd0}.ss-sun-legend{display:flex;justify-content:space-between;gap:.7rem;color:var(--ss-muted);font-size:.8rem}.ss-compare{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1rem 0}.ss-compare>div{padding:1rem;border:1px solid #eaded7;border-radius:18px;background:linear-gradient(145deg,#fff,#fffaf1);box-shadow:0 8px 22px rgba(71,51,65,.04)}.ss-compare>div:nth-child(2){background:linear-gradient(145deg,#fff,#f2edff)}.ss-compare span,.ss-compare small,.ss-compare strong{display:block}.ss-compare span,.ss-compare small{color:var(--ss-muted);font-size:.8rem}.ss-compare strong{margin:.15rem 0}
.ss-details{border:1px solid var(--ss-line);border-radius:20px;background:#fff;margin:1rem 0;padding:.25rem 1rem}.ss-details summary{cursor:pointer;font-weight:780;padding:.86rem 0}.ss-table-wrap{overflow:auto;-webkit-overflow-scrolling:touch}.ss-event-table,.ss-calendar-table{border-collapse:collapse;width:100%;min-width:560px}.ss-event-table caption{text-align:left;font-weight:780;padding:.6rem 0}.ss-event-table th,.ss-event-table td,.ss-calendar-table th,.ss-calendar-table td{padding:.72rem .65rem;border-bottom:1px solid #eee5e1;text-align:left}.ss-event-table th,.ss-calendar-table th{font-weight:720}.ss-event-table td small{display:block;color:var(--ss-muted)}.ss-calendar-table thead{background:linear-gradient(90deg,#fff2d7,#ffe9ee,#f0ebff)}.ss-calendar-table tbody tr:hover{background:#fffaf6}.ss-calendar-section{margin:1.2rem 0;padding:1rem;border:1px solid var(--ss-line);border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(74,52,68,.05)}.ss-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.ss-section-head h3{margin:.15rem 0}.ss-section-head>div,.ss-calendar-actions{display:flex;gap:.45rem;flex-wrap:wrap}.ss-calendar-actions{margin-top:.9rem}.ss-data-note{font-size:.78rem;color:var(--ss-muted);line-height:1.55;background:#fff9ed;border:1px solid #f0e0c8;border-radius:14px;padding:.72rem .85rem}
.ss-world-picker{margin:.7rem 0;padding:1rem;border:1px solid var(--ss-line);border-radius:20px;background:#fff}.ss-world-grid{position:relative;aspect-ratio:2/1;border-radius:17px;overflow:hidden;cursor:crosshair;background:linear-gradient(180deg,#bdeaff,#e7f8ff);border:1px solid #afd9ea;background-image:linear-gradient(rgba(38,78,102,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(38,78,102,.13) 1px,transparent 1px);background-size:12.5% 25%}.ss-world-grid:before{content:"";position:absolute;inset:18% 8% 20% 7%;border-radius:52% 38% 44% 48%;background:rgba(116,180,119,.34);transform:rotate(-4deg);clip-path:polygon(0 40%,16% 18%,31% 29%,43% 8%,58% 22%,66% 11%,83% 28%,100% 20%,91% 48%,73% 54%,67% 84%,55% 71%,45% 92%,32% 67%,19% 77%,11% 56%)}.ss-world-marker{position:absolute;width:15px;height:15px;margin:-7px;border-radius:50%;background:#ff7163;border:3px solid #fff;box-shadow:0 2px 9px rgba(0,0,0,.25);z-index:3}.ss-map-label{position:absolute;z-index:2;font-size:.68rem;color:#31566b;background:rgba(255,255,255,.78);padding:.12rem .3rem;border-radius:4px}.ss-map-n{top:.3rem;left:50%}.ss-map-s{bottom:.3rem;left:50%}.ss-map-w{left:.3rem;top:50%}.ss-map-e{right:.3rem;top:50%}.ss-coord-row{display:flex;gap:.6rem;align-items:end;flex-wrap:wrap}.ss-coord-row label{font-size:.82rem;font-weight:720}.ss-coord-row input{display:block;border:1px solid var(--ss-line);border-radius:10px;padding:.45rem .55rem;width:145px}
.ss-compass{display:grid;place-items:center;margin:1rem 0;padding:1rem;border:1px solid var(--ss-line);border-radius:22px;background:linear-gradient(180deg,#fff,#faf5ff)}.ss-compass-ring{position:relative;width:min(260px,70vw);aspect-ratio:1;border:2px solid #cabee0;border-radius:50%;background:repeating-conic-gradient(from 0deg,#f0ebfa 0deg 1deg,transparent 1deg 15deg)}.ss-compass-ring:after{content:"";position:absolute;inset:13%;border:1px solid #ddd2eb;border-radius:50%}.ss-compass-ring>span:not(.ss-compass-needle){position:absolute;font-weight:800;z-index:2}.ss-compass-ring .n{left:50%;top:4%;transform:translateX(-50%)}.ss-compass-ring .s{left:50%;bottom:4%;transform:translateX(-50%)}.ss-compass-ring .e{right:5%;top:50%;transform:translateY(-50%)}.ss-compass-ring .w{left:5%;top:50%;transform:translateY(-50%)}.ss-compass-needle{position:absolute;left:50%;top:50%;height:38%;transform-origin:50% 86%;z-index:4}.ss-compass-needle:before{content:"";display:block;width:2px;height:100%;background:#ff7163;margin:auto}.ss-compass-needle b{position:absolute;top:-11px;left:50%;transform:translateX(-50%);font-size:1.25rem}
.ss-week-section,.ss-annual{margin:1rem 0;padding:1rem;border:1px solid var(--ss-line);border-radius:22px;background:#fff;box-shadow:0 9px 25px rgba(70,51,65,.04)}.ss-week-section h3,.ss-annual h3{margin:.1rem 0 .35rem}.ss-annual p{margin:.2rem 0 .8rem;color:var(--ss-muted);font-size:.86rem}.ss-annual svg{display:block;width:100%;height:auto;overflow:visible}.ss-chart-axis{fill:none;stroke:#cfc4d3;stroke-width:1}.ss-chart-line{fill:none;stroke:#ff7163;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.ss-annual text{font-size:11px;fill:#70677a}

.ss-weather-card{position:sticky;top:84px;border-radius:24px;overflow:hidden;background:linear-gradient(160deg,#fef5bf 0%,#ffd8a9 35%,#ffaf9b 68%,#cba9ef 100%);box-shadow:0 15px 42px rgba(94,65,93,.16);border:1px solid rgba(255,255,255,.7);min-height:330px}.ss-weather-inner{padding:1rem}.ss-weather-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.ss-weather-head h3{margin:.08rem 0;font-size:1.05rem}.ss-weather-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:850;color:#85465f}.ss-weather-source-dot{width:10px;height:10px;border-radius:50%;background:#47c98b;box-shadow:0 0 0 5px rgba(71,201,139,.13);margin:.35rem}.ss-weather-visual{position:relative;height:108px;margin:.5rem 0 .2rem;overflow:hidden}.ss-w-sun{position:absolute;width:66px;height:66px;border-radius:50%;left:14px;top:15px;background:radial-gradient(circle,#fff5a8 0 34%,#ffd05d 36% 70%,#ffb34e 72%);box-shadow:0 0 0 10px rgba(255,214,94,.18),0 0 28px rgba(255,166,71,.35);animation:ss-weather-float 4.5s ease-in-out infinite}.ss-w-moon{display:none;position:absolute;width:58px;height:58px;border-radius:50%;left:20px;top:16px;background:#fff3c8;box-shadow:-15px 7px 0 0 #7b6eb1;animation:ss-weather-float 5s ease-in-out infinite}.ss-w-cloud{position:absolute;width:92px;height:30px;border-radius:40px;background:rgba(255,255,255,.93);right:15px;top:50px;box-shadow:0 7px 18px rgba(96,74,100,.12);animation:ss-cloud-drift 5s ease-in-out infinite}.ss-w-cloud:before,.ss-w-cloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.ss-w-cloud:before{width:42px;height:42px;left:14px;bottom:6px}.ss-w-cloud:after{width:54px;height:54px;right:9px;bottom:3px}.ss-w-cloud-b{right:55px;top:30px;transform:scale(.66);opacity:.7;animation-delay:-2s}.ss-w-rain{display:none;position:absolute;width:3px;height:16px;border-radius:8px;background:#5f9fdb;top:84px;right:60px;animation:ss-rain 1s linear infinite}.ss-w-rain.r2{right:83px;animation-delay:-.33s}.ss-w-rain.r3{right:106px;animation-delay:-.66s}.ss-w-snow{display:none;position:absolute;color:#fff;font-size:1.65rem;top:71px;right:60px;animation:ss-snow 2s linear infinite}.ss-w-snow.s2{right:84px;animation-delay:-.7s}.ss-w-snow.s3{right:108px;animation-delay:-1.35s}.ss-w-bolt{display:none;position:absolute;right:79px;top:72px;font-size:2rem;color:#ffd64f;text-shadow:0 2px 5px rgba(85,57,91,.15);animation:ss-bolt 1.6s step-end infinite}.ss-w-fog{display:none;position:absolute;height:5px;width:105px;border-radius:99px;background:rgba(255,255,255,.86);right:8px;top:76px;animation:ss-fog 4s ease-in-out infinite}.ss-w-fog.f2{top:92px;width:78px;right:26px;animation-delay:-1.5s}.ss-weather-clear-night .ss-w-sun{display:none}.ss-weather-clear-night .ss-w-moon{display:block}.ss-weather-clear-night{background:linear-gradient(180deg,rgba(63,55,126,.06),transparent)}.ss-weather-cloudy .ss-w-sun{opacity:.75}.ss-weather-rain .ss-w-rain{display:block}.ss-weather-snow .ss-w-snow{display:block}.ss-weather-storm .ss-w-rain,.ss-weather-storm .ss-w-bolt{display:block}.ss-weather-fog .ss-w-fog{display:block}.ss-weather-fog .ss-w-cloud{opacity:.48}.ss-weather-now{display:flex;align-items:center;gap:.7rem;margin:.1rem 0 .6rem}.ss-weather-now>strong{font-size:2.5rem;line-height:1;letter-spacing:-.05em}.ss-weather-now div{display:flex;flex-direction:column}.ss-weather-now b{font-size:.9rem}.ss-weather-now span{font-size:.78rem;color:#6e5264}.ss-weather-hi-lo{display:flex;gap:.5rem;margin:.45rem 0 .75rem}.ss-weather-hi-lo span{flex:1;text-align:center;padding:.42rem;border-radius:12px;background:rgba(255,255,255,.5);font-size:.76rem}.ss-weather-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.42rem}.ss-weather-metrics>div{padding:.55rem .58rem;border-radius:13px;background:rgba(255,255,255,.56);min-width:0}.ss-weather-metrics span,.ss-weather-metrics b{display:block}.ss-weather-metrics span{font-size:.69rem;color:#775969}.ss-weather-metrics b{font-size:.82rem;overflow-wrap:anywhere}.ss-weather-updated,.ss-weather-attribution{font-size:.68rem;line-height:1.4;margin:.65rem 0 0;color:#775969}.ss-weather-attribution a{color:#5b3c69;font-weight:750}.ss-weather-loading{display:grid;place-items:center;text-align:center;min-height:230px}.ss-weather-loader{width:42px;height:42px;border-radius:50%;border:4px solid rgba(255,255,255,.55);border-top-color:#ff7667;animation:ss-spin .8s linear infinite}.ss-weather-error{margin:1rem 0;padding:.8rem;border-radius:14px;background:rgba(255,255,255,.58);font-size:.84rem}

.ss-editor-preview{padding:1rem;border:1px dashed #bf9eb0;border-radius:20px;background:linear-gradient(145deg,#fffaf0,#f8efff)}.ss-editor-tool-card{background:#fff;border:1px solid #eaded7;border-radius:16px;padding:1rem}.ss-editor-meta{color:#746c7b;font-size:.82rem}

@keyframes ss-spin{to{transform:rotate(360deg)}}@keyframes ss-pulse{50%{transform:scale(1.14)}}@keyframes ss-weather-float{50%{transform:translateY(7px) scale(.97)}}@keyframes ss-cloud-drift{50%{transform:translateX(-7px)}}@keyframes ss-rain{0%{transform:translateY(-7px);opacity:.2}65%{opacity:1}100%{transform:translateY(15px);opacity:0}}@keyframes ss-snow{0%{transform:translateY(-7px) rotate(0);opacity:.2}100%{transform:translateY(23px) rotate(180deg);opacity:0}}@keyframes ss-bolt{0%,64%{opacity:0}65%,76%{opacity:1}77%,100%{opacity:0}}@keyframes ss-fog{50%{transform:translateX(-10px);opacity:.6}}
@media(max-width:1020px){.ss-solar-weather-layout{grid-template-columns:1fr}.ss-weather-card{position:relative;top:auto;max-width:none}.ss-weather-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:.45rem 1rem}.ss-weather-head,.ss-weather-visual,.ss-weather-attribution{grid-column:1}.ss-weather-now,.ss-weather-hi-lo,.ss-weather-metrics,.ss-weather-updated{grid-column:2}.ss-weather-now{grid-row:1;margin-top:2rem}.ss-weather-hi-lo{grid-row:2}.ss-weather-metrics{grid-row:3}.ss-weather-updated{grid-row:4}.ss-weather-attribution{grid-row:4}}
@media(max-width:900px){.ss-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.ss-weather-inner{display:block}.ss-controls{align-items:stretch}.ss-search-form{flex-basis:100%}.ss-search-form button{padding-inline:1rem}.ss-result-grid{grid-template-columns:1fr 1fr}.ss-result-card{min-height:94px;padding:.82rem}.ss-result-icon{flex-basis:38px;width:38px;height:38px}.ss-compare{grid-template-columns:1fr}.ss-sun-legend{font-size:.69rem}.ss-section-head>div{width:100%}.ss-section-head button{flex:1}.ss-location-line{font-size:.82rem}}
@media(max-width:440px){.ss-result-grid{grid-template-columns:1fr}.ss-search-form{display:grid;grid-template-columns:1fr auto}.ss-controls>.ss-use-location,.ss-controls>.ss-map-toggle{flex:1 1 44%}.ss-date-label{flex:1 1 60%}.ss-time-format{flex:1}.ss-weather-metrics{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.ss-sun-dot,.ss-tool-app.is-busy:before,.ss-w-sun,.ss-w-moon,.ss-w-cloud,.ss-w-rain,.ss-w-snow,.ss-w-bolt,.ss-w-fog,.ss-weather-loader{animation:none!important}.ss-controls button,.ss-world-picker button,.ss-calendar-actions button,.ss-section-head button{transition:none!important}}
@media print{.ss-controls,.ss-search-results,.ss-world-picker,.ss-calendar-actions,.ss-tool-head,.ss-data-note,.ss-sun-visual,.ss-compare,.ss-details:not([open]),.ss-weather-card{display:none!important}.ss-calendar-section{border:0;padding:0}.ss-calendar-table{min-width:0;font-size:10pt}.ss-solar-weather-layout{display:block}}

/* v3 dashboard emphasis — sunrise and sunset first */
.ss-solar-tool{margin-block:.35rem 2.2rem}
.ss-controls{
  background:linear-gradient(112deg,#fff7c7 0%,#ffe4b9 27%,#ffd1c3 52%,#f4d8ec 75%,#e7e4ff 100%);
  border-color:rgba(225,156,125,.42);
  box-shadow:0 18px 44px rgba(110,67,74,.12)
}
.ss-search-form button{background:linear-gradient(120deg,#ffb23f 0%,#ff806a 48%,#d9659e 100%);box-shadow:0 8px 20px rgba(213,99,115,.22)}
.ss-use-location{background:linear-gradient(135deg,#fff,#ffe9a9)!important}
.ss-map-toggle{background:linear-gradient(135deg,#fff,#eadbff)!important}
.ss-now-strip{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:.85rem 0}.ss-now-strip>div{padding:.78rem .9rem;border-radius:16px;border:1px solid rgba(228,178,150,.45);background:linear-gradient(135deg,#fff8d4,#ffe9cc);box-shadow:0 7px 20px rgba(88,56,67,.05)}.ss-now-strip>div:nth-child(2){background:linear-gradient(135deg,#ffe4d4,#f3ddff)}.ss-now-strip span,.ss-now-strip small,.ss-now-strip strong{display:block}.ss-now-strip span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#9b5865}.ss-now-strip strong{font-size:1rem;margin:.12rem 0}.ss-now-strip small{font-size:.76rem;color:#725f6b}
.ss-result-grid-dashboard .ss-result-card{min-height:128px}.ss-result-grid-dashboard .ss-result-card:nth-child(1){background:linear-gradient(145deg,#fff2a9 0%,#ffd777 42%,#ffb254 100%);border-color:#f5c76e}.ss-result-grid-dashboard .ss-result-card:nth-child(2){background:linear-gradient(145deg,#ffd0a7 0%,#ff927c 48%,#df6aa2 100%);border-color:#ef967f;color:#3b263b}.ss-result-grid-dashboard .ss-result-card:nth-child(3){background:linear-gradient(145deg,#fff0b8,#ffe0a0)}.ss-result-grid-dashboard .ss-result-card:nth-child(4){background:linear-gradient(145deg,#e4d8fb,#bba9e5)}.ss-result-grid-dashboard .ss-result-card:nth-child(1) .ss-result-icon{background:linear-gradient(145deg,#fffde1,#ffe277);font-size:1.45rem}.ss-result-grid-dashboard .ss-result-card:nth-child(2) .ss-result-icon{background:linear-gradient(145deg,#fff0ce,#ffc09e);font-size:1.45rem}.ss-result-grid-dashboard .ss-result-label,.ss-result-grid-dashboard .ss-result-sub{color:#69515f}.ss-result-grid-dashboard .ss-result-value{font-size:clamp(1.22rem,2.4vw,1.65rem)}
.ss-light-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.48rem;margin:.85rem 0 1rem}.ss-light-strip>div{display:grid;grid-template-columns:auto 1fr;column-gap:.4rem;align-items:center;padding:.62rem .68rem;border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,245,225,.88));border:1px solid rgba(229,190,171,.52)}.ss-light-strip>div:nth-child(2){background:linear-gradient(145deg,#fff5c9,#ffe5a6)}.ss-light-strip>div:nth-child(4){background:linear-gradient(145deg,#ffe1c8,#ffc1b2)}.ss-light-strip>div:nth-child(5),.ss-light-strip>div:nth-child(6){background:linear-gradient(145deg,#f1e7ff,#dfd5f7)}.ss-light-strip span{grid-row:1/3;font-size:1.05rem}.ss-light-strip b{font-size:.68rem;color:#76606d}.ss-light-strip strong{font-size:.78rem}
.ss-sun-visual{background:linear-gradient(180deg,#bce9ff 0%,#e5f6ff 27%,#fff0b5 58%,#ffc995 70%,#f49b8a 79%,#b78ecb 100%);border-color:rgba(222,160,143,.5)}
.ss-weather-card{background:linear-gradient(160deg,#fff2a5 0%,#ffd083 25%,#ffab87 49%,#ed86ac 72%,#b99be3 100%)}
@media(max-width:900px){.ss-light-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:580px){.ss-now-strip{grid-template-columns:1fr}.ss-light-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.ss-result-grid-dashboard .ss-result-card{min-height:102px}}

/* v7 real, lazy-loaded OpenStreetMap picker + instant autocomplete */
.ss-search-form{position:relative}
.ss-location-input{font-size:1rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.ss-location-input:focus{border-color:#d77965;box-shadow:0 0 0 4px rgba(255,149,102,.16)}
.ss-search-results{position:relative;z-index:20;max-height:330px;overflow:auto}
.ss-search-results[hidden]{display:none!important}
.ss-search-results button{align-items:flex-start;flex-direction:column;gap:.14rem;position:relative}
.ss-search-results button strong{color:var(--ss-ink);font-size:.92rem}
.ss-search-results button span{white-space:normal!important;color:var(--ss-muted);font-size:.74rem;line-height:1.35}
.ss-search-results button small{color:#a45a62;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.ss-search-results button[aria-selected="true"],.ss-search-results button:focus-visible{background:#fff2e9;outline:2px solid #e89072;outline-offset:-2px}
.ss-search-hint{padding:.72rem 1rem;margin:0;color:var(--ss-muted);font-size:.82rem}
.ss-map-picker-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem}
.ss-map-picker-head strong{display:block;color:var(--ss-ink);font-size:1rem}
.ss-map-picker-head p{margin:.18rem 0 0;color:var(--ss-muted);font-size:.84rem;line-height:1.45}
.ss-map-close{min-height:38px!important;padding:.42rem .72rem!important;flex:0 0 auto}
.ss-live-map{position:relative;height:clamp(390px,58vw,650px);overflow:hidden;border-radius:20px;border:1px solid #b6c8cf;background:#d7eff6;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);cursor:grab;touch-action:none;user-select:none}
.ss-live-map.is-dragging{cursor:grabbing}
.ss-map-tiles{position:absolute;inset:0;overflow:hidden}
.ss-map-tile{position:absolute;width:256px;height:256px;max-width:none!important;image-rendering:auto;pointer-events:none;user-select:none}
.ss-map-pin{position:absolute;z-index:9;width:22px;height:22px;margin:-18px 0 0 -11px;border-radius:50% 50% 50% 0;background:#e94f59;border:3px solid #fff;box-shadow:0 3px 12px rgba(54,39,45,.35);transform:rotate(-45deg);pointer-events:none}
.ss-map-pin:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#fff;left:5px;top:5px}
.ss-map-controls{position:absolute;z-index:10;top:12px;left:12px;display:grid;gap:6px}
.ss-map-controls button{width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;border-radius:12px!important;background:rgba(255,255,255,.96)!important;border:1px solid #cdd8dd!important;color:#243640!important;font-size:1.15rem!important;box-shadow:0 3px 12px rgba(45,62,70,.14)!important}
.ss-map-controls button:hover{transform:none!important;background:#fff7e9!important}
.ss-map-crosshair{position:absolute;left:50%;top:50%;z-index:7;width:28px;height:28px;margin:-14px;pointer-events:none;opacity:.42}
.ss-map-crosshair:before,.ss-map-crosshair:after{content:"";position:absolute;background:#273d49}
.ss-map-crosshair:before{left:13px;top:0;width:2px;height:28px}.ss-map-crosshair:after{top:13px;left:0;height:2px;width:28px}
.ss-map-attribution{position:absolute;z-index:10;right:7px;bottom:5px;margin:0!important;padding:.18rem .35rem;border-radius:5px;background:rgba(255,255,255,.9);color:#475b66!important;font-size:.62rem!important;line-height:1.35!important}
.ss-map-attribution a{color:#315b79!important}
.ss-map-selection{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:.8rem 0;padding:.82rem .9rem;border-radius:16px;background:linear-gradient(135deg,#fff8d9,#fff1ed 48%,#f1edff);border:1px solid #ead8ca}
.ss-map-selection>div{min-width:0}.ss-map-selection span,.ss-map-selection strong,.ss-map-selection small{display:block}.ss-map-selection span{font-size:.67rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:#99606d}.ss-map-selection strong{margin:.12rem 0;color:#342934;font-size:.92rem;line-height:1.35}.ss-map-selection small{color:#6d5e68;font-size:.75rem;line-height:1.4}.ss-map-use-selected[disabled]{opacity:.52;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.ss-popular-places{margin-top:.65rem}.ss-popular-places>strong{display:block;margin-bottom:.42rem;color:var(--ss-ink);font-size:.82rem}.ss-place-chips{display:flex;gap:.38rem;flex-wrap:wrap}.ss-place-chip{min-height:36px!important;padding:.38rem .58rem!important;background:#fff!important;border-color:#dfd1c9!important;display:inline-flex!important;align-items:center!important;gap:.28rem!important;font-size:.75rem!important}.ss-place-chip span{color:var(--ss-muted);font-size:.64rem;font-weight:600}
.ss-map-loading{position:absolute;z-index:8;inset:0;display:grid;place-items:center;background:linear-gradient(145deg,#eaf8ff,#fff6de);color:#4a4b5e;font-weight:750}.ss-map-loading[hidden]{display:none}
@media(max-width:760px){.ss-map-picker-head{display:block}.ss-map-close{margin-top:.55rem}.ss-live-map{height:470px}.ss-map-selection{align-items:stretch;flex-direction:column}.ss-map-use-selected{width:100%}.ss-place-chip span{display:none}}
@media(max-width:520px){.ss-live-map{height:410px}.ss-place-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ss-place-chip{justify-content:center!important;width:100%}}
/* v7.2 component sizing; consistent regardless of WordPress stylesheet order. */
.ss-solar-tool .ss-solar-weather-layout{grid-template-columns:minmax(0,1fr) 310px}
.ss-solar-tool .ss-solar-weather-layout.ss-no-weather{grid-template-columns:minmax(0,1fr)}
.ss-solar-tool .ss-solar-weather-layout:not(.ss-no-weather) .ss-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ss-solar-tool .ss-result-value{font-size:clamp(1.25rem,2.2vw,1.85rem);overflow-wrap:normal}
.ss-solar-tool .ss-weather-card{min-height:570px}
.ss-solar-tool .ss-controls input,.ss-solar-tool .ss-controls button{font-size:.94rem}
.ss-solar-tool .ss-location-input{min-width:0;width:100%}
.ss-solar-tool .ss-time-format{white-space:nowrap;flex:0 0 auto}
@media(max-width:1020px){.ss-solar-tool .ss-solar-weather-layout{grid-template-columns:minmax(0,1fr)}.ss-solar-tool .ss-weather-card{min-height:320px}}
@media(max-width:680px){.ss-solar-tool .ss-weather-card{min-height:570px}.ss-solar-tool .ss-date-label{flex:1 1 auto}}
@media(max-width:440px){.ss-solar-tool .ss-result-card{display:block;min-height:144px}.ss-solar-tool .ss-result-value{font-size:1.25rem}.ss-solar-tool .ss-result-icon{width:30px;height:30px;margin-bottom:.4rem}}
