.module-prerequisites:where(.astro-5eqx7enq){border:1px solid var(--sl-color-gray-5);background:color-mix(in srgb, var(--sl-color-accent) 4%, var(--sl-color-bg));border-radius:.7rem;grid-template-columns:minmax(9rem,.72fr) minmax(0,2fr);gap:.75rem;margin:0 0 1rem;padding:.8rem;display:grid}.module-prerequisites__intro:where(.astro-5eqx7enq){align-content:center;gap:.12rem;padding:.35rem;display:grid}.module-prerequisites__intro:where(.astro-5eqx7enq) span:where(.astro-5eqx7enq){color:var(--sl-color-accent-high);font-family:var(--sl-font-mono);letter-spacing:.07em;font-size:.64rem;font-weight:750}.module-prerequisites__intro:where(.astro-5eqx7enq) strong:where(.astro-5eqx7enq){font-size:.9rem}.module-prerequisites__intro:where(.astro-5eqx7enq) small:where(.astro-5eqx7enq){color:var(--sl-color-gray-2);font-size:.72rem}.module-prerequisites__list:where(.astro-5eqx7enq){grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.module-prerequisites__item:where(.astro-5eqx7enq){border:1px solid var(--sl-color-gray-5);color:var(--sl-color-text);background:var(--sl-color-bg);border-radius:.55rem;gap:.16rem;padding:.65rem .7rem;text-decoration:none;transition:border-color .13s,transform .13s;display:grid;margin:0!important}.module-prerequisites__item:where(.astro-5eqx7enq):hover{border-color:var(--sl-color-accent);transform:translateY(-1px)}.module-prerequisites__item:where(.astro-5eqx7enq):focus-visible{outline:3px solid var(--sl-color-accent-low);outline-offset:2px}.module-prerequisites__item:where(.astro-5eqx7enq) span:where(.astro-5eqx7enq),.module-prerequisites__item:where(.astro-5eqx7enq) em:where(.astro-5eqx7enq){color:var(--sl-color-accent-high);font-family:var(--sl-font-mono);font-size:.62rem;font-style:normal;font-weight:700}.module-prerequisites__item:where(.astro-5eqx7enq) strong:where(.astro-5eqx7enq){font-size:.82rem}.module-prerequisites__item:where(.astro-5eqx7enq) small:where(.astro-5eqx7enq){color:var(--sl-color-gray-2);font-size:.7rem;line-height:1.45}.module-prerequisites__item:where(.astro-5eqx7enq) em:where(.astro-5eqx7enq){margin-top:.18rem}@media (width<=46rem){.module-prerequisites:where(.astro-5eqx7enq),.module-prerequisites__list:where(.astro-5eqx7enq){grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.module-prerequisites__item:where(.astro-5eqx7enq){transition:none}}.term-peek:where(.astro-cvjntc3h){display:inline;position:relative}.term-peek:where(.astro-cvjntc3h) dfn:where(.astro-cvjntc3h){border-bottom:1px dashed var(--sl-color-accent);color:var(--sl-color-accent-high);cursor:help;font-style:normal;font-weight:650;text-decoration:none}.term-peek:where(.astro-cvjntc3h) dfn:where(.astro-cvjntc3h):focus-visible{outline:3px solid var(--sl-color-accent-low);outline-offset:2px;border-radius:.15rem}.term-peek__panel:where(.astro-cvjntc3h){z-index:20;border:1px solid var(--sl-color-gray-4);width:min(20rem,100vw - 2rem);color:var(--sl-color-text);background:var(--sl-color-bg);opacity:0;visibility:hidden;pointer-events:auto;border-radius:.6rem;gap:.5rem;padding:.8rem .9rem;font-size:.82rem;line-height:1.55;transition:opacity .13s .18s,transform .13s .18s,visibility 0s linear .31s;display:grid;position:absolute;inset-block-start:calc(100% + .55rem);inset-inline-start:0;transform:translateY(-.2rem);box-shadow:0 16px 38px #0f172a29}.term-peek__panel:where(.astro-cvjntc3h):before{content:"";height:.7rem;position:absolute;inset-block-end:100%;inset-inline:0}.term-peek__heading:where(.astro-cvjntc3h){align-items:baseline;gap:.45rem;display:flex}.term-peek__heading:where(.astro-cvjntc3h) small:where(.astro-cvjntc3h){color:var(--sl-color-gray-2);font-family:var(--sl-font-mono)}.term-peek__panel:where(.astro-cvjntc3h) a:where(.astro-cvjntc3h){width:fit-content;color:var(--sl-color-accent-high);font-size:.75rem;font-weight:700}.term-peek:where(.astro-cvjntc3h):hover .term-peek__panel:where(.astro-cvjntc3h),.term-peek:where(.astro-cvjntc3h):focus-within .term-peek__panel:where(.astro-cvjntc3h){opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)}@media (width<=38rem){.term-peek__panel:where(.astro-cvjntc3h){width:auto;position:fixed;inset:auto 1rem 1rem;transform:translateY(.4rem)}.term-peek:where(.astro-cvjntc3h):hover .term-peek__panel:where(.astro-cvjntc3h),.term-peek:where(.astro-cvjntc3h):focus-within .term-peek__panel:where(.astro-cvjntc3h){transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.term-peek__panel:where(.astro-cvjntc3h){transition:none}}.module-progress{border:1px solid var(--sl-color-gray-5);background:var(--sl-color-gray-7);border-radius:.7rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;margin:0 0 1rem;padding:.75rem .85rem;display:grid}.module-progress__mark{width:2.55rem;height:2.55rem}.module-progress__mark svg{fill:none;stroke-width:3px;width:100%;height:100%;display:block}.module-progress__track{stroke:var(--sl-color-gray-5)}.module-progress__value{stroke:var(--sl-color-accent);stroke-linecap:round;stroke-dasharray:113;stroke-dashoffset:113px;transform-origin:50%;transition:stroke-dashoffset .22s;transform:rotate(-90deg)}.module-progress__mark path{stroke:var(--sl-color-gray-4);stroke-linecap:round;stroke-linejoin:round}.module-progress.is-complete .module-progress__value{stroke-dashoffset:0}.module-progress.is-complete .module-progress__mark path{stroke:var(--sl-color-accent-high)}.module-progress__copy{gap:.08rem;display:grid}.module-progress__copy span{color:var(--sl-color-accent-high);font-family:var(--sl-font-mono);letter-spacing:.08em;font-size:.65rem;font-weight:750}.module-progress__copy strong{font-size:.88rem}.module-progress__copy small{color:var(--sl-color-gray-2);font-size:.72rem}.module-progress button{border:1px solid var(--sl-color-accent);min-height:2.35rem;color:var(--sl-color-accent-high);background:var(--sl-color-bg);font:inherit;cursor:pointer;border-radius:.45rem;padding:.42rem .7rem;font-size:.75rem;font-weight:700}.module-progress.is-complete button{border-color:var(--sl-color-gray-4);color:var(--sl-color-gray-2)}.module-progress button:focus-visible{outline:3px solid var(--sl-color-accent-low);outline-offset:2px}@media (width<=38rem){.module-progress{grid-template-columns:auto minmax(0,1fr)}.module-progress button{grid-column:1/-1;width:100%}}@media (prefers-reduced-motion:reduce){.module-progress__value{transition:none}}
