  :root {
    --bg:#0d0f12; --surface:#151820; --surface-2:#1e2230; --surface-3:#252a38;
    --border:#252a38; --border-strong:#3a4156;
    --fg1:#e8eaf0; --fg2:#8890a4; --fg3:#555f75;
    --red:#cc2222; --red-dark:#8b1515;
    --yes-bg:#1a3327; --yes-fg:#52c97a; --yes-br:#2d5c42;
    --lim-bg:#2e2610; --lim-fg:#f5c842; --lim-br:#5a4a1a;
    --no-bg:#2e1212;  --no-fg:#e05454;  --no-br:#5a2020;
    --m-yes:rgba(82,201,122,0.13); --m-lim:rgba(245,200,66,0.14); --m-no:rgba(224,84,84,0.16);
    --font-ui:'Inter',system-ui,sans-serif; --font-mono:'JetBrains Mono',monospace;
    --r-sm:2px; --r-md:4px; --r-lg:6px;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  body{background:var(--bg);color:var(--fg1);font-family:var(--font-ui);font-size:14px;height:100dvh;display:flex;flex-direction:column;overflow:hidden;}
  #root{display:flex;flex-direction:column;height:100%;overflow:hidden;}
  input[type=date],input[type=time]{color-scheme:dark;}
  ::-webkit-scrollbar{width:5px;height:5px;}
  ::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px;}

  .th-base{background:#1e2230;position:sticky;top:0;z-index:10;padding:5px 6px;text-align:center;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg2);border-bottom:1.5px solid var(--border-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .th-wind{background:#18202e;}
  .th-wth {background:#1d1c17;}
  .th-st  {background:#1e2230;}
  .th-r2  {top:28px!important;}
  .bl{border-left:1.5px solid var(--border-strong)!important;}

  .hour-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:8px;overflow:hidden;cursor:pointer;}
  .hour-card.current{border-left:3px solid var(--yes-fg);}
  .card-head{padding:10px 12px 8px;}
  .card-row1{display:flex;align-items:center;justify-content:space-between;gap:10px;}
  .card-time{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--fg1);}
  .card-wind{font-family:var(--font-mono);font-size:12px;color:var(--fg2);display:flex;align-items:center;gap:5px;flex-shrink:0;white-space:nowrap;}
  .card-chevron{color:var(--fg3);font-size:12px;margin-left:auto;flex-shrink:0;}
  .card-badges{display:flex;gap:4px;align-items:center;margin-top:8px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .card-badges::-webkit-scrollbar{display:none;}
  .badge{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.03em;padding:3px 6px;border-radius:var(--r-md);border:1px solid;white-space:nowrap;flex-shrink:0;}
  .badge.yes{background:var(--yes-bg);color:var(--yes-fg);border-color:var(--yes-br);}
  .badge.lim{background:var(--lim-bg);color:var(--lim-fg);border-color:var(--lim-br);}
  .badge.no {background:var(--no-bg); color:var(--no-fg); border-color:var(--no-br);}
  .card-details{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--border);}
  .card-metric{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;border-bottom:1px solid var(--border);}
  .card-metric-label{font-family:var(--font-ui);font-size:10px;color:var(--fg3);}
  .card-metric-val{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--fg1);}
  .card-metric.m-yes{background:var(--m-yes);}
  .card-metric.m-yes .card-metric-val{color:var(--yes-fg);}
  .card-metric.m-lim{background:var(--m-lim);}
  .card-metric.m-lim .card-metric-val{color:var(--lim-fg);}
  .card-metric.m-no {background:var(--m-no);}
  .card-metric.m-no  .card-metric-val{color:var(--no-fg);}
  .card-metric.m-ok  .card-metric-val{color:var(--fg1);}
  .mobile-day-header{background:var(--surface-2);border-left:3px solid var(--border-strong);padding:6px 12px;margin:14px 0 6px;font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--fg2);border-radius:0 var(--r-md) var(--r-md) 0;}

  .conclusion-block{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--red);border-radius:var(--r-lg);margin-bottom:14px;}
  .conclusion-head{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;}
  .conclusion-body{padding:0 16px 14px;}

  .err-banner{background:var(--no-bg);border:1px solid var(--no-br);color:var(--no-fg);padding:10px 14px;border-radius:var(--r-md);font-family:var(--font-mono);font-size:12px;margin-bottom:14px;}
  .hint{font-family:var(--font-ui);font-size:10px;color:var(--fg3);margin-top:3px;}
  .hint.warn{color:var(--lim-fg);}

  @media(max-width:768px){body{height:auto;overflow:auto;}#root{height:auto;overflow:visible;}}
