@font-face{font-family:'Learn Garamond';src:url('/fonts/ebgaramond.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Learn Author';src:url('/fonts/author-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Learn Mono';src:url('/fonts/martianmono.woff2') format('woff2');font-display:swap}
html{scroll-padding-top:100px;background:#FAFAF7;color:#180b51}
body[data-page="learn"]{margin:0;background:#FAFAF7;color:#180b51;font:22px/1.5 'Learn Garamond',serif;-webkit-font-smoothing:antialiased}
.lx{box-sizing:border-box;max-width:820px;margin:0 auto;padding:64px 30px 90px}
.lx *{box-sizing:border-box}
.lx h1,.lx h2,.lx b,.lx button,.lx select,.lx .lessons,.lx .kicker,.lx figcaption,.lx label,.lx .next{font-family:'Learn Author',sans-serif;font-weight:500;letter-spacing:0;text-transform:none}
.lx h1{font-size:clamp(40px,5vw,64px);line-height:1.04;letter-spacing:-.035em;text-wrap:balance;margin:0 0 30px}
.lx h2{font-size:30px;line-height:1.15;letter-spacing:-.015em;margin:48px 0 18px;text-wrap:balance}
.lx p{margin:0 0 22px}
.lx a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}
.lx a:hover{text-decoration-thickness:2px}
.lx .kicker{font-size:15px;margin:0 0 25px}
.lx .lede{font-size:26px;line-height:1.35;margin-bottom:30px}
.lx .notice{font-size:19px;padding:18px 0;border-block:1px solid #d7d2e5}
.lx .ref{font:13px 'Learn Mono',monospace;vertical-align:super;white-space:nowrap}
.lx .model{margin:24px 0 36px;padding:24px;border:1px solid #b8b0ce;background:#efedf6}
.lx figcaption{font-size:19px;margin:0 0 24px}
.lx .still{display:block;width:100%;max-width:350px;height:auto;margin:16px 0 24px;color:#180b51;font:16px 'Learn Author',sans-serif}
.lx .still text{fill:currentColor}
.lx .hashes{margin:16px 0}
.lx .hashes p{font-size:17px;margin-bottom:14px}
.lx .hashes code{display:block;overflow-wrap:anywhere;margin-top:8px;line-height:1.6}
.lx code,.lx pre{font:14px/1.7 'Learn Mono',monospace;font-variant-numeric:tabular-nums}
.lx pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0 22px;padding:18px;background:#e7e3f0;border:1px solid #b8b0ce;tab-size:2}
.lx pre code{white-space:inherit}
.lx label{display:block;font-size:16px;margin:14px 0 8px}
.lx input[type=range]{width:min(100%,400px);min-height:44px;vertical-align:middle;accent-color:#180b51}
.lx input[type=radio]{accent-color:#180b51;margin:0 12px 0 0;flex:none}
.lx output{font:20px 'Learn Mono',monospace;margin-left:12px}
.lx button,.lx select,.lx .actions a{font-size:16px;line-height:1.35;min-height:44px;padding:10px 14px;border:1px solid #180b51;color:#180b51;background:#FAFAF7;max-width:100%}
.lx select{display:block;width:100%;margin-bottom:20px}
.lx button{cursor:pointer}
.lx button:hover{background:#180b51;color:#FAFAF7}
.lx button:active{background:#332269;color:#FAFAF7}
.lx .actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0}
.lx .actions a{display:inline-flex;align-items:center}
.lx [role=status]{font-size:18px;min-height:2.8em}
.lx pre[role=status]{font-size:14px}
.lx .allocation{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
.lx .allocation label{grid-column:1/-1}
.lx meter{width:100%;height:22px;accent-color:#180b51}
.lx meter::-webkit-meter-optimum-value{background:#180b51}
.lx meter::-moz-meter-bar{background:#180b51}
.lx .flow{display:flex;flex-wrap:wrap;gap:10px 24px;padding-left:24px;font:16px 'Learn Author',sans-serif}
.lx .check fieldset{margin:0 0 30px;padding:20px;border:1px solid #b8b0ce;min-width:0}
.lx .check legend{font-size:21px;padding:0 6px}
.lx .check label{display:flex;align-items:flex-start;padding:10px 0;min-height:44px;line-height:1.45;cursor:pointer}
.lx .check input{margin-top:5px}
.lx .check button{margin:8px 0 12px}
.lx details{font-size:19px}
.lx summary{cursor:pointer;min-height:44px;padding:8px 0;font-family:'Learn Author',sans-serif;font-size:16px}
.lx details p{margin:12px 0 0}
.lx .quiz-feedback{margin:0}
.lx .sources{font-size:18px;padding-left:24px;overflow-wrap:anywhere}
.lx .sources li{margin:0 0 16px}
.lx .next{display:grid;gap:16px;border-top:1px solid #b8b0ce;padding-top:24px;margin-top:40px;font-size:17px}
.lx .bias{font-size:18px;margin-top:36px}
.lx .lessons{list-style:none;padding:0;margin:36px 0;font-size:18px}
.lx .lessons li{border-top:1px solid #b8b0ce}
.lx .lessons li:last-child{border-bottom:1px solid #b8b0ce}
.lx .lessons a,.lx .lessons .unavailable{display:grid;grid-template-columns:28px 1fr;gap:10px 14px;padding:24px 0;text-decoration:none}
.lx .lessons a:hover b{text-decoration:underline;text-underline-offset:4px}
.lx .lessons b{font-size:23px}
.lx .lessons span:last-child{grid-column:2;font-family:'Learn Garamond',serif;font-size:21px}
.lx .unavailable{color:#655c7e}
.lx ::selection{background:#180b51;color:#FAFAF7}
.lx :focus-visible{outline:2px solid #180b51;outline-offset:4px}
.lx :disabled{opacity:.6;cursor:default}
.skip{position:absolute;top:-100px;left:16px;z-index:3000;padding:12px;background:#FAFAF7;color:#180b51}
.skip:focus{top:8px}
@media(max-width:600px){.lx{padding:38px 20px 75px}.lx h2{font-size:26px}.lx .lede{font-size:24px}.lx .model{padding:18px}.lx .still{font-size:17px}.lx .check fieldset{padding:14px}.lx .check legend{font-size:20px}.lx pre{padding:12px}.lx .hashes code{font-size:14px}}
@media(prefers-reduced-motion:reduce){.lx *{scroll-behavior:auto;animation:none;transition:none}}
