:root{color-scheme:dark;--bg:#080b14;--card:#111827;--text:#f8fafc;--muted:#9ba8bd;--line:rgba(255,255,255,.1);--purple:#7d5cff;--blue:#32bdf6;--green:#35d47b;--amber:#f5b942;--red:#ff5d78}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 15% 0,rgba(125,92,255,.24),transparent 34%),radial-gradient(circle at 100% 0,rgba(50,189,246,.13),transparent 29%),var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}body{min-height:100dvh}button,textarea{font:inherit}button{cursor:pointer}.app{width:min(100%,720px);min-height:100dvh;margin:auto;padding:max(15px,env(safe-area-inset-top)) 12px max(15px,env(safe-area-inset-bottom));display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.eyebrow{margin:0 0 4px;color:var(--muted);font-size:.66rem;font-weight:900;letter-spacing:.17em}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:1.42rem;letter-spacing:-.04em}h1 span{color:var(--blue);font-size:.9rem}h2{font-size:clamp(1.5rem,6vw,2.2rem);letter-spacing:-.045em;margin-bottom:10px}p{line-height:1.55}.status{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.04);color:var(--muted);font-size:.7rem}.status i{width:8px;height:8px;border-radius:50%;background:#687386}.status.connecting i,.status.unstable i{background:var(--amber)}.status.online i{background:var(--green);box-shadow:0 0 0 4px rgba(53,212,123,.12),0 0 15px rgba(53,212,123,.5)}.screen{display:none;flex:1}.screen.active{display:block}.card,.chat-card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(24,34,54,.98),rgba(13,19,31,.98));border-radius:27px;box-shadow:0 25px 70px rgba(0,0,0,.34)}.card{padding:clamp(21px,5vw,34px)}.hero{text-align:center}.logo{width:72px;height:72px;margin:3px auto 20px;display:grid;place-items:center;border-radius:23px;font-size:2rem;font-weight:950;background:linear-gradient(135deg,var(--purple),var(--blue));box-shadow:0 18px 45px rgba(90,75,245,.35);transform:rotate(-4deg)}.muted{color:var(--muted)}.center{text-align:center}.button{min-height:49px;padding:12px 16px;border:0;border-radius:15px;font-weight:850}.primary{color:white;background:linear-gradient(135deg,var(--purple),#5269ed)}.secondary{color:white;background:rgba(255,255,255,.07);border:1px solid var(--line)}.ghost{color:var(--muted);background:transparent;border:1px solid var(--line)}.danger{color:#ff91a4;background:rgba(255,93,120,.13);border:1px solid rgba(255,93,120,.22);font-size:.77rem}.wide{width:100%}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.features{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 15px;margin-top:20px;color:var(--muted);font-size:.7rem}.features span::before{content:"●";color:var(--green);margin-right:6px}#inviteUrl{width:100%;height:120px;margin:10px 0 12px;padding:14px;resize:none;outline:none;border:1px solid var(--line);border-radius:16px;background:rgba(0,0,0,.22);color:#dce8ff;font-size:.78rem;line-height:1.4}.loader{width:38px;height:38px;margin:27px auto 13px;border:4px solid rgba(255,255,255,.12);border-top-color:var(--blue);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chat-card.active{display:flex;flex-direction:column;min-height:0;padding:0;overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px;border-bottom:1px solid var(--line)}.chat-header h2{margin:0;font-size:1.2rem}.messages{flex:1;min-height:48vh;max-height:calc(100dvh - 230px);overflow-y:auto;padding:17px 13px;display:flex;flex-direction:column;gap:9px}.bubble{max-width:82%;padding:10px 13px 8px;border-radius:17px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.42}.mine{align-self:flex-end;background:linear-gradient(135deg,#7359dc,#5268e8);border-bottom-right-radius:5px}.theirs{align-self:flex-start;background:#202b40;border-bottom-left-radius:5px}.time{display:block;text-align:right;font-size:.62rem;opacity:.6;margin-top:5px}.system-message{align-self:center;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.05);color:var(--muted);font-size:.69rem;text-align:center}.composer{display:flex;align-items:flex-end;gap:9px;padding:11px;border-top:1px solid var(--line);background:rgba(8,11,20,.88)}.composer textarea{flex:1;max-height:130px;resize:none;outline:none;margin:0;padding:13px 14px;border:1px solid var(--line);border-radius:18px;background:#172034;color:white}.send{width:49px;height:49px;flex:0 0 auto;border:0;border-radius:16px;color:white;background:linear-gradient(135deg,var(--purple),var(--blue));font-size:1.1rem}.done{width:70px;height:70px;margin:0 auto 20px;display:grid;place-items:center;border-radius:50%;background:rgba(53,212,123,.13);color:var(--green);font-size:2rem}#toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));max-width:90%;padding:10px 14px;border-radius:13px;background:#eef2ff;color:#111827;font-size:.8rem;font-weight:850;text-align:center;box-shadow:0 10px 40px rgba(0,0,0,.35);transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:420px){.app{padding-left:10px;padding-right:10px}.status{font-size:.65rem;padding:7px 9px}.messages{max-height:calc(100dvh - 215px)}}.recovery-overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(8,11,20,.52);backdrop-filter:blur(5px);opacity:0;pointer-events:none;transition:opacity .18s ease}.recovery-overlay.show{opacity:1;pointer-events:auto}.recovery-box{display:flex;align-items:center;gap:12px;min-width:220px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:rgba(17,24,39,.97);box-shadow:0 20px 60px rgba(0,0,0,.4);font-size:.84rem}.loader.small{width:24px;height:24px;margin:0;border-width:3px;flex:0 0 auto}
.chat-actions{display:flex;align-items:center;gap:8px}.icon-button{width:42px;height:42px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.06);color:white;font-size:1rem}.message-area{position:relative;display:flex;flex:1;min-height:0}.message-area .messages{width:100%}.new-messages{position:absolute;left:50%;bottom:12px;z-index:3;padding:9px 13px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#eef2ff;color:#111827;font-size:.72rem;font-weight:900;box-shadow:0 10px 28px rgba(0,0,0,.35);opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:.18s}.new-messages.show{opacity:1;pointer-events:auto;transform:translate(-50%,0)}.bubble{animation:bubbleIn .16s ease-out}@keyframes bubbleIn{from{opacity:0;transform:translateY(5px) scale(.98)}to{opacity:1;transform:none}}
.field-label{display:block;text-align:left;margin:14px 0 6px;color:var(--muted);font-size:.72rem;font-weight:800}.field{width:100%;min-height:50px;margin-bottom:12px;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:rgba(0,0,0,.22);color:white;outline:none}.tiny{margin:3px 0 0;color:var(--muted);font-size:.68rem}.owner-panel{max-height:42vh;overflow:auto;padding:12px;border-bottom:1px solid var(--line);background:rgba(8,11,20,.96)}.owner-panel-head,.manage-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.owner-panel h3{margin:10px 0 7px;font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.manage-row{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}.manage-row span{display:flex;flex-direction:column}.manage-row small{color:var(--muted);font-size:.65rem}.manage-row>div{display:flex;gap:6px}.mini-button{padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.07);color:white;font-size:.68rem;font-weight:800}.approve{color:#8df0b5;border-color:rgba(53,212,123,.3)}.danger-mini{color:#ff9bae;border-color:rgba(255,93,120,.3)}.sender-name{display:block;margin-bottom:3px;font-size:.6rem;font-weight:900;opacity:.68}.mine .sender-name{text-align:right}

.install-hint{margin:9px 0 0;text-align:center;line-height:1.45}.invite-status{display:inline-flex;align-items:center;gap:6px;font-size:.65rem;font-weight:850}.invite-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#687386}.invite-status.available::before{background:var(--blue)}.invite-status.pending::before{background:var(--amber)}.invite-status.approved::before{background:var(--green)}.invite-status.rejected::before,.invite-status.cancelled::before{background:var(--red)}.invite-meta{color:var(--muted);font-size:.62rem}.invite-row-actions{display:flex;gap:6px}
.modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:18px;background:rgba(5,8,15,.78);backdrop-filter:blur(7px);opacity:0;pointer-events:none;transition:.18s}.modal.show{opacity:1;pointer-events:auto}.modal-card{width:min(100%,520px);max-height:92dvh;overflow:auto;padding:22px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#182238,#0d131f);box-shadow:0 28px 90px rgba(0,0,0,.55)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-head h2{margin-bottom:0}.invite-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin:12px 0}.qr-wrap{display:grid;place-items:center;padding:14px;margin:10px 0;border:1px solid var(--line);border-radius:18px;background:#fff}.qr-wrap canvas{display:block;max-width:100%;height:auto;image-rendering:pixelated}.qr-wrap .tiny{color:#344054;margin-top:10px}#activeInviteUrl{width:100%;height:96px;padding:12px;resize:none;border:1px solid var(--line);border-radius:15px;background:rgba(0,0,0,.22);color:#dce8ff;outline:none;font-size:.73rem;line-height:1.4}.current-invite-card{padding:12px;margin-top:8px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.04)}.current-invite-card b{display:block;margin-bottom:5px}.current-invite-actions{display:flex;gap:7px;margin-top:9px}.button[disabled],.icon-button[disabled]{opacity:.5;cursor:not-allowed}@media(max-width:480px){.invite-options{grid-template-columns:1fr}.modal-card{padding:18px}}

/* Blink v4.1 QR scanner */
.scanner-card{width:min(100%,560px)}
.scanner-viewport{position:relative;overflow:hidden;aspect-ratio:1/1;margin:14px 0;border:1px solid var(--line);border-radius:22px;background:#05070c}
.scanner-viewport video{width:100%;height:100%;object-fit:cover;display:block}
.scanner-frame{position:absolute;inset:16%;border:3px solid rgba(255,255,255,.92);border-radius:22px;box-shadow:0 0 0 999px rgba(0,0,0,.28),0 0 28px rgba(50,189,246,.35);pointer-events:none}
.scanner-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.file-button{display:grid;place-items:center;text-align:center}.file-button input{position:absolute;opacity:0;pointer-events:none}.scanner-success{color:var(--green)!important}.scanner-error{color:#ff9bae!important}
@media(max-width:480px){.scanner-actions{grid-template-columns:1fr}}

/* Blink v4.2 */
.language-row{margin:14px 0 4px;text-align:left}.field.compact{padding:11px 12px;min-height:44px}.typing-indicator{min-height:24px;padding:2px 18px 6px;color:var(--muted,#9aa4b2);font-size:.86rem;font-style:italic}.presence-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;background:#657084}.presence-dot.online{background:#34d17b;box-shadow:0 0 8px rgba(52,209,123,.65)}.presence-dot.offline{background:#657084}.owner-crown{margin-left:6px}.room-summary{font-weight:600}.closed-notice{font-weight:700}

.message-meta{display:flex;justify-content:flex-end;align-items:center;gap:7px;margin-top:5px;min-height:15px}.message-meta .time{display:inline;margin:0}.receipt{font-size:.60rem;font-weight:850;letter-spacing:.01em;white-space:nowrap;transition:.2s ease}.receipt-sending{opacity:.58}.receipt-sent{opacity:.7}.receipt-arrived{color:#b9eaff;text-shadow:0 0 10px rgba(50,189,246,.45)}.receipt-seen{color:#d9ceff;text-shadow:0 0 11px rgba(125,92,255,.75)}.receipt-failed{color:#ffb0bd}.mine .message-meta{color:rgba(255,255,255,.78)}
.receipt-queued{color:#f7d57a;opacity:.95;text-shadow:0 0 10px rgba(245,185,66,.32)}

/* Blink v5.1 encrypted photos */
.attach{width:49px;height:49px;flex:0 0 auto;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.07);color:white;font-size:1.55rem;line-height:1}.media-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.photo-preview-wrap{padding-top:8px}.photo-preview-wrap>img{display:block;width:100%;max-height:48dvh;object-fit:contain;border-radius:18px;background:#05070c}.photo-preview-wrap .button-row{margin-top:14px}.photo-bubble{padding:8px;max-width:min(82%,360px)}.chat-photo{display:block;width:100%;max-width:340px;max-height:420px;object-fit:cover;border-radius:12px;cursor:zoom-in;background:#0a0d14}.image-viewer-card{position:relative;width:min(96vw,900px);height:min(92dvh,900px);display:grid;place-items:center}.image-viewer-card img{max-width:100%;max-height:100%;object-fit:contain;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.6)}.image-close{position:absolute;top:10px;right:10px;z-index:2;background:rgba(8,11,20,.8)}@media(max-width:480px){.media-options{grid-template-columns:1fr}.composer{gap:7px}.attach,.send{width:46px;height:46px}}

.security-card{max-width:560px}.security-results{display:grid;gap:10px;margin:16px 0}.audit-row{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035)}.audit-row .audit-icon{font-size:18px}.audit-row b{display:block}.audit-row small{display:block;margin-top:3px;opacity:.75;line-height:1.35}.audit-row.pass{border-color:rgba(48,209,88,.38)}.audit-row.fail{border-color:rgba(255,69,58,.48)}.audit-row.warn{border-color:rgba(255,159,10,.45)}

/* Blink v5.3 invisible privacy and verified cleanup */
.destruction-card{text-align:center;max-width:500px}.destruction-symbol{font-size:2.4rem;margin-bottom:8px}.destruction-list{display:grid;gap:10px;margin:20px 0;text-align:left}.destruction-step{display:grid;grid-template-columns:30px 1fr;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);opacity:.72;transition:.22s}.destruction-step span{font-size:1.1rem;color:var(--muted)}.destruction-step.done-step{opacity:1;border-color:rgba(53,212,123,.4);background:rgba(53,212,123,.07)}.destruction-step.done-step span{color:var(--green)}

/* Blink v5.4 encrypted file transfer */
.file-preview-wrap{padding:18px 8px 4px;text-align:center}.file-preview-icon{width:76px;height:76px;margin:0 auto 12px;display:grid;place-items:center;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.055);font-size:2.2rem}.file-preview-wrap h3{margin:0 0 8px;overflow-wrap:anywhere}.file-bubble{padding:8px;max-width:min(88%,390px)}.file-download-card{width:100%;display:flex;align-items:center;gap:12px;padding:13px;border:0;border-radius:13px;background:rgba(255,255,255,.09);color:inherit;text-align:left;cursor:pointer}.file-bubble-icon{width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.1);font-size:1.45rem}.file-bubble-info{min-width:0;display:flex;flex-direction:column;gap:4px}.file-bubble-info b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-bubble-info small{color:rgba(255,255,255,.72);font-size:.66rem}.media-options{grid-template-columns:repeat(3,1fr)}@media(max-width:480px){.media-options{grid-template-columns:1fr}}

/* Blink v5.5.1: responsive room controls and encrypted voice notes */
.chat-header{align-items:flex-start;flex-wrap:wrap}.chat-actions{flex-wrap:wrap;justify-content:flex-end;max-width:100%}.chat-actions .danger{flex-basis:100%;margin-left:auto;max-width:170px}.voice-preview-wrap{display:grid;place-items:center;gap:10px;padding-top:14px}.voice-record-icon{font-size:2.4rem}.voice-timer{margin:0;font-size:1.7rem;font-weight:900;font-variant-numeric:tabular-nums}.voice-preview-wrap audio{width:100%;margin:4px 0}.voice-bubble audio{width:min(260px,72vw);height:42px}.voice-bubble-label{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-weight:800}.recording-active{animation:blinkPulse 1s infinite}@keyframes blinkPulse{50%{opacity:.45}}
@media(max-width:520px){.chat-header{display:grid;grid-template-columns:1fr}.chat-actions{justify-content:flex-start;width:100%}.chat-actions .danger{width:100%;max-width:none}.icon-button{flex:0 0 42px}}

/* Blink v5.6 Polish Sprint 1 */
.file-download-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;width:min(330px,74vw);padding:13px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.055);text-align:left;color:inherit;transition:transform .16s ease,background .16s ease}
.file-download-card:active{transform:scale(.985)}
.file-bubble-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.09);font-size:1.6rem}
.file-bubble-info{display:grid;gap:3px;min-width:0}.file-bubble-info b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-bubble-info small{opacity:.78}.file-secure{font-size:.72rem!important;opacity:.85!important}.file-action{font-size:.78rem;font-weight:800;margin-top:3px}
.blink-audio{display:grid;grid-template-columns:42px minmax(90px,1fr);grid-template-areas:'play range' 'play time';gap:3px 10px;align-items:center;width:min(300px,72vw);padding:10px 11px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.055)}
.blink-audio-play{grid-area:play;width:42px;height:42px;border:0;border-radius:50%;font-weight:900;font-size:1rem;background:rgba(255,255,255,.14);color:inherit}.blink-audio-range{grid-area:range;width:100%;accent-color:currentColor}.blink-audio-time{grid-area:time;font-size:.72rem;opacity:.76;font-variant-numeric:tabular-nums}
.chat-photo{transition:transform .18s ease,filter .18s ease}.chat-photo:active{transform:scale(.985)}
.image-viewer-card img{transition:transform .2s ease;touch-action:pan-x pan-y;cursor:zoom-in}.image-viewer-card img.zoomed{transform:scale(1.8);cursor:zoom-out}
.bubble{animation:blinkMessageIn .18s ease-out}@keyframes blinkMessageIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:420px){.chat-actions{width:100%;justify-content:flex-start}.chat-actions .danger{max-width:none;width:100%}.file-download-card{width:min(310px,76vw)}.blink-audio{width:min(285px,74vw)}}


