*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f6f4ef;--surface:#fbfaf7;--surface-2:#f0eee8;--card:#fff;--card-soft:#f7f9f7;--border:#dedbd2;--border-strong:#c7c3b8;--accent:#256f8f;--accent2:#175c52;--success:#236b45;--warning:#9a6a18;--danger:#a94a42;--text:#18202a;--muted:#65717d;--subtle:#8a929b;--node-bg:#f8faf9;--node-border:#c9d3d6;--primary:#111827;--primary-hover:#1e293b;--shadow-sm:0 1px 2px #18202a0f, 0 1px 3px #18202a0a;--shadow-md:0 16px 42px #18202a1f}html,body,#root{background:var(--bg);height:100%;color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}.app{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.platform-app{background:var(--bg);min-height:100vh;color:var(--text)}.platform-topbar,.project-header{border-bottom:1px solid var(--border);background:linear-gradient(180deg, #1b1f26, var(--surface));box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:12px 22px;display:flex}.brand-mark,.project-card-icon,.file-type-icon{color:var(--accent);background:#4fa3d11a;border:1px solid #4fa3d147;justify-content:center;align-items:center;display:inline-flex}.brand-mark{border-radius:8px;width:32px;height:32px}.platform-topbar h1,.project-header h2{margin:0;font-size:18px;line-height:1.15}.project-header{min-height:72px}.project-header p,.dashboard-header p{color:var(--muted);margin-top:4px;font-size:12px}.dashboard-page{max-width:1180px;margin:0 auto;padding:32px 24px 48px}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;display:flex}.dashboard-header h2{margin-top:2px;font-size:26px;line-height:1.18}.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.action-button,.icon-text-button{white-space:nowrap;justify-content:center;align-items:center;gap:8px;display:inline-flex}.action-button.compact{gap:6px;padding:4px 10px;font-size:11px}.quick-tools-section{margin-bottom:32px}.quick-tools-section .eyebrow{margin-bottom:10px}.quick-tools-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.quick-tool-card{background:var(--card);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:14px;padding:16px 18px;transition:background .12s,border-color .12s;display:flex}.quick-tool-card:hover{background:var(--card-soft);border-color:var(--accent)}.quick-tool-card svg{color:var(--accent);flex-shrink:0}.quick-tool-card strong{margin-bottom:2px;font-size:13px;font-weight:700;display:block}.quick-tool-card span{color:var(--muted);font-size:11px;line-height:1.4}.project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.project-card{text-align:left;background:var(--card);border:1px solid var(--border);width:100%;min-height:190px;color:var(--text);box-shadow:var(--shadow-sm);border-radius:8px;grid-template-columns:auto 1fr;gap:12px;padding:16px;display:grid}.project-card:hover{background:var(--card-soft);border-color:var(--border-strong)}.project-card-icon{border-radius:8px;width:38px;height:38px}.project-card-main h3{margin-bottom:6px;font-size:15px}.project-card-main p{color:var(--muted);font-size:12px;line-height:1.55}.project-card-meta{border-top:1px solid var(--border);flex-direction:column;grid-column:1/-1;gap:6px;margin-top:auto;padding-top:12px;display:flex}.project-card-meta span,.file-dates{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:inline-flex}.project-workspace{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.workspace-body{grid-template-columns:300px 1fr;height:calc(100vh - 73px);min-height:0;display:grid}.file-sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;min-width:0;display:flex}.file-sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:16px;display:flex}.file-sidebar-header strong{margin-top:2px;font-size:13px;display:block}.file-list{flex-direction:column;gap:6px;padding:10px;display:flex;overflow-y:auto}.file-list-item{text-align:left;width:100%;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:auto 1fr;gap:9px;padding:10px;display:grid}.file-list-item:hover,.file-list-item.active{color:var(--text);background:var(--card);border-color:var(--border)}.file-list-item.active{border-color:#4fa3d180}.file-list-item span{min-width:0}.file-list-item strong,.file-list-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.file-list-item strong{color:inherit;font-size:12px}.file-list-item small{color:var(--muted);margin-top:2px;font-size:10px}.file-workspace{background:var(--bg);min-width:0;overflow:auto}.workspace-empty-state{min-height:100%;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex}.workspace-empty-state h3{color:var(--text);font-size:18px}.workspace-empty-state p{max-width:430px;font-size:13px;line-height:1.55}.tool-picker{flex-direction:column;gap:20px;width:100%;max-width:680px;padding:36px 32px;display:flex}.tool-picker-heading h3{margin-bottom:4px;font-size:20px}.tool-picker-heading p{color:var(--muted);font-size:13px;line-height:1.5}.tool-picker-primary{flex-direction:column;gap:10px;display:flex}.tool-picker-card{text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:10px;align-items:center;gap:16px;transition:border-color .12s,background .12s;display:flex}.tool-picker-card:hover{border-color:var(--accent);background:var(--card-soft)}.tool-picker-card.primary{padding:18px 20px}.tool-picker-card.primary strong{margin-bottom:3px;font-size:14px;font-weight:700;display:block}.tool-picker-card.primary span{color:var(--muted);font-size:12px;line-height:1.45}.tool-picker-card-icon{background:rgba(var(--accent-rgb,56 139 253) / .1);width:48px;height:48px;color:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tool-picker-divider{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:12px;font-size:11px;font-weight:700;display:flex}.tool-picker-divider:before,.tool-picker-divider:after{content:"";background:var(--border);flex:1;height:1px}.tool-picker-secondary{flex-wrap:wrap;gap:8px;display:flex}.tool-picker-card.secondary{gap:7px;padding:9px 14px;font-size:12px;font-weight:600}.file-editor-shell{flex-direction:column;min-height:100%;display:flex}.file-editor-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.file-title-row{align-items:center;gap:10px;display:flex}.file-title-row h3{margin-top:2px;font-size:16px}.file-type-icon{border-radius:8px;width:34px;height:34px}.related-file-tabs{border-bottom:1px solid var(--border);background:#14171d;align-items:center;gap:8px;padding:10px 16px;display:flex;overflow-x:auto}.related-tab,.related-empty{border-radius:999px;flex:none;font-size:11px}.related-tab{color:var(--muted);background:var(--surface-2);border:1px solid var(--border);padding:5px 10px}.file-editor-content{flex:1;min-height:0}.pathway-explorer{min-height:100%}.workspace-main.synthesis-main{flex-direction:column;display:flex;overflow:hidden}.synthesis-main .pathway-explorer{flex-direction:column;flex:1;min-height:0;display:flex}.main-content.embedded{flex:1;height:auto;min-height:0}.generic-editor{grid-template-columns:repeat(2,minmax(260px,1fr));gap:14px;padding:18px;display:grid}.generic-editor label{flex-direction:column;gap:7px;display:flex}.modal-hint{color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:4px;padding:10px 14px;font-size:13px;line-height:1.5}.modal-hint strong{color:var(--text)}.generic-editor label span,.modal-form label span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.generic-editor textarea,.modal-form textarea,.modal-form input,.modal-form select{width:100%;color:var(--text);border:1px solid var(--border);font:inherit;resize:vertical;background:#111318;border-radius:6px;padding:9px 10px}.ai-placeholder{color:var(--muted);background:#4fa3d114;border:1px solid #4fa3d133;border-radius:8px;grid-column:1/-1;align-items:center;gap:8px;padding:12px;font-size:12px;display:flex}.modal-backdrop{z-index:1200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#06080cb8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--card);border:1px solid var(--border);width:min(520px,100%);box-shadow:var(--shadow-md);border-radius:8px}.modal-header,.modal-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-header{border-bottom:1px solid var(--border);padding:14px 16px}.modal-header h3{font-size:15px}.modal-form{flex-direction:column;gap:14px;padding:16px;display:flex}.file-type-help{color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;padding:9px 10px;font-size:12px;display:flex}.icon-text-button{color:var(--muted);background:var(--surface-2);border:1px solid var(--border)}.icon-text-button:hover{color:var(--text);background:var(--card)}@media (max-width:980px){.workspace-body{grid-template-columns:1fr;height:auto}.file-sidebar{border-right:none;border-bottom:1px solid var(--border);max-height:300px}.generic-editor{grid-template-columns:1fr}}header{border-bottom:1px solid var(--border);background:linear-gradient(180deg, #1b1f26, var(--surface));box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:12px 22px;display:flex}header h1{background:linear-gradient(135deg, #e7f5fb, var(--accent));-webkit-text-fill-color:transparent;letter-spacing:0;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700}header .subtitle{color:var(--muted);font-size:12px}.mode-switch{border:1px solid var(--border);background:#13161b;border-radius:8px;align-items:center;gap:3px;margin-left:auto;padding:3px;display:flex;box-shadow:inset 0 1px #ffffff08}.mode-button{min-height:30px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:7px;padding:6px 11px;font-size:12px;font-weight:650;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.mode-button:hover{color:var(--text);background:#ffffff0a}.mode-button.active{background:var(--card-soft);border-color:var(--border-strong);color:var(--text);box-shadow:var(--shadow-sm)}.main-content{grid-template-columns:var(--col-left,380px) 7px minmax(0, 1fr) 7px var(--col-right,340px);gap:0;height:calc(100vh - 57px);display:grid;overflow:hidden}@media (max-width:1024px){.main-content{grid-template-rows:auto 1fr auto;grid-template-columns:1fr;height:auto;overflow:visible}.panel-resizer{display:none}.main-content>.panel{border-bottom:1px solid var(--border)}.workspace-main.synthesis-main{overflow-y:auto}.synthesis-main .pathway-explorer,.main-content.embedded{flex:none;height:auto;min-height:0}}.panel{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;min-width:0;display:flex;overflow:hidden auto}.panel:last-child,.main-content>.panel{border-right:none}.panel-resizer{cursor:col-resize;touch-action:none;z-index:5;background:0 0;border:none;align-self:stretch;padding:0;position:relative}.panel-resizer:before{content:"";background:var(--border);transition:background .15s;position:absolute;inset:0 3px}.panel-resizer:after{content:"";position:absolute;inset:0 -3px}.panel-resizer:hover:before,.panel-resizer:focus-visible:before,body.is-col-resizing .panel-resizer:before{background:var(--accent)}.panel-resizer:focus-visible{outline:none}body.is-col-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.panel-header{border-bottom:1px solid var(--border);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-shrink:0;padding:13px 16px 10px;font-size:11px;font-weight:700}.panel-body{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:16px;min-width:0;padding:16px;display:flex}.card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:8px;overflow:hidden}.card-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:10px 12px 0;font-size:11px;font-weight:600}.mol-input-card{flex-direction:column;display:flex}.mol-structure-area{cursor:pointer;background:#fff;border-radius:6px 6px 0 0;justify-content:center;align-items:center;min-height:130px;display:flex;position:relative;overflow:hidden}.mol-structure-area svg{width:100%;height:100%}.conf-badge{border-radius:999px;align-items:center;gap:4px;padding:3px 7px;font-size:10px;font-weight:600;line-height:1;display:inline-flex;position:absolute;top:6px;right:6px}.conf-badge.ok{color:var(--accent2);background:#175c521f}.conf-badge.warn{color:var(--danger);background:#a94a4224}.conf-badge.muted{color:#6b7280;background:#78787829}.toast-stack{z-index:1000;flex-direction:column;gap:10px;max-width:min(380px,100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.toast{border:1px solid var(--border,#d8dee4);color:var(--text,#1a1a1a);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:11px 12px 11px 14px;font-size:13px;animation:.18s toast-in;display:flex;box-shadow:0 8px 24px #141e1a29}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-msg{flex:1;line-height:1.4}.toast-icon{flex:none}.toast-success .toast-icon{color:#1f6f5c}.toast-error .toast-icon{color:var(--danger,#a94a42)}.toast-info .toast-icon{color:var(--accent,#256f8f)}.toast-error{border-color:#a94a4266}.toast-close{cursor:pointer;color:var(--muted,#6b7280);background:0 0;border:none;border-radius:4px;flex:none;padding:2px;display:inline-flex}.toast-close:hover{color:var(--text,#1a1a1a)}.api-offline-banner{z-index:900;color:#fff;background:#7a2e28;align-items:center;gap:8px;padding:9px 16px;font-size:12.5px;line-height:1.4;display:flex;position:sticky;top:0}.api-offline-banner svg{flex:none}.skeleton{background:linear-gradient(90deg,#0000000f 25%,#0000001c 37%,#0000000f 63%) 0 0/400% 100%;border-radius:8px;animation:1.4s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:100%}to{background-position:0}}.skeleton-card{height:132px}.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.export-chip{border:1px solid var(--border,#d8dee4);color:var(--muted,#6b7280);cursor:pointer;background:0 0;border-radius:6px;flex:none;align-items:center;gap:4px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-flex}.export-chip:hover{color:var(--text,#1a1a1a);border-color:var(--accent,#256f8f)}.oauth-button{border:1px solid var(--border,#d8dee4);width:100%;color:var(--text,#1a1a1a);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-size:14px;font-weight:600;display:flex}.oauth-button:hover{border-color:var(--accent,#256f8f)}.oauth-button:disabled{opacity:.5;cursor:not-allowed}.auth-divider{text-align:center;color:var(--muted,#6b7280);align-items:center;margin:14px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border,#d8dee4);flex:1;height:1px}.auth-divider span{padding:0 12px}.auth-link-button{color:var(--accent,#256f8f);cursor:pointer;background:0 0;border:none;align-self:flex-end;padding:0;font-size:12px}.auth-link-button:hover{text-decoration:underline}.structure-view{background:#fff}.structure-outline svg rect{fill:#fff!important}.structure-outline svg path{stroke:#111827!important}.structure-outline svg path[class^=atom-],.structure-outline svg path[class*=\ atom-]{fill:#111827!important;stroke:#111827!important}.structure-outline svg text,.structure-outline svg tspan{fill:#111827!important}.mol-structure-area.empty{border:1px dashed var(--border-strong);color:var(--muted);background:#1b2028;flex-direction:column;gap:8px;font-size:12px}.mol-actions{border-top:1px solid var(--border);gap:6px;padding:10px;display:flex}.mol-smiles-row{flex-direction:column;gap:4px;padding:0 10px 10px;display:flex}.smiles-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.smiles-input{background:var(--bg);border:1px solid var(--border);color:var(--text);resize:none;border-radius:4px;width:100%;padding:6px 8px;font-family:SFMono-Regular,Consolas,monospace;font-size:11px}.smiles-input:focus{border-color:var(--accent);outline:none}.hint-banner{color:var(--warning);background:#d299221f;border:1px solid #d2992259;border-radius:4px;padding:6px 8px;font-size:11px}.mol-drawer-trigger{flex-shrink:0}.mol-drawer-backdrop{z-index:1300;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#18202a57;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.mol-drawer-modal{background:var(--card);border:1px solid var(--border);width:min(1120px,100%);max-height:min(860px,100vh - 44px);box-shadow:var(--shadow-md);border-radius:16px;grid-template-rows:auto 1fr;display:grid;overflow:hidden}.mol-drawer-header{border-bottom:1px solid var(--border);background:#fbfaf7f0;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;display:flex}.mol-drawer-header h3{color:var(--text);margin:2px 0 0;font-size:18px}.mol-drawer-body{grid-template-columns:230px minmax(0,1fr);min-height:0;display:grid}.mol-drawer-tools{border-right:1px solid var(--border);background:#faf8f3;flex-direction:column;gap:14px;min-height:0;padding:16px;display:flex;overflow-y:auto}.mol-tool-group{flex-direction:column;gap:8px;display:flex}.mol-tool-group>span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.mol-tool-row,.mol-template-list{flex-wrap:wrap;gap:7px;display:flex}.mol-tool,.mol-atom-button,.mol-template-button{min-height:32px;color:var(--text);border:1px solid var(--border);background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:6px;font-size:12px;display:inline-flex}.mol-tool{padding:6px 9px}.mol-tool.compact{width:42px;padding:6px 0;font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-weight:700}.mol-tool.active,.mol-atom-button.active{color:#153f53;background:#e4f1f5;border-color:#bdd8df}.mol-tool.danger{color:var(--danger)}.mol-atom-grid{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.mol-atom-button{height:36px;padding:0;font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-weight:800}.mol-template-button{flex:92px;padding:7px 9px}.mol-drawer-stage{background:var(--bg);grid-template-rows:minmax(320px,1fr) auto;gap:14px;min-width:0;min-height:0;padding:16px;display:grid;overflow-y:auto}.mol-canvas-shell{border:1px solid var(--border);min-height:320px;box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;overflow:hidden}.mol-canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;min-height:320px;display:block}.mol-bond-hit{stroke:#0000;stroke-width:26px;cursor:pointer}.mol-bond-line{stroke:#18202a;stroke-width:4.5px;stroke-linecap:round}.mol-atom{cursor:grab}.mol-atom circle{fill:#fff;stroke:#9fb5bb;stroke-width:2px}.mol-atom text{fill:var(--text);pointer-events:none;font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-size:17px;font-weight:800}.mol-atom.selected circle{fill:#eef7f8;stroke:var(--accent);stroke-width:3px}.mol-canvas-empty{color:var(--muted);pointer-events:none}.mol-canvas-empty svg,.mol-canvas-empty text{color:var(--muted);fill:var(--muted)}.mol-drawer-output{grid-template-columns:minmax(220px,1fr) 240px auto;align-items:center;gap:12px;display:grid}.mol-output-main,.mol-output-preview{border:1px solid var(--border);min-height:122px;box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;flex-direction:column;justify-content:center;gap:7px;padding:12px;display:flex}.mol-output-main code{color:var(--text);white-space:normal;word-break:break-all;font-size:13px;line-height:1.5}.mol-output-preview{align-items:center}.mol-output-preview>span{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:inline-flex}button{cursor:pointer;border:none;border-radius:5px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:opacity .15s,background .15s}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #4fa3d18c}button:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#0d1117;font-weight:600}.btn-primary:hover:not(:disabled){opacity:.85}.btn-secondary{background:var(--surface-2);border:1px solid var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--card)}.btn-icon{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);justify-content:center;align-items:center;gap:5px;min-height:28px;padding:5px 8px;display:inline-flex}.btn-icon:hover:not(:disabled){color:var(--text);background:var(--card)}.btn-icon.active{color:var(--accent);border-color:var(--accent)}.stage-strip{border-top:1px solid var(--border);gap:8px;padding:8px 10px 10px;display:flex;overflow-x:auto}.stage-thumb{text-align:center;flex:none;margin:0}.stage-thumb img{object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:5px;width:84px;height:64px}.stage-thumb figcaption{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;font-size:9px}.analyze-btn{color:#071014;background:linear-gradient(135deg,#4fa3d1,#5eb980);border:1px solid #ffffff14;border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px;font-size:13px;font-weight:600;display:inline-flex}.analyze-btn:hover:not(:disabled){opacity:.88}.micro-button,.icon-button{background:var(--surface-2);border:1px solid var(--border);color:var(--accent);border-radius:5px;justify-content:center;align-items:center;gap:5px;display:inline-flex}.micro-button{padding:3px 8px;font-size:11px;font-weight:650}.icon-button{width:26px;height:26px;color:var(--muted);padding:0}.icon-button.danger:hover{color:var(--danger);border-color:#e1665f73}.graph-panel{background:#fff;position:relative}.graph-container{background:#fff;width:100%;height:100%}@media (max-width:1024px){.graph-container{height:420px}}.empty-graph{color:#6b7280;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;display:flex}.empty-graph .big-icon{color:#111827;opacity:.7;background:#f9fafb;border:1px solid #d1d5db;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.mol-node{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:10px;width:176px;padding:4px;transition:border-color .15s,box-shadow .15s,background .15s}.mol-node.selected{background:#dbeafe8c;border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed824}.mol-node.matches-target{background:#dcfce780;border-color:#15803d;box-shadow:0 0 0 3px #15803d24}.mol-node.start-node{background:#f8fafcb8;border-color:#64748b}.mol-node-img{width:100%;display:block}.mol-node-label{text-align:center;color:#111827;text-transform:uppercase;letter-spacing:.05em;padding:4px 0 0;font-size:10px;font-weight:700}.mol-handle{background:#111827!important;border:1px solid #fff!important;width:7px!important;height:7px!important}.pathway-list-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.selection-summary{color:var(--accent);background:#4fa3d114;border:1px solid #4fa3d138;border-radius:6px;padding:6px 8px;font-size:11px;line-height:1.4}.pathway-card{text-align:left;cursor:pointer;color:var(--text);border-radius:6px;padding:8px 10px}.pathway-card:hover{background:var(--card-soft)!important;border-color:var(--border-strong)!important}.selection-pill{color:#a8d8f0;text-transform:uppercase;letter-spacing:.06em;background:#4fa3d124;border:1px solid #4fa3d152;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700}.rxn-name-badge{color:var(--accent);background:#4fa3d11a;border:1px solid #4fa3d14d;border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.confidence-dot{border-radius:50%;width:7px;height:7px}.conf-high{background:var(--success)}.conf-medium{background:var(--warning)}.conf-low{background:var(--danger)}.conf-unknown{background:var(--muted)}.explanation-box{border:1px solid var(--border);color:var(--text);white-space:pre-wrap;background:#171a20;border-radius:6px;flex:1;min-height:100px;max-height:240px;padding:12px;font-size:13px;line-height:1.65;overflow-y:auto}.explanation-placeholder{color:var(--muted);font-style:italic}.branch-summary{flex-direction:column;gap:6px;display:flex}.branch-summary-row{justify-content:space-between;font-size:12px;display:flex}.branch-summary-label{color:var(--muted)}.branch-summary-value{color:var(--text);font-weight:500}.env-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600}.env-kinetic{color:var(--accent2);background:#bc8cff26}.env-thermodynamic{color:var(--accent);background:#58a6ff1f}.product-structure-preview{background:#fff;border-radius:6px;justify-content:center;align-items:center;min-height:100px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #0000000f}.product-structure-preview svg{width:100%}.chat-messages{border:1px solid var(--border);background:#171a20;border-radius:6px;flex-direction:column;flex:1;gap:10px;min-height:140px;max-height:280px;padding:12px;display:flex;overflow-y:auto}.chat-bubble{white-space:pre-wrap;border-radius:10px;max-width:88%;padding:8px 11px;font-size:12px;line-height:1.55}.chat-bubble.user{background:var(--accent);color:#081116;border-bottom-right-radius:3px;align-self:flex-end}.chat-bubble.assistant{background:var(--card);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:3px;align-self:flex-start}.chat-input-row{gap:6px;margin-top:8px;display:flex}.chat-model-select{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:7px;align-self:flex-end;padding:8px 10px;font-size:12px;font-weight:600}.chat-input{border:1px solid var(--border);color:var(--text);resize:none;background:#171a20;border-radius:5px;flex:1;padding:7px 10px;font-family:inherit;font-size:12px}.chat-input:focus{border-color:var(--accent);outline:none}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;display:inline-block}.loading-row{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.loading-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);background:#0d1117e0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-content{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-md);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:22px;min-width:260px;padding:40px 48px;display:flex}@keyframes orbit-a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbit-b{0%{transform:rotate(60deg)}to{transform:rotate(420deg)}}@keyframes orbit-c{0%{transform:rotate(-60deg)}to{transform:rotate(300deg)}}.atom-wrap{filter:drop-shadow(0 0 18px #58a6ff59)}.orbit-a{transform-origin:60px 60px;animation:2s linear infinite orbit-a}.orbit-b{transform-origin:60px 60px;animation:2.8s linear infinite orbit-b}.orbit-c{transform-origin:60px 60px;animation:3.6s linear infinite orbit-c}.loading-message{color:var(--text);letter-spacing:.01em;min-height:22px;font-size:14px;font-weight:500;animation:.35s msg-fade}@keyframes msg-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.mol-node.node-selected{background:#fef3c79e;border-color:#d97706;box-shadow:0 0 0 3px #d977062e}.inspector-tab{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:1;justify-content:center;align-items:center;gap:7px;padding:12px 0;font-size:11px;font-weight:700;display:inline-flex}.inspector-tab.active{border-bottom-color:var(--accent);color:var(--accent);background:#4fa3d10a}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}.platform-app{background:linear-gradient(180deg, #ffffffb8, #f6f4ef00 280px), var(--bg);color:var(--text)}.platform-topbar,.project-header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbfaf7eb;box-shadow:0 1px #ffffffd1}.platform-topbar h1,.project-header h2,header h1{color:var(--text);-webkit-text-fill-color:currentColor;background:0 0}.platform-topbar .subtitle,.project-header p,.dashboard-header p{color:var(--muted)}.brand-mark,.project-card-icon,.file-type-icon{color:var(--accent2);background:#eef7f4;border-color:#cfe3dd}.dashboard-page{padding-top:42px}.dashboard-header{margin-bottom:26px}.dashboard-header h2{color:var(--text);letter-spacing:-.02em;font-size:30px}.project-grid{gap:18px}.project-card{background:var(--card);border:1px solid var(--border);min-height:214px;color:var(--text);box-shadow:var(--shadow-sm);border-radius:14px;padding:18px;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s}.project-card:hover{background:#fff;border-color:#c6d7d8;transform:translateY(-2px);box-shadow:0 14px 34px #18202a1a}.project-card-main h3{color:var(--text);letter-spacing:-.01em;font-size:16px}.project-card-main p,.project-card-meta span{color:var(--muted)}.project-card-meta{border-top-color:#ece8df}.status-pill,.file-type-badge{white-space:nowrap;border-radius:999px;align-items:center;width:fit-content;font-size:10px;line-height:1;display:inline-flex}.status-pill{color:#53606b;background:#f1f0eb;border:1px solid #dfdcd3;padding:4px 8px;font-weight:600}.status-pill.saved{color:#1f5f42;background:#edf7f1;border-color:#cce4d5}.status-pill.muted{color:#66717d}.file-type-badge{color:#204f63;letter-spacing:.04em;background:#eef6f8;border:1px solid #cfe2e8;padding:4px 7px;font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-weight:700}.file-type-badge.strong{color:#153f53;background:#e4f1f5}.project-workspace,.workspace-body{background:var(--bg)}.file-sidebar{border-right:1px solid var(--border);background:#faf8f3}.file-sidebar-header{border-bottom-color:var(--border)}.file-sidebar-header strong{color:var(--text)}.file-list{gap:8px;padding:12px}.file-list-item{color:var(--muted);background:0 0;border-radius:12px;grid-template-columns:auto minmax(0,1fr);padding:11px 10px;transition:background .14s,border-color .14s,color .14s}.file-list-item:hover{color:var(--text);background:#ffffffad;border-color:#e5e1d8}.file-list-item.active{color:var(--text);background:#fff;border-color:#bfd7dc;box-shadow:0 6px 18px #18202a0f}.file-list-item strong{color:inherit;align-items:center;gap:7px;display:flex}.file-list-item small{color:var(--muted)}.sidebar-empty-state,.dashboard-empty-state{color:var(--muted);text-align:center;background:#ffffff80;border:1px dashed #d8d4ca;flex-direction:column;justify-content:center;align-items:center;display:flex}.sidebar-empty-state{border-radius:14px;gap:7px;padding:24px 14px;font-size:12px}.sidebar-empty-state strong,.dashboard-empty-state h3{color:var(--text)}.dashboard-empty-state{border-radius:16px;grid-column:1/-1;gap:12px;min-height:280px;padding:34px}.dashboard-empty-state p{max-width:420px}.file-workspace{background:var(--bg)}.file-editor-header{border-bottom-color:var(--border);background:#fbfaf7eb}.file-title-row h3{color:var(--text);letter-spacing:-.01em;font-size:18px}.file-dates{color:var(--muted)}.related-file-tabs{border-bottom-color:var(--border);background:#f1efe8}.related-tab{color:var(--muted);background:#ffffffb8;border:1px solid #dfd9cf;border-radius:999px;padding:6px 11px}.related-empty{color:var(--subtle)}.workspace-empty-state{color:var(--muted)}.workspace-empty-state h3{color:var(--text)}.generic-editor{gap:16px;padding:22px}.generic-editor label{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;padding:14px}.generic-editor label span,.modal-form label span,.smiles-label{color:var(--muted)}.generic-editor textarea,.modal-form textarea,.modal-form input,.modal-form select,.smiles-input,.chat-input{color:var(--text);background:#fff;border:1px solid #d9d5cb;border-radius:10px}.generic-editor textarea:focus,.modal-form textarea:focus,.modal-form input:focus,.modal-form select:focus,.smiles-input:focus,.chat-input:focus{border-color:#8eb9c5;outline:3px solid #256f8f1f}.ai-placeholder{color:#385d68;background:#eef7f8;border-color:#cee4e9;border-radius:14px}.modal-backdrop{background:#18202a47;animation:.16s modal-fade}.modal-card{border:1px solid var(--border);box-shadow:var(--shadow-md);background:#fff;border-radius:16px;animation:.16s modal-scale}.modal-header{border-bottom-color:#ece8df}.modal-header h3{color:var(--text)}.file-type-help{color:var(--muted);border-color:var(--border);background:#f7f6f1;border-radius:12px}button{border-radius:10px;transition:background .14s,border-color .14s,color .14s,transform .14s,box-shadow .14s}.btn-primary,.analyze-btn{color:#fff;background:var(--primary);border:1px solid var(--primary);box-shadow:0 1px 2px #1118271f}.btn-primary:hover:not(:disabled),.analyze-btn:hover:not(:disabled){opacity:1;background:var(--primary-hover);transform:translateY(-1px)}.btn-secondary,.btn-icon,.micro-button,.icon-button,.icon-text-button{color:var(--text);border:1px solid var(--border);background:#fff}.btn-secondary:hover:not(:disabled),.btn-icon:hover:not(:disabled),.micro-button:hover,.icon-button:hover,.icon-text-button:hover{border-color:var(--border-strong);background:#f8f7f2}.panel,.card,.chat-bubble.assistant,.chat-messages,.explanation-box{background:var(--card);border-color:var(--border);color:var(--text)}.panel-header{color:var(--muted);border-bottom-color:var(--border)}.mol-structure-area.empty{color:var(--muted);background:#f8f7f2;border-color:#d7d2c7}.mol-actions{border-top-color:var(--border)}.hint-banner{color:#7a5415;background:#fff7e7;border-color:#ecd7ac}.rxn-name-badge,.env-thermodynamic,.env-kinetic,.selection-summary{color:#1e6074;background:#eef7f8;border-color:#cfe4e9}.env-badge,code,.smiles-input{font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace}.chat-bubble.user{color:#fff;background:var(--primary)}.loading-overlay{background:#f6f4efc7}.loading-content{border-color:var(--border);background:#fff;border-radius:16px}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-scale{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:1180px){.dashboard-page{padding-left:20px;padding-right:20px}.workspace-body{grid-template-columns:280px 1fr}}@media (max-width:820px){.dashboard-header,.file-editor-header,.project-header{flex-direction:column;align-items:flex-start}.project-grid{grid-template-columns:1fr}}html,body{min-height:100%}body{background:var(--bg)}.platform-topbar,.project-header,header.platform-topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffdb}.platform-topbar h1,header h1{color:var(--text);-webkit-text-fill-color:currentColor;background:0 0}.topbar-actions,.project-header-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.project-header-actions .platform-topbar{display:none}.user-email{max-width:220px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.page-loading{min-height:calc(100vh - 60px);color:var(--muted);justify-content:center;align-items:center;font-size:13px;display:flex}.auth-page{background:var(--bg);place-items:center;min-height:100vh;padding:28px;display:grid}.auth-card{background:var(--card);border:1px solid var(--border);width:min(440px,100%);box-shadow:var(--shadow-md);border-radius:16px;padding:24px}.auth-brand{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding-bottom:18px;display:flex}.auth-brand h1,.auth-heading h2{color:var(--text);margin:0}.auth-brand p,.auth-heading p,.auth-switch{color:var(--muted);font-size:13px}.auth-heading{padding:22px 0 16px}.auth-heading h2{font-size:24px;line-height:1.2}.auth-form,.auth-form label,.input-with-icon{flex-direction:column;display:flex}.auth-form{gap:14px}.auth-form label{gap:7px}.auth-form label>span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.input-with-icon{position:relative}.input-with-icon svg{color:var(--subtle);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-with-icon input,.modal-form input,.modal-form select,.modal-form textarea,.generic-editor textarea,.saved-context-panel textarea{width:100%;color:var(--text);border:1px solid var(--border);font:inherit;background:#fff;border-radius:10px;padding:10px 12px}.input-with-icon input{padding-left:36px}.modal-form textarea,.generic-editor textarea,.saved-context-panel textarea{resize:vertical}.input-with-icon input:focus,.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus,.generic-editor textarea:focus,.saved-context-panel textarea:focus{border-color:#256f8f8c;outline:3px solid #256f8f1f}.auth-submit{width:100%;min-height:42px;margin-top:4px}.auth-switch{text-align:center;margin-top:18px}.auth-switch a{color:var(--accent);font-weight:700;text-decoration:none}.btn-primary{background:var(--primary);color:#fff;border:1px solid var(--primary);border-radius:10px}.btn-primary:hover:not(:disabled){background:var(--primary-hover);opacity:1}.btn-secondary,.icon-text-button,.micro-button{border-radius:10px}.project-card{border-radius:14px;transition:border-color .16s,box-shadow .16s,transform .16s,background .16s;position:relative}.project-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px #18202a1a}.project-delete-button,.file-delete-button{color:var(--subtle);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.project-delete-button{width:30px;height:30px;padding:0;position:absolute;top:12px;right:12px}.project-delete-button:hover,.file-delete-button:hover{color:var(--danger);background:#fff6f5;border-color:#a94a4238}.file-list-item{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;position:relative}.file-delete-button{width:26px;height:26px;padding:0}.file-type-badge{color:var(--accent2);letter-spacing:.04em;background:#eef7f6;border:1px solid #cfe5e1;border-radius:6px;align-items:center;margin-left:7px;padding:1px 5px;font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-size:9px;font-weight:800;display:inline-flex}.file-type-badge.strong{margin-left:0;font-size:10px}.status-pill{border-radius:999px;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.status-pill.saved{color:var(--success);background:#edf8f1;border:1px solid #cde9d7}.status-pill.muted{color:var(--muted);background:var(--surface-2);border:1px solid var(--border)}.project-status-row,.file-heading-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:5px;display:flex}.dashboard-empty-state,.sidebar-empty-state,.error-state{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.dashboard-empty-state{background:var(--card);border:1px dashed var(--border-strong);border-radius:16px;grid-column:1/-1;min-height:320px;padding:32px}.sidebar-empty-state{border:1px dashed var(--border);border-radius:12px;padding:26px 16px}.error-state{min-height:320px}.dashboard-empty-state h3,.error-state h2{color:var(--text)}.error-banner,.success-banner{border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.45}.error-banner{color:#7f2e28;background:#fff6f5;border:1px solid #edc8c4}.success-banner{color:var(--success);background:#eff8f2;border:1px solid #cbe8d5}.error-banner.wide,.editor-banner{margin-bottom:14px}.editor-banner{margin:12px 16px 0}.related-file-tabs{background:#fff}.related-tab{color:var(--muted);background:var(--surface-2)}.related-tab.active{color:var(--accent);background:#eef7f8;border-color:#cfe4e9}.saved-context-panel{background:var(--surface);border-bottom:1px solid var(--border);grid-template-columns:minmax(280px,1fr) minmax(260px,.8fr) auto;align-items:end;gap:12px;padding:14px 16px;display:grid}.saved-context-panel label{flex-direction:column;gap:7px;display:flex}.saved-context-panel label span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.molecule-interest-panel{border-bottom:1px solid var(--border);background:#fbfaf7;grid-template-columns:minmax(280px,1fr) 220px auto;align-items:stretch;gap:12px;padding:14px 16px;display:grid}.molecule-interest-copy{flex-direction:column;gap:7px;display:flex}.molecule-interest-preview{min-height:86px;color:var(--muted);border:1px solid var(--border);background:#fff;border-radius:10px;justify-content:center;align-items:center;font-size:12px;display:flex;overflow:hidden}.molecule-interest-panel .mol-drawer-trigger{align-self:center;min-height:40px}.structured-field-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.structured-field-header .mol-drawer-trigger{min-height:28px}.ai-response-box{min-height:82px;color:var(--muted);border:1px solid var(--border);background:#fff;border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:12px;display:flex}.editor-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.wide-field{grid-column:1/-1}.modal-card{border-radius:16px}.modal-backdrop{animation:.16s ease-out modal-fade}.modal-card{animation:.18s ease-out modal-scale}@media (max-width:980px){.mol-drawer-body,.mol-drawer-output,.molecule-interest-panel{grid-template-columns:1fr}.mol-drawer-tools{border-right:none;border-bottom:1px solid var(--border)}.mol-drawer-modal{max-height:calc(100vh - 28px)}.mol-drawer-backdrop{padding:14px}.mol-drawer-stage{grid-template-rows:auto auto}.saved-context-panel{grid-template-columns:1fr}.topbar-actions,.project-header-actions{margin-left:0}}@keyframes reveal-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.reveal-up{animation:.45s cubic-bezier(.22,.9,.3,1) backwards reveal-up}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.oauth-button:active:not(:disabled),.action-button:active:not(:disabled){transition-duration:60ms;transform:scale(.98)}.project-card .project-card-icon{transition:transform .18s}.project-card:hover .project-card-icon{transform:rotate(-5deg)scale(1.07)}.topbar-home{color:inherit;border-radius:10px;align-items:center;gap:12px;text-decoration:none;display:flex}.topbar-home .brand-mark{transition:transform .18s}.topbar-home:hover .brand-mark{transform:scale(1.08)rotate(-6deg)}.topbar-home:focus-visible{outline-offset:2px;outline:3px solid #256f8f4d}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.dashboard-empty-state>svg{animation:3.6s ease-in-out infinite float-y}.auth-page{position:relative;overflow:hidden}.auth-page .auth-card{z-index:1;-webkit-backdrop-filter:blur(14px)saturate(1.2);background:#ffffffc7;border-color:#ffffffa6;position:relative}.ambient-lab{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.ambient-canvas{width:100%;height:100%;position:absolute;inset:0}.ambient-blob{filter:blur(80px);will-change:transform;border-radius:50%;position:absolute}.blob-a{background:radial-gradient(circle at 35% 35%,#256f8f52,#256f8f00 68%);width:55vmax;height:55vmax;animation:36s ease-in-out infinite alternate blob-drift-a;top:-24vmax;left:-16vmax}.blob-b{background:radial-gradient(circle at 60% 60%,#175c524d,#175c5200 66%);width:48vmax;height:48vmax;animation:44s ease-in-out infinite alternate blob-drift-b;bottom:-20vmax;right:-18vmax}.blob-c{background:radial-gradient(circle at 50% 40%,#9a6a1824,#9a6a1800 64%);width:34vmax;height:34vmax;animation:52s ease-in-out infinite alternate-reverse blob-drift-a;top:52%;left:-12vmax}@keyframes blob-drift-a{0%{transform:translate(0)scale(1)}to{transform:translate(7vmax,5vmax)scale(1.14)}}@keyframes blob-drift-b{0%{transform:translate(0)scale(1.1)}to{transform:translate(-6vmax,-7vmax)scale(.96)}}.page-loading.splash{flex-direction:column;gap:14px}@keyframes brand-pulse{0%,to{transform:scale(1);box-shadow:0 0 #256f8f38}50%{transform:scale(1.06);box-shadow:0 0 0 12px #256f8f00}}.splash-mark{border-radius:12px;width:44px;height:44px;animation:1.8s ease-in-out infinite brand-pulse}.splash-message{animation:.35s msg-fade}@media (prefers-reduced-motion:reduce){.reveal-up,.ambient-blob,.dashboard-empty-state>svg,.splash-mark,.splash-message{animation:none!important}.project-card,.project-card .project-card-icon,.topbar-home .brand-mark,.btn-primary,.btn-secondary,.oauth-button,.action-button{transition:none!important;transform:none!important}}.tool-picker{gap:24px;max-width:880px;margin:0 auto;padding:48px 36px}.tool-picker-heading h3{letter-spacing:-.02em;margin:2px 0 6px;font-size:24px}.tool-picker-primary{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.tool-picker-card{box-shadow:var(--shadow-sm);transition:transform .16s,box-shadow .16s,border-color .16s,background .16s}.tool-picker-card:hover{border-color:var(--accent);background:var(--card);transform:translateY(-2px);box-shadow:0 12px 28px #18202a1a}.tool-picker-card.primary{border-radius:14px;flex-direction:column;align-items:flex-start;gap:14px;padding:20px}.tool-picker-card.primary strong{font-size:15px}.tool-picker-card.primary span{font-size:12.5px}.tool-picker-card-icon{color:var(--accent2);background:#eef7f4;border:1px solid #cfe3dd;border-radius:12px;width:44px;height:44px}.tool-picker-card.primary:hover .tool-picker-card-icon{transform:scale(1.08)rotate(-5deg)}.tool-picker-card-icon{transition:transform .18s}.tool-picker-secondary{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.tool-picker-card.secondary{border-radius:12px;align-items:center;gap:12px;padding:13px 16px;font-size:13px}.tool-picker-card.secondary svg{color:var(--accent2);flex-shrink:0}.tool-picker-card.secondary strong{font-size:13px;display:block}.tool-picker-card.secondary span{color:var(--muted);font-size:11.5px;line-height:1.4;display:block}@media (max-width:980px){.tool-picker-primary,.tool-picker-secondary{grid-template-columns:1fr}}.tool-strip{z-index:5;-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);scrollbar-width:none;background:#fbfaf7eb;align-items:center;gap:7px;padding:9px 18px;display:flex;position:sticky;top:0;overflow-x:auto}.tool-strip::-webkit-scrollbar{display:none}.tool-strip-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;margin-right:3px;font-size:11px;font-weight:700}.tool-chip{color:var(--muted);background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:6px 11px;font-size:12px;font-weight:600;transition:color .14s,border-color .14s,background .14s,transform .14s;display:inline-flex}.tool-chip:hover{color:var(--accent2);border-color:var(--accent2);background:#eef7f4;transform:translateY(-1px)}.tool-chip svg{color:var(--accent2)}.file-list-item.tools-home{border-bottom:1px solid var(--border);border-radius:12px 12px 0 0;margin-bottom:4px;padding-bottom:12px}.file-list-item.tools-home svg{color:var(--accent2)}.file-editor-shell.chat-shell{background:var(--bg);height:100%}.chat-header{border-bottom:1px solid var(--border);background:0 0}.chat-shell .file-editor-content{flex-direction:column;min-height:0;padding:0;display:flex}.claude-chat{flex-direction:column;flex:1;width:100%;max-width:820px;min-height:0;margin:0 auto;padding:0 20px 20px;display:flex;position:relative}.claude-chat .chat-messages{background:0 0;border:none;border-radius:0;flex:1;gap:22px;min-height:0;max-height:none;padding:26px 4px;overflow-y:auto}.claude-chat .chat-bubble{border-radius:0;max-width:100%;padding:0;font-size:14.5px;line-height:1.65}.claude-chat .chat-bubble.assistant{color:var(--text);background:0 0;border:none;align-self:stretch}.claude-chat .chat-bubble.user{color:#fff;background:var(--primary);border-radius:16px 16px 4px;align-self:flex-end;max-width:78%;padding:11px 15px}.chat-empty-state{text-align:center;max-width:460px;color:var(--muted);flex-direction:column;gap:10px;margin:auto;display:flex}.chat-empty-state h2{color:var(--text);letter-spacing:-.02em;font-size:24px;font-weight:650}.chat-empty-state p{font-size:13.5px;line-height:1.6}.chat-drop-overlay{z-index:20;color:var(--text);border:2px dashed var(--border-strong);pointer-events:none;background:#f6f4efeb;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex;position:absolute;inset:8px}.chat-composer{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.chat-composer:focus-within{border-color:#8eb9c5;box-shadow:0 0 0 3px #256f8f1a}.claude-chat .chat-input-row{align-items:flex-end;gap:8px;margin-top:0}.claude-chat .chat-input{background:0 0;border:none;border-radius:0;min-height:34px;max-height:200px;padding:6px 4px;font-size:14.5px;line-height:1.55;overflow-y:auto}.claude-chat .chat-input:focus{box-shadow:none;border:none;outline:none}.chat-attach-row{flex-wrap:wrap;gap:6px;display:flex}.chat-file-chip{max-width:240px;color:var(--text);border:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;background:#f7f6f1;border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:12px;font-weight:550;display:inline-flex;overflow:hidden}.chat-file-chip.in-bubble{color:var(--text);background:#ffffffe6;margin:0 6px 8px 0;display:inline-flex}.chat-chip-thumb{object-fit:cover;border-radius:5px;width:20px;height:20px}.chat-chip-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:1px;display:inline-flex}.chat-chip-remove:hover{color:var(--text)}.chat-bubble-images{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.chat-bubble-image{border:1px solid var(--border);background:#fff;border-radius:12px;max-width:240px;max-height:200px;display:block}.chat-attach-button{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-self:flex-end;align-items:center;padding:8px;display:inline-flex}.chat-attach-button:hover{color:var(--text);background:#f4f2ec}.chat-attach-button:disabled{opacity:.4;cursor:not-allowed}.chat-attach-button:disabled:hover{color:var(--muted);background:0 0}.chat-direct-toggle.is-active,.chat-direct-toggle.is-active:hover{color:var(--warning);background:#9a6a181f;border-color:#9a6a1847}.chat-direct-notice{color:var(--warning);background:#9a6a1814;border:1px solid #9a6a1838;border-radius:8px;margin-bottom:8px;padding:6px 10px;font-size:12px;line-height:1.4}.chat-engine-label{letter-spacing:.04em;height:34px;color:var(--muted);align-self:flex-end;align-items:center;padding:0 3px;font-size:11px;font-weight:700;display:inline-flex}.claude-chat .chat-model-select{background:#f7f6f1;border-radius:9px;padding:7px 9px;font-size:12px}.app-shell{background:var(--bg);height:100vh;display:flex;position:relative;overflow:hidden}.hydrate-error{z-index:40;width:min(660px,100% - 84px);position:absolute;top:12px;left:50%;transform:translate(-50%)}.hydrate-error .settings-note{background:var(--card);border-color:var(--danger);box-shadow:var(--shadow-md)}.hydrate-error .settings-note svg{color:var(--danger)}.nav-rail{background:var(--bg);z-index:20;flex-direction:column;flex:none;align-items:center;gap:10px;width:58px;padding:12px 0 16px;display:flex}.rail-group{flex-direction:column;gap:4px;display:flex}.rail-btn{width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;place-items:center;transition:background .12s,color .12s;display:grid;position:relative}.rail-btn:hover{color:var(--text);background:#18202a0f}.rail-btn.toggled{color:var(--text)}.rail-btn.active{color:var(--text);background:#e9e6dd}.rail-btn.accent{color:var(--text);background:var(--card);border-color:var(--border);box-shadow:var(--shadow-sm)}.rail-btn.accent:hover{border-color:var(--border-strong);background:#fff}.rail-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rail-btn:after{content:attr(data-label);white-space:nowrap;color:#fbfaf7;opacity:0;pointer-events:none;z-index:60;background:#23282f;border-radius:7px;padding:5px 9px;font-size:12px;font-weight:550;line-height:1;transition:opacity .12s,transform .12s;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)translate(-4px)}.rail-btn:hover:after,.rail-btn:focus-visible:after{opacity:1;transform:translateY(-50%)translate(0)}.rail-mark{color:#fbfaf7;background:var(--primary);border-radius:50%;place-items:center;width:30px;height:30px;margin-top:auto;display:grid}.side-panel{border-right:1px solid var(--border);background:#f2f0e8;flex:none;width:244px;padding:12px 10px 18px;overflow-y:auto}.side-panel-head{padding:4px 8px 12px}.brand-word{letter-spacing:-.015em;color:var(--text);font-size:15px;font-weight:700}.side-panel-label{letter-spacing:.08em;text-transform:uppercase;color:var(--subtle,var(--muted));padding:0 8px 6px;font-size:11px;font-weight:700}.history-empty{color:var(--muted);padding:8px;font-size:12.5px;line-height:1.55}.history-group{margin-bottom:12px}.history-day{color:var(--subtle,var(--muted));padding:4px 8px;font-size:11px;font-weight:650}.history-item{color:var(--text);cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:8px;font-size:13px;display:flex}.history-item:hover{background:#e9e6dd}.history-item.active{color:#1e6074;background:#eef7f8}.history-item svg{color:var(--muted);flex-shrink:0}.history-item.active svg{color:#1e6074}.history-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.history-delete{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:3px;display:none}.history-item:hover .history-delete{display:inline-flex}.history-delete:hover{color:#b3402e}.project-pill{color:#1e6074;background:#eef7f8;border:1px solid #cfe4e9;border-radius:10px;align-items:center;gap:7px;margin:0 2px 12px;padding:7px 10px;font-size:12.5px;font-weight:650;display:flex}.workspace-main{background:var(--bg);flex:1;min-width:0;position:relative;overflow-y:auto}.workspace-main.chat-main{flex-direction:column;display:flex;overflow:hidden}.workspace-main.chat-main .claude-chat{flex:1;min-height:0;padding-top:8px}.claude-chat.is-empty{justify-content:center}.claude-chat.is-empty .chat-messages{flex:none;padding-bottom:6px;overflow:visible}.chat-empty-state h2{letter-spacing:-.01em;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:32px;font-weight:500}.tool-context-bar{color:var(--muted);align-items:center;gap:7px;padding:9px 20px;font-size:12.5px;font-weight:600;display:flex}.tool-context-bar .chat-chip-remove{color:var(--subtle,var(--muted))}.tool-context-bar svg{color:var(--accent2)}.tool-context-link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;font-weight:600}.tool-context-link:hover{text-decoration:underline}.page-main{overflow-y:auto}.page{flex-direction:column;gap:20px;max-width:900px;margin:0 auto;padding:46px 30px 90px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.page-title{letter-spacing:-.01em;color:var(--text);font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:30px;font-weight:500}.page-sub{max-width:560px;color:var(--muted);margin-top:6px;font-size:13.5px;line-height:1.6}.page-actions{align-items:center;gap:8px;display:flex}.icon-button{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;display:grid}.icon-button:hover{color:var(--text);background:#18202a0f}.page-search{height:34px;color:var(--muted);background:var(--card);border:1px solid var(--border);border-radius:999px;align-items:center;gap:7px;padding:0 13px;display:flex}.page-search:focus-within{border-color:var(--border-strong)}.page-search input{font:inherit;width:150px;color:var(--text);background:0 0;border:none;outline:none;font-size:13px}.sort-select{height:34px;color:var(--muted);background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:0 13px;font-size:13px;display:inline-flex;position:relative}.sort-select strong{color:var(--text);font-weight:600}.sort-select:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:4px solid var(--muted);width:0;height:0;margin-left:2px}.sort-select select{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.btn-dark{height:34px;font:inherit;color:#fbfaf7;background:var(--primary);border:1px solid var(--primary);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 15px;font-size:13px;font-weight:600;display:inline-flex}.btn-dark:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-dark:disabled{opacity:.45;cursor:not-allowed}.btn-quiet{height:34px;font:inherit;color:var(--text);background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.btn-quiet:hover{border-color:var(--border-strong)}.btn-danger{height:34px;font:inherit;color:var(--danger);background:var(--card);cursor:pointer;border:1px solid #a94a4252;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.btn-danger:hover{border-color:var(--danger);background:#a94a420f}.page-empty{text-align:center;color:var(--muted);background:var(--card-soft);border:1px dashed var(--border-strong);border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:46px 24px;display:flex}.page-empty.compact{padding:24px}.page-empty svg{color:var(--subtle,var(--muted))}.page-empty strong{color:var(--text);font-size:15px}.page-empty p{max-width:420px;font-size:13px;line-height:1.6}.page-empty .btn-dark{margin-top:8px}.chat-list-group{flex-direction:column;gap:8px;display:flex}.chat-list-day{letter-spacing:.07em;text-transform:uppercase;color:var(--subtle,var(--muted));font-size:11.5px;font-weight:700}.chat-list{flex-direction:column;gap:6px;display:flex}.chat-row{color:var(--text);background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;font-size:14px;display:flex}.chat-row:hover{border-color:var(--border-strong)}.chat-row-icon{width:28px;height:28px;color:var(--accent2);background:var(--card-soft);border-radius:8px;flex:none;place-items:center;display:grid}.chat-row-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.chat-row-tool,.chat-row-date{color:var(--muted);flex:none;font-size:12px}.chat-row-tool{background:var(--surface-2);border-radius:999px;padding:3px 9px;font-weight:600}.row-delete{color:var(--subtle,var(--muted));opacity:0;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;padding:4px;display:flex}.chat-row:hover .row-delete,.proj-card:hover .row-delete,.row-delete:focus-visible{opacity:1}.row-delete:hover{color:var(--danger)}@media (hover:none){.row-delete{opacity:1}}.proj-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;display:grid}.proj-card{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:15px;flex-direction:column;gap:9px;min-height:176px;padding:18px 18px 0;transition:border-color .12s,box-shadow .12s;display:flex}.proj-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.proj-card-title{letter-spacing:-.01em;color:var(--text);font-size:15px;font-weight:650}.proj-card-desc{-webkit-line-clamp:3;line-clamp:3;color:var(--muted);-webkit-box-orient:vertical;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.proj-card-desc.muted{color:var(--subtle,var(--muted))}.proj-card-foot{color:var(--subtle,var(--muted));justify-content:space-between;align-items:center;margin-top:auto;padding:12px 0;font-size:12px;display:flex}.back-link{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-self:flex-start;align-items:center;gap:6px;padding:5px 10px 5px 6px;font-size:13px;font-weight:600;display:inline-flex}.back-link:hover{color:var(--text);background:#18202a0f}.project-start-row{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.start-card{text-align:left;font:inherit;color:var(--text);background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:13px;flex-direction:column;gap:4px;padding:14px 15px;display:flex}.start-card:hover{border-color:var(--border-strong)}.start-card svg{color:var(--accent2)}.start-card strong{font-size:13.5px;font-weight:650}.start-card span{color:var(--muted);font-size:12px;line-height:1.5}.project-edit{background:var(--card);border:1px solid var(--border);border-radius:15px;flex-direction:column;gap:14px;padding:18px;display:flex}.field{color:var(--muted);flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;display:flex}.field em{color:var(--subtle,var(--muted));font-style:normal;font-weight:500}.field input,.field textarea{font:inherit;color:var(--text);background:var(--card);border:1px solid var(--border-strong);resize:vertical;border-radius:10px;padding:10px 12px;font-size:13.5px;font-weight:400}.field input:focus,.field textarea:focus{border-color:#8eb9c5;outline:3px solid #256f8f1f}.sheet-backdrop{z-index:80;background:#18202a57;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.sheet{background:var(--surface);border:1px solid var(--border);width:min(460px,100%);box-shadow:var(--shadow-md);border-radius:18px;flex-direction:column;gap:14px;padding:20px;display:flex}.sheet-head{justify-content:space-between;align-items:center;display:flex}.sheet-head h2{letter-spacing:-.01em;font-size:17px;font-weight:650}.sheet-actions{justify-content:flex-end;gap:8px;display:flex}.settings-section{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;padding-bottom:22px;display:flex}.settings-section:last-child{border-bottom:none}.settings-section h2{letter-spacing:-.01em;color:var(--text);font-size:15px;font-weight:650}.settings-blurb{max-width:560px;color:var(--muted);font-size:13px;line-height:1.65}.settings-row{flex-wrap:wrap;gap:8px;display:flex}.model-options{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.model-option{text-align:left;font:inherit;color:var(--text);background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:13px;flex-direction:column;gap:3px;padding:13px 15px;display:flex}.model-option:hover{border-color:var(--border-strong)}.model-option.active{background:#eef7f8;border-color:#8eb9c5}.model-option strong{font-size:14px;font-weight:650}.model-option span{color:var(--muted);font-size:12px}.model-option code{color:var(--subtle,var(--muted));font-size:11px}.settings-note{background:var(--card-soft);border:1px solid var(--border);border-radius:13px;gap:10px;padding:14px 16px;display:flex}.settings-note svg{color:var(--accent2);flex:none;margin-top:1px}.settings-note p{color:var(--muted);font-size:13px;line-height:1.65}@media (max-width:720px){.side-panel{z-index:30;box-shadow:var(--shadow-md);position:absolute;top:0;bottom:0;left:58px}.page{padding:30px 18px 70px}.chat-row-tool{display:none}}.assistant-fab{z-index:30;color:#fff;background:var(--primary);border:1px solid var(--primary);box-shadow:var(--shadow-md,0 6px 18px #1118272e);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:11px 18px;font-size:13.5px;font-weight:650;display:inline-flex;position:absolute;bottom:20px;right:22px}.assistant-fab:hover{background:var(--primary-hover)}.workspace-main{position:relative}.assistant-drawer{z-index:40;background:var(--bg);border:1px solid var(--border-strong);border-radius:16px;flex-direction:column;width:min(420px,100% - 24px);display:flex;position:absolute;top:12px;bottom:12px;right:12px;overflow:hidden;box-shadow:0 12px 40px #1118272e}.assistant-drawer-header{border-bottom:1px solid var(--border);color:var(--text);background:#fbfaf7f2;align-items:center;gap:8px;padding:12px 14px;font-size:13.5px;display:flex}.assistant-drawer-hint{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;overflow:hidden}.assistant-drawer .claude-chat{flex:1;max-width:none;min-height:0;padding:0 12px 12px}.assistant-drawer .chat-messages{gap:16px;padding:14px 2px}.assistant-drawer .chat-bubble{font-size:13px}.assistant-drawer .chat-empty-state h2{font-size:17px}.assistant-drawer .chat-empty-state p{font-size:12.5px}.mol-input-card{border-radius:12px}.mol-input-card .card-title{padding:12px 14px 0}.mol-structure-area.empty{border:1.5px dashed var(--border-strong);background:var(--surface);border-radius:10px;gap:3px;margin:10px 10px 0;transition:border-color .15s,background .15s}.mol-structure-area.empty:hover,.mol-structure-area.empty:focus-visible{border-color:var(--accent);background:#f1f7f9;outline:none}.upload-icon-ring{background:#256f8f14;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:5px;transition:background .15s,transform .15s;display:inline-flex}.mol-structure-area.empty:hover .upload-icon-ring{background:#256f8f24;transform:translateY(-1px)}.mol-structure-area.empty .upload-icon{color:var(--accent);opacity:1}.upload-title{color:var(--text);font-size:12.5px;font-weight:600}.upload-hint{color:var(--subtle);font-size:11px}.mol-actions{border-top:none;flex-wrap:wrap;align-items:stretch;gap:5px;padding:10px 9px}.mol-actions .btn-secondary,.mol-actions .btn-icon{white-space:nowrap;min-height:32px;color:var(--text);border-radius:8px;flex:none;justify-content:center;align-items:center;gap:5px;padding:0 9px;font-size:12px;font-weight:500;display:inline-flex}.mol-actions .btn-icon{color:var(--muted)}.mol-actions .btn-icon:hover:not(:disabled){color:var(--text)}.mol-actions .btn-icon.active{color:var(--accent);border-color:var(--accent)}.mol-actions label{min-width:0;display:flex}.mol-action-fill{width:100%;height:100%}.analyze-btn{letter-spacing:.01em;color:#fff;background:linear-gradient(#2c81a4,#226884);border:1px solid #1d5c78;border-radius:10px;padding:12px;font-size:13.5px;box-shadow:0 1px 2px #18202a26,inset 0 1px #ffffff24}.analyze-btn:hover:not(:disabled){background:linear-gradient(#3189ad,#256f8f);transform:translateY(-1px);box-shadow:0 4px 12px #256f8f47,inset 0 1px #ffffff24}.analyze-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #18202a26}.analyze-btn:disabled{opacity:1;background:var(--surface-2);border-color:var(--border);color:var(--subtle);box-shadow:none;cursor:not-allowed}.mol-structure-area:not(.empty)+.mol-actions{border-top:1px solid var(--border)}.chat-tool-card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;margin:6px 0 10px;padding:12px 14px}.chat-bubble.user .chat-tool-card{color:var(--text)}.chat-tool-card-head{color:var(--text);flex-wrap:wrap;align-items:center;gap:7px;font-size:12px;font-weight:650;display:flex}.chat-tool-card-head svg{color:var(--accent2,var(--muted));flex-shrink:0}.chat-tool-card-head code{border:1px solid var(--border);word-break:break-all;background:#f7f6f1;border-radius:6px;padding:1px 6px;font-size:11px}.chat-tool-tag{color:var(--muted);border:1px solid var(--border);border-radius:999px;margin-left:auto;padding:1px 8px;font-size:10px;font-weight:600}.chat-tool-products{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.chat-tool-product{border:1px solid var(--border);background:#fdfdfb;border-radius:10px;flex-direction:column;gap:4px;max-width:200px;padding:8px;display:flex}.chat-tool-product-name{color:var(--text);font-size:11px;font-weight:650}.chat-tool-product-smiles{color:var(--muted);word-break:break-all;font-size:10.5px}.chat-tool-miss{color:var(--warning);margin-top:8px;font-size:11.5px;line-height:1.5}.chat-tool-guess-badge{text-transform:uppercase;letter-spacing:.03em;color:var(--warning);border:1px solid var(--warning);white-space:nowrap;border-radius:999px;margin-left:6px;padding:0 5px;font-size:9.5px;font-weight:700}.chat-explain-btn{color:var(--text);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:6px;margin-top:2px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.chat-explain-btn:hover:not(:disabled){background:var(--card)}.chat-explain-btn:disabled{opacity:.5;cursor:default}.chat-explain-spinner{border-width:2px;width:12px;height:12px}.chat-message-content{white-space:normal;flex-direction:column;gap:8px;display:flex}.chat-tool-card+.chat-message-content,.reaction-banner+.chat-message-content{margin-top:12px}.chat-message-content h3{letter-spacing:-.01em;margin:4px 0 1px;font-size:15px;font-weight:680;line-height:1.35}.chat-message-content p{margin:0}.chat-message-content ul,.chat-message-content ol{flex-direction:column;gap:5px;margin:0;padding-left:22px;display:flex}.chat-message-content li{padding-left:2px}.chat-message-content code{color:var(--accent2);background:var(--surface-2);border-radius:5px;padding:1px 5px;font-size:.9em}.reaction-banner{border:1px solid var(--border);width:100%;max-width:820px;box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;flex-shrink:0;margin:12px auto 0;padding:12px 14px}.chat-bubble .reaction-banner{margin:0}.reaction-scheme{grid-template-columns:minmax(0,1fr) minmax(110px,.85fr) minmax(0,1fr);align-items:center;gap:4px;display:grid}.scheme-mol{aspect-ratio:3/2;justify-content:center;align-items:center;width:100%;min-width:0;display:flex}.scheme-mol.unverified{position:relative}.scheme-mol.unverified:after{content:"";border-bottom:1.5px dashed var(--warning);position:absolute;bottom:6px;left:12%;right:12%}.scheme-mol .structure-view,.scheme-over .structure-view,.reaction-banner-side-mol .structure-view{width:100%;min-width:0;max-width:100%;height:100%}.scheme-mol .structure-view svg,.scheme-over .structure-view svg,.reaction-banner-side-mol .structure-view svg{width:100%;height:100%;display:block}.scheme-arrow{grid-template-rows:1fr auto 1fr;align-self:stretch;justify-items:center;row-gap:4px;width:100%;min-width:0;display:grid}.scheme-over,.scheme-under{text-align:center;width:100%;min-height:15px;color:var(--text);overflow-wrap:anywhere;justify-content:center;align-items:flex-end;font-size:11.5px;line-height:1.3;display:flex}.scheme-under{color:var(--muted);align-items:flex-start;font-size:10.5px}.scheme-over .structure-view{height:100%;max-height:52px}.scheme-reagent-label{font-weight:600}.scheme-arrow-line{background:var(--text);width:100%;min-width:74px;height:1.5px;position:relative}.scheme-arrow-line:after{content:"";border-left:8px solid var(--text);border-top:5px solid #0000;border-bottom:5px solid #0000;position:absolute;top:50%;right:-1px;transform:translateY(-50%)}.scheme-nomatch{color:var(--warning);text-align:center;padding:0 6px;font-size:12px;font-weight:600}.reaction-banner{position:relative}.reaction-notes-toggle{border:1px solid var(--border);width:24px;height:24px;color:var(--muted);cursor:pointer;z-index:2;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:inline-flex;position:absolute;top:8px;right:8px}.reaction-notes-toggle:hover{background:var(--surface-2,#f2f2ef)}.reaction-notes-toggle.warn{color:var(--warning);border-color:var(--warning)}.reaction-notes-toggle.open{background:var(--warning);border-color:var(--warning);color:#fff}.reaction-notes{border:1px solid var(--border);color:var(--muted);background:#fdfcf7;border-radius:10px;margin:0 0 10px;padding:10px 34px 10px 12px;font-size:11.5px;line-height:1.55}.reaction-notes p{margin:0 0 5px}.reaction-notes p:last-child{margin-bottom:0}.reaction-notes-lead{color:var(--text);font-weight:600}.reaction-notes-caveat{color:var(--warning);font-weight:500}.reaction-notes-alts{margin-top:8px}.reaction-notes-alts summary{cursor:pointer;color:var(--text);font-weight:600;list-style:none}.reaction-notes-alts summary::-webkit-details-marker{display:none}.reaction-notes-alts summary:before{content:"▸";margin-right:5px;transition:transform .15s;display:inline-block}.reaction-notes-alts[open] summary:before{transform:rotate(90deg)}.reaction-banner-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.reaction-banner-head{color:var(--text);align-items:center;gap:6px;font-size:12px;font-weight:650;display:inline-flex}.reaction-banner-head svg{color:var(--accent2,var(--muted))}.reaction-banner-tag{color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:1px 8px;font-size:10px;font-weight:600}.reaction-banner-tag.unverified{color:var(--warning);border-color:var(--warning)}.reaction-banner-side-toggle{color:var(--text);border:1px solid var(--border);cursor:pointer;background:#f7f6f1;border-radius:999px;align-items:center;gap:4px;margin-left:auto;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.reaction-banner-side-toggle svg{transition:transform .15s}.reaction-banner-side-toggle.open svg{transform:rotate(180deg)}.reaction-banner-side{border-top:1px dashed var(--border);flex-wrap:wrap;gap:10px;margin-top:12px;padding-top:12px;display:flex}.reaction-banner-side-mol{border:1px solid var(--border);background:#fdfdfb;border-radius:10px;flex-direction:column;flex:180px;align-items:center;gap:4px;max-width:260px;padding:8px;display:flex}.reaction-banner-side-structure{aspect-ratio:3/2;width:100%}@media (max-width:700px){.reaction-banner{padding:10px}.reaction-scheme{grid-template-columns:minmax(0,1fr) minmax(64px,.7fr) minmax(0,1fr);gap:2px}.scheme-arrow-line{min-width:44px}.scheme-over{font-size:10.5px}.scheme-over .structure-view{height:34px}.scheme-under{font-size:9.5px}.scheme-nomatch{padding:0 2px;font-size:10.5px}}.reaction-banner-side-name{max-width:120px;color:var(--text);text-align:center;font-size:10.5px;font-weight:600}.stockroom-presets{flex-wrap:wrap;gap:5px;display:flex}.stockroom-preset-chip{color:var(--muted);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600}.stockroom-preset-chip:hover{color:#1e6074;background:#eef7f8;border-color:#cfe4e9}.stockroom-chain-chip{color:var(--muted);border:1px solid var(--border);background:#fff;border-radius:999px;align-items:stretch;font-size:11px;font-weight:600;display:inline-flex;overflow:hidden}.stockroom-chain-chip:hover,.stockroom-chain-chip:focus-within{color:#1e6074;border-color:#cfe4e9}.stockroom-chain-add{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:3px 8px 3px 9px}.stockroom-chain-add:hover{background:#eef7f8}.stockroom-chain-count{font:inherit;color:inherit;text-align:center;border:none;border-left:1px solid var(--border);-moz-appearance:textfield;background:0 0;width:34px;padding:3px 2px 3px 5px}.stockroom-chain-count:focus{background:#eef7f8;outline:none}.stockroom-chain-count::-webkit-outer-spin-button{height:16px;margin:0}.stockroom-chain-count::-webkit-inner-spin-button{height:16px;margin:0}.settings-input{min-width:0;color:inherit;background:var(--surface-2,#0000000a);border:1px solid var(--border,#00000026);border-radius:6px;flex:1;padding:.55rem .7rem;font-family:inherit;font-size:.9rem}.settings-input:focus{outline:2px solid var(--accent,#4a6cf7);outline-offset:1px}
