.zk-panel{background:var(--zc-surface-raised);border:1px solid var(--zc-border-subtle);display:flex;flex-direction:column;min-width:0;min-height:0}.zk-panel-hd{display:flex;align-items:center;gap:var(--zc-space-xs);padding:var(--zc-space-xs) var(--zc-space-sm);border-bottom:1px solid var(--zc-border-subtle);border-left:2px solid var(--zc-brand);background:var(--zc-surface-overlay);min-height:36px}.zk-panel-title{font-size:var(--zc-font-size-body);font-weight:var(--zc-font-weight-medium);color:var(--zc-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zk-panel-sub{font-size:var(--zc-font-size-micro);color:var(--zc-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zk-panel-extra{margin-left:auto;display:flex;align-items:center;gap:var(--zc-space-xs);flex-shrink:0}.zk-panel-bd{padding:var(--zc-space-sm);flex:1;min-height:0;min-width:0}.zk-panel-bd--flush{padding:0}.zk-row{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:var(--zc-space-sm);min-width:0}.zk-row+.zk-row{margin-top:var(--zc-space-sm)}.zk-strip+.zk-row{margin-top:var(--zc-space-sm)}.zk-col{grid-column:span var(--zk-span, 24);min-width:0;min-height:0}.zk-strip{display:grid;gap:1px;background:var(--zc-border-subtle);border:1px solid var(--zc-border-subtle);min-width:0}.zk-stat{background:var(--zc-surface-raised);padding:var(--zc-space-sm) var(--zc-space-md);min-width:0}.zk-stat-lab{display:flex;align-items:center;gap:var(--zc-space-xxs);font-size:var(--zc-font-size-micro);color:var(--zc-text-tertiary);margin-bottom:var(--zc-space-xxs)}.zk-stat-val{font-family:var(--zc-font-mono);font-variant-numeric:tabular-nums;font-size:var(--zc-font-size-h2);font-weight:var(--zc-font-weight-semibold);line-height:var(--zc-leading-tight);color:var(--zc-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zk-stat-val.is-empty{color:var(--zc-text-disabled)}.zk-stat-val-row{display:flex;align-items:center;gap:var(--zc-space-xs);min-width:0}.zk-spark{margin-left:auto;flex-shrink:0}.zk-spark polyline{stroke:var(--zc-text-tertiary)}.zk-spark.is-up polyline{stroke:var(--zc-up)}.zk-spark.is-down polyline{stroke:var(--zc-down)}.zk-stat-delta{display:flex;align-items:center;gap:var(--zc-space-xxs);margin-top:var(--zc-space-xxs);font-family:var(--zc-font-mono);font-variant-numeric:tabular-nums;font-size:var(--zc-font-size-caption);color:var(--zc-text-secondary)}.zk-stat-delta.is-up{color:var(--zc-up)}.zk-stat-delta.is-down{color:var(--zc-down)}.zk-stat-note{color:var(--zc-text-secondary);font-family:var(--zc-font-ui)}.zk-led{display:inline-flex;align-items:center;gap:var(--zc-space-xxs);font-size:var(--zc-font-size-caption);color:var(--zc-text-secondary);white-space:nowrap}.zk-led-dot{width:7px;height:7px;flex-shrink:0;border-radius:var(--zc-radius-full);background:var(--zc-text-tertiary)}.zk-led-dot.is-ok{background:var(--zc-ok);box-shadow:0 0 4px color-mix(in srgb,var(--zc-ok) 50%,transparent)}.zk-led-dot.is-warn{background:var(--zc-warn);box-shadow:0 0 4px color-mix(in srgb,var(--zc-warn) 50%,transparent)}.zk-led-dot.is-err{background:var(--zc-err);box-shadow:0 0 4px color-mix(in srgb,var(--zc-err) 50%,transparent)}.zk-led-dot.is-info{background:var(--zc-info);box-shadow:0 0 4px color-mix(in srgb,var(--zc-info) 50%,transparent)}.zk-led-dot.is-pulse{animation:zk-pulse 1.6s var(--zc-easing-standard) infinite}@keyframes zk-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion: reduce){.zk-led-dot.is-pulse{animation:none}}.zk-tag{display:inline-flex;align-items:center;gap:var(--zc-space-xxs);padding:0 var(--zc-space-xxs);height:18px;font-size:var(--zc-font-size-micro);line-height:1;border:1px solid var(--zc-border-default);border-radius:var(--zc-radius-sm);color:var(--zc-text-secondary);background:var(--zc-surface-overlay);white-space:nowrap}.zk-tag.is-ok{color:var(--zc-ok);border-color:color-mix(in srgb,var(--zc-ok) 40%,transparent)}.zk-tag.is-warn{color:var(--zc-warn);border-color:color-mix(in srgb,var(--zc-warn) 40%,transparent)}.zk-tag.is-err{color:var(--zc-err);border-color:color-mix(in srgb,var(--zc-err) 40%,transparent)}.zk-tag.is-info{color:var(--zc-info);border-color:color-mix(in srgb,var(--zc-info) 40%,transparent)}.zk-num{display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--zc-space-xxs);font-family:var(--zc-font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.zk-num.is-up{color:var(--zc-up)}.zk-num.is-down{color:var(--zc-down)}.zk-num.is-empty{color:var(--zc-text-disabled)}.zk-num.is-improve{color:var(--zc-ok)}.zk-num.is-worsen{color:var(--zc-err)}.zk-delta-word{font-family:var(--zc-font-ui);font-size:var(--zc-font-size-micro);color:var(--zc-text-tertiary)}.zk-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.zk-ring svg{display:block}.zk-ring-track{fill:none;stroke:var(--zc-border-subtle)}.zk-ring-bar{fill:none;stroke:var(--zc-info);stroke-linecap:butt;transition:stroke-dashoffset var(--zc-duration-slow) var(--zc-easing-out)}.zk-ring-bar.is-ok{stroke:var(--zc-ok)}.zk-ring-bar.is-warn{stroke:var(--zc-warn)}.zk-ring-bar.is-err{stroke:var(--zc-err)}.zk-ring-bar.is-info{stroke:var(--zc-info)}.zk-ring-bar.is-neutral{stroke:var(--zc-text-disabled)}.zk-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.zk-ring-label{font-family:var(--zc-font-mono);font-variant-numeric:tabular-nums;font-size:var(--zc-font-size-body);font-weight:var(--zc-font-weight-semibold);color:var(--zc-text-primary)}.zk-ring-caption{font-size:var(--zc-font-size-micro);color:var(--zc-text-tertiary)}.zk-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--zc-space-xs);padding:var(--zc-space-xl) var(--zc-space-md);text-align:center;min-height:160px}.zk-empty-ico{color:var(--zc-text-disabled);display:flex}.zk-empty-title{font-size:var(--zc-font-size-body);color:var(--zc-text-secondary)}.zk-empty-desc{font-size:var(--zc-font-size-caption);color:var(--zc-text-tertiary);max-width:520px;line-height:var(--zc-leading-normal)}.zk-hint{display:inline-flex;align-items:center;color:var(--zc-text-disabled);cursor:help}.zk-hint:hover{color:var(--zc-text-tertiary)}.zk-tl{display:flex;flex-direction:column;min-width:0}.zk-tl-item{display:grid;grid-template-columns:76px 14px 1fr;gap:var(--zc-space-xs);padding:var(--zc-space-xs) 0;border-bottom:1px solid var(--zc-border-subtle);align-items:start}.zk-tl-item:last-child{border-bottom:none}.zk-tl-time{font-family:var(--zc-font-mono);font-size:var(--zc-font-size-caption);color:var(--zc-text-tertiary);padding-top:1px}.zk-tl-axis{display:flex;justify-content:center;padding-top:5px}.zk-tl-dot{width:7px;height:7px;border-radius:var(--zc-radius-full);background:var(--zc-text-disabled)}.zk-tl-dot.is-ok{background:var(--zc-ok)}.zk-tl-dot.is-warn{background:var(--zc-warn)}.zk-tl-dot.is-err{background:var(--zc-err)}.zk-tl-dot.is-info{background:var(--zc-info)}.zk-tl-body{min-width:0}.zk-tl-title{font-size:var(--zc-font-size-body);color:var(--zc-text-primary)}.zk-tl-actor{font-size:var(--zc-font-size-caption);color:var(--zc-text-tertiary);margin-left:var(--zc-space-xxs)}.zk-tl-desc{font-size:var(--zc-font-size-caption);color:var(--zc-text-secondary);line-height:var(--zc-leading-normal);margin-top:2px}.zk-statusbar{height:var(--zc-statusbar);flex-shrink:0;display:flex;align-items:center;gap:var(--zc-space-md);padding:0 var(--zc-space-md);border-top:1px solid var(--zc-border-subtle);background:var(--zc-surface-sunken);font-size:var(--zc-font-size-micro);color:var(--zc-text-tertiary);overflow:hidden;white-space:nowrap}.zk-statusbar.is-offline{background:color-mix(in srgb,var(--zc-err) 14%,var(--zc-surface-sunken));color:var(--zc-err)}.zk-statusbar-item{display:inline-flex;align-items:center;gap:var(--zc-space-xxs)}.zk-statusbar-sep{margin-left:auto}.zk-statusbar .mono{font-family:var(--zc-font-mono)}.zk-cfg-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--zc-space-sm);min-width:0}.zk-cfg-tree{background:var(--zc-surface-raised);border:1px solid var(--zc-border-subtle);padding:var(--zc-space-xs) 0;overflow-y:auto;position:sticky;top:0;align-self:start;max-height:calc(100dvh - var(--zc-header) - var(--zc-statusbar) - var(--zc-space-xl))}.zk-cfg-tree-item{display:flex;align-items:center;gap:var(--zc-space-xs);width:100%;padding:var(--zc-space-xxs) var(--zc-space-sm);font:inherit;font-size:var(--zc-font-size-body);text-align:left;color:var(--zc-text-secondary);background:transparent;border:none;border-left:2px solid transparent;cursor:pointer}.zk-cfg-tree-item:hover{background:var(--zc-surface-hover);color:var(--zc-text-primary)}.zk-cfg-tree-item.is-active{background:var(--zc-surface-active);color:var(--zc-text-primary);border-left-color:var(--zc-brand)}.zk-cfg-tree-count{margin-left:auto;font-family:var(--zc-font-mono);font-size:var(--zc-font-size-micro);color:var(--zc-text-disabled)}.zk-cfg-toolbar{display:flex;align-items:center;gap:var(--zc-space-xs);padding:var(--zc-space-xs) var(--zc-space-sm);border-bottom:1px solid var(--zc-border-subtle);flex-wrap:wrap}.zk-cfg-search{width:240px}.zk-field{padding:var(--zc-space-sm);border-bottom:1px solid var(--zc-border-subtle)}.zk-field:last-child{border-bottom:none}.zk-field.is-locked{background:color-mix(in srgb,var(--zc-warn) 5%,transparent)}.zk-field-top{display:flex;align-items:center;gap:var(--zc-space-xs);flex-wrap:wrap}.zk-field-name{font-size:var(--zc-font-size-body);font-weight:var(--zc-font-weight-medium);color:var(--zc-text-primary)}.zk-field-key{font-family:var(--zc-font-mono);font-size:var(--zc-font-size-micro);color:var(--zc-text-disabled)}.zk-field-ctl{margin-left:auto;display:flex;align-items:center;gap:var(--zc-space-xs)}.zk-field-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--zc-space-xxs) var(--zc-space-md);margin-top:var(--zc-space-xs)}.zk-field-meta-item{font-size:var(--zc-font-size-caption);line-height:var(--zc-leading-normal);min-width:0}.zk-field-meta-k{color:var(--zc-text-tertiary);margin-right:var(--zc-space-xxs)}.zk-field-meta-v{color:var(--zc-text-secondary)}.zk-actionbar{position:sticky;bottom:0;z-index:var(--zc-z-sticky);display:flex;align-items:center;gap:var(--zc-space-xs);padding:var(--zc-space-xs) var(--zc-space-sm);border:1px solid var(--zc-border-subtle);border-bottom:none;background:var(--zc-surface-overlay);margin-top:var(--zc-space-sm)}.zk-actionbar-note{font-size:var(--zc-font-size-caption);color:var(--zc-text-tertiary)}.zk-actionbar-end{margin-left:auto;display:flex;align-items:center;gap:var(--zc-space-xs)}.zk-toolbar{display:flex;align-items:center;gap:var(--zc-space-xs);flex-wrap:wrap}.zk-toolbar-spacer{margin-left:auto}.zk-narrative{display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--zc-space-sm);min-width:0;align-items:start}.zk-narrative-main--narrow{max-width:var(--zc-page-narrow)}.zk-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--zc-space-xs);min-height:60vh;text-align:center;padding:var(--zc-space-xl)}.zk-error-code{font-family:var(--zc-font-mono);font-size:var(--zc-font-size-display);font-weight:var(--zc-font-weight-semibold);color:var(--zc-text-disabled);line-height:1}.zk-error-title{font-size:var(--zc-font-size-title);color:var(--zc-text-primary)}.zk-error-desc{font-size:var(--zc-font-size-body);color:var(--zc-text-secondary);max-width:560px;line-height:var(--zc-leading-normal)}.zk-error-actions{display:flex;gap:var(--zc-space-xs);margin-top:var(--zc-space-xs)}.zk-stack{display:flex;flex-direction:column;gap:var(--zc-space-xs);min-width:0}.zk-stack--tight{gap:var(--zc-space-xxs)}.zk-row-inline{display:flex;align-items:center;gap:var(--zc-space-xs);min-width:0;flex-wrap:wrap}.zk-muted{color:var(--zc-text-tertiary);font-size:var(--zc-font-size-caption)}.zk-mono{font-family:var(--zc-font-mono);font-variant-numeric:tabular-nums}.zk-table .ant-table-tbody>tr>td{padding:5px var(--zc-space-xs)}.zk-table .ant-table-thead>tr>th{padding:5px var(--zc-space-xs);font-size:var(--zc-font-size-caption);font-weight:var(--zc-font-weight-medium);color:var(--zc-text-tertiary);background:var(--zc-surface-overlay)}.zk-table .ant-table-cell{font-size:var(--zc-font-size-body)}.zk-tl-dot.is-neutral{background:var(--zc-text-disabled)}.zk-tl-title.is-clickable{cursor:pointer;display:flex;align-items:center;gap:var(--zc-space-xxs)}.zk-tl-title.is-clickable:hover{color:var(--zc-brand)}.zk-tl-caret{flex-shrink:0;transition:transform var(--zc-duration-fast) var(--zc-easing-out)}.zk-tl-detail{margin-top:var(--zc-space-xs);padding:var(--zc-space-xs) var(--zc-space-sm);border-left:2px solid var(--zc-border-default);background:var(--zc-surface-sunken);font-size:var(--zc-font-size-caption);color:var(--zc-text-secondary);line-height:var(--zc-leading-normal)}.zk-banner{display:flex;align-items:flex-start;gap:var(--zc-space-xs);padding:var(--zc-space-xs) var(--zc-space-sm);border:1px solid var(--zc-border-default);border-left-width:3px;background:var(--zc-surface-overlay);margin-bottom:var(--zc-space-sm)}.zk-banner.is-err{border-left-color:var(--zc-err);background:color-mix(in srgb,var(--zc-err) 10%,var(--zc-surface-overlay))}.zk-banner.is-warn{border-left-color:var(--zc-warn);background:color-mix(in srgb,var(--zc-warn) 10%,var(--zc-surface-overlay))}.zk-banner.is-info{border-left-color:var(--zc-info);background:color-mix(in srgb,var(--zc-info) 10%,var(--zc-surface-overlay))}.zk-banner.is-err .zk-banner-ico{color:var(--zc-err)}.zk-banner.is-warn .zk-banner-ico{color:var(--zc-warn)}.zk-banner.is-info .zk-banner-ico{color:var(--zc-info)}.zk-banner-ico{display:flex;padding-top:1px;flex-shrink:0}.zk-banner-main{min-width:0;flex:1}.zk-banner-title{font-size:var(--zc-font-size-body);font-weight:var(--zc-font-weight-medium);color:var(--zc-text-primary)}.zk-banner-body{font-size:var(--zc-font-size-caption);color:var(--zc-text-secondary);line-height:var(--zc-leading-normal);margin-top:2px}.zk-banner-actions{display:flex;gap:var(--zc-space-xs);margin-top:var(--zc-space-xs)}.zk-banner-close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;color:var(--zc-text-tertiary);cursor:pointer;flex-shrink:0}.zk-banner-close:hover{color:var(--zc-text-primary);background:var(--zc-surface-hover)}.zk-btn{display:inline-flex;align-items:center;gap:var(--zc-space-xxs);height:var(--zc-control);padding:0 var(--zc-space-sm);border:1px solid var(--zc-border-default);border-radius:var(--zc-radius-sm);background:var(--zc-surface-raised);color:var(--zc-text-primary);font-size:var(--zc-font-size-body);font-family:var(--zc-font-ui);cursor:pointer;transition:background var(--zc-duration-fast) var(--zc-easing-out),border-color var(--zc-duration-fast) var(--zc-easing-out)}.zk-btn:hover{background:var(--zc-surface-hover);border-color:var(--zc-border-strong)}.zk-btn:disabled{color:var(--zc-text-disabled);cursor:not-allowed;opacity:.5}.zk-cfg-group{border-bottom:1px solid var(--zc-border-subtle)}.zk-cfg-group:last-child{border-bottom:none}.zk-cfg-group-hd{display:flex;align-items:center;gap:var(--zc-space-xs);width:100%;padding:var(--zc-space-xs) var(--zc-space-sm);font:inherit;text-align:left;color:inherit;background:var(--zc-surface-overlay);border:none;cursor:pointer;-webkit-user-select:none;user-select:none}.zk-cfg-group-hd:hover{background:var(--zc-surface-hover)}.zk-cfg-group-title{font-size:var(--zc-font-size-body);font-weight:var(--zc-font-weight-medium);color:var(--zc-text-primary)}.zk-cfg-group-desc{font-size:var(--zc-font-size-caption);color:var(--zc-text-tertiary)}.zk-cfg-group-caret{width:0;height:0;flex-shrink:0;border-left:4px solid var(--zc-text-tertiary);border-top:3px solid transparent;border-bottom:3px solid transparent;transition:transform var(--zc-duration-fast) var(--zc-easing-out)}.zk-cfg-group-caret[data-open=true]{transform:rotate(90deg)}.zk-cfg-group-bd{min-width:0}.zk-field.is-dirty{background:color-mix(in srgb,var(--zc-info) 6%,transparent)}.zk-field-readonly{font-family:var(--zc-font-mono);font-variant-numeric:tabular-nums;font-size:var(--zc-font-size-body);color:var(--zc-text-secondary);padding:0 var(--zc-space-xs);height:var(--zc-control-sm);display:inline-flex;align-items:center;border:1px dashed var(--zc-border-default);background:var(--zc-surface-sunken)}.zk-field-changes{margin-top:var(--zc-space-xs);border-top:1px dashed var(--zc-border-subtle);padding-top:var(--zc-space-xs);display:flex;flex-direction:column;gap:2px}.zk-field-change{display:flex;align-items:center;gap:var(--zc-space-sm);font-size:var(--zc-font-size-caption);color:var(--zc-text-secondary);flex-wrap:wrap}.zk-confirm-body{font-size:var(--zc-font-size-body);color:var(--zc-text-secondary);line-height:var(--zc-leading-normal)}.zk-confirm-impact{padding:var(--zc-space-xs) var(--zc-space-sm);border-left:2px solid var(--zc-warn);background:color-mix(in srgb,var(--zc-warn) 8%,transparent);font-size:var(--zc-font-size-caption);color:var(--zc-text-primary)}.zk-market .ant-segmented-item-selected{background:color-mix(in srgb,var(--zc-brand) 18%,transparent);color:var(--zc-brand)}.zk-table.is-compact .ant-table-tbody>tr>td{height:var(--zc-row-compact)}.zk-table.is-comfortable .ant-table-tbody>tr>td{height:var(--zc-row-comfortable);padding:var(--zc-space-xs)}.zk-table .ant-table-thead>tr>th{position:sticky;z-index:var(--zc-z-sticky)}.zk-col-num{text-align:right}.zk-col-status{text-align:center}.zk-chart{position:relative;width:100%;min-height:0}.zk-chart-badge{position:absolute;top:0;right:0;z-index:var(--zc-z-content);padding:0 var(--zc-space-xxs);border:1px solid var(--zc-border-default);background:var(--zc-surface-raised);font-size:var(--zc-font-size-micro);line-height:var(--zc-space-md);color:var(--zc-text-tertiary);pointer-events:none}.zk-chart-skeleton{height:100%;padding:var(--zc-space-sm);overflow:hidden}.zk-chart .zk-empty{height:100%}@media (max-width: 1280px){.zk-cfg-layout{grid-template-columns:200px minmax(0,1fr)}.zk-narrative{grid-template-columns:240px minmax(0,1fr)}}@media (max-width: 992px){.zk-cfg-layout,.zk-narrative{grid-template-columns:minmax(0,1fr)}.zk-row{grid-template-columns:repeat(12,minmax(0,1fr))}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--zc-surface-base);padding:var(--zc-space-xl)}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:var(--zc-space-md);padding:var(--zc-space-xxl);background:var(--zc-surface-raised);border:1px solid var(--zc-border-subtle);border-radius:var(--zc-radius-lg)}.login-title{margin:0;font-size:var(--zc-font-size-h2);font-weight:var(--zc-font-weight-semibold);color:var(--zc-text-primary)}.login-subtitle{margin:0 0 var(--zc-space-sm);font-size:var(--zc-font-size-caption);color:var(--zc-text-secondary)}.login-field{display:flex;flex-direction:column;gap:var(--zc-space-xs);font-size:var(--zc-font-size-caption);color:var(--zc-text-secondary)}.login-alert{margin:0}*,*:before,*:after{border-radius:0!important}html,body,#root,svg,circle,ellipse,path,rect{border-radius:0!important}.z-led,.rounded-full,.ant-badge-dot,.ant-badge-status-dot,.ant-spin-dot i,.ant-avatar,.ant-timeline-item-head,.ant-steps-item-icon{border-radius:50%!important}.sidebar-btn:hover{background-color:var(--zc-surface-hover)!important}.sidebar-menu .ant-menu-item{color:var(--zc-text-primary)!important}.sidebar-menu .ant-menu-item-group-title{color:var(--zc-text-primary)!important;opacity:.55}.sidebar-menu .ant-menu-item-selected{color:var(--zc-brand-solid)!important;background:var(--zc-surface-hover)!important}.sidebar-menu .ant-menu-item:hover{color:var(--zc-text-primary)!important;background:var(--zc-surface-hover)!important}.cmd-row:hover{background:var(--zc-surface-hover)}.cmd-row.cmd-row--active{background:var(--zc-surface-hover);outline:1px solid color-mix(in srgb,var(--zc-brand-solid) 45%,transparent);outline-offset:-1px}.cmd-modal .ant-modal-content{border-radius:0!important;border:1px solid var(--zc-border-default)}:root{--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-6: 24px;--sp-8: 32px}.app-content{background:var(--zc-surface-base);min-width:0}.z-page{max-width:none;padding:var(--zc-space-xl);min-width:0}.z-page--narrow{max-width:var(--zc-page-narrow);margin:0 auto}.z-page--full{max-width:none}.z-workspace-head{padding:var(--zc-space-sm) var(--zc-space-xl)}.z-workspace-body{padding:var(--zc-space-xl)}.z-page--flush{height:100%;display:flex;flex-direction:column;min-height:0}.z-stack{display:flex;flex-direction:column;gap:var(--sp-4);min-width:0}.z-stack--tight{gap:var(--sp-3)}.z-stack--loose{gap:var(--sp-6)}.z-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-4)}.z-page-head>.page-header{margin-bottom:0}.z-stack>.page-header,.z-stack>.z-page-head{margin-bottom:0}.z-page .grid>*,.z-workspace-body .grid>*,.z-stack>*{min-width:0}.z-actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.z-actions--end{margin-left:auto;justify-content:flex-end}.z-settings-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);align-items:start;min-width:0}@media (min-width: 1100px){.z-settings-grid{grid-template-columns:minmax(0,1fr) 360px}}.z-field-label{display:block;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--zc-text-secondary);margin-bottom:6px}.page-header{margin-bottom:var(--sp-4)}.page-header h1{font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--zc-text-primary)}.page-header p{font-size:13px;color:var(--zc-text-secondary);margin-top:4px}.z-kpi{background:var(--zc-surface-raised);border:1px solid var(--zc-border-default);box-shadow:var(--card-shadow);padding:14px}.z-kpi-label{display:flex;align-items:center;gap:var(--zc-space-xxs);font-size:12px;color:var(--zc-text-secondary);margin-bottom:6px}.z-kpi-value{font-size:22px;font-weight:600;color:var(--zc-text-primary);font-variant-numeric:tabular-nums}.z-kpi-value.is-empty{color:var(--zc-text-tertiary)}.cmd-kpis{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.cmd-kpis>.z-kpi{flex:1 1 140px;min-width:0}.z-table .ant-table{background:transparent}.z-table .ant-table-thead>tr>th{background:var(--zc-surface-hover);color:var(--zc-text-secondary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--zc-border-default)}.z-table .ant-table-tbody>tr>td{border-bottom:1px solid var(--zc-border-default);color:var(--zc-text-primary);font-size:13px}.z-table .ant-table-tbody>tr:hover>td{background:var(--zc-surface-hover)!important}.z-table .ant-table-cell{padding:8px 12px!important}.z-table .ant-table-empty .ant-table-cell{color:var(--zc-text-tertiary)}.ant-btn-primary{background-color:var(--zc-brand-solid)!important;border-color:var(--zc-brand-solid)!important;color:var(--zc-on-brand)!important}.ant-btn-primary:hover,.ant-btn-primary:focus{background-color:var(--zc-brand-hover)!important;border-color:var(--zc-brand-hover)!important}.ant-tag-blue,.ant-tag-processing{color:var(--zc-on-brand)!important;background:var(--zc-brand-solid)!important;border-color:var(--zc-brand-solid)!important}.ant-tabs-tab-active .ant-tabs-tab-btn,.ant-pagination-item-active a{color:var(--zc-brand-solid)!important}.ant-tabs-ink-bar{background:var(--zc-brand-solid)!important}.ant-checkbox-checked .ant-checkbox-inner,.ant-radio-checked .ant-radio-inner{background-color:var(--zc-brand-solid)!important;border-color:var(--zc-brand-solid)!important}.ant-switch-checked,.ant-progress-bg{background-color:var(--zc-brand-solid)!important}.ant-input:focus,.ant-input-focused,.ant-select-focused .ant-select-selector,.ant-picker-focused{border-color:var(--zc-brand-solid)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--zc-brand-solid) 15%,transparent)!important}.z-led{display:inline-block;width:7px;height:7px;border-radius:var(--zc-radius-full);background:var(--zc-text-tertiary)}.z-led.ok{background:var(--zc-ok);box-shadow:0 0 4px color-mix(in srgb,var(--zc-ok) 50%,transparent)}.z-led.warn{background:var(--zc-warn);box-shadow:0 0 4px color-mix(in srgb,var(--zc-warn) 50%,transparent)}.z-led.err{background:var(--zc-err);box-shadow:0 0 4px color-mix(in srgb,var(--zc-err) 50%,transparent)}.z-led.idle{background:var(--zc-text-disabled)}.z-crumb{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--zc-text-tertiary);padding:12px 0 0}.z-crumb-sep{color:var(--zc-text-disabled)}.z-crumb-cur{color:var(--zc-text-secondary)}.z-placeholder{display:flex;align-items:center;justify-content:center;min-height:320px}.z-pro-notice{display:flex;align-items:center;gap:var(--sp-2);padding:var(--zc-space-sm) var(--zc-space-xl);font-size:12px;color:var(--zc-text-secondary);background-color:color-mix(in srgb,var(--zc-info) 8%,transparent);border-left:2px solid var(--zc-info)}.z-pro-notice svg{color:var(--zc-info);flex-shrink:0}.z-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--zc-border-subtle);border:1px solid var(--zc-border-subtle)}.z-kpi{background:var(--zc-surface-raised);padding:12px 16px}.z-kpi .lab{font-size:11px;color:var(--zc-text-tertiary);margin-bottom:6px}.z-kpi .val{font-size:22px;font-weight:600;font-family:var(--zc-font-mono);font-variant-numeric:tabular-nums;color:var(--zc-text-primary)}.z-kpi .delta{font-size:12px;margin-top:4px;color:var(--zc-text-secondary)}.z-grid{display:grid;grid-template-columns:repeat(16,1fr);gap:12px;margin-top:12px}.z-span10{grid-column:span 10}.z-span6{grid-column:span 6}.z-span8{grid-column:span 8}.z-span16{grid-column:1 / -1}.tabular{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono)}.pane-filetree{width:220px;flex-shrink:0;background:var(--zc-surface-raised);border-right:1px solid var(--zc-border-default);display:flex;flex-direction:column;overflow:hidden}.pane-editor{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.pane-control{width:280px;flex-shrink:0;background:var(--zc-surface-raised);border-left:1px solid var(--zc-border-default);display:flex;flex-direction:column;overflow:hidden}.panel-title{padding:10px 14px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--zc-text-secondary);border-bottom:1px solid var(--zc-border-default);flex-shrink:0}.file-tree{display:flex;flex-direction:column;height:100%;overflow:hidden}.tree-content{flex:1;overflow-y:auto;padding:6px 0}.tree-loading{padding:16px;color:var(--zc-text-tertiary);font-size:12px}.tree-item{display:flex;align-items:center;gap:6px;padding:4px 8px;cursor:pointer;font-size:13px;color:var(--zc-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none}.tree-item:hover{background:var(--zc-surface-hover);color:var(--zc-text-primary)}.tree-item.active{background:#c25a2926;color:var(--zc-brand-solid)}.tree-icon{font-size:12px;flex-shrink:0;width:32px}.tree-name{overflow:hidden;text-overflow:ellipsis}.code-editor{display:flex;flex-direction:column;height:100%;overflow:hidden}.editor-header{display:flex;align-items:center;justify-content:space-between;height:38px;padding:0 14px;background:var(--zc-surface-raised);border-bottom:1px solid var(--zc-border-default);flex-shrink:0}.editor-filename{font-size:13px;color:var(--zc-text-secondary);font-family:SF Mono,Fira Code,monospace}.editor-actions{display:flex;align-items:center;gap:10px}.editor-message{font-size:12px;color:var(--zc-up)}.editor-placeholder{flex:1;display:flex;align-items:center;justify-content:center;color:var(--zc-text-tertiary);font-size:14px}.backtest-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.panel-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px}.panel-body label{font-size:12px;color:var(--zc-text-secondary);margin-top:4px}.panel-body .hint{color:var(--zc-text-tertiary);font-weight:400}.panel-body input,.panel-body select,.panel-body textarea{width:100%;padding:7px 10px;background:var(--zc-surface-base);border:1px solid var(--zc-border-default);border-radius:0;color:var(--zc-text-primary);font-size:13px;outline:none}.panel-body input:focus,.panel-body select:focus,.panel-body textarea:focus{border-color:var(--zc-brand-solid)}.panel-body input:disabled,.panel-body select:disabled,.panel-body textarea:disabled{opacity:.6}.panel-body textarea{resize:vertical;font-family:SF Mono,Fira Code,monospace;font-size:12px}.form-row{display:flex;gap:8px}.form-row>div{flex:1;display:flex;flex-direction:column;gap:8px}.form-error{font-size:12px;color:var(--zc-down)}.form-actions{margin-top:8px}.form-actions .btn{width:100%}.status-box{margin-top:12px;padding:10px 12px;border-radius:0;background:var(--zc-surface-base);border:1px solid var(--zc-border-default)}.status-box.status-running{border-color:var(--zc-brand-solid)}.status-box.status-done{border-color:var(--zc-up)}.status-box.status-error{border-color:var(--zc-down)}.status-message{font-size:12px;color:var(--zc-text-secondary);margin-bottom:6px}.progress-bar{height:6px;background:var(--zc-surface-hover);border-radius:0;overflow:hidden}.progress-fill{height:100%;background:var(--zc-brand-solid);border-radius:0;transition:width .2s}.progress-text{font-size:11px;color:var(--zc-text-tertiary);margin-top:4px;text-align:right}.chart-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;font-size:12px;font-weight:600;color:var(--zc-text-secondary);border-bottom:1px solid var(--zc-border-default);flex-shrink:0}.chart-latest{font-weight:400;color:var(--zc-text-tertiary);font-variant-numeric:tabular-nums}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--zc-down);margin-left:6px;animation:pulse 1.2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.equity-chart,.trade-log{display:flex;flex-direction:column;height:100%;overflow:hidden}.trade-list{flex:1;overflow-y:auto;padding:6px}.trade-item{padding:7px 10px;margin-bottom:4px;border-radius:0;background:var(--zc-surface-base);border-left:3px solid var(--zc-surface-hover);font-size:12px}.trade-item.trade-buy{border-left-color:var(--zc-up)}.trade-item.trade-sell{border-left-color:var(--zc-down)}.trade-main{display:flex;align-items:center;gap:8px}.trade-action{font-weight:600;padding:1px 6px;border-radius:0;font-size:11px}.trade-action.buy{background:#c0392b26;color:var(--zc-up)}.trade-action.sell{background:#4fa58326;color:var(--zc-down)}.trade-date{color:var(--zc-text-tertiary);font-variant-numeric:tabular-nums}.trade-price{color:var(--zc-text-primary);font-variant-numeric:tabular-nums}.trade-qty{color:var(--zc-text-tertiary)}.trade-detail{display:flex;align-items:center;gap:8px;margin-top:4px}.trade-pnl{font-weight:600;font-variant-numeric:tabular-nums}.trade-pnl.profit{color:var(--zc-up)}.trade-pnl.loss{color:var(--zc-down)}.trade-reason{color:var(--zc-text-tertiary);font-size:11px}.trade-hold{color:var(--zc-text-tertiary);font-size:11px;margin-left:auto}.report-link-bar{padding:0 16px 12px;flex-shrink:0}.mode-switch{display:flex;gap:4px;padding:8px 16px 0;background:var(--zc-surface-base);flex-shrink:0}.mode-btn{padding:6px 16px;border:1px solid var(--zc-border-default);border-bottom:none;border-radius:0;background:var(--zc-surface-raised);color:var(--zc-text-secondary);font-size:13px;font-weight:500}.mode-btn.active{background:var(--zc-surface-hover);color:var(--zc-brand-solid);border-color:var(--zc-brand-solid)}.pane-control-wide{width:340px}.trade-filter-select{background:var(--zc-surface-hover);color:var(--zc-text-primary);border:1px solid var(--zc-border-default);border-radius:0;padding:2px 6px;font-size:11px}.trade-sym{font-family:SF Mono,Monaco,monospace;color:var(--zc-brand-solid);font-size:12px}.trade-strat{font-size:11px;color:var(--zc-text-tertiary);background:var(--zc-surface-hover);padding:1px 6px;border-radius:0}.factor-miner{max-width:1200px;margin:0 auto}.miner-columns{display:grid;grid-template-columns:360px 1fr;gap:16px;align-items:start}.miner-spinner{width:20px;height:20px;border:2px solid var(--zc-surface-hover);border-top-color:var(--zc-brand-solid);border-radius:50%;animation:spin .8s linear infinite;margin-top:8px}.gen-history{margin-top:16px;padding-top:12px;border-top:1px solid var(--zc-border-default)}.gen-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:0;font-size:12px;margin-bottom:4px;background:var(--zc-surface-base)}.gen-num{font-weight:700;color:var(--zc-brand-solid);width:32px}.gen-name{flex:1;font-family:SF Mono,Monaco,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gen-ic,.gen-icir{color:var(--zc-up);font-variant-numeric:tabular-nums}.gen-alive{color:var(--zc-text-tertiary)}.registered-badge{display:inline-block;background:#10b98126;color:var(--zc-up);font-size:11px;padding:2px 8px;border-radius:0;margin-left:8px}.best-factor-card{background:var(--zc-surface-base);border:1px solid var(--zc-border-default);border-radius:0;padding:14px;margin-bottom:12px}.bf-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.bf-name{font-family:SF Mono,Monaco,monospace;font-weight:600;color:var(--zc-brand-solid)}.bf-cat{font-size:11px;color:var(--zc-text-tertiary);background:var(--zc-surface-hover);padding:2px 8px;border-radius:0}.bf-fitness{font-size:12px;font-weight:600;margin-left:auto}.bf-fitness.good{color:var(--zc-up)}.bf-fitness.bad{color:var(--zc-down)}.bf-hypothesis{font-size:12px;color:var(--zc-text-secondary);margin-bottom:10px}.bf-metrics{display:flex;flex-wrap:wrap;gap:12px}.bf-metric{display:flex;flex-direction:column;gap:2px}.bf-metric-label{font-size:10px;color:var(--zc-text-tertiary)}.bf-metric-value{font-size:13px;font-weight:600;color:var(--zc-text-primary);font-variant-numeric:tabular-nums}.bf-metric-value.neg{color:var(--zc-down)}.bf-code{margin-top:12px;background:var(--zc-surface-base);border:1px solid var(--zc-border-default);border-radius:0;padding:12px;font-size:11px;font-family:SF Mono,Monaco,monospace;color:var(--zc-text-secondary);overflow-x:auto;max-height:300px;overflow-y:auto;white-space:pre-wrap}.factor-desc{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--zc-text-tertiary)}.rail{width:var(--zc-sidebar);flex-shrink:0;background:var(--zc-surface-raised);color:var(--zc-text-secondary);display:flex;flex-direction:column;border-right:1px solid var(--zc-border-subtle)}.rail-brand{display:flex;align-items:center;gap:var(--zc-space-xs);padding:var(--zc-space-sm) var(--zc-space-md);border-bottom:1px solid var(--zc-border-subtle)}.rail-mark{width:var(--zc-control-sm);height:var(--zc-control-sm);background:var(--zc-brand-solid);display:grid;place-items:center;color:var(--zc-on-brand);font-weight:800;font-size:var(--zc-font-size-base);flex-shrink:0}.rail-name{font-weight:700;color:var(--zc-text-primary);font-size:var(--zc-font-size-base);letter-spacing:.02em}.rail-sub{font-size:var(--zc-font-size-micro);color:var(--zc-text-tertiary);letter-spacing:.12em;text-transform:uppercase}.rail-nav{flex:1;overflow-y:auto;padding:var(--zc-space-xs);scrollbar-width:none;-ms-overflow-style:none}.rail-nav::-webkit-scrollbar{width:0;height:0;display:none}.rail-group{margin-bottom:var(--zc-space-sm)}.rail-glabel{font-size:var(--zc-font-size-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--zc-text-tertiary);padding:var(--zc-space-xxs) var(--zc-space-xs)}.rail-item{display:flex;align-items:center;gap:var(--zc-space-xs);padding:var(--zc-space-xs);color:var(--zc-text-secondary);cursor:pointer;font-size:var(--zc-font-size-body);border-left:2px solid transparent}.rail-item .rail-ico{width:16px;height:16px;opacity:.8;display:inline-flex;align-items:center;justify-content:center}.rail-item:hover{background:var(--zc-surface-hover);color:var(--zc-text-primary)}.rail-item.active{background:var(--zc-surface-hover);color:var(--zc-text-primary);border-left-color:var(--zc-brand)}.rail-foot{padding:var(--zc-space-sm);border-top:1px solid var(--zc-border-subtle)}.rail-new{display:flex;align-items:center;justify-content:center;gap:var(--zc-space-xs);width:100%;background:var(--zc-brand-solid);color:var(--zc-on-brand);font-weight:700;padding:var(--zc-space-xs);cursor:pointer;font-size:var(--zc-font-size-body);border:none}.rail-new:hover{background:var(--zc-brand-active)}.rail-foot-row{display:flex;gap:var(--zc-space-xs);margin-top:var(--zc-space-xs)}.rail-mini{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--zc-space-xs);background:transparent;color:var(--zc-text-tertiary);cursor:pointer;border:1px solid var(--zc-border-subtle);font-size:var(--zc-font-size-base)}.rail-mini:hover{color:var(--zc-text-primary);border-color:var(--zc-border-strong)}.rail-mini.on{color:var(--zc-brand);border-color:var(--zc-brand)}.topbar{height:var(--zc-header);flex-shrink:0;background:var(--zc-surface-raised);border-bottom:1px solid var(--zc-border-subtle);display:flex;align-items:center;gap:var(--zc-space-md);padding:0 var(--zc-space-md)}.topbar-market{display:flex;align-items:center;gap:var(--zc-space-sm);flex-shrink:0}.topbar-cmd{flex:1;max-width:520px;height:var(--zc-control);display:flex;align-items:center;gap:var(--zc-space-xs);background:var(--zc-surface-sunken);border:1px solid var(--zc-border-subtle);padding:0 var(--zc-space-sm);color:var(--zc-text-tertiary);font-size:var(--zc-font-size-body);font-family:inherit;text-align:left;cursor:pointer;transition:border-color var(--zc-duration-fast) var(--zc-easing-standard),background var(--zc-duration-fast) var(--zc-easing-standard)}.topbar-cmd:hover{border-color:var(--zc-brand);background:var(--zc-surface-hover)}.topbar-k{margin-left:auto;font-size:var(--zc-font-size-micro);font-family:var(--zc-font-mono);line-height:var(--zc-space-md);border:1px solid var(--zc-border-default);padding:0 var(--zc-space-xxs);color:var(--zc-text-tertiary)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:var(--zc-space-md)}.topbar-stat{display:flex;align-items:center;font-size:var(--zc-font-size-caption);color:var(--zc-text-secondary);white-space:nowrap}.topbar-ico{background:transparent;border:none;cursor:pointer;color:var(--zc-text-secondary);min-width:var(--zc-control-sm);min-height:var(--zc-control-sm);padding:var(--zc-space-xxs);display:inline-flex;align-items:center;justify-content:center;transition:color var(--zc-duration-fast) var(--zc-easing-standard),background var(--zc-duration-fast) var(--zc-easing-standard)}.topbar-ico:hover{color:var(--zc-brand);background:var(--zc-surface-hover)}.topbar-user{font-size:var(--zc-font-size-caption);color:var(--zc-text-secondary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-cmd:focus-visible,.topbar-ico:focus-visible{outline:2px solid var(--zc-brand);outline-offset:1px}.ws-alert{display:flex;align-items:center;gap:10px;padding:8px 14px;background:color-mix(in srgb,var(--zc-up) 10%,transparent);border:1px solid var(--zc-up);color:var(--zc-text-primary);font-size:12px}.ws-alert .ws-alert-title{font-weight:600;color:var(--zc-up)}.ws-alert .ws-alert-sub{color:var(--zc-text-secondary)}.cmd-strip{display:flex;align-items:center;gap:0;background:transparent;border:none;border-bottom:2px solid var(--zc-brand-solid);margin-bottom:var(--sp-4)}.cmd-strip-item{display:flex;align-items:baseline;gap:8px;padding:6px 16px 10px}.cmd-strip-item:not(:last-child){border-right:1px solid var(--zc-border-default)}.cmd-strip-label{font-size:11px;color:var(--zc-text-secondary);text-transform:uppercase;letter-spacing:.04em}.cmd-strip-value{font-size:18px;font-weight:600;color:var(--zc-text-primary);font-variant-numeric:tabular-nums}.cmd-grid{display:grid;grid-template-columns:5fr 4fr;gap:var(--sp-4);align-items:start}@media (max-width: 1100px){.cmd-grid{grid-template-columns:1fr}}@media (max-width: 720px){.cmd-strip{flex-wrap:wrap}.cmd-strip-item{border-right:none;border-bottom:1px solid var(--zc-border-default);flex:1 1 50%}.cmd-grid{grid-template-columns:1fr}}.cmd-stack{display:flex;flex-direction:column;gap:var(--sp-4)}.cmd-recent-row{cursor:pointer;transition:background-color .12s ease}.cmd-recent-row:hover{background-color:var(--zc-surface-hover)}.cmd-strategy-list{max-height:440px;overflow-y:auto}.cmd-strategy-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--zc-border-default);cursor:pointer;transition:background-color .12s ease}.cmd-strategy-row:last-child{border-bottom:none}.cmd-strategy-row:hover{background-color:var(--zc-surface-hover)}.cmd-sync-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:6px}.cmd-sync-row:last-of-type{margin-bottom:0}.wizard-steps{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-4)}.wizard-step{flex:1;height:4px;background:var(--zc-border-default)}.wizard-step.active{background:var(--zc-brand-solid)}.wizard-step.done{background:var(--zc-brand-hover)}.wizard-q{font-size:13px;color:var(--zc-text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}.wizard-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-4)}.wizard-chip{padding:8px 14px;font-size:13px;cursor:pointer;border:1px solid var(--zc-border-default);background:var(--zc-surface-raised);color:var(--zc-text-primary)}.wizard-chip:hover{border-color:var(--zc-brand-solid)}.wizard-chip.sel{border-color:var(--zc-brand-solid);background:var(--zc-brand-solid);color:var(--zc-on-brand)}.ai-sidebar-drawer .ant-drawer-content{background:var(--zc-surface-raised)}.ai-sidebar{background:var(--zc-surface-raised);color:var(--zc-text-primary)}.ai-messages::-webkit-scrollbar{width:6px}.ai-messages::-webkit-scrollbar-thumb{background:var(--zc-border-default)}.ai-messages::-webkit-scrollbar-track{background:transparent}.ai-send{background:var(--zc-brand-solid);border-color:var(--zc-brand-solid);color:var(--zc-on-brand)}.ai-send:hover:not(:disabled){background:var(--zc-brand-hover)!important;border-color:var(--zc-brand-hover)!important}.ai-textarea:focus{border-color:var(--zc-brand-solid)}.ai-chip:hover{background:var(--zc-brand-solid);border-color:var(--zc-brand-solid);color:var(--zc-on-brand)}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:var(--zc-font-ui);--font-mono:var(--zc-font-mono);--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-sm:var(--zc-radius-sm);--radius-md:var(--zc-radius-md);--radius-lg:var(--zc-radius-lg);--radius-xl:var(--zc-radius-lg);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-foreground:var(--zc-text-primary);--color-card:var(--zc-surface-raised);--color-primary:var(--zc-brand-solid);--color-primary-foreground:var(--zc-on-brand);--color-secondary:var(--zc-surface-hover);--color-secondary-foreground:var(--zc-text-primary);--color-muted:var(--zc-surface-hover);--color-muted-foreground:var(--zc-text-secondary);--color-accent:var(--zc-surface-hover);--color-border:var(--zc-border-default);--color-loss:var(--zc-down);--radius-full:var(--zc-radius-full)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:before,:after{box-sizing:border-box;margin:0;padding:0}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.bottom-0{bottom:0}.left-0{left:0}.z-40{z-index:40}.m-0{margin:0}.\!my-3{margin-block:calc(var(--spacing) * 3)!important}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:var(--spacing)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-\[260px\]{height:260px}.h-\[320px\]{height:320px}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[200px\]{max-height:200px}.max-h-\[320px\]{max-height:320px}.max-h-\[520px\]{max-height:520px}.min-h-0{min-height:0}.min-h-\[600px\]{min-height:600px}.w-0\.5{width:calc(var(--spacing) * .5)}.w-2{width:calc(var(--spacing) * 2)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-48{width:calc(var(--spacing) * 48)}.w-full{width:100%}.w-px{width:1px}.max-w-\[82\%\]{max-width:82%}.max-w-\[90\%\]{max-width:90%}.max-w-\[260px\]{max-width:260px}.max-w-\[400px\]{max-width:400px}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-\[repeat\(auto-fill\,minmax\(120px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-1{row-gap:var(--spacing)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.rounded-br-sm{border-bottom-right-radius:var(--radius-sm)}.rounded-bl-sm{border-bottom-left-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-3{border-left-style:var(--tw-border-style);border-left-width:3px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-border{border-color:var(--color-border)}.border-loss\/20{border-color:var(--color-loss)}@supports (color:color-mix(in lab,red,red)){.border-loss\/20{border-color:color-mix(in oklab,var(--color-loss) 20%,transparent)}}.border-primary{border-color:var(--color-primary)}.border-transparent{border-color:#0000}.bg-card{background-color:var(--color-card)}.bg-foreground\/60{background-color:var(--color-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/60{background-color:color-mix(in oklab,var(--color-foreground) 60%,transparent)}}.bg-loss\/10{background-color:var(--color-loss)}@supports (color:color-mix(in lab,red,red)){.bg-loss\/10{background-color:color-mix(in oklab,var(--color-loss) 10%,transparent)}}.bg-loss\/15{background-color:var(--color-loss)}@supports (color:color-mix(in lab,red,red)){.bg-loss\/15{background-color:color-mix(in oklab,var(--color-loss) 15%,transparent)}}.bg-muted,.bg-muted\/30{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--color-muted) 30%,transparent)}}.bg-primary,.bg-primary\/4{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/4{background-color:color-mix(in oklab,var(--color-primary) 4%,transparent)}}.bg-primary\/8{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/8{background-color:color-mix(in oklab,var(--color-primary) 8%,transparent)}}.bg-secondary{background-color:var(--color-secondary)}.bg-transparent{background-color:#0000}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.p-12{padding:calc(var(--spacing) * 12)}.px-0{padding-inline:0}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-1{padding-right:var(--spacing)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-text-bottom{vertical-align:text-bottom}.font-mono{font-family:var(--font-mono)}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-foreground{color:var(--color-foreground)}.text-loss{color:var(--color-loss)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground,.text-primary-foreground\/60{color:var(--color-primary-foreground)}@supports (color:color-mix(in lab,red,red)){.text-primary-foreground\/60{color:color-mix(in oklab,var(--color-primary-foreground) 60%,transparent)}}.text-secondary{color:var(--color-secondary)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.accent-primary{accent-color:var(--color-primary)}.opacity-40{opacity:.4}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-none{-webkit-user-select:none;user-select:none}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}@media (hover:hover){.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:bg-\[var\(--zc-surface-hover\)\]:hover{background-color:var(--zc-surface-hover)}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:text-primary-foreground:hover{color:var(--color-primary-foreground)}}.focus\:border-primary:focus{border-color:var(--color-primary)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[340px_1fr\]{grid-template-columns:340px 1fr}}@media (min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[2fr_1fr\]{grid-template-columns:2fr 1fr}.lg\:grid-cols-\[35\%_1fr\]{grid-template-columns:35% 1fr}.lg\:grid-cols-\[220px_1fr\]{grid-template-columns:220px 1fr}.lg\:grid-cols-\[400px_1fr\]{grid-template-columns:400px 1fr}.lg\:grid-cols-\[420px_1fr\]{grid-template-columns:420px 1fr}.lg\:grid-cols-\[440px_1fr\]{grid-template-columns:440px 1fr}}@media (min-width:80rem){.xl\:grid-cols-\[minmax\(0\,1fr\)_340px\]{grid-template-columns:minmax(0,1fr) 340px}}}:root{--zc-brand:#c25a29;--zc-brand-solid:#bb5525;--zc-brand-hover:#a34a1f;--zc-brand-active:#8f3e1a;--zc-on-brand:#fff;--zc-surface-base:#f3f5f7;--zc-surface-sunken:#e7ebee;--zc-surface-raised:#fff;--zc-surface-overlay:#fff;--zc-surface-hover:#eef0f1;--zc-surface-active:#e2e6ea;--zc-text-primary:#1a2128;--zc-text-secondary:#606e76;--zc-text-tertiary:#66757f;--zc-text-disabled:#a8b0b8;--zc-text-inverse:#fff;--zc-text-link:#3b77ab;--zc-border-subtle:#e7ebee;--zc-border-default:#dee0e3;--zc-border-strong:#c6cbd1;--zc-up:#bf3a2b;--zc-down:#218556;--zc-flat:#606e76;--zc-ok:#2f7a5c;--zc-warn:#8a6516;--zc-err:#c0392b;--zc-info:#3b77ab;--zc-chart-axis:#dee0e3;--zc-chart-split:#e7ebee;--zc-mask:#00000073;--zc-chart-1:#c25a29;--zc-chart-2:#4586b5;--zc-chart-3:#6b4fa8;--zc-chart-4:#17707c;--zc-chart-5:#28a46c;--zc-chart-6:#bf3a2b;--zc-chart-7:#d59c2a;--zc-space-xxs:4px;--zc-space-xs:8px;--zc-space-sm:12px;--zc-space-md:16px;--zc-space-xl:24px;--zc-space-xxl:32px;--zc-space-xxxl:48px;--zc-font-size-micro:11px;--zc-font-size-caption:12px;--zc-font-size-body:13px;--zc-font-size-base:14px;--zc-font-size-subtitle:15px;--zc-font-size-title:16px;--zc-font-size-h2:20px;--zc-font-size-h1:24px;--zc-font-size-display:30px;--zc-leading-tight:1.25;--zc-leading-normal:1.45;--zc-leading-loose:1.6;--zc-font-weight-regular:400;--zc-font-weight-medium:500;--zc-font-weight-semibold:600;--zc-radius-none:0px;--zc-radius-sm:0px;--zc-radius-md:0px;--zc-radius-lg:0px;--zc-radius-full:9999px;--zc-control-sm:24px;--zc-control:32px;--zc-control-lg:40px;--zc-row-compact:32px;--zc-row-comfortable:40px;--zc-header:48px;--zc-sidebar:208px;--zc-sidebar-collapsed:56px;--zc-statusbar:28px;--zc-drawer:480px;--zc-drawer-lg:720px;--zc-page-narrow:960px;--zc-duration-fast:.1s;--zc-duration-mid:.2s;--zc-duration-slow:.3s;--zc-easing-out:cubic-bezier(.16, 1, .3, 1);--zc-easing-in:cubic-bezier(.7, 0, .84, 0);--zc-easing-standard:cubic-bezier(.4, 0, .2, 1);--zc-z-content:0;--zc-z-sticky:10;--zc-z-drawer:40;--zc-z-modal:100;--zc-z-palette:1000;--zc-shadow-none:none;--zc-shadow-card:0 1px 2px #0f14190f;--zc-shadow-pop:0 4px 16px #0006;--zc-shadow-modal:0 8px 32px #00000080;--zc-font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--zc-font-mono:"SFMono-Regular", "JetBrains Mono", Consolas, Menlo, "Liberation Mono", monospace}.dark{--zc-brand:#c25a29;--zc-brand-solid:#d46735;--zc-brand-hover:#e07b4a;--zc-brand-active:#eb8f5f;--zc-on-brand:#101419;--zc-surface-base:#101419;--zc-surface-sunken:#0a0e13;--zc-surface-raised:#161c22;--zc-surface-overlay:#1f2a33;--zc-surface-hover:#232f3a;--zc-surface-active:#2a3742;--zc-text-primary:#e8ecee;--zc-text-secondary:#98a4ac;--zc-text-tertiary:#7d8b93;--zc-text-disabled:#454f57;--zc-text-inverse:#101419;--zc-text-link:#61a2d1;--zc-border-subtle:#1f2a33;--zc-border-default:#2d3d48;--zc-border-strong:#3d5060;--zc-up:#e4594a;--zc-down:#41c88b;--zc-flat:#98a4ac;--zc-ok:#4fa583;--zc-warn:#e4af44;--zc-err:#ee5a5f;--zc-info:#61a2d1;--zc-chart-axis:#2d3d48;--zc-chart-split:#1f2a33;--zc-mask:#000000a6;--zc-chart-1:#d46735;--zc-chart-2:#61a2d1;--zc-chart-3:#a98bd6;--zc-chart-4:#4fbfc8;--zc-chart-5:#41c88b;--zc-chart-6:#df5849;--zc-chart-7:#e4af44}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--zc-font-ui);background:var(--zc-surface-base);color:var(--zc-text-primary);font-size:var(--zc-font-size-base);-webkit-font-smoothing:antialiased}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--zc-surface-base)}::-webkit-scrollbar-thumb{background:var(--zc-border-default)}::-webkit-scrollbar-thumb:hover{background:var(--zc-border-strong)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