/* Blink v5.6.2 Media Polish */
.media-progress{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:10px;width:min(360px,100%);margin:10px auto 4px}.media-progress-track{height:9px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.08)}.media-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:currentColor;transition:width .24s ease}.media-progress strong{font-size:.75rem;text-align:right;font-variant-numeric:tabular-nums}.photo-bubble,.file-bubble,.voice-bubble{will-change:transform,opacity}.chat-photo{animation:blinkMediaReveal .24s ease-out}.file-download-card,.blink-audio{animation:blinkMediaReveal .24s ease-out}@keyframes blinkMediaReveal{from{opacity:0;transform:scale(.975)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.bubble,.chat-photo,.file-download-card,.blink-audio{animation:none!important}.media-progress-track span{transition:none}}


/* Blink v5.7.0-alpha: safe Blink Call preview only */
.call-preview-card{max-width:460px;text-align:center}.call-preview-card .modal-head{text-align:left}.call-preview-symbol{width:82px;height:82px;margin:18px auto 14px;display:grid;place-items:center;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.055);font-size:2.45rem;box-shadow:0 0 34px rgba(50,189,246,.12)}

/* Blink Call state visibility fix */
[hidden]{display:none!important}

.call-audio-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.call-audio-controls .button[aria-pressed="true"]{border-color:rgba(53,212,123,.45);box-shadow:0 0 0 2px rgba(53,212,123,.08)}


