:root{--pastel-blue:#a8d8ff;--pastel-purple:#cdb4db;--pastel-pink:#ffc8dd;--pastel-mint:#bde0d0;--pastel-peach:#ffd6a5;--bg:#fafafc;--bg-soft:#f3f4fa;--surface:#fff;--surface-2:#f7f8fc;--border:#ecedf5;--border-2:#e1e3ef;--text:#2b2b3c;--text-soft:#6e6e86;--text-mute:#9c9cb4;--accent:#7fb6e8;--accent-2:#a98fc9;--accent-ink:#fff;--danger:#e58a98;--success:#7fc6a4;--shadow-xs:0 1px 2px #2b2b3c0a;--shadow-sm:0 1px 2px #2b2b3c0a,0 4px 16px #2b2b3c0d;--shadow-md:0 8px 34px #2b2b3c17;--shadow-lg:0 24px 60px #2b2b3c21;--r-xs:9px;--r-sm:12px;--r-md:16px;--r-lg:22px;--r-xl:28px;--sidebar-w:286px;--header-h:66px;--font:"Vazirmatn",system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif}[data-theme=dark]{--bg:#131320;--bg-soft:#181828;--surface:#1b1b2b;--surface-2:#212133;--border:#2b2b40;--border-2:#363652;--text:#ececf6;--text-soft:#a6a6c0;--text-mute:#7b7b98;--accent:#9ccbf2;--accent-2:#c3aedd;--danger:#e79aa6;--success:#8fd3b2;--shadow-xs:0 1px 2px #00000040;--shadow-sm:0 1px 2px #00000040,0 6px 20px #00000047;--shadow-md:0 10px 38px #0000005c;--shadow-lg:0 26px 70px #00000080}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:14.5px;line-height:1.75;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(720px 420px at 12% -6%,#a8d8ff52,#0000 60%),radial-gradient(620px 400px at 92% 4%,#cdb4db47,#0000 62%),radial-gradient(560px 420px at 70% 100%,#bde0d038,#0000 60%);position:fixed;inset:0}[data-theme=dark] body:before{background:radial-gradient(720px 420px at 12% -6%,#78aadc24,#0000 60%),radial-gradient(620px 400px at 92% 4%,#a082be21,#0000 62%),radial-gradient(560px 420px at 70% 100%,#6eaa8c1c,#0000 60%)}h1,h2,h3,h4,h5,h6{margin:0 0 .4em;font-weight:600;line-height:1.5}p{margin:0 0 .6em}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font-family:inherit;font-size:inherit}::selection{background:#a8d8ff8c}.icon{flex:none;display:block}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-2);background-clip:padding-box;border:2px solid #0000;border-radius:20px}::-webkit-scrollbar-thumb:hover{background:var(--text-mute);background-clip:padding-box}.boot-screen{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:20px;height:100%;display:flex;position:relative}.boot-logo{letter-spacing:-.5px;background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:30px;font-weight:700}.spinner{border:3px solid var(--border-2);border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chat-center{justify-content:center;padding:40px 0;display:flex}.btn{border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);cursor:pointer;white-space:nowrap;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:9px 16px;font-size:14px;font-weight:500;transition:transform .12s,background .18s,box-shadow .18s,border-color .18s,opacity .18s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#fff;border-color:#0000;box-shadow:0 6px 18px #7fb6e847}.btn-primary:hover{box-shadow:0 10px 26px #7fb6e85c}[data-theme=dark] .btn-primary{color:#16162a;font-weight:600}.btn-soft{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-xs)}.btn-soft:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.btn-ghost{color:var(--text-soft);background:0 0}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-stop{color:#a4505f;background:#f6d9de}[data-theme=dark] .btn-stop{color:#e79aa6;background:#3a2630}.btn-lg{border-radius:var(--r-md);padding:12px 24px;font-size:15px}.btn-sm{border-radius:var(--r-xs);padding:6px 12px;font-size:13px}.btn-block{width:100%}.btn-send{border-radius:13px;width:44px;height:44px;padding:0}.btn-icon{width:38px;height:38px;color:var(--text-soft);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;transition:background .16s,color .16s,border-color .16s,transform .12s;display:inline-flex}.btn-icon:hover{background:var(--surface-2);color:var(--text)}.btn-icon:disabled{opacity:.35;cursor:not-allowed}.btn-icon.sm{border-radius:9px;width:30px;height:30px}.btn-icon.danger:hover{color:#b4566a;background:#fbe4e8}[data-theme=dark] .btn-icon.danger:hover{color:#e79aa6;background:#3a2530}.field{flex:1;min-width:0;margin-bottom:15px}.field-row{gap:14px;display:flex}.label{color:var(--text-soft);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.label-note{color:var(--text-mute);font-size:12px;font-weight:400}.input,.textarea,.select{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);outline:none;padding:10px 13px;font-size:14px;transition:border-color .16s,box-shadow .16s,background .16s}.input::placeholder,.textarea::placeholder{color:var(--text-mute)}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 4px #a8d8ff38}.textarea{resize:vertical;min-height:90px;line-height:1.8}.select{cursor:pointer;appearance:none;padding-left:32px}.select-sm{border-radius:var(--r-xs);padding:6px 30px 6px 10px;font-size:13px}.ltr{text-align:left;direction:ltr}.switch{cursor:pointer;user-select:none;align-items:center;gap:10px;display:inline-flex}.switch input{opacity:0;width:0;height:0;position:absolute}.switch-slider{background:var(--border-2);border-radius:20px;flex:none;width:44px;height:25px;transition:background .2s;position:relative}.switch-slider:after{content:"";background:#fff;border-radius:50%;width:19px;height:19px;transition:transform .22s cubic-bezier(.3,1.4,.5,1);position:absolute;top:3px;right:3px;box-shadow:0 1px 4px #0000002e}.switch input:checked+.switch-slider{background:var(--accent)}.switch input:checked+.switch-slider:after{transform:translate(-19px)}.switch-text{color:var(--text-soft);font-size:13.5px}.divider{color:var(--text-mute);align-items:center;gap:12px;margin:22px 0 16px;font-size:12.5px;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:20px;padding:24px}.card-title{margin-bottom:4px;font-size:16px}.card-sub{color:var(--text-mute);margin-bottom:18px;font-size:13px}.chip{background:var(--surface-2);color:var(--text-mute);border:1px solid var(--border);border-radius:100px;padding:3px 11px;font-size:11.5px;font-weight:500;display:inline-block}.chip-ready{color:#4e7f66;background:#bde0d066;border-color:#0000}[data-theme=dark] .chip-ready{color:#9fd8bd;background:#bde0d029}.badge{border-radius:100px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.badge-blue{color:#3d6f9c;background:#a8d8ff5c}.badge-purple{color:#6f5385;background:#cdb4db6b}[data-theme=dark] .badge-blue{color:#a8d8ff;background:#a8d8ff29}[data-theme=dark] .badge-purple{color:#d5c0e0;background:#cdb4db2e}.toast-stack{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:22px;left:22px}.toast{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);pointer-events:auto;align-items:center;gap:10px;max-width:340px;padding:11px 16px;font-size:13.5px;animation:.28s cubic-bezier(.2,1.2,.4,1) toastIn;display:flex}@keyframes toastIn{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-icon{border-radius:8px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.toast-success .toast-icon{color:#3d7358;background:#bde0d080}.toast-error .toast-icon{color:#a4505f;background:#ffc8dd80}.toast-info .toast-icon{color:#3d6f9c;background:#a8d8ff73}[data-theme=dark] .toast-success .toast-icon{background:#bde0d02e}[data-theme=dark] .toast-error .toast-icon{background:#ffc8dd2e}[data-theme=dark] .toast-info .toast-icon{background:#a8d8ff2e}.modal-overlay{-webkit-backdrop-filter:blur(7px);z-index:9000;background:#23233757;justify-content:center;align-items:center;padding:20px;animation:.18s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);width:100%;max-width:460px;box-shadow:var(--shadow-lg);animation:.26s cubic-bezier(.2,1.15,.4,1) modalIn;overflow:hidden}.modal-lg{max-width:640px}@keyframes modalIn{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-head h3{margin:0;font-size:16px}.modal-body{padding:22px}.modal-foot{border-top:1px solid var(--border);background:var(--surface-2);justify-content:flex-start;gap:10px;padding:16px 22px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-mark{background:linear-gradient(135deg,var(--pastel-blue),var(--pastel-purple));color:#3b4a63;border-radius:12px;justify-content:center;align-items:center;width:34px;height:34px;display:flex;box-shadow:0 4px 14px #a8d8ff66}.brand-name{letter-spacing:-.3px;font-size:17px;font-weight:700}.landing{z-index:1;flex-direction:column;width:100%;max-width:1180px;min-height:100%;margin:0 auto;padding:0 24px 40px;display:flex;position:relative}.landing-nav{justify-content:space-between;align-items:center;padding:22px 0;display:flex}.landing-nav-actions{align-items:center;gap:10px;display:flex}.hero{text-align:center;padding:62px 0 46px;animation:.6s cubic-bezier(.2,.9,.3,1) riseIn}@keyframes riseIn{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.hero-badge{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-xs);color:var(--text-soft);border-radius:100px;align-items:center;gap:7px;margin-bottom:22px;padding:6px 14px;font-size:12.5px;display:inline-flex}.hero-title{letter-spacing:-1.4px;margin-bottom:16px;font-size:clamp(30px,5.2vw,52px);font-weight:700;line-height:1.35}.hero-sub{color:var(--text-soft);max-width:600px;margin:0 auto 32px;font-size:clamp(15px,2vw,18px)}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:54px;display:flex}.hero-preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);max-width:660px;box-shadow:var(--shadow-md);text-align:right;margin:0 auto;overflow:hidden}.preview-bar{border-bottom:1px solid var(--border);background:var(--surface-2);gap:7px;padding:13px 18px;display:flex}.dot{border-radius:50%;width:10px;height:10px}.dot-pink{background:var(--pastel-pink)}.dot-peach{background:var(--pastel-peach)}.dot-mint{background:var(--pastel-mint)}.preview-body{flex-direction:column;gap:14px;padding:20px;display:flex}.preview-msg{border-radius:var(--r-md);max-width:84%;padding:11px 15px;font-size:13.5px}.preview-user{color:var(--text);background:linear-gradient(120deg,#a8d8ff66,#cdb4db5c);align-self:flex-end}.preview-ai{background:var(--surface-2);border:1px solid var(--border);align-self:flex-start;align-items:flex-start;gap:10px;display:flex}.preview-avatar{background:linear-gradient(135deg,var(--pastel-blue),var(--pastel-purple));color:#3b4a63;border-radius:8px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.features{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;padding:20px 0 40px;display:grid}.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);padding:24px;transition:transform .22s cubic-bezier(.2,.9,.3,1),box-shadow .22s}.feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.feature-card h3{margin-bottom:6px;font-size:15.5px}.feature-card p{color:var(--text-soft);margin-bottom:14px;font-size:13.5px}.feature-icon{border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:16px;display:flex}.tone-blue .feature-icon,.tone-blue .tool-icon,.stat-card.tone-blue .stat-icon{color:#3d6f9c;background:#a8d8ff73}.tone-purple .feature-icon,.tone-purple .tool-icon,.stat-card.tone-purple .stat-icon{color:#6f5385;background:#cdb4db73}.tone-mint .feature-icon,.tone-mint .tool-icon,.stat-card.tone-mint .stat-icon{color:#4e7f66;background:#bde0d080}.tone-peach .feature-icon,.tone-peach .tool-icon,.stat-card.tone-peach .stat-icon{color:#96703a;background:#ffd6a580}.tone-pink .stat-icon{color:#a4505f;background:#ffc8dd80}[data-theme=dark] .tone-blue .feature-icon,[data-theme=dark] .tone-blue .tool-icon{color:#a8d8ff;background:#a8d8ff29}[data-theme=dark] .tone-purple .feature-icon,[data-theme=dark] .tone-purple .tool-icon{color:#d5c0e0;background:#cdb4db29}[data-theme=dark] .tone-mint .feature-icon,[data-theme=dark] .tone-mint .tool-icon{color:#a4d8c0;background:#bde0d029}[data-theme=dark] .tone-peach .feature-icon,[data-theme=dark] .tone-peach .tool-icon{color:#f0c088;background:#ffd6a529}.landing-footer{text-align:center;color:var(--text-mute);margin-top:auto;padding-top:30px;font-size:12.5px}.auth-wrap{z-index:1;justify-content:center;align-items:center;min-height:100%;padding:60px 20px;display:flex;position:relative}.auth-back{position:absolute;top:24px;right:24px}.auth-wrap>.theme-btn{position:absolute;top:24px;left:24px}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);width:100%;max-width:440px;box-shadow:var(--shadow-md);padding:34px 30px;animation:.45s cubic-bezier(.2,.9,.3,1) riseIn}.auth-brand{justify-content:center;align-items:center;gap:10px;margin-bottom:26px;display:flex}.auth-tabs{background:var(--surface-2);border-radius:var(--r-md);margin-bottom:26px;padding:4px;display:flex}.auth-tab{border-radius:var(--r-sm);color:var(--text-soft);cursor:pointer;background:0 0;border:none;flex:1;padding:9px;font-size:14px;font-weight:500;transition:background .18s,color .18s,box-shadow .18s}.auth-tab.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs)}.auth-form .btn{margin-top:8px}.app-shell{z-index:1;height:100%;display:flex;position:relative;overflow:hidden}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--surface);border-left:1px solid var(--border);flex-direction:column;height:100%;display:flex}.sidebar-head{justify-content:space-between;align-items:center;padding:18px 18px 14px;display:flex}.sidebar-close{display:none}.sidebar-nav{flex-direction:column;gap:3px;padding:0 12px 8px;display:flex}.nav-item{border-radius:var(--r-sm);color:var(--text-soft);cursor:pointer;text-align:right;background:0 0;border:none;align-items:center;gap:11px;width:100%;padding:10px 13px;font-size:14px;font-weight:500;transition:background .16s,color .16s;display:flex}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{color:var(--text);background:linear-gradient(120deg,#a8d8ff57,#cdb4db4d)}[data-theme=dark] .nav-item.active{background:linear-gradient(120deg,#a8d8ff24,#cdb4db21)}.sidebar-section{padding:12px 14px 6px}.sidebar-list{flex:1;min-height:0;padding:8px 12px 12px;overflow-y:auto}.sidebar-list-title{color:var(--text-mute);letter-spacing:.2px;padding:8px 8px 6px;font-size:11.5px;font-weight:600}.sidebar-empty{color:var(--text-mute);text-align:center;padding:14px 10px;font-size:13px}.chat-item{border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:6px;margin-bottom:2px;padding:9px 10px;transition:background .15s;display:flex}.chat-item:hover{background:var(--surface-2)}.chat-item.active{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--accent)}.chat-item-main{flex:1;min-width:0}.chat-item-title{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:500;overflow:hidden}.chat-item-time{color:var(--text-mute);font-size:11.5px}.chat-item-actions{opacity:0;gap:2px;transition:opacity .16s;display:flex}.chat-item:hover .chat-item-actions{opacity:1}.sidebar-foot{border-top:1px solid var(--border);padding:12px}.user-box{border-radius:var(--r-md);background:var(--surface-2);align-items:center;gap:10px;padding:8px;display:flex}.user-meta{flex:1;min-width:0}.user-name{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.user-role{color:var(--text-mute);font-size:11.5px}.avatar{background:linear-gradient(135deg,var(--pastel-blue),var(--pastel-purple));color:#3b4a63;border-radius:12px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:flex}.avatar-sm{border-radius:10px;width:30px;height:30px;font-size:12px}.drawer-overlay{backdrop-filter:blur(4px);z-index:40;background:#23233757;display:none;position:fixed;inset:0}.main{flex-direction:column;flex:1;min-width:0;height:100%;display:flex}.header{height:var(--header-h);flex:0 0 var(--header-h);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);z-index:30;background:#ffffffb3;align-items:center;gap:12px;padding:0 22px;display:flex;position:relative}[data-theme=dark] .header{background:#1b1b2bb8}.header-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:16px;font-weight:600;overflow:hidden}.header-actions{align-items:center;gap:8px;display:flex}.menu-btn{display:none}.user-menu-wrap{position:relative}.avatar-btn{cursor:pointer;background:0 0;border:none;border-radius:12px;padding:0;transition:transform .16s}.avatar-btn:hover{transform:scale(1.05)}.user-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);width:232px;box-shadow:var(--shadow-md);z-index:50;animation:.2s cubic-bezier(.2,1.1,.4,1) modalIn;position:absolute;top:calc(100% + 10px);left:0;overflow:hidden}.user-menu-head{border-bottom:1px solid var(--border);background:var(--surface-2);padding:14px 16px}.user-menu-head .user-name{font-size:14px}.user-mail{color:var(--text-mute);text-align:right;text-overflow:ellipsis;white-space:nowrap;direction:ltr;font-size:12px;overflow:hidden}.user-menu-item{width:100%;color:var(--text-soft);cursor:pointer;text-align:right;background:0 0;border:none;align-items:center;gap:10px;padding:11px 16px;font-size:13.5px;transition:background .15s,color .15s;display:flex}.user-menu-item:hover{background:var(--surface-2);color:var(--text)}.user-menu-item.danger:hover{color:#b4566a;background:#fbe4e8}[data-theme=dark] .user-menu-item.danger:hover{color:#e79aa6;background:#3a2530}.content{flex:1;min-height:0;overflow:hidden}.page{width:100%;max-width:1120px;height:100%;margin:0 auto;padding:28px 26px 46px;overflow-y:auto}.page-head{margin-bottom:24px}.page-head h1{letter-spacing:-.5px;font-size:23px}.page-head p{color:var(--text-soft);margin:0;font-size:14px}.dash-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);margin-bottom:24px;padding:32px;position:relative;overflow:hidden}.dash-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#cdb4db57,#0000 68%);border-radius:50%;width:240px;height:240px;position:absolute;top:-70px;left:-70px}.dash-hero h1{letter-spacing:-.6px;z-index:1;margin-bottom:8px;font-size:clamp(19px,3vw,25px);position:relative}.dash-hero p{color:var(--text-soft);z-index:1;max-width:520px;font-size:14px;position:relative}.dash-hero-actions{z-index:1;flex-wrap:wrap;gap:10px;margin-top:20px;display:flex;position:relative}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(228px,1fr));gap:18px;display:grid}.tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);flex-direction:column;align-items:flex-start;padding:24px;transition:transform .22s cubic-bezier(.2,.9,.3,1),box-shadow .22s;display:flex}.tool-card:not(.disabled):hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.tool-card.disabled{opacity:.72}.tool-icon{border-radius:15px;justify-content:center;align-items:center;width:46px;height:46px;margin-bottom:16px;display:flex}.tool-card h3{margin-bottom:5px;font-size:15.5px}.tool-card p{color:var(--text-soft);flex:1;margin-bottom:16px;font-size:13.5px}.chat-layout{flex-direction:column;height:100%;min-height:0;display:flex}.chat-top{border-bottom:1px solid var(--border);backdrop-filter:blur(10px);background:#ffffff80;flex:none;align-items:center;gap:12px;padding:12px 22px;display:flex}[data-theme=dark] .chat-top{background:#1b1b2b80}.chat-menu-btn{display:none}.chat-top-spacer{flex:1}.model-picker{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);align-items:center;gap:8px;padding:4px 6px 4px 12px;display:flex}.model-picker-label{color:var(--text-mute);align-items:center;gap:5px;font-size:12.5px;display:flex}.model-picker .select{box-shadow:none;background:0 0;border:none;padding:4px 24px 4px 6px}.messages{scroll-behavior:smooth;flex:1;min-height:0;padding:28px 22px 10px;overflow-y:auto}.msg{gap:13px;max-width:860px;margin:0 auto 22px;animation:.3s cubic-bezier(.2,.9,.3,1) msgIn;display:flex}@keyframes msgIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msg-avatar{flex:none;padding-top:2px}.ai-avatar{background:linear-gradient(135deg,var(--pastel-blue),var(--pastel-purple));color:#3b4a63;border-radius:12px;justify-content:center;align-items:center;width:34px;height:34px;display:flex;box-shadow:0 4px 14px #a8d8ff5c}.msg-main{flex:1;min-width:0}.msg-meta{align-items:center;gap:9px;margin-bottom:5px;display:flex}.msg-author{font-size:13px;font-weight:600}.msg-time{color:var(--text-mute);font-size:11.5px}.msg-body{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-xs);overflow-wrap:break-word;word-break:break-word;padding:13px 17px;font-size:14.5px;line-height:1.95}.msg-user .msg-body{background:linear-gradient(120deg,#a8d8ff57,#cdb4db47);border-color:#0000}[data-theme=dark] .msg-user .msg-body{background:linear-gradient(120deg,#a8d8ff21,#cdb4db1f)}.msg-body>:first-child{margin-top:0}.msg-body>:last-child{margin-bottom:0}.msg-body p{margin:0 0 .7em}.msg-body h1,.msg-body h2,.msg-body h3,.msg-body h4{margin:.9em 0 .45em;font-size:1.06em}.msg-body ul,.msg-body ol{margin:0 0 .8em;padding-right:1.35em}.msg-body li{margin-bottom:.28em}.msg-body blockquote{border-right:3px solid var(--pastel-purple);background:var(--surface-2);border-radius:0 var(--r-xs)var(--r-xs)0;color:var(--text-soft);margin:.6em 0;padding:6px 14px}.msg-body hr{border:none;border-top:1px solid var(--border);margin:1em 0}.msg-body a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.inline-code{background:var(--surface-2);border:1px solid var(--border);direction:ltr;unicode-bidi:embed;border-radius:7px;padding:1px 7px;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:.87em;display:inline-block}.code-block{border-radius:var(--r-sm);border:1px solid var(--border-2);direction:ltr;background:#1f2030;margin:.85em 0;overflow:hidden}.code-head{background:#ffffff0f;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:7px 12px;display:flex}.code-lang{color:#9aa0bd;letter-spacing:.4px;font-family:monospace;font-size:11.5px}.code-copy{color:#9aa0bd;cursor:pointer;font-size:11.5px;font-family:var(--font);background:0 0;border:none;border-radius:6px;padding:3px 8px;transition:background .16s,color .16s}.code-copy:hover{color:#e6e9f5;background:#ffffff1a}.code-block pre{text-align:left;direction:ltr;margin:0;padding:14px 16px;overflow-x:auto}.code-block code{color:#dfe3f2;white-space:pre;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.75}.msg-actions{opacity:0;gap:3px;margin-top:6px;transition:opacity .18s;display:flex}.msg:hover .msg-actions{opacity:1}.msg-edit{margin-top:4px}.msg-edit-actions{gap:8px;margin-top:9px;display:flex}.thinking{max-width:860px;color:var(--text-mute);align-items:center;gap:10px;margin:0 auto 22px;padding-right:47px;font-size:13.5px;display:flex}.thinking-dots{gap:4px;display:inline-flex}.thinking-dots i{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.3s ease-in-out infinite bounce}.thinking-dots i:nth-child(2){animation-delay:.16s}.thinking-dots i:nth-child(3){animation-delay:.32s}@keyframes bounce{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.chat-empty{text-align:center;max-width:620px;margin:6vh auto 0;animation:.45s cubic-bezier(.2,.9,.3,1) riseIn}.chat-empty-icon{background:linear-gradient(135deg,var(--pastel-blue),var(--pastel-purple));color:#3b4a63;border-radius:20px;justify-content:center;align-items:center;width:62px;height:62px;margin:0 auto 18px;display:flex;box-shadow:0 10px 30px #a8d8ff66}.chat-empty h3{letter-spacing:-.4px;font-size:20px}.chat-empty p{color:var(--text-soft);margin-bottom:24px;font-size:14px}.chat-suggestions{flex-direction:column;gap:9px;display:flex}.suggestion{border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text-soft);cursor:pointer;text-align:right;padding:12px 18px;font-size:13.5px;transition:transform .16s,border-color .16s,box-shadow .16s,color .16s}.suggestion:hover{border-color:var(--accent);color:var(--text);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.composer{background:linear-gradient(to top,var(--bg)55%,transparent);flex:none;padding:12px 22px 16px}.composer-inner{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);max-width:860px;box-shadow:var(--shadow-sm);align-items:flex-end;gap:9px;margin:0 auto;padding:8px 8px 8px 10px;transition:border-color .18s,box-shadow .18s;display:flex}.composer-inner:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px #a8d8ff33,var(--shadow-sm)}.composer-input{resize:none;max-height:190px;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:9px 8px;font-family:inherit;font-size:14.5px;line-height:1.8}.composer-input::placeholder{color:var(--text-mute)}.btn-send{flex:none}.composer .btn-stop{border-radius:13px;flex:none;height:44px;padding:0 16px}.composer-hint{max-width:860px;color:var(--text-mute);text-align:center;margin:9px auto 0;font-size:11.5px}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:20px;display:grid}.setting-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.setting-row:last-child{border-bottom:none}.setting-label{font-size:14px;font-weight:500}.setting-hint{color:var(--text-mute);font-size:12.5px}.admin-tabs{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.admin-tab{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-soft);cursor:pointer;align-items:center;gap:8px;padding:9px 16px;font-size:13.5px;font-weight:500;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.admin-tab:hover{color:var(--text);border-color:var(--border-2)}.admin-tab.active{color:var(--text);background:linear-gradient(120deg,#a8d8ff57,#cdb4db47);border-color:#0000}[data-theme=dark] .admin-tab.active{background:linear-gradient(120deg,#a8d8ff24,#cdb4db1f)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);align-items:center;gap:14px;padding:20px;display:flex}.stat-icon{border-radius:14px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-value{letter-spacing:-.4px;font-size:21px;font-weight:700;line-height:1.3}.stat-label{color:var(--text-mute);font-size:12.5px}.table-wrap{margin:0 -4px;overflow-x:auto}.table{border-collapse:collapse;width:100%;min-width:680px;font-size:13.5px}.table th{text-align:right;color:var(--text-mute);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px;font-size:12.5px;font-weight:600}.table td{border-bottom:1px solid var(--border);color:var(--text-soft);white-space:nowrap;padding:11px 12px}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--surface-2)}.table-actions{align-items:center;gap:6px;display:flex}.provider-form{max-width:720px}.provider-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.status-line{border-radius:var(--r-sm);align-items:center;gap:8px;margin-top:16px;padding:11px 15px;font-size:13.5px;display:flex}.status-line.ok{color:#3d7358;background:#bde0d057}.status-line.err{color:#a4505f;background:#ffc8dd57}[data-theme=dark] .status-line.ok{color:#a4d8c0;background:#bde0d024}[data-theme=dark] .status-line.err{color:#e79aa6;background:#ffc8dd24}@media (width<=1024px){.sidebar{flex-basis:258px;width:258px}.page{padding:22px 18px 40px}}@media (width<=860px){.sidebar{z-index:60;width:290px;box-shadow:var(--shadow-lg);border-left:1px solid var(--border);flex-basis:290px;transition:transform .3s cubic-bezier(.2,.9,.3,1);position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.sidebar.open{transform:translate(0)}.sidebar-close{display:inline-flex}.drawer-overlay{display:block}.menu-btn,.chat-menu-btn{display:inline-flex}.header{padding:0 14px}.messages{padding:20px 14px 6px}.composer{padding:10px 14px 14px}.chat-top{padding:10px 14px}.field-row{flex-direction:column;gap:0}.hero{padding:40px 0 30px}.dash-hero{padding:24px}.landing{padding:0 16px 30px}.auth-wrap{padding:80px 16px 40px}}@media (width<=560px){body{font-size:14px}.toast-stack{bottom:14px;left:12px;right:12px}.toast{max-width:none}.landing-nav-actions .btn-ghost{display:none}.hero-actions .btn{width:100%}.msg{gap:9px}.msg-body{padding:11px 14px;font-size:14px}.page{padding:18px 14px 36px}.card{border-radius:var(--r-md);padding:18px}.modal{border-radius:var(--r-lg)}.user-menu{width:210px}.chat-top-spacer{display:none}.chat-top .btn-soft{margin-inline-start:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}