/* FIBISE foundations. Native SystemBars owns --safe-area-inset-* when available.
   Insets belong to the shell or an independent overlay, never both on one edge. */
:root {
  --bg-main:#f5f8fc; --bg-deep:#ffffff;
  --surface-1:#ffffff; --surface-2:#f1f5fb; --surface-3:#e7eef8;
  --ink:#10244b; --muted:#60708b; --text-muted:#8491a6; --line:#d9e3f0;
  --indigo:#1267e8; --violet:#6c42d9; --cyan:#1aa9d6;
  --success:#168b62; --danger:#c9364b; --warning:#9a6a00; --info:#1267e8;
  --accent:var(--indigo); --error:var(--danger);
  --bg:var(--bg-main); --soft:var(--surface-2); --blue:var(--info); --tint:#e8f1ff;
  --text-primary:var(--ink); --text-secondary:var(--muted);
  --font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",sans-serif;
  --font-display:1.875rem; --font-title:1.4375rem; --font-section:1.1875rem;
  --font-name:1rem; --font-body:1rem; --font-secondary:.875rem; --font-meta:.75rem;
  --font-page:var(--font-title); --font-subtitle:var(--font-section); --font-caption:var(--font-meta);
  --line-body:1.5; --line-title:1.25; --message-leading:1.4;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-5:20px; --space-6:24px; --space-8:32px;
  --radius-sm:8px; --radius-md:12px; --radius-lg:20px; --radius:var(--radius-md);
  --touch:44px; --icon-size:22px; --nav-height:64px;
  --z-nav:10; --z-call:1000; --z-toast:1100; --shadow-sheet:0 -8px 40px #0005;
  --safe-top:var(--safe-area-inset-top,env(safe-area-inset-top,0px));
  --safe-right:var(--safe-area-inset-right,env(safe-area-inset-right,0px));
  --safe-bottom:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px));
  --safe-left:var(--safe-area-inset-left,env(safe-area-inset-left,0px));
  --viewport-height:100vh;
}
@supports (height:100dvh) { :root { --viewport-height:100dvh; } }

:root[data-theme=dark] {
  --bg-main:#07111f; --bg-deep:#050a14;
  --surface-1:#0d1728; --surface-2:#111d32; --surface-3:#16243d;
  --ink:#f7f9ff; --muted:#aeb8d0; --text-muted:#75809a; --line:#25324c;
  --indigo:#5865f2; --violet:#8b5cf6; --cyan:#22d3ee;
  --success:#21d19f; --danger:#ff4d67; --warning:#f4b942; --info:#8293ff;
  --accent:var(--indigo); --error:var(--danger);
  --bg:var(--bg-main); --soft:var(--surface-1); --blue:var(--info); --tint:#25265c;
  --text-primary:var(--ink); --text-secondary:var(--muted);
}
﻿/* LOT 1: shared intrinsic geometry, without changing screen DOM or controllers. */
*, *::before, *::after { box-sizing:border-box; }
/* P1-2.1: two first-class universes, with shared light/dark tokens. */
html .mobile-nav button:not([aria-current]) { color:var(--muted); }
html .mobile-nav button[aria-current=page] { color:var(--blue);background:var(--tint);font-weight:700; }
html .mobile-nav button[aria-current=page] .ui-icon { color:var(--blue); }
html .nav-item[aria-current=page] { color:var(--blue);font-weight:700; }
.mobile-nav button span { display:block;max-width:100%;white-space:nowrap; }
.home-universes { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block:16px; }
.home-universes a { display:flex;flex-direction:column;gap:4px;min-height:64px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-1);color:var(--ink);text-decoration:none;overflow-wrap:anywhere; }
.home-universes span { font-size:var(--font-meta);color:var(--muted); }
.inbox-secondary { padding:0 16px 12px; }
.inbox-secondary .secondary { position:relative;min-height:44px;color:var(--ink);padding-right:40px; }
.profile-page .contact-section>.secondary { margin:4px;min-height:44px;color:var(--ink); }
html { font-family:var(--font-family); font-size:100%; }
body { font-size:var(--font-body); line-height:var(--line-body); }
:is(.layout, main, .inbox, .page, .auth-panel, .chat, .chat-viewport, .messages,
    .shared-screen, .settings-detail, .settings-content-section, form, fieldset) {
  min-width:0; min-height:0;
}
:is(.top-bar, .section-heading, .subpage-header, .search-form, .search-field,
    .button-row, .directory-row, .conversation-row, .settings-row, .participant-row,
    .session-row, .agent-row, .saved-message-row, .saved-message-card, .file,
    .content-card, .password-field, .skeleton-row) > * { min-width:0; }
:is(.page, .auth-panel, form, fieldset, input, textarea, select) { max-width:100%; }
fieldset { margin-inline:0; }
:is(label, legend, .form-error, .row-copy, .content-card, .file, .bubble,
    .saved-message-copy, .aura-empty, .aura-error, .settings-row, .participant-row) {
  overflow-wrap:anywhere;
}
:is(img, video, audio, canvas) { max-width:100%; }
:is(.file-full-preview, .upload-thumbnail, .avatar-photo) { max-width:100%; }
.text-preview { white-space:pre-wrap; overflow-wrap:anywhere; }
:is(.primary, .secondary, .danger, .text-button) {
  max-width:100%; min-height:var(--touch); white-space:normal; overflow-wrap:anywhere;
}
:is(.top-bar, .section-heading, .subpage-header, .button-row, .search-form) { flex-wrap:wrap; }
.search-form .search-field { flex:1 1 12rem; }
.search-field input, .password-field input { width:0; min-width:0; flex:1 1 0; }
.button-row > :is(button,a) { flex:0 1 auto; }
.layout { padding-left:var(--safe-left); padding-right:var(--safe-right); }
/* Main scrolls, while the resized native viewport retains the existing keyboard events. */
main { scroll-padding-block:var(--space-4); }
:is(input, textarea, select, button) { scroll-margin-block:var(--space-4); }
dialog{ max-width:calc(100% - var(--safe-left) - var(--safe-right));
  max-height:calc(var(--viewport-height) - var(--safe-top) - var(--safe-bottom));
  overflow:auto; overflow-wrap:anywhere; }
dialog > header { flex-wrap:wrap; }
dialog > header h2 { min-width:0; flex:1 1 8rem; }
/* Existing sheets own their own insets; do not add these to their children. */
@media (max-width:900px) {
  dialog{ margin:auto var(--safe-right) var(--safe-bottom) var(--safe-left); }
}

