/* Each connector occupies the gap between adjacent cards. Its endpoints use
   the same offset and badge-center variables as the cards themselves. */
.stairs-unit{--stair-stride:14px;--stair-reserve:42px;--stair-anchor:33px;--stair-line:#5b446f;margin-bottom:25px}
.stairs-unit+.stairs-unit{margin-top:24px}
.stairs-unit .unit-banner{padding:15px 17px;background:#1b1523!important;border-color:#342a40;border-radius:13px}
.stairs-unit .unit-banner .eyebrow{font-size:9px;letter-spacing:.8px;color:#ad94c7}
.stairs-unit .unit-banner h3{font-size:16px;margin:5px 0 3px;gap:9px}
.stairs-unit .unit-banner p{font-size:11px;line-height:1.55;max-width:390px}
.lesson-stairs{display:block;list-style:none;padding:16px 0 0;margin:0;isolation:isolate}
.stair-row{display:block;padding:0;margin:0;position:relative;list-style:none}
.stair-card{position:relative;display:flex;align-items:center;gap:12px;width:calc(100% - var(--stair-reserve));margin-left:calc(var(--step)*var(--stair-stride));min-height:76px;padding:12px 14px;text-align:left;border:1px solid #42334f;border-radius:13px;background:#1a1421;color:#ece3f6;transition:border-color .15s,background .15s,box-shadow .15s;z-index:1}
.stair-card:hover{border-color:#9374b7;background:#251b30}
.stair-card:active{background:#2b2036}
.stair-card:focus-visible{outline:2px solid #d9c0ff;outline-offset:3px}
.stair-number{display:flex;align-items:center;justify-content:center;width:36px;min-width:36px;height:36px;border:1px solid #584168;border-radius:11px;color:#c4a4e7;background:#2a1d36;font:700 13px/1 Consolas,monospace}
.stair-copy{display:block;min-width:0;flex:1}
.stair-copy strong{display:block;font-size:13px;line-height:1.45;font-weight:650;overflow-wrap:anywhere}
.stair-copy small{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:5px;color:#a493b5;font-size:10px;line-height:1.4;font-weight:450}
.stair-copy small>svg{flex-shrink:0}
.stair-forward{display:flex;align-items:center;color:#8e759f;flex-shrink:0}
.stair-card.current{border-color:#b58cdd;background:linear-gradient(110deg,#35233f,#201a2b);box-shadow:0 0 0 2px #ba91e218}
.stair-card.current .stair-number{border-color:#d2b3f1;color:#261733;background:#c5a1e8}
.stair-card.current .stair-copy small,.stair-card.current .stair-forward{color:#d1b4ec}
.stair-card.completed{border-color:#426b5c;background:#17251f}
.stair-card.completed .stair-number{border-color:#5b9279;background:#203b2e;color:#abe3c6}
.stair-card.completed .stair-copy small,.stair-card.completed .stair-forward{color:#9fc5b4}
.stair-card.locked{background:#151119;border-color:#302637;color:#9c8cab}
.stair-card.locked .stair-number{color:#807088;background:#201825;border-color:#3a2c44}
.stair-card.locked .stair-copy small,.stair-card.locked .stair-forward{color:#7f708e}
.stair-card.stair-reward{min-height:62px;padding-top:10px;padding-bottom:10px;border-style:solid;background:#211a25}
.stair-reward .stair-number{border-color:#6f5a3e;background:#34291f;color:#d7b37e}
.stair-reward .stair-copy strong{font-size:12px}
.stair-reward.ready{border-color:#a7814e;background:#2b211d}
.stair-reward.ready .stair-copy small,.stair-reward.ready .stair-forward{color:#ebc88f}
.stair-reward.claimed .stair-number{color:#ade3c9;border-color:#517c68;background:#23362d}
.stair-connector{position:relative;display:block;height:20px;color:var(--stair-line);pointer-events:none}
.stair-connector.traversed{color:#548b73}
.stair-connector i{position:absolute;display:block;margin:0;padding:0;border-color:currentColor;border-style:solid;border-width:0}
.stair-link-out{left:calc(var(--from-step)*var(--stair-stride) + var(--stair-anchor));top:-1px;height:12px;border-left-width:2px!important}
.stair-link-across{left:calc(var(--link-left)*var(--stair-stride) + var(--stair-anchor));top:9px;width:calc(var(--link-span)*var(--stair-stride) + 2px);border-top-width:2px!important}
.stair-link-in{left:calc(var(--to-step)*var(--stair-stride) + var(--stair-anchor));top:9px;bottom:-1px;border-left-width:2px!important}
@media(max-width:600px){.stairs-unit{--stair-stride:8px;--stair-reserve:24px;--stair-anchor:29px;margin-bottom:21px}.stairs-unit+.stairs-unit{margin-top:20px}.stairs-unit .unit-banner{padding:13px 14px;gap:9px}.stairs-unit .unit-banner h3{font-size:15px}.stairs-unit .unit-banner p{font-size:10px}.lesson-stairs{padding-top:13px}.stair-card{min-height:70px;padding:11px;gap:9px;border-radius:12px}.stair-number{width:34px;min-width:34px;height:34px;font-size:12px;border-radius:10px}.stair-copy strong{font-size:12px;line-height:1.5}.stair-copy small{font-size:9px;gap:4px}.stair-task-count{display:none}.stair-forward svg{width:16px}.stair-connector{height:17px}.stair-link-out{height:10px}.stair-link-across{top:7px}.stair-link-in{top:7px}.stair-card.stair-reward{min-height:58px}.stair-reward .stair-copy strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){.stair-card{transition:none}}
@media(max-width:760px){.curriculum-chapter,.stairs-unit{scroll-margin-top:92px}}
