/* Reuse the app's Dialog behavior and light/dark design tokens. */
.fw-receiver-dialog { width:calc(100% - 32px); max-width:440px; max-height:calc(100dvh - 32px); overflow-y:auto; gap:16px; padding:28px; border:1px solid var(--border); border-radius:24px; background:var(--card); color:var(--foreground); box-shadow:0 28px 90px -30px #0008; }
.fw-receiver-eyebrow { font-size:11px; font-weight:650; letter-spacing:.12em; color:var(--muted-foreground); padding-right:20px; }
.fw-receiver-icon { display:grid; place-items:center; width:48px; height:48px; border:1px solid var(--border); border-radius:16px; background:var(--muted); }
.fw-receiver-icon svg { width:24px; height:24px; }
.fw-receiver-title { font-size:23px; font-weight:700; letter-spacing:-.035em; line-height:1.35; }
.fw-receiver-description,.fw-receiver-muted { font-size:13px; line-height:1.7; color:var(--muted-foreground); }
.fw-receiver-device { display:flex; align-items:flex-start; gap:12px; border:1px solid var(--border); border-radius:16px; padding:16px; background:var(--background); }
.fw-receiver-device>svg { width:20px; height:20px; flex-shrink:0; margin-top:2px; }
.fw-receiver-device strong { display:block; font-size:13px; line-height:1.5; }
.fw-receiver-device p { font-size:12px; line-height:1.6; margin-top:4px; color:var(--muted-foreground); }
.fw-receiver-primary,.fw-receiver-secondary { display:flex; align-items:center; justify-content:center; width:100%; min-height:44px; gap:8px; border-radius:12px; padding:11px 16px; font-size:13px; font-weight:600; line-height:1.5; cursor:pointer; transition:opacity .15s,background .15s; text-decoration:none; }
.fw-receiver-primary { color:var(--background); background:var(--foreground); border:1px solid transparent; }
.fw-receiver-secondary { color:var(--foreground); background:transparent; border:1px solid var(--border); }
.fw-receiver-primary:hover,.fw-receiver-secondary:hover { opacity:.8; }
.fw-receiver-primary:disabled,.fw-receiver-secondary:disabled { cursor:wait; opacity:.45; }
.fw-receiver-dismiss { font-size:12px; line-height:1.6; padding:4px; color:var(--muted-foreground); cursor:pointer; }
.fw-receiver-warning { padding:12px; border-radius:12px; border:1px solid var(--border); font-size:13px; line-height:1.7; background:var(--muted); }
.fw-receiver-error { color:var(--destructive); font-size:13px; line-height:1.65; display:grid; gap:10px; }
.fw-receiver-connect { display:grid; gap:14px; }
.fw-receiver-code { display:flex; align-items:center; justify-content:space-between; gap:8px; border:1px solid var(--border); background:var(--muted); border-radius:12px; padding:14px; }
.fw-receiver-code code { font-size:18px; letter-spacing:.08em; font-weight:700; user-select:all; }
.fw-receiver-code button { font-size:12px; padding:6px 8px; border-radius:8px; border:1px solid var(--border); cursor:pointer; }
.fw-receiver-banner { position:fixed; bottom:max(16px,env(safe-area-inset-bottom)); left:16px; right:16px; z-index:40; margin:auto; display:flex; align-items:center; justify-content:space-between; max-width:440px; gap:12px; border:1px solid var(--border); border-radius:16px; padding:14px 16px; background:var(--card); color:var(--foreground); box-shadow:0 6px 24px #0002; font-size:13px; line-height:1.5; }
.fw-receiver-banner button { flex-shrink:0; font-weight:650; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.fw-receiver-section { margin-top:20px; padding:20px; border:1px solid var(--border); background:var(--card); border-radius:16px; display:grid; gap:12px; }
.fw-receiver-section h2 { display:flex; align-items:center; gap:8px; font-size:15px; font-weight:650; }
.fw-receiver-section h2 svg { width:16px; height:16px; }
.fw-receiver-dialog button:focus-visible,.fw-receiver-dialog a:focus-visible,.fw-receiver-banner button:focus-visible,.fw-receiver-section button:focus-visible { outline:2px solid var(--ring); outline-offset:3px; }
@media(max-width:420px) { .fw-receiver-dialog { padding:24px 20px; } .fw-receiver-title { font-size:21px; } }
@media(prefers-reduced-motion:reduce) { .fw-receiver-dialog { animation:none!important; transition:none!important; } }
