@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg: #08090b;--panel: rgba(15,17,20,.72);--panel-solid: #0d0f12;--line: #1b2026;--line-strong: #262d35;--text: #e8ebee;--muted: #757f89;--faint: #444c55;--accent: #c8cdd3;--accent-dim: rgba(200,205,211,.18);--grid: .55;--font-ui: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;color-scheme:dark;font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}#root{position:fixed;top:0;right:0;bottom:0;left:0}.tex{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.tex-grid{background-image:linear-gradient(rgba(120,140,160,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(120,140,160,.05) 1px,transparent 1px);background-size:46px 46px,46px 46px;opacity:var(--grid);mask-image:radial-gradient(ellipse 80% 80% at 42% 50%,#000 30%,transparent 90%);-webkit-mask-image:radial-gradient(ellipse 80% 80% at 42% 50%,#000 30%,transparent 90%)}.tex-vignette{background:radial-gradient(ellipse 75% 75% at 42% 46%,transparent 40%,rgba(0,0,0,.55) 100%)}.tex-scan{background:repeating-linear-gradient(0deg,rgba(255,255,255,.014) 0 1px,transparent 1px 3px);opacity:calc(var(--grid) * .8)}#globe-wrap{position:fixed;inset:0 var(--sidebar-w, 372px) 0 0;z-index:2}#globe{width:100%;height:100%;display:block;cursor:grab}#globe:active{cursor:grabbing}.corner-mark{position:absolute;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--faint);pointer-events:none}.lbl{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.hairline{height:1px;background:var(--line)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#20262d;border-radius:0}::-webkit-scrollbar-track{background:transparent}input{font-family:inherit}button{font-family:inherit;cursor:pointer}button svg{display:block}.app{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.app>*{pointer-events:auto}.header{position:fixed;top:0;left:0;right:0;height:60px;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:linear-gradient(180deg,#08090beb,#08090b8c);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line-strong);color:var(--accent)}.brand-name{font-family:var(--font-mono);font-weight:600;font-size:15px;letter-spacing:.34em;color:var(--text)}.brand-sub{margin-top:2px;font-size:9px;letter-spacing:.3em;color:var(--faint)}.header-ctrls{display:flex;align-items:center;gap:10px}.ctrl{display:flex;align-items:center}.date-ctrl{gap:2px}.step{width:28px;height:32px;background:transparent;border:1px solid var(--line);color:var(--muted);font-size:17px;line-height:1;display:grid;place-items:center;transition:all .15s}.settings-toggle.is-open{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.step:hover{color:var(--text);border-color:var(--line-strong);background:#ffffff08}.date-disp{position:relative;display:flex;align-items:baseline;gap:7px;height:32px;padding:0 14px;border:1px solid var(--line);background:#ffffff04;min-width:150px;justify-content:center}.date-wd{color:var(--accent);font-size:9px}.date-md{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--text);letter-spacing:.02em}.date-yr{font-size:10px}.date-native{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.date-native::-webkit-calendar-picker-indicator{cursor:pointer}.seg{display:flex;border:1px solid var(--line);height:32px}.seg button{background:transparent;border:none;color:var(--muted);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;padding:0 11px;transition:all .15s}.seg button+button{border-left:1px solid var(--line)}.seg .seg-on{background:var(--text);color:#07090c}.btn{height:32px;padding:0 14px;background:transparent;border:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;transition:all .15s}.icon-btn{display:inline-flex;align-items:center;gap:7px}.mode-indicator{height:32px;min-width:112px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;white-space:nowrap}.mode-indicator .dn-dot{background:var(--faint);border:0}.mode-indicator.is-live{border-color:var(--accent-dim);color:var(--accent)}.mode-indicator.is-live .dn-dot{background:var(--accent);box-shadow:0 0 8px var(--accent)}.btn:hover{color:var(--text);border-color:var(--line-strong);background:#ffffff08}.btn-primary{border-color:var(--accent);color:var(--accent)}.btn-primary:hover{background:var(--accent-dim);color:var(--accent)}.sidebar{position:fixed;top:0;right:0;bottom:0;width:var(--sidebar-w, 372px);z-index:15;padding:72px 0 0;display:flex;flex-direction:column;background:linear-gradient(270deg,#0b0d10f0 60%,#0b0d10b3);border-left:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.sidebar-resizer{position:absolute;top:0;left:-6px;bottom:0;width:12px;border:0;background:transparent;cursor:ew-resize;z-index:2}.sidebar-resizer:before{content:"";position:absolute;top:72px;bottom:18px;left:5px;width:1px;background:transparent;transition:background .15s,box-shadow .15s}.sidebar-resizer:hover:before,.is-sidebar-resizing .sidebar-resizer:before{background:var(--accent);box-shadow:0 0 8px var(--accent)}.is-sidebar-resizing{cursor:ew-resize}.is-sidebar-resizing *{cursor:ew-resize!important}.side-head{display:flex;align-items:center;justify-content:space-between;padding:0 20px 12px}.side-count{color:var(--accent)}.side-list{flex:1;overflow-y:auto;padding:2px 12px 12px;display:flex;flex-direction:column;gap:6px}.side-foot{padding:12px 20px 16px;border-top:1px solid var(--line);color:var(--faint);font-size:9px;line-height:1.7;letter-spacing:.12em}.empty{padding:28px 8px;text-align:center;color:var(--faint)}.addcity{position:relative;margin:0 12px 12px;z-index:30}.add-field{display:flex;align-items:center;gap:9px;height:40px;padding:0 13px;border:1px solid var(--line);background:#ffffff05;color:var(--muted);transition:border-color .15s}.add-field:focus-within{border-color:var(--accent);color:var(--accent)}.add-field input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:13px;letter-spacing:.01em}.add-field input::placeholder{color:var(--faint)}.add-drop{position:absolute;left:0;right:0;top:44px;background:var(--panel-solid);border:1px solid var(--line-strong);box-shadow:0 18px 40px #0009}.add-opt{display:flex;flex-direction:column;gap:2px;padding:9px 13px;cursor:pointer;border-left:2px solid transparent}.add-opt{width:100%;text-align:left;background:transparent;border-top:0;border-right:0;border-bottom:0;color:inherit}.add-opt-name{font-size:13px;color:var(--text)}.add-opt-meta{font-size:9px}.add-hi{background:#ffffff0a;border-left-color:var(--accent)}.row{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) auto 20px;align-items:center;gap:9px;padding:12px 11px 12px 13px;cursor:pointer;border:1px solid var(--line);background:#ffffff03;transition:all .16s}.row:hover{border-color:var(--line-strong);background:#ffffff08}.row-active{border-color:var(--accent);background:var(--accent-dim)}.row-rail{position:absolute;left:0;top:0;bottom:0;width:2px}.row-idx{font-family:var(--font-mono);font-size:10px;color:var(--faint)}.row-active .row-idx{color:var(--accent)}.row-main{min-width:0}.row-top{display:flex;align-items:center;gap:8px}.row-name{font-size:14.5px;font-weight:600;color:var(--text);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}.row-meta{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:9px;white-space:nowrap;overflow:hidden}.dotsep{color:var(--faint)}.row-time{text-align:right}.time-disp{display:inline-flex;align-items:baseline;gap:4px;cursor:text;padding:1px 3px;margin:-1px -3px;border:0;background:transparent;border-radius:2px;transition:background .15s}.time-disp:hover{background:#ffffff0f}.time-main{font-family:var(--font-mono);font-size:19px;font-weight:500;color:var(--text);letter-spacing:0}.row-active .time-main{color:#fff}.time-suf{font-family:var(--font-mono);font-size:10px;color:var(--muted);letter-spacing:.08em}.time-input{width:86px;background:#06070a;border:1px solid var(--accent);color:var(--text);font-family:var(--font-mono);font-size:18px;text-align:right;padding:2px 6px;outline:none}.row-date{margin-top:3px;font-size:9px;display:flex;gap:6px;justify-content:flex-end;align-items:center}.delta{color:var(--accent);border:1px solid var(--accent-dim);padding:0 4px;font-size:8px}.row-x{width:22px;height:22px;background:transparent;border:none;color:var(--faint);display:grid;place-items:center;font-size:16px;line-height:1;opacity:0;transition:all .15s}.row:hover .row-x{opacity:1}.row-x:hover{color:var(--text)}.daynight{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:7.5px;letter-spacing:.14em;flex-shrink:0}.dn-dot{width:6px;height:6px;border-radius:50%}.is-day{color:#e9c46a}.is-day .dn-dot{background:#f0c75e;box-shadow:0 0 7px #f0c75ecc}.is-night{color:#6a7b8c}.is-night .dn-dot{background:transparent;border:1px solid #5a6b7c}.time-slider{padding:12px 20px 22px;display:flex;align-items:center;gap:12px;border-top:1px solid var(--line)}.ts-track{position:relative;flex:1;height:28px;cursor:pointer;display:flex;align-items:center}.ts-line{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--muted);transform:translateY(-50%)}.ts-fill{position:absolute;left:0;top:50%;height:1px;background:var(--accent);transform:translateY(-50%);opacity:.7}.ts-handle{position:absolute;top:50%;width:8px;height:8px;transform:translate(-50%,-50%) rotate(45deg);background:var(--bg);border:1.5px solid var(--accent);box-shadow:0 0 6px var(--accent-dim);transition:box-shadow .15s}.time-slider.is-dragging .ts-handle{box-shadow:0 0 12px var(--accent)}.ts-tick{position:absolute;top:50%;transform:translate(-50%,-50%);width:1px;height:6px;background:var(--muted)}.ts-ticklbl{position:absolute;top:10px;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:8px;color:var(--text);letter-spacing:.08em;opacity:.7}.ts-readout{font-family:var(--font-mono);font-size:10px;color:var(--muted);letter-spacing:.08em;white-space:nowrap;min-width:52px;text-align:right;opacity:0;transition:opacity .2s}.ts-readout.is-visible{opacity:1}input[type=date]{color-scheme:dark}.settings-panel{margin:0 12px 12px;padding:12px;border:1px solid var(--line);background:#ffffff05;display:flex;flex-direction:column;gap:12px}.settings-section{display:flex;flex-direction:column;gap:8px}.swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.swatch{height:28px;border:1px solid var(--line-strong);color:#071014;display:grid;place-items:center}.swatch[data-on="1"]{outline:1px solid var(--text);outline-offset:2px}.settings-seg{width:100%}.settings-seg button{flex:1;text-transform:uppercase}.range-row input{width:100%;accent-color:var(--accent)}@media(max-width:860px){#globe-wrap{right:0;bottom:46%}.sidebar{top:auto;bottom:0;left:0;width:100%;height:54%;padding-top:14px;border-left:none;border-top:1px solid var(--line)}.sidebar-resizer{display:none}.header-ctrls{gap:6px}.brand-sub{display:none}.brand-name{font-size:12px;letter-spacing:.18em}.header{height:58px;padding:0 10px}.date-disp{min-width:112px;padding:0 8px}.date-yr{display:none}.btn{padding:0 9px}.icon-btn{gap:5px}.mode-indicator{min-width:92px;padding:0 8px;font-size:9px}}@media(max-width:560px){.brand-txt{display:none}.header-ctrls{margin-left:auto}.btn{font-size:0;width:32px;padding:0;justify-content:center}.icon-btn{gap:0}.mode-indicator span:last-child{display:none}.mode-indicator{min-width:32px;width:32px;padding:0}.seg button{padding:0 8px}.corner-mark{display:none}}
