.loading-overlay{z-index:9999;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@media (prefers-color-scheme:dark){.loading-overlay{background:#00000080}}.loading-modal{color:#004a9e;background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:24px;min-width:280px;padding:40px 48px;display:flex}@media (prefers-color-scheme:dark){.loading-modal{color:#6ea8fe;background:#23242c}}.loading-logo{width:56px;height:56px;animation:2s ease-in-out infinite loading-pulse}@keyframes loading-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.08)}}.loading-spinner{border:3px solid #e0e4e8;border-top-color:#004a9e;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite loading-spin}@media (prefers-color-scheme:dark){.loading-spinner{border-color:#6ea8fe #3a3b44 #3a3b44}}@keyframes loading-spin{to{transform:rotate(360deg)}}.loading-text{opacity:.85;letter-spacing:.5px;align-items:center;min-height:22px;font-size:14px;display:flex}.loading-text-inner{animation:2.4s ease-in-out infinite loading-fade-in-out}@keyframes loading-fade-in-out{0%,to{opacity:.4}50%{opacity:1}}pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}.login-page{background:url(/assets/bg-CxtRrSYJ.webp) 50%/cover no-repeat;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}@media (prefers-color-scheme:dark){.login-page{background:url(/assets/bg-CxtRrSYJ.webp) 50%/cover no-repeat}}.login-card{background:#fff;border-radius:24px;width:100%;max-width:680px;display:flex;overflow:hidden;box-shadow:0 24px 48px #00000014}@media (prefers-color-scheme:dark){.login-card{background:#23242c;box-shadow:0 24px 48px #0000004d}}.login-brand{color:#fff;background:linear-gradient(160deg,#004a9e 0%,#002d61 100%);flex-direction:column;flex:0 0 200px;justify-content:center;align-items:center;gap:8px;padding:48px 20px;display:flex}.login-brand-mark{object-fit:contain;filter:brightness(0)invert();width:56px;height:56px}.login-brand-name{letter-spacing:-.5px;font-size:24px;font-weight:600}.login-brand-desc{opacity:.75;font-size:13px}.login-body{flex:1;min-width:0;padding:40px 36px}.login-tabs{border-bottom:1px solid var(--border);gap:16px;margin-bottom:24px;display:flex}.login-tab{color:#999;cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:15px;font-weight:500;transition:all .2s;position:relative}.login-tab.active{color:#004a9e}.login-tab.active:after{content:"";background:#004a9e;height:2px;position:absolute;bottom:-1px;left:0;right:0}.login-form{flex-direction:column;gap:16px;min-width:0;display:flex}.login-form input{box-sizing:border-box;width:100%;height:48px;color:var(--text-h);background:#f8fafc;border:1px solid #e0e4e8;border-radius:12px;padding:0 16px;font-size:15px;transition:all .2s}@media (prefers-color-scheme:dark){.login-form input{color:var(--text-h);background:#1a1b22;border-color:#3a3b44}}.login-form input:focus{background:#fff;border-color:#004a9e;outline:none;box-shadow:0 0 0 4px #004a9e1a}@media (prefers-color-scheme:dark){.login-form input:focus{background:#23242c}}.login-select{box-sizing:border-box;width:100%;height:48px;color:var(--text-h);cursor:pointer;appearance:none;background:#f8fafc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 8L1 3h10z'/%3E%3C/svg%3E") right 16px center no-repeat;border:1px solid #e0e4e8;border-radius:12px;padding:0 16px;font-size:15px;transition:all .2s}@media (prefers-color-scheme:dark){.login-select{background-color:#1a1b22;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 8L1 3h10z'/%3E%3C/svg%3E");border-color:#3a3b44}}.login-select:focus{background-color:#fff;border-color:#004a9e;outline:none;box-shadow:0 0 0 4px #004a9e1a}@media (prefers-color-scheme:dark){.login-select:focus{background-color:#23242c}}.login-row{gap:12px;min-width:0;display:flex}.login-row input{flex:1;min-width:0}.login-code-row{gap:12px;min-width:0;display:flex}.login-code-row input{flex:1;min-width:0}.login-send-btn{color:#004a9e;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e0e4e8;border-radius:12px;flex-shrink:0;padding:0 16px;font-size:14px;font-weight:500;transition:all .2s}@media (prefers-color-scheme:dark){.login-send-btn{background:#1a1b22;border-color:#3a3b44}}.login-send-btn:hover:not(:disabled){background:#f0f4f9}.login-send-btn:disabled{color:#999;cursor:not-allowed}.login-submit{color:#fff;cursor:pointer;background:#004a9e;border:none;border-radius:14px;height:52px;margin-top:8px;font-size:16px;font-weight:600;transition:all .2s}.login-submit:hover{background:#003a7d;transform:translateY(-1px);box-shadow:0 8px 16px #004a9e33}.login-msg{border-radius:10px;margin-bottom:16px;padding:10px 14px;font-size:13px}.login-msg.error{color:#cf1322;background:#fff1f0;border:1px solid #ffa39e}.login-msg.success{color:#52c41a;background:#f6ffed;border:1px solid #b7eb8f}.login-step-indicator{justify-content:center;align-items:center;gap:0;margin-bottom:4px;display:flex}.login-step{color:#999;background:#e8ecf1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:600;transition:all .3s;display:flex}.login-step.active{color:#fff;background:#004a9e}.login-step.done{color:#fff;background:#52c41a}.login-step-line{background:#e0e4e8;width:40px;height:2px;transition:background .3s}.login-step-line.active{background:#004a9e}.login-step-actions{gap:12px;margin-top:8px;display:flex}.login-back-btn{height:52px;color:var(--text);cursor:pointer;background:#fff;border:1px solid #e0e4e8;border-radius:14px;flex:1;font-size:16px;font-weight:500;transition:all .2s}@media (prefers-color-scheme:dark){.login-back-btn{background:#1a1b22;border-color:#3a3b44}}.login-back-btn:hover{background:#f5f7fa}.login-step-actions .login-submit{flex:1;margin-top:0}@media (width<=640px){.login-card{flex-direction:column;max-width:420px}.login-brand{flex:none;padding:32px 24px}.login-brand-mark{width:40px;height:40px}.login-brand-name{font-size:18px}.login-body{padding:28px 24px}}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;max-width:100%;min-height:100svh;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}:root{--surface:#f0f4f8;--surface-low:#e8eaef;--surface-mid:#edeeef;--surface-high:#e7e8e9;--surface-top:#fffc;--paper:#fff;--ink:#191c1d;--muted:#5f6472;--soft:#8d93a3;--outline:#c6c5d673;--outline-strong:#76768533;--primary:#004a9e;--secondary:#5644d0;--secondary-fixed:#e4dfff;--secondary-text:#4029ba;--tertiary-fixed:#dbeafe;--tertiary-text:#1e40af;--success:#13795b;--warning:#a15a00;--danger:#b3261e;--gradient:linear-gradient(135deg, #004a9e 0%, #5644d0 100%);--shadow-soft:0 18px 40px #191c1d0f;--shadow-float:0 10px 32px #191c1d14;--focus-ring:0 0 0 3px #5644d024;--radius-xs:6px;--radius-sm:12px;--radius-md:18px;--radius-lg:24px;--sidebar-w:296px;--sidebar-collapsed-w:0px;--chat-w:420px;--chat-panel-w:420px;--directory-panel-w:320px;--detail-w:328px;--resizer-w:6px;--toolbar-h:68px;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-lg:16px;--title-md:20px}*{box-sizing:border-box}html,body{background:var(--surface);min-height:100%;color:var(--ink);margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif}body{font-size:var(--text-md);line-height:1.6;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,article:focus-visible{box-shadow:var(--focus-ring);outline:none}::selection{background:#5644d024}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:999px}::-webkit-scrollbar-track{background:0 0}@property --scrollThumbColor{syntax:"<color>";inherits:true;initial-value:#0000}.flow-scrollbar{--scrollbar-width:0px;--scrollbar-color:#ccc;--scrollbar-hover-color:#999;--scrollThumbColor:transparent;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--scrollThumbColor) transparent;padding-right:calc(9px - var(--scrollbar-width));margin-right:-9px}.flow-scrollbar:hover,.flow-scrollbar:focus-within{--scrollbar-width:7px;--scrollThumbColor:var(--scrollbar-hover-color)}.flow-scrollbar::-webkit-scrollbar{width:9px;height:9px}.flow-scrollbar::-webkit-scrollbar-track{background:0 0}.flow-scrollbar::-webkit-scrollbar-thumb{background:var(--scrollThumbColor);border:calc((9px - var(--scrollbar-width)) / 2) solid transparent;background-clip:padding-box;border-radius:999px;min-height:36px}.flow-scrollbar::-webkit-scrollbar-corner{background:0 0}.app-shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);background:radial-gradient(circle at top right, #5644d014, transparent 28%), radial-gradient(circle at bottom left, #004a9e12, transparent 24%), var(--surface);height:100dvh;display:grid;position:relative;overflow:hidden}.sidebar{z-index:2;scrollbar-gutter:stable;background:#f3f4f5;border-right:1px solid #e4e7ec;flex-direction:column;gap:14px;min-width:0;padding:20px 16px 16px;transition:transform .22s,width .22s,padding .22s;display:flex;position:relative;overflow:auto}body.left-collapsed .app-shell{grid-template-columns:0 minmax(0,1fr)}body.left-collapsed .sidebar{border-right:none;padding:0;overflow:hidden}body.left-collapsed .brand,body.left-collapsed .sidebar-actions,body.left-collapsed .session-panel,body.left-collapsed .profile-card{display:none}.brand{align-items:center;gap:14px;padding:2px 4px;display:flex}.brand-mark{object-fit:contain;width:46px;height:46px;display:block}.brand-copy strong,.topbar-title strong,.hero-copy h1,.panel-title,.workspace-header h2,.report-title,.metric-card strong{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif}.brand-copy strong{letter-spacing:-.03em;font-size:18px;display:block}.brand-copy span{letter-spacing:.2em;color:var(--soft);font-size:11px;display:block}.session-panel{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.profile-card{box-shadow:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff94}.sidebar-actions{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;flex-direction:column;align-items:center;padding:2px 0 0;display:flex}.profile-card{border-radius:var(--radius-lg)}.sidebar-overlay{z-index:9;opacity:0;cursor:pointer;background:#191c1d73;transition:opacity .22s;display:none;position:fixed;inset:0}body.mobile-left-open .sidebar-overlay{opacity:1;display:block}.primary-pill,.secondary-pill,.ghost-pill{width:100%;min-height:44px;font-size:var(--text-sm);border-radius:999px;justify-content:center;align-items:center;gap:10px;transition:transform .18s,background .18s,color .18s;display:flex}.primary-pill{background:var(--gradient);color:#fff;box-shadow:var(--shadow-soft);font-weight:600}.primary-pill:hover,.chip:hover,.prompt-card:hover,.toolbar-btn:hover,.toolbar-select:hover{transform:translateY(-1px)}.secondary-pill{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1px var(--outline);margin-top:10px}.sidebar-actions .primary-pill,.sidebar-actions .secondary-pill{border-radius:999px;justify-content:center;align-self:center;gap:0;width:auto;min-height:42px;padding:0 16px;font-size:14px;font-weight:600}.sidebar-actions .primary-pill{color:#fff;width:100%;box-shadow:none;background:linear-gradient(135deg,#0f4d99 0%,#335fa8 100%)}.sidebar-actions .primary-pill:hover{color:#fff;box-shadow:none;transform:translateY(-1px)}.sidebar-actions .secondary-pill{box-shadow:none;color:var(--muted);background:0 0;border-radius:0;justify-content:flex-start;min-height:28px;padding-left:0;padding-right:0}.sidebar-actions .secondary-pill:hover{color:var(--primary);transform:none}.sidebar-actions .secondary-pill{margin-top:6px}.inline-icon{text-align:center;flex:none;width:24px;font-size:15px}.session-panel{min-height:0;box-shadow:none;border:none;border-radius:0;flex-direction:column;flex:1;padding:0;display:flex;overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 8px;display:flex}.panel-heading span{letter-spacing:.18em;color:var(--soft);font-size:14px;font-weight:500}.session-list{flex-direction:column;flex:1;gap:0;min-height:0;padding-right:2px;display:flex;overflow:auto}.session-card{box-shadow:none;cursor:pointer;background:0 0;border-bottom:none;border-radius:0;gap:4px;padding:10px 8px;transition:background .16s;display:grid;position:relative}.session-card:has(.session-card-menu.open){z-index:10000}.session-card-head{align-items:center;gap:10px;min-width:0;display:flex}.session-card.active{border-radius:var(--radius-xs);box-shadow:none;background:#004a9e14;transform:none}.session-card:hover{box-shadow:none;background:#0000000a}.session-meta,.session-card footer,.reasoning-item,.metric-grid,.report-meta,.inspector-grid{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.session-type{color:var(--secondary-text);background:#5644d01a;border-radius:999px;padding:4px 8px;font-size:11px}.session-stage{color:var(--soft);font-size:11px}.session-card-status-interrupted{color:#b3261e;background:#b3261e1a;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.session-card-status-interrupted:before{content:"";background:#b3261e;border-radius:50%;width:6px;height:6px;display:inline-block}.interrupted-banner{color:#b3261e;background:#b3261e0f;border:1px solid #b3261e2e;border-radius:10px;align-items:center;gap:10px;margin:8px 0;padding:12px 16px;font-size:13px;display:flex}.interrupted-banner .interrupted-icon{color:#fff;background:#b3261e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:flex}.session-card h3{margin:0;font-size:14px;font-weight:500;line-height:1.45}.session-card p{color:var(--muted);font-size:var(--text-sm);margin:0;line-height:1.6}.session-card-menu{flex-shrink:0;margin-left:auto;position:relative}.session-card-menu-toggle{color:var(--soft);cursor:pointer;opacity:.45;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:18px;line-height:1;transition:opacity .16s,color .16s,background .16s}.session-card:hover .session-card-menu-toggle,.session-card:focus-within .session-card-menu-toggle,.session-card-menu.open .session-card-menu-toggle{opacity:1}.session-card-menu-toggle:hover{color:var(--secondary);background:#0000000d}.session-card-menu-dropdown{border:1px solid var(--border);border-radius:var(--radius-xs);z-index:99999;background:#fff;min-width:120px;display:none;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 12px #0000001f}.session-card-menu.open .session-card-menu-dropdown{display:block}.session-card-menu-dropdown button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:8px 14px;font-size:13px;display:block}.session-card-menu-dropdown button:hover{background:var(--surface-low)}.session-card-menu-dropdown button[data-action=delete]{color:#e53e3e}.profile-card{align-items:center;gap:12px;padding:12px;display:flex}.profile-avatar{border-radius:var(--radius-sm);width:42px;height:42px;color:var(--secondary-text);background:linear-gradient(135deg,#004a9e2e,#5644d038);place-items:center;font-weight:700;display:grid}.workspace{grid-template-rows:var(--toolbar-h) minmax(0, 1fr);min-width:0;display:grid}.topbar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--surface-top);z-index:2;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:14px 24px;display:flex;position:sticky;top:0;box-shadow:inset 0 -1px #ffffffb3}.topbar-main,.topbar-leading{align-items:center;gap:12px;min-width:0;display:flex}.topbar-main{justify-content:space-between;gap:16px;width:100%}.panel-toggle{border-radius:var(--radius-sm);background:#ffffffd1;flex:none;justify-content:center;align-items:center;width:42px;height:42px;transition:transform .18s,background .18s;display:inline-flex;box-shadow:inset 0 0 0 1px #c6c5d638}.panel-toggle:hover{background:#fff;transform:translateY(-1px)}.topbar-title strong{font-size:var(--text-lg);letter-spacing:-.03em;display:block}.topbar-title span,.workspace-kicker,.toolbar-caption,.report-meta span,.metric-card span,.callout span,.empty-caption,.chart-caption{color:var(--soft);font-size:var(--text-xs)}.topbar-controls,.toolbar-group,.toolbar-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.workspace-tabs{background:#e8eef6;border-radius:999px;align-items:center;gap:2px;padding:3px;display:flex}.workspace-tabs-indicator{display:none}.composer textarea:focus,.composer textarea:focus-visible{box-shadow:none;outline:none}.topbar-bridge{flex:none;justify-content:center;align-items:center;display:inline-flex}.topbar-bridge .status-dot{background:var(--warning);border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 5px #a15a001f}.content-grid{grid-template-columns:minmax(320px, var(--chat-panel-w)) var(--resizer-w) minmax(0, 1fr);min-width:0;height:calc(100vh - var(--toolbar-h));height:calc(100dvh - var(--toolbar-h));display:grid;position:relative;overflow:hidden}body.workspace-dormant .content-grid,body.workspace-panel-collapsed:not(.workspace-dormant) .content-grid{grid-template-columns:minmax(0,1fr)}body.workspace-dormant .content-resizer,body.workspace-panel-collapsed:not(.workspace-dormant) .content-resizer,body.workspace-dormant .workspace-column,body.workspace-panel-collapsed:not(.workspace-dormant) .workspace-column{display:none}body.workspace-dormant .chat-column{border-right:0}body.workspace-dormant .chat-scroll{display:grid}body.workspace-dormant .hero-shell>div{width:100%;max-width:960px;margin:0 auto}.auth-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0006;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.auth-modal{background:#fff;border-radius:20px;width:100%;max-width:400px;padding:32px;animation:.3s cubic-bezier(.34,1.56,.64,1) slideUp;position:relative;box-shadow:0 20px 40px #0000001a}.auth-modal-close{color:#666;cursor:pointer;background:#f5f7f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.auth-modal-close:hover{color:#000;background:#edf0f3}.auth-modal-tabs{border-bottom:1px solid #eee;gap:16px;margin-bottom:24px;display:flex}.auth-modal-tab{color:#999;cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:15px;font-weight:500;transition:all .2s;position:relative}.auth-modal-tab.active{color:#004a9e}.auth-modal-tab.active:after{content:"";background:#004a9e;height:2px;position:absolute;bottom:-1px;left:0;right:0}.auth-modal-form{flex-direction:column;gap:16px;display:flex}.auth-modal-form input{background:#f8fafc;border:1px solid #e0e4e8;border-radius:12px;height:48px;padding:0 16px;font-size:15px;transition:all .2s}.auth-modal-form input:focus{background:#fff;border-color:#004a9e;outline:none;box-shadow:0 0 0 4px #004a9e1a}.auth-modal-row{gap:12px;display:flex}.auth-modal-row input{flex:1}.auth-modal-code-row{gap:12px;display:flex}.auth-modal-code-row input{flex:1}.auth-modal-send-btn{color:#004a9e;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e0e4e8;border-radius:12px;padding:0 16px;font-size:14px;font-weight:500;transition:all .2s}.auth-modal-send-btn:hover:not(:disabled){background:#f0f4f9}.auth-modal-send-btn:disabled{color:#999;cursor:not-allowed}.auth-modal-submit{color:#fff;cursor:pointer;background:#004a9e;border:none;border-radius:14px;height:52px;margin-top:8px;font-size:16px;font-weight:600;transition:all .2s}.auth-modal-submit:hover{background:#003a7d;transform:translateY(-1px);box-shadow:0 8px 16px #004a9e33}.auth-modal-error{color:#cf1322;background:#fff1f0;border:1px solid #ffa39e;border-radius:10px;margin-bottom:16px;padding:10px 14px;font-size:13px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.profile-card[role=button]{cursor:pointer;transition:transform .2s,background .2s}.profile-card[role=button]:hover{background:#fffc;transform:scale(1.02)}.profile-card[role=button]:active{transform:scale(.98)}.profile-wrapper{position:relative}.profile-popup{z-index:100;background:#fff;border-radius:12px;margin-bottom:8px;padding:6px 0;animation:.15s ease-out profilePopupIn;position:absolute;bottom:100%;left:12px;right:12px;box-shadow:0 8px 24px #0000001f}@media (prefers-color-scheme:dark){.profile-popup{background:#2a2b33;box-shadow:0 8px 24px #0006}}.profile-popup-item{width:100%;color:var(--text-h);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:10px 16px;font-size:14px;transition:background .15s;display:flex}.profile-popup-item:hover{background:#f5f7fa}@media (prefers-color-scheme:dark){.profile-popup-item:hover{background:#35363f}}.profile-popup-item.logout{color:#ff4d4f}.profile-popup-item.logout:hover{background:#fff1f0}@media (prefers-color-scheme:dark){.profile-popup-item.logout:hover{background:#ff4d4f1a}}@keyframes profilePopupIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.edit-user-form{flex-direction:column;gap:16px;display:flex}.edit-user-row{gap:12px;display:flex}.edit-user-row .edit-user-label{flex:1}.edit-user-label{color:#86868b;flex-direction:column;gap:6px;font-size:13px;display:flex}.edit-user-label span{letter-spacing:-.01em;font-weight:500}.edit-user-input,.edit-user-select{color:#1d1d1f;box-sizing:border-box;-webkit-appearance:none;background:#f5f5f7;border:1px solid #e8e8ed;border-radius:10px;outline:none;width:100%;padding:10px 14px;font-size:14px;transition:all .2s}.edit-user-input:focus,.edit-user-select:focus{background:#fff;border-color:#1d1d1f;box-shadow:0 0 0 3px #1d1d1f0f}.edit-user-input::placeholder{color:#c7c7cc}.edit-user-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2386868b' d='M6 8.825L1.175 4 2.238 2.938 6 6.7 9.763 2.937 10.825 4z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}@media (prefers-color-scheme:dark){.edit-user-label{color:#98989d}.edit-user-input,.edit-user-select{color:#f5f5f7;background:#2c2c2e;border-color:#38383a}.edit-user-input:focus,.edit-user-select:focus{background:#1c1c1e;border-color:#0a84ff;box-shadow:0 0 0 3px #0a84ff26}.edit-user-input::placeholder{color:#48484a}}body.workspace-dormant .composer-wrap{justify-self:center;width:100%;max-width:960px;margin-left:auto;margin-right:auto}body.workspace-dormant .workspace-header-tools{display:none}.chat-column{background:#f3f4f5e6;border-right:1px solid #c6c5d62e;grid-template-rows:minmax(0,1fr) auto;min-width:0;height:100%;min-height:0;display:grid;position:relative}.content-resizer,.workspace-resizer{width:var(--resizer-w);min-width:var(--resizer-w);cursor:ew-resize;z-index:2;background:0 0;position:relative}.content-resizer:before,.workspace-resizer:before{content:"";opacity:0;background:0 0;width:1px;transition:background .16s,box-shadow .16s,opacity .16s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.content-resizer:hover:before,.workspace-resizer:hover:before,.content-resizer.is-active-resize:before,.workspace-resizer.is-active-resize:before{opacity:1;background:#004a9e80;box-shadow:0 0 0 1px #004a9e14}body.is-resizing,body.is-resizing *{cursor:ew-resize!important;-webkit-user-select:none!important;user-select:none!important}.workspace-expand-tab{z-index:5;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.12em;color:var(--muted);cursor:pointer;background:#fffffff2;border:1px solid #c6c5d647;border-right:0;border-radius:12px 0 0 12px;margin:0;padding:14px 8px;font-size:12px;transition:background .16s,color .16s;position:absolute;top:50%;right:0;transform:translateY(-50%);box-shadow:-4px 0 16px #191c1d0f}.workspace-expand-tab:hover{color:var(--secondary-text);background:#fff}.workspace-panel-toggle{font-size:var(--text-xs);color:var(--muted);white-space:nowrap;background:#f3f4f5d9;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:8px 14px;display:inline-flex;box-shadow:inset 0 0 0 1px #c6c5d638}.workspace-panel-toggle:hover{color:var(--ink);background:#ffffffeb}.workspace-panel-toggle.is-visually-hidden{visibility:hidden;pointer-events:none}.workspace-header-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.chat-scroll{scroll-behavior:smooth;flex-direction:column;gap:18px;min-height:0;padding:18px 20px 14px;display:flex;overflow:hidden auto}.hero-shell,.workspace-shell,.workspace-placeholder,.report-page{min-width:0}.hero-shell{place-items:center;min-height:100%;padding:32px 8px 56px;display:grid}.hero-copy{text-align:center;max-width:none;margin:0 auto 36px}.hero-copy h1{letter-spacing:-.06em;margin:0 0 12px;font-size:clamp(30px,4.2vw,48px);line-height:1.02}.hero-copy h1 em{background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.hero-copy p{font-size:var(--text-lg);color:var(--muted);margin:0;line-height:1.65}.hero-grid,.metric-grid,.prompt-grid,.landing-overview{gap:16px;display:grid}.prompt-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:65%;margin:auto}.prompt-card,.hero-note,.report-card,.metric-card,.inspector-card,.result-card,.composer,.attachment-chip,.message-bubble,.reasoning-card,.toolbar-btn,.toolbar-select{background:#ffffffe6;box-shadow:inset 0 0 0 1px #c6c5d62e,0 12px 32px #191c1d0a}.prompt-card{text-align:center;border-radius:var(--radius-lg);text-align:left;padding:16px;transition:transform .18s,box-shadow .18s}.prompt-card strong{margin:14px 0 8px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:15px;display:block}.prompt-card p{color:var(--muted);font-size:var(--text-sm);margin:0;line-height:1.65}.prompt-icon{border-radius:50%;place-items:center;width:40px;height:40px;margin:0 auto;font-size:30px;display:grid;background:0 0!important}.hero-note{color:var(--muted);border-radius:999px;align-items:center;gap:10px;margin-top:18px;padding:10px 16px;font-size:12px;display:inline-flex}.message{align-items:flex-start;gap:8px;display:flex}.message.user{flex-direction:row-reverse}.message.user>div:last-child{flex-direction:column;align-items:flex-end;min-width:0;display:flex}.message-avatar{border-radius:var(--radius-sm);flex:none;place-items:center;width:38px;height:38px;font-weight:700;display:grid;overflow:hidden}.message.user .message-avatar{color:var(--primary);background:#004a9e1a;display:none}.message.assistant .message-avatar{opacity:.5;box-shadow:none;color:#0000;background:0 0}.message-avatar img{object-fit:contain;width:74%;height:74%;display:block}.message-bubble{border-radius:4px var(--radius-md) var(--radius-md) var(--radius-md);line-height:1.65;font-size:var(--text-md);text-align:left;min-width:0;max-width:100%;padding:14px 16px;overflow:hidden}.message>div:last-child{min-width:0;max-width:100%}.message.assistant>div:last-child{flex:1;overflow:hidden}.message.user>div:last-child{overflow:hidden}.message.user .message-bubble{border-radius:var(--radius-md) 4px var(--radius-md) var(--radius-md);background:0 0;display:inline-block;box-shadow:inset 0 0 0 1px #7676852e}.message.assistant .message-bubble{text-align:left}.message-bubble .markdown-body{gap:0}.message-bubble .markdown-body p{margin:0}.message-time{color:var(--soft);margin-top:6px;font-size:11px;display:none}.reasoning-card{border-radius:var(--radius-lg);gap:12px;padding:18px;display:none}.reasoning-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.reasoning-header strong{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px}.reasoning-list{gap:10px;display:grid}.report-loading-card{border-radius:var(--radius-lg);background:#ffffffeb;align-content:center;gap:18px;min-height:320px;padding:28px;display:grid;box-shadow:inset 0 0 0 1px #c6c5d62e,0 18px 40px #191c1d0d}.report-loading-card h3{letter-spacing:-.03em;color:var(--ink);margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:22px}.report-loading-card p{color:var(--muted);max-width:62ch;margin:0;line-height:1.7}.report-loading-skeleton{gap:12px;display:grid}.report-loading-line{background:linear-gradient(90deg,#e2e8f0e6,#f1f5f9,#e2e8f0e6) 0 0/200% 100%;border-radius:999px;height:14px;animation:1.8s ease-in-out infinite reportLoadingPulse}.live-canvas{border-radius:var(--radius-md);background:#ffffff8c;border:1px solid #c6c5d64d;flex-direction:column;height:100%;padding:0;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #fff9,0 8px 24px #191c1d0a}.canvas-header{background:#ffffff80;border-bottom:1px solid #c6c5d640;flex-shrink:0;align-items:center;gap:10px;padding:16px 20px 14px;display:flex}.canvas-header h3{letter-spacing:-.02em;color:var(--ink);margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px}.canvas-header .canvas-spinner{border:2px solid #5644d026;border-top-color:var(--secondary);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite canvas-spin}@keyframes canvas-spin{to{transform:rotate(360deg)}}.canvas-body{flex-direction:column;flex:1;gap:0;padding:16px 20px;display:flex;overflow-y:auto}.canvas-step-card{border-left:2px solid #c6c5d659;padding:14px 16px 14px 48px;animation:.35s ease-out canvas-fade-in;position:relative}.canvas-step-card:first-child{border-left-color:#0000}.canvas-step-card:before{content:"";background:#94a3b8;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:18px;left:-5px;box-shadow:0 0 0 1px #c6c5d64d}.canvas-step-card.step-running{border-left-color:var(--secondary)}.canvas-step-card.step-running:before{background:var(--secondary);animation:1.3s infinite pulse-dot;box-shadow:0 0 0 4px #5644d01f}.canvas-step-card.step-done{border-left-color:var(--success)}.canvas-step-card.step-done:before{background:var(--success);box-shadow:none}.canvas-step-card.step-file{border-left-color:#d97706}.canvas-step-card.step-file:before{box-shadow:none;background:#f59e0b}.canvas-step-card .step-label{color:var(--soft);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:11px;font-weight:600}.canvas-step-card.step-running .step-label{color:var(--secondary)}.canvas-step-card.step-done .step-label{color:var(--success)}.canvas-step-card.step-file .step-label{color:#d97706}.canvas-step-card .step-content{color:var(--ink);font-size:13px;line-height:1.6}@keyframes canvas-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.canvas-done-banner{text-align:center;color:var(--success);border-top:1px solid #c6c5d640;flex-shrink:0;padding:14px;font-size:14px;font-weight:600}.report-loading-line.short{width:34%}.report-loading-line.mid{width:58%}.report-loading-line.long{width:82%}@keyframes reportLoadingPulse{0%{background-position:200% 0}to{background-position:-200% 0}}.session-card-title{white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.reasoning-item{border-radius:var(--radius-md);background:#f3f4f5b8;justify-content:flex-start;padding:10px 12px}.reasoning-dot{border-radius:50%;flex:none;width:11px;height:11px;position:relative}.reasoning-item.done .reasoning-dot{background:var(--success)}.reasoning-item.running .reasoning-dot{background:var(--secondary);animation:1.3s infinite pulse;box-shadow:0 0 0 7px #5644d01f}.reasoning-item.pending .reasoning-dot{background:#76768538}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.9)}}.loading-line{align-items:center;gap:10px;display:inline-flex}.thinking-loader{color:var(--primary);align-items:center;gap:6px;display:inline-flex;transform:translateY(1px)}.thinking-loader span{opacity:.22;will-change:transform, opacity;background:currentColor;border-radius:50%;width:6px;height:6px;animation:3s ease-in-out infinite thinking-loader;transform:translateY(0)scale(.92)}.thinking-loader span:first-child{animation-delay:-2s}.thinking-loader span:nth-child(2){animation-delay:-1s}.thinking-loader span:nth-child(3){animation-delay:0s}@keyframes thinking-loader{0%,20%,to{opacity:.22;transform:translateY(0)scale(.92)}10%{opacity:.92;transform:translateY(-3px)scale(1)}}.thinking-block-wrapper{margin-bottom:8px}.thinking-block{background:#ffffffe6;border-left:3px solid #2c5ca5;border-radius:0 8px 8px 0;margin:4px 0 8px;transition:max-height .3s;overflow:hidden;box-shadow:inset 0 0 0 1px #c6c5d62e,0 12px 32px #191c1d0a}.thinking-block.collapsed{max-height:32px}.thinking-block-header{cursor:pointer;color:#5644d0;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-weight:600;display:flex}.thinking-block-header .th-icon{font-size:14px}.thinking-block-header .th-toggle{opacity:.6;margin-left:auto;font-size:10px}.thinking-block-body{color:#4a4580;word-break:break-word;text-align:left;max-height:240px;padding:0 12px 10px;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:12px;line-height:1.65;overflow-y:auto}.thinking-block.collapsed .thinking-block-body{display:none}.thinking-cursor-blink{vertical-align:text-bottom;background:#5644d0;border-radius:1px;width:7px;height:13px;margin-left:2px;animation:.85s step-end infinite blink-cursor;display:inline-block}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}.design-progress-bar-wrap{background:#e4dfff;border-radius:6px;height:6px;margin:6px 0 4px;overflow:hidden}.design-progress-bar{background:linear-gradient(90deg,#5644d0,#004a9e);border-radius:6px;width:0%;height:100%;transition:width .4s;animation:1.5s linear infinite progress-indeterminate}@keyframes progress-indeterminate{0%{background-position:0 0}to{background-position:200% 0}}.streaming-cursor{vertical-align:text-bottom;background:var(--secondary);border-radius:1px;width:2px;height:1.1em;margin-left:2px;animation:1s step-end infinite cursor-blink;display:inline-block}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.message.is-streaming .message-bubble{animation:2.4s ease-in-out infinite streaming-glow;box-shadow:inset 0 0 0 1px #5644d01f,0 0 #5644d000}.gate-bubble{background:linear-gradient(135deg,#004a9e0a,#5644d00d);padding:16px 18px;box-shadow:inset 0 0 0 1px #004a9e2e}.gate-question{font-size:var(--text-md);color:var(--ink);margin-bottom:12px;line-height:1.55}.gate-actions{flex-wrap:wrap;gap:10px;display:flex}.gate-btn{cursor:pointer;border:0;border-radius:999px;min-height:36px;padding:0 18px;font-size:13px;font-weight:600;transition:transform .15s,opacity .15s,box-shadow .15s,background .15s}.gate-btn:hover{transform:translateY(-1px)}.gate-btn:active{transform:translateY(0)}.gate-btn-primary{background:var(--primary,#004a9e);color:#fff;box-shadow:0 2px 8px #004a9e2e}.gate-btn-primary:hover{box-shadow:0 4px 14px #004a9e40}.gate-btn-secondary{color:var(--ink,#1c1c1f);background:#fff;box-shadow:inset 0 0 0 1px #004a9e2e}.gate-btn-secondary:hover{background:#004a9e0a}.gate-input-row{align-items:center;gap:8px;display:flex}.gate-other-row{flex:320px;align-items:center;gap:8px;min-width:260px;display:flex}.gate-input{min-width:0;color:var(--ink);background:#fff;border:1px solid #004a9e2e;border-radius:8px;outline:0;flex:1;padding:9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.gate-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #004a9e1a}.gate-hint{color:var(--soft,#8a8fa0);margin-top:8px;font-size:11px}.gate-error{color:#b3261e;background:#b3261e0f;border-radius:6px;margin-top:8px;padding:6px 10px;font-size:12px}.gate-answered{color:var(--ink);opacity:.85;align-items:center;gap:6px;font-size:13px;display:flex}.gate-answered-tick{background:var(--primary,#004a9e);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:inline-flex}@keyframes reporter-pop-in{0%{opacity:.85;transform:translate(8px)scale(.985)}60%{opacity:1;transform:translate(-2px)scale(1.003)}to{opacity:1;transform:translate(0)scale(1)}}.workspace-column.reporter-pop-in{animation:.75s cubic-bezier(.34,1.56,.64,1) reporter-pop-in}.reporter-skeleton{box-sizing:border-box;flex-direction:column;gap:12px;width:100%;padding:32px 40px;display:flex}.reporter-skeleton-header{color:var(--primary,#004a9e);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.reporter-skeleton-pulse{background:var(--primary,#004a9e);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite reporter-pulse;display:inline-flex}@keyframes reporter-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.reporter-skeleton-bar{background:linear-gradient(90deg,#004a9e0f,#5644d01a,#004a9e0f) 0 0/200% 100%;border-radius:6px;height:12px;animation:1.6s linear infinite reporter-shimmer}.reporter-skeleton-bar.w90{width:90%}.reporter-skeleton-bar.w70{width:70%}.reporter-skeleton-bar.w50{width:50%}.reporter-skeleton-bar.tall{border-radius:10px;height:140px;margin-top:12px}@keyframes reporter-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.message.is-card .message-bubble.artifact-card{cursor:pointer;background:#f7faff;border:1px solid #004a9e2e;align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s,box-shadow .15s,transform .12s;display:flex}.message.is-card .message-bubble.artifact-card:hover{border-color:#004a9e;transform:translateY(-1px);box-shadow:0 2px 10px #004a9e1f}.artifact-card-icon{flex-shrink:0;font-size:22px}.artifact-card-main{flex:1;min-width:0}.artifact-card-name{color:#08162f;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.artifact-card-sub{color:#5a7184;margin-top:2px;font-size:12px}.artifact-card-arrow{color:#94a3b8;flex-shrink:0;font-size:20px}.artifact-card-running{cursor:default;background:#f0f6ff;border-color:#004a9e40}.artifact-card-spinner{border:2px solid #004a9e40;border-top-color:#004a9e;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.8s linear infinite artifact-spin}@keyframes artifact-spin{to{transform:rotate(360deg)}}@keyframes streaming-glow{0%,to{box-shadow:inset 0 0 0 1px #5644d01f,0 0 12px #5644d000}50%{box-shadow:inset 0 0 0 1px #5644d038,0 0 16px #5644d00f}}.composer-wrap{z-index:3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#f3f4f500 0%,#f3f4f5eb 24%);padding:14px 0 16px;position:sticky;bottom:0}.attachment-row{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.attachment-chip{color:var(--muted);border-radius:999px;align-items:center;gap:0;padding:10px 14px;font-size:12px;display:inline-flex}.attachment-chip button{color:var(--soft);padding:0}.composer{border-radius:var(--radius-lg);background:linear-gradient(180deg, #fffffff5, #f6f8fbf0), var(--paper);margin:0 20px;padding:10px 12px 8px;transition:box-shadow .18s,transform .18s;box-shadow:inset 0 0 0 1px #c6c5d63d,inset 0 1px #ffffffd9,0 14px 36px #191c1d0f}.composer:focus-within{box-shadow:inset 0 0 0 1px #5644d038,inset 0 1px #ffffffe6,0 18px 42px #191c1d14}.composer textarea{resize:none;width:100%;min-height:56px;max-height:220px;font-size:var(--text-md);color:var(--ink);background:0 0;border:0;outline:none;line-height:1.65;overflow:auto}.composer textarea::placeholder{color:var(--soft)}.composer-footer{border-top:0;justify-content:space-between;align-items:center;gap:0;margin-top:6px;padding-top:4px;display:flex}.composer-actions{flex-wrap:wrap;align-items:center;gap:0;margin-left:6px;display:flex}.chip{min-height:36px;color:var(--muted);box-shadow:none;letter-spacing:.01em;opacity:.88;background:0 0;border-radius:0;align-items:center;gap:6px;padding:0;font-size:12px;font-weight:500;transition:color .18s,opacity .18s;display:inline-flex}.chip:hover{color:var(--primary);box-shadow:none;opacity:1;background:0 0}.chip-upload-icon{width:auto;height:auto;color:var(--primary);box-shadow:none;background:0 0;border-radius:0;justify-content:center;align-items:center;font-size:22px;line-height:1;display:inline-flex}.send-btn{border-radius:var(--radius-sm);background:var(--primary);color:#fff;min-width:40px;height:40px;box-shadow:none;justify-content:center;align-items:center;gap:0;padding:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .16s,opacity .16s;display:inline-flex}.send-btn:not(:disabled):hover{background:#005bb5;transform:translateY(-2px)}.send-btn:not(:disabled):hover .send-btn-icon{transform:translateY(-1px)}.send-btn:active:not(:disabled):not(.is-stop){animation:.32s ease-out forwards btn-launch}.send-btn:disabled{cursor:not-allowed;color:#fff;opacity:1;background:#c9cdd4;animation:none;transform:none}.chip:disabled{cursor:not-allowed;opacity:.35}.send-btn.is-stop{color:var(--primary);background:#f1f5f9}.send-btn.is-stop:hover{background:#e8eef5}.send-btn-icon{flex:none;place-items:center;width:22px;height:22px;font-size:0;line-height:1;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:grid}.send-btn-icon svg{width:20px;height:20px}.send-btn.is-stop .send-btn-icon svg{width:16px;height:16px}.send-btn-label{white-space:nowrap;display:none}.workspace-column{background:var(--paper);min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.detail-sidebar{display:none}.detail-card{gap:0;display:grid}.detail-card h3,.detail-card h4{letter-spacing:-.03em;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif}.detail-card p,.file-meta{color:var(--muted);line-height:1.6;font-size:var(--text-sm);margin:0}.detail-stack{gap:10px;display:grid}.file-list{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:0;padding:2px 0;display:flex;overflow-x:auto}.file-item{max-width:min(100%,380px);color:inherit;cursor:pointer;font:inherit;background:#004a9e14;border:0;border-radius:999px;flex:none;align-items:center;gap:0;padding:6px 8px 6px 10px;display:inline-flex;box-shadow:inset 0 0 0 1px #004a9e2e}.file-item.active{background:#004a9e2e;box-shadow:inset 0 0 0 1px #004a9e59}.file-name{font-size:var(--text-sm);overflow-wrap:anywhere;white-space:nowrap;text-overflow:ellipsis;max-width:220px;margin:0;line-height:1.3;overflow:hidden}.workspace-shell{background:linear-gradient(180deg, #f8f9fadb 0%, #fff 22%), var(--paper);grid-template-rows:minmax(0,1fr);height:100%;min-height:0;display:grid}.workspace-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;padding:18px 22px 14px;display:flex}.workspace-header h2{letter-spacing:-.05em;margin:8px 0 0;font-size:clamp(22px,2.6vw,32px);line-height:1.12}.workspace-tab{font-size:var(--text-xs);color:#5a6a80;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 14px;font-weight:500;transition:background .16s,color .16s}.workspace-tab:hover:not(.active){color:var(--primary);background:#dce5f0}.workspace-tab.active{background:var(--primary);color:#fff}.workspace-body{flex-direction:column;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.workspace-body-layout{grid-template-columns:minmax(0, 1fr) var(--resizer-w) minmax(240px, var(--directory-panel-w));flex:auto;height:100%;min-height:0;display:grid}.workspace-main{flex-direction:column;flex:auto;height:100%;min-height:0;padding:0;display:flex;overflow:auto}.workspace-detail{background:#fafbfcf5;border-left:1px solid #c6c5d633;flex-direction:column;gap:0;min-height:0;padding:0;display:flex;overflow:hidden}body.directory-panel-collapsed .workspace-body-layout{grid-template-columns:minmax(0,1fr)}body.directory-panel-collapsed .workspace-detail,body.directory-panel-collapsed .workspace-resizer{display:none}.workspace-placeholder{flex-direction:column;height:100%;min-height:100%;display:flex}.landing-overview{align-items:start}.report-card,.inspector-card,.result-card{border-radius:var(--radius-lg);padding:18px}.report-card h3,.result-card h3{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:var(--title-md);letter-spacing:-.04em;margin:0 0 8px}.report-card p,.empty-caption,.result-card p,.callout p{color:var(--muted);line-height:1.62;font-size:var(--text-md);margin:0}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;margin-top:18px;display:grid}.metric-card{border-radius:var(--radius-lg);padding:14px}.metric-card strong{letter-spacing:-.05em;font-size:22px;display:block}.callout{border-radius:var(--radius-lg);background:#ffdbc87a;gap:6px;padding:16px 18px;display:grid;box-shadow:inset 4px 0 #c86e24}.report-page{flex-direction:column;flex:auto;gap:10px;width:100%;max-width:none;height:100%;min-height:100%;margin:0 auto;padding-bottom:0;display:flex}.report-preview-tabs{scrollbar-width:thin;align-items:center;gap:10px;min-width:0;padding:16px 18px 0;display:flex;overflow:auto hidden}.report-preview-tab{min-width:0;max-width:260px;color:var(--muted);white-space:nowrap;background:#e8eef6b8;border-radius:12px 12px 0 0;align-items:center;gap:8px;padding:9px 14px;font-size:12px;font-weight:600;transition:background .16s,color .16s;display:inline-flex}.report-preview-tab-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.report-preview-tab.active{color:var(--primary);background:#ffffffeb;box-shadow:inset 0 1px #ffffffb3,0 -1px #004a9e14}.report-preview-tab-close{width:18px;height:18px;color:inherit;background:#0000000d;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:11px;line-height:1;transition:background .16s,color .16s;display:inline-flex}.report-preview-tab-close:hover{color:var(--primary);background:#004a9e1f}.report-toolbar{z-index:3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#f8f9faeb,#f8f9fabd);justify-content:space-between;align-items:center;gap:0;padding:6px 0;display:flex;position:sticky;top:0}.toolbar-group{gap:0}.toolbar-btn,.toolbar-select{min-height:30px;font-size:var(--text-xs);border-radius:999px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.toolbar-btn.is-active{background:var(--secondary-fixed);color:var(--secondary-text);box-shadow:none}.toolbar-select{appearance:none;border:0;outline:0}.report-article{text-align:left;background:#ffffffe0;flex:auto;height:100%;min-height:0;padding:20px;overflow:auto;box-shadow:0 24px 60px #191c1d0d}.html-preview-frame{border-radius:var(--radius-md);background:#fff;border:0;width:100%;height:100%;min-height:640px;display:block}.report-article pre{border-radius:var(--radius-sm);white-space:pre;background:#f3f4f5e6;margin:0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.55;overflow:auto;box-shadow:inset 0 0 0 1px #c6c5d63d}.preview-empty{color:var(--muted);font-size:13px;line-height:1.7}.file-raw-preview{color:var(--ink);white-space:pre-wrap;word-break:break-word;background:#f7f9fc;border-radius:16px;margin:0;padding:16px 18px;font-size:12px;line-height:1.75;overflow:auto;box-shadow:inset 0 0 0 1px #c6c5d629}.code-highlight-box{background:#f7f9fc;border-radius:16px;max-height:80vh;padding:16px 18px;overflow:auto;box-shadow:inset 0 0 0 1px #c6c5d629}.code-highlight-box pre{margin:0}.code-highlight-box pre code{font-size:12px;line-height:1.75;background:0 0!important;padding:0!important}.json-artifact{padding:4px}.json-table{border-collapse:collapse;width:100%;font-size:13px}.json-table .json-key{color:#08162f;white-space:nowrap;vertical-align:top;background:#f7faff;border-bottom:1px solid #c6c5d633;width:1%;padding:6px 10px;font-weight:600}.json-table .json-v{color:#2a3f52;word-break:break-word;vertical-align:top;border-bottom:1px solid #c6c5d633;padding:6px 10px}.json-table.json-nested-table{margin:4px 0}.json-subtable{border-collapse:collapse;border-radius:8px;width:100%;margin:4px 0;font-size:13px;overflow:hidden}.json-subtable th{text-align:left;color:#fff;white-space:nowrap;background:#08162f;padding:8px 12px;font-weight:600;position:sticky;top:0}.json-subtable td{color:#2a3f52;word-break:break-word;vertical-align:top;border-bottom:1px solid #c6c5d626;padding:6px 12px}.json-subtable tr:nth-child(2n) td{background:#f7faff}.json-null{color:#94a3b8}.file-media-preview{background:#f7f9fce6;border-radius:16px;justify-content:center;align-items:center;min-height:520px;padding:16px;display:flex;box-shadow:inset 0 0 0 1px #c6c5d629}.file-media-preview img{object-fit:contain;max-width:100%;max-height:72vh;box-shadow:var(--shadow-soft);border-radius:10px}.markdown-body{overflow-wrap:break-word;word-break:break-word;gap:10px;min-width:0;max-width:100%;display:grid;overflow-x:hidden}.markdown-body p{overflow-wrap:anywhere;margin:0;line-height:1.68}.markdown-body h1,.markdown-body h2,.markdown-body h3{letter-spacing:-.03em;overflow-wrap:anywhere;min-width:0;margin:4px 0 0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif}.markdown-body ul,.markdown-body ol{gap:6px;min-width:0;margin:0;padding-left:22px;display:grid}.markdown-body li{overflow-wrap:anywhere;line-height:1.65}.markdown-body blockquote{border-radius:var(--radius-xs);color:var(--muted);background:#f3f4f5cc;min-width:0;margin:0;padding:8px 12px;overflow:hidden;box-shadow:inset 3px 0 #5644d073}.markdown-body table{border-collapse:collapse;width:100%;min-width:0;margin:4px 0;font-size:13px;display:block;overflow-x:auto}.markdown-body thead,.markdown-body tbody{table-layout:fixed;width:100%;display:table}.markdown-body th{text-align:left;text-overflow:ellipsis;word-break:break-word;overflow-wrap:break-word;background:#5644d00a;border-bottom:2px solid #5644d026;padding:8px 12px;font-weight:600;overflow:hidden}.markdown-body td{text-overflow:ellipsis;word-break:break-word;overflow-wrap:break-word;border-bottom:1px solid #c6c5d62e;padding:6px 12px;overflow:hidden}.markdown-body tr:hover td{background:#5644d008}.markdown-body code{border-radius:var(--radius-xs);color:#1f2d3d;word-break:break-all;overflow-wrap:break-word;background:#5644d014;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.92em}.markdown-body pre code{background:0 0;border-radius:0;padding:0}.markdown-body pre{border-radius:var(--radius-sm);white-space:pre;box-sizing:border-box;background:#f3f4f5e6;min-width:0;max-width:100%;margin:0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.55;overflow-x:auto;box-shadow:inset 0 0 0 1px #c6c5d63d}.preview-empty{color:var(--muted);font-size:var(--text-sm)}.report-kicker{text-transform:uppercase;letter-spacing:.24em;color:var(--secondary);margin:0 0 12px;font-size:12px;font-weight:700}.report-title{letter-spacing:-.07em;margin:0;font-size:clamp(26px,3.1vw,40px);line-height:1.08}.report-subtitle{font-size:var(--text-lg);color:var(--muted);max-width:760px;margin:12px 0 0;line-height:1.62}.report-meta{margin:18px 0 8px}.report-section{gap:12px;padding-top:20px;display:grid}.report-section h3{letter-spacing:-.04em;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:21px}.report-section p,.report-list li,.results-list li{color:var(--muted);line-height:1.7;font-size:var(--text-md);overflow-wrap:anywhere;margin:0}.report-list,.results-list{gap:14px;margin:0;padding-left:20px;display:grid}.analysis-grid{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);align-items:start;gap:18px;display:grid}.struct-wrap{color:#1f2d3d;flex-direction:column;height:100%;min-height:480px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Segoe UI,sans-serif;display:flex}.struct-topbar{color:#fff;border-radius:var(--radius-md) var(--radius-md) 0 0;background:linear-gradient(90deg,#08162f,#0e2444);align-items:center;gap:10px;padding:11px 16px;display:flex}.struct-topbar-name{letter-spacing:.2px;font-size:14px;font-weight:600}.struct-sel-badge{color:#ffb3bd;background:#e23b4e29;border:1px solid #e23b4e66;border-radius:999px;padding:3px 10px;font-size:12px}.struct-card{background:radial-gradient(120% 120% at 50% 0,#13243f 0%,#0c1626 70%);flex:1;min-height:300px;position:relative}.struct-viewer{position:absolute;inset:0}.struct-viewer canvas{position:absolute!important}.struct-tools{z-index:5;gap:6px;display:flex;position:absolute;top:10px;right:12px}.struct-btn{appearance:none;cursor:pointer;color:#dfe9f6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a2850a8;border:1px solid #78a0d247;border-radius:8px;padding:6px 11px;font-size:12px;transition:background .15s}.struct-btn:hover{background:#0a6cff80}.struct-btn.active{color:#fff;background:#0a6cff;border-color:#0000}.struct-hint{color:#7d93ad;z-index:5;font-size:11px;position:absolute;bottom:10px;left:12px}.struct-overlay{color:#90a6c0;z-index:6;background:#0c1626b3;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;inset:0}.struct-overlay.struct-error{color:#f87171}.seq-card{border-radius:0 0 var(--radius-md) var(--radius-md);background:#fff;border-top:1px solid #e6ecf3;flex-direction:column;max-height:42vh;padding:12px 16px 14px;display:flex;box-shadow:0 -6px 18px #08162f0f}.seq-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.seq-title{color:#08162f;font-size:12.5px;font-weight:600}.seq-hint{color:#6b7f95;font-size:11px}.seq-hint b{color:#004a9e}.seq-legend{color:#6b7f95;flex-wrap:wrap;gap:12px;margin-left:auto;font-size:10.5px;display:flex}.seq-legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:3px;font-style:normal;display:inline-block}.seq-scroll{background:#fbfdff;border:1px solid #e6ecf3;border-radius:10px;padding:10px 12px;overflow:auto}.seq-row{white-space:nowrap;align-items:center;margin:2px 0;font-family:SF Mono,JetBrains Mono,Menlo,Consolas,monospace;line-height:1;display:flex}.seq-num{text-align:right;color:#9aabbd;-webkit-user-select:none;user-select:none;flex:none;width:46px;padding-right:10px;font-size:11px}.seq-cells{gap:2px;display:flex}.seq-gap{flex:none;width:6px}.seq-res{color:#243244;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;justify-content:center;align-items:center;width:19px;height:22px;font-size:12px;font-weight:600;transition:transform 80ms,box-shadow 80ms,outline 80ms;display:inline-flex}.seq-res:hover{z-index:2;transform:translateY(-2px)scale(1.12);box-shadow:0 3px 8px #08162f2e}.seq-res.sel{color:#fff;outline-offset:1px;outline:2px solid #e23b4e;background:#004a9e!important}.aa-hp{background:#ffe4bf}.aa-po{background:#cfeede}.aa-ac{background:#ffd2d9}.aa-ba{background:#cfe0fb}.aa-gp{background:#ece6f7}.inspector-card{gap:16px;display:grid}.inspector-grid{justify-content:flex-start;gap:12px}.residue-row{flex-wrap:wrap;gap:0;margin-top:6px;display:flex}.residue{border-radius:var(--radius-xs);width:34px;height:34px;color:var(--ink);background:#f3f4f5f0;place-items:center;font-size:12px;font-weight:700;transition:transform .18s,background .18s,color .18s;display:grid;box-shadow:inset 0 0 0 1px #c6c5d64d}.residue:hover,.residue.active{color:var(--secondary-text);background:#5644d024;transform:translateY(-1px)}.residue.mutation{color:var(--primary);background:#004a9e24}.result-card{gap:16px;display:grid}.chart-card{border-radius:var(--radius-lg);background:linear-gradient(180deg, #f3f4f5d1, #ffffffeb), var(--paper);padding:22px;box-shadow:inset 0 0 0 1px #c6c5d62e}.chart{width:100%;height:240px;display:block}.ghost-pill{color:var(--ink);background:#f3f4f5eb;width:auto;padding:0 18px;box-shadow:inset 0 0 0 1px #c6c5d62e}.empty-state{text-align:center;justify-content:center;align-items:flex-start;min-height:100%;padding:42px 0 56px;display:flex}.empty-box{border-radius:var(--radius-lg);background:#ffffffe0;gap:14px;max-width:540px;padding:28px 24px;display:grid;box-shadow:inset 0 0 0 1px #c6c5d633,0 14px 32px #191c1d0d}.empty-box strong{letter-spacing:-.04em;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:24px}.hidden-input{display:none}.workspace-directory-panel{flex-direction:column;height:100%;min-height:0;display:flex}.directory-toolbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc7;border-bottom:1px solid #c6c5d633;justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 12px;display:flex}.directory-toolbar h3{letter-spacing:-.02em;margin:0;font-size:14px}.directory-toolbar-actions{align-items:center;gap:8px;display:flex}.directory-toolbar-actions.is-visually-hidden{visibility:hidden;pointer-events:none}.directory-toolbar-btn{color:var(--muted);background:#e8eef6e6;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;transition:background .16s,color .16s}.directory-toolbar-btn:hover{color:var(--primary);background:#dce5f0f2}.directory-tree{flex:auto;min-height:0;padding:14px 10px 18px 12px;overflow:auto}.directory-empty{color:var(--muted);margin:0;padding:10px 8px;font-size:12px;line-height:1.7}.file-tree-node{margin-left:0}.file-tree-folder{margin:0}.file-tree-folder>summary{color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:8px;padding:7px 8px;font-size:12px;font-weight:600;list-style:none;display:flex}.file-tree-arrow{flex:none;justify-content:center;align-items:center;width:16px;height:16px;transition:transform .16s;display:flex}.file-tree-arrow:after{content:"";border-top:1.5px solid var(--soft);border-right:1.5px solid var(--soft);width:5px;height:5px;display:block;transform:rotate(45deg)}.file-tree-folder[open]>summary .file-tree-arrow{transform:rotate(90deg)}.file-tree-folder>summary::-webkit-details-marker{display:none}.file-tree-folder>summary:hover,.file-tree-file:hover{background:#004a9e0d}.file-tree-children{border-left:1px dashed #c6c5d680;margin-left:12px;padding-left:10px}.file-tree-file{width:100%;color:var(--muted);text-align:left;border-radius:10px;align-items:center;gap:8px;padding:7px 8px;font-size:12px;transition:background .16s,color .16s;display:flex}.file-tree-file.active{color:var(--primary);background:#004a9e1a;font-weight:600}.file-tree-file-row{border-radius:10px;align-items:center;gap:4px;display:flex;position:relative}.file-tree-file-row.active{background:#004a9e1a}.file-tree-file-row.active .file-tree-file{color:var(--primary);font-weight:600}.file-tree-file-row .file-tree-file{flex:auto;min-width:0}.file-tree-download-btn{opacity:0;flex:none;transition:opacity .16s;color:var(--muted)!important;font-size:12px!important}.file-tree-file-row:hover .file-tree-download-btn{opacity:1}.file-tree-icon{text-align:center;opacity:.82;flex:none;width:18px}.file-tree-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width<=1280px){:root{--chat-w:380px;--chat-panel-w:380px}.workspace-detail{border-left:1px solid #c6c5d633;padding-top:0}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1080px){body{overflow:auto}.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh}.sidebar{gap:14px;padding:18px 18px 12px}.workspace{min-height:0}.content-grid,.landing-overview,.analysis-grid{grid-template-columns:1fr}.content-grid{position:relative}.sidebar{z-index:11;width:min(88vw,320px);height:100dvh;box-shadow:var(--shadow-float);transition:transform .26s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;overflow:hidden;transform:translate(-100%)}body.mobile-left-open .sidebar{transform:translate(0)}.sidebar-overlay{display:none}body.mobile-left-open .sidebar-overlay{opacity:1;display:block}.workspace-detail,.content-resizer,.workspace-resizer{display:none}.workspace-body-layout,body.left-collapsed .app-shell{grid-template-columns:1fr}.chat-column{border-bottom:1px solid #c6c5d62e}.workspace-header{padding-top:22px}}@media (width<=720px){:root{--toolbar-h:auto}.topbar,.workspace-header,.report-toolbar,.chat-scroll,.composer-wrap,.workspace-body{padding-left:18px;padding-right:18px}.prompt-grid,.metric-grid{grid-template-columns:1fr}.sidebar{padding:14px 14px 10px}.sidebar-actions,.session-panel,.profile-card,.detail-card,.file-item,.report-card,.inspector-card,.result-card,.report-article,.composer{border-radius:var(--radius-md)}.sidebar .profile-card{flex-shrink:0}.topbar{padding:10px 14px}.topbar-main{gap:8px}.topbar-leading{flex-wrap:nowrap;overflow:hidden}.topbar-title{min-width:0;overflow:hidden}.topbar-title strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar-title span{display:none}.topbar-controls{flex-shrink:0}.workspace-header-tools{display:none}.hero-copy{text-align:left;max-width:none}.composer textarea{min-height:48px}.composer-footer{flex-direction:row;align-items:center}.send-btn{flex-shrink:0}}.ph-tag{border-radius:var(--radius-sm);align-items:center;gap:6px;margin:2px 0;padding:3px 10px;font-size:13px;font-weight:500;line-height:1.5;display:inline-flex}.ph-tag-step{color:#004a9ed9}.ph-tag-file{color:var(--ink);text-overflow:ellipsis;background:#0000000a;border:1px solid #00000014;max-width:100%;text-decoration:none;overflow:hidden}.ph-tag-file:hover{background:#00000014}.ph-tag-file .ph-icon{font-size:14px}.ph-tag-card{border-radius:var(--radius-xs,6px);cursor:pointer;background:#00000008;border:1px solid #00000014;align-items:center;gap:8px;min-width:0;max-width:100%;margin:4px 0;padding:8px 12px;display:flex;overflow:hidden}.ph-tag-card:hover{background:#0000000f}.ph-tag-card .ph-icon{flex-shrink:0;font-size:14px}.ph-card-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.ph-card-path{color:#00000073;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.ph-plan{border-radius:var(--radius-xs);background:0 0;border:1px solid #0000000f;min-width:0;max-width:100%;margin:8px 0;overflow:hidden}.ph-plan-header{cursor:pointer;color:var(--primary);background:#00000008;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.ph-plan-header:before{content:"▸";transition:transform .2s}.ph-plan.open .ph-plan-header:before{transform:rotate(90deg)}.ph-plan-body{padding:8px 14px 12px;display:none}.ph-plan.open .ph-plan-body{flex-direction:column;gap:4px;display:flex}.toast-container{z-index:999999;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}.toast{pointer-events:auto;border-radius:var(--radius-sm);color:var(--ink);background:#fffffff5;align-items:center;gap:10px;max-width:380px;padding:12px 18px;font-size:13px;line-height:1.5;animation:.28s ease-out toast-in;display:flex;box-shadow:0 8px 28px #191c1d1f,inset 0 0 0 1px #c6c5d638}.toast.toast-error{border-left:3px solid var(--danger)}.toast.toast-warn{border-left:3px solid var(--warning)}.toast.toast-success{border-left:3px solid var(--success)}.toast.toast-info{border-left:3px solid var(--primary)}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}.report-article .markdown-body{max-width:880px;color:var(--ink);letter-spacing:.01em;margin:0 auto;font-size:14.5px;line-height:1.78;display:block}.report-article .markdown-body>*+*{margin-top:14px}.report-article .markdown-body h1{color:var(--primary);letter-spacing:-.02em;border-bottom:2px solid #004a9e24;margin:2px 0 4px;padding-bottom:12px;font-size:25px;font-weight:700;line-height:1.3}.report-article .markdown-body h2{color:var(--primary);border-left:4px solid var(--secondary);margin-top:28px;padding-left:12px;font-size:18.5px;font-weight:700;line-height:1.35}.report-article .markdown-body h3{color:var(--secondary-text);margin-top:18px;font-size:15px;font-weight:650}.report-article .markdown-body p{color:var(--ink)}.report-article .markdown-body ul,.report-article .markdown-body ol{gap:7px;padding-left:24px}.report-article .markdown-body li{color:var(--ink);line-height:1.7}.report-article .markdown-body li::marker{color:var(--secondary)}.report-article .markdown-body strong{color:var(--primary);font-weight:650}.report-article .markdown-body a{color:var(--primary);border-bottom:1px solid #004a9e4d;text-decoration:none}.report-article .markdown-body a:hover{border-bottom-color:var(--primary)}.report-article .markdown-body hr{background:var(--outline);border:0;height:1px;margin:24px 0}.report-article .markdown-body table{border-collapse:separate;border-spacing:0;border:1px solid var(--outline);border-radius:10px;width:100%;margin:8px 0;font-size:13px;display:table;overflow:hidden}.report-article .markdown-body thead{display:table-header-group}.report-article .markdown-body tbody{display:table-row-group}.report-article .markdown-body th{color:#fff;white-space:nowrap;background:linear-gradient(#0e2444,#08162f);border:0;padding:10px 14px;font-size:12.5px;font-weight:600}.report-article .markdown-body td{color:#2a3f52;vertical-align:top;border:0;border-top:1px solid #c6c5d638;padding:9px 14px}.report-article .markdown-body tbody tr:nth-child(2n) td{background:#f7faff}.report-article .markdown-body tbody tr:hover td{background:#004a9e0f}.report-article .markdown-body code{color:#0b3e7a;background:#004a9e12}.report-article .markdown-body blockquote{border-left:4px solid var(--secondary);color:var(--muted);box-shadow:none;background:#5644d00d;border-radius:0 8px 8px 0}.seq-chain-label{color:var(--primary);margin:8px 0 4px;font-size:11px;font-weight:600}.seq-chain-label:first-child{margin-top:0}.struct-tabs{gap:6px;margin:10px 0 0;display:flex}.struct-tab{appearance:none;border:1px solid var(--outline);color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;padding:6px 16px;font-size:12.5px;font-weight:600;transition:all .15s}.struct-tab:hover{color:var(--primary);border-color:#004a9e59}.struct-tab.active{background:var(--primary);color:#fff;border-color:#0000}.bond-scroll{gap:4px;display:grid}.bond-row{cursor:pointer;background:#f7faff;border:1px solid #004a9e1a;border-radius:8px;align-items:center;gap:10px;padding:7px 12px;font-size:12.5px;transition:all .12s;display:flex}.bond-row:hover{border-color:var(--primary);background:#eef5ff}.bond-pair{color:#08162f;font-family:SF Mono,JetBrains Mono,Menlo,Consolas,monospace;font-weight:600}.bond-link{color:#ffb000;letter-spacing:-1px}.bond-dist{color:var(--primary);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.bond-empty{color:var(--muted);padding:12px;font-size:13px}.wetlab-page{box-sizing:border-box;width:100%;min-height:100%;padding:32px 40px 48px}.wetlab-page-title{letter-spacing:-.04em;color:var(--ink);margin:0 0 4px;font-size:24px}.wetlab-page-desc{color:var(--muted);font-size:var(--text-sm);margin:0 0 32px;line-height:1.7}.wetlab-section-label{letter-spacing:.18em;color:var(--primary);text-transform:uppercase;border-bottom:1px solid #004a9e14;margin:0 0 16px;padding-top:16px;padding-bottom:8px;font-size:14px;font-weight:600}.wetlab-form-grid{grid-template-columns:1fr 1fr;gap:18px 32px;margin-bottom:28px;display:grid}.wetlab-field{flex-direction:column;gap:5px;display:flex}.wetlab-field.full{grid-column:1/-1}.wetlab-field label{color:var(--muted);letter-spacing:.02em;font-size:12px;font-weight:500}.wetlab-field input,.wetlab-field select{border-radius:var(--radius-xs);font-size:var(--text-md);color:var(--ink);background:#004a9e04;border:1px solid #004a9e1f;outline:0;padding:9px 12px;transition:border-color .2s,background .2s,box-shadow .2s}.wetlab-field input:focus,.wetlab-field select:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #004a9e12}.wetlab-field input::placeholder{color:var(--soft)}.wetlab-field select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%238A8FA0' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat}.wetlab-upload-zone{border-radius:var(--radius-xs);cursor:pointer;border:1px dashed #004a9e38;flex-direction:column;grid-column:1/-1;align-items:center;gap:10px;padding:32px 24px;transition:border-color .2s,background .2s;display:flex}.wetlab-upload-zone:hover{border-color:var(--primary);background:#004a9e06}.wetlab-upload-icon{color:var(--primary);opacity:.45;font-size:28px}.wetlab-upload-text{font-size:var(--text-sm);color:var(--muted)}.wetlab-upload-hint{color:var(--soft);font-size:11px}.wetlab-upload-file{border-radius:var(--radius-xs);font-size:var(--text-sm);color:var(--ink);background:#004a9e08;align-items:center;gap:10px;padding:10px 16px;display:flex}.wetlab-upload-file span{color:var(--soft);margin-left:auto;font-size:11px}.wetlab-upload-file button{color:var(--primary);cursor:pointer;background:0 0;border:none;font-size:12px;text-decoration:underline}.wetlab-template-link{color:var(--primary);cursor:pointer;margin-left:4px;font-size:11px;text-decoration:underline}.wetlab-template-link:hover{color:#0052a3}.wetlab-seq-tabs{border-bottom:1px solid #c6c5d633;gap:0;margin-bottom:16px;display:flex}.wetlab-seq-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 18px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s}.wetlab-seq-tab:hover{color:var(--ink)}.wetlab-seq-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.wetlab-seq-panel{display:none}.wetlab-seq-panel.active{display:block}.wetlab-candidates-wrap{border:1px solid #c6c5d626;border-radius:8px;max-height:340px;overflow-y:auto}.wetlab-cand-table{border-collapse:collapse;width:100%;font-size:13px}.wetlab-cand-table thead{z-index:1;background:#f8f9facc;position:sticky;top:0}.wetlab-cand-table th{text-align:left;color:var(--soft);white-space:nowrap;border-bottom:1px solid #c6c5d633;padding:10px 14px;font-size:12px;font-weight:600}.wetlab-cand-table td{color:var(--ink);border-bottom:1px solid #c6c5d61a;padding:9px 14px}.wetlab-cand-table tbody tr:nth-child(2n){background:#f8f9fa66}.wetlab-cand-table tbody tr:hover{background:#004a9e08}.wetlab-cand-table tbody tr.wetlab-cand-selected{background:#004a9e14}.wetlab-cand-table tbody tr.wetlab-cand-selected:hover{background:#004a9e1f}.wetlab-cand-table input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--primary)}.wetlab-cand-seq{text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-family:monospace;font-size:11px;overflow:hidden}.wetlab-cand-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;display:flex}.wetlab-cand-sort-icon{opacity:.3;transition:opacity .15s;display:inline-flex}.wetlab-cand-sort-icon.active{opacity:1;color:var(--primary)}.wetlab-candidates-status{color:var(--soft);text-align:center;margin-top:10px;font-size:12px}.wetlab-submit-row{justify-content:center;margin-bottom:0;padding-top:12px;display:flex}.wetlab-form-card{background:#fff;border-radius:8px;max-width:800px}.wetlab-form-title{color:#333;margin:0 0 8px;font-size:24px;font-weight:700}.wetlab-form-desc{color:#666;margin:0 0 40px;font-size:14px}.wetlab-section{margin-bottom:40px}.wetlab-section-title{color:#004b9b;border-bottom:1px solid #eee;margin:0 0 20px;padding-bottom:12px;font-size:16px;font-weight:700}.wetlab-grid{grid-template-columns:1fr 1fr;gap:24px 40px;display:grid}.wetlab-form-row{flex-direction:column;gap:8px;display:flex}.wetlab-form-row label{color:#666;font-size:14px}.wetlab-input,.wetlab-select{color:#333;box-sizing:border-box;border:1px solid #ddd;border-radius:6px;outline:none;width:100%;height:40px;padding:0 12px;font-size:14px;transition:border-color .2s}.wetlab-input:focus,.wetlab-select:focus{border-color:#004b9b}.wetlab-select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") right 12px center no-repeat}.wetlab-form-footer{justify-content:center;margin-top:40px;display:flex}.wetlab-submit-btn{color:#fff;cursor:pointer;background:#004b9b;border:none;border-radius:999px;min-width:240px;height:44px;font-size:16px;font-weight:500;transition:opacity .2s}.wetlab-submit-btn:hover{opacity:.9}.wetlab-pipeline-phase{box-sizing:border-box;width:100%;padding:32px 40px 0}.wetlab-pipeline-header{justify-content:space-between;align-items:baseline;margin-bottom:16px;display:flex}.wetlab-pipeline-header h2{letter-spacing:-.03em;margin:0;font-size:18px}.wetlab-pipeline-header .wetlab-step-counter{color:var(--soft);letter-spacing:.04em;font-size:12px}.wetlab-pipeline-progress{margin-bottom:24px}.wetlab-pipeline-progress-bar{background:#004a9e0f;border-radius:999px;height:6px;position:relative;overflow:hidden}.wetlab-pipeline-progress-fill{background:linear-gradient(90deg, #004a9e59, var(--primary));border-radius:999px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.wetlab-pipeline-progress-text{color:var(--soft);justify-content:space-between;margin-top:6px;font-size:11px;display:flex}.wetlab-pipeline-track{flex-direction:column;align-items:stretch;gap:0;padding-bottom:8px;display:flex;position:relative}.wetlab-pipe-row{justify-content:center;align-items:flex-start;display:flex}.wetlab-pipe-unit{flex-direction:column;flex:1 1 0;align-items:center;min-width:0;max-width:140px;padding:0;display:flex}.wetlab-pipe-img-wrap{box-sizing:border-box;background:#f8f9fa;border-radius:6px;width:90px;height:90px;padding:8px;transition:background .3s;position:relative;overflow:hidden}.wetlab-pipe-img-wrap img{object-fit:cover;border-radius:3px;width:100%;height:100%;display:block}.wetlab-pipe-unit.status-done .wetlab-pipe-img-wrap{background:#004a9e0f}.wetlab-pipe-unit.status-running .wetlab-pipe-img-wrap{background:#13795b0d;animation:2s ease-in-out infinite wetlab-pulse-green}@keyframes wetlab-pulse-green{0%,to{background:#13795b08}50%{background:#13795b1a}}.wetlab-pipe-step-badge{z-index:2;border-bottom-left-radius:4px;justify-content:center;align-items:center;padding:2px 7px;font-size:10px;font-weight:600;line-height:1.4;display:flex;position:absolute;top:0;right:0}.wetlab-pipe-step-badge.badge-pending{color:var(--soft);background:#0000000d}.wetlab-pipe-step-badge.badge-done{color:#fff;background:#004a9ed9}.wetlab-pipe-step-badge.badge-running{color:#fff;background:#13795bd9}.wetlab-pipe-name{color:var(--ink);text-align:center;max-width:110px;margin-top:8px;font-size:12px;font-weight:400;line-height:1.4}.wetlab-pipe-unit.status-done .wetlab-pipe-name,.wetlab-pipe-unit.status-running .wetlab-pipe-name{color:var(--ink);font-weight:400}.wetlab-pipe-unit.status-pending .wetlab-pipe-name{color:var(--ink)}.wetlab-pipe-h-connector{box-sizing:border-box;flex:0 0 20px;justify-content:center;align-items:center;height:90px;padding-top:8px;display:flex}.wetlab-pipe-row-turn{justify-content:center;align-items:center;width:100%;padding:20px 0;display:flex}.wetlab-table-section{box-sizing:border-box;width:100%;padding:40px}.wetlab-filter-bar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.wetlab-filter-bar input,.wetlab-filter-bar select{border:0;border-bottom:1px solid var(--outline-strong);font-size:var(--text-sm);color:var(--ink);background:0 0;outline:0;min-width:140px;padding:6px 2px}.wetlab-filter-bar input:focus,.wetlab-filter-bar select:focus{border-bottom-color:var(--primary)}.wetlab-filter-btn{cursor:pointer;border:0;border-radius:999px;padding:6px 16px;font-size:12px;transition:background .16s,color .16s}.wetlab-filter-btn.primary{background:var(--primary);color:#fff}.wetlab-filter-btn.primary:hover{opacity:.9}.wetlab-filter-btn.ghost{color:var(--muted);border-bottom:1px solid var(--outline-strong);background:0 0}.wetlab-progress-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.wetlab-progress-table thead th{text-align:left;letter-spacing:.08em;color:var(--soft);background:#004a9e04;border-bottom:2px solid #004a9e14;padding:10px 14px;font-size:11px;font-weight:600}.wetlab-progress-table tbody td{vertical-align:middle;border-bottom:1px solid #c6c5d62e;padding:10px 14px}.wetlab-progress-table tbody tr:hover td{background:#00000004}.wetlab-status-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.wetlab-status-dot.done{background:var(--primary)}.wetlab-status-dot.running{background:var(--success);animation:1.2s ease-in-out infinite wetlab-pulse-dot}.wetlab-status-dot.pending{background:var(--soft);opacity:.4}@keyframes wetlab-pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.wetlab-expand-row{cursor:pointer}.wetlab-expand-row td:first-child{padding-left:10px}.wetlab-expand-arrow{color:var(--soft);margin-right:6px;font-size:10px;transition:transform .2s;display:inline-block}.wetlab-expand-row.open .wetlab-expand-arrow{transform:rotate(90deg)}.wetlab-progress-table tbody tr.wetlab-detail-row:hover td{background:0 0}.wetlab-progress-table .wetlab-detail-row>td{background:0 0;padding:0 14px 0 3rem}.wetlab-detail-row table{border-collapse:collapse;width:100%;font-size:12px}.wetlab-detail-row table th{text-align:left;color:var(--soft);border-bottom:1px solid #c6c5d61a;padding:8px 12px;font-size:11px;font-weight:500}.wetlab-detail-row table td{color:var(--ink);border-bottom:1px solid #c6c5d612;padding:7px 12px}.wetlab-num-badge{border-radius:6px;justify-content:center;align-items:center;min-width:24px;height:22px;padding:0 6px;font-size:12px;font-weight:600;display:inline-flex}.wetlab-num-badge.pending{color:var(--soft);background:#8d93a314}.wetlab-num-badge.running{color:var(--success);background:#13795b14}.wetlab-num-badge.done{color:var(--primary);background:#004a9e14}.wetlab-badge-pop{animation:.22s wetlab-badge-tick}@keyframes wetlab-badge-tick{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.wetlab-modal-overlay{z-index:99999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#191c1d59;justify-content:center;align-items:center;animation:.3s wetlab-modal-in;display:flex;position:fixed;inset:0}@keyframes wetlab-modal-in{0%{opacity:0}to{opacity:1}}.wetlab-modal{border-radius:var(--radius-md);text-align:center;background:#fff;width:90%;max-width:520px;padding:40px 36px 32px;animation:.35s cubic-bezier(.34,1.56,.64,1) wetlab-modal-pop}@keyframes wetlab-modal-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.wetlab-modal-icon{width:56px;height:56px;color:var(--primary);background:#004a9e14;border-radius:50%;justify-content:center;align-items:center;margin-bottom:18px;font-size:26px;display:inline-flex}.wetlab-modal h3{letter-spacing:-.03em;margin:0 0 10px;font-size:20px}.wetlab-modal p{color:var(--muted);font-size:var(--text-md);margin:0 0 24px;line-height:1.7}.wetlab-modal-actions{flex-direction:column;align-items:center;gap:10px;display:flex}.wetlab-modal-btn{min-width:200px;min-height:40px;font-size:var(--text-sm);cursor:pointer;border:0;border-radius:999px;font-weight:600;transition:transform .18s,background .18s}.wetlab-modal-btn:hover{transform:translateY(-1px)}.wetlab-modal-btn.primary{background:var(--primary);color:#fff}.wetlab-modal-btn.secondary{color:var(--muted);border-bottom:1px solid var(--outline-strong);background:0 0;border-radius:0;min-height:32px}.wetlab-result-section{text-align:left;border-top:1px solid #c6c5d633;margin-top:20px;padding-top:18px}.wetlab-result-section h4{margin:0 0 12px;font-size:15px}.wetlab-chart-row{gap:16px;margin-bottom:12px;display:flex}.wetlab-chart-card{border-radius:var(--radius-sm);background:#f8f9fa80;border:1px solid #c6c5d633;flex:1;padding:16px}.wetlab-chart-card svg{width:100%;height:120px;display:block}.wetlab-chart-card .wetlab-chart-label{color:var(--soft);margin-top:6px;font-size:11px}.wetlab-download-btn{color:var(--ink);font-size:var(--text-sm);cursor:pointer;background:0 0;border:1px solid #004a9e33;border-radius:999px;align-items:center;gap:6px;padding:8px 20px;transition:border-color .18s,color .18s,background .18s;display:inline-flex}.wetlab-download-btn:hover{border-color:var(--primary);color:var(--primary);background:#004a9e05}.wetlab-result-modal{border-radius:var(--radius-md);background:#fff;flex-direction:column;width:94%;max-width:none;max-height:85vh;animation:.35s cubic-bezier(.34,1.56,.64,1) wetlab-modal-pop;display:flex}.wetlab-result-header{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.wetlab-result-header h3{letter-spacing:-.03em;margin:0;font-size:18px}.wetlab-result-close{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:20px;transition:background .15s;display:flex}.wetlab-result-close:hover{background:#0000000d}.wetlab-result-tabs{border-bottom:1px solid #c6c5d633;gap:0;padding:16px 24px 0;display:flex}.wetlab-result-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 16px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s}.wetlab-result-tab:hover{color:var(--ink)}.wetlab-result-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.wetlab-result-body{flex:1;padding:20px 24px 24px;overflow-y:auto}.wetlab-result-tab-content{display:none}.wetlab-result-tab-content.active{display:block}.wetlab-source-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.wetlab-source-title{font-size:15px;font-weight:600}.wetlab-result-download-btn{color:var(--primary);cursor:pointer;background:0 0;border:1px solid #004a9e33;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;transition:background .15s;display:inline-flex}.wetlab-result-download-btn:hover{background:#004a9e0d}.wetlab-source-table-wrap{border:1px solid #c6c5d626;border-radius:8px;overflow-x:auto}.wetlab-source-table{border-collapse:collapse;width:100%;font-size:13px}.wetlab-source-table thead{background:#f8f9facc}.wetlab-source-table th{text-align:left;color:var(--soft);white-space:nowrap;border-bottom:1px solid #c6c5d633;padding:10px 16px;font-size:12px;font-weight:600}.wetlab-source-table td{color:var(--ink);border-bottom:1px solid #c6c5d61a;padding:9px 16px}.wetlab-source-table tbody tr:nth-child(2n){background:#f8f9fa66}.wetlab-source-table tbody tr:hover{background:#004a9e08}.wetlab-source-table tbody tr.wetlab-row-selected{background:#004a9e14}.wetlab-source-table tbody tr.wetlab-row-selected:hover{background:#004a9e1f}.wetlab-source-table input[type=checkbox].wetlab-row-checkbox{cursor:pointer;width:16px;height:16px;accent-color:var(--primary)}.wetlab-sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.wetlab-sort-th-inner{align-items:center;gap:4px;display:flex}.wetlab-sort-btn{color:var(--soft);cursor:pointer;opacity:.4;vertical-align:middle;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .15s,transform .15s;display:inline-flex}.wetlab-sort-btn:hover{opacity:.8}.wetlab-sort-btn.wetlab-sort-asc{opacity:1;color:var(--primary)}.wetlab-sort-btn.wetlab-sort-desc{opacity:1;color:var(--primary);transform:rotate(180deg)}.wetlab-seq-cell{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-family:monospace;font-size:11px;overflow:hidden}.wetlab-iterate-btn{background:linear-gradient(135deg, var(--primary), #0052a3);color:#fff;cursor:pointer;letter-spacing:.5px;border:none;border-radius:8px;width:100%;margin-top:16px;padding:14px 24px;font-size:15px;font-weight:600;transition:opacity .2s,transform .15s;display:none}.wetlab-iterate-btn:hover{opacity:.92;transform:translateY(-1px)}.wetlab-iterate-btn:active{transform:translateY(0)}.wetlab-iterate-overlay{z-index:100000;background:#00000073;justify-content:center;align-items:center;animation:.2s wetlabFadeIn;display:flex;position:fixed;inset:0}.wetlab-iterate-modal{text-align:center;background:#fff;border-radius:16px;width:90%;max-width:520px;padding:36px 40px;animation:.25s wetlabSlideUp;box-shadow:0 20px 60px #0003}.wetlab-iterate-modal h3{color:var(--ink);margin:0 0 16px;font-size:16px;font-weight:600}.wetlab-iterate-spinner{border:4px solid #004a9e26;border-top-color:var(--primary);border-radius:50%;width:48px;height:48px;margin:0 auto 20px;animation:.8s linear infinite wetlabSpin}.wetlab-iterate-samples{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:16px;display:flex}.wetlab-iterate-sample-tag{color:var(--primary);background:#004a9e14;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-block}.wetlab-iterate-hint{color:var(--soft);margin:0;font-size:13px}.wetlab-input-overlay{z-index:100001;background:#00000073;justify-content:center;align-items:center;animation:.2s wetlabFadeIn;display:flex;position:fixed;inset:0}.wetlab-input-modal{background:#fff;border-radius:16px;flex-direction:column;gap:16px;width:92%;max-width:560px;padding:28px 32px;animation:.25s wetlabSlideUp;display:flex;box-shadow:0 20px 60px #0003}.wetlab-input-header{justify-content:space-between;align-items:center;display:flex}.wetlab-input-header h3{color:var(--ink);margin:0;font-size:16px;font-weight:600}.wetlab-input-close{width:32px;height:32px;color:var(--soft);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:20px;transition:background .15s;display:flex}.wetlab-input-close:hover{background:#0000000f}.wetlab-input-samples{flex-wrap:wrap;gap:8px;display:flex}.wetlab-input-sample-tag{color:var(--primary);background:#004a9e14;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-block}.wetlab-input-textarea{width:100%;min-height:120px;color:var(--ink);resize:vertical;box-sizing:border-box;border:1px solid #c6c5d64d;border-radius:10px;padding:12px 14px;font-family:inherit;font-size:13px;line-height:1.6;transition:border-color .15s}.wetlab-input-textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #004a9e14}.wetlab-input-textarea::placeholder{color:var(--soft)}.wetlab-input-footer{justify-content:flex-end;gap:10px;display:flex}.wetlab-input-cancel-btn{color:var(--soft);cursor:pointer;background:#fff;border:1px solid #c6c5d64d;border-radius:8px;padding:10px 20px;font-size:13px;font-weight:500;transition:background .15s}.wetlab-input-cancel-btn:hover{background:#00000008}.wetlab-input-submit-btn{background:linear-gradient(135deg, var(--primary), #0052a3);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 24px;font-size:13px;font-weight:600;transition:opacity .2s,transform .15s}.wetlab-input-submit-btn:hover{opacity:.92;transform:translateY(-1px)}@keyframes wetlabFadeIn{0%{opacity:0}to{opacity:1}}@keyframes wetlabSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes wetlabSpin{to{transform:rotate(360deg)}}.wetlab-chart-row-2col{grid-template-columns:1fr 1fr;gap:20px;display:grid}.wetlab-chart-row-3col{grid-template-columns:1fr 1fr 1fr;gap:12px;min-width:0;display:grid}.wetlab-chart-row-3col .wetlab-chart-card-lg{min-width:0;overflow:hidden}.wetlab-chart-single{max-width:100%}.wetlab-chart-card-lg{background:#f8f9fa4d;border:1px solid #c6c5d626;border-radius:10px;padding:16px;position:relative}.wetlab-chart-title{color:var(--ink);margin-bottom:12px;font-size:13px;font-weight:600}.wetlab-chart-card-lg .chart-wrap{height:260px;position:relative}.wetlab-chart-single .chart-wrap{height:340px;position:relative}@media (width<=720px){.wetlab-form-grid{grid-template-columns:1fr}.wetlab-page,.wetlab-pipeline-phase{padding:20px 18px}.wetlab-pipeline-track{flex-wrap:wrap}.wetlab-pipe-unit{max-width:120px}.wetlab-pipe-img-wrap{width:56px;height:56px;padding:4px}.wetlab-pipe-name{max-width:80px;font-size:10px}.wetlab-pipe-h-connector{flex:0 0 14px;height:56px;padding-top:22px}.wetlab-table-section{padding:18px}.wetlab-chart-row{flex-direction:column}.wetlab-filter-bar{flex-wrap:wrap}.wetlab-progress-table{font-size:12px}}
