/* Focused mobile surfaces; inherit the app's light/dark palette. */
body:not(.light) .mobile-screen{--screen-bg:#12151b;--screen-surface:#22252e;--text:#f2f2f6;--muted:#aaaeba;--line:#343741;--accent:#bda2f4;--selected:#302a42}
.contacts-screen .contacts-search{flex-direction:row;margin:0;gap:12px}.contacts-search>.ui-icon{flex:none}
.poll-screen .screen-scroll>.ui-field{padding:0;margin:0}.media-viewer .mv-menu{z-index:10}
body:has(.contacts-screen[open]) .orb-bottom-nav .ui-icon{color:inherit}body:has(.contacts-screen[open]) .orb-bottom-nav [aria-current=true]{background:var(--selected);border-radius:18px}
.mobile-screen{--screen-bg:var(--bg);--screen-surface:var(--panel2);width:min(560px,100vw);height:min(820px,100dvh);max-width:100vw;max-height:100dvh;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--screen-bg);color:var(--text);overflow:hidden;box-shadow:none}
.mobile-screen[open]{display:flex;flex-direction:column}.mobile-screen button{font:inherit}.mobile-screen button:disabled{opacity:.38;cursor:default}.mobile-screen button:focus-visible,.mobile-screen input:focus-visible,.mobile-screen textarea:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.screen-header{display:flex;align-items:center;gap:10px;padding:12px 14px;min-height:68px;flex:none;background:var(--screen-bg)}.screen-header h2{font-size:20px;line-height:1.25;font-weight:600;margin:0;flex:1;min-width:0;overflow-wrap:anywhere}.screen-icon{width:44px;min-width:44px;height:44px;padding:10px;display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:12px;background:transparent;color:var(--muted)}.screen-icon .ui-icon{color:inherit;margin:0}.screen-icon svg{width:24px;height:24px}.screen-icon:hover{background:var(--selected)}.screen-icon:active{background:var(--panel2)}.screen-primary{border:0;border-radius:12px;min-height:44px;padding:10px 16px;background:var(--accent);color:var(--accentText);font-weight:600!important}.screen-scroll{overflow:auto;overscroll-behavior:contain;min-height:0;flex:1;padding:12px 18px 24px;scroll-padding:20px}.screen-section{margin:24px 0}.screen-section h3,.poll-screen .ui-field{font-size:15px;font-weight:400;color:var(--muted);margin:0 0 10px}.poll-screen .ui-field{display:block}.poll-screen .ui-field textarea{display:block;width:100%;resize:vertical;min-height:80px;max-height:200px;margin-top:10px;background:var(--screen-surface);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:16px;font:inherit;font-size:17px;line-height:1.45}.screen-group{border:1px solid var(--line);border-radius:14px;background:var(--screen-surface);overflow:hidden}.poll-edit-option{display:flex;align-items:center;min-height:60px;position:relative;margin:0 10px;border-bottom:1px solid var(--line);gap:2px}.poll-edit-option input{flex:1;min-width:0;width:0;background:none;border:0;box-shadow:none;border-radius:6px;padding:12px 4px;min-height:48px;font:inherit;font-size:16px;color:var(--text)}.poll-grip{touch-action:none;cursor:grab;color:var(--muted);width:36px;min-width:36px}.poll-grip svg{stroke-width:5;stroke-linecap:round}.poll-edit-option.is-moving{opacity:.6}.poll-edit-option.drop-target{box-shadow:inset 0 -2px var(--accent)}.poll-add{display:flex;align-items:center;gap:14px;width:100%;border:0;background:none;color:var(--accent);min-height:58px;padding:12px 18px;text-align:left}.poll-add .ui-icon{width:30px;height:30px;background:var(--selected);border-radius:50%;padding:4px}.poll-screen .control-row{background:transparent;padding:16px;min-height:66px;gap:16px}.poll-screen .control-row+.control-row{border-top:1px solid var(--line)}.poll-screen .ui-label{font-size:16px}.poll-screen .ui-hint{font-size:13px;line-height:1.4;margin-top:5px}.poll-screen .ui-switch{flex:none}.screen-hint,.contacts-count{font-size:14px;color:var(--muted);line-height:1.5;margin:12px 4px}.screen-live{font-size:13px;color:var(--muted);min-height:1em}.contacts-screen .screen-header h2{font-size:28px;letter-spacing:-.4px}.contacts-screen .screen-header{padding:18px 18px 4px}.contacts-search{display:flex;align-items:center;gap:12px;background:var(--screen-surface);border:1px solid var(--line);border-radius:14px;padding:0 14px;min-height:50px}.contacts-search .ui-icon{color:var(--muted)}.contacts-search input{width:100%;min-width:0;border:0;background:none;color:var(--text);box-shadow:none;font:inherit;font-size:17px;padding:12px 0;min-height:48px}.contacts-count{margin:22px 2px 10px}.contact-entry{display:flex;align-items:center;gap:6px;min-height:84px;border-bottom:1px solid var(--line);position:relative}.contact-person{display:flex;align-items:center;gap:16px;flex:1;min-width:0;text-align:left;border:0;background:none;color:var(--text);padding:12px 2px;border-radius:8px;min-height:80px}.contact-person .avatar{width:56px;height:56px;flex:none}.contact-copy{display:flex;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere}.contact-copy strong{font-size:17px;font-weight:600}.contact-copy>span{font-size:15px;color:var(--muted)}.contact-menu{position:absolute;z-index:4;right:0;top:60px;border:1px solid var(--line);background:var(--panel);border-radius:12px;max-width:100%;overflow:hidden}.contact-menu .ui-row{min-height:48px}.contacts-screen.orb-root-modal .contacts-back{display:none}.contact-add-screen .ui-field{margin:0 0 16px}.contact-add-screen input{width:100%}
body:has(.poll-screen[open],.contact-add-screen[open],.media-viewer[open]) .orb-bottom-nav{display:none!important}
@media(max-width:850px),(max-height:500px) and (pointer:coarse){.mobile-screen{position:fixed!important;inset:0!important;margin:0!important;width:100%!important;height:100dvh!important;max-height:100dvh!important;border:0!important;border-radius:0!important}.contacts-screen.orb-root-modal{height:calc(100dvh - 64px)!important;z-index:14}.screen-scroll{padding:12px 16px 24px}.screen-header{padding:10px 8px}.poll-screen .screen-header h2{font-size:18px;text-align:center}.screen-primary{padding:10px 12px;font-size:15px!important}}
@media(max-width:340px){.screen-header{gap:4px}.poll-screen .screen-header h2{font-size:16px}.screen-primary{padding:10px}.contact-person{gap:12px}.screen-scroll{padding-left:12px;padding-right:12px}}

