:root,[data-theme=dark]{--bg-primary:#0A0A0A;--bg-surface:#1A1A1A;--bg-surface-raised:#2A2A2A;--bg-inset:#0A0A0A;--text-primary:#FFFFFF;--text-secondary:#999999;--text-tertiary:#666666;--text-muted:#3A3A3A;--accent-primary:#E0E0E0;--accent-hover:#FFFFFF;--accent-muted:rgba(224,224,224,0.12);--border:#2A2A2A;--status-success:#22C55E;--status-warning:#EAB308;--status-error:#EF4444}[data-theme=light]{--bg-primary:#FAFAFA;--bg-surface:#FFFFFF;--bg-surface-raised:#F0F0F0;--bg-inset:#E5E5E5;--text-primary:#0A0A0A;--text-secondary:#666666;--text-tertiary:#999999;--text-muted:#CCCCCC;--accent-primary:#333333;--accent-hover:#000000;--accent-muted:rgba(51,51,51,0.10);--border:#E5E5E5;--status-success:#16A34A;--status-warning:#CA8A04;--status-error:#DC2626}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg{display:block;max-width:100%}button{cursor:pointer}button,input,select,textarea{font:inherit;color:inherit;border:none;background:none}input,select,textarea{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.WebToolbar_toolbar__fiLB9{display:flex;align-items:center;height:48px;padding:0 16px;background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;gap:16px}.WebToolbar_toolbar__left__DRx_S,.WebToolbar_toolbar__right__ANCtE{display:flex;align-items:center;gap:4px}.WebToolbar_toolbar__left__DRx_S{flex:0 0 auto}.WebToolbar_toolbar__center__UYsZ6{flex:1 1;display:flex;justify-content:center;align-items:center}.WebToolbar_toolbar__right__ANCtE{flex:0 0 auto}.WebToolbar_toolbar__divider__LlC40{width:1px;height:20px;background:var(--border);margin:0 4px;flex-shrink:0}.WebToolbar_toolbar__workspace__erHPl{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border:none;background:rgba(0,0,0,0);color:var(--text-secondary);font-size:13px;font-family:inherit;cursor:pointer;white-space:nowrap;transition:color .15s}.WebToolbar_toolbar__workspace__erHPl:hover{color:var(--text-primary)}.WebToolbar_toolbar__workspaceName__rgosA{max-width:180px;overflow:hidden;text-overflow:ellipsis}.WebToolbar_toolbar__workspaceInput__5t94z{width:180px;padding:2px 8px;border:1px solid var(--accent-primary);border-radius:4px;background:var(--bg-surface-raised);color:var(--text-primary);font-size:13px;font-family:inherit;outline:none}.WebToolbar_toolbar__menuContainer__xfxoU{position:relative}.WebToolbar_toolbar__menu__nEFKl{position:absolute;top:calc(100% + 4px);left:0;min-width:220px;background:var(--bg-surface-raised);border:1px solid var(--border);border-radius:8px;padding:2px 0;z-index:200;box-shadow:0 4px 12px rgba(0,0,0,.3)}.WebToolbar_toolbar__menuItem__5LbTm{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:4px 12px;border:none;background:rgba(0,0,0,0);color:var(--text-secondary);font-size:13px;font-family:inherit;cursor:pointer;text-align:left;white-space:nowrap}.WebToolbar_toolbar__menuItem__5LbTm:hover:not(:disabled){background:hsla(0,0%,100%,.06);color:var(--text-primary)}.WebToolbar_toolbar__menuItem--disabled__ASbXo{opacity:.4;cursor:not-allowed}.WebToolbar_toolbar__menuItem__5LbTm kbd{font-size:11px;color:var(--text-tertiary);font-family:inherit}.WebToolbar_toolbar__menuDivider__0Gt_u{height:1px;background:var(--border);margin:2px 0}.WebToolbar_toolbar__addSketch__33PQn{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border:none;background:#e0e0e0;color:#0a0f1c;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s}.WebToolbar_toolbar__addSketch__33PQn:hover{background:#fff}.WebToolbar_toolbar__button__P8ChY{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border:1px solid var(--border);background:rgba(0,0,0,0);color:var(--text-secondary);font-size:13px;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.WebToolbar_toolbar__button--active__KXJaX,.WebToolbar_toolbar__button__P8ChY:hover{background:var(--bg-surface-raised);color:var(--text-primary)}.WebToolbar_toolbar__button--active__KXJaX{border-color:var(--text-secondary)}.WebToolbar_toolbar__unreadDot__3ziOe{width:6px;height:6px;border-radius:50%;background:#10b981}.WebToolbar_toolbar__iconButton__WcNQU{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:rgba(0,0,0,0);color:var(--text-tertiary);cursor:pointer;transition:color .15s,background .15s}.WebToolbar_toolbar__iconButton--active__WRAcM,.WebToolbar_toolbar__iconButton__WcNQU:hover{color:var(--text-primary);background:var(--bg-surface-raised)}.WebToolbar_toolbar__rendererIndicator__7meBD{display:flex;align-items:center}.WebToolbar_toolbar__rendererBadge__zOSYh{display:inline-flex;align-items:center;padding:4px 8px;font-size:10px;font-weight:700;font-family:JetBrains Mono,monospace;color:#fff;text-transform:uppercase}.WebToolbar_toolbar__aiToggle__9sh6T{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:none;border-radius:6px;background:#6366f1;color:#fff;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s}.WebToolbar_toolbar__aiToggle__9sh6T:hover{background:#5558e6}.WebToolbar_toolbar__aiToggle--active__EWmac{background:#5558e6;box-shadow:0 0 0 2px rgba(99,102,241,.3)}.WebToolbar_toolbar__zoomLevel__c8GfC{font-size:13px;font-weight:500;font-family:JetBrains Mono,monospace;color:var(--text-secondary);min-width:40px;text-align:right}.WebStatusBar_statusbar__vRrR4{display:flex;align-items:center;height:24px;background:var(--bg-surface);border-top:1px solid var(--border);padding:0 12px;gap:8px;font-size:11px;color:var(--text-tertiary)}.WebStatusBar_item__45tKC{white-space:nowrap}.WebStatusBar_separator__JxVr2{color:var(--border)}.WebStatusBar_save-status__9CDw2{color:var(--text-tertiary)}.WebStatusBar_save-error__oULMw{color:var(--status-error)}.WebStatusBar_save-offline__FbDD_{color:var(--text-muted);font-style:italic}.WebStatusBar_spacer__Fwk3y{flex:1 1}.FileDropZone_dropzone__ynhNz{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1000}.FileDropZone_active__9SDQ_{pointer-events:all}.FileDropZone_overlay__Aoc9_{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(10,10,10,.9);display:flex;align-items:center;justify-content:center;border:4px dashed var(--accent-primary)}.FileDropZone_message__Z9hV7{font-size:24px;font-weight:600;color:var(--accent-primary);text-align:center}.ChatPanel_panel__lTSM7{display:flex;flex-direction:column;width:280px;min-width:280px;height:100%;background:#1a1a1a;border-left:1px solid #2a2a2a}.ChatPanel_header__3ZeRP{display:flex;align-items:center;justify-content:space-between;height:44px;min-height:44px;padding:0 14px;border-bottom:1px solid #2a2a2a}.ChatPanel_headerTitle___AUpj{display:flex;align-items:center;gap:8px}.ChatPanel_headerIcon__wmgRk{color:#ccc}.ChatPanel_headerText__ILvfW{font-size:13px;font-weight:600;color:#fff}.ChatPanel_headerMembers__TDrli{font-size:11px;font-weight:400;color:#666}.ChatPanel_closeBtn__OPmvq{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer;color:#666}.ChatPanel_closeBtn__OPmvq:hover{color:#ccc}.ChatPanel_messages__V5Ca0{display:flex;flex-direction:column;justify-content:flex-end;flex:1 1;overflow-y:auto;padding:14px;gap:16px}.ChatPanel_message__OrxbL{display:flex;gap:8px;width:100%}.ChatPanel_avatar__FEqYx{width:24px;height:24px;min-width:24px;border-radius:50%}.ChatPanel_messageBody___f3Mc{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.ChatPanel_messageHeader__I7hFn{display:flex;align-items:center;gap:6px}.ChatPanel_messageName__ASLb_{font-family:Inter,system-ui,sans-serif;font-size:11px;font-weight:600}.ChatPanel_messageTime__NBKnB{font-family:Inter,system-ui,sans-serif;font-size:10px;font-weight:400;color:#555}.ChatPanel_messageText__l_LEG{font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:400;color:#ccc;line-height:1.4;word-break:break-word}.ChatPanel_compose___QVfV{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid #2a2a2a}.ChatPanel_input__07awV{flex:1 1;height:32px;padding:0 10px;background:#0a0a0a;border:1px solid #333;border-radius:6px;color:#ccc;font-family:Inter,system-ui,sans-serif;font-size:12px;outline:none}.ChatPanel_input__07awV::placeholder{color:#555}.ChatPanel_input__07awV:focus{border-color:#555}.ChatPanel_sendBtn__YOK6m{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer;color:#10b981}.ChatPanel_sendBtn__YOK6m:hover{color:#34d399}.ChatPanel_sendBtn__YOK6m:disabled{color:#333;cursor:default}.ChatPanel_empty__OGauc{display:flex;align-items:center;justify-content:center;flex:1 1;color:#555;font-size:12px}.ChatPanel_unreadDot__jbVd0{width:6px;height:6px;border-radius:50%;background:#10b981}.AiPanel_panel__TsItE{display:flex;flex-direction:column;width:320px;min-width:320px;height:100%;background:#1a1a1a;border-left:1px solid #2a2a2a}.AiPanel_header__lEcuw{display:flex;align-items:center;justify-content:space-between;height:44px;min-height:44px;padding:0 14px;border-bottom:1px solid #2a2a2a}.AiPanel_headerLeft__1VHF5{display:flex;align-items:center;gap:8px}.AiPanel_headerTitle__Vh8QG{font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:600;color:#fff}.AiPanel_closeBtn__oEotb{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer;color:#666}.AiPanel_closeBtn__oEotb:hover{color:#ccc}.AiPanel_context__xY26o{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#151515;border-bottom:1px solid #2a2a2a}.AiPanel_contextThumb__Rxndl{width:32px;height:32px;min-width:32px;border-radius:4px;background:#333}.AiPanel_contextInfo__Ylu7v{display:flex;flex-direction:column;gap:2px;min-width:0}.AiPanel_contextTitle__z6z7S{font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:500;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.AiPanel_contextMeta__tqp7t{font-family:Inter,system-ui,sans-serif;font-size:10px;font-weight:400;color:#888}.AiPanel_messages__UfGU5{justify-content:flex-end;overflow-y:auto;gap:14px}.AiPanel_empty__mf9U6,.AiPanel_messages__UfGU5{display:flex;flex-direction:column;flex:1 1;padding:14px}.AiPanel_empty__mf9U6{align-items:center;justify-content:center;gap:8px;color:#555;font-size:12px;text-align:center}.AiPanel_emptyHint__FqSB0{font-size:11px;color:#444;line-height:1.4}.AiPanel_chips__Ama7t{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:4px}.AiPanel_chip__0luv_{all:unset;font-family:Inter,system-ui,sans-serif;font-size:11px;font-weight:400;color:#aaa;padding:5px 10px;border:1px solid #333;border-radius:14px;cursor:pointer;transition:border-color .15s,color .15s}.AiPanel_chip__0luv_:hover{border-color:#6366f1;color:#ddd}.AiPanel_message__W5XxK{display:flex;gap:8px;width:100%}.AiPanel_avatarUser__2sSvt{background:#6366f1}.AiPanel_avatarAi__rpS5t,.AiPanel_avatarUser__2sSvt{width:20px;height:20px;min-width:20px;border-radius:50%}.AiPanel_avatarAi__rpS5t{background:#10b981}.AiPanel_bubbleBody__EY6jf{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1}.AiPanel_bubbleNameUser__GaCLl{color:#aaa}.AiPanel_bubbleNameAi__xvB4t,.AiPanel_bubbleNameUser__GaCLl{font-family:Inter,system-ui,sans-serif;font-size:11px;font-weight:600}.AiPanel_bubbleNameAi__xvB4t{color:#10b981}.AiPanel_bubbleText__1naAW{font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:400;color:#ddd;line-height:1.4;word-break:break-word}.AiPanel_statusList__NA02_{display:flex;flex-direction:column;gap:4px;padding-top:2px}.AiPanel_statusItem__ksxoJ{display:flex;align-items:center;gap:5px}.AiPanel_statusText__j8ucy{font-family:Inter,system-ui,sans-serif;font-size:11px;font-weight:400;color:#888}.AiPanel_liveStatus__bu4b9{display:flex;gap:8px;width:100%}.AiPanel_liveBody__yUrZm{display:flex;align-items:center;gap:6px}.AiPanel_liveText__FqgO2{font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:400;color:#888}@keyframes AiPanel_spin___GArq{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.AiPanel_spin___GArq{animation:AiPanel_spin___GArq 1s linear infinite}.AiPanel_promptBar__ZwC7b{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid #2a2a2a}.AiPanel_promptInput__yCuy4{flex:1 1;height:36px;padding:0 10px;background:#0a0a0a;border:1px solid #333;border-radius:6px;color:#ccc;font-family:Inter,system-ui,sans-serif;font-size:12px;outline:none}.AiPanel_promptInput__yCuy4::placeholder{color:#555}.AiPanel_promptInput__yCuy4:focus{border-color:#555}.AiPanel_promptInput__yCuy4:disabled{opacity:.5}.AiPanel_sendBtn__Bk8I5{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;background:#6366f1;border:none;border-radius:6px;cursor:pointer;color:#fff}.AiPanel_sendBtn__Bk8I5:hover{background:#5558e6}.AiPanel_sendBtn__Bk8I5:disabled{background:#333;color:#666;cursor:default}.AiPanel_errorBanner__WMDU_{display:flex;align-items:center;gap:6px;padding:8px 14px;background:rgba(239,68,68,.1);border-bottom:1px solid rgba(239,68,68,.2);font-family:Inter,system-ui,sans-serif;font-size:11px;color:#ef4444;cursor:pointer}.AiPanel_errorBanner__WMDU_:hover{background:rgba(239,68,68,.15)}.CommentPin_pin__PDoSa{position:absolute;z-index:10;pointer-events:auto}.CommentPin_pin--resolved__2d2fw{opacity:.4}.CommentPin_pin--active__kkKtH{z-index:20;opacity:1}.CommentPin_pinMarker__e__yX{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50% 50% 50% 0;background:#1a1a1a;border:2px solid #666;cursor:pointer;color:#e0e0e0;padding:0;transform:rotate(-45deg);transition:transform .15s ease,box-shadow .15s ease;position:relative}.CommentPin_pinMarker__e__yX svg{transform:rotate(45deg)}.CommentPin_pinMarker__e__yX:hover{transform:rotate(-45deg) scale(1.15);box-shadow:0 2px 8px rgba(0,0,0,.5)}.CommentPin_pin--active__kkKtH .CommentPin_pinMarker__e__yX{transform:rotate(-45deg) scale(1.15);box-shadow:0 0 0 2px #3b82f6}.CommentPin_pinBadge__sktLi{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:#3b82f6;color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;transform:rotate(45deg);line-height:1}.CommentPin_popover__UXLbY{position:absolute;left:36px;bottom:0;width:320px;max-height:400px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;box-shadow:0 4px 24px rgba(0,0,0,.6);display:flex;flex-direction:column;overflow:hidden}.CommentPin_popoverHeader__zSaNk{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid #2a2a2a;flex-shrink:0}.CommentPin_popoverTitle__naE5p{font-size:12px;font-weight:600;color:#e0e0e0}.CommentPin_popoverActions__Ekzzk{display:flex;gap:4px}.CommentPin_popoverBtn__jXwxY{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:rgba(0,0,0,0);color:#888;border-radius:4px;cursor:pointer;padding:0}.CommentPin_popoverBtn__jXwxY:hover{background:#2a2a2a;color:#e0e0e0}.CommentPin_popoverBtn--active__GGtx2{color:#10b981}.CommentPin_commentItem__vVyED{display:flex;gap:8px;padding:10px 12px;border-bottom:1px solid #2a2a2a}.CommentPin_commentItem--reply__fdYzK{padding-left:28px;background:#151515}.CommentPin_commentItem__vVyED:last-of-type{border-bottom:none}.CommentPin_commentAvatar__3vOwR{width:24px;height:24px;border-radius:50%;flex-shrink:0}.CommentPin_commentBody__MSV7V{flex:1 1;min-width:0}.CommentPin_commentMeta__bzbKb{display:flex;align-items:baseline;gap:6px;margin-bottom:2px}.CommentPin_commentAuthor__x5MaJ{font-size:12px;font-weight:600}.CommentPin_commentTime__ILDsH{font-size:10px;color:#666}.CommentPin_commentEdited__xwrtM{font-size:10px;color:#555;font-style:italic}.CommentPin_commentText__UUQVK{font-size:13px;color:#ccc;line-height:1.4;word-break:break-word}.CommentPin_commentActions__SO2RA{display:flex;gap:8px;margin-top:4px}.CommentPin_commentActions__SO2RA button{background:none;border:none;color:#666;font-size:11px;cursor:pointer;padding:0}.CommentPin_commentActions__SO2RA button:hover{color:#e0e0e0}.CommentPin_editRow__bfHH6{display:flex;gap:4px;margin-top:4px}.CommentPin_editInput__0djRO{flex:1 1;background:#0a0a0a;border:1px solid #444;border-radius:4px;color:#e0e0e0;font-size:12px;padding:4px 8px;outline:none}.CommentPin_editInput__0djRO:focus{border-color:#3b82f6}.CommentPin_editCancel__Kg_lp,.CommentPin_editSave__6x47n{background:none;border:1px solid #444;border-radius:4px;color:#ccc;font-size:11px;padding:4px 8px;cursor:pointer}.CommentPin_editCancel__Kg_lp:hover,.CommentPin_editSave__6x47n:hover{background:#2a2a2a}.CommentPin_replyRow__NBKug{display:flex;gap:4px;padding:8px 12px;border-top:1px solid #2a2a2a;flex-shrink:0}.CommentPin_replyInput__sRpnl{flex:1 1;background:#0a0a0a;border:1px solid #333;border-radius:4px;color:#e0e0e0;font-size:12px;padding:6px 8px;outline:none}.CommentPin_replyInput__sRpnl:focus{border-color:#3b82f6}.CommentPin_replyBtn__4elIj{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#3b82f6;color:#fff;border-radius:4px;cursor:pointer;padding:0}.CommentPin_replyBtn__4elIj:disabled{opacity:.3;cursor:default}.CommentPin_replyBtn__4elIj:not(:disabled):hover{background:#2563eb}