:root{--nv-mask:.15;--nv-blur:0px}[data-ui-scale="115"]{font-size:115%}[data-ui-scale="130"]{font-size:130%}[data-ui-scale="115"] button,[data-ui-scale="130"] button,[data-ui-scale="115"] input,[data-ui-scale="130"] input,[data-ui-scale="115"] label,[data-ui-scale="130"] label,[data-ui-scale="115"] .contact strong,[data-ui-scale="130"] .contact strong{font-size:1rem!important;line-height:1.5}[data-ui-scale="130"] .glass-menu{width:min(300px,calc(100vw - 20px))!important}[data-ui-scale="130"] .contact{min-height:84px}[data-ui-scale="115"] dialog,[data-ui-scale="130"] dialog{width:min(620px,calc(100vw - 20px))}[data-contrast="true"]{--muted:#344e59}[data-contrast="true"] .bubble,[data-contrast="true"] .mine .bubble{background:#fff!important;color:#10232c!important;border:1px solid #567782}[data-contrast="true"] .message-meta{color:#344e59!important}#messages{position:relative;background-attachment:local}.bubble{background:#fffffff0;border:1px solid #ffffffad;box-shadow:0 2px 7px #234a4f12}.mine .bubble{background:#d6eee9f2;border-color:#c3dfd9}.bubble{backdrop-filter:blur(4px)}.message-meta small{font-size:inherit;white-space:nowrap}.nv-background-sample{height:120px;border-radius:14px;display:grid;place-items:center;color:#193c47;background-color:#d9ebe5;margin:12px 0}.nv-shortcuts{display:flex;flex-wrap:wrap;gap:5px}.nv-settings-entry{width:100%;margin-bottom:12px;background:#e2f0ee;text-align:left}.nv-edit{display:flex;justify-content:space-between;align-items:center;border-left:3px solid #3390ec;padding:5px 10px;color:#38636a}.nv-viewer{position:fixed;inset:0;background:#0a141af5;z-index:200;display:flex;flex-direction:column;color:white}.nv-view-controls{display:flex;gap:8px;flex-wrap:wrap;padding:12px;padding-top:calc(12px + env(safe-area-inset-top))}.nv-view-controls button{background:#ffffff18;color:white}.nv-view-stage{flex:1;min-height:0;display:grid;place-items:center;overflow:hidden;touch-action:none}.nv-view-media{max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;transform-origin:center}.nv-viewing{overflow:hidden}.nv-drag-select{touch-action:none;user-select:none}.contact{position:relative}.nv-swipe-delete{position:absolute;right:0;inset-block:0;color:white;background:#c94856;z-index:4;border-radius:12px}.nv-camera-zoom{position:absolute;bottom:180px;left:50%;transform:translateX(-50%);display:flex;gap:9px;z-index:4}.nv-camera-zoom button{background:#1f292ebd;color:white;border-radius:22px}#camera-page .camera-live{object-fit:contain}#selection-toolbar{flex-wrap:wrap;min-height:54px;height:auto!important}#selection-toolbar button{padding:8px}#dialog-body details{padding:12px 0;border-bottom:1px solid #d4e2e4}#dialog-body summary{cursor:pointer;font-weight:600}#nv-add-contact{min-height:40px}@media(max-width:700px){#messages{padding:12px 9px!important}.bubble{max-width:84vw!important}.visual-bubble{max-width:90vw!important}.message-image,.message-media{width:min(390px,84vw)!important;max-height:65vh;object-fit:contain}.contact{gap:10px}.composer-wrap{padding-inline:9px}.nv-view-controls button{padding:8px 10px}}@media(prefers-reduced-transparency:reduce){.bubble{backdrop-filter:none;background:#fff}.mine .bubble{background:#d6eee9}}

#messages::before{content:"";position:absolute;inset:0;background-image:inherit;background-size:inherit;background-position:inherit;filter:blur(var(--nv-blur));pointer-events:none;z-index:0}#messages::after{content:"";position:absolute;inset:0;background:rgba(240,247,246,var(--nv-mask));pointer-events:none;z-index:0}#messages>*{position:relative;z-index:1}

.bubble,.mine .bubble{color:#173d47}.message-text{color:inherit}#dialog-body [hidden]{display:none!important}

.camera-open #app video,.camera-open #app audio{visibility:hidden!important;pointer-events:none!important}

#app>aside{position:relative;background-repeat:no-repeat}#app>aside::before{content:"";position:absolute;inset:0;background-image:inherit;background-size:inherit;background-position:inherit;filter:blur(var(--nv-blur));pointer-events:none}#app>aside::after{content:"";position:absolute;inset:0;background:rgba(246,250,249,var(--nv-main-mask,.55));pointer-events:none}#app>aside>header,#app>aside>#contacts,#app>aside>footer,#app>aside>.sidebar-search,#app>aside>.section-label,#app>aside>.sidebar-tools{position:relative;z-index:1}@media(max-width:700px){.bubble{backdrop-filter:none}}

#contacts .contact{touch-action:pan-y}

/* Unified interaction surfaces and selection alignment. */
#group-button,#members-button,#remove-friend{display:none!important}.section-label{font-size:clamp(14px,1rem,20px)!important;display:flex;align-items:center;justify-content:space-between;padding:12px 16px!important}.section-label #count{font-size:inherit!important}
#dialog-body .preference-card{background:var(--glass-card,#ffffffb8);border:1px solid #ffffff80;border-radius:16px;padding:16px;margin-bottom:12px}#dialog-body .preference-heading{font-size:1rem;margin:0 0 12px}.theme-settings label{font-size:1rem}.theme-settings button{min-height:42px}.settings-categories{display:flex;flex-direction:column;gap:9px}.settings-categories button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--glass-card,#ffffffbc);border-radius:12px;padding:13px 16px}.line-icon{width:21px;height:21px;flex:0 0 21px;vertical-align:middle}
.user-search-line{display:flex;align-items:end;gap:8px}.user-search-line label{flex:1;min-width:0}.user-search-line button{min-height:44px;margin-bottom:0}.user-search-result{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:14px 0}.user-result-copy{flex:1}.user-result-copy strong,.user-result-copy small{display:block}.user-search-result .dialog-actions{width:100%}
#address-book{position:fixed;inset:0;z-index:70;background:#16333a50;display:grid;place-items:center;padding:14px}#address-book.hidden{display:none!important}#address-book .address-shell{position:relative;display:flex;flex-direction:column;width:min(430px,100%);height:min(650px,85dvh);border-radius:20px;background:var(--glass-menu,#f9fcfdf0);box-shadow:0 20px 80px #173e4938;overflow:hidden;backdrop-filter:blur(16px)}#address-book header{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:18px}#address-book header h2{font-size:1.05rem;margin:0}.address-list{overflow:auto;flex:1;min-height:0}.address-footer{display:flex;justify-content:space-between;padding:14px;border-top:1px solid #a9c3cb40}.address-footer button{display:flex;align-items:center;gap:7px}.address-contact{padding:10px 18px;gap:12px;display:flex;align-items:center;width:100%}.address-contact strong,.address-contact small{display:block;text-align:left}
#selection-toolbar{display:grid!important;grid-template-columns:auto minmax(48px,1fr) repeat(4,auto);align-items:center;gap:4px;flex-wrap:nowrap}#selection-toolbar.hidden{display:none!important}#selection-toolbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:clamp(11px,.8rem,16px)!important;padding:5px 7px;min-height:50px;white-space:nowrap}#selection-toolbar .selection-count{font-size:clamp(11px,.8rem,16px);margin:0;text-align:left}#selection-toolbar button .line-icon{width:18px;height:18px;flex-basis:18px}
.selection-mode .message-row,.selection-mode .message-row.mine{position:relative;display:flex;align-items:center;padding:4px 38px 4px 4px!important;min-height:40px;width:100%}.selection-mode .message-select,.selection-mode .mine .message-select{position:absolute;right:4px;top:50%;transform:translateY(-50%);margin:0!important;width:22px;height:22px;order:0;border:2px solid #a4b9b8;line-height:18px;display:grid;place-items:center}.selection-mode .message-selected .message-select{background:#42b653;border-color:#fff;color:#fff;box-shadow:0 0 0 1px #42b653}.selection-mode .message-selected{background:#56b59c14}.selection-mode .bubble{max-width:min(100%,650px)!important}.selection-mode .mine .bubble{margin-left:auto}
.send-spinner{display:inline-block;width:12px;height:12px;border:1.5px solid #83a6ad;border-right-color:transparent;border-radius:50%;animation:send-rotate .8s linear infinite}.send-retry{font-size:11px!important;padding:2px 4px!important;color:#c64954}.pending-message .bubble{opacity:.9}.original-quality{font-size:12px;color:var(--muted);margin-right:auto}@keyframes send-rotate{to{transform:rotate(360deg)}}
#camera-page .camera-live{width:100%;height:100%;object-fit:cover;aspect-ratio:9/16}#camera-page .camera-stage{width:min(100%,56.25dvh);margin:auto;aspect-ratio:9/16}#camera-page .camera-result{object-fit:contain}.nv-camera-zoom{bottom:165px}.attachment-choice{display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:8px}.attachment-choice svg{width:26px;height:26px}.message-popup button{display:flex;align-items:center;gap:10px}
@media(max-width:450px){#selection-toolbar{gap:1px}#selection-toolbar button{padding:4px 3px}.selection-toolbar .selection-count{min-width:38px}.user-search-line button{padding-inline:12px}}@media(prefers-reduced-motion:reduce){.send-spinner{animation-duration:1.8s}}
