:root{--bg: #0b1020;--bg-soft: #111a30;--panel: rgba(255, 255, 255, .04);--panel-strong: rgba(255, 255, 255, .07);--line: rgba(255, 255, 255, .1);--text: #e8eefc;--muted: #93a1bd;--accent: #7aa2ff;--accent-2: #8ee6d2;--hot: #ff9d6b;--cold: #8ec5ff;--warn: #ffcc66;--danger: #ff7a8a}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(1200px 600px at 15% -10%,rgba(122,162,255,.14),transparent 60%),radial-gradient(900px 500px at 85% 0%,rgba(142,230,210,.1),transparent 55%),var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,sans-serif;font-size:15px;line-height:1.45}.app{max-width:1180px;margin:0 auto;padding:20px 20px 48px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font-size:30px}.brand-name{font-size:20px;font-weight:700;letter-spacing:.2px}.brand-sub{color:var(--muted);font-size:12.5px}.unit-toggle{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--panel)}.unit-toggle button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted);padding:8px 14px;font:inherit;font-size:13px;cursor:pointer}.unit-toggle button.active{background:var(--panel-strong);color:var(--text)}.controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.controls-vs{color:var(--muted);padding-bottom:10px;font-weight:600}.btn-compare{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(122,162,255,.5);background:linear-gradient(180deg,#7aa2ff40,#7aa2ff1f);color:var(--text);font:inherit;font-weight:600;padding:10px 18px;border-radius:12px;cursor:pointer;margin-left:auto}.btn-compare:disabled{opacity:.5;cursor:default}.btn-compare:not(:disabled):hover{background:linear-gradient(180deg,#7aa2ff59,#7aa2ff2e)}.picker{position:relative;flex:1 1 260px;min-width:240px}.picker-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin-bottom:6px}.chip-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--accent);font:inherit;font-size:12px;cursor:pointer;padding:0}.picker-input-wrap{position:relative}.picker-input{width:100%;background:var(--bg-soft);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:10px 34px 10px 12px;font:inherit;font-size:14px}.picker-input::placeholder{color:#93a1bdb3}.picker-input:focus{outline:2px solid rgba(122,162,255,.45);outline-offset:0;border-color:transparent}.picker-spinner,.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.25);border-top-color:var(--accent);border-radius:50%;display:inline-block;animation:spin .8s linear infinite}.picker-spinner{position:absolute;right:10px;top:50%;translate:0 -50%}@keyframes spin{to{transform:rotate(360deg)}}.picker-list{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;margin:0;padding:6px;list-style:none;background:#0f1729;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px #00000073;max-height:280px;overflow:auto}.picker-option{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text);font:inherit;padding:8px 10px;border-radius:8px;cursor:pointer}.picker-option:hover{background:var(--panel-strong)}.opt-name{font-weight:600}.opt-meta{color:var(--muted);font-size:12px}.picker-error{color:var(--danger);font-size:12.5px;margin-top:6px}.chip{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--bg-soft);border:1px solid var(--line);padding:9px 12px;border-radius:12px}.chip-name{font-weight:600}.chip-meta{color:var(--muted);font-size:12px}.quick-places{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}.quick-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--muted);font:inherit;font-size:13px;padding:6px 12px;border-radius:999px;cursor:pointer}.quick-chip:hover{color:var(--text);border-color:#7aa2ff73}.quick-chip.active{color:var(--text);background:var(--panel-strong);border-color:#7aa2ff8c}.banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel);margin-bottom:14px;font-size:14px}.banner.error{border-color:#ff7a8a80;color:#ffd7dc;justify-content:space-between}.banner.error button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,122,138,.5);background:transparent;color:inherit;font:inherit;font-size:13px;padding:4px 10px;border-radius:8px;cursor:pointer}.banner.loading{color:var(--muted)}.narrative{border:1px solid rgba(142,230,210,.25);background:linear-gradient(180deg,#8ee6d214,#7aa2ff0d),var(--panel);border-radius:16px;padding:16px 18px;margin-bottom:18px}.narrative.degraded{border-color:#ffcc6659}.narrative-head{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);margin-bottom:8px}.narrative-model{border:1px solid rgba(142,230,210,.4);color:var(--accent-2);padding:2px 8px;border-radius:999px;font-weight:600}.narrative-cached{border:1px solid var(--line);padding:2px 8px;border-radius:999px}.narrative-text{margin:0;font-size:16.5px;line-height:1.6}.narrative-text.muted{color:var(--muted);font-size:14px}.narrative-error{margin-top:8px;color:var(--warn);font-size:12.5px}.results{display:grid;grid-template-columns:1fr 1fr;gap:18px}.results .narrative,.results .between,.results .footnote{grid-column:1 / -1}@media(max-width:900px){.results{grid-template-columns:1fr}}.results.stale{opacity:.55;transition:opacity .2s ease}.panel{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:16px 18px;min-width:0}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.panel h2{margin:0;font-size:18px}.panel-place{color:var(--muted);font-size:13px}.panel-sub{color:var(--muted);font-size:12px}.panel-date{text-align:right;font-variant-numeric:tabular-nums;font-size:14px}.panel-tz{color:var(--muted);font-size:11.5px}.hero{display:grid;gap:12px;margin-bottom:14px}.hero-now{display:flex;align-items:center;gap:14px;background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.hero-emoji{font-size:38px;line-height:1}.hero-temp{font-size:34px;font-weight:700;font-variant-numeric:tabular-nums}.hero-desc{min-width:0}.hero-label{font-weight:600}.hero-meta,.hero-local{color:var(--muted);font-size:12.5px}.today-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:560px){.today-grid{grid-template-columns:1fr}}.today-cell{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-variant-numeric:tabular-nums}.today-label{color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.today-val{font-size:15.5px;font-weight:650}.today-sub{color:var(--muted);font-size:12px;margin-top:2px}.tone-hot{color:var(--hot)}.tone-cold{color:var(--cold)}.tone-ok{color:var(--text)}.records{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}@media(max-width:560px){.records{grid-template-columns:1fr}}.stat{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-width:0}.stat-label{color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em}.stat-value{font-weight:650;font-variant-numeric:tabular-nums;margin-top:2px}.stat-sub{color:var(--muted);font-size:12px;margin-top:2px}.history{margin-bottom:14px}.section-title{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}.spark-wrap{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:10px 12px 6px}.spark{width:100%;height:64px;display:block}.spark-guide{stroke:#ffffff12;stroke-width:1}.spark-line{stroke:var(--accent);stroke-width:1.6;vector-effect:non-scaling-stroke}.spark-dot{fill:var(--hot);stroke:#0006;stroke-width:.5}.spark-empty{color:var(--muted);font-size:13px}.spark-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:2px;font-variant-numeric:tabular-nums}.normals{margin-bottom:14px}.normals-chart{display:flex;align-items:flex-end;gap:6px;height:110px;background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:10px 12px 4px}.normals-col{flex:1;display:flex;flex-direction:column;align-items:center;min-width:0}.normals-bar{width:68%;background:linear-gradient(180deg,#7aa2ffa6,#7aa2ff40);border-radius:4px 4px 0 0;position:relative;overflow:hidden}.normals-bar-inner{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(180deg,#8ee6d2bf,#8ee6d273)}.normals-month{color:var(--muted);font-size:10px;margin-top:4px}.normals-note{color:var(--muted);font-size:12px;margin-top:6px}.recent-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.recent-grid>div{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.recent-big{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.recent-sub{color:var(--muted);font-size:12px}.between-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.between-table th,.between-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}.between-table thead th{color:var(--muted);font-size:12.5px;font-weight:600}.bt-label{color:var(--muted);font-size:13px}.bt-a,.bt-b{font-weight:600}.bt-hint{color:var(--muted);font-size:12.5px}.vs{color:var(--muted);font-weight:600;padding:0 6px}.empty{color:var(--muted);text-align:center;padding:60px 0}.footnote{color:#93a1bdbf;font-size:12px;line-height:1.5}
