/* ═══ WEATHER TOGGLE ═══ */
.wx-toggle-wrap{text-align:center;padding:var(--sp-7) 0 var(--sp-6);background:var(--bg);position:relative}
.wx-toggle-wrap.collapsed{padding-bottom:var(--sp-7)}
.wx-toggle-btn{display:inline-flex;align-items:center;gap:var(--sp-3);padding:16px 32px;background:linear-gradient(170deg,#0A2A3F,#134462);color:#fff;border:none;border-radius:50px;font-family:inherit;font-size:17px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px rgba(18,53,74,.2);position:relative;overflow:hidden}
.wx-toggle-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(170deg,rgba(198,124,78,.15),transparent 60%);opacity:0;transition:opacity .3s}
.wx-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(18,53,74,.35)}
.wx-toggle-btn:hover::before{opacity:1}
.wx-toggle-icon{font-size:22px}
.wx-toggle-text{letter-spacing:.02em}
.wx-toggle-arrow{font-size:14px;transition:transform .3s;opacity:.6}
.wx-toggle-wrap.open .wx-toggle-arrow{transform:rotate(180deg)}
.wx-toggle-sub{font-size:14px;color:var(--muted);margin-top:var(--sp-3);line-height:1.6}

/* ═══ WEATHER DASHBOARD v2 ═══ */
#weather{background:linear-gradient(170deg,#061826 0%,#092235 25%,#0D2E48 50%,#113A58 100%);padding:var(--sp-7) 0 var(--sp-5);position:relative;overflow:hidden}
#weather::before{content:'';position:absolute;top:-30%;right:-10%;width:50%;height:160%;background:radial-gradient(ellipse,rgba(198,124,78,.08) 0%,transparent 70%);pointer-events:none}
#weather::after{content:'';position:absolute;bottom:0;left:20%;width:40%;height:1px;background:linear-gradient(90deg,transparent,rgba(198,124,78,.3),transparent);pointer-events:none}
.wx-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-4);margin-bottom:var(--sp-5)}
.wx-header-left{display:flex;align-items:center;gap:var(--sp-4)}
.wx-h-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.wx-h-icon.excellent{background:rgba(52,199,89,.2);color:#30D158;box-shadow:0 0 20px rgba(52,199,89,.15)}
.wx-h-icon.good{background:rgba(100,210,255,.2);color:#64D2FF;box-shadow:0 0 20px rgba(100,210,255,.15)}
.wx-h-icon.moderate{background:rgba(255,159,10,.2);color:#FF9F0A;box-shadow:0 0 20px rgba(255,159,10,.15)}
.wx-h-icon.caution{background:rgba(255,107,53,.2);color:#FF9F0A;box-shadow:0 0 20px rgba(255,107,53,.15)}
.wx-h-icon.avoid{background:rgba(255,69,58,.25);color:#FF453A;box-shadow:0 0 20px rgba(255,69,58,.2)}
.wx-h-title{font-family:'Playfair Display',serif;font-size:clamp(22px,3vw,30px);font-weight:600;color:#fff;line-height:1.2}
.wx-h-sub{font-size:15px;color:rgba(255,255,255,.55);margin-top:3px}
.wx-h-right{display:flex;align-items:center;gap:var(--sp-6)}
.wx-h-stat{text-align:center}
.wx-h-stat-val{font-family:'Playfair Display',serif;font-size:26px;font-weight:600;color:#fff;line-height:1}
.wx-h-stat-lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-top:4px}
.wx-fc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--sp-2)}
.wx-fc-card{background:rgba(255,255,255,.04);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-2);text-align:center;cursor:pointer;transition:all .3s ease;position:relative;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.wx-fc-card:hover{background:rgba(255,255,255,.08);transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.15)}
.wx-fc-card.active{background:rgba(198,124,78,.14);box-shadow:inset 0 1px 0 rgba(198,124,78,.2),0 0 32px rgba(198,124,78,.1);z-index:2}
.wx-fc-card.today{border:1px solid rgba(198,124,78,.25)}
.wx-fc-day{font-size:13px;font-weight:600;color:rgba(255,255,255,.5);letter-spacing:.03em;margin-bottom:var(--sp-2)}
.wx-fc-card.today .wx-fc-day{color:var(--accent)}
.wx-fc-date{font-size:11px;color:rgba(255,255,255,.35);margin-bottom:var(--sp-3)}
.wx-fc-dot{width:8px;height:8px;border-radius:50%;margin:0 auto var(--sp-2)}
.wx-fc-dot.excellent{background:#30D158;box-shadow:0 0 10px rgba(48,209,88,.5)}
.wx-fc-dot.good{background:#64D2FF;box-shadow:0 0 10px rgba(100,210,255,.5)}
.wx-fc-dot.moderate{background:#FF9F0A;box-shadow:0 0 10px rgba(255,159,10,.5)}
.wx-fc-dot.caution{background:#FF6B35;box-shadow:0 0 10px rgba(255,107,53,.5)}
.wx-fc-dot.avoid{background:#FF453A;box-shadow:0 0 10px rgba(255,69,58,.5)}
.wx-fc-wv{font-family:'Playfair Display',serif;font-size:24px;font-weight:600;color:#fff;line-height:1.1}
.wx-fc-wvu{font-size:11px;color:rgba(255,255,255,.4)}
.wx-fc-wind{font-size:13px;color:rgba(255,255,255,.5);margin-top:4px}
.wx-fc-active-indicator{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:28px;height:3px;background:var(--accent);border-radius:2px;opacity:0;transition:opacity .3s;box-shadow:0 0 8px rgba(198,124,78,.5)}
.wx-fc-card.active .wx-fc-active-indicator{opacity:1}
.wx-detail{max-height:0;overflow:hidden;transition:max-height .4s ease,margin .4s ease;margin-top:0}
.wx-detail.open{max-height:900px;margin-top:var(--sp-4)}
.wx-detail-inner{background:rgba(255,255,255,.05);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-6);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 32px rgba(0,0,0,.15)}
.wx-detail-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-5);flex-wrap:wrap;gap:var(--sp-3)}
.wx-detail-day{font-family:'Playfair Display',serif;font-size:26px;font-weight:600;color:#fff}
.wx-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}
.wx-detail-item{display:flex;flex-direction:column;gap:4px;padding:var(--sp-3);background:rgba(255,255,255,.04);border-radius:var(--r-md)}
.wx-detail-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.wx-detail-val{font-family:'Playfair Display',serif;font-size:30px;font-weight:600;color:#fff;line-height:1.1}
.wx-detail-unit{font-size:14px;color:rgba(255,255,255,.5);font-weight:400}
.wx-detail-row{display:flex;align-items:baseline;gap:4px}
.wx-explanation{font-size:12px;color:rgba(255,255,255,.4);margin-top:3px;line-height:1.5}
.wx-detail-msg{font-size:15px;color:rgba(255,255,255,.6);line-height:1.7;margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid rgba(255,255,255,.08)}
.wx-detail-locs{margin-top:var(--sp-4);display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}
.wx-detail-loc{font-size:14px;color:rgba(255,255,255,.45)}
.wx-detail-loc b{color:rgba(255,255,255,.7);font-weight:600}
.wx-scores{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3)}
.wx-score-item{display:flex;flex-direction:column;gap:4px;padding:var(--sp-3);background:rgba(255,255,255,.04);border-radius:var(--r-md)}
.wx-score-hd{display:flex;justify-content:space-between;align-items:center}
.wx-score-name{font-size:11px;font-weight:600;letter-spacing:.04em;color:rgba(255,255,255,.5);text-transform:uppercase}
.wx-score-val{font-family:'Playfair Display',serif;font-size:24px;font-weight:600;color:#fff;line-height:1}
.wx-score-bar{height:4px;border-radius:2px;background:rgba(255,255,255,.1);overflow:hidden;margin-top:6px}
.wx-score-fill{height:100%;border-radius:2px;transition:width .6s ease}
.wx-score-fill.good{background:linear-gradient(90deg,#64D2FF,#30D158)}
.wx-score-fill.moderate{background:linear-gradient(90deg,#FF9F0A,#FFD60A)}
.wx-score-fill.caution{background:linear-gradient(90deg,#FF6B35,#FF9500)}
.wx-score-fill.avoid{background:linear-gradient(90deg,#FF453A,#FF6B6B)}
.wx-decisions{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3);margin-top:var(--sp-4)}
.wx-decision{background:rgba(255,255,255,.04);border-radius:var(--r-md);padding:var(--sp-4);text-align:center;transition:transform .2s}
.wx-decision:hover{transform:translateY(-2px)}
.wx-decision-icon{font-size:28px;margin-bottom:var(--sp-2)}
.wx-decision-name{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:6px}
.wx-decision-status{font-size:13px;font-weight:600;padding:4px 12px;border-radius:14px;display:inline-block}
.wx-decision-status.excellent,.wx-decision-status.good,.wx-decision-status.normal{background:rgba(52,199,89,.2);color:#30D158}
.wx-decision-status.monitor,.wx-decision-status.moderate,.wx-decision-status.possible,.wx-decision-status.fair{background:rgba(255,159,10,.2);color:#FFD60A}
.wx-decision-status.delayed,.wx-decision-status.caution{background:rgba(255,149,0,.2);color:#FF9500}
.wx-decision-status.cancel,.wx-decision-status.no{background:rgba(255,69,58,.2);color:#FF6B6B}
.wx-decision-tip{font-size:12px;color:rgba(255,255,255,.4);margin-top:var(--sp-2);line-height:1.5}
.wx-highlights{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid rgba(255,255,255,.08)}
.wx-highlight{display:flex;align-items:center;gap:var(--sp-3);padding:5px 0;font-size:14px;color:rgba(255,255,255,.65)}
.wx-highlight-icon{font-size:18px;flex-shrink:0}
.wx-summary{margin-top:var(--sp-5);padding:var(--sp-5);background:rgba(198,124,78,.1);border-radius:var(--r-md);border-left:3px solid var(--accent)}
.wx-summary-title{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--sp-3)}
.wx-summary-text{font-size:15px;color:rgba(255,255,255,.7);line-height:1.8}
.wx-tier{font-size:14px;font-weight:600;padding:5px 16px;border-radius:20px;letter-spacing:.03em}
.wx-tier.excellent{background:rgba(52,199,89,.2);color:#30D158}
.wx-tier.good{background:rgba(100,210,255,.2);color:#64D2FF}
.wx-tier.moderate{background:rgba(255,159,10,.2);color:#FFD60A}
.wx-tier.caution{background:rgba(255,149,0,.2);color:#FF9500}
.wx-tier.avoid{background:rgba(255,69,58,.25);color:#FF6B6B}
.wx-tide-bar{margin-top:var(--sp-5);padding:var(--sp-4);background:rgba(255,255,255,.04);border-radius:var(--r-md);text-align:center;font-size:14px;color:rgba(255,255,255,.5);line-height:1.7;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.wx-updated{text-align:center;margin-top:var(--sp-3);font-size:11px;color:rgba(255,255,255,.3);letter-spacing:.03em}
.wx-loading{text-align:center;padding:var(--sp-6);color:rgba(255,255,255,.45);font-size:15px}

/* ═══ AI CHAT WIDGET ═══ */
#aichat{margin-top:var(--sp-2);position:relative;z-index:10}
.chat-box{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);overflow:hidden}
.chat-hd{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4);background:rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.08);cursor:pointer;user-select:none}
.chat-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.chat-hd-text{flex:1;min-width:0}
.chat-hd-title{font-size:15px;font-weight:600;color:#fff}
.chat-hd-sub{font-size:12px;color:rgba(255,255,255,.4);margin-top:1px}
.chat-toggle{font-size:14px;color:rgba(255,255,255,.4);transition:transform .3s}
.chat-box.open .chat-toggle{transform:rotate(180deg)}
.chat-body-wrap{display:none}
.chat-box.open .chat-body-wrap{display:block}
.chat-body{padding:var(--sp-4);max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-3);scroll-behavior:smooth}
.chat-body::-webkit-scrollbar{width:4px}
.chat-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:2px}
.chat-msg{max-width:85%;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-size:15px;line-height:1.65;animation:msgIn .35s ease}
.chat-msg.bot{background:rgba(255,255,255,.1);color:rgba(255,255,255,.9);align-self:flex-start;border-bottom-left-radius:4px}
.chat-msg.user{background:var(--accent);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.chat-msg.typing{background:rgba(255,255,255,.06);color:rgba(255,255,255,.3);font-style:italic;padding:var(--sp-2) var(--sp-4)}
@keyframes msgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.chat-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);padding:0 var(--sp-4) var(--sp-3)}
.chat-chip{font-family:inherit;font-size:13px;padding:8px 14px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.1);border-radius:20px;cursor:pointer;transition:all .2s;white-space:nowrap}
.chat-chip:hover{background:rgba(198,124,78,.2);border-color:var(--accent);color:#fff}
.chat-input-row{display:flex;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid rgba(255,255,255,.06)}
.chat-input-row input{flex:1;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-md);padding:12px 14px;font-family:inherit;font-size:14px;color:#fff;outline:none}
.chat-input-row input::placeholder{color:rgba(255,255,255,.3)}
.chat-input-row input:focus{border-color:var(--accent)}
.chat-send{font-family:inherit;font-size:14px;font-weight:600;padding:12px 18px;background:var(--accent);color:#fff;border:none;border-radius:var(--r-md);cursor:pointer;transition:opacity .2s;white-space:nowrap}
.chat-send:hover{opacity:.88}
.chat-send:disabled{opacity:.4;cursor:default}
.chat-cta{margin:var(--sp-4);padding:var(--sp-4);background:rgba(198,124,78,.15);border:1px solid rgba(198,124,78,.25);border-radius:var(--r-md);text-align:center;font-size:14px;color:rgba(255,255,255,.8);line-height:1.7;display:none}
.chat-cta.show{display:block}
.chat-cta a{color:var(--accent);font-weight:600}

@media(max-width:900px){
  .wx-fc-grid{grid-template-columns:repeat(4,1fr)}
  .wx-detail-grid,.wx-scores,.wx-decisions{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .wx-fc-grid{grid-template-columns:repeat(3,1fr);gap:var(--sp-1)}
  .wx-fc-card{padding:var(--sp-3) var(--sp-1)}
  .wx-fc-wv{font-size:20px}
  .wx-detail-grid,.wx-scores,.wx-decisions{grid-template-columns:repeat(2,1fr);gap:var(--sp-2)}
  .wx-detail-val{font-size:24px}
  .wx-h-right{gap:var(--sp-3)}
  .wx-h-stat-val{font-size:22px}
  .chat-body{max-height:320px}
  .chat-msg{font-size:14px}
}