@import"https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;0,6..72,500;0,6..72,600;0,6..72,700;1,6..72,400;1,6..72,500&family=Caveat:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{font-family:system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400}body{margin:0;padding:0}#root{width:100%;margin:0;padding:0}@media (max-width: 768px){aside{display:none}.page{display:block!important;padding-top:28px;padding-left:16px;padding-right:16px}.page>div{min-width:auto!important;width:100%}.hero-top{flex-direction:column!important;align-items:flex-start!important}.hero-top>div:last-child{width:100%}.drill-cta{grid-template-columns:1fr!important}.drill-cta>div:last-child{align-items:flex-start!important}}*{box-sizing:border-box}html,body{margin:0;padding:0;-webkit-font-smoothing:antialiased}body{background:var(--bg, #f5ecd6);color:var(--fg, #1a1612);font-family:var(--body)}a{color:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--fg-3);border-radius:4px}.theme-notebook{--bg: #f1e7cf;--bg-2: #e8dcbd;--bg-3: #ddcfa9;--card: #f7efd9;--fg: #1a1612;--fg-2: #3d362a;--fg-3: #837957;--rule: #1a1612;--accent: #b8390c;--accent-2: #c2410c;--accent-fg: #fff7ec;--highlight: #f2cf67aa;--display: "Newsreader", Georgia, serif;--body: "Newsreader", Georgia, serif;--hand: "Caveat", cursive;--mono: "IBM Plex Mono", monospace;--r: 3px;--r-2: 6px}.theme-notebook,.theme-terminal{min-height:100vh}.theme-notebook body,.theme-notebook{background:var(--bg);color:var(--fg);font-family:var(--body)}.theme-notebook:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:radial-gradient(circle at 1px 1px,rgba(26,22,18,.08) 1px,transparent 0);background-size:24px 24px;opacity:.5}.theme-terminal{--bg: #0f0e0d;--bg-2: #181614;--bg-3: #221f1b;--card: #15130f;--fg: #e8e1cb;--fg-2: #b8af94;--fg-3: #6b6450;--rule: #3a3528;--accent: #f0a338;--accent-2: #f5b85e;--accent-fg: #0f0e0d;--highlight: #f0a33833;--display: "JetBrains Mono", monospace;--body: "JetBrains Mono", monospace;--hand: "JetBrains Mono", monospace;--mono: "JetBrains Mono", monospace;--r: 0;--r-2: 0}.theme-terminal{background:var(--bg);color:var(--fg);font-family:var(--body)}.theme-terminal:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:repeating-linear-gradient(0deg,transparent 0 24px,rgba(232,225,203,.025) 24px 25px)}.t-display{font-family:var(--display);font-weight:600;letter-spacing:-.01em;line-height:1.05}.theme-notebook .t-display{font-weight:500;letter-spacing:-.005em}.theme-terminal .t-display{letter-spacing:0;line-height:1.15;text-transform:lowercase}.t-mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.t-hand{font-family:var(--hand)}.theme-terminal .t-hand{font-style:italic;color:var(--fg-3)}.theme-terminal .t-hand:before{content:"# "}.t-kicker{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--fg-3)}.theme-terminal .t-kicker:before{content:"> "}.t-eyebrow{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--fg-3)}.card{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-2)}.theme-notebook .card{border-width:1.5px;box-shadow:2px 2px 0 var(--fg)}.theme-terminal .card{border-color:var(--rule)}.btn{font-family:var(--display);font-weight:500;font-size:13px;padding:7px 14px;border:1px solid var(--fg);background:var(--card);color:var(--fg);border-radius:var(--r);cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none;transition:transform .08s ease}.btn:hover{background:var(--bg-2)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn.primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--bg-2)}.theme-notebook .btn{box-shadow:2px 2px 0 var(--fg);font-weight:600}.theme-notebook .btn:hover{box-shadow:1px 1px 0 var(--fg);transform:translate(1px,1px)}.theme-notebook .btn.ghost{box-shadow:none}.theme-terminal .btn{font-family:var(--mono);border-radius:0;text-transform:lowercase;font-weight:500}.theme-terminal .btn:before{content:"[";margin-right:2px;color:var(--fg-3)}.theme-terminal .btn:after{content:"]";margin-left:2px;color:var(--fg-3)}.theme-terminal .btn.primary{background:var(--accent);color:var(--accent-fg)}.theme-terminal .btn.primary:before,.theme-terminal .btn.primary:after{color:var(--accent-fg);opacity:.6}.pill{font-family:var(--mono);font-size:10px;padding:1px 7px;border:1px solid var(--fg-3);border-radius:999px;color:var(--fg-2);display:inline-block;letter-spacing:.04em}.pill.on{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.pill.ink{background:var(--fg);color:var(--bg);border-color:var(--fg)}.theme-terminal .pill{border-radius:0}.theme-terminal .pill:before{content:"·";margin-right:4px;opacity:.5}.hl{background:var(--highlight);padding:0 3px;border-radius:2px}.theme-terminal .hl{background:transparent;color:var(--accent);padding:0;font-weight:500}.scribble{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 6' preserveAspectRatio='none'><path d='M0 3 Q 10 0 20 3 T 40 3 T 60 3 T 80 3 T 100 3' stroke='%23b8390c' stroke-width='1.5' fill='none'/></svg>");background-repeat:no-repeat;background-position:0 100%;background-size:100% 6px;padding-bottom:5px}.theme-terminal .scribble{background-image:none;color:var(--accent)}.theme-terminal .scribble:before{content:"__";opacity:0}.code{font-family:var(--mono);font-size:12.5px;line-height:1.65;background:var(--bg-2);border:1px solid var(--rule);border-radius:var(--r);padding:14px 16px;white-space:pre;overflow-x:auto;color:var(--fg)}.theme-terminal .code{background:#08070675;border-color:var(--accent);border-left-width:2px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;border:1.5px solid var(--fg);flex:none}.dot.got{background:var(--fg)}.dot.shaky{background:var(--accent);border-color:var(--accent)}.theme-terminal .dot{border-radius:0;width:8px;height:8px;border-width:0;background:var(--rule)}.theme-terminal .dot.got{background:var(--fg-2)}.theme-terminal .dot.shaky{background:var(--accent)}.rule{height:1px;background:var(--rule);border:0}.theme-notebook .rule{height:0;border-top:1.5px dashed var(--fg)}.page{max-width:1240px;margin:0 auto;padding:36px 44px;position:relative;z-index:1}.theme-terminal .page{max-width:1180px;padding:28px 36px}.row-hover{cursor:pointer;transition:background .1s ease}.row-hover:hover{background:var(--bg-2)}.theme-terminal .row-hover{position:relative}.theme-terminal .row-hover:hover{background:var(--bg-3)}.theme-terminal .row-hover:hover:before{content:"> ";color:var(--accent);position:absolute;left:0;top:50%;transform:translateY(-50%);margin-left:-18px}.lesson-section{scroll-margin-top:80px}.noscroll::-webkit-scrollbar{display:none}code[class*=language-],pre[class*=language-]{color:var(--fg);background:var(--bg-2);font-family:var(--mono);font-size:13px;line-height:1.5;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;hyphens:none;-moz-tab-size:2;tab-size:2;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none}pre[class*=language-]{padding:16px;margin:18px 0;overflow:auto;border-radius:var(--r);border:1px solid var(--rule)}code[class*=language-]{padding:0 4px;border-radius:2px}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:var(--fg-3);font-style:italic}.token.punctuation{color:var(--fg-2)}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#b8390c}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#5a7c2e}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:var(--accent)}.token.atrule,.token.attr-value,.token.keyword{color:#7f6c3c}.token.function,.token.class-name{color:#8b5a00}.token.regex,.token.important,.token.variable{color:#b8390c}.theme-terminal code[class*=language-],.theme-terminal pre[class*=language-]{color:var(--fg);background:var(--bg-2)}.theme-terminal .token.comment,.theme-terminal .token.prolog,.theme-terminal .token.doctype,.theme-terminal .token.cdata{color:var(--fg-3)}.theme-terminal .token.property,.theme-terminal .token.tag,.theme-terminal .token.boolean,.theme-terminal .token.number,.theme-terminal .token.constant,.theme-terminal .token.symbol,.theme-terminal .token.deleted{color:#f0a338}.theme-terminal .token.selector,.theme-terminal .token.attr-name,.theme-terminal .token.string,.theme-terminal .token.char,.theme-terminal .token.builtin,.theme-terminal .token.inserted{color:#a8d582}.theme-terminal .token.atrule,.theme-terminal .token.attr-value,.theme-terminal .token.keyword{color:#d4a574}
