:root{--ground: #f6f1e7;--surface: #ffffff;--surface-2: #efe8da;--ink: #1c2733;--muted: #5f6d78;--rule: #e0d8c8;--accent: #1f6f8b;--accent-soft: #e2eff4;--accent-ink: #ffffff;--danger: #b3261e;--ok: #2e7d4f;--plot-grid: #e6eae8;--radius: 10px;--sans: "IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--mono: "IBM Plex Mono", Consolas, "Courier New", monospace;--shadow: 0 1px 2px rgba(20, 40, 50, .06), 0 4px 16px rgba(20, 40, 50, .05);color-scheme:light dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ground: #0f151a;--surface: #172028;--surface-2: #1e2933;--ink: #e6ecef;--muted: #98a5ae;--rule: #2a3540;--accent: #6fb7d6;--accent-soft: #1d3340;--accent-ink: #0f151a;--danger: #ef8a83;--ok: #7bc596;--plot-grid: #26313b;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 16px rgba(0, 0, 0, .3)}}:root[data-theme=dark]{--ground: #0f151a;--surface: #172028;--surface-2: #1e2933;--ink: #e6ecef;--muted: #98a5ae;--rule: #2a3540;--accent: #6fb7d6;--accent-soft: #1d3340;--accent-ink: #0f151a;--danger: #ef8a83;--ok: #7bc596;--plot-grid: #26313b;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 16px rgba(0, 0, 0, .3)}*{box-sizing:border-box}html,body{margin:0;background:var(--ground);color:var(--ink)}body{font:15px/1.5 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--accent)}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1{font-size:22px;font-weight:600;margin:0 0 4px;letter-spacing:-.01em}h2{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}p{margin:0 0 8px}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:var(--surface);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:5;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);text-decoration:none;font-size:16px}.brand svg{color:var(--accent)}.topbar nav{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.topbar nav a{padding:7px 14px;border-radius:999px;text-decoration:none;color:var(--muted);font-weight:500;display:inline-flex;align-items:center;gap:8px}.topbar nav a:hover{background:var(--surface-2);color:var(--ink)}.topbar nav a.active{background:var(--accent-soft);color:var(--accent)}.topbar .theme{margin-left:8px;width:34px;height:34px;border-radius:50%;border:1px solid var(--rule);background:var(--surface);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.topbar .theme:hover{color:var(--ink);background:var(--surface-2)}.badge{font-size:11px;font-weight:600;background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:1px 7px;font-variant-numeric:tabular-nums}.content{flex:1;width:100%;max-width:1360px;margin:0 auto;padding:22px 24px 40px}.foot{padding:14px 24px 22px;text-align:right;color:var(--muted);font-size:15px}.foot a{color:var(--muted);font-size:15px;font-weight:500;text-decoration:none;padding:6px 10px;border-radius:999px}.foot a:hover{color:var(--ink);background:var(--surface-2)}.btn.disabled{opacity:.45;cursor:default;pointer-events:none}a.btn{text-decoration:none}.feedback{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.feedback li{border-top:1px solid var(--rule);padding-top:8px}.feedback li.closed{opacity:.6}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}.card.controls{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:end;padding:12px 18px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:14px}.grid-2{display:grid;grid-template-columns:400px minmax(0,1fr);gap:20px;align-items:start}@media(max-width:980px){.grid-2{grid-template-columns:1fr}}.plots{--per-row: 3;display:flex;flex-wrap:wrap;gap:18px}.plots>.plot-card{flex:0 0 calc((100% - 18px * (var(--per-row) - 1)) / var(--per-row) - .5px);min-width:0}@media(max-width:900px){.plots>.plot-card{flex-basis:100%!important}}.plot-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:8px;box-shadow:var(--shadow);min-width:0}.plot-card.light{background:#fff;border-color:#d9e0dd;color:#1c2733}.plot-card.dark{background:#172028;border-color:#2a3540;color:#e6ecef}.plot-card .note{padding:4px 10px 6px;font-size:12px;color:var(--muted)}.plot-card.light .note{color:#5f6d78}.plot-card.dark .note{color:#98a5ae}.plot-card .card-head{display:flex;align-items:center;gap:8px;padding:2px 8px 0}.plot-card input.title{flex:1;min-width:0;text-align:center;font-size:13px;color:inherit;opacity:.75}.plot-card input.title:hover,.plot-card input.title:focus{opacity:1}.plot-card.light input.inline:hover,.plot-card.light input.inline:focus{background:#f3f6f5;border-color:#d9e0dd}.plot-card.dark input.inline:hover,.plot-card.dark input.inline:focus{background:#0f151a;border-color:#2a3540}.seg.tiny button{padding:2px 8px;font-size:12px}.plot-card.light .seg{border-color:#d9e0dd}.plot-card.light .seg button{background:#fff;color:#5f6d78}.plot-card.light .seg button.on{background:#e2eff4;color:#1f6f8b}.plot-card.dark .seg{border-color:#2a3540}.plot-card.dark .seg button{background:#172028;color:#98a5ae}.plot-card.dark .seg button.on{background:#1d3340;color:#6fb7d6}.field .hint{font-size:11px;color:var(--muted);font-family:var(--mono)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--rule);background:var(--surface);cursor:pointer;font-weight:500}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.quiet{border-color:transparent;background:transparent;color:var(--muted);padding:6px 8px}.btn.quiet:hover{color:var(--ink);background:var(--surface-2)}.btn.tiny{padding:3px 8px;font-size:12px;border-radius:6px}.remove{background:var(--surface-2);border:1px solid var(--rule);border-radius:6px;padding:4px 10px;font-size:12px;color:var(--muted);cursor:pointer}.remove:hover{color:var(--danger);border-color:var(--danger)}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid var(--rule);background:var(--surface);cursor:pointer;font-size:13px;-webkit-user-select:none;user-select:none}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:500}.chip input{display:none}.seg{display:inline-flex;flex-wrap:wrap;max-width:100%;border:1px solid var(--rule);border-radius:8px;overflow:hidden}.seg button{border:0;background:var(--surface);padding:6px 12px;cursor:pointer;font-size:13px;color:var(--muted);white-space:nowrap;flex:1 1 auto}.seg button.on{background:var(--accent-soft);color:var(--accent);font-weight:500}.field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);min-width:0;max-width:100%}.field input,.field select{padding:7px 9px;border:1px solid var(--rule);border-radius:8px;background:var(--ground);color:var(--ink);font-size:14px;min-width:0}.field input[type=number],.field input.coord{font-family:var(--mono);font-variant-numeric:tabular-nums}.field input[type=range]{padding:0;background:transparent;border:0;accent-color:var(--accent)}.field input.switch{padding:0;border:0}input.inline{padding:4px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink);font-weight:500;min-width:0;width:100%}input.inline:hover,input.inline:focus{border-color:var(--rule);background:var(--ground)}input.inline::placeholder{color:var(--muted);opacity:1}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:38px;height:22px;border-radius:999px;background:var(--rule);position:relative;cursor:pointer;transition:background .15s;flex:none;margin:0}.switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px #00000040}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(16px)}.dot{width:11px;height:11px;border-radius:50%;flex:none;display:inline-block}.notice{background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;padding:8px 12px;font-size:13px;color:var(--ink);display:flex;justify-content:space-between;gap:12px;align-items:start}.notice ul{margin:0;padding-left:18px}.empty{padding:48px 20px;text-align:center;color:var(--muted);border:1px dashed var(--rule);border-radius:var(--radius)}.drop{border:2px dashed var(--rule);border-radius:var(--radius);padding:28px 20px;text-align:center;background:var(--surface);transition:border-color .15s,background .15s;cursor:pointer}.drop.over{border-color:var(--accent);background:var(--accent-soft)}.drop strong{display:block;font-size:16px;font-weight:600;margin-bottom:4px}.drop input{display:none}.stations{display:flex;flex-direction:column;gap:6px}.station{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 12px;border:1px solid var(--rule);border-radius:8px;background:var(--surface)}.station.off{opacity:.55}.station .who{flex:1 1 200px;min-width:0}.station .meta{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.station .coords{flex:3 1 340px;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:end;min-width:0}.station .coords .field{flex:1 1 150px}.station input.coord{width:100%;font-family:var(--mono);font-size:13px;padding:5px 8px;border:1px solid var(--rule);border-radius:6px;background:var(--ground);color:var(--ink)}.station input.coord.bad{border-color:var(--danger)}.station .conv{flex:1 1 100%;font-size:11px;color:var(--muted);font-family:var(--mono)}.station .ctl{display:flex;align-items:end;gap:12px;margin-left:auto}.order{display:flex;flex-direction:column;gap:6px}.item{border:1px solid var(--rule);border-radius:8px;background:var(--surface);cursor:grab}.item.dragging{opacity:.35}.item.over{box-shadow:0 -3px 0 0 var(--accent)}.item.off .line,.item.off .sub,.item.off .mids{opacity:.5}.item .line{display:flex;align-items:center;gap:8px;padding:7px 10px 4px;flex-wrap:wrap}.item .grip{color:var(--muted);width:12px;-webkit-user-select:none;user-select:none}.item .n{width:16px;color:var(--muted);font-size:12px;text-align:right;font-variant-numeric:tabular-nums}.item .sname{font-weight:600;flex:1;min-width:80px}.item .pos{font-size:11px;font-family:var(--mono);color:var(--muted);white-space:nowrap}.item .pos.missing{color:var(--danger);font-family:var(--sans)}.item .pos.missing a{color:inherit}.item .sub{display:flex;align-items:end;justify-content:space-between;gap:8px;padding:0 10px 8px 44px;flex-wrap:wrap}.item .lab{display:flex;flex-direction:column;font-size:11px;color:var(--muted);flex:1 1 140px}.item .lab input{font-weight:500;font-size:13px;padding:3px 6px}.item .adds{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto;justify-content:flex-end}.item .add{color:var(--accent);font-size:12px;background:none;border:0;cursor:pointer;padding:2px 4px;white-space:nowrap}.item .mids{padding:0 10px 8px 44px;display:flex;flex-direction:column;gap:6px}.item .mid{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted)}.item .mid .vals{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.item .mid input{width:64px;padding:3px 6px;border:1px solid var(--rule);border-radius:6px;background:var(--ground);color:var(--ink);font-family:var(--mono);font-size:12px}.item .mid .x{color:var(--danger);background:none;border:0;cursor:pointer;padding:0 4px;font-size:14px}.item .mid.wp .to{color:var(--accent)}.about{max-width:92ch;font-size:16px}.about ul{padding-left:18px}.about li{margin:4px 0}
