:root{--brand: #2e7bff;--brand2: #45c8f5;--brand-dark: #1f5fe0;--brand-light: #5c9bff;--gradient-brand: linear-gradient(90deg, #2e7bff 0%, #45c8f5 100%);--bg: #eef3fc;--surface: #ffffff;--surface2: #f6f9fe;--text-primary: #1a2030;--text-secondary: #6b7686;--text-disabled: #a7afbe;--border: #e1e8f5;--field-bg: #f6f9fe;--field-border: #d5def0;--field-border-focus: #2e7bff;--ok: #1fa85a;--warn: #c77a12;--bad: #d92d36;--shadow-card: 0 8px 24px rgba(46, 123, 255, .08);--radius-sm: 14px;--radius-md: 16px;--radius-full: 999px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif}.hermes-form{display:flex;flex-direction:column;gap:16px;width:100%}.hermes-card{box-sizing:border-box;padding:24px;background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.hermes-field{display:flex;flex-direction:column;gap:6px}.hermes-field-label{font-size:13px;color:var(--text-secondary)}.hermes-input{box-sizing:border-box;width:100%;padding:10px 12px;font-size:14px;font-family:var(--font-family);color:var(--text-primary);background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--radius-sm);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.hermes-input:focus{border-color:var(--field-border-focus);box-shadow:0 0 0 3px #2e7bff1f}.hermes-input:disabled{opacity:.6;cursor:not-allowed}.hermes-btn-gradient{width:100%;padding:11px 16px;font-size:15px;font-weight:600;font-family:var(--font-family);color:#fff;background:var(--gradient-brand);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:opacity .15s ease}.hermes-btn-gradient:hover{opacity:.92}.hermes-btn-gradient:disabled{opacity:.6;cursor:not-allowed}.hermes-btn-ghost{align-self:flex-start;padding:8px 14px;font-size:14px;font-family:var(--font-family);color:var(--brand);background:transparent;border:1px solid var(--field-border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:border-color .15s ease,color .15s ease}.hermes-btn-ghost:hover{border-color:var(--brand)}.hermes-btn-ghost:disabled{opacity:.6;cursor:not-allowed}.hermes-form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.hermes-link{padding:0;font-size:13px;font-family:var(--font-family);color:var(--brand);background:none;border:none;cursor:pointer}.hermes-link:hover{text-decoration:underline}.hermes-link:disabled{opacity:.6;cursor:not-allowed}.hermes-link-back{align-self:flex-start}.hermes-error{margin:0;font-size:13px;color:var(--bad)}.hermes-success{margin:0;font-size:13px;color:var(--ok)}.hermes-captcha-row{display:flex;align-items:center;gap:10px}.hermes-captcha-row .hermes-input{flex:1;min-width:0}.hermes-captcha-img{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;width:120px;height:42px;overflow:hidden;font-size:12px;color:var(--text-secondary);background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--radius-sm);cursor:pointer;object-fit:cover}.dify-topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px;background:var(--surface);border-bottom:1px solid var(--border)}.dify-topbar-title{margin:0;font-size:17px;font-weight:600;color:var(--text-primary)}.dify-home{min-height:100vh;background:var(--bg)}.dify-home-body{width:100%;max-width:960px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:16px}.dify-cluster{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden}.dify-cluster-header{display:flex;align-items:center;gap:14px;width:100%;padding:18px 20px;font-family:var(--font-family);text-align:left;background:transparent;border:none;cursor:pointer}.dify-cluster-header:hover{background:var(--surface2)}.dify-cluster-header-main{flex:1;min-width:0}.dify-cluster-name{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.dify-cluster-desc{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dify-cluster-counts{display:flex;gap:8px;flex-shrink:0}.dify-chip{padding:3px 10px;font-size:12px;color:var(--brand);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-full);white-space:nowrap}.dify-cluster-chevron{flex-shrink:0;font-size:12px;color:var(--text-disabled);transition:transform .15s ease}.dify-cluster-chevron.expanded{transform:rotate(180deg)}.dify-cluster-body{padding:4px 20px 20px;border-top:1px solid var(--border)}.dify-group-title{margin:16px 0 10px;font-size:13px;font-weight:600;color:var(--text-secondary)}.dify-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.dify-card{display:flex;gap:12px;padding:14px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .15s ease,box-shadow .15s ease}.dify-card:hover{border-color:var(--brand-light);box-shadow:var(--shadow-card)}.dify-card-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;font-size:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.dify-card-icon img{width:100%;height:100%;object-fit:cover}.dify-card-main{flex:1;min-width:0}.dify-card-name{margin:0;font-size:14px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dify-card-desc{margin:4px 0 0;font-size:12px;line-height:1.5;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dify-skeleton{padding:14px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm)}.dify-skeleton-line{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--border) 25%,var(--surface) 50%,var(--border) 75%);background-size:200% 100%;animation:dify-shimmer 1.2s ease infinite}.dify-skeleton-line+.dify-skeleton-line{margin-top:8px}.dify-skeleton-line.short{width:60%}@keyframes dify-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dify-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:64px 24px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.dify-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;font-size:26px;color:var(--brand);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-full)}.dify-empty-text{margin:0;font-size:14px;line-height:1.6;color:var(--text-secondary)}.dify-inline-empty{margin:8px 0 4px;font-size:13px;color:var(--text-disabled)}.dify-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;font-size:13px;color:var(--bad);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.dify-btn-retry{flex-shrink:0;padding:6px 14px;font-size:13px;font-family:var(--font-family);color:var(--brand);background:transparent;border:1px solid var(--field-border);border-radius:var(--radius-full);cursor:pointer;transition:border-color .15s ease}.dify-btn-retry:hover{border-color:var(--brand)}.dify-agent-card{position:relative;width:100%;font-family:var(--font-family);text-align:left;cursor:pointer}.dify-agent-card:focus-visible,.agent-chat-icon-btn:focus-visible,.agent-chat-new-btn:focus-visible,.agent-chat-history-select:focus-visible,.agent-chat-history-actions button:focus-visible,.agent-chat-send-btn:focus-visible,.agent-chat-stop-btn:focus-visible,.agent-chat-primary-btn:focus-visible,.agent-chat-secondary-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 28%,transparent);outline-offset:2px}.dify-agent-card:disabled{color:inherit;cursor:not-allowed;opacity:.68;box-shadow:none}.dify-card-status{position:absolute;right:10px;bottom:8px;font-size:11px;color:var(--text-disabled)}.agent-chat-page{height:100%;min-height:640px;color:var(--text-primary);background:var(--bg);overflow:hidden}.agent-chat-topbar{position:relative;z-index:20;display:flex;align-items:center;gap:12px;height:68px;padding:10px 20px;background:color-mix(in srgb,var(--surface) 94%,transparent);border-bottom:1px solid var(--border);box-shadow:0 4px 18px #1c49910a}.agent-chat-icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;padding:0;font-size:20px;color:var(--text-secondary);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer}.agent-chat-agent-icon,.agent-chat-welcome-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:40px;height:40px;font-size:13px;font-weight:700;color:var(--brand-dark);background:linear-gradient(145deg,#e9f2ff,#e9fbff);border:1px solid color-mix(in srgb,var(--brand) 24%,var(--border));border-radius:12px;overflow:hidden}.agent-chat-agent-icon img{width:100%;height:100%;object-fit:cover}.agent-chat-agent-heading{flex:1;min-width:0}.agent-chat-agent-heading h1,.agent-chat-agent-heading p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-chat-agent-heading h1{margin:0;font-size:16px;font-weight:700}.agent-chat-agent-heading p{margin:3px 0 0;font-size:12px;color:var(--text-secondary)}.agent-chat-source{padding:4px 10px;font-size:11px;color:var(--text-secondary);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-full)}.agent-chat-shell{display:grid;grid-template-columns:minmax(260px,304px) minmax(0,1fr);height:calc(100% - 68px);min-height:572px}.agent-chat-sidebar{display:flex;flex-direction:column;min-width:0;padding:16px 14px 0;background:var(--surface);border-right:1px solid var(--border);overflow:hidden}.agent-chat-new-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;padding:9px 14px;font-family:var(--font-family);font-size:14px;font-weight:650;color:#fff;background:var(--gradient-brand);border:none;border-radius:12px;box-shadow:0 7px 16px #2e7bff2e;cursor:pointer}.agent-chat-new-btn:disabled{cursor:not-allowed;opacity:.55}.agent-chat-search{padding:14px 0 12px;border-bottom:1px solid var(--border)}.agent-chat-search>label,.agent-chat-composer>label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.agent-chat-search-row{display:flex;gap:7px}.agent-chat-search input{flex:1;min-width:0;height:36px;padding:0 11px;font-family:var(--font-family);color:var(--text-primary);background:var(--field-bg);border:1px solid var(--field-border);border-radius:10px;outline:none}.agent-chat-search input:focus{border-color:var(--field-border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}.agent-chat-search button,.agent-chat-history-empty button,.agent-chat-load-more,.agent-chat-load-older,.agent-chat-blocked button{font-family:var(--font-family);color:var(--brand-dark);background:var(--surface2);border:1px solid var(--field-border);border-radius:10px;cursor:pointer}.agent-chat-search button{flex:0 0 auto;padding:0 11px}.agent-chat-history{flex:1;min-height:0;padding:12px 0 20px;overflow-y:auto;overscroll-behavior:contain}.agent-chat-history-loading,.agent-chat-history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:180px;padding:18px;text-align:center;color:var(--text-secondary)}.agent-chat-history-empty strong{font-size:14px;color:var(--text-primary)}.agent-chat-history-empty p{margin:0;font-size:12px;line-height:1.55}.agent-chat-history-empty button{margin-top:4px;padding:7px 12px}.agent-chat-history-loading{flex-direction:row;font-size:12px}.agent-chat-history-group+.agent-chat-history-group{margin-top:16px}.agent-chat-history-group h2{margin:0 8px 6px;font-size:11px;font-weight:600;color:var(--text-disabled);letter-spacing:.04em}.agent-chat-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;margin-bottom:3px;border:1px solid transparent;border-radius:10px}.agent-chat-history-item:hover{background:var(--surface2)}.agent-chat-history-item.active{background:color-mix(in srgb,var(--brand) 8%,var(--surface));border-color:color-mix(in srgb,var(--brand) 18%,var(--border))}.agent-chat-history-select{min-width:0;padding:9px 5px 9px 10px;font-family:var(--font-family);text-align:left;color:var(--text-primary);background:transparent;border:none;cursor:pointer}.agent-chat-history-select span{display:block;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.agent-chat-history-actions{display:flex;gap:2px;padding-right:5px;opacity:0;transition:opacity .12s ease}.agent-chat-history-item:hover .agent-chat-history-actions,.agent-chat-history-item:focus-within .agent-chat-history-actions,.agent-chat-history-item.active .agent-chat-history-actions{opacity:1}.agent-chat-history-actions button{width:27px;height:27px;padding:0;font-family:var(--font-family);font-size:11px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer}.agent-chat-history-actions button:last-child:hover{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 35%,var(--border))}.agent-chat-load-more{width:calc(100% - 12px);margin:10px 6px 0;padding:8px;font-size:12px}.agent-chat-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:radial-gradient(circle at 92% 2%,rgba(69,200,245,.08),transparent 28%),var(--surface2)}.agent-chat-conversation-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:12px clamp(18px,4vw,48px);background:color-mix(in srgb,var(--surface) 82%,transparent);border-bottom:1px solid var(--border)}.agent-chat-eyebrow{display:block;margin-bottom:3px;font-size:10px;font-weight:700;color:var(--brand);letter-spacing:.08em}.agent-chat-conversation-head h2{margin:0;font-size:16px;font-weight:650}.agent-chat-access-warning{padding:5px 9px;font-size:11px;color:var(--warn);background:color-mix(in srgb,var(--warn) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--warn) 24%,var(--border));border-radius:var(--radius-full)}.agent-chat-alert,.agent-chat-blocked{display:flex;gap:9px;margin:12px clamp(18px,4vw,48px) 0;padding:11px 13px;font-size:12px;line-height:1.5;border-radius:11px}.agent-chat-alert{color:var(--bad);background:color-mix(in srgb,var(--bad) 6%,var(--surface));border:1px solid color-mix(in srgb,var(--bad) 22%,var(--border))}.agent-chat-blocked{display:block;color:var(--warn);background:color-mix(in srgb,var(--warn) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--warn) 24%,var(--border))}.agent-chat-blocked p{margin:4px 0 9px}.agent-chat-blocked button{padding:7px 11px}.agent-chat-messages{flex:1;min-height:0;padding:20px clamp(18px,4vw,48px) 28px;overflow-y:auto;overscroll-behavior:contain}.agent-chat-message{display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:min(760px,88%);margin:0 auto 20px}.agent-chat-message.user{align-items:flex-end}.agent-chat-message-role{padding:0 5px;font-size:11px;color:var(--text-disabled)}.agent-chat-message-bubble{max-width:100%;padding:12px 15px;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:4px 15px 15px;box-shadow:0 5px 16px #1c49910d}.agent-chat-message.user .agent-chat-message-bubble{color:#fff;background:var(--brand);border-color:var(--brand);border-radius:15px 4px 15px 15px;box-shadow:0 7px 18px #2e7bff29}.agent-chat-message-bubble p{margin:0;font-size:14px;line-height:1.72;white-space:pre-wrap;overflow-wrap:anywhere}.agent-chat-message-status{display:block;margin-top:7px;font-size:10px;color:var(--text-disabled)}.agent-chat-message.user .agent-chat-message-status{color:#ffffffbf}.agent-chat-message-bubble.streaming{display:flex;align-items:flex-end;gap:4px}.agent-chat-caret{display:inline-block;width:2px;height:16px;margin-bottom:3px;background:var(--brand);animation:agent-chat-blink .8s steps(1) infinite}@keyframes agent-chat-blink{50%{opacity:0}}.agent-chat-welcome,.agent-chat-center-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:30px;text-align:center}.agent-chat-welcome-mark{width:54px;height:54px;margin-bottom:12px;font-size:15px;border-radius:17px;box-shadow:var(--shadow-card)}.agent-chat-welcome h3{margin:0;font-size:20px}.agent-chat-welcome p,.agent-chat-center-state p{max-width:440px;margin:8px 0 0;font-size:13px;line-height:1.65;color:var(--text-secondary)}.agent-chat-load-older{display:block;margin:0 auto 22px;padding:7px 12px;font-size:12px}.agent-chat-composer{padding:12px clamp(18px,4vw,48px) 14px;background:color-mix(in srgb,var(--surface) 90%,transparent);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.agent-chat-composer-box{display:flex;align-items:flex-end;gap:10px;width:min(860px,100%);margin:0 auto;padding:8px 8px 8px 14px;background:var(--surface);border:1px solid var(--field-border);border-radius:15px;box-shadow:0 8px 24px #1c499112}.agent-chat-composer-box:focus-within{border-color:var(--field-border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 11%,transparent)}.agent-chat-composer textarea{flex:1;min-width:0;min-height:46px;max-height:150px;padding:5px 0;font:inherit;font-size:14px;line-height:1.5;color:var(--text-primary);resize:none;background:transparent;border:none;outline:none}.agent-chat-composer textarea::placeholder{color:var(--text-disabled)}.agent-chat-send-btn,.agent-chat-stop-btn{flex:0 0 auto;min-width:64px;height:40px;padding:0 16px;font-family:var(--font-family);font-size:13px;font-weight:650;border-radius:11px;cursor:pointer}.agent-chat-send-btn{color:#fff;background:var(--gradient-brand);border:none}.agent-chat-send-btn:disabled{cursor:not-allowed;opacity:.45}.agent-chat-stop-btn{color:var(--bad);background:color-mix(in srgb,var(--bad) 6%,var(--surface));border:1px solid color-mix(in srgb,var(--bad) 25%,var(--border))}.agent-chat-composer-note{width:min(860px,100%);margin:6px auto 0;font-size:10px;text-align:center;color:var(--text-disabled)}.agent-chat-fatal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:100%;padding:28px;text-align:center;color:var(--text-primary);background:var(--bg)}.agent-chat-fatal h1,.agent-chat-fatal p{margin:0}.agent-chat-fatal h1{font-size:22px}.agent-chat-fatal p{max-width:520px;font-size:14px;line-height:1.65;color:var(--text-secondary)}.agent-chat-fatal-code{font-size:54px;font-weight:800;color:var(--brand);letter-spacing:-.05em}.agent-chat-fatal-actions{display:flex;gap:10px}.agent-chat-primary-btn,.agent-chat-secondary-btn{padding:10px 17px;font-family:var(--font-family);font-size:13px;font-weight:650;border-radius:11px;cursor:pointer}.agent-chat-primary-btn{color:#fff;background:var(--gradient-brand);border:none}.agent-chat-secondary-btn{color:var(--text-secondary);background:var(--surface);border:1px solid var(--field-border)}.agent-chat-loader{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:agent-chat-spin .75s linear infinite}.agent-chat-loader.small{width:18px;height:18px;border-width:2px}@keyframes agent-chat-spin{to{transform:rotate(360deg)}}@media (max-width: 760px){.agent-chat-page{height:auto;min-height:100%;overflow:visible}.agent-chat-topbar{position:sticky;top:0}.agent-chat-source{display:none}.agent-chat-shell{display:flex;flex-direction:column;height:auto;min-height:0}.agent-chat-sidebar{flex:0 0 auto;max-height:38vh;padding:12px 12px 0;border-right:none;border-bottom:1px solid var(--border)}.agent-chat-history{min-height:120px}.agent-chat-main{min-height:62vh}.agent-chat-conversation-head{min-height:62px;padding:10px 14px}.agent-chat-messages{min-height:360px;padding:16px 14px 22px}.agent-chat-message{width:96%}.agent-chat-composer{position:sticky;bottom:0;padding:10px 12px}.agent-chat-composer-note{display:none}}.agent-chat-page-embed{display:flex;flex-direction:column}.agent-chat-embed-frame{flex:1;width:100%;min-height:0;border:0;background:var(--bg)}@media (prefers-reduced-motion: reduce){.agent-chat-loader,.agent-chat-caret,.dify-skeleton-line{animation:none}}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.page-card{width:100%;max-width:420px;padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.page-title{margin-bottom:8px;font-size:24px;line-height:1.3;color:var(--text-primary)}.page-subtitle{margin-bottom:24px;font-size:14px;line-height:1.5;color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border:none;border-radius:var(--radius-full);font-size:14px;font-weight:600;line-height:1.2;cursor:pointer;transition:opacity .15s ease}.btn:hover{opacity:.9}.btn-primary{background:var(--gradient-brand);color:var(--surface)}.login-page{position:relative;display:flex;flex-direction:column;min-height:100vh;padding:0 clamp(20px,4vw,56px) 40px}.login-page:before,.login-page:after{content:"";position:fixed;z-index:0;border-radius:50%;pointer-events:none}.login-page:before{top:-160px;left:-140px;width:460px;height:460px;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 15%,transparent) 0%,transparent 70%)}.login-page:after{right:-160px;bottom:-180px;width:520px;height:520px;background:radial-gradient(circle,color-mix(in srgb,var(--brand2) 17%,transparent) 0%,transparent 70%)}.login-nav{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:1180px;margin:0 auto;padding:22px 0}.login-brand{display:flex;align-items:center;gap:10px}.login-brand-mark{flex:0 0 auto;width:34px;height:34px;object-fit:contain}.login-brand-name{font-size:18px;font-weight:700;color:var(--text-primary)}.login-nav-actions{display:flex;gap:8px}.login-nav-btn{padding:8px 18px;font-family:var(--font-family);font-size:14px;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius-full);cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.login-nav-btn:hover{color:var(--brand)}.login-nav-btn.active{color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--surface));border-color:color-mix(in srgb,var(--brand) 22%,var(--border))}.login-main{position:relative;z-index:1;display:flex;align-items:center;gap:clamp(28px,4vw,64px);width:100%;max-width:1180px;margin:0 auto;padding:8px 0 32px;flex:1}.login-hero{flex:1;min-width:0}.login-hero-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--brand)}.login-hero-eyebrow:before{content:"";flex:0 0 auto;width:28px;height:2px;background:var(--gradient-brand);border-radius:2px}.login-hero-title{margin:0 0 14px;font-size:clamp(30px,3.4vw,42px);line-height:1.25;font-weight:700;letter-spacing:-.01em;color:var(--text-primary)}.login-hero-accent{display:block;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.login-hero-desc{margin:0 0 26px;max-width:560px;font-size:15px;line-height:1.7;color:var(--text-secondary)}.login-scene-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:0;padding:0;list-style:none}.login-scene-card{display:flex;flex-direction:column;gap:6px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.login-scene-card:hover{transform:translateY(-4px);border-color:var(--brand-light);box-shadow:0 14px 32px color-mix(in srgb,var(--brand) 16%,transparent)}.login-scene-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.login-scene-role{padding:2px 10px;font-size:12px;color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--surface));border-radius:var(--radius-full)}.login-scene-icon{flex:0 0 auto;width:20px;height:20px;fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.login-scene-title{font-size:15px;font-weight:650;color:var(--text-primary)}.login-scene-desc{margin:0;font-size:13px;line-height:1.6;color:var(--text-secondary)}.login-auth{flex:0 0 auto;width:100%;max-width:420px}.login-auth-card{padding:8px 28px 28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 18px 48px color-mix(in srgb,var(--brand) 12%,transparent)}.login-auth-card .hermes-card{padding:0;background:transparent;border-radius:0;box-shadow:none}.login-auth-tabs{display:flex;gap:4px;margin:0 -28px 18px;padding:0 16px;border-bottom:1px solid var(--border)}.login-auth-tab{padding:12px 14px;font-family:var(--font-family);font-size:15px;font-weight:600;color:var(--text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.login-auth-tab:hover{color:var(--brand)}.login-auth-tab.active{color:var(--brand);border-bottom-color:var(--brand)}.login-auth-heading h2{margin:0 0 4px;font-size:20px;line-height:1.3;color:var(--text-primary)}.login-auth-heading p{margin:0 0 16px;font-size:13px;line-height:1.5;color:var(--text-secondary)}.login-nav-btn:focus-visible,.login-auth-tab:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 24%,transparent);outline-offset:2px}@media (max-width: 960px){.login-main{flex-direction:column;align-items:stretch}.login-auth{order:-1;max-width:460px;margin:0 auto}}.kb-files-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.kb-files-filters{display:flex;flex-wrap:wrap;gap:8px}.kb-files-filter{padding:6px 14px;font-family:var(--font-family);font-size:13px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.kb-files-filter:hover{color:var(--brand);border-color:var(--brand)}.kb-files-filter.active{color:var(--surface);background:var(--brand);border-color:var(--brand)}.kb-files-search{display:flex;gap:8px;flex:1;min-width:220px;max-width:360px;margin-left:auto}.kb-files-search>label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.kb-files-search input{flex:1;min-width:0;height:38px;padding:0 12px;font-family:var(--font-family);color:var(--text-primary);background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--radius-full);outline:none}.kb-files-search input:focus{border-color:var(--field-border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}.kb-files-search button{flex:0 0 auto;height:38px;padding:0 16px;font-family:var(--font-family);font-size:13px;color:var(--brand-dark);background:var(--surface);border:1px solid var(--field-border);border-radius:var(--radius-full);cursor:pointer;transition:border-color .15s ease}.kb-files-search button:hover{border-color:var(--brand)}.kb-files-card{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.kb-files-table{width:100%;border-collapse:collapse;font-size:13px}.kb-files-table th,.kb-files-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.kb-files-table th{font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.kb-files-table tbody tr:last-child td{border-bottom:none}.kb-files-table tbody tr:hover{background:var(--surface2)}.kb-files-name{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-weight:550}.kb-files-size,.kb-files-time{white-space:nowrap;color:var(--text-secondary)}.kb-files-status{display:inline-block;padding:2px 10px;font-size:12px;white-space:nowrap;border:1px solid;border-radius:var(--radius-full)}.kb-files-status--processing{color:var(--warn);background:color-mix(in srgb,var(--warn) 7%,var(--surface));border-color:color-mix(in srgb,var(--warn) 35%,var(--border))}.kb-files-status--active{color:var(--ok);background:color-mix(in srgb,var(--ok) 7%,var(--surface));border-color:color-mix(in srgb,var(--ok) 35%,var(--border))}.kb-files-status--rejected{color:var(--bad);background:color-mix(in srgb,var(--bad) 7%,var(--surface));border-color:color-mix(in srgb,var(--bad) 35%,var(--border))}.kb-files-actions{text-align:right;white-space:nowrap}.kb-files-actions button{padding:5px 12px;font-family:var(--font-family);font-size:12px;color:var(--text-secondary);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;transition:color .15s ease,border-color .15s ease}.kb-files-actions button:hover:not(:disabled){color:var(--brand);border-color:var(--brand)}.kb-files-actions .kb-files-delete:hover:not(:disabled){color:var(--bad);border-color:var(--bad)}.kb-files-actions button:disabled{cursor:not-allowed;opacity:.6}.kb-promo-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fffbe6;border:1px solid #f3e3ac;border-radius:var(--radius-sm)}.kb-promo-banner-icon{flex:0 0 auto;font-size:16px;line-height:1}.kb-promo-banner-text{flex:1;min-width:0;margin:0;font-size:13px;line-height:1.6;color:#4a4218}.kb-promo-banner-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:24px;height:24px;padding:0;color:#8a7a35;background:transparent;border:none;border-radius:var(--radius-full);cursor:pointer}.kb-promo-banner-close:hover{color:#4a4218;background:#8a7a351a}.kb-promo-banner-close svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.kb-promo-banner-close:focus-visible{outline:3px solid rgba(138,122,53,.24);outline-offset:2px}.kb-groups-back{padding:0;margin-bottom:10px;font-family:var(--font-family);font-size:13px;color:var(--brand);background:transparent;border:none;cursor:pointer}.kb-groups-back:hover{text-decoration:underline}.kb-groups-toolbar{display:flex;justify-content:flex-end}.kb-groups-form{display:flex;flex-direction:column;gap:14px;padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.kb-groups-field{display:flex;flex-direction:column;gap:6px}.kb-groups-field>label{font-size:13px;color:var(--text-secondary)}.kb-groups-field input,.kb-groups-field textarea{padding:10px 12px;font-family:var(--font-family);font-size:14px;color:var(--text-primary);background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--radius-sm);outline:none}.kb-groups-field textarea{min-height:72px;resize:vertical}.kb-groups-field input:focus,.kb-groups-field textarea:focus{border-color:var(--field-border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}.kb-groups-field-error{font-size:12px;color:var(--bad)}.kb-groups-form-actions{display:flex;gap:8px}.kb-groups-btn-cancel{padding:10px 20px;font-family:var(--font-family);font-size:14px;font-weight:600;color:var(--text-secondary);background:var(--surface);border:1px solid var(--field-border);border-radius:var(--radius-full);cursor:pointer;transition:border-color .15s ease}.kb-groups-btn-cancel:hover{border-color:var(--brand)}.kb-groups-empty{display:flex;flex-direction:column;align-items:center;gap:16px}.kb-groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.kb-groups-card-wrap{position:relative}.kb-groups-card-wrap .kb-groups-card{width:100%}.kb-groups-card-delete{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:var(--text-disabled);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease,border-color .15s ease}.kb-groups-card-wrap:hover .kb-groups-card-delete,.kb-groups-card-wrap:focus-within .kb-groups-card-delete,.kb-groups-card-delete:focus-visible{opacity:1}.kb-groups-card-delete:hover:not(:disabled){color:var(--bad);border-color:color-mix(in srgb,var(--bad) 35%,var(--border))}.kb-groups-card-delete:disabled{cursor:wait;opacity:1}.kb-groups-card-delete svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.kb-groups-card{display:flex;flex-direction:column;gap:10px;padding:16px;font-family:var(--font-family);text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.kb-groups-card:hover{border-color:var(--brand-light)}.kb-groups-card-name{font-size:15px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-groups-card-desc{font-size:13px;line-height:1.5;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kb-groups-card-meta{display:flex;justify-content:space-between;gap:8px;margin-top:auto;font-size:12px;color:var(--text-secondary)}.admin-layout{min-height:100vh;color:var(--text-primary);background:var(--bg)}.admin-sidebar{position:fixed;inset:0 auto 0 0;z-index:50;display:flex;flex-direction:column;width:200px;min-height:100vh;padding:20px 14px 16px;background:var(--surface);border-right:1px solid var(--border)}.admin-brand{display:flex;align-items:center;min-width:0;padding:2px 6px 0}.admin-brand-logo{display:block;height:30px;width:auto}.admin-nav-item svg,.admin-account-button>svg{flex:0 0 auto;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.admin-sidebar-nav{display:flex;flex-direction:column;gap:4px;margin-top:26px}.admin-nav-item{display:flex;align-items:center;gap:9px;min-height:38px;padding:0 11px;font-size:13px;font-weight:550;color:var(--text-secondary);text-decoration:none;border-radius:10px;transition:color .15s ease,background .15s ease}.admin-nav-item:hover{color:var(--text-primary);background:var(--surface2)}.admin-nav-item.active{color:var(--brand);font-weight:600;background:color-mix(in srgb,var(--brand) 9%,var(--surface))}.admin-sidebar-footer{margin-top:auto}.admin-account-button{display:flex;align-items:center;gap:9px;width:100%;min-width:0;padding:8px 9px;font-family:var(--font-family);color:var(--text-primary);text-align:left;background:var(--surface2);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.admin-account-button:hover{border-color:color-mix(in srgb,var(--brand) 25%,var(--border))}.admin-account-button:disabled{cursor:wait;opacity:.68}.admin-account-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:28px;height:28px;font-size:12px;font-weight:700;color:var(--brand-dark);background:color-mix(in srgb,var(--brand) 12%,var(--surface));border-radius:50%}.admin-account-copy{display:flex;flex:1;flex-direction:column;min-width:0}.admin-account-copy strong,.admin-account-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-account-copy strong{font-size:12px;font-weight:600}.admin-account-copy small{margin-top:1px;font-size:10px;color:var(--text-disabled)}.admin-account-button>svg{width:14px;height:14px;color:var(--text-disabled)}.admin-nav-item:focus-visible,.admin-account-button:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 24%,transparent);outline-offset:2px}.admin-workspace{min-width:0;min-height:100vh;margin-left:200px;background:var(--bg);overflow-x:hidden}.admin-workspace--chat{height:100vh;overflow:hidden}.admin-workspace .dify-home{min-height:100%;background:transparent}.admin-workspace .dify-home-body{max-width:1080px;padding:32px clamp(20px,4vw,48px) 44px;gap:16px}.dify-home-heading{margin-bottom:6px}.dify-home-heading h1{margin:0;font-size:22px;font-weight:700;line-height:1.3;color:var(--text-primary);letter-spacing:-.01em}.dify-home-heading p{margin:8px 0 0;font-size:13px;line-height:1.6;color:var(--text-secondary)}.admin-workspace--chat .agent-chat-page{height:100%;min-height:0;background:var(--bg)}.admin-workspace--chat .agent-chat-shell{height:calc(100% - 68px);min-height:0}.admin-workspace--chat .agent-chat-fatal{min-height:100%;background:var(--bg)}@media (max-width: 760px){.admin-sidebar{position:relative;display:grid;grid-template-areas:"brand account" "nav nav";grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;width:100%;min-height:0;padding:12px 14px;border-right:0;border-bottom:1px solid var(--border)}.admin-brand{grid-area:brand;padding:0}.admin-brand-logo{height:24px}.admin-sidebar-nav{grid-area:nav;flex-direction:row;gap:8px;margin-top:0}.admin-nav-item{min-height:36px;padding:0 12px;font-size:13px;white-space:nowrap}.admin-sidebar-footer{grid-area:account;margin-top:0}.admin-account-button{width:auto;max-width:168px;min-height:34px;padding:4px 8px 4px 5px}.admin-account-copy small,.admin-account-button>svg{display:none}.admin-account-copy strong{max-width:92px;font-size:11px}.admin-workspace,.admin-workspace--chat{height:auto;min-height:calc(100vh - 100px);margin-left:0;overflow:visible}.admin-workspace .dify-home-body{padding:24px 16px 32px}.dify-home-heading{margin-bottom:2px}.admin-workspace--chat .agent-chat-page{height:auto;min-height:calc(100vh - 100px);overflow:visible}.admin-workspace--chat .agent-chat-topbar{top:0}.admin-workspace--chat .agent-chat-shell{height:auto;min-height:0}.admin-workspace--chat .agent-chat-fatal{min-height:calc(100vh - 100px)}.admin-workspace--chat .agent-chat-page-embed{height:calc(100vh - 100px);min-height:560px;overflow:hidden}}@media (max-width: 480px){.admin-sidebar{grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:10px 12px}.admin-account-copy{display:none}.admin-account-button{padding-right:5px}.admin-nav-item{padding-inline:12px}.admin-nav-item svg{display:none}}@media (prefers-reduced-motion: reduce){.admin-nav-item,.admin-account-button{transition:none}}