/* Blink v5.9 Diagnostics */
.call-audio-controls{grid-template-columns:repeat(3,1fr)}
.diagnostics-card{max-width:580px}.diagnostics-results{display:grid;gap:9px;margin:16px 0}.diag-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035)}.diag-row b{display:block}.diag-row small{display:block;margin-top:3px;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}.diag-row.pass{border-color:rgba(53,212,123,.38)}.diag-row.fail{border-color:rgba(255,93,120,.45)}.diag-row.warn{border-color:rgba(245,185,66,.44)}.diag-row.running{border-color:rgba(50,189,246,.4)}.diagnostics-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.diagnostics-card .button{min-width:0}@media(max-width:520px){.call-audio-controls{grid-template-columns:1fr 1fr}.call-audio-controls #openDiagnosticsBtn{grid-column:1/-1}.diagnostics-actions{grid-template-columns:1fr}}

.call-developer-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.call-developer-tools .button{min-width:0}.security-card{max-height:min(82vh,760px);overflow:auto}@media(max-width:520px){.call-developer-tools{grid-template-columns:1fr}}

.connect-card{max-width:500px}.connect-options{display:grid;gap:10px;margin:18px 0}.connect-option{width:100%;display:grid;grid-template-columns:48px 1fr 20px;align-items:center;gap:12px;padding:14px;text-align:left;color:var(--text);border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.045);cursor:pointer}.connect-option:active{transform:scale(.99)}.connect-option:hover{background:rgba(255,255,255,.075)}.connect-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:rgba(50,189,246,.10);font-size:1.45rem}.connect-option b,.connect-option small{display:block}.connect-option small{margin-top:3px;color:var(--muted);font-size:.78rem}.connect-arrow{font-size:1.8rem;color:var(--muted)}.connect-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px}.terminal-dial{margin:18px 0;padding:16px;border:1px solid rgba(88,255,164,.28);border-radius:18px;background:#07110d;color:#8dffc0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.terminal-dial p{margin:0 0 14px}.terminal-prompt{color:#49e795}.terminal-dial label{display:block;margin-bottom:7px;font-size:.78rem;color:#bfffd8}.terminal-dial input{width:100%;padding:13px;border:1px solid rgba(88,255,164,.34);border-radius:12px;background:#020806;color:#d7ffe7;font:inherit;outline:none}.terminal-dial input:focus{border-color:#72ffaf;box-shadow:0 0 0 3px rgba(88,255,164,.10)}.carrier-warning{margin:12px 0 18px;padding:12px;border:1px solid rgba(255,190,80,.25);border-radius:14px;background:rgba(255,190,80,.07);color:#ffdca0;font-size:.8rem;line-height:1.45}@media(max-width:520px){.connect-tools{grid-template-columns:1fr}}
.vault-card{max-width:410px;text-align:center}.vault-shield{font-size:3rem;margin-bottom:.25rem}.vault-label{display:block;text-align:left;font-weight:700;margin:.8rem 0 .35rem}.vault-pin{width:100%;box-sizing:border-box;text-align:center;font-size:1.8rem;letter-spacing:.65rem;padding:.8rem;border-radius:14px}.vault-error{min-height:1.4rem;color:#ff7d7d;font-weight:700}.vault-card .button-row{margin-top:.6rem}

.visibility-report{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12)}.visibility-heading{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;margin-bottom:12px}.visibility-heading>span{font-size:21px}.visibility-heading b{display:block;font-size:1.05rem}.visibility-heading small{display:block;margin-top:3px;opacity:.72;line-height:1.35}.visibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.visibility-box{padding:14px;border-radius:15px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.12)}.visibility-box h3{font-size:.98rem;margin:0 0 10px}.visibility-box ul{margin:0;padding-left:20px}.visibility-box li{margin:0 0 8px;line-height:1.35;font-size:.9rem}.visibility-box.can-see{border-color:rgba(255,159,10,.42)}.visibility-box.cannot-see{border-color:rgba(48,209,88,.4)}.visibility-caveat{margin:11px 2px 0;font-size:.78rem;line-height:1.4;opacity:.68}@media(max-width:560px){.visibility-grid{grid-template-columns:1fr}}
.security-overview{padding:16px;border-radius:18px;border:1px solid rgba(48,209,88,.42);background:linear-gradient(180deg,rgba(48,209,88,.09),rgba(255,255,255,.025));display:grid;gap:14px}.security-overview.attention{border-color:rgba(255,159,10,.5);background:linear-gradient(180deg,rgba(255,159,10,.09),rgba(255,255,255,.025))}.security-overview-head{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start}.security-overview-head>span{font-size:21px}.security-overview-head p{margin:0 0 4px;font-size:.72rem;letter-spacing:.14em;font-weight:800;opacity:.7}.security-overview-head h3{margin:0 0 4px;font-size:1.3rem}.security-overview-head small{display:block;line-height:1.4;opacity:.78}.security-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.security-summary-grid>div{padding:11px;border-radius:13px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09)}.security-summary-grid b,.security-summary-grid small{display:block}.security-summary-grid b{font-size:.9rem}.security-summary-grid small{margin-top:4px;font-size:.78rem;line-height:1.3;opacity:.72;overflow-wrap:anywhere}.security-copy{justify-self:start}.security-roadmap{padding:15px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.025)}.roadmap-title{display:grid;grid-template-columns:28px 1fr;gap:9px;margin-bottom:11px}.roadmap-title b,.roadmap-title small{display:block}.roadmap-title small{margin-top:3px;opacity:.7;line-height:1.35}.roadmap-list{display:grid;gap:8px}.roadmap-list>div{display:grid;grid-template-columns:25px 1fr;gap:8px;padding:9px;border-radius:11px;background:rgba(255,255,255,.035)}.roadmap-list b,.roadmap-list small{display:block}.roadmap-list b{font-size:.88rem}.roadmap-list small{margin-top:2px;font-size:.76rem;opacity:.68}.roadmap-list .pending{border:1px solid rgba(255,159,10,.22)}.security-build-info{display:grid;gap:4px;padding:13px 15px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1);font-size:.78rem;line-height:1.4}.security-build-info b{font-size:.92rem}.security-build-info span{opacity:.72}@media(max-width:560px){.security-summary-grid{grid-template-columns:1fr}}
.identity-manager{padding:16px;border-radius:18px;border:1px solid rgba(90,200,250,.42);background:linear-gradient(180deg,rgba(90,200,250,.09),rgba(255,255,255,.025));display:grid;gap:13px}.identity-manager-head{display:grid;grid-template-columns:30px 1fr;gap:10px}.identity-manager-head>span{font-size:21px}.identity-manager-head b,.identity-manager-head small{display:block}.identity-manager-head small{margin-top:4px;opacity:.72;line-height:1.35}.identity-details{display:grid;grid-template-columns:1fr 1fr;gap:9px}.identity-details>div{padding:10px 11px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09)}.identity-details span,.identity-details b,.identity-details code{display:block}.identity-details span{font-size:.72rem;opacity:.65;margin-bottom:4px}.identity-details b{font-size:.86rem}.identity-details code{font-size:.75rem;line-height:1.45;overflow-wrap:anywhere;white-space:normal}.identity-wide{grid-column:1/-1}.identity-note{margin:0;font-size:.78rem;line-height:1.4;opacity:.72}.identity-actions{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:560px){.identity-details{grid-template-columns:1fr}.identity-wide{grid-column:auto}.identity-actions .mini-button{flex:1 1 100%}}
.identity-qr-card{max-width:460px}.identity-qr-wrap{display:grid;place-items:center;padding:16px;margin:14px 0;border-radius:18px;background:#fff}.identity-qr-wrap canvas{max-width:100%;height:auto;image-rendering:pixelated}.identity-qr-fingerprint{display:block;padding:11px;border-radius:12px;background:rgba(255,255,255,.05);font-size:.75rem;line-height:1.45;overflow-wrap:anywhere;text-align:center}.trusted-devices{display:grid;gap:5px;padding:11px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}.trusted-devices b,.trusted-devices small{display:block}.trusted-devices small{font-size:.74rem;line-height:1.35;opacity:.76}

/* Blink v6.4.1 carrier-call security warning */
#carrierCallModal.warning-pulse .carrier-card { animation: blinkCarrierWarning 0.38s ease-in-out 3; }
#carrierCallModal.warning-pulse .carrier-warning { font-weight: 800; border: 2px solid currentColor; }
@keyframes blinkCarrierWarning {
  0%,100% { transform: scale(1); filter: brightness(1); }
  50% { transform: scale(1.018); filter: brightness(1.35); }
}


/* Blink v6.4.2 live call presence and encrypted-call polish */
.call-preview-symbol{position:relative;isolation:isolate}
.call-preview-symbol::after{content:"";position:absolute;inset:-10px;border:2px solid rgba(125,105,255,.35);border-radius:30px;opacity:0;pointer-events:none}
.call-preview-card.waiting-peer .call-preview-symbol::after{animation:blinkCallPulse 1.7s ease-out infinite}
.call-preview-card.waiting-peer .call-preview-symbol{animation:blinkCallFloat 2.2s ease-in-out infinite}
@keyframes blinkCallPulse{0%{transform:scale(.82);opacity:.85}75%,100%{transform:scale(1.38);opacity:0}}
@keyframes blinkCallFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.call-presence-panel{display:grid;gap:8px;margin:4px 0 16px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035);text-align:left}
.call-presence-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.86rem}
.call-presence-person{display:flex;align-items:center;gap:9px;min-width:0}.call-presence-person span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.call-presence-dot{width:10px;height:10px;border-radius:50%;background:#667085;box-shadow:0 0 0 4px rgba(102,112,133,.12);flex:0 0 auto}.call-presence-dot.online{background:#48df91;box-shadow:0 0 0 4px rgba(72,223,145,.13)}.call-presence-dot.searching{background:#f4c45d;box-shadow:0 0 0 4px rgba(244,196,93,.13);animation:blinkPresence 1.2s ease-in-out infinite}
@keyframes blinkPresence{50%{opacity:.38}}
.call-presence-state{color:var(--muted);font-size:.76rem;white-space:nowrap}
.call-security-card{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:11px;margin:12px 0;padding:12px 14px;border:1px solid rgba(244,196,93,.28);border-radius:16px;background:rgba(244,196,93,.065);text-align:left}
.call-security-card .call-security-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.06);font-size:1.2rem}.call-security-card b,.call-security-card small{display:block}.call-security-card small{margin-top:3px;color:var(--muted);font-size:.72rem;line-height:1.35}
.call-security-card.secure{border-color:rgba(72,223,145,.38);background:rgba(72,223,145,.075)}.call-security-card.warning{border-color:rgba(255,112,135,.38);background:rgba(255,112,135,.075)}
@media(max-width:520px){.call-presence-row{font-size:.8rem}.call-presence-state{font-size:.7rem}.call-security-card{grid-template-columns:38px 1fr;padding:11px}.call-security-card .call-security-icon{width:36px;height:36px}}

