:root{--color-primary:#22c55e;--color-info:#0ea5e9;--color-warning:#f59e0b;--color-danger:#ef4444;--color-success:#22c55e;--status-optimal:#22c55e;--status-warning:#f59e0b;--status-danger:#ef4444;--status-offline:#9ca3af;--bg-page:#f8fafc;--bg-card:#fff;--bg-hover:#f5f5f5;--bg-alert-bg:#fff2e8;--border-color:#e5e7eb;--border-color-light:#f3f4f6;--text-primary:#1f2937;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--font-display:"DM Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--tabbar-height:56px;--topbar-height:80px;--content-padding:24px;--content-padding-mobile:12px}body{font-family:var(--font-display);background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0}.ant-card{background:0 0;border-radius:12px;box-shadow:none!important;border:none!important}.section-divider{border-bottom:1px solid var(--border-color);padding-bottom:var(--space-4);margin-bottom:var(--space-4)}.metric-row{padding:var(--space-3) 0;border-bottom:1px solid var(--border-color-light);align-items:center;gap:var(--space-4);grid-template-columns:140px 1fr;display:grid}.metric-row:last-child{border-bottom:none}.metric-row.alert{background:var(--bg-alert-bg);margin:0 calc(-1 * var(--space-3));padding:var(--space-3);border-left:3px solid var(--color-danger);border-radius:4px}.ant-space-item{margin-bottom:0!important}@media (width<=767px){.metric-row{gap:var(--space-2);padding:var(--space-2) 0;grid-template-columns:100px 1fr;font-size:13px}}html{-webkit-text-size-adjust:100%}input,select,textarea,button{font-size:16px}@media (width<=767px){button,.ant-btn,.ant-select,.ant-picker,.ant-input{font-size:14px}}._sider_o0fla_1{border-right:1px solid var(--border-color,#e5e7eb);transition:all .2s;overflow:hidden;background:#fff!important}._logo_o0fla_8{height:56px;color:var(--text-primary,#1f2937);border-bottom:1px solid var(--border-color-light,#f3f4f6);white-space:nowrap;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}._menu_o0fla_20{background:0 0;border-right:none;margin-top:4px}@media (width<=767px){._sider_o0fla_1{display:none!important}}._topbar_1tyaq_1{border-bottom:1px solid var(--border-color,#e5e7eb);flex-direction:column;gap:2px;display:flex;height:var(--topbar-height)!important;background:#fff!important;padding:6px 24px!important;line-height:normal!important}@media (width<=767px){._topbar_1tyaq_1{cursor:pointer;align-items:center;gap:0;transition:height .2s;overflow:hidden;flex-direction:row!important;height:44px!important;padding:2px 12px!important}._topbarExpanded_1tyaq_24{cursor:default;flex-direction:column!important;height:auto!important}}._row1_1tyaq_31{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}._row2_1tyaq_38{flex:1;align-items:center;gap:12px;min-height:0;display:flex}@media (width<=767px){._row1_1tyaq_31{flex:1;width:100%;height:44px}._row2_1tyaq_38{border-top:1px solid var(--border-color,#e5e7eb);flex-wrap:wrap;gap:8px;margin-top:2px;padding:4px 0 8px;display:none}._row2Visible_1tyaq_62{display:flex}._row2_1tyaq_38 ._currentBlock_1tyaq_66{flex:100%;justify-content:center}._row2_1tyaq_38 ._forecastBlock_1tyaq_71{flex:100%;justify-content:space-around}._row2_1tyaq_38 ._minutelyBlock_1tyaq_76{flex:100%;justify-content:center}._desktopOnly_1tyaq_83{display:none!important}}._leftSpace_1tyaq_90{flex:1;min-width:0;overflow:hidden}._mobileWeatherInline_1tyaq_96{white-space:nowrap;align-items:center;gap:4px;margin-left:2px;display:none}._inlineIcon_1tyaq_104{font-size:16px;line-height:1}._inlineTemp_1tyaq_109{font-size:13px;font-weight:600;line-height:1}._inlineMeta_1tyaq_115{background:var(--bg-page,#f8fafc);white-space:nowrap;border-radius:8px;padding:1px 5px;font-size:11px;line-height:1}@media (width<=767px){._mobileWeatherInline_1tyaq_96{display:inline-flex}}._cityBlock_1tyaq_130{flex-shrink:0;align-items:center;gap:6px;display:flex}@media (width<=767px){._cityBlock_1tyaq_130{display:none!important}._row2_1tyaq_38 ._cityBlock_1tyaq_130{display:flex!important}._vertDivider_1tyaq_146{display:none}}._cityInput_1tyaq_151{height:24px;font-size:12px}._cityLabel_1tyaq_156{color:var(--text-secondary,#6b7280);white-space:nowrap;cursor:default;font-size:12px}._currentBlock_1tyaq_66{flex-shrink:0;align-items:center;gap:8px;display:flex}._currentInfo_1tyaq_171{flex-direction:column;gap:1px;display:flex}._locationLine_1tyaq_177{color:var(--text-tertiary,#9ca3af);font-size:11px;line-height:1.2}._currentIcon_1tyaq_183{font-size:28px;line-height:1}._currentData_1tyaq_188{align-items:baseline;gap:6px;display:flex}._currentTemp_1tyaq_194{font-size:18px;line-height:1.2}._currentText_1tyaq_199{color:var(--text-secondary,#6b7280);font-size:12px;line-height:1}._currentMeta_1tyaq_205{white-space:nowrap;flex-wrap:wrap;align-items:center;gap:4px;margin-left:4px;font-size:12px;display:flex}@media (width<=767px){._currentMeta_1tyaq_205{white-space:normal;justify-content:center}}._metaSep_1tyaq_222{color:var(--border-color,#e5e7eb)}._vertDivider_1tyaq_146{background:var(--border-color,#e5e7eb);flex-shrink:0;width:1px;height:40px}._forecastBlock_1tyaq_71{flex-shrink:0;gap:16px;display:flex}._forecastDay_1tyaq_241{flex-direction:column;align-items:center;gap:2px;min-width:56px;display:flex}._forecastDate_1tyaq_249{color:var(--text-secondary,#6b7280);font-size:11px;line-height:1}._forecastIcon_1tyaq_255{font-size:18px;line-height:1}._forecastText_1tyaq_260{color:var(--text-secondary,#6b7280);font-size:11px;line-height:1}._forecastTemp_1tyaq_266{font-size:13px;line-height:1}._tempHigh_1tyaq_271{color:var(--text-primary,#1f2937)}._tempSep_1tyaq_275{color:var(--text-tertiary,#9ca3af);margin:0 1px}._tempLow_1tyaq_280{color:var(--text-tertiary,#9ca3af)}._minutelyBlock_1tyaq_76{flex-shrink:0;align-items:center;gap:4px;display:flex}._minutelyIcon_1tyaq_292{font-size:18px;line-height:1}._minutelyText_1tyaq_297{color:var(--text-secondary,#6b7280);white-space:nowrap;font-size:12px}._hourlyPrecipCol_1tyaq_303{flex-direction:column;gap:4px;display:flex}._hourlyList_1tyaq_309{gap:8px;display:flex}._hourlyItem_1tyaq_314{flex-direction:column;align-items:center;gap:1px;display:flex}._hourlyTime_1tyaq_321{color:var(--text-tertiary,#9ca3af);font-size:10px;line-height:1}._hourlyIcon_1tyaq_327{font-size:14px;line-height:1}._hourlyPop_1tyaq_332{color:var(--text-tertiary,#9ca3af);font-size:10px;line-height:1}._hourlyPop_1tyaq_332[data-rain=true]{color:#3b82f6;font-weight:600}._warningsBlock_1tyaq_344{flex-shrink:0;gap:6px;display:flex}._warningItem_1tyaq_350{cursor:default;white-space:nowrap;border:1px solid;border-radius:4px;align-items:center;gap:3px;padding:1px 6px;display:flex}._warningText_1tyaq_361{font-size:11px;line-height:1.4}._time_1tyaq_367{font-variant-numeric:tabular-nums;font-family:var(--font-mono,monospace);font-size:13px}._connText_1tyaq_373{font-size:12px}._updateTime_1tyaq_377{color:var(--text-tertiary,#9ca3af);font-size:11px}._tabBar_l1qvi_1{height:var(--tabbar-height);border-top:1px solid var(--border-color,#e5e7eb);z-index:1000;padding-bottom:env(safe-area-inset-bottom,0);background:#fff;flex-direction:row;align-items:stretch;display:none;position:fixed;bottom:0;left:0;right:0}._tab_l1qvi_1{cursor:pointer;color:var(--text-tertiary,#9ca3af);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-height:44px;padding:4px 0;transition:color .15s;display:flex}._tab_l1qvi_1:active,._tab_l1qvi_1._active_l1qvi_37{color:var(--color-primary,#22c55e)}._tabIcon_l1qvi_41{font-size:20px;line-height:1}._tabLabel_l1qvi_46{white-space:nowrap;font-size:10px;line-height:1}@media (width<=767px){._tabBar_l1qvi_1{display:flex}}._layout_qmnrl_1{min-height:100vh}._content_qmnrl_5{padding:var(--space-4) var(--content-padding);background:var(--bg-page,#f8fafc);height:calc(100vh - var(--topbar-height,80px));overflow-y:auto}@media (width<=767px){._content_qmnrl_5{padding:var(--content-padding-mobile);height:calc(100vh - var(--topbar-height,80px) - var(--tabbar-height,56px));padding-bottom:calc(var(--content-padding-mobile) + env(safe-area-inset-bottom,0px))}}
