:root{color:#1f2a44;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-soft:#ffffffb3;--bg-strong:#ffffffdb;--bg-elevated:#fffffff5;--border-soft:#94a3b838;--border-strong:#64748b47;--text-primary:#1e293b;--text-secondary:#64748b;--text-tertiary:#94a3b8;--accent:#3b82f6;--accent-strong:#2563eb;--success:#10b981;--shadow-lg:0 20px 50px #3b82f614;--shadow-md:0 12px 28px #0f172a14;background:radial-gradient(circle at 0 0,#5a8aff24,#0000 28%),radial-gradient(circle at 100% 0,#89b5ff1f,#0000 24%),linear-gradient(#f7faff 0%,#eef4ff 100%);font-family:PingFang SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}input::placeholder{color:var(--text-tertiary)}a{color:inherit}.login-shell,.workspace-shell{min-height:100vh;padding:28px}.login-shell{place-items:center;display:grid}.login-layout{grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);align-items:stretch;gap:28px;width:min(1180px,100%);display:grid}.login-hero,.login-card,.panel,.modal-card{border:1px solid var(--border-soft);background:var(--bg-strong);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-hero{border-radius:32px;flex-direction:column;justify-content:space-between;min-height:620px;padding:40px;display:flex}.brand-badge{letter-spacing:.12em;text-transform:uppercase;color:#2563eb;background:#3b82f61a;border:1px solid #60a5fa47;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:8px 14px;font-size:12px;font-weight:700;display:inline-flex}.brand-badge img{flex-shrink:0;width:16px;height:16px;display:block}.login-hero h1,.login-card h2,.panel h2,.workspace-header h1{color:var(--text-primary);margin:0}.login-hero h1{letter-spacing:-.04em;max-width:520px;font-size:54px;line-height:1.08}.login-card{border-radius:28px;flex-direction:column;justify-content:center;padding:32px;display:flex}.login-card-header{gap:8px;margin-bottom:24px;display:grid}.login-copy,.helper-text,.conversation-item p,.user-card p,.message-meta span,.section-label,.panel-subtitle,.feature-item span,.conversation-item small,.read-indicator{color:var(--text-secondary)}.login-copy{max-width:560px;margin:20px 0 28px;font-size:16px;line-height:1.75}.feature-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.feature-item{background:#ffffff0a;border:1px solid #94a3b81f;border-radius:20px;gap:8px;padding:18px;display:grid}.feature-item strong{color:var(--text-primary);font-size:15px}.login-footnote{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:18px;display:flex}.login-footnote strong{color:var(--text-primary);font-size:14px}.stack-form{gap:12px;display:grid}.avatar-file-input{display:none}.avatar-upload-field{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:12px;display:grid}.avatar-upload-preview{border:1px dashed var(--border-strong);width:72px;height:72px;color:var(--text-secondary);text-align:center;background:#ffffff0a;border-radius:18px;justify-content:center;align-items:center;padding:8px;font-size:12px;display:flex;overflow:hidden}.avatar-upload-preview img{object-fit:cover;width:100%;height:100%}.avatar-upload-actions{gap:10px;display:grid}.avatar-upload-button-row{flex-wrap:wrap;gap:8px;display:flex}.avatar-crop-modal{width:min(760px,100vw - 32px)}.avatar-crop-layout{grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.avatar-crop-stage-shell{justify-content:center;display:flex}.avatar-crop-stage{border:1px solid var(--border-strong);touch-action:none;-webkit-user-select:none;user-select:none;background-color:#0000;background-image:linear-gradient(45deg,#94a3b81f 25%,#0000 25%),linear-gradient(-45deg,#94a3b81f 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#94a3b81f 75%),linear-gradient(-45deg,#0000 75%,#94a3b81f 75%);background-position:0 0,0 12px,12px -12px,-12px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;border-radius:28px;width:320px;height:320px;position:relative;overflow:hidden}.avatar-crop-image{cursor:grab;max-width:none;max-height:none;position:absolute}.avatar-crop-image:active{cursor:grabbing}.avatar-crop-overlay{pointer-events:none;border:1px solid #fffc;position:absolute;inset:0;box-shadow:inset 0 0 0 999px #0f172a3d,0 18px 32px #0f172a29}.avatar-crop-controls{flex-direction:column;gap:16px;min-height:100%;display:flex}.avatar-crop-slider-label{color:var(--text-primary);gap:8px;font-weight:600;display:grid}.avatar-crop-slider-label input[type=range]{width:100%}.avatar-crop-button-row{justify-content:center;align-items:stretch;margin-top:auto;padding:0 12px;display:flex}.avatar-crop-button-row>button{flex:none;justify-content:center}.avatar-crop-confirm-button{letter-spacing:.01em;background:linear-gradient(135deg,#60a5fa 0%,#3b82f6 42%,#2563eb 100%);border-radius:16px;min-width:168px;min-height:46px;transition:transform .2s,box-shadow .2s,filter .2s;box-shadow:0 18px 30px #2563eb47,inset 0 1px #ffffff3d}.avatar-crop-confirm-button:hover:not(:disabled){filter:saturate(1.04);transform:translateY(-1px);box-shadow:0 22px 34px #2563eb52,inset 0 1px #ffffff3d}.avatar-crop-confirm-button:active:not(:disabled){filter:brightness(.98);transform:translateY(0);box-shadow:0 12px 20px #2563eb3d,inset 0 1px #ffffff2e}.avatar-crop-error{margin-top:0}.stack-form input,.stack-form textarea,.stack-form select,.composer input,.composer textarea,.workspace-editor-textarea{border:1px solid var(--border-soft);width:100%;color:var(--text-primary);background:#ffffff0b;border-radius:14px;padding:13px 14px;transition:border-color .2s,box-shadow .2s,background .2s}.stack-form input:focus,.stack-form textarea:focus,.stack-form select:focus,.composer input:focus,.composer textarea:focus,.workspace-editor-textarea:focus{background:#ffffff0f;border-color:#668bffb8;outline:none;box-shadow:0 0 0 4px #4f7cff24}.stack-form button:not([type]),.stack-form button[type=submit],.composer-submit-button,.primary-button{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-strong));border:none;border-radius:14px;padding:13px 16px;font-weight:700;box-shadow:0 14px 28px #3d66ea57}.stack-form button:not([type]):disabled,.stack-form button[type=submit]:disabled,.composer-submit-button:disabled,.primary-button:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.ghost-button{border:1px solid var(--border-strong);color:#334155;background:#ffffffd1;border-radius:12px;padding:10px 14px;transition:background .2s,border-color .2s,transform .2s}.ghost-button:hover,.primary-button:hover,.conversation-item:hover{transform:translateY(-1px)}.ghost-button:hover{background:#eff6fff2;border-color:#60a5fa52}.workspace-shell{width:100%;height:100vh;overflow:hidden}.workspace-header,.panel-header,.header-actions,.chat-header-actions,.message-meta,.composer{align-items:center;display:flex}.workspace-header,.panel-header{justify-content:space-between}.workspace-header{gap:18px;margin-bottom:22px}.workspace-title{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.workspace-title-top{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.workspace-title-copy{gap:4px;display:grid}.workspace-title .brand-badge{flex-shrink:0}.header-actions{gap:12px}.mobile-header-menu{position:relative}.mobile-header-menu-trigger{border:1px solid var(--border-soft);width:44px;height:44px;box-shadow:var(--shadow-md);background:#ffffffeb;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;display:inline-flex}.mobile-header-menu-trigger span{background:var(--text-primary);border-radius:999px;width:18px;height:2px}.mobile-header-menu-dropdown{border:1px solid var(--border-soft);background:var(--bg-elevated);min-width:168px;box-shadow:var(--shadow-lg);z-index:30;border-radius:18px;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.mobile-header-menu-item{color:var(--text-primary);text-align:left;background:0 0;border:0;border-radius:12px;padding:10px 12px;font-weight:600}.mobile-header-menu-item:hover{background:#3b82f614}.mobile-header-menu-item.danger{color:#dc2626}.mobile-header-menu-item.danger:hover{background:#dc262614}.chat-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px}.workspace-panel-actions{flex-wrap:nowrap;align-items:flex-start}.chat-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chat-mobile-header-menu{margin-left:auto;position:relative}.chat-user-title-button{color:var(--text-primary);letter-spacing:-.02em;background:0 0;border:none;align-items:center;gap:12px;padding:0;font-size:28px;font-weight:800;line-height:1.2;transition:color .2s,opacity .2s;display:inline-flex}.chat-user-title-button:hover{color:var(--accent-strong)}.chat-user-title-button:focus-visible{color:var(--accent-strong);outline:none}.chat-header-avatar{width:42px;height:42px}.chat-group-title-button{color:var(--text-primary);letter-spacing:-.02em;background:0 0;border:none;padding:0;font-size:28px;font-weight:800;line-height:1.2;transition:color .2s,opacity .2s}.chat-group-title-button:hover{color:var(--accent-strong)}.chat-group-title-button:focus-visible{color:var(--accent-strong);outline:none}.chat-group-members-trigger{color:var(--accent-strong);background:#eff6fff5;border:1px solid #bfdbfee6;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:700;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.chat-group-members-trigger:hover{background:#dbeafef5;border-color:#93c5fdf2;transform:translateY(-1px)}.chat-group-members-trigger:focus-visible{border-color:#60a5faf2;outline:none;box-shadow:0 0 0 4px #4f7cff24}.workspace-grid{grid-template-columns:360px minmax(0,1fr);align-items:stretch;gap:16px;height:calc(100vh - 126px);min-height:0;display:grid}.admin-shell{overflow:auto}.admin-layout{grid-template-columns:minmax(0,1fr);display:grid}.panel{border-radius:24px;min-height:0;padding:22px}.product-panel{gap:16px;display:grid}.panel-header-tight{align-items:flex-start}.panel-title-block{gap:6px;display:grid}.panel-subtitle{margin:0;font-size:13px;line-height:1.6}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:#3b82f6;margin:0;font-size:11px;font-weight:700}.panel-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.mini-stat{border:1px solid var(--border-soft);background:#f8fafcf2;border-radius:18px;gap:6px;padding:14px 16px;display:grid}.mini-stat span{color:var(--text-secondary);font-size:12px}.mini-stat strong{color:var(--text-primary);font-size:24px}.user-list,.conversation-list,.message-list,.member-picker{gap:12px;min-width:0;display:grid}.user-list,.conversation-list{max-height:430px;padding-right:4px;overflow:hidden auto}.user-card,.conversation-item,.message-item,.member-option,.form-card{background:#f8fafceb;border:1px solid #94a3b829;border-radius:18px}.user-card{justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.admin-user-grid{gap:14px;display:grid}.admin-user-card{align-items:flex-start}.admin-user-meta{color:var(--text-secondary);flex-wrap:wrap;gap:12px;margin-top:10px;font-size:12px;display:flex}.admin-user-actions{flex-shrink:0;gap:10px;display:flex}.danger-button{color:#b91c1c;background:#fef2f2f2;border-color:#ef444433}.danger-button:hover{background:#fee2e2f2;border-color:#ef44444d}.admin-error{margin:0}.user-card-body{align-items:center;gap:14px;min-width:0;display:flex}.avatar-badge{color:#1d4ed8;background:linear-gradient(135deg,#bfdbfef2,#dbeafef2);border:1px solid #60a5fa42;border-radius:14px;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:14px;font-weight:700;display:grid}.user-main{min-width:0}.user-heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.user-heading strong,.conversation-main strong{color:var(--text-primary);font-size:15px}.user-card p,.conversation-item p{margin:4px 0 0;font-size:13px}.user-tags{gap:8px;margin-top:10px;display:flex}.conversation-item{text-align:left;min-width:0;max-width:100%;color:inherit;justify-self:stretch;padding:16px;transition:border-color .2s,background .2s,transform .2s;display:block}.conversation-item.active{background:#dbeafec7;border-color:#3b82f657}.conversation-main{flex:auto;gap:4px;min-width:0;display:grid}.conversation-main strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.name-with-icon{align-items:center;gap:8px;min-width:0;line-height:1.2;display:inline-flex}.conversation-group-icon,.conversation-real-user-icon{margin-right:2px}.robot-name-icon{flex-shrink:0;font-size:15px;line-height:1}.group-chat-icon{width:15px;height:15px;color:var(--text-secondary);vertical-align:middle;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;top:-2px}.group-chat-icon svg{width:100%;height:100%;display:block}.chat-group-title-button .group-chat-icon{width:30px;height:30px;top:-1px}.real-user-icon{width:15px;height:15px;color:var(--text-secondary);vertical-align:middle;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;top:-1.5px}.real-user-icon svg{width:100%;height:100%;display:block}.conversation-status-row .tag[class*=role-]{padding:4px 8px;font-size:11px;line-height:1.1}.conversation-item-body{align-items:flex-start;gap:12px;width:100%;min-width:0;display:flex}.conversation-avatar-image,.conversation-avatar-fallback{border-radius:50%;flex-shrink:0;width:38px;height:38px}.conversation-avatar-image{background:#fffffff5;border:1px solid #94a3b833;overflow:hidden}.conversation-avatar-image img{object-fit:cover;width:100%;height:100%;display:block}.conversation-avatar-fallback{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe,#bfdbfe);place-items:center;font-size:13px;font-weight:700;display:grid;box-shadow:0 8px 18px #3b82f61f}.conversation-status-row{align-items:center;min-width:0;display:flex}.conversation-status-row p{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;overflow:hidden}.conversation-title-row{flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;display:flex}.conversation-type-tag{border-radius:999px;flex-shrink:0;align-items:center;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.conversation-type-tag.direct{color:#2563eb;background:#3b82f61f}.conversation-type-tag.group{color:#475569;background:#e2e8f0d9}.conversation-tool-badge{border-radius:999px;flex-shrink:0;align-items:center;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.conversation-tool-badge.live{color:#0f766e;background:#ccfbf1f2}.conversation-tool-badge.idle{color:#7c3aed;background:#ede9feeb}.conversation-item small{text-overflow:ellipsis;white-space:nowrap;width:100%;max-width:100%;margin-top:10px;line-height:1.5;display:block;overflow:hidden}.virtual-conversation-group{gap:8px;display:grid}.virtual-group-item{position:relative}.virtual-group-toggle{color:var(--accent-strong);flex-shrink:0;margin-left:auto;font-size:12px;font-weight:700}.virtual-thread-list{border-left:2px solid #bfdbfee6;gap:8px;margin-left:18px;padding-left:14px;display:grid}.conversation-thread-item{text-align:left;background:#ffffffe0;border:1px solid #94a3b829;border-radius:14px;gap:6px;width:100%;padding:12px 14px;transition:border-color .2s,background .2s,transform .2s;display:grid}.conversation-thread-item:hover{background:#eff6ffe0;border-color:#3b82f63d;transform:translateY(-1px)}.conversation-thread-item.active{background:#dbeafeb3;border-color:#60a5fa52}.conversation-thread-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.conversation-thread-header strong{color:var(--text-primary);font-size:13px}.conversation-thread-item p{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;line-height:1.5;overflow:hidden}.conversation-thread-badge{color:#2563eb;background:#dbeafeeb;border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.conversation-thread-badge.tool.live{color:#0f766e;background:#ccfbf1f2}.conversation-thread-badge.tool.idle{color:#7c3aed;background:#ede9feeb}.conversation-sidebar-panel{grid-template-rows:auto auto minmax(0,1fr);height:100%;display:grid;overflow:hidden}.conversation-sidebar-panel .conversation-list{align-content:start;height:100%;min-height:0;max-height:none}.conversation-list-status{text-align:center;color:var(--text-secondary);padding:4px 0 10px;font-size:12px}.search-box{margin-top:-2px}.search-trigger{border:1px solid var(--border-soft);width:100%;color:var(--text-secondary);background:#ffffffeb;border-radius:14px;align-items:center;gap:10px;padding:5px 14px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.search-trigger:hover{border-color:#668bff80;box-shadow:0 0 0 4px #4f7cff14}.current-user-avatar{width:44px;height:44px}.conversation-sidebar-header{display:block}.conversation-sidebar-header .panel-title-block{justify-items:start;gap:10px;display:grid}.current-user-avatar-trigger{background:0 0;border:none;border-radius:16px;justify-content:flex-start;align-items:center;gap:12px;width:100%;padding:0;transition:transform .18s,box-shadow .18s;display:inline-flex}.current-user-avatar-trigger:hover{transform:translateY(-1px);box-shadow:0 0 0 4px #4f7cff14}.current-user-summary{text-align:left;gap:2px;min-width:0;display:grid}.current-user-summary strong,.current-user-summary span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.current-user-summary strong{color:var(--text-primary);font-size:15px}.current-user-summary span{color:var(--text-secondary);font-size:12px}.search-trigger-icon{color:var(--accent);font-size:26px;line-height:1}.search-trigger span:last-child{font-size:13px}.search-box input{border:1px solid var(--border-soft);width:100%;color:var(--text-primary);background:#ffffffeb;border-radius:14px;padding:13px 14px}.search-box input:focus{border-color:#668bffb8;outline:none;box-shadow:0 0 0 4px #4f7cff24}.conversation-empty{color:var(--text-secondary);text-align:center;border:1px dashed #94a3b829;border-radius:18px;padding:22px 16px}.tag,.status-pill,.presence-pill{border-radius:999px;align-items:center;font-size:12px;display:inline-flex}.tag{padding:6px 10px}.tag.real{color:#2563eb;background:#dbeafef2}.tag.virtual{color:#475569;background:#f1f5f9f2}.tag.role-user{color:#475569;background:#f1f5f9f5}.tag.role-operations{color:#dc2626;background:#fef2f2f5}.tag.role-developer{color:#4f46e5;background:#eef2fff5}.tag.role-devops{color:#059669;background:#ecfdf5f5}.tag.role-product{color:#ea580c;background:#fff7edf5}.tag.role-hr{color:#3f6212;background:#ecfccbf5}.tag.role-boss{color:#7c3aed;background:#faf5fff5}.status-pill{color:#475569;background:#ffffffe6;border:1px solid #94a3b82e;padding:8px 12px}.status-pill.online{color:#2563eb;background:#dbeafeeb}.presence-pill{padding:4px 8px}.presence-pill.online{color:#2563eb;background:#dbeafef2}.presence-pill.offline{color:#64748b;background:#f1f5f9f2}.member-picker{max-height:220px;overflow:auto}.modal-member-picker{margin-top:4px;padding-right:4px}.member-option{gap:10px;padding:12px 14px}.member-option span{color:var(--text-primary)}.member-option em{color:var(--text-secondary);margin-left:auto;font-style:normal}.chat-window{grid-template-rows:auto minmax(0,1fr) auto;height:100%;max-height:100%;display:grid;overflow:hidden}.virtual-workspace-panel{grid-template-rows:auto minmax(0,1fr);gap:18px;height:100%;max-height:100%;display:grid;overflow:hidden}.workspace-drawer-backdrop{z-index:85;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#e2e8f080;justify-content:flex-end;padding:24px;display:flex;position:fixed;inset:0}.workspace-drawer-shell{width:min(460px,100vw - 48px);max-width:100%;height:calc(100vh - 48px)}.workspace-drawer-shell .virtual-workspace-panel{height:100%}.workspace-drawer-enter-active,.workspace-drawer-leave-active{transition:opacity .24s}.workspace-drawer-enter-active .workspace-drawer-shell,.workspace-drawer-leave-active .workspace-drawer-shell{transition:transform .28s,opacity .28s}.workspace-drawer-enter-from,.workspace-drawer-leave-to{opacity:0}.workspace-drawer-enter-from .workspace-drawer-shell,.workspace-drawer-leave-to .workspace-drawer-shell{opacity:0;transform:translate(36px)}.virtual-workspace-layout{grid-template-columns:minmax(0,1fr);height:100%;min-height:0;display:grid}.workspace-tree-panel,.workspace-editor{min-height:0;display:grid}.workspace-tree-panel{background:#ffffffbf;border:1px solid #94a3b824;border-radius:18px;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:12px}.workspace-device-card{background:#f0f9ffad;border:1px solid #7dd3fc38;border-radius:16px;gap:10px;padding:12px;display:grid}.workspace-device-meta{color:var(--text-secondary);gap:6px;display:grid}.workspace-device-meta p{margin:0}.workspace-tree-header,.workspace-editor-footer,.workspace-editor-actions{align-items:center;display:flex}.workspace-tree-header{color:var(--text-secondary);background:#ffffffd1;border:1px solid #94a3b824;border-radius:16px;justify-content:space-between;gap:12px;padding:10px 12px;font-size:12px}.workspace-tree-header strong{color:var(--text-primary);font-size:14px}.workspace-tree-heading{gap:2px;display:grid}.workspace-tree-count{color:var(--accent-strong);background:#3b82f61a;border-radius:999px;flex-shrink:0;padding:4px 8px;font-weight:700}.workspace-tree-list{gap:6px;min-height:0;padding:4px 4px 4px 0;display:grid;overflow:auto}.workspace-tree-node{gap:6px;display:grid}.workspace-tree-item{width:100%;color:var(--text-primary);text-align:left;background:#ffffffd1;border:1px solid #94a3b814;border-radius:12px;align-items:center;gap:8px;padding:10px 12px;transition:border-color .2s,background .2s,transform .2s,box-shadow .2s;display:flex}.workspace-tree-item:hover{background:#eff6fff2;border-color:#3b82f633;transform:translateY(-1px);box-shadow:0 10px 18px #3b82f614}.workspace-tree-item.active{background:linear-gradient(#dbeafeeb,#eff6fffa);border-color:#3b82f657;box-shadow:0 10px 20px #3b82f61a}.workspace-tree-caret,.workspace-tree-icon,.workspace-tree-meta{flex-shrink:0}.workspace-tree-caret{width:12px;color:var(--text-secondary);font-size:11px}.workspace-tree-caret-empty{opacity:0}.workspace-tree-icon{letter-spacing:.04em;color:#475569;background:#e2e8f08c;border-radius:8px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex}.workspace-tree-icon.directory{color:#2563eb;background:#3b82f61f;font-size:14px}.workspace-tree-icon.file{background:#0f172a0f}.workspace-tree-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.workspace-tree-meta{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-left:auto;font-size:11px}.workspace-editor{min-height:0}.workspace-editor-empty,.workspace-editor-panel{height:100%;min-height:0}.workspace-editor-empty{color:var(--text-secondary);text-align:center;border:1px dashed #94a3b82e;border-radius:20px;place-items:center;padding:24px;display:grid}.workspace-editor-empty strong{color:var(--text-primary)}.workspace-editor-panel{background:#fffffffa;border:1px solid #94a3b829;border-radius:18px;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;padding:12px;display:grid;box-shadow:0 24px 60px #0f172a29}.workspace-editor-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.workspace-editor-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.workspace-editor-textarea{resize:none;height:100%;min-height:0;color:var(--text-primary);background:#fffffff5;border-radius:16px;padding:16px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.6}.workspace-editor-footer{color:var(--text-secondary);justify-content:space-between;gap:12px;font-size:12px}.workspace-inline-error{margin-top:0}.workspace-file-modal-backdrop{z-index:120;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a42;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.workspace-file-modal{width:min(1100px,100vw - 48px);height:min(80vh,900px);min-height:480px;display:grid}.message-list{scrollbar-width:thin;scrollbar-color:#94a3b859 transparent;align-content:start;min-height:0;padding:10px 14px;overflow:auto}.message-history-indicator{justify-content:center;margin-bottom:10px;display:flex}.message-history-indicator span{color:#64748b;background:#f1f5f9eb;border:1px solid #94a3b833;border-radius:999px;justify-content:center;align-items:center;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.message-list::-webkit-scrollbar{width:8px}.message-list::-webkit-scrollbar-track{background:0 0}.message-list::-webkit-scrollbar-thumb{background:#94a3b852 padding-box padding-box;border:2px solid #0000;border-radius:999px}.message-list::-webkit-scrollbar-thumb:hover{background:#94a3b875 padding-box padding-box}.message-row{align-items:flex-end;gap:12px;display:flex}.message-row.mine{justify-content:flex-end}.message-system-notice{justify-content:center;margin-top:4px;display:flex}.message-system-notice span{color:#1d4ed8;text-align:center;background:#dbeafee0;border:1px solid #60a5fa38;border-radius:999px;justify-content:center;align-items:center;max-width:min(100%,420px);padding:8px 14px;font-size:12px;font-weight:700;display:inline-flex}.device-task-list{gap:10px;margin-top:12px;display:grid}.device-task-card{background:#f8fafce0;border:1px solid #94a3b82e;border-radius:18px;gap:8px;padding:12px 14px;display:grid}.device-task-meta{color:var(--text-secondary);flex-wrap:wrap;gap:8px 12px;font-size:12px;display:flex}.device-task-summary{color:var(--text-primary);margin:0;line-height:1.6}.device-task-artifacts{flex-wrap:wrap;gap:10px;display:flex}.device-task-image{border:1px solid #94a3b82e;border-radius:14px;width:min(260px,100%);display:block}.device-task-link{color:#2563eb;text-decoration:none}.device-task-link:hover{text-decoration:underline}.message-avatar{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:13px;font-weight:700;display:grid;box-shadow:0 8px 18px #3b82f61f}.message-item{background:0 0;border:none;width:min(78%,720px);padding:0}.message-item.mine{justify-items:end;display:grid}.streaming-action-row{justify-content:flex-end;margin-top:6px;display:flex}.message-stop-button{appearance:none;color:#dc2626;cursor:pointer;background:#fffffff5;border:1px solid #ef444438;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;line-height:1;transition:background .2s,border-color .2s,color .2s,transform .2s}.message-stop-button:hover:not(:disabled){background:#fef2f2fa;border-color:#ef444452;transform:translateY(-1px)}.message-stop-button:disabled{cursor:wait;color:#f97316;background:#fff7edf5;border-color:#f973163d}.message-bubble{background:#fffffff0;border:1px solid #cbd5e1cc;border-radius:18px;margin-top:6px;padding:14px 16px;box-shadow:0 10px 28px #080f1e14}.message-bubble.mine{background:linear-gradient(#e0efff 0%,#dbeafe 100%);border-color:#93c5fdeb;box-shadow:0 12px 26px #3b82f61f}.streaming-bubble{position:relative}.streaming-bubble:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #3b82f614}.message-content{color:#1f2937;white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.72}.message-image-list{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:12px;display:grid}.message-image-button{appearance:none;cursor:pointer;background:#ffffffeb;border:1px solid #94a3b83d;border-radius:14px;padding:0;overflow:hidden}.message-image-button img{object-fit:cover;width:100%;max-height:280px;display:block}.message-mention{color:#2563eb;background:#dbeafeeb;border-radius:8px;padding:1px 4px}.message-tool-section{gap:10px;margin-bottom:12px;display:grid}.message-tool-title{color:var(--text-secondary);font-size:12px;font-weight:700}.message-tool-list{flex-wrap:wrap;gap:8px;display:flex}.message-tool-chip{color:#475569;cursor:pointer;background:#f1f5f9eb;border:1px solid #94a3b82e;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:700;transition:transform .18s,box-shadow .18s,border-color .18s;display:inline-flex}.message-tool-chip:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0f172a14}.message-tool-chip.static{cursor:default}.message-tool-chip.static:hover{box-shadow:none;transform:none}.message-tool-chip small{color:inherit;font-size:11px;font-weight:700}.message-tool-chip.running{color:#0f766e;background:#ccfbf1f2;border-color:#2dd4bf47}.message-tool-chip.completed{color:#7c3aed;background:#ede9fef0;border-color:#a78bfa38}.message-tool-chip.failed{color:#b91c1c;background:#fee2e2f0;border-color:#f8717138}.message-usage-row{color:#94a3b8eb;flex-wrap:wrap;align-items:center;gap:0;margin-top:8px;transition:color .18s;display:flex}.message-usage-pill{color:inherit;background:0 0;border:none;align-items:center;padding:0;font-size:11px;font-weight:500;transition:color .18s;display:inline-flex}.message-usage-pill.subtle{color:inherit}.message-usage-pill+.message-usage-pill:before{content:"｜";color:#94a3b8b3;margin:0 6px}.message-item:hover .message-usage-row,.message-item:focus-within .message-usage-row{color:#64748bfa}.message-item:hover .message-usage-pill,.message-item:focus-within .message-usage-pill,.message-item:hover .message-usage-pill.subtle,.message-item:focus-within .message-usage-pill.subtle{color:inherit}.typing-cursor{vertical-align:-.15em;background:#3b82f6d9;border-radius:999px;width:.6ch;height:1.1em;margin-left:2px;animation:.85s step-end infinite typing-caret-blink;display:inline-block}@keyframes typing-caret-blink{0%,48%{opacity:1}49%,to{opacity:0}}.read-indicator{color:var(--text-tertiary);margin-top:8px;font-size:12px;display:block}.read-indicator.mine{text-align:right}.message-meta{justify-content:space-between;gap:12px;padding:0 4px}.message-meta strong{color:var(--text-primary);font-size:13px}.composer{border-top:1px solid var(--border-soft);align-items:flex-end;gap:12px;margin-top:16px;padding-top:16px}.composer-main{flex:auto;min-width:0;position:relative}.composer-file-input{display:none}.composer-toolbar{align-items:center;gap:10px;margin-bottom:10px;display:flex}.composer-image-list{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.composer-image-card{background:#ffffffeb;border:1px solid #94a3b83d;border-radius:14px;width:96px;height:96px;position:relative;overflow:hidden}.composer-image-preview{object-fit:cover;width:100%;height:100%;display:block}.composer-image-remove{appearance:none;color:#fff;cursor:pointer;background:#0f172ab8;border:none;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;position:absolute;bottom:6px;right:6px}.composer-entry-row{align-items:flex-end;gap:10px;display:flex}.composer-icon-button{appearance:none;min-width:52px;height:42px;color:var(--text-primary);cursor:pointer;background:#fffffff5;border:1px solid #94a3b838;border-radius:14px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:700;transition:border-color .18s,box-shadow .18s,transform .18s;display:inline-flex}.composer-icon-button:hover{border-color:#3b82f63d;transform:translateY(-1px);box-shadow:0 10px 24px #0f172a14}.composer-icon-button-glyph{color:var(--accent-strong);font-size:16px;line-height:1}.composer-icon-button-image{justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.composer-icon-button-image svg{fill:currentColor;width:100%;height:100%;color:var(--accent-strong)}.composer-entry-row input,.composer-entry-row textarea{min-width:0}.composer-entry-row textarea{flex:auto;padding-top:10px;padding-bottom:10px}.composer-submit-button{white-space:nowrap;flex:none;min-width:72px;height:46px;padding:0 18px}.command-suggestion-list{z-index:20;background:#fffffffa;border:1px solid #94a3b82e;border-radius:16px;gap:8px;padding:10px;display:grid;position:absolute;bottom:calc(100% + 10px);left:0;right:0;box-shadow:0 18px 36px #0f172a1f}.mention-suggestion-list{gap:6px}.command-suggestion-item{appearance:none;text-align:left;width:100%;color:var(--text-primary);box-shadow:none;background:#fff;border:1px solid #94a3b824;border-radius:14px;gap:4px;padding:12px 14px;transition:border-color .2s,background .2s,box-shadow .2s;display:grid}.command-suggestion-item:hover{background:#fff;border-color:#3b82f647}.command-suggestion-item.active{box-shadow:none;background:#eff6ff;border-color:#bfdbfef2}.mention-suggestion-item{align-items:center;gap:10px;display:flex}.mention-suggestion-avatar{flex-shrink:0;width:30px;height:30px}.mention-suggestion-avatar.conversation-avatar-fallback{box-shadow:none;font-size:11px}.mention-suggestion-main{gap:2px;min-width:0;display:grid}.mention-suggestion-main strong{color:var(--text-primary);font-size:14px;line-height:1.3}.mention-suggestion-main small{color:var(--text-secondary);font-size:12px;line-height:1.3}.command-suggestion-item:focus,.command-suggestion-item:focus-visible,.command-suggestion-item:active{box-shadow:none;background:#eff6ff;border-color:#bfdbfef2;outline:none}.command-suggestion-command{color:var(--text-secondary);font-size:12px;font-weight:700}.command-suggestion-item.active .command-suggestion-command{color:var(--accent-strong)}.command-suggestion-item.active strong{color:var(--text-primary)}.command-suggestion-item.active small{color:var(--text-secondary)}.command-suggestion-item strong{font-size:14px}.command-suggestion-item small{color:var(--text-secondary);line-height:1.5}.command-notice{color:#1d4ed8;background:#dbeafeb8;border:1px solid #60a5fa33;border-radius:14px;margin-top:10px;padding:10px 12px;font-size:13px}.command-notice.error{color:#b91c1c;background:#fee2e2cc;border-color:#f8717133}.tool-call-modal{grid-template-rows:auto auto minmax(0,1fr);gap:16px;width:min(760px,100%);max-height:min(82vh,900px);display:grid}.user-profile-modal{grid-template-rows:auto auto minmax(0,1fr);gap:16px;width:min(720px,100%);max-height:min(82vh,900px);display:grid}.group-members-modal{grid-template-rows:auto minmax(0,1fr);gap:16px;width:min(560px,100%);max-height:min(76vh,760px);display:grid}.user-profile-summary{align-items:center;gap:18px;display:flex}.user-profile-avatar{width:72px;height:72px;font-size:24px}.user-profile-heading{gap:10px;min-width:0;display:grid}.user-profile-tags{flex-wrap:wrap;gap:8px;display:flex}.user-profile-detail-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;min-height:0;padding-right:4px;display:grid;overflow:auto}.user-profile-detail-grid .tool-call-detail-card p{color:var(--text-primary);word-break:break-word;margin:0;line-height:1.6}.detail-span-full{grid-column:1/-1}.group-info-modal{width:min(640px,100%)}.group-members-list{gap:10px;min-height:0;padding-right:4px;display:grid;overflow:auto}.group-member-card{background:#f8fafceb;border:1px solid #94a3b829;border-radius:18px;padding:14px 16px}.tool-call-meta-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tool-call-id{color:var(--text-secondary);font-size:12px}.tool-call-detail-list{gap:12px;min-height:0;padding-right:4px;display:grid;overflow:auto}.tool-call-detail-card{background:#f8fafceb;border:1px solid #94a3b829;border-radius:18px;gap:10px;padding:14px 16px;display:grid}.tool-call-detail-card strong{color:var(--text-primary);font-size:13px}.tool-call-detail-card pre{white-space:pre-wrap;word-break:break-word;color:#0f172a;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.65}.empty-state{place-items:center;display:grid}.empty-state-card{text-align:center;background:#ffffffd1;border:1px dashed #94a3b83d;border-radius:24px;gap:10px;width:min(420px,100%);padding:28px;display:grid}.empty-state-card strong{color:var(--text-primary);font-size:18px}.empty-state-card span{color:var(--text-secondary);line-height:1.7}.modal-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:80;background:#e2e8f099;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{background:var(--bg-elevated);border-radius:28px;width:min(560px,100%);padding:26px}.create-group-modal{flex-direction:column;width:min(720px,100%);max-height:min(90vh,800px);display:flex;overflow:hidden}.create-group-modal .create-group-form{flex:1;min-height:0;overflow-y:auto}.create-group-modal .create-group-actions{border-top:1px solid #94a3b829;flex-shrink:0;padding-top:14px}.diary-modal{width:min(1080px,100%)}.create-group-header,.diary-modal-header{align-items:flex-start}.create-group-form{gap:18px;margin-top:18px}.create-group-section{gap:12px;display:grid}.create-group-section textarea{resize:vertical;min-height:112px}.diary-form textarea{min-height:220px}.create-group-section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.create-group-label{color:var(--text-primary);font-size:13px;font-weight:700}.create-group-counter{color:var(--text-secondary);font-size:12px;font-weight:600}.diary-modal-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:20px;margin-top:18px;display:grid}.diary-form,.diary-list-panel{min-height:0}.modal-actions{justify-content:flex-end;gap:12px;display:flex}.diary-list-panel{gap:14px;display:grid}.diary-detail-panel{background:linear-gradient(#fffffff0,#f8fafceb);border:1px solid #94a3b824;border-radius:24px;gap:16px;min-height:0;padding:18px 20px;display:grid}.diary-list-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.diary-list-header h3,.diary-card h4{color:var(--text-primary);margin:0}.empty-state.compact{min-height:120px;color:var(--text-secondary);background:#f8fafcbf;border:1px dashed #94a3b842;border-radius:18px;font-size:14px}.diary-list{gap:12px;max-height:560px;padding-right:4px;display:grid;overflow:auto}.diary-card{cursor:pointer;background:#f8fafceb;border:1px solid #94a3b829;border-radius:20px;gap:12px;padding:16px;transition:border-color .2s,box-shadow .2s,transform .2s;display:grid}.diary-card:hover,.diary-card:focus-visible{border-color:#60a5fa61;outline:none;transform:translateY(-1px);box-shadow:0 18px 36px #0f172a14}.diary-card.active{background:#eff6ffeb;border-color:#3b82f66b;box-shadow:0 18px 32px #3b82f61f}.diary-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.diary-card-header p{color:var(--text-secondary);margin:6px 0 0;font-size:12px}.diary-card-main{min-width:0}.diary-meta-separator{margin:0 6px}.diary-card-preview{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;line-height:1.65;display:-webkit-box;overflow:hidden}.diary-detail-header{gap:12px;display:grid}.diary-detail-header h3{color:var(--text-primary);margin:4px 0 0}.diary-detail-meta{color:var(--text-secondary);flex-wrap:wrap;gap:10px 14px;font-size:12px;display:flex}.diary-detail-content{min-height:320px;max-height:560px;color:var(--text-primary);word-break:break-word;background:#f8fafcbd;border:1px solid #94a3b824;border-radius:18px;padding:18px;line-height:1.8;overflow:auto}.diary-detail-content.markdown-body h1,.diary-detail-content.markdown-body h2,.diary-detail-content.markdown-body h3,.diary-detail-content.markdown-body h4,.diary-detail-content.markdown-body h5,.diary-detail-content.markdown-body h6{margin-top:1em;margin-bottom:.5em;font-weight:600;line-height:1.4}.diary-detail-content.markdown-body h1{font-size:1.5em}.diary-detail-content.markdown-body h2{font-size:1.3em}.diary-detail-content.markdown-body h3{font-size:1.15em}.diary-detail-content.markdown-body p{margin:.6em 0}.diary-detail-content.markdown-body ul,.diary-detail-content.markdown-body ol{margin:.5em 0;padding-left:1.8em}.diary-detail-content.markdown-body li{margin:.25em 0}.diary-detail-content.markdown-body code{background:#94a3b826;border-radius:4px;padding:.15em .4em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em}.diary-detail-content.markdown-body pre{background:#1e293b0f;border-radius:8px;margin:.8em 0;padding:12px 16px;overflow-x:auto}.diary-detail-content.markdown-body pre code{background:0 0;padding:0}.diary-detail-content.markdown-body blockquote{color:var(--text-secondary,#64748b);background:#6366f10a;border-left:3px solid #6366f166;border-radius:0 8px 8px 0;margin:.8em 0;padding:.4em 1em}.diary-detail-content.markdown-body table{border-collapse:collapse;width:100%;margin:.8em 0}.diary-detail-content.markdown-body th,.diary-detail-content.markdown-body td{text-align:left;border:1px solid #94a3b840;padding:6px 12px}.diary-detail-content.markdown-body th{background:#f8fafce6;font-weight:600}.diary-detail-content.markdown-body hr{border:none;border-top:1px solid #94a3b833;margin:1em 0}.diary-detail-content.markdown-body a{color:var(--accent,#6366f1);text-decoration:underline}.ghost-button.danger{color:#b91c1c;background:#fef2f2e6;border-color:#f8717159}.ghost-button.danger:hover{background:#fee2e2f2;border-color:#ef444473}@media (width<=980px){.diary-modal-layout{grid-template-columns:minmax(0,1fr)}.diary-detail-content,.diary-list{max-height:360px}}.create-group-selected{background:#f8fafcd6;border:1px solid #94a3b829;border-radius:18px;flex-wrap:wrap;align-items:flex-start;gap:10px;min-height:84px;max-height:200px;padding:14px;display:flex;overflow-y:auto}.create-group-selected.empty{align-items:center}.create-group-empty{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.selected-member-chip{color:var(--text-primary);background:#eff6fff5;border:1px solid #bfdbfef2;border-radius:16px;align-items:center;gap:10px;padding:10px 12px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}.selected-member-chip:hover{border-color:#60a5fa80;transform:translateY(-1px);box-shadow:0 10px 20px #3b82f61a}.selected-member-avatar{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:999px;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:inline-grid}.selected-member-text{text-align:left;gap:2px;font-size:13px;font-weight:700;display:grid}.selected-member-text small{color:var(--text-secondary);font-size:12px;font-weight:500}.selected-member-remove{color:var(--accent-strong);font-size:12px;font-weight:700}.create-group-search-panel{background:#ffffffb3;border:1px solid #94a3b824;border-radius:20px;gap:12px;padding:14px;display:grid}.create-group-search-hint{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.create-group-search-tip{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.5}.create-group-result-list{gap:2px;max-height:260px;margin-top:0}.create-group-result-item{appearance:none;box-shadow:none;background:#fff;border:1px solid #0000;border-radius:0;justify-content:space-between;gap:10px;padding:7px 8px;transform:none}.create-group-result-item:hover{background:#fff;border-color:#0000;transform:none}.create-group-result-item:focus,.create-group-result-item:focus-visible,.create-group-result-item:active{box-shadow:none;background:#fff;border-color:#0000;outline:none;transform:none}.create-group-result-item.active{background:#eff6ff;border-color:#bfdbfef2;border-radius:12px;box-shadow:inset 0 0 0 1px #60a5fa24}.create-group-result-item.active:hover,.create-group-result-item.active:focus,.create-group-result-item.active:focus-visible,.create-group-result-item.active:active{background:#eff6ff;border-color:#bfdbfef2;outline:none;transform:none;box-shadow:inset 0 0 0 1px #60a5fa24}.create-group-result-item .conversation-avatar-image,.create-group-result-item .conversation-avatar-fallback{width:30px;height:30px}.create-group-result-item .conversation-avatar-fallback{box-shadow:none;font-size:11px}.create-group-result-item .search-result-main strong{font-size:14px}.create-group-result-item .search-result-main p{margin-top:2px;font-size:12px}.create-group-actions{justify-content:flex-end;gap:12px;display:flex}.modal-close-button{border:1px solid var(--border-strong);width:40px;height:40px;color:var(--text-secondary);background:#ffffffe0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:24px;line-height:1;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.modal-close-button:hover{color:var(--accent-strong);background:#eff6fff5;border-color:#60a5fa52;transform:translateY(-1px)}.modal-close-button:focus-visible{border-color:#668bffb8;outline:none;box-shadow:0 0 0 4px #4f7cff24}.modal-search-box,.search-dialog-section{margin-top:18px}.search-result-list{gap:12px;max-height:240px;margin-top:10px;padding-right:4px;display:grid;overflow:auto}.search-result-item{text-align:left;background:#f8fafceb;border:1px solid #94a3b829;border-radius:18px;align-items:center;gap:12px;width:100%;padding:14px 16px;transition:border-color .2s,background .2s,transform .2s;display:flex}.search-result-item:hover{background:#eff6ffeb;border-color:#3b82f647;transform:translateY(-1px)}.create-group-search-panel .create-group-result-list{gap:0;margin-top:4px;padding-right:0}.create-group-search-panel .create-group-result-item{box-shadow:none;background:0 0;border:none;border-radius:0;gap:10px;padding:5px 6px;transform:none}.create-group-search-panel .create-group-result-item:hover,.create-group-search-panel .create-group-result-item:focus,.create-group-search-panel .create-group-result-item:focus-visible,.create-group-search-panel .create-group-result-item:active{box-shadow:none;background:0 0;border:none;border-radius:0;outline:none;transform:none}.create-group-search-panel .create-group-result-item.active,.create-group-search-panel .create-group-result-item.active:hover,.create-group-search-panel .create-group-result-item.active:focus,.create-group-search-panel .create-group-result-item.active:focus-visible,.create-group-search-panel .create-group-result-item.active:active{background:#eff6ff;border:1px solid #bfdbfef2;border-radius:12px;transform:none;box-shadow:inset 0 0 0 1px #60a5fa24}.create-group-search-panel .create-group-result-item .conversation-avatar-image,.create-group-search-panel .create-group-result-item .conversation-avatar-fallback{width:28px;height:28px}.create-group-search-panel .create-group-result-item .search-result-main p{margin-top:1px}.search-result-main{flex:1;min-width:0}.search-result-main strong{color:var(--text-primary);font-size:15px}.search-user-heading{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.search-user-username{color:var(--text-muted);font-size:12px;font-weight:500}.search-result-main p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.error-text{color:#ff9393;margin-top:14px}@media (width<=1200px){.workspace-grid,.login-layout,.feature-list,.avatar-crop-layout,.virtual-workspace-layout{grid-template-columns:1fr}.chat-window{min-height:0}.login-hero h1{font-size:40px}}@media (width<=720px){.avatar-crop-modal{width:min(100vw - 20px,560px)}.avatar-crop-stage{width:min(100vw - 84px,320px);height:min(100vw - 84px,320px)}.avatar-upload-field{grid-template-columns:1fr}.login-shell,.workspace-shell{padding:16px}.workspace-header{flex-direction:column;align-items:flex-start}.workspace-drawer-backdrop{padding:12px}.workspace-drawer-shell{width:min(100%,100vw - 24px);height:calc(100vh - 24px)}.workspace-shell{height:auto;overflow:visible}.workspace-grid{height:auto}.header-actions{justify-content:space-between;width:100%}.workspace-title{flex-direction:column;align-items:flex-start}.create-group-section-heading,.create-group-actions{flex-direction:column;align-items:stretch}.selected-member-chip,.create-group-result-item{width:100%}}:root{--viewport-height:100vh;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}@supports (height:100dvh){:root{--viewport-height:100dvh}}html,body,#app{min-height:100%}body{min-height:var(--viewport-height);overscroll-behavior-y:none}#app{min-height:var(--viewport-height)}.login-shell,.workspace-shell{min-height:var(--viewport-height);padding-top:calc(28px + var(--safe-top));padding-right:calc(28px + var(--safe-right));padding-bottom:calc(28px + var(--safe-bottom));padding-left:calc(28px + var(--safe-left))}.workspace-shell{height:auto;min-height:var(--viewport-height)}.workspace-grid{min-height:0;height:calc(var(--viewport-height) - 126px)}.modal-backdrop,.workspace-drawer-backdrop,.workspace-file-modal-backdrop{padding-top:calc(24px + var(--safe-top));padding-right:calc(24px + var(--safe-right));padding-bottom:calc(24px + var(--safe-bottom));padding-left:calc(24px + var(--safe-left))}.modal-card,.workspace-file-modal{max-height:calc(var(--viewport-height) - 48px - var(--safe-top) - var(--safe-bottom))}.workspace-drawer-shell{height:calc(var(--viewport-height) - 48px - var(--safe-top) - var(--safe-bottom))}.mobile-fullscreen-modal{width:100%;max-width:none;max-height:none;height:calc(var(--viewport-height) - var(--safe-top));border-radius:28px 28px 0 0}.app-toast-viewport{left:calc(16px + var(--safe-left));right:calc(16px + var(--safe-right));bottom:calc(16px + var(--safe-bottom));z-index:220;pointer-events:none;gap:10px;display:grid;position:fixed}.app-toast{color:#f8fafc;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;background:#0f172ae0;border:1px solid #94a3b838;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;box-shadow:0 18px 36px #0f172a42}.app-toast.success{background:#065f46eb;border-color:#10b98159}.app-toast.error{background:#7f1d1df0;border-color:#f871715c}.app-toast-close{color:inherit;background:0 0;border:none;padding:0;font-size:22px;line-height:1}.app-confirm-dialog{gap:18px;width:min(440px,100%);display:grid}.app-confirm-dialog.danger{border-color:#f871713d}.app-confirm-actions{justify-content:flex-end}.workspace-mobile-shell,.workspace-mobile-panel{min-height:0;display:grid}.workspace-mobile-shell{height:calc(var(--viewport-height) - 126px)}.workspace-mobile-shell>*{min-height:0}.workspace-mobile-panel .virtual-workspace-panel{height:100%}.mobile-chat-swipe-region{touch-action:pan-y;height:100%;min-height:0}.chat-window-mobile{border-radius:26px;padding-bottom:0}.composer-entry-row textarea{resize:none;min-width:0;min-height:calc(1.45em + 20px);max-height:168px;line-height:1.45;overflow-y:auto}.image-preview-modal{width:min(960px,100%)}.image-preview-shell{background:#0f172a0f;border-radius:22px;place-items:center;margin-top:16px;display:grid;overflow:hidden}.image-preview-full{object-fit:contain;max-width:100%;max-height:min(72vh,820px);display:block}.login-feature-toggle{width:fit-content}.admin-shell-mobile .admin-layout{min-height:0}@media (width<=980px){.workspace-grid{height:auto;min-height:0}}@media (width<=720px){.login-shell,.workspace-shell{padding-top:calc(14px + var(--safe-top));padding-right:calc(14px + var(--safe-right));padding-bottom:calc(14px + var(--safe-bottom));padding-left:calc(14px + var(--safe-left))}.workspace-shell{min-height:var(--viewport-height)}.workspace-shell-mobile-chat{padding-bottom:0}.workspace-mobile-shell{height:calc(var(--viewport-height) - 146px)}.workspace-shell-mobile-chat .workspace-mobile-shell{height:calc(var(--viewport-height) - 14px - var(--safe-top))}.workspace-header{align-items:flex-start;gap:14px}.header-actions,.chat-header-actions{gap:8px}.header-actions{flex-wrap:nowrap;margin-left:auto}.modal-backdrop,.workspace-file-modal-backdrop{background:#0f172a57;place-items:end stretch;padding:0}.workspace-drawer-backdrop{padding-top:calc(12px + var(--safe-top));align-items:flex-end;padding-bottom:0;padding-left:0;padding-right:0}.modal-card,.create-group-modal,.diary-modal,.tool-call-modal,.group-members-modal,.user-profile-modal,.app-confirm-dialog,.workspace-file-modal{width:100%;max-width:none;max-height:calc(var(--viewport-height) - var(--safe-top));padding-bottom:calc(22px + var(--safe-bottom));border-radius:26px 26px 0 0}.workspace-drawer-shell{width:100%;height:calc(var(--viewport-height) - var(--safe-top))}.chat-window{height:100%;min-height:0}.chat-window-mobile .panel-header{flex-direction:column;align-items:stretch;gap:12px}.chat-window-mobile .chat-title-row{align-items:flex-start}.chat-window-mobile .chat-header-actions.mobile{display:none}.chat-window-mobile .chat-user-title-button,.chat-window-mobile .chat-group-title-button{font-size:22px}.chat-window-mobile .message-list{padding:6px 0}.chat-window-mobile .message-row{gap:8px}.chat-window-mobile .message-avatar{width:32px;height:32px;font-size:12px}.chat-window-mobile .message-bubble{max-width:min(100%,84vw)}.chat-window-mobile .composer{z-index:4;padding-top:12px;padding-bottom:calc(4px + var(--safe-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#ffffff1f,#fffffff2 28%);flex-direction:column;align-items:stretch;margin-top:0;position:sticky;bottom:0}.chat-window-mobile .composer-entry-row{align-items:flex-end}.chat-window-mobile .composer-icon-button{min-width:48px;height:40px;padding:0 10px}.chat-window-mobile .composer-submit-button{min-width:64px;height:46px;padding:0 16px}.workspace-mobile-panel .virtual-workspace-panel,.workspace-mobile-shell .conversation-sidebar-panel{height:100%}.workspace-mobile-shell .conversation-sidebar-panel .conversation-list{max-height:none}.admin-user-card{flex-direction:column;align-items:stretch}.admin-user-actions{flex-wrap:wrap;width:100%}.admin-user-actions>button{flex:180px}.login-layout{gap:18px}.login-hero{min-height:0}.workspace-tree-item{gap:6px}.workspace-tree-label{font-size:12px}.app-toast-viewport{left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));bottom:calc(12px + var(--safe-bottom))}.app-confirm-actions{grid-template-columns:minmax(0,1fr);display:grid}.login-layout{flex-direction:column-reverse;display:flex}.login-card-mobile{border-radius:26px;padding:24px 20px}.login-hero-mobile{border-radius:26px;gap:14px;min-height:0;padding:22px 20px}.login-hero-mobile h1{max-width:none;font-size:34px}.login-hero-mobile .login-copy{margin:0}.login-hero-mobile .feature-list{gap:10px}.login-hero-mobile .feature-item{border-radius:18px;padding:14px}.workspace-title{gap:12px}.workspace-title h1{font-size:24px}.workspace-title{flex:1;width:100%;min-width:0}.mobile-header-menu{align-self:flex-end}.conversation-sidebar-panel{border-radius:26px}.conversation-sidebar-panel .panel-header{gap:14px}.conversation-sidebar-panel .conversation-list{padding-right:0}.admin-shell-mobile .workspace-header{margin-bottom:16px}.admin-shell-mobile .panel{border-radius:26px;padding:18px}.admin-shell-mobile .panel-stats{grid-template-columns:1fr}.admin-shell-mobile .search-box input{min-height:46px}.admin-shell-mobile .admin-user-meta{gap:6px;display:grid}.admin-shell-mobile .admin-user-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-shell-mobile .admin-user-actions>button:last-child{grid-column:1/-1}.admin-shell-mobile .success-banner{overflow-wrap:anywhere}.mobile-fullscreen-modal{height:var(--viewport-height);padding-top:calc(18px + var(--safe-top))}.mobile-fullscreen-modal .panel-header{gap:14px}.mobile-fullscreen-modal .search-result-list,.mobile-fullscreen-modal .diary-list,.mobile-fullscreen-modal .diary-detail-content,.mobile-fullscreen-modal .workspace-tree-list{max-height:none}.mobile-fullscreen-modal .modal-actions,.mobile-fullscreen-modal .create-group-actions,.mobile-fullscreen-modal .workspace-editor-actions{grid-template-columns:minmax(0,1fr);display:grid}.mobile-fullscreen-modal .workspace-editor-header,.mobile-fullscreen-modal .workspace-tree-header,.mobile-fullscreen-modal .diary-list-header,.mobile-fullscreen-modal .diary-detail-header{flex-direction:column;align-items:flex-start}.virtual-workspace-panel-mobile{border-radius:26px;gap:14px;padding:16px}.virtual-workspace-panel-mobile .workspace-tree-panel{padding:10px}}.message-actions-row{opacity:0;gap:4px;margin-top:4px;transition:opacity .15s;display:flex}.message-actions-row.mine{justify-content:flex-end}.message-item:hover .message-actions-row,.message-item:focus-within .message-actions-row{opacity:1}.message-copy-button{color:var(--text-tertiary);background:var(--bg-secondary);border:1px solid var(--border-subtle);cursor:pointer;border-radius:4px;padding:2px 8px;font-size:12px;transition:color .15s,background .15s}.message-copy-button:hover{color:var(--text-primary);background:var(--bg-tertiary)}
