:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#121826;--muted:#667085;--faint:#98a2b3;--line:#1118271a;--panel:#ffffffdb;--panel-strong:#fff;--dark:#0d0e14;--dark-soft:#1a1b26;--accent:#6366f1;--accent-2:#8b5cf6;--accent-soft:#6366f11a;--danger:#dc2626;--warning:#d97706;--ok:#059669;--shadow:0 22px 70px #0f172a24;--shadow-soft:0 12px 36px #0f172a14}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;background:linear-gradient(135deg,#6366f10f,#0000 34%),linear-gradient(235deg,#8b5cf60f,#0000 36%),#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button,a,select,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled,input:disabled,textarea:disabled,select:disabled{cursor:not-allowed;opacity:.55}code{color:#334155;background:#0f172a0f;border-radius:8px;padding:.2rem .42rem;font-size:.82rem}select,input,textarea{border:1px solid var(--line);color:var(--ink);background:#ffffffdb;border-radius:12px;outline:none;transition:border-color .18s,box-shadow .18s,background .18s}select:focus,input:focus,textarea:focus{border-color:#6366f175;box-shadow:0 0 0 4px #6366f11a}.button,.icon-button,.send-button{border:0;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;transition:transform .16s,box-shadow .16s,background .16s,color .16s;display:inline-flex}.button:hover:not(:disabled),.icon-button:hover:not(:disabled),.send-button:hover:not(:disabled){transform:translateY(-1px)}.button{border-radius:10px;min-height:40px;padding:0 16px;font-size:.875rem;font-weight:500}.button.primary{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 4px 14px #6366f140}.button.primary:hover:not(:disabled){box-shadow:0 6px 20px #6366f159}.button.ghost{color:#334155;background:#fff;border:1px solid #e2e8f0}.button.ghost:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.button.danger{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.button.danger:hover:not(:disabled){background:#fee2e2}.button.wide{width:100%}.icon-button{border:1px solid var(--line);color:#475467;background:#ffffffc7;width:36px;height:36px}.icon-button[data-tooltip]{position:relative}.icon-button[data-tooltip]:after{z-index:1300;color:#fff;content:attr(data-tooltip);opacity:0;pointer-events:none;white-space:nowrap;background:#0f172aeb;border-radius:7px;padding:5px 8px;font-size:.72rem;font-weight:600;line-height:1;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(2px)}.icon-button[data-tooltip]:hover:after,.icon-button[data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%)translateY(0)}.icon-button.inverse{color:#fff;background:#ffffff14;border-color:#ffffff1f}.icon-button.danger-icon{color:var(--danger)}.icon-button.active{color:var(--accent-2);background:#8b5cf61a}.brand-mark{align-items:center;gap:.8rem;display:inline-flex}.brand-avatar{object-fit:cover;border:1px solid var(--line);border-radius:10px;flex-shrink:0;width:36px;height:36px;margin-top:-2px}.brand-icon{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-radius:14px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex;box-shadow:0 14px 30px #6366f14d}.brand-mark strong,.brand-mark small{display:block}.brand-mark strong{font-size:1rem}.brand-mark small{color:var(--faint);margin-top:.12rem;font-size:.72rem}.eyebrow{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.app-toast{z-index:120;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border:1px solid #e2e8f0f2;border-radius:16px;align-items:center;gap:10px;width:min(480px,100vw - 32px);padding:12px 14px;animation:.28s both notice-in;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 16px 48px #0f172a1f}.app-toast-icon-wrap{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.app-toast-icon{flex-shrink:0}.app-toast-message{color:#334155;flex:1;margin:0;font-size:.9rem;font-weight:500;line-height:1.45}.app-toast-close{color:#94a3b8;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s,color .15s;display:inline-flex}.app-toast-close:hover{color:#64748b;background:#94a3b824}.app-toast-success .app-toast-icon-wrap{color:#059669;background:#0596691a}.app-toast-error .app-toast-icon-wrap{color:#dc2626;background:#dc262614}.app-toast-info .app-toast-icon-wrap{color:#6366f1;background:#6366f11a}.loading-screen{align-content:center;place-items:center;gap:1.2rem;min-height:100vh;display:grid}.loading-card{border:1px solid var(--line);color:var(--muted);box-shadow:var(--shadow-soft);background:#ffffffc2;border-radius:999px;align-items:center;gap:.75rem;padding:.75rem 1rem;display:inline-flex}.spinner{border:3px solid #ffffff5c;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.9s linear infinite spin}.spinner.dark{border-color:#0f172a1f;border-top-color:var(--accent)}.spinner.tiny{border-width:2px;width:16px;height:16px}.gradient-text{background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.wecom-button{color:#fff;background:linear-gradient(135deg,#07c160,#06ae56);border-radius:10px;width:100%;min-height:40px;font-size:.875rem;font-weight:500;transition:all .2s;box-shadow:0 4px 12px #07c16033}.wecom-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #07c1604d}.form-stack{gap:1rem;display:grid}.field{color:#344054;gap:.5rem;font-size:.88rem;font-weight:700;display:grid}.field input,.field select{width:100%;min-height:46px;padding:0 .9rem}.input-shell{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:.7rem;padding:0 .9rem;display:flex}.input-shell input{box-shadow:none;background:0 0;border:0;padding:0}.auth-switch{color:var(--muted);margin:1.25rem 0 0}.auth-switch a{color:var(--accent);margin-left:.45rem;font-weight:800}.admin-layout,.chat-layout{grid-template-columns:260px minmax(0,1fr);gap:0;min-height:100vh;padding:0;display:grid}.side-panel{color:#fff;background:#0d0e14;border-right:1px solid #ffffff0f;flex-direction:column;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0;overflow:hidden}.side-panel.chat-side{color:#334155;background:#fff;border-right:1px solid #e2e8f0}.nav-list{gap:.55rem;margin-top:2rem;display:grid}.nav-item,.session-item{color:#ffffffc7;text-align:left;background:0 0;border:1px solid #0000;border-radius:14px;align-items:center;gap:.7rem;padding:.85rem;transition:background .18s,transform .18s,border-color .18s;display:flex;position:relative}.nav-item:hover,.session-item:hover{background:#ffffff0f;transform:translate(3px)}.nav-item.active{color:#fff;background:#6366f126;border-color:#6366f142}.session-item.active{color:#fff;background:#6366f11f;border-color:#0000}.session-item.active:before{content:"";background:#8b5cf6;border-radius:4px;width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.side-account{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:18px;margin-top:auto;padding:1rem}.side-account span,.side-account strong{display:block}.side-account span{color:#ffffff8c;font-size:.76rem}.side-account strong{margin:.5rem 0 .95rem}.side-actions{gap:.45rem;margin-top:.85rem;display:grid}.side-button{color:#fff;background:#ffffff14;justify-content:flex-start;width:100%}a.side-button{align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.chat-side .side-button.side-link-accent{color:#4338ca;background:#eef2ff;border:1px solid #6366f159;font-weight:600}.chat-side .side-button.side-link-accent:hover{color:#3730a3;background:#e0e7ff;border-color:#6366f173}.side-panel.admin-side:not(.chat-side) .side-button.side-link-accent{color:#ffffffe6;background:#6366f11f;border:1px solid #6366f13d}.side-panel.admin-side:not(.chat-side) .side-button.side-link-accent:hover{color:#fff;background:#6366f133;border-color:#8b5cf65c}.side-heading{justify-content:space-between;align-items:center;margin:2rem 0 1rem;display:flex}.side-heading span{color:#ffffffa3;letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;font-weight:800}.chat-side .session-item{color:#475569}.chat-side .session-item:hover{background:#f1f5f9}.chat-side .session-item.active{color:#4338ca;background:#eef2ff}.chat-side .session-main-button small,.chat-side .side-heading span{color:#94a3b8}.chat-side .icon-button.inverse{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.chat-side .icon-button.inverse:hover{color:#334155;background:#f1f5f9}.chat-side .side-account{background:#f8fafc;border-color:#e2e8f0}.chat-side .side-account span{color:#94a3b8}.chat-side .side-account strong{color:#334155}.side-account-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.side-account-heading strong{margin-bottom:0}.side-account-heading .icon-button{color:#6366f1;background:#fff;border:1px solid #e2e8f0;flex-shrink:0;width:34px;height:34px}.chat-side .side-button{color:#64748b;background:0 0;border:1px solid #e2e8f0}.chat-side .side-button:hover{color:#334155;background:#f1f5f9}.chat-side.admin-side .nav-list{margin-top:0}.chat-side.admin-side .nav-item{color:#475569}.chat-side.admin-side .nav-item:hover{background:#f1f5f9;transform:translate(3px)}.chat-side.admin-side .nav-item.active{color:#4338ca;background:#eef2ff;border-color:#0000}.side-role-label{color:#94a3b8;margin-top:.25rem;font-size:.78rem;display:block}.chat-side .brand-mark strong{color:#6366f1}.chat-side-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:12px;padding:4px 4px 12px;display:flex}.chat-new-btn{color:#fff;cursor:pointer;background:linear-gradient(90deg,#6366f1 0%,#8b5cf6 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;height:40px;margin-bottom:12px;padding:0 16px;font-size:.9rem;font-weight:600;transition:opacity .15s,transform .15s,box-shadow .15s;display:flex;box-shadow:0 4px 14px #6366f152}.chat-new-btn:hover{opacity:.92;box-shadow:0 6px 18px #6366f161}.chat-new-btn:active{transform:translateY(1px)}.session-list{scrollbar-width:thin;scrollbar-color:#94a3b86b transparent;flex-direction:column;flex:1;align-items:stretch;gap:.55rem;min-height:0;padding-right:6px;display:flex;overflow-y:auto}.session-list::-webkit-scrollbar{width:6px}.session-list::-webkit-scrollbar-track{background:0 0}.session-list::-webkit-scrollbar-thumb{background:#94a3b852;border-radius:999px}.session-list:hover::-webkit-scrollbar-thumb{background:#94a3b880}.session-item{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:.45rem;width:100%;min-height:74px;padding:.55rem;display:grid;overflow:hidden}.session-main-button{width:100%;min-width:0;color:inherit;text-align:left;background:0 0;border:0;align-items:center;padding:.3rem;display:flex;overflow:hidden}.session-copy{width:100%;min-width:0;max-width:100%;display:block;overflow:hidden}.session-main-button strong,.session-main-button small{max-width:100%;display:block}.session-main-button strong{text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}.session-main-button small{text-overflow:ellipsis;white-space:nowrap;color:#ffffff7a;width:100%;margin-top:.3rem;overflow:hidden}.session-row-actions{opacity:0;flex-shrink:0;gap:.25rem;transition:opacity .16s,transform .16s;display:inline-flex;transform:translate(6px)}.session-item:hover .session-row-actions,.session-item.active .session-row-actions{opacity:1;transform:translate(0)}.pulse-dot{background:#818cf8;border-radius:50%;flex-shrink:0;width:9px;height:9px;animation:1.4s infinite pulse;box-shadow:0 0 #818cf8a6}.admin-main{background:#f8fafc;min-width:0;min-height:100vh;padding:24px 32px;overflow-y:auto}.chat-main{background:#f8fafc;grid-template-rows:1fr auto;min-width:0;height:100vh;display:grid;overflow:hidden}.page-header{border-bottom:none;margin-bottom:20px;padding-bottom:0}.page-header h1{color:#0f172a;margin:6px 0 4px;font-size:1.25rem;font-weight:700}.page-header p:not(.eyebrow){color:#64748b;max-width:820px;margin:0;font-size:.875rem;line-height:1.6}.page-header .eyebrow{color:var(--accent);font-size:.7rem;font-weight:600}.workspace-panel{border:1px solid var(--line);background:#fff;border-radius:16px;margin-top:18px;padding:20px;box-shadow:0 1px 3px #0000000a}.inline-status{color:#312e81;background:linear-gradient(135deg,#eef2ffeb,#eef2ffe0);border:1px solid #6366f12e;border-radius:18px;align-items:flex-start;gap:.75rem;margin-top:18px;padding:.95rem 1rem;display:flex}.inline-status strong{color:#0f172a;margin-bottom:.18rem;display:block}.inline-status p{color:#4b5563;margin:0;line-height:1.6}.inline-status-active{box-shadow:0 14px 30px #6366f11f}.table-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.table-toolbar select{color:#334155;cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right 10px center no-repeat;border:1px solid #e2e8f0;border-radius:10px;min-height:40px;padding:0 32px 0 12px;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.table-toolbar select:hover{border-color:#94a3b8}.table-toolbar select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.search-box{color:#94a3b8;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex:1;align-items:center;gap:10px;min-width:min(100%,300px);padding:0 14px;transition:border-color .15s,box-shadow .15s;display:flex}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.search-box input{width:100%;min-height:40px;box-shadow:none;color:#334155;background:0 0;border:0;padding:0;font-size:.875rem}.search-box input::placeholder{color:#94a3b8}.toggle-line{color:#64748b;cursor:pointer;align-items:center;gap:8px;font-size:.875rem;font-weight:500;display:inline-flex}.toggle-line input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.data-table{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:auto}.table-row{border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;padding:14px 16px;transition:background .15s;display:grid}.table-row:hover:not(.table-head){background:#f8fafc}.document-row,.data-table .table-head{grid-template-columns:minmax(220px,1.4fr) 130px 150px 150px 90px 176px}.user-row,.users-table .table-head{grid-template-columns:minmax(180px,1.15fr) minmax(120px,.85fr) 150px 150px 90px 100px 72px;min-width:1040px}.log-row-line,.logs-table .table-head{grid-template-columns:160px 90px minmax(180px,1fr) 120px 150px 60px}.feedback-row,.feedback-table .table-head{grid-template-columns:minmax(140px,.8fr) minmax(220px,1.4fr) 100px minmax(180px,1fr) 150px 72px;min-width:980px}.table-head{color:#64748b;letter-spacing:.05em;text-transform:uppercase;background:#f8fafc;padding:12px 16px;font-size:.75rem;font-weight:600}.table-head:hover{background:#f8fafc}.table-row:last-child,.log-row-wrap:last-child .table-row{border-bottom:0}.table-row>*{min-width:0}.table-row code{text-overflow:ellipsis;white-space:nowrap;width:fit-content;max-width:100%;overflow:hidden}.document-row strong,.user-row strong,.feedback-row strong,.feedback-row small,.document-row small{display:block}.document-row small,.user-row small,.feedback-row small,.metric-cell small{color:var(--faint);margin-top:.3rem;font-size:.78rem}.metric-cell strong,.metric-cell small{display:block}.summary-chip{border:1px solid var(--line);color:var(--text);background:#ffffffe6;border-radius:999px;align-items:center;gap:.55rem;padding:.65rem .9rem;font-weight:700;display:inline-flex}.summary-chip small{color:var(--muted);font-weight:600}.row-actions{gap:4px;display:inline-flex}.row-actions .icon-button{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:32px;height:32px;transition:all .15s}.row-actions .icon-button:hover:not(:disabled){color:#334155;background:#f1f5f9;border-color:#cbd5e1}.row-actions .icon-button.danger-icon{color:#dc2626}.row-actions .icon-button.danger-icon:hover:not(:disabled){background:#fef2f2;border-color:#fecaca}.status-pill{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;align-items:center;width:fit-content;padding:4px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.status-pill.ok{color:#16a34a;background:#f0fdf4;border-color:#bbf7d0}.status-pill.warning{color:#d97706;background:#fffbeb;border-color:#fde68a}.status-pill.danger{color:#dc2626;background:#fef2f2;border-color:#fecaca}.status-pill.muted{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}.status-pending{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.status-in_progress{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.status-resolved{color:#047857;background:#ecfdf5;border-color:#bbf7d0}.table-loading,.table-empty{min-height:220px;color:var(--muted);justify-content:center;align-items:center;gap:.75rem;display:flex}.log-summary{gap:.75rem;margin-bottom:16px;display:grid}@media (min-width:760px){.log-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}.summary-tile{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:12px;gap:6px;padding:16px;transition:border-color .15s,box-shadow .15s;display:grid}.summary-tile:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a}.summary-tile.active{background:#6366f10a;border-color:#6366f166}.summary-tile span{color:#64748b;letter-spacing:.05em;text-transform:uppercase;font-size:.7rem;font-weight:600}.summary-tile strong{color:#0f172a;font-size:1.5rem;font-weight:700}.json-detail{border-top:1px solid var(--line);color:#dbeafe;background:#0f172a;margin:0;padding:1rem;font-size:.78rem;line-height:1.65;overflow-x:auto}.load-more-row{justify-content:center;padding-top:14px;display:flex}.message-viewport{background:#f8fafc;min-height:0;padding:24px 20px 14px;overflow-y:auto}.chat-welcome{justify-content:center;padding:4px 0 24px;display:flex}.chat-welcome-card{--pointer-x:50%;--pointer-y:50%;background:linear-gradient(132deg,#c7d2fe 0%,#d4c7ff 32%,#b8d4f8 68%,#d4e4ff 100%);border:1px solid #ffffff8c;border-radius:28px;width:min(1040px,100%);position:relative;overflow:hidden;box-shadow:0 24px 60px #4f46e533,inset 0 1px #ffffff73}.chat-welcome-spotlight{z-index:0;pointer-events:none;opacity:0;background:radial-gradient(420px circle at var(--pointer-x) var(--pointer-y), #ffffff85 0%, #ffffff24 34%, transparent 68%);transition:opacity .28s;position:absolute;inset:0}.chat-welcome-card:hover .chat-welcome-spotlight{opacity:1}.chat-welcome-orb{pointer-events:none;filter:blur(42px);border-radius:50%;animation:11s ease-in-out infinite welcome-orb-drift;position:absolute}.chat-welcome-orb-a{background:#7c3aed61;width:300px;height:300px;top:-90px;left:-70px}.chat-welcome-orb-b{background:#6366f14d;width:220px;height:220px;animation-delay:-3.5s;top:18%;right:8%}.chat-welcome-orb-c{background:#38bdf83d;width:260px;height:260px;animation-delay:-6s;bottom:-30px;right:-40px}.chat-welcome-layout{z-index:1;grid-template-columns:minmax(0,1fr) min(34%,300px);align-items:end;gap:8px;display:grid;position:relative}.chat-welcome-body{padding:clamp(1.5rem,2.6vw,2.1rem) clamp(1.3rem,2.4vw,2rem)}.chat-welcome-header h2{color:#1e293b;letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(1.4rem,2.1vw,1.85rem);font-weight:700;line-height:1.38}.chat-welcome-brand{background:linear-gradient(90deg,#6366f1 0%,#8b5cf6 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin-left:.2em}.chat-welcome-intro{color:#64748b;max-width:52ch;margin:0;font-size:.9rem;line-height:1.72}.chat-welcome-intro strong{color:#334155;font-weight:700}.chat-welcome-intro-second{margin-top:4px;margin-bottom:18px}.chat-welcome-highlight{color:#6366f1;font-weight:700}.chat-welcome-section+.chat-welcome-section{margin-top:16px}.chat-welcome-section h3{color:#6366f1;letter-spacing:.01em;align-items:center;gap:8px;margin:0 0 10px;font-size:.8rem;font-weight:600;display:flex}.chat-welcome-section h3:before{content:"";background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 0 3px #6366f11f}.chat-welcome-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.chat-welcome-feature{--pointer-x:50%;--pointer-y:50%;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:default;background:#ffffff80;border:1px solid #ffffffeb;border-radius:16px;align-items:flex-start;gap:11px;padding:13px 14px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #4f46e514}.chat-welcome-feature-glow{pointer-events:none;background:radial-gradient(200px circle at var(--pointer-x) var(--pointer-y), #ffffffe0 0%, #ffffff47 38%, transparent 72%);opacity:0;transition:opacity .18s;position:absolute;inset:0}.chat-welcome-feature:hover .chat-welcome-feature-glow{opacity:1}.chat-welcome-feature:hover{background:#ffffffa8;border-color:#6366f157;box-shadow:0 12px 30px #4f46e529}.chat-welcome-feature-copy,.chat-welcome-feature-icon{z-index:1;position:relative}.chat-welcome-feature.wide{grid-column:1/-1}.chat-welcome-feature-icon{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;box-shadow:0 4px 14px #6366f14d}.chat-welcome-feature strong{color:#1e293b;margin-bottom:4px;font-size:.86rem;font-weight:700;display:block}.chat-welcome-feature p{color:#64748b;margin:0;font-size:.78rem;line-height:1.58}.chat-welcome-footer{color:#94a3b8;margin:18px 0 0;font-size:.82rem;line-height:1.65}.chat-welcome-mascot-wrap{pointer-events:none;place-self:end;width:min(300px,100%);margin-bottom:-22px;margin-right:-18px}.chat-welcome-mascot{object-fit:contain;filter:drop-shadow(0 20px 36px #6366f138);width:100%;height:auto;display:block}@keyframes welcome-orb-drift{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(12px,-10px)scale(1.06)}}@media (max-width:900px){.chat-welcome-layout{grid-template-columns:1fr}.chat-welcome-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-welcome-mascot-wrap{justify-self:center;width:min(240px,72%);margin:4px auto 0}}@media (max-width:640px){.chat-welcome-grid{grid-template-columns:1fr}.chat-welcome-card{border-radius:22px}}@media (prefers-reduced-motion:reduce){.chat-welcome-orb{animation:none}.chat-welcome-spotlight,.chat-welcome-feature-glow{display:none}}.message-row{margin-bottom:24px;display:flex}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start;align-items:flex-start;gap:12px}.ai-avatar{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;flex-shrink:0;width:32px;height:32px;margin-top:2px;overflow:hidden}.ai-avatar img{object-fit:cover;width:100%;height:100%}.message-content{flex:1;min-width:0;max-width:90%}.message-bubble{line-height:1.62}.user-bubble{color:#fff;white-space:pre-wrap;background:#6366f1;border-radius:16px 16px 4px;max-width:min(720px,80%);padding:12px 16px;font-size:.9rem;line-height:1.65;box-shadow:0 1px 3px #0000000f}.assistant-bubble{color:#1e293b;background:#f1f5f9;border-radius:16px 16px 16px 4px;padding:14px 18px;font-size:.9rem;box-shadow:0 1px 3px #0000000a}.message-row.selected .assistant-bubble{outline-offset:1px;outline:2px solid #6366f14d}.assistant-bubble p{margin:.2rem 0}.streaming-tail{will-change:opacity;animation:.46s ease-out both streaming-tail-fade;display:inline}.message-note{color:#94a3b8;margin-top:6px;font-size:.75rem}.markdown-table-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:100%;margin:.75rem 0;position:relative;overflow:visible}.markdown-table-toolbar{background:#f3f4f6;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:8px 12px 8px 14px;display:flex}.markdown-table-title{color:#1e293b;font-size:.92rem;font-weight:700}.markdown-table-actions{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.markdown-table-action{color:#64748b;cursor:pointer;appearance:none;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:inline-flex;position:relative}.markdown-table-action:hover{color:#4338ca;background:#6366f11a}.markdown-table-action:after{z-index:90;color:#fff;content:attr(data-tooltip);opacity:0;pointer-events:none;white-space:nowrap;background:#0f172aeb;border-radius:7px;padding:5px 8px;font-size:.72rem;font-weight:600;line-height:1;transition:opacity .14s,transform .14s;position:absolute;top:calc(100% + 8px);right:50%;transform:translate(50%)translateY(-2px)}.markdown-table-action:hover:after,.markdown-table-action:focus-visible:after{opacity:1;transform:translate(50%)translateY(0)}.markdown-table-action:focus-visible{outline-offset:2px;outline:2px solid #6366f16b}.markdown-table-scroll{border-radius:0 0 14px 14px;width:100%;overflow:auto hidden}.markdown-table-card table,.markdown-table-modal-panel table{border-collapse:collapse;background:#fff;width:max-content;min-width:100%;font-size:.86rem}.markdown-table-card th,.markdown-table-card td,.markdown-table-modal-panel th,.markdown-table-modal-panel td{text-align:left;vertical-align:top;overflow-wrap:anywhere;border:1px solid #e2e8f0;padding:9px 12px}.markdown-table-card th,.markdown-table-modal-panel th{color:#0f172a;background:#f8fafc;font-weight:700}.markdown-table-card tr:first-child th,.markdown-table-card tr:first-child td,.markdown-table-modal-panel tr:first-child th,.markdown-table-modal-panel tr:first-child td{border-top:0}.markdown-table-card th:first-child,.markdown-table-card td:first-child,.markdown-table-modal-panel th:first-child,.markdown-table-modal-panel td:first-child{border-left:0}.markdown-table-card th:last-child,.markdown-table-card td:last-child,.markdown-table-modal-panel th:last-child,.markdown-table-modal-panel td:last-child{border-right:0}.markdown-table-card tr:last-child td,.markdown-table-modal-panel tr:last-child td{border-bottom:0}.markdown-table-modal{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a57;position:fixed;inset:0}.markdown-table-modal-panel{width:100vw;height:100vh;box-shadow:none;background:#fffffff0;border-radius:0;flex-direction:column;margin:0;display:flex;overflow:visible}.markdown-table-modal-toolbar{background:#fffffff5;min-height:54px;padding:10px 18px 10px 20px}.markdown-table-modal-body{flex:1;justify-content:center;align-items:center;min-height:0;padding:32px;display:flex}.markdown-table-scroll-fullscreen{background:#fff;border-radius:0;width:fit-content;max-width:min(1120px,100vw - 64px);max-height:calc(100vh - 132px);overflow:auto;box-shadow:0 16px 44px #0f172a24}.markdown-table-scroll-fullscreen table{width:max-content;min-width:0}.markdown-table-toast{z-index:95;color:#fff;pointer-events:none;white-space:nowrap;background:#0f172aeb;border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:700;line-height:1;position:absolute;top:52px;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #0f172a38}.markdown-table-toast.error{background:#b91c1cf0}.markdown-table-modal-panel>.markdown-table-toast{top:68px}@media (max-width:640px){.markdown-table-toolbar{min-height:40px;padding:7px 8px 7px 12px}.markdown-table-action{width:28px;height:28px}.markdown-table-modal-toolbar{padding:7px 10px 7px 12px}.markdown-table-modal-body{padding:16px}.markdown-table-scroll-fullscreen{max-width:calc(100vw - 32px);max-height:calc(100vh - 104px)}}.assistant-bubble ul,.assistant-bubble ol{margin:.22rem 0;padding-left:1.35rem}.assistant-bubble li{margin:.1rem 0}@media (max-width:640px){.message-row.assistant{gap:0}.message-row.assistant .ai-avatar{display:none}.message-row.assistant .message-content{max-width:100%}}.assistant-bubble h1,.assistant-bubble h2,.assistant-bubble h3,.assistant-bubble h4{margin:.55rem 0 .18rem;line-height:1.28}.assistant-bubble>:first-child{margin-top:0}.assistant-bubble>:last-child{margin-bottom:0}.assistant-bubble pre{color:#e2e8f0;background:#0f172a;border-radius:14px;padding:1rem;overflow-x:auto}.assistant-bubble pre code{color:inherit;font-size:inherit;background:0 0;border-radius:0;padding:0}.thinking-line{color:#64748b;align-items:center;gap:.6rem;width:fit-content;margin-bottom:.55rem;font-size:.88rem;font-weight:500;display:flex}.thinking-line:last-child{margin-bottom:0}.typing-dots{gap:.22rem;display:inline-flex}.typing-dots i{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.25s ease-in-out infinite dot}.typing-dots i:nth-child(2){animation-delay:.12s}.typing-dots i:nth-child(3){animation-delay:.24s}.citation-links{flex-flow:wrap;gap:6px;margin-top:8px;display:flex}.citation-link{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:6px;max-width:fit-content;padding:6px 12px;font-family:inherit;font-size:.8rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.citation-link:hover:not(.disabled){color:#4338ca;background:#6366f10f;border-color:#6366f166}.citation-link.disabled{opacity:.55;cursor:not-allowed}.citation-link span:first-of-type{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.citation-page{color:#94a3b8;flex-shrink:0;font-size:.75rem}.composer-panel{border-top:1px solid var(--line);background:#fff;padding:12px 16px 16px}.composer-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;flex-direction:column;gap:7px;min-height:86px;padding:9px 12px 10px;transition:border-color .2s,box-shadow .2s;display:flex}.composer-box:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.composer-input-row{align-items:center;width:100%;min-height:42px;display:flex}.composer-toolbar{justify-content:space-between;align-items:center;gap:10px;width:100%;min-width:0;display:flex}.composer-tools-left,.composer-tools-right{align-items:center;gap:8px;min-width:0;display:inline-flex}.composer-tools-left{flex:auto}.composer-tools-right{flex:none}.composer-box textarea{resize:none;width:100%;height:44px;min-height:44px;max-height:44px;box-shadow:none;background:0 0;border:0;padding:11px 4px;font-size:.9rem;line-height:1.45;overflow-y:auto}.composer-thinking-toggle{color:#64748b;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:999px;justify-content:center;align-items:center;gap:6px;height:34px;padding:0 11px;font-size:.8rem;font-weight:700;transition:border-color .18s,background .18s,color .18s,box-shadow .18s,transform .16s;display:inline-flex;overflow:hidden}.composer-thinking-toggle span:last-child{text-overflow:ellipsis;overflow:hidden}.composer-thinking-toggle:hover{color:#4338ca;border-color:#6366f14d;transform:translateY(-1px)}.composer-thinking-toggle.active{color:#4f46e5;background:#eef2ff;border-color:#a5b4fc;box-shadow:0 4px 12px #6366f11f}.composer-voice-toggle{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-self:center;width:34px;height:34px}.voice-hold-button{color:#4338ca;touch-action:none;-webkit-user-select:none;user-select:none;background:#eef2ff;border:1px dashed #c7d2fe;border-radius:12px;width:100%;height:44px;min-height:44px;font-weight:700}.voice-hold-button.recording{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.voice-record-button{touch-action:none;-webkit-user-select:none;user-select:none}.send-button{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;align-self:center;width:34px;height:34px;box-shadow:0 4px 12px #6366f14d}.send-button:disabled{opacity:.4;box-shadow:none}.send-button.stop-button{background:#ef4444;box-shadow:0 4px 12px #ef44443d}@media (max-width:640px){.composer-panel{padding:10px 12px 14px}.composer-box{min-height:96px;padding:9px 10px 10px}.composer-toolbar{gap:8px}.composer-tools-left{gap:6px;overflow:hidden}.composer-thinking-toggle{max-width:112px;padding:0 9px;font-size:.78rem}.composer-tools-right{gap:7px}}@media (max-width:360px){.composer-thinking-toggle{width:34px;padding:0}.composer-thinking-toggle span:last-child{display:none}}.evidence-panel{height:calc(100vh - 32px);padding:18px;animation:.24s both evidence-in;overflow-y:auto}.evidence-panel header{z-index:2;border-bottom:1px solid var(--line);background:#fffffff0;justify-content:space-between;align-items:flex-start;gap:1rem;padding-top:18px;padding-bottom:14px;display:flex;position:sticky;top:-18px}.evidence-panel h2,.evidence-panel h3{align-items:center;gap:.5rem;margin:.35rem 0 0;display:flex}.evidence-section{gap:.75rem;margin-top:16px;display:grid}.evidence-card{border:1px solid var(--line);background:#ffffffbd;border-radius:16px;padding:.9rem}.evidence-card.active{background:#eef2ffd1;border-color:#6366f166}.evidence-card div{gap:.25rem;display:grid}.evidence-card span,.muted-copy{color:var(--muted);font-size:.84rem}.evidence-card p{color:#344054;line-height:1.65}.evidence-card a{color:var(--accent-2);align-items:center;gap:.3rem;font-weight:800;display:inline-flex}.evidence-empty{min-height:65vh;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:.7rem;display:grid}.empty-state{min-height:100%;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:.9rem;padding:clamp(1.5rem,3vw,2.5rem);display:grid}.empty-state h2{color:var(--ink);letter-spacing:-.03em;max-width:18ch;margin:0;font-size:clamp(2rem,2.4vw,2.7rem);line-height:1.08}.empty-name{white-space:nowrap;display:inline-block}.empty-eyebrow{color:var(--accent);letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:700}.empty-copy{max-width:58rem;color:color-mix(in srgb, var(--ink) 72%, white);gap:.8rem;font-size:1.03rem;line-height:1.9;display:grid}.empty-copy p{margin:0}.empty-footnote{max-width:42rem;color:var(--muted);font-size:.98rem;line-height:1.7}.empty-orbit{width:76px;height:76px;box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#6366f12e,#8b5cf629),#fff;border-radius:24px;animation:4s ease-in-out infinite float}@media (max-width:720px){.empty-copy{font-size:.97rem;line-height:1.8}}.modal-backdrop{z-index:70;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:1100;background:#0f172a6b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-panel{width:min(560px,100%);box-shadow:var(--shadow);background:#fffffff0;border:1px solid #fff3;border-radius:22px;overflow:hidden}.feedback-modal-panel{flex-direction:column;width:min(760px,100%);height:min(760px,100dvh - 36px);max-height:calc(100dvh - 36px);display:flex}.feedback-modal-panel .modal-body{flex:1;min-height:0;overflow:hidden}.modal-header,.modal-footer{justify-content:space-between;align-items:center;gap:.75rem;padding:1rem;display:flex}.modal-header{border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font-size:1.15rem}.modal-body{padding:1rem}.modal-footer{border-top:1px solid var(--line);justify-content:flex-end}.feedback-dialog{grid-template-rows:auto minmax(0,1fr);gap:18px;height:100%;display:grid}.feedback-compose textarea{resize:vertical;width:100%;min-height:120px}.feedback-compose-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.feedback-history{gap:10px;min-height:0;display:grid;overflow-y:auto}.feedback-history .table-loading,.feedback-history .table-empty{min-height:100%}.feedback-item{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px}.feedback-item-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.feedback-item p{color:#334155;margin:10px 0 0;line-height:1.6}.feedback-item blockquote{color:#475569;border-left:3px solid #c7d2fe;margin:10px 0 0;padding-left:10px}.feedback-admin-edit{gap:14px;display:grid}.feedback-admin-edit textarea{resize:vertical;min-height:120px}.confirm-copy{color:#475467;gap:.8rem;line-height:1.7;display:flex}.confirm-copy svg{color:var(--warning);flex:none}.meta-strip{border:1px solid var(--line);background:#f8fafccc;border-radius:14px;gap:.35rem;padding:.8rem;display:grid}.meta-strip span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.76rem;font-weight:800}.upload-box{background:var(--accent-soft);text-align:center;border:1px dashed #6366f16b;border-radius:18px;gap:.35rem;padding:1rem;display:grid;position:relative}.upload-box input{opacity:0;position:absolute;inset:0}.upload-box svg{color:var(--accent);justify-self:center}.upload-box span{color:var(--muted);font-size:.84rem}@media (max-width:1180px){.chat-layout,.chat-layout.with-evidence{grid-template-columns:240px minmax(0,1fr)}.evidence-panel{z-index:60;height:auto;position:fixed;inset:0}}.mobile-side-overlay,.mobile-menu-button,.mobile-drawer-close,.mobile-chat-header,.mobile-admin-header{display:none}@media (max-width:920px){.admin-layout,.chat-layout{grid-template-columns:1fr}.mobile-menu-button,.mobile-drawer-close{display:inline-flex}.mobile-chat-header{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;padding:12px 12px 0;display:grid}.mobile-chat-header .mobile-menu-button{transform:translateY(-4px)}.mobile-chat-header .mobile-menu-button:hover:not(:disabled){transform:translateY(-5px)}.mobile-chat-header strong{color:#0f172a;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.feedback-modal-panel{height:calc(100dvh - 36px)}.mobile-admin-header{align-items:center;gap:10px;margin:12px 0 0;display:flex}.mobile-admin-header strong{color:#6366f1;font-size:1rem}.mobile-side-overlay{z-index:80;background:#0f172a61;border:0;display:block;position:fixed;inset:0}.side-panel{z-index:90;border-right:1px solid var(--line);border-bottom:0;width:min(82vw,320px);height:100vh;min-height:100vh;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.chat-layout.side-open .side-panel,.admin-layout.side-open .side-panel{transform:translate(0)}.chat-main{grid-template-rows:auto 1fr auto;min-height:78vh}.admin-main{min-height:auto}.admin-main .page-header .eyebrow{display:none}.document-row,.feedback-row,.user-row,.data-table .table-head,.feedback-table .table-head,.users-table .table-head,.log-row-line,.logs-table .table-head{grid-template-columns:1fr}.table-head{display:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{to{box-shadow:0 0 0 12px #818cf800}}@keyframes dot{0%,80%,to{opacity:.45;transform:scale(.65)}40%{opacity:1;transform:scale(1)}}@keyframes streaming-tail-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.streaming-tail{animation:none}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes notice-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{opacity:0;transform:scale(.98)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes message{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes evidence-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}.animate-rise{animation:.36s both rise}.animate-rise-delayed{animation:.44s 50ms both rise}.animate-pop{animation:.22s both pop}.animate-message{animation:.24s both message}.home-page{background:#fff;min-height:100vh}@property --home-border-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes home-gradient-shift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes home-gradient-flow{0%,to{transform:translate(0)scale(1)}33%{transform:translate(3%,-2%)scale(1.04)}66%{transform:translate(-2%,2%)scale(.98)}}@keyframes home-border-spin{to{--home-border-angle:360deg}}@keyframes home-orb-drift{0%,to{transform:translate(0)scale(1)}50%{transform:translate(18px,-14px)scale(1.06)}}.home-hero{background:linear-gradient(135deg,#e0e7ff 0%,#ede9fe 35%,#dbeafe 68%,#e8f0ff 100%) 0 0/280% 280%;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;animation:22s ease-in-out infinite home-gradient-shift;display:flex;position:relative;overflow:hidden}.home-hero-bg{z-index:0;position:absolute;inset:0}.home-hero-video{object-fit:cover;opacity:.4;filter:blur(2px);width:100%;height:100%}.home-hero-overlay{background:linear-gradient(#ffffff4d 0%,#0000 30% 70%,#fff9 100%);position:absolute;inset:0}.home-hero-gradient{z-index:1;pointer-events:none;background:radial-gradient(circle at 18% 24%,#8b5cf638,#0000 42%),radial-gradient(circle at 82% 68%,#6366f129,#0000 40%),radial-gradient(circle at 52% 88%,#38bdf81f,#0000 36%);animation:26s ease-in-out infinite home-gradient-flow;position:absolute;inset:0}.home-hero-orb{pointer-events:none;z-index:1;filter:blur(48px);border-radius:50%;animation:18s ease-in-out infinite home-orb-drift;position:absolute}.home-hero-orb-a{background:#8b5cf647;width:280px;height:280px;top:-80px;left:-60px}.home-hero-orb-b{background:#6366f133;width:240px;height:240px;animation-delay:-8s;bottom:12%;right:10%}.home-hero-top{z-index:10;position:absolute;top:24px;left:24px}.home-login-btn{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#334155;cursor:pointer;background:#ffffffd9;border:1px solid #e2e8f0cc;border-radius:12px;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex}.home-login-btn:hover:not(:disabled){background:#fff;transform:translateY(-1px);box-shadow:0 4px 16px #00000014}.home-hero-account{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border:1px solid #e2e8f0cc;border-radius:12px;align-items:center;gap:12px;padding:8px 16px;display:flex}.home-hero-avatar{object-fit:cover;border-radius:8px;width:32px;height:32px}.home-hero-account span{color:#334155;margin-right:8px;font-size:.875rem;font-weight:500}.home-hero-center{z-index:5;text-align:center;padding:24px;position:relative}.home-hero-mascot{margin-bottom:24px}.home-hero-mascot img{object-fit:contain;filter:drop-shadow(0 10px 30px #6366f14d);width:100px;height:100px}@media (min-width:768px){.home-hero-mascot img{width:128px;height:128px}}.home-hero-title{color:#1e293b;margin:0 0 16px;font-size:clamp(1.875rem,5vw,3.75rem);font-weight:700;line-height:1.2}.home-hero-title .gradient-text,.home-gradient-text{background:linear-gradient(135deg,#6366f1,#8b5cf6,#38bdf8,#6366f1) 0 0/240% 240%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:14s ease-in-out infinite home-gradient-shift}.home-cta-gradient{animation:12s ease-in-out infinite home-gradient-shift;background:linear-gradient(135deg,#6366f1,#8b5cf6,#7c3aed,#6366f1) 0 0/220% 220%!important}.home-hero-subtitle{color:#64748b;max-width:600px;margin:0 auto 40px;font-size:clamp(1rem,2vw,1.25rem);line-height:1.6}.home-hero-actions{flex-direction:column;align-items:center;gap:24px;display:flex}.home-hero-cta{padding:16px 40px;font-size:1rem}.home-scroll-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;font-size:.75rem;transition:color .2s;display:flex}.home-scroll-btn:hover{color:var(--accent)}.home-scroll-arrow{display:inline-flex}.home-features{background:#fff;padding:80px 24px;position:relative;overflow:hidden}.home-section-mesh{pointer-events:none;background-color:#0000;background-image:radial-gradient(circle at 12% 18%,#6366f11a,#0000 34%),radial-gradient(circle at 88% 72%,#8b5cf614,#0000 36%),linear-gradient(135deg,#eef2ff8c 0%,#0000 48%,#dbeafe73 100%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:220% 220%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;animation:24s ease-in-out infinite home-gradient-shift;position:absolute;inset:0}.home-section-inner{z-index:1;max-width:1100px;margin:0 auto;position:relative}.home-section-header{text-align:center;margin-bottom:56px}.home-section-header h2{color:#1e293b;margin:0 0 12px;font-size:clamp(1.5rem,3vw,2rem);font-weight:700}.home-section-header p{color:#64748b;margin:0;font-size:1rem}.home-features-grid{grid-template-columns:1fr;gap:20px;display:grid}@media (min-width:640px){.home-features-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.home-features-grid{grid-template-columns:repeat(3,1fr)}}.home-feature-card{--pointer-x:50%;--pointer-y:50%;--home-border-angle:0deg;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f8fafcd1;border:1px solid #e2e8f0f2;border-radius:16px;padding:24px;transition:border-color .28s,box-shadow .28s,background .28s;position:relative;overflow:hidden}.home-feature-glow{pointer-events:none;background:radial-gradient(220px circle at var(--pointer-x) var(--pointer-y), #ffffffd1 0%, #ffffff38 40%, transparent 72%);opacity:0;transition:opacity .24s;position:absolute;inset:0}.home-feature-border{border-radius:inherit;pointer-events:none;opacity:0;background:conic-gradient(from var(--home-border-angle), #6366f1, #8b5cf6, #38bdf8, #a78bfa, #6366f1);-webkit-mask-composite:xor;padding:1px;transition:opacity .28s;animation:10s linear infinite home-border-spin;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.home-feature-card:hover{background:#ffffffe6;border-color:#c7d2fee6;box-shadow:0 12px 32px #6366f11f}.home-feature-card:hover .home-feature-glow,.home-feature-card:hover .home-feature-border{opacity:1}.home-feature-icon{z-index:1;background:linear-gradient(135deg,#6366f1,#8b5cf6,#38bdf8,#6366f1) 0 0/220% 220%;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:16px;font-size:1.25rem;animation:12s ease-in-out infinite home-gradient-shift;display:flex;position:relative;box-shadow:0 4px 12px #6366f133}.home-feature-card h3,.home-feature-card p{z-index:1;position:relative}.home-feature-card h3{color:#1e293b;margin:0 0 8px;font-size:1rem;font-weight:600}.home-feature-card p{color:#64748b;margin:0;font-size:.875rem;line-height:1.6}.home-section-cta{text-align:center;margin-top:56px}.home-section-cta .button{padding:16px 40px;font-size:1rem}.home-versions{background:linear-gradient(#fff,#eef2ff);padding:80px 24px;position:relative;overflow:hidden}.home-versions-gradient{pointer-events:none;background-color:#0000;background-image:radial-gradient(circle at 20% 30%,#6366f11f,#0000 38%),radial-gradient(circle at 78% 64%,#8b5cf61a,#0000 40%),linear-gradient(#fff6 0%,#eef2ffd9 100%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:240% 240%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;animation:26s ease-in-out infinite home-gradient-shift;position:absolute;inset:0}.home-versions-timeline{padding:0;position:relative}.home-versions-timeline:before{content:"";background:linear-gradient(#6366f1,#8b5cf6,#38bdf8,#c7d2fe,#6366f1) 0 0/100% 240%;width:2px;animation:16s ease-in-out infinite home-gradient-shift;position:absolute;top:0;bottom:0;left:24px}@media (min-width:768px){.home-versions-timeline:before{left:50%;transform:translate(-50%)}}.home-version-item{margin-bottom:48px;padding-left:64px;position:relative}.home-version-item:last-child{margin-bottom:0}@media (min-width:768px){.home-version-item{width:50%;padding-left:0}.home-version-item.left{padding-right:48px}.home-version-item.right{margin-left:50%;padding-left:48px}}.home-version-dot{z-index:2;background:linear-gradient(135deg,#6366f1,#8b5cf6,#38bdf8,#6366f1) 0 0/220% 220%;border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;animation:12s ease-in-out infinite home-gradient-shift;display:flex;position:absolute;top:0;left:0;box-shadow:0 8px 24px #6366f147}.home-version-dot span{color:#fff;font-size:.7rem;font-weight:700}@media (min-width:768px){.home-version-item.left .home-version-dot{left:auto;right:-24px}.home-version-item.right .home-version-dot{left:-24px}}.home-version-card{--pointer-x:50%;--pointer-y:50%;--home-border-angle:0deg;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;border:1px solid #e2e8f0f2;border-radius:16px;padding:24px;transition:border-color .28s,box-shadow .28s,background .28s;position:relative;overflow:hidden}.home-version-glow{pointer-events:none;background:radial-gradient(260px circle at var(--pointer-x) var(--pointer-y), #ffffffc7 0%, #c7d2fe33 42%, transparent 72%);opacity:0;transition:opacity .24s;position:absolute;inset:0}.home-version-border{border-radius:inherit;pointer-events:none;opacity:0;background:conic-gradient(from var(--home-border-angle), #6366f1, #8b5cf6, #38bdf8, #a78bfa, #6366f1);-webkit-mask-composite:xor;padding:1px;transition:opacity .28s;animation:10s linear infinite home-border-spin;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.home-version-card:hover{background:#fffffff5;border-color:#c7d2fee6;box-shadow:0 12px 32px #6366f11f}.home-version-card:hover .home-version-glow,.home-version-card:hover .home-version-border{opacity:1}.home-version-header,.home-version-desc,.home-version-tags{z-index:1;position:relative}.home-version-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.home-version-header h3{color:#1e293b;margin:0 0 4px;font-size:1.125rem;font-weight:700}.home-version-subtitle{color:#6366f1;margin:0;font-size:.875rem;font-weight:500}.home-version-status{border-radius:20px;padding:4px 12px;font-size:.75rem;font-weight:500}.home-version-status.live{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.home-version-status.planned{color:#6366f1;background:#eef2ff;border:1px solid #c7d2fe}.home-version-desc{color:#64748b;margin:0 0 16px;font-size:.875rem;line-height:1.6}.home-version-tags{flex-wrap:wrap;gap:8px;display:flex}.home-version-tag{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:4px 10px;font-size:.75rem}@media (prefers-reduced-motion:reduce){.home-hero,.home-hero-gradient,.home-hero-orb,.home-gradient-text,.home-cta-gradient,.home-section-mesh,.home-versions-gradient,.home-versions-timeline:before,.home-version-dot,.home-feature-icon,.home-feature-border,.home-version-border{animation:none}.home-feature-glow,.home-version-glow{display:none}}.login-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a80;justify-content:center;align-items:center;animation:.2s fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.login-modal{background:#fff;border-radius:20px;width:100%;max-width:420px;margin:16px;animation:.3s modal-in;overflow:hidden;box-shadow:0 25px 50px #00000026}@keyframes modal-in{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.login-modal-header{justify-content:space-between;align-items:center;padding:20px 24px 12px;display:flex}.login-modal-brand{align-items:center;gap:10px;display:flex}.login-modal-avatar{object-fit:cover;border-radius:8px;width:32px;height:32px}.login-modal-title{color:#1e293b;font-size:.875rem;font-weight:600}.login-modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.login-modal-close:hover{color:#475569;background:#f1f5f9}.login-modal-tabs{background:#f1f5f9;border-radius:10px;gap:8px;margin:12px 24px;padding:4px;display:flex}.login-modal-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:.8125rem;font-weight:500;transition:all .15s;display:flex}.login-modal-tab:hover:not(.active){color:#334155}.login-modal-tab.active{color:var(--accent);background:#fff;box-shadow:0 2px 6px #0000000f}.login-modal-content{padding:8px 24px 24px}.login-modal-wecom{text-align:center}.login-modal-desc{color:#64748b;margin:0 0 16px;font-size:.875rem}.login-modal-qr-shell{color:#94a3b8;background:linear-gradient(#f8fbff 0%,#f2f7ff 100%);border:1px solid #dbe4f0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:min(100%,320px);min-height:360px;margin:16px auto;padding:12px;display:flex;box-shadow:inset 0 1px #fffc}.login-modal-qr-shell.is-loading,.login-modal-qr-shell.is-error{border-style:dashed;justify-content:center}.login-modal-qr{width:100%;min-height:320px}.login-modal-qr iframe{border:none;max-width:100%}.login-modal-qr img,.login-modal-qr canvas{touch-action:manipulation;-webkit-user-select:auto;user-select:auto;max-width:100%;height:auto}.login-modal-qr-status{margin:12px 0 0;font-size:.75rem}.login-modal-hint{color:#94a3b8;margin:12px 0 0;font-size:.75rem}.login-modal-form{flex-direction:column;gap:16px;display:flex}.login-modal-form .field{gap:6px}.login-modal-form .field span{color:#64748b;font-size:.75rem}.login-modal-form .input-shell{border-radius:10px;min-height:40px}.login-modal-form .button{margin-top:8px}