/* Photo and video chrome sit over the actual, uncropped media. */
.media-viewer .mv-stage{position:absolute;inset:0}.media-viewer .mv-header{min-height:62px;gap:8px;padding:8px;color:#faf9ff}.media-viewer .mv-sender{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.media-viewer .mv-sender strong{font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-viewer .mv-sender small{font-size:12px;color:#d0ced7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-viewer .mv-header .mv-button{background:transparent;width:44px;height:44px}.media-viewer .mv-footer{position:absolute;z-index:3;inset:auto 0 0;background:linear-gradient(transparent,#090b12e8);padding:24px 16px 14px;pointer-events:auto}.media-viewer .mv-video-controls{position:static;padding:0;background:none}.media-viewer .mv-timeline{margin:0;width:100%;height:28px;accent-color:#b58aef}.media-viewer .mv-clock{display:flex;justify-content:space-between;line-height:1.5;font-size:13px;font-variant-numeric:tabular-nums}.media-viewer .mv-tools{display:grid;grid-template-columns:64px minmax(0,1fr) 44px 44px;gap:8px;min-height:60px;max-width:none;margin-top:8px}.media-viewer .mv-tools select{width:64px;min-height:44px;max-width:none;background:transparent;padding:5px;color:#fff;font-size:16px}.media-viewer .mv-tools .mv-button{width:44px;height:44px;background:transparent}.media-viewer .mv-tools .mv-filmstrip{height:48px;min-width:0;padding:0}.media-viewer .mv-filmstrip:empty{display:none}.media-viewer .mv-transport{inset:0;display:grid;place-items:center;pointer-events:none}.media-viewer .mv-transport .mv-play{width:64px;height:64px;border:0;background:#171a23a6;pointer-events:auto}.media-viewer .mv-transport .mv-play::before{content:none}.media-viewer .mv-play svg{width:30px;height:30px}.media-viewer .mv-counter{top:70px;font-size:12px;pointer-events:none}.media-viewer.mv-profile .mv-counter{display:none}.media-viewer.mv-profile .mv-footer{padding:30px 16px 24px}.mv-profile-actions{display:flex;justify-content:center;align-items:center;width:max-content;margin:auto;border-radius:30px;background:#191b21df;padding:4px 14px}.mv-profile-actions .mv-button{background:none;width:52px;height:48px}.mv-profile-actions .mv-button+.mv-button{border-left:1px solid #ffffff30;border-radius:0}.mv-seek-feedback{position:absolute;z-index:2;top:45%;border-radius:28px;background:#161925cc;color:#fff;padding:18px;pointer-events:none;font-size:18px}.mv-seek-feedback.left{left:12%}.mv-seek-feedback.right{right:12%}.media-viewer .mv-footer,.media-viewer .mv-counter{transition:opacity .2s}.media-viewer.mv-controls-hidden .mv-footer,.media-viewer.mv-controls-hidden .mv-counter{opacity:0;pointer-events:none}.media-viewer.mv-controls-hidden :is(.mv-header,.mv-footer,.mv-transport){visibility:hidden}.media-viewer .mv-menu{z-index:6;max-height:calc(100dvh - 90px);overflow:auto}.media-viewer .mv-menu select{color:#fff;background:#292a35;min-height:44px;max-width:100%;margin:6px 12px}.media-viewer .mv-menu-action{min-height:44px}.mv-video .mv-zoom{display:none}
@media(orientation:landscape) and (max-height:500px){.media-viewer .mv-footer{padding:12px 18px 6px}.media-viewer .mv-tools{min-height:44px;margin-top:0}.media-viewer .mv-tools .mv-filmstrip{height:38px}.media-viewer .mv-header{min-height:48px;padding:2px 8px}.media-viewer .mv-counter{top:52px}.screen-header{min-height:56px;padding-top:4px;padding-bottom:4px}}
@media(prefers-reduced-motion:reduce){.media-viewer .mv-footer,.media-viewer .mv-counter{transition:none}}

/* Public account directory uses the existing contact rows and theme surfaces. */
.directory-results{padding:12px 8px}.directory-results .contact-entry{min-height:64px}.directory-results .contact-copy{min-width:0}.directory-results .contact-copy strong,.directory-results .contact-copy span{overflow-wrap:anywhere}.directory-results .contact-person{min-width:0}.directory-results .contact-person .avatar{flex-shrink:0}#username-status{min-height:1.5em}#profile-username[aria-invalid="true"]{border-color:var(--danger,#de7b89)}

/* Focus belongs to the entire search surface, including its leading icon. */
.contacts-search:focus-within{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.contacts-screen .contacts-search input:focus,.contacts-screen .contacts-search input:focus-visible{outline:none;box-shadow:none}
.contacts-search:focus-within>.ui-icon{color:var(--accent)}

/* Attachment review: one contained media stage, stable footer and independently scrollable filmstrip. */
.media-compose{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(680px,calc(100vw - 40px));height:min(860px,calc(var(--mc-viewport,100dvh) - 40px));max-width:100vw;max-height:var(--mc-viewport,100dvh);padding:0;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text);overflow:hidden;box-shadow:0 20px 80px #0005}
.media-compose[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.media-compose::backdrop{background:#07090ebd}
.media-compose button,.media-compose input,.media-compose textarea{font:inherit}
.media-compose button{color:inherit;cursor:pointer}
.media-compose button:disabled{opacity:.4;cursor:default}
.media-compose button:focus-visible,.media-compose input:focus-visible,.media-compose textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.mc-header{display:flex;align-items:center;gap:10px;min-height:64px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--panel)}
.mc-titles{flex:1;min-width:0}.mc-titles h2{font-size:18px;font-weight:600;margin:0;line-height:1.35}.mc-subtitle{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.mc-icon{width:44px;height:44px;min-width:44px;padding:10px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent}
.mc-icon .ui-icon,.mc-send .ui-icon,.mc-center-play .ui-icon{margin:0;width:24px;height:24px;color:inherit;display:inline-flex}
.mc-icon svg,.mc-send svg,.mc-center-play svg{width:24px;height:24px}
.mc-icon:hover,.mc-mode:hover{background:var(--selected)}.mc-icon:active,.mc-mode:active{background:var(--panel2)}
.mc-body{display:flex;flex-direction:column;min-height:0;overflow:auto;overscroll-behavior:contain;background:var(--panel)}
.mc-stage{position:relative;display:flex;justify-content:center;align-items:center;flex:1 0 160px;min-height:120px;overflow:hidden;background:#080a0f}
.mc-stage>.mc-media,.mc-stage>.mc-image{display:block;position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border:0;border-radius:0}
.mc-stage>audio{visibility:hidden}
.mc-document{display:flex;align-items:center;flex-direction:column;gap:14px;color:#e6e7ef;text-align:center;padding:24px;max-width:100%;box-sizing:border-box}.mc-document>.ui-icon{width:56px;height:56px}.mc-document svg{width:56px;height:56px}.mc-document strong{overflow-wrap:anywhere;max-width:100%;font-size:16px}.mc-document>span:last-child{font-size:13px;color:#b2b5c5}
.mc-center-play{position:absolute;inset:0;margin:auto;transform:none;width:64px;height:64px;padding:19px;display:grid;place-items:center;border:1px solid #ffffff30;border-radius:50%;background:#111521b5;color:#fff!important;z-index:1}.mc-center-play svg{fill:currentColor;stroke-width:0}
.mc-player{display:flex;align-items:center;gap:4px;min-height:48px;padding:2px 8px;flex:none;background:var(--panel)}
.mc-seek{appearance:none;-webkit-appearance:none;flex:1;min-width:32px;height:32px;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;accent-color:var(--accent)}
.mc-seek::-webkit-slider-runnable-track{height:4px;background:var(--line);border-radius:3px}.mc-seek::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;height:14px;width:14px;border-radius:50%;background:var(--accent);margin-top:-5px}.mc-seek::-moz-range-track{height:4px;background:var(--line);border-radius:3px}.mc-seek::-moz-range-thumb{height:14px;width:14px;border:0;border-radius:50%;background:var(--accent)}
.mc-time{font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;margin:0 4px;color:var(--muted)}
.mc-info{flex:none;padding:8px 18px 4px;min-width:0}.mc-filename{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mc-details{font-size:12px;color:var(--muted);line-height:1.6}
.mc-strip{display:flex;align-items:center;gap:8px;flex:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding:10px 16px;min-height:76px;box-sizing:border-box}
.mc-thumb{position:relative;display:grid;place-items:center;width:56px;height:56px;min-width:56px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:var(--panel2);color:var(--muted)}.mc-thumb[aria-pressed=true]{border-color:var(--accent)}.mc-thumb>img{width:100%;height:100%;object-fit:cover}.mc-thumb>.ui-icon{margin:0;width:24px;height:24px}.mc-thumb-number{position:absolute;right:2px;top:2px;min-width:17px;height:17px;border-radius:50%;background:#111827b5;color:#fff;font-size:10px;line-height:17px;text-align:center}.mc-thumb[aria-pressed=true] .mc-thumb-number{background:var(--accent);color:var(--accentText)}
.mc-tools{display:flex;align-items:center;gap:4px;flex-wrap:wrap;flex:none;padding:4px 12px 8px}.mc-mode{display:inline-flex;align-items:center;gap:6px;min-height:44px;border:0;border-radius:12px;padding:8px 10px;background:var(--panel2);font-size:12px!important}.mc-mode>.ui-icon{width:18px;height:18px;margin:0}.mc-mode svg{width:18px;height:18px}.mc-mode[aria-pressed=true]{color:var(--accent);background:var(--selected)}.mc-choice{display:flex;align-items:center;gap:6px;min-height:44px;font-size:12px;color:var(--muted);padding:0 6px}.mc-choice input{width:18px;height:18px;accent-color:var(--accent)}.mc-order{display:flex;gap:0;margin-left:auto}.mc-move-next svg{transform:rotate(180deg)}
.mc-footer{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:end;gap:8px;padding:10px 14px max(10px,env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line)}
.media-compose .mc-caption{box-sizing:border-box;min-height:46px;max-height:104px;resize:none;width:100%;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:20px;background:var(--panel2);color:var(--text);font-size:15px;line-height:20px;overflow:auto}
.mc-send{display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;padding:12px;background:var(--accent);color:var(--accentText)!important}.mc-send svg{width:24px;height:24px}.mc-status{grid-column:1/-1;margin:0;font-size:12px;color:var(--muted);line-height:1.4;overflow-wrap:anywhere}.mc-status:empty{display:none}
@media(max-width:780px){.media-compose{top:var(--mc-top,0);right:0;bottom:auto;left:0;margin:0;width:100vw;height:var(--mc-viewport,100dvh);max-height:var(--mc-viewport,100dvh);border:0;border-radius:0;box-shadow:none}.mc-header{padding-top:max(8px,env(safe-area-inset-top));min-height:60px}.mc-stage{flex-basis:140px}.mc-titles h2{font-size:17px}.mc-tools{padding-inline:8px}.mc-info{padding-inline:14px}}
@media(max-height:520px){.media-compose .mc-stage{min-height:80px;flex-basis:100px}.media-compose .mc-strip{min-height:62px;padding-block:4px}.mc-thumb{width:48px;height:48px;min-width:48px}.mc-header{min-height:48px;padding-block:2px}.mc-info{padding-block:2px}.mc-tools{padding-block:0}.mc-footer{padding-top:6px;padding-bottom:6px}}
@media(prefers-reduced-motion:reduce){.media-compose *{scroll-behavior:auto!important}}

.media-compose .mc-center-play:active{transform:none}

.media-compose .mc-choice{flex-direction:row;justify-content:flex-start;margin:0}.media-compose .mc-choice input{margin:0;flex:none}
