:root{color-scheme:light;--ink:#153344;--muted:#4b6370;--blue:#075e89;--paper:#fff;--wash:#eef5f9;--line:#cadce6;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--wash)}
*{box-sizing:border-box}body{margin:0}main{max-width:1080px;margin:auto;padding:40px 24px 64px}header{max-width:680px;margin-bottom:32px}h1{font-size:clamp(30px,5vw,48px);line-height:1.08;margin:0 0 20px;letter-spacing:-.03em}h2{font-size:24px;margin:0 0 16px}p{line-height:1.6;max-width:68ch}a{color:var(--blue);overflow-wrap:anywhere}a:focus-visible,button:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #cf6200;outline-offset:4px}.connection{background:var(--paper);display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:32px;padding:32px;border-radius:16px;margin-bottom:36px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 16px}button,.primary{font:inherit;font-weight:600;border-radius:7px;padding:13px 18px;cursor:pointer;text-decoration:none;display:inline-block;border:1px solid var(--blue);background:var(--blue);color:white}button.secondary{background:white;color:var(--blue)}textarea{width:100%;min-height:90px;border:1px solid var(--line);padding:12px;font:14px/1.5 Consolas,monospace;resize:vertical;color:var(--ink);background:white}.qr{text-align:center;align-self:center}.qr svg{display:block;max-width:100%;height:auto;margin:auto;background:white}.qr p{font-size:14px;color:var(--muted)}.notice{color:var(--muted);font-size:15px}details{border-top:1px solid var(--line);padding:20px 0}summary{font-size:20px;font-weight:600;cursor:pointer}pre{font:16px/1.65 "Segoe UI",Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;max-width:75ch}.error{background:#fff0e7;padding:18px;border-left:4px solid #9b4100}.error:empty{display:none}[hidden]{display:none!important}footer{border-top:1px solid var(--line);padding-top:20px;margin-top:30px;color:var(--muted);font-size:14px}@media(max-width:700px){main{padding:28px 16px}.connection{grid-template-columns:1fr;padding:22px;gap:20px}.qr{max-width:360px;width:100%;margin:auto}.actions>*{text-align:center;flex:1 1 180px}}
