.uv{position:absolute;inset:0;display:flex;flex-direction:column;font-family:var(--mono);color:var(--text);background:radial-gradient(120% 75% at 50% 0%,rgba(46,196,182,.07),transparent 56%),var(--ink);overflow:hidden}.uv-head{flex:0 0 auto;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;padding:13px 20px 10px;border-bottom:1px solid var(--line)}.uv-title{font-size:14px;letter-spacing:.24em;color:var(--text);display:flex;align-items:center}.uv-dot{width:8px;height:8px;border-radius:50%;margin-right:9px;background:var(--accent);box-shadow:0 0 9px var(--accent)}.uv-sub{display:flex;gap:14px;flex-wrap:wrap;font-size:9.5px;letter-spacing:.1em;color:var(--text-faint);text-transform:uppercase}.uv-sub b{color:var(--text);font-weight:500}.uv-live{color:var(--accent)}.uv-skip{color:var(--signal)}.uv-body{flex:1;display:flex;min-height:0}.uv-stage{flex:1;min-width:0;position:relative;display:flex;flex-direction:column;justify-content:center;padding:16px 18px;border-right:1px solid var(--line);overflow:hidden}.uv-map{width:100%;height:auto;max-height:100%;display:block}.uv-grat line{stroke:var(--line);stroke-width:1}.uv-equator{stroke:var(--line-2);stroke-width:1;stroke-dasharray:4 6}.uv-frame{fill:none;stroke:var(--line-2);stroke-width:1}.uv-night{fill:#080a188c;stroke:var(--line-2);stroke-width:.75;stroke-dasharray:3 5}.uv-dot-g{cursor:pointer;outline:none}.uv-halo{opacity:.16}.uv-pt{opacity:.95;stroke-width:1;transition:opacity .15s}.uv-spark{opacity:.7;pointer-events:none}.uv-dot-g.night .uv-pt{opacity:.45}.uv-dot-g:hover .uv-pt{opacity:1}.uv-dot-g:hover .uv-halo{opacity:.3}.uv-dot-g:focus-visible .uv-pt{stroke:var(--text);stroke-width:1.6}.uv-ring{stroke-width:1.4;opacity:.9}.uv-legend{position:absolute;left:26px;bottom:22px;display:flex;flex-wrap:wrap;gap:4px 12px;max-width:calc(100% - 48px);padding:7px 11px;background:color-mix(in srgb,var(--ink) 80%,transparent);border:1px solid var(--line);border-radius:3px;font-size:9px;letter-spacing:.04em;color:var(--text-dim)}.uv-leg{display:inline-flex;align-items:center;gap:5px}.uv-leg i{width:9px;height:9px;border-radius:2px;display:inline-block}.uv-leg em{font-style:normal;color:var(--text-faint);font-size:8px}.uv-leg-night-dot{background:var(--text-faint);border-radius:50%!important;opacity:.6}.uv-loading,.uv-err{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:0 24px;background:color-mix(in srgb,var(--ink) 86%,transparent)}.uv-loading{color:var(--text-faint);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}.uv-spin{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line-2);border-top-color:var(--accent);animation:uv-rot .9s linear infinite}@keyframes uv-rot{to{transform:rotate(360deg)}}.uv-err-h{color:#ef5d5d;font-size:13px}.uv-err span{font-size:10px;color:var(--text-faint);max-width:46ch;word-break:break-word}.uv-retry{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line-2));border-radius:3px;padding:9px 22px;cursor:pointer;transition:background .15s,border-color .15s}.uv-retry:hover{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent)}.uv-retry:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.uv-spin{animation:none}}.uv-rail{flex:0 0 clamp(240px,33%,330px);display:flex;flex-direction:column;min-height:0}.uv-panel{flex:0 0 auto;padding:14px 16px;border-bottom:1px solid var(--line)}.uv-panel-h{font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);margin-bottom:11px}.uv-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px}.uv-seg{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);background:var(--ink-1);border:1px solid var(--line);border-radius:3px;padding:9px 6px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.uv-seg:hover{color:var(--text);border-color:var(--line-2)}.uv-seg.on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,var(--line-2));background:color-mix(in srgb,var(--accent) 10%,transparent)}.uv-seg:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.uv-refresh{width:100%;margin-top:8px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);background:var(--ink-1);border:1px solid var(--line);border-radius:3px;padding:8px 6px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.uv-refresh:hover:not(:disabled){color:var(--text);border-color:var(--line-2)}.uv-refresh:disabled{opacity:.5;cursor:default}.uv-refresh:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.uv-note{margin-top:12px;font-size:9px;line-height:1.55;letter-spacing:.03em;color:var(--text-faint)}.uv-selpanel{display:block}.uv-sel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.uv-sel-city{font-family:var(--serif);font-size:21px;line-height:1.05;color:var(--text)}.uv-cc{font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:var(--text-faint);margin-left:7px;vertical-align:middle}.uv-bignum{font-family:var(--serif);font-size:34px;line-height:.9;text-align:right}.uv-cat{display:block;font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;margin-top:4px;color:var(--text-dim)}.uv-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.uv-facts div{background:var(--ink-2);border:1px solid var(--line);border-radius:2px;padding:7px 6px;text-align:center}.uv-facts dt{font-size:8px;letter-spacing:.08em;color:var(--text-faint);text-transform:uppercase}.uv-facts dd{font-family:var(--serif);font-size:15px;color:var(--text);margin-top:3px;white-space:nowrap}.uv-rank{flex:1;display:flex;flex-direction:column;min-height:0}.uv-rank-h{flex:0 0 auto;display:grid;grid-template-columns:30px 1fr 56px;gap:8px;align-items:center;height:24px;padding:0 16px;font-size:8.5px;letter-spacing:.1em;color:var(--text-faint);border-bottom:1px solid var(--line);text-transform:uppercase}.uv-rank-num{text-align:right}.uv-rank-rows{flex:1;overflow-y:auto}.uv-rank-rows::-webkit-scrollbar{width:8px}.uv-rank-rows::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}.uv-rank-row{width:100%;display:grid;grid-template-columns:30px minmax(0,1fr) 56px 40px;gap:8px;align-items:center;height:30px;padding:0 16px;background:none;border:none;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);cursor:pointer;text-align:left;color:inherit;font-family:var(--mono);transition:background .1s}.uv-rank-row:hover{background:#ffffff06}.uv-rank-row.on{background:color-mix(in srgb,var(--accent) 8%,transparent)}.uv-rank-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.uv-rank-i{font-size:10px;color:var(--text-faint)}.uv-rank-name{font-family:var(--sans);font-weight:300;font-size:12.5px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uv-rank-cc{font-style:normal;font-family:var(--mono);font-size:8px;color:var(--text-faint);letter-spacing:.08em;margin-left:6px}.uv-rank-bar{height:4px;background:var(--ink-2);border-radius:2px;overflow:hidden}.uv-rank-bar i{display:block;height:100%}.uv-rank-uv{text-align:right;font-size:12px;font-weight:500}.uv-rank-foot{flex:0 0 auto;display:flex;justify-content:space-between;gap:8px;padding:9px 16px;border-top:1px solid var(--line);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.uv-foot-day{color:var(--accent)}.uv-credit{flex:0 0 auto;margin-top:auto;padding:12px 16px;border-top:1px solid var(--line);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.uv-credit a{color:var(--accent);text-decoration:none}.uv-credit a:hover{text-decoration:underline}.uv-credit a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:660px){.uv-body{flex-direction:column;overflow-y:auto}.uv-stage{border-right:none;border-bottom:1px solid var(--line);flex:0 0 auto;padding:12px}.uv-rail{flex:1 0 auto}.uv-rank-rows{overflow-y:visible}.uv-legend{left:18px;bottom:14px}}