body.owner-console{min-height:100vh;background:#080b14}.owner-shell{width:min(920px,calc(100% - 28px));margin:0 auto;padding:28px 0 60px}.owner-header,.owner-list-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.owner-header{margin-bottom:22px}.owner-header h1{margin:.2rem 0}.owner-card{background:rgba(15,20,35,.94);border:1px solid rgba(125,249,213,.18);border-radius:22px;padding:20px;margin:14px 0;box-shadow:0 18px 48px rgba(0,0,0,.25)}.owner-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:14px 0}.preview-list{display:grid;gap:10px}.preview-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px;border-radius:15px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}.preview-item small{display:block;margin-top:5px;opacity:.7}.preview-item.revoked,.preview-item.expired{opacity:.55}.preview-actions{display:flex;gap:8px}#createdLink{min-height:94px}.preview-banner{position:fixed;top:0;left:0;right:0;z-index:99998;min-height:38px;padding:9px 12px;display:flex;align-items:center;justify-content:center;gap:14px;text-align:center;background:#10251f;color:#9fffe1;font-size:12px;border-bottom:1px solid rgba(125,249,213,.3);box-shadow:0 4px 18px rgba(0,0,0,.35)}.private-preview body{padding-top:38px}.preview-banner span{white-space:nowrap}#previewGate{position:fixed;inset:0;z-index:100000;background:#080b14;display:grid;place-items:center;padding:24px}.preview-gate-card{width:min(440px,100%);text-align:center;background:#0f1423;border:1px solid rgba(125,249,213,.22);border-radius:24px;padding:32px}.preview-mark{width:64px;height:64px;border-radius:18px;margin:0 auto 18px;display:grid;place-items:center;font-size:32px;font-weight:900;background:#7df9d5;color:#07100e}.private-preview .call-developer-tools{display:none!important}@media(max-width:720px){.owner-header,.owner-list-head,.preview-item{align-items:stretch;flex-direction:column}.owner-grid{grid-template-columns:1fr}.preview-actions{width:100%}.preview-actions .button{flex:1}}

/* Blink v7.2.6 — Android/UI compositor stability */
html[data-blink-effects="reduced"] *,html[data-blink-effects="off"] *{scroll-behavior:auto!important}
html[data-blink-effects="reduced"] .recording-active,html[data-blink-effects="reduced"] .call-preview-card.waiting-peer .call-preview-symbol,html[data-blink-effects="reduced"] .call-preview-card.waiting-peer .call-preview-symbol::after,html[data-blink-effects="reduced"] .call-presence-dot.searching,html[data-blink-effects="off"] .recording-active,html[data-blink-effects="off"] .call-preview-card.waiting-peer .call-preview-symbol,html[data-blink-effects="off"] .call-preview-card.waiting-peer .call-preview-symbol::after,html[data-blink-effects="off"] .call-presence-dot.searching{animation:none!important}
html[data-blink-effects="off"] .bubble,html[data-blink-effects="off"] .chat-photo,html[data-blink-effects="off"] .file-download-card,html[data-blink-effects="off"] .blink-audio{animation:none!important}
html.blink-android[data-blink-effects="reduced"] .modal,html.blink-android[data-blink-effects="reduced"] .recovery-overlay{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html.blink-android[data-blink-effects="reduced"] .photo-bubble,html.blink-android[data-blink-effects="reduced"] .file-bubble,html.blink-android[data-blink-effects="reduced"] .voice-bubble{will-change:auto!important}
html.blink-android[data-blink-effects="reduced"] body{background:#080b14}
