/* HealingMart Weather — Unified Reference UI v11
   Presentation only. Existing production DOM, ids, API/data logic and service scripts remain intact. */
:root{
  --hm-ink:#102a32;
  --hm-ink-strong:#071b22;
  --hm-muted:#5f7379;
  --hm-paper:#f5f8f6;
  --hm-surface:#fff;
  --hm-line:#dbe4e1;
  --hm-line-soft:#eaf0ee;
  --hm-accent:#087c69;
  --hm-accent-deep:#055c50;
  --hm-accent-soft:#dcf3ec;
  --hm-blue:#1877c9;
  --hm-sun:#f5b83d;
  --hm-rain:#2f83cc;
  --hm-danger:#b34a35;
  --hm-shadow:0 18px 46px rgba(16,42,50,.15);
  --hm-shadow-soft:0 8px 26px rgba(16,42,50,.08);
  --hm-header-h:74px;
  --hm-nav-h:70px;
  --hm-left:410px;
  --hm-right:324px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--hm-paper)!important;color:var(--hm-ink)!important}
body,button,input,select,textarea{font-family:Pretendard Variable,Pretendard,SUIT,"Noto Sans KR","Apple SD Gothic Neo",Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important}
button,input{font:inherit}
body{overflow-x:hidden}
.app{min-height:100dvh;background:var(--hm-paper)!important}

