.app.app.app .folder-strip{margin-top:4px!important}
.app.app.app .sidebar-head{padding-bottom:2px!important}
.app.app.app[data-nav-window] .mobile-nav{z-index:300}
@media(max-width:760px){
 .app.app.app[data-nav-window]>.modal-backdrop{bottom:calc(104px + env(safe-area-inset-bottom));padding:10px 12px;align-items:center}
 .app.app.app[data-nav-window]>.modal-backdrop>.modal{max-height:calc(var(--app-height,100dvh) - 128px - env(safe-area-inset-bottom))}
 .app.app.app[data-nav-window]>.window-blur-plane{clip-path:none!important}
}
.app.app.app .mobile-nav>.navigation-pill{transition:left 150ms cubic-bezier(.2,.8,.2,1),width 180ms cubic-bezier(.2,.8,.2,1),height 200ms,box-shadow 180ms}
.app.app.app .folder-tab:active{scale:.97;transition:scale 90ms ease}
.app.app.app .folder-tab{transition:scale 220ms cubic-bezier(.2,.8,.2,1)}
.app.app.app :is(button,.chat-item,.message,.modal,.composer,.filters.folder-tabs,.mobile-nav,.navigation-pill,.avatar){--depth-y:1px}
.app.app.app .list-profile,.app.app.app .rail-profile{--depth-y:0px}
.app.app.app .sidebar:not(.closing-shell){z-index:auto!important}
.app.app.app .mobile-nav{z-index:280}
/* Separate glass capsules replace the shared bottom plate. */
.app.app.app .mobile-nav{padding:0;gap:5px;min-height:54px;height:54px;background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow:visible}
.app.app.app .mobile-nav>button{height:54px;min-height:54px;padding:7px 5px;border:1px solid var(--line)!important;background:color-mix(in srgb,var(--panel) var(--folder-opacity,38%),transparent)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:11px;gap:4px}
.app.app.app .mobile-nav>button.active{border-color:color-mix(in srgb,var(--accent) 24%,var(--line))!important}
.app.app.app .mobile-nav>.navigation-pill{background:color-mix(in srgb,var(--panel) 56%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
@media(max-width:390px){.app.app.app .mobile-nav>button{font-size:10px;gap:3px;padding-inline:3px}}
.app.app.app .mobile-nav>button:not(.active){box-shadow:0 calc(6px - var(--depth-pressed,0)*3px - var(--depth-scrolling,0)*2px) 15px rgb(40 30 15 / .16),inset 0 1px 0 color-mix(in srgb,var(--text) 8%,transparent)!important}
/* Names read as headings, without a second capsule inside the chat header. */
.app.app.app .conversation-title{background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:5px 0;min-width:0;text-align:left}
.app.app.app .conversation-title>strong{font-size:15px;font-weight:650;line-height:1.25;letter-spacing:.01em;gap:6px}
.app.app.app .conversation-title>strong>[data-sand-title]{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.app.app.app .conversation-title>span{font-size:11px;line-height:1.35;margin-top:3px;color:var(--muted)}
.app.app.app .chat-preview strong{background:none;border:0;box-shadow:none;font-weight:600;letter-spacing:.005em}
.app.app.app .message-author{background:none;border:0;box-shadow:none;line-height:1.35}

/* The scrollbar belongs to the viewport, never to a travelling folder page. */
.app.app.app .folder-pages>.chat-list{scrollbar-width:none!important;scrollbar-gutter:auto!important}
.app.app.app .folder-pages>.chat-list::-webkit-scrollbar{display:none!important}
.app.app.app .folder-scrollbar{position:absolute;right:0;width:4px;pointer-events:none;opacity:0;transition:opacity 280ms ease;z-index:2}
.app.app.app .folder-scrollbar>span{display:block;width:100%;border-radius:999px;background:color-mix(in srgb,var(--accent) 28%,transparent)}
.app.app.app .folder-scrollbar[data-overflow=true]{opacity:1}
.app.app.app .folder-viewport[data-folder-moving=true]>.folder-scrollbar{opacity:0;transition:none}
.app.app.app :is(.folder-tab,.mobile-nav>button)>span{font-weight:400;transition:none}
@media(prefers-reduced-motion:reduce){.app.app.app .folder-scrollbar{transition:none}}

/* Outrank the shared depth rule: only the individual capsules cast shadows. */
.app.app.app .sidebar>.mobile-nav{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.app.app.app .conversation-head>.conversation-title{background:none!important;background-image:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.app.app.app .conversation-head>.conversation-title::before,.app.app.app .conversation-head>.conversation-title::after{display:none!important}
.app.app.app .conversation-title>strong,.app.app.app .conversation-title [data-sand-title]{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.app.app.app .conversation-title>strong>[data-sand-title]{font:inherit;color:inherit;margin:0;padding:0}

/* Bottom capsules stay in their own slots; only their depth springs on touch. */
.app.app.app .mobile-nav>.navigation-pill{display:none!important}
.app.app.app .sidebar>.mobile-nav>button{background:color-mix(in srgb,var(--panel) var(--folder-opacity,38%),transparent)!important;border:1px solid var(--line)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;box-shadow:0 calc(7px - var(--depth-pressed,0)*5px) calc(18px - var(--depth-pressed,0)*10px) rgb(40 30 15 / .18),inset 0 1px 0 color-mix(in srgb,var(--text) 9%,transparent)!important;translate:0 0!important}
.app.app.app .sidebar>.mobile-nav>button.active{background:color-mix(in srgb,var(--panel) 56%,transparent)!important;border-color:color-mix(in srgb,var(--accent) 24%,var(--line))!important}

/* Round video has no rectangular surface, only a soft circular shadow. */
.app.app.app .message-hit-row>.message.message-round{background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important}
.app.app.app .message-hit-row>.message.message-round>.message-glass,.app.app.app .message-hit-row>.message.message-round::before,.app.app.app .message-hit-row>.message.message-round::after{display:none!important}
.app.app.app .message.message-round>.message-media{background:none!important;border:0!important;box-shadow:none!important;padding:0}
.app.app.app .message.message-round .round-player{background:none!important;border:0!important;box-shadow:none!important;filter:drop-shadow(0 3px 7px rgb(40 30 15 / .14))}
.app.app.app .message.post>.comment-link:not(.round-comments){min-height:38px;padding-top:9px;padding-bottom:9px}

.app.app.app.chat-open>.main>.conversation-head{border-radius:var(--ui-radius,20px)!important;border:1px solid var(--line);left:8px;right:8px;top:6px}

/* Fixed navigation capsules have their own depth, never a shared plate. */
.app.app.app .sidebar>.mobile-nav>button{transform-origin:center;transition:box-shadow 140ms ease,background-color 180ms ease,border-color 180ms ease;will-change:scale,filter}
.app.app.app .closing-shell,.app.app.app .closing-shell *{pointer-events:none!important}
@media(prefers-reduced-motion:reduce){.app.app.app .sidebar>.mobile-nav>button{will-change:auto}}

/* Settings keep labels, values and tracks in one compact, consistent grid. */
.app.app.app .appearance-modal label.appearance-range{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;margin:16px 0!important;padding:0!important;min-width:0;font-size:13px;line-height:1.4}
.app.app.app .appearance-modal .appearance-range>output{display:inline-flex;width:auto!important;min-width:48px;max-width:84px;justify-content:center;align-items:center;justify-self:end;padding:4px 8px;min-height:25px;font-size:12px;font-weight:650;background:color-mix(in srgb,var(--panel) 66%,transparent);box-shadow:none!important;white-space:nowrap;box-sizing:border-box}
.app.app.app .appearance-range>input[type=range]{grid-column:1/-1;display:block;height:30px;min-height:30px;margin:0;padding:0!important;background:transparent!important;touch-action:pan-x;transform-origin:center;box-shadow:none!important;cursor:pointer}
.app.app.app input[type=range]::-webkit-slider-thumb{box-shadow:0 3px 7px rgb(40 30 15 / .18);transition:box-shadow 120ms ease}
.app.app.app input[type=range][data-control-held=true]::-webkit-slider-thumb{box-shadow:0 1px 3px rgb(40 30 15 / .10)}
.app.app.app input[type=range]{accent-color:var(--accent)}
.app.app.app input[type=range]::-webkit-slider-thumb{transform:scale(1);transition:transform 95ms ease,box-shadow 120ms ease}
.app.app.app input[type=range][data-control-held=true]::-webkit-slider-thumb{transform:scale(.88);animation:none}
.app.app.app input[type=range][data-control-released=true]::-webkit-slider-thumb{animation:sliderThumbRebound 460ms cubic-bezier(.2,.75,.25,1)}
.app.app.app input[type=range]::-moz-range-thumb{transform:scale(1);transition:transform 95ms ease}
.app.app.app input[type=range][data-control-held=true]::-moz-range-thumb{transform:scale(.88)}
.app.app.app input[type=range][data-control-released=true]::-moz-range-thumb{animation:sliderThumbRebound 460ms cubic-bezier(.2,.75,.25,1)}
@keyframes sliderThumbRebound{0%{transform:scale(.88)}35%{transform:scale(1.22)}68%{transform:scale(.97)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.app.app.app input[type=range]::-webkit-slider-thumb{animation:none!important;transition:none;transform:none!important}.app.app.app input[type=range]::-moz-range-thumb{animation:none!important;transition:none;transform:none!important}}
.app.app.app .appearance-modal .appearance-settings{padding:0 13px;margin-top:18px;background:color-mix(in srgb,var(--panel) 40%,transparent);border:1px solid var(--line);box-shadow:0 3px 12px rgb(40 30 15 / .05)}
.app.app.app .appearance-settings>.setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;box-shadow:none!important;background:none!important;min-height:64px;box-sizing:border-box}
.app.app.app .setting-row>span{min-width:0}
.app.app.app .setting-row strong{display:block;font-size:13px;line-height:1.35;font-weight:650}
.app.app.app .setting-row small{display:block;margin-top:4px;font-size:11px;line-height:1.4}
.app.app.app .switch{position:relative;display:block;width:44px;height:27px;min-width:44px;padding:3px;box-sizing:border-box;transform-origin:center;touch-action:manipulation}
.app.app.app .switch>i{width:19px;height:19px;transition:none!important}
.app.app.app .switch.on>i{transform:translateX(17px)}
.app.app.app .appearance-modal{display:flex!important;flex-direction:column;overflow:hidden!important}
.app.app.app .appearance-modal>.appearance-body{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;flex:1 1 auto;padding-right:3px}
.app.app.app .appearance-modal .appearance-footer{position:relative;flex:0 0 auto;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:12px 0 3px;border-top:1px solid var(--line);isolation:isolate}
.app.app.app .appearance-footer:before{display:none}
.app.app.app .appearance-footer>button{min-height:42px;min-width:0;padding:9px 16px;font-size:13px;box-shadow:0 3px 9px rgb(40 30 15 / .10)!important}
.app.app.app .appearance-footer>.primary-button{min-width:118px}
.app.app.app .appearance-footer>button>svg{background:none!important;border:0!important;padding:0!important;box-shadow:none!important}
.app.app.app .closing-shell :is(.conversation-title,[data-sand-title]){background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;filter:none!important;backdrop-filter:none!important}
.app.app.app button{touch-action:manipulation}
.app.app.app :is(.reaction-scroll,.reaction-scroll button){touch-action:pan-x!important}
@media(max-width:370px){.app.app.app .appearance-settings>.setting-row{gap:8px}.app.app.app .appearance-modal label.appearance-range{font-size:12px}}

/* Search geometry is painted by the reversible sand flight, not a second CSS clock. */
.app.app.app .list-search-shell{transition:none!important}
.app.app.app .list-search-content{transition:none!important}
.app.app.app .message-search{border:1px solid var(--line);border-radius:var(--ui-radius);margin:6px 8px;left:0;right:0;background:color-mix(in srgb,var(--panel) 72%,transparent)}
.app.app.app .message-search>input{min-width:0;flex:1;touch-action:manipulation}

/* Flying and settled windows use the same user-controlled glass density. */
.app.app.app :is(.modal,.thread,.emoji-panel,.message-menu,.message-context-menu,.chat-context-menu,.reaction-dialog,.global-player,.message-search){background:color-mix(in srgb,var(--panel) var(--window-opacity,88%),transparent)!important}
.app.app.app .recording-overlay.voice-recording,.app.app.app .list-search-shell[data-open=true]{background:color-mix(in srgb,var(--panel) var(--window-opacity,88%),transparent)!important}
.app.app.app .message.message-selected,.app.app.app .chat-row.is-selected>.chat-item{translate:0 -3px!important;box-shadow:0 10px 24px rgb(40 30 15 / .23),0 3px 7px rgb(40 30 15 / .10),inset 0 1px 0 color-mix(in srgb,var(--text) 10%,transparent)!important;transition:translate 180ms ease,box-shadow 180ms ease}
.app.app.app :is(.accent-swatches button,.wallpaper-card,.appearance-segments button,.reaction-scroll button,.reaction-grid button)[aria-pressed=true]{translate:0 -2px;box-shadow:0 5px 12px rgb(40 30 15 / .20)!important}
@media(prefers-reduced-motion:reduce){.app.app.app .message.message-selected,.app.app.app .chat-row.is-selected>.chat-item{transition:none}}

.app.app.app .mobile-nav{gap:8px!important}

.app.app.app .sand-window-flight .conversation-head{border-radius:0!important;clip-path:none!important;mask-image:none!important;-webkit-mask-image:none!important}

.app.app.app .list-search-glyph{display:none;position:absolute;left:0;top:0;width:42px;height:42px;align-items:center;justify-content:center;color:var(--muted);pointer-events:none}
.app.app.app .list-search-shell[data-open=true]>.list-search-glyph{display:flex}

.app.app.app .admin-account-search{display:flex;align-items:end;gap:10px;margin-bottom:12px}.app.app.app .admin-account-search>label{flex:1;min-width:0;margin:0}.app.app.app .admin-account-list{display:grid;gap:12px;margin-bottom:24px}.app.app.app .admin-account-card{display:grid;gap:9px;padding:14px;border:1px solid var(--line);border-radius:var(--ui-radius);background:color-mix(in srgb,var(--panel) 40%,transparent);overflow-wrap:anywhere}.app.app.app .admin-account-actions{display:flex;flex-wrap:wrap;gap:8px}.app.app.app .admin-account-actions>button{flex:1;min-width:120px;font-size:12px}

/* Shared media controls retain the selected theme and opacity. */
.global-player{display:block;padding:8px 10px}.player-main{display:flex;align-items:center;gap:4px;min-width:0}.player-main .player-title{flex:1;min-width:0}.player-title strong,.player-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-title small{color:var(--muted);font-size:11px}.player-main .icon-button{flex:none;width:32px;height:32px;min-width:32px}.player-main .player-toggle{width:38px;height:38px;background:var(--accent);color:var(--panel)}.media-speed{flex:none;min-width:42px;height:30px;padding:0 7px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text);font:inherit;font-size:12px;font-weight:650;font-variant-numeric:tabular-nums;cursor:pointer}.media-speed[hidden]{display:none}.player-seek{display:flex;align-items:center;gap:8px;margin:4px 4px 0}.player-seek small{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.player-seek input{flex:1;min-width:0;height:16px;margin:0;accent-color:var(--accent)}.round-player .round-speed{position:absolute;right:14%;bottom:12%;z-index:3;background:color-mix(in srgb,var(--panel) var(--window-opacity,88%),transparent);backdrop-filter:blur(12px)}.app.chat-open:has(.global-player) .conversation>.messages{padding-top:90px!important}.app:not(.chat-open):has(.global-player)>.sidebar{padding-top:86px!important}

.voice-wave{position:relative}.audio-detail .voice-seek{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;touch-action:pan-y}.voice-wave:focus-within{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.audio-message.voice-message{min-width:0;max-width:100%;box-sizing:border-box}.voice-message .media-download{flex-shrink:0}.conversation-head{position:relative}.media-player-edge{position:absolute;left:10%;bottom:0;width:80%;height:2px;pointer-events:none;border-radius:999px}.app.chat-open:has(.global-player) .conversation>.messages{padding-top:62px!important}.app:not(.chat-open):has(.global-player)>.sidebar{padding-top:58px!important}




.app.app.app.app[data-max-radius="true"] :is(.main>.conversation-head,.composer-area>.composer,.mobile-nav>button){border-radius:999px!important}
@media(max-width:759px){.audio-message.voice-message{max-width:min(100%,calc(100vw - 118px))}.voice-message .voice-wave{gap:1px}.voice-message .voice-wave i{min-width:0}}
/* One surface treatment, without a seam between horizontally moving lists. */
.app.app.app :is(.folder-viewport,.folder-pages,.folder-pages>.chat-list){border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important}
.app.app.app .folder-pages>.chat-list{isolation:auto!important}
.app.app.app :is(.appearance-settings,.transparency-settings,.media-cache-settings,.folder-inline-create,.community-settings,.settings-sample,.original-post){border:1px solid var(--line);border-radius:var(--ui-radius);background:color-mix(in srgb,var(--panel) var(--window-opacity,88%),transparent);box-shadow:0 5px 16px rgb(40 30 15 / .08),inset 0 1px 0 color-mix(in srgb,var(--text) 5%,transparent)}
.app.app.app .appearance-settings>.setting-row{border-bottom-color:color-mix(in srgb,var(--line) 55%,transparent)}
.app.app.app :is(.appearance-range,.transparency-range)>output{border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 35%,transparent);border-radius:999px!important}
.app.app.app input[type=range]:not(.voice-seek){appearance:none;-webkit-appearance:none;background:transparent!important;border:0!important;border-radius:999px!important;box-shadow:none!important;padding:0!important;height:30px;cursor:pointer}
.app.app.app input[type=range]:not(.voice-seek)::-webkit-slider-runnable-track{height:6px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--accent) 20%,var(--panel));box-shadow:inset 0 1px 2px rgb(40 30 15 / .08)}
.app.app.app input[type=range]:not(.voice-seek)::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;margin-top:-8px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:50%;background:var(--accent);box-shadow:0 3px 8px rgb(40 30 15 / .18),inset 0 1px 0 rgb(255 255 255 / .18)}
.app.app.app input[type=range]:not(.voice-seek)::-moz-range-track{height:6px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--accent) 20%,var(--panel))}
.app.app.app input[type=range]:not(.voice-seek)::-moz-range-thumb{width:18px;height:18px;border:1px solid var(--line);border-radius:50%;background:var(--accent);box-shadow:0 3px 8px rgb(40 30 15 / .18)}

.app.app.app .global-player{padding:4px 8px}.app.app.app .player-main .player-toggle{width:32px;height:32px;min-width:32px}.app.app.app .player-main .icon-button{width:29px;height:29px;min-width:29px}.app.app.app .player-main .media-speed{height:26px}.app.chat-open .global-player{top:var(--media-player-top,calc(env(safe-area-inset-top) + 73px))!important}.app.chat-open:has(.global-player) .conversation>.messages{padding-top:46px!important}.composer-capsule-frame{will-change:transform;backface-visibility:hidden}
@media(orientation:landscape) and (max-height:600px){.app.chat-open .global-player{top:var(--media-player-top,calc(env(safe-area-inset-top) + 55px))!important}}

/* Every list-side modal reserves the same navigation lane, including profile and nested forms. */
@media(max-width:760px){
 .app.app.app:not(.chat-open)>.modal-backdrop{bottom:calc(104px + env(safe-area-inset-bottom));padding:10px 12px;align-items:center}
 .app.app.app:not(.chat-open)>.modal-backdrop>.modal{max-height:100%}
}

/* Fixed physical press depth; a card and a small control descend equally. */
.app.app.app.app :is(button,.chat-item,.message,.modal,.thread,.composer,.avatar){transition:translate 520ms cubic-bezier(.22,.7,.25,1),box-shadow 380ms cubic-bezier(.22,.7,.25,1),border-color 220ms,background-color 220ms}
.app.app.app.app button:active{scale:1!important;transform:none!important}
/* Discussion owns one rounded surface beneath the channel header. */
.app.app.app.app .conversation-layout>.thread{margin:calc(var(--chat-head-height,76px) + 10px) 10px 10px;border:1px solid var(--line);border-radius:var(--ui-radius,28px);overflow:hidden;box-shadow:0 10px 28px rgb(40 30 15 / .14),inset 0 1px 0 rgb(255 255 255 / .16);min-height:0;box-sizing:border-box}
.app.app.app.app .thread>header{border-radius:inherit;flex-shrink:0}
.app.app.app.app .thread>.thread-composer-area{left:0;right:0;bottom:0}
@media(max-width:760px){.app.app.app.app .conversation-layout>.thread{width:calc(100% - 20px);flex:1}}
@media(prefers-reduced-motion:reduce){.app.app.app.app :is(button,.chat-item,.message,.modal,.thread,.composer,.avatar){transition:none}}

/* Opening discussion never removes or reflows the channel beneath it. */
.app.app.app.app .conversation-layout:has(>.thread)>.conversation{display:flex!important}
.app.app.app.app .conversation-layout>.thread{position:absolute;top:calc(var(--chat-head-height,76px) + 10px);right:10px;bottom:10px;left:auto;margin:0;width:min(350px,calc(100% - 20px));z-index:14;flex:none}
@media(max-width:1180px){.app.app.app.app .conversation-layout>.thread{left:10px;right:10px;width:auto}}

/* Grow upward as a rounded rectangle, with at most six visible text lines. */
.app.app.app.app.app .composer-area>.composer{border-radius:var(--composer-corner,min(var(--ui-radius,28px),28px))!important;box-sizing:border-box;overflow:hidden}
.app.app.app.app.app .composer[data-multiline=true]{display:grid;grid-template-columns:auto auto auto minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) auto;gap:6px;align-items:end;padding:10px 8px 8px}
.app.app.app.app.app .composer[data-multiline=true]>.composer-input-shell{grid-column:1/-1;grid-row:1;align-self:stretch;width:100%;border-radius:8px;min-height:0}
.app.app.app.app.app .composer[data-multiline=true]>:is(button,.record-controls){grid-row:2;align-self:end}
.app.app.app.app.app .composer[data-multiline=true]>:is(.composer-submit,.record-button,.record-controls){grid-column:5}
.app.app.app.app.app .composer-input-shell textarea{border-radius:8px!important;box-sizing:border-box;min-height:0;resize:none}