/* Lot 9: shared mobile geometry and interaction states. */
/* Global values are generated from design/tokens.css. */
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #969cff;outline-offset:3px}
.ui-icon{width:var(--icon-size);height:var(--icon-size);flex-shrink:0}.icon-button{min-width:var(--touch);min-height:var(--touch)}.primary,[data-theme=dark] .primary{background:var(--accent);border:1px solid var(--accent);color:#fff;min-height:48px;border-radius:var(--radius-sm)}
.page h1{font-size:var(--font-title);line-height:var(--line-title)}.page h2{font-size:var(--font-section)}.page p{line-height:1.5}.conversation-row,.directory-row{min-height:72px}.row-copy strong{font-size:var(--font-name)}.row-copy .preview{font-size:var(--font-secondary)}.row-end time{font-size:var(--font-meta)}
.mobile-nav .active .ui-icon{background:transparent;outline:none}.mobile-nav .active{color:#a0a8ff}.mobile-nav{border-top:1px solid var(--line)}.mobile-nav button,.mobile-nav a{font-size:var(--font-caption)}
#toast{position:fixed;left:50%;right:auto;transform:translate(-50%,12px);bottom:calc(80px + var(--safe-bottom));max-width:calc(100vw - 32px);width:max-content;padding:12px 16px;border:1px solid #465780;border-radius:var(--radius-sm);background:#16243d;color:var(--ink);font-size:var(--font-secondary);box-shadow:0 8px 28px #0005;z-index:var(--z-toast);pointer-events:none;transition:opacity .18s,transform .18s}#toast.show{transform:translate(-50%,0)}#toast[data-type=error]{border-color:#ff7185}#toast[data-type=success]{border-color:#3bba98}.keyboard-open #toast{bottom:calc(84px + var(--safe-bottom))}
dialog{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sheet);max-height:calc(var(--viewport-height) - var(--safe-top) - var(--safe-bottom));overflow:auto}dialog::backdrop{background:#030814b8;backdrop-filter:blur(3px)}dialog>header h2{font-size:var(--font-title)}dialog button{min-height:var(--touch)}
.message{font-size:var(--font-body);line-height:1.4}.message .bubble,[data-theme=dark] .message .bubble{background:var(--surface-2);border:1px solid #27334a;border-radius:16px;padding:10px 12px}.message.mine .bubble,[data-theme=dark] .message.mine .bubble{background:#292e73;border-color:#4b51a2}.message time{font-size:var(--font-meta);display:flex;align-items:center;gap:5px;justify-content:flex-end}.message-status svg{width:17px;height:12px}.message-status.read{color:#91acff}.message-media:empty{display:none}.message .bubble>p{margin:0}.message-avatar .avatar{width:28px;height:28px}
.shared-screen .shared-summary{font-size:var(--font-secondary);color:var(--muted);margin:12px 0}.shared-search{margin:12px 0}.shared-screen .content-list{display:flex;flex-direction:column;gap:8px}.shared-screen .content-list .content-card{display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px 12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-1)}.content-list .content-card>.ui-icon{grid-row:1/4;width:36px;height:36px;color:#9d9fff}.content-list .content-card h3{font-size:var(--font-name);margin:0;overflow-wrap:anywhere}.content-list .content-card p,.content-list .content-card small{margin:0;grid-column:2;font-size:var(--font-meta);color:var(--muted)}.content-list .file-actions{grid-column:2;display:flex;gap:12px;flex-wrap:wrap}.file-actions>a,.file-actions>button{min-height:44px;display:inline-flex;gap:6px;align-items:center}.content-list audio{width:100%;grid-column:1/-1}.shared-tabs{display:flex;gap:6px}.shared-tabs button{flex:1;min-width:0;padding:8px 2px;font-size:var(--font-meta);min-height:48px}.shared-tabs .ui-icon{width:20px}.shared-tabs [aria-selected=true]{background:#343bcb;color:white;border-color:#7379ff}
.background-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.background-modes button{padding:12px 6px;min-height:76px;background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--font-secondary)}.background-modes button[aria-pressed=true]{border-color:#8b83ff;background:#242454}.background-preview{min-height:160px;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:12px;border-radius:var(--radius-md);overflow:hidden}.background-preview .bubble{max-width:85%;padding:10px;background:#111d32e8;border-radius:14px;color:var(--ink);font-size:var(--font-secondary)}.background-preview .preview-mine{align-self:flex-end;background:#343789}.background-photo-label{display:flex;align-items:center;gap:12px}.background-thumbnail{width:64px;height:64px;object-fit:cover;border-radius:12px}.background-dim{display:flex;justify-content:space-between}.background-editor>label{margin-block:16px}
.voice-recorder{text-align:center}.voice-recorder #voice-wave{width:100%;height:70px;margin:20px 0}.voice-controls{display:flex;justify-content:center;align-items:center;gap:12px}.voice-controls button{border-radius:50%;width:64px;height:64px;padding:4px;font-size:var(--font-meta)}.voice-controls #voice-start,.voice-controls #voice-pause{width:80px;height:80px;background:linear-gradient(140deg,#7364fb,#393ff0);color:white}.voice-recorder #voice-hold{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:132px;max-width:180px;height:64px;padding:8px 12px;border-radius:32px;touch-action:none;user-select:none;-webkit-user-select:none}.voice-recorder #voice-use{margin:16px auto 0;min-height:48px}.voice-recorder audio{max-width:100%;margin-top:16px}.voice-timer{font-variant-numeric:tabular-nums;font-size:var(--font-display);margin:12px}
.profile-page .profile-heading{flex-direction:column;text-align:center;gap:16px}.profile-page .profile-heading>.avatar{width:112px;height:112px;border:3px solid #7266f1;box-shadow:0 0 0 5px #292850}.profile-page .profile-heading h1{font-size:var(--font-title);overflow-wrap:anywhere}.profile-page .eyebrow{text-align:center;color:#a0acdb}.profile-page .share-line{background:var(--surface-1);border:1px solid var(--line);padding:16px;border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:8px}.profile-page .share-line label{flex:1 1 100%;margin:0}.profile-page .share-line input{font-size:var(--font-secondary)}.privacy-controls{padding:12px 0}.contact-presence{color:#9caad0;font-size:var(--font-meta)}
@media(max-width:600px){dialog{border-radius:24px 24px 0 0;margin:auto var(--safe-right) var(--safe-bottom) var(--safe-left);width:100%;max-height:calc(var(--viewport-height) - var(--safe-top) - var(--safe-bottom))}.chat-heading{padding:6px 4px}.chat-heading .chat-title{min-width:0}.chat-title h1{font-size:var(--font-name)}.chat-subtitle{font-size:var(--font-meta)}.profile-page .profile-heading{padding:20px 0}.content-list .content-card{width:100%}.participant-row{flex-wrap:wrap}.participant-row>span{min-width:0;overflow-wrap:anywhere}.composer-tools{display:none}.home-page .home-actions{gap:8px}.settings-menu .settings-row{min-height:64px}}
@media(max-height:600px){dialog{max-height:calc(var(--viewport-height) - var(--safe-top) - var(--safe-bottom))}.voice-recorder #voice-wave{height:38px;margin:8px 0}.voice-controls button{height:48px;width:48px}.voice-controls #voice-start,.voice-controls #voice-pause{height:60px;width:60px}.voice-timer{font-size:var(--font-title);margin:4px}}

.messages .message.mine .bubble{background:var(--conversation-accent,#292e73)}[hidden]{display:none!important}.compose-row .attach input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.compose-row #record-voice{color:#b5a9ff}.compose-row{gap:4px}.compose-row>textarea{min-width:0}

#toast{opacity:0}#toast.show{opacity:1}

.composer:has(#message-text:placeholder-shown):has(#file-preview:empty) #send-button{display:none}.composer:has(#message-text:not(:placeholder-shown)) #record-voice,.composer:has(#file-preview:not(:empty)) #record-voice{display:none}.group-confirm{padding:16px;border:1px solid #c27884;border-radius:16px;background:#301d32;margin-bottom:16px}.background-editor output{margin-left:8px;color:#a9b3df}.settings-page[data-setting=privacy] label:has([name=bio]),.settings-page[data-setting=notifications] label:has([name=bio]){display:none}

#toast{display:flex;align-items:center;gap:8px}#toast svg{flex:none}.voice-controls #voice-start,.voice-controls #voice-pause{border-radius:50%}

.conversation-identity{display:flex;gap:16px;align-items:center;padding:12px 0}.conversation-identity h2,.conversation-identity p{margin:4px 0}.menu-list h3{font-size:var(--font-secondary);color:var(--muted);margin:20px 0 4px}.background-photo-picker{display:flex;flex-direction:column;padding:16px;border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer}.background-photo-picker:focus-within{outline:2px solid var(--indigo)}
/* Instants FIBISE: compact discovery, opaque controls, media-first viewer. */
.instants-section{margin:var(--spacing-4,16px) 0}.instants-section h2{font-size:var(--type-section,20px);margin:0 0 12px}.instant-strip{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:none;max-width:100%}.instant-person{position:relative;flex:0 0 66px;display:flex;align-items:center;flex-direction:column;gap:7px;padding:0;border:0;background:none;color:var(--text-primary,#f7f9ff)}.instant-person>.avatar{width:58px;height:58px;padding:3px;border:2px solid #8b5cf6;outline:1px solid #22d3ee;outline-offset:2px}.instant-person.seen>.avatar{border-color:#75809a;outline-color:#38435a}.instant-person>span:last-child{font-size:12px;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instant-add i{position:absolute;right:0;top:39px;width:23px;height:23px;display:grid;place-items:center;background:#5865f2;border:2px solid #07111f;border-radius:50%}.instant-add i svg{width:14px;height:14px}.instant-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.instant-modes button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;font-size:12px;background:#111d32;border:1px solid #263453;border-radius:12px}.instant-modes button[aria-pressed=true]{border-color:#8b5cf6;background:#31235b}.instant-preview{position:relative;margin:16px 0;min-height:160px;max-height:260px;border-radius:18px;overflow:hidden;display:grid;place-items:center;background:#16243d}.instant-preview img,.instant-preview video{width:100%;height:230px;object-fit:contain}.instant-preview p{padding:16px;overflow-wrap:anywhere;text-align:center;font-size:20px}.instant-preview:has(img) p,.instant-preview:has(video) p{font-size:14px;position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#050a14d9);margin:0;pointer-events:none}.instant-colors{display:flex;gap:14px;border:0;padding:8px 0;margin:8px 0}.instant-colors label{background:var(--instant-color);border-radius:50%;width:36px;height:36px;display:grid;place-items:center;border:1px solid #75809a}.instant-colors input{accent-color:#8b5cf6;width:18px;min-height:0}.instant-privacy{border:0;padding:0;margin:16px 0}.instant-privacy>label{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #263453}.instant-privacy input{width:18px;min-height:18px;accent-color:#8b5cf6}.instant-privacy small{display:block;font-size:12px;color:#aeb8d0;margin-top:4px}#instant-audience{max-height:220px;overflow:auto}#instant-audience>label{display:flex;align-items:center;gap:12px;padding:8px 0}#instant-audience .avatar{width:32px;height:32px}#instant-create textarea{min-height:80px}#modal.instant-viewer{inset:0;margin:auto;width:min(100%,540px);height:var(--viewport-height);max-height:var(--viewport-height);max-width:100%;padding:0;border:0;border-radius:0;background:#050a14;overflow:hidden}#modal.instant-viewer>header{position:absolute;right:8px;top:calc(var(--safe-top) + 22px);z-index:5;padding:0;border:0;background:none}#modal.instant-viewer>header h2{display:none}#modal.instant-viewer>header button{background:#07111fcc}.instant-player{height:100%;display:flex;flex-direction:column;position:relative;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}.instant-progress{display:flex;gap:4px;padding:12px 12px 4px;z-index:3}.instant-progress progress{min-width:0;width:100%;height:3px;border:0;background:#75809a;border-radius:2px}.instant-progress progress::-webkit-progress-bar{background:#75809a}.instant-progress progress::-webkit-progress-value{background:#f7f9ff}.instant-identity{display:flex;align-items:center;gap:10px;padding:8px 60px 8px 16px;z-index:3}.instant-identity .avatar{width:36px;height:36px}.instant-identity>span:not(.avatar){flex:1;min-width:0}.instant-identity strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.instant-identity small{display:block;font-size:12px;color:#aeb8d0}.instant-stage{position:relative;min-height:0;flex:1;display:grid;place-items:center;overflow:hidden;touch-action:none;user-select:none}.instant-stage>img,.instant-stage>video{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.instant-stage>p{font-size:26px;text-align:center;overflow-wrap:anywhere;white-space:pre-wrap;padding:24px;max-height:100%;overflow:auto;z-index:1;margin:0}.instant-stage:has(img)>p,.instant-stage:has(video)>p{align-self:end;font-size:18px;background:linear-gradient(transparent,#050a14d9);width:100%;box-sizing:border-box}.instant-nav{position:absolute;left:8px;right:8px;top:50%;display:flex;justify-content:space-between;pointer-events:none}.instant-nav button{pointer-events:auto;background:#07111faa}.instant-footer{display:flex;gap:8px;padding:12px;align-items:center;background:#050a14;z-index:3;flex-shrink:0}.instant-footer form{display:flex;gap:4px;min-width:0;flex:1}.instant-footer input{min-width:0;flex:1;border-radius:24px;font-size:14px}.instant-footer button{flex-shrink:0}.instant-error{font-size:12px;color:#ff8798;padding:0 12px;margin:0 0 4px}.instant-expired{margin:auto;padding:32px;text-align:center}.instant-expired>.ui-icon{width:64px;height:64px;color:#8b5cf6}.instant-expired h2{font-size:22px}.instant-viewers:not([hidden]){position:absolute;inset:25% 0 0;z-index:6;border-radius:24px 24px 0 0;background:#0d1728;padding:20px;overflow:auto}.instant-viewers>[data-close-viewers]{float:right}.instant-viewer-row{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #263453}.instant-viewer-row small{display:block;color:#aeb8d0;font-size:12px;margin-top:4px}.instant-quote{display:block;text-align:left;width:100%;border:0;border-left:2px solid #8b5cf6;border-radius:8px;background:#050a1433;padding:8px;color:inherit}.instant-quote img{width:48px;height:48px;object-fit:cover;float:left;margin:4px 8px 0 0}.instant-quote strong,.instant-quote span{display:block;font-size:12px}.instant-quote:after{content:'';display:block;clear:both}
@media(max-height:600px){.instant-preview{min-height:100px}.instant-preview img,.instant-preview video{height:160px}.instant-identity{padding-top:2px;padding-bottom:2px}.instant-footer{padding:6px 10px}.instant-stage>p{font-size:20px}}


/* Big patch 2026-09-27: profile, live activity and calls. */
.profile-page{max-width:760px;margin:0 auto}.profile-page .profile-heading{align-items:center;gap:14px;padding:8px 0 4px}.profile-page .profile-heading>.avatar{width:76px;height:76px}.profile-page .profile-description{margin:8px 0 16px;line-height:1.5}.profile-page .contact-section{padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel,rgba(255,255,255,.03))}.profile-page .share-line{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:8px;margin-top:14px}.profile-page .share-line label{min-width:0}.profile-page #profile-block-toggle{width:100%}
.nav-item,.mobile-nav button{position:relative}.nav-badge{position:absolute;top:4px;right:10px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e63a54;color:white;font-size:11px;font-weight:800;line-height:1}.mobile-nav .nav-badge{top:2px;right:calc(50% - 27px)}
.call-history-groups{display:grid;gap:18px}.call-day>h2{margin:0 0 8px;font-size:14px;color:var(--muted);font-weight:700}.call-history article{border-radius:12px;padding:10px 4px}.call-history .call-detail{background:transparent;border:0;text-align:left;flex:1;min-width:0;color:inherit;padding:0}.call-history .call-danger .call-result,.call-history .call-danger .call-kind{color:#df3f56}.call-history .call-success .call-result,.call-history .call-success .call-kind{color:#15966b}.call-history .call-neutral .call-result{color:var(--muted)}
body.in-call{overflow:hidden}.rtc-screen{padding:0!important;gap:0!important;background:#07101f!important;align-items:stretch!important}.rtc-screen>header{position:absolute;z-index:8;top:max(12px,var(--safe-top));left:14px;right:14px;width:auto!important;padding:8px 10px;border-radius:12px;background:rgba(6,12,25,.36);backdrop-filter:blur(12px)}.rtc-stage{position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;border-radius:0!important;background:#07101f}.rtc-stage #rtc-remote{inset:0;width:100%;height:100%;object-fit:cover;background:#07101f}.rtc-stage #rtc-person{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}.rtc-stage #rtc-person>.avatar{width:100%!important;height:100%!important;border-radius:0!important;font-size:72px;background:linear-gradient(160deg,#15213c,#09111f)}.rtc-stage #rtc-person>.avatar .avatar-photo{object-fit:cover;filter:brightness(.58) saturate(.9);transform:scale(1.02)}.rtc-stage #rtc-person>.avatar .avatar-initials{font-size:72px}.rtc-stage #rtc-local{width:28%!important;max-width:132px;height:22%!important;max-height:190px;right:12px!important;bottom:112px!important;border-radius:16px!important;border:1px solid rgba(255,255,255,.28);box-shadow:0 8px 30px #0008}.rtc-screen>h1,.rtc-screen>#rtc-state,.rtc-screen>#rtc-hint,.rtc-screen>#rtc-play{position:relative;z-index:7;align-self:center}.rtc-screen>h1{margin-top:auto!important;font-size:25px!important;text-shadow:0 2px 12px #000}.rtc-screen>#rtc-state{margin:5px 0 0!important;color:#eef4ff!important}.rtc-screen>#rtc-hint{margin-top:4px!important}.rtc-screen>.rtc-controls{position:relative;z-index:9;margin-top:auto;padding:12px 10px max(16px,var(--safe-bottom));gap:10px!important;background:linear-gradient(180deg,transparent,rgba(3,8,18,.72) 35%,rgba(3,8,18,.9));flex-wrap:nowrap!important}.rtc-controls button{min-width:54px!important;width:58px;min-height:54px!important;height:58px;padding:7px!important;border-radius:18px!important;font-size:10px!important}.rtc-controls button .ui-icon{width:22px;height:22px}.rtc-screen[data-call-type="audio"] #rtc-local,.rtc-screen[data-call-type="audio"] #rtc-remote{display:none!important}.rtc-screen[data-call-type="audio"] #rtc-person{display:grid!important}.rtc-screen[data-call-type="video"] #rtc-person[hidden]{display:none!important}
.chat-viewport{position:relative;flex:1;min-height:0;isolation:isolate;overflow:hidden;background:var(--bg-main)}
.chat-wallpaper{position:absolute;inset:0;z-index:0;pointer-events:none;background-size:cover;background-position:center;background-repeat:no-repeat}
.chat-viewport>.messages{position:absolute;inset:0;z-index:1;background:transparent;overflow:auto}
.chat-viewport .bubble{background:#111d32!important;color:#f7f9ff}
.chat-viewport .message.mine .bubble{background:var(--conversation-accent,#292e73)!important;color:#fff}
.chat-viewport .bubble>time{color:#d0d8ec;min-height:16px;margin-top:4px;justify-content:flex-end}
.chat-viewport .message-reply{background:#0d1728;color:#e1e7f5;opacity:1}
.chat-viewport .sender,.chat-viewport .history-label{background:#0d1728;color:#d0d8ec;padding:3px 8px;border-radius:8px}
.chat-viewport .message-status.read{color:#70e3f3}

/* Audio uses normal grid flow; video keeps the remote screen and local PiP. */
.rtc-screen[data-call-type="audio"]{display:grid!important;grid-template-rows:auto minmax(12px,1fr) auto auto auto auto auto minmax(12px,1fr) auto;justify-items:center;align-items:center!important;gap:12px!important;padding:calc(16px + var(--safe-top)) 20px calc(16px + var(--safe-bottom))!important;overflow:auto}
.rtc-screen[data-call-type="audio"]>header{position:static;grid-row:1;align-self:start;width:100%!important;box-sizing:border-box;background:none;backdrop-filter:none;padding:0}
.rtc-screen[data-call-type="audio"]>#rtc-name{grid-row:3;margin:0!important;width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--font-title,24px)!important;line-height:1.3;text-shadow:none}
.rtc-screen[data-call-type="audio"]>.rtc-stage{position:relative!important;inset:auto!important;grid-row:4;flex:none;width:clamp(110px,22vh,144px)!important;height:clamp(110px,22vh,144px)!important;overflow:visible;background:none}
.rtc-screen[data-call-type="audio"] #rtc-person{position:static;width:100%;height:100%;overflow:visible}
.rtc-screen[data-call-type="audio"] #rtc-person>.avatar{display:grid;place-items:center;width:100%!important;height:100%!important;border-radius:50%!important;overflow:hidden;box-sizing:border-box;position:relative;font-size:40px;line-height:1;background:#292e73;border:2px solid #8d96ee;box-shadow:0 0 0 6px #7484ee0b}
.rtc-screen[data-call-type="audio"] #rtc-person .avatar-initials{font-size:40px;line-height:1}
.rtc-screen[data-call-type="audio"] #rtc-person .avatar-photo{width:100%;height:100%;object-fit:cover;filter:none;transform:none}
.rtc-screen[data-call-type="audio"]>#rtc-state{grid-row:5;margin:0!important;line-height:1.5}
.rtc-screen[data-call-type="audio"]>#rtc-hint{grid-row:6;margin:0!important}
.rtc-screen[data-call-type="audio"]>#rtc-play{grid-row:7;min-height:44px}
.rtc-screen[data-call-type="audio"]>.rtc-controls{grid-row:9;margin:0;padding:0;background:none;align-self:end}
@media(max-height:568px){.rtc-screen[data-call-type="audio"]{gap:8px!important}}
.rtc-screen[data-call-type="video"]>.rtc-remote-identity{position:absolute;z-index:3;top:calc(64px + var(--safe-top));bottom:calc(124px + min(22dvh,190px));left:20px;right:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;min-height:0}
.rtc-remote-identity>#rtc-name{margin:0!important;max-width:100%;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--font-title,23px);line-height:1.3;text-shadow:none;flex:none}
.rtc-remote-identity>#rtc-person{position:static;display:grid;place-items:center;width:clamp(110px,18dvh,140px);height:clamp(110px,18dvh,140px);aspect-ratio:1;flex:none}
.rtc-remote-identity>#rtc-person>.avatar{position:relative;display:grid;place-items:center;width:100%!important;height:100%!important;border-radius:50%!important;overflow:hidden;box-sizing:border-box;background:#292e73;border:2px solid #8d96ee;box-shadow:0 0 0 6px #7484ee0b;font-size:40px;line-height:1}
.rtc-remote-identity #rtc-person .avatar-initials{font-size:40px;line-height:1}
.rtc-remote-identity #rtc-person .avatar-photo{width:100%;height:100%;object-fit:cover;filter:none;transform:none}
.rtc-remote-identity>#rtc-state{margin:0!important;line-height:1.5;flex:none;color:#eef4ff}
.rtc-screen[data-call-type="video"][data-remote-ready="false"] #rtc-remote{visibility:hidden}
.rtc-screen[data-call-type="video"]>.rtc-remote-identity[hidden]{display:none!important}

/* FIBISE human UI pass â€” open surfaces, compact rhythm, intrinsic mobile layout. */
:root{--page-inline:clamp(14px,4vw,24px);--page-max:760px;--hairline:color-mix(in srgb,var(--line) 72%,transparent)}
body{background:var(--bg-main);color:var(--ink)}
.page{width:100%;max-width:var(--page-max);padding:24px var(--page-inline) 40px}
.page>h1,.page .top-bar+h1{max-width:24ch}.page>p.muted{max-width:62ch}
.top-bar{min-height:48px;margin-bottom:18px}.top-bar:empty{min-height:0;margin:0}
.icon-button,.profile-button{border-radius:50%;background:transparent}.icon-button:hover,.profile-button:hover{background:var(--surface-2)}
.section-heading{border-bottom:1px solid var(--hairline);padding-bottom:8px;margin-top:22px}.section-heading h2{margin:0;font-size:var(--font-section)}
.eyebrow{font-size:11px;letter-spacing:.11em;font-weight:700;color:var(--text-muted)}

/* Lists are the default surface; cards are reserved for real objects. */
.compact-list,.directory,.settings-menu,.call-history{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important}
.conversation-row,.directory-row,.settings-row,.participant-row,.session-row,.agent-row{border:0;border-bottom:1px solid var(--hairline);border-radius:0!important;background:transparent!important;margin:0!important}
.conversation-row:last-child,.directory-row:last-child,.settings-row:last-child,.participant-row:last-child{border-bottom-color:transparent}
.conversation-row:hover,.conversation-row.current,.directory-row:hover,.settings-row:hover{background:var(--surface-1)!important}
.row-copy{gap:2px}.row-copy strong{font-size:15px;line-height:1.3}.preview,.row-meta,.directory-row .row-copy>span{font-size:13px;line-height:1.35}
.row-end{gap:5px}.row-end time{font-size:11px}

/* Home: useful actions, not a dashboard made of cards. */
.home-page .home-greeting{margin:4px 0 18px;color:var(--muted)}
.aura-hero{width:100%;min-height:116px;margin:0 0 20px;padding:20px;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(135deg,#111d32,#151d38);color:var(--ink);text-align:left;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;box-shadow:none}
.aura-hero span{font-size:clamp(20px,6vw,29px);line-height:1.08;letter-spacing:-.035em}.aura-hero strong{color:#aeb8ff}.aura-hero i{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--accent);flex:0 0 44px}
.instants-section{margin:18px 0 8px}.instants-section>h2{margin:0 0 10px;font-size:var(--font-section)}
.home-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0 20px}
.home-actions button{min-height:72px!important;padding:8px 4px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:var(--ink)!important;display:flex;flex-direction:column;gap:7px;font-size:12px;line-height:1.2}
.home-actions button:hover{background:var(--surface-1)!important}.home-actions button .ui-icon{width:23px;height:23px;color:#aeb8ff}
.saved-shortcut{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) 24px;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--hairline);text-align:left;color:inherit}.saved-shortcut>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.saved-shortcut small{font-size:12px}.saved-shortcut .setting-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface-2)}

/* Forms: calm, native-feeling, readable. */
input,textarea,select{background:var(--surface-1);border:1px solid var(--line);border-radius:10px;color:var(--ink)}
input:focus,textarea:focus,select:focus{border-color:#6673c8;outline:none;box-shadow:0 0 0 3px #5865f21c}
.auth-panel{width:min(100%,480px);padding:24px var(--page-inline);margin:0 auto}.auth-panel form{margin-top:22px}.auth-links{border-top:1px solid var(--hairline);padding-top:12px}
.primary,.secondary,.danger{border-radius:10px}.secondary{background:var(--surface-2);color:#cbd2ff}.danger{background:#361822;color:#ff9bab}

/* Settings/profile: remove decorative boxes while preserving functional groups. */
.settings-profile,.profile-page .contact-section,.hours,.notification-tip,.support-panel{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding-inline:0!important}
.settings-profile,.profile-page .contact-section,.hours{border-bottom:1px solid var(--hairline)!important;padding-bottom:18px!important}
.setting-icon{border-radius:50%!important}.profile-page .profile-heading{text-align:left;flex-direction:row;align-items:center}.profile-page .profile-heading>.avatar{width:76px;height:76px}.profile-page .share-line{grid-template-columns:minmax(0,1fr) auto auto}

/* Chat: content owns the screen; chrome stays light and compact. */
.chat-heading{background:color-mix(in srgb,var(--bg-main) 94%,transparent);backdrop-filter:blur(12px);padding:8px 10px;border-bottom:1px solid var(--hairline)}
.chat-heading>.avatar{width:38px;height:38px}.chat-title h1{font-size:15px;line-height:1.25}.chat-subtitle{font-size:11px}.chat-tools{gap:0}
.messages{padding:12px clamp(8px,3vw,18px) 16px}.message{max-width:min(82%,560px)}.message .bubble{border:0!important;border-radius:15px!important;box-shadow:none!important;padding:9px 11px!important}.message.mine .bubble{border-bottom-right-radius:5px!important}.message:not(.mine) .bubble{border-bottom-left-radius:5px!important}
.composer{border-top:1px solid var(--hairline);background:var(--bg-main)}.compose-row{gap:4px;padding:7px max(6px,var(--safe-right)) calc(7px + var(--safe-bottom)) max(6px,var(--safe-left))}.compose-row textarea{max-height:132px;min-height:44px;border-radius:22px;padding:10px 12px;background:var(--surface-1)}

/* Dialogs/sheets: one clear surface, never nested decoration. */
dialog{border-color:var(--line);box-shadow:0 20px 70px #0009}dialog .panel-card,dialog .content-card{box-shadow:none}

/* Desktop keeps density without stretching phone-oriented content. */
@media(min-width:901px){.page{padding-top:36px}.home-page{max-width:820px}.auth-panel{padding-top:48px}body[data-section=messages] .page.empty-state{max-width:620px}.rail{background:var(--bg-deep);border-right-color:var(--line)}.nav-item{border-radius:10px}.nav-item.active{background:var(--surface-2)}}

/* Narrow phones: no compression below usable touch/text sizes. */
@media(max-width:600px){
 .page{padding:14px var(--page-inline) calc(24px + var(--safe-bottom))}.page h1{font-size:clamp(21px,6.2vw,25px)}
 .home-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.home-actions button{font-size:11px}.home-actions button .ui-icon{width:21px;height:21px}
 .aura-hero{min-height:104px;padding:16px}.aura-hero span{font-size:clamp(19px,6.4vw,25px)}
 .profile-page .share-line{grid-template-columns:1fr}.profile-page .share-line button{width:100%}
 .message{max-width:88%}.message:has(.message-avatar):not(.mine){max-width:calc(88% - 30px)}
 .shared-screen .content-list .content-card{border-left:0;border-right:0;border-radius:0;padding-inline:0}
}
@media(max-width:359px){
 :root{--page-inline:12px}.home-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.home-actions button{min-height:62px!important;flex-direction:row;justify-content:flex-start;padding-inline:10px!important;font-size:12px}
 .chat-heading{gap:4px;padding-inline:4px}.chat-heading>.avatar{width:34px;height:34px}.chat-tools .icon-button{min-width:40px;width:40px}
 .filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-page .profile-heading>.avatar{width:64px;height:64px}
}


/* FIBISE voice recorder — inline composer */
.voice-recording .compose-row{
  min-height:64px;
}

.voice-inline{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:44px 10px auto minmax(70px,1fr) 44px 48px;
  align-items:center;
  gap:7px;
  padding:6px 4px;
}

.voice-inline-cancel,
.voice-inline-action,
.voice-inline-send{
  width:44px;
  height:44px;
  min-width:44px;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:50%;
}

.voice-inline-cancel{
  border:0;
  background:transparent;
  color:var(--muted);
  font-size:26px;
}

.voice-inline-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#ff5268;
  box-shadow:0 0 0 4px rgba(255,82,104,.10);
  animation:fibiseVoicePulse 1.2s ease-in-out infinite;
}

.voice-inline-time{
  min-width:44px;
  font-variant-numeric:tabular-nums;
  font-size:14px;
  font-weight:700;
}

.voice-inline-wave{
  display:block;
  width:100%;
  height:38px;
  min-width:0;
}

.voice-inline-action{
  border:1px solid var(--line);
  background:var(--surface-1);
  color:var(--ink);
  font-size:18px;
}

.voice-inline-send{
  border:0;
  background:linear-gradient(140deg,#7364fb,#393ff0);
  color:#fff;
  font-size:19px;
  font-weight:800;
}

.voice-inline.paused .voice-inline-dot{
  animation:none;
  opacity:.45;
}

.voice-inline.preparing{
  opacity:.72;
  pointer-events:none;
}

.voice-inline.previewing{
  grid-template-columns:44px minmax(0,1fr) auto 48px;
}

.voice-inline-preview{
  width:100%;
  min-width:0;
  height:42px;
}

.voice-inline-ready{
  font-size:12px;
  color:var(--muted);
  font-variant-numeric:tabular-nums;
}

@keyframes fibiseVoicePulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.45;transform:scale(.82)}
}

@media(max-width:420px){
  .voice-inline{
    grid-template-columns:40px 8px 42px minmax(54px,1fr) 40px 44px;
    gap:4px;
    padding-inline:0;
  }

  .voice-inline-cancel,
  .voice-inline-action{
    width:40px;
    height:40px;
    min-width:40px;
  }

  .voice-inline-send{
    width:44px;
    height:44px;
    min-width:44px;
  }

  .voice-inline.previewing{
    grid-template-columns:40px minmax(0,1fr) 34px 44px;
  }
}

/* Instants V2 — composer humain, thèmes FIBISE et viewer tactile */
#modal:has(#instant-create){
 width:min(94vw,520px);
 max-height:min(92dvh,880px);
 padding:0;
 overflow:hidden;
 background:#08111f;
}

#modal:has(#instant-create)>header{
 padding:16px 18px 10px;
 border-bottom:1px solid #1e2b43;
}

.instant-composer{
 max-height:calc(92dvh - 64px);
 overflow-y:auto;
 padding:14px 16px calc(18px + var(--safe-bottom));
}

.instant-composer .instant-modes{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:8px;
 margin-bottom:14px;
}

.instant-composer .instant-modes button{
 min-height:58px;
 border-radius:14px;
 background:#101c2f;
 border:1px solid #263653;
}

.instant-composer .instant-modes button[aria-pressed=true]{
 background:#1c2850;
 border-color:#7484ff;
 box-shadow:inset 0 0 0 1px #7484ff55;
}

.instant-composer .instant-preview{
 min-height:330px;
 height:min(46dvh,430px);
 max-height:none;
 margin:0;
 border-radius:22px;
 border:1px solid #ffffff14;
 box-shadow:0 18px 50px #00000030;
}

.instant-composer .instant-preview textarea{
 position:relative;
 z-index:2;
 width:100%;
 height:100%;
 min-height:330px;
 resize:none;
 border:0;
 outline:0;
 background:transparent;
 color:#fff;
 padding:34px 26px;
 text-align:center;
 font:700 clamp(24px,7vw,34px)/1.2 inherit;
 display:block;
 box-sizing:border-box;
 overflow:auto;
}

.instant-composer .instant-preview textarea::placeholder{
 color:#ffffffb0;
 opacity:1;
}

.instant-composer .instant-preview img,
.instant-composer .instant-preview video{
 position:absolute;
 inset:0;
 width:100%;
 height:100%;
 object-fit:contain;
 z-index:1;
}

.instant-composer .instant-preview:has(img) textarea,
.instant-composer .instant-preview:has(video) textarea{
 position:absolute;
 left:0;
 right:0;
 bottom:0;
 height:auto;
 min-height:88px;
 max-height:42%;
 padding:38px 20px 18px;
 text-align:left;
 font-size:17px;
 background:linear-gradient(transparent,#050a14e8);
}

.instant-style-tools{
 margin:18px 0 8px;
}

.instant-style-heading{
 display:flex;
 align-items:end;
 justify-content:space-between;
 gap:12px;
 margin-bottom:10px;
}

.instant-style-heading strong{
 font-size:15px;
}

.instant-style-heading span{
 font-size:12px;
 color:#aeb8d0;
}

.instant-themes{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:9px;
}

.instant-theme-choice{
 min-width:0;
 cursor:pointer;
 text-align:center;
}

.instant-theme-choice input{
 position:absolute;
 opacity:0;
 pointer-events:none;
}

.instant-theme-choice>span{
 display:grid;
 place-items:center;
 aspect-ratio:1;
 border-radius:15px;
 background:var(--theme-preview);
 color:white;
 border:2px solid transparent;
 font-size:20px;
 font-weight:800;
 box-shadow:inset 0 0 0 1px #ffffff14;
}

.instant-theme-choice small{
 display:block;
 margin-top:5px;
 color:#aeb8d0;
 font-size:10px;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}

.instant-theme-choice input:checked+span{
 border-color:#fff;
 outline:2px solid #7484ff;
 outline-offset:2px;
}

.instant-theme-choice input:focus-visible+span{
 outline:3px solid #22d3ee;
 outline-offset:2px;
}

.instant-create-bottom{
 position:sticky;
 bottom:calc(-18px - var(--safe-bottom));
 z-index:5;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 margin:18px -16px calc(-18px - var(--safe-bottom));
 padding:12px 16px calc(12px + var(--safe-bottom));
 background:#08111ff2;
 border-top:1px solid #1e2b43;
 backdrop-filter:blur(14px);
}

.instant-create-bottom>span{
 color:#aeb8d0;
 font-size:12px;
}

.instant-create-bottom .primary{
 min-width:126px;
 border-radius:999px;
}

.instant-stage-text>p{
 font-size:clamp(28px,7vw,42px);
 font-weight:750;
 line-height:1.18;
 max-width:92%;
 padding:28px;
 text-wrap:balance;
}

.instant-viewer .instant-identity{
 padding-right:60px;
}

.instant-viewer .instant-stage{
 cursor:pointer;
}

.instant-viewer .instant-nav{
 display:none;
}

@media(max-width:420px){
 .instant-composer{
  padding-left:12px;
  padding-right:12px;
 }

 .instant-composer .instant-preview{
  min-height:300px;
  height:43dvh;
 }

 .instant-composer .instant-preview textarea{
  min-height:300px;
  padding:28px 20px;
 }

 .instant-themes{
  grid-template-columns:repeat(4,minmax(0,1fr));
 }

 .instant-create-bottom{
  margin-left:-12px;
  margin-right:-12px;
 }
}

@media(max-height:650px){
 .instant-composer .instant-preview{
  min-height:220px;
  height:36dvh;
 }

 .instant-composer .instant-preview textarea{
  min-height:220px;
 }

 .instant-theme-choice small{
  display:none;
 }
}
/* =========================================================
   FIBISE — lecteur vocal compact
   ========================================================= */

.audio-card.fibise-voice{
  width:min(280px,72vw);
  min-width:220px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:5px 2px;
  background:transparent;
  border:0;
  box-shadow:none;
}

.fibise-voice > audio{
  display:none;
}

.fibise-voice .voice-play{
  flex:0 0 38px;
  width:38px;
  height:38px;
  min-width:38px;
  min-height:38px;
  padding:0;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.16);
  color:inherit;
  box-shadow:none;
  cursor:pointer;
}

.fibise-voice .voice-play:active{
  transform:scale(.94);
}

.fibise-voice .voice-play-icon{
  display:block;
  font-size:16px;
  line-height:1;
  transform:translateX(1px);
}

.fibise-voice.playing .voice-play-icon{
  transform:none;
  font-size:15px;
}

.fibise-voice .voice-track{
  min-width:0;
  flex:1 1 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
}

.fibise-voice .waveform.voice-progress{
  appearance:none;
  -webkit-appearance:none;
  min-width:0;
  width:100%;
  height:34px;
  margin:0;
  padding:2px 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2px;
  overflow:hidden;
  cursor:pointer;
}

.fibise-voice .waveform.voice-progress i{
  flex:1 1 2px;
  min-width:2px;
  max-width:3px;
  height:var(--voice-level,35%);
  min-height:3px;
  max-height:27px;
  border-radius:999px;
  background:currentColor;
  opacity:.30;
  transition:opacity .12s ease,transform .12s ease;
}

.fibise-voice .waveform.voice-progress i.played{
  opacity:.95;
}

.fibise-voice.playing .waveform.voice-progress i.played{
  transform:scaleY(1.05);
}

.fibise-voice .voice-time{
  min-width:34px;
  font-size:11px;
  line-height:1;
  font-variant-numeric:tabular-nums;
  opacity:.72;
  white-space:nowrap;
}

.fibise-voice .voice-speed{
  flex:0 0 auto;
  min-width:32px;
  height:30px;
  min-height:30px;
  padding:0 5px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.11);
  color:inherit;
  box-shadow:none;
  font-size:11px;
  font-weight:700;
  line-height:1;
}

.message:not(.mine) .fibise-voice .voice-play,
.message:not(.mine) .fibise-voice .voice-speed{
  background:rgba(127,127,127,.12);
}

@media (max-width:430px){
  .audio-card.fibise-voice{
    width:min(252px,70vw);
    min-width:200px;
    gap:7px;
  }

  .fibise-voice .voice-play{
    flex-basis:36px;
    width:36px;
    height:36px;
    min-width:36px;
    min-height:36px;
  }

  .fibise-voice .waveform.voice-progress{
    height:32px;
  }
}
/* Shared product surfaces. Colours inherit the light/dark foundation tokens. */
.secondary{color:var(--ink);background:var(--surface-2)}
.danger{color:var(--danger);background:var(--surface-2)}
.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:60px;margin-bottom:var(--space-3)}
.app-header nav{display:flex;align-items:center;gap:var(--space-1)}
.app-header nav a{display:grid;place-items:center;min-width:var(--touch);min-height:var(--touch);color:var(--ink)}
.app-header .avatar{width:32px;height:32px;min-width:32px}
.app-header svg,.composer-shortcuts svg,.home-universes svg{width:22px;height:22px}
.page.home-page,.page.publications-page,.page.publication-compose-page{max-width:760px;margin-inline:auto;padding:var(--space-4)}
.home-page h1{font-size:var(--font-section);margin:0}
.home-page .home-greeting{font-size:var(--font-secondary);margin:4px 0 12px}
.home-page .instants-section{margin:0 0 12px}
.quick-composer{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);background:var(--surface-1);margin-bottom:var(--space-3)}
.quick-composer>div:first-child{display:flex;align-items:center;gap:var(--space-2)}
.quick-composer [data-new]{flex:1;text-align:left;background:transparent;border:0;color:var(--muted);font-size:var(--font-secondary);min-height:44px}
.composer-shortcuts{display:flex;border-top:1px solid var(--line);margin-top:8px;padding-top:4px;gap:8px}
.composer-shortcuts button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:44px;border:0;background:var(--surface-2);border-radius:var(--radius-sm);color:var(--ink)}
.home-page .home-universes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.home-page .home-universes a{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;background:var(--tint);border:0;border-radius:var(--radius-md);color:var(--ink);text-decoration:none}
.home-page .home-universes a:first-child{background:var(--accent);color:white}
.home-universes span{font-size:var(--font-meta)}
.home-page .home-universes a:first-child span{color:white}
.home-secondary{border-top:1px solid var(--line);padding:16px 0;margin-top:16px}
.home-secondary summary{min-height:44px;cursor:pointer}
[data-home-feed]>.publications-page{padding:0}
.publications-page .feed-tabs{display:flex;flex-wrap:nowrap;gap:6px;margin:0 0 12px}
.feed-tabs button{flex:1;min-width:0;padding:8px;font-size:var(--font-meta);min-height:44px}
.feed-tabs [aria-pressed=true]{color:white;background:var(--accent);border-color:var(--accent)}
.publication-card{border:1px solid var(--line);background:var(--surface-1);border-radius:var(--radius-md);padding:12px;margin-bottom:12px;overflow:hidden}
.publication-card>header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.publication-card>header>div{flex:1;min-width:0}
.publication-card .post-author{color:var(--ink);text-decoration:none;overflow-wrap:anywhere;font-size:var(--font-secondary)}
.publication-card header small{display:block;color:var(--muted);font-size:var(--font-meta)}
.publication-card .post-detail-link{font-size:var(--font-meta);min-height:44px;display:flex;align-items:center;color:var(--blue)}
.publication-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--font-secondary);margin:10px 0}
.publication-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;border-radius:var(--radius-sm);overflow:hidden}
.publication-gallery[data-size="1"]{grid-template-columns:1fr}
.publication-gallery[data-size="0"]{display:none}
.publication-gallery .media-tile{position:relative;min-width:0;aspect-ratio:1}
.publication-gallery[data-size="1"] .media-tile{aspect-ratio:4/3}
.media-tile>a{display:block;width:100%;height:100%}
.publication-gallery .media-tile img,.publication-gallery .media-tile video{width:100%;height:100%;object-fit:cover;max-height:none}
.media-tile [data-gallery]{position:absolute;inset:0;border:0;border-radius:0;background:#0009;color:white;font-size:1.5rem}
.publication-card>footer{display:flex;flex-wrap:wrap;gap:4px;border-top:1px solid var(--line);margin-top:8px;padding-top:4px}
.publication-card>footer button{min-height:44px;font-size:var(--font-meta)}
.full-publication-gallery{display:grid;gap:12px;max-height:65dvh;overflow:auto}
.full-publication-gallery img,.full-publication-gallery video{width:100%;max-height:60dvh;object-fit:contain}
.product-empty{display:grid;justify-items:center;gap:8px;padding:24px 12px;text-align:center;color:var(--muted)}
.product-empty svg{width:32px;height:32px}
.product-empty p{margin:0;font-size:var(--font-secondary)}
.editor-header{display:flex;align-items:center;gap:12px}
.editor-header h1{font-size:var(--font-section)}
.editor-identity{display:flex;align-items:center;gap:12px;margin:16px 0}
.publication-compose-page textarea{min-height:140px}
.publication-compose-page .publication-editor{display:grid;gap:12px}
.publication-draft-item{min-width:0}
.publication-draft-item span{overflow-wrap:anywhere;min-width:0}
.publication-comment p{overflow-wrap:anywhere}
.profile-page{max-width:820px;margin-inline:auto}
.profile-cover-fallback{height:160px;background:linear-gradient(125deg,var(--accent),var(--cyan));border-radius:var(--radius-md);margin-bottom:-44px}
.profile-page .profile-heading{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin:0;padding:0;background:none}
.profile-page .profile-heading>.avatar{width:96px;height:96px;min-width:96px;border:4px solid var(--surface-1)}
.profile-page .profile-heading>.avatar{box-shadow:none}
.profile-page .profile-heading h1{font-size:var(--font-section);margin:0}
.profile-page .profile-description{text-align:center;font-size:var(--font-secondary);margin:12px 0}
.profile-page .social-profile{padding:8px 0;border:0;background:transparent;box-shadow:none;margin:0}
.profile-page .social-profile h2{font-size:var(--font-secondary);margin:4px 0}
.profile-page .social-profile>p{font-size:var(--font-meta);margin:4px 0;color:var(--muted)}
.profile-page .social-profile .button-row{gap:4px}
.profile-page .social-profile button{min-height:44px;font-size:var(--font-meta)}
.profile-page .contact-section{margin:8px 0;padding:8px 0;border:0}
.profile-page .contact-section h2{font-size:var(--font-secondary);margin:0 0 8px}
.profile-page .contact-section>p{font-size:var(--font-meta);margin:4px 0}
.profile-page .contact-section>button{margin:4px;min-height:44px}
.profile-feed>.publications-page{padding:0}
.profile-about{padding:12px 0}
.discover-page{max-width:900px;margin-inline:auto}
.discover-page .search-form{display:flex;gap:4px;margin-bottom:12px}
.discover-page .search-field{flex:1;min-width:0}
.discover-page .search-field input{min-width:0;width:100%;font-size:var(--font-secondary)}
.discover-page .feed-tabs button{padding:4px;font-size:11px}
.discover-page .feed-tabs button{white-space:nowrap;font-size:10px;letter-spacing:0}
.discover-page .search-form{align-items:center;margin-top:0}
.discover-page .search-form>button{font-size:var(--font-meta);padding:8px}
.discover-page .search-field{margin:0}
.publication-card .post-detail-link{flex:0 0 44px;overflow:hidden;font-size:0}
.publication-card .post-detail-link::after{content:'↗';font-size:20px;margin:auto}
.publication-card header .avatar{width:40px;height:40px;min-width:40px}
.home-page .quick-composer .avatar,.publications-page .quick-composer .avatar{width:36px;height:36px;min-width:36px}
.home-page .instant-strip .empty-state{min-height:0;padding:8px}
.home-page .instant-strip .empty-state h2{font-size:var(--font-secondary);margin:4px 0}
.home-page .instant-strip .empty-state p{font-size:var(--font-meta);margin:0}
.inbox-advanced{margin:0 16px;font-size:var(--font-meta);color:var(--muted)}
.inbox-advanced summary{display:flex;align-items:center;min-height:44px;cursor:pointer}
.inbox-advanced select{width:100%}
.inbox-header-actions #inbox-calls{min-width:44px;min-height:44px;font-size:var(--font-meta);padding:8px}
.inbox .filter-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.inbox .filter-row button{min-height:44px;padding:6px;font-size:var(--font-meta)}
.inbox .filter-row button.selected{background:var(--accent);color:white}
.inbox .workspace{padding-block:8px}
.inbox .conversation-row{min-height:76px;padding-block:10px}
.inbox .row-copy .preview{color:var(--muted)}
.profile-page .social-profile .button-row{margin:6px 0}
.profile-page .contact-section{margin:4px 0}
.profile-post-count{display:flex;align-items:center;min-height:44px;padding:8px;font-size:var(--font-meta)}
.home-page .instant-strip .aura-empty{min-height:0;padding:8px;gap:4px;text-align:left}
.home-page .instant-strip .aura-empty strong{font-size:var(--font-secondary)}
.home-page .instant-strip .aura-empty p{font-size:var(--font-meta);margin:0}
.home-page .instant-strip .aura-empty svg{width:22px;height:22px}
.publication-compose-page{position:relative}
.publication-compose-page .editor-header{padding-right:80px}
.publication-compose-page .editor-header h1{font-size:var(--font-name)}
.publication-compose-page .publication-editor>button[type=submit]{position:absolute;top:16px;right:16px;width:auto;min-height:44px;padding:8px 12px}
.publication-compose-page .publication-editor label{margin:4px 0}
.publication-compose-page .publication-editor{gap:8px}
.publication-compose-page .publication-picker{font-size:var(--font-secondary)}
.professional-cover-fallback{height:100px;background:linear-gradient(125deg,var(--accent),var(--cyan));border-radius:var(--radius-md);margin-bottom:12px}
.business-page,.communities-page{max-width:900px;margin-inline:auto}
.business-page .panel-card{padding:12px;margin-block:12px}
.business-page h2,.communities-page h2{font-size:var(--font-section)}
.business-page>.button-row button,.community-heading>.button-row button{padding:8px;font-size:var(--font-meta)}
.community-heading p,.business-page p{font-size:var(--font-secondary);overflow-wrap:anywhere}
.community-heading details{margin:8px 0}
.community-heading details summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
:root[data-theme=light] .message .bubble{background:var(--tint);color:var(--ink);border-color:var(--line)}
:root[data-theme=light] .message.mine .bubble{background:var(--accent);color:white;border-color:var(--accent)}
:root[data-theme=light] .message time{color:var(--muted)}
:root[data-theme=light] .message.mine time,:root[data-theme=light] .message.mine .message-status{color:white}
:root[data-theme=light] .composer .icon-button,:root[data-theme=light] .chat-tools .icon-button{color:var(--blue)}
@media(max-width:900px){body:has(.profile-heading) .mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%}.profile-page{padding-bottom:80px}}
.discover-section{margin:16px 0}
.discover-section>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.discover-section h2{font-size:var(--font-secondary);margin:0}
.discover-section>header>a{font-size:var(--font-meta);min-height:44px;display:flex;align-items:center}
.discovery-people,.discovery-communities{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x proximity}
.discovery-person,.discovery-community{flex:0 0 130px;min-width:0;padding:10px;border:1px solid var(--line);background:var(--surface-1);border-radius:var(--radius-md);text-align:center;scroll-snap-align:start}
.discovery-person a,.discovery-community{color:var(--ink);text-decoration:none}
.discovery-person strong,.discovery-person small,.discovery-community strong,.discovery-community small{display:block;overflow-wrap:anywhere;font-size:var(--font-meta);margin:6px 0}
.discovery-person .avatar{width:56px;height:56px;margin:auto}
.discovery-person button{width:100%;min-height:44px;padding:6px;font-size:var(--font-meta)}
.discovery-person p{font-size:var(--font-meta);margin:0}
.discovery-community img,.discovery-cover{display:grid;place-items:center;width:100%;height:90px;object-fit:cover;background:var(--tint);border-radius:var(--radius-sm)}
.discovery-cover svg{width:36px;height:36px}
.discovery-community>span:last-child{display:block;min-height:44px;padding:12px;font-size:var(--font-meta);color:var(--blue)}
.discover-section .publications-page{padding:0}
.home-page .instant-strip>.empty-state{padding:8px;min-height:0;text-align:left}
.home-page .instant-strip>.empty-state h2{font-size:var(--font-secondary)}
.home-page .instant-strip>.empty-state p{font-size:var(--font-meta);margin:4px 0}
:is(.app-header,.quick-composer,.home-universes,.publication-card,.feed-tabs) :focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(min-width:1100px){.page.home-page,.page.publications-page{max-width:820px;padding-inline:32px}}
@media(min-width:700px){
 .discover-page [data-results]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .discover-section:first-child,.discover-section:has(.publications-page){grid-column:1/-1}
 .discover-section{min-width:0}
 .discover-page .feed-tabs button{font-size:var(--font-meta)}
}
@media(prefers-reduced-motion:reduce){.publication-card,.quick-composer,.feed-tabs button{animation:none;transition:none}}
/* Navigation extension: shared foundations, no alternate light/dark palette. */
.app-header{gap:4px}
.app-header>.brand-lockup{margin-right:auto;min-width:0}
.app-header .brand-lockup img{width:28px;height:32px}
.general-menu-toggle{min-width:44px;min-height:44px;color:var(--ink);font-size:24px}
.inbox .top-bar{gap:2px}
.inbox .top-bar .brand-lockup{margin-right:auto}
.inbox .top-bar .brand-lockup strong{font-size:16px}
.inbox .top-bar .brand-lockup img{width:24px}
.inbox .inbox-header-actions{gap:0}
#general-menu.general-menu{position:fixed;inset:0 auto 0 0;margin:0;width:min(340px,calc(100vw - 44px));height:100dvh;max-height:100dvh;max-width:100vw;padding:20px 16px calc(20px + var(--safe-bottom));border:0;border-right:1px solid var(--line);border-radius:0;background:var(--surface-1);color:var(--ink);overflow:auto;box-shadow:8px 0 32px #0003}
#general-menu::backdrop{background:#07111f88}
#general-menu>header{display:flex;align-items:center;justify-content:space-between;padding:0;margin-bottom:16px}
#general-menu .menu-identity{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.menu-identity>div{min-width:0;overflow-wrap:anywhere}
.menu-identity small,.menu-identity a{display:block;font-size:var(--font-meta);margin-top:4px}
.menu-identity a{min-height:44px;display:flex;align-items:center}
#general-menu nav{display:block}
#general-menu section{border-top:1px solid var(--line);padding:8px 0}
#general-menu h2{font-size:var(--font-meta);margin:8px 0;color:var(--muted)}
#general-menu nav a,.menu-spaces a{display:flex;gap:12px;align-items:center;min-height:44px;padding:8px;border-radius:var(--radius-sm);text-decoration:none;color:var(--ink);font-size:var(--font-secondary)}
#general-menu a[aria-current=page],#general-menu nav a:hover{background:var(--tint);color:var(--blue)}
#general-menu a svg{width:22px;height:22px;flex-shrink:0}
.menu-spaces p{font-size:var(--font-secondary);color:var(--muted)}
.menu-theme{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0;min-height:44px}
.menu-theme input{width:24px;min-height:24px;margin:0;accent-color:var(--accent)}
.rail-extras{display:flex;flex-direction:column;padding:8px 16px;border-top:1px solid var(--line)}
.rail-extras a{font-size:var(--font-secondary);color:var(--muted);text-decoration:none;min-height:44px;display:flex;align-items:center}
.rail{overflow-y:auto}
.pro-page{max-width:920px;margin-inline:auto}
.pro-page h1{font-size:var(--font-title)}
.pro-welcome{text-align:center;max-width:520px;margin:20px auto}
.pro-emblem{display:grid;place-items:center;border-radius:50%;width:112px;height:112px;margin:0 auto 16px;background:var(--tint);color:var(--accent)}
.pro-emblem svg{width:64px;height:64px}
.pro-welcome h2{font-size:var(--font-section);margin:8px 0}
.pro-welcome p{font-size:var(--font-secondary);color:var(--muted)}
.pro-welcome .primary{width:100%;min-height:44px}
.pro-categories{display:grid;gap:12px;margin:20px auto;max-width:560px}
.pro-categories article{display:flex;gap:12px;align-items:center}
.pro-categories article>svg{width:40px;height:40px;flex-shrink:0;padding:8px;background:var(--tint);border-radius:var(--radius-md);color:var(--blue)}
.pro-categories strong{font-size:var(--font-secondary)}
.pro-categories p{font-size:var(--font-meta);color:var(--muted);margin:2px 0}
.pro-space{display:flex;align-items:center;gap:12px;min-height:80px;padding:12px 0;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}
.pro-space>span:not(.avatar){flex:1;min-width:0}
.pro-space strong,.pro-space small{display:block;overflow-wrap:anywhere}
.pro-space small{font-size:var(--font-meta);color:var(--muted);margin-top:4px}
.pro-space>svg{width:20px;height:20px}
.pro-create{max-width:600px}
.pro-page .wide{margin-top:16px}
.pro-role{color:var(--muted)}
.pro-advanced{padding:8px 0}
.pro-advanced summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.pro-advanced button{margin:4px}
:is(.general-menu,.pro-page,.rail-extras) :focus-visible{outline:3px solid var(--blue);outline-offset:2px}
@media(min-width:700px){.pro-page:has(.pro-welcome) [data-pro-content]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center}.pro-page:has(.pro-welcome) [data-pro-content]>.secondary{grid-column:1/-1}.pro-page [data-pro-list]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(prefers-reduced-motion:no-preference){#general-menu[open]{animation:menu-enter .16s ease-out}@keyframes menu-enter{from{transform:translateX(-20px);opacity:.3}to{transform:none;opacity:1}}}
