:root{--bg: #16181c;--surface: #1e2127;--border: #2b2f37;--text: #e6e6e6;--muted: #9aa3ad;--accent: #1c6fa8;--error: #e08585;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;color:#fff;background:var(--accent);border:0;border-radius:8px;padding:8px 14px;cursor:pointer}button:disabled{opacity:.5;cursor:default}input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 10px;flex:1;min-width:0}.centered{min-height:100vh;display:grid;place-items:center;padding:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 24px;max-width:480px}.card.wide{max-width:720px;margin:0 auto}.card h1,.card h2{margin-top:0}.muted{color:var(--muted)}.error{color:var(--error)}.row{display:flex;gap:8px;margin-top:12px}.list{list-style:none;padding:0;margin:0}.list li{padding:8px 0;border-bottom:1px solid var(--border)}.app-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.brand{font-weight:600}.spacer{flex:1}.app-main{padding:24px 16px}.spinner{width:28px;height:28px;margin:24px auto;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 10px;width:100%;resize:vertical}button.danger{background:#a83a3a}button.icon{background:transparent;color:var(--muted);padding:2px 8px}button.icon:not(:disabled):hover{color:var(--text)}button.link{background:transparent;color:var(--text);padding:0;text-align:left;flex:1;min-width:0;overflow-wrap:anywhere}.card h3{margin-bottom:4px}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.stations{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;justify-content:center}.station-list{flex:1 1 320px;max-width:420px}.station-detail{flex:2 1 360px;max-width:560px}.station-item{display:flex;align-items:center;gap:8px;border-top:2px solid transparent}.station-item.selected button.link{color:#fff;font-weight:600}.station-item.selected{background:#1c6fa826}.station-item.dragging{opacity:.4}.station-item.drop-before{border-top-color:var(--accent)}.station-item.drop-after{border-bottom-color:var(--accent)}.handle{color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none;padding-left:4px}