/* One-row capsules at maximum radius; the familiar two-row cards remain the default. */
/* Title plus one or two preview lines. Keep compact-mode capsule corners. */
.app.app.app.app.app[data-chat-lines="2"] .preview-bottom>p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app.app.app.app.app[data-chat-lines="2"][data-max-radius="true"] :is(.chat-row,.chat-item){border-radius:999px!important}
.app.app.app.app.app[data-chat-lines="3"] .preview-bottom{align-items:flex-end}
.app.app.app.app.app[data-chat-lines="3"] .preview-bottom>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;line-height:1.4;min-height:2.8em;overflow:hidden}


.presence-dot{position:absolute;right:0;bottom:0;width:10px;height:10px;background:#62a878;border:2px solid var(--panel);border-radius:50%;box-shadow:0 1px 3px #0002}.app .presence-online{color:#5c9770!important}

/* One pale editor plate becomes the outgoing bubble; the outer composer stays. */
.app.app.app.app.app .composer-input-shell{background:color-mix(in srgb,var(--panel) 30%,transparent);border:1px solid color-mix(in srgb,var(--line) 55%,transparent);border-radius:min(var(--ui-radius,20px),18px)!important}
.app.app.app.app.app .composer-input-shell :is(textarea,input){padding-inline:8px!important}
.app.app.app.app.app .composer-input-shell[data-send-away]{background:transparent;border-color:transparent}
/* Media retains only a close-fitting rim, including captions/comments/reactions. */
.app.app.app.app.app .message.message-photo{padding:4px!important;background:transparent!important;background-image:none!important;border:1px solid var(--line)!important;box-shadow:0 2px 8px rgb(40 30 15 / .08)!important;backdrop-filter:none!important;overflow:hidden}
.app.app.app.app.app .message.message-photo>.message-glass,.app.app.app.app.app .message.message-photo::before,.app.app.app.app.app .message.message-photo::after{display:none!important}
.app.app.app.app.app .message.message-photo>.message-media{margin:0;gap:4px;background:none}
.app.app.app.app.app .message.message-photo :is(.message-author,.message-body,.message-foot,.comment-link,.reactions){margin-inline:4px}
.app.app.app.app.app .message.message-photo .media-collage{border-radius:max(0px,calc(var(--ui-radius,20px) - 4px));overflow:hidden}
.app.app.app.app.app .message.message-round>.reactions{background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;overflow:visible}
.app.app.app.app.app .message.message-round>.reactions>button{background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;filter:drop-shadow(0 2px 3px rgb(40 30 15 / .2))}
