/* AI swarm: existing rose/ink palette, with color reserved for the learn action. */
.swarm-section{background:#fff;border-top:1px solid var(--color-rule);scroll-margin-top:94px}
.swarm-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:start}
.swarm-copy h2{margin:0 0 24px;font-size:clamp(36px,4.4vw,56px);line-height:1.06;letter-spacing:-.055em}
.swarm-copy h2 span{color:var(--ledger-rose-ink)}
.swarm-copy>.section-intro{max-width:40ch;margin-bottom:28px}
.swarm-explainer{margin:0}
.swarm-learn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:54px;max-width:100%;padding:16px 20px;border:1px solid var(--ledger-surface);border-radius:4px;background:var(--ledger-surface);color:#fff;font:600 14px/1.5 var(--font-body);list-style:none;cursor:pointer;transition:color 180ms,border-color 180ms,transform 180ms}
.swarm-learn::-webkit-details-marker{display:none}
.swarm-learn::marker{content:''}
.swarm-learn::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,#ffadbd 0%,#ffd29a 17%,#fff2a1 33%,#a7e4bf 50%,#a7d8ff 67%,#cdb8ff 83%,#ffadbd 100%);background-size:200% 100%;opacity:0;transition:opacity 180ms}
.swarm-learn:hover,.swarm-learn:focus-visible{color:#171219;border-color:#9f6973;transform:translateY(-2px)}
.swarm-learn:hover::before,.swarm-learn:focus-visible::before{opacity:1;animation:swarm-rainbow 4s ease-in-out infinite alternate}
.swarm-learn:focus-visible{outline:2px solid var(--ledger-surface);outline-offset:5px}
.swarm-learn svg{flex:none;width:18px;height:18px;transition:transform 180ms}
.swarm-explainer[open] .swarm-learn svg{transform:rotate(45deg)}
.swarm-details{margin-top:28px;padding-top:26px;border-top:1px solid var(--color-rule)}
.swarm-details>p{margin:0 0 24px;font-size:16px;line-height:1.65}
.swarm-points{list-style:none;display:grid;gap:22px;margin:0;padding:0;counter-reset:swarm-point}
.swarm-points li{position:relative;padding-left:36px;counter-increment:swarm-point}
.swarm-points li::before{content:'0' counter(swarm-point);position:absolute;left:0;top:2px;color:var(--ledger-rose-ink);font:12px/1.6 var(--font-mono)}
.swarm-points h3{font:600 17px/1.4 var(--font-heading);letter-spacing:-.025em;margin:0 0 6px}
.swarm-points p{font-size:16px;line-height:1.65;margin:0}
/* The capability card uses the same rainbow as the learn button. */
.swarm-capability{position:relative;isolation:isolate;overflow:hidden}
.swarm-capability>h3{max-width:none;-webkit-text-stroke:1.2px #9f6973;paint-order:stroke fill}
.swarm-new-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 8px;border:1px solid #d8bbc2;border-radius:3px;background:#f7edef;color:#855761;font-weight:600;letter-spacing:.05em}
.swarm-new-badge::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.swarm-capability .capability-label{align-items:center}
.swarm-capability::before{content:'';position:absolute;inset:0;z-index:-1;opacity:0;background:linear-gradient(125deg,#ffb6c5,#ffe2ab,#fcf4b3,#b4ebcc,#b8dcff,#dac5ff,#ffb6c5);background-size:200% 200%;transition:opacity 200ms}
.swarm-capability:hover,.swarm-capability:focus-within{border-color:#ac81aa;box-shadow:0 0 24px #b8a7db66}
.swarm-capability:hover::before,.swarm-capability:focus-within::before{opacity:1;animation:swarm-rainbow 4s ease-in-out infinite alternate}
.swarm-capability:hover p,.swarm-capability:focus-within p,.swarm-capability:hover .capability-label,.swarm-capability:focus-within .capability-label{color:#302b34}
.swarm-capability:hover .capability-example,.swarm-capability:focus-within .capability-example{border-color:#75687a55;color:#302b34}
.swarm-capability:hover .example-label,.swarm-capability:focus-within .example-label{color:#4e4051}
.swarm-card-link{width:fit-content;margin-top:14px;min-height:44px;display:inline-flex;align-items:center;color:#211b23;font:600 14px/1.5 var(--font-body);text-decoration:underline;text-underline-offset:5px}
.swarm-card-link:focus-visible{outline:2px solid #211b23;outline-offset:5px;border-radius:2px}
.swarm-board{margin:0;border:1px solid var(--ledger-rule);border-radius:6px;overflow:hidden;background:var(--ledger-canvas);color:var(--ledger-ink)}
.swarm-board figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;padding:14px 22px;border-bottom:1px solid var(--ledger-rule);color:var(--ledger-rose);font:12px/1.5 var(--font-mono)}
.swarm-board figcaption span:last-child{color:var(--ledger-secondary)}
.swarm-demo{position:relative;margin:0;padding:20px;border:0;min-width:0}
.swarm-demo legend{float:left;width:100%;padding:0;margin-bottom:12px;font:500 16px/1.5 var(--font-body);color:var(--ledger-ink)}
.swarm-stage-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.swarm-demo-controls{clear:both;display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:6px;margin-bottom:14px}
.swarm-demo-controls label{min-height:44px;padding:10px 6px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ledger-rule);border-radius:3px;cursor:pointer;text-align:center;font:500 14px/1.4 var(--font-body);color:var(--ledger-secondary);transition:background 150ms,color 150ms}
.swarm-demo-controls label:hover{border-color:var(--ledger-rose);color:var(--ledger-ink)}
#swarm-assign:checked~.swarm-demo-controls label[for=swarm-assign],#swarm-follow:checked~.swarm-demo-controls label[for=swarm-follow],#swarm-update:checked~.swarm-demo-controls label[for=swarm-update]{background:var(--ledger-rose);border-color:var(--ledger-rose);color:#19151a}
#swarm-assign:focus-visible~.swarm-demo-controls label[for=swarm-assign],#swarm-follow:focus-visible~.swarm-demo-controls label[for=swarm-follow],#swarm-update:focus-visible~.swarm-demo-controls label[for=swarm-update]{outline:2px solid var(--ledger-ink);outline-offset:3px}
.swarm-demo-explanation{min-height:3em;margin:0 0 14px;font:16px/1.5 var(--font-body);color:var(--ledger-ink)}
.swarm-phase{display:none}
#swarm-assign:checked~.swarm-demo-content .swarm-phase-assign,#swarm-follow:checked~.swarm-demo-content .swarm-phase-follow,#swarm-update:checked~.swarm-demo-content .swarm-phase-update{display:inline}
.swarm-pick{--agent-color:#a9dfc3;--agent-surface:#253c31;padding:14px;background:var(--ledger-surface);border:1px solid var(--ledger-rule);border-left:3px solid var(--agent-color);border-radius:3px;margin-bottom:12px}
.swarm-pick-b{--agent-color:#b7cffa;--agent-surface:#2a354c}
.swarm-pick-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;color:var(--ledger-secondary);font:12px/1.5 var(--font-mono)}
.swarm-pick-header strong{font-weight:500;color:var(--agent-color)}
.swarm-item{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;margin:8px 0;color:var(--ledger-secondary);font:14px/1.5 var(--font-body)}
.swarm-item>strong{font:500 20px/1.4 var(--font-heading);color:var(--ledger-ink)}
.swarm-route{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:8px 0 10px;color:var(--ledger-secondary);font:12px/1.5 var(--font-mono)}
.swarm-route-track{position:relative;min-width:64px;height:30px}
.swarm-route-track::before{content:'';position:absolute;left:0;right:0;top:50%;border-top:1px dashed var(--agent-color);opacity:.65}
.swarm-route-item{position:absolute;left:0;top:0;min-width:52px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid var(--agent-color);border-radius:3px;background:var(--agent-surface);color:var(--agent-color);font-weight:500;transition:left 1.1s ease,background 250ms}
#swarm-follow:checked~.swarm-demo-content .swarm-route-item{left:calc(50% - 26px)}
#swarm-update:checked~.swarm-demo-content .swarm-route-item{left:calc(100% - 52px)}
.swarm-pick-record{min-height:1.5em;border-top:1px solid var(--ledger-rule);padding-top:8px;color:var(--agent-color);font:14px/1.5 var(--font-body)}
.swarm-demo-note{margin:14px 0 0;font:14px/1.6 var(--font-body);color:var(--ledger-secondary)}
@keyframes swarm-rainbow{from{background-position:0% 50%}to{background-position:100% 50%}}
@media(max-width:1100px){.swarm-layout{gap:36px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.swarm-board figcaption{padding:16px 18px}.swarm-demo{padding:18px}}
@media(max-width:850px){.swarm-layout{grid-template-columns:1fr;gap:36px}.swarm-copy>.section-intro{max-width:48ch}.swarm-board{max-width:600px;width:100%;justify-self:center}.swarm-copy h2{font-size:38px}}
@media(max-width:380px){.swarm-demo{padding:14px}.swarm-pick{padding:14px}.swarm-demo-controls{grid-template-columns:1fr 1fr 1.35fr;gap:4px}.swarm-demo-controls label{font-size:14px}.swarm-route{gap:7px}.swarm-copy h2{font-size:34px}.swarm-learn{padding:14px 16px;gap:12px}}
@media(prefers-reduced-motion:reduce){.swarm-learn,.swarm-learn::before,.swarm-learn svg,.swarm-capability,.swarm-capability::before,.swarm-route-item,.swarm-demo-controls label{transition:none!important;animation:none!important}.swarm-learn:hover,.swarm-learn:focus-visible{transform:none}}
@media(forced-colors:active){.swarm-learn{border:1px solid ButtonText;background:ButtonFace;color:ButtonText}.swarm-learn::before,.swarm-capability::before{display:none}.swarm-learn:hover,.swarm-learn:focus-visible{color:ButtonText;border-color:Highlight}.swarm-capability,.swarm-board,.swarm-pick{border-color:CanvasText}.swarm-demo-controls label{color:ButtonText;background:ButtonFace;border-color:ButtonText}.swarm-demo-controls label:hover{border-color:Highlight}}

.swarm-capability:hover .capability-example strong,.swarm-capability:focus-within .capability-example strong{color:#3a2b37}

@media(forced-colors:active){.swarm-capability>h3{-webkit-text-stroke:0;color:CanvasText}}
