/* One coherent surface system across the message body, header and composer. */
:root{--pro-duration:240ms;--pro-ease:cubic-bezier(.2,.75,.2,1)}
html[data-motion-speed=slow]{--pro-duration:420ms}html[data-motion-speed=fast]{--pro-duration:130ms}
.main,.messages,.composer-wrap,.chat-head{background-color:var(--canvas)}
.composer-wrap{background:linear-gradient(0deg,var(--canvas) 75%,transparent);border:0}
.chat-head{background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(20px)}
.composer,.layout-glass .composer,html[data-theme=dark] .layout-glass .composer{background:color-mix(in srgb,var(--paper) 92%,transparent);border:1px solid var(--line);box-shadow:0 8px 32px #00000009}
.bubble,.layout-glass .bubble,html[data-theme=dark] .layout-glass .bubble{background:var(--paper)}
.message.mine .bubble{background:var(--brand-soft);color:var(--ink)}
.primary,.send-btn,html[data-theme=dark] .primary,html[data-theme=dark] .send-btn{background:var(--accent);color:var(--accent-contrast)}
.main::before{opacity:.12}.composer textarea{color:var(--ink);background:transparent}.typing{background:transparent}
.pro-limit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:14px;margin-block:18px}
.limit-tile{padding:18px}.limit-tile label{gap:10px}.limit-tile input{font:600 22px Vazirmatn,sans-serif;direction:ltr;text-align:start}.text-button{font:inherit;color:var(--brand);text-align:start;padding:10px 0;font-size:11px}
.pro-color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pro-color-grid input[type=color]{height:52px;width:100%;padding:5px;border-radius:12px;cursor:pointer}
.pro-stats{display:flex;flex-wrap:wrap;gap:22px;margin-block:12px}.pro-stats span{display:grid;gap:8px;color:var(--muted);font-size:11px}.pro-stats b{color:var(--ink);font-size:22px}.pro-user-stat{font-size:10px;color:var(--muted);margin-top:8px}
.pro-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}.pro-wide{max-width:1050px;width:calc(100% - 28px)}.pro-member-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin-block:15px}
.pro-record{white-space:pre-wrap;overflow-wrap:anywhere;margin-block:12px;max-width:100%}.pro-record small{display:block;color:var(--muted);font-size:10px}.pro-record p{line-height:2;margin-block:12px}.pro-record .btn{white-space:normal}
.pro-wallet-hero{padding:30px;background:radial-gradient(ellipse at 100% 0,var(--brand-soft),transparent 75%),var(--paper);display:grid;gap:14px}.pro-wallet-hero strong{font-size:clamp(25px,4vw,42px);font-weight:750}.pro-price{font-size:27px}.pro-wallet-hero p{color:var(--muted);line-height:2}
.pro-ai-actions{margin-block:14px}.pro-assistant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;margin-block:20px}.pro-assistant-grid:empty{display:none}.pro-assistant-grid p{color:var(--muted);font-size:12px;line-height:1.9}.pro-ai-assets{display:flex;flex-wrap:wrap;gap:10px}.pro-ai-assets a{display:grid;gap:8px;font-size:11px}.pro-ai-assets img{width:220px;max-width:100%;max-height:260px;object-fit:contain;border-radius:16px}
.pro-attachment-button{display:flex;position:relative;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;font-size:12px;cursor:pointer;overflow:hidden}.pro-attachment-button svg{width:18px;height:18px}.pro-attachment-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.pro-attachment-button:focus-within{outline:2px solid var(--brand);outline-offset:3px}.pro-attachment-button .file-choice{display:none}
.pro-model-options{padding:16px;background:var(--surface);border-radius:16px}.pro-feature-checks{display:grid;gap:10px}.pro-expression-categories{display:flex;gap:8px;overflow:auto;padding-block:12px}.pro-expression-categories .active{background:var(--accent);color:var(--accent-contrast)}
.alavi-player{border:1px solid color-mix(in srgb,var(--brand) 15%,var(--line));background:linear-gradient(120deg,var(--paper),var(--brand-soft));border-radius:20px;box-shadow:inset 0 1px 0 #ffffff22}.audio-wave{filter:drop-shadow(0 2px 4px var(--glow))}.alavi-player button{transition:transform var(--pro-duration) var(--pro-ease)}.alavi-player button:active{transform:scale(.94)}
html:not([data-motion=none]) .message{animation:pro-message var(--pro-duration) var(--pro-ease) both}html:not([data-motion=none]) .btn,html:not([data-motion=none]) .card,html:not([data-motion=none]) .nav-btn{transition:background var(--pro-duration),box-shadow var(--pro-duration),transform var(--pro-duration) var(--pro-ease)}
@keyframes pro-message{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
html[data-motion=none] *,html[data-motion=none] *::before,html[data-motion=none] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:760px){.pro-wallet-nav{display:none!important}.pro-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pro-wide{width:calc(100% - 16px);max-height:94dvh}.pro-tabs{gap:5px}.pro-tabs .btn{font-size:10px;padding:8px}.pro-stats{gap:16px}.pro-wallet-hero{padding:22px}.pro-ai-assets img{width:180px}.pro-attachment-button{font-size:11px}}

.pro-expression-categories .btn{flex-shrink:0;white-space:nowrap;min-height:38px;padding:8px 13px;border-radius:99px}.pro-expression-categories{scrollbar-width:thin}.pro-expression-categories svg{width:16px;height:16px}

html[data-low=true] .message{animation:none!important}html[data-low=true] .btn,html[data-low=true] .card{transition:none!important}
