/* One material system, limited to Messages controls and temporary surfaces. */
.im-app{--glass-bg:rgba(255,255,255,.72);--glass-bg-strong:rgba(255,255,255,.8);--glass-border:rgba(255,255,255,.58);--glass-highlight:rgba(255,255,255,.6);--glass-shadow:0 3px 14px rgba(0,0,0,.07);--glass-blur:26px;--glass-ink:#171719;--glass-press-scale:.97}
.im-app[data-glass-tone=dark]{--glass-bg:rgba(45,48,54,.52);--glass-bg-strong:rgba(45,48,54,.76);--glass-border:rgba(255,255,255,.35);--glass-highlight:rgba(255,255,255,.36);--glass-shadow:0 3px 14px rgba(0,0,0,.09);--glass-blur:32px;--glass-ink:#fff;background:#282b30}
.im-app[data-glass-tone=dark] .im-wallpaper{opacity:.6}.im-app[data-glass-tone=dark] .im-time{color:#ddd}.im-sheet{color:#000}
.im-app :is(.im-back,.im-chat-header>button:not(.im-title),.im-title small,.im-list-header>button,.im-list-bottom input,.im-list-bottom>button,.im-sheet header>button,.im-composer>button,.im-composer>div,.recipient-field,.quote-draft,.message-selection-toolbar){background:var(--glass-bg)!important;color:var(--glass-ink);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-highlight);backdrop-filter:blur(var(--glass-blur)) saturate(135%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(135%)}
.im-app :is(.im-back,.im-chat-header>button,.im-list-header>button,.im-list-bottom>button,.im-sheet header>button,.im-composer>button){transition:transform .2s cubic-bezier(.2,.8,.2,1),filter .2s}
.im-app :is(.im-back,.im-chat-header>button,.im-list-header>button,.im-list-bottom>button,.im-sheet header>button,.im-composer>button):active{transform:scale(var(--glass-press-scale));filter:brightness(.96)}
.im-app .im-back{display:flex;align-items:center;gap:5px;border-radius:27px;min-height:42px;padding:8px 10px}.im-back .ui-icon{width:18px;height:18px}.back-unread{display:grid;place-items:center;border-radius:50%;background:#202024;color:white;min-width:23px;height:23px;font-size:calc(12px * var(--font-scale,1))}.im-app .im-title small{border-radius:20px;display:flex;align-items:center;padding:5px 11px;margin-top:7px}.im-app .im-chat-header>button:last-child{border-radius:50%;width:44px;height:44px;display:grid;place-items:center}.im-app .im-composer>div{border-radius:27px}.im-app .im-composer input{color:var(--glass-ink)}.im-app .im-list-bottom input{border-radius:27px}.im-app .im-list-header button{border-radius:25px}.im-app .im-sheet header>button{border-radius:50%}.im-app .quote-draft{border-radius:18px;margin:4px 14px}
.message-focus-tools{position:absolute;z-index:10;width:268px;overflow:auto;padding:3px;scrollbar-width:none}.glass-reactions,.glass-context{background:var(--glass-bg-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),inset 0 1px var(--glass-highlight);backdrop-filter:blur(34px) saturate(140%);-webkit-backdrop-filter:blur(34px) saturate(140%);color:var(--glass-ink)}
.glass-reactions{display:flex;justify-content:space-evenly;align-items:center;padding:7px 4px;border-radius:29px;margin-bottom:9px}.glass-reactions button{font-size:calc(24px * var(--font-scale,1));background:transparent;border-radius:50%;padding:5px}.glass-reactions button.selected{background:#85858a25}.glass-context{border-radius:28px;overflow:hidden}.glass-context button{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:11px 16px;min-height:43px;border-bottom:.5px solid #8882;background:transparent;font-size:calc(15px * var(--font-scale,1));color:inherit}.glass-context button:last-child{border:0}.glass-context .ui-icon{width:19px;height:19px}.glass-context button:active{background:#8882}
.glass-popup-enter-active,.glass-popup-leave-active{transition:opacity .2s,transform .2s ease-out}.glass-popup-enter-from,.glass-popup-leave-to{opacity:0;transform:translateY(4px) scale(.96)}
.quote-inside{display:block;width:100%;background:#0000000b;color:inherit;border-left:2px solid currentColor;border-radius:5px;padding:5px 8px;margin:0 0 8px;text-align:left;font-size:calc(12px * var(--font-scale,1))}.quote-inside small{display:block;font-weight:600}.quote-inside span{display:block;max-height:60px;overflow:hidden}.quote-inside img{width:36px;height:36px;object-fit:cover;border-radius:6px}.translation-divider{display:block;width:100%;height:1px;border-radius:2px;background:#8e8e93;opacity:.65;margin:12px 0}.translation-inside{display:block;font-size:.9em;opacity:.87;white-space:pre-wrap}.translation-hidden{display:block;opacity:.7;font-size:calc(11px * var(--font-scale,1));margin-top:8px}.attached-sticker{position:absolute;right:-16px;width:48px;height:48px;object-fit:contain;pointer-events:none}.out .attached-sticker{right:auto;left:-16px}.quote-highlight{outline:2px solid #007aff55;border-radius:22px}.narration-message{font-size:calc(14px * var(--font-scale,1));color:#8e8e93;font-style:italic;text-align:center;line-height:1.7;white-space:pre-wrap}.message-select{position:absolute;left:-16px;top:10px;z-index:2}.message-selection-toolbar{display:flex;align-items:center;justify-content:space-around;gap:8px;border-radius:24px;padding:10px;margin:8px 14px}.message-selection-toolbar button{background:transparent;color:#007aff}
.suite-text{width:100%;border:0;border-radius:15px;background:#fff;padding:14px;margin:10px 0;font:inherit;min-height:44px}.suite-page textarea.suite-text{min-height:100px}.memory-entry{padding:16px}.memory-entry p{white-space:pre-wrap;line-height:1.6}.memory-entry small{color:#8e8e93}.memory-entry button{background:transparent}.suite-page audio{width:100%}.suite-page h2{font-size:calc(28px * var(--font-scale,1))}
.desktop-editor{background:#ffffffe0;backdrop-filter:blur(24px);border-radius:20px;padding:12px;margin-bottom:12px;max-height:35vh;overflow:auto;color:#111}.desktop-editor>div{display:flex;align-items:center;gap:8px;margin-top:8px}.desktop-editor span{flex:1}.desktop-editor button,.desktop-editor label{background:#f2f2f7;border-radius:12px;padding:8px;font-size:calc(12px * var(--font-scale,1));display:inline-block}.desktop-item[data-app-id],.dock [data-app-id]{touch-action:pan-y}.home-widget>button{background:#ffffffe0;color:#ff3b30;border-radius:14px;padding:8px}.store-avatar{width:42px;height:42px;flex:0 0 42px;overflow:hidden;border-radius:50%;padding:0;display:grid;place-items:center}.store-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.im-bubble{font-size:var(--user-font-size,16px)!important}.form-cell,.settings-cell,.contact-name,.im-preview strong,.music-track strong{font-size:var(--user-font-size,16px)}
@supports not (backdrop-filter:blur(1px)){.im-app{--glass-bg:#f4f4f6;--glass-bg-strong:#f4f4f6}.im-app[data-glass-tone=dark]{--glass-bg:#38383a;--glass-bg-strong:#38383a}}
@media(prefers-reduced-motion:reduce){.glass-popup-enter-active,.glass-popup-leave-active,.im-app button{transition:none!important}}
.home:has(.desktop-editor) .desktop-item,.home:has(.desktop-editor) .dock button{touch-action:none}
.im-sheet{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-bottom:20px}
.im-sheet>*,.im-sheet .settings-section{flex-shrink:0}
.thread-heading{display:flex;align-items:center;gap:18px;padding:8px 16px;flex-shrink:0}.thread-heading button,.thread-count{background:transparent;color:#007aff;font-size:calc(13px * var(--font-scale,1));padding:6px 0}
.reply-link{display:flex;flex-direction:column;margin-bottom:5px;align-items:flex-start}.reply-link.original-out{align-items:flex-end}
.reply-mini{max-width:180px;font-size:calc(12px * var(--font-scale,1));line-height:1.4;color:#555;background:#e9e9eb;border-radius:13px;padding:5px 9px;text-align:left;opacity:.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.original-out .reply-mini{background:#30a5fc;color:#fff}.reply-mini img,.quote-draft img{width:24px;height:24px;object-fit:cover;border-radius:5px;vertical-align:middle}
.reply-link svg{height:20px;width:100%;overflow:visible;fill:none;stroke:#78788050;stroke-width:2;stroke-linecap:round}
/* A reply connector spans the timeline; only the ordinary bubble is constrained. */
.im-message:has(>.reply-link){width:100%;max-width:100%;align-self:stretch;display:flex;flex-direction:column}
.im-message:has(>.reply-link)>.im-message-content{max-width:75%;align-self:flex-start}
.im-message.out:has(>.reply-link)>.im-message-content{align-self:flex-end}
.im-message:has(>.reply-link)>.reply-link{width:100%}
.im-message:has(>.reply-link)>.thread-count{align-self:flex-start}
.im-message.out:has(>.reply-link)>.thread-count{align-self:flex-end}
.suite-page>.settings-cell,.suite-page>.form-cell{border-radius:16px;margin:10px 0;overflow:hidden}
.im-bubble,.reply-mini,.im-message-content,.narration-message{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
#app input:not([type=range]):not([type=color]),#app textarea,#app select{font-size:max(16px,var(--user-font-size,16px))}
.im-bubble:before{width:11px;height:13px;left:-3px;right:auto;transform:none}
.out .im-bubble:before{left:auto;right:-3px;transform:scaleX(-1)}
.preset-panel{margin:16px 0;border-radius:18px;background:#fff;padding:14px}.preset-panel input:not([type=file]):not([type=checkbox]),.preset-panel select,.preset-panel textarea{width:100%;min-height:42px;border:0;border-radius:10px;background:#f2f2f7;padding:10px;margin:5px 0;font:inherit}
.preset-actions{display:flex;flex-wrap:wrap;gap:8px}.preset-actions button,.preset-actions label{border-radius:12px;padding:10px;background:#f2f2f7;color:#007aff;font:inherit}
.planning-summary{margin:4px 0 12px;border-radius:14px;padding:10px;background:#f2f2f7;font-size:13px;color:#666;white-space:pre-wrap}
.suite-page>.form-cell{background:#fff}
.suite-page>.section-note{margin:12px 16px 20px}
.suite-page>.settings-cell:after,.suite-page>.form-cell:after{display:none}
.api-page>.settings-cell{border-radius:16px;margin-bottom:12px;overflow:hidden}
.preset-panel input[type=checkbox]{width:20px;min-height:20px;height:20px;vertical-align:middle}
.preset-panel .file-picker input{margin:0;padding:0;min-height:0}
