:root{--color-primary: #3370FF;--color-primary-hover: #2B5FE0;--color-primary-light: #E8F0FF;--color-primary-bg: #F0F4FF;--color-success: #00B42A;--color-success-light: #E8FFEA;--color-warning: #FF7D00;--color-warning-light: #FFF7E8;--color-danger: #F53F3F;--color-danger-light: #FFECE8;--color-fork: #F77234;--color-bg: #F5F6F7;--color-bg-secondary: #F2F3F5;--color-card: #FFFFFF;--color-border: #DEE0E3;--color-border-light: #E5E6EB;--color-divider: #F2F3F5;--color-text-primary: #1F2329;--color-text-secondary: #4E5969;--color-text-tertiary: #86909C;--color-text-disabled: #C9CDD4;--color-text-inverse: #FFFFFF;--radius-card: 8px;--radius-button: 6px;--radius-input: 4px;--radius-small: 4px;--radius-large: 12px;--radius-full: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--font-title-lg: 20px;--font-title: 16px;--font-body: 14px;--font-caption: 12px;--font-tiny: 11px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .08);--shadow-hover: 0 8px 24px rgba(51, 112, 255, .15);--shadow-glow: 0 0 24px rgba(51, 112, 255, .2);--gradient-primary: linear-gradient(135deg, #3370FF 0%, #7B61FF 100%);--gradient-primary-hover: linear-gradient(135deg, #2B5FE0 0%, #6B51F0 100%);--gradient-mesh: radial-gradient(at 0% 0%, rgba(51,112,255,.08) 0px, transparent 50%), radial-gradient(at 98% 1%, rgba(123,97,255,.08) 0px, transparent 50%), radial-gradient(at 50% 100%, rgba(0,180,42,.04) 0px, transparent 50%);--font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--bg: var(--color-bg);--panel: var(--color-card);--border: var(--color-border-light);--text: var(--color-text-primary);--muted: var(--color-text-secondary);--accent: var(--color-primary);--bg-card: var(--color-card)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-family);background:var(--color-bg);color:var(--color-text-primary);font-size:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.whitespace-pre-wrap{white-space:pre-wrap}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.lah-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;background:var(--gradient-primary);color:var(--color-text-inverse);padding:10px 24px;border-radius:var(--radius-button);font-size:var(--font-body);font-family:inherit;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 2px 8px #3370ff40}.lah-btn:hover{background:var(--gradient-primary-hover);box-shadow:0 4px 12px #3370ff59;transform:translateY(-1px)}.lah-btn:active{transform:translateY(0)}.lah-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.lah-btn-secondary{background:var(--color-card);color:var(--color-text-primary);border:1px solid var(--color-border)}.lah-btn-secondary:hover{background:var(--color-bg-secondary);border-color:var(--color-primary)}.lah-btn-block{width:100%}.lah-btn-lg{padding:12px 24px;font-size:var(--font-title)}.lah-input{width:100%;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-input);font:inherit;font-size:var(--font-body);outline:none;transition:border-color .15s;background:var(--color-card)}.lah-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #3370ff1a}.lah-input-lg{padding:14px 16px;font-size:var(--font-title);text-align:center;letter-spacing:1px}.login-page{--login-dot-x: 0px;--login-dot-y: 0px;--login-spot-x: 50vw;--login-spot-y: 45vh;--feishu-blue: #3370ff;--feishu-blue-dark: #1f4fd6;--feishu-cyan: #00b8d9;--feishu-green: #00b42a;--feishu-ink: #172b4d;--feishu-muted: #5f6b7a;min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:64px 20px 48px;background:radial-gradient(circle at 1px 1px,rgba(51,112,255,.18) 1px,transparent 1.5px),linear-gradient(180deg,#f8fbff,#eef5ff);background-size:16px 16px,100% 100%;background-position:var(--login-dot-x) var(--login-dot-y),0 0;color:var(--feishu-ink);transition:background-position .18s ease-out}.login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle 180px at var(--login-spot-x) var(--login-spot-y),rgba(51,112,255,.08),rgba(0,184,217,.04) 42%,transparent 72%),linear-gradient(90deg,#f8fbffeb,#f8fbff2e 18%,#f8fbff2e 82%,#f8fbffeb),linear-gradient(180deg,rgba(255,255,255,.58),transparent 30%,rgba(230,241,255,.66));z-index:0;transition:background .18s ease-out}.login-page:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 1px 1px,rgba(51,112,255,.42) 1px,transparent 1.5px);background-size:16px 16px;background-position:var(--login-dot-x) var(--login-dot-y);opacity:.72;mask-image:radial-gradient(circle 150px at var(--login-spot-x) var(--login-spot-y),#000 0%,rgba(0,0,0,.82) 36%,transparent 76%);-webkit-mask-image:radial-gradient(circle 150px at var(--login-spot-x) var(--login-spot-y),#000 0%,rgba(0,0,0,.82) 36%,transparent 76%);transition:background-position .18s ease-out,mask-image .18s ease-out,-webkit-mask-image .18s ease-out}.login-brand{position:absolute;top:18px;left:28px;z-index:2;display:inline-flex;align-items:center;gap:10px;color:var(--feishu-ink);font-size:22px;font-weight:750;line-height:1;letter-spacing:0;text-decoration:none}.login-brand:hover{text-decoration:none}.login-brand svg{border-radius:8px;filter:saturate(1.08) contrast(1.02)}.login-atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.login-float-card{position:absolute;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border:1px solid rgba(46,46,43,.08);border-radius:8px;background:#ffffff94;box-shadow:0 12px 32px #2d2b260f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#1f4fd685;font-size:12px;font-weight:600}.login-float-card-a{top:235px;left:calc(50% - 382px);animation:loginFloat 7s ease-in-out infinite}.login-float-card-b{top:492px;right:calc(50% - 398px);animation:loginFloat 8s ease-in-out 1s infinite reverse}.login-float-dot{width:7px;height:7px;border-radius:999px;background:var(--feishu-green);box-shadow:0 0 0 4px #00b42a1f}.login-float-line{width:26px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--feishu-blue),rgba(0,184,217,.24))}.login-panel{position:relative;z-index:2;width:min(340px,100%);display:flex;flex-direction:column;align-items:center;padding-top:0;text-align:center;animation:loginEnter .56s cubic-bezier(.22,1,.36,1) both;margin-top:-24px}.login-mark-wrap{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:14px;filter:saturate(1.08) contrast(1.02) drop-shadow(0 10px 18px rgba(51,112,255,.14))}.login-panel h1{margin:0;color:var(--feishu-ink);font-size:20px;font-weight:800;line-height:1.24;letter-spacing:0}.login-subtitle{margin:6px 0 40px;color:var(--feishu-muted);font-size:12px;line-height:1.45}.login-form-stack{width:100%;display:flex;flex-direction:column;gap:8px}.login-input{width:100%;height:36px;border:1px solid rgba(51,112,255,.14);border-radius:8px;background:#ffffffb8;box-shadow:0 1px 2px #1f4fd60d;color:var(--feishu-ink);font:inherit;font-size:12px;line-height:1;outline:none;padding:0 12px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.login-input::placeholder{color:#9aa8bd}.login-input:focus{border-color:#3370ff8c;background:#ffffffe6;box-shadow:0 0 0 3px #3370ff17,0 1px 2px #1c1b180d}.login-code-row{display:grid;grid-template-columns:1fr 82px;gap:8px}.login-code-button,.login-primary-button{height:36px;border:0;border-radius:8px;font:inherit;font-size:12px;font-weight:700;line-height:1;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease;white-space:nowrap}.login-code-button{border:1px solid rgba(51,112,255,.16);background:#ffffffc2;color:var(--feishu-blue-dark);box-shadow:0 1px 2px #1f4fd60d}.login-code-button:hover:not(:disabled){border-color:#3370ff47;background:#fff;transform:translateY(-1px)}.login-verification{height:54px;display:flex;align-items:center;gap:12px;padding:0 14px;border:1px solid rgba(51,112,255,.14);border-radius:8px;background:#ffffffa3;color:var(--feishu-muted);font-size:12px;text-align:left;box-shadow:0 1px 2px #1f4fd60d}.login-verification.is-active{border-color:#00b42a38;background:#ffffffc7}.login-verification-spinner{width:22px;height:22px;flex:0 0 auto;border-radius:50%;border:3px solid rgba(0,180,42,.18);border-top-color:var(--feishu-green);animation:loginSpin .9s linear infinite}.login-verification-status{width:22px;height:22px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(51,112,255,.16);background:#f0f7ffc7;color:var(--feishu-blue-dark);font-size:16px;font-weight:800;line-height:1}.login-verification-status.is-done{border-color:#00b42a38;background:#00b42a1a;color:var(--feishu-green);font-size:13px}.login-error{min-height:18px;color:#c14343;font-size:13px;line-height:1.4;text-align:left}.login-primary-button{width:100%;margin-top:7px;background:var(--feishu-blue);color:#fff;box-shadow:inset 0 1px #ffffff2e,0 6px 14px #3370ff2e}.login-primary-button:hover:not(:disabled){background:var(--feishu-blue-dark);transform:translateY(-1px);box-shadow:0 8px 18px #3370ff38}.login-code-button:disabled,.login-primary-button:disabled{cursor:not-allowed;opacity:.62;transform:none}.login-register{margin:14px 0 0;color:var(--feishu-muted);font-size:12px;line-height:1.5}.login-register a{color:var(--feishu-blue-dark);font-weight:700;text-decoration:underline;text-underline-offset:3px}.status,.badge,.session-mode,.usage,.branch-tag,.floor-num,.floor-count{display:inline-flex;align-items:center;justify-content:center;height:22px;padding:0 8px;font-size:var(--font-caption);font-weight:500;line-height:1;border-radius:var(--radius-button);white-space:nowrap;vertical-align:middle;gap:4px}.status-queued,.status-running{background:var(--color-primary-light);color:var(--color-primary)}.status-done{background:var(--color-success-light);color:var(--color-success)}.status-failed{background:var(--color-danger-light);color:var(--color-danger)}.status-awaiting,.status-pending{background:var(--color-warning-light);color:var(--color-warning)}.loading{min-height:60vh;padding:var(--space-10);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--color-text-tertiary);font-size:var(--font-caption)}.fatal{min-height:60vh;padding:var(--space-10);display:flex;align-items:center;justify-content:center;color:var(--color-danger);font-size:var(--font-caption)}.skeleton-page{display:flex;flex-direction:column;min-height:calc(100vh - 40px)}.skeleton-card{background:var(--color-card);border:1px solid var(--color-border-light);border-radius:var(--radius-card);padding:20px 24px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.skeleton-line{height:12px;border-radius:var(--radius-small);margin-bottom:10px;background:linear-gradient(90deg,var(--color-bg-secondary) 0%,rgba(51,112,255,.08) 50%,var(--color-bg-secondary) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.skeleton-line:last-child{margin-bottom:0}.skeleton-title{height:22px;width:55%;margin-bottom:16px}.skeleton-desc{width:100%}.skeleton-w70{width:70%}.skeleton-w80{width:80%}.skeleton-w60{width:60%}.skeleton-name{width:80px;height:12px;margin-bottom:8px}.skeleton-msg{width:100%}.skeleton-meta{display:flex;gap:8px;margin-top:14px}.skeleton-badge{width:64px;height:22px;border-radius:var(--radius-button);background:linear-gradient(90deg,var(--color-bg-secondary) 0%,rgba(51,112,255,.08) 50%,var(--color-bg-secondary) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.skeleton-floor{display:flex;gap:12px;padding:12px 0}.skeleton-floor:first-child{padding-top:0}.skeleton-floor:last-child{padding-bottom:0}.skeleton-floor+.skeleton-floor{border-top:1px solid var(--color-divider)}.skeleton-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0;background:linear-gradient(90deg,var(--color-bg-secondary) 0%,rgba(51,112,255,.1) 50%,var(--color-bg-secondary) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.skeleton-floor-body{flex:1;min-width:0;padding-top:2px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.fatal{color:var(--color-danger)}.onboarding-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;background:var(--gradient-mesh),linear-gradient(180deg,#EFF4FF 0%,var(--color-bg) 50%);padding:var(--space-10) var(--space-4);position:relative;overflow:hidden}.onboarding-page:before{content:"";position:absolute;top:-120px;left:-100px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(51,112,255,.12) 0%,transparent 70%);pointer-events:none;z-index:0}.onboarding-page:after{content:"";position:absolute;top:200px;right:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(123,97,255,.1) 0%,transparent 70%);pointer-events:none;z-index:0}.onboarding-hero{text-align:center;margin-bottom:var(--space-6);position:relative;z-index:1;animation:fadeUp .5s ease-out}.onboarding-hero .hero-logo-wrap{display:inline-block;margin-bottom:var(--space-4);filter:drop-shadow(0 4px 16px rgba(51,112,255,.25))}.onboarding-hero h1{font-size:32px;font-weight:800;margin:0 0 var(--space-2);background:linear-gradient(135deg,#1f2329,#3370ff 60%,#7b61ff);-webkit-background-clip:text;-webkit-text-fill:transparent;background-clip:text;letter-spacing:-.5px}.onboarding-hero .tagline{font-size:15px;color:var(--color-text-secondary);margin:0}.feature-row{display:flex;gap:var(--space-3);margin-bottom:var(--space-6);position:relative;z-index:1;animation:fadeUp .5s ease-out .1s both}.feature-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-3) var(--space-2);background:#ffffffb3;border:1px solid rgba(222,224,227,.6);border-radius:var(--radius-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:100px}.feature-icon{font-size:24px}.feature-label{font-size:11px;color:var(--color-text-secondary);font-weight:500}.step-bar{display:flex;align-items:center;gap:0;margin-bottom:var(--space-6);max-width:560px;width:100%;position:relative;z-index:1;animation:fadeUp .5s ease-out .15s both}.step-item{display:flex;align-items:center;gap:8px;flex-shrink:0;font-size:var(--font-caption);color:var(--color-text-tertiary);transition:color .2s}.step-item.active{color:var(--color-primary);font-weight:600}.step-item.done{color:var(--color-success)}.step-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;border:2px solid var(--color-border);background:var(--color-card);transition:all .3s;flex-shrink:0}.step-item.active .step-circle{border-color:var(--color-primary);color:#fff;background:var(--gradient-primary);box-shadow:0 0 0 4px #3370ff1f}.step-item.done .step-circle{border-color:var(--color-success);background:var(--color-success);color:#fff;box-shadow:0 0 0 4px #00b42a1a}.step-line{flex:1;height:3px;background:var(--color-border);margin:0 8px;transition:background .3s;border-radius:2px;position:relative;overflow:hidden}.step-line.done{background:var(--color-success)}.onboarding-card{background:var(--color-card);border-radius:var(--radius-large);padding:var(--space-8);max-width:560px;width:100%;box-shadow:0 8px 32px #0000000f,0 2px 8px #0000000a;position:relative;z-index:1;animation:fadeUp .5s ease-out .2s both}.onboarding-card h2{font-size:var(--font-title-lg);margin:0 0 var(--space-4);font-weight:600}.onboarding-card .desc{color:var(--color-text-secondary);font-size:var(--font-body);margin:0 0 var(--space-4);line-height:1.6}.onboarding-card .center{text-align:center}.config-panel{border:1px solid var(--color-border);border-radius:var(--radius-card);margin-bottom:var(--space-3);overflow:hidden;transition:all .2s;border-left:4px solid transparent}.config-panel.open{border-color:var(--color-primary);border-left-color:var(--color-primary);box-shadow:var(--shadow-sm)}.config-panel-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;font-size:var(--font-body);font-weight:500;-webkit-user-select:none;user-select:none;transition:background .15s}.config-panel-header:hover{background:var(--color-bg-secondary)}.config-panel-icon{width:36px;height:36px;border-radius:var(--radius-card);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.config-panel-icon.icon-event{background:#e8f0ff}.config-panel-icon.icon-perm{background:#fff7e8}.config-panel-icon.icon-oauth{background:#e8ffea}.config-panel-icon.icon-pc{background:#f0e8ff}.config-panel-num{width:22px;height:22px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.config-panel-body{padding:0 var(--space-4) var(--space-4);font-size:var(--font-caption);line-height:1.7}.config-panel-body ol,.config-panel-body ul{padding-left:20px;margin:var(--space-2) 0}.config-panel-body strong{color:var(--color-text-primary)}.copy-field{display:flex;align-items:center;gap:0;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-button);overflow:hidden;margin:var(--space-2) 0;transition:border-color .15s}.copy-field:hover{border-color:var(--color-primary)}.copy-field-code{flex:1;padding:8px 12px;font-family:ui-monospace,SF Mono,monospace;font-size:12px;color:var(--color-text-primary);word-break:break-all;white-space:pre-wrap;min-width:0}.copy-field-btn{flex-shrink:0;border:none;background:none;cursor:pointer;padding:8px 12px;color:var(--color-text-tertiary);font-size:16px;transition:color .15s}.copy-field-btn:hover{color:var(--color-primary)}.copy-field-btn.copied{color:var(--color-success)}.perms-block{background:var(--color-warning-light);border:1px solid #FFD7A1;border-radius:var(--radius-card);padding:var(--space-3);margin:var(--space-2) 0}.perms-block pre{margin:0;font-family:ui-monospace,SF Mono,monospace;font-size:12px;white-space:pre-wrap;word-break:break-all;color:#874d00}.perms-warn{font-size:var(--font-caption);color:#874d00;margin:var(--space-2) 0 0}.qr-area{display:flex;justify-content:center;margin:var(--space-4) 0;position:relative}.qr-area img{border-radius:var(--radius-large);border:2px solid var(--color-border-light);box-shadow:var(--shadow-md)}.qr-area:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:var(--radius-large);background:conic-gradient(from 0deg,#3370ff,#7b61ff,#3370ff);opacity:.08;z-index:-1;filter:blur(12px)}.qr-status{text-align:center;color:var(--color-text-secondary);font-size:var(--font-body);display:flex;align-items:center;justify-content:center;gap:8px}.qr-status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--color-primary);animation:pulse 1.5s ease-in-out infinite}.verify-fail{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-danger-light);border:1px solid #FFCCC7;border-radius:var(--radius-card)}.verify-fail p.title{margin:0 0 var(--space-2);font-weight:600;color:var(--color-danger)}.verify-fail ul{margin:0;padding-left:20px;font-size:var(--font-caption)}.onboarding-page{--onboarding-dot-x: 0px;--onboarding-dot-y: 0px;--onboarding-spot-x: 50vw;--onboarding-spot-y: 42vh;min-height:100vh;position:relative;display:flex;flex-direction:row;justify-content:center;align-items:flex-start;overflow-x:hidden;padding:76px 20px 44px;background:radial-gradient(circle at 1px 1px,rgba(51,112,255,.18) 1px,transparent 1.5px),linear-gradient(180deg,#f8fbff,#eef5ff);background-size:16px 16px,100% 100%;background-position:var(--onboarding-dot-x) var(--onboarding-dot-y),0 0;color:#172b4d;transition:background-position .18s ease-out}.onboarding-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:auto;height:auto;border-radius:0;pointer-events:none;background:radial-gradient(circle 180px at var(--onboarding-spot-x) var(--onboarding-spot-y),rgba(51,112,255,.08),rgba(0,184,217,.04) 42%,transparent 72%),linear-gradient(90deg,#f8fbffeb,#f8fbff2e 18%,#f8fbff2e 82%,#f8fbffeb),linear-gradient(180deg,rgba(255,255,255,.58),transparent 30%,rgba(230,241,255,.66));z-index:0;transition:background .18s ease-out}.onboarding-page:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 1px 1px,rgba(51,112,255,.42) 1px,transparent 1.5px);background-size:16px 16px;background-position:var(--onboarding-dot-x) var(--onboarding-dot-y);opacity:.7;mask-image:radial-gradient(circle 150px at var(--onboarding-spot-x) var(--onboarding-spot-y),#000 0%,rgba(0,0,0,.82) 36%,transparent 76%);-webkit-mask-image:radial-gradient(circle 150px at var(--onboarding-spot-x) var(--onboarding-spot-y),#000 0%,rgba(0,0,0,.82) 36%,transparent 76%);transition:background-position .18s ease-out,mask-image .18s ease-out,-webkit-mask-image .18s ease-out}.onboarding-atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.onboarding-float-card-a{top:238px;left:calc(50% - 474px);animation:loginFloat 7s ease-in-out infinite}.onboarding-float-card-b{top:520px;right:calc(50% - 486px);animation:loginFloat 8s ease-in-out 1s infinite reverse}.onboarding-shell{position:relative;z-index:2;width:min(360px,100%);display:flex;flex-direction:column;align-items:center;animation:loginEnter .56s cubic-bezier(.22,1,.36,1) both}.onboarding-shell.is-wide{width:min(680px,100%)}.onboarding-shell.is-wide .onboarding-hero{margin-bottom:18px}.onboarding-shell.is-wide .hero-logo-wrap{display:none}.onboarding-shell.is-wide .step-bar{display:grid;grid-template-columns:112px minmax(72px,1fr) 112px minmax(72px,1fr) 112px;gap:0;margin-bottom:20px}.onboarding-shell.is-wide .step-item{justify-content:center}.onboarding-shell.is-wide .step-line{width:100%;min-width:0}.onboarding-hero{width:100%;text-align:center;margin-bottom:26px}.onboarding-hero .hero-logo-wrap{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;margin-bottom:20px;filter:saturate(1.08) contrast(1.02) drop-shadow(0 10px 18px rgba(51,112,255,.14))}.onboarding-hero h1{margin:0;color:#172b4d;background:none;-webkit-text-fill-color:currentColor;font-size:25px;font-weight:800;line-height:1.24;letter-spacing:0}.onboarding-hero .tagline{margin:8px 0 0;color:#5f6b7a;font-size:14px;line-height:1.45}.step-bar{width:100%;max-width:none;display:grid;grid-template-columns:96px minmax(24px,1fr) 96px minmax(24px,1fr) 96px;align-items:center;gap:0;margin:0 0 18px;animation:none}.step-item{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;color:#9a9891;font-size:12px;font-weight:650;line-height:1}.step-item span{max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-item.active{color:#1f4fd6}.step-item.done{color:#00a870}.step-circle{width:22px;height:22px;flex:0 0 auto;border:1px solid rgba(46,46,43,.14);border-radius:999px;background:#ffffffc2;box-shadow:0 1px 2px #1c1b180d;color:currentColor;font-size:11px;font-weight:750}.step-item.active .step-circle{border-color:#3370ff61;background:#3370ff;color:#fff;box-shadow:0 0 0 3px #3370ff1a}.step-item.done .step-circle{border-color:#00b42a4d;background:#00b42a1f;color:#00a870}.step-line{flex:1 1 24px;height:1px;min-width:12px;border-radius:999px;background:#3370ff24}.step-line.done{background:#00b42a52}.onboarding-card{width:100%;max-width:none;padding:0;border-radius:0;background:transparent;box-shadow:none;animation:none}.onboarding-card h2{margin:0 0 8px;color:#172b4d;font-size:18px;font-weight:760;line-height:1.35;text-align:center}.onboarding-card .desc{margin:0 0 18px;color:#5f6b7a;font-size:13px;line-height:1.6;text-align:center}.onboarding-step-pane,.onboarding-card .center{display:flex;flex-direction:column;gap:10px}.onboarding-link-note{margin:4px 0 0;color:#5f6b7a;font-size:13px;line-height:1.5}.onboarding-link-note a,.config-panel-body a,.config-step-title-row a{color:#1f4fd6;font-weight:700;text-decoration:underline;text-underline-offset:3px}.config-steps{display:flex;flex-direction:column;gap:12px;margin:14px 0 12px;text-align:left}.config-step-progress{display:flex;align-items:center;justify-content:space-between;padding:0 2px;color:#5f6b7a;font-size:12px}.config-step-progress strong{color:#1f4fd6;font-size:13px}.config-step{position:relative;display:block}.config-step:not(:last-child):before{content:"";position:absolute;left:20px;top:38px;bottom:-14px;width:2px;background:linear-gradient(180deg,#3370ff33,#3370ff0a)}.config-step.config-step-single:before{display:none}.config-step-rail{position:relative;z-index:1;display:flex;justify-content:center}.config-step-num{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(51,112,255,.18);border-radius:12px;background:linear-gradient(135deg,#f0f7fffa,#ffffffe6);color:#1f4fd6;font-size:12px;font-weight:850;box-shadow:0 8px 20px #1f4fd614}.config-step-card{padding:18px 20px;border:1px solid rgba(51,112,255,.14);border-radius:14px;background:#ffffffb8;box-shadow:0 1px 2px #1f4fd60a}.config-step-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px}.config-step-title-row h3{display:inline-flex;align-items:center;flex:1 1 auto;gap:9px;min-width:0;margin:0;color:#172b4d;font-size:15px;line-height:1.35}.config-step-anchor{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:24px;padding:0 8px;border:1px solid rgba(51,112,255,.18);border-radius:8px;background:#ebf2ffdb;color:#1f4fd6;font-size:12px;font-weight:850;line-height:1}.config-step-title-row a{flex:0 0 auto;font-size:12px;line-height:24px}.config-step-desc{margin:0 0 10px;color:#5f6b7a;font-size:13px;line-height:1.5}.config-step ol,.config-step ul{padding-left:18px;margin:8px 0;color:#5f6b7a;font-size:13px;line-height:1.62}.config-step li+li{margin-top:1px}.config-step code{border:1px solid rgba(51,112,255,.1);border-radius:4px;background:#f0f7ffb8;color:#172b4d;padding:1px 5px;font-size:12px}.config-step-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:2px}.config-step-nav-button{min-width:96px;height:36px;border:1px solid rgba(51,112,255,.16);border-radius:8px;background:#ffffffc2;color:#1f4fd6;font-size:13px;font-weight:760;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s,box-shadow .15s}.config-step-nav-button:hover:not(:disabled){background:#fff;border-color:#3370ff47;transform:translateY(-1px)}.config-step-nav-button.is-primary{border:0;background:#3370ff;color:#fff;box-shadow:0 6px 14px #3370ff2e}.config-step-nav-button.is-primary:hover:not(:disabled){background:#1f4fd6;box-shadow:0 8px 18px #3370ff38}.config-step-nav-button:disabled{cursor:not-allowed;opacity:.62;transform:none;box-shadow:none}.config-panel{margin-bottom:10px;overflow:hidden;border:1px solid rgba(51,112,255,.14);border-left:1px solid rgba(51,112,255,.14);border-radius:8px;background:#ffffff9e;box-shadow:0 1px 2px #1f4fd60a}.config-panel.open{border-color:#3370ff3d;border-left-color:#3370ff3d;background:#ffffffc7;box-shadow:0 10px 28px #3370ff14}.config-panel-header{min-height:54px;display:flex;align-items:center;gap:12px;padding:9px 12px;cursor:pointer;color:#172b4d;font-size:14px;font-weight:720}.config-panel-header:hover{background:#f0f7ffb8}.config-panel-icon,.config-panel-icon.icon-event,.config-panel-icon.icon-perm,.config-panel-icon.icon-oauth,.config-panel-icon.icon-pc{width:32px;height:32px;flex:0 0 auto;border:1px solid rgba(51,112,255,.14);border-radius:8px;background:#f0f7ffe6;color:#1f4fd6;font-size:11px;font-weight:800}.config-panel-body{padding:0 14px 14px 56px;color:#5f6b7a;font-size:13px;line-height:1.75;text-align:left}.config-panel-body p{margin:0 0 8px}.config-panel-body ol,.config-panel-body ul{padding-left:18px;margin:8px 0}.config-panel-body strong{color:#172b4d}.config-panel-body code{border:1px solid rgba(51,112,255,.1);border-radius:4px;background:#f0f7ffb8;color:#172b4d;padding:1px 5px;font-size:12px}.copy-field{display:flex;align-items:stretch;gap:0;margin:8px 0;overflow:hidden;border:1px solid rgba(51,112,255,.14);border-radius:8px;background:#ffffffb8;box-shadow:0 1px 2px #1f4fd60a}.copy-field:hover{border-color:#3370ff3d}.copy-field-code{flex:1;min-width:0;padding:8px 10px;color:#172b4d;font-family:ui-monospace,SF Mono,monospace;font-size:12px;line-height:1.45;word-break:break-all;white-space:pre-wrap}.copy-field-btn{flex:0 0 42px;border:0;border-left:1px solid rgba(51,112,255,.12);background:#f0f7ffad;color:#1f4fd6;cursor:pointer;font-size:14px}.copy-field-btn:hover{background:#fff;color:#172b4d}.copy-field-btn.copied{color:#00a870}.perms-block{margin:8px 0;padding:10px;border:1px solid rgba(51,112,255,.14);border-radius:8px;background:#f0f7ffb8}.perms-block pre{margin:0;color:#172b4d;font-family:ui-monospace,SF Mono,monospace;font-size:12px;line-height:1.42;white-space:pre-wrap;word-break:break-word}.perms-warn{margin:8px 0 0;color:#7a641e;font-size:12px;line-height:1.5}.qr-area{display:flex;justify-content:center;margin:4px 0 8px;position:relative}.qr-area:after{display:none}.qr-area img{width:208px;height:208px;padding:10px;border:1px solid rgba(51,112,255,.14);border-radius:8px;background:#fffc;box-shadow:0 10px 28px #3370ff1a}.qr-status{display:flex;align-items:center;justify-content:center;gap:9px;margin:4px 0 0;color:#5f6b7a;font-size:14px}.qr-status:before{content:"";width:8px;height:8px;border-radius:999px;background:#00b42a;box-shadow:0 0 0 4px #00b42a1f;animation:pulse 1.5s ease-in-out infinite}.verify-fail{margin-top:12px;padding:12px 14px;border:1px solid rgba(193,67,67,.18);border-radius:8px;background:#ffffffb8;color:#8f3939}.verify-fail p.title{margin:0 0 8px;color:#8f3939;font-weight:760}.verify-fail ul{margin:0;padding-left:18px;font-size:13px;line-height:1.7}.onboarding-config-hint{margin:10px 0 0;color:#718096;font-size:12px;line-height:1.45;text-align:center}.onboarding-app-summary{display:flex;align-items:center;gap:12px;margin:12px 0 16px;padding:12px 14px;border:1px solid rgba(51,112,255,.14);border-radius:16px;background:#f8fbffc7}.onboarding-app-logo{width:40px;height:40px;border-radius:10px;overflow:hidden;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;background:#3370ff1a;color:#245bdb;font-weight:760}.onboarding-app-logo img{width:100%;height:100%;object-fit:cover;display:block}.onboarding-app-meta{min-width:0;flex:1}.onboarding-app-name{color:#172b4d;font-size:14px;font-weight:760;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onboarding-app-id{margin-top:3px;color:#718096;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onboarding-app-status{flex:0 0 auto;color:#245bdb;background:#3370ff1a;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:680}.projects-page{min-height:100vh;background:var(--gradient-mesh),var(--color-bg)}.projects-nav{height:58px;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:100}.projects-nav-left{display:flex;align-items:center;gap:var(--space-3);color:inherit;text-decoration:none}.projects-nav-left:hover{text-decoration:none}.projects-nav-title{font-size:var(--font-title);font-weight:600;color:var(--color-text-primary)}.projects-nav-right{display:flex;align-items:center;gap:var(--space-3)}.nav-logout{border:1px solid var(--color-border);background:var(--color-card);color:var(--color-text-secondary);padding:6px 14px;border-radius:var(--radius-button);font-size:var(--font-caption);cursor:pointer;transition:all .15s}.nav-logout:hover{border-color:var(--color-danger);color:var(--color-danger)}.nav-gitemail{position:relative}.nav-gitemail-btn{display:flex;align-items:center;gap:6px;border:1px solid var(--color-border);background:var(--color-card);color:var(--color-text-secondary);padding:6px 12px;border-radius:var(--radius-button);font-size:var(--font-caption);cursor:pointer;transition:all .15s;max-width:220px}.nav-gitemail-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.nav-gitemail-btn.unset{color:var(--color-text-tertiary)}.nav-gitemail-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-gitemail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:9998;display:flex;align-items:center;justify-content:center}.nav-gitemail-modal{background:var(--color-card);border-radius:12px;box-shadow:0 8px 32px #0000002e;padding:24px;min-width:380px;max-width:90vw;z-index:9999}.nav-gitemail-modal-title{font-size:15px;font-weight:600;margin-bottom:16px;color:var(--color-text)}.nav-gitemail-modal-current{font-size:14px;color:var(--color-text);margin-bottom:16px;word-break:break-all}.nav-gitemail-modal-current .muted{color:var(--color-text-tertiary)}.nav-gitemail-modal input{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;box-sizing:border-box}.nav-gitemail-modal input:focus{outline:none;border-color:var(--color-primary)}.nav-gitemail-modal-actions{display:flex;gap:8px;margin-top:16px}.nav-gitemail-modal-actions button{padding:6px 18px;border-radius:8px;font-size:13px;cursor:pointer;border:1px solid transparent}.nav-gitemail-modal-actions .dd-btn-save,.nav-gitemail-modal-actions .dd-btn-edit{background:var(--color-primary);color:#fff}.nav-gitemail-modal-actions .dd-btn-cancel{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border)}.nav-gitemail-modal-error{color:#e53935;font-size:13px;margin-top:10px}.nav-usermenu{position:relative}.nav-usermenu-btn{display:flex;align-items:center;gap:8px;border:1px solid var(--color-border);background:var(--color-card);padding:4px 10px 4px 4px;border-radius:var(--radius-button);font-size:var(--font-caption);cursor:pointer;transition:all .15s;max-width:180px}.nav-usermenu-btn:hover,.nav-usermenu-btn.open{border-color:var(--color-primary)}.nav-usermenu-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.nav-usermenu-avatar.placeholder{display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;font-size:13px;font-weight:600}.nav-usermenu-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-usermenu-dropdown{position:fixed;z-index:10000;min-width:240px;background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 4px 20px #00000026;padding:6px}.nav-usermenu-header{display:flex;align-items:center;gap:10px;padding:8px 10px;margin-bottom:4px}.nav-usermenu-header-info{overflow:hidden}.nav-usermenu-header-name{font-size:14px;font-weight:600;color:var(--color-text)}.nav-usermenu-header-email{font-size:12px;color:var(--color-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-usermenu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;background:transparent;border-radius:8px;font-size:13px;color:var(--color-text);cursor:pointer;text-align:left;transition:background .12s}.nav-usermenu-item:hover{background:var(--color-bg-hover, rgba(0,0,0,.05))}.nav-usermenu-item svg{flex-shrink:0;opacity:.6}.nav-usermenu-item-val{margin-left:auto;font-size:12px;color:var(--color-text-tertiary);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-usermenu-item.danger{color:var(--color-danger, #e53935)}.nav-usermenu-item.danger:hover{background:#e5393514}.nav-usermenu-item.danger svg{opacity:1}.nav-usermenu-divider{height:1px;background:var(--color-border);margin:4px 0}.projects-content{max-width:960px;margin:0 auto;padding:var(--space-6) var(--space-4)}.projects-content h2{font-size:var(--font-title-lg);margin:0 0 var(--space-5);font-weight:600}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.project-card{display:flex;flex-direction:column;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-5);text-decoration:none;color:inherit;transition:all .2s;cursor:pointer;position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);opacity:0;transition:opacity .2s}.project-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-hover);text-decoration:none;transform:translateY(-2px)}.project-card:hover:before{opacity:1}.project-card h3{margin:0 0 var(--space-2);font-size:var(--font-title);font-weight:600}.project-card .project-agents{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-3)}.agent-badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-tiny);padding:2px 8px;border-radius:var(--radius-button)}.agent-badge.online{background:var(--color-success-light);color:var(--color-success)}.agent-badge.online .status-dot{background:var(--color-success)}.agent-badge.offline{background:var(--color-bg-secondary);color:var(--color-text-tertiary)}.agent-badge.offline .status-dot{background:var(--color-text-disabled)}.project-card .no-agent{font-size:var(--font-caption);color:var(--color-text-tertiary);margin-bottom:var(--space-3)}.project-card .project-link{margin-top:auto;font-size:var(--font-caption);color:var(--color-primary);display:flex;align-items:center;gap:4px}.empty-state{text-align:center;padding:var(--space-10) var(--space-4);color:var(--color-text-tertiary)}.empty-state .empty-icon{font-size:48px;margin-bottom:var(--space-4)}.empty-state .empty-hint{font-size:var(--font-body);margin-bottom:var(--space-2)}.empty-state code{background:var(--color-bg-secondary);padding:2px 8px;border-radius:var(--radius-small);font-size:12px;color:var(--color-text-secondary)}.task-page{min-height:100vh;display:flex;flex-direction:column}.task-header{padding:var(--space-3) var(--space-5);background:var(--color-card);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-3)}.task-header h1{font-size:var(--font-title);margin:0;font-weight:600}.forum-layout{max-width:800px;margin:0 auto;padding:var(--space-4)}.forum-layout.embedded{max-width:100%;padding:var(--space-2)}.forum-layout.embedded .post-main{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2);border-radius:var(--radius-card)}.forum-layout.embedded .run-floor{padding:var(--space-3);margin-bottom:var(--space-2);border-radius:var(--radius-card)}.forum-layout.embedded .composer{padding:6px 8px;box-shadow:none}.task-body{display:flex;flex:1;min-height:0}.tree-pane{flex:1;overflow-y:auto;padding:var(--space-4);border-right:1px solid var(--color-border);max-width:520px}.detail-pane{flex:2;overflow-y:auto;padding:var(--space-4)}.conv-node{margin-bottom:var(--space-2)}.conv-node .children{margin-left:var(--space-4);padding-left:var(--space-3);border-left:2px solid var(--color-border)}.turn{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-2) var(--space-3);margin-bottom:6px;cursor:pointer;transition:border-color .15s}.turn:hover{border-color:var(--color-primary)}.turn.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px #3370ff1f}.turn-user{font-size:13px;margin-bottom:4px}.turn-ai{display:flex;gap:var(--space-2);align-items:flex-start;flex-wrap:wrap}.ai-summary{color:var(--color-text-secondary);font-size:var(--font-caption);flex:1 1 100%;margin-top:4px}.fork-tag{color:var(--color-fork);font-size:var(--font-tiny)}.reply-box{margin:4px 0 10px}.reply-box textarea{width:100%;resize:vertical;border:1px solid var(--color-border);border-radius:var(--radius-button);padding:6px 8px;font:inherit}.reply-box.fork textarea{border-left:3px solid var(--color-fork)}.reply-actions{display:flex;align-items:center;gap:var(--space-2);margin-top:4px}.reply-actions button{border:none;background:var(--color-primary);color:#fff;padding:5px 12px;border-radius:var(--radius-button);cursor:pointer;font-size:var(--font-caption)}.reply-actions button:disabled{opacity:.5;cursor:not-allowed}.reply-box.fork .reply-actions button{background:var(--color-fork)}.fork-hint{font-size:var(--font-tiny);color:var(--color-text-secondary)}.run-detail{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-3)}.run-detail-head{display:flex;gap:var(--space-2);align-items:center;margin-bottom:10px;font-size:var(--font-caption)}.run-user-message{background:var(--color-bg-secondary);border-radius:var(--radius-button);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}.run-events{display:flex;flex-direction:column;gap:10px}.event{padding:0;margin:0 0 12px;border:none;display:flow-root;animation:event-in .3s ease-out}.event:last-child{margin-bottom:0}.event details{margin:0}.process-group{position:relative;margin:8px 0 16px;padding:0 0 0 14px;border-left:2px solid var(--color-border-light);display:flex;flex-direction:column;gap:8px}.process-group .event{margin-bottom:0}.process-group .event+.event{margin-top:8px}@keyframes event-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.event{animation:none}}.event.thinking{margin:0}.event.thinking details{display:block;background:var(--color-bg-secondary);border:1px solid transparent;border-radius:var(--radius-button);padding:8px 12px;transition:background .15s,border-color .15s}.event.thinking details[open]{border-color:var(--color-border-light)}.event.thinking summary{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-primary);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;font-family:inherit;font-weight:500}.event.thinking summary::-webkit-details-marker{display:none}.event.thinking summary:after{content:"";width:0;height:0;border-left:4px solid var(--color-text-tertiary);border-top:4px solid transparent;border-bottom:4px solid transparent;margin-left:auto;transition:transform .15s}.event.thinking details[open] summary:after{transform:rotate(90deg)}.event.thinking summary .tool-icon{width:14px;height:14px;flex-shrink:0;color:var(--color-text-tertiary)}.event.thinking summary .tool-name{color:var(--color-text-primary);font-size:13px;font-weight:500}.event.thinking .thinking-body{font-size:13px;color:var(--color-text-secondary);background:var(--color-card);border:1px solid var(--color-border-light);padding:10px 12px;border-radius:var(--radius-small);margin:8px 0 0;white-space:pre-wrap;line-height:1.65;font-family:inherit;overflow-x:auto}.event.tool-call{margin:0}.event.tool-call details{display:block;background:var(--color-bg-secondary);border:1px solid transparent;border-radius:var(--radius-button);padding:8px 12px;transition:background .15s,border-color .15s}.event.tool-call details[open]{background:var(--color-bg-secondary);border-color:var(--color-border-light)}.event.tool-call summary{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-primary);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;font-family:inherit;font-weight:500}.event.tool-call summary::-webkit-details-marker{display:none}.event.tool-call summary:after{content:"";width:0;height:0;border-left:4px solid var(--color-text-tertiary);border-top:4px solid transparent;border-bottom:4px solid transparent;margin-left:auto;transition:transform .15s}.event.tool-call details[open] summary:after{transform:rotate(90deg)}.event.tool-call summary .tool-icon{width:14px;height:14px;flex-shrink:0;color:var(--color-text-tertiary)}.event.tool-call summary .tool-name{color:var(--color-text-primary);font-family:ui-monospace,SF Mono,monospace;font-size:12px;font-weight:500}.event.tool-call .tool-args{font-family:ui-monospace,SF Mono,monospace;font-size:var(--font-tiny);background:var(--color-card);padding:8px 10px;border-radius:var(--radius-small);border:1px solid var(--color-border-light);overflow-x:auto;margin:8px 0 0;color:var(--color-text-secondary);line-height:1.5}.event.tool-result{margin:0}.event.tool-result details{display:block;background:var(--color-bg-secondary);border:1px solid transparent;border-radius:var(--radius-button);padding:8px 12px;transition:background .15s,border-color .15s}.event.tool-result details[open]{background:var(--color-bg-secondary);border-color:var(--color-border-light)}.event.tool-result summary{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-primary);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;font-family:inherit;font-weight:500}.event.tool-result summary::-webkit-details-marker{display:none}.event.tool-result summary:after{content:"";width:0;height:0;border-left:4px solid var(--color-text-tertiary);border-top:4px solid transparent;border-bottom:4px solid transparent;margin-left:auto;transition:transform .15s}.event.tool-result details[open] summary:after{transform:rotate(90deg)}.event.tool-result summary .tool-icon{width:14px;height:14px;flex-shrink:0;color:var(--color-text-tertiary)}.event.tool-result summary .tool-name{color:var(--color-text-primary);font-size:13px;font-weight:500}.event.tool-result .tool-result-body{margin-top:8px;padding:10px 12px;border-top:1px solid var(--color-border-light);font-size:13px;line-height:1.5;font-family:var(--font-mono, "SF Mono", "Fira Code", "Consolas", monospace);background:#1e1e2e;color:#cdd6f4;border-radius:var(--radius-button);overflow-x:auto;overflow-y:auto;max-height:500px;white-space:pre;word-break:normal}.event.message p,.event.final p{margin:4px 0}.badge-session{background:#ede9fe;color:#5b21b6}.badge-usage{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.badge-error{background:var(--color-danger-light);color:var(--color-danger)}.session-mode{background:var(--color-primary-light);color:var(--color-primary)}.usage,.branch-tag{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.branch-tag.branch-fork{background:#f772341f;color:var(--color-fork)}.branch-tag.branch-continue{background:var(--color-primary-light);color:var(--color-primary)}.run-error{color:var(--color-danger);background:var(--color-danger-light);padding:8px 12px;border-radius:var(--radius-button);margin:8px 0 0;font-size:13px;line-height:1.6}.event.message,.event.final,.tool-result-body{line-height:1.7;font-size:var(--font-body);word-break:break-word}.event.message p:first-child,.event.final p:first-child,.tool-result-body p:first-child{margin-top:0}.event.message p:last-child,.event.final p:last-child,.tool-result-body p:last-child{margin-bottom:0}.event.message table,.event.final table,.tool-result-body table{border-collapse:collapse;width:100%;margin:.5em 0}.event.message th,.event.message td,.event.final th,.event.final td,.tool-result-body th,.tool-result-body td{border:1px solid var(--color-border);padding:6px 12px;text-align:left}.event.message th,.event.final th,.tool-result-body th{background:var(--color-bg-secondary);font-weight:600}.event.message pre,.event.final pre,.tool-result-body pre{background:#1e1e2e;color:#cdd6f4;padding:12px;border-radius:var(--radius-button);overflow-x:auto;font-size:13px;margin:.5em 0}.event.message code,.event.final code,.tool-result-body code{background:var(--color-bg-secondary);padding:2px 5px;border-radius:3px;font-size:13px}.event.message pre code,.event.final pre code,.tool-result-body pre code{background:none;padding:0;color:inherit}.event.message ul,.event.message ol,.event.final ul,.event.final ol,.tool-result-body ul,.tool-result-body ol{padding-left:1.5em;margin:.5em 0}.event.message blockquote,.event.final blockquote,.tool-result-body blockquote{border-left:3px solid var(--color-border);padding-left:1em;color:var(--color-text-secondary);margin:.5em 0}.event.message h1,.event.message h2,.event.message h3,.event.final h1,.event.final h2,.event.final h3,.tool-result-body h1,.tool-result-body h2,.tool-result-body h3{margin:.6em 0 .3em}.post-main{background:var(--color-card);border-radius:var(--radius-card);padding:var(--space-5) var(--space-6);margin-bottom:var(--space-4);border:1px solid var(--color-border);position:relative;z-index:20;overflow:visible}.post-title{font-size:22px;font-weight:700;margin:0 0 var(--space-2)}.post-desc{font-size:var(--font-body);color:var(--color-text-secondary);line-height:1.6;white-space:pre-wrap;margin-bottom:var(--space-3)}.post-meta{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-caption);color:var(--color-text-tertiary)}.dropdown{position:relative;display:inline-flex;z-index:30}.dropdown-trigger{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;font-size:var(--font-caption);font-weight:500;line-height:1;font-family:inherit;border:1px solid transparent;border-radius:var(--radius-button);cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .15s}@media (hover: hover) and (pointer: fine){.dropdown-trigger:hover{opacity:.85}}.dropdown-chevron{flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.72;transition:transform .15s cubic-bezier(.23,1,.32,1)}.dropdown-trigger[aria-expanded=true] .dropdown-chevron{transform:rotate(180deg)}@media (prefers-reduced-motion: reduce){.dropdown-chevron{transition:none}}.dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;background:var(--color-card);border:1px solid var(--color-border-light);border-radius:var(--radius-button);box-shadow:var(--shadow-md);padding:4px;z-index:2000;list-style:none;margin:0;display:flex;flex-direction:column;gap:2px;animation:dropdownFadeIn .12s ease-out}.dropdown-option{display:block;width:100%;padding:6px 10px;font-size:var(--font-caption);font-family:inherit;background:none;border:none;border-radius:var(--radius-small);text-align:left;cursor:pointer;color:var(--color-text-primary);white-space:nowrap;transition:background .1s}.dropdown-option:hover{background:var(--color-bg-secondary)}.dropdown-option.selected{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.dropdown-trigger.status-pending,.dropdown-trigger.status-queued,.dropdown-trigger.status-running{background-color:var(--color-primary-light);color:var(--color-primary)}.dropdown-trigger.status-done{background-color:var(--color-success-light);color:var(--color-success)}.dropdown-trigger.status-failed{background-color:var(--color-danger-light);color:var(--color-danger)}.dropdown-trigger.status-awaiting{background-color:var(--color-warning-light);color:var(--color-warning)}.dropdown-trigger.priority-high{background-color:var(--color-danger-light);color:var(--color-danger)}.dropdown-trigger.priority-medium{background-color:var(--color-warning-light);color:var(--color-warning)}.dropdown-trigger.priority-low{background-color:var(--color-bg-secondary);color:var(--color-text-secondary)}.post-meta-info{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin-top:16px;font-size:var(--font-caption);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.post-meta-info .meta-item{display:inline-flex;align-items:center;gap:4px}.post-meta-info .meta-creator{gap:6px}.post-meta-info .meta-creator img,.post-meta-info .avatar-mini{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;line-height:1;background:var(--color-primary-light);color:var(--color-primary);object-fit:cover;flex-shrink:0}.floor-count{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.run-floor{background:var(--color-card);border-radius:var(--radius-card);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-3);border:1px solid var(--color-border);position:relative;z-index:1}.floor-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-size:var(--font-caption);color:var(--color-text-tertiary);border-bottom:1px solid var(--color-divider);padding-bottom:var(--space-2)}.floor-num{background:var(--color-bg-secondary);color:var(--color-text-secondary);font-weight:600}.floor-time{color:var(--color-text-tertiary);font-size:var(--font-caption);font-variant-numeric:tabular-nums}.usage{margin-left:auto}.floor-toggle{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;margin:4px 0 10px;font-size:var(--font-caption);font-weight:500;font-family:inherit;line-height:1;border:1px solid var(--color-border);background:var(--color-card);color:var(--color-text-secondary);border-radius:var(--radius-button);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s,border-color .15s,color .15s}.floor-toggle:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.floor-toggle:after{content:"";display:inline-block;width:0;height:0;border-left:4px solid currentColor;border-top:3px solid transparent;border-bottom:3px solid transparent;margin-left:6px;opacity:.6;transition:transform .15s}.floor-toggle.open:after{transform:rotate(90deg)}.floor-user{display:flex;align-items:flex-start;gap:12px;margin-bottom:var(--space-4)}.avatar{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;overflow:hidden;line-height:1}.avatar-user{background:var(--color-primary-light);color:var(--color-primary);font-size:12px}.avatar-agent{background:var(--color-primary);color:var(--color-text-inverse);font-size:10px;letter-spacing:.02em}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.floor-user-body{flex:1;min-width:0}.floor-user-body p{margin:0;font-size:var(--font-body);line-height:1.7;color:var(--color-text-primary)}.floor-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.floor-att-link{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);font-size:12px;line-height:1.4;color:var(--color-text-secondary);text-decoration:none;max-width:240px;transition:border-color .15s,color .15s}.floor-att-link:hover{border-color:var(--color-primary);color:var(--color-primary)}.floor-att-icon{flex-shrink:0}.floor-att-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floor-att-size{flex-shrink:0;opacity:.6;font-size:11px}.floor-att-thumb{display:inline-block;border-radius:6px;overflow:hidden;border:1px solid var(--color-border-light);flex-shrink:0}.floor-att-thumb img{width:80px;height:80px;object-fit:cover;display:block;background:var(--color-bg-secondary);transition:transform .15s,opacity .3s}.floor-att-thumb:hover img{transform:scale(1.05)}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;z-index:9999;display:flex;flex-direction:column}.lightbox-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#ffffffe6;flex-shrink:0}.lightbox-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.lightbox-download{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:6px;background:#ffffff26;color:#ffffffe6;text-decoration:none;font-size:13px;transition:background .15s}.lightbox-download:hover{background:#ffffff40}.lightbox-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;background:#ffffff26;color:#ffffffe6;cursor:pointer;transition:background .15s}.lightbox-close:hover{background:#ffffff40}.lightbox-img-wrap{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0 16px 16px}.lightbox-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;background:#ffffff26;color:#ffffffe6;cursor:pointer;transition:background .15s;z-index:1}.lightbox-nav:hover{background:#ffffff4d}.lightbox-prev{left:12px}.lightbox-next{right:12px}.lightbox-counter{font-size:13px;color:#fff9;flex-shrink:0}@media (max-width: 768px){.lightbox-bar{padding:8px 12px}.lightbox-download span{display:none}.lightbox-img-wrap{padding:0 8px 8px}}.floor-agent{display:flex;align-items:flex-start;gap:12px}.floor-agent-body{flex:1;min-width:0}.author-name{display:flex;align-items:center;height:28px;font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-bottom:2px}.composer{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:var(--color-card);border:1px solid var(--color-border-light);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}.composer-main{display:flex;align-items:flex-end;gap:6px}.composer-attachments{display:flex;flex-wrap:wrap;gap:6px}.att-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:6px;font-size:12px;line-height:1.4;color:var(--color-text-secondary);max-width:240px}.att-thumb{width:36px;height:36px;object-fit:cover;border-radius:4px;flex-shrink:0}.att-info{display:flex;flex-direction:column;min-width:0;overflow:hidden}.att-chip.att-uploading{opacity:.7}.att-chip.att-error{border-color:var(--color-danger, #e5484d);color:var(--color-danger, #e5484d)}.att-icon{flex-shrink:0}.att-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-size{flex-shrink:0;opacity:.6;font-size:11px}.att-remove{flex-shrink:0;border:none;background:none;cursor:pointer;color:var(--color-text-disabled);font-size:12px;padding:0 2px;line-height:1}.att-remove:hover{color:var(--color-danger, #e5484d)}.composer-busy{padding:2px 4px 0;font-size:12px;line-height:1.4;color:var(--color-text-disabled)}.composer:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #3370ff14}.composer-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:inherit;font-size:var(--font-body);line-height:1.6;color:var(--color-text-primary);resize:none;min-height:66px;max-height:200px;padding:6px 4px;overflow-y:auto}.composer-actions{display:flex;align-items:flex-end;gap:4px;flex-shrink:0;padding-bottom:2px}.composer-input::placeholder{color:var(--color-text-disabled)}.composer-input:disabled{opacity:.6;cursor:not-allowed}.composer-attach,.composer-send{flex-shrink:0;width:28px;height:28px;border:none;border-radius:var(--radius-button);cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;transition:background .15s,color .15s,transform .1s}.composer-attach svg,.composer-send svg{width:16px;height:16px}.composer-attach{background:transparent;color:var(--color-text-tertiary)}.composer-attach:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.composer-send{background:var(--color-primary);color:#fff}.composer-send:hover:not(:disabled){background:var(--color-primary-hover)}.composer-send:active:not(:disabled){transform:scale(.94)}.composer-send:disabled{background:var(--color-text-disabled);cursor:not-allowed}.collapse-btn{display:inline-block;margin-top:6px;font-size:var(--font-caption);color:var(--color-primary);background:none;border:none;cursor:pointer;padding:2px 6px}.collapse-btn:hover{text-decoration:underline}.message-preview{color:var(--color-text-tertiary);font-size:13px;line-height:1.5}.event.message.collapsed{padding:var(--space-2) 0}.error-banner{color:var(--color-danger);padding:var(--space-2);margin-top:var(--space-2)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes loginEnter{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes loginDots{0%{background-position:0 0,0 0}to{background-position:16px 16px,0 0}}@keyframes loginFloat{0%,to{transform:translateZ(0);opacity:.58}50%{transform:translate3d(0,-10px,0);opacity:.88}}@keyframes loginSpin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.typing-indicator{display:inline-flex;align-items:center;gap:4px;padding:10px 0 4px}.typing-indicator .typing-text{font-size:13px;color:var(--color-text-secondary);margin-right:4px}.typing-indicator .dot{width:5px;height:5px;border-radius:50%;background:var(--color-text-tertiary);animation:typing-bounce 1.2s ease-in-out infinite}.typing-indicator .dot:nth-child(3){animation-delay:.18s}.typing-indicator .dot:nth-child(4){animation-delay:.36s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.post-meta{flex-wrap:wrap}@media (max-width: 768px){.forum-layout{padding:32px 16px 80px}.forum-layout.embedded{padding:12px 14px 48px}.post-main{padding:18px;margin-bottom:20px}.run-floor{padding:16px 18px}.continue-box,.composer{padding:8px 10px}.skeleton-card{padding:18px}}@media (max-width: 640px){.forum-layout{padding:20px 12px 64px;max-width:100%}.forum-layout.embedded{padding:10px 12px 40px}.post-main{padding:14px;margin-bottom:16px;border-radius:var(--radius-button)}.post-title{font-size:18px;line-height:1.35}.post-desc{font-size:13px;line-height:1.6}.post-meta{gap:6px}.post-meta-info{gap:4px 10px;margin-top:12px;font-size:11px}.run-floor{padding:14px;border-radius:var(--radius-button)}.floor-user,.floor-agent{gap:10px}.avatar{width:26px;height:26px}.avatar-user{font-size:11px}.avatar-agent{font-size:9px}.author-name{height:26px;font-size:12px}.floor-user-body p,.event.message,.event.final,.tool-result-body{font-size:14px;line-height:1.65}.event.message pre,.event.final pre,.tool-result-body pre{font-size:12px;padding:10px 12px}.event.message code,.event.final code{font-size:12px}.process-group{padding-left:10px;margin-bottom:12px}.event.thinking details,.event.tool-call details,.event.tool-result details{padding:6px 10px}.composer{padding:6px 8px;gap:4px}.composer-input{padding:4px 2px}.composer-attach,.composer-send{width:26px;height:26px}.dropdown-menu{font-size:12px}.dropdown-option{padding:5px 8px}.skeleton-card{padding:14px}.skeleton-title{height:18px}.skeleton-line{height:11px;margin-bottom:8px}.floor-head{gap:6px;flex-wrap:wrap}.run-error{font-size:12px;padding:6px 10px}.skeleton-page .skeleton-card:nth-child(n+5){display:none}}@media (min-width: 1440px){.forum-layout{max-width:820px}}.forum-layout.embedded{max-width:100%}@media (max-width: 380px){.forum-layout{padding:16px 10px 56px}.usage,.meta-tokens{display:none}.forum-layout.embedded{padding:8px 10px 32px}.post-main{padding:12px}.post-title{font-size:16px}.post-desc{font-size:12px}.post-meta{flex-direction:column;align-items:stretch;gap:6px}.post-meta .dropdown,.post-meta .dropdown-trigger{width:100%}.post-meta-info{gap:4px 8px;font-size:11px}.post-meta-info .meta-item{min-width:0}.run-floor{padding:12px}.floor-user,.floor-agent{gap:8px}.avatar{width:24px;height:24px}.avatar-user{font-size:10px}.avatar-agent{font-size:8px}.author-name{height:24px;font-size:11px}.floor-user-body p{font-size:13px;line-height:1.6}.event.message,.event.final,.tool-result-body{font-size:13px}.event.thinking details,.event.tool-call details,.event.tool-result details{padding:6px 8px}.process-group{padding-left:8px}.composer{padding:6px;gap:4px}.composer-input{padding:4px 2px;min-height:56px;font-size:13px}.composer-attach,.composer-send{width:24px;height:24px}.composer-attach svg,.composer-send svg{width:14px;height:14px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}.modal-card{background:var(--color-card);border-radius:var(--radius-large);padding:var(--space-8);max-width:480px;width:90%;box-shadow:var(--shadow-lg);animation:fadeUp .2s ease-out}.modal-card h3{font-size:var(--font-title-lg);margin:0 0 var(--space-2);font-weight:600}.modal-desc{font-size:var(--font-body);color:var(--color-text-secondary);margin:0 0 var(--space-4)}.project-card-wrapper{position:relative}.add-agent-btn{position:absolute;top:var(--space-3);right:var(--space-3);border:1px solid var(--color-border);background:var(--color-card);color:var(--color-text-secondary);padding:2px 10px;border-radius:var(--radius-full);font-size:11px;cursor:pointer;transition:all .15s;z-index:1}.add-agent-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.startup-cmd{background:#1e1e2e;color:#cdd6f4;padding:var(--space-4);border-radius:var(--radius-card);font-family:ui-monospace,SF Mono,monospace;font-size:12px;line-height:1.6;overflow-x:auto;margin:0;white-space:pre-wrap;word-break:break-all}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.projects-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.project-card{display:flex;flex-direction:column;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-5);color:inherit;transition:all .2s;position:relative;overflow:hidden}.project-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.project-card-link{text-decoration:none;color:inherit}.project-card-link:hover{text-decoration:none}.project-card-link h3{margin:0 0 var(--space-2);font-size:var(--font-title);font-weight:600}.project-card-link h3:hover{color:var(--color-primary)}.project-card-actions{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:var(--space-3);gap:var(--space-2)}.project-action-btn{font-size:var(--font-caption);padding:6px 14px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}.modal-card{background:var(--color-card);border-radius:var(--radius-large);padding:var(--space-6);max-width:520px;width:calc(100% - 32px);box-shadow:0 12px 48px #00000026;animation:fadeUp .2s ease-out}.modal-card h3{margin:0 0 var(--space-2);font-size:var(--font-title-lg);font-weight:600}.modal-desc{margin:0 0 var(--space-4);font-size:var(--font-body);color:var(--color-text-secondary);line-height:1.6}.modal-error{color:var(--color-danger);font-size:var(--font-caption);margin-top:var(--space-2)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5)}.agent-cmd-block{background:#1e1e2e;border-radius:var(--radius-button);padding:var(--space-4);margin:var(--space-2) 0 var(--space-3);position:relative}.agent-cmd-block pre{margin:0 0 var(--space-2);color:#cdd6f4;font-family:ui-monospace,SF Mono,monospace;font-size:13px;white-space:pre-wrap;word-break:break-all;line-height:1.6}.agent-cmd-info{font-size:var(--font-caption);color:var(--color-text-secondary);line-height:1.8}.agent-cmd-info code{background:var(--color-bg-secondary);padding:2px 6px;border-radius:var(--radius-small);font-size:12px}.project-skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.project-skeleton-card{min-height:140px}@media (max-width: 640px){.projects-header{flex-direction:column;gap:var(--space-3);align-items:stretch}.projects-header .lah-btn{width:100%}.project-card-actions{flex-direction:column;align-items:stretch}.project-action-btn{width:100%;text-align:center}.modal-card{padding:var(--space-5)}}@media (max-width: 760px){.login-page{align-items:center;padding:72px 18px 42px;background-size:15px 15px,100% 100%}.login-brand{top:20px;left:16px;font-size:18px}.login-atmosphere{display:none}.login-panel{width:min(340px,100%);padding-top:0;margin-top:-14px}.login-mark-wrap{width:50px;height:50px;margin-bottom:13px}.login-panel h1{font-size:20px}.login-subtitle{margin-bottom:34px}.login-code-row{grid-template-columns:1fr 80px}.login-code-button{padding:0 10px}}@media (max-width: 380px){.login-code-row{grid-template-columns:1fr}.login-code-button{width:100%}}@media (max-width: 640px){.onboarding-page{padding:82px 18px 42px}.onboarding-atmosphere{display:none}.onboarding-shell,.onboarding-shell.is-wide{width:min(360px,100%)}.onboarding-hero{margin-bottom:22px}.onboarding-hero h1{font-size:24px}.onboarding-hero .tagline{font-size:13px}.onboarding-card{padding:0;border-radius:0}.step-bar{grid-template-columns:86px minmax(14px,1fr) 86px minmax(14px,1fr) 86px;gap:0}.step-item{font-size:11px}.step-item span{max-width:54px}.step-circle{width:22px;height:22px;font-size:11px}.step-line{margin:0}.config-step{display:block}.config-step:not(:last-child):before{display:none}.config-step-num{width:34px;height:34px;border-radius:10px;font-size:11px}.config-step-card{padding:14px}.config-step-title-row{flex-direction:column;align-items:flex-start;gap:8px}.config-step-title-row h3{width:100%}.config-step-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.config-step-actions .config-step-nav-button:only-child{grid-column:2}.config-step-nav-button{min-width:0}.config-panel-body{padding-left:14px}}@media (max-width: 380px){.onboarding-hero h1{font-size:22px}.step-item span{display:none}.step-bar{gap:8px}.onboarding-card{padding:0}}.agent-type-list{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.agent-type-option{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-card);cursor:pointer;transition:all .15s}.agent-type-option:hover,.agent-type-option.selected{border-color:var(--color-primary);background:var(--color-primary-light)}.agent-type-option input[type=radio]{margin-top:3px;accent-color:var(--color-primary)}.agent-type-label{font-size:var(--font-body);font-weight:600;color:var(--color-text-primary)}.agent-type-desc{font-size:var(--font-caption);color:var(--color-text-secondary);margin-top:2px}.agent-row{display:flex;align-items:center;gap:4px}.copy-cmd-btn{border:none;background:none;cursor:pointer;padding:2px 6px;color:var(--color-text-tertiary);font-size:14px;border-radius:var(--radius-small);transition:all .15s}.copy-cmd-btn:hover{color:var(--color-primary);background:var(--color-primary-light)}.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.landing-page{min-height:100vh;position:relative;overflow-x:hidden;background:linear-gradient(180deg,#F0F4FF 0%,#FAFBFC 30%,var(--color-bg) 100%)}.landing-nav{position:fixed;top:0;left:0;right:0;height:60px;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-8);background:#ffffffb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(222,224,227,.5)}.landing-nav-left{display:flex;align-items:center;gap:var(--space-3);position:relative;z-index:1}.landing-nav-title{font-size:var(--font-title);font-weight:700;color:var(--color-text-primary)}.landing-nav-right{display:flex;align-items:center;gap:var(--space-3);position:relative;z-index:1}.landing-hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-10) var(--space-4);position:relative;z-index:1}.hero-logo-wrap{filter:drop-shadow(0 4px 24px rgba(51,112,255,.3));margin-bottom:var(--space-5)}.landing-title{font-size:48px;font-weight:800;margin:0 0 var(--space-3);background:linear-gradient(135deg,#1f2329,#3370ff,#7b61ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-1px}.landing-subtitle{font-size:18px;color:var(--color-text-secondary);margin:0 0 var(--space-8)}.landing-cta{position:relative;z-index:1}.landing-features{padding:var(--space-10) var(--space-4);max-width:960px;margin:0 auto;position:relative;z-index:1}.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.feature-card{background:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(222,224,227,.6);border-radius:var(--radius-large);padding:var(--space-6);transition:all .2s}.feature-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.feature-card-icon{font-size:32px;margin-bottom:var(--space-3)}.feature-card h3{font-size:var(--font-title);margin:0 0 var(--space-2);font-weight:600}.feature-card p{font-size:var(--font-body);color:var(--color-text-secondary);margin:0;line-height:1.6}.landing-howto{padding:var(--space-10) var(--space-4);max-width:960px;margin:0 auto;position:relative;z-index:1}.landing-howto h2{text-align:center;font-size:28px;font-weight:700;margin:0 0 var(--space-8)}.howto-steps{display:flex;align-items:flex-start;justify-content:center;gap:var(--space-4);flex-wrap:wrap}.howto-step{text-align:center;max-width:240px;background:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(222,224,227,.6);border-radius:var(--radius-large);padding:var(--space-6);flex:1;min-width:200px}.howto-num{width:36px;height:36px;border-radius:50%;margin:0 auto var(--space-3);background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700}.howto-step h3{font-size:var(--font-title);margin:0 0 var(--space-2);font-weight:600}.howto-step p{font-size:var(--font-caption);color:var(--color-text-secondary);margin:0;line-height:1.6}.howto-arrow{font-size:24px;color:var(--color-text-disabled);padding-top:60px}.landing-footer{padding:var(--space-8) var(--space-4);text-align:center;position:relative;z-index:1;border-top:1px solid var(--color-border-light)}.landing-footer p{font-size:var(--font-caption);color:var(--color-text-tertiary);margin:0}@media (max-width: 640px){.landing-title{font-size:32px}.landing-subtitle{font-size:15px}.howto-arrow{display:none}.landing-nav{padding:0 var(--space-4)}}.hero-badge{display:inline-block;padding:4px 14px;border-radius:var(--radius-full);background:#3370ff14;border:1px solid rgba(51,112,255,.2);font-size:13px;color:var(--color-primary);margin-bottom:var(--space-5)}.landing-stats{display:flex;justify-content:center;gap:var(--space-10);flex-wrap:wrap;padding:var(--space-8) var(--space-4);position:relative;z-index:1;border-top:1px solid rgba(222,224,227,.4);border-bottom:1px solid rgba(222,224,227,.4);background:#ffffff80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stat-item{text-align:center}.stat-num{font-size:32px;font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.stat-label{font-size:13px;color:var(--color-text-tertiary);margin-top:4px}.landing-section{padding:var(--space-10) var(--space-4);max-width:960px;margin:0 auto;position:relative;z-index:1}.section-header{text-align:center;margin-bottom:var(--space-8)}.section-header h2{font-size:28px;font-weight:700;margin:0 0 var(--space-2)}.section-header p{font-size:15px;color:var(--color-text-secondary);margin:0}.landing-showcase{max-width:800px}.showcase-mockup{margin-top:var(--space-6)}.mockup-event{padding:8px 12px;border-radius:var(--radius-card);margin-bottom:6px;font-size:13px;line-height:1.5}.mockup-event-thinking{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.mockup-event-thinking p{margin:4px 0 0;font-size:12px}.mockup-event-tool{border:1px solid var(--color-border-light)}.mockup-event-tool pre{margin:4px 0 0;font-family:ui-monospace,monospace;font-size:11px;color:var(--color-primary)}.mockup-event-final{background:var(--color-success-light)}.mockup-event-final p{margin:4px 0 0}.mockup-event-final code{background:#00b42a1a;padding:1px 4px;border-radius:3px;font-size:12px}.mockup-event-label{font-weight:600;font-size:12px}.mockup-event-thinking .mockup-event-label{color:var(--color-text-tertiary)}.mockup-event-tool .mockup-event-label{color:var(--color-primary)}.mockup-event-final .mockup-event-label{color:var(--color-success)}.usecase-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.usecase-card{background:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(222,224,227,.6);border-radius:var(--radius-large);padding:var(--space-5);transition:all .2s}.usecase-card:hover{border-color:var(--color-primary);transform:translateY(-2px)}.usecase-icon{font-size:28px;margin-bottom:var(--space-3)}.usecase-card h3{font-size:15px;margin:0 0 var(--space-2);font-weight:600}.usecase-card p{font-size:13px;color:var(--color-text-secondary);margin:0;line-height:1.5}.howto-step-wrapper{display:flex;align-items:flex-start}.howto-tag{display:inline-block;margin-top:var(--space-2);padding:2px 10px;border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary);font-size:11px;font-weight:600}.faq-list{max-width:680px;margin:0 auto}.faq-item{background:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--color-border-light);border-radius:var(--radius-card);margin-bottom:var(--space-2);overflow:hidden}.faq-q{padding:var(--space-4);font-size:15px;font-weight:600;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}.faq-q:after{content:"▸";color:var(--color-text-tertiary);transition:transform .2s}.faq-item[open] .faq-q:after{transform:rotate(90deg)}.faq-a{padding:0 var(--space-4) var(--space-4);font-size:14px;color:var(--color-text-secondary);line-height:1.6;margin:0}.landing-cta-final{text-align:center;padding:var(--space-10) var(--space-4);position:relative;z-index:1;background:linear-gradient(180deg,transparent 0%,rgba(240,244,255,.5) 50%,transparent 100%)}.landing-cta-final h2{font-size:28px;font-weight:700;margin:0 0 var(--space-2)}.landing-cta-final p{font-size:15px;color:var(--color-text-secondary);margin:0 0 var(--space-5)}.footer-content{max-width:960px;margin:0 auto;padding:var(--space-6) var(--space-4);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.footer-brand{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}.footer-links{display:flex;gap:var(--space-4)}.footer-links a{font-size:13px;color:var(--color-text-secondary);text-decoration:none}.footer-links a:hover{color:var(--color-primary)}.footer-copy{text-align:center;padding:var(--space-4);font-size:12px;color:var(--color-text-tertiary);margin:0;border-top:1px solid var(--color-border-light)}.nav-link{font-size:13px;color:var(--color-text-secondary);text-decoration:none;padding:6px 12px}.nav-link:hover{color:var(--color-primary)}@media (max-width: 640px){.landing-title{font-size:28px!important}.howto-arrow{display:none}.landing-stats{gap:var(--space-6)}.stat-num{font-size:24px}.footer-content{flex-direction:column;text-align:center}}.load-more-sentinel{height:1px;width:100%}.event-placeholder{font-size:13px;color:var(--color-text-tertiary);padding:var(--space-3) 0}.process-skeleton{padding:4px 0}.skeleton-event{padding:8px 12px;margin-bottom:6px}.skeleton-line{height:12px;border-radius:4px;background:linear-gradient(90deg,#dee0e366 25%,#dee0e3b3,#dee0e366 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;margin-bottom:6px}.skeleton-line.short{width:60%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}:root{--feishu-page-bg: #f8fbff;--feishu-page-bg-2: #eef5ff;--feishu-ink: #172b4d;--feishu-muted: #5f6b7a;--feishu-blue: #3370ff;--feishu-blue-dark: #1f4fd6;--feishu-cyan: #00b8d9;--feishu-line: rgba(51, 112, 255, .14);--feishu-card: rgba(255, 255, 255, .74);--feishu-card-strong: rgba(255, 255, 255, .9);--feishu-shadow: 0 10px 30px rgba(51, 112, 255, .08)}.landing-page,.projects-page,.task-page:not(.embedded){position:relative;background:radial-gradient(circle at 1px 1px,rgba(51,112,255,.16) 1px,transparent 1.5px),linear-gradient(180deg,var(--feishu-page-bg) 0%,var(--feishu-page-bg-2) 100%);background-size:16px 16px,100% 100%;color:var(--feishu-ink)}.landing-page:before,.projects-page:before,.task-page:not(.embedded):before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,#f8fbffeb,#f8fbff33 18%,#f8fbff33 82%,#f8fbffeb),linear-gradient(180deg,rgba(255,255,255,.62),transparent 28%,rgba(230,241,255,.64));z-index:0}.landing-page>*,.projects-page>*,.task-page:not(.embedded)>*{position:relative;z-index:1}.lah-btn{background:var(--feishu-blue);border:1px solid rgba(51,112,255,.12);border-radius:8px;box-shadow:0 6px 14px #3370ff2e}.lah-btn:hover{background:var(--feishu-blue-dark);box-shadow:0 8px 18px #3370ff38}.lah-btn-secondary{background:#ffffffc2;color:var(--feishu-blue-dark);border-color:var(--feishu-line);box-shadow:0 1px 2px #1f4fd60d}.lah-btn-secondary:hover{background:var(--feishu-card-strong);border-color:#3370ff47;color:var(--feishu-blue-dark)}.lah-input{border-color:var(--feishu-line);border-radius:8px;background:#ffffffc2;color:var(--feishu-ink)}.lah-input:focus{border-color:#3370ff8c;box-shadow:0 0 0 3px #3370ff17}.landing-nav,.projects-nav{background:#ffffffb8;border-bottom:1px solid var(--feishu-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.landing-nav-title,.projects-nav-title,.landing-title,.section-header h2,.projects-content h2,.post-title,.modal-card h3{color:var(--feishu-ink);letter-spacing:0}.landing-title{background:linear-gradient(135deg,var(--feishu-ink) 0%,var(--feishu-blue) 58%,#6b5cff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-subtitle,.section-header p,.modal-desc,.post-desc,.landing-footer p,.footer-links a{color:var(--feishu-muted)}.hero-badge{display:inline-flex;align-items:center;height:28px;padding:0 12px;border:1px solid var(--feishu-line);border-radius:999px;background:var(--feishu-card);color:var(--feishu-blue-dark);font-size:12px;font-weight:700;box-shadow:0 1px 2px #1f4fd60d}.landing-hero .hero-logo-wrap,.footer-brand svg,.landing-nav-left svg,.projects-nav-left svg{filter:saturate(1.08) contrast(1.02) drop-shadow(0 10px 18px rgba(51,112,255,.14))}.landing-stats,.showcase-mockup,.landing-cta-final{border:1px solid var(--feishu-line);border-radius:12px;background:var(--feishu-card);box-shadow:var(--feishu-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.feature-card,.usecase-card,.howto-step,.faq-item,.project-card,.post-main,.run-floor,.composer,.modal-card,.empty-state{border:1px solid var(--feishu-line);border-radius:10px;background:var(--feishu-card);box-shadow:0 1px 2px #1f4fd60d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.feature-card:hover,.usecase-card:hover,.project-card:hover{border-color:#3370ff47;box-shadow:var(--feishu-shadow)}.feature-card-icon,.usecase-icon,.howto-num,.empty-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(51,112,255,.16);border-radius:8px;background:#f0f7ffe6;color:var(--feishu-blue-dark);font-size:11px;font-weight:800}.empty-icon{width:42px;height:42px;margin:0 auto var(--space-6);font-size:0}.empty-icon:before{content:"BT";font-size:12px}.stat-num,.project-card-link h3:hover,.project-link,.collapse-btn,.mockup-event-tool .mockup-event-label{color:var(--feishu-blue)}.stat-label,.project-card .no-agent,.floor-time,.post-meta-info,.agent-cmd-info{color:var(--feishu-muted)}.project-card:before{background:linear-gradient(90deg,var(--feishu-blue),var(--feishu-cyan))}.agent-badge.online{background:#00b42a1a;color:#00a870}.agent-badge.offline{background:#3370ff14;color:#718096}.status-running,.status-queued,.status-pending,.dropdown-trigger.status-running,.dropdown-trigger.status-queued,.dropdown-trigger.status-pending{background:#3370ff1a;color:var(--feishu-blue)}.status-done,.dropdown-trigger.status-done{background:#00b42a1a;color:#00a870}.status-awaiting,.dropdown-trigger.status-awaiting,.dropdown-trigger.priority-medium{background:#00b8d91a;color:#0c93b4}.floor-head{border-bottom-color:#3370ff1a}.floor-num,.usage,.badge-session,.badge-usage,.session-mode{background:#3370ff14;color:var(--feishu-blue-dark)}.avatar-user,.post-meta-info .avatar-mini{background:#3370ff1a;color:var(--feishu-blue-dark)}.avatar-agent{background:var(--feishu-blue)}.event.thinking details,.event.tool-call details,.event.tool-result details,.run-user-message{background:#f0f7ffb8}.event.thinking details[open],.event.tool-call details[open],.event.tool-result details[open],.event.thinking .thinking-body,.event.tool-call .tool-args{border-color:var(--feishu-line)}.composer:focus-within{border-color:#3370ff8c;box-shadow:0 0 0 3px #3370ff17}.modal-overlay{background:#172b4d47}.projects-page>.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000}.projects-page>.modal-overlay .modal-card{background:#fff;box-shadow:0 18px 56px #172b4d2e;-webkit-backdrop-filter:none;backdrop-filter:none}.onboarding-verify-modal .modal-card{background:#fff;box-shadow:0 18px 56px #172b4d2e;-webkit-backdrop-filter:none;backdrop-filter:none}.onboarding-verify-modal .modal-desc p{margin:0}.verify-missing-list{margin:10px 0 0;padding-left:18px;color:#8f3939;font-size:13px;line-height:1.7}.verify-missing-list li+li{margin-top:2px}.agent-type-option{border-color:var(--feishu-line);background:#ffffffa3}.agent-type-option:hover,.agent-type-option.selected{border-color:#3370ff47;background:#f0f7ffd1}.forum-layout:not(.embedded){display:flex;flex-direction:column;gap:16px}.forum-layout:not(.embedded) .post-main,.forum-layout:not(.embedded) .run-floor,.forum-layout:not(.embedded) .composer{margin-bottom:0}.forum-layout.embedded{display:flex;flex-direction:column;gap:8px}.forum-layout.embedded .post-main,.forum-layout.embedded .run-floor,.forum-layout.embedded .composer{margin-bottom:0}@media (max-width: 640px){.forum-layout:not(.embedded){gap:12px}}.landing-page-compact{--landing-dot-x: 0px;--landing-dot-y: 0px;--landing-spot-x: 50vw;--landing-spot-y: 42vh;background:radial-gradient(circle at 1px 1px,rgba(51,112,255,.18) 1px,transparent 1.5px),linear-gradient(180deg,#f8fbff,#eef5ff);background-size:16px 16px,100% 100%;background-position:var(--landing-dot-x) var(--landing-dot-y),0 0;transition:background-position .18s ease-out}.landing-page-compact:before{background:radial-gradient(circle 180px at var(--landing-spot-x) var(--landing-spot-y),rgba(51,112,255,.08),rgba(0,184,217,.04) 42%,transparent 72%),linear-gradient(90deg,#f8fbffeb,#f8fbff33 18%,#f8fbff33 82%,#f8fbffeb),linear-gradient(180deg,rgba(255,255,255,.62),transparent 28%,rgba(230,241,255,.64));transition:background .18s ease-out}.landing-page-compact:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 1px 1px,rgba(51,112,255,.42) 1px,transparent 1.5px);background-size:16px 16px;background-position:var(--landing-dot-x) var(--landing-dot-y);opacity:.7;mask-image:radial-gradient(circle 150px at var(--landing-spot-x) var(--landing-spot-y),#000 0%,rgba(0,0,0,.82) 36%,transparent 76%);-webkit-mask-image:radial-gradient(circle 150px at var(--landing-spot-x) var(--landing-spot-y),#000 0%,rgba(0,0,0,.82) 36%,transparent 76%);transition:background-position .18s ease-out,mask-image .18s ease-out,-webkit-mask-image .18s ease-out}.landing-page-compact .landing-main{position:relative;z-index:1}.landing-page-compact .landing-nav{position:fixed;top:0;left:0;right:0;z-index:100;height:58px;padding:0 28px;background:linear-gradient(180deg,#ffffffa8,#f8fbff6b);border-bottom:1px solid rgba(51,112,255,.08);box-shadow:0 1px #ffffff75 inset;backdrop-filter:blur(18px) saturate(1.18);-webkit-backdrop-filter:blur(18px) saturate(1.18)}.landing-page-compact .landing-nav-title{font-size:15px;font-weight:750}.landing-nav-cta{min-height:30px;padding:0 13px;font-size:12px;line-height:1.2;border-radius:7px;box-shadow:0 5px 12px #3370ff24}.landing-hero-compact{box-sizing:border-box;width:min(1120px,calc(100% - 48px));min-height:auto;margin:0 auto;padding:104px 0 56px;display:grid;grid-template-columns:1fr;gap:34px;align-items:start;justify-content:center;justify-items:center;text-align:center}.landing-page-compact .landing-copy{max-width:860px;width:100%}.landing-page-compact .hero-badge{margin-bottom:16px}.landing-page-compact .landing-title{max-width:680px;margin:0 auto 18px;font-size:clamp(38px,4vw,54px);line-height:1.08;font-weight:850;letter-spacing:0;color:var(--feishu-ink)}.landing-page-compact .landing-title span{display:block;white-space:nowrap;color:var(--feishu-ink)}.landing-page-compact .landing-subtitle{max-width:840px;margin:0 auto;color:#516173;font-size:16px;line-height:1.72;overflow-wrap:anywhere}.landing-proof-row{display:inline-flex;align-items:center;justify-content:center;gap:0;margin:24px auto 0;padding:0}.landing-proof{position:relative;display:inline-grid;grid-auto-flow:column;align-items:baseline;gap:8px;padding:0 22px;color:#66758a;white-space:nowrap}.landing-proof:first-child{padding-left:0}.landing-proof:last-child{padding-right:0}.landing-proof+.landing-proof:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:1px;background:#3370ff29}.landing-proof strong{color:var(--feishu-blue-dark);font-size:18px;font-weight:850;line-height:1}.landing-proof span{color:#6c7889;font-size:13px;line-height:1}.landing-page-compact .landing-cta{display:flex;flex-wrap:wrap;gap:12px}.landing-page-compact .lah-btn-lg{min-height:42px;padding:0 20px;font-size:14px;border-radius:8px}.landing-product-panel{position:relative;overflow:hidden;width:min(100%,860px);border:1px solid rgba(51,112,255,.16);border-radius:16px;background:#ffffffc7;box-shadow:0 22px 64px #3370ff21,inset 0 1px #ffffffdb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.landing-product-panel:before{content:"";position:absolute;inset:-80px -80px auto auto;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(0,184,217,.18),transparent 70%);pointer-events:none}.preview-toolbar,.preview-row,.preview-run{position:relative;z-index:1}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;height:46px;padding:0 18px;border-bottom:1px solid rgba(51,112,255,.11);color:var(--feishu-ink);font-size:13px;font-weight:750}.preview-live{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;background:#00b42a1a;color:#00a63f;font-size:11px;font-weight:800;text-transform:uppercase}.preview-table{padding:10px 14px 2px}.preview-row{display:grid;grid-template-columns:minmax(0,1.5fr) 72px 70px;gap:12px;align-items:center;min-height:38px;padding:0 12px;border-bottom:1px solid rgba(51,112,255,.09);color:#526273;font-size:12px}.preview-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-head{min-height:30px;color:#8490a3;font-size:11px;font-weight:700}.preview-row.is-active{margin:4px 0;border:1px solid rgba(51,112,255,.15);border-radius:8px;background:#3370ff0f;color:var(--feishu-ink);box-shadow:0 8px 18px #3370ff12}.preview-run{margin:12px 14px 14px;padding:12px 14px;border:1px solid rgba(51,112,255,.12);border-radius:10px;background:linear-gradient(135deg,#3370ff14,#00b8d90f),#ffffffa3}.preview-run-head{display:flex;align-items:center;gap:8px;color:var(--feishu-ink);font-size:13px}.preview-run-head span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;border-radius:7px;background:#3370ff1f;color:var(--feishu-blue-dark);font-weight:800}.preview-run p{margin:8px 0 0;color:#526273;font-size:12px;line-height:1.65;overflow-wrap:anywhere}.landing-section-compact{width:min(1120px,calc(100% - 48px));max-width:none;padding:42px 0 80px}.landing-feature-section{padding-top:76px}.landing-feature-head{max-width:780px;margin:0 auto 34px;text-align:center}.landing-feature-head .section-kicker{margin-bottom:14px}.landing-feature-head h2{max-width:720px;margin:0 auto 12px;color:var(--feishu-ink);font-size:clamp(32px,4.2vw,48px);font-weight:850;line-height:1.18;letter-spacing:0}.landing-feature-head p{max-width:640px;margin:0 auto 24px;color:#5f6b7a;font-size:15px;line-height:1.75}.landing-feature-cta{min-height:38px;padding:0 22px;border-radius:999px;font-size:13px;box-shadow:0 10px 24px #3370ff2e}.landing-feature-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.landing-feature-card{position:relative;overflow:hidden;min-height:0;grid-column:span 2;border:1px solid rgba(51,112,255,.14);border-radius:16px;background:linear-gradient(180deg,#ffffffc2,#f6faffdb),#ffffffb8;box-shadow:0 20px 54px #3370ff1a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.landing-feature-card.is-large{grid-column:span 3;min-height:0}.landing-feature-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 26px 26px,rgba(51,112,255,.16) 1px,transparent 1.5px);background-size:18px 18px;opacity:.28}.landing-feature-card:after{content:"";position:absolute;inset:auto -30% -42% -30%;height:58%;background:linear-gradient(180deg,transparent,rgba(255,255,255,.92))}.landing-feature-visual,.landing-feature-copy{position:relative;z-index:1}.landing-feature-visual{aspect-ratio:16 / 9;height:auto;padding:0;overflow:hidden;border-bottom:1px solid rgba(51,112,255,.08);background:#f6faff75}.landing-feature-card.is-large .landing-feature-visual{height:auto}.landing-feature-image{display:block;width:100%;height:100%;object-fit:cover}.landing-feature-copy{display:flex;min-height:116px;flex-direction:column;justify-content:center;padding:20px 24px 24px}.landing-feature-copy h3{margin:0 0 8px;color:var(--feishu-ink);font-size:17px;font-weight:800;line-height:1.35}.landing-feature-copy p{margin:0;color:#5f6b7a;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.landing-section-compact .section-header{max-width:620px;margin:0 auto 28px;text-align:center}.section-kicker{display:inline-flex;margin-bottom:10px;color:var(--feishu-blue-dark);font-size:12px;font-weight:800;text-transform:uppercase}.landing-section-compact .section-header h2{margin-bottom:10px;font-size:30px;line-height:1.25;letter-spacing:0}.landing-section-compact .section-header p{color:#5f6b7a;font-size:15px;line-height:1.7}.landing-capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.landing-capability{min-width:0;padding:22px;border:1px solid rgba(51,112,255,.14);border-radius:12px;background:#ffffffb3;box-shadow:0 1px 2px #1f4fd60a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center}.landing-capability-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:#3370ff1a;color:var(--feishu-blue-dark);font-size:12px;font-weight:850}.landing-capability h3{margin:16px 0 8px;color:var(--feishu-ink);font-size:16px;line-height:1.35}.landing-capability p{margin:0;color:#5f6b7a;font-size:13px;line-height:1.7}.landing-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;padding:16px;border:1px solid rgba(51,112,255,.12);border-radius:14px;background:#ffffff85;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.landing-flow-step{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0;padding:10px;text-align:center}.landing-flow-step span{flex:0 0 auto;color:#1f4fd673;font-size:18px;font-weight:850}.landing-flow-step h3{margin:0 0 5px;color:var(--feishu-ink);font-size:14px;line-height:1.35}.landing-flow-step p{margin:0;color:#5f6b7a;font-size:12px;line-height:1.6}.landing-final-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:22px;border:1px solid rgba(51,112,255,.16);border-radius:14px;background:linear-gradient(135deg,#3370ff1a,#00b8d914),#ffffffb8;box-shadow:0 14px 38px #3370ff14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.landing-final-strip h2{margin:0 0 6px;color:var(--feishu-ink);font-size:20px;line-height:1.35}.landing-final-strip p{margin:0;color:#5f6b7a;font-size:13px;line-height:1.6}.landing-final-actions{display:flex;flex:0 0 auto;gap:10px}.landing-final-actions .lah-btn{min-height:38px;padding:0 16px;font-size:13px}.landing-page-compact .landing-footer{display:flex;justify-content:center;padding:0 24px;border-top:0;background:transparent}.landing-page-compact .landing-compliance-footer{align-items:center;flex-direction:column;gap:6px;padding:18px 24px 22px}.footer-icp{color:var(--feishu-muted);font-size:12px;line-height:1.5;text-decoration:none}.footer-icp:hover{color:var(--feishu-blue)}.landing-page-compact .footer-content{max-width:1120px;padding:18px 0;border-top:1px solid rgba(51,112,255,.12);justify-content:center}.landing-page-compact .footer-copy{box-sizing:border-box;width:min(1120px,100%);margin:0 auto;border-top:0;padding:0;text-align:center}@media (max-width: 920px){.landing-hero-compact{gap:28px;padding-top:92px}.landing-page-compact .landing-copy,.landing-page-compact .landing-title,.landing-page-compact .landing-subtitle{max-width:none}.landing-capability-grid,.landing-flow,.landing-feature-grid{grid-template-columns:1fr}.landing-feature-card,.landing-feature-card.is-large{grid-column:auto}.landing-final-strip{align-items:flex-start;flex-direction:column}}@media (max-width: 640px){.landing-page-compact .landing-nav{padding:0 16px}.landing-page-compact .landing-nav-title{display:none}.landing-page-compact .landing-nav-cta{display:inline-flex;min-height:30px;padding:0 12px}.landing-hero-compact,.landing-section-compact{width:min(100% - 32px,1120px)}.landing-feature-section{padding-top:58px}.landing-feature-head{margin-bottom:24px}.landing-feature-head h2{font-size:30px}.landing-feature-head p{font-size:14px}.landing-feature-card,.landing-feature-card.is-large{min-height:0}.landing-feature-visual,.landing-feature-card.is-large .landing-feature-visual{height:auto}.landing-feature-copy{min-height:108px;padding:18px 20px 22px}.landing-page-compact .landing-title{font-size:34px!important;line-height:1.12}.landing-page-compact .landing-title span{white-space:normal}.landing-page-compact .landing-subtitle{max-width:100%;font-size:15px;line-height:1.7}.landing-proof-row{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:22px}.landing-proof{padding:0}.landing-proof+.landing-proof:before{display:none}.landing-product-panel{width:100%}.preview-row{grid-template-columns:minmax(0,1fr) 62px}.preview-row span:last-child{display:none}.landing-final-actions{width:100%;flex-direction:column}.landing-final-actions .lah-btn{width:100%}}.create-progress-log{margin-top:12px;max-height:220px;overflow-y:auto;padding:10px 12px;border:1px solid var(--color-border-light);border-radius:var(--radius-card);background:#f8fbffe6;font-size:12px;line-height:1.55;color:var(--color-text-secondary)}.create-progress-line{display:flex;align-items:flex-start;gap:8px;padding:3px 0}.create-progress-line.pending{color:var(--color-text-tertiary)}.create-progress-dot{width:6px;height:6px;margin-top:6px;flex:0 0 auto;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 4px #3370ff14}.landing-page-compact{--d-paper: #fbfbf9;--d-ink: #0a0a0a;--d-secondary: #52525b;--d-muted: #8a8a93;--d-accent: #3370ff;--d-accent-dark: #1f4fd6;--d-accent-soft: #f0f5ff;--d-accent-line: #dbe7ff;--d-row-tint: #f4f8ff;--d-hairline: #ececea;--d-row-line: #f3f3f1;--d-success: #00a63f;--d-ease: cubic-bezier(.23, 1, .32, 1);background:linear-gradient(180deg,#f1f5ff 0%,var(--d-paper) 280px)}.landing-page-compact:before,.landing-page-compact:after{content:none}.landing-page-compact .landing-nav{height:56px;padding:0 28px;background:#ffffffbd;backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1);border-bottom:1px solid var(--d-hairline);box-shadow:none}.landing-nav-cta{background:var(--d-accent);color:#fff;border-radius:7px;box-shadow:none}.landing-nav-cta:hover{background:var(--d-accent-dark);box-shadow:none}.landing-hero-compact{grid-template-columns:1.08fr 1fr;align-items:stretch;justify-items:stretch;text-align:left;gap:44px;padding:96px 0 64px}.landing-page-compact .landing-copy{max-width:none;width:100%;min-width:0}.landing-page-compact .hero-badge{margin-bottom:20px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--d-accent);background:var(--d-accent-soft);border:1px solid var(--d-accent-line);border-radius:5px;padding:4px 10px}.landing-page-compact .landing-title{max-width:520px;margin:0 0 20px;font-family:Inter,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-size:clamp(34px,3.4vw,52px);font-weight:800;line-height:1.1;letter-spacing:-.025em;color:var(--d-ink);text-wrap:balance}.landing-page-compact .landing-title span{display:block;white-space:normal;color:var(--d-accent)}.landing-page-compact .landing-subtitle{max-width:40ch;margin:0 0 30px;color:var(--d-secondary);font-size:16.5px;line-height:1.65;text-align:left}.landing-proof-row{justify-content:flex-start;margin:0 0 30px}.landing-proof{grid-auto-flow:row;gap:5px;padding:0 22px;color:var(--d-muted)}.landing-proof+.landing-proof:before{background:var(--d-hairline)}.landing-proof strong{color:var(--d-ink);font-family:JetBrains Mono,ui-monospace,monospace;font-size:20px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}.landing-proof span{color:var(--d-muted);font-size:11px;letter-spacing:.03em;line-height:1}.landing-hero-cta{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:2px}.landing-hero-btn{display:inline-flex;align-items:center;background:var(--d-ink);color:#fff;font-size:14px;font-weight:600;line-height:1;padding:13px 22px;border-radius:8px;border:1px solid var(--d-ink);text-decoration:none;transition:background .14s var(--d-ease)}.landing-hero-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--d-accent)}.landing-hero-link{color:var(--d-ink);font-size:14px;font-weight:500;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--d-hairline);transition:color .14s var(--d-ease)}.landing-hero-link:focus-visible{outline:2px solid var(--d-accent);outline-offset:3px;border-radius:3px}.landing-product-panel{display:flex;flex-direction:column;border:1px solid var(--d-hairline);border-radius:14px;background:#fff;box-shadow:0 1px 2px #0f172a0a,0 18px 40px -22px #0f172a2e;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:hidden}.landing-product-panel:before{content:none}.preview-toolbar{height:44px;padding:0 18px;border-bottom:1px solid var(--d-hairline);color:var(--d-ink);font-size:12.5px;font-weight:600}.preview-live{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 9px;border-radius:999px;background:#00a63f1f;color:#00802f;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;text-transform:none}.preview-live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--d-success);animation:dLivePulse 2.4s var(--d-ease) infinite}@keyframes dLivePulse{0%,to{opacity:1}50%{opacity:.32}}.preview-table{flex:1;padding:8px 14px 4px}.preview-row{grid-template-columns:minmax(0,1fr) 78px 76px;gap:12px;min-height:40px;border-bottom:1px solid var(--d-row-line);color:var(--d-secondary);font-size:12.5px}.preview-head{min-height:30px;color:var(--d-muted);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.preview-row span:last-child{font-family:JetBrains Mono,monospace;color:var(--d-accent);font-size:11.5px;font-weight:500}.preview-row.is-active{margin:4px 0;border:1px solid var(--d-accent-line);border-radius:8px;background:var(--d-row-tint);color:var(--d-ink);box-shadow:0 6px 16px -10px #3370ff33}.preview-run{margin:12px 16px 0;padding:14px 16px;border:1px solid var(--d-hairline);border-radius:10px;background:#fafaf8}.preview-run-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:var(--d-ink);font-size:12.5px;font-weight:600}.preview-run-id{display:inline-flex;align-items:center;justify-content:center;width:30px;height:22px;border-radius:6px;background:var(--d-accent-soft);color:var(--d-accent);font-family:JetBrains Mono,monospace;font-weight:700;font-size:11px}.preview-run-live{margin-left:auto;font-style:normal;color:var(--d-muted);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;font-variant-numeric:tabular-nums}.preview-stream{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;line-height:1.85;color:var(--d-secondary)}.preview-stream span{display:block}.preview-cursor{display:inline-block;font-style:normal;margin-left:2px;color:var(--d-accent);font-weight:700;animation:dCursorBlink 1.05s steps(1) infinite}@keyframes dCursorBlink{0%,68%{opacity:1}74%,to{opacity:0}}.preview-status{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 16px;border-top:1px solid var(--d-hairline);background:#fafaf8;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10.5px;color:var(--d-muted);letter-spacing:.02em;white-space:nowrap;overflow:hidden}.preview-status-dot{flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--d-success)}.preview-status-sep{color:#d8d8d4}.preview-status-sync{margin-left:auto;color:var(--d-accent)}@media (hover: hover) and (pointer: fine){.landing-hero-btn:hover{background:#1f1f1f;transform:translateY(-1px);box-shadow:0 8px 18px -8px #0a0a0a52}.landing-hero-link:hover{color:var(--d-accent);text-decoration-color:var(--d-accent)}.landing-nav-cta:hover{transform:translateY(-1px)}}.landing-copy>*,.landing-product-panel{opacity:0;animation:dHeroIn .46s var(--d-ease) forwards}.landing-copy>*:nth-child(1){animation-delay:.04s}.landing-copy>*:nth-child(2){animation-delay:.1s}.landing-copy>*:nth-child(3){animation-delay:.16s}.landing-copy>*:nth-child(4){animation-delay:.22s}.landing-copy>*:nth-child(5){animation-delay:.28s}.landing-product-panel{transform:translateY(10px);animation-duration:.5s;animation-delay:.12s}@keyframes dHeroIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width: 980px){.landing-hero-compact{grid-template-columns:1fr;gap:32px;padding:88px 0 52px}.landing-page-compact .landing-copy{max-width:640px}}@media (max-width: 560px){.landing-page-compact .landing-title{font-size:clamp(30px,8vw,38px)}.landing-page-compact .landing-subtitle{font-size:15.5px}.landing-proof-row{flex-wrap:wrap;gap:16px 0}}@media (prefers-reduced-motion: reduce){.landing-copy>*,.landing-product-panel{opacity:1!important;transform:none!important;animation:none!important}.preview-cursor,.preview-live:before{animation:none!important}}.landing-nav-cta{background:var(--d-ink);border-radius:8px;box-shadow:none}.landing-nav-cta:hover{background:#1f1f1f;box-shadow:none}.landing-feature-cta{background:var(--d-ink);border-radius:8px;box-shadow:none;padding:0 22px;font-size:14px}.landing-feature-cta:hover{background:#1f1f1f;box-shadow:none}.landing-feature-head h2{color:var(--d-ink);font-weight:800;letter-spacing:-.02em}.landing-feature-head p{color:var(--d-secondary)}.landing-feature-head .section-kicker{color:var(--d-accent);font-family:JetBrains Mono,ui-monospace,monospace;letter-spacing:.12em;font-weight:600}.landing-feature-card{border:1px solid var(--d-hairline);border-radius:14px;background:#fff;box-shadow:0 1px 2px #0f172a0a,0 14px 32px -20px #0f172a29;backdrop-filter:none;-webkit-backdrop-filter:none;transition:border-color .18s var(--d-ease),box-shadow .18s var(--d-ease),transform .18s var(--d-ease)}.landing-feature-card:before,.landing-feature-card:after{content:none}.landing-feature-visual{border-bottom:1px solid var(--d-hairline);background:#fafaf8}.landing-feature-copy{padding:18px 22px 22px}.landing-feature-copy h3{color:var(--d-ink);font-weight:700;font-size:16px}.landing-feature-copy p{color:var(--d-secondary)}@media (hover: hover) and (pointer: fine){.landing-feature-card:hover{border-color:#d6d6d2;box-shadow:0 1px 2px #0f172a0d,0 20px 38px -22px #0f172a38;transform:translateY(-2px)}}.landing-feature-section{padding-top:24px}.landing-section-compact{padding-bottom:88px}.landing-page-compact .footer-copy,.landing-page-compact .footer-content{border-top:1px solid var(--d-hairline)}.landing-page-compact .footer-copy{color:var(--d-muted);font-size:12px}.landing-nav-cta,.landing-feature-cta,.landing-hero-btn{background:var(--d-accent);border-color:var(--d-accent);color:#fff}.landing-nav-cta:hover,.landing-feature-cta:hover,.landing-hero-btn:hover{background:var(--d-accent-dark);border-color:var(--d-accent-dark)}@media (hover: hover) and (pointer: fine){.landing-hero-btn:hover,.landing-feature-cta:hover,.landing-nav-cta:hover{transform:translateY(-1px);box-shadow:0 10px 22px -10px #3370ff8c}}.projects-page{--d-paper: #fbfbf9;--d-ink: #0a0a0a;--d-secondary: #52525b;--d-muted: #8a8a93;--d-accent: #3370ff;--d-accent-dark: #1f4fd6;--d-accent-soft: #f0f5ff;--d-accent-line: #dbe7ff;--d-row-tint: #f4f8ff;--d-hairline: #ececea;--d-row-line: #f3f3f1;--d-success: #00a63f;--d-ease: cubic-bezier(.23, 1, .32, 1);min-height:100dvh;background:var(--d-paper)}.projects-page:before{content:none}.projects-nav{height:56px;background:#ffffffd1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--d-hairline);padding:0 28px}.projects-nav-title{color:var(--d-ink);font-weight:600;letter-spacing:-.01em}.nav-logout{background:#fff;border:1px solid var(--d-hairline);color:var(--d-secondary);padding:6px 14px;border-radius:7px;font-size:13px;font-weight:500;transition:border-color .16s var(--d-ease),color .16s var(--d-ease),background-color .16s var(--d-ease)}.nav-logout:hover{color:var(--d-ink);border-color:#d6d6d2;background:#fff}.projects-content{max-width:1080px;margin:0 auto;padding:40px 24px 80px}.projects-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.projects-header h2,.projects-content h2{margin:0;color:var(--d-ink);font-size:22px;font-weight:600;letter-spacing:-.01em}.projects-header .lah-btn{padding:9px 18px;font-size:14px;font-weight:500;border-radius:8px;background:var(--d-accent);border:1px solid var(--d-accent);color:#fff;box-shadow:0 1px 2px #0f172a0d,0 6px 16px -8px #3370ff73;transition:background-color .16s var(--d-ease),border-color .16s var(--d-ease),transform .16s var(--d-ease),box-shadow .16s var(--d-ease)}.projects-header .lah-btn:hover{background:var(--d-accent-dark);border-color:var(--d-accent-dark)}@media (hover: hover) and (pointer: fine){.projects-header .lah-btn:hover{transform:translateY(-1px);box-shadow:0 1px 2px #0f172a0f,0 10px 22px -10px #3370ff8c}}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;align-items:stretch}.project-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--d-hairline);border-radius:12px;padding:22px;color:var(--d-ink);cursor:default;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 1px 2px #0f172a0a;transition:border-color .18s var(--d-ease),box-shadow .18s var(--d-ease),transform .18s var(--d-ease)}.project-card:before{content:none}@media (hover: hover) and (pointer: fine){.project-card:hover{border-color:var(--d-accent-line);box-shadow:0 1px 2px #0f172a0d,0 12px 26px -14px #3370ff38;transform:translateY(-1px)}}.project-card-link{display:block;text-decoration:none;color:inherit}.project-card-link h3{margin:0 0 14px;color:var(--d-ink);font-size:16px;font-weight:600;letter-spacing:-.005em;line-height:1.35;transition:color .16s var(--d-ease)}.project-card-link:hover h3{color:var(--d-accent-dark)}.project-card .project-agents{display:flex;flex-direction:column;gap:4px;margin-bottom:16px;flex:1 1 auto}.agent-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;padding:2px 0}.agent-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:3px 9px;border-radius:6px;line-height:1.4}.agent-badge.online{background:#00a63f17;color:var(--d-ink)}.agent-badge.online .status-dot{width:6px;height:6px;border-radius:50%;background:var(--d-success);box-shadow:0 0 0 3px #00a63f1f}.agent-badge.offline{background:var(--d-row-line);color:var(--d-secondary)}.agent-badge.offline .status-dot{width:6px;height:6px;border-radius:50%;background:var(--d-muted);box-shadow:none}.copy-cmd-btn{border:none;background:transparent;cursor:pointer;padding:4px 6px;color:var(--d-muted);font-size:13px;border-radius:5px;line-height:1;transition:color .14s var(--d-ease),background-color .14s var(--d-ease)}.copy-cmd-btn:hover{color:var(--d-accent-dark);background:var(--d-accent-soft)}.copy-cmd-btn:disabled{opacity:.5}.project-card .no-agent{font-size:12px;color:var(--d-muted);margin-bottom:16px}.project-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid var(--d-row-line)}.project-action-btn{background:#fff;border:1px solid var(--d-hairline);color:var(--d-accent-dark);padding:7px 14px;border-radius:7px;font-size:13px;font-weight:500;box-shadow:none;transition:border-color .16s var(--d-ease),background-color .16s var(--d-ease),color .16s var(--d-ease)}.project-action-btn:hover{border-color:var(--d-accent-line);background:var(--d-accent-soft);color:var(--d-accent-dark)}.project-card .project-link{margin-top:0;font-size:13px;font-weight:500;color:var(--d-accent);text-decoration:none;white-space:nowrap;transition:color .14s var(--d-ease)}.project-card .project-link:hover{color:var(--d-accent-dark)}.projects-page .empty-state{border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:transparent}.load-more-wrap{display:flex;justify-content:center;margin-top:28px}.projects-page>.modal-overlay .modal-card{border:1px solid var(--d-hairline);border-radius:14px;-webkit-backdrop-filter:none;backdrop-filter:none}.projects-page>.modal-overlay .modal-card h3{color:var(--d-ink)}@media (max-width: 760px){.projects-content{padding:28px 16px 64px}.projects-header{flex-direction:column;align-items:stretch;gap:12px}.projects-header .lah-btn{width:100%}.project-grid{grid-template-columns:1fr;gap:14px}.project-card-actions{flex-direction:column;align-items:stretch}.project-action-btn{width:100%;text-align:center}}@media (prefers-reduced-motion: reduce){.project-card,.project-card-link h3,.project-action-btn,.project-link,.copy-cmd-btn,.nav-logout,.projects-header .lah-btn{transition:none}.project-card:hover,.projects-header .lah-btn:hover{transform:none}}.project-detail .project-back{display:inline-block;font-size:13px;color:var(--d-secondary);text-decoration:none;margin-bottom:16px;transition:color .14s var(--d-ease)}.project-detail .project-back:hover{color:var(--d-accent-dark)}.project-detail .project-detail-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 32px}.project-detail .project-detail-title h2{margin:0;color:var(--d-ink);font-size:22px;font-weight:600;letter-spacing:-.01em;line-height:1.25}.project-detail .project-detail-meta{display:block;margin-top:4px;font-size:12px;color:var(--d-muted)}.project-detail .project-detail-open{flex-shrink:0;padding:9px 18px;font-size:14px;font-weight:500;border-radius:8px;background:var(--d-accent);border:1px solid var(--d-accent);color:#fff;text-decoration:none;box-shadow:0 1px 2px #0f172a0d,0 6px 16px -8px #3370ff73;transition:background-color .16s var(--d-ease),border-color .16s var(--d-ease),transform .16s var(--d-ease),box-shadow .16s var(--d-ease)}.project-detail .project-detail-open:hover{background:var(--d-accent-dark);border-color:var(--d-accent-dark);color:#fff}@media (hover: hover) and (pointer: fine){.project-detail .project-detail-open:hover{transform:translateY(-1px);box-shadow:0 1px 2px #0f172a0f,0 10px 22px -10px #3370ff8c}}.project-detail-section{margin-bottom:32px}.project-detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.project-detail-section-head h3{margin:0;font-size:15px;font-weight:600;color:var(--d-ink);letter-spacing:-.005em}.project-detail-section-hint{font-size:12px;color:var(--d-muted)}.project-detail .stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.project-detail .stat-tile{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--d-hairline);border-radius:12px;padding:16px 18px;transition:border-color .16s var(--d-ease)}.project-detail .stat-tile .stat-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--d-muted)}.project-detail .stat-tile .stat-num{font-family:JetBrains Mono,ui-monospace,SF Mono,monospace;font-size:26px;font-weight:700;color:var(--d-ink);font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.02em}.project-detail .stat-tile .stat-label{font-size:12px;color:var(--d-muted);margin-left:auto;white-space:nowrap}.project-detail .stat-tile.tone-running .stat-dot{background:var(--d-accent);box-shadow:0 0 0 3px #3370ff1f}.project-detail .stat-tile.tone-pending .stat-dot{background:var(--d-muted)}.project-detail .stat-tile.tone-done .stat-dot{background:var(--d-success);box-shadow:0 0 0 3px #00a63f1f}.project-detail .stat-tile.tone-failed .stat-dot{background:#e5484d;box-shadow:0 0 0 3px #e5484d1f}.project-detail .stat-tile.tone-total .stat-dot{background:var(--d-ink)}.project-detail .project-detail-card{background:#fff;border:1px solid var(--d-hairline);border-radius:12px;padding:4px 20px}.project-detail .project-detail-card .agent-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 0;min-height:0;justify-content:start}.project-detail .project-detail-card .agent-row+.agent-row{border-top:1px solid var(--d-row-line)}.project-detail .agent-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.project-detail .agent-status-dot.online{background:var(--d-success);box-shadow:0 0 0 3px #00a63f1f}.project-detail .agent-status-dot.offline{background:var(--d-muted);box-shadow:0 0 0 3px #8a8a931f}.project-detail .agent-info{display:flex;align-items:center;gap:10px;min-width:0}.project-detail .agent-name{font-size:14px;font-weight:500;color:var(--d-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-detail .agent-type{font-family:JetBrains Mono,ui-monospace,SF Mono,monospace;font-size:11px;font-weight:500;color:var(--d-accent-dark);background:var(--d-accent-soft);border:1px solid var(--d-accent-line);padding:2px 7px;border-radius:5px;white-space:nowrap;line-height:1.5}.project-detail .agent-state{font-size:12px;color:var(--d-muted);white-space:nowrap}.project-detail .project-detail-card .copy-cmd-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:5px 10px;border:1px solid var(--d-hairline);border-radius:6px;background:#fff;color:var(--d-secondary);line-height:1}.project-detail .project-detail-card .copy-cmd-btn:hover:not(:disabled){border-color:var(--d-accent-line);background:var(--d-accent-soft);color:var(--d-accent-dark)}.project-detail .project-detail-card .copy-cmd-btn:disabled{opacity:.5}@media (max-width: 760px){.project-detail .project-detail-head{flex-direction:column;align-items:stretch;gap:12px}.project-detail .project-detail-open{width:100%;text-align:center}.project-detail .stat-grid{grid-template-columns:repeat(2,1fr)}.project-detail-section-head{flex-direction:column;align-items:flex-start;gap:8px}.project-detail .agent-state,.project-detail .copy-cmd-label{display:none}.project-detail .project-detail-card .copy-cmd-btn{padding:5px 8px}}@media (prefers-reduced-motion: reduce){.project-detail .project-back,.project-detail .stat-tile,.project-detail .project-detail-open{transition:none}.project-detail .project-detail-open:hover{transform:none}}.projects-page .agent-cmd-block{background:#111317;border:1px solid #23262d;border-radius:10px;padding:0;margin:4px 0 16px;overflow:hidden}.projects-page .agent-cmd-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;background:#0e1014;border-bottom:1px solid #23262d}.projects-page .agent-cmd-label{display:inline-flex;align-items:center;gap:8px;font-family:JetBrains Mono,ui-monospace,SF Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#9aa0aa}.projects-page .agent-cmd-label:before{content:"";width:7px;height:7px;border-radius:2px;background:var(--d-accent);flex-shrink:0}.projects-page .agent-cmd-block pre{margin:0;padding:14px 16px;background:transparent;color:#e6e7eb;font-family:JetBrains Mono,ui-monospace,SF Mono,monospace;font-size:13px;line-height:1.75;white-space:pre;word-break:normal;overflow-x:auto}.projects-page .agent-cmd-block pre::-webkit-scrollbar{height:8px}.projects-page .agent-cmd-block pre::-webkit-scrollbar-thumb{background:#2a2e36;border-radius:4px}.projects-page .agent-cmd-block pre::-webkit-scrollbar-track{background:transparent}.projects-page .agent-cmd-head .lah-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.14);color:#e6e7eb;padding:5px 11px;font-size:12px;font-weight:500;border-radius:6px;box-shadow:none;transition:background-color .14s var(--d-ease),border-color .14s var(--d-ease),color .14s var(--d-ease)}.projects-page .agent-cmd-head .lah-btn:hover{background:#ffffff29;border-color:#ffffff42;color:#fff;transform:none;box-shadow:none}.projects-page .modal-card .agent-cmd-info{color:var(--d-muted);font-size:12.5px;line-height:1.8}.git-email-setting{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:8px;background:var(--bg-elevated, #f7f8fa);border:1px solid var(--border-light, #e8eaed);border-radius:8px;font-size:13px}.git-email-setting.editing{gap:6px}.git-email-setting .git-email-label{font-weight:500;color:var(--text-secondary, #666);flex-shrink:0}.git-email-setting .git-email-value{color:var(--text-primary, #1a1a1a)}.git-email-setting .git-email-hint{color:var(--text-tertiary, #999);font-size:12px}.git-email-setting input{flex:1;min-width:120px;padding:4px 8px;border:1px solid var(--border, #d0d3d8);border-radius:6px;font-size:13px}.git-email-setting button{padding:4px 12px;border-radius:6px;font-size:12px;cursor:pointer;border:1px solid transparent}.git-email-setting .btn-edit{background:transparent;color:var(--color-primary, #2b6cff);border-color:var(--color-primary, #2b6cff)}.git-email-setting .btn-save{background:var(--color-primary, #2b6cff);color:#fff}.git-email-setting .btn-cancel{background:transparent;color:var(--text-secondary, #666)}.git-email-setting .git-email-error{color:#e53935;font-size:12px}.floor-attachments-output{margin-top:10px;padding-top:8px;border-top:1px dashed var(--border-light, #e8eaed)}.floor-att-label{font-size:12px;font-weight:500;color:var(--text-secondary, #888);margin-bottom:6px;display:block}
