@font-face{font-family:Test Söhne;src:url(/assets/sohne-buch-DoZjtb67.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Test Söhne;src:url(/assets/sohne-kraftig-C5ZU0sqX.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Test Söhne;src:url(/assets/sohne-halbfett-B-fQfkLs.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Test Söhne Mono;src:url(/assets/sohne-mono-buch-DcUBLqXx.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Test Söhne Mono;src:url(/assets/sohne-mono-kraftig-DrPSWKNS.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--color-bg-app: #1a1a22;--color-bg-surface-1: #21212c;--color-bg-surface-2: #2a2a34;--color-bg-hover: #282833;--color-bg-floating: #141417;--color-text-primary: #ffffff;--color-text-secondary: #7a7a7a;--color-text-tertiary: #606060;--color-border-light: #23232b;--color-border-medium: #35353d;--color-border-hard: #48484e;--color-card-bg: #272735;--color-accent: #be3e82;--color-border-interactive: #be3e82;--color-backdrop: rgba(20, 20, 23, .8);--color-success: #77f7c3;--color-success-deep: #00ad67;--color-success-track: #e4fef4;--color-status-ok: #45d19a;--color-alert: #ecf788;--color-info: #99b9f8;--color-hero-blue: #99b9f8;--color-hero-cta: #0b2545;--color-input-bg: #282833;--color-input-bg-segmented: #1a1a22;--color-version: #05ada9;--color-version-bg: rgba(5, 173, 169, .14);--color-error: #db6672;--radius-small: 6px;--size-small: 8px;--size-medium: 12px;--size-large: 16px;--font-ui: "Test Söhne", "Söhne", "Sohne", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Test Söhne Mono", ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--font-display: "Tiempos Headline", Georgia, "Times New Roman", serif;--ease-out-quint: cubic-bezier(.23, 1, .32, 1);--ease-out-cubic: cubic-bezier(.33, 1, .68, 1);--ease-in-out-cubic: cubic-bezier(.645, .045, .355, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1)}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@keyframes backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes modal-pop-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(6px) scale(.985)}}.modal-backdrop.is-closing{animation:backdrop-out .18s ease forwards}.modal-backdrop.is-closing .modal,.modal-backdrop.is-closing .ontology-editor{animation:modal-pop-out .18s ease-in forwards}*{margin:0;padding:0;box-sizing:border-box}.rot-90{transform:rotate(90deg)}.rot-180{transform:rotate(180deg)}.dropdown-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:30;padding:4px;border:1px solid var(--color-border-light);border-radius:8px;background:var(--color-bg-floating);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transform-origin:top left;animation:popover-in .18s var(--ease-out-quint)}.ds-move-wrap{position:relative}.ds-move-item{justify-content:space-between;gap:8px}.ds-move-chev{flex:none;color:var(--color-text-tertiary);transform:rotate(90deg)}.ds-move-sub{position:absolute;top:-5px;left:calc(100% - 2px);min-width:168px;display:none}.ds-move-wrap:hover .ds-move-sub{display:block}.ds-move-wrap:hover>.ds-move-item{background:var(--color-bg-hover);color:var(--color-text-primary)}.ds-menu-sep{height:1px;margin:6px 4px;background:var(--color-border-light)}.context-item{display:flex;align-items:center;width:100%;padding:8px;border:0;border-radius:var(--radius-small);background:none;color:var(--color-text-secondary);font:inherit;font-family:var(--font-ui);text-align:left;cursor:pointer;transition:background .14s ease}.context-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.context-item:disabled:hover{background:none}.context-item.is-primary{color:var(--color-text-primary)}.context-item.is-danger,.context-item.is-danger:hover{color:var(--color-error)}html,body,#root{height:100%}body{font-family:var(--font-ui);font-size:13px;line-height:16px;color:var(--color-text-primary);background:var(--color-bg-app);-webkit-font-smoothing:antialiased;overflow:hidden}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*{scrollbar-width:thin;scrollbar-color:var(--color-border-hard) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-medium);border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hard);background-clip:padding-box;border:2px solid transparent}::-webkit-scrollbar-corner{background:transparent}.app{display:flex;height:100vh;background:var(--color-bg-app)}.app-surface{flex:1;margin:12px 12px 12px 0;background:var(--color-bg-surface-1);border-radius:var(--radius-small);min-width:0}.coming-soon{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.coming-soon-title{font-size:20px;font-weight:500;color:var(--color-text-primary);text-transform:capitalize}.coming-soon-sub{color:var(--color-text-secondary)}.icon{display:inline-block;flex-shrink:0;background:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center}.visual-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-small, 6px);overflow:hidden}.visual-badge img{width:100%;height:100%;object-fit:contain}.visual-badge.is-icon{color:#fff}.visual-badge.is-initial{background:var(--color-border-light, #d9d9d9);color:var(--color-text-secondary, #555);font-size:12px;font-weight:600}.visual-badge .icon{display:block}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--color-backdrop, rgba(20, 20, 23, .8));display:flex;align-items:center;justify-content:center;animation:confirm-fade .14s ease}.confirm-modal{width:340px;max-width:calc(100vw - 32px);padding:22px 22px 18px;border-radius:var(--radius-medium, 12px);background:var(--color-card-bg, #272735);border:1px solid var(--color-border-medium);animation:confirm-rise .16s var(--ease-out-quint, cubic-bezier(.23, 1, .32, 1))}.confirm-title{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0 0 6px}.confirm-message{font-size:13px;color:var(--color-text-secondary);margin:0 0 18px;line-height:1.45}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.confirm-btn{padding:7px 16px;border-radius:var(--radius-small, 6px);border:1px solid var(--color-border-medium);font-size:13px;font-family:var(--font-ui);cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.confirm-cancel{background:transparent;color:var(--color-text-secondary)}.confirm-cancel:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.confirm-ok{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.confirm-ok:hover{filter:brightness(1.08)}.confirm-ok.is-danger{background:var(--color-error, #e0533d);border-color:var(--color-error, #e0533d)}@keyframes confirm-fade{0%{opacity:0}to{opacity:1}}@keyframes confirm-rise{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.sidebar{position:relative;z-index:30;width:64px;flex-shrink:0;display:flex;flex-direction:column;padding:30px 0 22px;transition:width .28s var(--ease-out-quint)}.sidebar.is-expanded{width:150px}.sidebar-logo-btn{align-self:flex-start;margin-left:18px;padding:0;border:0;background:transparent;border-radius:50%;cursor:pointer;line-height:0;transition:transform .18s var(--ease-out-quint)}.sidebar-logo-btn:hover{transform:rotate(14deg)}.sidebar-logo{width:28px;height:28px;border-radius:50%;display:block}.sidebar-workspace{display:flex;align-items:center;gap:8px;margin:24px 0 0 16px;color:var(--color-text-secondary);border:0;background:none;padding:0;font:inherit;font-family:var(--font-ui);cursor:pointer}.sidebar-workspace:disabled{cursor:default}.tenant-dropdown .dropdown-item{justify-content:flex-start;gap:10px}.workspace-badge{width:28px;height:28px;border-radius:var(--radius-small);background:#004580;display:flex;align-items:center;justify-content:center}.workspace-badge img{width:20px;height:6px}.workspace-name{font-weight:500;color:var(--color-text-primary);white-space:nowrap}.sidebar-workspace .icon{margin-left:-4px}.sidebar:not(.is-expanded) .sidebar-workspace{margin-left:18px}.sidebar:not(.is-expanded) .nav-group{align-items:center}.sidebar:not(.is-expanded) .sidebar-footer{align-items:center}.sidebar:not(.is-expanded) .sidebar-avatar{margin-left:0}.sidebar-nav{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:24px;padding:0 8px}.nav-group{display:flex;flex-direction:column;gap:2px;align-self:stretch}.nav-divider{height:1px;width:24px;background:var(--color-border-medium);transition:width .28s var(--ease-out-quint)}.is-expanded .nav-divider{width:118px}.nav-item-wrap{position:relative;display:flex}.nav-item{display:flex;align-items:center;border:0;padding:0;background:none;border-radius:var(--radius-small);color:var(--color-text-secondary);font:inherit;font-family:var(--font-ui);cursor:pointer;white-space:nowrap;transition:background .12s ease,color .12s ease,opacity .4s ease}.is-expanded .nav-item{width:100%;padding:0 8px}.nav-item-iconbox{width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-item-label-group{display:flex;align-items:center;gap:4px;margin-left:4px}.nav-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.nav-item:hover .nav-item-label,.nav-item.is-active .nav-item-label,.nav-item.is-highlighted .nav-item-label{color:var(--color-text-primary);font-weight:500}.nav-item.is-active{background:var(--color-bg-hover);color:var(--color-text-primary)}.nav-item.is-highlighted{color:var(--color-text-primary);background:var(--color-bg-hover)}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;padding:0 8px}.sidebar-footer .nav-group{margin-bottom:24px;transition:opacity .4s ease}.sidebar-avatar{width:28px;height:28px;margin-left:8px;padding:0;border:1px solid rgba(0,0,0,.08);border-radius:50%;background:#d9d9d9;cursor:pointer;overflow:hidden}.sidebar-avatar img{width:100%;height:100%;object-fit:cover;display:block}.sidebar.is-dimmed .nav-item:not(.is-active),.sidebar.is-dimmed .sidebar-footer .nav-group{opacity:.4;pointer-events:none}.sidebar.is-dimmed .nav-item:not(.is-active):hover{background:none}.flyout{position:absolute;left:calc(100% + 7px);z-index:10;opacity:0;pointer-events:none;transform:translate(-4px);transition:opacity .14s ease,transform .14s var(--ease-out-quint)}.nav-item-wrap:hover .flyout,.nav-item-wrap.is-open .flyout{opacity:1;pointer-events:auto;transform:none}.tooltip{top:-4px;padding:var(--size-medium);border-radius:8px;background:var(--color-bg-floating);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--color-text-primary);font-weight:500;white-space:nowrap}.dropdown{top:-8px;left:calc(100% + 5px);width:280px;padding:var(--size-small);display:flex;flex-direction:column;gap:4px;border-radius:8px;border:1px solid var(--color-border-light);background:var(--color-bg-floating);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dropdown:before{content:"";position:absolute;right:100%;top:0;height:100%;width:12px}.dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:var(--size-small);border:0;border-radius:var(--radius-small);background:none;color:var(--color-text-secondary);font:inherit;font-family:var(--font-ui);cursor:pointer}.dropdown-item:hover,.dropdown-item.is-active{background:var(--color-bg-hover);color:var(--color-text-primary)}.kbd{display:inline-flex;align-items:center;gap:2px;padding:0 8px;height:16px;border-radius:200px;background:var(--color-bg-surface-1);color:var(--color-text-tertiary);font-size:12px}.collapse-wrap{position:absolute;right:-12px;bottom:26px;opacity:0;transition:opacity .15s ease}.sidebar:hover .collapse-wrap{opacity:1}.collapse-btn{width:24px;height:24px;border:0;border-radius:50%;background:var(--color-bg-floating);color:var(--color-text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,transform .15s var(--ease-out-quint)}.collapse-btn:hover{background:var(--color-bg-hover)}.collapse-btn:active{transform:scale(.9)}.collapse-tooltip{left:-44px;top:auto;bottom:calc(100% + 5px)}.collapse-wrap:hover .collapse-tooltip{opacity:1;pointer-events:auto;transform:none}.landing{height:100vh;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:44px;padding:48px 24px 64px;background:var(--color-bg-app)}.landing-head{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;animation:landing-rise .5s var(--ease-out-quint) both}.landing-brand{font-family:var(--font-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-secondary)}.landing-title{font-family:var(--font-display);font-size:42px;line-height:1.15;font-weight:400;color:var(--color-text-primary)}.landing-sub{max-width:480px;font-family:var(--font-ui);color:var(--color-text-secondary)}.landing-cards{margin-bottom:auto;display:grid;grid-template-columns:repeat(2,minmax(280px,380px));gap:12px;width:min(100%,776px);flex-shrink:0}.landing-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:48px;padding:24px;border:1px solid transparent;border-radius:var(--radius-small);background:var(--color-card-bg);color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);text-align:left;cursor:pointer;transition:background .18s var(--ease-out-quint),border-color .18s var(--ease-out-quint);animation:landing-rise .5s var(--ease-out-quint) var(--d, 0ms) both}.landing-card:hover{background:#2d2d3d;border-color:#ffffff29}.landing-card:active{border-color:#ffffff42}.landing-card.is-soon{cursor:default;opacity:.82}.landing-card.is-soon:hover{opacity:1;border-color:#ffffff14}.landing-card.is-soon:active{border-color:#ffffff14}.landing-card-text{display:flex;flex-direction:column;gap:8px}.landing-kicker{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary)}.landing-card-title{font-size:16px;line-height:24px;font-weight:500}.landing-card-desc{color:var(--color-text-secondary)}.landing-soon{position:absolute;top:20px;right:20px;padding:3px 10px;border-radius:999px;background:var(--color-bg-floating);font-size:11px;color:var(--color-text-secondary)}.landing-demo{grid-column:1 / -1;border-color:color-mix(in srgb,var(--color-accent) 35%,transparent)}.landing-demo:hover{border-color:color-mix(in srgb,var(--color-accent) 65%,transparent)}.landing-demo .icon,.landing-demo .landing-kicker{color:var(--color-accent)}.landing-go{position:absolute;right:20px;bottom:20px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:var(--color-bg-floating);color:var(--color-text-primary);transition:transform .18s var(--ease-out-quint)}.landing-demo:hover .landing-go{transform:translate(3px)}@keyframes landing-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(max-width:680px){.landing-cards{grid-template-columns:1fr}.landing-title{font-size:32px}}@media(prefers-reduced-motion:reduce){.landing-head,.landing-card{animation:none}.landing-demo:hover .landing-go{transform:none}}.landing-card-new{background:color-mix(in srgb,var(--color-card-bg) 45%,transparent);border:1px dashed var(--color-border-hard);color:var(--color-text-secondary);cursor:default}.landing-card-new:hover{background:color-mix(in srgb,var(--color-card-bg) 55%,transparent);border-color:var(--color-border-hard)}.landing-card-new .landing-card-title{color:var(--color-text-secondary)}.scenario-switcher-wrap{position:relative;display:inline-flex}.scenario-switcher{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border:0;border-radius:200px;background:var(--color-bg-app);font:inherit;font-family:var(--font-ui);cursor:pointer;transition:background .15s ease}.scenario-switcher:hover:not(:disabled),.scenario-switcher.is-open{background:var(--color-bg-hover)}.scenario-switcher:disabled{cursor:default}.scenario-switcher-using{font-size:12px;color:var(--color-text-tertiary)}.scenario-switcher-name{font-weight:500;color:var(--color-text-primary)}.scenario-switcher .icon{color:var(--color-text-secondary)}.scenario-switcher-dropdown{left:auto;right:0;top:calc(100% + 4px);transform-origin:top right;min-width:240px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:80px;border:0;border-radius:200px;font:inherit;font-family:var(--font-ui);font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease,transform .12s var(--ease-out-quint)}.btn-primary{padding:8px 16px;background:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background:#d04a90}.btn-primary:active:not(:disabled){transform:scale(.97)}.btn-primary:disabled{background:var(--color-input-bg);color:var(--color-text-tertiary);cursor:default}.btn-primary.btn-hero{background:var(--color-hero-cta)}.btn-primary.btn-hero:hover:not(:disabled){background:#123762}.btn-secondary{padding:7px 16px;border:1px solid var(--color-border-medium);background:none;color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-hover)}.btn-secondary:active:not(:disabled){transform:scale(.97)}.btn-ghost{gap:6px;padding:4px 12px;background:none;color:var(--color-text-primary)}.btn-ghost:hover:not(:disabled),.btn-ghost.is-open{background:var(--color-bg-hover)}.btn-ghost:disabled{color:var(--color-text-tertiary);cursor:default}.btn-ghost:active:not(:disabled){transform:scale(.97)}.rename-title{display:inline-flex;align-items:center;gap:4px;min-width:0}.rename-title-edit{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;border-radius:5px;background:none;color:var(--color-text-tertiary);cursor:pointer;transition:background .14s ease,color .14s ease}.rename-title-edit:hover{background:var(--color-bg-hover);color:var(--color-text-secondary)}.app-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--color-border-medium);animation:home-fade .4s var(--ease-out-quint) both}.app-header-actions{display:flex;align-items:center;gap:16px}.app-header-action{display:inline-flex}.breadcrumb-link.is-clickable{cursor:pointer;transition:color .14s ease}.breadcrumb-link.is-clickable:hover{color:var(--color-text-primary)}.breadcrumb-current{max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkbox{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;padding:0;border:1px solid var(--color-border-hard);border-radius:4px;background:#ffffff0a;color:#fff;cursor:pointer;transition:background .15s var(--ease-out-quint),border-color .15s ease}.checkbox:hover:not(.is-checked):not(.is-indeterminate){border-color:#5c5c66;background:#ffffff12}.checkbox.is-checked,.checkbox.is-indeterminate{background:var(--color-accent);border-color:var(--color-accent)}.checkbox-check{width:12px;height:12px}.checkbox-check path{stroke-dasharray:1;stroke-dashoffset:1;animation:check-draw .22s var(--ease-out-cubic) .05s forwards}@keyframes check-draw{to{stroke-dashoffset:0}}.checkbox-dash{width:8px;height:2px;border-radius:1px;background:#fff;animation:check-pop .18s var(--ease-out-quint)}@keyframes check-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.flap-text{white-space:pre}.flap-example{border:0;padding:0;margin:0;background:none;color:inherit;font:inherit;cursor:pointer;pointer-events:auto;white-space:pre;transition:color .14s ease}.flap-example:hover{text-decoration:underline;color:var(--color-text-primary)}.progressbar{height:4px;border-radius:200px;background:var(--color-bg-floating);overflow:hidden}.progressbar-fill{height:100%;border-radius:200px;background:var(--color-success-deep);transform-origin:left center;animation:progressbar-grow .7s var(--ease-out-quint) both;transition:width .5s var(--ease-out-quint)}@keyframes progressbar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.progressbar-fill{animation:none;transition:none}}.tooltip-box{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;background:var(--color-bg-floating);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 6px 20px #00000059;white-space:nowrap;font-size:13px;line-height:16px}.tooltip-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%}.tooltip-label{font-weight:500;color:var(--color-text-primary)}.status-dot{display:inline-block;border-radius:50%;flex:none}.status-dot-ok{background:var(--color-status-ok)}.status-dot-high{background:var(--color-success-deep)}.status-dot-error{background:var(--color-error)}.status-dot-warn{background:var(--color-alert)}.status-dot-info{background:var(--color-info)}.status-dot-muted{background:var(--color-text-tertiary)}.status-dot.has-glow{box-shadow:0 0 8px color-mix(in srgb,currentColor 60%,transparent)}.status-dot-error.has-glow{box-shadow:0 0 8px color-mix(in srgb,var(--color-error) 60%,transparent)}.cc{display:flex;align-items:flex-start;gap:10px;animation:cc-in .16s var(--ease-out-quint);transform-origin:top left}@keyframes cc-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.cc-pin{flex:none;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:2px 10px 9px 9px;border:3px solid rgba(190,62,130,.22);background:var(--color-accent);background-clip:padding-box;font-size:13px;font-weight:600;line-height:1;color:#fff;box-shadow:0 4px 14px #be3e8252;cursor:grab;transition:filter .14s ease}.cc-pin:hover{filter:brightness(1.08)}.cc-pin:active{cursor:grabbing}.cc-box{position:relative;width:300px;border-radius:12px;border:1px solid var(--color-border-medium);background:var(--color-bg-app);box-shadow:0 16px 40px #00000080}.cc-ta{display:block;width:100%;min-height:56px;padding:14px 44px 6px 16px;border:none;background:transparent;resize:none;outline:none;font-family:var(--font-ui);font-size:13px;line-height:1.5;color:var(--color-text-primary)}.cc-ta::placeholder{color:var(--color-text-tertiary)}.cc-read{padding:14px 44px 6px 16px;font-size:13px;line-height:1.5;color:var(--color-text-primary)}.cc-mention-chip{color:#b79cf5;background:#7b5cf029;border-radius:4px;padding:1px 3px}.cc-bar{display:flex;align-items:center;gap:6px;padding:6px 10px 10px}.cc-tool{height:26px;min-width:26px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border:0;background:none;border-radius:6px;font:inherit;font-family:var(--font-ui);font-size:13px;color:var(--color-text-secondary);cursor:pointer;transition:background .14s ease,color .14s ease}.cc-tool:hover,.cc-tool.is-open{background:var(--color-bg-hover);color:var(--color-text-primary)}.cc-spacer{flex:1}.cc-send{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;color:#fff;background:var(--color-accent);cursor:pointer;transition:filter .14s ease}.cc-send:hover{filter:brightness(1.1)}.cc-mention-menu{position:absolute;z-index:20;width:224px;padding:8px;border-radius:10px;border:1px solid var(--color-border-light);background:var(--color-bg-floating);box-shadow:0 16px 40px #00000080;animation:popover-in .14s var(--ease-out-quint);transform-origin:top left}.cc-mention-item{width:100%;display:flex;align-items:center;gap:8px;padding:8px;border:0;background:none;border-radius:6px;font:inherit;font-family:var(--font-ui);font-size:13px;color:var(--color-text-secondary);cursor:pointer;transition:background .12s ease}.cc-mention-item:hover{background:var(--color-bg-hover)}.cc-mention-name{white-space:nowrap}.cc-mention-hit{color:var(--color-text-primary)}.cc-mention-avatar{flex:none;width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.08);object-fit:cover}.cc-kebabwrap{position:absolute;top:12px;right:12px;z-index:5}.cc-kebab-menu{top:calc(100% + 6px);left:auto;right:0;min-width:168px;padding:6px;transform-origin:top right}.cc-kebab-menu .context-item{gap:8px}.cst{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;user-select:none;-webkit-user-select:none;isolation:isolate}.cst.is-dragging{cursor:grabbing}.cst-ambient{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity 1.2s ease}.cst.is-in .cst-ambient{opacity:1}.cst.is-zoomed .cst-ambient{opacity:.22;transition:opacity .4s ease}.cst.no-sources .cst-tubes,.cst.no-sources .cst-particles,.cst.no-sources .cst-goo,.cst.no-sources .cst-lake,.cst.no-sources .cst-lake-label,.cst.no-sources .cst-orb,.cst.no-sources .cst-cluster,.cst.no-sources .cst-group-pill,.cst.no-sources .cst-chip,.cst.no-sources .cst-orb-tip,.cst.no-sources .cst-cluster-tip,.cst.no-sources .cst-card,.cst.no-sources .cst-agent-edge,.cst.no-agents .cst-agent,.cst.no-agents .cst-agent-edge{opacity:0!important;pointer-events:none!important}.cst-blob{position:absolute;width:46%;aspect-ratio:1;border-radius:50%;filter:blur(70px);will-change:transform}.cst-blob-1{left:2%;top:-12%;background:radial-gradient(closest-side,rgba(69,154,218,.2),transparent 70%);animation:cst-drift-a 52s ease-in-out infinite alternate}.cst-blob-2{right:4%;top:-6%;background:radial-gradient(closest-side,rgba(212,164,55,.16),transparent 70%);animation:cst-drift-b 64s ease-in-out infinite alternate}.cst-blob-3{left:22%;bottom:-18%;background:radial-gradient(closest-side,rgba(242,77,44,.16),transparent 70%);animation:cst-drift-a 58s ease-in-out infinite alternate-reverse}.cst-blob-4{right:10%;bottom:-14%;background:radial-gradient(closest-side,rgba(77,175,124,.13),transparent 70%);animation:cst-drift-b 70s ease-in-out infinite alternate-reverse}@keyframes cst-drift-a{0%{transform:translate(0) scale(1)}to{transform:translate(4%,6%) scale(1.08)}}@keyframes cst-drift-b{0%{transform:translate(0) scale(1.05)}to{transform:translate(-5%,4%) scale(.98)}}.cst-tubes{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;filter:blur(1.2px);opacity:0;transition:opacity .9s ease .45s}.cst.is-in .cst-tubes{opacity:1}.cst.is-zoomed .cst-tubes,.cst.is-zoomed .cst-particles{opacity:.12;transition:opacity .4s ease}.cst.is-zoomed.has-focus .cst-tubes,.cst.is-zoomed.has-focus .cst-particles{opacity:.8}.cst-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.cst-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2}.cst-lake{cursor:grab;transform-box:fill-box;transform-origin:center;transition:stroke-opacity .18s ease,fill .18s ease,opacity .24s var(--ease-out-quint),scale .24s var(--ease-out-quint)}.cst.is-dragging .cst-lake{cursor:grabbing}.cst.is-in .cst-lake{animation:cst-pop-in .6s var(--ease-out-quint) var(--d, 0ms) backwards}@keyframes cst-pop-in{0%{opacity:0;scale:.7}to{opacity:1;scale:1}}.cst-lake-short{font-family:var(--font-mono);font-size:11px;font-weight:600;transition:opacity .18s ease}.cst-lake-short.is-full{font-family:var(--font-ui);font-size:12px;font-weight:500}.cst-cluster{cursor:zoom-in;transform-box:fill-box;transform-origin:center;transition:opacity .24s var(--ease-out-quint),scale .24s var(--ease-out-quint);animation:cst-fade-in .25s ease backwards}.cst-cluster-c{transition:fill-opacity .18s ease}.cst-cluster:hover .cst-cluster-c{fill-opacity:.3}.cst-group-ring{pointer-events:none}.cst-group-ringhit{pointer-events:stroke;cursor:grab}.cst.is-dragging .cst-group-ringhit{cursor:grabbing}.cst-group-pill{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:4px;padding:4px 12px 4px 16px;border-radius:20px;background:color-mix(in srgb,var(--pill-c, #459ada) 26%,#14161c);white-space:nowrap;cursor:grab;z-index:5;animation:cst-pill-in .16s var(--ease-out-quint, cubic-bezier(.23, 1, .32, 1)) .26s both}.cst.is-dragging .cst-group-pill{cursor:grabbing}@keyframes cst-pill-in{0%{opacity:0;transform:translate(-50%,-50%) translateY(4px)}to{opacity:1;transform:translate(-50%,-50%)}}.cst-group-pill-name{font-family:var(--font-ui);font-size:13px;line-height:16px;font-weight:500;text-transform:capitalize;color:#fff}.cst-group-pill-count{font-family:var(--font-ui);font-size:13px;line-height:16px;color:#fff}.cst-group-pill-close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;border:none;background:transparent;color:#fff;cursor:pointer;transition:background .15s ease}.cst-group-pill-close:hover{background:#ffffff1f}.cst-cluster-tip{position:absolute;transform:translate(-50%,-100%);margin-top:-8px;pointer-events:none;z-index:20;animation:cst-tip-in .14s var(--ease-out-quint, cubic-bezier(.23, 1, .32, 1)) both}.cst-cluster-tip .tooltip-box{align-items:flex-start}.cst-cluster-tip .tooltip-dot{margin-top:5px}.cst-cluster-tip-name{display:block;font-family:var(--font-ui);font-size:12px;font-weight:600;text-transform:capitalize;color:var(--color-text-primary)}.cst-cluster-tip-meta{display:block;font-family:var(--font-ui);font-size:11px;font-weight:400;color:var(--color-text-secondary)}@keyframes cst-tip-in{0%{opacity:0;transform:translate(-50%,-100%) translateY(4px)}to{opacity:1;transform:translate(-50%,-100%) translateY(0)}}.cst-orb-tip{position:absolute;transform:translate(-50%,-100%);margin-top:-8px;pointer-events:none;z-index:20;animation:cst-tip-in .14s var(--ease-out-quint, cubic-bezier(.23, 1, .32, 1)) both}.cst-orb-tip .tooltip-box{align-items:flex-start}.cst-orb-tip .tooltip-dot{margin-top:5px}.cst-orb-tip-name{display:block;font-family:var(--font-ui);font-size:12px;font-weight:600;color:var(--color-text-primary)}.cst-orb-tip-meta{display:flex;align-items:center;gap:10px;margin-top:2px;font-family:var(--font-ui);font-size:11px;color:var(--color-text-secondary)}.cst-orb-tip-metaitem{display:inline-flex;align-items:center;gap:4px}.cst-orb-tip-metaitem .icon{color:var(--color-text-secondary)}.cst.is-in .cst-lake-label{animation:cst-fade-in .5s ease var(--d, 0ms) backwards}.cst-lake-label{transition:opacity .24s var(--ease-out-quint)}.cst-lake.is-out,.cst-lake-label.is-out,.cst-orb.is-out,.cst-cluster.is-out,.cst-agent.is-out{opacity:0!important;pointer-events:none;transition-duration:.16s;transition-timing-function:ease-in}.cst-orb.is-out,.cst-cluster.is-out{scale:0}.cst-agent.is-out{scale:.5}.cst-lake.is-out{scale:.88}@keyframes cst-fade-in{0%{opacity:0}to{opacity:1}}.cst-orb{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:opacity .24s var(--ease-out-quint),scale .24s var(--ease-out-quint)}.cst.is-in .cst-orb{animation:cst-orb-in .48s cubic-bezier(.3,1.45,.55,1) var(--d, 0ms) backwards}.cst.is-settled .cst-orb{animation:none}@keyframes cst-orb-in{0%{opacity:0;scale:.4}to{opacity:1;scale:1}}.cst-orb-c{transition:r .18s var(--ease-out-quint),fill-opacity .18s ease}.cst-orb-ring{animation:cst-ring-in .22s var(--ease-out-quint) both;pointer-events:none}@keyframes cst-ring-in{0%{opacity:0}to{opacity:1}}.cst-agent{cursor:grab;transform-box:fill-box;transform-origin:center;transition:opacity .24s var(--ease-out-quint),scale .24s var(--ease-out-quint)}.cst-agent.is-dragging,.cst.is-dragging .cst-agent.is-dragging{cursor:grabbing}.cst.is-in .cst-agent{animation:cst-agent-in .55s var(--ease-out-quint) var(--d, 0ms) backwards}@keyframes cst-agent-in{0%{opacity:0;scale:.6}to{opacity:1;scale:1}}.cst-vt{cursor:grab;transition:opacity .25s ease}.cst-vt.is-dragging,.cst.is-dragging .cst-vt.is-dragging{cursor:grabbing}.cst.is-in .cst-vt{animation:cst-fade-in .45s ease var(--d, 0ms) backwards}.cst.is-settled .cst-vt{animation:cst-fade-in .3s ease backwards}.cst-vt-halo{fill:#d6dbec0d;stroke:none;transition:fill .2s ease}.cst-vt-ring{fill:#d6dbec12;stroke:#b7bed8;stroke-width:1.2;stroke-opacity:.75;transition:stroke-opacity .2s ease}.cst-vt-count{font-family:var(--font-mono);fill:#c9cede;pointer-events:none}.cst-vt-openring{fill:none;stroke:#b7bed8;stroke-width:1.2;stroke-opacity:.55;cursor:grab}.cst-vt.is-dragging .cst-vt-openring{cursor:grabbing}.cst-vt-member{cursor:pointer;transition:opacity .2s ease}.cst-vt-member-c{fill:#d6dbec14;stroke:#aab2d0;stroke-width:1;stroke-opacity:.7;transition:stroke-opacity .2s ease,fill .2s ease}.cst-vt-member:hover .cst-vt-member-c,.cst-vt-member.is-lit .cst-vt-member-c{fill:#d6dbec29;stroke-opacity:1}.cst-vt-member{animation:cst-vtm-in .4s var(--ease-out-quint) var(--d, 0ms) backwards}@keyframes cst-vtm-in{0%{opacity:0}to{opacity:1}}.cst-vt.is-lit .cst-vt-ring{stroke-opacity:1}.cst-vt.is-lit .cst-vt-halo{fill:#d6dbec1f}.cst-vt-src{fill:none;stroke:#c9cede;stroke-width:1.4;opacity:0;pointer-events:none;transition:opacity .2s ease}.cst-vt.is-lit .cst-vt-src{opacity:.9}.cst-vt-label{font-family:var(--font-mono);font-size:10px;fill:#aab2d0}.cst-vt.is-out{opacity:0!important;pointer-events:none;transition-duration:.16s}.cst-onto{transition:opacity .25s ease}.cst.is-in .cst-onto{animation:cst-fade-in .45s ease var(--d, 0ms) backwards}.cst.is-settled .cst-onto{animation:cst-fade-in .3s ease backwards}.cst-onto-pill{position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:6px;padding:4px 9px 4px 8px;background:var(--color-bg-app);border:1px solid color-mix(in srgb,var(--chip-c) 24%,transparent);border-radius:12px;z-index:4;white-space:nowrap;cursor:grab;transition:opacity .25s ease,border-color .2s ease}.cst.is-in .cst-onto-pill{animation:cst-vtm-in .4s var(--ease-out-quint) .76s backwards}.cst.is-settled .cst-onto-pill{animation:cst-vtm-in .3s var(--ease-out-quint) backwards}.cst-onto-pill.is-lit{border-color:var(--chip-c)}.cst-onto-pill.is-dragging{cursor:grabbing}.cst-onto-pill.is-out{opacity:0!important;pointer-events:none}.cst-onto-edge{stroke:#05ada9;stroke-width:1;stroke-opacity:.25;pointer-events:none;transition:stroke-opacity .2s ease}.cst-onto.is-lit .cst-onto-edge,.cst-onto-edge.is-hot{stroke-opacity:.8;stroke-width:1.2}.cst-onto-src.is-hot{opacity:.85}.cst-onto-src{fill:none;stroke:#05ada9;stroke-width:1.4;opacity:0;pointer-events:none;transition:opacity .2s ease}.cst-onto.is-lit .cst-onto-src{opacity:.85}.cst-onto.is-out{opacity:0!important;pointer-events:none;transition-duration:.16s}.cst-vt-card{width:300px}.cst-vt-card-hd{background:#4a5170}.cst-onto-card-hd{background:#05ada9}.cst-src-rows{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.cst-src-row{display:flex;align-items:center;gap:8px;min-height:26px;padding:0 8px;border-radius:var(--radius-small);background:var(--color-bg-app)}.cst-src-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:11px;color:var(--color-text-primary)}.cst-src-row-lake{flex:none;font-size:11px;color:var(--color-text-tertiary)}.cst-agent-tilelogo{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.cst-agent-initials{font-family:var(--font-mono);font-weight:600;pointer-events:none}.cst-agent-label{font-family:var(--font-ui);font-size:11px;fill:var(--color-text-primary)}.cst-agent-labelrow{transition:opacity .18s ease}.cst-agent-edge{animation:cst-fade-in .24s ease both}.cst-agent-edge.is-running{animation:cst-fade-in .24s ease both,cst-edge-flow .7s linear infinite}@keyframes cst-edge-flow{to{stroke-dashoffset:6}}.cst-chip{position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:6px;padding:4px 9px 4px 8px;background:#0d0e12d9;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid color-mix(in srgb,var(--chip-c) 60%,transparent);border-radius:12px;pointer-events:none;z-index:4;white-space:nowrap;animation:cst-chip-in .2s var(--ease-out-quint) var(--d, 0ms) backwards}@keyframes cst-chip-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.85)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.cst-chip-dot{width:6px;height:6px;border-radius:50%;background:var(--chip-c);flex:none}.cst-chip-label{font-family:var(--font-mono);font-size:11px;color:#ffffffeb}.cst-card{position:absolute;width:408px;background:var(--color-bg-floating, #141417);border:1px solid #23232b;border-radius:8px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:0 16px 48px #00000080;z-index:6;animation:cst-card-in .26s var(--ease-out-quint) both}@keyframes cst-card-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.cst-card-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border-radius:7px 7px 0 0}.cst-card-hd-left{display:flex;align-items:center;gap:6px;min-width:0}.cst-card-hd-ic{color:#fff;flex:none}.cst-card-title{font-family:var(--font-ui);font-size:13px;font-weight:500;color:#fff;white-space:nowrap}.cst-card-concept{padding:1px 4px;border-radius:2px;background:#fff;font-family:var(--font-mono);font-size:11px;line-height:14px;white-space:nowrap}.cst-card-hd-right{position:relative;display:inline-flex}.cst-card-kebab{display:inline-flex;width:16px;height:16px;padding:0;border:0;background:none;color:#fff;cursor:pointer;opacity:.85;transition:opacity .14s ease}.cst-card-kebab:hover{opacity:1}.cst-card-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:190px;z-index:8}.cst-card-body{padding:16px}.cst-card-sec{margin:0 0 8px;font-family:var(--font-ui);font-size:13px;font-weight:500;line-height:16px;color:var(--color-text-primary)}.cst-card-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:20px}.cst-col-chip{padding:1px 4px;border-radius:2px;font-family:var(--font-mono);font-size:12px;line-height:16px;white-space:nowrap}.cst-col-more{background:#fff;color:#141417}.cst-card-risks{display:flex;flex-direction:column;gap:8px}.cst-risk{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:0 12px;border:0;border-radius:6px;background:#1a1a22;font:inherit;font-family:var(--font-ui);text-align:left;color:var(--color-text-primary);cursor:pointer;transition:background .14s ease}.cst-risk:hover{background:#20202a}.cst-risk-bold{font-size:16px;font-weight:500;line-height:24px;color:var(--color-text-primary)}.cst-risk-text{font-size:13px;line-height:16px}.cst-risk-bold~.cst-risk-text{font-size:12px;color:var(--color-text-tertiary)}.cst-risk-chev{margin-left:auto;color:var(--color-text-secondary);flex:none}.cst-card-foot{display:flex;align-items:center;gap:16px;margin-top:20px}.cst-card-meta{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:12px;line-height:16px;color:var(--color-text-secondary)}.cst-card-meta .icon{color:var(--color-text-secondary)}.cst-card-foot-fill{flex:1}.cst-card-details{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:none;font-family:var(--font-ui);font-size:13px;line-height:16px;color:var(--color-text-primary);cursor:pointer;transition:background .14s ease,border-color .14s ease}.cst-card-details:hover{background:#ffffff0f;border-color:#ffffff57}.cst-card-agents{display:flex;align-items:center;gap:6px;margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.cst-card-agents-label{margin-right:4px;font-family:var(--font-ui);font-size:11px;color:var(--color-text-tertiary)}.cst-card-agent-wrap{position:relative;display:inline-flex}.cst-card-agent{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid;border-radius:6px;font-family:var(--font-mono);font-size:9px;font-weight:600;cursor:default}.cst-card-agent-tip{position:absolute;bottom:calc(100% + 8px);left:50%;z-index:10;opacity:0;pointer-events:none;transform:translate(-50%) translateY(4px);transition:opacity .14s ease,transform .14s var(--ease-out-quint)}.cst-card-agent-wrap:hover .cst-card-agent-tip{opacity:1;transform:translate(-50%)}.cst-card-agents-more{font-family:var(--font-mono);font-size:10px;color:var(--color-text-tertiary)}@media(prefers-reduced-motion:reduce){.cst-ambient{transition:none}.cst-blob{animation:none}.cst-tubes{transition:none}.cst.is-in .cst-lake,.cst.is-in .cst-lake-label,.cst.is-in .cst-orb,.cst.is-in .cst-agent,.cst-chip,.cst-card,.cst-cluster,.cst-group-pill,.cst-cluster-tip,.cst-orb-tip,.cst-orb-ring,.cst-agent-edge{animation:none}.cst-lake,.cst-lake-label,.cst-orb,.cst-cluster,.cst-agent{transition:none}}.cst.is-commenting{cursor:crosshair}.cst-comment{position:absolute;z-index:12}.promptbar{width:100%}.promptbar-hc .promptbar-bar{background:var(--color-bg-app)}.promptbar-hc .promptbar-bar:hover{background:#21212c}.promptbar-hc .promptbar-bar:focus-within{background:#21212c;border-color:#ffffff24}.promptbar-hc .promptbar-mode{color:var(--color-text-primary)}.promptbar-hc .promptbar-chip{background:#4875f5;color:#fff}.promptbar-bar{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 12px 0 24px;border:1px solid transparent;border-radius:200px;background:var(--color-input-bg-segmented);cursor:text;transition:background .18s ease,border-color .18s ease}.promptbar-bar:hover{background:var(--color-bg-surface-2)}.promptbar-bar:focus-within{background:var(--color-bg-surface-2);border-color:#ffffff24}.promptbar-input-wrap{display:flex;align-items:center;gap:8px;flex:1;min-width:0;color:var(--color-text-secondary)}.promptbar-chip{display:inline-flex;align-items:center;flex:none;padding:3px 8px;border-radius:6px;background:#7c7cf029;color:#a5a5f5;font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:16px}.promptbar-field{position:relative;flex:1;min-width:0;display:flex;align-items:center}.promptbar-hint{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);color:var(--color-text-secondary);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.promptbar-example{border:0;padding:0;margin:0;background:none;color:inherit;font:inherit;font-family:inherit;cursor:pointer;pointer-events:auto;transition:color .14s ease}.promptbar-example:hover{text-decoration:underline;color:var(--color-text-primary)}.promptbar-input{flex:1;min-width:0;border:0;background:none;color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);outline:none}.promptbar-input::placeholder{color:var(--color-text-secondary)}.promptbar-mode{display:inline-flex;align-items:center;gap:6px;min-width:80px;justify-content:center;padding:4px 12px;border:0;border-radius:200px;background:none;color:var(--color-text-secondary);font:inherit;font-family:var(--font-ui);font-weight:500;cursor:pointer}.promptbar-mode:hover{color:var(--color-text-primary)}.promptbar-actions{display:flex;gap:8px;margin-top:12px}.promptbar-bar{position:relative}.promptbar-cmd{top:auto;bottom:calc(100% + 8px);left:0;min-width:280px;max-height:300px;overflow-y:auto;transform-origin:bottom left}.promptbar-cmd .context-item{gap:12px}.promptbar-cmd-hint{margin-left:auto;color:var(--color-text-tertiary);font-size:12px}.real-ask{display:flex;flex-direction:column;gap:10px;width:100%}.real-ask-result{padding:14px 16px;border-radius:12px;background:var(--color-bg-floating);border:1px solid var(--color-border-light);max-height:220px;overflow-y:auto}.real-ask-status-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.real-ask-status{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.03em}.real-ask-status.is-complete{background:var(--color-success-track);color:var(--color-success-deep)}.real-ask-status.is-partial{background:var(--color-input-bg);color:var(--color-text-secondary)}.real-ask-status.is-refused{background:var(--color-error);color:#fff}.real-ask-query{font-size:12px;color:var(--color-text-secondary)}.real-ask-gap{font-size:12px;color:var(--color-text-secondary);margin:4px 0}.real-ask-table{width:100%;border-collapse:collapse;font-size:12px}.real-ask-table th,.real-ask-table td{text-align:left;padding:4px 8px;border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary);white-space:nowrap}.real-ask-table th{color:var(--color-text-tertiary);font-weight:500}.home{height:100%;display:flex;flex-direction:column;padding:16px}.home-body{flex:1;min-height:0;margin-top:16px;display:grid;grid-template-columns:255px minmax(0,1fr) 32px;grid-template-rows:auto minmax(0,1fr);column-gap:16px;row-gap:16px}.home-filters{position:relative;z-index:20;grid-column:1 / 3;grid-row:1;display:flex;flex-wrap:wrap;gap:8px;animation:home-drop .4s var(--ease-out-quint) .05s both}.home-filter{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;border:0;border-radius:20px;background:var(--color-bg-floating);font:inherit;font-family:var(--font-ui);cursor:pointer;transition:background .15s ease,scale .1s ease-out}.home-filter:hover{background:var(--color-bg-hover)}.home-filter:active{scale:.97}.home-filter-label{color:var(--color-text-secondary)}.home-filter-value{font-weight:500;color:var(--color-text-primary);animation:home-value-in .22s var(--ease-out-quint) both}@keyframes home-value-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.home-filter-caret{margin-left:2px;color:var(--color-text-secondary);transition:transform .18s var(--ease-out-quint)}.home-filter-close{color:var(--color-text-secondary);transition:color .15s ease}.home-filter.is-dropdown .icon{color:var(--color-text-secondary)}.home-filter-wrap{position:relative;display:inline-flex}.home-filter.is-open{background:var(--color-bg-hover)}.home-filter-close{display:inline-flex;align-items:center;border-radius:50%;color:var(--color-text-secondary);cursor:pointer;transition:color .15s ease}.home-filter-close:hover{color:var(--color-text-primary)}.filter-dropdown{display:flex;flex-direction:column;gap:16px;width:292px;padding:16px;transform-origin:top left;animation:home-dd-in .18s var(--ease-out-quint) both}.kpi-menu-panel{transform-origin:top right;animation:home-dd-in .18s var(--ease-out-quint) both}@keyframes home-dd-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.filter-dropdown .filter-item{animation:home-item-in .24s var(--ease-out-quint) var(--d, 0ms) backwards}@keyframes home-item-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group-title{font-size:12px;color:var(--color-text-tertiary)}.filter-item{display:flex;align-items:center;justify-content:space-between;height:32px;padding:0 8px;border-radius:var(--radius-small);cursor:pointer;transition:background .14s ease}.filter-item:hover,.filter-item.is-on{background:var(--color-bg-hover)}.filter-item.is-disabled{opacity:.4;cursor:default;pointer-events:none}.filter-item-main{display:flex;align-items:center;gap:8px;min-width:0}.filter-item-label,.filter-item-count{color:var(--color-text-secondary)}.filter-item.is-on .filter-item-label,.filter-item.is-on .filter-item-count{color:var(--color-text-primary)}.kpi-column{grid-column:1;grid-row:2;position:relative;z-index:8;display:flex;flex-direction:column;gap:8px;overflow:visible;padding-right:2px}.kpi-card{flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:var(--radius-small);background:var(--color-card-bg);animation:home-rise .45s var(--ease-out-quint) both}.kpi-card.is-menu-open{position:relative;z-index:3}.kpi-card:nth-child(1){animation-delay:.08s}.kpi-card:nth-child(2){animation-delay:.15s}.kpi-card:nth-child(3){animation-delay:.22s}.kpi-card:nth-child(4){animation-delay:.29s}.kpi-card:nth-child(5){animation-delay:.36s}.kpi-head{display:flex;align-items:center;justify-content:space-between}.kpi-title{font-weight:500;color:var(--color-text-primary)}.kpi-metric-row{display:flex;align-items:center;gap:8px}.kpi-metric{font-size:32px;line-height:40px;font-weight:400;color:var(--color-text-primary)}.kpi-unit{font-size:12px;color:var(--color-text-tertiary)}.kpi-trend{padding:4px 8px;border-radius:4px;background:#354c42;color:var(--color-success);font-size:12px;font-weight:500}.kpi-progress{display:flex;flex-direction:column;gap:8px}.kpi-sub{font-size:12px;color:var(--color-text-tertiary)}.kpi-breakdown{display:flex;justify-content:space-between;gap:8px}.kpi-break-label{font-size:12px;color:var(--color-text-tertiary)}.kpi-split{display:flex;gap:2px}.kpi-split-seg{height:4px;border-radius:20px;min-width:14px}.kpi-split-seg.is-blue{background:#88adf7}.kpi-split-seg.is-green{background:var(--color-success-deep)}.kpi-split-seg.is-ok{background:var(--color-status-ok)}.kpi-split-seg.is-error{background:var(--color-error)}.kpi-break-val{font-size:12px;color:var(--color-text-primary)}.kpi-badge-row{display:flex;align-items:center;gap:4px}.kpi-badge-icon{color:var(--color-success)}.kpi-badge-text{font-size:12px;font-weight:500;color:var(--color-success)}.home-canvas{grid-column:2;grid-row:2;display:flex;flex-direction:column;min-width:0;min-height:0}.home-viz{position:relative;flex:1;min-height:0;animation:home-fade .5s ease .12s both}.kpi-menu-wrap{position:relative;display:inline-flex}.kpi-menu-panel{position:absolute;top:calc(100% + 6px);right:0;min-width:170px;z-index:12}.home-prompt{animation:home-rise .45s var(--ease-out-quint) .1s both}.home-prompt-input::placeholder{color:var(--color-text-secondary)}.map-actions{grid-column:3;grid-row:1 / 3;align-self:start;display:flex;flex-direction:column;gap:16px;animation:home-fade .5s ease .28s both}.map-group{display:flex;flex-direction:column;border-radius:var(--radius-small);background:var(--color-bg-hover);overflow:hidden}.map-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;background:none;color:var(--color-text-secondary);cursor:pointer;transition:color .15s ease,background .15s ease}.map-btn:hover,.map-btn.is-active{color:var(--color-text-primary);background:#ffffff0d}.map-divider{height:1px;background:#34353c}.map-search-wrap{position:relative}.map-search-input{position:absolute;top:0;right:calc(100% + 8px);width:229px;height:32px;padding:0 16px;border:none;border-radius:var(--radius-small);background:var(--color-input-bg, #282833);color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);font-size:13px;line-height:16px;outline:none;animation:map-search-in .2s var(--ease-out-quint) both;transition:box-shadow .15s ease}.map-search-input::placeholder{color:var(--color-text-secondary)}.map-search-input:focus{box-shadow:inset 0 0 0 1px var(--color-border-interactive)}@keyframes map-search-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}.map-search-results{position:absolute;top:40px;right:calc(100% + 8px);width:229px;max-height:288px;overflow-y:auto;padding:4px;border:1px solid var(--color-border-light);border-radius:8px;background:var(--color-bg-floating);z-index:30;animation:map-search-in .18s var(--ease-out-quint)}.map-search-item{gap:8px}.map-search-item:hover:not(.is-hi){background:none;color:var(--color-text-secondary)}.map-search-item.is-hi{background:var(--color-bg-hover);color:var(--color-text-primary)}.map-search-dot{flex:none;width:8px;height:8px;border-radius:50%}.map-search-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-search-kind{flex:none;color:var(--color-text-tertiary);font-size:11px}.map-search-none{padding:8px;color:var(--color-text-secondary)}@keyframes home-fade{0%{opacity:0}to{opacity:1}}@keyframes home-drop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes home-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.home-filter-value,.filter-dropdown,.kpi-menu-panel,.filter-dropdown .filter-item{animation:none}.home-filter-caret{transition:none}.map-search-input,.map-search-results{animation:none}}@media(max-width:799px){.home-body{display:flex;flex-direction:column;row-gap:12px}.kpi-column{flex-direction:row;gap:8px;overflow-x:auto;overflow-y:hidden;padding:0 0 6px;scroll-snap-type:x proximity}.kpi-card{width:228px;flex-shrink:0;scroll-snap-align:start}.home-canvas{flex:1;min-height:0}.map-actions{display:none}}.inc-map-card{display:flex;flex-direction:column;gap:2px;padding:12px}.inc-map-head{display:flex;align-items:center;justify-content:space-between;padding:2px 6px 8px;font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary)}.inc-map-clear{border:0;background:none;padding:0;font-size:11px;text-transform:none;letter-spacing:0;color:var(--color-text-secondary);cursor:pointer}.inc-map-clear:hover{color:var(--color-text-primary)}.inc-map-row{display:flex;align-items:center;gap:9px;width:100%;padding:7px 8px;border:0;border-radius:var(--radius-small);background:none;color:var(--color-text-secondary);font:inherit;font-size:12.5px;text-align:left;cursor:pointer;transition:background .14s ease,color .14s ease}.inc-map-row:hover,.inc-map-row.is-on{background:var(--color-bg-hover);color:var(--color-text-primary)}.inc-map-title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inc-map-open{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;margin:8px 6px 2px;padding:0;border:0;background:none;color:var(--color-accent);font:inherit;font-size:12px;cursor:pointer}.inc-map-open:hover{text-decoration:underline}.home-loading{padding:40px;color:var(--color-text-secondary);font-size:13px}.kpi-card.is-unavailable{opacity:.55}.kpi-unavailable-text{font-size:12px;color:var(--color-text-tertiary);margin-top:4px}.filter-group-empty{font-size:12px;color:var(--color-text-tertiary);padding:4px 8px}.section-header{display:flex;align-items:center;gap:8px;margin-top:8px;padding:0;border:0;background:none;color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);font-weight:500;cursor:pointer}.section-header.as-title{cursor:default}.section-header-row{display:flex;align-items:center;margin-top:8px}.section-header-row>.section-header{flex:1;min-width:0;margin-top:0}.section-actions{flex:none;display:inline-flex}.section-header .icon{transition:transform .28s var(--ease-out-quint)}.section-sticky>.section-header{position:sticky;top:0;z-index:3;margin-top:0;padding:8px 0 4px;background:var(--color-bg-surface-1);width:100%}.section-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s var(--ease-out-quint)}.section-collapse.is-open{grid-template-rows:1fr}.section-collapse-inner{overflow:clip;min-height:0;min-width:0}.section-content{margin:4px 0 20px 8px;padding-left:16px;border-left:1px solid var(--color-border-medium);display:flex;flex-direction:column;gap:16px}.section-desc{color:var(--color-text-secondary)}.segmented{position:relative;display:inline-flex;align-self:flex-start;gap:2px;padding:2px;border-radius:20px;background:var(--color-bg-app)}.segmented-pill{position:absolute;left:0;top:0;border-radius:20px;background:var(--color-input-bg);pointer-events:none;transition:transform .28s var(--ease-out-quint),width .28s var(--ease-out-quint)}.segmented-item{position:relative;height:28px;padding:4px 16px;border:0;border-radius:20px;background:none;color:var(--color-text-secondary);font:inherit;font-family:var(--font-ui);cursor:pointer;transition:color .18s ease}.segmented-item.is-active{color:var(--color-text-primary);font-weight:500}.segmented-hc{background:var(--color-bg-floating)}.segmented-hc .segmented-item.is-active{font-weight:600}.segmented-item.has-icon{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px}.segmented-tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:100;pointer-events:none;opacity:0;transition:opacity .15s ease}.segmented-item.has-icon:hover .segmented-tip{opacity:1}.sparkline{position:relative;width:100%;height:44px;color:var(--spark-color, #8b8b97)}.sparkline-fill-top{stop-color:var(--spark-fill, currentColor);stop-opacity:.2}.sparkline-fill-bot{stop-color:var(--spark-fill, currentColor);stop-opacity:0}.sparkline-svg{display:block;width:100%;height:100%}.spark-wipe{transform-box:fill-box;transform-origin:left;animation:spark-draw 1s var(--ease-out-cubic) .45s both}@keyframes spark-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.sparkline-crosshair{position:absolute;top:0;bottom:0;width:0;border-left:1px dashed rgba(255,255,255,.25);pointer-events:none;transition:left .16s var(--ease-out-cubic);animation:spark-hover-in .2s ease both}.sparkline-marker{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 4px #be3e8240;transform:translate(-50%,-50%);pointer-events:none;transition:left .16s var(--ease-out-cubic),top .16s var(--ease-out-cubic);animation:spark-marker-in .26s var(--ease-spring) both,spark-halo 2.2s ease-in-out .4s infinite}.sparkline-tip{position:absolute;bottom:calc(100% + 10px);z-index:5;pointer-events:none;transition:left .16s var(--ease-out-cubic),transform .16s var(--ease-out-cubic)}.sparkline-tip .tooltip-box{animation:spark-tip-in .22s var(--ease-out-quint) both}@keyframes spark-hover-in{0%{opacity:0}to{opacity:1}}@keyframes spark-marker-in{0%{transform:translate(-50%,-50%) scale(0)}to{transform:translate(-50%,-50%) scale(1)}}@keyframes spark-halo{0%,to{box-shadow:0 0 0 4px #be3e8240}50%{box-shadow:0 0 0 7px #be3e821f}}@keyframes spark-tip-in{0%{opacity:0;transform:translateY(5px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.query{height:100%;display:flex;flex-direction:column;padding:16px}.query-body{flex:1;min-height:0;margin-top:16px;display:flex}.query-list{width:251px;flex-shrink:0;display:flex;flex-direction:column;gap:16px;padding-right:16px;animation:home-fade .4s ease both}.query-rail-scroll{position:relative;flex:1;min-height:0}.query-rail-fade{position:absolute;left:0;right:0;height:48px;pointer-events:none;opacity:0;transition:opacity .2s ease;z-index:1}.query-rail-fade.is-visible{opacity:1}.query-rail-fade-top{top:0;background:linear-gradient(to bottom,var(--color-bg-surface-1),transparent)}.query-rail-fade-bottom{bottom:0;background:linear-gradient(to top,var(--color-bg-surface-1),transparent)}.query-search{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:8px 12px;border-radius:20px;background:var(--color-bg-floating);color:var(--color-text-secondary)}.query-search input{flex:1;min-width:0;border:0;background:none;color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);outline:none}.query-search input::placeholder{color:var(--color-text-secondary)}.query-sections{height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:0}.query-sections>.section-header:first-child,.query-sections>.section-header-row:first-child{margin-top:0}.query-sections>.section-collapse+.section-header,.query-sections>.section-collapse+.section-header-row{margin-top:32px}.query-sec-add{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:6px;padding:0;border:0;border-radius:50%;background:none;color:var(--color-text-secondary);cursor:pointer;opacity:0;transition:opacity .15s ease,background .14s ease,color .14s ease}.query-list:hover .query-sec-add,.query-sec-add:focus-visible,.query-sec-add.is-open{opacity:1}.query-sec-add:hover,.query-sec-add.is-open{background:var(--color-bg-hover);color:var(--color-text-primary)}.query-count{color:var(--color-text-tertiary);font-weight:400}.query-rail-empty{padding:8px 10px;font-size:12px;color:var(--color-text-tertiary)}.query-list-items{display:flex;flex-direction:column;gap:8px;padding:10px 0 0 16px}.query-item{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px;border:0;border-radius:var(--radius-small);background:none;font:inherit;font-family:var(--font-ui);cursor:pointer;transition:background .14s ease}.query-item:hover,.query-item.is-menu,.query-item.is-active{background:var(--color-bg-hover)}.query-item.is-active .query-item-name{color:var(--color-text-primary)}.query-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.query-kebab{position:absolute;right:6px;top:50%;margin-top:-10px;opacity:0;transition:opacity .14s ease}.query-item:hover .query-kebab,.query-item.is-menu .query-kebab{opacity:1}.query-menu{display:flex;flex-direction:column;gap:2px;width:176px;padding:8px;z-index:200}.query-item-main{display:flex;align-items:center;gap:8px;min-width:0}.query-item-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary)}.query-item-time{position:absolute;right:26px;top:50%;transform:translateY(-50%);color:var(--color-text-secondary);opacity:0;transition:opacity .14s ease}.query-item:hover .query-item-time,.query-item.is-menu .query-item-time{opacity:1}.query-item:hover .query-item-main,.query-item.is-menu .query-item-main{padding-right:104px}.query-name-tip{position:fixed;z-index:40;pointer-events:none;animation:query-tip-in .14s var(--ease-out-quint) .35s both}@keyframes query-tip-in{0%{opacity:0;transform:translate(-4px,-50%)}to{opacity:1;transform:translateY(-50%)}}.qvt-strip{display:flex;align-items:center;gap:12px;margin-top:8px;padding:12px 16px;border:1px solid var(--color-border-light);border-radius:10px;background:var(--color-bg-floating);animation:qvt-strip-in .3s var(--ease-out-quint) both}@keyframes qvt-strip-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.qvt-ic{flex:none;color:var(--color-text-secondary)}.qvt-text{flex:1;min-width:0;font-size:13px;line-height:18px;color:var(--color-text-secondary)}.qvt-text code{font-family:var(--font-mono);font-size:12px;color:var(--color-text-primary);background:#ffffff0f;padding:1px 5px;border-radius:4px}.qvt-strip .btn{flex:none}.qvt-dismiss{flex:none;padding:4px 6px;border:0;background:none;color:var(--color-text-tertiary);font:inherit;font-size:13px;cursor:pointer;transition:color .14s ease}.qvt-dismiss:hover{color:var(--color-text-primary)}.qvt-check{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#45d19a29;color:var(--color-status-ok)}.query-main{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;padding:0 24px;border-left:1px solid var(--color-border-medium)}.query-main.is-empty{align-items:center;justify-content:center;gap:24px}.query-main:before{content:"";position:absolute;top:0;left:25px;right:24px;height:128px;background:linear-gradient(to bottom,var(--color-bg-surface-1) 34%,transparent);pointer-events:none;z-index:5}.query-main.is-empty:before{display:none}.query-thread{flex:1;min-height:0;width:100%;overflow-y:auto}.query-thread-inner{max-width:768px;margin:0 auto;padding:24px 0;display:flex;flex-direction:column;gap:16px}.query-chip-q{position:sticky;top:8px;z-index:10;align-self:flex-end;padding:8px 16px;border-radius:200px;background:var(--color-bg-app);color:var(--color-text-primary);font-weight:500;animation:home-rise .3s var(--ease-out-quint) both}.query-empty{max-width:545px;text-align:center;animation:home-rise .4s var(--ease-out-quint) .05s both}.query-empty-title{font-family:var(--font-display);font-size:20px;line-height:24px;font-weight:400;color:var(--color-text-primary)}.query-empty-desc{margin-top:12px;line-height:16px;color:var(--color-text-secondary)}.query-prompt-wrap{width:768px;max-width:100%;flex-shrink:0;margin:0 auto;padding-bottom:16px;animation:home-rise .4s var(--ease-out-quint) .1s both}.query-prompt{display:flex;flex-direction:column;gap:16px;padding:24px;border:1px solid transparent;border-radius:16px;background:var(--color-input-bg);cursor:text;transition:background .18s ease,border-color .18s ease}.query-prompt:hover{background:#2d2d3a}.query-prompt:focus-within{background:#2d2d3a;border-color:#ffffff24}.query-sql{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;padding:0;border:0;background:none;color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);cursor:pointer}.query-toggle{position:relative;width:28px;height:16px;border-radius:200px;background:var(--color-bg-surface-1);transition:background .18s ease}.query-toggle-knob{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--color-text-secondary);transition:transform .18s var(--ease-out-quint),background .18s ease}.query-sql.is-on .query-toggle{background:var(--color-accent)}.query-sql.is-on .query-toggle-knob{transform:translate(12px);background:#fff}.query-prompt-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.query-prompt-input{display:flex;align-items:center;gap:8px;flex:1;min-width:0;color:var(--color-text-secondary)}.query-prompt-input input{flex:1;min-width:0;border:0;background:none;color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);outline:none}.query-prompt-input input::placeholder{color:var(--color-text-secondary)}.query-field{position:relative;flex:1;min-width:0;display:flex}.query-placeholder{position:absolute;left:0;top:50%;transform:translateY(-50%);max-width:100%;overflow:hidden;color:var(--color-text-secondary);pointer-events:none}.qres{display:flex;flex-direction:column;gap:12px;margin-top:24px;animation:home-fade .3s ease both}.qres-status{color:var(--color-text-primary)}.qres-cost{color:var(--color-success-deep)}.qres-dur{color:var(--color-alert)}.qchart-tabs{display:inline-flex;align-self:flex-start;gap:2px;padding:2px;border-radius:20px;background:var(--color-bg-app)}.qchart-tab{padding:4px 12px;border:0;border-radius:20px;background:none;color:var(--color-text-secondary);font:inherit;font-family:var(--font-ui);cursor:pointer;transition:color .15s ease}.qchart-tab.is-active{background:var(--color-input-bg);color:var(--color-text-primary);font-weight:500}.qres .segmented{margin:12px 0}@keyframes qres-tab-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.qres-tabpanel{display:flex;flex-direction:column;gap:12px;animation:qres-tab-in .18s var(--ease-out-quint)}.qres-heading{color:var(--color-text-primary)}.qres-sql{padding:16px;border-radius:8px;background:var(--color-bg-floating);border:1px solid var(--color-border-light);font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:20px;color:var(--color-text-primary);white-space:pre;overflow-x:auto}.qres-steps{display:flex;flex-direction:column;gap:16px}.qres-step{display:grid;grid-template-columns:40px 16px 1fr;gap:8px;align-items:start;animation:home-rise .35s var(--ease-out-quint) both}.qres-time{padding-top:1px;font-size:12px;color:var(--color-text-tertiary)}.qres-mark{flex-shrink:0}.qres-mark.is-ok{color:var(--color-success)}.qres-mark.is-ask{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;font-weight:500;color:var(--color-alert)}.qres-step-body{min-width:0}.qres-step-text{font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;color:var(--color-text-primary);word-break:break-word}.qres-step-detail{margin-top:2px;font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:12px;color:var(--color-text-tertiary)}.qres-note{display:flex;gap:10px;margin-top:10px;padding:12px;border-radius:8px;background:var(--color-input-bg)}.qres-note-icon{flex-shrink:0;margin-top:1px;color:var(--color-alert)}.qres-note-text{flex:1;min-width:0}.qres-note-title{color:var(--color-text-primary)}.qres-note-body{margin-top:2px;font-size:12px;color:var(--color-text-secondary)}.qres-note-btn{flex-shrink:0;align-self:center}.qres-refine{margin-top:10px;align-self:flex-start}.qres-alldone{display:flex;align-items:center;gap:8px;margin-top:12px;color:var(--color-text-primary)}.qres-alldone-icon{color:var(--color-success)}.qres-getting{display:flex;align-items:center;gap:8px;margin-top:36px;color:var(--color-text-secondary)}.qres-spinner{color:var(--color-text-secondary);animation:spin .9s linear infinite}.qresult{display:flex;flex-direction:column;gap:16px;margin-top:32px;padding-bottom:48px;animation:home-rise .35s var(--ease-out-quint) both}.qresult-answer{line-height:20px;color:var(--color-text-secondary)}.qresult-answer strong{font-weight:500;color:var(--color-text-primary)}.qresult-followups{display:flex;flex-wrap:wrap;gap:8px}.qchart{display:flex;flex-direction:column;gap:16px;padding:16px;border-radius:10px;background:var(--color-input-bg)}.qchart-head{display:flex;align-items:center;justify-content:space-between}.qchart-kebab{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--radius-small);background:none;color:var(--color-text-secondary);cursor:pointer;transition:color .15s ease,background .15s ease}.qchart-kebab:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.qchart-kebab-wrap{position:relative}.qchart-menu{top:calc(100% + 4px);right:0;left:auto;width:176px;padding:8px;display:flex;flex-direction:column;gap:2px;transform-origin:top right;z-index:40}.qchart-plot{position:relative;height:140px;margin:4px 0 28px 24px}.qchart-ytick{position:absolute;left:-24px;width:18px;transform:translateY(-50%);text-align:right;font-size:12px;color:var(--color-text-secondary)}.qchart-grid{position:absolute;left:0;right:0;height:0;border-top:1px dashed var(--color-border-light)}.qchart-bar{border-radius:2px 2px 0 0}.qchart-bar.is-ok{background:#3ecf8e}.qchart-bar.is-alert{background:#e5675f}.qchart-gbar{position:absolute;bottom:0;width:8px;transform:translate(-50%)}.qchart-spike{position:absolute;top:0;bottom:0;left:77.8%;width:14.7%;display:flex;align-items:flex-end;gap:2px;padding:0 4px;border:1px dashed rgba(239,195,200,.1);border-radius:var(--radius-small);background:#db667229}.qchart-spike .qchart-bar{flex:1;min-width:0}.qchart-x{position:absolute;top:100%;left:0;right:0;margin-top:10px;display:flex;justify-content:space-between;font-size:12px;color:var(--color-text-secondary)}.qchart-tip{position:absolute;top:4px;left:40%;z-index:3;pointer-events:none}.qchart-connector{position:absolute;top:15px;left:61%;width:16.8%;height:0;border-top:1px dashed var(--color-text-secondary);z-index:2}.qchart-connector:after{content:"";position:absolute;right:-2px;top:-3px;width:6px;height:6px;border-radius:50%;background:#fff}.qreceipt{border:1px solid var(--color-border-medium);border-radius:6px;margin-top:-4px}.qreceipt-bar{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;border:0;background:none;color:var(--color-text-secondary);font:inherit;font-family:var(--font-ui);text-align:left;cursor:pointer}.qreceipt-label{color:var(--color-text-secondary)}.qreceipt-id{font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;color:var(--color-text-primary)}.qreceipt-meta{color:var(--color-text-secondary);white-space:nowrap}.qreceipt-meta.is-cost{color:var(--color-success-deep)}.qreceipt-view{display:inline-flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0;color:var(--color-accent)}.qreceipt-view .icon{transition:transform .2s var(--ease-out-quint)}.qreceipt-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s var(--ease-out-quint)}.qreceipt.is-open .qreceipt-collapse{grid-template-rows:1fr}.qreceipt-collapse-inner{overflow:hidden}.qreceipt-detail{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:7px 12px 12px;opacity:0;transition:opacity .2s var(--ease-out-quint)}.qreceipt.is-open .qreceipt-detail{opacity:1}.qreceipt-col{display:flex;flex-direction:column;gap:8px}.qreceipt-col-title{font-size:12px;color:var(--color-text-secondary)}.qreceipt-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.qreceipt-row-main{display:flex;align-items:center;gap:6px;min-width:0}.qreceipt-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;border-radius:4px;font-size:8px;font-weight:600;line-height:10px;color:#fff}.qreceipt-row-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary)}.qreceipt-row-meta{flex-shrink:0;font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;color:var(--color-text-secondary)}.query-folder-wrap{display:flex;flex-direction:column}.query-folder-wrap .query-list-items{padding-top:3px}.folder-row.query-folder{padding:6px 8px 6px 24px}.query-folder-wrap{margin-top:10px}.query-folder .folder-name{color:var(--color-text-primary)}.query-folder-wrap .folder-children{padding-left:24px}.query-menu-sep{height:1px;margin:6px 4px;background:var(--color-border-light)}.qres-hint{max-width:640px;padding:16px 18px;border-radius:var(--radius-medium, 12px);background:var(--color-bg-floating);color:var(--color-text-secondary);font-family:var(--font-ui)}.qres-hint-lead{margin:0 0 10px;color:var(--color-text-primary)}.qres-hint-sub{margin:0 0 8px;color:var(--color-text-tertiary);font-size:.85em}.qres-hint-examples{display:flex;flex-wrap:wrap;gap:8px}.qres-hint-chip{padding:6px 12px;border:1px solid var(--color-border, transparent);border-radius:16px;background:var(--color-bg-surface-1);color:var(--color-text-primary);font-family:var(--font-ui);font-size:.9em;cursor:pointer;transition:background .14s ease,color .14s ease}.qres-hint-chip:hover{background:var(--color-bg-hover)}.qreceipt-summary{margin-top:10px;font-size:var(--text-ui, .8125rem);color:var(--color-text-tertiary)}.qreceipt-summary .qreceipt-meta{margin-right:4px}.query-intent{display:flex;align-items:center;gap:6px;margin:6px 0 12px;font-size:var(--text-ui, .8125rem);color:var(--color-text-secondary)}.query-intent strong{color:var(--color-text-primary);font-weight:600}.query-intent .icon{color:var(--color-accent)}.query-intent-src{color:var(--color-text-tertiary)}.query-turn{padding-bottom:20px}.query-turn+.query-turn{border-top:1px solid var(--color-border-light);padding-top:20px}.qres-refused{max-width:640px;margin-top:8px;padding:12px 14px;border-radius:var(--radius-medium, 10px);background:color-mix(in srgb,var(--color-alert, #ecf788) 10%,var(--color-bg-floating));border:1px solid var(--color-border-light)}.qres-refused-head{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:var(--text-ui, .8125rem);font-weight:600;color:var(--color-text-primary)}.qres-refused-head .icon{color:var(--color-alert, #ecf788)}.qres-refused-reason{margin:2px 0;font-size:.85em;color:var(--color-text-secondary);line-height:1.45}.qres-empty-note{margin-top:8px;font-size:var(--text-ui, .8125rem);color:var(--color-text-tertiary)}.qv-titlewrap{min-width:0}.qv-title{font-family:var(--font-ui);font-size:13px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qv-tabs{display:flex;gap:4px}.qv-body{min-height:200px;animation:qv-body-in .28s var(--ease-out-quint) both}@keyframes qv-body-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.qv-plot{position:relative}.qv-line{height:150px;margin-bottom:26px}.qv-line-svg{width:100%;height:100%;display:block;overflow:visible}.qv-grid{stroke:var(--color-border-light);stroke-width:1;stroke-dasharray:3 4}.qv-line-area{opacity:0;animation:qv-fade .6s ease .28s forwards}.qv-line-stroke{fill:none;stroke:#459ada;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:qv-draw .9s var(--ease-out-quint) forwards}.qv-line-peak{position:absolute;width:9px;height:9px;border-radius:50%;background:#459ada;box-shadow:0 0 0 4px #459ada38;transform:translate(-50%,-50%);opacity:0;animation:qv-fade .4s ease .9s forwards}.qv-x{position:absolute;top:100%;left:0;right:0;margin-top:10px;display:flex;justify-content:space-between;font-size:12px;color:var(--color-text-secondary)}.qv-line-crosshair{position:absolute;top:0;bottom:0;width:0;border-left:1px dashed rgba(255,255,255,.22);pointer-events:none}.qv-line-marker{position:absolute;width:9px;height:9px;border-radius:50%;background:#459ada;box-shadow:0 0 0 4px #459ada38;transform:translate(-50%,-50%);pointer-events:none}.qv-line-tip{position:absolute;z-index:6;pointer-events:none;white-space:nowrap}.qv-bars{display:flex;flex-direction:column;gap:12px;padding:4px 0}.qv-bar-row{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:12px}.qv-bar-label{font-family:var(--font-ui);font-size:12px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qv-bar-track{position:relative;height:8px;border-radius:4px;background:#ffffff0d;overflow:hidden}.qv-bar-fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:5px;animation:qv-grow .65s var(--ease-out-quint) var(--d, 0ms) forwards}.qv-bar-val{font-family:var(--font-mono);font-size:12px;min-width:52px;text-align:right}.qv-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.qv-metric{display:flex;flex-direction:column;gap:6px;min-height:116px;padding:14px 16px;border-radius:var(--radius-small);background:var(--color-bg-surface-1);overflow:hidden;animation:qv-card-in .4s var(--ease-out-quint) var(--d, 0ms) both}.qv-metric-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.qv-metric-label{font-family:var(--font-ui);font-size:13px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qv-metric-delta{display:inline-flex;align-items:center;gap:2px;flex:none;font-family:var(--font-mono);font-size:11px}.qv-metric-delta .icon{width:12px;height:12px}.qv-metric-delta.is-up{color:var(--color-status-ok)}.qv-metric-delta.is-down{color:var(--color-error)}.qv-metric-foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.qv-metric-val{font-family:var(--font-ui);font-size:30px;line-height:1.05;color:var(--color-text-primary)}.qv-metric-spark{flex:1;max-width:210px;align-self:flex-end;--spark-color: var(--color-border-hard);--spark-fill: #8b8b97}.qv-metric-spark.is-up{--spark-color: var(--color-status-ok);--spark-fill: var(--color-status-ok)}.qv-metric-spark.is-down{--spark-color: #e5675f;--spark-fill: #e5675f}.qv-table-wrap{overflow-x:auto}.qv-table{width:100%;border-collapse:collapse;font-family:var(--font-ui)}.qv-table th{text-align:left;padding:6px 12px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);border-bottom:1px solid var(--color-border-medium)}.qv-table th:not(:first-child),.qv-table td:not(:first-child){text-align:right}.qv-table td{padding:8px 12px;font-size:13px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-light)}.qv-table tbody tr{animation:qv-row-in .34s var(--ease-out-quint) var(--d, 0ms) both}.qv-table tbody tr:hover td{background:#ffffff08}.qv-td-lead{color:var(--color-text-primary)!important;font-weight:500}.qv-table td.qv-td-lead{text-align:left}.qv-trend{font-family:var(--font-mono);font-size:12px}.qv-trend.is-up{color:var(--color-status-ok)}.qv-trend.is-down{color:#e5675f}.qv-sql{margin:0;padding:14px 16px;border-radius:8px;background:#00000047;border:1px solid var(--color-border-light);font-family:var(--font-mono);font-size:12px;line-height:20px;color:#b0b0ba;white-space:pre;overflow-x:auto}.sql-kw{color:#7aa2e3}.sql-fn{color:#45b3ad}.sql-str{color:#77c98d}.sql-num{color:#d1a45f}.sql-cm{color:#61616b;font-style:italic}@keyframes qv-draw{to{stroke-dashoffset:0}}@keyframes qv-fade{to{opacity:1}}@keyframes qv-grow{to{width:var(--w)}}@keyframes qv-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes qv-row-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.qv-body,.qv-line-area,.qv-line-stroke,.qv-line-peak,.qv-bar-fill,.qv-metric,.qv-table tbody tr{animation:none}.qv-line-area,.qv-line-peak{opacity:1}.qv-line-stroke{stroke-dashoffset:0}.qv-bar-fill{width:var(--w)}}.qv-table-scroll{max-height:380px;overflow:auto}.qv-table-more{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 2px 0;font-size:var(--text-ui, .8125rem);color:var(--color-text-tertiary)}.qv-table-more button{padding:4px 12px;border:1px solid var(--color-border-medium);border-radius:var(--radius-small, 6px);background:var(--color-bg-surface-1);color:var(--color-text-secondary);font-size:var(--text-ui, .8125rem);cursor:pointer;transition:background .14s ease,color .14s ease}.qv-table-more button:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.qs{--qs-input-h: 48px;position:absolute;left:0;right:0;bottom:0;z-index:12;box-sizing:border-box;overflow:hidden;padding-bottom:var(--qs-input-h);background:var(--color-bg-app);border-radius:6px;transition:height .42s var(--ease-drawer)}.qs.is-resizing{transition:none}.qs:after{content:"";position:absolute;left:16px;right:16px;bottom:var(--qs-input-h);height:1px;background:var(--color-border-light)}.qs-inner{height:100%;display:flex;flex-direction:column;animation:qs-inner-in .5s var(--ease-out-quint) both}@keyframes qs-inner-in{0%{opacity:0}to{opacity:1}}.qs-handle{flex:none;align-self:center;width:44px;height:22px;margin:6px 0 2px;position:relative;cursor:ns-resize;touch-action:none}.qs-handle:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;height:4px;border-radius:100px;background:var(--color-border-medium);transition:background .14s ease}.qs-handle:hover:before{background:var(--color-border-hard)}.qs-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:4px 18px 18px;--fade-top: 0px;--fade-bottom: 0px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 var(--fade-top),#000 calc(100% - var(--fade-bottom)),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 var(--fade-top),#000 calc(100% - var(--fade-bottom)),transparent 100%)}.qs-q-bubble{align-self:flex-end;max-width:82%;padding:8px 14px;border-radius:200px;background:var(--color-bg-floating);color:var(--color-text-primary);font-weight:500}.qs-loading{display:flex;flex-direction:column;gap:12px;padding-top:6px}.qs-shimmer{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,#ffffff0a,#ffffff1a,#ffffff0a);background-size:200% 100%;animation:qs-shimmer 1.1s linear infinite}@keyframes qs-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.qs-answer{display:flex;flex-direction:column;gap:16px;animation:qs-fade .24s var(--ease-out-quint) both}@keyframes qs-fade{0%{opacity:0}to{opacity:1}}.qs-answer .qchart{margin-top:0}.qs-error{padding:12px 0;font-size:13px;color:var(--color-alert)}.ask{position:relative}.ask.has-sheet .ask-prompt{position:relative;z-index:13}.ask.has-sheet .promptbar-bar,.ask.has-sheet .promptbar-bar:hover,.ask.has-sheet .promptbar-bar:focus-within{background:var(--color-bg-app);border-color:transparent}.ask-actions{display:flex;gap:8px;margin-top:12px}.tag{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border-radius:4px;font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:16px;white-space:nowrap}.tag-type{background:#7c7cf029;color:#a5a5f5}.tag-agent{background:#be3e8229;color:#e07ab0}.tag-date{background:var(--color-alert);color:var(--color-bg-app);font-weight:500}.tag-success{background:#00ad672e;color:#5fd8a6}.tag-warn{background:#ecf78824;color:#d7dd85}.tag-danger{background:#db66722e;color:#e2818b}.tag-version{background:#ffffff0f;color:var(--color-text-secondary)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:0;border:0;background:transparent;color:var(--color-text-secondary);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background .14s ease,color .14s ease,transform .12s var(--ease-out-quint)}.icon-btn-square{border-radius:8px}.icon-btn-round{border-radius:50%}.icon-btn:hover:not(:disabled),.icon-btn.is-open{background:var(--color-bg-hover);color:var(--color-text-primary)}.icon-btn:active:not(:disabled){transform:scale(.92)}.icon-btn:disabled{color:var(--color-text-tertiary);cursor:default}.menu-wrap{display:inline-flex;flex:none}.menu-panel{min-width:168px}.menu-right{transform-origin:top right}.menu-left{transform-origin:top left}.context-item:disabled{opacity:.4;cursor:default}.ds-table{--ag-background-color: var(--color-bg-app);--ag-foreground-color: var(--color-text-primary);--ag-header-background-color: var(--color-input-bg);--ag-header-text-color: var(--color-text-primary);--ag-header-font-weight: 400;--ag-border-color: var(--color-border-medium);--ag-odd-row-background-color: var(--color-border-light);--ag-row-hover-color: var(--color-bg-floating);--ag-font-family: var(--font-ui);--ag-font-size: 13px;--ag-cell-horizontal-padding: 24px;--ag-focus-shadow: inset 0 0 0 1px var(--color-border-hard);--ag-accent-color: var(--color-accent)}.ds-table .ag-root-wrapper{border:1px solid var(--color-border-medium);border-radius:8px;background:var(--color-bg-app)}.ds-table .ag-root-wrapper,.ds-table .ag-root,.ds-table .ag-body,.ds-table .ag-body-viewport,.ds-table .ag-grid-viewport,.ds-table .ag-center-cols-viewport,.ds-table .ag-center-cols-container{overflow:visible!important}.ds-table.is-fill{height:100%}.ds-table.is-fill .ag-root-wrapper,.ds-table.is-fill .ag-root,.ds-table.is-fill .ag-body,.ds-table.is-fill .ag-center-cols-viewport{overflow:hidden!important}.ds-table.is-fill .ag-grid-viewport{overflow:auto!important}.ds-table.is-fill .ag-body-horizontal-scroll:not(.ag-invisible),.ds-table.is-fill .ag-body-vertical-scroll:not(.ag-invisible),.ds-table.is-fill .ag-body-horizontal-scroll:not(.ag-invisible)>*,.ds-table.is-fill .ag-body-vertical-scroll:not(.ag-invisible)>*{visibility:visible;opacity:1}.ds-table.is-fill .ag-grid-pinned-top-rows:after{content:"";position:absolute;left:0;right:0;top:100%;height:44px;background:linear-gradient(to bottom,var(--color-bg-surface-1),transparent);opacity:0;transition:opacity .2s ease;pointer-events:none}.ds-table.is-fill.is-scrolled .ag-grid-pinned-top-rows:after{opacity:1}.ds-table .ag-grid-scrolling-rows{background:transparent}.ds-table .ag-grid-pinned-top-rows:empty,.ds-table .ag-grid-pinned-bottom-rows:empty,.ds-table .ag-grid-scrolling-rows{min-height:0}.ds-table .ag-root-wrapper:has(.ag-overlay:not(.ag-hidden)) .ag-grid-scrolling-rows{min-height:72px}.ds-table .ag-header{border-bottom:1px solid var(--color-border-medium);border-radius:7px 7px 0 0}.ds-table .ag-grid-pinned-top-rows{top:var(--ds-header-sticky-top, 0)}.ds-table .ag-grid-pinned-top-rows:before{content:"";position:absolute;left:-5px;top:0;bottom:0;width:5px;background:var(--color-bg-surface-1)}.ds-table .ag-row-last{border-radius:0 0 7px 7px}.ds-table .ag-row{border:none;transition:background-color .14s ease}.ds-table .ag-row:hover{z-index:1}.ds-table .ag-row-first .sparkline-tip{bottom:auto;top:calc(100% + 10px)}.ds-table.is-clickable .ag-row{cursor:pointer}.ds-table .ag-cell-focus:not(.ag-cell-range-selected):focus-within{border:none;outline:none;box-shadow:none}.ds-table .ag-row:has(.ag-cell:focus-visible){background-color:var(--color-bg-floating)}.ds-table .ag-row.ds-accent:before{content:"";position:absolute;left:-3px;top:0;bottom:0;width:2px;border-radius:2px}.ds-table .ag-row.ds-accent.is-error:before{background:var(--color-error)}.ds-table .ag-row.ds-accent.is-alert:before{background:var(--color-alert)}.ds-table .ag-header-cell{overflow:visible}.ds-table .ag-header-cell-resize{width:18px}.ds-table .ag-header-cell.ds-col-last .ag-header-cell-resize{display:none}.ds-table .ag-header-cell-resize:after{content:"";position:absolute;left:auto;right:3px;top:0!important;height:var(--dt-h, 100%)!important;width:1px;background:var(--color-border-medium);opacity:0;transition:opacity .14s ease,background .12s ease}.ds-table .ag-header-cell-resize:hover:after,.ds-table .ag-column-resizing .ag-header-cell-resize:after{opacity:1;background:var(--color-accent)}.ds-table .ag-cell{display:flex;align-items:center}.ds-table .ds-cell-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-table .ag-header-cell-comp-wrapper{width:100%}.ds-table .ds-th{display:flex;align-items:center;gap:4px;min-width:0;width:100%}.ds-table .ds-th-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-table .ds-th-sort{flex:none;color:var(--color-text-secondary);transition:transform .14s ease}.ds-table .ds-th-sort.is-asc{transform:rotate(180deg)}.ds-table .ds-table-empty{font-size:13px;color:var(--color-text-secondary);padding:24px 0}.ds-table.is-fill{position:relative}.ds-table .ds-xshadow{position:absolute;top:0;bottom:0;width:44px;z-index:6;opacity:0;pointer-events:none;transition:opacity .2s ease}.ds-table .ds-xshadow.is-left{left:var(--ds-gutter-left, 0px);background:linear-gradient(to right,var(--color-bg-surface-1),transparent)}.ds-table .ds-xshadow.is-right{right:var(--ds-gutter-right, 0px);background:linear-gradient(to left,var(--color-bg-surface-1),transparent)}.ds-table .ds-xshadow.is-on{opacity:1}.ds-table .ds-yshadow{position:absolute;left:0;right:0;height:44px;z-index:6;opacity:0;pointer-events:none;transition:opacity .2s ease}.ds-table .ds-yshadow.is-bottom{bottom:0;background:linear-gradient(to top,var(--color-bg-surface-1),transparent)}.ds-table .ds-yshadow.is-on{opacity:1}.orderby{position:relative}.orderby-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:0;border-radius:20px;background:var(--color-bg-floating);font:inherit;font-family:var(--font-ui);color:var(--color-text-secondary);cursor:pointer}.orderby-chip:hover,.orderby-chip.is-open{color:var(--color-text-primary)}.orderby-value{display:inline-flex;align-items:center;gap:4px;font-weight:500;color:var(--color-text-primary)}.orderby-dir,.orderby-menu-dir{font-size:11px;font-weight:400;color:var(--color-text-tertiary)}.orderby-menu-dir{margin-left:auto;padding-left:12px}.orderby-caret{transition:transform .2s ease}.orderby-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:176px;z-index:30}.sidepanel-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}.sidepanel-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-backdrop);animation:sp-backdrop-in .28s ease both}.sidepanel-root.is-closing .sidepanel-backdrop{animation:sp-backdrop-out .24s ease forwards}.sidepanel{position:absolute;top:0;right:0;height:100%;max-width:92vw;display:flex;flex-direction:column;background:var(--color-bg-surface-2);border-left:1px solid var(--color-border-medium);box-shadow:-24px 0 60px #0000006b;animation:sp-slide-in .4s var(--ease-drawer) both;will-change:transform}.sidepanel-root.is-closing .sidepanel{animation:sp-slide-out .3s cubic-bezier(.4,0,1,1) forwards}@keyframes sp-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes sp-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes sp-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes sp-slide-out{0%{transform:translate(0)}to{transform:translate(100%)}}.sidepanel-head{position:relative;flex:none;display:flex;align-items:center;gap:8px;min-height:64px;padding:0 16px 0 24px}.sidepanel-head:after{content:"";position:absolute;left:24px;right:24px;bottom:0;height:1px;background:var(--color-border-medium)}.sidepanel-head.has-header{align-items:flex-start;padding:24px 16px 24px 24px}.sidepanel-head-spacer{flex:1}.sidepanel-head-main{flex:1;min-width:0}.sidepanel-head-actions{flex:none;display:flex;align-items:center;gap:4px}.sidepanel-iconbtn{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:transparent;color:var(--color-text-primary);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background .14s ease,color .14s ease}.sidepanel-iconbtn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.sidepanel-kebab-wrap{position:relative;display:inline-flex}.sidepanel-menu{position:absolute;top:calc(100% + 6px);right:0;left:auto;min-width:176px;z-index:30}.sidepanel-scroll{position:relative;flex:1;min-height:0}.sidepanel-body{height:100%;overflow-y:auto;padding:4px 24px 24px}.sidepanel-fade{position:absolute;left:0;right:0;height:48px;pointer-events:none;opacity:0;transition:opacity .2s ease;z-index:1}.sidepanel-fade.is-visible{opacity:1}.sidepanel-fade-bottom{bottom:0;background:linear-gradient(to top,var(--color-bg-surface-2),transparent)}.sidepanel-fade-top{top:0;background:linear-gradient(to bottom,var(--color-bg-surface-2),transparent)}.sidepanel-foot{flex:none;padding:12px 24px 20px}.agd-body{padding:0 0 8px}.agd-head{display:flex;gap:8px;min-width:0}.agd-headtext{display:flex;flex-direction:column;gap:4px;min-width:0}.agd-titlerow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.agd-title{font-size:16px;font-weight:500;color:var(--color-text-primary)}.agd-sub{font-size:13px;line-height:18px;color:var(--color-text-secondary);max-width:360px}.agd-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:24px 24px 0}.agd-stat{display:flex;flex-direction:column;padding:16px;border-radius:var(--radius-small);background:var(--color-card-bg)}.agd-stat-top{display:flex;align-items:center;justify-content:space-between}.agd-stat-label{font-size:12px;color:var(--color-text-secondary)}.agd-stat-val{margin-top:2px;font-size:24px;line-height:32px;color:var(--color-text-primary)}.agd-stat-foot{margin-top:8px;display:flex;align-items:center;gap:8px}.agd-stat-caption{font-size:12px;color:var(--color-text-tertiary)}.agd-sla{margin-top:12px}.agd-sla-scale{margin-top:4px;display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10px;line-height:14px;color:var(--color-text-tertiary)}.agd-chart{padding:16px 24px 0}.agd-chart-card{background:var(--color-card-bg);border-radius:10px;padding:12px}.agd-chart-card .sparkline{margin-top:8px;--spark-color: var(--color-border-hard);--spark-fill: #8b8b97}.agd-chart-top{display:flex;align-items:center;justify-content:space-between}.agd-metric{display:flex;align-items:baseline;gap:8px;margin:8px 0 0}.agd-metric-val{font-size:30px;line-height:1;color:var(--color-text-primary)}.agd-metric-unit{font-size:13px;color:var(--color-text-tertiary)}.agd-badge{padding:1px 6px;border-radius:4px;background:#00ad672e;color:var(--color-status-ok);font-size:12px;font-weight:500}.agd-metric-caret{color:var(--color-text-secondary);align-self:center}.agd-body .section-header{padding:8px 24px;margin-top:24px}.agd-section-title{font-size:13px;font-weight:500;color:var(--color-text-primary)}.agd-rows{margin:2px 24px 0;border:1px solid var(--color-border-medium);border-radius:8px;overflow:hidden}.agd-row{display:flex;align-items:center;justify-content:space-between;gap:12px;height:40px;padding:0 16px}.agd-row:nth-child(2n){background:#32323c}.agd-row-name{font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:13px;color:var(--color-text-primary)}.agd-row-tags{display:inline-flex;gap:6px}.agd-receipts{padding:2px 24px 0;display:flex;flex-direction:column;gap:8px}.agd-receipt{padding:12px 14px;border-radius:8px;background:var(--color-card-bg)}.agd-receipt-head{display:flex;align-items:center;gap:8px}.agd-receipt-id{font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:13px;color:var(--color-text-primary)}.agd-flex{flex:1}.agd-receipt-ts{flex:none;font-family:var(--font-mono);font-size:11px;color:var(--color-text-tertiary)}.agd-receipt-meta{margin-top:6px;font-size:12px;color:var(--color-text-tertiary)}.agd-amount{color:var(--color-status-ok)}.agd-body-section-note{margin:24px 24px 0;padding:12px 14px;display:flex;align-items:flex-start;gap:8px;border-radius:8px;background:var(--color-card-bg);color:var(--color-text-secondary);font-size:12px;line-height:1.5}.agd-body-section-note .icon{flex:none;margin-top:2px;color:var(--color-text-tertiary)}.agd-section-header-row{padding:8px 24px;margin-top:24px}.agd-prompt .promptbar-bar{padding-left:16px}.playbooks{height:100%;display:flex;flex-direction:column;padding:16px}.pb-toolbar{display:flex;align-items:center;gap:8px;margin:16px 64px 0;animation:home-drop .4s var(--ease-out-quint) .05s backwards}.pb-search{display:flex;align-items:center;gap:8px;width:232px;padding:8px 12px;border-radius:20px;background:var(--color-bg-floating);color:var(--color-text-secondary)}.pb-search input{flex:1;min-width:0;border:0;background:none;color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);outline:none}.pb-search input::placeholder{color:var(--color-text-secondary)}.pb-filter-wrap{position:relative;display:inline-flex}.pb-filter{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;border:0;border-radius:20px;background:var(--color-bg-floating);font:inherit;font-family:var(--font-ui);cursor:pointer;transition:background .15s ease}.pb-filter:hover,.pb-filter.is-open{background:var(--color-bg-hover)}.pb-filter-label{color:var(--color-text-secondary)}.pb-filter-value{font-weight:500;color:var(--color-text-primary)}.pb-filter-caret{color:var(--color-text-secondary)}.pb-filter-x{display:inline-flex;align-items:center;margin-left:2px;color:var(--color-text-secondary);transition:color .15s ease}.pb-filter-x:hover{color:var(--color-text-primary)}.pb-filter-menu{display:flex;flex-direction:column;gap:2px;width:200px;padding:8px}.pb-filter-item{display:flex;align-items:center;gap:8px;height:32px;padding:0 8px;border-radius:var(--radius-small);color:var(--color-text-secondary);cursor:pointer;transition:background .14s ease}.pb-filter-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.pb-filter-count{margin-left:auto;font-size:12px;color:var(--color-text-tertiary)}.pb-empty{padding:24px 8px;text-align:center;color:var(--color-text-secondary)}.pb-view{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.pb-scroll{position:relative;flex:1;min-height:0;margin:16px 64px 0}.pb-body{height:100%;overflow-y:auto}.pb-fade{position:absolute;left:0;right:0;height:44px;pointer-events:none;opacity:0;transition:opacity .2s ease;z-index:2}.pb-fade.is-visible{opacity:1}.pb-fade-top{top:0;height:76px;background:linear-gradient(to bottom,var(--color-bg-surface-1) 34px,transparent)}.pb-scroll.is-table .pb-fade-top{top:78px;height:44px;background:linear-gradient(to bottom,var(--color-bg-surface-1),transparent)}.pb-scroll.is-table .section-sticky>.section-header{padding-bottom:16px;margin-bottom:-12px}.pb-fade-bottom{bottom:0;background:linear-gradient(to top,var(--color-bg-surface-1),transparent)}.pb-sections{display:flex;flex-direction:column;gap:8px}.pb-count{color:var(--color-text-tertiary);font-weight:400}.pb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:12px 2px 20px}@media(min-width:1600px){.pb-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1279px){.pb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pb-toolbar,.pb-scroll{margin:16px 24px 0}.pb-prompt-wrap{margin:0 24px}}@media(max-width:799px){.pb-grid{grid-template-columns:minmax(0,1fr)}.pb-toolbar,.pb-scroll{margin:16px 0 0}.pb-prompt-wrap{margin:0}}.pb-card{display:flex;flex-direction:column;gap:6px;min-height:150px;padding:16px;border-radius:var(--radius-small);background:var(--color-card-bg);overflow:hidden;animation:home-rise .4s var(--ease-out-quint) both}.pb-card.is-clickable{cursor:pointer;border:1px solid transparent;transition:background .16s var(--ease-out-cubic),border-color .16s var(--ease-out-cubic)}.pb-card.is-new{animation:home-rise .4s var(--ease-out-quint) backwards,pb-card-blink 1.6s var(--ease-out-cubic) .15s}@keyframes pb-card-blink{0%{box-shadow:0 0 0 1px #ecf78800,0 0 #ecf78800}28%{box-shadow:0 0 0 1px #ecf78847,0 0 20px #ecf7881f}to{box-shadow:0 0 0 1px #ecf78800,0 0 #ecf78800}}@media(prefers-reduced-motion:reduce){.pb-card.is-new{animation:none}}.pb-card.is-clickable:hover{background:var(--color-bg-surface-2);border-color:#ffffff24}.pb-card.is-clickable:focus-visible{outline:1px solid var(--color-border-hard);outline-offset:-1px}.pb-card.is-pending{min-height:120px}.pb-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pb-card-title{display:flex;align-items:center;gap:8px;min-width:0}.pb-card-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--color-text-primary)}.pb-card-status{font-size:13px}.pb-card-status.is-ok{color:var(--color-success)}.pb-card-status.is-alert{color:var(--color-alert)}.pb-card-status.is-error{color:var(--color-error)}.pb-card-status.is-paused,.pb-card-status-muted,.pb-card-cadence{color:var(--color-text-secondary)}.pb-card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto}.pb-metric{display:flex;flex-direction:column;gap:2px}.pb-metric-val{font-size:24px;line-height:32px;color:var(--color-text-primary)}.pb-metric-dash{color:var(--color-text-tertiary)}.pb-metric-unit{font-size:12px;color:var(--color-text-tertiary)}.pb-card-spark{flex:1;max-width:220px;align-self:flex-end;--spark-color: var(--color-border-hard);--spark-fill: #8b8b97}.pb-table{margin:12px 2px 20px;--ds-header-sticky-top: 40px}.pb-tc-name{font-weight:500;color:var(--color-text-primary)}.pb-tc-muted{color:var(--color-text-tertiary)}.pb-tc-status{display:flex;align-items:center;gap:6px}.pb-tc-status.is-ok{color:var(--color-success)}.pb-tc-status.is-alert{color:var(--color-alert)}.pb-tc-status.is-error{color:var(--color-error)}.pb-tc-status.is-paused{color:var(--color-text-secondary)}.ds-table .ag-cell.pb-tc-latency{overflow:visible;--spark-color: var(--color-border-hard);--spark-fill: #8b8b97}.pb-tc-latency-wrap{display:flex;align-items:center;gap:12px;width:100%;min-width:0}.pb-tc-latency-num{flex-shrink:0;display:flex;align-items:baseline;gap:6px}.pb-tc-latency-val{min-width:40px;text-align:right;color:var(--color-text-primary)}.pb-tc-latency-val.is-dash{color:var(--color-text-tertiary)}.pb-tc-latency-unit{min-width:26px;font-size:12px;color:var(--color-text-tertiary)}.pb-tc-latency-spark{flex:1;min-width:0}.pb-tc-success.is-ok{color:var(--color-success)}.pb-tc-success.is-alert{color:var(--color-alert)}.pb-tc-success.is-error{color:var(--color-error)}.pb-prompt-wrap{position:relative;flex-shrink:0;margin:0 64px;padding-top:32px}.pb-prompt-wrap:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:48px;background:linear-gradient(to top,var(--color-bg-surface-1),transparent);pointer-events:none}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:200px;font-size:13px;line-height:16px;white-space:nowrap}.badge-concept{background:#88adf714;color:#88adf7}.badge-rule{background:#ecf78829;color:var(--color-alert)}.badge-success{background:#00ad6724;color:var(--color-success-deep)}.badge-info{background:#99b9f824;color:var(--color-info)}.badge-neutral{background:#ffffff0f;color:var(--color-text-secondary)}.pbe{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--color-bg-app);color:var(--color-text-primary);font-family:var(--font-ui)}:where(.pbe) button{background:transparent;border:none;font-family:inherit;color:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pbe-header{flex:none;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--color-bg-surface-1)}.pbe-head-left,.pbe-head-right{display:flex;align-items:center;gap:8px}.pbe-iconbtn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:var(--color-text-secondary);background:transparent;transition:background .14s ease,color .14s ease}.pbe-iconbtn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.pbe-crumb{display:flex;align-items:center;gap:6px;font-size:13px}.pbe-crumb-link{color:var(--color-text-secondary);cursor:pointer;transition:color .14s ease}.pbe-crumb-link:hover{color:var(--color-text-primary)}.pbe-crumb-sep{color:var(--color-text-tertiary)}.pbe-crumb-current{color:var(--color-text-primary);font-weight:500}.pbe-draft{margin-left:4px;padding:3px 10px;border-radius:200px;font-size:12px;font-weight:500;color:#7db9e8;background:#489ada29}.pbe-approval-tag{margin-left:4px}.pbe-approval{flex:none;display:flex;align-items:center;gap:12px;margin:12px 16px 0;padding:8px 8px 8px 16px;border-radius:6px;background:#c1921d;color:var(--color-bg-app);animation:pbe-approval-in .4s var(--ease-out-quint) both}@keyframes pbe-approval-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.pbe-approval-icon{flex:none}.pbe-approval-text{flex:1;min-width:0;font-size:13px;line-height:16px}.pbe-approval-text b{font-weight:500}.pbe-approval-actions{position:relative;flex:none}.pbe-approve-btn{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border:0;border-radius:200px;background:var(--color-card-bg);color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);font-size:13px;line-height:16px;font-weight:500;cursor:pointer;transition:background .14s ease}.pbe-approve-btn:hover,.pbe-approve-btn.is-open{background:#30303f}.pbe-approve-div{width:1px;height:13px;background:#ffffff29}.pbe-approve-btn .icon{color:var(--color-text-secondary);transition:transform .2s var(--ease-out-quint)}.pbe-approve-menu{min-width:200px;transform-origin:top right}.pbe-avatars{display:flex;align-items:center;margin-right:4px}.pbe-avatar{width:28px;height:28px;margin-left:-8px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;border:2px solid var(--color-bg-app)}.pbe-avatar:first-child{margin-left:0}.pbe-avatar.a1{background:#3c3036;color:#ca7c6a}.pbe-avatar.a2{background:#54422d;color:#c1892e}.pbe-avatar.a3{background:#403d5b;color:#8279c0}.pbe-share{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 16px;border-radius:200px;font-size:13px;font-weight:500;color:var(--color-text-primary);background:transparent;border:1px solid rgba(255,255,255,.24);transition:background .14s ease}.pbe-share:hover{background:var(--color-bg-hover)}.pbe-share .icon{color:var(--color-text-primary)}.pbe-bell{position:relative;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.24)}.pbe-bell-dot{position:absolute;top:5px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--color-success);border:1.5px solid var(--color-bg-app)}.pbe-save{height:32px;padding:0 16px;border-radius:200px;font-size:13px;font-weight:500;color:#fff;background:var(--color-accent);opacity:.45;cursor:not-allowed;transition:opacity .18s ease,filter .14s ease}.pbe-save.is-active{opacity:1;cursor:pointer}.pbe-save.is-active:hover{filter:brightness(1.08)}.pbe-body{flex:1;min-height:0;display:flex}.pbe-canvas{position:relative;flex:1;min-width:0;overflow:hidden;background-color:#181823}.pbe-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:0 48px;pointer-events:none}.pbe-overlay>*{pointer-events:auto}.pbe-hero{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:760px;animation:pbe-hero-in .4s var(--ease-out-quint) backwards}@keyframes pbe-hero-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pbe-hero-title{font-family:var(--font-display);font-size:24px;font-weight:400;letter-spacing:.2px;color:var(--color-text-primary)}.pbe-hero-sub{margin-top:8px;font-size:13px;color:var(--color-text-secondary)}.pbe-hero .pbe-prompt{margin-top:24px;width:100%}.pbe-hero-or{display:flex;align-items:center;gap:12px;width:100%;max-width:545px;margin-top:24px;color:var(--color-text-tertiary)}.pbe-hero-or-line{flex:1;height:1px;background:var(--color-border-medium)}.pbe-hero-or-text{font-size:12px;color:var(--color-text-secondary)}.pbe-hero-template{height:32px;padding:0 16px;border-radius:200px;font-size:13px;font-weight:500;color:var(--color-text-primary);background:transparent;border:1px solid rgba(255,255,255,.24);transition:background .14s ease,border-color .14s ease}.pbe-hero-template:hover{background:var(--color-bg-hover)}.pbe-hero-template.is-open{background:var(--color-bg-hover);border-color:#ffffff57}.pbe-hero-learn{margin-top:20px;font-size:13px;color:var(--color-text-tertiary);transition:color .14s ease}.pbe-hero-learn:hover{color:var(--color-text-secondary)}.pbe-prompt{border:1px solid var(--color-border-medium);border-radius:12px;background:var(--color-input-bg);cursor:text;transition:background .18s ease,border-color .18s ease}.pbe-prompt:hover{background:#2d2d3a}.pbe-prompt:focus-within{background:#2d2d3a;border-color:#ffffff24}.pbe-prompt-field{display:flex;align-items:center;gap:8px;padding:14px 16px 0}.pbe-prompt-rocket{color:var(--color-text-tertiary);flex:none}.pbe-prompt-input{flex:1;min-width:0;background:transparent;border:none;outline:none;font-family:var(--font-ui);font-size:13px;color:var(--color-text-primary)}.pbe-prompt-input::placeholder{color:var(--color-text-secondary)}.pbe-prompt-foot{display:flex;align-items:center;gap:8px;padding:10px 12px 12px}.pbe-prompt-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--color-border-medium);color:var(--color-text-secondary);transition:background .14s ease}.pbe-prompt-icon:hover{background:var(--color-bg-hover)}.pbe-prompt-mode{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:6px;border:1px solid var(--color-border-medium);font-size:12px;color:var(--color-text-secondary);transition:background .14s ease}.pbe-prompt-mode:hover{background:var(--color-bg-hover)}.pbe-prompt-mode .icon{color:var(--color-text-tertiary)}.pbe-prompt-spacer{flex:1}.pbe-prompt-send{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:var(--color-text-secondary);background:var(--color-bg-hover);transition:background .14s ease,color .14s ease,opacity .14s ease}.pbe-prompt-send:disabled{opacity:.4;cursor:not-allowed}.pbe-prompt-send:not(:disabled){color:#fff;background:var(--color-accent)}.pbe-prompt-send:not(:disabled):hover{filter:brightness(1.1)}.pbe-generating{display:flex;flex-direction:column;align-items:center;gap:16px;animation:pbe-hero-in .3s var(--ease-out-quint) backwards}.pbe-gen-orb{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:linear-gradient(150deg,#7b5cf0,#5b4de0);animation:pbe-orb-pulse 1.1s ease-in-out infinite}@keyframes pbe-orb-pulse{0%,to{transform:scale(1);box-shadow:0 0 #7b5cf059}50%{transform:scale(1.06);box-shadow:0 0 0 12px #7b5cf000}}.pbe-gen-label{font-size:13px;color:var(--color-text-secondary)}.react-flow__panel.pbe-zoom{margin:16px;display:flex;flex-direction:column;gap:12px}.pbe-zoom-group{display:flex;flex-direction:column;border-radius:8px;border:1px solid var(--color-border-light);background:var(--color-bg-surface-1);overflow:hidden}.pbe-zoom-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:background .14s ease,color .14s ease}.pbe-zoom-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.pbe-zoom-group .pbe-zoom-btn+.pbe-zoom-btn{border-top:1px solid var(--color-border-light)}.react-flow__panel.pbe-toolbar{margin:16px;display:flex;gap:4px;padding:6px;border-radius:10px;border:1px solid var(--color-border-light);background:var(--color-bg-floating)}.pbe-tool{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:6px;font-size:12px;font-weight:500;color:var(--color-text-secondary);transition:background .14s ease,color .14s ease}.pbe-tool:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.pbe-tool .icon{color:var(--color-text-tertiary)}.pbe-tool.is-open{color:#fff;background:var(--color-accent)}.pbe-tool.is-open .icon{color:#fff}.pbe-tool.is-open:hover{filter:brightness(1.08);background:var(--color-accent)}.pbe-chat{flex:none;width:400px;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--color-bg-hover);animation:pbe-chat-in .4s var(--ease-out-quint) backwards;transition:margin-left .34s var(--ease-in-out-cubic)}.pbe-chat.is-collapsed{margin-left:-400px;pointer-events:none}@keyframes pbe-chat-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.pbe-chat-head{position:relative;flex:none;display:flex;align-items:center;justify-content:space-between;padding:18px 16px 12px}.pbe-chat-head:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:1px;background:var(--color-border-medium)}.pbe-chat-title{font-size:14px;font-weight:500}.pbe-chat-head-actions{display:flex;gap:2px}.pbe-chat-head-actions .pbe-iconbtn{width:28px;height:28px}.pbe-chat-body{flex:1;min-height:0;overflow-y:auto;padding:20px 16px 16px;display:flex;flex-direction:column;gap:16px}.pbe-chat-msg{display:flex;align-items:center;justify-content:flex-end;gap:8px}.pbe-chat-bubble{max-width:calc(100% - 44px);padding:8px 16px;border-radius:200px;background:#1d1d26;font-size:13px;line-height:16px;color:var(--color-text-primary)}.pbe-chat-avatar{flex:none;width:28px;height:28px;border-radius:50%;object-fit:cover}.pbe-chat-section .section-header{flex-direction:row-reverse;justify-content:flex-end;gap:6px;padding:0;margin-bottom:10px;font-size:12px;font-weight:400;color:var(--color-text-tertiary)}.pbe-chat-section .section-header:hover{color:var(--color-text-secondary)}.pbe-chat-section .section-header .icon{color:var(--color-text-tertiary)}.pbe-chat-card{background:#1d1d26;border-radius:12px;padding:16px}.pbe-chat-reasons{display:flex;flex-direction:column;gap:12px;list-style:none}.pbe-chat-reasons li{position:relative;padding-left:16px;font-size:13px;line-height:1.5;color:var(--color-text-secondary)}.pbe-chat-reasons li:before{content:"";position:absolute;left:3px;top:8px;width:3px;height:3px;border-radius:50%;background:var(--color-text-tertiary)}.pbe-chat-reco{font-size:13px;line-height:1.5;color:var(--color-text-secondary)}.pbe-chat-reco-btn{margin-top:14px;height:30px;padding:0 14px;border-radius:200px;font-size:13px;font-weight:500;color:var(--color-text-primary);background:transparent;border:1px solid rgba(255,255,255,.16);transition:background .14s ease}.pbe-chat-reco-btn:hover{background:var(--color-bg-hover)}.pbe-chat-lead{font-size:13px;line-height:1.5;color:var(--color-text-primary)}.pbe-chat-flow{margin-top:10px;display:flex;flex-direction:column;gap:8px;list-style:none}.pbe-chat-flow li{position:relative;padding-left:16px;font-size:13px;line-height:1.5;color:var(--color-text-secondary)}.pbe-chat-flow li:before{content:"";position:absolute;left:4px;top:8px;width:3px;height:3px;border-radius:50%;background:var(--color-text-tertiary)}.pbe-chat-flow-name{color:var(--color-text-primary);font-weight:500}.pbe-chat-feedback{display:flex;gap:4px}.pbe-chat-feedback .pbe-iconbtn{width:28px;height:28px}.pbe-chat-foot{position:relative;flex:none;padding:12px 16px 16px}.pbe-chat-foot:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:28px;background:linear-gradient(to top,var(--color-bg-hover),transparent);pointer-events:none}.pbe-prompt.pbe-prompt-bare{min-height:120px;display:flex;flex-direction:column;border-color:transparent;background:var(--color-bg-app)}.pbe-prompt-bare .pbe-prompt-field{flex:1;align-items:flex-start;padding-top:16px}.pbe-prompt.pbe-prompt-bare:hover{background:#1f1f28}.pbe-prompt.pbe-prompt-bare:focus-within{background:#1f1f28;border-color:#ffffff24}.pbe-node-wrap{display:flex;flex-direction:column;align-items:flex-start;animation:pbe-node-in .34s var(--ease-out-quint) backwards}.pbe-addwrap{position:relative;animation:pbe-node-in .34s var(--ease-out-quint) backwards}@keyframes pbe-node-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.pbe-play{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 12px 0 10px;border-radius:200px;font-size:13px;font-weight:500;color:var(--color-text-primary);background:var(--color-bg-surface-1);border:1px solid var(--color-border-medium);margin-bottom:8px;transition:background .14s ease}.pbe-play:hover{background:var(--color-bg-hover)}.pbe-play .icon{color:var(--color-success)}.pbe-node{width:388px;border:1px solid var(--color-border-medium);border-radius:12px;background:var(--color-bg-surface-1);padding:4px}.pbe-node-row{display:flex;align-items:center;gap:8px;height:44px;padding:0 8px 0 10px;border-radius:8px;background:var(--color-bg-hover)}.pbe-node-label{font-size:13px;font-weight:500;white-space:nowrap}.pbe-chip-wrap{position:relative;display:inline-flex}.pbe-node-chip{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 6px 0 10px;border-radius:200px;font-size:12px;white-space:nowrap;color:var(--color-text-primary);background:var(--color-bg-app);border:1px solid var(--color-border-medium);transition:background .14s ease,border-color .14s ease}.pbe-node-chip:hover{border-color:var(--color-border-hard)}.pbe-node-chip.is-open{border-color:var(--color-border-hard);background:var(--color-bg-hover)}.pbe-node-chip .icon{color:var(--color-text-tertiary)}.pbe-chip-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:20}.pbe-chip-menu-inner{min-width:168px;padding:8px;border-radius:10px;border:1px solid var(--color-border-medium);background:var(--color-bg-floating);box-shadow:0 16px 40px #00000080;transform-origin:top left;animation:pbe-pop-in .15s var(--ease-out-quint)}.pbe-chip-menu.is-closing .pbe-chip-menu-inner{animation:pbe-pop-out .12s var(--ease-out-cubic) forwards}.pbe-chip-opt{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;height:32px;padding:0 10px;border-radius:6px;font-size:13px;color:var(--color-text-secondary);transition:background .12s ease,color .12s ease}.pbe-chip-opt:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.pbe-chip-opt.is-sel{color:var(--color-text-primary)}.pbe-chip-opt .icon{color:var(--color-success)}.pbe-node-kebab{margin-left:auto;width:28px;height:28px}.pbe-node-filters{display:flex;align-items:center;gap:8px;padding:10px 10px 6px;font-size:13px;color:var(--color-text-tertiary)}.pbe-node-filters .icon{color:var(--color-text-tertiary)}.pbe-addrow{position:relative;width:40px;height:40px}.pbe-typemenu{z-index:30}.pbe-typemenu.pbe-menu-right{position:absolute;top:0;left:56px}.pbe-typemenu.pbe-menu-right-up{position:absolute;bottom:0;left:56px}.pbe-typemenu.pbe-menu-up{position:absolute;bottom:calc(100% + 8px);left:0}.pbe-typemenu.pbe-menu-down{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)}.pbe-typemenu.pbe-menu-above{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.pbe-typemenu-inner{display:flex;align-items:flex-start;gap:8px;animation:pbe-pop-in .17s var(--ease-out-quint)}.pbe-menu-right .pbe-typemenu-inner{transform-origin:left top}.pbe-menu-right-up .pbe-typemenu-inner{transform-origin:left bottom}.pbe-menu-up .pbe-typemenu-inner{transform-origin:bottom left}.pbe-menu-down .pbe-typemenu-inner{transform-origin:top center}.pbe-menu-above .pbe-typemenu-inner{transform-origin:bottom center}.pbe-typemenu.is-closing .pbe-typemenu-inner{animation:pbe-pop-out .12s var(--ease-out-cubic) forwards}@keyframes pbe-pop-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pbe-pop-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}.pbe-add-wrap{position:relative}.pbe-template-wrap{position:relative;display:inline-flex;margin-top:20px}.pbe-add{flex:none;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:#fff;background:var(--color-bg-surface-1);border:1px solid var(--color-border-medium);transition:border-color .16s ease,background .14s ease}.pbe-add:hover{background:var(--color-bg-hover)}.pbe-add.is-open{border-color:var(--color-border-interactive);background:var(--color-card-bg)}.pbe-nodemenu,.pbe-nodesub{padding:8px;border-radius:10px;border:1px solid var(--color-border-medium);background:var(--color-bg-floating);box-shadow:0 16px 40px #00000080}.pbe-nodemenu{width:220px}.pbe-nodesub{width:180px;transform-origin:left top;animation:pbe-sub-in .15s var(--ease-out-quint)}@keyframes pbe-sub-in{0%{opacity:0;transform:translate(-6px) scale(.98)}to{opacity:1;transform:translate(0) scale(1)}}.pbe-nodeitem{width:100%;display:flex;align-items:center;gap:12px;height:40px;padding:0 8px;border-radius:8px;font-size:13px;color:var(--color-text-primary);transition:background .12s ease}.pbe-nodeitem.is-active{background:var(--color-bg-hover)}.pbe-nodeitem.is-divided{margin-top:5px;position:relative}.pbe-nodeitem.is-divided:before{content:"";position:absolute;top:-5px;left:8px;right:8px;height:1px;background:var(--color-border-light)}.pbe-nodeitem-label{flex:1;text-align:left}.pbe-nodeitem-chev{color:var(--color-text-tertiary)}.pbe-nodeicon{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px}.pbe-nodeicon.tone-trigger{color:#e0708e;background:#db667229}.pbe-nodeicon.tone-transform{color:#6ba8f0;background:#4787f329}.pbe-nodeicon.tone-route{color:#a5a5f5;background:#7c7cf029}.pbe-nodeicon.tone-act{color:#6fd8a8;background:#00ad672e}.pbe-nodeicon.tone-agent{color:#b79cf5;background:#7b5cf02e}.pbe-nodesubitem{width:100%;display:block;text-align:left;height:32px;padding:0 10px;line-height:32px;border-radius:6px;font-size:13px;color:var(--color-text-secondary);transition:background .12s ease,color .12s ease}.pbe-nodesubitem:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.react-flow__panel.pbe-orb-panel{margin:24px}.pbe-orb{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:linear-gradient(150deg,#7b5cf0,#5b4de0);box-shadow:0 8px 24px #5b4de066;transition:transform .18s var(--ease-out-quint),box-shadow .2s ease}.pbe-orb:hover{transform:scale(1.06)}.pbe-orb:active{transform:scale(.9)}.pbe-orb .icon{transition:transform .4s var(--ease-out-quint)}.pbe-orb.is-active{box-shadow:0 0 0 4px #7b5cf038,0 8px 24px #5b4de073}.pbe-orb.is-active .icon{transform:rotate(90deg)}.pbe .react-flow.is-commenting .react-flow__pane{cursor:crosshair}.pbe-zoom-btn.is-active{color:var(--color-accent);background:var(--color-bg-hover)}.pbe-comment{display:flex;align-items:flex-start;gap:10px;animation:pbe-comment-in .16s var(--ease-out-quint);transform-origin:top left}@keyframes pbe-comment-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.pbe-comment-pin{flex:none;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:2px 10px 9px 9px;border:3px solid rgba(190,62,130,.22);background:var(--color-accent);background-clip:padding-box;font-size:13px;font-weight:600;line-height:1;color:#fff;box-shadow:0 4px 14px #be3e8252;cursor:grab;transition:filter .14s ease}.pbe-comment-pin:hover{filter:brightness(1.08)}.pbe-comment-pin:active{cursor:grabbing}.pbe-comment-box{position:relative;width:300px;border-radius:12px;border:1px solid var(--color-border-medium);background:var(--color-bg-app);box-shadow:0 16px 40px #00000080}.pbe-comment-ta{display:block;width:100%;min-height:56px;padding:14px 44px 6px 16px;border:none;background:transparent;resize:none;outline:none;font-family:var(--font-ui);font-size:13px;line-height:1.5;color:var(--color-text-primary)}.pbe-comment-ta::placeholder{color:var(--color-text-tertiary)}.pbe-comment-read{padding:14px 44px 6px 16px;font-size:13px;line-height:1.5;color:var(--color-text-primary)}.pbe-mention-chip{color:#b79cf5;background:#7b5cf029;border-radius:4px;padding:1px 3px}.pbe-comment-bar{display:flex;align-items:center;gap:6px;padding:6px 10px 10px}.pbe-comment-tool{height:26px;min-width:26px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border-radius:6px;font-size:13px;color:var(--color-text-secondary);transition:background .14s ease,color .14s ease}.pbe-comment-tool:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.pbe-comment-spacer{flex:1}.pbe-comment-send{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:var(--color-accent);transition:filter .14s ease}.pbe-comment-send:hover{filter:brightness(1.1)}.pbe-mention-menu{position:absolute;z-index:20;width:224px;padding:8px;border-radius:10px;border:1px solid var(--color-border-light);background:var(--color-bg-floating);box-shadow:0 16px 40px #00000080;animation:pbe-pop-in .14s var(--ease-out-quint);transform-origin:top left}.pbe-mention-item{width:100%;display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px;font-size:13px;color:var(--color-text-secondary);transition:background .12s ease}.pbe-mention-item:hover{background:var(--color-bg-hover)}.pbe-mention-name{white-space:nowrap}.pbe-mention-hit{color:var(--color-text-primary)}.pbe-comment-kebabwrap{position:absolute;top:12px;right:12px;z-index:5}.pbe-comment-tool.is-open{background:var(--color-bg-hover);color:var(--color-text-primary)}.pbe-kebab-menu{top:calc(100% + 6px);bottom:auto;left:auto;right:0;min-width:168px;padding:6px;transform-origin:top right;animation:pbe-pop-in .14s var(--ease-out-quint)}.pbe-kebab-menu.is-closing{animation:pbe-pop-out .12s var(--ease-out-cubic) forwards}.pbe-kebab-menu .context-item{gap:8px}.pbe-mention-avatar{flex:none;width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.08);object-fit:cover}.pbe .react-flow{background:#181823}.pbe .react-flow__node{font-family:var(--font-ui)}.pbe .react-flow__node-trigger,.pbe .react-flow__node-add{cursor:grab}.pbe .react-flow__node-trigger:active,.pbe .react-flow__node-add:active{cursor:grabbing}.pbe .react-flow__node .nodrag{cursor:pointer}.pbe .react-flow__edge-path{stroke:var(--color-border-hard)}.pbe-edge-path{stroke:var(--color-border-hard);stroke-width:1.5;fill:none;animation:pbe-fade-in .35s var(--ease-out-quint) backwards}.pbe-edge-label{position:absolute;padding:3px 12px;border-radius:20px;font-size:13px;font-weight:500;line-height:14px;white-space:nowrap;pointer-events:none;animation:pbe-fade-in .3s var(--ease-out-quint) backwards}@keyframes pbe-fade-in{0%{opacity:0}to{opacity:1}}.pbe-edge-label.tone-true{background:#334726;color:#b6cf9f}.pbe-edge-label.tone-false{background:#472629;color:#cf9fa4}.pbe .react-flow__panel{z-index:6}.pbe .react-flow__attribution{display:none}.pbe .react-flow__handle{width:9px;height:9px;min-width:9px;min-height:9px;border:2.5px solid #181823;border-radius:50%;background:var(--color-border-hard);pointer-events:none}.pbe .react-flow__handle.pbe-handle-plain{background:var(--color-border-hard)}.pbe .react-flow__node:focus,.pbe .react-flow__node:focus-visible{outline:none}@media(prefers-reduced-motion:reduce){.pbe-hero,.pbe-chat,.pbe-generating,.pbe-typemenu-inner,.pbe-typemenu.is-closing .pbe-typemenu-inner,.pbe-nodesub,.pbe-node-wrap,.pbe-addwrap,.pbe-edge-path,.pbe-edge-label,.pbe-gen-orb{animation:none}.pbe-chat,.pbe-orb,.pbe-orb .icon{transition:none}}.agents{height:100%;display:flex;flex-direction:column;padding:16px;--co-type-human: var(--color-info);--co-type-agent: var(--color-accent);--co-type-m2m: var(--color-version);--co-type-unclassified: var(--color-text-tertiary)}.ag-tabs{display:flex;gap:4px;margin:12px 64px 0;animation:home-drop .4s var(--ease-out-quint) .02s backwards}.ag-tab{padding:7px 14px;border:none;border-radius:8px;background:transparent;color:var(--color-text-secondary);font:inherit;font-family:var(--font-ui);cursor:pointer;transition:background .14s ease,color .14s ease}.ag-tab:hover:not(.is-active){color:var(--color-text-primary)}.ag-tab.is-active{background:var(--color-bg-floating);color:var(--color-text-primary);font-weight:500}.ag-toolbar{display:flex;align-items:center;gap:8px;margin:16px 64px 0;animation:home-drop .4s var(--ease-out-quint) .05s backwards}.ag-search{display:flex;align-items:center;gap:8px;width:232px;padding:8px 12px;border-radius:20px;background:var(--color-bg-floating);color:var(--color-text-secondary)}.ag-search input{flex:1;min-width:0;border:0;background:none;color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);outline:none}.ag-search input::placeholder{color:var(--color-text-secondary)}.ag-filter{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;border:0;border-radius:20px;background:var(--color-bg-floating);font:inherit;font-family:var(--font-ui);cursor:pointer;transition:background .15s ease}.ag-filter:hover{background:var(--color-bg-hover)}.ag-filter-label{color:var(--color-text-secondary)}.ag-filter-value{font-weight:500;color:var(--color-text-primary)}.ag-filter-caret{color:var(--color-text-secondary);display:inline-flex}.ag-filter-x{display:inline-flex;align-items:center;margin-left:2px;color:var(--color-text-secondary);transition:color .15s ease}.ag-filter-x:hover{color:var(--color-text-primary)}.ag-filter-wrap{position:relative;display:inline-flex}.ag-filter.is-open{background:var(--color-bg-hover)}.ag-filter-caret{transition:transform .18s var(--ease-out-quint)}.ag-filter-menu{display:flex;flex-direction:column;gap:2px;width:200px;padding:8px}.ag-filter-item{display:flex;align-items:center;gap:8px;height:32px;padding:0 8px;border-radius:var(--radius-small);color:var(--color-text-secondary);cursor:pointer;transition:background .14s ease}.ag-filter-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.ag-filter-count{margin-left:auto;font-size:12px;color:var(--color-text-tertiary)}.ag-scroll{position:relative;flex:1;min-height:0;margin:14px 64px 0}.ag-body{height:100%;overflow-y:auto}.ag-fade{position:absolute;left:0;right:0;height:44px;pointer-events:none;opacity:0;transition:opacity .2s ease;z-index:2}.ag-fade.is-visible{opacity:1}.ag-fade-top{top:0;background:linear-gradient(to bottom,var(--color-bg-surface-1),transparent)}.ag-scroll.is-table .ag-fade-top{top:38px}.ag-fade-bottom{bottom:0;background:linear-gradient(to top,var(--color-bg-surface-1),transparent)}.ag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:6px 2px 20px}@media(min-width:1600px){.ag-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1279px){.ag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ag-tabs{margin:12px 24px 0}.ag-toolbar{margin:16px 24px 0}.ag-scroll{margin:14px 24px 0}.ag-prompt{margin:10px 24px 0}}@media(max-width:799px){.ag-grid{grid-template-columns:minmax(0,1fr)}.ag-tabs{margin:12px 0 0}.ag-toolbar{margin:16px 0 0}.ag-scroll{margin:14px 0 0}.ag-prompt{margin:10px 0 0}}.ag-empty{padding:64px 0;text-align:center;color:var(--color-text-tertiary)}.ag-card{display:flex;flex-direction:column;gap:6px;min-height:152px;padding:16px;border-radius:var(--radius-small);background:var(--color-card-bg);overflow:hidden;border:1px solid transparent;animation:home-rise .4s var(--ease-out-quint) both}.ag-card.is-clickable{cursor:pointer;transition:background .16s var(--ease-out-cubic),border-color .16s var(--ease-out-cubic)}.ag-card.is-new{animation:ag-card-enter .5s var(--ease-out-quint) backwards,ag-card-blink 1.6s var(--ease-out-cubic) .15s}@keyframes ag-card-enter{0%{opacity:0;transform:translateY(-8px) scale(.99)}to{opacity:1;transform:none}}@keyframes ag-card-blink{0%{box-shadow:0 0 0 1px #ecf78800,0 0 #ecf78800}28%{box-shadow:0 0 0 1px #ecf78847,0 0 20px #ecf7881f}to{box-shadow:0 0 0 1px #ecf78800,0 0 #ecf78800}}.ag-card.is-clickable:hover{background:var(--color-bg-surface-2);border-color:#ffffff24}.ag-card.is-clickable:focus-visible{outline:1px solid var(--color-border-hard);outline-offset:-1px}.ag-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.ag-card-title{display:inline-flex;align-items:center;gap:8px;min-width:0}.ag-vendor-tile{position:relative;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px;background:var(--color-bg-app, #1a1a22);color:var(--color-text-primary)}.ag-vendor-dot{position:absolute;top:-2px;right:-2px}.ag-card-idblock{display:flex;flex-direction:column;gap:2px;min-width:0}.ag-card-name-row{display:inline-flex;align-items:center;gap:8px;min-width:0}.ag-card-name{font-size:15px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-card-status{font-size:12px;color:var(--color-text-secondary)}.ag-card-status.ok{color:var(--color-status-ok)}.ag-card-status.error{color:var(--color-error)}.ag-card-detail{color:var(--color-text-secondary)}.ag-view{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.ag-table{margin:12px 2px 20px}.ag-tc-name{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--color-text-primary)}.ag-tc-provider{display:flex;align-items:center;gap:8px}.ag-tc-provider-logo{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;background:var(--color-bg-app, #1a1a22);color:var(--color-text-primary)}.ag-tc-status{display:flex;align-items:center;gap:6px;color:var(--color-text-secondary)}.ag-tc-status.ok{color:var(--color-status-ok)}.ag-tc-status.error{color:var(--color-error)}.ag-tc-status .ag-tc-detail{color:var(--color-text-secondary)}.ds-table .ag-cell.ag-tc-usage-cell{overflow:visible;--spark-color: var(--color-border-hard);--spark-fill: #8b8b97}.ag-tc-usage{display:flex;align-items:center;gap:12px;width:100%;min-width:0}.ag-tc-usage-num{flex-shrink:0;display:flex;align-items:baseline;gap:6px}.ag-tc-usage-val{min-width:48px;text-align:right;color:var(--color-text-primary)}.ag-tc-usage-val.is-dash{color:var(--color-text-tertiary)}.ag-tc-usage-unit{min-width:68px;font-size:12px;color:var(--color-text-tertiary)}.ag-tc-usage-spark{flex:1;min-width:0}.ag-tc-muted{color:var(--color-text-tertiary)}.ag-card-foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.ag-metric{display:flex;flex-direction:column;gap:2px;min-width:0}.ag-metric-val{font-size:24px;line-height:32px;color:var(--color-text-primary)}.ag-metric-val.is-dash{color:var(--color-text-tertiary)}.ag-metric-unit{font-size:12px;color:var(--color-text-tertiary)}.ag-card-spark{flex:1;max-width:220px;align-self:flex-end;--spark-color: var(--color-border-hard);--spark-fill: #8b8b97}.ag-prompt{margin:10px 64px 0}.ont-sec-hint{margin:-6px 0 14px;font-size:12px;color:var(--color-text-tertiary)}.ont-mono{font-family:var(--font-mono)}.ont-d-desc{margin:0 0 20px;font-size:13px;line-height:1.5;color:var(--color-text-secondary)}.ont-d-flag{margin-left:8px;padding:1px 6px;border-radius:3px;background:var(--color-bg-surface-2);color:var(--color-text-tertiary);font-family:var(--font-ui);font-size:11px;text-transform:uppercase;letter-spacing:.03em}.ont-d-derivation{margin:0 0 6px;font-size:12px;color:var(--color-text-secondary)}.ont-d-binding+.ont-d-binding{margin-top:8px}.ont-d-binding-source{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-family:var(--font-mono);font-size:12px;color:var(--color-text-primary)}.ont-d-binding-relation{color:var(--color-text-tertiary)}.ont-d-fields{display:flex;flex-wrap:wrap;gap:6px;padding-left:18px}.ontologies{height:100%;display:flex;flex-direction:column;padding:16px}.ont-body{flex:1;min-height:0;margin-top:16px;overflow-y:auto;padding:0 48px 32px}.ont-sec+.ont-sec{margin-top:36px}.ont-sec-title{margin:0 0 14px;font-family:var(--font-ui);font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary)}.ont-sec-empty{margin:0;padding:28px 0;color:var(--color-text-tertiary);font-size:13px}.ont-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@media(min-width:1600px){.ont-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1279px){.ont-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:799px){.ont-grid{grid-template-columns:minmax(0,1fr)}}@keyframes ont-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ont-card{display:flex;flex-direction:column;gap:18px;padding:16px;border-radius:var(--radius-small);background:var(--color-card-bg);border:1px solid transparent;animation:ont-rise .4s var(--ease-out-quint) both;animation-delay:calc(var(--order, 0) * 40ms)}.ont-card.is-clickable{cursor:pointer;transition:background .16s var(--ease-out-cubic),border-color .16s var(--ease-out-cubic)}.ont-card.is-clickable:hover{background:var(--color-bg-surface-2);border-color:#ffffff24}.ont-card.is-clickable:focus-visible{outline:1px solid var(--color-border-hard);outline-offset:-1px}@keyframes ont-new-blink{0%,to{border-color:transparent}30%{border-color:#be3e828c}}.ont-card.is-new{animation:ont-rise .4s var(--ease-out-quint) both,ont-new-blink 1.1s var(--ease-in-out-cubic) .35s}.ont-card-head{display:flex;align-items:flex-start;gap:8px}.ont-card-idblock{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ont-card-name-row{display:flex;align-items:center;gap:8px;min-width:0}.ont-card-name{font-family:var(--font-ui);font-size:14px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ont-card-sub{margin:0;font-size:12px;color:var(--color-text-tertiary)}.ont-ver{flex:none;padding:1px 4px;border-radius:2px;background:var(--color-version-bg);color:var(--color-version);font-family:var(--font-mono);font-size:12px;line-height:16px}.ont-active-chip{flex:none;display:inline-flex;align-items:center;gap:6px;padding:2px 8px;margin-top:1px;border-radius:200px;background:#45d19a1f;color:var(--color-status-ok);font-family:var(--font-ui);font-size:12px;line-height:18px}.ont-card-foot{display:flex;align-items:center;gap:12px}.ont-bar{flex:1;height:4px;border-radius:200px;background:var(--color-border-light);overflow:hidden}@keyframes ont-bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.ont-bar-fill{display:block;height:100%;border-radius:200px;background:var(--color-status-ok);transform-origin:left;animation:ont-bar-grow .7s var(--ease-out-quint) .15s both}.ont-card-pct{flex:none;font-family:var(--font-mono);font-size:12px;color:var(--color-text-secondary)}.ont-d-head{display:flex;align-items:center;gap:10px;min-width:0}.ont-d-name{font-family:var(--font-ui);font-size:15px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ont-d-body{display:flex;flex-direction:column}.ont-d-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.ont-d-stat{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:var(--radius-small);background:var(--color-input-bg-segmented)}.ont-d-stat-n{font-family:var(--font-display);font-size:22px;line-height:28px;color:var(--color-text-primary)}.ont-d-stat-l{font-size:12px;color:var(--color-text-tertiary)}.ont-d-split{display:flex;gap:3px;height:6px;border-radius:200px;overflow:hidden}.ont-d-split span{border-radius:200px}.ont-d-split .is-mapped{background:var(--color-status-ok)}.ont-d-split .is-suggested{background:#d4a437}.ont-d-split .is-unmapped{background:var(--color-border-medium)}.ont-d-legend{display:flex;gap:16px;margin:10px 0 26px;font-size:12px;color:var(--color-text-secondary)}.ont-d-legend i{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%}.ont-d-legend .is-mapped{background:var(--color-status-ok)}.ont-d-legend .is-suggested{background:#d4a437}.ont-d-legend .is-unmapped{background:var(--color-border-medium)}.ont-d-cat+.ont-d-cat{margin-top:22px}.ont-d-cat-title{margin:0 0 6px;font-family:var(--font-ui);font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary)}.ont-d-row-wrap{border-radius:var(--radius-small)}.ont-d-row-wrap.is-open{background:var(--color-input-bg-segmented)}.ont-d-row{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:var(--radius-small);background:none;color:var(--color-text-primary);font:inherit;cursor:pointer;text-align:left;transition:background .14s ease}.ont-d-row:hover{background:var(--color-bg-hover)}.ont-d-concept{flex:1;min-width:0;font-family:var(--font-mono);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ont-d-note{flex:none;font-family:var(--font-mono);font-size:12px}.ont-d-note.is-mapped{color:var(--color-status-ok)}.ont-d-note.is-suggested{color:#d4a437}.ont-d-note.is-unmapped{color:var(--color-text-tertiary)}.ont-d-chev{flex:none;color:var(--color-text-tertiary);transform:rotate(180deg);transition:transform .2s var(--ease-out-quint)}.ont-d-row-wrap.is-open .ont-d-chev{transform:rotate(0)}.ont-d-related{display:flex;flex-direction:column;gap:4px;padding:2px 10px 12px 30px}.ont-d-related>.ont-d-chip{align-self:flex-start}.ont-d-chip{padding:3px 8px;border-radius:4px;background:var(--color-bg-surface-2);border:1px solid var(--color-border-light);font-family:var(--font-mono);font-size:12px;color:var(--color-text-primary)}.ont-d-chip-table{color:var(--color-text-tertiary)}.ont-d-related-empty{font-size:12px;color:var(--color-text-tertiary)}.ont-d-foot{display:flex;justify-content:flex-end;gap:10px}.check-draw{display:inline-block;flex-shrink:0}.check-draw path{stroke-dasharray:1;stroke-dashoffset:1;animation:check-stroke .24s var(--ease-out-cubic) forwards}@keyframes check-stroke{to{stroke-dashoffset:0}}.toast{position:fixed;right:24px;bottom:24px;z-index:200;display:flex;align-items:center;gap:8px;min-width:300px;max-width:380px;padding:12px 14px;border-radius:var(--radius-small);border:2px solid rgba(0,173,103,.16);background:#1e2c31;box-shadow:0 0 8px #00000014,0 14px 34px #0006;will-change:transform,opacity,filter;animation:toast-in .5s var(--ease-out-quint) both}.toast.is-leaving{animation:toast-out .26s var(--ease-out-cubic) both;pointer-events:none}@keyframes toast-in{0%{opacity:0;transform:translateY(14px) scale(.97);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes toast-out{0%{opacity:1;transform:none;filter:blur(0)}to{opacity:0;transform:translateY(8px) scale(.98);filter:blur(5px)}}.toast-badge{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:200px;background:var(--color-success-deep);color:#fff;animation:toast-badge-in .44s var(--ease-out-quint) .12s both}@keyframes toast-badge-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.toast-msg{flex:1;min-width:0;color:var(--color-text-primary);font-family:var(--font-ui);font-size:13px;font-weight:500;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast-close{display:grid;place-items:center;flex:none;width:20px;height:20px;padding:0;border:0;border-radius:4px;background:none;color:var(--color-text-tertiary);cursor:pointer;transition:color .14s ease,background .14s ease}.toast-close:hover{color:var(--color-text-primary);background:#ffffff0f}.ds-actionbar{display:flex;align-items:center;height:48px;padding:0 24px;background:var(--color-bg-floating);border-radius:6px;font-family:var(--font-ui);font-size:13px;animation:ds-actionbar-in .2s var(--ease-out-quint)}@keyframes ds-actionbar-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ds-actionbar{animation:none}}.ds-actionbar-count{color:var(--color-text-secondary);white-space:nowrap}.ds-actionbar-count b{color:var(--color-text-primary);font-weight:400;margin-right:4px}.ds-actionbar-actions{margin-left:auto;display:inline-flex;align-items:center;gap:12px}.ds-actionbar-close{margin-left:24px;flex:none}.folder-row{display:flex;align-items:center;gap:6px;min-width:0;padding:5px 8px;border-radius:var(--radius-small);color:var(--color-text-primary);font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .14s ease,color .14s ease}.folder-row:hover{background:var(--color-bg-hover)}.folder-chev{flex:none;transform:rotate(180deg);transition:transform .2s var(--ease-out-quint)}.folder-chev.is-collapsed{transform:rotate(90deg)}.folder-ic{flex:none}.folder-name{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}.folder-input-wrap{flex:1;min-width:0;display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 8px;border:1px solid var(--color-border-interactive);border-radius:6px;background:var(--color-input-bg-segmented)}.folder-input-wrap .folder-ic{color:var(--color-text-secondary)}.folder-input{flex:1;width:0;min-width:0;border:0;background:none;color:var(--color-text-primary);font:inherit;outline:none;padding:0}.folder-count{flex:none;font-family:var(--font-mono);font-size:13px;color:var(--color-text-tertiary)}.folder-kebab{flex:none;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:5px;color:var(--color-text-tertiary);opacity:0;transition:opacity .14s ease,background .14s ease}.folder-row:hover .folder-kebab{opacity:1}.folder-kebab:hover{background:var(--color-bg-active, rgba(255, 255, 255, .08));color:var(--color-text-primary)}.folder-row.is-dropover{background:var(--color-bg-hover);box-shadow:inset 0 0 0 1px var(--color-border-hard);color:var(--color-text-primary)}.folder-row.is-dropover .folder-ic{color:var(--color-text-secondary)}.folder-children{display:flex;flex-direction:column;padding-left:20px}.ds-drag-ghost{position:fixed;top:0;left:0;z-index:-1;display:inline-flex;align-items:center;padding:8px 12px;border:1px dashed var(--color-border-interactive);border-radius:6px;background:var(--color-bg-floating);color:var(--color-text-primary);font-family:var(--font-ui);font-size:13px;line-height:16px;white-space:nowrap;pointer-events:none}.cd-head{display:flex;gap:8px;align-items:flex-start}.cd-icon{flex:none;width:36px;height:36px;border-radius:6px;background:#459ada;display:flex;align-items:flex-end;padding:0 0 8px 11px;font-family:var(--font-ui);font-size:13px;line-height:16px;color:#fff}.cd-head-main{display:flex;flex-direction:column;gap:4px;min-width:0;padding-top:2px}.cd-titlerow{display:flex;align-items:center;gap:8px;white-space:nowrap}.cd-crumb{font-family:var(--font-ui);font-size:13px;font-weight:500;color:var(--color-text-primary)}.cd-crumb-dim{font-weight:400;color:var(--color-text-secondary)}.cd-type{flex:none;padding:1px 4px;border-radius:2px;background:#146bee;font-family:var(--font-mono);font-size:11px;line-height:14px;color:#fff}.cd-link{flex:none;color:var(--color-text-secondary)}.cd-map{flex:none;display:inline-flex;align-items:center;gap:4px;padding:1px 4px 1px 6px;border-radius:2px;background:#ba00ff;font-family:var(--font-mono);font-size:11px;line-height:14px;color:#fff}.cd-map-x{display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:none;color:#fff;cursor:pointer;opacity:.9}.cd-map-x:hover{opacity:1}.cd-meta{display:flex;align-items:center;gap:16px}.cd-meta-item{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:12px;color:var(--color-text-secondary)}.cd-meta-item .icon{flex:none;color:var(--color-text-secondary)}.cd-body{padding:12px 24px 8px}.cd-section-title{font-family:var(--font-ui);font-size:13px;font-weight:500;color:var(--color-text-primary)}.cd-rows{display:flex;flex-direction:column;gap:8px;margin:8px 0 24px}.cd-row{display:flex;align-items:center;gap:8px;height:44px;padding:0 10px 0 16px;border:0;border-radius:6px;background:var(--color-bg-app);cursor:pointer;font-family:var(--font-ui);font-size:13px;color:var(--color-text-primary);transition:background .14s ease}.cd-row:hover{background:#202029}.cd-row-chev,.cd-row-ic{flex:none;color:var(--color-text-secondary)}.cd-row-name{color:var(--color-text-primary)}.cd-row-fill{flex:1}.cd-row-count{flex:none;font-size:12px;color:var(--color-text-secondary)}.cd-row-count b{font-weight:500;font-size:13px;color:var(--color-text-primary)}.cd-row-kebab{flex:none;display:inline-flex;color:var(--color-text-secondary)}.cd-dist-head{flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.cd-stats{display:flex;align-items:center;gap:16px}.cd-stat{display:inline-flex;align-items:center;gap:4px;font-size:12px}.cd-stat-l{color:var(--color-text-secondary)}.cd-stat-v{color:var(--color-text-primary)}.cd-dist{margin:12px 0 24px}.cd-bars{position:relative;display:flex;align-items:flex-end;gap:2px;height:49px}.cd-bars:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#fff6}.cd-bar{flex:1;min-width:0;background:#00ad67;transform-origin:bottom;animation:cd-bar-in .42s var(--ease-out-quint) both}@keyframes cd-bar-in{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.cd-dist-foot{margin-top:9px;font-family:var(--font-mono);font-size:12px;color:var(--color-text-secondary)}@media(prefers-reduced-motion:reduce){.cd-bar{animation:none}}.cd-map-unmatched{color:var(--color-text-secondary);background:var(--color-surface-2, rgba(255,255,255,.06))}.cd-dim{color:var(--color-text-secondary);font-style:italic}.cd-kv{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:13px}.cd-kv-k{color:var(--color-text-secondary);flex:none}.cd-kv-v{color:var(--color-text-primary);font-family:var(--font-mono);text-align:right;word-break:break-all}.cd-freq{display:flex;flex-direction:column;gap:6px;margin-top:4px}.cd-freq-row{display:grid;grid-template-columns:minmax(60px,40%) 1fr auto;align-items:center;gap:10px;font-size:12px;animation:cd-bar-in .42s var(--ease-out-quint) both}.cd-freq-label{color:var(--color-text-primary);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cd-freq-track{height:8px;border-radius:4px;background:var(--color-surface-2, rgba(255,255,255,.08));overflow:hidden}.cd-freq-fill{display:block;height:100%;border-radius:4px;background:#00ad67;transform-origin:left;animation:cd-freq-grow .5s var(--ease-out-quint) both}@keyframes cd-freq-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.cd-freq-count{color:var(--color-text-secondary);font-family:var(--font-mono);text-align:right}.cd-empty{margin:12px 0 24px;font-size:13px;line-height:1.5;color:var(--color-text-secondary)}@media(prefers-reduced-motion:reduce){.cd-freq-row,.cd-freq-fill{animation:none}}.cg-viewport{position:relative;flex:1;min-height:0;overflow:hidden;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;background:#181823;border-radius:12px;--cg-amber: rgba(212, 164, 55, .5)}.cg-viewport.is-panning{cursor:grabbing}.cg-stage{position:absolute;left:50%;top:50%;transform-origin:center center;will-change:transform;transition:transform .22s var(--ease-out-cubic)}.cg-viewport.is-panning .cg-stage,.cg-viewport.is-dragging .cg-stage{transition:none}.cg-grid{position:absolute;left:50%;top:50%;width:4000px;height:3000px;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.044) .55px,transparent 1px);background-size:22px 22px;animation:cg-fade .8s ease backwards}.cg-cat{position:absolute;pointer-events:none;border-radius:50%;background:radial-gradient(circle at 50% 45%,#ffffff08,#fff0 72%);animation:cg-fade .7s ease backwards;animation-delay:calc(var(--i) * 70ms)}.cg-cat-hit{position:absolute;top:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none;animation:cg-fade .7s ease backwards}.cg-cat-ring-g{cursor:grab}.cg-cat-ring-g.is-dragging{cursor:grabbing}.cg-cat-hit-ring{fill:none;stroke:transparent;stroke-width:24;pointer-events:stroke}.cg-cat-vis-ring{fill:none;stroke:#ffffff0f;stroke-width:1;pointer-events:none;transition:stroke .16s ease,stroke-width .16s ease}.cg-cat-ring-g:hover .cg-cat-vis-ring{stroke:#ffffff38}.cg-cat-ring-g.is-dragging .cg-cat-vis-ring{stroke:#ffffff4d}.cg-cat-ring-g.is-drop .cg-cat-vis-ring{stroke:#fff6;stroke-width:1.5}.cg-cat-label{position:absolute;padding:4px 8px;margin:-4px -8px;font-family:var(--font-mono);font-size:12px;line-height:16px;color:var(--color-text-secondary);white-space:nowrap;cursor:grab;border-radius:6px;transition:opacity .2s ease,color .16s ease,background .16s ease;animation:cg-fade .7s ease backwards;animation-delay:calc(var(--i) * 70ms + .12s)}.cg-cat-label:hover{color:var(--color-text-primary);background:#ffffff0d}.cg-cat-label.is-dragging{cursor:grabbing;color:var(--color-text-primary);background:#ffffff12}.cg-edges{position:absolute;top:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.cg-edge{fill:none;transition:opacity .2s ease,stroke .2s ease}.cg-edge.is-suggested,.cg-edge.is-unmapped{stroke:var(--cg-amber);stroke-width:2;stroke-linecap:round;stroke-dasharray:.5 7;animation:cg-fade .6s ease backwards;animation-delay:calc(.56s + var(--i) * 16ms)}.cg-edge.is-unmapped{opacity:.5}.cg-edge.is-mapped{stroke:#00ad67;stroke-width:2;filter:drop-shadow(0 0 3px rgba(0,173,103,.45));stroke-dasharray:1;stroke-dashoffset:0;animation:cg-draw .7s var(--ease-out-quint) backwards;animation-delay:calc(.48s + var(--i) * 18ms)}.cg-stage.is-focus .cg-edge.is-active.is-suggested{stroke:#d4a437;animation:cg-flow .9s linear infinite}.cg-pill{position:absolute;height:24px;display:inline-flex;align-items:center;gap:8px;padding:0 8px;border-radius:12px;background:#21212cd1;border:1px solid var(--color-border-medium);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);font-family:var(--font-mono);font-size:12px;line-height:16px;white-space:nowrap;cursor:grab;transition:opacity .2s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;animation:cg-pop .45s var(--ease-out-quint) backwards;animation-delay:calc(.36s + var(--i) * 22ms)}.cg-pill:hover,.cg-pill.is-active{border-color:var(--color-border-hard);background:#282833f2}.cg-pill.is-dragging{cursor:grabbing;border-color:var(--color-border-hard);box-shadow:0 8px 22px #00000073;z-index:6}.cg-pill-dot{flex:none;width:6px;height:6px;border-radius:50%}.cg-pill-pending{flex:none;width:12px;height:12px;border-radius:50%;border:1px dashed var(--color-text-tertiary);box-sizing:border-box}.cg-pill-text{color:var(--color-text-primary)}.cg-pill-src{color:var(--color-text-secondary)}.cg-node{position:absolute;width:49px;height:49px;margin:-24.5px 0 0 -24.5px;cursor:grab;transition:transform .18s var(--ease-out-quint);animation:cg-pop .5s var(--ease-out-quint) backwards;animation-delay:calc(.2s + var(--i) * 26ms)}.cg-node-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;background:#2828338c;border:1px solid var(--color-border-hard);transition:box-shadow .2s ease,border-color .2s ease,background .2s ease}.cg-node-dot{width:12px;height:12px;border-radius:50%;box-sizing:border-box;border:1px dashed var(--color-text-tertiary);transition:all .2s ease}.cg-node-label{position:absolute;top:57px;left:50%;transform:translate(-50%);font-family:var(--font-ui);font-size:13px;font-weight:500;line-height:16px;color:var(--color-text-primary);white-space:nowrap;transition:opacity .2s ease}.cg-node.is-mapped .cg-node-ring{border:2px solid #00ad67;background:#00ad670f;box-shadow:0 0 0 4px #00ad671a,0 0 18px #00ad674d}.cg-node.is-mapped .cg-node-dot{border:none;background:#00ad67;animation:cg-pulse 3.2s ease-in-out infinite}.cg-node.is-unmapped .cg-node-ring{opacity:.6}.cg-node.is-unmapped .cg-node-label{color:var(--color-text-secondary)}.cg-node.is-active{transform:scale(1.06);z-index:3}.cg-node.is-dragging{transform:scale(1.12);cursor:grabbing;z-index:6}.cg-node.is-returning{transition:left .32s var(--ease-out-quint),top .32s var(--ease-out-quint),transform .18s var(--ease-out-quint)}.cg-node.is-active .cg-node-ring{border-color:var(--color-text-secondary);box-shadow:0 0 0 4px #ffffff0d}.cg-node.is-mapped.is-active .cg-node-ring{border-color:#00ad67;box-shadow:0 0 0 5px #00ad6729,0 0 22px #00ad6773}.cg-stage.is-focus .cg-node:not(.is-active),.cg-stage.is-focus .cg-pill:not(.is-active){opacity:.16}.cg-stage.is-focus .cg-cat-label,.cg-stage.is-focus .cg-cat{opacity:.4}.cg-stage.is-focus .cg-edge:not(.is-active){opacity:.07}.cg-regroup{position:absolute;z-index:5;transform:translate(-50%,12px);display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:10px;border:1px solid var(--color-border-light);background:var(--color-bg-floating);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 12px 30px #00000080;white-space:nowrap;animation:cg-pop .18s var(--ease-out-quint)}.cg-regroup-text{font-size:13px;color:var(--color-text-secondary)}.cg-regroup-text b{color:var(--color-text-primary);font-weight:500}.cg-regroup-actions{display:flex;gap:6px}.cg-regroup-btn{flex:1;height:28px;padding:0 12px;border:1px solid var(--color-border-medium);border-radius:6px;background:none;color:var(--color-text-secondary);font:inherit;font-family:var(--font-ui);cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.cg-regroup-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.cg-regroup-btn.is-primary{border-color:transparent;background:var(--color-text-primary);color:#181823}.cg-regroup-btn.is-primary:hover{opacity:.9}.cg-controls{position:absolute;top:16px;right:16px;display:flex;flex-direction:column;gap:12px;z-index:4}.cg-ctrl-group{display:flex;flex-direction:column;border-radius:8px;border:1px solid var(--color-border-light);background:var(--color-bg-surface-1);overflow:hidden}.cg-ctrl-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:0;background:none;color:var(--color-text-secondary);cursor:pointer;transition:background .14s ease,color .14s ease}.cg-ctrl-btn:hover,.cg-ctrl-btn.is-active{background:var(--color-bg-hover);color:var(--color-text-primary)}.cg-ctrl-group .cg-ctrl-btn+.cg-ctrl-btn{border-top:1px solid var(--color-border-light)}.cg-viewport.is-commenting{cursor:crosshair}.cg-comment{position:absolute;z-index:3}@keyframes cg-fade{0%{opacity:0}to{opacity:1}}@keyframes cg-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes cg-flow{to{stroke-dashoffset:-30}}@keyframes cg-pop{0%{opacity:0;transform:translateY(8px) scale(.94)}to{opacity:1;transform:none}}@keyframes cg-pulse{0%,to{box-shadow:0 0 6px #00ad678c}50%{box-shadow:0 0 13px #00ad67f2}}@media(prefers-reduced-motion:reduce){.cg-grid,.cg-cat,.cg-cat-label,.cg-edge,.cg-pill,.cg-node,.cg-node.is-mapped .cg-node-dot,.cg-stage.is-focus .cg-edge.is-active.is-suggested{animation:none}.cg-edge.is-mapped{stroke-dashoffset:0}.cg-node.is-active,.cg-node.is-dragging{transition:none}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--color-backdrop);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);display:flex;align-items:center;justify-content:center;animation:backdrop-in .2s ease}.modal{position:relative;display:flex;flex-direction:column;width:580px;max-width:calc(100vw - 48px);height:660px;max-height:calc(100vh - 48px);background:var(--color-bg-app);border:1px solid var(--color-border-light);border-radius:var(--radius-small);overflow:hidden;animation:modal-pop-in .3s var(--ease-out-quint)}.modal-progress{position:absolute;top:0;left:0;height:4px;background:var(--color-accent);transition:width .4s var(--ease-out-quint)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:23px 23px 0}.modal-header h2{font-size:24px;line-height:32px;font-weight:500}.modal-close{border:0;padding:4px;background:none;color:var(--color-text-secondary);cursor:pointer;transition:color .15s ease,transform .12s var(--ease-out-quint)}.modal-close:hover{color:var(--color-text-primary)}.modal-close:active{transform:scale(.9)}.modal-subtitle{padding:4px 23px 0;color:var(--color-text-secondary)}.modal-body{flex:1;min-height:0;overflow-y:auto;padding:24px 23px 16px}.modal-body.tables-body{padding-top:16px}.field{position:relative;display:flex;flex-direction:column;gap:9px;flex:1;min-width:0}.field-label{font-weight:500}.field-input{position:relative;display:flex;align-items:center}.field-input input{width:100%;height:40px;padding:0 14px;border:1px solid var(--color-border-medium);border-radius:8px;background:var(--color-input-bg);color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);outline:none;transition:border-color .18s ease,background .18s ease}.field-input input::placeholder{color:var(--color-text-tertiary)}.field-input input:focus{border-color:var(--color-accent);background:#2d2d3a}.field-chevron{position:absolute;right:14px;color:var(--color-text-secondary);pointer-events:none}.field-row{display:flex;gap:12px}.field-select{width:100%;height:40px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--color-border-medium);border-radius:8px;background:var(--color-input-bg);color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease}.field-select.is-open{border-color:var(--color-accent);background:#2d2d3a}.field-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-select.is-placeholder .field-select-value{color:var(--color-text-tertiary)}.field-select-chevron{flex:none;color:var(--color-text-secondary);transition:transform .18s var(--ease-out-quint)}.field-menu{z-index:1000;display:flex;flex-direction:column;gap:2px;padding:6px;border:1px solid var(--color-border-light);border-radius:8px;background:var(--color-bg-floating);box-shadow:0 12px 28px #0006;transform-origin:top center;animation:field-menu-in .16s var(--ease-out-quint)}@keyframes field-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.field-menu-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:0;border-radius:6px;background:none;color:var(--color-text-secondary);font:inherit;font-family:var(--font-ui);text-align:left;cursor:pointer;transition:background .14s ease,color .14s ease}.field-menu-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.field-menu-item.is-selected{color:var(--color-text-primary)}.field-menu-check{flex:none;color:var(--color-success)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 23px 23px;position:relative}.modal-footer:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:76px;background:linear-gradient(to bottom,rgba(26,26,34,0),var(--color-bg-app));pointer-events:none;opacity:0;transition:opacity .2s ease}.modal-body.has-more+.modal-footer:before{opacity:1}.modal-cta{display:inline-flex;align-items:center;gap:4px;min-width:80px;padding:8px 16px;border:0;border-radius:200px;background:var(--color-accent);color:#fff;font:inherit;font-family:var(--font-ui);font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease,transform .12s var(--ease-out-quint)}.modal-cta:hover:not(:disabled){background:#d04a90}.modal-cta:active:not(:disabled){transform:scale(.97)}.modal-cta:disabled{background:var(--color-input-bg);color:var(--color-text-tertiary);cursor:default}.modal-back{padding:8px 16px;border:1px solid var(--color-border-medium);border-radius:200px;background:none;color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);font-weight:500;cursor:pointer;transition:background .15s ease,transform .12s var(--ease-out-quint)}.modal-back:hover{background:var(--color-bg-hover)}.modal-back:active{transform:scale(.97)}.table-search{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border:1px solid var(--color-border-medium);border-radius:200px;background:var(--color-input-bg);color:var(--color-text-secondary);transition:border-color .18s ease}.table-search:focus-within{border-color:var(--color-accent)}.table-search input{flex:1;min-width:0;border:0;background:none;color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);outline:none}.table-search input::placeholder{color:var(--color-text-tertiary)}.table-tree{display:flex;flex-direction:column;gap:2px}.tree-row{display:flex;align-items:center;gap:8px;height:32px;padding:0 8px;border-radius:var(--radius-small);transition:background .14s ease}.tree-row.indent-1{margin-left:18px}.tree-row.indent-2{margin-left:60px}.tree-row.is-table{cursor:pointer}.tree-row.is-table:hover{background:var(--color-bg-hover)}.tree-chevron{display:flex;align-items:center;border:0;padding:0;background:none;color:var(--color-text-secondary);cursor:pointer}.tree-label{color:var(--color-text-primary)}.tree-rows{margin-left:auto;color:var(--color-text-secondary)}.modal-progress-pulse{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:progress-sweep 1.4s ease-in-out infinite}@keyframes progress-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.validation-body{display:flex}.validation-body .modal-body-inner{margin:auto}.validation-list{display:flex;flex-direction:column;gap:24px;min-width:202px}.validation-item{display:flex;align-items:center;gap:8px;color:var(--color-text-secondary);animation:validation-in .25s ease}.validation-item.is-done{color:var(--color-text-primary)}@keyframes validation-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.validation-check{color:var(--color-success)}.validation-spinner{color:var(--color-text-secondary);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-banner{display:flex;gap:12px;padding:16px;border-radius:8px;background:var(--color-input-bg);margin-bottom:16px}.banner-check{color:var(--color-success);margin-top:1px}.banner-title{color:var(--color-text-primary)}.banner-desc{color:var(--color-text-secondary);margin-top:4px}.source-picker{position:absolute;z-index:20;display:flex;flex-direction:column;border-radius:8px;border:1px solid var(--color-border-light);background:var(--color-bg-floating);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transform-origin:bottom left;animation:source-picker-in .18s var(--ease-out-quint);bottom:68px;left:113px;width:280px}@keyframes source-picker-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}.source-picker-anchored{width:300px;transform-origin:top left}.source-picker-anchored.align-right{transform-origin:top right}.source-search{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary)}.source-search input{flex:1;min-width:0;border:0;background:none;color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);outline:none}.source-search input::placeholder{color:var(--color-text-secondary)}.source-list{display:flex;flex-direction:column;gap:4px;padding:var(--size-small);max-height:200px;overflow-y:auto}.source-item{display:flex;align-items:center;justify-content:space-between;padding:var(--size-small);border:0;border-radius:var(--radius-small);background:none;color:var(--color-text-secondary);font:inherit;font-family:var(--font-ui);cursor:pointer;text-align:left}.source-item.is-highlighted{background:var(--color-bg-hover);color:var(--color-text-primary)}.source-empty{padding:var(--size-small);color:var(--color-text-tertiary)}.connections{position:relative;height:100%;display:flex;flex-direction:column;padding:16px}.cn-view{position:relative;display:inline-flex}.cn-view-trigger{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:none;color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);font-weight:500;cursor:pointer}.cn-view-trigger .icon{color:var(--color-text-secondary);transition:transform .2s var(--ease-out-quint)}.cn-view-menu{top:calc(100% + 8px);left:0;min-width:184px;padding:6px}.cn-view-check{margin-left:auto;color:var(--color-success)}.cn-body{flex:1;min-height:0;margin-top:16px;display:flex}.cn-panel{flex:none;width:251px;min-height:0;display:flex;flex-direction:column;padding:0 16px 0 0;border-right:1px solid var(--color-border-medium)}.cn-main{flex:1;min-width:0;padding:0 0 20px 20px;display:flex;flex-direction:column}.cn-thead{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;height:32px}.cn-thead-left{display:flex;align-items:center;gap:12px;min-width:0}.cn-thead-icon{flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;color:#fff}.cn-thead-title{font-size:16px;font-weight:500;line-height:24px;color:var(--color-text-primary);white-space:nowrap}.cn-thead-chip{flex:none;display:inline-flex;align-items:center;padding:2px 12px;border-radius:200px;background:#459ada3d;color:var(--color-text-primary);font-size:12px;line-height:16px}.cn-thead-meta{display:flex;align-items:center;gap:16px;flex:none}.cn-meta{display:inline-flex;align-items:center;gap:4px;font-size:12px;line-height:16px}.cn-meta .icon,.cn-meta-label{color:var(--color-text-secondary)}.cn-meta-val{color:var(--color-text-primary)}.cn-tbl{position:relative;flex:1;min-height:0;margin-top:14px;padding-bottom:30px;border-radius:8px;overflow:hidden}.cn-grid{--ag-header-background-color: #282833;--ag-odd-row-background-color: rgba(255, 255, 255, .04);--ag-row-hover-color: transparent;--ag-background-color: var(--color-bg-surface-1)}.cn-grid .ag-root-wrapper{background:var(--color-bg-surface-1)}.cn-grid .ag-header-cell,.cn-grid .ag-header-cell.ds-col-first,.cn-grid .ag-header-cell.ds-col-last{padding:0;overflow:visible}.cn-grid .ag-header-cell-comp-wrapper{height:100%}.cn-grid .ag-row{border-bottom:1px solid #34353c}.cn-grid .ag-body-horizontal-scroll,.cn-grid .ag-body-vertical-scroll{z-index:7}.cn-grid .ag-cell.is-num{justify-content:flex-end}.cn-th-add{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.cn-add-col-wrap{position:relative;display:inline-flex}.cn-add-col-tip{position:fixed;transform:translate(-100%);z-index:60;white-space:nowrap;pointer-events:none}.cn-grid .ag-header{animation:cn-head-in .34s var(--ease-out-quint) both}@keyframes cn-head-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.cn-grid .ag-row .ag-cell{animation:cn-row-in .36s var(--ease-out-quint) both;animation-delay:var(--row-delay, 0ms)}@keyframes cn-row-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.cn-thead-title{display:inline-block;animation:cn-row-in .3s var(--ease-out-quint) both}@media(prefers-reduced-motion:reduce){.cn-grid .ag-header,.cn-grid .ag-row .ag-cell,.cn-thead-title{animation:none}}.cn-th{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0;width:100%;height:100%;padding:16px 36px 0 48px;cursor:pointer}.cn-th:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--color-accent);opacity:0;transform:scale(.985);pointer-events:none;transition:opacity .18s var(--ease-out-quint),transform .18s var(--ease-out-quint)}.cn-grid .ag-header-cell.ds-col-first .cn-th:after{border-top-left-radius:7px}.cn-grid .ag-header-cell.ds-col-last .cn-th:after{border-top-right-radius:7px}.cn-th:hover:after,.cn-th.is-selected:after{opacity:1;transform:scale(1)}.cn-th-top{display:flex;align-items:center;gap:16px;height:16px}.cn-th.is-num .cn-th-top{flex-direction:row-reverse;justify-content:flex-start}.cn-th.is-num .cn-th-map,.cn-th.is-num .cn-th-unmatched,.cn-th.is-num .cn-th-computed{align-self:flex-end}.cn-th-name-group{display:flex;align-items:center;gap:8px;flex:none}.cn-th-name{font-family:var(--font-ui);font-size:13px;line-height:16px;color:var(--color-text-primary);white-space:nowrap}.cn-type{flex:none;padding:1px 4px;border-radius:2px;font-family:var(--font-mono);font-size:11px;line-height:14px}.cn-th-map,.cn-th-unmatched,.cn-th-computed{display:flex;align-self:flex-start;align-items:center;gap:4px;font-family:var(--font-mono);font-size:12px;line-height:16px}.cn-th-map{color:var(--color-success)}.cn-th-map .icon{flex:none;color:var(--color-success)}.cn-th-unmatched{color:var(--color-alert)}.cn-drag-ghost{position:fixed;top:0;left:0;z-index:120;display:flex;flex-direction:column;gap:4px;padding:13px 20px;border:1px dashed var(--color-accent);border-radius:8px;background:var(--color-bg-floating);box-shadow:0 8px 24px #00000073;pointer-events:none;animation:cn-ghost-in .14s var(--ease-out-quint)}.cn-drag-ghost .cn-th-top{gap:16px}.cn-drag-ghost-kebab{color:var(--color-text-secondary)}@keyframes cn-ghost-in{0%{opacity:0;scale:.92}to{opacity:1;scale:1}}.connections.is-dragging .cn-vtables .cn-table{outline:1px dashed var(--color-border-hard);outline-offset:-1px}.connections.is-dragging .cn-vtables .cn-table.is-drop-target{outline:1px solid var(--color-accent);background:#be3e8224;color:var(--color-text-primary)}.cn-skel{display:inline-block;height:10px;border-radius:4px;background:linear-gradient(90deg,#ffffff0f 25%,#ffffff21,#ffffff0f 75%);background-size:200% 100%;animation:cn-skel-sweep 1.2s ease-in-out infinite}@keyframes cn-skel-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.cn-vt-empty{height:100%;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center}.cn-vte{display:flex;flex-direction:column;align-items:center}.cn-vte-illo{position:relative;width:229px;height:120px;border-radius:6px;background:var(--color-bg-floating);overflow:clip}.cn-vte-window{position:absolute;top:0;right:0;bottom:0;left:0;overflow:clip;-webkit-mask-image:linear-gradient(to right,transparent 8px,#000 44px);mask-image:linear-gradient(to right,transparent 8px,#000 44px)}.cn-vte-strip{position:absolute;top:34px;left:16px;display:flex;gap:8px;animation:cn-vte-conveyor 5.6s var(--ease-in-out-cubic) 1.4s infinite}@keyframes cn-vte-conveyor{0%,8%{transform:translate(0)}16%,58%{transform:translate(-118px)}66%,to{transform:translate(-236px)}}.cn-vte-card{position:relative;flex:none;width:110px;height:52px;border-radius:6px;background:var(--color-card-bg)}.cn-vte-bar{position:absolute;top:12px;height:4px;border-radius:6px;background:var(--color-input-bg-segmented);transform-origin:left;animation:cn-vte-draw .4s var(--ease-out-quint) .28s backwards}.cn-vte-line{position:absolute;top:31px;width:42px;height:2px;border-radius:6px;transform-origin:left;animation:cn-vte-draw .4s var(--ease-out-quint) .4s backwards}@keyframes cn-vte-draw{0%{transform:scaleX(0)}}.cn-vte-check{position:absolute;left:12px;top:24px;color:var(--color-success)}.cn-vte-check .check-draw path{animation:none;stroke-dashoffset:1}@media(prefers-reduced-motion:reduce){.cn-vte-check .check-draw path{stroke-dashoffset:0}}.cn-vte-illo{animation:cn-vte-pop .32s var(--ease-out-quint) backwards}@keyframes cn-vte-pop{0%{opacity:0;transform:translateY(10px) scale(.97)}}.cn-vte-title{margin:24px 0 0;font-family:var(--font-display);font-size:20px;line-height:24px;font-weight:400;color:var(--color-text-primary);animation:cn-vte-rise .3s var(--ease-out-quint) .12s backwards}.cn-vte-sub{margin:12px 0 24px;font-family:var(--font-ui);font-size:13px;line-height:16px;color:var(--color-text-secondary);animation:cn-vte-rise .3s var(--ease-out-quint) .18s backwards}.cn-vte>.btn{animation:cn-vte-rise .3s var(--ease-out-quint) .24s backwards}@keyframes cn-vte-rise{0%{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){.cn-vte-strip,.cn-vte-bar,.cn-vte-line,.cn-vte-illo,.cn-vte-title,.cn-vte-sub,.cn-vte>.btn{animation:none}}.cn-td{font-family:var(--font-mono);font-size:13px;line-height:16px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cn-td.is-num{text-align:right}.cn-td.is-primary{color:var(--color-text-primary);font-weight:500}.cn-grid .ds-yshadow.is-bottom{height:96px;background:linear-gradient(to bottom,transparent 0%,rgba(33,33,44,.72) 55%,var(--color-bg-surface-1) 82%)}.cn-tbl-foot{position:absolute;left:0;right:0;bottom:0;height:30px;display:flex;align-items:center;justify-content:center;gap:8px;pointer-events:none;font-family:var(--font-ui);font-size:12px;color:var(--color-alert)}.cn-tbl-foot .icon{flex:none;color:var(--color-alert)}.cn-ask{position:relative;flex:none;margin-top:32px}.cn-prompt{flex:none}.cn-ask.has-sheet .cn-prompt{position:relative;z-index:13}.cn-ask.has-sheet .promptbar-bar,.cn-ask.has-sheet .promptbar-bar:hover,.cn-ask.has-sheet .promptbar-bar:focus-within{background:var(--color-bg-app);border-color:transparent}.cn-ask-actions{display:flex;gap:8px;margin-top:12px}.cn-search{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:20px;background:var(--color-bg-floating);color:var(--color-text-secondary)}.cn-search input{flex:1;min-width:0;border:0;background:none;color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);outline:none}.cn-search input::placeholder{color:var(--color-text-secondary)}.cn-tree-scroll{position:relative;flex:1;min-height:0;margin-top:18px}.cn-tree{height:100%;overflow-y:auto;padding:0 0 20px}.cn-fade{position:absolute;left:0;right:0;height:48px;pointer-events:none;opacity:0;transition:opacity .2s ease;z-index:2}.cn-fade.is-visible{opacity:1}.cn-fade-top{top:0;background:linear-gradient(to bottom,var(--color-bg-surface-1),transparent)}.cn-fade-bottom{bottom:0;background:linear-gradient(to top,var(--color-bg-surface-1),transparent)}.cn-chev{flex:none;color:var(--color-text-secondary);transform:rotate(180deg);transition:transform .24s var(--ease-out-quint)}.cn-chev.is-collapsed{transform:rotate(90deg)}.cn-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s var(--ease-in-out-cubic)}.cn-collapse.is-open{grid-template-rows:1fr}.cn-collapse-inner{min-height:0;overflow:hidden}.cn-sec-body>:first-child{padding-top:12px}.cn-sec{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px 6px 12px;margin-top:32px;border:0;background:none;color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);font-weight:500;cursor:pointer}.cn-sec:first-child{margin-top:0}.cn-sec .cn-chev{color:var(--color-text-tertiary)}.cn-sec-ic{color:var(--color-text-primary)}.cn-sec-title{font-size:13px;line-height:16px;font-weight:500;color:var(--color-text-primary);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cn-sec-row{display:flex;align-items:center;margin-top:32px}.cn-sec-row .cn-sec{margin-top:0}.cn-tree-inner>.cn-sec:first-child,.cn-tree-inner>.cn-sec-row:first-child{margin-top:0}.cn-sec-add-wrap{position:relative;display:flex;flex:none;margin-right:3px}.cn-sec-add{display:flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:none;color:var(--color-text-secondary);cursor:pointer;opacity:0;transition:opacity .15s ease,background .14s ease,color .14s ease}.cn-panel:hover .cn-sec-add,.cn-sec-add:focus-visible,.cn-sec-add.is-open{opacity:1}.cn-sec-add:hover,.cn-sec-add.is-open{background:var(--color-bg-hover);color:var(--color-text-primary)}.cn-sec-row.is-dropover,.cn-source.is-dropover{background:var(--color-bg-hover);box-shadow:inset 0 0 0 1px var(--color-border-hard);border-radius:6px}.cn-add-tip{position:absolute;top:calc(100% + 6px);right:-4px;z-index:5;pointer-events:none;animation:cn-tip-in .14s var(--ease-out-quint) both}.cn-add-tip .tooltip-label{font-size:12px;line-height:16px}@keyframes cn-tip-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.cn-table.is-new{animation:cn-vt-enter .4s var(--ease-out-quint) backwards,cn-vt-blink 1.6s var(--ease-out-cubic) .15s}.cn-table.is-dropped{animation:cn-vt-blink 1.2s var(--ease-out-cubic)}@keyframes cn-vt-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes cn-vt-blink{0%{box-shadow:inset 0 0 0 1px #ecf78800}28%{box-shadow:inset 0 0 0 1px #ecf78852}to{box-shadow:inset 0 0 0 1px #ecf78800}}.cn-source-wrap+.cn-source-wrap{margin-top:12px}.cn-source{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:2px 8px 2px 38px;border:0;border-radius:6px;background:none;color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);cursor:pointer}.cn-src-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;color:#fff}.cn-src-name{font-size:13px;font-weight:500;color:var(--color-text-primary);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cn-src-time{flex:none;white-space:nowrap}.cn-search-empty{padding:16px 8px;text-align:center;font-size:13px;color:var(--color-text-secondary)}.cn-src-time{margin-left:auto;font-size:12px;color:var(--color-text-tertiary);transition:opacity .14s ease}.cn-source.is-error .cn-src-time{color:var(--color-error)}.cn-source{position:relative}.cn-src-kebab{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:5px;color:var(--color-text-tertiary);opacity:0;transition:opacity .14s ease,background .14s ease}.cn-source:hover .cn-src-kebab,.cn-src-kebab.is-open{opacity:1}.cn-source:hover .cn-src-time,.cn-source:has(.cn-src-kebab.is-open) .cn-src-time{opacity:0}.cn-src-kebab:hover,.cn-src-kebab.is-open{background:#ffffff14;color:var(--color-text-primary)}.cn-tables{position:relative;margin-top:2px;display:flex;flex-direction:column}.cn-tables:before{content:"";position:absolute;left:78px;top:0;bottom:14px;width:1px;background:var(--color-border-medium)}.cn-table{position:relative;display:flex;align-items:center;gap:6px;min-height:28px;margin-left:94px;padding:0 8px;border:0;border-radius:6px;background:none;color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);font-size:13px;text-align:left;cursor:pointer;transition:background .14s ease}.cn-table:before{content:"";position:absolute;left:-16px;top:50%;width:16px;height:1px;background:var(--color-border-medium)}.cn-table:hover,.cn-table.is-selected{background:var(--color-bg-hover)}.cn-table-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cn-warn{flex:none;color:var(--color-alert)}.cn-vtables{margin-top:0;gap:4px}.cn-vtables:before{left:41px}.cn-vtables .cn-table{margin-left:53px;padding-left:7px}.cn-sec-body>.cn-vtables{padding-top:2px}.cn-vtables .cn-table:before{left:-12px;width:12px}.cn-vt-kebab{margin-left:auto;display:inline-flex;color:var(--color-text-tertiary);opacity:0;transition:opacity .14s ease}.cn-table:hover .cn-vt-kebab{opacity:1}.cn-table.is-syncing .cn-table-name{background:linear-gradient(90deg,#fff,#fff 38%,#999,#fff 62%,#fff);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:cn-shimmer 1.9s linear infinite}@keyframes cn-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.cn-sync-dots{display:inline-flex;align-items:center;gap:2px;flex:none;margin-left:auto}.cn-vt-check{display:inline-flex;flex:none;margin-left:auto;color:var(--color-status-ok)}.cn-vt-check.is-leaving{animation:cn-vt-check-out .3s ease both}@keyframes cn-vt-check-out{to{opacity:0}}.cn-sync-dots i{width:3px;height:3px;border-radius:50%;background:var(--color-text-secondary);animation:cn-sync-dot 1.2s ease-in-out infinite}.cn-sync-dots i:nth-child(2){width:4px;height:4px;animation-delay:.16s}.cn-sync-dots i:nth-child(3){animation-delay:.32s}@keyframes cn-sync-dot{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.cn-tree-inner{animation:cn-treeswap .34s var(--ease-out-quint) both}.cn-tree-inner.is-concept{animation:none}@keyframes cn-treeswap{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cn-tree-inner.is-concept .cn-sec-concept,.cn-tree-inner.is-concept .cn-concept:not(.is-entering):not(.is-leaving),.cn-tree-inner.is-concept .cn-accept-all{animation:cn-concept-reveal .42s var(--ease-out-quint) both;animation-delay:calc(var(--i, 0) * 26ms)}@keyframes cn-concept-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cn-cgroup+.cn-cgroup .cn-sec-concept{margin-top:32px}.cn-sec-count{font-size:13px;line-height:16px;color:var(--color-text-tertiary)}.cn-concepts{display:flex;flex-direction:column;padding-left:24px}.cn-concept{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:26px;margin:0 -8px 8px 16px;padding:2px 8px;border-radius:6px;transition:background .14s ease}.cn-concepts>:last-child{margin-bottom:0}.cn-concept.is-suggested{cursor:pointer}.cn-concept.is-suggested:hover{background:var(--color-bg-hover)}.cn-concept-main{display:flex;align-items:center;gap:10px;min-width:0}.cn-concept-name{font-family:var(--font-ui);font-size:13px;line-height:16px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cn-concept-dot{flex:none;width:12px;height:12px;border-radius:50%;box-sizing:border-box}.cn-concept-dot.ok{background:#00ad67;box-shadow:0 0 0 3px #00ad672e}.cn-concept-dot.pending{border:1px dashed var(--color-text-tertiary)}.cn-chip{flex:none;display:inline-flex;align-items:center;justify-content:center;padding:1px 4px;border-radius:2px;font-family:var(--font-mono);font-size:12px;line-height:16px;white-space:nowrap}.cn-chip-sources{background:#00ad673d;color:#00ad67}.cn-chip-pct{background:#eac492;color:#21212c}.cn-chip-unmapped{background:#282833;color:var(--color-text-tertiary)}.cn-concept-right{position:relative;display:flex;align-items:center;gap:6px}.cn-concept-actions{display:flex;align-items:center;gap:4px;max-width:0;overflow:hidden;opacity:0;transform:translate(-4px);transition:max-width .2s var(--ease-out-quint),opacity .16s ease,transform .2s var(--ease-out-quint)}.cn-concept.is-suggested:hover .cn-concept-actions{max-width:48px;opacity:1;transform:translate(0)}.cn-concept-accept,.cn-concept-reject{flex:none;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:0;border-radius:4px;cursor:pointer;transition:background .14s ease,transform .1s ease}.cn-concept-accept{background:#00ad673d;color:#00ad67}.cn-concept-accept:hover{background:#00ad6766}.cn-concept-reject{background:#ffffff14;color:var(--color-text-secondary)}.cn-concept-reject:hover{background:#ffffff29;color:var(--color-text-primary)}.cn-concept-accept:active,.cn-concept-reject:active{transform:scale(.9)}.cn-concept-tip{position:absolute;bottom:calc(100% + 8px);right:0;z-index:20;pointer-events:none;animation:cn-tip-in .14s var(--ease-out-quint) both}.cn-concept-tip .tooltip-label{font-size:13px;line-height:16px}@keyframes cn-tip-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.cn-cgroup .cn-collapse-inner:has(.cn-concept-tip){overflow:visible}.cn-accept-all{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;margin:4px 0 0;padding:4px 12px;min-height:24px;border:1px solid rgba(255,255,255,.24);border-radius:200px;background:none;color:var(--color-text-primary);font-family:var(--font-ui);font-size:13px;font-weight:500;line-height:16px;cursor:pointer;transition:background .14s ease}.cn-accept-all:hover{background:#ffffff0f}.cn-concept.is-entering{animation:cn-concept-in .4s var(--ease-out-quint) both}@keyframes cn-concept-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.cn-concept.is-leaving{pointer-events:none;overflow:hidden;min-height:0;animation:cn-concept-out .3s var(--ease-in-out-cubic) forwards}.cn-concept.is-leaving.is-accept{--leave-x: 16px}.cn-concept.is-leaving.is-reject{--leave-x: -16px}@keyframes cn-concept-out{0%{opacity:1;transform:translate(0);max-height:26px;margin-bottom:8px}45%{opacity:0;transform:translate(var(--leave-x, 12px));max-height:26px;margin-bottom:8px}to{opacity:0;transform:translate(var(--leave-x, 12px));max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0}}.cn-cmain-empty{flex:1;min-height:0}@media(prefers-reduced-motion:reduce){.cn-collapse,.cn-chev{transition:none}.cn-table.is-syncing .cn-table-name{animation:none;background-position:0 0}.cn-sync-dots i{animation:none;opacity:.7}.cn-tree-inner,.cn-tree-inner.is-concept .cn-sec-concept,.cn-tree-inner.is-concept .cn-concept,.cn-tree-inner.is-concept .cn-accept-all,.cn-concept-tip,.cn-concept.is-entering,.cn-concept.is-leaving{animation:none}.cn-concept.is-leaving{opacity:0}}.cn-th-check{position:absolute;left:16px;top:16px;z-index:2;opacity:0;pointer-events:none;transition:opacity .15s var(--ease-out-quint)}.cn-th:hover .cn-th-check,.cn-th-check.is-on{opacity:1;pointer-events:auto}.cn-th.is-checked:after{opacity:1;transform:scale(1)}.cn-grid .cn-td.is-colsel{background:#be3e820d}.cn-grid .ag-cell.cn-td{padding-left:48px!important;padding-right:36px!important}.cn-bulk-overlay{position:absolute;left:16px;right:16px;bottom:16px;height:253px;z-index:30;pointer-events:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px;background:linear-gradient(to bottom,rgba(33,33,44,0) 0%,var(--color-bg-surface-1) 100%);animation:cn-backdrop-in .3s ease;display:flex;align-items:flex-end;justify-content:center}@keyframes cn-backdrop-in{0%{opacity:0}to{opacity:1}}.cn-bulk-overlay .cn-bulkbar{width:min(798px,calc(100% - 32px));margin-bottom:32px;pointer-events:auto;animation:ds-actionbar-in .28s var(--ease-out-quint) .14s backwards}@media(prefers-reduced-motion:reduce){.cn-bulk-overlay,.cn-bulk-overlay .cn-bulkbar{animation:none}}.cn-bulkbar-add{position:relative;display:inline-flex}.cn-bulkbar-menu{position:absolute;top:auto;bottom:calc(100% + 12px);left:0;min-width:190px;transform-origin:bottom left}.cn-bulkbar .cn-bulkbar-trash{color:var(--color-error)}.cn-addcols{position:relative;display:inline-flex}.cn-addcols-menu{position:absolute;bottom:calc(100% + 8px);left:0;z-index:40;display:flex;align-items:flex-end;gap:4px;text-align:left;font-family:var(--font-ui);font-size:13px}.cn-addcols-menu .dropdown-panel{transform-origin:bottom left}.cn-ac-panel{position:static;width:200px}.cn-ac-scroll{width:224px}.cn-ac-fade{position:sticky;left:0;right:0;height:40px;z-index:1;flex:none;pointer-events:none;opacity:0;transition:opacity .2s ease}.cn-ac-fade.is-top{top:0;margin-bottom:-40px;background:linear-gradient(to bottom,var(--color-bg-floating),transparent)}.cn-ac-fade.is-bottom{bottom:0;margin-top:-40px;background:linear-gradient(to top,var(--color-bg-floating),transparent)}[data-top="1"]>.cn-ac-fade.is-top,[data-bottom="1"]>.cn-ac-fade.is-bottom{opacity:1}.cn-ac-item{display:flex;align-items:center;gap:8px;width:100%;white-space:nowrap;cursor:pointer}.cn-ac-item.is-open,.cn-ac-item.is-active{background:var(--color-bg-hover);color:var(--color-text-primary)}.cn-ac-label{flex:1;text-align:left;min-width:0;overflow:hidden;text-overflow:ellipsis}.cn-ac-caret{transform:rotate(90deg);color:var(--color-text-tertiary);flex:none}.cn-ac-logo{width:20px;height:20px;border-radius:5px;display:flex;align-items:center;justify-content:center;flex:none}.cn-ac-scroll{max-height:288px;overflow-y:auto}.cn-ac-cols{width:288px;display:flex;flex-direction:column}.cn-ac-search{margin:4px 4px 6px;padding:7px 10px;border:0;border-radius:6px;background:var(--color-input-bg-segmented);color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);font-size:12px;outline:none}.cn-ac-search::placeholder{color:var(--color-text-secondary)}.cn-ac-list{max-height:236px;overflow-y:auto}.cn-ac-foot{margin-top:4px;padding:8px 4px 4px;border-top:1px solid var(--color-border-light);display:flex;justify-content:flex-end}.cn-ac-foot .btn{padding:5px 14px;font-size:12px;min-width:0}.cn-ac-count,.cn-ac-from{font-size:11px;color:var(--color-text-tertiary);flex:none}.cn-ac-rec-head{padding:4px 10px 6px;font-size:11px;color:var(--color-text-secondary)}.cn-ac-rec-head b{color:var(--color-text-primary);font-weight:500}.cn-ac-note{padding:10px;font-size:12px;color:var(--color-text-secondary);white-space:normal}.cn-pa-panel{min-width:300px}.cn-pa-panel .cn-ac-label b{color:var(--color-text-primary);font-weight:500}.cn-pa-panel .cn-ac-label{color:var(--color-text-secondary)}.cn-pa-plus{color:var(--color-text-secondary);flex:none}.cn-addcols-menu.is-kbd .cn-ac-item:hover,.cn-pa-panel.is-kbd .cn-ac-item:hover{background:transparent;color:var(--color-text-secondary)}.cn-addcols-menu.is-kbd .cn-ac-item.is-open,.cn-addcols-menu.is-kbd .cn-ac-item.is-active,.cn-pa-panel.is-kbd .cn-ac-item.is-active{background:var(--color-bg-hover);color:var(--color-text-primary)}.cn-pa-del .cn-ac-foot .btn:not(:disabled){background:var(--color-error)}.cn-pa-del .cn-ac-foot .btn:not(:disabled):hover{background:#e0524e}.cn-vtmenu{position:fixed;min-width:176px;z-index:60}.cn-menu-sep{height:1px;margin:6px 4px;background:var(--color-border-light)}.cn-cfg-status{display:inline-flex;align-items:center;gap:6px}.cn-vtd-head{display:flex;align-items:center;gap:12px;min-width:0}.cn-vtd-icon{background:#459ada;border-radius:6px;flex:none}.cn-vtd-head-main{min-width:0;display:flex;flex-direction:column;gap:4px}.cn-vtd-titlerow{display:flex;align-items:center;gap:8px}.cn-vtd-name{font-size:15px;font-weight:500;color:var(--color-text-primary)}.cn-vtd-meta{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--color-text-secondary)}.cn-vtd-meta span{display:inline-flex;align-items:center;gap:4px}.cn-vtd-body{display:flex;flex-direction:column;padding:0 24px 20px}.cn-vtd-sec{margin:20px 0 6px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary)}.cn-vtd-sec:first-child{margin-top:4px}.cn-vtd-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--color-border-light);font-size:13px}.cn-vtd-col{color:var(--color-text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.cn-vtd-from{color:var(--color-text-tertiary);font-size:12px;flex:none}.cn-vtd-empty{color:var(--color-text-secondary);font-size:13px}.cn-vtd-origin-q{flex:none;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;border:0;background:none;color:var(--color-accent);font:inherit;font-size:12px;cursor:pointer}.cn-vtd-origin-q:hover{text-decoration:underline}.cn-vtd-origin-agent{flex:none;font-size:12px;color:#b48ee0}.cn-plusmenu{position:fixed;min-width:216px;z-index:60;transform:translate(-100%);transform-origin:top right}.cn-ac-item.is-disabled{opacity:.35;cursor:default}.cn-tf-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;background:#0a0a0e99;animation:cn-backdrop-in .2s ease}.cn-tf-modal{width:560px;max-width:calc(100vw - 48px);border-radius:12px;background:var(--color-bg-surface-1);border:1px solid var(--color-border-light);animation:cn-tf-in .26s var(--ease-out-quint)}@keyframes cn-tf-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.cn-tf-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px 20px;border-bottom:1px solid var(--color-border-light)}.cn-tf-title{font-family:var(--font-ui);font-size:14px;font-weight:500;color:var(--color-text-primary)}.cn-tf-body{min-height:240px}@media(prefers-reduced-motion:reduce){.cn-tf-backdrop,.cn-tf-modal{animation:none}}.cn-addcols-menu.is-from-plus{position:fixed;bottom:auto;align-items:flex-start}.cn-addcols-menu.is-from-plus .dropdown-panel{transform-origin:top left}.cn-addcols-menu.is-rtl{flex-direction:row-reverse}.cn-addcols-menu.is-rtl .dropdown-panel{transform-origin:top right}.cn-ac-chooser{width:176px;min-width:0}.cn-ac-item.is-active{background:var(--color-bg-hover);color:var(--color-text-primary)}.cn-addcols-menu .dropdown-panel{transition:border-color .15s ease}.cn-addcols-menu.is-kbd .dropdown-panel.is-focus{border-color:var(--color-border-medium)}.cn-addcols-menu .dropdown-panel{-webkit-backdrop-filter:none;backdrop-filter:none}.cn-th-add.is-flex{justify-content:flex-start;padding:0 24px}.cn-addcols-menu.is-from-plus{transition:left .2s var(--ease-out-quint),right .2s var(--ease-out-quint)}.cn-addcols-menu.is-from-plus .cn-ac-scroll{max-height:min(288px,var(--ac-maxh, 288px))}.cn-addcols-menu.is-from-plus .cn-ac-list{max-height:min(236px,calc(var(--ac-maxh, 340px) - 104px))}.cn-tf-body{padding:4px 20px 20px;min-height:0}.cn-tf-sec{margin:16px 0 8px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary);font-family:var(--font-ui)}.cn-tf-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cn-tf-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:6px;background:var(--color-input-bg-segmented);font-family:var(--font-mono);font-size:12px;color:var(--color-text-primary)}.cn-tf-chip-from{color:var(--color-text-tertiary);font-size:11px;font-family:var(--font-ui)}.cn-tf-opsel{position:relative;display:inline-block}.cn-tf-opbtn{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-width:180px;padding:7px 12px;border:1px solid var(--color-border-medium);border-radius:6px;background:none;color:var(--color-text-primary);font-family:var(--font-ui);font-size:13px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.cn-tf-opbtn:hover{background:var(--color-bg-hover)}.cn-tf-opbtn.is-open{border-color:var(--color-border-hard)}.cn-tf-opchev{color:var(--color-text-tertiary);transition:transform .2s var(--ease-out-quint)}.cn-tf-opbtn.is-open .cn-tf-opchev{transform:rotate(180deg)}.cn-tf-opmenu{position:absolute;top:calc(100% + 6px);left:0;min-width:100%;z-index:6}.cn-tf-opmenu .context-item.is-on{color:var(--color-text-primary);background:var(--color-bg-hover)}.cn-tf-opmenu:hover .context-item.is-on:not(:hover){background:transparent}.cn-tf-opmenu .context-item:disabled{opacity:.35;cursor:default}.cn-tf-expr{display:block;width:100%;margin-top:10px;padding:8px 12px;border:1px solid transparent;border-radius:6px;background:var(--color-input-bg-segmented);font-family:var(--font-mono);font-size:12px;color:var(--color-text-secondary);outline:none;white-space:nowrap}.cn-tf-expr::placeholder{color:var(--color-text-tertiary)}.cn-tf-expr.is-custom{color:var(--color-text-primary)}.cn-tf-expr.is-custom:focus{border-color:var(--color-border-medium)}.cn-tf-out{display:flex;align-items:center;gap:10px}.cn-tf-name{flex:1;min-width:0;padding:7px 12px;border:1px solid var(--color-border-medium);border-radius:6px;background:none;color:var(--color-text-primary);font-family:var(--font-mono);font-size:13px;outline:none}.cn-tf-name:focus{border-color:var(--color-border-hard)}.cn-tf-preview{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:12px}.cn-tf-preview th{text-align:left;padding:6px 10px;color:var(--color-text-tertiary);font-weight:400;border-bottom:1px solid var(--color-border-light);font-family:var(--font-ui)}.cn-tf-preview td{padding:6px 10px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.cn-tf-preview .is-result{color:var(--color-text-primary)}.cn-tf-preview th.is-result{color:var(--color-accent)}.cn-tf-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px 16px;border-top:1px solid var(--color-border-light)}.cn-th-computed{color:#b48ee0}.cn-folder-wrap{display:flex;flex-direction:column}.cn-folder{position:relative;margin-left:94px;min-height:28px;padding:0 8px;font-size:13px}.cn-vtables .cn-folder{margin-left:53px}.cn-folder .folder-kebab{margin-right:-3px}.cn-folder:before{content:"";position:absolute;left:-16px;top:50%;width:16px;height:1px;background:var(--color-border-medium)}.cn-vtables .cn-folder:before{left:-12px;width:12px}.cn-folder-wrap .folder-children{position:relative;padding-left:0}.cn-folder-wrap .folder-children:before{content:"";position:absolute;top:0;bottom:14px;width:1px;background:var(--color-border-medium)}.cn-sources .cn-folder-wrap .folder-children:before{left:128px}.cn-sources .cn-folder-wrap .folder-children .cn-table{margin-left:134px}.cn-sources .cn-folder-wrap .folder-children .cn-table:before{left:-6px;width:6px}.cn-vtables .cn-folder-wrap .folder-children:before{left:88px}.cn-vtables .cn-folder-wrap .folder-children .cn-table{margin-left:94px}.cn-vtables .cn-folder-wrap .folder-children .cn-table:before{left:-6px;width:6px}.cn-tbl-kebab{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:auto;margin-right:-3px;border-radius:5px;color:var(--color-text-tertiary);opacity:0;transition:opacity .14s ease,background .14s ease}.cn-table:hover .cn-tbl-kebab{opacity:1}.cn-tbl-kebab:hover{background:#ffffff14;color:var(--color-text-primary)}.cn-raw{height:100%;overflow-y:auto;padding:20px 24px 40px}.cn-raw-note{margin:0 0 14px;font-size:13px;color:var(--color-text-secondary)}.cn-raw-status{padding:20px 24px;font-size:13px;color:var(--color-text-tertiary)}.cn-raw-status.is-error{color:var(--color-alert)}.cn-raw-keys{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.cn-raw-key{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:0;border-radius:var(--radius-small);background:none;color:var(--color-text-primary);font-family:var(--font-mono);font-size:12px;text-align:left;cursor:pointer}.cn-raw-key:hover,.cn-raw-key.is-open{background:var(--color-bg-hover)}.cn-raw-content-wrap{padding:4px 10px 12px 30px}.cn-raw-content{margin:0;padding:10px 12px;border-radius:var(--radius-small);background:var(--color-bg-surface-2);border:1px solid var(--color-border-light);font-family:var(--font-mono);font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-y:auto}.cn-raw-content--primary{max-height:none;overflow-y:visible}.incidents{height:100%;display:flex;flex-direction:column;padding:16px}.inc-body{flex:1;min-height:0;margin-top:16px;overflow-y:auto;padding:0 48px 40px}@keyframes inc-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.inc-list{display:flex;flex-direction:column;gap:8px;max-width:1040px}.inc-row{display:flex;align-items:center;gap:14px;width:100%;padding:14px 18px;border:1px solid transparent;border-radius:var(--radius-small);background:var(--color-card-bg);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .16s var(--ease-out-cubic),border-color .16s var(--ease-out-cubic);animation:inc-rise .4s var(--ease-out-quint) both;animation-delay:calc(var(--order, 0) * 50ms)}.inc-row:hover{background:var(--color-bg-surface-2);border-color:#ffffff24}.inc-row.is-skel{height:68px;cursor:default;background:var(--color-card-bg);opacity:.5}.inc-row-id{flex:none;font-family:var(--font-mono);font-size:12px;color:var(--color-text-tertiary)}.inc-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.inc-row-title{font-family:var(--font-ui);font-size:14px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inc-row-kicker{font-size:12px;color:var(--color-text-tertiary)}.inc-row-meta{flex:none;font-size:12px;color:var(--color-text-tertiary)}.inc-row-chev{flex:none;transform:rotate(90deg);color:var(--color-text-tertiary)}.inc-status{flex:none;padding:2px 8px;border-radius:200px;font-family:var(--font-ui);font-size:12px;line-height:18px}.inc-status.is-waiting{background:#d4a43724;color:#d4a437}.inc-status.is-active{background:#f052521f;color:var(--color-error)}.inc-status.is-contained{background:#45d19a1f;color:var(--color-status-ok)}.inc-status.is-resolved{background:var(--color-bg-hover);color:var(--color-text-secondary)}.inc-detail{max-width:1040px;animation:inc-rise .4s var(--ease-out-quint) both}.inc-d-top{display:flex;align-items:flex-start;gap:14px}.inc-d-titleblock{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.inc-d-titlerow{display:flex;align-items:center;gap:10px;min-width:0}.inc-d-title{margin:0;font-family:var(--font-ui);font-size:18px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inc-d-sub{margin:0;font-size:13px;color:var(--color-text-secondary);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inc-d-link{color:var(--color-text-primary)}.inc-d-rule{padding:1px 6px;border-radius:4px;background:var(--color-input-bg-segmented);font-family:var(--font-mono);font-size:12px;color:var(--color-text-secondary)}.inc-d-summary{margin:18px 0 0;max-width:760px;font-size:14px;line-height:22px;color:var(--color-text-secondary)}.inc-d-impact{display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:12px;margin-top:20px}.inc-d-stat{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:var(--radius-small);background:var(--color-card-bg)}.inc-d-stat-n{font-family:var(--font-display);font-size:24px;line-height:30px;color:var(--color-text-primary)}.inc-d-stat-l{font-size:12px;color:var(--color-text-tertiary)}.inc-d-sec{margin-top:32px;min-width:0}.inc-d-sec-title{margin:0 0 14px;font-family:var(--font-ui);font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary)}.inc-alert{display:grid;grid-template-columns:max-content 96px max-content;align-items:start;justify-content:start;padding:20px;border-radius:var(--radius-small);background:var(--color-card-bg);overflow-x:auto}.inc-alert-col{display:flex;flex-direction:column;min-width:0}.inc-alert-wires{flex:none;margin:0 4px}.inc-alert-wires path{fill:none;stroke:var(--color-border-hard);stroke-width:1.5}.inc-alert-wires path.is-feed{stroke:var(--color-error);opacity:.7}.inc-ip,.inc-vip{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0}.inc-ip-row{display:flex;align-items:center;gap:8px;min-width:0}.inc-ip-addr{font-family:var(--font-mono);font-size:13px;color:var(--color-text-primary)}.inc-ip-feed{padding:1px 6px;border-radius:200px;background:#f052521f;color:var(--color-error);font-size:11px;line-height:16px}.inc-ip-sub{margin:0;font-family:var(--font-mono);font-size:12px;color:var(--color-text-tertiary)}.inc-vip-name{font-family:var(--font-ui);font-size:14px;font-weight:500;color:var(--color-text-primary)}.inc-vip-tier{padding:1px 6px;border-radius:200px;background:#b48ee024;color:#b48ee0;font-size:11px;line-height:16px}.inc-vip-miss{padding:1px 6px;border-radius:200px;background:#d4a43724;color:#d4a437;font-size:11px;line-height:16px}.inc-curves{position:relative;display:block;padding:18px 20px 30px}.inc-curves-legend{display:flex;gap:20px;margin-bottom:14px;flex-wrap:wrap}.inc-curves-key{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--color-text-secondary)}.inc-curves-key i{width:14px;height:2px;border-radius:2px}.inc-curves-svg{display:block;width:100%;height:190px}.inc-curves-svg path{fill:none;stroke-width:1.8;vector-effect:non-scaling-stroke}.inc-curves-mark{stroke:var(--color-border-hard);stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.inc-curves-marklabel{position:absolute;bottom:8px;transform:translate(-50%);font-family:var(--font-mono);font-size:11px;color:var(--color-text-tertiary);white-space:nowrap}.inc-chip{padding:1px 6px;border-radius:200px;font-size:11px;line-height:16px;background:var(--color-bg-hover);color:var(--color-text-secondary)}.inc-chip.is-violet{background:#b48ee024;color:#b48ee0}.inc-chip.is-warn{background:#d4a43724;color:#d4a437}.inc-chip.is-error{background:#f052521f;color:var(--color-error)}.inc-chip.is-ok{background:#45d19a1f;color:var(--color-status-ok)}.inc-chip.is-accent{background:#be3e8229;color:var(--color-accent)}.inc-d-joinnote{display:flex;align-items:center;gap:8px;margin:10px 0 0;font-size:12px;color:var(--color-text-tertiary)}.inc-d-joinnote .icon{color:var(--color-success);flex:none}.inc-d-cols{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px}@media(max-width:1100px){.inc-d-cols{grid-template-columns:minmax(0,1fr);gap:0}}.inc-tl{display:flex;flex-direction:column}.inc-tl-item{position:relative;display:flex;gap:12px;padding:12px 12px 14px 0}.inc-tl-item:before{content:"";position:absolute;left:51px;top:30px;bottom:-6px;width:1px;background:var(--color-border-light)}.inc-tl-item:last-child:before{display:none}.inc-tl-time{flex:none;width:36px;padding-top:2px;font-family:var(--font-mono);font-size:12px;color:var(--color-text-tertiary);text-align:right}.inc-tl-dot{flex:none;width:9px;height:9px;margin-top:5px;border-radius:50%;border:1.5px solid var(--color-border-hard);background:var(--color-bg-surface-1);z-index:1}.inc-tl-dot.is-agent{border-color:#b48ee0;background:#b48ee040}.inc-tl-dot.is-human{border-color:var(--color-accent);background:#be3e824d}.inc-tl-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.inc-tl-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inc-tl-label{font-family:var(--font-ui);font-size:13px;font-weight:500;color:var(--color-text-primary)}.inc-tl-detail{margin:0;font-size:13px;line-height:20px;color:var(--color-text-secondary)}.inc-who{flex:none;padding:1px 7px;border-radius:200px;font-family:var(--font-ui);font-size:11px;line-height:17px}.inc-who.is-agent{background:#b48ee024;color:#b48ee0}.inc-who.is-human{background:#be3e8229;color:var(--color-accent)}.inc-who.is-rule{background:var(--color-bg-hover);color:var(--color-text-secondary)}.inc-prov{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:4px;background:var(--color-input-bg-segmented);font-family:var(--font-mono);font-size:11px;color:var(--color-text-tertiary);cursor:default}.inc-prov i{font-style:normal;opacity:.6}.inc-tl-item.is-pending{background:#d4a4370d;border:1px solid rgba(212,164,55,.25);border-radius:var(--radius-small);padding-left:12px;margin-top:4px}.inc-tl-item.is-pending:before{display:none}.inc-tl-approve{display:flex;align-items:center;gap:12px;margin-top:8px}.inc-tl-approve-note{font-size:12px;color:#d4a437}.inc-ev{display:flex;flex-direction:column;gap:8px}.inc-ev-row{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:var(--radius-small);background:var(--color-card-bg)}.inc-ev-label{font-size:13px;line-height:20px;color:var(--color-text-primary)}.inc-d-raised{color:var(--color-text-tertiary)}.inc-origin{display:inline-flex;align-items:center;gap:7px;padding:3px 10px;border:1px solid var(--color-border-medium);border-radius:200px;background:none;color:var(--color-text-primary);font-family:var(--font-ui);font-size:12px;line-height:18px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.inc-origin:hover{background:var(--color-bg-hover);border-color:var(--color-border-hard)}.inc-origin .icon{color:var(--color-text-secondary)}.inc-origin-run{font-family:var(--font-mono);color:var(--color-text-tertiary)}.inc-origin-go{color:var(--color-text-tertiary)}.inc-row-meta{display:inline-flex;align-items:center;gap:6px}.inc-row-meta .icon{color:var(--color-text-tertiary);flex:none}.inc-row-origin{max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inc-toolbar{display:flex;justify-content:flex-end;max-width:1040px;margin-bottom:10px}.ctl{display:flex;flex-direction:column;height:100%;min-height:0;padding:16px}.ctl-body{flex:1;min-height:0;margin-top:16px;overflow-y:auto;padding:0 48px 32px;display:flex;flex-direction:column;gap:32px}.ctl-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.ctl-card{border:1px solid var(--color-border-light);border-radius:var(--radius-medium, 10px);background:var(--color-bg-surface);padding:16px 18px;display:flex;flex-direction:column;gap:8px}.ctl-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ctl-card-title{font-size:13px;color:var(--color-text-secondary)}.ctl-metric-row{display:flex;align-items:baseline;gap:8px}.ctl-metric{font-size:30px;font-weight:600;color:var(--color-text-primary);line-height:1;letter-spacing:-.02em}.ctl-unit{font-size:13px;color:var(--color-text-secondary)}.ctl-sub{margin:0;font-size:12px;color:var(--color-text-secondary);line-height:1.45}.ctl-why{font-style:italic}.ctl-section{display:flex;flex-direction:column;gap:12px}.ctl-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.ctl-section-title{margin:0;font-size:15px;font-weight:600;color:var(--color-text-primary)}.ctl-aside{font-size:12px;color:var(--color-text-secondary)}.ctl-status{font-size:13px;color:var(--color-text-tertiary);padding:8px 0}.ctl-status.is-error{color:var(--color-alert)}.ctl-cell-main{display:inline-flex;align-items:center;gap:8px}.ctl-mono{font-family:var(--font-mono);font-size:12px}.ctl-dim{color:var(--color-text-secondary)}.ctl-ok{color:var(--color-status-ok, #00ad67)}.ctl-bad{color:var(--color-alert, #f24d2c)}.ctl-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.ctl-kpi{border:1px solid var(--color-border-light);border-radius:var(--radius-small, 8px);padding:12px 14px;background:var(--color-bg-surface);display:flex;flex-direction:column;gap:6px}.ctl-kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.ctl-kpi-title{font-size:13px;font-weight:500;color:var(--color-text-primary)}.ctl-kpi-rationale{margin:0;font-size:12px;color:var(--color-text-secondary);line-height:1.45}.ctl-kpi-foot{display:flex;gap:6px;font-size:11px;color:var(--color-text-tertiary);font-family:var(--font-mono)}.ctl-purposes{display:flex;flex-direction:column;gap:6px}.ctl-purpose{display:flex;align-items:baseline;gap:8px;font-size:13px;padding:6px 0;border-bottom:1px solid var(--color-border-light)}.ctl-purpose-name{font-family:var(--font-mono);color:var(--color-text-primary);flex:none}.ctl-purpose-desc{color:var(--color-text-secondary);font-size:12px}.ctl-scopes{display:flex;flex-wrap:wrap;gap:8px}.ctl-scope{font-family:var(--font-mono);font-size:12px}.coach-ring{position:fixed;z-index:90;border:1.5px solid var(--color-accent);border-radius:10px;box-shadow:0 0 0 4px #be3e8224;pointer-events:none;transition:left .35s var(--ease-in-out-cubic),top .35s var(--ease-in-out-cubic),width .35s var(--ease-in-out-cubic),height .35s var(--ease-in-out-cubic);animation:coach-in .3s var(--ease-out-quint) both}.coach-card{position:fixed;z-index:91;padding:18px 20px 16px;border-radius:12px;background:var(--color-bg-floating);border:1px solid var(--color-border-light);box-shadow:0 16px 40px #00000073;transition:left .35s var(--ease-in-out-cubic),top .35s var(--ease-in-out-cubic),bottom .35s var(--ease-in-out-cubic);animation:coach-in .3s var(--ease-out-quint) both}@keyframes coach-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.coach-ring,.coach-card{transition:none;animation:none}}.coach-close{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:6px;background:none;color:var(--color-text-tertiary);cursor:pointer}.coach-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.coach-title{margin:0 24px 8px 0;font-family:var(--font-ui);font-size:15px;font-weight:500;color:#fff}.coach-body{margin:0;font-size:13px;line-height:20px;color:var(--color-text-secondary)}.coach-foot{display:flex;align-items:center;justify-content:space-between;margin-top:16px}.coach-count{font-family:var(--font-mono);font-size:12px;color:var(--color-text-tertiary)}.coach-next{padding:6px 16px;border:0;border-radius:200px;background:#fff;color:#111;font-family:var(--font-ui);font-size:13px;font-weight:500;cursor:pointer;transition:transform .1s ease-out,opacity .15s ease}.coach-next:hover{opacity:.9}.coach-next:active{transform:scale(.96)}.coach-actions{display:inline-flex;align-items:center;gap:14px}.coach-back{padding:0;border:0;background:none;color:var(--color-text-secondary);font-family:var(--font-ui);font-size:13px;cursor:pointer}.coach-back:hover{color:var(--color-text-primary)}.coach-hint{font-size:12px;color:var(--color-accent)}.alert-toast{position:fixed;right:24px;bottom:24px;z-index:200;display:flex;flex-direction:column;gap:6px;width:400px;max-width:calc(100vw - 48px);padding:14px 16px;border-radius:10px;border:2px solid rgba(219,102,114,.22);background:#2a1e22;box-shadow:0 0 8px #00000014,0 14px 34px #0006;will-change:transform,opacity,filter;animation:alert-toast-in .5s var(--ease-out-quint) both}.alert-toast.is-warn{border-color:#ecf78829;background:#28271e}@keyframes alert-toast-in{0%{opacity:0;transform:translateY(14px) scale(.97);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}.alert-toast-head{display:flex;align-items:center;gap:8px}.alert-toast-time{font-family:var(--font-mono);font-size:12px;color:var(--color-text-primary)}.alert-toast-kicker{flex:1;min-width:0;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary)}.alert-toast-close{display:grid;place-items:center;flex:none;width:20px;height:20px;padding:0;border:0;border-radius:4px;background:none;color:var(--color-text-tertiary);cursor:pointer;transition:color .14s ease,background .14s ease}.alert-toast-close:hover{color:var(--color-text-primary);background:#ffffff0f}.alert-toast-title{margin:0;font-size:14px;font-weight:500;line-height:18px;color:var(--color-text-primary)}.alert-toast-sub{margin:0;font-size:12px;line-height:16px;color:var(--color-text-secondary)}.alert-toast-actions{display:flex;justify-content:flex-end;margin-top:6px}.login{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-app)}.login-card{display:flex;flex-direction:column;gap:16px;width:320px;padding:28px;border-radius:16px;background:var(--color-bg-floating);border:1px solid var(--color-border-light);animation:login-in .4s var(--ease-out-quint) both}.login-brand{font-family:var(--font-display);font-size:22px;color:var(--color-text-primary);text-align:center}.login-sub{font-size:12px;color:var(--color-text-secondary);text-align:center;margin-top:-8px}.login-field{display:flex;flex-direction:column;gap:6px}.login-field label{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.login-field input{padding:9px 12px;border-radius:8px;border:1px solid var(--color-border-light);background:var(--color-bg-app);color:var(--color-text-primary);font-size:13px}.login-field input:focus{outline:none;border-color:var(--color-accent)}.login-error{font-size:12px;color:var(--color-error)}.login-tenants{display:flex;flex-direction:column;gap:8px}.login-tenant-btn{display:flex;align-items:center;justify-content:space-between;width:100%}@keyframes login-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.toggle{position:relative;flex-shrink:0;width:32px;height:18px;padding:0;border:0;border-radius:200px;background:var(--color-bg-surface-1);cursor:pointer;transition:background .2s var(--ease-out-quint)}.toggle.is-on{background:var(--color-success-deep)}.toggle-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .2s var(--ease-out-quint)}.toggle.is-on .toggle-knob{transform:translate(14px)}.ontology-editor{display:flex;flex-direction:column;width:calc(100vw - 64px);height:calc(100vh - 64px);padding:40px;background:var(--color-bg-app);border:1px solid var(--color-border-light);border-radius:var(--radius-small);overflow:hidden;animation:modal-pop-in .3s var(--ease-out-quint)}.editor-header{display:flex;align-items:flex-start;justify-content:space-between}.editor-title{display:flex;align-items:center;gap:12px}.editor-title h2{font-size:24px;line-height:32px;font-weight:500}.editor-title-pencil{color:var(--color-text-secondary)}.editor-subtitle{margin-top:16px;color:var(--color-text-secondary)}.editor-divider{height:1px;margin-top:32px;background:var(--color-border-medium)}.editor-dropzone{position:relative;flex:1;min-height:0;margin-top:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-bg-floating);border:1px dashed var(--color-border-medium);border-radius:var(--radius-small);transition:border-color .15s ease,background .15s ease}.editor-dropzone.is-dragging{border-color:var(--color-accent);background:#be3e820a}.dropzone-arrow{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-small);background:var(--color-bg-app);color:var(--color-accent);transition:transform .2s var(--ease-out-quint),background .2s ease}.editor-dropzone.is-dragging .dropzone-arrow{transform:translateY(-3px) scale(1.06);background:#2a1f27}.rot-270{transform:rotate(270deg)}.dropzone-title{margin-top:16px;font-size:24px;line-height:32px;font-weight:500;color:var(--color-text-primary)}.dropzone-link{border:0;padding:0;background:none;color:var(--color-text-primary);font:inherit;font-family:var(--font-ui);font-weight:500;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.dropzone-hint{margin-top:12px;font-size:13px;color:var(--color-text-secondary)}.dropzone-sample{margin-top:16px;padding:14px 18px;min-width:471px;border-radius:8px;background:#1a1a2299;font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:13px;line-height:24px;color:#c8c8d066;text-align:left}.syntax-concept{color:#88adf780}.syntax-meta{color:#7a7a7a80}.syntax-comment{color:#c8c8d066}.syntax-rule{color:#ecf78880}.dropzone-caption{margin-top:16px;font-size:13px;color:var(--color-text-secondary)}.dropzone-or{position:relative;margin-top:32px;width:416px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:13px}.dropzone-or:before,.dropzone-or:after{content:"";flex:1;height:1px;background:var(--color-border-light)}.dropzone-or span{padding:0 12px}.editor-dropzone .modal-back{margin-top:32px;border-color:#ffffff3d}.editor-footer{display:flex;justify-content:flex-end;padding-top:40px}.upload-overlay{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:2;display:flex;align-items:center;justify-content:center;border:1px dashed var(--color-accent);border-radius:var(--radius-small);background:var(--color-backdrop);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);animation:backdrop-in .2s ease}.upload-card{display:flex;flex-direction:column;gap:22px;width:720px;max-width:calc(100% - 48px);padding:24px;border-radius:var(--radius-small);background:var(--color-bg-surface-1);animation:modal-pop-in .28s var(--ease-out-quint)}.upload-card-top{display:flex;align-items:center;gap:16px}.upload-file-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border-radius:var(--radius-small);background:#be3e8229;color:var(--color-accent)}.upload-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.upload-file-name{font-size:16px;line-height:24px;color:var(--color-text-primary)}.upload-file-meta{font-size:13px;color:var(--color-text-secondary)}.upload-close{display:flex;align-items:center;justify-content:center;align-self:flex-start;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:none;color:var(--color-text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.upload-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.upload-progress{display:flex;align-items:center;gap:16px}.upload-progress-track{flex:1;height:4px;border-radius:200px;background:var(--color-success-track);overflow:hidden}.upload-progress-fill{height:100%;border-radius:200px;background:var(--color-success-deep);transition:width .12s linear}.upload-progress-pct{min-width:34px;font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:13px;text-align:right;color:var(--color-text-primary)}.ontology-result{flex:1;min-height:0;margin-top:40px;display:flex;gap:96px;align-items:stretch;animation:result-in .35s var(--ease-out-quint)}@keyframes result-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.result-code,.result-preview{flex:1;min-width:0;display:flex;flex-direction:column;border:1px solid var(--color-border-light);border-radius:var(--radius-small);background:var(--color-bg-floating);overflow:hidden}.result-code-header{display:flex;align-items:center;justify-content:space-between;height:48px;flex-shrink:0;padding:0 24px;background:var(--color-bg-app);border-bottom:1px solid var(--color-border-light)}.result-code-name{font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:13px;color:#9a9aa5}.result-chip{padding:1px 4px;border-radius:2px;background:#3b61198a;color:#b6cf9f;font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:16px}.result-code-body{flex:1;min-height:0;display:flex;overflow:auto}.result-gutter{flex-shrink:0;display:flex;flex-direction:column;gap:4px;padding:16px 12px 16px 24px;border-right:1px solid var(--color-border-light);font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:13px;line-height:16px;text-align:right;color:var(--color-text-secondary)}.result-code-lines{flex:1;display:flex;flex-direction:column;gap:4px;padding:16px 24px;font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:13px;line-height:16px;white-space:pre}.code-line{display:block;min-height:16px;color:#c8c8d0}.code-h1{color:var(--color-text-primary)}.code-concept{color:#88adf7}.code-meta{color:var(--color-text-secondary)}.code-comment{color:#c8c8d0}.code-rule{color:#ecf788}.result-preview-header{display:flex;align-items:center;height:48px;flex-shrink:0;padding:0 24px;border-bottom:1px solid var(--color-border-light);font-weight:500;color:var(--color-text-primary)}.result-preview-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;padding:16px 22px 8px}.result-preview-count{margin:8px 2px 12px;color:var(--color-text-primary)}.result-cards{display:flex;flex-direction:column;gap:12px}.result-card{padding:8px 12px;border-radius:var(--radius-small);background:var(--color-bg-app);animation:card-in .3s var(--ease-out-quint) backwards}.result-card.is-rule{background:#ecf7880d}.result-card:nth-child(1){animation-delay:.06s}.result-card:nth-child(2){animation-delay:.13s}.result-card:nth-child(3){animation-delay:.2s}.result-card:nth-child(4){animation-delay:.27s}@keyframes card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.result-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:20px}.result-card-name{display:flex;align-items:center;gap:8px;color:var(--color-text-primary)}.result-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--color-success-deep)}.result-dot.is-rule{background:var(--color-alert)}.result-card-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.result-card-source{font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:12px;color:#9a9aa5}.result-card-lines{margin:8px 0 0 15px;padding-left:12px;list-style:disc;font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:16px;color:#9a9aa5}.result-card-expr{margin:8px 0 0 15px;font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:16px;color:#9a9aa5}.result-validation{display:flex;gap:8px;flex-shrink:0;padding:16px 24px;border-top:1px solid var(--color-border-light)}.result-valid-icon{flex-shrink:0;margin-top:2px;color:var(--color-success)}.result-valid-title{color:var(--color-text-primary)}.result-valid-desc{margin-top:4px;font-size:12px;color:#9a9aa5}.showcase{display:flex;height:100vh;background:var(--color-bg-app);color:var(--color-text-primary)}.showcase-nav{width:232px;flex-shrink:0;height:100vh;overflow-y:auto;padding:24px 16px;border-right:1px solid var(--color-border-light);background:var(--color-bg-floating)}.showcase-brand{display:flex;align-items:center;gap:8px;padding:0 8px 20px;font-weight:500;font-size:15px}.showcase-brand-dot{width:14px;height:14px;border-radius:50%;background:var(--color-accent)}.showcase-nav-group{margin-top:18px}.showcase-nav-title{padding:0 8px;margin-bottom:6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.showcase-nav-link{display:block;padding:6px 8px;border-radius:var(--radius-small);color:var(--color-text-secondary);text-decoration:none;transition:background .14s ease,color .14s ease}.showcase-nav-link:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.showcase-nav-back{display:inline-block;margin-top:28px;padding:0 8px;color:var(--color-text-tertiary);text-decoration:none}.showcase-nav-back:hover{color:var(--color-text-primary)}.showcase-main{flex:1;min-width:0;height:100vh;overflow-y:auto;padding:48px 56px 120px}.showcase-head{max-width:720px;margin-bottom:8px}.showcase-head h1{font-family:var(--font-display);font-size:40px;line-height:48px;font-weight:400}.showcase-head p{margin-top:12px;color:var(--color-text-secondary);line-height:20px}.showcase-section{max-width:860px;padding:40px 0;border-top:1px solid var(--color-border-light);margin-top:40px;scroll-margin-top:24px}.showcase-section h2{font-size:24px;line-height:32px;font-weight:500;margin-bottom:20px}.subsection{margin-top:28px}.subsection h3{font-size:13px;font-weight:500;color:var(--color-text-secondary);margin-bottom:14px}.section-note{margin:-8px 0 20px;color:var(--color-text-secondary);line-height:20px}.showcase code{font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.swatch{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--color-border-light);border-radius:8px;background:var(--color-bg-surface-1)}.swatch-chip{width:40px;height:40px;flex-shrink:0;border-radius:6px;border:1px solid var(--color-border-medium)}.swatch-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.swatch-name{color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis}.swatch-value{font-size:12px;color:var(--color-text-tertiary)}.font-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.font-card{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--color-border-light);border-radius:8px;background:var(--color-bg-surface-1)}.font-name{font-size:12px;color:var(--color-text-secondary)}.type-list{display:flex;flex-direction:column}.type-row{display:flex;align-items:baseline;gap:24px;padding:16px 0;border-top:1px solid var(--color-border-light)}.type-row:first-child{border-top:0}.type-label{width:260px;flex-shrink:0;font-size:12px;color:var(--color-text-tertiary)}.size-list,.radius-list{display:flex;flex-direction:column;gap:14px}.size-row,.radius-row{display:flex;align-items:center;gap:16px}.size-bar{background:var(--color-accent);border-radius:2px;flex-shrink:0}.radius-box{width:44px;height:44px;flex-shrink:0;background:var(--color-bg-hover);border:1px solid var(--color-border-medium)}.size-value{color:var(--color-text-tertiary);font-size:12px}.ease-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.ease-item{display:flex;flex-direction:column;gap:8px}.ease-head{display:flex;align-items:center;justify-content:space-between}.ease-track{position:relative;height:32px;border-radius:200px;background:var(--color-bg-surface-1);border:1px solid var(--color-border-light)}.ease-dot{position:absolute;top:3px;left:4px;width:24px;height:24px;border-radius:50%;background:var(--color-accent);animation:ease-run 1.6s infinite alternate}@keyframes ease-run{0%{left:4px}to{left:calc(100% - 28px)}}.ease-label{font-size:12px;color:var(--color-text-secondary)}.keyframe-tags{display:flex;flex-wrap:wrap;gap:8px}.keyframe-tag{padding:4px 10px;border-radius:200px;background:var(--color-bg-surface-1);border:1px solid var(--color-border-light);color:var(--color-text-secondary)}.example{display:flex;flex-direction:column;gap:12px}.example-preview{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:28px;border:1px solid var(--color-border-light);border-radius:10px;background:var(--color-bg-surface-1)}.example-source{margin-top:4px}.example-source summary{cursor:pointer;color:var(--color-text-secondary);font-size:13px;padding:4px 0}.example-source summary:hover{color:var(--color-text-primary)}.demo-check{display:inline-flex;align-items:center;gap:8px;color:var(--color-text-secondary);cursor:pointer}.code-block{position:relative;border:1px solid var(--color-border-light);border-radius:8px;background:var(--color-bg-floating);overflow:hidden}.code-block pre{margin:0;padding:16px 18px;overflow-x:auto}.code-block code{font-family:Test Söhne Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px;line-height:20px;color:#c8c8d0;white-space:pre}.code-copy{position:absolute;top:8px;right:8px;z-index:1;padding:4px 10px;border:1px solid var(--color-border-medium);border-radius:200px;background:var(--color-bg-surface-1);color:var(--color-text-secondary);font:inherit;font-family:var(--font-ui);font-size:12px;cursor:pointer;transition:background .15s ease,color .15s ease}.code-copy:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.icon-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:4px;width:100%}.icon-cell{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px 10px;border:0;border-radius:var(--radius-small);background:none;color:var(--color-text-secondary);font:inherit;font-family:var(--font-mono);font-size:11px;cursor:pointer;transition:background .14s ease,color .14s ease}.icon-cell:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.icon-cell-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
