:root{--accent:#8b2635;--radius:14px;--font:"Inter",system-ui,-apple-system,sans-serif;--font-serif:"Lora",Georgia,serif;--page:#ddd8cf;--bg:#e9e4da;--surface:#f4f0e8;--surface-2:#efe9df;--surface-3:#e4ddd3;--text:#2a201a;--text-2:#6b5e55;--muted:#9c8f87;--border:#d8d1c6;--border-2:#ccc4b8;--field:#faf8f4;--field-border:#d4cdc2;--accent-soft:color-mix(in srgb,var(--accent) 10%,transparent);--accent-line:color-mix(in srgb,var(--accent) 28%,transparent);--accent-ink:var(--accent);--good:#2d7a3a;--good-soft:color-mix(in srgb,#2d7a3a 12%,transparent);--shadow-phone:0 40px 90px -30px rgba(30,15,10,.35),0 6px 18px -8px rgba(30,15,10,.15);--shadow-sheet:0 -10px 40px -12px rgba(30,15,10,.2);--shadow-press:0 1px 2px rgba(30,15,10,.1);--radius-sm:max(6px,calc(var(--radius) - 6px));--radius-lg:calc(var(--radius) + 6px)}[data-theme=dark]{--page:#070b14;--bg:#0f172a;--surface:#1e293b;--surface-2:#1a2435;--surface-3:#243044;--text:#f1f5f9;--text-2:#b8c2d4;--muted:#6b7890;--border:hsla(0,0%,100%,.07);--border-2:hsla(0,0%,100%,.11);--field:#16202f;--field-border:hsla(0,0%,100%,.1);--accent-ink:color-mix(in srgb,var(--accent) 72%,#fff);--accent-soft:color-mix(in srgb,var(--accent) 22%,transparent);--accent-line:color-mix(in srgb,var(--accent) 42%,transparent);--good:#4ade80;--good-soft:color-mix(in srgb,#4ade80 16%,transparent);--shadow-phone:0 40px 100px -30px rgba(0,0,0,.7),0 0 0 1px hsla(0,0%,100%,.04);--shadow-sheet:0 -12px 44px -10px rgba(0,0,0,.6);--shadow-press:0 1px 2px rgba(0,0,0,.4)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;font-family:var(--font);background:var(--page);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.stage{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(120% 90% at 50% -10%,color-mix(in srgb,var(--accent) 7%,var(--page)),var(--page) 60%)}.app{position:relative;background:var(--bg);display:flex;flex-direction:column;isolation:isolate;width:100%;height:100dvh}@media (min-width:520px){.app{width:412px;height:min(868px,96dvh);border-radius:44px;box-shadow:var(--shadow-phone);overflow:hidden}[data-theme=dark] .app{outline:1px solid hsla(0,0%,100%,.05)}}.hdr{flex:none;justify-content:space-between;padding:18px 20px 14px;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);position:relative;z-index:5}.hdr,.wordmark{display:flex;align-items:center}.wordmark{gap:9px;font-family:var(--font-serif);font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--accent-ink)}.wordmark svg{width:22px;height:22px;color:var(--accent-ink)}.hdr-right{display:flex;align-items:center;gap:8px}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-2);background:var(--surface);color:var(--text-2);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:transform .12s,background .15s,color .15s,border-color .15s}.icon-btn:hover{color:var(--text);border-color:var(--accent-line)}.icon-btn:active{transform:scale(.93)}.icon-btn svg{width:19px;height:19px}.body{flex:1 1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:20px 20px 8px;scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}.body::-webkit-scrollbar{width:8px}.body::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:4px;border:2px solid transparent;background-clip:content-box}.section-title{font-size:11.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:2px 2px 12px}.section-title.mt{margin-top:26px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.field>label{font-size:14px;font-weight:600;color:var(--text);padding-left:4px}.input,.textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;font:inherit;font-size:15.5px;color:var(--text);background:var(--field);border:1px solid var(--field-border);border-radius:999px;padding:13px 18px;transition:border-color .15s,box-shadow .15s,background .15s}.textarea{border-radius:var(--radius-lg);resize:none;line-height:1.5;min-height:90px}.input::placeholder,.textarea::placeholder{color:var(--muted)}.input:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3.5px var(--accent-soft)}.input.err,.textarea.err{border-color:#ef4444}.field-error{font-size:12px;color:#ef4444;padding-left:4px}.row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.row-2 .field{margin-bottom:16px}.row-phone-role{display:grid;grid-template-columns:5fr 7fr;grid-gap:12px;gap:12px}.row-phone-role .field{margin-bottom:16px}.conn{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:13px 15px;margin-bottom:10px;transition:border-color .15s,opacity .2s}.conn.off{opacity:.72}.conn-logo{flex:none;border-radius:10px;display:grid;place-items:center;font-weight:700;color:#fff;letter-spacing:-.02em;position:relative}.conn-logo svg{width:20px;height:20px}.conn-main{flex:1 1;min-width:0}.conn-name{font-size:15px;font-weight:600;color:var(--text);letter-spacing:-.01em}.conn-meta{font-size:12.5px;color:var(--muted);margin-top:1px;display:flex;gap:6px}.conn-meta,.pill{align-items:center}.pill{display:inline-flex;gap:5px;font-size:11.5px;font-weight:600;letter-spacing:.01em;padding:3px 9px;border-radius:999px;background:var(--surface-3);color:var(--text-2);white-space:nowrap}.pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.pill.ok{background:var(--good-soft);color:var(--good)}.pill.idle{background:var(--surface-3);color:var(--muted)}.pill.live{background:var(--accent-soft);color:var(--accent-ink)}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;position:relative;width:46px;height:28px;border-radius:999px;border:0;background:var(--surface-3);cursor:pointer;transition:background .2s cubic-bezier(.3,.7,.4,1)}.switch[data-on="1"]{background:var(--accent)}.switch[disabled]{opacity:.5;cursor:not-allowed}.switch i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.28);transition:transform .2s cubic-bezier(.3,.7,.4,1)}.switch[data-on="1"] i{transform:translateX(18px)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border:0;cursor:pointer;font:inherit;font-size:16px;font-weight:600;letter-spacing:-.01em;color:#fff;background:var(--accent);border-radius:var(--radius);padding:16px;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 6px 16px -6px color-mix(in srgb,var(--accent) 70%,transparent);transition:transform .1s cubic-bezier(.3,.7,.4,1),box-shadow .15s,filter .15s}.btn:hover{filter:brightness(1.05);box-shadow:0 10px 22px -8px color-mix(in srgb,var(--accent) 75%,transparent)}.btn:active{transform:translateY(1px) scale(.992)}.btn[disabled]{opacity:.5;cursor:not-allowed;filter:none;box-shadow:none}.btn svg{width:19px;height:19px}.btn.ghost{color:var(--text);background:var(--surface);border:1px solid var(--border-2);box-shadow:none}.btn.ghost:hover{border-color:var(--accent-line);background:var(--surface-2);filter:none}.btn.subtle{color:var(--text-2);background:transparent;box-shadow:none;font-weight:500;font-size:15px}.btn.subtle:hover{color:var(--text);background:var(--surface-2);filter:none}.footer{flex:none;position:relative;z-index:6}.action-bar{padding:12px 20px 14px;background:linear-gradient(to top,var(--bg) 62%,transparent)}.nav{display:flex;border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:8px 18px 10px}.nav-item{flex:1 1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 0 4px;color:var(--muted);transition:color .15s;font:inherit;font-size:11.5px;font-weight:600;letter-spacing:.01em}.nav-item svg{width:23px;height:23px}.nav-item.active{color:var(--accent-ink)}.nav-item:active{transform:scale(.95)}.home-ind{display:grid;place-items:center;padding:6px 0 8px}.home-ind i{width:124px;height:5px;border-radius:999px;background:var(--text);opacity:.14}.conn-summary{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 18px;margin-bottom:6px}.cs-num{font-size:30px;font-weight:700;letter-spacing:-.04em;color:var(--text);line-height:1}.cs-num span{font-size:15px;font-weight:600;color:var(--muted);letter-spacing:-.01em}.cs-sub{font-size:13px;color:var(--muted);margin-top:7px}.connect-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;flex:none;font:inherit;font-size:13px;font-weight:600;color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:999px;padding:7px 14px;transition:filter .15s,transform .1s}.connect-btn:hover{filter:brightness(1.04)}.connect-btn:active{transform:scale(.96)}.disconnect-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer;font:inherit;font-size:12px;font-weight:500;color:var(--muted);padding:0;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;transition:color .15s}.disconnect-btn:hover{color:#ef4444}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.scrim{inset:0;z-index:20;background:color-mix(in srgb,var(--text) 34%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:scrim-in .26s ease}.scrim,.sheet{position:absolute}.sheet{left:0;right:0;bottom:0;z-index:21;background:var(--bg);border-radius:28px 28px 0 0;box-shadow:var(--shadow-sheet);display:flex;flex-direction:column;max-height:88%;animation:sheet-up .34s cubic-bezier(.32,.72,0,1)}.sheet-grab{display:grid;place-items:center;padding:11px 0 4px}.sheet-grab i{width:40px;height:5px;border-radius:999px;background:var(--border-2)}.sheet-head{padding:8px 22px 14px;display:flex;align-items:center;justify-content:space-between}.sheet-head h2{margin:0;font-size:18px;font-weight:700;letter-spacing:-.02em}.sheet-body{padding:4px 20px 24px;overflow-y:auto}.runner{flex:1 1;display:flex;flex-direction:column;padding:0;min-height:0}.runner-head{padding:30px 24px 12px}.runner-eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.runner-title{font-size:25px;font-weight:700;letter-spacing:-.03em;margin:7px 0 3px}.runner-title .nm{color:var(--accent-ink)}.runner-sub{font-size:14px;color:var(--text-2)}.runner-list{padding:14px 20px;display:flex;flex-direction:column;gap:9px;flex:1 1;overflow-y:auto}.relay-row{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:13px 15px}.relay-row .conn-main{flex:1 1}.relay-row .state{font-size:13px;font-weight:500;color:var(--muted);display:flex;align-items:center;gap:7px}.relay-row .state.doing{color:var(--accent-ink)}.relay-row .state.done{color:var(--good)}.statusdot{width:22px;height:22px;flex:none;display:grid;place-items:center}.statusdot.wait i{width:7px;height:7px;border-radius:50%;background:var(--border-2)}.statusdot.doing i{width:16px;height:16px;border-radius:50%;border:2px solid var(--accent-soft);border-top-color:var(--accent);animation:spin .7s linear infinite}.statusdot svg{width:22px;height:22px;color:var(--good)}@keyframes spin{to{transform:rotate(1turn)}}.result{flex:1 1;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.result-hero{padding:36px 24px 10px;text-align:center}.check-badge{width:76px;height:76px;border-radius:50%;margin:0 auto 18px;background:var(--good-soft);display:grid;place-items:center;color:var(--good)}.check-badge svg{width:40px;height:40px}.result-title{font-size:24px;font-weight:700;letter-spacing:-.03em;margin:0}.result-sub{font-size:14.5px;color:var(--text-2);margin:6px 0 0}.result-list{padding:18px 20px 6px;display:flex;flex-direction:column;gap:8px}.outcome{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.outcome .o-main{flex:1 1;min-width:0}.outcome .o-name{font-size:14px;font-weight:600}.outcome .o-desc{font-size:12.5px;color:var(--muted);margin-top:1px}.outcome .o-check{color:var(--good);flex:none}.outcome .o-check svg{width:19px;height:19px}.outcome .o-fail{color:#ef4444;flex:none}.outcome .o-fail svg{width:19px;height:19px}.infochip{display:flex;align-items:center;gap:10px;margin:4px 2px 2px;font-size:13px;color:var(--text-2);background:var(--surface-2);border:1px dashed var(--border-2);border-radius:var(--radius);padding:11px 13px}.infochip svg{width:17px;height:17px;color:var(--muted);flex:none}.infochip b{color:var(--text);font-weight:600}.set-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:16px}.set-row{display:flex;align-items:center;gap:13px;padding:14px 16px;border-bottom:1px solid var(--border)}.set-row:last-child{border-bottom:0}.set-row .si{width:34px;height:34px;border-radius:9px;flex:none;display:grid;place-items:center;background:var(--surface-3);color:var(--text-2)}.set-row .si svg{width:18px;height:18px}.set-row .sm{flex:1 1}.set-row .sm .t{font-size:14.5px;font-weight:600}.set-row .sm .d{font-size:12.5px;color:var(--muted);margin-top:1px}.history-list{list-style:none;gap:10px}.history-list,.history-row{display:flex;flex-direction:column}.history-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;gap:8px}.history-row-main{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.history-name{font-size:15px;font-weight:600;letter-spacing:-.01em}.history-company{font-size:13px;color:var(--muted)}.history-row-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.history-date{font-size:12px;color:var(--muted)}.history-connectors{display:flex;gap:5px;flex-wrap:wrap}.connector-chip{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--accent-line);font-weight:600}.error-banner{margin:12px 20px 0;padding:10px 14px;background:color-mix(in srgb,#ef4444 12%,transparent);color:#ef4444;border-radius:var(--radius-sm);font-size:13px;border:1px solid color-mix(in srgb,#ef4444 24%,transparent)}.empty-state,.loading-state{padding:60px 24px;text-align:center;color:var(--muted);font-size:15px;line-height:1.7}.muted{color:var(--muted)}.center{text-align:center}.fade-up{animation:fadeUp .4s cubic-bezier(.32,.72,0,1) both}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}