/* CanikHava Premium Compact 1.1.0 — presentation only. No shared assets. */
html.canik-premium {
  --bg:#05070c; --card-bg:#131822; --card-border:#2b3342;
  --text-muted:#a2adbc; --text-sub:#8995a6;
  --ch-line:rgba(171,195,227,.15); --ch-accent:#8edbfa;
  --ch-surface:linear-gradient(145deg,rgba(32,40,55,.96),rgba(17,22,32,.98));
  --ch-shadow:inset 0 1px 0 rgba(255,255,255,.034),0 6px 18px rgba(0,0,0,.09);
  --ch-ease:cubic-bezier(.2,.7,.3,1);
  background:var(--bg); color-scheme:dark;
}
html.canik-premium body {background:var(--bg);}
html.canik-premium :is(#detailView,#forecastView) {background:var(--bg);}
html.canik-premium #liveView {--ch-atmos:rgba(83,112,161,.13);}
html.canik-premium #liveView::before {
  content:""; position:fixed; pointer-events:none; z-index:0;
  top:0; left:0; width:100%; height:min(780px,100vh);
  background:radial-gradient(ellipse at 17% 4%,var(--ch-atmos),transparent 64%);
}
html.canik-premium #liveView[data-ch-sky="clear"] {--ch-atmos:rgba(203,154,73,.13);}
html.canik-premium #liveView[data-ch-sky="cloud"] {--ch-atmos:rgba(123,146,178,.17);}
html.canik-premium #liveView[data-ch-sky="rain"] {--ch-atmos:rgba(57,131,169,.17);}
html.canik-premium #liveView[data-ch-sky="snow"] {--ch-atmos:rgba(140,177,216,.16);}
html.canik-premium #liveView[data-ch-sky="night"] {--ch-atmos:rgba(64,89,166,.17);}
/* Solar windows read the app's own sunrise/sunset labels. Weather remains dominant. */
html.canik-premium #liveView[data-ch-period="sunrise"]::before {
  background:radial-gradient(ellipse at 8% 8%,rgba(234,133,116,.19),transparent 54%),radial-gradient(ellipse at 50% 0%,rgba(218,163,106,.09),transparent 66%);
}
html.canik-premium #liveView[data-ch-period="day"]::before {
  background:radial-gradient(ellipse at 20% 0%,var(--ch-atmos),transparent 64%),radial-gradient(ellipse at 84% 12%,rgba(108,166,199,.045),transparent 54%);
}
html.canik-premium #liveView[data-ch-period="sunset"]::before {
  background:radial-gradient(ellipse at 92% 12%,rgba(226,115,78,.19),transparent 56%),radial-gradient(ellipse at 38% 0%,rgba(167,83,124,.1),transparent 62%);
}
html.canik-premium #liveView[data-ch-period="night"]::before {
  background:radial-gradient(ellipse at 24% 0%,rgba(40,59,107,.13),transparent 67%);
}
html.canik-premium #liveView:is([data-ch-sky="cloud"],[data-ch-sky="rain"],[data-ch-sky="snow"],[data-ch-sky="neutral"])::before {animation:none;opacity:.55;}
html.canik-premium #liveView::after {
  content:"";display:none;position:fixed;z-index:0;pointer-events:none;inset:0 0 auto;height:min(760px,100vh);
  background:
    radial-gradient(1px 1px at 5% 7%,#bed3f1 70%,transparent),
    radial-gradient(1px 1px at 13% 24%,#bed3f1 70%,transparent),
    radial-gradient(1px 1px at 21% 5%,#e0eafa 70%,transparent),
    radial-gradient(1px 1px at 29% 17%,#bed3f1 70%,transparent),
    radial-gradient(1.3px 1.3px at 38% 8%,#e0eafa 70%,transparent),
    radial-gradient(1px 1px at 47% 30%,#bed3f1 70%,transparent),
    radial-gradient(1px 1px at 57% 4%,#e0eafa 70%,transparent),
    radial-gradient(1px 1px at 67% 18%,#bed3f1 70%,transparent),
    radial-gradient(1.2px 1.2px at 79% 8%,#e0eafa 70%,transparent),
    radial-gradient(1px 1px at 89% 26%,#bed3f1 70%,transparent),
    radial-gradient(1px 1px at 96% 13%,#e0eafa 70%,transparent),
    radial-gradient(1px 1px at 3% 46%,#bed3f1 70%,transparent),
    radial-gradient(1px 1px at 98% 53%,#bed3f1 70%,transparent),
    radial-gradient(1px 1px at 33% 38%,#bed3f1 70%,transparent),
    radial-gradient(1px 1px at 71% 40%,#bed3f1 70%,transparent);
  opacity:.42;
}
html.canik-premium #liveView[data-ch-period="night"][data-ch-stars="true"]:not(.hidden)::after {display:block;}
html.canik-premium #liveView[data-ch-sky="clear"]::before,
html.canik-premium #liveView[data-ch-sky="cloud"]::before,
html.canik-premium #liveView[data-ch-sky="night"]::before {animation:ch-atmos 18s ease-in-out infinite alternate;}
@keyframes ch-atmos {from{opacity:.55;transform:translateX(-1%)}to{opacity:1;transform:translateX(1%)}}
html.canik-premium #liveView.hidden::before {display:none;}
html.canik-premium #liveView .weather-effect-layer {opacity:.48;}
html.canik-premium #liveView .weather-pulse {animation:none;}

/* Existing card shapes, instrument palette and information order are retained. */
html.canik-premium :is(.dashboard-card,.sun-cycle-card,.air-quality-card,.monthly-records-card,
  #detailView .card,#detailView .toolbar-card,#detailView .summary-item,#detailView .history-table,
  #forecastView .forecast-card,#forecastView .forecast-day,.station-compare-panel) {
  background:var(--ch-surface); border-color:var(--ch-line); box-shadow:var(--ch-shadow);
}
html.canik-premium :is(#liveView .container,#detailView .page,#forecastView .forecast-page) {min-width:0;}
html.canik-premium #liveView .live-station-switcher {
  padding:5px; gap:4px; border-radius:17px; background:rgba(21,27,38,.95);
  border-color:var(--ch-line); margin-bottom:9px;
}
html.canik-premium #liveView .live-station-switcher .switch-btn {
  min-height:44px; border-radius:12px; color:#b2bdcc; font-weight:650;
}
html.canik-premium #liveView .live-station-switcher .switch-btn.active {
  color:#fff; background:linear-gradient(145deg,#344050,#26303e);
  box-shadow:inset 0 0 0 1px rgba(178,208,237,.2),0 2px 8px #0003;
}
html.canik-premium #liveView .switch-btn .alt-tag {opacity:1;color:#9ba9bb;}
html.canik-premium #liveView .switch-btn.active .alt-tag {color:#ffc269;}
html.canik-premium #liveView .detail-page-link {
  min-height:46px; border-radius:14px; background:linear-gradient(145deg,#19232f,#121923);
  border-color:rgba(105,183,222,.23); box-shadow:var(--ch-shadow);
}
html.canik-premium #liveView .forecast-page-link {border-color:rgba(224,172,81,.26);background:linear-gradient(145deg,#29251f,#1b1d23);}
html.canik-premium #liveView .detail-link-icon {filter:none;}
html.canik-premium #liveView .detail-link-arrow {font-size:19px;}
html.canik-premium #liveView .detail-page-link small {color:#a2adbc;}
html.canik-premium #liveView :is(.delta-bar,.live-atmos-strip) {background:#111722;border-color:var(--ch-line);border-radius:12px;}
html.canik-premium #liveView .live-compare-row {margin:2px 0 15px;}
html.canik-premium #liveView .header {margin:2px 0 16px;padding:0 8px;}
html.canik-premium #liveView .station-title {font-weight:700;letter-spacing:-.5px;line-height:1.3;}
html.canik-premium #liveView .station-time {color:#a2adbc;line-height:1.5;}
html.canik-premium #liveView .icon-left {left:6px;top:4px;filter:none;}
html.canik-premium #liveView .live-dot {right:8px;top:10px;box-shadow:0 0 5px currentColor;}
html.canik-premium #liveView .gauge-wrapper {
  --ch-gauge-color:#7b9dca; isolation:isolate; border-color:rgba(180,200,227,.2);
  background:radial-gradient(ellipse at 50% 27%,rgba(50,65,83,.36),transparent 63%),var(--ch-surface);
}
html.canik-premium #liveView .gauge-wrapper::before {
  content:"";position:absolute;inset:10% 10% 18%;border-radius:50%;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse,var(--ch-gauge-color),transparent 65%);opacity:.0525;
}
html.canik-premium #liveView :is(.temp-display,.metric-value,.humidity-val) {font-variant-numeric:tabular-nums;transition:color 220ms ease;}
html.canik-premium #liveView #temp-val {display:inline-block;letter-spacing:-1.8px;}
html.canik-premium #liveView #daily-minmax {width:160px!important;max-width:calc(100% - 100px);gap:12px!important;margin-top:12px!important;}
html.canik-premium #liveView .daily-temp-stat {padding:0;border:0;row-gap:3px;line-height:1.15;}
html.canik-premium #liveView .daily-temp-label {font-size:10px;color:#a6b2c4;margin:0;}
html.canik-premium #liveView .daily-temp-time {font-size:9px;color:#9daabc;margin:0;opacity:1;}
html.canik-premium #liveView :is(#daily-min-val,#daily-avg-val,#daily-max-val) {font-size:14px;font-weight:750;}
html.canik-premium #liveView .heat-index-box {max-width:90%;justify-content:center;gap:5px;}
html.canik-premium #liveView .heat-index {letter-spacing:.05px;}
html.canik-premium #liveView .comfort-badge {border-radius:5px;}
html.canik-premium #liveView .metric-details {min-width:0;}
html.canik-premium #liveView .metric-title {color:#b3bece;}
html.canik-premium #liveView .circle-label {color:#b0bdce;}
html.canik-premium #liveView :is(#dew-stats,#wind-stats,#hum-stats) {opacity:1!important;}
html.canik-premium #liveView .monthly-record-label {color:#a9b5c7;white-space:normal;line-height:1.4;}
html.canik-premium #liveView .monthly-records-title {color:#b4c0d1;}
html.canik-premium #liveView .monthly-record-item {gap:3px;}
html.canik-premium .month-record-nav {width:36px;min-height:36px;border-radius:10px;}
html.canik-premium .monthly-records-head {grid-template-columns:36px minmax(0,1fr) 36px;}

/* Interaction: no timer, data operation or navigation waits for these transitions. */
html.canik-premium :is(button,.back-link,.forecast-back,.forecast-hour,select) {
  transition:transform 180ms var(--ch-ease),border-color 180ms ease,background-color 180ms ease,box-shadow 180ms ease;
}
html.canik-premium :is(button,a,input,select,summary,[tabindex="0"]):focus-visible {
  outline:2px solid #a8e7ff!important;outline-offset:3px;
}
html.canik-premium :is(.seg-btn,.metric-tab,.compare-metric-btn,.expand-chart-btn,.forecast-radar-btn,
  .forecast-profile-btn,.back-link,.forecast-back,.forecast-station-btn,.station-btn) {min-height:36px;}
@media (hover:hover) and (pointer:fine) {
  html.canik-premium button:not(:disabled):hover {border-color:rgba(167,220,248,.52);}
  html.canik-premium :is(.detail-page-link,.forecast-day,.forecast-hour,.switch-btn):not(:disabled):hover {transform:translateY(-2px);}
}
html.canik-premium button:not(:disabled):active {transform:translateY(1px) scale(.99);}
html.canik-premium :is(.switch-btn,.station-btn,.forecast-station-btn,.seg-btn,.metric-tab,.compare-metric-btn).active {
  box-shadow:inset 0 -2px 0 #ffc269; color:#fff;
}
html.canik-premium #detailView.active>.page,
html.canik-premium #forecastView.active>.forecast-page,
html.canik-premium #liveView:not(.hidden)>.container,
html.canik-premium #expandedChartModal.open .expanded-panel {animation:ch-page-in 200ms ease-out;}
@keyframes ch-page-in {from{opacity:.75}to{opacity:1}}

/* Forecast data, icon artwork and risk colors are never replaced. */
html.canik-premium #forecastView .forecast-days {gap:10px;padding:5px 2px 7px;}
html.canik-premium #forecastView .forecast-day {border-radius:18px;padding:12px 11px;}
html.canik-premium #forecastView .forecast-day.active {
  transform:translateY(-2px);border-color:rgba(255,193,99,.62);
  background:linear-gradient(150deg,#302b25,#1a2230 70%);
  box-shadow:inset 0 3px 0 #ffc269,0 6px 15px #0002;
}
html.canik-premium #forecastView  .forecast-day-name {font-size:13px;}
html.canik-premium #forecastView .forecast-day-date {font-size:11px;color:#adbacb;}
html.canik-premium #forecastView  .forecast-condition {font-size:11.5px;line-height:1.35;min-height:30px;}
html.canik-premium #forecastView  .forecast-high {font-size:24px;}
html.canik-premium #forecastView  .forecast-low {font-size:16px;}
html.canik-premium #forecastView .forecast-mini {background:#0d1520;border-color:var(--ch-line);padding:7px 3px;}
html.canik-premium #forecastView .forecast-mini span {font-size:9px;color:#a1afc2;}
html.canik-premium #forecastView .forecast-mini strong {font-size:11px;}
html.canik-premium #forecastView :is(.forecast-risk-line,.forecast-extreme-line,.forecast-public-note,.forecast-trend-line,.forecast-model-line) {
  font-size:11px!important;line-height:1.45!important;overflow-wrap:anywhere!important;
}
html.canik-premium #forecastView :is(.forecast-model-line,.forecast-risk-line) {color:#a7b4c7!important;}
html.canik-premium #forecastView .forecast-level-pair {gap:4px;}
html.canik-premium #forecastView .forecast-level-pair>div {padding:6px 4px;flex-wrap:wrap;}
html.canik-premium #forecastView .forecast-level-pair span {font-size:10px;color:#a5b6ca;}
html.canik-premium #forecastView .forecast-level-pair strong {font-size:12px;}
html.canik-premium #forecastView  .forecast-card {padding:15px;border-radius:19px;margin-bottom:12px;}
html.canik-premium #forecastView .forecast-card-head {padding-bottom:9px;border-bottom:1px solid var(--ch-line);}
html.canik-premium #forecastView .forecast-card h3 {font-size:16px;}
html.canik-premium #forecastView .forecast-card-head p {font-size:12px;color:#a6b4c6;}
html.canik-premium #forecastView  .forecast-hour-strip {gap:7px;padding:5px 2px 8px;}
html.canik-premium #forecastView .forecast-hour {flex-basis:100px!important;border-radius:13px;padding:9px 6px!important;background:#101a27;}
html.canik-premium #forecastView .forecast-hour.active {border-color:#83c9e9;box-shadow:inset 0 -3px 0 #83c9e9;background:#213347;}
html.canik-premium #forecastView .forecast-hour-time {font-size:12px!important;color:#c5d3e4;}
html.canik-premium #forecastView  .forecast-hour-temp {font-size:16px;}
html.canik-premium #forecastView .forecast-hour-rain {font-size:10px!important;color:#a4b7cd!important;}
html.canik-premium #forecastView .forecast-radar-frame {background:#090e16;border:1px solid var(--ch-line);border-radius:15px;}
html.canik-premium #forecastView .forecast-radar-btn {font-size:12px;padding:8px 12px;border-radius:10px;}
html.canik-premium #forecastView .forecast-radar-btn.is-playing {background:#244735;border-color:#67ce99;box-shadow:inset 0 -2px 0 #67ce99;}
html.canik-premium .forecast-radar-help summary {min-width:36px;min-height:36px;display:grid;place-items:center;font-size:15px;border-radius:50%;}
html.canik-premium .forecast-radar-help p {font-size:13px;line-height:1.6;}

/* Map chrome only: no canvas filter, layer opacity, geometry or marker transform. */
html.canik-premium :is(.station-map-topbar,.station-map-panel,.station-map-popover,.station-map-radar-controls,.station-map-radar-3d-panel) {
  background:linear-gradient(150deg,rgba(22,33,49,.97),rgba(10,18,30,.97));border-color:rgba(161,199,227,.24);box-shadow:var(--ch-shadow);
}
html.canik-premium :is(.station-map-quick-rail button,.station-map-radar-controls button,.station-map-radar-3d-panel button) {border-radius:10px;}
html.canik-premium :is(.station-map-quick-rail button,.station-map-radar-controls button,.station-map-radar-3d-panel button):is(.active,[aria-pressed="true"]) {
  border-color:#86d4f3;box-shadow:inset 0 -2px 0 #86d4f3;background-color:#254054;
}
html.canik-premium :is(.station-map-radar-controls,.station-map-radar-3d-panel) :is(header,.station-map-radar-head) {border-bottom:1px solid var(--ch-line);padding-bottom:7px;}
html.canik-premium .station-map-view.controls-idle :is(.station-map-quick-rail,.station-map-fade-control,.station-map-mobile-source,.station-map-mobile-layers) {opacity:.68;}
html.canik-premium .station-map-view.controls-idle :is(.station-map-topbar>div,.station-map-count,.station-map-quick-label) {opacity:.85;}
html.canik-premium .station-map-view.controls-idle .station-map-radar-controls:not(:hover),
html.canik-premium .station-map-view.controls-idle .station-map-radar-3d-panel:not(:hover):not(.dragging) {opacity:.8;}
html.canik-premium #detailView .card-header {padding-bottom:11px;border-bottom:1px solid var(--ch-line);margin-bottom:12px;}
html.canik-premium #detailView .card-title h3 {font-size:16px;}
html.canik-premium #detailView .card-title p {font-size:12px;color:#a8b5c6;}
html.canik-premium :is(.chart-tooltip,.forecast-chart-tooltip) {
  background:rgba(12,23,37,.98);border:1px solid rgba(139,193,229,.35);border-radius:10px;
  box-shadow:0 5px 14px #0003;transition:opacity 150ms ease;
}
html.canik-premium .expanded-panel {background:#0e1724;border:1px solid var(--ch-line);border-radius:22px;}
html.canik-premium :is(.history-loading,.forecast-empty,.forecast-radar-placeholder) {color:#a9b8cb;font-size:12px!important;line-height:1.5;}
html.canik-premium .chart-wrap:has(>svg:empty) {background:repeating-linear-gradient(to bottom,transparent 0,transparent 44px,rgba(164,190,218,.055) 45px);}
html.canik-premium .chart-wrap:has(>svg:empty)::before {
  content:"";position:absolute;left:8%;top:20%;width:30%;height:8px;border-radius:6px;
  background:#273244;box-shadow:0 24px 0 #202b3a,80px 70px 0 #1c2736;pointer-events:none;
}

@media (min-width:700px) {
  html.canik-premium #liveView .container {width:min(1320px,calc(100vw - 48px));max-width:none;align-items:stretch;}
  html.canik-premium #liveView .live-desktop-layout {display:grid;grid-template-columns:minmax(300px,.9fr) minmax(340px,1.25fr);gap:18px;align-items:start;}
  html.canik-premium #liveView :is(.live-primary-column,.live-secondary-column) {display:flex;flex-direction:column;min-width:0;}
  html.canik-premium #liveView .dashboard-grid {grid-template-columns:1fr;gap:12px;}
  html.canik-premium #liveView .list-metrics {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  html.canik-premium #liveView .circle-metrics {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  html.canik-premium #liveView .circle-box {min-height:190px;justify-content:center;}
  html.canik-premium #liveView .metric-card {min-height:102px;padding:12px 11px;gap:8px;}
  html.canik-premium #liveView .metric-title {font-size:12px;}
  html.canik-premium #liveView .metric-value {font-size:20px;}
  html.canik-premium #liveView .gauge-wrapper {height:340px;}
  html.canik-premium #liveView .gauge-svg {width:340px;height:272px;top:15px;max-width:100%;}
  html.canik-premium #liveView .gauge-center-data {top:96px;}
  html.canik-premium #liveView .temp-display {font-size:58px;}
  html.canik-premium #liveView .gauge-limits {bottom:24px;width:72%;}
  html.canik-premium #liveView .heat-index-box {flex-direction:column;margin-top:9px;}
  html.canik-premium #liveView .live-station-switcher .switch-btn {font-size:13px;min-height:52px;}
  html.canik-premium #liveView .live-station-switcher .alt-tag {font-size:10px;}
  html.canik-premium #liveView .detail-page-link {font-size:13px;min-height:56px;}
  html.canik-premium #liveView .station-title {font-size:25px;}
  html.canik-premium #liveView .station-time {font-size:12px;}
  html.canik-premium #liveView .monthly-records-grid {grid-template-columns:repeat(2,minmax(0,1fr));padding:0;gap:14px;}
  html.canik-premium #liveView .monthly-record-label {font-size:11px;}
  html.canik-premium #liveView .monthly-record-value {font-size:16px;}
}
@media (min-width:1100px) {
  html.canik-premium body {padding-top:24px;}
  html.canik-premium #liveView .live-desktop-layout {grid-template-columns:minmax(350px,.85fr) minmax(580px,1.45fr);gap:20px;}
  html.canik-premium #liveView .dashboard-grid {grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px;}
  html.canik-premium #liveView .list-metrics {grid-template-columns:1fr 1fr;}
  html.canik-premium #liveView .metric-card {min-height:118px;}
  html.canik-premium #liveView .circle-metrics {grid-template-columns:1fr 1fr;gap:10px;}
  html.canik-premium #liveView .circle-box {min-height:250px;padding:10px 5px;}
  html.canik-premium #liveView .gauge-wrapper {height:354px;}
  html.canik-premium #liveView .gauge-svg {width:370px;height:294px;top:12px;}
  html.canik-premium #liveView .gauge-center-data {top:98px;}
  html.canik-premium #liveView .temp-display {font-size:64px;}
  html.canik-premium #liveView .air-quality-card {margin-top:14px;min-height:70px;}
  html.canik-premium #liveView .monthly-records-grid {grid-template-columns:repeat(4,minmax(0,1fr));}
  html.canik-premium :is(#detailView .page,#forecastView .forecast-page) {width:min(1360px,calc(100vw - 64px));}
}
@media (max-width:699px) {
  html.canik-premium #liveView .container {width:100%;max-width:480px;}
  html.canik-premium #liveView .gauge-wrapper {height:280px;border-radius:24px;}
  html.canik-premium #liveView .gauge-svg {width:300px;height:240px;top:10px;max-width:100%;}
  html.canik-premium #liveView .gauge-center-data {top:72px;}
  html.canik-premium #liveView .temp-display {font-size:46px;}
  html.canik-premium #liveView .heat-index-box {margin-top:8px;flex-direction:column;}
  html.canik-premium #liveView .heat-index {font-size:10px!important;}
  html.canik-premium #liveView #daily-minmax {width:144px!important;margin-top:10px!important;max-width:calc(100% - 90px);gap:9px!important;}
  html.canik-premium #liveView .gauge-limits {bottom:16px;}
  html.canik-premium #liveView .metric-card {padding:12px 9px;gap:7px;border-radius:19px;}
  html.canik-premium #liveView .metric-title {font-size:11px;}
  html.canik-premium #liveView .metric-value {font-size:17px;}
  html.canik-premium #liveView .circle-box {padding:13px 7px;border-radius:19px;}
  html.canik-premium #liveView .dashboard-grid {gap:10px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);}
  html.canik-premium #liveView :is(.list-metrics,.circle-metrics,.circle-box) {min-width:0;}
  html.canik-premium #liveView :is(#dew-stats,#dew-1h-trend,#pressure-1h-trend,#uv-1h-trend,#monthly-rain-val,#wind-stats,#humidity-1h-trend,.daily-stat-line) {white-space:normal!important;line-height:1.35!important;max-width:100%;}
  html.canik-premium #liveView #solar-val {overflow-wrap:anywhere;}
  html.canik-premium #forecastView .forecast-day {flex:0 0 180px!important;}
  html.canik-premium #forecastView  .forecast-card {padding:12px;}
  html.canik-premium #forecastView .forecast-card h3 {font-size:14px;}
  html.canik-premium #forecastView .forecast-card-head p {font-size:11px;}
}
@media (orientation:landscape) and (max-height:600px) and (min-width:600px) {
  html.canik-premium #liveView .container {max-width:1160px;width:calc(100vw - 40px);align-items:stretch;}
  html.canik-premium #liveView .live-desktop-layout {display:grid;grid-template-columns:minmax(260px,.8fr) minmax(290px,1fr);gap:14px;}
  html.canik-premium #liveView .live-nav-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
  html.canik-premium #liveView .detail-page-link {width:100%;max-width:none;margin:0;grid-column:auto;min-height:44px;font-size:11px;}
  html.canik-premium #liveView .dashboard-grid {grid-template-columns:1fr;}
  html.canik-premium #liveView .list-metrics {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  html.canik-premium #liveView .circle-metrics {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  html.canik-premium #liveView .circle-box {min-height:164px;}
  html.canik-premium #liveView .metric-card {min-height:100px;}
  html.canik-premium #liveView .station-title {font-size:21px;}
  html.canik-premium #forecastView .forecast-days {display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));overflow-x:auto;}
}
/* Only decorative work is paused. Core polling, WebGL and data timers are untouched. */
html.canik-premium.ch-paused *,html.canik-premium.ch-paused *::before,html.canik-premium.ch-paused *::after,
html.canik-premium .ch-offscreen *,html.canik-premium .ch-offscreen *::before,html.canik-premium .ch-offscreen *::after {animation-play-state:paused!important;}
html.canik-premium.ch-lite #liveView::before {animation:none;}
/* Lite mode may disable premium decoration, but never freezes the core rain/snow/mix weather layer. */
html.canik-premium.ch-lite :is(.forecast-weather-icon *,button,.temp-display) {animation:none!important;transition:none!important;}
html.canik-premium.ch-lite :is(.station-compare-panel,.expanded-panel) {backdrop-filter:none;-webkit-backdrop-filter:none;}
@media (prefers-reduced-motion:reduce) {
  /* Reduce premium motion only. The existing meteorological rain/snow/mix layer remains functional. */
  html.canik-premium #liveView::before,
  html.canik-premium #liveView::after,
  html.canik-premium :is(.forecast-weather-icon *,button,.temp-display) {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
@media (forced-colors:active) {
  html.canik-premium :is(button,.dashboard-card,.forecast-card) {border:1px solid CanvasText;}
  html.canik-premium button.active {outline:2px solid Highlight;}
}

/* Compact family dimensions, shared values in separately scoped product assets. */
html.canik-premium:has(#liveView[data-ch-period="night"]) {--bg:#03050a;}
html.canik-premium #forecastView .forecast-day {min-height:0;min-width:0;}
html.canik-premium #forecastView .forecast-day-mini {margin-top:6px;gap:4px;}
html.canik-premium #forecastView .forecast-temps {margin-top:2px;}
html.canik-premium #forecastView .forecast-weather-icon,
html.canik-premium #forecastView .forecast-weather-icon svg {width:58px;height:46px;}
html.canik-premium #forecastView .forecast-weather-icon {margin:5px auto 2px;}
html.canik-premium #forecastView .forecast-hour .forecast-weather-icon,
html.canik-premium #forecastView .forecast-hour .forecast-weather-icon svg {width:40px;height:31px;}
html.canik-premium #forecastView .forecast-hour .forecast-weather-icon {margin:2px auto 1px;}
html.canik-premium #forecastView .forecast-day:focus-visible {outline-offset:-3px;}
html.canik-premium #detailView .card {padding:13px;}
html.canik-premium #liveView .sun-cycle-card {padding:8px 12px;}
html.canik-premium #liveView .air-quality-card {padding:10px 12px;}
html.canik-premium .station-map-forecast-timebar {background:var(--ch-surface);border-color:var(--ch-line);box-shadow:var(--ch-shadow);}
html.canik-premium .station-map-forecast-timebar button {min-width:40px;min-height:40px;}
html.canik-premium .station-map-forecast-timebar :disabled {opacity:.5;cursor:wait;}
@media (min-width:1100px) {
 html.canik-premium #forecastView .forecast-page {width:min(1240px,calc(100vw - 64px));}
 html.canik-premium #forecastView .forecast-weather-icon,
 html.canik-premium #forecastView .forecast-weather-icon svg {width:63px;height:51px;}
 html.canik-premium #forecastView .forecast-hour .forecast-weather-icon,
 html.canik-premium #forecastView .forecast-hour .forecast-weather-icon svg {width:40px;height:31px;}
}
@media (max-width:699px) {
 html.canik-premium #forecastView .forecast-weather-icon,
 html.canik-premium #forecastView .forecast-weather-icon svg {width:54px;height:42px;}
 html.canik-premium #forecastView .forecast-hour .forecast-weather-icon,
 html.canik-premium #forecastView .forecast-hour .forecast-weather-icon svg {width:40px;height:31px;}
}


/* ============================================================
   CANIK HAVA 1.1.6.4 — centered mobile bottom nav synced to Zirvekent
   ============================================================ */
:root{--canik-nav-h:56px}
.canik-bottom-nav{position:fixed;z-index:9800;left:50%;bottom:max(7px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(540px,calc(100vw - 18px));height:52px;padding:4px 6px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;border:1px solid rgba(255,255,255,.10);border-radius:15px;background:rgba(18,18,23,.94);box-shadow:0 12px 35px rgba(0,0,0,.48);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:opacity .28s ease,background .28s ease,box-shadow .28s ease,transform .28s ease}
.canik-bottom-nav button{appearance:none;border:0;border-radius:10px;background:transparent;color:#85858e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:0;font-family:inherit;cursor:pointer;min-height:44px}
.canik-bottom-nav button span{font-size:15px;line-height:1}.canik-bottom-nav button b{font-size:7px;line-height:1;font-weight:800;white-space:nowrap}
.canik-bottom-nav button.active{background:rgba(10,132,255,.10);color:#4bb3ff}.canik-bottom-nav button.active span{filter:drop-shadow(0 0 6px rgba(10,132,255,.28))}
.canik-bottom-nav.nav-idle{opacity:.30;background:rgba(18,18,23,.62);box-shadow:0 5px 18px rgba(0,0,0,.22)}
.canik-bottom-nav:hover,.canik-bottom-nav:focus-within{opacity:1!important}
.canik-bottom-nav.view-hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translate(-50%,18px)!important}
html.canik-premium #liveView>.container{padding-bottom:calc(var(--canik-nav-h) + 18px + env(safe-area-inset-bottom));}
html.canik-premium #canikPwaInstall{bottom:calc(var(--canik-nav-h) + 16px + env(safe-area-inset-bottom))!important;z-index:9905!important}
body.station-compare-open .canik-bottom-nav,#stationCompareOverlay.open ~ .canik-bottom-nav{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translate(-50%,18px)!important}
@media(min-width:760px){.canik-bottom-nav{height:54px;width:min(590px,calc(100vw - 28px))}.canik-bottom-nav button b{font-size:7.5px}}


/* CANIK HAVA 1.1.6.5 — Hasköy is the primary/first station again. */
html.canik-premium #btn-haskoy,
html.canik-premium #station-haskoy,
html.canik-premium #forecast-haskoy{order:-1!important}

/* 1.1.6.10 — shared dry-night learning journal */
.forecast-learning-card{margin:12px 0;border:1px solid rgba(100,210,255,.15);border-radius:16px;background:rgba(18,19,25,.88);overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.forecast-learning-card[hidden]{display:none!important}
.forecast-learning-card summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:11px 13px;cursor:pointer;min-height:52px}
.forecast-learning-card summary::-webkit-details-marker{display:none}.forecast-learning-card summary>span{font-size:18px}.forecast-learning-card summary>div{display:flex;flex-direction:column;gap:2px;min-width:0}.forecast-learning-card summary strong{font-size:10.5px;color:#f4f5f7}.forecast-learning-card summary small{font-size:7.8px;color:#84858e}.forecast-learning-card summary>b{font-size:7.7px;color:#8bdcff;padding:4px 7px;border:1px solid rgba(100,210,255,.16);border-radius:999px;background:rgba(70,150,190,.08);white-space:nowrap}.forecast-learning-card summary>i{font-style:normal;color:#64d2ff;font-size:18px;transition:transform .18s ease}.forecast-learning-card[open] summary>i{transform:rotate(90deg)}
.forecast-learning-body{border-top:1px solid rgba(255,255,255,.06);padding:10px 12px 12px}.forecast-learning-status{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.forecast-learning-status strong{font-size:9px;color:#dff5ff}.forecast-learning-status span{font-size:7.7px;line-height:1.35;color:#7f818a}.forecast-learning-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.forecast-learning-grid>div{padding:8px 7px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;gap:3px;min-width:0}.forecast-learning-grid span,.forecast-learning-last>span,.forecast-learning-hourly>span{font-size:7.1px;color:#7c7e87;font-weight:750}.forecast-learning-grid strong{font-size:9.5px;color:#f2f4f6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forecast-learning-last{margin-top:7px;padding:8px 9px;border-radius:10px;background:rgba(255,255,255,.02);display:flex;flex-direction:column;gap:3px}.forecast-learning-last strong{font-size:8.4px;line-height:1.35;color:#d7dbe0}.forecast-learning-last small{font-size:7.1px;color:#70727b}.forecast-learning-hourly{margin-top:7px}.forecast-learning-hourly ul{list-style:none;margin:5px 0 0;padding:0;display:grid;gap:4px}.forecast-learning-hourly li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:6px;align-items:center;padding:5px 7px;border-radius:8px;background:rgba(255,255,255,.022);font-size:7.6px;color:#9597a0}.forecast-learning-hourly li b{font-weight:750;color:#cfd4da}.forecast-learning-hourly li em{font-style:normal;font-weight:800;color:#8bdcff}.forecast-learning-hourly li.empty{display:block;color:#73757d}
@media(max-width:700px){.forecast-learning-card{margin:9px 0}.forecast-learning-card summary{padding:9px 10px;gap:7px}.forecast-learning-card summary strong{font-size:9.5px}.forecast-learning-card summary small{font-size:7.2px}.forecast-learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast-learning-grid>div{padding:7px 6px}.forecast-learning-grid strong{font-size:9px}}
