@font-face{font-family:Linux Libertine O;font-weight:400;font-style:normal;src:url(/assets/linlib-r-subset-B_uCTLdh.woff)format("woff");font-display:swap}@font-face{font-family:Linux Libertine O;font-weight:400;font-style:italic;src:url(/assets/linlib-ri-subset-DAjqEaml.woff)format("woff");font-display:swap}@font-face{font-family:Linux Libertine O;font-weight:700;font-style:normal;src:url(/assets/linlib-rb-subset-DXC12e5k.woff)format("woff");font-display:swap}@font-face{font-family:Linux Biolinum O;font-weight:400;font-style:normal;src:url(/assets/linbio-r-subset-DL6s0FkJ.woff)format("woff");font-display:swap}@font-face{font-family:Linux Biolinum O;font-weight:400;font-style:italic;src:url(/assets/linbio-ri-subset-LkXOqUks.woff)format("woff");font-display:swap}@font-face{font-family:Linux Biolinum O;font-weight:700;font-style:normal;src:url(/assets/linbio-rb-subset-C_jlNn8e.woff)format("woff");font-display:swap}@font-face{font-family:Inconsolata LGC;font-weight:400;font-style:normal;src:url(/assets/incons-r-subset-BGUY9h6d.woff)format("woff");font-display:swap}@font-face{font-family:Inconsolata LGC;font-weight:400;font-style:italic;src:url(/assets/incons-ri-subset-Bj9XsVJm.woff)format("woff");font-display:swap}@font-face{font-family:Inconsolata LGC;font-weight:700;font-style:normal;src:url(/assets/incons-rb-subset-DV7PS0RI.woff)format("woff");font-display:swap}:root{--font-body:"Iowan Old Style", "Charter", Georgia, "Source Serif 4", serif;--font-head:var(--font-body);--font-code:"JetBrains Mono", "Fira Code", ui-monospace, Menlo, monospace;--bg:#fbfbfb;--fg:#2f3237;--fg-dim:#68707a;--accent:#6670ad;--accent-fg:#fff;--rule:#dde2ec;--code-bg:#f3f5f9;--code-fg:#303642;--term-underline:#6670ad80;--panel-bg:#fff;--panel-shadow:0 8px 32px #232b4a1f;--tok-paren:#8f96a6;--tok-keyword:#4070a0;--tok-builtin:#2f725f;--tok-number:#4f8a43;--tok-string:#985098;--tok-comment:#7b8190;--tok-output:#6670ad;--code-font-scale:1;--code-book-size:.85em;--code-inline-size:.86em;--code-inline-block-size:.82em;--code-sarabander-inline-size:.8em;--code-sarabander-block-size:.77em;--code-ui-size:16px;--code-line-height:1.5;--code-gutter-w:calc(1.45em + 7px)}:root[data-code-size=small]{--code-font-scale:.9;--code-book-size:.77em;--code-inline-size:.78em;--code-inline-block-size:.74em;--code-sarabander-inline-size:.72em;--code-sarabander-block-size:.69em;--code-ui-size:14.5px}:root[data-code-size=large]{--code-font-scale:1.12;--code-book-size:.95em;--code-inline-size:.96em;--code-inline-block-size:.92em;--code-sarabander-inline-size:.9em;--code-sarabander-block-size:.86em;--code-ui-size:18px}:root[data-code-size=xlarge]{--code-font-scale:1.25;--code-book-size:1.06em;--code-inline-size:1.08em;--code-inline-block-size:1.03em;--code-sarabander-inline-size:1em;--code-sarabander-block-size:.96em;--code-ui-size:20px}@media (prefers-color-scheme:dark){:root:not([data-mode=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#11151d;--fg:#e6e8ed;--fg-dim:#9aa2ad;--accent:#8fa9e6;--accent-fg:#10131a;--rule:#2a303a;--code-bg:#181d26;--code-fg:#e4e7ed;--term-underline:#8fa9e680;--panel-bg:#171c24;--panel-shadow:0 8px 32px #00000080;--tok-paren:#8c94a3;--tok-keyword:#8fa9e6;--tok-builtin:#89c99a;--tok-number:#9ac775;--tok-string:#c890c8;--tok-comment:#80889a;--tok-output:#b8c1d9}}[data-mode=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fbfbfb;--fg:#2f3237;--fg-dim:#68707a;--accent:#6670ad;--accent-fg:#fff;--rule:#dde2ec;--code-bg:#f3f5f9;--code-fg:#303642;--term-underline:#6670ad80;--panel-bg:#fff;--panel-shadow:0 8px 32px #232b4a1f;--tok-paren:#8f96a6;--tok-keyword:#4070a0;--tok-builtin:#2f725f;--tok-number:#4f8a43;--tok-string:#985098;--tok-comment:#7b8190;--tok-output:#6670ad}[data-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#11151d;--fg:#e6e8ed;--fg-dim:#9aa2ad;--accent:#8fa9e6;--accent-fg:#10131a;--rule:#2a303a;--code-bg:#181d26;--code-fg:#e4e7ed;--term-underline:#8fa9e680;--panel-bg:#171c24;--panel-shadow:0 8px 32px #00000080;--tok-paren:#8c94a3;--tok-keyword:#8fa9e6;--tok-builtin:#89c99a;--tok-number:#9ac775;--tok-string:#c890c8;--tok-comment:#80889a;--tok-output:#b8c1d9}[data-skin=doom-one]{--font-body:"Avenir Next", "Segoe UI Variable Text", "Segoe UI", "Source Sans 3", "Noto Sans", sans-serif;--font-head:"Avenir Next", "Segoe UI Variable Display", "Segoe UI", "Source Sans 3", "Noto Sans", sans-serif;--bg:#f2f3f7;--fg:#383a42;--fg-dim:#6b7280;--accent:#4078f2;--accent-fg:#fff;--rule:#d8dbe6;--code-bg:#e9ecf3;--code-fg:#2f333f;--term-underline:#4078f280;--panel-bg:#fff;--panel-shadow:0 8px 32px #161e3424;--tok-paren:#7c7f88;--tok-keyword:#a626a4;--tok-builtin:#4078f2;--tok-number:#986801;--tok-string:#50a14f;--tok-comment:#8b909c;--tok-output:#4078f2}@media (prefers-color-scheme:dark){[data-skin=doom-one]:not([data-mode=light]){--bg:#21242b;--fg:#bbc2cf;--fg-dim:#8b95a7;--accent:#51afef;--accent-fg:#10151c;--rule:#3a404c;--code-bg:#282c34;--code-fg:#bbc2cf;--term-underline:#51afef80;--panel-bg:#282c34;--panel-shadow:0 8px 32px #0000008c;--tok-paren:#7f848e;--tok-keyword:#c678dd;--tok-builtin:#51afef;--tok-number:#da8548;--tok-string:#98be65;--tok-comment:#6f7787;--tok-output:#ecbe7b}}[data-skin=doom-one][data-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#21242b;--fg:#bbc2cf;--fg-dim:#8b95a7;--accent:#51afef;--accent-fg:#10151c;--rule:#3a404c;--code-bg:#282c34;--code-fg:#bbc2cf;--term-underline:#51afef80;--panel-bg:#282c34;--panel-shadow:0 8px 32px #0000008c;--tok-paren:#7f848e;--tok-keyword:#c678dd;--tok-builtin:#51afef;--tok-number:#da8548;--tok-string:#98be65;--tok-comment:#6f7787;--tok-output:#ecbe7b}[data-skin=solarized]{--font-body:"Avenir Next", "Segoe UI Variable Text", "Segoe UI", "Source Sans 3", "Noto Sans", sans-serif;--font-head:"Avenir Next", "Segoe UI Variable Display", "Segoe UI", "Source Sans 3", "Noto Sans", sans-serif;--bg:#fdf6e3;--fg:#657b83;--fg-dim:#93a1a1;--accent:#268bd2;--accent-fg:#fdf6e3;--rule:#eee8d5;--code-bg:#eee8d5;--code-fg:#657b83;--term-underline:#268bd280;--panel-bg:#eee8d5;--panel-shadow:0 8px 32px #586e7529;--tok-paren:#93a1a1;--tok-keyword:#268bd2;--tok-builtin:#2aa198;--tok-number:#b58900;--tok-string:#859900;--tok-comment:#93a1a1;--tok-output:#cb4b16}@media (prefers-color-scheme:dark){[data-skin=solarized]:not([data-mode=light]){--bg:#002b36;--fg:#839496;--fg-dim:#586e75;--accent:#268bd2;--accent-fg:#fdf6e3;--rule:#073642;--code-bg:#073642;--code-fg:#839496;--term-underline:#268bd280;--panel-bg:#073642;--panel-shadow:0 8px 32px #0000008c;--tok-paren:#586e75;--tok-keyword:#268bd2;--tok-builtin:#2aa198;--tok-number:#b58900;--tok-string:#859900;--tok-comment:#657b83;--tok-output:#cb4b16}}[data-skin=solarized][data-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#002b36;--fg:#839496;--fg-dim:#586e75;--accent:#268bd2;--accent-fg:#fdf6e3;--rule:#073642;--code-bg:#073642;--code-fg:#839496;--term-underline:#268bd280;--panel-bg:#073642;--panel-shadow:0 8px 32px #0000008c;--tok-paren:#586e75;--tok-keyword:#268bd2;--tok-builtin:#2aa198;--tok-number:#b58900;--tok-string:#859900;--tok-comment:#657b83;--tok-output:#cb4b16}[data-skin=sarabander]{--font-body:"Linux Libertine O", "Linux Libertine", "Source Serif 4", Georgia, serif;--font-head:"Linux Biolinum O", "Linux Biolinum", "Source Sans 3", system-ui, sans-serif;--font-code:"Inconsolata LGC", "Inconsolata", "JetBrains Mono", ui-monospace, monospace;--bg:#f8f8f8;--fg:#383838;--fg-dim:#656d78;--accent:#7078b8;--accent-fg:#fff;--rule:#dfe2ea;--code-bg:#f2f4f8;--code-fg:#383838;--term-underline:#7078b880;--panel-bg:#fff;--panel-shadow:0 8px 32px #232b4a1f;--tok-paren:#989898;--tok-keyword:#4070a0;--tok-builtin:#4070a0;--tok-number:#509040;--tok-string:#985098;--tok-comment:#b08050;--tok-output:#606060}@media (prefers-color-scheme:dark){[data-skin=sarabander]:not([data-mode=light]){--bg:#181a1b;--fg:#e8e6e3;--fg-dim:#a0a4aa;--accent:#91a2c0;--accent-fg:#111417;--rule:#2d3238;--code-bg:#1c1e1f;--code-fg:#e8e6e3;--term-underline:#91a2c080;--panel-bg:#1c1e1f;--panel-shadow:0 8px 32px #0000008c;--tok-paren:#999692;--tok-keyword:#82a8d8;--tok-builtin:#8fbf7e;--tok-number:#e0a86b;--tok-string:#c890c8;--tok-comment:#c89c80;--tok-output:#b8b4ad}}[data-skin=sarabander][data-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#181a1b;--fg:#e8e6e3;--fg-dim:#a0a4aa;--accent:#91a2c0;--accent-fg:#111417;--rule:#2d3238;--code-bg:#1c1e1f;--code-fg:#e8e6e3;--term-underline:#91a2c080;--panel-bg:#1c1e1f;--panel-shadow:0 8px 32px #0000008c;--tok-paren:#999692;--tok-keyword:#82a8d8;--tok-builtin:#8fbf7e;--tok-number:#e0a86b;--tok-string:#c890c8;--tok-comment:#c89c80;--tok-output:#b8b4ad}[data-skin=sarabander]{--font-content:1.7rem}@media (width>=481px) and (width<=720px){[data-skin=sarabander]{--font-content:1.4rem}}@media (width<=480px){[data-skin=sarabander]{--font-content:1.2rem}}[data-skin=sarabander] #reader{font-size:var(--font-content);font-feature-settings:"liga", "ss06";-webkit-hyphens:auto;hyphens:auto;line-height:1.3}[data-skin=sarabander] main{max-width:88ex}[data-skin=sarabander] #reader .page{width:67ex;max-width:100%;margin:1em auto}[data-skin=sarabander] #reader h1,[data-skin=sarabander] #reader h2,[data-skin=sarabander] #reader h3,[data-skin=sarabander] #reader h4,[data-skin=sarabander] #reader h5{font-family:var(--font-head);color:var(--fg);letter-spacing:normal;margin-top:1.6em;margin-bottom:1em;font-weight:700;line-height:1.25}[data-skin=sarabander] #reader h1,[data-skin=sarabander] #reader h2.chapter,[data-skin=sarabander] #reader h2.lvl-2:first-child{margin-top:2.5em;margin-bottom:1.2em}[data-skin=sarabander] #reader .page-heading.chapter{margin-top:4em;margin-bottom:2em;display:block}[data-skin=sarabander] #reader .page-heading.chapter .chapnum{color:#aeaece;height:1ex;font-size:6.7em;font-weight:400;line-height:inherit;letter-spacing:normal;margin-top:.3ex;margin-bottom:.5ex;display:inline-block}[data-skin=sarabander] #reader .page-heading.chapter .chaptitle{width:78%;max-width:none;line-height:inherit;margin-left:1ex;display:inline-block}@media (width<=960px){[data-skin=sarabander] #reader .page-heading.chapter .chaptitle{width:64%;margin-left:.5em}}[data-skin=sarabander] #reader h1{font-size:1.88em}[data-skin=sarabander] #reader h2{font-size:1.57em;line-height:1.1}[data-skin=sarabander] #reader h3{font-size:1.31em}[data-skin=sarabander] #reader h4{font-size:1.1em}[data-skin=sarabander] #reader h4 code{font-size:.88em}[data-skin=sarabander] #reader h5{font-size:1em}[data-skin=sarabander] #reader h5 code{font-size:.82em}[data-skin=sarabander] #reader strong{font-family:var(--font-head)}[data-skin=sarabander] #reader .page-heading>.section-id{color:#9090c0;vertical-align:top;margin-right:.8em;font-weight:400;display:inline-block}@media (prefers-color-scheme:dark){[data-skin=sarabander]:not([data-mode=light]) #reader .page-heading>.section-id{color:#91a2c0}}[data-skin=sarabander][data-mode=dark] #reader .page-heading>.section-id{color:#91a2c0}[data-skin=sarabander][data-mode=dark] #reader .page-heading.chapter .chapnum{color:#a7b3c9}@media (prefers-color-scheme:dark){[data-skin=sarabander]:not([data-mode=light]) #reader .page-heading.chapter .chapnum{color:#a7b3c9}}[data-skin=sarabander] #reader p,[data-skin=sarabander] #reader ul,[data-skin=sarabander] #reader ol{margin-top:1em;margin-bottom:1em}[data-skin=sarabander] #reader pre,[data-skin=sarabander] #reader code,[data-skin=sarabander] #reader tt,[data-skin=sarabander] #reader samp{font-family:var(--font-code);font-size:var(--code-sarabander-inline-size)}[data-skin=sarabander] #reader pre,[data-skin=sarabander] #reader pre code{font-size:var(--code-sarabander-block-size);line-height:1.5}@media (width<=960px){[data-skin=sarabander] #reader pre,[data-skin=sarabander] #reader pre code{line-height:1.4}}[data-skin=sarabander] #reader a[href]{color:#804040;text-decoration:none}@media (prefers-color-scheme:dark){[data-skin=sarabander]:not([data-mode=light]) #reader a[href]{color:#c08d80}}[data-skin=sarabander][data-mode=dark] #reader a[href]{color:#c08d80}[data-skin=sarabander] #reader section.page>h2.page-heading.chapter+.step+.step p:first-child:first-letter,[data-skin=sarabander] #reader section.page>h3.page-heading+.step p:first-child:first-letter{float:left;text-transform:uppercase;color:#9090c0;margin:0 .013em -.05em -.05em;padding-left:0;font-family:Linux Libertine O,serif;font-size:3em;font-style:normal;font-weight:400;line-height:.83em}[data-skin=sarabander] #reader section.page>h2.page-heading+.step:not(:has(.sicp-epigraph)) p:first-child:first-letter{float:left;text-transform:uppercase;color:#9090c0;margin:0 .013em -.05em -.05em;padding-left:0;font-family:Linux Libertine O,serif;font-size:3em;font-style:normal;font-weight:400;line-height:.83em}[data-skin=sarabander] #reader section.page>.step:has(.sicp-epigraph)+.step p:first-child:first-letter{float:left;text-transform:uppercase;color:#9090c0;margin:0 .013em -.05em -.05em;padding-left:0;font-family:Linux Libertine O,serif;font-size:3em;font-style:normal;font-weight:400;line-height:.83em}@media (width<=960px){[data-skin=sarabander] #reader section.page>h2.page-heading.chapter+.step+.step p:first-child:first-letter,[data-skin=sarabander] #reader section.page>h3.page-heading+.step p:first-child:first-letter{font-size:2.9em}[data-skin=sarabander] #reader section.page>h2.page-heading+.step:not(:has(.sicp-epigraph)) p:first-child:first-letter{font-size:2.9em}[data-skin=sarabander] #reader section.page>.step:has(.sicp-epigraph)+.step p:first-child:first-letter{font-size:2.9em}}[data-skin=sarabander] #reader section.page>h2.page-heading.chapter+.step+.step p:first-child:first-line,[data-skin=sarabander] #reader section.page>h3.page-heading+.step p:first-child:first-line{letter-spacing:.04em;font-feature-settings:"onum", "c2sc", "smcp";font-family:Linux Libertine O,serif}[data-skin=sarabander] #reader section.page>h2.page-heading+.step:not(:has(.sicp-epigraph)) p:first-child:first-line{letter-spacing:.04em;font-feature-settings:"onum", "c2sc", "smcp";font-family:Linux Libertine O,serif}[data-skin=sarabander] #reader section.page>.step:has(.sicp-epigraph)+.step p:first-child:first-line{letter-spacing:.04em;font-feature-settings:"onum", "c2sc", "smcp";font-family:Linux Libertine O,serif}[data-skin=sarabander] #reader .sicp-epigraph{color:var(--fg);border-left:0;margin:3em 1em;padding:0;font-style:normal}[data-skin=sarabander] #reader .sicp-epigraph>p:first-child{margin-top:0}[data-skin=sarabander] #reader .sicp-epigraph>p:last-child{margin-bottom:0}[data-skin=sarabander] #reader .sicp-epigraph cite{font-style:italic}@media (width<=480px){[data-skin=sarabander] #reader .sicp-epigraph{margin-left:.5em;margin-right:.5em}}[data-skin=sarabander] #reader abbr{letter-spacing:.04em;font-feature-settings:"onum", "c2sc", "smcp";font-family:Linux Libertine O,serif;text-decoration:none}[data-skin=sarabander] #reader{--tok-plain:#606060;--tok-keyword:#4070a0;--tok-builtin:#606060;--tok-operator:#909020;--tok-number:#509040;--tok-string:#985098;--tok-comment:#b08050;--tok-paren:#989898;--tok-output:#606060}@media (prefers-color-scheme:dark){[data-skin=sarabander]:not([data-mode=light]) #reader{--tok-plain:#b8b4ad;--tok-keyword:#82a8d8;--tok-builtin:#b8b4ad;--tok-operator:#b8b858;--tok-number:#88c078;--tok-string:#c890c8;--tok-comment:#c89c80;--tok-paren:#999692;--tok-output:#b8b4ad}}[data-skin=sarabander][data-mode=dark] #reader{--tok-plain:#b8b4ad;--tok-keyword:#82a8d8;--tok-builtin:#b8b4ad;--tok-operator:#b8b858;--tok-number:#88c078;--tok-string:#c890c8;--tok-comment:#c89c80;--tok-paren:#999692;--tok-output:#b8b4ad}[data-skin=sarabander] #reader .exercise{margin-top:2em;margin-bottom:2em}[data-skin=sarabander] #reader .exercise-prompt{font-family:Linux Libertine O,Linux Libertine,Georgia,serif}[data-skin=sarabander] #side-panel{padding-left:3ex;padding-right:3ex;font-family:Linux Libertine O,Linux Libertine,Georgia,serif;font-size:1rem}[data-skin=sarabander] #side-panel a[href]{text-decoration:none}[data-skin=sarabander] #reader .subtitle abbr,[data-skin=sarabander] #reader div.subtitle>abbr{font-size:1.2em}[data-skin=sarabander] #reader .pln{color:#606060}@media (prefers-color-scheme:dark){[data-skin=sarabander]:not([data-mode=light]) #reader .pln{color:#b8b4ad}}[data-skin=sarabander][data-mode=dark] #reader .pln{color:#b8b4ad}[data-skin=sarabander] #reader .display-math math,[data-skin=sarabander] #reader .display-math>math[display=block],[data-skin=sarabander] #reader math{font-family:Linux Libertine O,Linux Libertine,"Source Serif 4",Georgia,serif;font-size:1em}[data-skin=sarabander] #reader abbr a[href]{font-feature-settings:normal;letter-spacing:normal}[data-skin=sarabander][data-mode=dark] #reader section.page>h2.page-heading.chapter+.step+.step p:first-child:first-letter,[data-skin=sarabander][data-mode=dark] #reader section.page>h3.page-heading+.step p:first-child:first-letter{color:#91a2c0}[data-skin=sarabander][data-mode=dark] #reader section.page>h2.page-heading+.step:not(:has(.sicp-epigraph)) p:first-child:first-letter{color:#91a2c0}[data-skin=sarabander][data-mode=dark] #reader section.page>.step:has(.sicp-epigraph)+.step p:first-child:first-letter{color:#91a2c0}@media (prefers-color-scheme:dark){[data-skin=sarabander]:not([data-mode=light]) #reader section.page>h2.page-heading.chapter+.step+.step p:first-child:first-letter,[data-skin=sarabander]:not([data-mode=light]) #reader section.page>h3.page-heading+.step p:first-child:first-letter{color:#91a2c0}[data-skin=sarabander]:not([data-mode=light]) #reader section.page>h2.page-heading+.step:not(:has(.sicp-epigraph)) p:first-child:first-letter{color:#91a2c0}[data-skin=sarabander]:not([data-mode=light]) #reader section.page>.step:has(.sicp-epigraph)+.step p:first-child:first-letter{color:#91a2c0}}[data-skin=sarabander] #side-panel{box-shadow:4px 4px 22px #00000047}@media (prefers-color-scheme:dark){[data-skin=sarabander]:not([data-mode=light]) #side-panel{box-shadow:4px 4px 22px #0000008c}}[data-skin=sarabander][data-mode=dark] #side-panel{box-shadow:4px 4px 22px #0000008c}[data-skin=sarabander] #reader pre.code{color:var(--tok-plain);background:0 0;border:none;border-radius:0;margin:1em -8px;padding:4px 8px}[data-skin=sarabander] #reader pre.code.inline-block{margin:.4em -8px .4em 1.4em}[data-skin=sarabander] #reader pre.code .tok-symbol{color:var(--tok-plain)}[data-skin=sarabander] #reader pre.code .tok-keyword{font-weight:400}[data-skin=sarabander] #reader pre.code .tok-comment{font-style:normal}[data-skin=sarabander] #reader pre.code .code-line{grid-template-columns:minmax(0,1fr);position:relative}[data-skin=sarabander] #reader pre.code .code-line-number{opacity:0;width:2.4em;margin-right:6px;transition:opacity .12s;position:absolute;right:100%}[data-skin=sarabander] #reader pre.code:hover .code-line-number{opacity:.58}[data-skin=sarabander] #reader pre.code .code-line.has-line-mark .code-line-number{opacity:1}[data-skin=sarabander] #reader pre.code .out{color:var(--tok-number)}[data-skin=sarabander] #reader pre.code .out:before{content:none}[data-skin=sarabander] #reader code{background:0 0;border-radius:0;padding:0}[data-skin=sarabander] #reader .sicp-figure img,[data-skin=sarabander] #reader .sicp-figure .sicp-figure-img-dark,[data-skin=sarabander] #reader .display-math-fallback img{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}[data-skin=sarabander] #reader .sicp-figure{margin-top:2em;margin-bottom:1.2em}[data-skin=sarabander] #reader .sicp-figure figcaption{min-width:10em;color:var(--fg);text-align:left;margin:1em auto 0;padding:0 1.5em;font-size:1em;font-style:normal;display:table}[data-skin=sarabander] #reader .sicp-quote{color:var(--fg);border-left:0;margin:1.5em 40px;padding:0;font-style:normal}@media (width>=481px) and (width<=720px){[data-skin=sarabander] #reader .sicp-quote{margin-left:1em;margin-right:1em}}@media (width<=480px){[data-skin=sarabander] #reader .sicp-quote{margin-left:.5em;margin-right:.5em}}[data-skin=sarabander] #reader .step:not([data-active]):hover{background:0 0}[data-skin=sarabander] #reader .step[data-active]{border-left-color:color-mix(in srgb, var(--accent) 55%, transparent);background:0 0}[data-skin=sarabander] #reader .step.section-intro-step{color:var(--fg)}[data-skin=sarabander] #reader .page-heading.lvl-4{text-transform:none;letter-spacing:normal;font-weight:700}[data-skin=sarabander] #reader .fnref{color:#804040;font-size:.78em}@media (prefers-color-scheme:dark){[data-skin=sarabander]:not([data-mode=light]) #reader .fnref{color:#c08d80}}[data-skin=sarabander][data-mode=dark] #reader .fnref{color:#c08d80}[data-skin=sarabander] #reader var{padding-right:.16ex}[data-skin=sarabander] #reader mtext{font-family:STIXGeneral,Linux Libertine O,serif}[data-skin=sarabander] #reader pre math{font-size:1.22em}[data-skin=sarabander] #reader code math{font-size:1.25em}@media (width<=960px){[data-skin=sarabander] #reader{line-height:1.26}}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-padding-top:72px}body{font-family:var(--font-body);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;font-size:19px;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-head)}.dim{color:var(--fg-dim)}.topbar{z-index:10;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;padding:12px 24px;font-family:-apple-system,Segoe UI,Inter,system-ui,sans-serif;font-size:14px;display:flex;position:sticky;top:0}.topbar .title{align-items:center;gap:10px;min-width:0;font-weight:600;display:flex}.topbar .title-text{white-space:nowrap}.topbar .controls{align-items:center;gap:16px;display:flex}.breadcrumb{color:var(--fg-dim);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:400;overflow:hidden}.breadcrumb .bc-top{color:var(--fg)}.breadcrumb .bc-sep{opacity:.6;margin:0 6px}.breadcrumb .bc-sub{color:var(--accent)}.breadcrumb .bc-nav{color:var(--fg-dim);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;margin:0 4px;padding:2px 6px;font-size:1.1em;line-height:1}.breadcrumb .bc-nav:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}@keyframes boundary-nudge-next{0%,to{transform:translate(0)}50%{transform:translate(2px)}}@keyframes boundary-nudge-prev{0%,to{transform:translate(0)}50%{transform:translate(-2px)}}main{will-change:auto;transition:transform 90ms ease-out}body[data-boundary-edge] main{will-change:transform}body[data-boundary-edge=next] main{transform:translateY(calc(-1 * var(--attention-stretch,0px)))}body[data-boundary-edge=prev] main{transform:translateY(var(--attention-stretch,0px))}body[data-boundary-edge=next] .breadcrumb [data-bc-nav=next],body[data-boundary-edge=prev] .breadcrumb [data-bc-nav=prev]{color:var(--accent);opacity:var(--attention-cue-opacity,.45)}body[data-boundary-progress=hint][data-boundary-edge=next] .breadcrumb [data-bc-nav=next],body[data-boundary-progress=ready][data-boundary-edge=next] .breadcrumb [data-bc-nav=next]{animation:.32s ease-in-out infinite boundary-nudge-next}body[data-boundary-progress=hint][data-boundary-edge=prev] .breadcrumb [data-bc-nav=prev],body[data-boundary-progress=ready][data-boundary-edge=prev] .breadcrumb [data-bc-nav=prev]{animation:.32s ease-in-out infinite boundary-nudge-prev}@media (prefers-reduced-motion:reduce){main{transition:none}body[data-boundary-edge] main,body.attention-turning main{opacity:1;transform:none}body[data-boundary-edge] .breadcrumb [data-bc-nav]{animation:none}}.ed-tabs{flex-shrink:0;align-items:center;gap:0;display:inline-flex}.ed-tab{color:var(--fg-dim);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:6px;padding:4px 10px;font-weight:500;transition:color .12s,border-color .12s;display:inline-flex}.ed-tab:hover{color:var(--fg)}.ed-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.ed-tab-icon{flex-shrink:0;width:16px;height:16px}.ed-tab-label{white-space:nowrap;font-size:12.5px}.ip-scratch-scope{border:1px solid var(--rule);background:color-mix(in srgb, var(--panel-bg) 88%, var(--code-bg));min-width:34px;height:23px;color:var(--fg-dim);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:2px 7px;font-size:11.5px;line-height:1;display:inline-flex}.ip-scratch-scope[hidden]{display:none}.ip-scratch-scope:hover{border-color:var(--accent);color:var(--accent)}.ip-scratch-scope[data-scope=global]{border-color:color-mix(in srgb, var(--accent) 50%, var(--rule));color:var(--accent)}@container ip-head (width<=360px){.ed-tab-label{display:none}.ed-tab{padding:4px 8px}.ip-scratch-scope{min-width:30px;padding-inline:6px}}@media (width<=700px){.topbar .title-text{display:none}.breadcrumb .bc-top{color:var(--fg-dim)}.breadcrumb .bc-sub{color:var(--fg)}}#settings-toggle,#toc-toggle,#help-toggle{border:1px solid var(--rule);color:var(--fg);cursor:pointer;background:0 0;border-radius:999px;place-items:center;width:34px;height:34px;font-size:18px;display:grid}#settings-toggle:hover,#toc-toggle:hover,#help-toggle:hover{border-color:var(--accent)}#toc-toggle{font-size:16px}#help-toggle{font-size:15px;font-weight:700}.settings-icon{flex:none;width:17px;height:17px;display:block}.settings-wrap{position:relative}#settings-menu{--settings-control-w:132px;background:var(--panel-bg);width:min(296px,100vw - 24px);color:var(--fg);border:1px solid var(--rule);box-shadow:var(--panel-shadow);font-family:var(--font-body);z-index:40;border-radius:8px;flex-direction:column;gap:9px;padding:12px;font-size:14px;display:flex;position:absolute;top:calc(100% + 8px);right:0}#settings-menu[hidden]{display:none}.set-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.set-label{min-width:0;line-height:1.2}#settings-menu .set-row,#ip-settings-menu .set-row{grid-template-columns:minmax(0, 1fr) var(--settings-control-w);align-items:center;column-gap:16px;min-height:30px;display:grid}.set-label{color:var(--fg-dim);letter-spacing:.04em;text-transform:uppercase;font-variant:small-caps;font-size:12.5px}select{color-scheme:inherit}select option{background:var(--panel-bg);color:var(--fg)}.set-section{letter-spacing:.06em;text-transform:uppercase;font-variant:small-caps;color:var(--fg-dim);border-top:1px solid var(--rule);margin-top:2px;padding-top:6px;font-size:11.5px}#settings-menu select{font:inherit;border:1px solid var(--rule);background:color-mix(in srgb, var(--panel-bg) 88%, var(--code-bg));color:var(--fg);width:var(--settings-control-w);box-sizing:border-box;border-radius:4px;justify-self:end;min-height:28px;padding:3px 7px;font-size:13px}#set-skin{font:inherit;border:1px solid var(--rule);background:color-mix(in srgb, var(--panel-bg) 88%, var(--code-bg));color:var(--fg);width:var(--settings-control-w);box-sizing:border-box;border-radius:4px;min-height:28px;padding:3px 7px}.size-stepper{width:var(--settings-control-w);justify-self:end;align-items:center;gap:0;display:inline-flex}.size-stepper span{text-align:center;min-width:0;color:var(--fg);flex:auto;font-size:13px}.size-stepper button{font:inherit;border:1px solid var(--rule);width:30px;min-height:28px;color:var(--fg);cursor:pointer;background:0 0;border-radius:4px;padding:0;font-size:12px;line-height:1}.size-stepper button:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.size-stepper button:disabled{opacity:.45;cursor:not-allowed}#set-require-exercises{width:16px;height:16px;accent-color:var(--accent);justify-self:end;margin:0}.mode-group{width:var(--settings-control-w);justify-self:end;gap:0;display:inline-flex}.mode-group .mode-btn{border:1px solid var(--rule);color:var(--fg-dim);width:auto;height:28px;font:inherit;cursor:pointer;background:0 0;flex:1 1 0;place-items:center;padding:0;font-size:14px;display:grid}.mode-group .mode-btn:first-child{border-radius:4px 0 0 4px}.mode-group .mode-btn:last-child{border-radius:0 4px 4px 0}.mode-group .mode-btn+.mode-btn{border-left:0}.mode-group .mode-btn[aria-checked=true]{background:color-mix(in srgb, var(--accent) 14%, transparent);border-color:var(--accent);color:var(--accent)}.settings-action-stack{width:var(--settings-control-w);justify-items:end;gap:4px;display:inline-grid}.settings-action-button{font:inherit;border:1px solid var(--rule);background:color-mix(in srgb, var(--panel-bg) 88%, var(--code-bg));width:100%;min-height:28px;color:var(--fg);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:3px 8px;font-size:12.5px;display:inline-flex}.settings-action-button:hover:not(:disabled),.settings-action-button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.settings-action-button:disabled{opacity:.45;cursor:not-allowed}.settings-action-button .settings-icon,.mode-group .settings-icon{width:15px;height:15px}.settings-status{color:var(--fg-dim);font-variant:small-caps;letter-spacing:.04em;font-size:11px}.settings-status[data-kind=ok]{color:var(--accent)}.settings-status[data-kind=err]{color:var(--err,#c54040)}main{max-width:660px;margin:32px auto 160px;padding:0 24px}.front-cover-layout{grid-template-columns:minmax(160px,240px) minmax(0,1fr);align-items:center;gap:28px;margin:1.6em 0 2em;display:grid}.front-cover-image img{border:1px solid var(--rule);width:100%;box-shadow:var(--panel-shadow);display:block}.front-cover-copy{flex-direction:column;gap:.55em;display:flex}.front-cover-copy strong{font-family:var(--font-head);color:var(--fg);font-size:1.55em;line-height:1.08}.front-cover-copy span{color:var(--fg-dim)}@media (width<=620px){.front-cover-layout{grid-template-columns:1fr;gap:18px}.front-cover-image{max-width:220px}}.step{cursor:default;border-left:3px solid #0000;border-radius:4px;margin:0 -14px;padding:4px 14px;transition:background .2s,border-color .2s;position:relative}.step[data-active]{background:color-mix(in srgb, var(--accent) 8%, transparent)}.step[data-active]>p:first-child:before{content:""}.step:not([data-active]):hover{background:color-mix(in srgb, var(--fg) 3%, transparent)}.step.section-intro-step{color:color-mix(in srgb, var(--fg) 92%, var(--fg-dim))}.step.step-heading{margin-top:.9em;margin-bottom:.2em;padding-top:0;padding-bottom:0}.step.step-heading .page-heading{margin-top:0;margin-bottom:.25em}.front-local-note{border:1px solid color-mix(in srgb, var(--accent) 22%, var(--rule));background:color-mix(in srgb, var(--code-bg) 65%, var(--panel-bg));box-shadow:var(--panel-shadow);border-radius:10px;margin:.5em 0 .8em;padding:.9em 1em .15em}.front-local-note p:first-child{margin-top:0}.front-local-note p:last-child{color:var(--fg-dim)}:root:not([data-skin=sarabander]) #reader section.page>h2.page-heading+.step.section-intro-step:not(:has(.sicp-epigraph))>p:first-child:first-letter{float:left;line-height:.83;font-family:"Linux Libertine O", var(--font-head), serif;color:var(--accent);margin:0 .05em -.05em -.02em;font-size:2.9em;font-weight:400}:root:not([data-skin=sarabander]) #reader section.page>h2.page-heading+.step.section-intro-step:not(:has(.sicp-epigraph))>p:first-child:first-line{letter-spacing:.04em;font-feature-settings:"onum", "c2sc", "smcp";font-family:Linux Libertine O,serif}.page-heading.lvl-2{margin:.4em 0 .6em;font-size:2rem}.page-heading.lvl-3{color:var(--accent);margin:1.2em 0 .4em;font-size:1.4rem}.page-heading.lvl-4{color:var(--fg);text-transform:uppercase;letter-spacing:.05em;margin:1.4em 0 .3em;font-size:1.1rem;font-weight:600}.page-heading.chapter{grid-template-columns:minmax(0,max-content) minmax(0,1fr);align-items:center;column-gap:clamp(1rem,2.5vw,1.8rem);margin:1.4em 0 1.3em;display:grid}.page-heading.chapter .chapnum{color:color-mix(in srgb, var(--accent) 38%, #c9cfdf);letter-spacing:-.05em;font-size:clamp(4rem,10vw,7rem);font-weight:300;line-height:.82}.page-heading.chapter .chaptitle{max-width:12ch;line-height:1.02;display:block}@media (width<=720px){.page-heading.chapter{grid-template-columns:1fr;align-items:start;row-gap:.35em}.page-heading.chapter .chapnum{font-size:clamp(3.6rem,18vw,5rem)}.page-heading.chapter .chaptitle{max-width:100%}}h1,h2,h3{font-family:var(--font-head);letter-spacing:-.01em}h2{margin:.6em 0 .4em;font-size:2rem}h3{color:var(--accent);margin:1.4em 0 .4em;font-size:1.4rem}.section-id{color:var(--fg-dim);margin-right:.4em;font-weight:400}p{margin:.6em 0 .9em}.term{border-bottom:1px dotted var(--term-underline);cursor:help}.term:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.fnref{color:var(--accent);cursor:pointer;vertical-align:super;padding:0 2px;font-size:.7em}.fnref+.fnref:before{content:",";color:var(--fg-dim);margin-left:-1px;font-size:1.2em}.bulleted,.numbered,.exercise-prompt ul,.exercise-prompt ol{padding-left:1.4em}.bulleted li,.numbered li,.exercise-prompt li{margin-bottom:.4em}.numbered,.exercise-prompt ol{list-style:decimal}.sicp-quote{border-left:2px solid color-mix(in srgb, var(--accent) 24%, var(--rule));color:color-mix(in srgb, var(--fg) 82%, var(--fg-dim));margin:1.5em 0 1.7em;padding:.35em 0 .35em 1.25em;font-style:italic}.sicp-quote>:first-child{margin-top:0}.sicp-quote>:last-child{margin-bottom:0}.sicp-quote p{margin:.45em 0}.sicp-quote footer{color:var(--fg-dim);margin-top:1em;font-style:normal}.sicp-quote code{font-style:normal}.sicp-quote footer em{font-style:italic}.sicp-epigraph{border-left-width:1px;max-width:33em;margin:0 0 2.5em;padding:0 0 0 1.6em}.sicp-epigraph .epigraph-text{line-height:1.55}.sicp-epigraph .epigraph-source{max-width:24em;display:block}.sicp-epigraph .epigraph-source:before{content:"—"}.xref-broken{color:inherit;cursor:default;text-decoration:none}.sicp-table{border-collapse:collapse;margin:1em 0;font-size:.95em}.sicp-table td{vertical-align:top;padding:4px 14px 4px 0}img.inline-math{vertical-align:middle;box-shadow:none;background:0 0;border:none;border-radius:0;width:auto;max-width:none;height:1.1em;padding:0;display:inline}pre.code{background:var(--code-bg);color:var(--code-fg);font-family:var(--font-code);font-size:var(--code-book-size);line-height:var(--code-line-height);border:1px solid var(--rule);tab-size:2;white-space:normal;border-radius:8px;margin:.8em 0;padding:12px 16px 12px 10px;overflow-x:auto}pre.code .interp-input{display:contents}pre.code .code-line{grid-template-columns:var(--code-gutter-w) minmax(0, 1fr);align-items:start;column-gap:7px;display:grid}pre.code .code-line-number{box-sizing:border-box;color:var(--fg-dim);font-variant-numeric:tabular-nums;opacity:.58;text-align:right;-webkit-user-select:none;user-select:none;padding:0 3px 0 0}pre.code.interp-target .code-line-number{cursor:pointer}pre.code.interp-target .code-line-number:hover{color:#c54040;opacity:1}pre.code .code-line.has-line-mark .code-line-number{color:#c54040;opacity:1;font-weight:700}pre.code .code-line.has-line-mark .code-line-number:before{content:"●";vertical-align:1px;margin-right:3px;font-size:8px}pre.code .code-line-content{overflow-wrap:normal;white-space:pre-wrap;word-break:normal;-webkit-hyphens:none;hyphens:none;min-width:0;display:block}pre.code .sexpr.has-form-mark{box-shadow:inset 0 -2px #c54040}pre.code .out{color:var(--tok-output);font-style:italic}pre.code .out:before{content:"↪ ";opacity:.72;font-family:var(--font-body)}pre.code .placeholder{color:var(--fg-dim)}pre.code .placeholder em{color:var(--fg-dim);font-style:italic}pre.code .placeholder code{color:var(--fg);background:0 0;padding:0;font-style:normal}pre.code .rm-label{color:var(--accent);letter-spacing:.02em;font-weight:600;display:inline-block}pre.code .rm-label:before{content:"▸ ";opacity:.7;margin-left:-1.1em}.sicp-figure{text-align:center;margin:1.4em auto}.display-math{text-align:center;margin:1.4em auto;font-size:1em}.display-math math{font-size:1.1em}[data-mode=dark] .display-math math,:root:not([data-mode=light]) .display-math math{color:var(--fg)}.display-math-fallback img{border:1px solid var(--rule);background:#fafbfc;border-radius:4px;max-width:100%;padding:6px 12px}.sicp-figure img{border:1px solid var(--rule);background:#fafbfc;border-radius:6px;max-width:100%;padding:10px 14px;box-shadow:0 2px 8px #0000002e}.sicp-svg-stack{width:100%;max-width:520px;margin:0 auto;display:block}.sicp-figure .sicp-figure-img{box-sizing:border-box;display:block}.sicp-figure .sicp-figure-img-dark{background:color-mix(in srgb, var(--panel-bg) 90%, var(--bg));border-color:color-mix(in srgb, var(--rule) 82%, var(--fg) 18%);display:none;box-shadow:0 2px 10px #00000047}@media (prefers-color-scheme:dark){:root:not([data-mode=light]) .sicp-figure .sicp-figure-img-light{display:none}:root:not([data-mode=light]) .sicp-figure .sicp-figure-img-dark{display:block}}[data-mode=dark] .sicp-figure .sicp-figure-img-light{display:none}[data-mode=dark] .sicp-figure .sicp-figure-img-dark{display:block}.sicp-figure img[src*=figures-svg\/]{width:100%;max-width:520px;height:auto}.sicp-figure[data-fig="1.4"] img[src*=figures-svg\/],.sicp-figure[data-fig="1.4"] .sicp-svg-stack{max-width:23.4ex}.sicp-figure[data-fig="2.25"] .sicp-svg-stack{max-width:8rem}.sicp-figure pre.code{text-align:left}.sicp-figure figcaption{color:var(--fg-dim);text-align:center;margin-top:8px;padding:0 12px;font-size:.85em;font-style:italic}.sicp-figure figcaption code{font-style:normal}.sicp-painter-figure{max-width:640px}.painter-grid{justify-content:center;place-items:start center;gap:14px;margin:1em auto .6em;display:grid}.painter-grid.frames,.painter-grid.two,.painter-grid.two-by-two{grid-template-columns:repeat(2,minmax(0,240px))}.painter-example{justify-items:center;gap:8px;width:100%;min-width:0;display:grid}sicp-painter{box-sizing:border-box;color:#383838;border:1px solid color-mix(in srgb, var(--rule) 72%, #303642);background:linear-gradient(#ffffffb3,#f4f6fae0),#fafbfc;border-radius:7px;place-items:center;width:100%;max-width:100%;padding:9px;display:inline-grid;overflow:hidden;box-shadow:inset 0 1px #ffffffbf,0 10px 24px #14182424}.painter-canvas{background:0 0;border-radius:4px;width:100%;max-width:100%;height:auto;display:block}.painter-code{box-sizing:border-box;white-space:pre-wrap;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;width:100%;margin:0;font-size:.7em}.painter-grid.two-by-two .painter-code{font-size:.66em}[data-mode=dark] sicp-painter,:root:not([data-mode=light]) sicp-painter{border-color:color-mix(in srgb, var(--rule) 55%, #fafbfc);box-shadow:inset 0 1px #ffffff59,0 14px 30px #00000061}@media (width<=560px){.painter-grid.frames,.painter-grid.two,.painter-grid.two-by-two{grid-template-columns:minmax(0,240px)}}pre.code.inline-block{font-size:var(--code-inline-block-size);border-color:color-mix(in srgb, var(--rule) 60%, transparent);white-space:pre-wrap;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;margin:.4em 0 .4em 1.4em;padding:8px 13px 8px 8px}code{background:var(--code-bg);font-family:var(--font-code);font-size:var(--code-inline-size);-webkit-hyphens:none;hyphens:none;border-radius:4px;padding:1px 5px}.tok-paren{color:var(--tok-paren)}.tok-keyword{color:var(--tok-keyword);font-weight:600}.tok-builtin{color:var(--tok-builtin)}.tok-operator{color:var(--tok-operator,var(--tok-builtin))}.tok-number{color:var(--tok-number)}.tok-string{color:var(--tok-string)}.tok-comment{color:var(--tok-comment);font-style:italic}.tok-symbol{color:var(--code-fg,var(--fg))}.tok-symbol,.tok-keyword,.tok-builtin,.tok-operator,.tok-number{white-space:nowrap}.sexpr{border-radius:3px;transition:background .1s}pre.code.interp-target.is-armed .sexpr:hover:not(:has(.sexpr:hover)){background:color-mix(in srgb, var(--accent) 14%, transparent)}:is(pre.code.interp-target.is-armed .sexpr:hover:not(:has(.sexpr:hover))>.paren-open,pre.code.interp-target.is-armed .sexpr:hover:not(:has(.sexpr:hover))>.paren-close){color:var(--accent);font-weight:700}pre.code.interp-target{cursor:default;transition:box-shadow .12s,border-color .12s;position:relative}pre.code.interp-target.is-armed{border-color:color-mix(in srgb, var(--accent) 50%, var(--rule));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent)}pre.code.interp-target.is-armed .sexpr{cursor:pointer}pre.code.interp-target .sexpr.is-selected{background:color-mix(in srgb, var(--accent) 22%, transparent);outline:1px solid color-mix(in srgb, var(--accent) 60%, transparent)}pre.code.interp-target .sexpr.is-selected>.paren-open,pre.code.interp-target .sexpr.is-selected>.paren-close{color:var(--accent);font-weight:700}pre.code.interp-target.is-armed .sexpr.is-hover{background:color-mix(in srgb, var(--accent) 14%, transparent)}pre.code.interp-target.is-armed .sexpr.is-hover>.paren-open,pre.code.interp-target.is-armed .sexpr.is-hover>.paren-close{color:var(--accent);font-weight:700}.inline-cm-host{background:var(--code-bg);color:var(--code-fg);border:1px solid var(--rule);font-family:var(--font-code);font-size:var(--code-ui-size);line-height:var(--code-line-height);border-radius:8px;margin:.8em 0;overflow:hidden}.inline-cm-host .cm-editor{font-family:inherit;font-size:inherit;background:0 0}.inline-cm-host .cm-scroller{padding:12px 4px 12px 10px}.inline-cm-host .cm-gutters{min-width:var(--code-gutter-w)}.inline-cm-host .cm-lineNumbers .cm-gutterElement{box-sizing:border-box;min-width:var(--code-gutter-w)}.inline-cm-host .cm-line{padding-left:0;padding-right:0}.inline-cm-host .cm-content{caret-color:var(--accent)}.inline-cm-host .cm-focused{outline:none}.inline-cm-host.is-armed{border-color:var(--accent)}pre.code.interp-target.is-edited:before{content:"•";color:var(--accent);font-weight:700;line-height:1;position:absolute;top:4px;left:3px}.exercise{border:1px solid var(--rule);background:color-mix(in srgb, var(--accent) 6%, var(--bg));border-radius:10px;margin:1em 0;padding:18px 22px}.exercise .exercise-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.exercise .label{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-family:-apple-system,system-ui,sans-serif;font-size:.78em;font-weight:600}.exercise .exercise-open{color:var(--fg-dim);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:4px;display:inline-grid}.exercise .exercise-open svg{width:18px;height:18px}.exercise .exercise-open:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.exercise .exercise-status{min-width:1em;color:var(--fg-dim);font-size:1.1em;font-weight:700;line-height:1;display:inline-block}.exercise.exercise-passed{background:color-mix(in srgb, #3a8c5b 8%, var(--bg));border-color:#3a8c5b}.exercise.exercise-passed .exercise-status{color:#3a8c5b}.exercise.exercise-failed{border-color:color-mix(in srgb, #c54040 60%, var(--rule))}.exercise.exercise-failed .exercise-status{color:#c54040}.exercise.exercise-attempted .exercise-status{color:var(--accent)}.exercise.exercise-skipped{opacity:.7;border-style:dashed}.exercise.exercise-skipped .exercise-status{color:var(--fg-dim)}.exercise.exercise-optional{border-style:dashed;border-color:color-mix(in srgb, var(--accent) 35%, var(--rule));background:color-mix(in srgb, var(--accent) 3%, var(--bg));padding:12px 18px}.exercise-optional .optional-badge{color:color-mix(in srgb, var(--accent) 70%, var(--fg-dim))}.exercise-optional .exercise-summary{color:var(--fg-dim);margin:2px 0 0;font-size:.95em}.exercise-optional[data-expanded="1"] .exercise-summary{display:none}.exercise-optional[data-expanded="1"]{background:color-mix(in srgb, var(--accent) 6%, var(--bg));border-style:solid;padding:18px 22px}.exercise-expand{border:1px solid var(--rule);color:var(--fg-dim);cursor:pointer;font:inherit;background:0 0;border-radius:4px;padding:2px 10px;font-size:.82em}.exercise-expand:hover{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 50%, var(--rule))}@keyframes exercise-gate-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 50%, transparent)}60%{box-shadow:0 0 0 10px color-mix(in srgb, var(--accent) 0%, transparent)}to{box-shadow:0 0 #0000}}.exercise.exercise-gate-pulse{animation:.7s ease-out exercise-gate-pulse}.exercise-prompt{margin-bottom:10px}.exercise-prompt pre.code{background:var(--panel-bg,var(--bg));font-size:var(--code-ui-size);border-radius:6px;margin:8px 0;padding:8px 10px 8px 0}.exercise-prompt .prompt-placeholder{border:1px dashed color-mix(in srgb, var(--accent) 55%, var(--rule));background:color-mix(in srgb, var(--accent) 9%, transparent);color:var(--accent);font-family:var(--font-code);border-radius:4px;padding:0 .35em;font-style:normal;line-height:1.35;display:inline-block}.exercise-prompt code .prompt-placeholder{margin:0 .08em}.exercise-workspace{margin-top:10px}.ex-editor{border:1px solid var(--rule);background:var(--panel-bg,var(--bg));border-radius:6px;min-height:90px;overflow:hidden}.ex-editor .cm-editor{min-height:90px}.ex-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:8px;display:flex}.ex-btn,.checkpoint .cp-btn-run,.checkpoint .cp-btn-reset{font:inherit;border:1px solid var(--rule);background:var(--panel-bg,var(--bg));color:var(--fg);cursor:pointer;border-radius:5px;padding:5px 12px;font-size:.85em}.ex-btn:hover,.checkpoint .cp-btn-reset:hover{border-color:var(--accent)}.ex-btn-run,.checkpoint .cp-btn-run{border-color:var(--accent);color:var(--accent);font-weight:600}.ex-btn-run:hover,.checkpoint .cp-btn-run:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.ex-btn-skip{color:var(--fg-dim);font-style:italic}.ex-btn-skip:hover{color:var(--fg);border-color:var(--fg-dim)}.ex-note{color:var(--fg-dim);font-size:.85em;font-style:italic}.ex-results{flex-direction:column;gap:3px;margin-top:8px;display:flex}.ex-result{font-family:var(--font-code);font-size:var(--code-ui-size);border-radius:4px;align-items:baseline;gap:8px;padding:3px 6px;display:flex}.ex-result-ok{color:#3a8c5b}.ex-result-fail{color:#c54040}.ex-mark{width:1em;font-weight:700}.ex-label{color:var(--fg);font-weight:500}.ex-result-fail .ex-label{color:var(--fg)}.ex-detail{color:var(--fg-dim);font-size:.92em}.ex-result-empty{color:var(--fg-dim);font-size:.85em;font-style:italic}.ex-predict-grid{flex-direction:column;gap:4px;max-width:640px;margin-top:4px;display:flex}.ex-predict-row{font-family:var(--font-code);font-size:var(--code-ui-size);border-radius:4px;grid-template-columns:minmax(0,1fr) auto minmax(60px,180px) auto auto;align-items:baseline;gap:8px;padding:3px 6px;display:grid}.ex-predict-label{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.ex-predict-arrow{color:var(--fg-dim);flex-shrink:0}.ex-predict-input{font:inherit;font-feature-settings:"tnum";background:var(--panel-bg,var(--bg));color:var(--fg);border:1px solid var(--rule);box-sizing:border-box;border-radius:4px;width:100%;min-width:60px;padding:2px 6px}.ex-predict-input:focus{border-color:var(--accent);outline:none}.ex-predict-expected{color:var(--fg-dim);white-space:nowrap;font-size:.92em}.ex-predict-mark{flex-shrink:0;width:1em;font-weight:700}.ex-predict-mark-pass{color:#3a8c5b}.ex-predict-mark-fail{color:#c54040}.checkpoint{border:1px solid var(--rule);background:color-mix(in srgb, var(--panel-bg) 86%, var(--bg));border-radius:10px;margin:1.2em 0;padding:18px 22px}.step[data-active]>.checkpoint{background:var(--panel-bg)}.checkpoint .label{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:6px;font-family:-apple-system,system-ui,sans-serif;font-size:.78em;font-weight:600}.checkpoint .cp-question{margin-bottom:4px}.checkpoint .cp-options{flex-direction:column;gap:8px;margin-top:12px;display:flex}.checkpoint .cp-options button{text-align:left;border:1px solid var(--rule);background:var(--panel-bg);color:var(--fg);cursor:pointer;font:inherit;border-radius:6px;padding:10px 14px;font-size:.95em;transition:background .15s,border-color .15s}.checkpoint .cp-options button:hover{border-color:var(--accent)}.checkpoint .cp-options button.correct{background:color-mix(in srgb, #3a8c5b 14%, var(--panel-bg));border-color:#3a8c5b}.checkpoint .cp-options button.wrong{background:color-mix(in srgb, #c54040 14%, var(--panel-bg));border-color:#c54040}.checkpoint .cp-feedback{background:color-mix(in srgb, var(--fg) 6%, var(--bg));border-radius:6px;margin-top:12px;padding:10px 14px;font-size:.95em}.checkpoint .cp-feedback.right{background:color-mix(in srgb, #3a8c5b 14%, var(--bg))}.checkpoint .cp-feedback.wrong{background:color-mix(in srgb, #c54040 14%, var(--bg))}.checkpoint .cp-feedback.reveal{background:color-mix(in srgb, var(--accent) 12%, var(--bg))}.checkpoint .cp-btn-reveal{border:1px solid color-mix(in srgb, var(--accent) 50%, var(--rule));background:color-mix(in srgb, var(--accent) 22%, var(--panel-bg));color:var(--fg);cursor:pointer;font:inherit;border-radius:6px;padding:6px 14px;font-size:.9em}.checkpoint .cp-btn-reveal:hover{background:color-mix(in srgb, var(--accent) 32%, var(--panel-bg))}.checkpoint .cp-btn-reveal:disabled{opacity:.6;cursor:default}.checkpoint .cp-hint{color:var(--fg-dim);margin-top:6px;font-style:italic;display:block}.checkpoint .cp-runcode-mount{margin-top:12px}.checkpoint .cp-starter{border:1px solid var(--rule);background:var(--panel-bg);font-family:var(--font-code,ui-monospace, SFMono-Regular, Menlo, monospace);font-size:var(--code-ui-size);white-space:pre-wrap;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;border-radius:6px;margin:8px 0 0;padding:8px 10px 8px 0}.checkpoint .cp-editor{border:1px solid var(--rule);border-radius:6px;overflow:hidden}.checkpoint .cp-editor .cm-editor{background:var(--panel-bg)}.checkpoint .cp-controls{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}#side-panel{background:var(--panel-bg);width:min(360px,100vw - 32px);color:var(--fg);border:1px solid var(--rule);box-shadow:var(--panel-shadow);z-index:20;border-radius:12px;padding:18px 22px;font-family:-apple-system,system-ui,sans-serif;font-size:14px;line-height:1.5;position:fixed;top:64px;right:16px}#side-panel .close{color:var(--fg-dim);cursor:pointer;background:0 0;border:0;font-size:20px;position:absolute;top:8px;right:10px}#side-panel h3{color:var(--accent);margin:0 0 6px;font-size:1rem}#side-panel h3:empty{display:none}.page-nav{align-items:center;gap:12px;display:flex;position:fixed;bottom:24px;right:24px}#next-fab{background:var(--accent);color:var(--accent-fg);cursor:pointer;box-shadow:0 6px 20px color-mix(in srgb, var(--accent) 50%, transparent);border:0;border-radius:999px;align-items:center;gap:10px;padding:16px 22px;font-family:-apple-system,system-ui,sans-serif;font-size:.95em;font-weight:600;animation:2.6s ease-in-out infinite pulse;display:flex}#next-fab:hover{transform:translateY(-1px)}.page-nav .arrow{flex-shrink:0;place-items:center;width:1.25em;height:1.25em;line-height:0;display:inline-grid}.page-nav .arrow svg{width:100%;height:100%;display:block}#next-fab[disabled]{opacity:.4;cursor:not-allowed;animation:none}#next-fab.exercise-gate{text-underline-offset:4px;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}#prev-fab,#fwd-fab{background:var(--panel-bg);color:var(--fg);border:1px solid var(--rule);cursor:pointer;border-radius:999px;place-items:center;width:52px;height:52px;font-family:-apple-system,system-ui,sans-serif;font-size:1.1em;display:grid;box-shadow:0 4px 14px #0000001f}#fwd-fab{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 50%, var(--rule))}#prev-fab:hover,#fwd-fab:hover{border-color:var(--accent);color:var(--accent)}#prev-fab[disabled],#fwd-fab[disabled]{opacity:.35;cursor:not-allowed}#prev-fab[hidden],#fwd-fab[hidden]{visibility:hidden;pointer-events:none;display:grid}.toast{background:var(--panel-bg);color:var(--fg);border:1px solid var(--rule);box-shadow:var(--panel-shadow);z-index:30;opacity:0;pointer-events:none;border-radius:8px;padding:10px 14px;font-family:-apple-system,system-ui,sans-serif;font-size:.88em;transition:opacity .16s,transform .16s;position:fixed;bottom:88px;right:24px;transform:translateY(8px)}.toast.show{opacity:1;transform:translateY(0)}@keyframes pulse{0%,to{box-shadow:0 6px 20px color-mix(in srgb, var(--accent) 40%, transparent)}50%{box-shadow:0 6px 28px color-mix(in srgb, var(--accent) 70%, transparent)}}#sidebar{background:var(--panel-bg);width:min(420px,90vw);height:100vh;color:var(--fg);border-right:1px solid var(--rule);box-shadow:var(--panel-shadow);z-index:30;flex-direction:column;font-family:-apple-system,system-ui,sans-serif;font-size:13.5px;transition:transform .18s;display:flex;position:fixed;top:0;left:0;transform:translate(0)}#sidebar[hidden]{pointer-events:none;display:flex;transform:translate(-100%)}.sb-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:stretch;display:flex}.sb-tabs{flex:auto;display:flex}.sb-tab{min-width:0;color:var(--fg-dim);font:inherit;cursor:pointer;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;flex:1 1 0;padding:10px 6px;font-size:12px;overflow:hidden}.sb-tab:hover{color:var(--fg)}.sb-tab.active{color:var(--accent);border-bottom-color:var(--accent)}#sb-close{color:var(--fg-dim);cursor:pointer;background:0 0;border:0;padding:0 14px;font-size:22px;line-height:1}.sb-pane{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.sb-pane[hidden]{display:none}.sb-controls{border-bottom:1px solid var(--rule);align-items:center;gap:6px;padding:10px 14px;display:flex}.sb-search-wrap{border:1px solid var(--rule);border-radius:4px;flex:auto;align-items:center;gap:4px;min-width:0;padding:0 6px;display:flex}.sb-search-wrap:focus-within{border-color:color-mix(in srgb, var(--accent) 60%, var(--rule))}.sb-search-icon{color:var(--fg-dim);font-size:12px;line-height:1}.sb-search-wrap input[type=search]{min-width:0;font:inherit;color:var(--fg);background:0 0;border:none;outline:none;flex:auto;padding:4px 0}.sb-loading{padding:14px 18px;font-size:12px;font-style:italic}.defs-controls{border-bottom:1px solid var(--rule);align-items:center;gap:6px;padding:10px 14px;display:flex}.defs-controls select.defs-num-select{font:inherit;border:1px solid var(--rule);background:color-mix(in srgb, var(--panel-bg) 88%, var(--code-bg));color:var(--fg);font-variant-numeric:tabular-nums;border-radius:4px;width:auto;max-width:4.5em;padding:3px 4px}.defs-controls .defs-search-wrap{border:1px solid var(--rule);border-radius:4px;flex:auto;align-items:center;gap:4px;min-width:0;padding:0 6px;display:flex}.defs-controls .defs-search-wrap:focus-within{border-color:color-mix(in srgb, var(--accent) 60%, var(--rule))}.defs-controls .defs-search-icon{color:var(--fg-dim);font-size:12px;line-height:1}.defs-controls input[type=search]{min-width:0;font:inherit;color:var(--fg);background:0 0;border:none;outline:none;flex:auto;padding:4px 0}.defs-toggles{border-bottom:1px solid var(--rule);color:var(--fg-dim);align-items:center;gap:14px;padding:6px 14px 8px;font-size:11.5px;display:flex}.defs-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;display:inline-flex}.defs-toggle input{margin:0}.defs-list{font-family:var(--font-code);flex:auto;padding:4px 0;font-size:12.5px;overflow-y:auto}.defs-list .defs-row{cursor:pointer;-webkit-user-select:none;user-select:none;border-left:3px solid #0000;align-items:baseline;gap:8px;padding:6px 14px;display:flex}.defs-list .defs-row:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);border-left-color:var(--accent)}.defs-list .defs-expander{width:10px;color:var(--fg-dim);flex:none;font-size:10px;line-height:1;display:inline-block}.defs-list .defs-expander.placeholder{visibility:hidden}.defs-list .defs-name{color:var(--fg);font-weight:600}.defs-list .defs-row.has-variants .defs-sig{font-family:-apple-system,system-ui,sans-serif;font-style:italic}.defs-list .defs-sig{color:var(--fg-dim);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.defs-list .defs-loc{color:var(--fg-dim);font-variant-numeric:tabular-nums;font-size:11.5px}.defs-list .defs-row.is-dep{opacity:.85}.defs-list .defs-detail{background:color-mix(in srgb, var(--accent) 4%, transparent);border-left:3px solid color-mix(in srgb, var(--accent) 40%, transparent);padding:4px 14px 8px 28px}.defs-list .defs-summary{color:var(--fg);padding:6px 4px 8px 0;font-family:-apple-system,system-ui,sans-serif;font-size:12px}.defs-list .defs-variant{cursor:pointer;-webkit-user-select:none;user-select:none;border-left:2px solid #0000;align-items:baseline;gap:8px;padding:4px 0 4px 6px;display:flex}.defs-list .defs-variant:hover{border-left-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.defs-list .defs-variant-loc{color:var(--fg-dim);font-variant-numeric:tabular-nums;flex:none;min-width:3.5em;font-size:11.5px}.defs-list .defs-variant-sig{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:14em;font-size:12px;overflow:hidden}.defs-list .defs-variant-desc{color:var(--fg-dim);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-family:-apple-system,system-ui,sans-serif;font-size:11.5px;overflow:hidden}.defs-list .defs-empty{color:var(--fg-dim);padding:14px 18px;font-family:-apple-system,system-ui,sans-serif;font-style:italic}.defs-list .defs-divider{letter-spacing:.6px;text-transform:uppercase;color:var(--fg-dim);border-top:1px solid var(--rule);margin-top:4px;padding:10px 14px 4px;font-family:-apple-system,system-ui,sans-serif;font-size:11px}.defs-list .defs-divider:first-child{border-top:none;margin-top:0}.ip-defs-toggle{border:1px solid var(--rule);color:var(--fg-dim);font:inherit;cursor:pointer;letter-spacing:.5px;background:0 0;border-radius:4px;margin-left:auto;margin-right:8px;padding:2px 6px;font-size:11.5px}.ip-defs-toggle:hover{color:var(--accent);border-color:var(--accent)}#toc-list{flex:1;padding:8px 0;font-size:14px;overflow-y:auto}#toc-list .toc-chapter{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-dim);padding:14px 22px 6px;font-size:.78rem;font-weight:600}#toc-list .toc-chapter:not(:first-child){border-top:1px solid var(--rule);margin-top:6px}#toc-list a{color:var(--fg);border-left:3px solid #0000;padding:8px 22px;text-decoration:none;display:block}#toc-list a.lvl-3{padding-left:38px}#toc-list a:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}#toc-list a.current{border-left-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent)}#toc-list a.lvl-2{font-weight:600}#toc-list a.lvl-3{color:var(--fg-dim)}#toc-list a.lvl-3.current{color:var(--accent)}#toc-list a.visited:not(.current){opacity:.45}.toc-num{color:var(--fg-dim);font-variant-numeric:tabular-nums;margin-right:6px}.sb-backdrop{z-index:25;opacity:0;pointer-events:none;background:#00000073;transition:opacity .18s;position:fixed;inset:0}.sb-backdrop.show{opacity:1;pointer-events:auto}.ix-list{flex:auto;padding:4px 0;font-size:13px;overflow-y:auto}.ix-list .ix-letter{background:var(--panel-bg);color:var(--fg-dim);letter-spacing:.08em;border-bottom:1px solid var(--rule);padding:8px 14px 4px;font-size:11px;font-weight:600;position:sticky;top:0}.ix-list .ix-row{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--fg);border-left:3px solid #0000;justify-content:space-between;align-items:baseline;gap:8px;padding:5px 14px;text-decoration:none;display:flex}.ix-list .ix-row:hover{background:color-mix(in srgb, var(--accent) 8%, transparent);border-left-color:var(--accent)}.ix-list .ix-row .ix-loc{color:var(--fg-dim);font-variant-numeric:tabular-nums;flex:none;font-size:11.5px}.ix-list .ix-empty{color:var(--fg-dim);padding:14px 18px;font-style:italic}.sx-results{flex:auto;padding:4px 0;font-size:13px;overflow-y:auto}.sx-results .sx-row{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--fg);border-left:3px solid #0000;padding:8px 14px;text-decoration:none;display:block}.sx-results .sx-row:hover,.sx-results .sx-row.focused{background:color-mix(in srgb, var(--accent) 8%, transparent);border-left-color:var(--accent)}.sx-results .sx-head{align-items:baseline;gap:8px;margin-bottom:2px;display:flex}.sx-results .sx-kind{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);border:1px solid var(--rule);border-radius:3px;flex:none;padding:1px 6px;font-size:10px}.sx-results .sx-title{color:var(--fg);flex:auto;font-weight:600}.sx-results .sx-loc{color:var(--fg-dim);font-variant-numeric:tabular-nums;flex:none;font-size:11.5px}.sx-results .sx-snip{color:var(--fg-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.sx-results .sx-snip mark{background:color-mix(in srgb, var(--accent) 25%, transparent);color:var(--fg);padding:0 1px}.sx-results .sx-empty{color:var(--fg-dim);padding:14px 18px;font-style:italic}.help-panel{flex:auto;padding:16px 18px 22px;line-height:1.5;overflow-y:auto}.help-panel p{color:var(--fg-dim);margin:0 0 10px}.help-panel a{color:var(--accent);text-underline-offset:2px;text-decoration-thickness:1px}.onb-backdrop{z-index:100;opacity:0;pointer-events:none;background:#0000008c;place-items:center;transition:opacity .2s;display:grid;position:fixed;inset:0}.onb-backdrop.show{opacity:1;pointer-events:auto}.onb-tour-backdrop{background:#0000008c}.onb-splash{background:var(--panel-bg);color:var(--fg);border:1px solid var(--rule);width:calc(100% - 32px);max-width:460px;font-family:var(--font-body);border-radius:12px;padding:28px 32px;box-shadow:0 20px 60px #0006}.onb-splash h2{color:var(--accent);font-family:var(--font-head);margin:0 0 12px}.onb-splash p{margin:0 0 14px;line-height:1.55}.onb-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.onb-btn{font:inherit;border:1px solid var(--rule);color:var(--fg);cursor:pointer;background:0 0;border-radius:6px;padding:8px 16px}.onb-btn:hover{border-color:var(--accent)}.onb-btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:600}.onb-btn-primary:hover{filter:brightness(1.1)}.onb-btn-secondary{color:var(--fg-dim)}.onb-spotlight{z-index:101;border:2px solid var(--accent);pointer-events:none;box-shadow:0 0 0 9999px #0000008c, 0 0 18px color-mix(in srgb, var(--accent) 60%, transparent);border-radius:8px;transition:all .18s;position:fixed}.onb-tooltip{z-index:102;background:var(--panel-bg);width:320px;max-width:calc(100vw - 24px);color:var(--fg);border:1px solid var(--rule);font-family:var(--font-body);border-radius:10px;padding:16px 18px;position:fixed;box-shadow:0 14px 40px #0006}.onb-tooltip h3{color:var(--accent);font-family:var(--font-head);margin:4px 0 8px}.onb-tooltip p{margin:0;font-size:.95em;line-height:1.5}.onb-tooltip .onb-tooltip-step{color:var(--fg-dim);text-transform:uppercase;letter-spacing:.06em;font-size:.78em}.onb-tooltip .onb-actions{margin-top:14px}.onb-tooltip code{font-family:var(--font-code);background:var(--code-bg);color:var(--code-fg);border-radius:3px;padding:1px 4px;font-size:.92em}@media (width<=600px){body{font-size:17px}main{margin-top:16px;padding:0 18px}#next-fab .hint{display:none}#next-fab{padding:16px}}.login-hint{background:var(--panel-bg);max-width:min(420px,100vw - 48px);color:var(--fg);border:1px solid var(--rule);font-family:var(--font-body);box-shadow:var(--panel-shadow);z-index:40;opacity:0;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;font-size:.9em;transition:opacity .18s,transform .18s;display:flex;position:fixed;bottom:24px;left:24px;transform:translateY(8px)}.login-hint.show{opacity:1;transform:translateY(0)}.login-hint-msg{flex:1;line-height:1.4}.login-hint-btn{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);cursor:pointer;white-space:nowrap;border-radius:6px;padding:6px 12px;font-weight:600}.login-hint-btn:hover{filter:brightness(1.1)}.login-hint-close{font:inherit;color:var(--fg-dim);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:1.2em;line-height:1}.login-hint-close:hover{color:var(--fg)}@media (width<=600px){.login-hint{bottom:12px;left:12px;right:12px}}.settings-feedback-row{text-align:left;width:100%;font:inherit;color:var(--fg-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px 0;font-size:13px;transition:color .12s}.settings-feedback-row:hover{color:var(--accent)}.settings-account{margin-bottom:2px}.settings-account-info{justify-content:space-between;align-items:baseline;gap:8px;padding:3px 0;display:flex}.settings-account-email{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;max-width:60%;font-size:12px;overflow:hidden}.settings-account-status{color:var(--fg-dim);font-size:11px}.settings-account-status[data-kind=err]{color:#c0392b}.fb-backdrop{z-index:100;background:#0000008c;position:fixed;inset:0}.fb-dialog{z-index:101;background:var(--panel-bg);width:min(520px,100vw - 24px);max-height:calc(100vh - 40px);color:var(--fg);border:1px solid var(--rule);font-family:var(--font-body);border-radius:12px;font-size:14px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0006}.fb-header{justify-content:space-between;align-items:center;padding:20px 22px 0;display:flex}.fb-title{color:var(--fg);font-size:15px;font-weight:600;font-family:var(--font-head);margin:0}.fb-close{font:inherit;color:var(--fg-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:20px;line-height:1;transition:color .12s}.fb-close:hover{color:var(--fg)}.fb-form{flex-direction:column;gap:14px;padding:16px 22px 20px;display:flex}.fb-result-state{flex-direction:column;gap:16px;padding:20px 22px;display:flex}.fb-field{flex-direction:column;gap:5px;display:flex}.fb-field-label{letter-spacing:.04em;text-transform:uppercase;font-variant:small-caps;color:var(--fg-dim);font-size:12px;line-height:1.2}.fb-required{color:var(--accent);margin-left:2px}.fb-optional{letter-spacing:.02em;opacity:.8;font-size:10.5px}.fb-textarea,.fb-input{font:inherit;color:var(--fg);background:color-mix(in srgb, var(--panel-bg) 88%, var(--code-bg));border:1px solid var(--rule);resize:vertical;box-sizing:border-box;border-radius:6px;width:100%;padding:8px 10px;font-size:13.5px;line-height:1.5;transition:border-color .12s}.fb-textarea:focus,.fb-input:focus{border-color:var(--accent);outline:none}.fb-textarea:disabled,.fb-input:disabled{opacity:.6;cursor:not-allowed}.fb-attach-label{align-items:baseline;gap:8px;display:flex}.fb-attach-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.fb-attach-btn{font:inherit;color:var(--fg-dim);border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:5px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;transition:border-color .12s,color .12s;display:inline-flex}.fb-attach-btn:hover:not(.fb-attach-btn-disabled){border-color:var(--accent);color:var(--accent)}.fb-attach-btn-disabled{opacity:.45;cursor:not-allowed}.fb-attach-icon{flex:none;width:15px;height:15px}.fb-file-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.fb-attach-error{color:var(--err,#c54040);font-size:12px}.fb-thumbs{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.fb-thumb{border:1px solid var(--rule);background:var(--code-bg);border-radius:6px;width:72px;height:72px;position:relative;overflow:hidden}.fb-thumb-img{object-fit:cover;width:100%;height:100%;display:block}.fb-thumb-remove{background:color-mix(in srgb, var(--panel-bg) 85%, transparent);border:1px solid var(--rule);cursor:pointer;width:18px;height:18px;color:var(--fg);border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;transition:background .12s;display:flex;position:absolute;top:2px;right:2px}.fb-thumb-remove:hover{background:var(--panel-bg)}.fb-toggles{border:1px solid var(--rule);border-radius:6px;flex-direction:column;display:flex;overflow:hidden}.fb-toggle-block{border-top:1px solid var(--rule)}.fb-toggle-block:first-child{border-top:none}.fb-toggle{cursor:pointer;align-items:center;gap:8px;padding:7px 10px;font-size:13px;transition:background .12s;display:flex}.fb-toggle:hover{background:color-mix(in srgb, var(--panel-bg) 80%, var(--code-bg))}.fb-toggle input[type=checkbox]{accent-color:var(--accent,#4a7a96);flex:none;margin:0}.fb-toggle-name{flex:none}.fb-toggle-meta{min-width:0;color:var(--fg-dim);white-space:nowrap;text-overflow:ellipsis;text-align:right;flex:auto;font-size:11.5px;overflow:hidden}.fb-toggle-detail{color:var(--fg-dim);overflow-wrap:anywhere;margin:0;padding:0 10px 8px 30px;font-size:12px}.fb-toggle-pre{max-height:110px;font-family:var(--font-code);background:var(--code-bg);border:1px solid var(--rule);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:4px;margin:0 10px 8px 30px;padding:6px 8px;font-size:11px;line-height:1.4;overflow:auto}.fb-mini-btn{font:inherit;color:var(--fg);background:var(--panel-bg);border:1px solid var(--rule);cursor:pointer;border-radius:4px;flex:none;padding:2px 8px;font-size:11.5px;transition:background .12s}.fb-mini-btn:hover:not(:disabled){background:var(--code-bg)}.fb-mini-btn:disabled{opacity:.45;cursor:default}.fb-shot-preview{flex-direction:column;align-items:flex-start;gap:6px;padding:0 10px 10px 30px;display:flex}.fb-shot-preview img{border:1px solid var(--rule);cursor:zoom-in;background:var(--code-bg);border-radius:4px;width:auto;max-width:100%;height:auto;max-height:140px;display:block}.fb-shot-actions{gap:6px;display:flex}.fb-lightbox{z-index:1300;cursor:zoom-out;background:#000000b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.fb-lightbox img{border-radius:4px;max-width:100%;max-height:100%;box-shadow:0 12px 48px #00000080}.fb-lightbox-close{color:#fff;position:absolute;top:12px;right:16px}.fb-editor-backdrop{z-index:1290;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.fb-editor{background:var(--panel-bg);border:1px solid var(--rule);border-radius:8px;flex-direction:column;gap:10px;width:min(960px,96vw);max-height:94vh;padding:14px 16px;display:flex;box-shadow:0 12px 48px #00000059}.fb-editor-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.fb-editor-modes{gap:4px;display:flex}.fb-mode-btn{font:inherit;text-transform:capitalize;color:var(--fg);border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:4px;padding:3px 10px;font-size:12px}.fb-mode-btn.active{background:var(--accent,#4a7a96);border-color:var(--accent,#4a7a96);color:var(--accent-fg,#fff)}.fb-editor-ctl{color:var(--fg-dim);align-items:center;gap:6px;font-size:12px;display:inline-flex}.fb-editor-ctl input[type=color]{border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:4px;width:26px;height:22px;padding:0}.fb-editor-ctl input[type=range]{width:80px}.fb-editor-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.fb-editor-save{padding:4px 14px}.fb-editor-stage{border:1px solid var(--rule);background:var(--code-bg);border-radius:6px;min-height:0;overflow:auto}.fb-editor-canvas-wrap{width:fit-content;margin:0 auto;position:relative}.fb-editor-canvas{touch-action:none;cursor:crosshair;max-width:100%;height:auto;display:block}.fb-editor-canvas.is-crop{cursor:cell}.fb-crop-box{border:1.5px dashed var(--accent,#4a7a96);background:color-mix(in srgb, var(--accent,#4a7a96) 12%, transparent);pointer-events:none;position:absolute}.fb-editor-msg{color:var(--fg-dim);margin:0;font-size:12px}.fb-context-disclosure{border-top:1px solid var(--rule);padding-top:10px}.fb-context-toggle{font:inherit;letter-spacing:.03em;color:var(--fg-dim);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-size:12px;transition:color .12s;display:inline-flex}.fb-context-toggle:hover{color:var(--fg)}.fb-chevron{flex:none;width:14px;height:14px;transition:transform .15s}.fb-chevron-open{transform:rotate(90deg)}.fb-context-body{background:color-mix(in srgb, var(--panel-bg) 80%, var(--code-bg));border:1px solid var(--rule);border-radius:6px;margin-top:8px;padding:10px 12px}.fb-context-list{flex-direction:column;gap:4px;margin:0 0 8px;padding:0;font-size:12px;list-style:none;display:flex}.fb-context-list li{grid-template-columns:90px 1fr;align-items:baseline;gap:8px;display:grid}.fb-ctx-key{color:var(--fg-dim);letter-spacing:.03em}.fb-ctx-val{color:var(--fg);overflow-wrap:anywhere;line-height:1.45}.fb-context-note{color:var(--fg-dim);margin:0;font-size:11.5px;line-height:1.4}.fb-error-row{background:color-mix(in srgb, var(--err,#c54040) 10%, transparent);border:1px solid color-mix(in srgb, var(--err,#c54040) 30%, transparent);border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;display:flex}.fb-error-msg{color:var(--err,#c54040);flex:1 1 0;font-size:13px;line-height:1.4}.fb-footer{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.fb-btn{font:inherit;border:1px solid var(--rule);color:var(--fg);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:7px;padding:8px 18px;font-size:13.5px;transition:border-color .12s,filter .12s;display:inline-flex}.fb-btn:hover:not(:disabled){border-color:var(--accent)}.fb-btn:disabled{opacity:.5;cursor:not-allowed}.fb-btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:600}.fb-btn-primary:hover:not(:disabled){filter:brightness(1.08)}.fb-btn-secondary{color:var(--fg-dim)}.fb-btn-retry{border-color:var(--err,#c54040);color:var(--err,#c54040);flex:none;padding:5px 12px;font-size:12.5px}.fb-btn-retry:hover:not(:disabled){border-color:var(--err,#c54040);filter:brightness(1.1)}.fb-success-msg{color:var(--fg);margin:0;font-size:14px;line-height:1.5}.fb-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:12px;height:12px;animation:.65s linear infinite fb-spin;display:inline-block}@keyframes fb-spin{to{transform:rotate(360deg)}}[data-skin=sarabander] .fb-dialog,[data-skin=sarabander] .settings-feedback-row{font-family:var(--sb-ui-font,var(--font-body))}[data-skin=sarabander] .fb-dialog{background:var(--sb-paper,var(--panel-bg));border-color:var(--sb-rule,var(--rule));box-shadow:var(--sb-lift,0 20px 60px #0006)}[data-skin=sarabander] .fb-textarea,[data-skin=sarabander] .fb-input{font-family:var(--sb-ui-font,var(--font-body));background:color-mix(in srgb, var(--sb-paper,var(--panel-bg)) 88%, var(--code-bg));border-color:var(--sb-rule,var(--rule))}[data-skin=sarabander] .fb-btn{background:var(--sb-paper-raised,transparent);border-color:var(--sb-rule,var(--rule))}[data-skin=sarabander] .fb-btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}:root{--panel-width:clamp(360px, 36vw, 520px);--panel-height:min(72vh, 600px);--topbar-h:58px;--drawer-handle-h:44px}@media (width>=1100px){body{grid-template-rows:auto 1fr;grid-template-columns:1fr var(--current-panel-width,0px);min-height:100vh;display:grid}:root[data-panel=open] body,body[data-panel=open]{--current-panel-width:var(--panel-width)}.topbar{grid-area:1/1/auto/-1}main{grid-area:2/1}#interp-panel{top:var(--topbar-h);height:calc(100vh - var(--topbar-h));border-left:1px solid var(--rule);grid-area:2/2;position:sticky}:root[data-panel=closed] #interp-panel,body[data-panel=closed] #interp-panel{display:none}:root[data-panel=open] .page-nav,:root[data-panel=open] .toast,body[data-panel=open] .page-nav,body[data-panel=open] .toast{right:calc(var(--panel-width) + 24px)}}@media (width<=1099px){#interp-panel{height:var(--panel-height);border-top:1px solid var(--rule);box-shadow:var(--panel-shadow);transform:translateY(calc(100% - var(--drawer-handle-h)));z-index:25;transition:transform .22s;position:fixed;inset:auto 0 0}body[data-panel=open] #interp-panel{transform:translateY(0)}#interp-panel .ip-head{cursor:pointer;position:relative}#interp-panel .ip-head:before{content:"";background:var(--rule);border-radius:2px;width:32px;height:3px;position:absolute;top:4px;left:50%;transform:translate(-50%)}:root[data-panel=closed] #ip-close,body[data-panel=closed] #ip-close{display:none}.page-nav,.toast{bottom:calc(var(--drawer-handle-h) + 12px)}:root[data-panel=open] .page-nav,:root[data-panel=open] .toast,body[data-panel=open] .page-nav,body[data-panel=open] .toast{bottom:calc(var(--panel-height) + 12px)}main{margin-bottom:calc(var(--drawer-handle-h) + 80px)}}#interp-panel{background:var(--panel-bg);color:var(--fg);flex-direction:column;font-family:-apple-system,Segoe UI,Inter,system-ui,sans-serif;font-size:13px;display:flex;overflow:hidden}#interp-panel:fullscreen{width:100vw;max-width:none;height:100vh;max-height:none;box-shadow:none;z-index:1000;border:0;position:fixed;inset:0;transform:none}#interp-panel:fullscreen .ip-loaded{height:var(--loaded-h,min(54vh, 620px));max-height:none}#interp-panel:fullscreen .ip-panel-resize{display:none}.ip-head{border-bottom:1px solid var(--rule);flex:none;justify-content:space-between;align-items:center;gap:6px;min-height:38px;padding:6px 10px 0;display:flex;container:ip-head/inline-size}.ip-title{letter-spacing:.01em;margin-right:2px;font-size:12px;font-weight:600}.ip-title .ip-lambda{font-family:var(--font-body);color:var(--accent);margin-right:2px;font-size:1.15em;font-style:italic}.ip-close{color:var(--fg-dim);cursor:pointer;background:0 0;border:0;padding:2px 6px;font-size:20px;line-height:1}.ip-close:hover{color:var(--accent)}.ip-minimize{color:var(--fg-dim);cursor:pointer;background:0 0;border:0;padding:2px 8px;font-size:24px;line-height:1;display:none}.ip-minimize:hover{color:var(--accent)}.ip-loaded{height:var(--loaded-h,auto);max-height:var(--loaded-h,38%);background:color-mix(in srgb, var(--code-bg) 50%, var(--panel-bg));flex:none;padding:0;overflow:auto}.ip-loaded-resize{cursor:ns-resize;background:var(--rule);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);flex:0 0 6px;position:relative}.ip-loaded-resize:before{content:"";background:color-mix(in srgb, var(--fg-dim) 50%, transparent);border-radius:1px;width:36px;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ip-loaded-resize:hover{background:color-mix(in srgb, var(--accent) 18%, var(--rule))}.ip-loaded-resize.dragging{background:color-mix(in srgb, var(--accent) 30%, var(--rule))}.ip-panel-resize{z-index:2;background:0 0;position:absolute}.ip-panel-resize:hover,.ip-panel-resize.dragging{background:color-mix(in srgb, var(--accent) 25%, transparent)}@media (width>=1100px){.ip-panel-resize{cursor:ew-resize;width:6px;top:0;bottom:0;left:0}}@media (width<=1099px){.ip-panel-resize{cursor:ns-resize;height:6px;top:0;left:0;right:0}}.ip-loaded-empty{padding:12px 14px;font-size:12.5px;font-style:italic}#ip-loaded-body pre.code{font-size:var(--code-ui-size);background:0 0;border:0;margin:0;padding:0}.cm-live-eval{color:color-mix(in srgb, var(--fg-dim) 80%, transparent);white-space:pre;-webkit-user-select:none;user-select:none;pointer-events:none;font-style:italic}.cm-live-eval-val{color:color-mix(in srgb, var(--accent) 65%, var(--fg-dim))}.cm-live-eval-def{color:var(--fg-dim);opacity:.7}.cm-live-eval-err{color:var(--err,#d04)}.cm-line-marked{background:#c5404017}#ip-loaded-body .cm-lineNumbers .cm-gutterElement{cursor:pointer}#ip-loaded-body .cm-lineNumbers .cm-gutterElement:hover{color:#c54040}#ip-loaded-body .cm-lineNumbers .cm-gutterElement.cm-line-number-marked{color:#c54040;font-weight:700}#ip-loaded-body .cm-lineNumbers .cm-gutterElement.cm-line-number-marked:before{content:"●";margin-right:3px;font-size:8px;line-height:1;display:inline-block;transform:translateY(-1px)}#ip-loaded-body.ip-loaded-editor{height:100%;padding:0}#ip-loaded-body .cm-editor{font-size:var(--code-ui-size);background:0 0;height:100%;min-height:100%}#ip-loaded-body .cm-editor.cm-focused{outline:none}#ip-loaded-body .cm-scroller,#ip-loaded-body .cm-content{padding:0}#ip-loaded-body .cm-line.cm-indent-wrap{text-indent:calc(-1 * var(--ind,0));padding-inline-start:var(--ind,0)}.ip-controls{border-bottom:1px solid var(--rule);flex-wrap:wrap;flex:none;align-items:center;gap:6px;padding:8px 14px;display:flex;container:ip-controls/inline-size}.ip-controls button{font:inherit;border:1px solid var(--rule);color:var(--fg);cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px;font-size:12.5px}.ip-controls .ip-iconbtn{place-items:center;width:30px;height:26px;padding:0;display:inline-grid}.ip-controls .ip-icon{width:16px;height:16px;display:block}.ip-controls .ip-mark-jump{align-items:center;gap:4px;padding-inline:8px;font-size:11.5px;display:inline-flex}.ip-controls .ip-mark-jump>span{color:#c54040;font-weight:700}#ip-run .ip-icon-pause,#ip-run.is-running .ip-icon-play{display:none}#ip-run.is-running .ip-icon-pause{display:block}.ip-controls button:hover:not([disabled]){border-color:var(--accent);color:var(--accent)}.ip-controls button[disabled]{opacity:.4;cursor:not-allowed}.ip-controls .ip-status{font-variant:small-caps;letter-spacing:.04em;padding:0 4px;font-size:11.5px}.ip-controls .ip-reset{margin-left:auto}.ip-controls .ip-revert-block{margin-left:4px;padding:4px 8px;font-size:11.5px}.ip-controls .ip-revert-block[hidden]{display:none}.ip-controls .ip-speed{align-items:center;gap:6px;padding:0 4px;display:inline-flex}.ip-controls .ip-speed input[type=range]{width:80px;accent-color:var(--accent);margin:0}.ip-controls .ip-speed-label{font-variant:small-caps;letter-spacing:.04em;min-width:38px;font-size:11px}.ip-settings-wrap{display:inline-grid;position:relative}#ip-settings-toggle[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}#ip-settings-menu{--settings-control-w:132px;background:var(--panel-bg);width:min(296px,100vw - 24px);color:var(--fg);border:1px solid var(--rule);box-shadow:var(--panel-shadow);font-family:var(--font-body);z-index:45;border-radius:8px;flex-direction:column;gap:9px;padding:12px;font-size:14px;display:flex;position:absolute;top:calc(100% + 8px);right:0}#ip-settings-menu[hidden]{display:none}.ip-editor-menu{z-index:120;border:1px solid var(--rule);background:var(--panel-bg);min-width:210px;box-shadow:var(--panel-shadow);border-radius:10px;padding:6px;position:fixed}.ip-editor-menu[hidden]{display:none}.ip-editor-menu-item{width:100%;color:var(--fg);font:12.5px/1.35 var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;margin:0;padding:8px 10px;display:block}.ip-editor-menu-item:hover,.ip-editor-menu-item:focus-visible{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--fg);outline:none}#ip-settings-menu select{font:inherit;border:1px solid var(--rule);background:color-mix(in srgb, var(--panel-bg) 88%, var(--code-bg));color:var(--fg);width:var(--settings-control-w);box-sizing:border-box;border-radius:4px;justify-self:end;min-height:28px;padding:3px 7px;font-size:13px}#ip-settings-menu input[type=range]{min-width:0;accent-color:var(--accent);flex:auto;margin:0}.ip-settings-range{width:var(--settings-control-w);justify-content:flex-end;justify-self:end;align-items:center;gap:8px;min-width:0;display:inline-flex}.ip-settings-range .ip-speed-label{text-align:right;flex:0 0 42px}.ip-settings-text-button{font:inherit;width:var(--settings-control-w);border:1px solid var(--rule);background:color-mix(in srgb, var(--panel-bg) 88%, var(--code-bg));min-height:28px;color:var(--fg);cursor:pointer;border-radius:4px;justify-self:end;padding:4px 8px;font-size:12px}.ip-settings-text-button:hover{border-color:var(--accent);color:var(--accent)}@media (width<=1099px){#ip-settings-menu{top:auto;bottom:calc(100% + 8px)}}.ip-depth-label{align-items:center;gap:6px;width:100%;min-width:0;display:inline-flex}.ip-depth-label .set-label{white-space:nowrap;min-width:0}.ip-help-tip{appearance:none;box-sizing:border-box;background:color-mix(in srgb, var(--panel-bg) 82%, var(--code-bg));width:18px;height:18px;color:color-mix(in srgb, var(--fg-dim) 82%, transparent);cursor:help;border:1px solid;border-radius:50%;outline:none;flex:none;justify-content:center;align-items:center;padding:0;font-size:0;line-height:1;display:inline-flex;position:relative}.ip-help-tip:before{content:"?";font:700 11px/1 var(--font-body);display:block;transform:translateY(-.3px)}.ip-help-icon{display:none}.ip-help-tip:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent)}.ip-help-tip:focus-visible{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 24%, transparent)}.ip-tooltip{border:1px solid var(--rule);background:var(--panel-bg);color:var(--fg);box-shadow:var(--panel-shadow);font:12.5px/1.4 var(--font-body);letter-spacing:0;text-transform:none;font-variant:normal;text-align:left;pointer-events:none;opacity:0;z-index:80;border-radius:6px;padding:9px 11px;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 9px);left:12px;right:12px;transform:translateY(3px)}.ip-tooltip:after{content:"";border-left:1px solid var(--rule);border-top:1px solid var(--rule);background:var(--panel-bg);width:10px;height:10px;position:absolute;top:-6px;left:90px;transform:rotate(45deg)}.ip-help-tip:hover+.ip-tooltip,.ip-help-tip:focus-visible+.ip-tooltip{opacity:1;transform:translateY(0)}@container ip-controls (width<=492px){.ip-controls .ip-speed{display:none}}@container ip-controls (width<=357px){.ip-controls .ip-status{display:none}}@container ip-controls (width<=322px){.ip-controls .ip-mark-jump{display:none}}@container ip-controls (width<=257px){.ip-controls .ip-title{display:none}}.ip-inputs{border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 14px;font-size:12px;display:flex}.ip-inputs[hidden]{display:none}.ip-inputs .ip-input-label{font-family:var(--font-code);color:var(--fg-dim);font-size:12px}.ip-inputs .ip-input-row{align-items:center;gap:4px;display:inline-flex}.ip-inputs input[type=text]{font:inherit;font-family:var(--font-code);background:color-mix(in srgb, var(--code-bg) 50%, transparent);color:var(--fg);border:1px solid var(--rule);border-radius:3px;width:7em;min-width:0;padding:2px 6px}.ip-inputs input[type=text]:focus{border-color:var(--accent);outline:none}.ip-inputs input[type=text].invalid{border-color:#c54040}.ip-inputs .ip-input-hint{color:var(--fg-dim);font-size:11px;font-style:italic}.ip-output-tabs{border-bottom:1px solid var(--rule);background:color-mix(in srgb, var(--panel-bg) 92%, var(--bg));align-items:center;gap:4px;padding:6px 14px;display:flex}.ip-output-tab{font:inherit;color:var(--fg-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:3px 9px;font-family:-apple-system,system-ui,sans-serif;font-size:11.5px;line-height:1.4;position:relative}.ip-output-tab:hover{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.ip-output-tab.active{color:var(--fg);background:color-mix(in srgb, var(--code-bg) 58%, transparent);border-color:var(--rule)}.ip-output-tab.has-activity:after{content:"";width:6px;height:6px;box-shadow:0 0 0 2px color-mix(in srgb, var(--panel-bg) 88%, transparent);background:#3a8c5b;border-radius:999px;position:absolute;top:4px;right:4px}.ip-history{min-height:0;font-family:var(--font-code);font-size:var(--code-ui-size);line-height:var(--code-line-height);scrollbar-gutter:stable both-edges;flex:1 1 0;padding:10px 14px;overflow:auto}.ip-history[hidden]{display:none}.ip-history-jump{z-index:1;border:1px solid var(--rule);background:color-mix(in srgb, var(--panel-bg) 88%, transparent);color:var(--fg-dim);cursor:pointer;border-radius:999px;margin-left:auto;padding:2px 8px;font-family:-apple-system,system-ui,sans-serif;font-size:11px;line-height:1.5;display:block;position:sticky;box-shadow:0 2px 8px #00000014}.ip-history-jump:hover{border-color:var(--accent);color:var(--accent)}.ip-history-jump[hidden]{display:none}.ip-history-jump-top{margin-bottom:4px;top:2px}.ip-history-jump-bottom{margin-top:4px;bottom:2px}.ip-history-empty{padding:4px 0;font-family:-apple-system,system-ui,sans-serif;font-size:12.5px;font-style:italic}.ip-snap{border-radius:3px;grid-template-columns:24px 1fr;gap:6px;padding:3px 0;display:grid}.ip-snap>.step{color:var(--fg-dim);text-align:right;-webkit-user-select:none;user-select:none;padding-top:3px;font-size:10.5px}.ip-snap>.body{min-width:0}.ip-snap>.body>pre{white-space:pre-wrap;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;font:inherit;color:var(--fg);background:0 0;border:0;margin:0;padding:0}.ip-snap>.body>.hint{color:var(--fg-dim);font-family:-apple-system,system-ui,sans-serif;font-size:11.5px;font-style:italic}.ip-snap.note{background:0 0}.ip-snap.note>.body>.hint:before{content:"— ";opacity:.6}.ip-snap.frame-enter>.body{position:relative}.ip-snap.frame-enter>.body:before{content:"→";left:calc(var(--indent,0px) - 14px);text-align:center;width:14px;color:var(--accent);pointer-events:none;font-weight:700;position:absolute;top:0}.ip-snap.iter>.body{position:relative}.ip-snap.iter>.body:before{content:"↻";left:calc(var(--indent,0px) - 14px);text-align:center;width:14px;color:var(--fg-dim);pointer-events:none;position:absolute;top:0}.ip-snap.queued{opacity:.7}.ip-snap.current{background:color-mix(in srgb, var(--accent) 8%, transparent)}.ip-snap.final{background:#3a8c5b1a}.ip-snap.final>.body>pre{color:var(--tok-output);font-style:italic}.ip-snap.final>.body>pre:before{content:"↪ ";opacity:.72;font-family:var(--font-body)}.ip-snap.final>.body>pre .sx.folded{color:inherit;background:0 0;border-bottom:0}.ip-history .sx{cursor:default;border-radius:2px;padding:0}.ip-history .sx:hover:not(.folded){background:color-mix(in srgb, var(--accent) 16%, transparent);outline:1px dotted color-mix(in srgb, var(--accent) 40%, transparent)}.ip-history .sx.cur{outline:1px solid var(--accent)}.ip-history .sx.bp{box-shadow:inset 0 -2px #c54040}.ip-history .sx.sub{background:#4a5fbf2e;border-bottom:1px solid #4a5fbf80}.ip-history .sx.folded{background:#3a8c5b24;border-bottom:1px solid #3a8c5b80}.ip-history .sx.c0{background:#ff787847;border-bottom:1px solid #ff787899}.ip-history .sx.c1{background:#ffb45047;border-bottom:1px solid #ffb45099}.ip-history .sx.c2{background:#d4c43c4d;border-bottom:1px solid #d4c43c99}.ip-history .sx.c3{background:#78d27847;border-bottom:1px solid #78d27899}.ip-history .sx.c4{background:#78b4ff47;border-bottom:1px solid #78b4ff99}.ip-history .sx.c5{background:#c88cff47;border-bottom:1px solid #c88cff99}.ip-history .sx.linked{outline:2px solid color-mix(in srgb, var(--accent) 80%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent)}.ip-marks-pane{flex:1 1 0;min-height:0;padding:12px 14px;font-family:-apple-system,system-ui,sans-serif;overflow:auto}.ip-marks-pane[hidden]{display:none}.ip-mark-toolbar{grid-template-columns:minmax(96px,auto) minmax(84px,auto) minmax(96px,1fr) auto minmax(96px,auto);align-items:center;gap:6px;margin-bottom:10px;display:grid}.ip-mark-kind-field{align-items:center;gap:5px;min-width:0;display:inline-flex;position:relative}.ip-mark-toolbar select,.ip-mark-toolbar input,.ip-mark-toolbar button:not(.ip-help-tip){font:inherit;border:1px solid var(--rule);background:color-mix(in srgb, var(--panel-bg) 88%, var(--code-bg));min-width:0;color:var(--fg);border-radius:4px;padding:4px 7px;font-size:12px}.ip-mark-toolbar input{font-family:var(--font-code);background:color-mix(in srgb, var(--code-bg) 55%, transparent)}.ip-mark-toolbar button:not(.ip-help-tip){cursor:pointer}.ip-mark-toolbar button:not(.ip-help-tip):hover{color:var(--accent);border-color:var(--accent)}.ip-mark-kind-field .ip-tooltip{width:min(285px,100vw - 40px);top:calc(100% + 8px);left:0;right:auto}.ip-mark-kind-field .ip-tooltip:after{left:74px}.ip-mark-trace-mode{color:var(--fg-dim);justify-content:flex-end;align-items:center;gap:5px;font-size:11.5px;display:inline-flex}.ip-marks-list{gap:5px;display:grid}.ip-marks-empty{padding:6px 0;font-size:12.5px;font-style:italic}.ip-mark-row{border:1px solid var(--rule);background:color-mix(in srgb, var(--code-bg) 35%, transparent);border-left-width:3px;border-radius:6px;grid-template-columns:24px 78px minmax(96px,1fr) minmax(80px,1fr) 56px 24px;align-items:center;gap:6px;min-height:34px;padding:5px 6px;display:grid}.ip-mark-row.is-break{border-left-color:#c54040}.ip-mark-row.is-watch{border-left-color:#4f7fcf}.ip-mark-row.is-tap{border-left-color:#3a8c5b}.ip-mark-row.is-disabled{opacity:.55}.ip-mark-enable,.ip-mark-delete{color:var(--fg-dim);cursor:pointer;background:0 0;border:0;padding:0}.ip-mark-enable:hover,.ip-mark-delete:hover{color:var(--accent)}.ip-mark-row.is-break .ip-mark-enable{color:#c54040}.ip-mark-row.is-watch .ip-mark-enable{color:#4f7fcf}.ip-mark-row.is-tap .ip-mark-enable{color:#3a8c5b}.ip-mark-kind-select{font:inherit;border:1px solid var(--rule);background:color-mix(in srgb, var(--panel-bg) 88%, var(--code-bg));color:var(--fg);border-radius:4px;padding:2px 4px;font-size:11.5px}.ip-mark-target-cell{gap:1px;min-width:0;display:grid}.ip-mark-target-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-code);font-size:12px;overflow:hidden}.ip-mark-meta,.ip-mark-hits{font-variant-numeric:tabular-nums;font-size:10.5px}.ip-mark-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-code);font-size:12px;overflow:hidden}@media (width<=480px){.ip-mark-toolbar{grid-template-columns:1fr 1fr}.ip-mark-toolbar input,.ip-mark-trace-mode{grid-column:1/-1}.ip-mark-row{grid-template-columns:22px minmax(78px,1fr) 24px}.ip-mark-kind-select,.ip-mark-value,.ip-mark-hits{display:none}}.ip-snap.painter-output>.painter-canvas,.ip-canvas-pane .painter-canvas{border:1px solid color-mix(in srgb, var(--fg) 20%, transparent);border-radius:2px;width:300px;max-width:none;height:300px;margin:6px 0 2px;display:block}.ip-snap.painter-output{background:0 0;padding:4px 8px;display:block}.ip-canvas-pane{flex:1 1 0;min-height:0;padding:14px;overflow:auto}.ip-canvas-pane[hidden]{display:none}.ip-canvas-pane .painter-canvas{color:#383838;background:linear-gradient(#ffffffb3,#f4f6fae0),#fafbfc;margin:0 auto}.ip-canvas-empty{place-items:center;gap:10px;min-height:100%;font-family:-apple-system,system-ui,sans-serif;font-size:12.5px;font-style:italic;display:grid}.ip-canvas-empty .painter-canvas{opacity:.58}.ip-canvas-hint{color:var(--fg-dim);text-align:center;font-family:-apple-system,system-ui,sans-serif;font-size:12.5px;font-style:italic}sicp-painter{margin:8px 0;display:block}sicp-painter .painter-error{color:var(--error,#c0392b);font-family:monospace;font-size:12px}.ip-status[data-kind=run]{color:var(--accent)}.ip-status[data-kind=err]{color:#c54040}#interp-toggle{border:1px solid var(--rule);color:var(--fg);cursor:pointer;width:34px;height:34px;font-family:var(--font-body);background:0 0;border-radius:999px;place-items:center;font-size:18px;font-style:italic;line-height:1;display:grid}#interp-toggle:hover{border-color:var(--accent);color:var(--accent)}body[data-panel=open] #interp-toggle{background:color-mix(in srgb, var(--accent) 14%, transparent);border-color:var(--accent);color:var(--accent)}@media (width<=700px){.topbar{gap:8px;padding-inline:12px}.topbar .title{flex:auto;gap:8px;overflow:hidden}.topbar .controls{flex:none;gap:8px}#progress{text-align:right;min-width:3.8em;font-size:12px;line-height:1.2}}@media (width<=430px){.topbar{padding-inline:8px}.topbar .controls{gap:6px}#settings-toggle,#toc-toggle,#help-toggle,#interp-toggle{width:32px;height:32px}#help-toggle{font-size:14px}#interp-toggle{font-size:17px}#progress{min-width:3.3em}}@media (width<=370px){#progress{display:none}}@media (width<=720px){#interp-panel{width:100%;height:100dvh;max-height:none;box-shadow:none;z-index:1000;border:0;position:fixed;inset:0;transform:translateY(100%)}body[data-panel=open] #interp-panel{transform:translateY(0)}body[data-panel=open][data-panel-min=min] #interp-panel{pointer-events:none;transform:translateY(100%)}#interp-panel .ip-loaded{height:var(--loaded-h,auto);max-height:40vh}#interp-panel .ip-head{cursor:default}#interp-panel .ip-head:before{content:none}.ip-panel-resize,.ip-loaded-resize{display:none}.ip-minimize{align-items:center;display:inline-flex}.page-nav,.toast,body[data-panel=open] .page-nav,body[data-panel=open] .toast,:root[data-panel=open] .page-nav,:root[data-panel=open] .toast{right:24px;bottom:calc(env(safe-area-inset-bottom,0px) + 20px)}.ip-pill{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 92px);z-index:1001;border:1px solid var(--rule);background:var(--panel-bg);max-width:min(70vw,320px);color:var(--fg);box-shadow:var(--panel-shadow);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-family:-apple-system,system-ui,sans-serif;font-size:13px;display:inline-flex;position:fixed;transform:translate(-50%)}.ip-pill[hidden]{display:none}.ip-pill-lambda{color:var(--accent);font-family:var(--font-body);flex:none;font-size:1.25em;font-style:italic;line-height:1}.ip-pill-status{text-overflow:ellipsis;white-space:nowrap;color:var(--fg-dim);overflow:hidden}.m-sheet{border:0;border-top:1px solid var(--rule);z-index:60;padding-top:8px;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 12px);border-radius:16px 16px 0 0;flex-direction:column;transition:height .2s;display:flex;overflow:hidden;box-shadow:0 -8px 30px #0000004d;width:auto!important;max-width:none!important;margin:0!important;position:fixed!important;inset:auto 0 0!important}.m-sheet[data-state=peek]{height:42vh}.m-sheet[data-state=full]{height:92dvh}.m-sheet[hidden]{display:none!important}.m-sheet>:not(.m-sheet-handle){-webkit-overflow-scrolling:touch;overflow-y:auto}.m-sheet-handle{cursor:grab;touch-action:none;background:0 0;border:0;flex:none;justify-content:center;align-self:stretch;align-items:center;padding:6px 0 10px;display:flex}.m-sheet-grip{background:var(--rule);border-radius:2px;width:40px;height:4px;display:block}.m-sheet-backdrop{z-index:55;opacity:0;pointer-events:none;background:#0006;transition:opacity .18s;position:fixed;inset:0}.m-sheet-backdrop.show{opacity:1;pointer-events:auto}#side-panel.m-sheet{padding-left:22px;padding-right:22px}#side-panel.m-sheet #side-body{flex:auto}#sidebar{width:100vw;max-width:100%}.topbar .title{min-width:0}.breadcrumb{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}#settings-toggle,#toc-toggle,#help-toggle,#interp-toggle{min-width:40px;min-height:40px}#settings-menu{width:min(296px,100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - var(--topbar-h,58px) - 16px);right:0;overflow-y:auto}main{margin-bottom:120px}.display-math{overflow-x:auto}}@media (width<=480px){#progress{display:none}.exercise,.checkpoint{padding:14px 16px}}[data-skin=sarabander]{--sb-ui-font:"Linux Biolinum O", "Linux Biolinum", "Source Sans 3", system-ui, sans-serif;--sb-paper:color-mix(in srgb, var(--panel-bg) 88%, var(--code-bg));--sb-paper-raised:color-mix(in srgb, var(--panel-bg) 96%, var(--code-bg));--sb-paper-wash:color-mix(in srgb, var(--accent) 7%, var(--panel-bg));--sb-ink-muted:color-mix(in srgb, var(--fg-dim) 82%, var(--fg));--sb-rule:color-mix(in srgb, var(--rule) 82%, var(--accent));--sb-focus:color-mix(in srgb, var(--accent) 36%, transparent);--sb-radius:5px;--sb-control-radius:3px;--sb-lift:3px 3px 16px #232b4a1f}@media (prefers-color-scheme:dark){[data-skin=sarabander]:not([data-mode=light]){--sb-paper:color-mix(in srgb, var(--panel-bg) 88%, var(--code-bg));--sb-paper-raised:color-mix(in srgb, var(--panel-bg) 92%, #242832);--sb-paper-wash:color-mix(in srgb, var(--accent) 10%, var(--panel-bg));--sb-rule:color-mix(in srgb, var(--rule) 76%, var(--accent));--sb-lift:3px 3px 18px #00000073}}[data-skin=sarabander][data-mode=dark]{--sb-paper:color-mix(in srgb, var(--panel-bg) 88%, var(--code-bg));--sb-paper-raised:color-mix(in srgb, var(--panel-bg) 92%, #242832);--sb-paper-wash:color-mix(in srgb, var(--accent) 10%, var(--panel-bg));--sb-rule:color-mix(in srgb, var(--rule) 76%, var(--accent));--sb-lift:3px 3px 18px #00000073}[data-skin=sarabander] .topbar,[data-skin=sarabander] #settings-menu,[data-skin=sarabander] #sidebar,[data-skin=sarabander] #interp-panel,[data-skin=sarabander] .toast{font-family:var(--sb-ui-font);background:var(--sb-paper);border-color:var(--sb-rule)}[data-skin=sarabander] .topbar{background:color-mix(in srgb, var(--bg) 88%, var(--sb-paper))}[data-skin=sarabander] #settings-menu,[data-skin=sarabander] #ip-settings-menu,[data-skin=sarabander] #sidebar,[data-skin=sarabander] .toast{box-shadow:var(--sb-lift)}[data-skin=sarabander] #settings-toggle,[data-skin=sarabander] #toc-toggle,[data-skin=sarabander] #help-toggle,[data-skin=sarabander] #interp-toggle,[data-skin=sarabander] .breadcrumb .bc-nav,[data-skin=sarabander] #settings-menu select,[data-skin=sarabander] #ip-settings-menu select,[data-skin=sarabander] #set-skin,[data-skin=sarabander] .settings-action-button,[data-skin=sarabander] .mode-group .mode-btn,[data-skin=sarabander] .sb-tab,[data-skin=sarabander] .ip-output-tab,[data-skin=sarabander] #sb-close,[data-skin=sarabander] .ip-close,[data-skin=sarabander] .ip-scratch-scope,[data-skin=sarabander] .ip-controls button,[data-skin=sarabander] .ip-history-jump,[data-skin=sarabander] .checkpoint .cp-options button,[data-skin=sarabander] .checkpoint .cp-btn-reveal,[data-skin=sarabander] .checkpoint .cp-btn-run,[data-skin=sarabander] .checkpoint .cp-btn-reset,[data-skin=sarabander] .exercise .ex-btn,[data-skin=sarabander] .exercise .exercise-open{font-family:var(--sb-ui-font);border-color:var(--sb-rule);border-radius:var(--sb-control-radius)}[data-skin=sarabander] #settings-toggle,[data-skin=sarabander] #toc-toggle,[data-skin=sarabander] #help-toggle,[data-skin=sarabander] #interp-toggle,[data-skin=sarabander] #prev-fab,[data-skin=sarabander] #fwd-fab{border-radius:999px}[data-skin=sarabander] #settings-toggle:hover,[data-skin=sarabander] #toc-toggle:hover,[data-skin=sarabander] #help-toggle:hover,[data-skin=sarabander] #interp-toggle:hover,[data-skin=sarabander] .breadcrumb .bc-nav:hover,[data-skin=sarabander] .settings-action-button:hover:not(:disabled),[data-skin=sarabander] .settings-action-button[aria-pressed=true],[data-skin=sarabander] .mode-group .mode-btn[aria-checked=true],[data-skin=sarabander] .sb-tab.active,[data-skin=sarabander] .ip-output-tab.active,[data-skin=sarabander] .ip-scratch-scope:hover,[data-skin=sarabander] .ip-controls button:hover:not([disabled]),[data-skin=sarabander] .ip-output-tab:hover,[data-skin=sarabander] .ip-history-jump:hover,[data-skin=sarabander] .checkpoint .cp-options button:hover,[data-skin=sarabander] .checkpoint .cp-btn-run:hover,[data-skin=sarabander] .checkpoint .cp-btn-reset:hover,[data-skin=sarabander] .exercise .ex-btn:hover,[data-skin=sarabander] .exercise .exercise-open:hover{background:var(--sb-paper-wash);border-color:var(--accent);color:var(--accent)}[data-skin=sarabander] .inline-cm-host,[data-skin=sarabander] #ip-loaded-body pre.code,[data-skin=sarabander] .checkpoint .cp-starter,[data-skin=sarabander] .checkpoint .cp-editor,[data-skin=sarabander] .ex-predict-input,[data-skin=sarabander] .ip-inputs input[type=text]{background:var(--sb-paper);border-color:var(--sb-rule);border-radius:var(--sb-radius)}[data-skin=sarabander] pre.code.interp-target.is-armed,[data-skin=sarabander] .inline-cm-host.is-armed,[data-skin=sarabander] .ex-predict-input:focus,[data-skin=sarabander] .ip-inputs input[type=text]:focus,[data-skin=sarabander] .sb-search-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--sb-focus)}[data-skin=sarabander] #reader .checkpoint,[data-skin=sarabander] #reader .exercise,[data-skin=sarabander] sicp-painter{background:var(--sb-paper-raised);border-color:var(--sb-rule);border-radius:var(--sb-radius);box-shadow:var(--sb-lift)}@media (prefers-color-scheme:dark){[data-skin=sarabander]:not([data-mode=light]) sicp-painter{color:#303642;background:#f3f5f9;border-color:#aeb2bb}}[data-skin=sarabander][data-mode=dark] sicp-painter{color:#303642;background:#f3f5f9;border-color:#aeb2bb}[data-skin=sarabander] #reader .checkpoint .label,[data-skin=sarabander] #reader .exercise .label,[data-skin=sarabander] .set-label,[data-skin=sarabander] .set-section,[data-skin=sarabander] .ip-title,[data-skin=sarabander] .ip-controls .ip-status,[data-skin=sarabander] .ip-controls .ip-speed-label,[data-skin=sarabander] .ip-history-empty,[data-skin=sarabander] .ip-canvas-empty,[data-skin=sarabander] .ip-canvas-hint,[data-skin=sarabander] .ip-snap>.body>.hint,[data-skin=sarabander] .toast{font-family:var(--sb-ui-font)}[data-skin=sarabander] #reader .checkpoint .label,[data-skin=sarabander] #reader .exercise .label,[data-skin=sarabander] .set-label,[data-skin=sarabander] .set-section{color:var(--sb-ink-muted);letter-spacing:.06em}[data-skin=sarabander] .checkpoint .cp-options button,[data-skin=sarabander] .checkpoint .cp-btn-reveal,[data-skin=sarabander] .checkpoint .cp-btn-run,[data-skin=sarabander] .checkpoint .cp-btn-reset,[data-skin=sarabander] .exercise .ex-btn,[data-skin=sarabander] .ip-controls button,[data-skin=sarabander] .ip-history-jump,[data-skin=sarabander] #prev-fab,[data-skin=sarabander] #fwd-fab{background:var(--sb-paper-raised)}[data-skin=sarabander] .checkpoint .cp-btn-run,[data-skin=sarabander] .exercise .ex-btn-run{border-color:var(--accent);color:var(--accent);font-weight:600}[data-skin=sarabander] #next-fab{font-family:var(--sb-ui-font);background:var(--accent);box-shadow:3px 3px 18px color-mix(in srgb, var(--accent) 36%, transparent);border-radius:999px}[data-skin=sarabander] #prev-fab,[data-skin=sarabander] #fwd-fab{box-shadow:var(--sb-lift)}[data-skin=sarabander] .ip-loaded,[data-skin=sarabander] .ip-controls,[data-skin=sarabander] .ip-inputs,[data-skin=sarabander] .ip-output-tabs,[data-skin=sarabander] .sb-controls,[data-skin=sarabander] .defs-controls,[data-skin=sarabander] .sb-head,[data-skin=sarabander] .ip-head{border-color:var(--sb-rule)}[data-skin=sarabander] .ip-loaded,[data-skin=sarabander] .ip-controls,[data-skin=sarabander] .ip-output-tabs{background:color-mix(in srgb, var(--sb-paper) 82%, var(--panel-bg))}[data-skin=sarabander] .ip-loaded-resize{background:var(--sb-rule);border-color:var(--sb-rule)}
