.ai-app{height:var(--ai-viewport-height,100dvh);background:var(--surface-1);color:var(--text-primary);font-size:14px;display:flex;overflow:hidden}.ai-app *{box-sizing:border-box}.ai-app button,.ai-app a,.ai-app input,.ai-app textarea{outline-offset:3px}.ai-app button:focus-visible,.ai-app a:focus-visible,.ai-app input:focus-visible,.ai-app textarea:focus-visible,.ai-app [tabindex]:focus-visible{outline:2px solid var(--color-primary)}.ai-app button,.ai-sidebar-bottom a{cursor:pointer;min-height:44px}.ai-app button:disabled{cursor:not-allowed;opacity:.55}.ai-app button{border-radius:10px;padding:8px 12px;transition:background .15s}.ai-app button:hover:not(:disabled){background:var(--surface-2)}.ai-sidebar{background:var(--bg-secondary);border-inline-end:1px solid var(--border-light);flex-direction:column;flex-shrink:0;gap:16px;width:280px;padding:24px 16px;display:flex}.ai-brand{align-items:center;gap:12px;padding:4px;font-weight:700;display:flex}.ai-brand small{color:var(--text-secondary);margin-top:4px;font-size:12px;font-weight:400;display:block}.ai-monogram,.ai-empty-mark{border:1px solid var(--border-light);width:44px;height:44px;color:var(--color-primary);background:var(--surface-1);direction:ltr;border-radius:14px;place-items:center;font-weight:800;display:grid}.ai-app .ai-new{background:var(--color-primary);color:var(--text-inverted);font-weight:700}.ai-app .ai-new:hover:not(:disabled){background:var(--color-primary);filter:brightness(.95)}.ai-label{color:var(--text-secondary);margin-top:8px;padding-inline:8px;font-size:12px}.ai-session-list{flex-direction:column;flex:1;gap:4px;min-height:44px;display:flex;overflow-y:auto}.ai-session-list button{text-align:start;white-space:nowrap;text-overflow:ellipsis;width:100%;color:var(--text-secondary);overflow:hidden}.ai-session-list button[aria-current]{background:var(--surface-1);color:var(--text-primary);font-weight:600}.ai-sidebar-bottom{border-top:1px solid var(--border-light);flex-direction:column;gap:4px;padding-top:14px;display:flex}.ai-sidebar-bottom p{color:var(--text-secondary);padding:4px 8px;font-size:12px;line-height:1.9}.ai-sidebar-bottom button,.ai-sidebar-bottom a{text-align:start;padding:10px 8px;font-size:13px}.ai-persistence{cursor:pointer;align-items:center;gap:8px;min-height:44px;font-size:13px;display:flex}.ai-persistence input{width:18px;height:18px;accent-color:var(--color-primary);flex-shrink:0}.ai-main{flex-direction:column;flex:1;min-width:0;display:flex}.ai-header{border-bottom:1px solid var(--border-light);align-items:center;gap:16px;min-height:80px;padding:12px 24px;display:flex}.ai-header-title{flex:1;min-width:0}.ai-header h1{font-size:16px;font-weight:700}.ai-header p{color:var(--text-secondary);margin-top:4px;font-size:12px}.ai-header-actions{gap:4px;font-size:12px;display:flex}.ai-menu{display:none}.ai-transcript{overscroll-behavior:contain;flex:1;min-height:0;padding:24px;scroll-padding-bottom:24px;overflow-y:auto}.ai-empty{text-align:center;width:100%;max-width:640px;margin:auto;padding:clamp(24px,8vh,88px) 0 24px}.ai-empty-mark{border-radius:20px;width:60px;height:60px;margin:0 auto 24px;font-size:22px}.ai-eyebrow{color:var(--text-secondary);margin-bottom:12px;font-size:12px}.ai-empty h2{margin-bottom:12px;font-size:clamp(24px,3vw,32px);font-weight:800}.ai-empty>p{color:var(--text-secondary);line-height:2}.ai-suggestions{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:32px;display:grid}.ai-suggestions button{border:1px solid var(--border-light);text-align:start;background:var(--surface-1);padding:16px;font-size:13px;line-height:2}.ai-suggestions span{color:var(--color-primary);margin-top:12px;display:block}.ai-turns{flex-direction:column;gap:32px;max-width:760px;margin:0 auto;list-style:none;display:flex}.ai-turn{min-width:0;max-width:100%;line-height:2}.ai-user{background:var(--surface-2);border-radius:20px 6px 20px 20px;align-self:flex-start;width:fit-content;max-width:88%;padding:12px 20px}.ai-assistant{padding:0 4px}.ai-role{color:var(--text-secondary);margin-bottom:8px;font-size:12px;font-weight:600}.ai-user-content{white-space:pre-wrap;overflow-wrap:anywhere}.ai-copy{color:var(--text-secondary);border:1px solid var(--border-light);margin-top:8px;font-size:12px}.ai-status{max-width:760px;min-height:24px;color:var(--text-secondary);margin:24px auto 0;font-size:13px}.ai-status:empty{min-height:0;margin:0}.ai-composer{width:100%;max-width:832px;padding:12px 24px max(16px, env(safe-area-inset-bottom));flex-shrink:0;margin:0 auto}.ai-input-box{border:1px solid var(--border-light);background:var(--surface-2);border-radius:20px;padding:10px 14px;box-shadow:0 2px 10px #00000008}.ai-input-box:focus-within{border-color:var(--color-primary)}.ai-input-box textarea{resize:none;width:100%;min-height:56px;max-height:180px;color:var(--text-primary);font:inherit;background:0 0;border:0;padding:6px;font-size:16px;line-height:1.8}.ai-input-box textarea:focus-visible{outline:0}.ai-composer-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.ai-length{color:var(--text-secondary);font-size:12px}.ai-app .ai-composer-actions button{background:var(--color-primary);color:var(--text-inverted);padding-inline:20px;font-weight:700}.ai-app .ai-composer-actions button:hover:not(:disabled){background:var(--color-primary);filter:brightness(.95)}.ai-guidance{color:var(--text-secondary);text-align:center;margin-top:8px;font-size:12px;line-height:1.8}.ai-error,.ai-notice{border:1px solid var(--border-light);background:var(--surface-2);border-radius:12px;margin-bottom:12px;padding:10px 14px;font-size:13px;line-height:1.8}.ai-error{color:var(--text-primary);border-inline-start:3px solid var(--color-danger)}.ai-rename{border-bottom:1px solid var(--border-light);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 24px;display:flex}.ai-rename input{background:var(--surface-2);border:1px solid var(--border-light);min-width:0;color:var(--text-primary);border-radius:8px;padding:10px}.ai-markdown{overflow-wrap:anywhere}.ai-markdown p{white-space:pre-wrap;margin-block:12px}.ai-markdown h2,.ai-markdown h3,.ai-markdown h4,.ai-markdown h5,.ai-markdown h6{margin-block:20px 8px;font-size:18px;font-weight:700}.ai-markdown ul,.ai-markdown ol{margin-block:12px;padding-inline-start:24px}.ai-markdown ul{list-style:outside}.ai-markdown ol{list-style:decimal}.ai-markdown a{color:var(--color-primary);text-decoration:underline}.ai-markdown blockquote{border-inline-start:3px solid var(--border-light);color:var(--text-secondary);padding-inline-start:16px}.ai-markdown code{background:var(--surface-2);unicode-bidi:isolate;border-radius:4px;padding:2px 4px;font-family:monospace}.ai-code{border:1px solid var(--border-light);background:var(--surface-2);border-radius:12px;min-width:0;max-width:100%;margin-block:16px;overflow:hidden}.ai-code-bar{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:4px 12px;font-size:12px;display:flex}.ai-code pre{white-space:pre;max-width:100%;padding:16px;font-size:13px;line-height:1.8;overflow-x:auto}.ai-code pre code{padding:0}.ai-table{max-width:100%;overflow-x:auto}.ai-table td{border:1px solid var(--border-light);padding:8px}.ai-drawer{border:1px solid var(--border-light);height:var(--ai-viewport-height,100dvh);max-height:var(--ai-viewport-height,100dvh);background:var(--bg-secondary);width:min(320px,92vw);max-width:92vw;color:var(--text-primary);margin:0 0 0 auto;padding:16px}.ai-drawer[open]{flex-direction:column;gap:16px;display:flex}.ai-drawer::backdrop{background:#0000008c}.ai-close{align-self:flex-end}@media (max-width:767px){.ai-sidebar{display:none}.ai-menu{border:1px solid var(--border-light);font-size:12px;display:block}.ai-header{flex-wrap:wrap;gap:8px;min-height:80px;padding:8px 12px}.ai-header-actions{margin-inline-start:auto}.ai-header-title{min-width:140px}.ai-transcript{padding:16px}.ai-empty{padding-top:24px}.ai-suggestions{grid-template-columns:1fr;gap:8px;margin-top:24px}.ai-suggestions button{justify-content:space-between;align-items:center;padding:12px;display:flex}.ai-suggestions span{margin:0}.ai-composer{padding-inline:12px}.ai-guidance{text-align:start}.ai-turns{gap:24px}.ai-user{max-width:94%;padding:10px 16px}}@media (prefers-reduced-motion:reduce){.ai-app button{transition:none}}.ai-confirm{border:1px solid var(--border-light);background:var(--surface-1);width:min(400px,92vw);color:var(--text-primary);border-radius:16px;margin:auto;padding:24px}.ai-confirm::backdrop{background:#0000008c}.ai-confirm p{margin-bottom:16px}.ai-confirm button{border:1px solid var(--border-light);margin-inline-end:8px}