﻿/* ===== App Layout ===== */
.app{display:flex;height:100%;position:relative;z-index:2;animation:appIn .5s ease-out}
.sidebar{width:var(--sidebar-w);backdrop-filter:blur(30px) saturate(1.4);-webkit-backdrop-filter:blur(30px) saturate(1.4);background:var(--bg2);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.22,1,.36,1);z-index:100}
.sidebar.hidden{transform:translateX(-100%);position:absolute;height:100%}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);z-index:99;opacity:0;transition:opacity .3s}
.sidebar-overlay.show{display:block;opacity:1}
.main{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}
.topbar{height:var(--topbar-h);backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);background:var(--bg2);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;padding:0 16px;gap:12px;z-index:10}
.topbar-menu{display:none;width:38px;height:38px;border:none;background:transparent;color:var(--text);font-size:20px;cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition)}
.topbar-menu:active{background:var(--surface2)}
.topbar-title{font-size:15px;font-weight:700;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar-right{display:flex;align-items:center;gap:8px}
.chat-area{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 0;-webkit-overflow-scrolling:touch}
.chat-inner{max-width:800px;margin:0 auto;padding:0 20px}
.input-area{padding:8px 16px calc(12px + var(--safe-b));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--bg2);border-top:1px solid var(--glass-border)}
.welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:40px 20px}
.welcome-icon{width:80px;height:80px;margin-bottom:16px;animation:float 3s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.welcome h3{font-size:20px;font-weight:700;margin-bottom:6px}
.welcome p{color:var(--text3);font-size:13px;margin-bottom:24px}
.quick-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}