:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef2ff;font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{width:100%;height:100vh;margin:0;overflow:hidden}body{min-width:320px}button,input,textarea{font:inherit}.app-shell{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-topbar{background:#ffffffeb;border-bottom:1px solid #94a3b826;flex-shrink:0;justify-content:space-between;align-items:center;height:36px;padding:0 14px;display:flex}.app-topbar-title{color:#0f172a;font-size:14px;font-weight:700}.app-body{flex:1;gap:8px;min-height:0;padding:8px 8px 48px;display:flex;overflow:hidden}.agent-right-panel{background:linear-gradient(#fffffffa,#f1f5f9f5),radial-gradient(circle at 100% 0,#3b82f614,#0000 28%);border:1px solid #94a3b82e;border-radius:16px;flex-shrink:0;min-height:0;transition:width .2s;display:flex;overflow:hidden;box-shadow:0 18px 44px #0f172a14}.agent-right-panel.collapsed{box-shadow:none;border:none;width:0!important}.agent-panel-drag-handle{cursor:col-resize;background:0 0;border-radius:3px;flex-shrink:0;width:5px;margin:8px 0;transition:background .15s}.agent-panel-drag-handle:hover{background:#6366f14d}.agent-panel-drag-handle:active{background:#6366f180}.agent-right-panel-body{flex-direction:column;flex:1;min-width:0;padding:10px 12px;display:flex;overflow:hidden}.agent-panel-toggle{color:#475569;cursor:pointer;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.05em;z-index:10;background:#ffffffeb;border:1px solid #94a3b847;border-radius:8px 0 0 8px;flex-shrink:0;align-self:center;padding:8px 4px;font-size:11px;transition:background .15s,color .15s}.agent-panel-toggle:hover{color:#312e81;background:#e0e7ffe6}.user-menu-login{color:#4338ca;cursor:pointer;background:#e0e7ffe6;border:1px solid #4f46e54d;border-radius:8px;padding:5px 16px;font-size:13px;font-weight:600}.user-menu-login:hover{background:#c7d2fee6}.user-menu-actions{align-items:center;gap:8px;display:flex}.user-menu-docs{color:#475569;cursor:pointer;background:#ffffffeb;border:1px solid #94a3b847;border-radius:8px;padding:5px 14px;font-size:13px;font-weight:600}.user-menu-docs:hover{background:#f1f5f9f2}.user-menu{position:relative}.user-menu-avatar{cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:4px 8px;display:flex}.user-menu-avatar:hover{background:#e0e7ff80}.avatar-circle{color:#fff;background:linear-gradient(135deg,#6366f1,#818cf8);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:inline-flex}.avatar-circle-lg{width:36px;height:36px;font-size:16px}.user-menu-name{color:#334155;font-size:13px;font-weight:500}.user-menu-dropdown{z-index:200;background:#fffffffa;border:1px solid #94a3b838;border-radius:12px;min-width:200px;margin-top:4px;padding:6px 0;position:absolute;top:100%;right:0;box-shadow:0 8px 30px #0f172a26}.user-menu-dropdown-header{align-items:center;gap:10px;padding:10px 14px;display:flex}.user-menu-dropdown-name{color:#0f172a;font-size:14px;font-weight:600}.user-menu-dropdown-sub{color:#94a3b8;font-size:12px}.user-menu-dropdown-separator{background:#94a3b833;height:1px;margin:4px 8px}.user-menu-dropdown-item{color:#334155;text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:8px 14px;font-size:13px;display:block}.user-menu-dropdown-item:hover{background:#e0e7ffcc}.user-menu-dropdown-item.danger{color:#b91c1c}.user-menu-dropdown-item.danger:hover{background:#fef2f2e6}.panel-section h2{color:#0f172a;margin:0}.toolbar{background:linear-gradient(#fffffffa,#f1f5f9f5),radial-gradient(circle at 100% 0,#3b82f614,#0000 28%);border:1px solid #94a3b82e;border-radius:16px;flex-direction:column;flex-shrink:0;gap:0;padding:0;display:flex;box-shadow:0 18px 44px #0f172a14}.toolbar-left{width:min(300px,28vw);min-width:220px;max-width:360px;overflow:hidden}.toolbar-left.collapsed{width:44px;min-width:44px}.toolbar-left-header{justify-content:flex-end;align-items:center;padding:8px;display:flex}.toolbar-left-toggle{color:#334155;cursor:pointer;background:#ffffffe6;border:1px solid #94a3b847;border-radius:10px;width:28px;height:28px;font-size:12px}.toolbar-left-body{flex-direction:column;gap:10px;padding:0 8px 8px;display:flex;overflow:auto}.toolbar-section{background:#ffffffe0;border:1px solid #94a3b824;border-radius:14px;flex-direction:column;gap:8px;padding:8px 10px;display:flex;box-shadow:inset 0 1px #ffffffd9}.toolbar-section-title{color:#475569;letter-spacing:.04em;font-size:12px;font-weight:700}.toolbar-section-body{gap:8px;display:grid}.toolbar-button-grid{flex-wrap:wrap;gap:6px;display:flex}.toolbar-button,.panel-button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #94a3b859;border-radius:10px;padding:8px 12px;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s}.toolbar-button{min-height:34px;font-size:13px}.toolbar-button:hover,.panel-button:hover,.object-item:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0f172a14}.toolbar-button.active{color:#312e81;background:#e0e7ffe6;border-color:#4f46e559}.toolbar-button-accent{color:#312e81;background:linear-gradient(135deg,#e0e7fff5,#bfdbfef5);border-color:#6366f13d}.toolbar-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.toolbar-field{color:#334155;gap:6px;font-size:13px;display:grid}.toolbar-field input,.toolbar-field textarea{background:#fff;border:1px solid #94a3b847;border-radius:12px;width:100%;min-width:0;padding:8px 10px}.toolbar-field textarea{resize:vertical;min-height:54px}.toolbar-help{color:#64748b;font-size:12px;line-height:1.4}.equation-tabs{flex-wrap:wrap;gap:6px;display:flex}.toolbar-error{color:#b91c1c;font-size:13px}.equation-composer{gap:8px;display:grid}.equation-token-grid{flex-wrap:wrap;gap:6px;display:flex}.equation-exponent-row{gap:6px;display:flex}.equation-exponent-row input{flex:1;min-width:0}.workspace{flex:1;min-width:0;min-height:0;padding-bottom:40px;display:flex;overflow:hidden}.board-stage,.object-panel{background:#ffffffe0;border:1px solid #94a3b833;border-radius:20px;box-shadow:0 18px 45px #0f172a14}.board-stage{flex:1;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.board-hint{z-index:1;color:#fff;pointer-events:none;background:#0f172ac7;border-radius:999px;padding:6px 10px;font-size:12px;position:absolute;top:10px;left:10px}.canvas-info-panel{z-index:2;flex-direction:column;align-items:flex-start;gap:4px;max-width:min(44vw,420px);display:flex;position:absolute;bottom:10px;left:10px}.canvas-info-line{color:#0f172a;text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffd1;border:0;border-radius:8px;padding:4px 8px;font-size:12px;line-height:1.35}.canvas-info-line.constraint{color:#7c2d12}.overlay-panel{z-index:3;background:#fffffff5;border:1px solid #94a3b838;border-radius:16px;width:280px;padding:14px;position:absolute;box-shadow:0 18px 45px #0f172a1f}.constraint-panel{bottom:14px;right:14px}.measurement-panel{bottom:14px;left:14px}.overlay-title{color:#0f172a;margin-bottom:10px;font-weight:700}.overlay-field{color:#334155;gap:6px;margin-bottom:8px;font-size:14px;display:grid}.overlay-field input{background:#fff;border:1px solid #94a3b847;border-radius:10px;width:100%;padding:10px 12px}.overlay-help{color:#64748b;margin-bottom:8px;font-size:12px}.overlay-button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #94a3b847;border-radius:10px;padding:8px 12px}.overlay-button.primary{background:#e0e7fff2;border-color:#4f46e542;margin-bottom:12px}.overlay-button.danger{color:#991b1b;background:#fef2f2f0;border-color:#dc262638}.overlay-error{color:#b91c1c;margin-top:8px;font-size:13px}.constraint-list{gap:10px;display:grid}.constraint-item{background:#f8fafcf5;border:1px solid #94a3b82e;border-radius:12px;padding:10px}.constraint-text{color:#334155;margin-bottom:8px;font-size:14px}.constraint-actions{gap:8px;display:flex}.constraint-expr-row{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.constraint-expr-error{color:#b91c1c;font-size:12px}.measurement-list{gap:8px;display:grid}.measurement-item{text-align:left;color:#1e293b;cursor:pointer;background:#f8fafcf5;border:1px solid #94a3b82e;border-radius:10px;width:100%;padding:10px 12px}.object-panel{flex-direction:column;gap:16px;padding:18px;display:flex}.object-panel-embedded{box-shadow:none;background:0 0;border:0;padding:0}.object-panel-skeleton{color:#64748b;justify-content:center;align-items:center;min-height:320px}.panel-section{flex-direction:column;gap:10px;display:flex}.muted{color:#64748b;margin:0;font-size:14px}.object-list{flex-direction:column;gap:8px;max-height:340px;display:flex;overflow:auto}.object-panel-embedded .object-list{max-height:180px}.object-item{text-align:left;cursor:pointer;background:#f8fafce6;border:1px solid #94a3b82e;border-radius:14px;flex-direction:column;gap:4px;width:100%;padding:12px 14px;display:flex}.object-item.selected{background:#e0e7ffb3;border-color:#4f46e552}.object-item-name{color:#0f172a;font-weight:600}.object-item-meta{color:#64748b;font-size:13px}.object-item-meta.invalid{color:#b91c1c}.selection-card{background:#f8fafceb;border:1px solid #94a3b82e;border-radius:16px;flex-direction:column;gap:12px;padding:14px;display:flex}.selection-actions{gap:8px;display:flex}.field{color:#334155;gap:6px;font-size:14px;display:grid}.field input[type=color]{background:0 0;border:0;width:100%;height:40px;padding:0}.field textarea{resize:vertical;background:#fff;border:1px solid #94a3b847;border-radius:10px;width:100%;padding:10px 12px}.check-row{color:#334155;align-items:center;gap:8px;font-size:14px;display:flex}.panel-button.danger{color:#991b1b;background:#fef2f2f2;border-color:#dc262647}.selection-data{white-space:pre-wrap;word-break:break-word;color:#0f172a;background:#e2e8f0;border-radius:12px;margin:0;padding:12px;font-size:12px}@media (width<=1180px){.app-shell{gap:12px;padding:12px}.board-stage{min-height:0}}.board-tabs{z-index:100;background:#f1f5f9f5;border-top:1px solid #94a3b833;align-items:center;gap:2px;padding:4px 12px;display:flex;position:fixed;bottom:0;left:0;right:0}.board-tab{color:#475569;cursor:pointer;white-space:nowrap;background:#fffc;border:1px solid #94a3b833;border-bottom:none;border-radius:8px 8px 0 0;padding:6px 16px;font-size:13px}.board-tab.active{color:#0f172a;background:#fff;border-color:#4f46e54d;font-weight:600}.board-tab-dragging{opacity:.4}.board-tab-drop-target{background:#e0e7ff99;border-color:#4f46e580}.board-tab-drop-before{border-left:2px solid #6366f1}.board-tab-editing{color:#0f172a;background:#fff;border:1px solid #4f46e54d;border-bottom:none;border-radius:8px 8px 0 0;outline:none;min-width:60px;padding:6px 16px;font-size:13px}.board-tab-add{color:#64748b;cursor:pointer;background:0 0;border:1px dashed #94a3b866;border-bottom:none;border-radius:8px 8px 0 0;padding:6px 12px;font-size:14px}.board-tab-add:hover{color:#334155;background:#fff9}.board-tabs-icp{color:#94a3b8;white-space:nowrap;margin-left:auto;font-size:11px}.board-tabs-icp a{color:#94a3b8;text-decoration:none}.board-tabs-icp a:hover{color:#64748b}.toolbar-slider-row{color:#334155;align-items:center;gap:6px;font-size:12px;display:flex}.toolbar-slider-label{color:#0f172a;min-width:24px;font-weight:600}.toolbar-slider-row input[type=range]{flex:1;min-width:0}.toolbar-slider-value{text-align:right;font-variant-numeric:tabular-nums;color:#64748b;cursor:pointer;border-radius:4px;min-width:42px;padding:2px 4px}.toolbar-slider-value:hover{color:#334155;background:#e0e7ff99}.toolbar-slider-value-input{text-align:right;font-variant-numeric:tabular-nums;color:#0f172a;background:#fff;border:1px solid #4f46e566;border-radius:4px;outline:none;width:50px;min-width:42px;padding:2px 4px;font-size:12px}.toolbar-sliders{flex-direction:column;gap:6px;display:flex}.slider-overlay{z-index:99;background:#fffffff2;border:1px solid #94a3b838;border-radius:12px;flex-direction:column;gap:8px;padding:12px 16px;display:flex;position:fixed;bottom:48px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0f172a1a}.slider-control{color:#334155;align-items:center;gap:10px;font-size:13px;display:flex}.slider-control label{color:#0f172a;min-width:40px;font-weight:600}.slider-control input[type=range]{width:160px}.slider-control .slider-value{text-align:right;font-variant-numeric:tabular-nums;color:#64748b;min-width:50px}.popup-center-overlay{z-index:300;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a40;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.subpage-overlay{z-index:320;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(900px 520px at 18% 8%,#3b82f629,#0000 55%),radial-gradient(900px 520px at 78% 24%,#6366f11f,#0000 58%),radial-gradient(900px 520px at 40% 92%,#0ea5e91a,#0000 60%),linear-gradient(#f8fafcf5,#f1f5f9fa);justify-content:center;align-items:stretch;display:flex;position:fixed;inset:0}.subpage{color:#0f172a;width:min(1100px,96vw);padding:22px 18px 18px}.subpage-topbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;display:flex}.subpage-title-kicker{letter-spacing:.18em;text-transform:uppercase;color:#64748b;font-size:12px}.subpage-title-main{letter-spacing:-.02em;color:#0f172a;margin-top:4px;font-size:28px;font-weight:800}.subpage-title-sub{color:#64748b;margin-top:8px;font-size:13px}.subpage-chip{color:#1e3a8a;background:#e0e7ffcc;border:1px solid #4f46e538;border-radius:999px;align-items:center;margin-left:6px;padding:3px 10px;font-weight:600;display:inline-flex}.subpage-close{color:#0f172a;cursor:pointer;background:#ffffffdb;border:1px solid #94a3b847;border-radius:12px;width:38px;height:38px}.subpage-close:hover{background:#e0e7ffe6}.subpage-banner{border:1px solid #94a3b838;border-radius:12px;margin:10px 0 12px;padding:10px 12px;font-size:13px}.subpage-banner-error{color:#b91c1c;background:#fef2f2e6;border-color:#dc26262e}.subpage-banner-ok{color:#15803d;background:#f0fdf4eb;border-color:#10b9812e}.tier-rail{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;grid-auto-columns:minmax(260px,1fr);grid-auto-flow:column;gap:14px;padding:8px 4px 12px;display:grid;overflow-x:auto}.tier-rail::-webkit-scrollbar{height:10px}.tier-rail::-webkit-scrollbar-thumb{background:#94a3b852;border-radius:999px}.tier-card{scroll-snap-align:start;background:#ffffffeb;border:1px solid #94a3b838;border-radius:18px;flex-direction:column;min-height:340px;padding:16px 16px 14px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 60px #0f172a1f}.tier-card:before{content:"";opacity:1;pointer-events:none;background:radial-gradient(520px 220px at 18% 0,#6366f124,#0000 62%);position:absolute;inset:-1px}.tier-plan:before{background:radial-gradient(520px 220px at 18% 0,#6366f129,#0000 62%)}.tier-plus:before{background:radial-gradient(520px 240px at 18% 0,#3b82f624,#0000 62%)}.tier-pro:before{background:radial-gradient(520px 240px at 18% 0,#0ea5e924,#0000 62%)}.tier-max:before{background:radial-gradient(520px 240px at 18% 0,#2563eb24,#0000 62%)}.tier-head{justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;display:flex;position:relative}.tier-name{color:#0f172a;font-size:18px;font-weight:800}.tier-badge{color:#1e3a8a;background:#e0e7ffe6;border:1px solid #4f46e52e;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.tier-price{color:#64748b;font-size:12px}.tier-divider{background:#94a3b838;height:1px;margin:6px 0 10px;position:relative}.tier-bullets{color:#334155;gap:8px;margin:0;padding-left:18px;font-size:13px;line-height:1.35;display:grid;position:relative}.tier-actions{margin-top:auto;padding-top:14px;position:relative}.tier-btn{color:#1e3a8a;cursor:pointer;background:#e0e7ffbf;border:1px solid #4f46e52e;border-radius:12px;width:100%;padding:10px 12px;font-weight:700;transition:transform .12s,background .12s}.tier-btn:hover:not(:disabled){background:#c7d2fee6;transform:translateY(-1px)}.tier-btn:disabled{opacity:.55;cursor:not-allowed}.tier-btn-solid{color:#fff;background:linear-gradient(135deg,#2563ebf2,#1d4ed8f2);border-color:#2563eb61}.subpage-footnote{color:#64748b;margin-top:10px;padding:0 4px;font-size:12px}.auth-overlay{z-index:300;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a66;justify-content:center;align-items:center;animation:.2s authFadeIn;display:flex;position:fixed;inset:0}.auth-overlay-closing{animation:.2s forwards authFadeOut}.auth-card{background:#fff;border-radius:20px;width:380px;animation:.25s authSlideIn;overflow:hidden;box-shadow:0 25px 60px #00000026,0 0 0 1px #0000000a}.auth-card-closing{animation:.2s forwards authSlideOut}@keyframes authFadeIn{0%{opacity:0}to{opacity:1}}@keyframes authFadeOut{0%{opacity:1}to{opacity:0}}@keyframes authSlideIn{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes authSlideOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(20px)scale(.96)}}.auth-card-navigating,.auth-body-navigating{animation:.2s forwards authNavigateOut}.auth-body{padding:20px 32px 28px;animation:.25s authNavigateIn}.auth-body-navigating{animation:.2s forwards authNavigateOut}@keyframes authNavigateOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30px)}}@keyframes authNavigateIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes authSlideUp{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-header{text-align:center;flex-direction:column;align-items:center;padding:32px 32px 0;display:flex;position:relative}.auth-back{color:#475569;cursor:pointer;background:#94a3b81f;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:flex;position:absolute;top:16px;left:16px}.auth-back:hover{background:#94a3b840}.auth-logo{margin-bottom:16px;display:inline-flex}.auth-title{color:#0f172a;letter-spacing:-.01em;margin:0 0 4px;font-size:20px;font-weight:700}.auth-subtitle{color:#94a3b8;margin:0;font-size:13px}.auth-tabs{border-bottom:1px solid #f1f5f9;margin:20px 32px 0;display:flex}.auth-tab{color:#94a3b8;cursor:pointer;background:0 0;border:none;flex:1;padding:10px 0;font-size:13px;font-weight:500;transition:color .2s;position:relative}.auth-tab:hover{color:#475569}.auth-tab.active{color:#2563eb;font-weight:600}.auth-tab.active:after{content:"";background:#2563eb;border-radius:1px;height:2px;position:absolute;bottom:-1px;left:16%;right:16%}.auth-body{padding:20px 32px 28px}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field label{color:#374151;font-size:13px;font-weight:500}.auth-input-wrap{align-items:center;display:flex;position:relative}.auth-input-icon{color:#94a3b8;pointer-events:none;width:16px;height:16px;position:absolute;left:12px}.auth-input-wrap input{color:#0f172a;box-sizing:border-box;background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:10px;outline:none;width:100%;padding:10px 12px 10px 36px;font-size:14px;transition:border-color .2s,box-shadow .2s,background .2s}.auth-input-wrap input:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.auth-input-wrap input::placeholder{color:#c1c9d4}.auth-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:10px;width:100%;margin-top:4px;padding:11px 0;font-size:14px;font-weight:600;transition:transform .15s,box-shadow .15s,opacity .15s}.auth-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #2563eb59}.auth-btn:active:not(:disabled){transform:translateY(0)}.auth-btn:disabled{opacity:.55;cursor:not-allowed}.auth-btn-ghost{color:#475569;background:#f1f5f9}.auth-btn-ghost:hover:not(:disabled){box-shadow:none;background:#e2e8f0}.auth-error{color:#dc2626;text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 32px;padding:8px 12px;font-size:13px}.auth-hint{color:#64748b;text-align:center;font-size:13px}.auth-success-box{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.auth-password-box{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.auth-password-code{letter-spacing:.5px;background:#fff;border-radius:6px;padding:2px 8px;font-family:SF Mono,Fira Code,monospace;font-size:13px;font-weight:600}.auth-link{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.auth-link:hover{text-decoration:underline}.agent-panel{flex-direction:column;height:100%;min-height:0;display:flex}.agent-header{justify-content:space-between;align-items:center;padding:0 0 8px;display:flex}.agent-title{color:#0f172a;font-size:13px;font-weight:600}.agent-new-btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;display:flex}.agent-new-btn:hover{color:#334155;background:#f1f5f9}.agent-messages{flex-direction:column;flex:1;gap:10px;min-height:0;padding:4px 0;display:flex;overflow-y:auto}.agent-empty{text-align:center;color:#94a3b8;padding:20px 0;font-size:13px;line-height:1.6}.agent-hints{flex-direction:column;gap:6px;margin-top:12px;display:flex}.agent-hints button{color:#475569;cursor:pointer;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;font-size:12px;transition:background .15s}.agent-hints button:hover{background:#f1f5f9;border-color:#cbd5e1}.agent-msg{flex-direction:column;gap:4px;display:flex}.agent-msg-user{align-items:flex-end}.agent-msg-assistant{align-items:flex-start}.agent-msg-content{white-space:pre-wrap;word-break:break-word;border-radius:12px;max-width:90%;padding:8px 12px;font-size:13px;line-height:1.5}.agent-msg-user .agent-msg-content{color:#fff;background:#2563eb;border-bottom-right-radius:4px}.agent-msg-assistant .agent-msg-content{color:#1e293b;background:#f1f5f9;border-bottom-left-radius:4px}.agent-msg-reasoning{color:#64748b;max-width:90%;font-size:12px}.agent-msg-user .agent-msg-reasoning{align-self:flex-end}.agent-msg-reasoning>summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:#94a3b8;font-size:12px}.agent-msg-reasoning>summary:hover{color:#64748b}.agent-msg-reasoning>pre{white-space:pre-wrap;word-break:break-word;color:#64748b;background:#94a3b81f;border:1px solid #94a3b838;border-radius:10px;margin:6px 0 0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.agent-tools{flex-direction:column;gap:4px;max-width:90%;display:flex}.agent-tool-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:flex}.agent-tool-status{font-size:10px}.agent-tool-pending .agent-tool-status{color:#94a3b8}.agent-tool-executing .agent-tool-status{color:#2563eb}.agent-tool-done .agent-tool-status{color:#16a34a}.agent-tool-error .agent-tool-status{color:#dc2626}.agent-tool-name{color:#475569}.agent-typing{gap:4px;padding:10px 14px;display:flex}.agent-typing span{background:#94a3b8;border-radius:50%;width:6px;height:6px;animation:1.4s infinite typingDot}.agent-typing span:nth-child(2){animation-delay:.2s}.agent-typing span:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.agent-input-area{border-top:1px solid #f1f5f9;gap:6px;padding-top:8px;display:flex}.agent-input-area input{color:#0f172a;background:#fff;border:1.5px solid #e2e7ef;border-radius:10px;outline:none;flex:1;padding:8px 12px;font-size:13px;transition:border-color .2s}.agent-input-area input:focus{border-color:#2563eb}.agent-input-area button{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:500}.agent-input-area button:hover{background:#1d4ed8}.agent-input-area button:disabled{opacity:.5;cursor:not-allowed}.agent-attach-btn{cursor:pointer;background:#fff;border:1.5px solid #e2e7ef;border-radius:10px;flex-shrink:0;padding:6px 8px;font-size:16px;line-height:1;transition:border-color .15s,background .15s}.agent-attach-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.agent-image-preview{gap:6px;padding:6px 0;display:flex;overflow-x:auto}.agent-image-thumb{border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;width:64px;height:64px;position:relative;overflow:hidden}.agent-image-thumb img{object-fit:cover;width:100%;height:100%}.agent-image-remove{color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;line-height:1;display:flex;position:absolute;top:2px;right:2px}.agent-image-remove:hover{background:#dc2626cc}.agent-msg-images{flex-wrap:wrap;gap:4px;max-width:90%;display:flex}.agent-msg-image{object-fit:contain;border:1px solid #e2e8f0;border-radius:8px;max-width:120px;max-height:120px}.auth-row-between{justify-content:flex-end;display:flex}.auth-popup-error{color:#b91c1c;text-align:center;background:#fef2f2e6;border-radius:8px;padding:6px;font-size:13px}.auth-user-badge{color:#334155;align-items:center;gap:8px;font-size:13px;display:flex}.auth-user-badge button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:12px}.auth-user-badge button:hover{color:#334155;background:#e0e7ff99}.file-list-popup{flex-direction:column;gap:10px;min-width:360px;max-height:400px;display:flex}.file-list-items{flex-direction:column;gap:6px;max-height:280px;display:flex;overflow-y:auto}.file-list-item{cursor:pointer;background:#f8fafce6;border:1px solid #94a3b82e;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.file-list-item:hover{background:#e0e7ff80;border-color:#4f46e533}.file-list-item-name{color:#0f172a;font-size:13px;font-weight:600}.file-list-item-date{color:#94a3b8;font-size:11px}.file-list-item-actions{gap:4px;display:flex}.file-list-item-actions button{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:12px}.file-list-item-actions button:hover{color:#334155;background:#e0e7ffcc}.file-list-item-actions button.danger:hover{color:#991b1b;background:#fef2f2e6}.file-list-empty{text-align:center;color:#94a3b8;padding:20px;font-size:13px}.file-list-actions{gap:8px;display:flex}.constraint-input-popup{z-index:200;background:#fffffffa;border:1px solid #94a3b838;border-radius:12px;flex-direction:column;gap:8px;min-width:200px;padding:14px;display:flex;position:fixed;box-shadow:0 8px 30px #0f172a26}.constraint-input-popup-title{color:#334155;font-size:13px;font-weight:600}.constraint-input-popup-message{color:#475569;font-size:13px;line-height:1.4}.constraint-input-popup-field{background:#fff;border:1px solid #94a3b847;border-radius:8px;outline:none;width:100%;padding:8px 10px;font-size:13px}.constraint-input-popup-field:focus{border-color:#4f46e566}.constraint-input-popup-actions{gap:6px;display:flex}.popup-form-grid{gap:10px;display:grid}.popup-form-label{color:#475569;gap:6px;font-size:12px;display:grid}.popup-form-summary{color:#475569;background:#f8fafcf2;border:1px solid #94a3b82e;border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.5}.popup-error-text{color:#b91c1c}.popup-actions-end{justify-content:flex-end}.variable-create-popup,.export-popup{width:min(360px,100vw - 24px)}.popup-segment-group{gap:8px;display:flex}.popup-segment-group.compact{gap:6px}.popup-segment{color:#334155;cursor:pointer;background:#f8fafceb;border:1px solid #94a3b83d;border-radius:10px;flex:1;padding:10px 12px;transition:all .18s}.popup-segment.active{color:#312e81;background:linear-gradient(135deg,#e0e7fffa,#bfdbfefa);border-color:#6366f147;box-shadow:0 8px 20px #6366f11f}.board-context-menu{z-index:200;background:#fffffffa;border:1px solid #94a3b838;border-radius:10px;min-width:140px;padding:6px 0;position:fixed;box-shadow:0 8px 30px #0f172a26}.board-context-menu-title{color:#64748b;white-space:nowrap;text-overflow:ellipsis;max-width:200px;padding:6px 14px 4px;font-size:12px;font-weight:600;overflow:hidden}.board-context-menu-separator{background:#94a3b833;height:1px;margin:4px 8px}.board-context-menu-item{color:#334155;text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:8px 14px;font-size:13px;display:block}.board-context-menu-item:hover{color:#1e293b;background:#e0e7ffcc}.board-context-menu-item.danger{color:#b91c1c}.board-context-menu-item.danger:hover{color:#991b1b;background:#fef2f2e6}.board-context-menu-item:disabled{opacity:.4;cursor:not-allowed}
