:root{--paper: #f5f1e7;--paper-raised: #ffffff;--ink: #16211c;--ink-soft: #5b6b63;--signal: #1e7f72;--signal-ink: #0f4a42;--line: #d9d2c0;--danger: #a1372c;--danger-soft: #f4e2de;--good: #2f7a4f;--good-soft: #e2ecd9;--font-display: "Bahnschrift", "Segoe UI Semibold", sans-serif;--font-body: "Hind Siliguri", "Noto Sans Bengali", "Segoe UI", "Nirmala UI", sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body)}.app-shell{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:var(--paper-raised);border-right:1px solid var(--line);padding:20px 0;display:flex;flex-direction:column;gap:4px}.sidebar .brand{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:.02em;color:var(--signal-ink);padding:0 20px 18px}.sidebar button{all:unset;cursor:pointer;padding:10px 20px;font-size:14.5px;color:var(--ink-soft);display:flex;align-items:center;gap:10px;border-left:3px solid transparent}.sidebar button.active{color:var(--signal-ink);background:color-mix(in srgb,var(--signal) 8%,transparent);border-left-color:var(--signal);font-weight:600}.sidebar button:hover:not(.active){background:var(--paper)}.site-switcher{padding:0 20px 18px;border-bottom:1px solid var(--line);margin-bottom:8px}.site-switcher select{width:100%;padding:8px 10px;border-radius:4px;border:1px solid var(--line);font-family:inherit}.main{flex:1;padding:32px 40px;max-width:760px}.main h1{font-family:var(--font-display);font-size:24px;margin:0 0 4px}.main .subtitle{color:var(--ink-soft);margin:0 0 28px;font-size:14.5px}.card{background:var(--paper-raised);border:1px solid var(--line);border-radius:6px;padding:24px 28px;margin-bottom:20px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:600;color:var(--ink-soft)}.field input{padding:9px 12px;border:1px solid var(--line);border-radius:4px;font-family:inherit;font-size:14px;background:var(--paper)}.field input:focus{outline:2px solid var(--signal);outline-offset:1px}.toggle-row{display:flex;align-items:center;gap:10px;margin:4px 0 20px}.toggle-row input{width:18px;height:18px}.btn-row{display:flex;gap:10px;flex-wrap:wrap}.btn{border:none;border-radius:4px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}.btn-primary{background:var(--signal);color:#fff}.btn-secondary{background:var(--paper);color:var(--ink);border:1px solid var(--line)}.btn:disabled{opacity:.5;cursor:not-allowed}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:4px 12px;border-radius:999px}.status-pill.connected{background:var(--good-soft);color:var(--good)}.status-pill.disconnected{background:var(--danger-soft);color:var(--danger)}.instructions{background:color-mix(in srgb,var(--signal) 6%,var(--paper-raised));border:1px solid var(--line);border-radius:6px;padding:18px 22px;font-size:13.5px;line-height:1.9;color:var(--ink-soft)}.instructions b{color:var(--ink)}.instructions .url-box{display:flex;gap:8px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:8px 12px;font-family:ui-monospace,Consolas,monospace;font-size:12.5px;margin:6px 0 12px;word-break:break-all}.instructions .url-box button{all:unset;cursor:pointer;color:var(--signal-ink);font-weight:600;flex-shrink:0}.message{padding:10px 14px;border-radius:4px;font-size:13.5px;margin-bottom:16px}.message.error{background:var(--danger-soft);color:var(--danger)}.message.success{background:var(--good-soft);color:var(--good)}.gate{display:flex;align-items:center;justify-content:center;min-height:100vh}.gate .card{width:360px}
