/* AI-only stylesheet. Desktop chat keeps its established layout. */
.mobile-navigation { display:none; }
.voice-controls { display:contents; }
.voice-controls>.row { margin-top:10px; }
body[data-site="visenious_ai"] { --safe-top:env(safe-area-inset-top,0px); --safe-bottom:env(safe-area-inset-bottom,0px); --safe-left:env(safe-area-inset-left,0px); --safe-right:env(safe-area-inset-right,0px); }
@media(max-width:900px) {
 html:has(body[data-site="visenious_ai"]) { font-size:100%; }
 body[data-site="visenious_ai"] { font-size:1rem; padding-bottom:var(--safe-bottom); }
 body[data-site="visenious_ai"] .preview { height:auto; min-height:56px; padding:calc(4px + var(--safe-top)) max(12px,var(--safe-right)) 4px max(12px,var(--safe-left)); gap:8px; letter-spacing:.7px; }
 body[data-site="visenious_ai"] .preview span { font-size:.6875rem; margin-left:0; overflow:hidden; text-overflow:ellipsis; }
 body[data-site="visenious_ai"] .preview .install-help { min-height:48px; min-width:48px; font-size:.75rem; padding:10px 12px; }
 body[data-site="visenious_ai"] #status { padding:8px max(16px,var(--safe-right)) 8px max(16px,var(--safe-left)); font-size:.8125rem; line-height:1.5; overflow-wrap:anywhere; }
 body[data-site="visenious_ai"] .genie-backdrop { inset:calc(92px + var(--safe-top)) 0 0; background-position:right top; background-size:auto 80%; opacity:.38; }
 body[data-site="visenious_ai"] .entry { width:100%; margin:12px auto; padding:20px max(16px,var(--safe-right)) 20px max(16px,var(--safe-left)); }
 body[data-site="visenious_ai"] .entry h1 { font-size:1.875rem; line-height:1.2; }
 body[data-site="visenious_ai"] .auth-card { padding:18px; }
 body[data-site="visenious_ai"] .auth-card .row { flex-wrap:wrap; }
 body[data-site="visenious_ai"] .auth-card button { flex:1 1 120px; }
 body[data-site="visenious_ai"] :is(button,select,input:not([type=checkbox]),summary) { min-height:48px; }
 body[data-site="visenious_ai"] :is(input,textarea,select) { font-size:1rem; min-width:0; max-width:100%; }
 body[data-site="visenious_ai"] :is(button,a,summary,label) { -webkit-tap-highlight-color:#2a6ff54d; }
 body[data-site="visenious_ai"] :is(input,textarea,select,button,summary) { scroll-margin-block:20px 100px; }
 body[data-site="visenious_ai"] textarea { line-height:1.55; }
 body[data-site="visenious_ai"] .workspace { display:block; height:auto; min-height:0; }
 body.mobile-ready { padding-bottom:calc(5.5rem + var(--safe-bottom)); }
 body.mobile-ready[data-mobile-panel="chat"] :is(.sidebar,.tools),
 body.mobile-ready[data-mobile-panel="history"] :is(.chat,.tools),
 body.mobile-ready[data-mobile-panel="tools"] :is(.chat,.sidebar) { display:none; }
 body[data-site="visenious_ai"] :is(.sidebar,.chat,.tools) { min-width:0; border:0; padding:16px max(16px,var(--safe-right)) 20px max(16px,var(--safe-left)); }
 body[data-site="visenious_ai"] .sidebar { display:flex; gap:16px; min-height:calc(100svh - 176px); }
 body[data-site="visenious_ai"] .sidebar .wordmark { margin:0; }
 body[data-site="visenious_ai"] .sidebar>.eyebrow { display:block; margin:12px 0 0; }
 body[data-site="visenious_ai"] .sidebar nav { max-height:none; overflow:visible; }
 body[data-site="visenious_ai"] .sidebar nav button { font-size:.9375rem; white-space:normal; overflow-wrap:anywhere; line-height:1.5; text-overflow:clip; padding:12px; margin:0 0 8px; }
 body[data-site="visenious_ai"] .account { display:flex; flex-direction:column; align-items:stretch; margin-top:auto; padding-top:16px; gap:8px; }
 body[data-site="visenious_ai"] .account span { font-size:.875rem; }
 body[data-site="visenious_ai"] .chat { gap:12px; }
 body[data-site="visenious_ai"] .chat-header { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr)); padding-bottom:12px; align-items:start; gap:12px; }
 body[data-site="visenious_ai"] .chat-header h1 { font-size:1.25rem; line-height:1.35; margin:0; }
 body[data-site="visenious_ai"] .chat-header .eyebrow { font-size:.625rem; }
 body[data-site="visenious_ai"] .language-label { min-width:0; width:100%; max-width:none; font-size:.75rem; }
 body[data-site="visenious_ai"] .language-label select { font-size:1rem; padding:10px 8px; }
 body[data-site="visenious_ai"] .messages { flex:none; height:clamp(160px,calc(var(--phone-height,100svh) - 600px),600px); min-height:160px; max-height:none; padding:8px 2px 16px; overscroll-behavior-y:contain; scrollbar-gutter:stable; background:linear-gradient(90deg,#030a1c80,#030a1c33); border-radius:12px; }
 body[data-site="visenious_ai"] .message { margin-bottom:22px; }
 body[data-site="visenious_ai"] :is(.message .text,.result-text) { font-size:1rem; line-height:1.7; unicode-bidi:plaintext; text-align:start; }
 body[data-site="visenious_ai"] .message .author { font-size:.75rem; direction:ltr; }
 body[data-site="visenious_ai"] .message.user .text { padding:12px 14px; }
 body[data-site="visenious_ai"] .message .actions { gap:8px; }
 body[data-site="visenious_ai"] .message .actions button { padding:10px 12px; font-size:.875rem; border:1px solid #00f0f84a; border-radius:10px; }
 body[data-site="visenious_ai"] .sources { font-size:.875rem; direction:ltr; }
 body[data-site="visenious_ai"] .sources a { display:inline-block; padding-block:10px; line-height:1.7; overflow-wrap:anywhere; }
 body[data-site="visenious_ai"] .composer { padding:12px; margin:0; }
 body[data-site="visenious_ai"] .composer>label { font-size:.875rem; }
 body[data-site="visenious_ai"] .composer textarea { min-height:4.75rem; height:4.75rem; }
 body[data-site="visenious_ai"] .composer .row { flex-wrap:wrap; gap:8px; }
 body[data-site="visenious_ai"] :is(#record,#finish-record,#discard-record) { font-size:.875rem; }
 body[data-site="visenious_ai"] #record-state { flex:1 1 160px; font-size:.75rem; }
 body[data-site="visenious_ai"] #record-state:empty { display:none; }
 body[data-site="visenious_ai"] .voice-controls { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr)); gap:8px; margin-top:10px; }
 body[data-site="visenious_ai"] .voice-controls>.row { margin:0; align-content:start; }
 body[data-site="visenious_ai"] .voice-controls #record { width:100%; padding:10px; justify-content:center; }
 body[data-site="visenious_ai"] #record span { white-space:nowrap; font-size:.8125rem; }
 body[data-site="visenious_ai"] .voice-controls .audio-import { margin:0; }
 body[data-site="visenious_ai"] .voice-controls audio { grid-column:1/-1; margin:0; }
 body[data-site="visenious_ai"] .voice-controls:has(.audio-import[open]),
 body[data-site="visenious_ai"] .voice-controls:has(#finish-record:not([hidden])) { display:block; }
 body[data-site="visenious_ai"] .audio-import { font-size:.8125rem; }
 body[data-site="visenious_ai"] .audio-import summary { display:flex; align-items:center; line-height:1.5; cursor:pointer; }
 body[data-site="visenious_ai"] .audio-import summary::before { content:'\25B8'; margin-right:8px; }
 body[data-site="visenious_ai"] .audio-import[open] summary::before { content:'\25BE'; }
 body[data-site="visenious_ai"] .composer .check { margin:0; font-size:.875rem; flex:1 1 150px; }
 body[data-site="visenious_ai"] .composer .check small { display:none; }
 body[data-site="visenious_ai"] #send { flex:0 1 auto; padding:12px 16px; font-size:.9375rem; }
 body[data-site="visenious_ai"] .composer-note { font-size:.75rem; line-height:1.5; margin:10px 0 0; }
 body[data-site="visenious_ai"] .work-controls { flex-wrap:wrap; gap:8px; min-height:0; font-size:.8125rem; }
 body[data-site="visenious_ai"] .work-controls:has(#cancel[hidden]):has(#retry[hidden]):has(#task-state:empty) { display:none; }
 body[data-site="visenious_ai"] .tools>h2 { font-size:1.375rem; margin:0 0 16px; }
 body[data-site="visenious_ai"] .tools details { border:1px solid #bfd4ff29; border-radius:12px; background:#091831eb; margin:0 0 12px; padding:8px 14px; max-width:none; }
 body[data-site="visenious_ai"] .tools summary { display:list-item; align-content:center; font-size:1rem; line-height:1.5; padding-block:12px; margin-left:14px; }
 body[data-site="visenious_ai"] :is(.tools button,.tools label,.tools details p) { font-size:.875rem; line-height:1.6; }
 body[data-site="visenious_ai"] .tools .row { flex-wrap:wrap; }
 body[data-site="visenious_ai"] .tools .row select { flex:1 1 180px; }
 body[data-site="visenious_ai"] .tools fieldset { gap:8px; min-width:0; }
 body[data-site="visenious_ai"] :is(.check,.file-row label,.tools fieldset label) { min-height:48px; padding:8px 4px; align-items:center; cursor:pointer; }
 body[data-site="visenious_ai"] input[type=checkbox] { flex:none; width:22px; height:22px; margin:0 4px 0 0; }
 body[data-site="visenious_ai"] .file-row label { overflow-wrap:anywhere; }
 body[data-site="visenious_ai"] .tools small { font-size:.75rem; }
 body[data-site="visenious_ai"] .upload input { width:100%; white-space:normal; font-size:.875rem; }
 body[data-site="visenious_ai"] input::file-selector-button { min-height:44px; max-width:100%; margin-right:8px; border:1px solid #bfd4ff38; border-radius:8px; color:#eaf1ff; background:#10244a; padding:8px 12px; }
 body[data-site="visenious_ai"] .task-button { padding:12px 4px; }
 body[data-site="visenious_ai"] .downloads a { min-height:48px; display:flex; align-items:center; padding:12px; overflow-wrap:anywhere; max-width:100%; font-size:.875rem; }
 body[data-site="visenious_ai"] audio { min-height:48px; }
 body[data-site="visenious_ai"] dialog { max-width:calc(100vw - 24px); max-height:calc(var(--phone-height,100dvh) - 24px - var(--safe-top) - var(--safe-bottom)); padding:18px; overflow:auto; overscroll-behavior:contain; }
 body[data-site="visenious_ai"] dialog .row { flex-wrap:wrap; }
 body[data-site="visenious_ai"] dialog h2 { font-size:1.3125rem; overflow-wrap:anywhere; }
 body[data-site="visenious_ai"] #install-dialog { max-width:calc(100vw - 24px - var(--safe-left) - var(--safe-right)); max-height:calc(var(--phone-height,100dvh) - 24px - var(--safe-top) - var(--safe-bottom)); }
 body[data-site="visenious_ai"] #install-dialog summary { padding-block:12px; }
 body.mobile-ready .mobile-navigation { position:fixed; z-index:10; bottom:0; left:0; right:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:8px max(12px,var(--safe-right)) calc(8px + var(--safe-bottom)) max(12px,var(--safe-left)); background:#071432f5; border-top:1px solid #bfd4ff33; box-shadow:0 -6px 24px #030a1c88; }
 .mobile-navigation button { min-width:0; min-height:3.25rem; padding:6px 4px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:3px; font-size:.75rem; background:transparent; border:1px solid transparent; color:#b3c4e3; box-shadow:none; }
 .mobile-navigation button[aria-pressed=true] { background:#142c55; color:#b9faff; border-color:#2a6ff566; }
 .mobile-navigation svg { width:20px; height:20px; flex:none; }
 .mobile-navigation span { max-width:100%; overflow-wrap:anywhere; }
 /* Let the page scroll naturally above the keyboard; never pin the input under it. */
 body.mobile-ready:has(input:focus,textarea:focus,select:focus) .mobile-navigation { display:none; }
}
@media(max-width:360px) {
 body[data-site="visenious_ai"] .preview span { display:none; }
 body[data-site="visenious_ai"] #send { flex:1 1 100%; }
}
@media(prefers-reduced-motion:reduce) { body[data-site="visenious_ai"] * { scroll-behavior:auto; } }
