:root{color-scheme:dark;font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#ecedf0;background:#101216;--muted:#a0a6b2;--line:#2b3039;--accent:#a7e7b2}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer;border:1px solid transparent;border-radius:7px;background:var(--accent);color:#122417;padding:10px 17px;min-height:44px;font-weight:650}button:hover{filter:brightness(1.08)}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button.secondary{background:#21262e;color:#ecedf0;border-color:#363d48}.quiet{background:transparent;color:var(--muted);font-weight:500;padding:8px 12px}a{color:var(--accent)}header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}#portal{max-width:1024px;margin:auto;padding:0 32px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.brand svg{width:32px;height:32px;fill:none;stroke:var(--accent);stroke-width:2.5}.brand strong{font-size:24px;letter-spacing:-1px}.brand strong span{font-size:15px;font-weight:450;letter-spacing:0;margin-left:9px;color:var(--muted)}.account{display:flex;align-items:center;gap:6px}#account-label{font-size:13px;color:var(--muted);max-width:240px;overflow:hidden;text-overflow:ellipsis}main{min-height:calc(100svh - 182px);padding:66px 0 48px}h1{font-size:clamp(28px,4vw,38px);letter-spacing:-1.2px;line-height:1.2;margin:8px 0 20px;font-weight:600}h2{font-size:17px;font-weight:600;margin:0 0 8px}.eyebrow{color:var(--accent);font-size:11px;letter-spacing:2px;font-weight:650;margin:0}.muted{color:var(--muted);margin:0 0 22px}.auth{max-width:400px;margin:16px auto 56px}form{display:grid;gap:18px}label{display:grid;gap:7px;font-size:13px;color:#c9cdd5}.optional{font-weight:400;color:var(--muted)}input{background:#181c23;border:1px solid #3e4550;border-radius:6px;color:inherit;padding:11px 13px;width:100%;min-width:0;min-height:46px}input:focus{border-color:var(--accent);outline:none}.auth form{margin-top:32px}.auth button{display:flex;justify-content:space-between;margin-top:4px}summary{font-size:13px;color:var(--muted);cursor:pointer}details label{margin-top:12px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.section-heading h1{margin-bottom:0}.device-list{border-top:1px solid var(--line)}.device{display:flex;align-items:center;gap:18px;padding:24px 0;border-bottom:1px solid var(--line)}.device-icon{width:42px;height:36px;flex:none;stroke:#9199a8;fill:none;stroke-width:1.5}.device-content{flex:1;min-width:0}.device-name{font-size:18px;margin:0 0 4px;font-weight:550;overflow-wrap:anywhere}.device-state{color:var(--muted);font-size:13px;display:flex;gap:7px;align-items:center}.dot{width:6px;height:6px;border-radius:50%;background:#68707e}.online .dot{background:var(--accent)}.device-actions{display:flex;gap:6px;align-items:center}.remove{font-size:12px}.pair-section{display:flex;gap:32px;align-items:center;justify-content:space-between;margin-top:55px;padding-top:30px;border-top:1px solid var(--line)}.pair-section .muted{font-size:13px;max-width:420px;margin:0}.inline-form{display:flex;gap:10px;flex:none}.inline-form input{max-width:150px;font-family:ui-monospace,monospace;letter-spacing:1px;text-transform:uppercase}.empty{padding:32px 0;color:var(--muted);max-width:600px}.notice{border-left:3px solid var(--accent);padding:12px 18px;margin-top:30px;overflow-wrap:anywhere}.notice.error{border-color:#f1a4a4;color:#f1b8b8}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 0;font-size:12px;color:var(--muted)}.secret,pre{display:block;background:#1c2129;padding:18px;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,monospace}.secret{margin:16px 0}#totp-setup{max-width:400px;margin-top:25px}#totp-confirm{margin-top:20px}#security{max-width:620px}#security-back{margin-left:-12px;margin-bottom:18px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#workspace{height:100dvh;display:flex;flex-direction:column}.workspace-bar{display:flex;align-items:center;gap:14px;min-height:48px;border-bottom:1px solid var(--line);padding:0 10px}.workspace-bar strong{font-size:13px;max-width:35vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#transport-status{margin-left:auto;font-size:12px;color:var(--muted)}#workspace-container{flex:1;min-height:0}#workspace-container>iframe{width:100%;height:100%;border:0;display:block}.connection-error{position:absolute;inset:48px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;background:#101216ed;gap:12px}.connection-error p{max-width:500px;color:var(--muted);overflow-wrap:anywhere}.connection-error button{min-width:200px}@media(max-width:640px){#portal{padding:0 20px}header{padding:18px 0;align-items:flex-start}.account{flex-wrap:wrap;justify-content:flex-end;max-width:60%}#account-label{width:100%;text-align:right;max-width:180px}.account .quiet{font-size:12px;padding:4px 8px;min-height:36px}main{padding-top:40px}.auth{margin-top:8px}.device{gap:12px;flex-wrap:wrap;padding:20px 0}.device-icon{width:32px}.device-actions{margin-left:44px;width:calc(100% - 44px);justify-content:space-between}.device-actions>button:first-child{flex:1}.pair-section{display:block;margin-top:34px;padding-top:24px}.inline-form{margin-top:20px}.inline-form input{max-width:none;flex:1}.inline-form button{flex:none}footer{flex-wrap:wrap;justify-content:flex-start;gap:8px 20px}.workspace-bar{flex-wrap:wrap;gap:0 8px;padding:4px 8px}.workspace-bar>.quiet{padding:4px 6px;min-height:36px}#transport-status{font-size:11px}.connection-error{inset:48px 0 0}}@media(prefers-reduced-motion:no-preference){button,input{transition:background .15s,border-color .15s,opacity .15s}.device{animation:appear .2s ease-out}@keyframes appear{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}}
