.dither-shader{pointer-events:none;border-radius:inherit;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:hidden}.dither-shader>div{border-radius:inherit;opacity:0;width:100%;height:100%;transition:opacity var(--dur-fast) var(--ease-out);position:absolute;inset:0;overflow:hidden}.dither-shader.is-lit>div{opacity:1}.dither-shader canvas{border-radius:inherit;width:100%;height:100%;display:block}.btn-chrome{color:#14161b;isolation:isolate;background:linear-gradient(#fff 0%,#eaecf1 8%,#c3c8d2 26%,#9aa0ad 42%,#7c8291 50%,#aeb4c0 58%,#dfe3ea 74%,#f6f8fb 92%,#ced2db 100%);border:none;font-weight:650;position:relative;overflow:hidden;box-shadow:inset 0 1px #fffffff2,inset 0 2px 3px #ffffff8c,inset 0 -1px #00000047,inset 0 -6px 10px #00000024,0 1px 1px #090b0f4d,0 6px 16px -6px #090b0f73}.btn-chrome:after{content:"";pointer-events:none;z-index:2;background:linear-gradient(115deg,#0000 35%,#ffffffd9 50%,#0000 65%);position:absolute;inset:0;transform:translate(-130%)}.btn-chrome:hover:after{transition:transform .6s cubic-bezier(.22,1,.36,1);transform:translate(130%)}.btn-chrome:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #0000004d,inset 0 1px #fff9,0 1px 2px #090b0f4d}@media (prefers-reduced-motion:reduce){.btn-chrome:after{transition:none;animation:none}}.btn-chrome.is-denied{animation:btn-chrome-shake var(--dur-slow) var(--ease-out)}.btn-chrome.is-denied:before{content:"";z-index:2;pointer-events:none;border-radius:inherit;background:color-mix(in srgb, var(--danger) 42%, transparent);box-shadow:inset 0 0 0 2px var(--danger);animation:btn-chrome-deny-tint var(--dur-slow) var(--ease-out);position:absolute;inset:0}@keyframes btn-chrome-shake{0%{transform:translate(0)}15%{transform:translate(-4px)}35%{transform:translate(3px)}55%{transform:translate(-2px)}75%{transform:translate(2px)}to{transform:translate(0)}}@keyframes btn-chrome-deny-tint{0%{opacity:0}20%,70%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.btn-chrome.is-denied{animation:none}.btn-chrome.is-denied:before{opacity:1;animation:none}}.chrome-canvas{pointer-events:none;z-index:1;width:100%;height:100%;display:block;position:absolute;inset:0}.chrome-label{z-index:3;align-items:center;gap:inherit;display:inline-flex;position:relative}.btn-chrome--dithered{color:var(--chrome-fg-resolved,#fff);box-shadow:inset 0 1px 0 #ffffff47, inset 0 -1px 0 #0006, inset 0 -8px 14px #0000004d, 0 1px 1px #090b0f59, 0 8px 20px -8px var(--dither-accent,#090b0f73)}.btn-chrome--dithered .chrome-label{text-shadow:0 1px 2px #00000073}.btn-chrome--dithered:after{background:linear-gradient(115deg,#0000 38%,#ffffff59 50%,#0000 62%)}.btn-chrome--dithered:active{transform:translateY(1px);box-shadow:inset 0 2px 5px #0006,inset 0 1px #fff3,0 1px 2px #090b0f66}[data-theme=obsidian] .btn-chrome--dithered{color:var(--chrome-fg);box-shadow:inset 0 1px 0 #ffffff6b, inset 0 -6px 10px rgba(0, 0, 0, var(--chrome-active-shade-alpha)), 0 1px 1px #000000a6, 0 8px 20px -8px #e8e9ec57}[data-theme=obsidian] .btn-chrome--dithered .chrome-label{text-shadow:none}[data-theme=obsidian] .btn-chrome--dithered:after{background:linear-gradient(115deg, transparent 38%, rgba(255, 255, 255, var(--chrome-hover-sweep-alpha)) 50%, transparent 62%)}[data-theme=obsidian] .btn-chrome--dithered:active{box-shadow:inset 0 1px 0 #ffffff4d, inset 0 -5px 9px rgba(0, 0, 0, var(--chrome-active-shade-alpha)), 0 1px 2px #000000b3}[data-theme=obsidian] .btn-chrome--dithered:focus-visible{outline:2px solid var(--chrome-focus-outer);outline-offset:3px;box-shadow:0 0 0 2px var(--chrome-focus-inner)}[data-theme=obsidian] .btn-chrome--dithered:disabled{opacity:1}[data-theme=obsidian] .btn-chrome--dithered:disabled:not([aria-busy=true]){box-shadow:inset 0 1px #fff3;background:linear-gradient(135deg, var(--chrome-disabled-back) 0%, var(--chrome-disabled-front) 135%)!important}[data-theme=obsidian] .btn-chrome--dithered:disabled:not([aria-busy=true]) .chrome-canvas{display:none}[data-theme=obsidian] .btn-chrome--dithered .chrome-label svg{color:inherit}[data-theme=obsidian] .btn-chrome--dithered .chrome-label [role=status]{border-color:currentColor #0000 currentColor currentColor!important}.modal-scrim{z-index:60;background:var(--scrim);animation:ui-fade-in var(--dur-fast) var(--ease-out);justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:100%;max-height:76vh;animation:ui-pop-in var(--dur-slow) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.modal-panel--workflow{width:min(720px,100vw - 32px)}.modal-panel--compact{width:min(380px,100vw - 32px)}.modal-panel--stable{height:min(640px,76vh)}.modal-panel--stable>*{min-height:0}.modal-panel--stable>:only-child{flex-direction:column;flex:1;display:flex}.modal-actions>button{min-width:88px}.modal-scrim--sheet{align-items:flex-end;padding:0}.modal-panel--sheet{border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-left-radius:var(--sheet-radius);border-top-right-radius:var(--sheet-radius);width:100%;max-width:100%;height:auto;max-height:90vh;padding-bottom:var(--safe-bottom);animation:ui-sheet-up var(--dur-slow) var(--ease-out);border-bottom:none}.modal-scrim--fullscreen{align-items:stretch;padding:0}.modal-panel--fullscreen{width:100%;max-width:100%;height:100%;max-height:100%;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);animation:ui-sheet-up var(--dur-slow) var(--ease-out);border:none;border-radius:0}.bottom-sheet{background:var(--surface-raised);border:1px solid var(--border-subtle);border-top-left-radius:var(--sheet-radius);border-top-right-radius:var(--sheet-radius);width:100%;max-width:100%;max-height:90vh;box-shadow:var(--shadow-lg);padding-bottom:var(--safe-bottom);animation:ui-sheet-up var(--dur-slow) var(--ease-out);transition:transform var(--dur-base) var(--ease-out);will-change:transform;border-bottom:none;flex-direction:column;display:flex;overflow:hidden}.bottom-sheet-handle-zone{cursor:grab;touch-action:none;flex:none;justify-content:center;align-items:center;padding:10px 0 6px;display:flex}.bottom-sheet-handle{border-radius:var(--radius-full);background:var(--border-strong);width:36px;height:4px}.bottom-sheet-body{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.search-well{transition:box-shadow var(--dur-fast) var(--ease-out);position:relative}.search-well:focus-within{box-shadow:inset 0 -2px 0 var(--accent)}.search-well input:focus-visible{outline:none}.popover-panel{z-index:70;background:var(--surface-gradient);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-md), var(--inner-top-light);animation:ui-pop-in var(--dur-base) var(--ease-out);position:fixed}.tooltip-panel{z-index:80;pointer-events:none;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);color:var(--text-primary);font-size:var(--text-xs);white-space:nowrap;animation:ui-fade-in var(--dur-fast) var(--ease-out);padding:3px 8px;line-height:16px;position:fixed}.toast-viewport{z-index:90;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast-item{pointer-events:auto;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--text-primary);font-size:var(--text-ui);animation:ui-slide-up var(--dur-slow) var(--ease-spring);padding:8px 14px;line-height:20px}@media (width<=768px){.toast-viewport{bottom:calc(var(--tabbar-h) + var(--safe-bottom) + var(--kbd-inset) + 8px);left:calc(8px + var(--safe-left));right:calc(8px + var(--safe-right));align-items:stretch;transform:none}.toast-item{text-align:center}}.ai-avatar-face{color:#fff;background-color:color-mix(in srgb, var(--accent) 72%, black 28%);background-image:radial-gradient(circle at 50% 50%, var(--accent) 0 34%, transparent 36%), radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--accent) 60%, black 40%) 0 28%, transparent 30%), linear-gradient(135deg, color-mix(in srgb, var(--accent) 52%, black 48%), var(--accent));background-position:0 0,1px 1px,0 0;background-size:2px 2px,2px 2px,220% 220%;flex-shrink:0;justify-content:center;align-items:center;animation:10s linear infinite ai-avatar-drift;display:inline-flex;position:relative;overflow:hidden}.ai-avatar-face:has(>.dither-shader[data-replica=idle]){animation-play-state:paused}.ai-avatar-face--sm{background-position:0 0,.75px .75px,0 0;background-size:1.5px 1.5px,1.5px 1.5px,220% 220%}.ai-avatar-canvas{z-index:0;border-radius:inherit}.ai-avatar-face svg{z-index:1;filter:drop-shadow(0 1px 1px #00000059);position:relative}@keyframes ai-avatar-drift{0%{background-position:0 0,1px 1px,0 0}50%{background-position:6px 6px,7px 7px,100% 100%}to{background-position:12px 12px,13px 13px,0 0}}.ui-shimmer{border-radius:var(--radius-xs);background:linear-gradient(90deg, var(--bg-2) 25%, var(--bg-3) 37%, var(--bg-2) 63%);background-size:200% 100%;animation:1.4s infinite ui-shimmer}@keyframes ui-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.ui-shimmer,.ai-avatar-face{animation:none}}@keyframes ui-fade-in{0%{opacity:0}}@keyframes ui-pop-in{0%{opacity:0;transform:translateY(4px)scale(.98)}}@keyframes ui-slide-up{0%{opacity:0;transform:translateY(12px)}}@keyframes ui-sheet-up{0%{transform:translateY(100%)}}.msg-custom-emoji{vertical-align:-.25em;object-fit:contain;border-radius:var(--radius-xs);width:1.375em;height:1.375em;margin:0 1px;display:inline-block}.custom-emoji-swatch{object-fit:contain;width:22px;height:22px}.msg-reaction-emoji{object-fit:contain;width:18px;height:18px;display:block}.emoji-admin-tile{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-1);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.emoji-admin-tile img{object-fit:contain;width:28px;height:28px}.emoji-admin-preview{width:48px;height:48px}.emoji-admin-preview img{width:34px;height:34px}