/* Header */
.top{
  position:sticky!important;top:0;z-index:1600!important;
  min-height:var(--hm-header-h)!important;height:var(--hm-header-h)!important;
  display:grid!important;grid-template-columns:210px minmax(360px,720px) auto!important;
  align-items:center!important;gap:22px!important;padding:10px 24px!important;
  background:rgba(255,255,255,.96)!important;border-bottom:1px solid var(--hm-line)!important;
  box-shadow:none!important;backdrop-filter:blur(18px)!important
}
.brand{
  position:relative!important;display:grid!important;grid-template-columns:42px 1fr!important;grid-template-rows:auto auto!important;
  align-items:center!important;column-gap:11px!important;text-decoration:none!important;color:var(--hm-ink-strong)!important;
  font-size:18px!important;font-weight:850!important;line-height:1.05!important;letter-spacing:-.035em!important
}
.brand::before{
  content:"";grid-row:1/3;width:42px;height:42px;border-radius:12px;background:var(--hm-accent)!important;
  box-shadow:0 7px 17px rgba(8,124,105,.22)!important
}
.brand::after{
  content:"+";position:absolute;left:10px;top:5px;width:22px;height:30px;color:#fff;font-size:32px;font-weight:300;line-height:30px;text-align:center
}
.brand small{display:block!important;margin-top:4px!important;color:#779096!important;font-size:10px!important;font-weight:850!important;letter-spacing:.18em!important}
.search-shell{position:relative!important;width:100%!important;max-width:720px!important}
.search{
  width:100%!important;height:52px!important;display:grid!important;grid-template-columns:42px 1fr auto!important;align-items:center!important;
  padding:0 6px 0 8px!important;background:#fff!important;border:2px solid var(--hm-ink)!important;border-radius:15px!important;
  box-shadow:none!important;overflow:hidden!important
}
.search>span{display:grid!important;place-items:center!important;color:var(--hm-ink)!important;font-size:23px!important}
.search input{min-width:0!important;height:48px!important;border:0!important;outline:0!important;background:transparent!important;color:var(--hm-ink)!important;font-size:15px!important;font-weight:650!important;padding:0 8px!important}
.search input::placeholder{color:#829399!important;font-weight:550!important}
.search button{height:40px!important;border:0!important;border-radius:10px!important;padding:0 18px!important;background:var(--hm-accent)!important;color:#fff!important;font-size:13px!important;font-weight:850!important;cursor:pointer!important}
.kakao-search-results{top:58px!important;border:1px solid var(--hm-line)!important;border-radius:14px!important;box-shadow:var(--hm-shadow)!important;background:#fff!important;overflow:hidden!important}
.actions{justify-self:end!important;display:flex!important;align-items:center!important;gap:8px!important}
.status{height:38px!important;display:flex!important;align-items:center!important;gap:7px!important;padding:0 12px!important;border:1px solid var(--hm-line)!important;border-radius:999px!important;background:#fff!important;color:var(--hm-muted)!important;font-size:11px!important;font-weight:750!important;white-space:nowrap!important}
.status i{width:8px!important;height:8px!important;border-radius:50%!important;background:#25a47e!important;box-shadow:0 0 0 4px rgba(37,164,126,.12)!important}
.ghost{height:40px!important;min-width:40px!important;border:1px solid var(--hm-line)!important;border-radius:11px!important;background:#fff!important;color:var(--hm-ink)!important;font-size:12px!important;font-weight:800!important;padding:0 12px!important;cursor:pointer!important}
.ghost:hover{border-color:#b9cbc6!important;background:#f7fbf9!important}

/* Service navigation — one coherent UI, no five-view-mode switcher */
.nav{
  position:sticky!important;top:var(--hm-header-h)!important;z-index:1500!important;
  height:var(--hm-nav-h)!important;min-height:var(--hm-nav-h)!important;
  display:grid!important;grid-template-columns:repeat(6,minmax(120px,1fr))!important;
  padding:0 24px!important;background:#fff!important;border-bottom:1px solid var(--hm-line)!important;overflow:visible!important
}
.nav button{
  position:relative!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;
  min-width:0!important;height:100%!important;padding:9px 16px 8px!important;border:0!important;border-right:1px solid var(--hm-line-soft)!important;
  border-radius:0!important;background:#fff!important;color:var(--hm-muted)!important;text-align:left!important;cursor:pointer!important;box-shadow:none!important
}
.nav button:first-child{border-left:1px solid var(--hm-line-soft)!important}
.nav button .eyebrow{font-size:9px!important;line-height:1.1!important;letter-spacing:.13em!important;font-weight:900!important;color:#7a8f94!important;margin-bottom:4px!important}
.nav button strong{font-size:15px!important;line-height:1.1!important;font-weight:850!important;color:var(--hm-ink)!important;letter-spacing:-.025em!important}
.nav button small{display:block!important;margin-top:4px!important;font-size:10px!important;color:#849398!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.nav button.active{background:linear-gradient(180deg,#fff 0%,#f6fbf9 100%)!important;color:var(--hm-accent)!important}
.nav button.active::after{content:"";position:absolute!important;left:16px!important;right:16px!important;bottom:-1px!important;height:3px!important;border-radius:3px 3px 0 0!important;background:var(--hm-accent)!important}
.nav button.active .eyebrow,.nav button.active strong{color:var(--hm-accent-deep)!important}

/* Screen frame */
.screen{background:var(--hm-paper)!important;color:var(--hm-ink)!important}
.screen.active{min-height:calc(100dvh - var(--hm-header-h) - var(--hm-nav-h))!important}
#screen-local.active{
  display:grid!important;grid-template-columns:var(--hm-left) minmax(0,1fr) var(--hm-right)!important;
  height:calc(100dvh - var(--hm-header-h) - var(--hm-nav-h))!important;min-height:580px!important;overflow:hidden!important
}
#screen-korea.active,#screen-world.active,#screen-moon.active,#screen-detail.active,#screen-compare.active{
  display:grid!important;grid-template-columns:390px minmax(0,1fr)!important;
  height:calc(100dvh - var(--hm-header-h) - var(--hm-nav-h))!important;min-height:580px!important;overflow:hidden!important
}

/* Shared rails */
.rail,.local-right-rail{position:relative!important;background:#fff!important;border-color:var(--hm-line)!important;box-shadow:none!important;min-width:0!important;overflow:hidden!important}
.rail{border-right:1px solid var(--hm-line)!important}
.local-right-rail{display:block!important;border-left:1px solid var(--hm-line)!important}
.rail-inner,.local-right-inner{height:100%!important;overflow-y:auto!important;overscroll-behavior:contain!important;scrollbar-width:thin!important;scrollbar-color:#c6d5d1 transparent!important}
.rail-inner{padding:22px 20px 28px!important}
.local-right-inner{padding:24px 18px 28px!important}
.rail-inner>.kicker,.local-right-inner>.kicker{display:block!important;margin:0 0 8px!important;color:var(--hm-accent)!important;font-size:10px!important;font-weight:900!important;letter-spacing:.13em!important}
.rail-inner>h1,.local-right-inner>h2{margin:0!important;color:var(--hm-ink-strong)!important;font-size:24px!important;line-height:1.18!important;font-weight:900!important;letter-spacing:-.045em!important}
.rail-inner>.sub,.local-right-inner>.sub{margin:7px 0 18px!important;color:var(--hm-muted)!important;font-size:12px!important;line-height:1.55!important}
.mobile-handle{display:none!important}

/* Local left rail: all existing data blocks stay visible */
#screen-local .rail{z-index:3!important}
#screen-local .rail-inner{padding:20px 20px 30px!important}
#screen-local #mobileLocalDashboard{display:block!important}
#screen-local.active>.rail{display:block!important;visibility:visible!important;opacity:1!important}
#screen-local .rail-inner>*:not(#mobileLocalDashboard){display:none!important}
#screen-local #mobileLocalDashboard .mld-point-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;margin:0 0 12px!important;padding:0 0 12px!important;border-bottom:1px solid var(--hm-line)!important}
#screen-local #mobileLocalDashboard .eyebrow-text{display:block!important;margin-bottom:4px!important;color:var(--hm-accent)!important;font-size:10px!important;font-weight:900!important;letter-spacing:.12em!important}
#screen-local #mobileLocalDashboard .mld-point-head h1,#screen-local #mobileLocalDashboard .mld-point-head h2{margin:0!important;color:var(--hm-ink-strong)!important;font-size:23px!important;font-weight:900!important;line-height:1.25!important;letter-spacing:-.045em!important}
#screen-local #mobileLocalDashboard .v8-head-actions{display:flex!important;gap:6px!important}
#screen-local #mobileLocalDashboard .v8-head-actions button{min-width:38px!important;height:38px!important;padding:0 9px!important;border:1px solid var(--hm-line)!important;border-radius:10px!important;background:#fff!important;color:var(--hm-ink)!important;font-size:11px!important;font-weight:850!important}
#screen-local #mobileLocalDashboard .v8-weather-hero{margin:0 0 12px!important;padding:0 0 12px!important;border:0!important;border-bottom:1px solid var(--hm-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
#screen-local #mobileLocalDashboard .point-current{display:flex!important;align-items:center!important;gap:10px!important}
#screen-local #mobileLocalDashboard .point-weather-icon{width:70px!important;min-width:70px!important;height:70px!important;display:grid!important;place-items:center!important}
#screen-local #mobileLocalDashboard .v8-weather-art{width:68px!important;height:68px!important}
#screen-local #mobileLocalDashboard #temp{font-size:61px!important;line-height:.92!important;letter-spacing:-.065em!important;font-weight:850!important;color:var(--hm-ink-strong)!important}
#screen-local #mobileLocalDashboard .v8-current-copy{min-width:0!important}
#screen-local #mobileLocalDashboard #heroCondition{display:block!important;color:var(--hm-ink)!important;font-size:14px!important;font-weight:850!important;line-height:1.35!important}
#screen-local #mobileLocalDashboard #feels,#screen-local #mobileLocalDashboard #ydayDiff{display:inline!important;color:var(--hm-muted)!important;font-size:10px!important;font-weight:700!important}
#screen-local #mobileLocalDashboard .point-metrics{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;margin:11px 0!important}
#screen-local #mobileLocalDashboard .point-metrics .metric{min-width:0!important;padding:9px 6px!important;border:1px solid var(--hm-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}
#screen-local #mobileLocalDashboard .point-metrics .metric span{display:block!important;color:#7a8c90!important;font-size:9px!important;font-weight:750!important}
#screen-local #mobileLocalDashboard .point-metrics .metric b{display:block!important;margin-top:3px!important;color:var(--hm-ink-strong)!important;font-size:14px!important;font-weight:850!important;white-space:nowrap!important}
#screen-local #mobileLocalDashboard .mld-mood{margin:0 0 8px!important;padding:11px 12px!important;border-radius:11px!important;background:var(--hm-accent-soft)!important;color:#355e56!important;font-size:11px!important;font-weight:750!important;line-height:1.45!important}
#screen-local #mobileLocalDashboard .mld-alert-slot{margin:0 0 7px!important;padding:8px 10px!important;border:1px solid var(--hm-line)!important;border-radius:10px!important;background:#fafcfc!important;color:var(--hm-muted)!important;font-size:10px!important}
#screen-local #mobileLocalDashboard .mld-alert-slot.has-alert{border-color:#efd5ce!important;background:#fff7f5!important;color:#9a4636!important}
#screen-local #mobileLocalDashboard .mld-weather-source{display:block!important;margin:0 0 12px!important;color:#839195!important;font-size:9px!important;line-height:1.4!important}
#screen-local #mobileLocalDashboard .nowcast,#screen-local #mobileLocalDashboard .mld-point-card,#screen-local #mobileLocalDashboard .mld-secondary,#screen-local #mobileLocalDashboard .v8-favorites{margin:0 0 11px!important;border:1px solid var(--hm-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important}
#screen-local #mobileLocalDashboard .mld-point-card,#screen-local #mobileLocalDashboard .mld-secondary{padding:12px!important}
#screen-local #mobileLocalDashboard .mld-point-card>h3,#screen-local #mobileLocalDashboard .mld-secondary>h3{margin:0 0 9px!important;color:var(--hm-ink-strong)!important;font-size:12px!important;font-weight:900!important}
#screen-local #mobileLocalDashboard .v8-astro-tide-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
#screen-local #mobileLocalDashboard .v8-astro-tide-grid.is-single{grid-template-columns:1fr!important}
#screen-local #mobileLocalDashboard .v8-quick-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;margin:0 0 11px!important}
#screen-local #mobileLocalDashboard .v8-quick-actions button{display:flex!important;align-items:center!important;gap:8px!important;min-height:42px!important;padding:0 11px!important;border:1px solid var(--hm-line)!important;border-radius:11px!important;background:#fff!important;color:var(--hm-ink)!important}
#screen-local #mobileLocalDashboard .v8-quick-actions button b{flex:1!important;text-align:left!important;font-size:11px!important;color:var(--hm-ink-strong)!important}
#screen-local #mobileLocalDashboard .v8-live-preview .windy-mini iframe{height:180px!important}
#screen-local #mobileLocalDashboard .mld-provider-compare #providerCurrent{display:block!important}
#screen-local #mobileLocalDashboard .v8-favorites{padding:9px!important}
#screen-local #mobileLocalDashboard .v8-local-rank{display:none!important}
#screen-local .local-mobile-peek{display:none!important}
.local-hero-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important;margin:0 0 14px!important;padding:0!important}
.local-hero-head h1{margin:2px 0 0!important;font-size:23px!important;line-height:1.25!important;font-weight:900!important;letter-spacing:-.045em!important;color:var(--hm-ink-strong)!important}
.local-hero-head p{margin:6px 0 0!important;color:var(--hm-muted)!important;font-size:11px!important;line-height:1.45!important}
.local-hero-head .kicker{font-size:10px!important;letter-spacing:.13em!important;color:var(--hm-accent)!important;font-weight:900!important}
.official-data-badge{padding:6px 8px!important;border-radius:999px!important;border:1px solid #cce5dc!important;background:#f1faf7!important;color:var(--hm-accent-deep)!important;font-size:9px!important;font-weight:850!important;white-space:nowrap!important}
.hero-temp.hero-professional{display:grid!important;grid-template-columns:72px 1fr auto!important;align-items:center!important;gap:12px!important;padding:12px 0 17px!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
#screen-local .wx-icon{width:68px!important;height:68px!important;display:grid!important;place-items:center!important;font-size:58px!important}
#screen-local .hero-reading>div:first-child{display:flex!important;align-items:baseline!important;gap:10px!important;flex-wrap:wrap!important}
#screen-local #temp{font-size:62px!important;line-height:.95!important;letter-spacing:-.065em!important;font-weight:850!important;color:var(--hm-ink-strong)!important;font-variant-numeric:tabular-nums!important}
#screen-local .hero-condition{font-size:14px!important;font-weight:850!important;color:var(--hm-ink)!important}
#screen-local #feels,#screen-local #ydayDiff{font-size:11px!important;color:var(--hm-muted)!important;font-weight:700!important}
#screen-local #observed{font-size:10px!important;color:#809095!important;margin:5px 0 0!important}
.hero-alert{align-self:start!important;margin-top:5px!important;border-radius:999px!important;padding:5px 8px!important;background:#f5f8f7!important;border:1px solid var(--hm-line)!important;font-size:9px!important;color:#65787d!important}
.top-alert{margin-bottom:6px!important;border-radius:10px!important;font-size:11px!important}

.source-proof,.trust-panel{border-radius:14px!important;border:1px solid var(--hm-line)!important;background:#f9fbfa!important;box-shadow:none!important}
.source-proof{padding:11px!important;margin:0 0 12px!important}
.source-proof-head strong{font-size:11px!important;color:var(--hm-ink)!important}.source-proof-head span{font-size:9px!important;color:#7e8f93!important}

#screen-local .metrics{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:7px!important;margin:0 0 12px!important}
#screen-local .metric{min-width:0!important;padding:10px 7px!important;border:1px solid var(--hm-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important;text-align:left!important}
#screen-local .metric span{display:block!important;font-size:9px!important;color:#7b8c91!important;font-weight:750!important;margin-bottom:4px!important}
#screen-local .metric b{display:block!important;font-size:16px!important;color:var(--hm-ink-strong)!important;font-weight:850!important;white-space:nowrap!important}

.brief{margin:0 0 12px!important;padding:13px 14px!important;border-radius:14px!important;border:1px solid #cfe7df!important;background:var(--hm-accent-soft)!important;color:var(--hm-ink)!important;box-shadow:none!important}
.brief span{font-size:9px!important;font-weight:900!important;letter-spacing:.08em!important;color:var(--hm-accent-deep)!important}
.brief strong{display:block!important;margin-top:5px!important;font-size:14px!important;line-height:1.35!important;color:var(--hm-ink-strong)!important}
.brief p{margin:4px 0 0!important;font-size:10px!important;line-height:1.5!important;color:#4e6966!important}

.nowcast{margin:0 0 14px!important;border:1px solid var(--hm-line)!important;border-radius:15px!important;background:#fff!important;overflow:hidden!important;box-shadow:none!important}
.nowcast-head{padding:11px 12px 8px!important;display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:8px!important;border-bottom:1px solid var(--hm-line-soft)!important}
.nowcast-head strong{font-size:13px!important;color:var(--hm-ink-strong)!important}.nowcast-head span{font-size:9px!important;color:#7d8e92!important}
.nowcast-strip{display:flex!important;gap:6px!important;padding:9px!important;overflow-x:auto!important;scrollbar-width:thin!important;background:#fbfcfc!important}
.nowcast-item{min-width:62px!important;padding:8px 6px!important;border-radius:10px!important;border:1px solid #edf1f0!important;background:#fff!important;text-align:center!important}
.nowcast-item b,.nowcast-item small{font-size:9px!important}.nowcast-item strong{font-size:15px!important}.nowcast-item i{font-style:normal!important;font-size:20px!important}

.local-extras{display:block!important}
#screen-local .section{margin:0 0 12px!important;padding:13px!important;border:1px solid var(--hm-line)!important;border-radius:15px!important;background:#fff!important;box-shadow:none!important}
#screen-local .section>h3{margin:0 0 10px!important;font-size:13px!important;line-height:1.3!important;font-weight:900!important;letter-spacing:-.02em!important;color:var(--hm-ink-strong)!important}
.air-row,.sun-row{gap:8px!important}.pillbox{padding:10px!important;border-radius:11px!important;border:1px solid var(--hm-line-soft)!important;background:#f9fbfa!important}.pillbox span{font-size:9px!important;color:#788b90!important}.pillbox b{font-size:14px!important;color:var(--hm-ink-strong)!important}
#localOceanSection[hidden]{display:none!important}
#localOceanSection:not([hidden]){display:block!important}
.detail-link{width:100%!important;min-height:44px!important;margin:0 0 10px!important;border:0!important;border-radius:11px!important;background:var(--hm-accent)!important;color:#fff!important;font-size:12px!important;font-weight:900!important;cursor:pointer!important}
.favline{margin:0 0 12px!important;padding:10px!important;border:1px solid var(--hm-line)!important;border-radius:13px!important;background:#fff!important;gap:7px!important}.favorite-chips{gap:5px!important}.favorite-chips button,.save-fav{border:1px solid var(--hm-line)!important;background:#fff!important;color:var(--hm-ink)!important;border-radius:999px!important;font-size:9px!important;padding:6px 8px!important}
.windy-mini{border:1px solid var(--hm-line)!important;border-radius:12px!important;overflow:hidden!important;background:#e8f0ee!important}.windy-tabs{padding:6px!important;gap:4px!important;background:#fff!important;border-bottom:1px solid var(--hm-line-soft)!important}.windy-tabs button{padding:6px 7px!important;border-radius:8px!important;border:1px solid var(--hm-line)!important;background:#fff!important;color:var(--hm-ink)!important;font-size:9px!important;font-weight:850!important}.windy-tabs button.active{background:var(--hm-accent)!important;border-color:var(--hm-accent)!important;color:#fff!important}.windy-mini iframe{height:184px!important}
.current-provider-grid{gap:7px!important}.current-provider{border:1px solid var(--hm-line)!important;border-radius:11px!important;background:#fff!important;box-shadow:none!important}.provider{border-color:var(--hm-line-soft)!important}.capture{background:#f5f9f8!important;border:1px solid var(--hm-line)!important;border-radius:11px!important;color:#496166!important}
.source{padding-top:12px!important;color:#8a989b!important;font-size:9px!important;line-height:1.55!important}

/* Main and detailed map surfaces */
.maparea{position:relative!important;min-width:0!important;background:#dfe8e5!important;overflow:hidden!important}
#screen-local>.maparea{height:100%!important;min-height:0!important}
#localMap,.kakao-local-map,.hybrid-map,.leaflet-map{width:100%!important;height:100%!important;min-height:100%!important}
.map-title{position:absolute!important;left:24px!important;top:22px!important;z-index:650!important;max-width:350px!important;padding:13px 15px!important;border:1px solid rgba(219,228,225,.92)!important;border-radius:14px!important;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(14px)!important;box-shadow:var(--hm-shadow-soft)!important}
.map-title span{font-size:9px!important;letter-spacing:.12em!important;font-weight:900!important;color:var(--hm-accent)!important}.map-title strong{display:block!important;margin-top:4px!important;font-size:20px!important;line-height:1.18!important;letter-spacing:-.035em!important;color:var(--hm-ink-strong)!important}.map-title small{display:block!important;margin-top:4px!important;font-size:10px!important;line-height:1.4!important;color:var(--hm-muted)!important}
.map-timebar{position:absolute!important;left:50%!important;bottom:22px!important;transform:translateX(-50%)!important;z-index:660!important;display:flex!important;align-items:center!important;gap:5px!important;max-width:calc(100% - 48px)!important;padding:7px!important;border:1px solid rgba(219,228,225,.9)!important;border-radius:13px!important;background:rgba(255,255,255,.95)!important;backdrop-filter:blur(12px)!important;box-shadow:var(--hm-shadow-soft)!important}.map-timebar span{font-size:9px!important;font-weight:900!important;color:#6f8589!important;padding:0 5px!important}.map-timebar button{min-height:32px!important;padding:0 10px!important;border:1px solid var(--hm-line)!important;border-radius:8px!important;background:#fff!important;color:var(--hm-ink)!important;font-size:9px!important;font-weight:850!important}.map-timebar button.active{background:var(--hm-accent)!important;border-color:var(--hm-accent)!important;color:#fff!important}
.risk-banner{left:24px!important;right:auto!important;top:auto!important;bottom:74px!important;max-width:420px!important;border:1px solid #efd4cf!important;border-radius:12px!important;background:#fff8f6!important;color:#813a2d!important;box-shadow:var(--hm-shadow-soft)!important}
#pointSheet{position:absolute!important;z-index:900!important;right:18px!important;top:18px!important;width:min(390px,calc(100% - 36px))!important;max-height:calc(100% - 36px)!important;overflow:auto!important;border:1px solid var(--hm-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--hm-shadow)!important}
.weather-five{padding:14px!important;color:var(--hm-ink)!important}.weather-five-head{padding-bottom:10px!important;border-bottom:1px solid var(--hm-line)!important}.weather-five-head b{font-size:18px!important;color:var(--hm-ink-strong)!important}.weather-five-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important;margin-top:10px!important}.weather-five-item{padding:11px!important;border:1px solid var(--hm-line)!important;border-radius:12px!important;background:#f9fbfa!important}.weather-five-item span{font-size:9px!important;color:#71868a!important}.weather-five-item b{font-size:13px!important;color:var(--hm-ink-strong)!important}.weather-five-item small{font-size:9px!important;color:#819094!important}

/* Right rail Korea TOP10 remains present */
.local-right-rail{z-index:2!important}
.local-rank-tabs,.rank-tabs{display:flex!important;gap:5px!important;flex-wrap:wrap!important;margin:14px 0 12px!important}
.local-rank-tabs button,.rank-tabs button{min-height:31px!important;padding:0 9px!important;border:1px solid var(--hm-line)!important;border-radius:8px!important;background:#fff!important;color:#5f7379!important;font-size:9px!important;font-weight:850!important;cursor:pointer!important}.local-rank-tabs button.active,.rank-tabs button.active{background:var(--hm-accent)!important;border-color:var(--hm-accent)!important;color:#fff!important}
.ranking{display:grid!important;gap:6px!important}.rank{display:grid!important;grid-template-columns:30px minmax(0,1fr) auto!important;align-items:center!important;min-height:42px!important;padding:7px 9px!important;border:1px solid var(--hm-line-soft)!important;border-radius:10px!important;background:#fff!important}.rank em{font-style:normal!important;color:#91a0a3!important;font-size:9px!important}.rank b{font-size:12px!important;color:var(--hm-ink)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.rank strong{font-size:14px!important;color:var(--hm-ink-strong)!important;font-variant-numeric:tabular-nums!important}
.local-rank-status{padding:15px!important;border:1px dashed var(--hm-line)!important;border-radius:11px!important;color:var(--hm-muted)!important;font-size:10px!important;line-height:1.5!important;text-align:center!important}

/* Korea / World LIVE */
#screen-korea .rail-inner,#screen-world .rail-inner{padding:24px 20px 28px!important}
.layer-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:7px!important}.layer-grid button{min-height:42px!important;border:1px solid var(--hm-line)!important;border-radius:10px!important;background:#fff!important;color:var(--hm-ink)!important;padding:8px 9px!important;font-size:11px!important;font-weight:850!important;text-align:left!important}.layer-grid button.active{background:var(--hm-accent)!important;border-color:var(--hm-accent)!important;color:#fff!important}.live-layer-icon{margin-right:6px!important}
.windy-full{width:100%!important;height:100%!important;border:0!important;display:block!important;background:#dfe8e5!important}

/* Moon */
#screen-moon .moon-stage{height:100%!important;min-height:0!important;border:0!important}
#screen-moon .rail-inner .metrics{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:7px!important;margin:14px 0!important}#screen-moon .metric{padding:11px!important;border:1px solid var(--hm-line)!important;border-radius:11px!important;background:#fff!important}#screen-moon .metric span{font-size:9px!important;color:#7f9094!important}#screen-moon .metric b{font-size:15px!important;color:var(--hm-ink-strong)!important}
.twilight p{border-bottom:1px solid var(--hm-line-soft)!important;padding:8px 0!important}.twilight p:last-child{border-bottom:0!important}

/* Detailed weather uses the same reference language */
#screen-detail .rail{background:#fff!important}
#screen-detail .detail-weather{height:100%!important;overflow:auto!important;padding:24px!important;background:var(--hm-paper)!important;color:var(--hm-ink)!important}
.detail-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;margin:0 0 16px!important;padding:0 0 14px!important;border-bottom:1px solid var(--hm-line)!important}.detail-head h2{margin:0!important;font-size:25px!important;color:var(--hm-ink-strong)!important;letter-spacing:-.045em!important}.detail-head p{margin:5px 0 0!important;color:var(--hm-muted)!important;font-size:10px!important}.detail-now{display:flex!important;align-items:center!important;gap:8px!important}.detail-now strong{font-size:34px!important;color:var(--hm-ink-strong)!important}
.weather-panel{padding:15px!important;border:1px solid var(--hm-line)!important;border-radius:15px!important;background:#fff!important;box-shadow:none!important}.weather-panel h3{margin:0 0 12px!important;font-size:13px!important;color:var(--hm-ink-strong)!important}.weather-panel h3::before{width:3px!important;height:14px!important;background:var(--hm-accent)!important}
.detail-grid{gap:14px!important}.detail-cards{gap:8px!important}.detail-card{padding:12px!important;border:1px solid var(--hm-line-soft)!important;border-radius:11px!important;background:#f9fbfa!important}.detail-card span{font-size:9px!important;color:#7c8e92!important}.detail-card b{font-size:16px!important;color:var(--hm-ink-strong)!important}.hourly,.daily{scrollbar-width:thin!important}.hour,.day{border-color:var(--hm-line-soft)!important;background:#fbfcfc!important;border-radius:10px!important}.provider{padding:9px 0!important}

/* Compare */
#screen-compare .rail-inner{padding:24px 20px!important}
.quick{display:flex!important;gap:6px!important;flex-wrap:wrap!important}.quick button{min-height:34px!important;padding:0 10px!important;border:1px solid var(--hm-line)!important;border-radius:999px!important;background:#fff!important;color:var(--hm-ink)!important;font-size:10px!important;font-weight:850!important}
.compare-map-dock{left:24px!important;right:24px!important;bottom:22px!important;padding:12px!important;border:1px solid rgba(219,228,225,.95)!important;border-radius:15px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(14px)!important;box-shadow:var(--hm-shadow)!important}.compare-dock-head{padding:0 2px 9px!important;border-bottom:1px solid var(--hm-line-soft)!important}.compare-dock-head strong{font-size:12px!important}.compare-clear{border:0!important;background:transparent!important;color:var(--hm-accent)!important;font-size:10px!important;font-weight:850!important}.compare-dock-grid{gap:8px!important;padding-top:9px!important}.compare-dock-card{border:1px solid var(--hm-line)!important;border-radius:11px!important;background:#fff!important;box-shadow:none!important}

button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(8,124,105,.22)!important;outline-offset:2px!important}
button{transition:border-color .16s ease,background-color .16s ease,transform .16s ease}
button:active{transform:translateY(1px)}

@media(max-width:1280px) and (min-width:981px){
  :root{--hm-left:370px;--hm-right:290px}
  .top{grid-template-columns:190px minmax(320px,1fr) auto!important;gap:14px!important;padding-inline:18px!important}
  .nav{padding-inline:18px!important}.nav button{padding-inline:11px!important}.nav button small{display:none!important}
  #screen-local #temp{font-size:56px!important}
  .local-right-inner{padding-inline:14px!important}
}

/* Mobile keeps the proven v8 map/dashboard behavior; only the visual system changes. */
@media(max-width:980px){
  :root{--hm-header-h:108px;--hm-nav-h:64px}
  body{background:#fff!important}
  .top{
    position:sticky!important;height:108px!important;min-height:108px!important;grid-template-columns:1fr auto!important;grid-template-rows:48px 48px!important;
    gap:4px 8px!important;padding:6px 12px!important
  }
  .brand{grid-column:1!important;grid-row:1!important;grid-template-columns:36px 1fr!important;font-size:16px!important}.brand::before{width:36px;height:36px;border-radius:10px!important}.brand::after{left:8px;top:3px;font-size:29px!important}.brand small{font-size:8px!important}
  .actions{grid-column:2!important;grid-row:1!important}.status{display:none!important}.ghost{height:36px!important;padding:0 9px!important}.ghost span{display:none!important}
  .search-shell{grid-column:1/3!important;grid-row:2!important;max-width:none!important}.search{height:44px!important;border-radius:12px!important;grid-template-columns:36px 1fr auto!important}.search input{height:40px!important;font-size:13px!important}.search button{height:34px!important;padding:0 12px!important;font-size:11px!important}
  .nav{top:108px!important;height:64px!important;min-height:64px!important;display:flex!important;gap:0!important;padding:0 8px!important;overflow-x:auto!important;scrollbar-width:none!important;border-bottom:1px solid var(--hm-line)!important}.nav::-webkit-scrollbar{display:none!important}.nav button{flex:0 0 auto!important;min-width:104px!important;padding:7px 10px!important;border-right:0!important;border-left:0!important}.nav button .eyebrow{font-size:8px!important}.nav button strong{font-size:12px!important}.nav button small{display:none!important}.nav button.active::after{left:10px!important;right:10px!important}

  #screen-local.active,#screen-korea.active,#screen-world.active,#screen-moon.active,#screen-detail.active,#screen-compare.active{height:calc(100dvh - 172px)!important;min-height:0!important}
  #screen-korea.active,#screen-world.active,#screen-moon.active,#screen-detail.active,#screen-compare.active{display:flex!important;flex-direction:column!important;overflow:hidden!important}
  #screen-korea>.rail,#screen-world>.rail,#screen-moon>.rail,#screen-detail>.rail,#screen-compare>.rail{width:100%!important;max-width:none!important;border-right:0!important;border-bottom:1px solid var(--hm-line)!important}
  #screen-korea.rail-collapsed>.rail,#screen-world.rail-collapsed>.rail,#screen-moon.rail-collapsed>.rail{max-height:82px!important;overflow:hidden!important}
  #screen-korea>.maparea,#screen-world>.maparea,#screen-moon>.moon-stage,#screen-compare>.maparea{flex:1 1 auto!important;min-height:300px!important}

  #screen-local.active{position:relative!important;display:block!important;height:calc(100dvh - 172px)!important;min-height:0!important;background:#e7efed!important}
  #screen-local.active>.maparea{position:absolute!important;inset:0!important;display:block!important;height:100%!important;min-height:0!important}
  #screen-local.active>.local-right-rail{display:none!important}
  #screen-local.active>.rail{position:absolute!important;z-index:1000!important;left:8px!important;right:8px!important;bottom:8px!important;width:auto!important;max-width:none!important;height:auto!important;max-height:calc(100% - 16px)!important;border:1px solid rgba(219,228,225,.95)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 18px 50px rgba(16,42,50,.2)!important;overflow:hidden!important}
  #screen-local.active.rail-collapsed>.rail{height:74px!important;max-height:74px!important}
  #screen-local.active.rail-collapsed>.rail .rail-inner{display:none!important}
  #screen-local.active.rail-collapsed>.rail .local-mobile-peek{display:block!important;padding:10px 12px!important;background:#fff!important}
  #screen-local.active:not(.rail-collapsed)>.rail{height:min(76vh,680px)!important}
  #screen-local.active:not(.rail-collapsed)>.rail .rail-inner{display:block!important;height:100%!important;padding:16px 14px 24px!important;overflow-y:auto!important}
  #screen-local.active:not(.rail-collapsed) #mobileLocalDashboard{display:block!important}
  #screen-local.active:not(.rail-collapsed) .rail-inner>*:not(#mobileLocalDashboard){display:none!important}
  #screen-local .mobile-handle{display:block!important;width:42px!important;height:4px!important;border-radius:999px!important;background:#d2dcda!important;margin:7px auto 2px!important}
  .peek-primary{align-items:center!important}.peek-primary b{font-size:25px!important;color:var(--hm-ink-strong)!important}.peek-primary strong{font-size:11px!important;color:var(--hm-ink)!important}.peek-official{background:#eff8f5!important;color:var(--hm-accent)!important;border-color:#d3e9e2!important}.peek-stations{font-size:8px!important;color:#829195!important}

  #mobileLocalDashboard{color:var(--hm-ink)!important}.mld-point-head{padding:0 0 12px!important;border-bottom:1px solid var(--hm-line)!important}.mld-point-head h1{font-size:22px!important;color:var(--hm-ink-strong)!important}.v8-head-actions button{border:1px solid var(--hm-line)!important;background:#fff!important;color:var(--hm-ink)!important;border-radius:10px!important}.v8-weather-hero{padding:14px 0!important}.point-current{align-items:center!important}.point-current #temp{font-size:56px!important;color:var(--hm-ink-strong)!important}.point-metrics{grid-template-columns:repeat(4,1fr)!important;gap:6px!important}.point-metrics .metric{padding:9px 5px!important;border:1px solid var(--hm-line)!important;border-radius:10px!important;background:#fff!important}.mld-mood{background:var(--hm-accent-soft)!important;color:#345d55!important;border-radius:11px!important}.mld-alert-slot{border-radius:10px!important}.mld-point-card,#mobileLocalDashboard .nowcast,#mobileLocalDashboard .mld-secondary{border-color:var(--hm-line)!important;border-radius:14px!important;box-shadow:none!important}.v8-quick-actions button{border:1px solid var(--hm-line)!important;border-radius:12px!important;background:#fff!important;color:var(--hm-ink)!important}.v8-quick-actions button b{color:var(--hm-ink-strong)!important}
  #mobileLocalDashboard .windy-mini iframe{height:200px!important}
  #mobileLocalDashboard .detail-link{background:var(--hm-accent)!important;border-radius:11px!important}

  .map-title{left:12px!important;top:12px!important;max-width:calc(100% - 24px)!important;padding:10px 12px!important}.map-title strong{font-size:16px!important}.map-timebar{left:12px!important;right:12px!important;bottom:92px!important;transform:none!important;max-width:none!important;overflow-x:auto!important;justify-content:flex-start!important}.map-timebar button{flex:0 0 auto!important}
  #pointSheet{left:10px!important;right:10px!important;top:10px!important;width:auto!important;max-height:calc(100% - 20px)!important}

  #screen-detail.active{overflow-y:auto!important}.detail-weather{height:auto!important;overflow:visible!important;padding:14px!important}.detail-grid{grid-template-columns:1fr!important}.detail-head{align-items:flex-start!important}.weather-panel{padding:13px!important}
  #screen-compare>.rail{flex:0 0 auto!important;max-height:220px!important;overflow:auto!important}.compare-map-dock{left:10px!important;right:10px!important;bottom:10px!important;max-height:45%!important;overflow:auto!important}.compare-dock-grid{display:flex!important;overflow-x:auto!important}.compare-dock-card{min-width:210px!important}
}

@media(max-width:560px){
  .nav button{min-width:92px!important}.nav button strong{font-size:11px!important}
  #screen-local.active:not(.rail-collapsed)>.rail{left:0!important;right:0!important;bottom:0!important;border-radius:18px 18px 0 0!important;border-left:0!important;border-right:0!important;border-bottom:0!important;height:78vh!important}
  #screen-local.active.rail-collapsed>.rail{left:8px!important;right:8px!important;bottom:8px!important;border-radius:16px!important;border:1px solid var(--hm-line)!important}
  .weather-five-grid{grid-template-columns:1fr!important}
}

/* Phase 1 accessibility + mobile collision guard */
@media(max-width:980px){
  .ghost,
  .search button,
  .favorite-chips button,
  .save-fav,
  .map-timebar button,
  .windy-tabs button,
  .layer-grid button,
  .quick button,
  .detail-link,
  .v8-head-actions button,
  .v8-quick-actions button,
  .detail-jump-nav button,
  .map-view-tabs button,
  .filter-chip,
  .hmlw-btn,
  .hmlw-search-input,
  .hm-view-menu-trigger{
    min-height:44px!important;
  }
  .hmlw-icon-btn,
  .header-icon-button,
  .hm-view-menu-trigger{
    min-width:44px!important;
    min-height:44px!important;
  }
  #screen-local.active:not(.rail-collapsed) .map-timebar{
    display:none!important;
  }
}
