.ab-card-icon,.ab-card-icon-dark{width:2rem;height:2rem;color:var(--brand);border-radius:0;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:.75rem;display:inline-flex}.ab-card-icon{border:1px solid var(--line)}.ab-card-icon-dark{border:1px solid var(--dark-border,#ffffff1a)}.ab-hero-grid{position:relative}.ab-hero-grid:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,var(--line)1px,transparent 1px),repeating-linear-gradient(0deg,transparent 0,transparent 59px,var(--line)59px,var(--line)60px);opacity:.12;background-size:24px 24px,100% 60px;position:absolute;inset:0}.ab-hero-grid>*{z-index:1;position:relative}.ab-canvas-mock{border:1px solid var(--line);background:var(--surface-subtle);border-radius:0;width:100%;position:relative;overflow:hidden}.ab-canvas-mock:before{content:"";pointer-events:none;background:radial-gradient(circle,var(--line)1px,transparent 1px);opacity:.5;background-size:24px 24px;position:absolute;inset:0}.ab-canvas-title{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--foreground-secondary);background:var(--background);border-bottom:1px solid var(--line);padding:.75rem 1.05rem;font-size:.68rem;font-weight:600;position:relative}.ab-canvas-flow{flex-direction:column;gap:.75rem;min-height:180px;padding:1.05rem;display:flex;position:relative}.ab-canvas-row{justify-content:center;gap:.75rem;display:flex;position:relative}.ab-node{border:1px solid var(--line-strong);background:var(--background);font-family:var(--font-mono);color:var(--text);white-space:nowrap;border-radius:0;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.72rem;font-weight:500;transition:transform .15s cubic-bezier(.25,1,.5,1),box-shadow .15s cubic-bezier(.25,1,.5,1);display:inline-flex;position:relative}.ab-node:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.ab-node:before{content:"";border-radius:50%;flex-shrink:0;width:6px;height:6px}.ab-node--trigger:before{background:var(--status-green)}.ab-node--condition:before{background:var(--status-warning)}.ab-node--action:before{background:var(--brand)}.ab-node--escalate:before{background:var(--status-error)}.ab-node--log:before{background:var(--foreground-secondary)}.ab-node--deploy:before{background:var(--status-green)}.ab-node--notify:before{background:var(--status-warning)}.ab-canvas-connector{text-align:center;font-family:var(--font-mono);color:var(--foreground-secondary);padding:.5rem 0;font-size:.72rem;line-height:1;position:relative}.ab-canvas-connector:before{content:"";background:repeating-linear-gradient(180deg,var(--line-strong)0,var(--line-strong)4px,transparent 4px,transparent 8px);pointer-events:none;width:1px;position:absolute;top:0;bottom:0;left:50%}.ab-canvas-meta{font-family:var(--font-mono);color:var(--foreground-secondary);border-top:1px solid var(--line);background:var(--background);gap:1rem;padding:.75rem 1.05rem;font-size:.72rem;display:flex;position:relative}.ab-canvas-meta span{white-space:nowrap}.ab-canvas-meta span:not(:last-child):after{content:"·";color:var(--line-strong);margin-left:1rem}.ab-nl-panel{border:1px solid var(--line);border-radius:0;grid-template-columns:1fr 1fr;margin-top:2rem;display:grid;overflow:hidden;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}.ab-nl-input{background:var(--dark);border-right:1px solid var(--line);flex-direction:column;gap:1rem;padding:2.5rem;display:flex}.ab-nl-prompt-label{font-family:var(--font-mono);color:var(--brand);-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:1.1rem;font-weight:500}.ab-nl-prompt-text{font-family:var(--font-mono);color:var(--primary-foreground);opacity:.92;font-size:.9rem;font-weight:400;line-height:1.55}.ab-nl-meta{border-top:1px solid #ffffff1a;gap:0;margin-top:auto;padding-top:.75rem;display:flex}.ab-nl-meta-item{font-family:var(--font-mono);color:#ffffff8c;padding-right:1rem;font-size:.74rem;font-weight:500}.ab-nl-meta-item:not(:last-child){border-right:1px solid #ffffff1a;margin-right:1rem}.ab-nl-meta-item strong{color:#fffc;font-weight:600}.ab-nl-output{background:var(--background);flex-direction:column;gap:0;padding:2.5rem;display:flex}.ab-nl-output-title{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--foreground-secondary);border-bottom:1px solid var(--line);margin-bottom:1rem;padding-bottom:.75rem;font-size:.72rem;font-weight:600}.ab-nl-step{grid-template-columns:auto auto 1fr auto;align-items:center;gap:.75rem;padding:.75rem 0;display:grid}.ab-nl-step:not(:last-child){border-bottom:1px solid var(--line)}.ab-step-number{font-family:var(--font-mono);color:var(--foreground-secondary);font-size:.78rem;font-weight:400}.ab-step-type{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:0;padding:.25rem .5rem;font-size:.68rem;font-weight:600}.ab-step-type--trigger{color:var(--status-green);background:#16a34a14}.ab-step-type--classify{color:var(--status-warning);background:#d9770614}.ab-step-type--action{color:var(--brand);background:var(--brand-soft)}.ab-step-type--condition{color:var(--status-warning);background:#d9770614}.ab-step-type--escalate{color:var(--status-error);background:#dc262614}.ab-step-label{color:var(--text);font-size:.88rem;font-weight:500}.ab-step-system{font-family:var(--font-mono);color:var(--foreground-secondary);text-align:right;font-size:.74rem}.ab-step-divider{background:repeating-linear-gradient(90deg,var(--line)0,var(--line)6px,transparent 6px,transparent 12px);grid-column:1/-1;height:1px;margin:.5rem 0}.ab-grid-bg{position:relative}.ab-grid-bg:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,var(--line)1px,transparent 1px);opacity:.35;background-size:28px 28px;position:absolute;inset:0}.ab-grid-bg>*{z-index:1;position:relative}.ab-node-grid{border:1px solid var(--line);counter-reset:ab-node;border-radius:0;grid-template-columns:repeat(4,1fr);gap:0;margin-top:2rem;display:grid;position:relative}.ab-node-cell{counter-increment:ab-node;padding:2.5rem;transition:background .18s cubic-bezier(.25,1,.5,1);position:relative;overflow:hidden}.ab-node-cell:not(:last-child){border-right:1px solid var(--line)}.ab-node-cell:hover{background:var(--surface-subtle)}.ab-node-cell:before{content:counter(ab-node,decimal-leading-zero);font-family:var(--font-mono);color:var(--line);opacity:.5;pointer-events:none;font-size:clamp(3.5rem,6vw,5rem);font-weight:200;line-height:1;position:absolute;top:-.15em;right:.75rem}.ab-node-type{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:0;margin-bottom:.75rem;padding:.3rem .5rem;font-size:.68rem;font-weight:600;display:inline-block}.ab-node-type--trigger{color:var(--status-green);background:#16a34a14;border:1px solid #16a34a33}.ab-node-type--condition{color:var(--status-warning);background:#d9770614;border:1px solid #d9770633}.ab-node-type--action{color:var(--brand);background:var(--brand-soft);border:1px solid #3f5bff33}.ab-node-type--escalation{color:var(--status-error);background:#dc262614;border:1px solid #dc262633}.ab-node-label{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ab-node-desc{color:var(--foreground-secondary);margin-bottom:1rem;font-size:.86rem;line-height:1.5}.ab-node-config{border-left:2px solid var(--brand);flex-direction:column;gap:.5rem;margin:0;padding:0 0 0 .75rem;list-style:none;display:flex}.ab-node-config li{font-family:var(--font-mono);color:var(--foreground-secondary);font-size:.74rem;line-height:1.4}.ab-node-config-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text);margin-bottom:.5rem;font-size:.68rem;font-weight:600}.ab-node-connector{align-items:center;gap:.75rem;margin-top:1.5rem;padding:0 1rem;display:flex}.ab-node-connector:before,.ab-node-connector:after{content:"";background:repeating-linear-gradient(90deg,var(--line-strong)0,var(--line-strong)6px,transparent 6px,transparent 12px);flex:1;height:1px}.ab-node-connector span{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--foreground-secondary);white-space:nowrap;font-size:.72rem;font-weight:500}.ab-refinement-panel{border:1px solid var(--line);border-radius:0;grid-template-columns:1fr 1fr;margin-top:2rem;display:grid;overflow:hidden}.ab-refine-input{background:var(--surface-soft);border-right:1px solid var(--line);flex-direction:column;gap:1rem;padding:2.5rem;display:flex}.ab-refine-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text);border-bottom:1px solid var(--line);padding-bottom:.75rem;font-size:.72rem;font-weight:600}.ab-refine-text{font-family:var(--font-mono);color:var(--text);font-size:.9rem;font-weight:400;line-height:1.55}.ab-refine-changes{border-top:1px solid var(--line);flex-direction:column;gap:.5rem;margin-top:auto;padding-top:.75rem;display:flex}.ab-refine-change-item{font-family:var(--font-mono);color:var(--foreground-secondary);font-size:.76rem;line-height:1.4}.ab-refine-change-item strong{font-weight:600}.ab-refine-change-item--added strong{color:var(--status-green)}.ab-refine-change-item--modified strong{color:var(--status-warning)}.ab-refine-change-item--removed strong{color:var(--status-error)}.ab-refine-diff{background:var(--background);flex-direction:column;gap:0;padding:2.5rem;display:flex}.ab-diff-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.ab-diff-version{font-family:var(--font-mono);color:var(--text);letter-spacing:.02em;font-size:.76rem;font-weight:600}.ab-diff-version span{color:var(--brand)}.ab-diff-timestamp{font-family:var(--font-mono);color:var(--foreground-secondary);font-size:.72rem}.ab-diff-line{color:var(--text);border-left:3px solid #0000;padding:.5rem .75rem;font-size:.86rem;line-height:1.5;transition:background .15s cubic-bezier(.25,1,.5,1)}.ab-diff-line:not(:last-child){border-bottom:1px solid var(--line)}.ab-diff-line--added{border-left-color:var(--status-green);background:#16a34a0a}.ab-diff-line--modified{border-left-color:var(--status-warning);background:#d977060a}.ab-diff-line--unchanged{opacity:.5;border-left-color:#0000}.ab-diff-step-id{font-family:var(--font-mono);color:var(--foreground-secondary);margin-right:.5rem;font-size:.76rem;font-weight:500}.ab-diff-step-label{font-weight:500}.ab-diff-badge{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:0;margin-left:.5rem;padding:.2rem .5rem;font-size:.64rem;font-weight:600}.ab-diff-badge--new{color:var(--status-green);background:#16a34a1a}.ab-diff-badge--modified{color:var(--status-warning);background:#d977061a}.ab-diff-detail{color:var(--foreground-secondary);margin-top:.5rem;padding-left:2rem;font-size:.82rem;line-height:1.45}.ab-diff-change-before{color:var(--status-error);opacity:.7;text-decoration:line-through}.ab-diff-change-after{color:var(--status-green);font-weight:500}.ab-diff-footer{font-family:var(--font-mono);color:var(--foreground-secondary);border-top:1px solid var(--line);margin-top:1rem;padding-top:.75rem;font-size:.74rem}.ab-layer-stack{border:1px solid var(--line);border-radius:0;margin-top:2rem}.ab-layer-row{grid-template-columns:auto auto 1fr auto;align-items:center;gap:1rem;padding:2.5rem;transition:background .18s cubic-bezier(.25,1,.5,1);display:grid}.ab-layer-row:not(:last-child){border-bottom:1px solid var(--line)}.ab-layer-row:hover{background:var(--surface-subtle)}.ab-layer-row:first-child{border-left:3px solid var(--brand)}.ab-layer-row:nth-child(2){border-left:3px solid #16a34a}.ab-layer-row:nth-child(3){border-left:3px solid #d97706}.ab-layer-row .ab-layer-desc{grid-column:1/-1}.ab-layer-code{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--brand);background:var(--brand-soft);white-space:nowrap;text-align:center;border-radius:0;justify-content:center;align-items:center;gap:.5rem;min-width:3.2rem;padding:.5rem .75rem;font-size:.68rem;font-weight:600;display:flex}.ab-layer-code span{margin-top:2px;display:inline-block}.ab-layer-title{color:var(--text);margin:0;font-size:.95rem;font-weight:500}.ab-layer-desc{color:var(--foreground-secondary);margin:0;font-size:.88rem;line-height:1.5}.ab-layer-badge{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--foreground-secondary);border:1px solid var(--line);white-space:nowrap;border-radius:0;padding:.5rem .75rem;font-size:.68rem;font-weight:600}.ab-compliance-badges{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;padding:1rem;display:flex}.ab-compliance-badges span{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--foreground-secondary);border:1px solid var(--line);border-radius:0;padding:.5rem 1rem;font-size:.74rem;font-weight:600;transition:border-color .15s cubic-bezier(.25,1,.5,1),color .15s cubic-bezier(.25,1,.5,1)}.ab-compliance-badges span:hover{border-color:var(--line-strong);color:var(--text)}.ab-dominant-stat{display:none}.ab-dominant-value{font-family:var(--font-mono);color:var(--primary-foreground);letter-spacing:-.03em;font-size:clamp(3rem,6vw,5rem);font-weight:200;line-height:1;display:block}.ab-dominant-label{color:#ffffff8c;margin-top:.75rem;font-size:1rem;font-weight:400;display:block}.ab-pipeline{border:1px solid var(--dark-border,#ffffff1a);counter-reset:ab-pipe;border-radius:0;grid-template-columns:repeat(5,1fr);gap:0;display:grid;position:relative}.ab-pipeline-step{counter-increment:ab-pipe;padding:2.5rem;transition:background .18s cubic-bezier(.25,1,.5,1);position:relative;overflow:hidden}.ab-pipeline-step:not(:last-child){border-right:1px solid var(--dark-border,#ffffff1a)}.ab-pipeline-step:hover{background:#3f5bff0f}.ab-pipeline-step:before{content:counter(ab-pipe,decimal-leading-zero);font-family:var(--font-mono);color:#ffffff0f;pointer-events:none;font-size:clamp(3rem,5vw,4.5rem);font-weight:200;line-height:1;position:absolute;top:-.15em;right:.75rem}.ab-pipeline-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--primary-foreground);border-bottom:1px solid var(--dark-border,#ffffff1a);margin-bottom:.75rem;padding-bottom:.75rem;font-size:.74rem;font-weight:600}.ab-pipeline-desc{color:#ffffffa6;font-size:.86rem;line-height:1.5}.ab-pipeline-connector{align-items:center;gap:.75rem;margin-top:1rem;padding:0 1rem;display:flex}.ab-pipeline-connector:before,.ab-pipeline-connector:after{content:"";background:repeating-linear-gradient(90deg,#ffffff26 0 6px,#0000 6px 12px);flex:1;height:1px}.ab-pipeline-connector span{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:#ffffff59;white-space:nowrap;font-size:.72rem;font-weight:500}@media (max-width:1200px) and (min-width:1101px){.ab-node-cell{padding:1.05rem}}@media (max-width:1100px){.ab-nl-panel{grid-template-columns:1fr}.ab-nl-input{border-right:none;border-bottom:1px solid var(--line)}.ab-node-grid{grid-template-columns:repeat(2,1fr)}.ab-node-cell:nth-child(2n){border-right:none}.ab-node-cell:not(:nth-last-child(-n+2)){border-bottom:1px solid var(--line)}.ab-refinement-panel{grid-template-columns:1fr}.ab-refine-input{border-right:none;border-bottom:1px solid var(--line)}.ab-layer-row{flex-wrap:wrap;gap:.75rem;padding:1.05rem;display:flex}.ab-layer-row .ab-card-icon,.ab-layer-row .ab-layer-code{flex-shrink:0}.ab-layer-row .ab-layer-badge{margin-left:auto}.ab-layer-row .ab-layer-title,.ab-layer-row .ab-layer-desc{flex-basis:100%;width:100%}.ab-pipeline-step{padding:1.05rem}}@media (max-width:760px){.ab-canvas-title{padding:.5rem .75rem}.ab-canvas-flow{padding:.75rem}.ab-canvas-meta{gap:.75rem;padding:.5rem .75rem;font-size:.66rem}.ab-canvas-row{flex-wrap:wrap;gap:.5rem}.ab-node{padding:.375rem .5rem;font-size:.66rem}.ab-nl-meta{flex-direction:column;gap:.5rem}.ab-nl-meta-item{margin-right:0;padding-right:0;border-right:none!important}.ab-node-grid{grid-template-columns:1fr}.ab-node-cell{border-right:none!important}.ab-node-cell:not(:last-child){border-bottom:1px solid var(--line)}.ab-diff-header{flex-direction:column;align-items:flex-start;gap:.5rem}.ab-layer-row .ab-layer-desc{grid-column:auto}.ab-card-icon,.ab-card-icon-dark,.ab-layer-code,.ab-layer-badge{justify-self:start}.ab-pipeline{grid-template-columns:1fr}.ab-pipeline-step{border-right:none!important}.ab-pipeline-step:not(:last-child){border-bottom:1px solid var(--dark-border,#ffffff1a)}.ab-compliance-badges{gap:.5rem}}
