@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/sora-latin-ext-wght-normal.CawQDOvP.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/sora-latin-wght-normal.DdqRvwsR.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-cyrillic-wght-normal.Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-greek-wght-normal.DL7QRZyv.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-vietnamese-wght-normal.usUDDRr7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-ext-wght-normal.Ch3YOpNY.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-wght-normal.DHIcAJRg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Comic Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/comic-neue-latin-400-normal.BdhG8RSD.woff2) format("woff2"),url(/_astro/comic-neue-latin-400-normal.CU7kPFAv.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Comic Neue;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/comic-neue-latin-400-italic.M4xWX4-3.woff2) format("woff2"),url(/_astro/comic-neue-latin-400-italic.CBav0m9T.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Comic Neue;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/comic-neue-latin-700-normal.NE4Vcoll.woff2) format("woff2"),url(/_astro/comic-neue-latin-700-normal.yR9qu__P.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Comic Neue;font-style:italic;font-display:swap;font-weight:700;src:url(/_astro/comic-neue-latin-700-italic.Dsy8JVpH.woff2) format("woff2"),url(/_astro/comic-neue-latin-700-italic.BKGWXRoQ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer reset,tokens,base,type,layout,components,code,figures,lab,motion,utilities;@layer reset{*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100%}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul[role=list],ol[role=list]{list-style:none;padding:0}:where(a){color:inherit}}@layer tokens{:root{color-scheme:light;--paper: #F5F3EE;--paper-raised: #FAF9F5;--paper-float: #FEFDFA;--ink: #16161A;--graphite: #8A8880;--graphite-strong: #5E5C56;--rule: #E2DED5;--blue-pencil: #3D6BFF;--red-pencil: #FF3B1F;--glow: rgba(255,248,230,0);--font-display: "Geist Variable", "Geist", "Helvetica Neue", Arial, sans-serif;--font-body: "Geist Mono Variable", "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-mono: "Geist Mono Variable", "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-brand: "Geist Variable", "Geist", "Helvetica Neue", Arial, sans-serif;--radius-s: 5px;--radius-m: 8px;--radius-l: 16px;--line: 1px;--blur: none;--shadow-float: 0 10px 40px -18px rgb(0 0 0 / .35);--shadow-card: none;--art: none;--art-size: auto;--outline: var(--rule);--dur-instant: 90ms;--dur-instant-exit: 63ms;--dur-quick: .18s;--dur-quick-exit: 126ms;--dur-base: .28s;--dur-base-exit: 196ms;--dur-scene: .48s;--dur-scene-exit: 336ms;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-inout: cubic-bezier(.65, 0, .35, 1);--ease-reveal: cubic-bezier(.16, 1, .3, 1);--spring-snappy: linear(0, .0046 1%, .0173 2%, .044 3.33%, .0793 4.67%, .1097 5.67%, .154 7%, .3698 13%, .4605 15.67%, .5132 17.33%, .5623 19%, .6415 22%, .6804 23.67%, .7158 25.33%, .7478 27%, .7766 28.67%, .8025 30.33%, .8301 32.33%, .8717 36%, .9087 40.33%, .9372 45%, .9595 50.33%, .9761 56.67%, .9868 63.67%, .9936 72%, 1);--spring-snappy-dur: 474ms;--spring-soft: linear(0, .004 1%, .0201 2.33%, .0464 3.67%, .09 5.33%, .1313 6.67%, .1882 8.33%, .4092 14.33%, .5141 17.33%, .5681 19%, .6187 20.67%, .6655 22.33%, .7001 23.67%, .7323 25%, .7691 26.67%, .8023 28.33%, .8319 30%, .8582 31.67%, .8813 33.33%, .9193 36.67%, .9502 40.33%, .9734 44.33%, .9904 49%, 1.0008 54.33%, 1.005 59.33%, 1.0063 65.67%, 1);--spring-soft-dur: 727ms;--dist-rise: 4px;--dist-nudge: 8px;--dist-travel: 24px;--stagger-step: 30ms}:root[data-mode=dark]{color-scheme:dark;--paper: #0E0F11;--paper-raised: #15161A;--paper-float: #1C1D22;--ink: #ECEAE4;--graphite: #6B6A66;--graphite-strong: #9A9892;--rule: #1F2024;--blue-pencil: #7C9BFF;--red-pencil: #FF5A3C;--glow: rgba(255,248,230,.06)}@media(prefers-color-scheme:dark){:root:not([data-mode=light]){color-scheme:dark;--paper: #0E0F11;--paper-raised: #15161A;--paper-float: #1C1D22;--ink: #ECEAE4;--graphite: #6B6A66;--graphite-strong: #9A9892;--rule: #1F2024;--blue-pencil: #7C9BFF;--red-pencil: #FF5A3C;--glow: rgba(255,248,230,.06)}}:root[data-theme=glassy]{color-scheme:light;--font-display: "Sora Variable", "Sora", system-ui, sans-serif;--font-body: "Manrope Variable", "Manrope", system-ui, sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, monospace;--radius-s: 10px;--radius-m: 18px;--radius-l: 26px;--line: 1px;--blur: blur(20px) saturate(160%);--paper: #EEF1F8;--paper-raised: rgba(255,255,255,.55);--paper-float: rgba(255,255,255,.66);--ink: #1B1D29;--graphite: #8A8FA3;--graphite-strong: #555A6E;--rule: rgba(27,29,41,.11);--blue-pencil: #5B68F5;--red-pencil: #F2457E;--glow: rgba(255,255,255,0);--outline: rgba(255,255,255,.8);--shadow-float: 0 24px 60px -24px rgba(44,52,110,.38);--shadow-card: 0 14px 36px -22px rgba(44,52,110,.32);--art: radial-gradient(40% 55% at 12% 22%, #C3CEFF 0, transparent 70%), radial-gradient(34% 50% at 88% 14%, #FFCFE0 0, transparent 70%), radial-gradient(45% 55% at 62% 96%, #C8F5E6 0, transparent 70%);--art-size: auto}:root[data-theme=glassy][data-mode=dark]{color-scheme:dark;--paper: #0B0D18;--paper-raised: rgba(255,255,255,.06);--paper-float: rgba(32,34,56,.62);--ink: #EEF0FA;--graphite: #7B80A0;--graphite-strong: #A6ABC8;--rule: rgba(255,255,255,.1);--blue-pencil: #8F9BFF;--red-pencil: #FF7AA8;--glow: rgba(160,140,255,.06);--outline: rgba(255,255,255,.14);--shadow-float: 0 24px 60px -24px rgba(0,0,0,.7);--shadow-card: 0 14px 36px -22px rgba(0,0,0,.6);--art: radial-gradient(40% 55% at 12% 22%, rgba(98,70,255,.5) 0, transparent 70%), radial-gradient(34% 50% at 88% 14%, rgba(255,80,150,.32) 0, transparent 70%), radial-gradient(45% 55% at 62% 96%, rgba(0,190,170,.3) 0, transparent 70%);--art-size: auto}@media(prefers-color-scheme:dark){:root[data-theme=glassy]:not([data-mode=light]){color-scheme:dark;--paper: #0B0D18;--paper-raised: rgba(255,255,255,.06);--paper-float: rgba(32,34,56,.62);--ink: #EEF0FA;--graphite: #7B80A0;--graphite-strong: #A6ABC8;--rule: rgba(255,255,255,.1);--blue-pencil: #8F9BFF;--red-pencil: #FF7AA8;--glow: rgba(160,140,255,.06);--outline: rgba(255,255,255,.14);--shadow-float: 0 24px 60px -24px rgba(0,0,0,.7);--shadow-card: 0 14px 36px -22px rgba(0,0,0,.6);--art: radial-gradient(40% 55% at 12% 22%, rgba(98,70,255,.5) 0, transparent 70%), radial-gradient(34% 50% at 88% 14%, rgba(255,80,150,.32) 0, transparent 70%), radial-gradient(45% 55% at 62% 96%, rgba(0,190,170,.3) 0, transparent 70%);--art-size: auto}}:root[data-theme=mono]{color-scheme:light;--font-display: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, monospace;--font-body: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, monospace;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, monospace;--radius-s: 3px;--radius-m: 4px;--radius-l: 6px;--line: 1px;--blur: none;--paper: #FFFFFF;--paper-raised: #F6F8FA;--paper-float: #FFFFFF;--ink: #1F2328;--graphite: #818B98;--graphite-strong: #59636E;--rule: #D1D9E0;--blue-pencil: #0969DA;--red-pencil: #CF222E;--glow: rgba(255,255,255,0);--outline: #D1D9E0;--shadow-float: 0 8px 24px rgba(140,149,159,.2);--shadow-card: none;--art: none;--art-size: auto}:root[data-theme=mono][data-mode=dark]{color-scheme:dark;--paper: #0D1117;--paper-raised: #161B22;--paper-float: #1C2128;--ink: #E6EDF3;--graphite: #6E7681;--graphite-strong: #9198A1;--rule: #30363D;--blue-pencil: #58A6FF;--red-pencil: #FF7B72;--glow: rgba(255,255,255,0);--outline: #30363D;--shadow-float: 0 8px 24px rgba(1,4,9,.8);--shadow-card: none;--art: none;--art-size: auto}@media(prefers-color-scheme:dark){:root[data-theme=mono]:not([data-mode=light]){color-scheme:dark;--paper: #0D1117;--paper-raised: #161B22;--paper-float: #1C2128;--ink: #E6EDF3;--graphite: #6E7681;--graphite-strong: #9198A1;--rule: #30363D;--blue-pencil: #58A6FF;--red-pencil: #FF7B72;--glow: rgba(255,255,255,0);--outline: #30363D;--shadow-float: 0 8px 24px rgba(1,4,9,.8);--shadow-card: none;--art: none;--art-size: auto}}:root[data-theme=cartoon]{color-scheme:light;--font-display: "Comic Neue", "Comic Sans MS", "Chalkboard SE", cursive;--font-body: "Comic Neue", "Comic Sans MS", "Chalkboard SE", cursive;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, monospace;--radius-s: 12px;--radius-m: 16px;--radius-l: 24px;--line: 2px;--blur: none;--paper: #FFF4D6;--paper-raised: #FFFFFF;--paper-float: #FFFFFF;--ink: #1D1B2E;--graphite: #8E88A8;--graphite-strong: #4B4768;--rule: #E6D7AE;--blue-pencil: #3D7BFF;--red-pencil: #FF4F6D;--glow: rgba(255,255,255,0);--outline: #1D1B2E;--shadow-float: 5px 5px 0 #1D1B2E;--shadow-card: 4px 4px 0 #1D1B2E;--art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' fill='none' stroke='%231D1B2E' stroke-opacity='.16' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E %3Cpath d='M44 22q2 12 14 14q-12 2-14 14q-2-12-14-14q12-2 14-14z'/%3E %3Cpath d='M118 40q8-11 16 0t16 0t16 0'/%3E %3Cpath d='M206 94v18M197 103h18'/%3E %3Cpath d='M24 150l9-11l9 11l9-11l9 11'/%3E %3Cpath d='M128 150c-7-9-20-2-11 9l11 10l11-10c9-11-4-18-11-9z'/%3E %3Cpath d='M198 176l-9 14h10l-7 14'/%3E %3Cpath d='M84 214q1 6 7 7q-6 1-7 7q-1-6-7-7q6-1 7-7z'/%3E %3Cpath d='M62 90a9 9 0 1 1 9 9'/%3E %3C/svg%3E");--art-size: 240px 240px}:root[data-theme=cartoon][data-mode=dark]{color-scheme:dark;--paper: #241C45;--paper-raised: #2F2656;--paper-float: #362C62;--ink: #FFF4D6;--graphite: #9A90C4;--graphite-strong: #D2C9F0;--rule: #3F3570;--blue-pencil: #7FA8FF;--red-pencil: #FF6B85;--glow: rgba(255,255,255,0);--outline: #0D0920;--shadow-float: 5px 5px 0 #0D0920;--shadow-card: 4px 4px 0 #0D0920;--art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' fill='none' stroke='%23FFF4D6' stroke-opacity='.13' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E %3Cpath d='M44 22q2 12 14 14q-12 2-14 14q-2-12-14-14q12-2 14-14z'/%3E %3Cpath d='M118 40q8-11 16 0t16 0t16 0'/%3E %3Cpath d='M206 94v18M197 103h18'/%3E %3Cpath d='M24 150l9-11l9 11l9-11l9 11'/%3E %3Cpath d='M128 150c-7-9-20-2-11 9l11 10l11-10c9-11-4-18-11-9z'/%3E %3Cpath d='M198 176l-9 14h10l-7 14'/%3E %3Cpath d='M84 214q1 6 7 7q-6 1-7 7q-1-6-7-7q6-1 7-7z'/%3E %3Cpath d='M62 90a9 9 0 1 1 9 9'/%3E %3C/svg%3E");--art-size: 240px 240px}@media(prefers-color-scheme:dark){:root[data-theme=cartoon]:not([data-mode=light]){color-scheme:dark;--paper: #241C45;--paper-raised: #2F2656;--paper-float: #362C62;--ink: #FFF4D6;--graphite: #9A90C4;--graphite-strong: #D2C9F0;--rule: #3F3570;--blue-pencil: #7FA8FF;--red-pencil: #FF6B85;--glow: rgba(255,255,255,0);--outline: #0D0920;--shadow-float: 5px 5px 0 #0D0920;--shadow-card: 4px 4px 0 #0D0920;--art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' fill='none' stroke='%23FFF4D6' stroke-opacity='.13' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E %3Cpath d='M44 22q2 12 14 14q-12 2-14 14q-2-12-14-14q12-2 14-14z'/%3E %3Cpath d='M118 40q8-11 16 0t16 0t16 0'/%3E %3Cpath d='M206 94v18M197 103h18'/%3E %3Cpath d='M24 150l9-11l9 11l9-11l9 11'/%3E %3Cpath d='M128 150c-7-9-20-2-11 9l11 10l11-10c9-11-4-18-11-9z'/%3E %3Cpath d='M198 176l-9 14h10l-7 14'/%3E %3Cpath d='M84 214q1 6 7 7q-6 1-7 7q-1-6-7-7q6-1 7-7z'/%3E %3Cpath d='M62 90a9 9 0 1 1 9 9'/%3E %3C/svg%3E");--art-size: 240px 240px}}:root:not([data-theme]) [data-face]:not([data-face=pencil]),:root[data-theme=glassy] [data-face]:not([data-face=glassy]),:root[data-theme=mono] [data-face]:not([data-face=mono]),:root[data-theme=cartoon] [data-face]:not([data-face=cartoon]){display:none!important}@media print{:root:root:root{color-scheme:light;--paper: #F5F3EE;--paper-raised: #FAF9F5;--paper-float: #FEFDFA;--ink: #16161A;--graphite: #8A8880;--graphite-strong: #5E5C56;--rule: #E2DED5;--blue-pencil: #3D6BFF;--red-pencil: #FF3B1F;--glow: rgba(255,248,230,0)}}:root[data-motion=reduce]{--dist-rise: 0px;--dist-nudge: 0px;--dist-travel: 0px}@media(prefers-reduced-motion:reduce){:root:not([data-motion=full]){--dist-rise: 0px;--dist-nudge: 0px;--dist-travel: 0px}}}@layer base{html{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-color:var(--rule) transparent}body{background:var(--paper);font-size:1rem;line-height:1.6;letter-spacing:.01em;overflow-x:clip}::selection{background:color-mix(in srgb,var(--blue-pencil) 22%,transparent)}a{color:inherit;text-decoration-line:underline;text-decoration-color:color-mix(in srgb,var(--ink) 28%,transparent);text-decoration-thickness:1px;text-underline-offset:.2em;transition:text-decoration-color var(--dur-quick) var(--ease-out)}a:hover{text-decoration-color:var(--ink)}:focus-visible{outline:1.5px solid var(--blue-pencil);outline-offset:3px;border-radius:2px}hr{border:0;border-top:1px solid var(--rule);margin-block:3rem}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:1rem;top:-4rem;background:var(--ink);color:var(--paper);padding:.5rem .75rem;z-index:100;font-size:.875rem}.skip-link:focus{top:1rem}}@layer type{:root{--text-xs: .6875rem;--text-sm: .8125rem;--text-md: 1rem;--text-lg: 1.3125rem;--text-xl: 1.625rem;--text-2xl: clamp(2.25rem, 1.5rem + 3vw, 3.75rem);--text-3xl: clamp(3rem, 1.75rem + 5.5vw, 6rem);--measure: 68ch}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.2;text-wrap:balance}.display,h1{font-size:var(--text-2xl);letter-spacing:-.025em;line-height:1.05}h2{font-size:var(--text-xl);letter-spacing:-.015em}h3{font-size:1.125rem;letter-spacing:-.01em;line-height:1.3}em,i{font-style:italic}.serif,.serif-italic{font-family:var(--font-display);font-weight:500;letter-spacing:-.01em;font-style:normal}strong,b{font-weight:600}p{text-wrap:pretty}.mono,code,kbd,samp,pre{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums}.smallcaps{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums}.lede{font-family:var(--font-display);font-size:var(--text-lg);font-weight:400;letter-spacing:-.01em;line-height:1.35;color:var(--graphite-strong)}:not(pre)>code{font-size:.86em;padding:.08em .3em;border-radius:3px;background:color-mix(in srgb,var(--ink) 6%,transparent);white-space:nowrap}@media(max-width:640px){:not(pre)>code{white-space:normal;overflow-wrap:anywhere}}kbd{font-size:.8em;padding:.05em .35em;border:1px solid var(--rule);border-bottom-width:2px;border-radius:4px}}@layer layout{:root{--gutter: clamp(16px, 4vw, 48px);--page-max: 1240px;--rail: 15rem;--rail-gap: 3.5rem;--header-h: 58px}.page{width:100%;max-width:var(--page-max);margin-inline:auto;padding-inline:var(--gutter)}:root{--frame-inset: clamp(8px, 1.8vw, 24px);--frame-radius: 0;--ground: color-mix(in srgb, var(--paper) 92%, var(--ink));--hatch-ink: color-mix(in srgb, var(--ink) 18%, transparent);--hatch-tile: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M-1 1l2-2M0 8l8-8M7 9l2-2' stroke='black' stroke-width='1'/%3E%3C/svg%3E")}@media(max-width:640px){:root{--frame-inset: 8px}}html,body{height:100%;overflow:hidden}body{background-color:var(--ground)}body:before{content:"";position:fixed;inset:0;background:var(--hatch-ink);-webkit-mask:var(--hatch-tile) 0 0 / 8px 8px repeat;mask:var(--hatch-tile) 0 0 / 8px 8px repeat;pointer-events:none}.frame{position:fixed;inset:var(--frame-inset);display:flex;flex-direction:column;background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-radius:var(--frame-radius);overflow:hidden;box-shadow:0 18px 50px -32px #00000059}.frame>.scroller{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-top:var(--header-h);scroll-padding-top:calc(var(--header-h) + 1.25rem)}.frame>.scroller:focus{outline:none}.site-header{position:absolute;top:0;left:0;right:var(--scrollbar-w, 0px);z-index:20;height:var(--header-h);background:color-mix(in srgb,var(--paper) 94%,transparent);border-bottom:1px solid var(--rule)}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.site-header{background:color-mix(in srgb,var(--paper) 62%,transparent);-webkit-backdrop-filter:saturate(170%) blur(16px);backdrop-filter:saturate(170%) blur(16px)}}@media(prefers-reduced-transparency:reduce){.site-header{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}}.masthead{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;height:100%;align-items:stretch}.mast-id{display:flex;align-items:center;gap:.9rem;min-width:0}.mast-crumb{display:flex;align-items:center;gap:.6rem;min-width:0}.mc-rule{flex:none;width:1px;height:1.1rem;background:var(--graphite);transform:scaleY(0);transform-origin:50% 100%;transition:transform var(--dur-quick) var(--ease-in)}.mc-mask{display:block;overflow:clip;overflow-clip-margin:.2em;padding-block:.1em}.mc-mask-t{min-width:0}.mc-n,.mc-t{display:block;translate:0 115%;transition:translate var(--dur-quick) var(--ease-in)}.mc-n{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.05em;color:var(--graphite);font-variant-numeric:tabular-nums}.mc-t{font-family:var(--font-display);font-weight:500;font-size:.95rem;letter-spacing:-.01em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-crumb][data-on] .mc-rule{transform:scaleY(1);transition:transform var(--dur-base) var(--ease-out)}[data-crumb][data-on] .mc-n{translate:0 0;transition:translate var(--dur-scene) var(--ease-reveal) var(--dur-instant)}[data-crumb][data-on] .mc-t{translate:0 0;transition:translate var(--dur-scene) var(--ease-reveal) calc(var(--dur-instant) + var(--stagger-step) * 2)}@media(prefers-reduced-motion:reduce){:root:not([data-motion=full]) :is(.mc-n,.mc-t,.mc-rule){translate:none;transform:none;opacity:0;transition:opacity var(--dur-quick) var(--ease-out)}:root:not([data-motion=full]) [data-crumb][data-on] :is(.mc-n,.mc-t,.mc-rule){opacity:1}}:root[data-motion=reduce] :is(.mc-n,.mc-t,.mc-rule){translate:none;transform:none;opacity:0;transition:opacity var(--dur-quick) var(--ease-out)}:root[data-motion=reduce] [data-crumb][data-on] :is(.mc-n,.mc-t,.mc-rule){opacity:1}@media(max-width:640px){.mast-crumb{display:none}}.wordmark{align-self:center}.wordmark{white-space:nowrap;font-family:var(--font-brand);font-weight:500;font-size:1.375rem;line-height:1;text-decoration:none;letter-spacing:-.03em}.wordmark em{color:var(--graphite-strong)}.wordmark-foot{font-family:var(--font-brand);font-weight:500;letter-spacing:-.02em;color:var(--ink)}.site-nav{display:flex;align-items:stretch;gap:clamp(.7rem,2.4vw,1.75rem);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.site-nav a{position:relative;display:flex;align-items:center;text-decoration:none;color:var(--graphite-strong);white-space:nowrap}.site-nav button{font:inherit;letter-spacing:inherit;text-transform:inherit}@media(max-width:480px){:root{--header-h: 52px}.masthead{gap:.75rem}.wordmark{font-size:1.125rem}.site-nav{gap:.6rem;font-size:.6875rem}}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink)}.nav-ink{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink);view-transition-name:nav-ink;pointer-events:none}.prose{font-size:var(--text-md);max-width:calc(var(--measure) + var(--rail) + var(--rail-gap));padding-right:calc(var(--rail) + var(--rail-gap));--persp-dx: calc((var(--rail) + var(--rail-gap)) / 2);margin-inline:auto}.prose>*+*{margin-top:1.1em}.prose>h2{margin-top:3.25rem;margin-bottom:-.1em}.prose>h3{margin-top:2rem}.prose>ul,.prose>ol{padding-left:1.25em}.prose>ul>li+li,.prose>ol>li+li{margin-top:.35em}.prose>ul>li::marker,.prose>ol>li::marker{color:var(--graphite)}.prose blockquote{font-family:var(--font-display);letter-spacing:-.01em;font-size:var(--text-lg);line-height:1.35;color:var(--graphite-strong);border-left:1px solid var(--rule);padding-left:1.25rem}.prose table{width:100%;border-collapse:collapse;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.prose th{text-align:left;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--graphite-strong);border-bottom:1px solid var(--graphite);padding:.4rem .75rem .4rem 0}.prose td{border-bottom:1px solid var(--rule);padding:.45rem .75rem .45rem 0;vertical-align:top}.prose td:first-child{font-family:var(--font-mono)}@media(max-width:640px){.prose table{display:block;overflow-x:auto}.prose :is(td,th) code{white-space:nowrap;overflow-wrap:normal}}.prose .snippets{display:grid;gap:1rem}.prose>.plate,.prose>.wide{width:calc(100% + var(--rail) + var(--rail-gap));margin-block:2.5rem}.margin-note{float:right;clear:right;width:var(--rail);margin-right:calc(-1 * (var(--rail) + var(--rail-gap)));margin-top:.3rem!important;margin-bottom:1.25rem;font-size:var(--text-sm);line-height:1.5;color:var(--graphite-strong)}.margin-note .smallcaps{display:block;color:var(--graphite);margin-bottom:.3rem}.margin-note p+p{margin-top:.5em}.margin-note a{color:var(--ink)}@media(max-width:1080px){.prose{max-width:var(--measure);padding-right:0;--persp-dx: 0px}.prose>.plate,.prose>.wide{width:100%}.margin-note{float:none;width:auto;margin:1.5rem 0!important;padding-left:.875rem;border-left:1px solid var(--rule)}}.site-footer{margin-top:6rem;min-height:var(--band, 0px);display:flex;flex-direction:column;font-size:var(--text-sm);color:var(--graphite-strong)}.foot-line{padding-block:1.5rem 2.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}.site-footer a{color:inherit}.foot-credits{margin:-1.5rem 0 2.5rem;max-width:72ch;font-size:var(--text-xs);line-height:1.6;color:var(--graphite)}.lab-page{width:100%;padding-inline:var(--gutter)}@media print{html,body{height:auto;overflow:visible}body{background:none}body:before{display:none}.frame{position:static;display:block;border:0;box-shadow:none;overflow:visible;background:none}.frame>.scroller{overflow:visible;padding-top:0}.site-header,.ch-ruler{display:none}}}@layer components{.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:30px;padding:0 .75rem;font-size:var(--text-sm);line-height:1;color:var(--ink);border:1px solid var(--rule);border-radius:5px;background:transparent;white-space:nowrap;text-decoration:none;transition:border-color var(--dur-quick) var(--ease-out),background-color var(--dur-quick) var(--ease-out),transform var(--dur-instant) var(--ease-out)}.btn:hover{border-color:var(--graphite)}.btn:active{transform:translateY(1px)}.btn[aria-pressed=true]{background:color-mix(in srgb,var(--ink) 9%,transparent);border-color:var(--graphite)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{border-color:transparent;color:var(--graphite-strong)}.btn.ghost:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.btn.icon{width:30px;padding:0}.btn.small{min-height:24px;padding:0 .5rem;font-size:var(--text-xs)}.btn .ico{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.tip-host{position:relative}.tip{position:absolute;top:calc(100% + 6px);left:50%;z-index:5;translate:-50% calc(-1 * var(--dist-rise));padding:.25rem .5rem;border-radius:4px;background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.2;letter-spacing:0;text-transform:none;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-quick-exit) var(--ease-in),translate var(--dur-quick-exit) var(--ease-in)}.tip.end{left:auto;right:0;translate:0 calc(-1 * var(--dist-rise))}.tip-host:is(:hover,:focus-visible)>.tip,.tip.show{opacity:1;translate:-50% 0;transition:opacity var(--dur-quick) var(--ease-out),translate var(--dur-quick) var(--ease-out)}.tip-host:is(:hover,:focus-visible)>.tip.end,.tip.end.show{translate:0 0}@media(prefers-reduced-motion:reduce){.tip{translate:-50% 0}.tip.end{translate:0 0}}:root[data-motion=reduce] .tip{translate:-50% 0}:root[data-motion=reduce] .tip.end{translate:0 0}.btn svg{width:14px;height:14px;flex:none}.btn.solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.solid:hover{background:color-mix(in srgb,var(--ink) 86%,var(--paper))}.seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:2px;border:1px solid var(--rule);border-radius:6px}.seg>button{min-height:24px;padding:0 .55rem;border-radius:4px;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--graphite-strong);transition:background-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}@media(max-width:480px){.seg>button{padding:0 .4rem}}.seg>button:hover{color:var(--ink)}.seg>button[aria-pressed=true],.seg>button[aria-selected=true]{color:var(--ink);background:color-mix(in srgb,var(--ink) 9%,transparent)}.seg{position:relative;isolation:isolate}.seg:before{content:"";position:absolute;z-index:-1;top:0;left:0;width:var(--seg-w, 0px);height:var(--seg-h, 0px);translate:var(--seg-x, 0px) var(--seg-y, 0px);border-radius:4px;background:color-mix(in srgb,var(--ink) 9%,transparent);opacity:0;pointer-events:none}.seg[data-seg]:before{opacity:var(--seg-on, 0);transition:translate var(--spring-snappy-dur) var(--spring-snappy),width var(--spring-snappy-dur) var(--spring-snappy),height var(--spring-snappy-dur) var(--spring-snappy),opacity var(--dur-quick) var(--ease-out)}.seg[data-seg][data-seg-snap]:before{transition:none}.seg[data-seg]>:is([aria-pressed=true],[aria-selected=true]){background:transparent}@media(prefers-reduced-motion:reduce){:root:not([data-motion=full]) .seg[data-seg]:before{opacity:0}:root:not([data-motion=full]) .seg[data-seg]>:is([aria-pressed=true],[aria-selected=true]){background:color-mix(in srgb,var(--ink) 9%,transparent)}}:root[data-motion=reduce] .seg[data-seg]:before{opacity:0}:root[data-motion=reduce] .seg[data-seg]>:is([aria-pressed=true],[aria-selected=true]){background:color-mix(in srgb,var(--ink) 9%,transparent)}.r-ico{width:14px;height:14px;overflow:visible;flex:none}.r-ico path{fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.btn .r-ico{width:14px;height:14px}.ri-base{stroke:currentColor}.ri-ink{stroke:var(--blue-pencil);stroke-dasharray:1 2;stroke-dashoffset:1;transition:stroke-dashoffset var(--dur-quick) var(--ease-in)}:is(button,a):focus-visible .ri-ink{stroke-dashoffset:0;transition:stroke-dashoffset var(--dur-base) var(--ease-out)}:is(button,a):focus-visible .ri-head{transition:stroke-dashoffset var(--dur-quick) var(--ease-out) calc(var(--dur-base) * .8)}@media(hover:hover){:is(button,a):hover .ri-ink{stroke-dashoffset:0;transition:stroke-dashoffset var(--dur-base) var(--ease-out)}:is(button,a):hover .ri-head{transition:stroke-dashoffset var(--dur-quick) var(--ease-out) calc(var(--dur-base) * .8)}}@media(prefers-reduced-motion:reduce){:root:not([data-motion=full]) .ri-ink{stroke-dashoffset:0;opacity:0;transition:opacity var(--dur-quick) var(--ease-out)}:root:not([data-motion=full]) :is(button,a):is(:hover,:focus-visible) .ri-ink{opacity:1}}:root[data-motion=reduce] .ri-ink{stroke-dashoffset:0;opacity:0;transition:opacity var(--dur-quick) var(--ease-out)}:root[data-motion=reduce] :is(button,a):is(:hover,:focus-visible) .ri-ink{opacity:1}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:18px;margin:0;background:transparent;cursor:pointer}input[type=range]:focus-visible{outline:none}input[type=range]::-webkit-slider-runnable-track{height:1px;background:linear-gradient(to right,var(--graphite) var(--p, 0%),var(--rule) var(--p, 0%))}input[type=range]::-moz-range-track{height:1px;background:var(--rule)}input[type=range]::-moz-range-progress{height:1px;background:var(--graphite)}input[type=range]:not([style*=--p])::-moz-range-progress{background:transparent}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;margin-top:-5px;border-radius:50%;background:var(--ink);border:2px solid var(--paper);box-shadow:0 0 0 1px var(--ink);transition:scale var(--dur-instant) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out)}input[type=range]::-moz-range-thumb{width:9px;height:9px;border-radius:50%;background:var(--ink);border:2px solid var(--paper);box-shadow:0 0 0 1px var(--ink);transition:scale var(--dur-instant) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out)}@media(hover:hover){input[type=range]:hover::-webkit-slider-thumb{scale:1.15}input[type=range]:hover::-moz-range-thumb{scale:1.15}}input[type=range]:active::-webkit-slider-thumb{scale:1.3}input[type=range]:active::-moz-range-thumb{scale:1.3}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 1px var(--ink),0 0 0 4px color-mix(in srgb,var(--blue-pencil) 40%,transparent)}input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 1px var(--ink),0 0 0 4px color-mix(in srgb,var(--blue-pencil) 40%,transparent)}input[type=range]:disabled{opacity:.45;cursor:not-allowed}input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;display:inline-grid;place-items:center;width:14px;height:14px;margin:0;vertical-align:-2px;border:1px solid var(--graphite);border-radius:3px;background:var(--paper);cursor:pointer;transition:border-color var(--dur-quick) var(--ease-out),background-color var(--dur-quick) var(--ease-out),scale var(--dur-instant) var(--ease-out)}input[type=checkbox]:before{content:"";width:10px;height:10px;background:var(--paper);-webkit-mask:var(--tick) center / contain no-repeat;mask:var(--tick) center / contain no-repeat;clip-path:inset(0 100% 0 0);transition:clip-path var(--dur-instant-exit) var(--ease-in);--tick: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.6 5.3 4 7.6 8.5 2.6' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}input[type=checkbox]:hover{border-color:var(--ink)}input[type=checkbox]:checked{border-color:var(--ink);background:var(--ink)}input[type=checkbox]:checked:before{clip-path:inset(0 0 0 0);transition:clip-path var(--dur-quick) var(--ease-out) var(--dur-instant-exit)}input[type=checkbox]:active{scale:.92}input[type=checkbox]:disabled{opacity:.45;cursor:not-allowed}@media(prefers-reduced-motion:reduce){:root:not([data-motion=full]) input[type=checkbox]:before{transition:none}}:root[data-motion=reduce] input[type=checkbox]:before{transition:none}label:has(>input[type=checkbox]){display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:var(--text-sm);color:var(--graphite-strong);transition:color var(--dur-quick) var(--ease-out)}label:has(>input[type=checkbox]):hover,label:has(>input[type=checkbox]:checked){color:var(--ink)}.label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--graphite-strong)}.chip{display:inline-flex;align-items:center;gap:.35em;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;padding:.2em .55em;border-radius:999px;border:1px solid var(--rule);color:var(--graphite-strong)}.tick-rule{height:10px;background:linear-gradient(to right,color-mix(in srgb,var(--ink) 30%,transparent) 1px,transparent 1px) 0 100% / 40px 10px repeat-x,linear-gradient(to right,color-mix(in srgb,var(--ink) 16%,transparent) 1px,transparent 1px) 0 100% / 8px 5px repeat-x}.chapter-head{padding-block:clamp(2rem,6vw,4.5rem) 2rem}.chapter-head>.ch-main{margin-top:0}.ch-top{display:flex;align-items:flex-end;gap:.9rem;color:var(--graphite-strong)}.ch-top .tick-rule{flex:1;min-width:2rem}.ch-count{color:var(--graphite);font-variant-numeric:tabular-nums}.ch-title{font-size:clamp(2.6rem,6.2vw,4.4rem);line-height:1;margin-top:1.1rem}.ch-title .lt-num{display:block;width:max-content;font-size:3.5rem;color:var(--graphite);--o-hair: 12;margin-bottom:.6rem}@media(min-width:1000px){.ch-title .lt-num{position:absolute;right:calc(100% + 1rem);bottom:var(--baseline);font-size:1em;--o-hair: 14;margin:0}.ch-title .lt-num svg{max-width:none}}@media(min-width:1081px){.ch-top,.ch-title{margin-right:calc(-1 * (var(--rail) + var(--rail-gap)))}}.chapter-head .lede{margin-top:1.15rem;max-width:36ch}.ch-lab{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem}.lab-btn{--ph-radius: 4px;display:inline-flex;align-items:center;gap:.7rem;padding:.55rem 1rem .55rem .75rem;border:1px solid var(--rule);border-radius:4px;text-decoration:none;color:var(--ink)}.lab-btn .lab-btn-icon{width:24px;height:24px;margin:0}.lab-btn-text{display:grid;gap:.1rem;line-height:1.15}.lab-btn-code{color:var(--ph-n, var(--graphite));font-size:.625rem;transition:color var(--dur-quick) var(--ease-out)}.lab-btn-name{font-family:var(--font-display);font-weight:500;font-size:.95rem}.pager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:5rem;border-top:1px solid var(--rule);border-left:1px solid var(--rule)}.pg{display:flex;flex-direction:column;gap:.4rem;padding:1rem 1rem 1.1rem;min-height:9rem;text-decoration:none;color:var(--ink);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}.pg-next{align-items:flex-end;text-align:right}.pg-n{font-size:1.5rem;color:var(--ph-n, var(--graphite));--o-hair: 42}.pg-n-word{display:flex;align-items:flex-end;height:1.0625rem;font-size:.6875rem;line-height:1}.pg-title{font-size:1.3rem;line-height:1.15}.pg-foot{margin-top:auto;padding-top:.5rem;display:inline-flex;align-items:center;gap:.5rem;font-size:.6875rem;color:var(--ink);transition:color var(--dur-quick) var(--ease-out)}@media(hover:hover){.pg:hover .pg-foot{color:var(--blue-pencil)}}.pg:focus-visible .pg-foot{color:var(--blue-pencil)}@media(max-width:560px){.pg{min-height:7.5rem;padding-inline:.75rem}.pg-title{font-size:1.1rem}}.p-arrow{width:22px;height:12px;overflow:visible;flex:none;transition:translate var(--dur-quick) var(--ease-out)}.p-arrow path{fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.pa-base{stroke:currentColor}.pa-ink{stroke:var(--blue-pencil);stroke-dasharray:1 2;stroke-dashoffset:1;transition:stroke-dashoffset var(--dur-quick) var(--ease-in)}.pencil-hover:focus-visible .p-arrow-right{translate:var(--dist-rise) 0}.pencil-hover:focus-visible .p-arrow-left{translate:calc(-1 * var(--dist-rise)) 0}.pencil-hover:focus-visible .pa-shaft{stroke-dashoffset:0;transition:stroke-dashoffset var(--dur-base) var(--ease-out) var(--dur-instant)}.pencil-hover:focus-visible .pa-head{stroke-dashoffset:0;transition:stroke-dashoffset var(--dur-quick) var(--ease-out) calc(var(--dur-instant) + var(--dur-base) * .8)}@media(hover:hover){.pencil-hover:hover .p-arrow{transition:translate var(--dur-base) var(--ease-out)}.pencil-hover:hover .p-arrow-right{translate:var(--dist-rise) 0}.pencil-hover:hover .p-arrow-left{translate:calc(-1 * var(--dist-rise)) 0}.pencil-hover:hover .pa-shaft{stroke-dashoffset:0;transition:stroke-dashoffset var(--dur-base) var(--ease-out) var(--dur-instant)}.pencil-hover:hover .pa-head{stroke-dashoffset:0;transition:stroke-dashoffset var(--dur-quick) var(--ease-out) calc(var(--dur-instant) + var(--dur-base) * .8)}}@media(prefers-reduced-motion:reduce){:root:not([data-motion=full]) .pa-ink{stroke-dashoffset:0;opacity:0;transition:opacity var(--dur-quick) var(--ease-out)}:root:not([data-motion=full]) .pencil-hover:is(:hover,:focus-visible) .pa-ink{opacity:1}}:root[data-motion=reduce] .pa-ink{stroke-dashoffset:0;opacity:0;transition:opacity var(--dur-quick) var(--ease-out)}:root[data-motion=reduce] .pencil-hover:is(:hover,:focus-visible) .pa-ink{opacity:1}.snippet{border:1px solid var(--rule);border-radius:6px;background:var(--paper-raised);overflow:hidden}.snippet-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem .5rem .45rem .9rem;border-bottom:1px solid var(--rule)}.snippet-head .smallcaps{color:var(--graphite-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:560px){.snippet-head{align-items:flex-start}.snippet-head .smallcaps{white-space:normal;line-height:1.5}}.snippet-actions{display:flex;gap:.25rem;flex:none}.snippet pre{margin:0!important;border:0!important;border-radius:0!important;background:transparent!important}.snippets{display:grid;gap:1rem}.pref-toggle{display:inline-flex;align-items:center;gap:.35rem;color:var(--graphite-strong);font-size:var(--text-sm)}.pref-toggle:hover{color:var(--ink)}.pref-toggle svg{width:16px;height:16px}.inspector{position:fixed;z-index:1000;pointer-events:none;min-width:200px;padding:.6rem .7rem .55rem;background:var(--paper-raised);border:1px solid var(--rule);border-radius:6px;box-shadow:0 6px 24px -12px #00000059;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5;color:var(--ink)}.inspector svg{margin-top:.35rem}.inspector .k{color:var(--graphite-strong)}.inspect-outline{outline:1px dashed var(--blue-pencil)!important;outline-offset:2px}.bench-list{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule)}@media(min-width:560px){.bench-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:860px){.bench-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.bench-item{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:1rem 1rem 1.1rem;text-decoration:none;display:flex;flex-direction:column;gap:.4rem;min-height:12rem}.pencil-hover{position:relative;--ph-radius: 4px}.ph-outline{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.ph-outline rect{width:calc(100% - 1px);height:calc(100% - 1px);rx:var(--ph-radius);fill:none;stroke:var(--blue-pencil);stroke-width:1;stroke-dasharray:1 2;stroke-dashoffset:1;transition:stroke-dashoffset calc(var(--dur-base) * 1.5) var(--ease-in)}.pencil-hover:is(:focus-visible,.ph-held) .ph-outline rect{stroke-dashoffset:0;transition:stroke-dashoffset calc(var(--dur-scene) * 1.5) var(--ease-inout)}.pencil-hover :is(.ph-title,.ph-n){transition:color var(--dur-quick) var(--ease-out)}.pencil-hover:is(:focus-visible,.ph-held) .ph-title{color:var(--blue-pencil)}.pencil-hover:is(:focus-visible,.ph-held){--ph-n: color-mix(in srgb, var(--blue-pencil) 55%, var(--paper))}.pencil-hover:is(:focus-visible,.ph-held) .ph-n{color:var(--ph-n)}@media(hover:hover){.pencil-hover:hover .ph-outline rect{stroke-dashoffset:0;transition:stroke-dashoffset calc(var(--dur-scene) * 1.5) var(--ease-inout)}.pencil-hover:hover .ph-title{color:var(--blue-pencil)}.pencil-hover:hover{--ph-n: color-mix(in srgb, var(--blue-pencil) 55%, var(--paper))}.pencil-hover:hover .ph-n{color:var(--ph-n)}}@media(prefers-reduced-motion:reduce){.ph-outline rect{stroke-dashoffset:0;opacity:0;transition:opacity var(--dur-quick) var(--ease-out)}.pencil-hover:is(:hover,:focus-visible,.ph-held) .ph-outline rect{opacity:1}}:root[data-motion=reduce] .ph-outline rect{stroke-dashoffset:0;opacity:0;transition:opacity var(--dur-quick) var(--ease-out)}:root[data-motion=reduce] .pencil-hover:is(:hover,:focus-visible,.ph-held) .ph-outline rect{opacity:1}:is(.bench-item,.pg).pencil-hover{--ph-radius: 0px}.o-num{display:inline-flex}.o-num svg{display:block;overflow:visible}.o-hair{fill:none;stroke:currentColor;stroke-width:var(--o-hair, 28)}.o-ink{fill:color-mix(in srgb,var(--blue-pencil) 55%,var(--paper));fill-opacity:0;stroke:var(--blue-pencil);stroke-width:calc(var(--o-hair, 28) * 1.4);stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1 2;stroke-dashoffset:1;transition:stroke-dashoffset calc(var(--dur-base) * 1.2) var(--ease-in),fill-opacity var(--dur-quick) var(--ease-in)}.pencil-hover:is(:focus-visible,.ph-held) .o-ink{stroke-dashoffset:0;fill-opacity:1;transition:stroke-dashoffset calc(var(--dur-scene) * 1.2) var(--ease-inout) calc(var(--k) * var(--dur-instant)),fill-opacity calc(var(--dur-base) * 1.6) var(--ease-out) calc(var(--dur-scene) + var(--k) * var(--dur-instant))}@media(hover:hover){.pencil-hover:hover .o-ink{stroke-dashoffset:0;fill-opacity:1;transition:stroke-dashoffset calc(var(--dur-scene) * 1.2) var(--ease-inout) calc(var(--k) * var(--dur-instant)),fill-opacity calc(var(--dur-base) * 1.6) var(--ease-out) calc(var(--dur-scene) + var(--k) * var(--dur-instant))}}@media(prefers-reduced-motion:reduce){.o-ink,.pencil-hover:is(:hover,:focus-visible,.ph-held) .o-ink{stroke-dashoffset:0;fill-opacity:1;opacity:0;transition:opacity var(--dur-quick) var(--ease-out)}.pencil-hover:is(:hover,:focus-visible,.ph-held) .o-ink{opacity:1}}:root[data-motion=reduce] :is(.o-ink,.pencil-hover:is(:hover,:focus-visible,.ph-held) .o-ink){stroke-dashoffset:0;fill-opacity:1;opacity:0;transition:opacity var(--dur-quick) var(--ease-out)}:root[data-motion=reduce] .pencil-hover:is(:hover,:focus-visible,.ph-held) .o-ink{opacity:1}.bench-item .serif{font-size:1.3rem;line-height:1.1}.bench-item p{font-size:var(--text-sm);color:var(--graphite-strong);line-height:1.45}.bi-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.45rem}.bench-item .bi-code{font-size:1.5rem;color:var(--ph-n, var(--graphite));--o-hair: 42}.bi-icon{width:28px;height:28px;overflow:visible;flex:none}.bi-icon path{fill:none;stroke-linecap:round;stroke-linejoin:round}.bi-icon-base{stroke:var(--graphite-strong);stroke-width:1.2}.bi-icon-ink{stroke:var(--blue-pencil);stroke-width:1.8;stroke-dasharray:1 2;stroke-dashoffset:1;transition:stroke-dashoffset calc(var(--dur-base) * 1.2) var(--ease-in)}.bi-foot{margin-top:auto;padding-top:.5rem;display:grid}.bi-foot>*{grid-area:1 / 1;white-space:nowrap;font-size:.6875rem;transition:opacity var(--dur-quick) var(--ease-out),translate var(--dur-quick) var(--ease-out)}.bi-tag{color:var(--graphite);overflow:hidden;text-overflow:ellipsis}.bi-open{color:var(--blue-pencil);opacity:0;translate:calc(-1 * var(--dist-nudge)) 0;display:inline-flex;align-items:center;gap:.5rem}.bi-arrow{width:22px;height:12px;overflow:visible;flex:none}.bi-arrow path{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 2;stroke-dashoffset:1;transition:stroke-dashoffset var(--dur-quick) var(--ease-in)}:is(.bench-item,.lab-btn):focus-visible .bi-icon-ink{stroke-dashoffset:0;transition:stroke-dashoffset var(--dur-base) var(--ease-inout) calc(var(--k) * (var(--dur-scene) * 1.5 - var(--dur-base)))}.bench-item:focus-visible .bi-tag{opacity:0;translate:var(--dist-nudge) 0}.bench-item:focus-visible .bi-open{opacity:1;translate:0 0}.bench-item:focus-visible .bi-arrow-shaft{stroke-dashoffset:0;transition:stroke-dashoffset var(--dur-base) var(--ease-out) var(--dur-instant)}.bench-item:focus-visible .bi-arrow-head{stroke-dashoffset:0;transition:stroke-dashoffset var(--dur-quick) var(--ease-out) calc(var(--dur-instant) + var(--dur-base) * .8)}@media(hover:hover){:is(.bench-item,.lab-btn):hover .bi-icon-ink{stroke-dashoffset:0;transition:stroke-dashoffset var(--dur-base) var(--ease-inout) calc(var(--k) * (var(--dur-scene) * 1.5 - var(--dur-base)))}.bench-item:hover .bi-tag{opacity:0;translate:var(--dist-nudge) 0}.bench-item:hover .bi-open{opacity:1;translate:0 0}.bench-item:hover .bi-arrow-shaft{stroke-dashoffset:0;transition:stroke-dashoffset var(--dur-base) var(--ease-out) var(--dur-instant)}.bench-item:hover .bi-arrow-head{stroke-dashoffset:0;transition:stroke-dashoffset var(--dur-quick) var(--ease-out) calc(var(--dur-instant) + var(--dur-base) * .8)}}@media(prefers-reduced-motion:reduce){.bi-icon-ink{stroke-dashoffset:0;opacity:0;transition:opacity var(--dur-quick) var(--ease-out)}:is(.bench-item,.lab-btn):is(:hover,:focus-visible) .bi-icon-ink{opacity:1}.bi-arrow path,.bench-item:is(:hover,:focus-visible) .bi-arrow path{stroke-dashoffset:0;transition:none}}:root[data-motion=reduce] .bi-icon-ink{stroke-dashoffset:0;opacity:0;transition:opacity var(--dur-quick) var(--ease-out)}:root[data-motion=reduce] :is(.bench-item,.lab-btn):is(:hover,:focus-visible) .bi-icon-ink{opacity:1}:root[data-motion=reduce] :is(.bi-arrow path,.bench-item:is(:hover,:focus-visible) .bi-arrow path){stroke-dashoffset:0;transition:none}}@layer code{:root{--code-bg: var(--paper-raised);--code-comment: var(--graphite);--code-keyword: var(--graphite-strong);--code-string: color-mix(in srgb, var(--ink) 78%, var(--blue-pencil));--code-number: var(--blue-pencil);--code-fn: var(--ink);--code-prop: color-mix(in srgb, var(--ink) 88%, var(--graphite));--code-punct: var(--graphite);--astro-code-foreground: var(--ink);--astro-code-background: transparent;--astro-code-token-constant: var(--code-number);--astro-code-token-string: var(--code-string);--astro-code-token-string-expression: var(--code-string);--astro-code-token-comment: var(--code-comment);--astro-code-token-keyword: var(--code-keyword);--astro-code-token-parameter: var(--ink);--astro-code-token-function: var(--code-fn);--astro-code-token-punctuation: var(--code-punct);--astro-code-token-link: var(--blue-pencil)}pre.astro-code,.prose pre{font-size:.8125rem;line-height:1.65;padding:.9rem 1rem;overflow-x:auto;border:1px solid var(--rule);border-radius:6px;background:var(--code-bg)!important;tab-size:2}pre.astro-code code{font-family:var(--font-mono)}pre.astro-code span[style*=token-comment]{font-style:italic}}@layer figures{:root{--plate-bg: var(--paper-raised);--ghost-stroke: 1.25px}:root[data-mode=dark]{--plate-bg: radial-gradient(120% 110% at 50% 108%, rgba(255, 248, 230, .075), transparent 62%), linear-gradient(var(--glow), var(--glow)), var(--paper)}@media(prefers-color-scheme:dark){:root:not([data-mode=light]){--plate-bg: radial-gradient(120% 110% at 50% 108%, rgba(255, 248, 230, .075), transparent 62%), linear-gradient(var(--glow), var(--glow)), var(--paper)}}.plate{position:relative;border:1px solid var(--rule);border-radius:8px;background:var(--plate-bg);container-type:inline-size}.plate-stage{padding:clamp(.75rem,2.5cqi,1.5rem)}.plate>figcaption{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;padding:.5rem .6rem .5rem 1rem;border-top:1px solid var(--rule)}.plate .fig-n{color:var(--ink)}.plate .fig-cap{color:var(--graphite-strong)}.plate .fig-tools{display:flex;gap:.25rem;margin-left:auto}.plate .fig-tools .btn{color:var(--graphite-strong)}.fig svg{overflow:visible}.fig .ax{stroke:var(--graphite);stroke-width:1;fill:none;vector-effect:non-scaling-stroke}.fig .grid{stroke:var(--rule);stroke-width:1;fill:none;vector-effect:non-scaling-stroke}.fig .ink{stroke:var(--ink);fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke}.fig .ink-fill{fill:var(--ink)}.fig .ghost{stroke:var(--blue-pencil);fill:none;stroke-width:var(--ghost-stroke);vector-effect:non-scaling-stroke}.fig .ghost-fill{fill:var(--blue-pencil)}.fig .path{stroke:var(--blue-pencil);fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke}.fig .path.dashed{stroke-dasharray:3 4}.fig .key{fill:var(--red-pencil)}.fig .key-stroke{stroke:var(--red-pencil);fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke}.fig .label{fill:var(--graphite-strong);font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;font-variant-numeric:tabular-nums;text-transform:none}.fig .label.upper{text-transform:uppercase;letter-spacing:.08em}.fig .label.ink-label{fill:var(--ink)}.fig .muted{opacity:.4}.fig svg :is(.grid,.ax,.label,.ghost,.cursor,.reveal-key){pointer-events:none}.fig .onion{opacity:0;transition:opacity var(--dur-quick) var(--ease-out)}.fig:hover .onion,.fig:focus-within .onion,.fig.show-onion .onion,.fig.is-still .onion{opacity:1}.readout{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--graphite-strong);font-variant-numeric:tabular-nums}.readout b{color:var(--ink);font-weight:500}.fig-row{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.fig-note{font-size:var(--text-sm);color:var(--graphite-strong);line-height:1.5}}@layer lab{.instrument{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr) minmax(300px,400px);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"params stage code" "time   time  code";border:1px solid var(--rule);border-radius:8px;background:var(--paper);min-height:520px}.instrument>.i-params{grid-area:params;border-right:1px solid var(--rule);padding:1rem;display:flex;flex-direction:column;gap:1.1rem;min-width:0}.instrument>.i-stage{grid-area:stage;position:relative;min-width:0;overflow:clip;background:var(--plate-bg)}.instrument>.i-time{grid-area:time;border-top:1px solid var(--rule);padding:.75rem 1rem 1rem;min-width:0}.instrument>.i-code{grid-area:code;border-left:1px solid var(--rule);min-width:0;display:flex;flex-direction:column}.instrument.no-code{grid-template-columns:minmax(220px,260px) minmax(0,1fr);grid-template-areas:"params stage" "time time"}.instrument.code-first{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto;grid-template-areas:"code stage" "code time" "code params"}.instrument.code-first>.i-code{border-left:0;border-right:1px solid var(--rule)}.instrument.code-first>.i-params{border-right:0;border-top:1px solid var(--rule);flex-direction:row;flex-wrap:wrap;align-items:flex-start}.instrument.code-first>.i-params>*{flex:1 1 200px}.instrument>.i-handle{display:none}@media(min-width:1180px){.instrument.stage-first{--float-gap: 1.25rem;--params-w: clamp(15rem, 18vw, 17.5rem);--code-w: clamp(19rem, 26vw, 25rem);--time-h: 3.25rem;position:relative;display:block;overflow:clip;border:0;border-radius:16px;background:var(--plate-bg)}.instrument.stage-first>.i-stage{z-index:0;display:flex;flex-direction:column;justify-content:safe center;box-sizing:border-box;min-height:inherit;height:100%;overflow:hidden auto;padding:var(--float-gap) calc(var(--code-w) + 2 * var(--float-gap)) calc(var(--time-h) + 2 * var(--float-gap)) calc(var(--params-w) + 2 * var(--float-gap));background:none;transition:padding-right var(--dur-base) var(--ease-inout)}.instrument.stage-first:is(.no-code,.code-away)>.i-stage{padding-right:calc(2 * var(--float-gap))}.instrument.stage-first>:is(.i-params,.i-code,.i-time){position:absolute;z-index:1;box-sizing:border-box;border:1px solid var(--rule);border-radius:12px;background:var(--paper-float);box-shadow:0 14px 34px -22px #00000059}.instrument.stage-first>:is(.i-params,.i-code){top:var(--float-gap);max-height:calc(100% - 2 * var(--float-gap));overflow-y:auto}.instrument.stage-first>.i-params{left:var(--float-gap);width:var(--params-w);padding:1rem 1.1rem;gap:1.1rem;background:linear-gradient(var(--paper-float) 30%,transparent) top / 100% 2.5rem no-repeat local,linear-gradient(transparent,var(--paper-float) 70%) bottom / 100% 2.5rem no-repeat local,linear-gradient(color-mix(in srgb,var(--ink) 12%,transparent),transparent) top / 100% .6rem no-repeat scroll,linear-gradient(transparent,color-mix(in srgb,var(--ink) 12%,transparent)) bottom / 100% .6rem no-repeat scroll,var(--paper-float)}.instrument.stage-first>.i-code{--code-head-start: 2rem;right:var(--float-gap);width:var(--code-w);height:calc(100% - 2 * var(--float-gap));overflow:hidden auto}.instrument.stage-first>.i-time{left:calc(var(--params-w) + 2 * var(--float-gap));right:calc(var(--code-w) + 2 * var(--float-gap));bottom:var(--float-gap);max-width:46rem;margin-inline:auto;padding:.3rem 1.1rem .3rem .5rem;border-radius:999px;transition:right var(--dur-base) var(--ease-inout)}.instrument.stage-first:is(.no-code,.code-away)>.i-time{right:calc(2 * var(--float-gap))}.instrument.stage-first .param-group+.param-group{border-top:0;padding-top:0}}.instrument .i-title{display:flex;align-items:baseline;gap:.5rem}.instrument .i-title .serif{font-size:1.35rem;line-height:1}.param-group{display:flex;flex-direction:column;gap:.65rem}.param-group+.param-group{border-top:1px solid var(--rule);padding-top:1rem}@media(max-width:1100px){.instrument{grid-template-columns:minmax(200px,240px) minmax(0,1fr);grid-template-areas:"params stage" "time time" "code code"}.instrument>.i-code{border-left:0;border-top:1px solid var(--rule)}}@media(max-width:900px){.instrument.code-first{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-template-areas:"stage" "time" "params" "code"}.instrument.code-first>.i-code{border-right:0;border-top:1px solid var(--rule);min-height:360px}}@media(max-width:720px){.instrument,.instrument.no-code{grid-template-columns:minmax(0,1fr);grid-template-areas:"stage" "time" "params" "code"}.instrument>.i-params{border-right:0;border-top:1px solid var(--rule)}.instrument>.i-stage{min-height:260px}}}@media(min-width:1180px){.instrument.stage-first{--code-away: calc(var(--code-w) - .5rem - 30px)}.instrument.stage-first>.i-code{transition:translate var(--dur-base) var(--ease-inout),opacity var(--dur-base) var(--ease-out),visibility var(--dur-base)}.instrument.stage-first.code-away>.i-code{translate:var(--code-away) 0;opacity:0;visibility:hidden;pointer-events:none;transition:translate var(--dur-base) var(--ease-inout),opacity var(--dur-base) var(--ease-in),visibility var(--dur-base)}.instrument.stage-first>.i-handle{display:inline-flex;position:absolute;z-index:2;top:calc(var(--float-gap) + .55rem);right:calc(var(--float-gap) + var(--code-away));border-color:transparent;transition:translate var(--dur-base) var(--ease-inout),background-color var(--dur-base) var(--ease-inout),border-color var(--dur-base) var(--ease-inout),box-shadow var(--dur-base) var(--ease-inout)}.instrument.stage-first.code-away>.i-handle{translate:var(--code-away) 0;border-color:var(--rule);background:var(--paper-float);box-shadow:0 10px 24px -16px #00000059}.instrument.stage-first>.i-handle .chev{transform-box:fill-box;transform-origin:center;transition:rotate var(--dur-base) var(--ease-inout)}.instrument.stage-first.code-away>.i-handle .chev{rotate:180deg}}@media(min-width:1180px)and (prefers-reduced-motion:reduce){.instrument.stage-first>:is(.i-code,.i-handle){transition-property:opacity,visibility,background-color,border-color,box-shadow}.instrument.stage-first>.i-handle .chev{transition:none}}@media(min-width:1180px){:root[data-motion=reduce] .instrument.stage-first>:is(.i-code,.i-handle){transition-property:opacity,visibility,background-color,border-color,box-shadow}:root[data-motion=reduce] .instrument.stage-first>.i-handle .chev{transition:none}}@media(min-width:1180px){.instrument.stage-first>.i-time .timebar{flex-wrap:nowrap}.instrument.stage-first>.i-time .track{order:0;flex-basis:auto}}@property --ph{syntax: "<number>"; inherits: true; initial-value: 0;}@layer motion{[data-motion=fade]{transition:opacity var(--dur-quick) var(--ease-out);@starting-style{opacity:0}}[data-motion=rise]{transition:opacity var(--dur-base) var(--ease-out),translate var(--dur-base) var(--ease-out);@starting-style{opacity:0;translate:0 var(--dist-rise)}}[data-motion=nudge]{transition:opacity var(--dur-quick) var(--ease-out),translate var(--dur-quick) var(--ease-out);@starting-style{opacity:0;translate:0 calc(-1 * var(--dist-nudge))}}[data-motion=scale-in]{transition:opacity var(--dur-quick) var(--ease-out),scale var(--spring-snappy-dur) var(--spring-snappy);@starting-style{opacity:0;scale:var(--scale-from, .96)}}html.js .plate[data-reveal]:not(.is-revealed) .reveal-axes{stroke-dashoffset:1}html.js .plate[data-reveal]:not(.is-revealed) .reveal-ghosts{opacity:0}html.js .plate[data-reveal]:not(.is-revealed) .reveal-key{opacity:0;translate:0 calc(-1 * var(--dist-nudge))}.plate .reveal-axes{stroke-dasharray:1 2;stroke-dashoffset:0}.plate.is-revealed .reveal-axes{transition:stroke-dashoffset var(--dur-scene) var(--ease-out)}.plate.is-revealed .reveal-ghosts{transition:opacity var(--dur-base) var(--ease-out) var(--dur-base)}.plate.is-revealed .reveal-key{transition:opacity var(--dur-quick) var(--ease-out) var(--dur-scene),translate var(--spring-soft-dur) var(--spring-soft) var(--dur-scene)}@keyframes ib-cut-out{to{opacity:0}}@keyframes ib-cut-in{0%{opacity:0;translate:0 var(--dist-rise)}}@media(prefers-reduced-motion:reduce){::view-transition-old(page){animation:ib-cut-out var(--dur-base-exit) var(--ease-in) both!important}::view-transition-new(page){animation:ib-cut-in var(--dur-base) var(--ease-out) calc(var(--dur-base-exit) * .5) both!important}}.ink-words{display:inline}.ink-w{display:inline-block;overflow:visible}.ink-g{fill:currentColor;stroke:var(--blue-pencil);stroke-width:var(--pen, 24);stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1 1;stroke-opacity:0;paint-order:stroke}@keyframes ib-pen{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes ib-ink{0%{fill-opacity:0;stroke-opacity:1}to{fill-opacity:1;stroke-opacity:0}}@media(prefers-reduced-motion:no-preference){:root.js:not([data-motion=reduce]) .ink-h:not(.is-in) .ink-g{stroke-dashoffset:1;fill-opacity:0;stroke-opacity:1}:root.js:not([data-motion=reduce]) .ink-h.is-in .ink-g{animation:ib-pen calc(var(--dur-scene) * 1.2) var(--ease-inout) calc(var(--ink-start, 0s) + var(--k) * var(--dur-scene) * 1.4) both,ib-ink calc(var(--dur-base) * 1.6) var(--ease-out) calc(var(--ink-start, 0s) + var(--dur-scene) + var(--k) * var(--dur-scene) * 1.4) both}}.rl-mask{display:block;clip-path:inset(-.5em -1em 0 -1em)}.rl-line{display:block}@media(prefers-reduced-motion:no-preference){:root.js:not([data-motion=reduce]) [data-reveal-lines]:not(.is-in) :is([data-lines],figcaption),:root.js:not([data-motion=reduce]) [data-reveal-lines][data-lines]:not(.is-in),:root.js:not([data-motion=reduce]) [data-reveal-block]:not(.is-in){opacity:0}}:root{--band: 30vh;--persp-dx: 0px}@keyframes ib-unroll{0%{transform:translate(var(--persp-dx),calc(var(--band) * -1)) perspective(900px) translate(calc(-1 * var(--persp-dx)),calc(var(--band) * 1)) translateY(calc(var(--band) * -.0638)) translateZ(calc(var(--band) * -.3025)) rotateX(-.625rad);opacity:.2}10%{transform:translate(var(--persp-dx),calc(var(--band) * -.9)) perspective(900px) translate(calc(-1 * var(--persp-dx)),calc(var(--band) * .9)) translateY(calc(var(--band) * -.0467)) translateZ(calc(var(--band) * -.2465)) rotateX(-.5625rad);opacity:.36}20%{transform:translate(var(--persp-dx),calc(var(--band) * -.8)) perspective(900px) translate(calc(-1 * var(--persp-dx)),calc(var(--band) * .8)) translateY(calc(var(--band) * -.0329)) translateZ(calc(var(--band) * -.1959)) rotateX(-.5rad);opacity:.52}30%{transform:translate(var(--persp-dx),calc(var(--band) * -.7)) perspective(900px) translate(calc(-1 * var(--persp-dx)),calc(var(--band) * .7)) translateY(calc(var(--band) * -.0221)) translateZ(calc(var(--band) * -.1507)) rotateX(-.4375rad);opacity:.68}40%{transform:translate(var(--persp-dx),calc(var(--band) * -.6)) perspective(900px) translate(calc(-1 * var(--persp-dx)),calc(var(--band) * .6)) translateY(calc(var(--band) * -.014)) translateZ(calc(var(--band) * -.1112)) rotateX(-.375rad);opacity:.84}50%{transform:translate(var(--persp-dx),calc(var(--band) * -.5)) perspective(900px) translate(calc(-1 * var(--persp-dx)),calc(var(--band) * .5)) translateY(calc(var(--band) * -.0081)) translateZ(calc(var(--band) * -.0775)) rotateX(-.3125rad);opacity:1}60%{transform:translate(var(--persp-dx),calc(var(--band) * -.4)) perspective(900px) translate(calc(-1 * var(--persp-dx)),calc(var(--band) * .4)) translateY(calc(var(--band) * -.0042)) translateZ(calc(var(--band) * -.0497)) rotateX(-.25rad);opacity:1}70%{transform:translate(var(--persp-dx),calc(var(--band) * -.3)) perspective(900px) translate(calc(-1 * var(--persp-dx)),calc(var(--band) * .3)) translateY(calc(var(--band) * -.0018)) translateZ(calc(var(--band) * -.028)) rotateX(-.1875rad);opacity:1}80%{transform:translate(var(--persp-dx),calc(var(--band) * -.2)) perspective(900px) translate(calc(-1 * var(--persp-dx)),calc(var(--band) * .2)) translateY(calc(var(--band) * -.0005)) translateZ(calc(var(--band) * -.0125)) rotateX(-.125rad);opacity:1}90%{transform:translate(var(--persp-dx),calc(var(--band) * -.1)) perspective(900px) translate(calc(-1 * var(--persp-dx)),calc(var(--band) * .1)) translateY(calc(var(--band) * -.0001)) translateZ(calc(var(--band) * -.0031)) rotateX(-.0625rad);opacity:1}to{transform:none;opacity:1}}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){:root:not([data-motion=reduce]) :is([data-persp]>*,[data-persp-self]){transform-origin:50% 0;animation:ib-unroll linear both;animation-timeline:view();animation-range:cover 0px cover var(--band)}}}.foot-rule{position:relative;container-type:inline-size}.foot-rule:before,.foot-rule:after{content:"";position:absolute;bottom:0;pointer-events:none}.foot-rule:before{left:0;right:0;height:14px;background:linear-gradient(to right,color-mix(in srgb,var(--ink) 50%,transparent) 1px,transparent 1px) 0 100% / 40px 14px repeat-x,linear-gradient(to right,color-mix(in srgb,var(--ink) 34%,transparent) 1px,transparent 1px) 0 100% / 8px 9px repeat-x;-webkit-mask:linear-gradient(to right,transparent 0,#000 110px,#000 128px,transparent 140px) no-repeat;mask:linear-gradient(to right,transparent 0,#000 110px,#000 128px,transparent 140px) no-repeat;-webkit-mask-size:140px 100%;mask-size:140px 100%;-webkit-mask-position:calc(var(--ph) * 100cqw - 128px) 0;mask-position:calc(var(--ph) * 100cqw - 128px) 0}.foot-rule:after{left:-4px;width:8px;height:16px;background:radial-gradient(circle at 50% 4px,var(--red-pencil) 3.5px,transparent 4px),linear-gradient(var(--red-pencil),var(--red-pencil)) 50% 100% / 2px 12px no-repeat;translate:calc(var(--ph) * 100cqw) 0;animation:ib-playhead-fade calc(var(--dur-scene) * 25) linear infinite}@media(prefers-reduced-motion:no-preference){:root:not([data-motion=reduce]) .foot-rule{animation:ib-playhead calc(var(--dur-scene) * 25) linear infinite}}html.js .foot-rule:not([data-playing]),html.js .foot-rule:not([data-playing]):after{animation-play-state:paused}:root[data-motion=reduce] .foot-rule:before,:root[data-motion=reduce] .foot-rule:after{display:none}@media(prefers-reduced-motion:reduce){:root:not([data-motion=full]) .foot-rule:before,:root:not([data-motion=full]) .foot-rule:after{display:none}}@keyframes ib-playhead{0%{--ph: 0}to{--ph: 1}}@media print{[data-reveal-block],[data-reveal-lines],[data-lines],[data-reveal-lines] figcaption,.rl-line,.reveal-ghosts,.reveal-key,[data-persp]>*,[data-persp-self]{opacity:1!important;translate:none!important;transform:none!important;animation:none!important}.ink-g{animation:none!important;stroke-dashoffset:0!important;fill-opacity:1!important;stroke-opacity:0!important}.reveal-axes{stroke-dashoffset:0!important}.foot-rule:before,.foot-rule:after{display:none!important}}@keyframes ib-playhead-fade{0%{opacity:0}4%{opacity:1}94%{opacity:1}to{opacity:0}}::view-transition-group(nav-ink){animation-duration:var(--dur-base);animation-timing-function:var(--ease-inout)}::view-transition-old(nav-ink){display:none}::view-transition-new(nav-ink){animation:none}@keyframes ib-flash{0%{background-color:color-mix(in srgb,var(--red-pencil) 28%,transparent);color:var(--red-pencil)}to{background-color:transparent}}:root[data-motion=reduce]{--scale-from: 1}:root[data-motion=reduce] .plate .reveal-axes{transition:none!important}:root[data-motion=reduce] .plate .reveal-key{translate:none!important}@media(prefers-reduced-motion:reduce){:root:not([data-motion=full]){--scale-from: 1}:root:not([data-motion=full]) .plate .reveal-axes{transition:none!important}:root:not([data-motion=full]) .plate .reveal-key{translate:none!important}}}:root[data-theme] .frame{background-image:var(--art);background-size:var(--art-size)}:root[data-theme] :is(.btn,.lab-btn,.pf-field,.tip,.inspector,.journal-form,.words){border-radius:var(--radius-s)}:root[data-theme] .seg{border-radius:calc(var(--radius-s) + 2px)}:root[data-theme] .seg>button,:root[data-theme] .seg:before{border-radius:calc(var(--radius-s) - 1px)}:root[data-theme] :is(.plate,.drill-plate,.snippet,pre.astro-code,.prose pre,.instrument,.prefs,.pf-menu){border-radius:var(--radius-m)}:root[data-theme] .drills>.item{border-radius:var(--radius-m)}:root[data-theme] .instrument.stage-first{border-radius:var(--radius-l)}:root[data-theme] .instrument.stage-first>:is(.i-params,.i-code){border-radius:var(--radius-m);background-color:var(--paper-float);border-color:var(--outline);box-shadow:var(--shadow-float);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}:root[data-theme] .instrument.stage-first>.i-time{background-color:var(--paper-float);border-color:var(--outline);box-shadow:var(--shadow-float);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}:root[data-theme=glassy] :is(.plate,.drill-plate,.snippet,.journal-form,.bench-item,.drills>.item.open,.instrument:not(.stage-first),.inspector){border-color:var(--outline);background-color:var(--paper-raised);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow-card)}:root[data-theme=glassy] .instrument.stage-first{background:var(--paper-raised);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow-card)}:root[data-theme=glassy] .btn.solid{box-shadow:0 8px 20px -10px color-mix(in srgb,var(--ink) 60%,transparent)}:root[data-theme=glassy] .bench-list{gap:1rem;border:0}:root[data-theme=glassy] .bench-item{border:var(--line) solid var(--outline);border-radius:var(--radius-m)}:root[data-theme=mono] :is(.smallcaps,.label,.cap){text-transform:lowercase;letter-spacing:0}:root[data-theme=mono] .seg>button[aria-pressed=true]{box-shadow:inset 0 -2px 0 var(--blue-pencil)}:root[data-theme=mono] .seg[data-seg]:before{box-shadow:inset 0 -2px 0 var(--blue-pencil)}:root[data-theme=mono] .btn.solid{background:#1f883d;border-color:#1f232826;color:#fff}:root[data-theme=mono][data-mode=dark] .btn.solid{background:#238636;border-color:#f0f6fc1a}@media(prefers-color-scheme:dark){:root[data-theme=mono]:not([data-mode=light]) .btn.solid{background:#238636;border-color:#f0f6fc1a}}:root[data-theme=cartoon] :is(h1,h2,h3,.serif,.pf-name){font-weight:600}:root[data-theme=cartoon] :is(.plate,.drill-plate,.snippet,.journal-form,.bench-item,.drills>.item.open,.instrument:not(.stage-first),.instrument.stage-first>:is(.i-params,.i-code,.i-time),.prefs,.pf-menu,.inspector){border:var(--line) solid var(--outline);box-shadow:var(--shadow-card)}:root[data-theme=cartoon] :is(.prefs,.pf-menu){box-shadow:var(--shadow-float)}:root[data-theme=cartoon] .instrument.stage-first{border:var(--line) solid var(--outline);box-shadow:var(--shadow-card)}:root[data-theme=cartoon] :is(.btn,.lab-btn,.pf-field,.seg){border:var(--line) solid var(--outline)}:root[data-theme=cartoon] :is(.btn,.lab-btn){box-shadow:2px 2px 0 var(--outline);font-weight:700}:root[data-theme=cartoon] :is(.btn,.lab-btn):active{translate:2px 2px;box-shadow:0 0 0 var(--outline)}:root[data-theme=cartoon] .btn.ghost{border-color:transparent;box-shadow:none}:root[data-theme=cartoon] .btn.solid{background:var(--red-pencil);color:#fff}:root[data-theme=cartoon] .chip{border:1.5px solid var(--outline);font-weight:700}:root[data-theme=cartoon] .seg[data-seg]:before{background:color-mix(in srgb,var(--blue-pencil) 22%,transparent)}:root[data-theme=cartoon] .bench-list{gap:1.1rem;border:0}:root[data-theme=cartoon] .bench-item{border-radius:var(--radius-m);background:var(--paper-raised)}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.prefs[data-astro-cid-ct5h2bod]{position:fixed;inset:auto;top:calc(var(--header-h) - 6px);right:var(--gutter);margin:0;width:min(352px,calc(100vw - 2 * var(--gutter)));padding:1.1rem 1.1rem 1rem;border:var(--line) solid var(--outline);border-radius:var(--radius-m);background:var(--paper-float);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);color:var(--ink);box-shadow:var(--shadow-float);font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:normal;text-transform:none;overflow:visible;display:none;flex-direction:column;gap:1.1rem;opacity:0;translate:0 calc(-1 * var(--dist-nudge));transition:opacity var(--dur-quick-exit) var(--ease-in),translate var(--dur-quick-exit) var(--ease-in),display var(--dur-quick-exit) allow-discrete,overlay var(--dur-quick-exit) allow-discrete}.prefs[data-astro-cid-ct5h2bod]:popover-open{display:flex;opacity:1;translate:0 0;transition:opacity var(--dur-quick) var(--ease-out),translate var(--dur-quick) var(--ease-out),display var(--dur-quick) allow-discrete,overlay var(--dur-quick) allow-discrete}@starting-style{.prefs[data-astro-cid-ct5h2bod]:popover-open{opacity:0;translate:0 calc(-1 * var(--dist-nudge))}}.pf[data-astro-cid-ct5h2bod]{display:flex;flex-direction:column;gap:.55rem}.pf-row[data-astro-cid-ct5h2bod]{flex-direction:row;align-items:center;justify-content:space-between;gap:1rem}.pf-col[data-astro-cid-ct5h2bod]{display:flex;flex-direction:column;gap:.2rem}.pf-label[data-astro-cid-ct5h2bod]{font-family:var(--font-display);font-size:.875rem;font-weight:500}.pf-note[data-astro-cid-ct5h2bod]{font-size:.72rem;line-height:1.5;color:var(--graphite-strong)}.pf-note[data-astro-cid-ct5h2bod]:empty{display:none}.pf-select[data-astro-cid-ct5h2bod]{position:relative}.pf-field[data-astro-cid-ct5h2bod]{display:flex;align-items:center;gap:.65rem;width:100%;min-height:44px;box-sizing:border-box;padding:.35rem .75rem .35rem .5rem;border:var(--line) solid var(--rule);border-radius:var(--radius-s);background:var(--paper-raised);color:var(--ink);text-align:left;transition:border-color var(--dur-quick) var(--ease-out)}.pf-field[data-astro-cid-ct5h2bod]:hover,.pf-field[data-astro-cid-ct5h2bod][aria-expanded=true]{border-color:var(--graphite)}.pf-now[data-astro-cid-ct5h2bod]{display:flex;flex-direction:column;gap:.1rem;min-width:0}.pf-name[data-astro-cid-ct5h2bod]{font-family:var(--font-display);font-size:.95rem;font-weight:500;line-height:1.15}.pf-fonts[data-astro-cid-ct5h2bod]{font-family:var(--font-mono);font-size:.66rem;color:var(--graphite)}.pf-chev[data-astro-cid-ct5h2bod]{width:14px;height:14px;margin-left:auto;flex:none;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:rotate var(--dur-quick) var(--ease-out)}.pf-field[data-astro-cid-ct5h2bod][aria-expanded=true] .pf-chev[data-astro-cid-ct5h2bod]{rotate:180deg}.pf-menu[data-astro-cid-ct5h2bod]{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:2;display:flex;flex-direction:column;gap:2px;padding:5px;border:var(--line) solid var(--outline);border-radius:var(--radius-m);background:linear-gradient(var(--paper-float),var(--paper-float)),var(--paper);box-shadow:var(--shadow-float);outline:none}.pf-menu[data-astro-cid-ct5h2bod][hidden]{display:none}.pf-menu[data-astro-cid-ct5h2bod]:not([hidden]){animation:pf-in var(--dur-quick) var(--ease-out) both}@keyframes pf-in{0%{opacity:0;translate:0 calc(-1 * var(--dist-rise))}}.pf-opt[data-astro-cid-ct5h2bod]{display:flex;align-items:flex-start;gap:.65rem;padding:.55rem .6rem;border-radius:var(--radius-s);cursor:pointer;transition:background-color var(--dur-instant) var(--ease-out)}.pf-opt[data-astro-cid-ct5h2bod]:hover,.pf-opt[data-astro-cid-ct5h2bod].is-active{background:color-mix(in srgb,var(--ink) 6%,transparent)}.pf-menu[data-astro-cid-ct5h2bod]:focus-visible .pf-opt[data-astro-cid-ct5h2bod].is-active{box-shadow:inset 0 0 0 1px var(--blue-pencil)}.pf-opt[data-astro-cid-ct5h2bod] .swatch[data-astro-cid-ct5h2bod]{margin-top:1px}.pf-text[data-astro-cid-ct5h2bod]{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.pf-opt[data-astro-cid-ct5h2bod] .pf-note[data-astro-cid-ct5h2bod]{margin-top:.15rem;font-size:.68rem}.pf-check[data-astro-cid-ct5h2bod]{width:14px;height:14px;margin-top:2px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;visibility:hidden}.pf-opt[data-astro-cid-ct5h2bod][aria-selected=true] .pf-check[data-astro-cid-ct5h2bod]{visibility:visible}.swatch[data-astro-cid-ct5h2bod]{display:inline-flex;align-items:center;gap:3px;flex:none;height:22px;padding:0 6px;border-radius:5px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 14%,transparent);background:var(--l-paper)}.swatch[data-astro-cid-ct5h2bod] i[data-astro-cid-ct5h2bod]{width:7px;height:7px;border-radius:50%}.swatch[data-astro-cid-ct5h2bod] i[data-astro-cid-ct5h2bod]:nth-child(1){background:var(--l-ink)}.swatch[data-astro-cid-ct5h2bod] i[data-astro-cid-ct5h2bod]:nth-child(2){background:var(--l-blue)}.swatch[data-astro-cid-ct5h2bod] i[data-astro-cid-ct5h2bod]:nth-child(3){background:var(--l-red)}:root[data-mode=dark] .swatch[data-astro-cid-ct5h2bod]{background:var(--d-paper)}:root[data-mode=dark] .swatch[data-astro-cid-ct5h2bod] i[data-astro-cid-ct5h2bod]:nth-child(1){background:var(--d-ink)}:root[data-mode=dark] .swatch[data-astro-cid-ct5h2bod] i[data-astro-cid-ct5h2bod]:nth-child(2){background:var(--d-blue)}:root[data-mode=dark] .swatch[data-astro-cid-ct5h2bod] i[data-astro-cid-ct5h2bod]:nth-child(3){background:var(--d-red)}@media(prefers-color-scheme:dark){:root:not([data-mode=light]) .swatch[data-astro-cid-ct5h2bod]{background:var(--d-paper)}:root:not([data-mode=light]) .swatch[data-astro-cid-ct5h2bod] i[data-astro-cid-ct5h2bod]:nth-child(1){background:var(--d-ink)}:root:not([data-mode=light]) .swatch[data-astro-cid-ct5h2bod] i[data-astro-cid-ct5h2bod]:nth-child(2){background:var(--d-blue)}:root:not([data-mode=light]) .swatch[data-astro-cid-ct5h2bod] i[data-astro-cid-ct5h2bod]:nth-child(3){background:var(--d-red)}}.prefs[data-astro-cid-ct5h2bod] .seg[data-astro-cid-ct5h2bod]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px}.prefs[data-astro-cid-ct5h2bod] .seg[data-astro-cid-ct5h2bod]>button[data-astro-cid-ct5h2bod]{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:30px;font-family:var(--font-body);font-size:.8rem;letter-spacing:0}.prefs[data-astro-cid-ct5h2bod] .seg[data-astro-cid-ct5h2bod] svg[data-astro-cid-ct5h2bod]{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.prefs[data-astro-cid-ct5h2bod] .seg[data-astro-cid-ct5h2bod] svg[data-astro-cid-ct5h2bod] .f[data-astro-cid-ct5h2bod]{fill:currentColor;stroke:none}.pf-switch[data-astro-cid-ct5h2bod]{position:relative;flex:none;width:40px;height:23px;border-radius:999px;background:color-mix(in srgb,var(--ink) 14%,transparent);transition:background-color var(--dur-quick) var(--ease-out)}.pf-switch[data-astro-cid-ct5h2bod]:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:var(--paper-float);box-shadow:0 1px 3px #00000040;transition:translate var(--spring-snappy-dur) var(--spring-snappy)}.pf-switch[data-astro-cid-ct5h2bod][aria-checked=true]{background:var(--ink)}.pf-switch[data-astro-cid-ct5h2bod][aria-checked=true]:after{translate:17px 0;background:var(--paper)}.prefs-hint[data-astro-cid-ct5h2bod]{display:flex;align-items:center;gap:.6rem;padding-top:.85rem;border-top:1px solid var(--rule);font-size:.72rem;line-height:1.45;color:var(--graphite-strong)}.prefs-hint[data-astro-cid-ct5h2bod] kbd[data-astro-cid-ct5h2bod]{flex:none}@media(max-width:520px){.pref-label[data-astro-cid-ct5h2bod]{display:none}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}.ch-ruler[data-astro-cid-mg6opkl6]{display:none}@media(min-width:1000px){.ch-ruler[data-astro-cid-mg6opkl6]{display:block;position:absolute;z-index:15;left:2px;top:calc(var(--header-h) + 1.5rem);bottom:1.5rem;width:30px}}.ch-ruler[data-astro-cid-mg6opkl6] ol[data-astro-cid-mg6opkl6]{list-style:none;margin:0;padding:0;height:100%;display:flex;flex-direction:column}.ch-ruler[data-astro-cid-mg6opkl6] li[data-astro-cid-mg6opkl6]{flex:1;min-height:0}.cr-tick[data-astro-cid-mg6opkl6]{position:relative;display:block;height:100%;width:100%;outline-offset:-2px}.cr-tick[data-astro-cid-mg6opkl6]:before{content:"";position:absolute;left:5px;top:50%;width:7px;height:1px;background:var(--graphite);opacity:.7;transition:width var(--dur-quick) var(--ease-out),background var(--dur-quick) var(--ease-out)}.cr-tick[data-astro-cid-mg6opkl6].cr-part:before{width:12px;opacity:1}.cr-tick[data-astro-cid-mg6opkl6][aria-current=page]:before{width:12px;background:var(--ink);opacity:1}.cr-tick[data-astro-cid-mg6opkl6]:is(:hover,:focus-visible):before{width:18px;background:var(--blue-pencil);opacity:1}.cr-label[data-astro-cid-mg6opkl6]{position:absolute;left:34px;top:50%;translate:calc(-1 * var(--dist-nudge)) -50%;opacity:0;pointer-events:none;white-space:nowrap;padding:.3rem .65rem;background:var(--paper-raised);border:1px solid var(--rule);border-radius:4px;box-shadow:0 2px 10px #00000014;font-family:var(--font-display);font-weight:500;font-size:.875rem;color:var(--ink);transition:opacity var(--dur-quick) var(--ease-out),translate var(--dur-quick) var(--ease-out)}.cr-n[data-astro-cid-mg6opkl6]{font-family:var(--font-mono);font-weight:400;font-size:.6875rem;color:var(--graphite);margin-right:.45rem;font-variant-numeric:tabular-nums}.cr-tick[data-astro-cid-mg6opkl6]:is(:hover,:focus-visible) .cr-label[data-astro-cid-mg6opkl6]{opacity:1;translate:0 -50%}.cr-head[data-astro-cid-mg6opkl6]{position:absolute;left:1px;top:0;width:19px;height:2px;border-radius:1px;background:var(--red-pencil);translate:0 var(--y, 0px);pointer-events:none}.cr-head[data-astro-cid-mg6opkl6]:after{content:"";position:absolute;right:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--red-pencil)}.cr-spine[data-astro-cid-mg6opkl6]{position:absolute;left:15px;top:0;writing-mode:vertical-rl;white-space:nowrap;font-family:var(--font-mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite-strong);pointer-events:none;translate:0 calc(var(--y, 0px) + 12px)}.cr-spine[data-astro-cid-mg6opkl6].is-up{translate:0 calc(var(--y, 0px) - 100% - 10px)}.cr-spine-n[data-astro-cid-mg6opkl6]{color:var(--red-pencil);margin-inline-end:.7em}.cr-spine[data-astro-cid-mg6opkl6]{transition:opacity var(--dur-quick) var(--ease-out)}.ch-ruler[data-astro-cid-mg6opkl6]:has(.cr-tick:is(:hover,:focus-visible)) .cr-spine[data-astro-cid-mg6opkl6]{opacity:.25}.ch-ruler[data-astro-cid-mg6opkl6].is-moving [data-astro-cid-mg6opkl6]:is(.cr-head,.cr-spine){transition:translate var(--dur-scene) var(--ease-inout),opacity var(--dur-quick) var(--ease-out)}@media(prefers-reduced-motion:reduce){.ch-ruler[data-astro-cid-mg6opkl6].is-moving [data-astro-cid-mg6opkl6]:is(.cr-head,.cr-spine){transition:none}}.dial.svelte-1xxxc0{--d: clamp(340px, 58vw, 740px);--wheel-hi: #fffdf8;--wheel-lo: #ebe6da;--plate: #eee9dd;--plate-ink: #1b1b1f;--plate-letters: #8c867a;--card: #fbf9f3;--card-ink: #16161a;--card-muted: #8a8880;--gloss: rgb(255 255 255 / .75);--glass: rgb(255 255 255 / .55);--card-edge: rgb(40 30 20 / .16);--shade: rgb(40 30 20 / .3);--well: rgb(40 30 20 / .32);--bevel-light: rgb(255 255 255 / .95);--bevel-dark: rgb(60 45 30 / .3);--tick: rgb(40 36 30 / .5);--metal: repeating-radial-gradient(circle at 50% 50%, rgb(255 255 255 / .07) 0 1px, rgb(0 0 0 / .025) 1px 2px), conic-gradient(from 0deg at 50% 50%, #d4cfc5, #f8f6f1 40deg, #d8d3c9 85deg, #efece5 130deg, #cdc8be 180deg, #efece5 230deg, #d8d3c9 275deg, #f8f6f1 320deg, #d4cfc5);--body-shadow: 0 18px 40px -22px rgb(40 30 20 / .45), 0 1px 0 rgb(255 255 255 / .8) inset;position:relative;flex:none;align-self:center;margin-top:auto;width:var(--d);height:calc(var(--d) / 2);overflow:hidden;outline:none}:root[data-mode=dark] .dial.svelte-1xxxc0{--wheel-hi: #2c2d32;--wheel-lo: #111215;--plate: #0c0d0f;--plate-ink: #e6e2d8;--plate-letters: #7d796f;--card: #17181b;--card-ink: #e6e2d8;--card-muted: #85817a;--gloss: rgb(255 255 255 / .16);--glass: rgb(255 255 255 / .09);--card-edge: rgb(0 0 0 / .55);--shade: rgb(0 0 0 / .75);--well: rgb(0 0 0 / .5);--bevel-light: rgb(255 255 255 / .22);--bevel-dark: rgb(0 0 0 / .7);--tick: rgb(236 234 228 / .42);--metal: repeating-radial-gradient(circle at 50% 50%, rgb(255 255 255 / .035) 0 1px, rgb(0 0 0 / .05) 1px 2px), conic-gradient(from 0deg at 50% 50%, #26272b, #4b4c52 40deg, #2b2c30 85deg, #404146 130deg, #232428 180deg, #404146 230deg, #2b2c30 275deg, #4b4c52 320deg, #26272b);--body-shadow: 0 18px 40px -20px rgb(0 0 0 / .8), 0 1px 0 rgb(255 255 255 / .08) inset}@media(prefers-color-scheme:dark){:root:not([data-mode=light]) .dial.svelte-1xxxc0{--wheel-hi: #2c2d32;--wheel-lo: #111215;--plate: #0c0d0f;--plate-ink: #e6e2d8;--plate-letters: #7d796f;--card: #17181b;--card-ink: #e6e2d8;--card-muted: #85817a;--gloss: rgb(255 255 255 / .16);--glass: rgb(255 255 255 / .09);--card-edge: rgb(0 0 0 / .55);--shade: rgb(0 0 0 / .75);--well: rgb(0 0 0 / .5);--bevel-light: rgb(255 255 255 / .22);--bevel-dark: rgb(0 0 0 / .7);--tick: rgb(236 234 228 / .42);--metal: repeating-radial-gradient(circle at 50% 50%, rgb(255 255 255 / .035) 0 1px, rgb(0 0 0 / .05) 1px 2px), conic-gradient(from 0deg at 50% 50%, #26272b, #4b4c52 40deg, #2b2c30 85deg, #404146 130deg, #232428 180deg, #404146 230deg, #2b2c30 275deg, #4b4c52 320deg, #26272b);--body-shadow: 0 18px 40px -20px rgb(0 0 0 / .8), 0 1px 0 rgb(255 255 255 / .08) inset}}.body.svelte-1xxxc0{position:absolute;left:0;top:0;width:var(--d);height:var(--d);border-radius:50%;background:var(--metal);box-shadow:var(--body-shadow)}svg.svelte-1xxxc0{position:relative;display:block;width:var(--d);height:var(--d);overflow:visible;user-select:none;-webkit-user-select:none}.shade.svelte-1xxxc0{flood-color:var(--shade)}.s-clear.svelte-1xxxc0{stop-color:#fff;stop-opacity:0}.s-wheel-hi.svelte-1xxxc0{stop-color:var(--wheel-hi)}.s-wheel-lo.svelte-1xxxc0{stop-color:var(--wheel-lo)}.s-bevel-light.svelte-1xxxc0{stop-color:var(--bevel-light)}.s-bevel-dark.svelte-1xxxc0{stop-color:var(--bevel-dark)}.s-well.svelte-1xxxc0{stop-color:var(--well)}.s-gloss.svelte-1xxxc0{stop-color:var(--gloss)}.s-glass.svelte-1xxxc0{stop-color:var(--glass)}.s-card-edge.svelte-1xxxc0{stop-color:var(--card-edge)}.s-enamel-hi.svelte-1xxxc0{stop-color:color-mix(in srgb,var(--red-pencil) 60%,white)}.s-enamel.svelte-1xxxc0{stop-color:var(--red-pencil)}.s-enamel-lo.svelte-1xxxc0{stop-color:color-mix(in srgb,var(--red-pencil) 72%,black)}.bezel-edge.svelte-1xxxc0{fill:none;stroke:url(#dl-convex);stroke-width:1.5}.dial.svelte-1xxxc0:focus-visible .bezel-edge:where(.svelte-1xxxc0){stroke:var(--blue-pencil);stroke-width:2.5}.bezel-gap.svelte-1xxxc0{fill:none;stroke:var(--bevel-dark);stroke-width:1.5;pointer-events:none}.tick.svelte-1xxxc0{stroke:var(--tick);stroke-width:1;opacity:.6}.tick.major.svelte-1xxxc0{opacity:1}.plate.svelte-1xxxc0{fill:var(--plate)}.digit.svelte-1xxxc0{fill:var(--plate-ink);font-family:var(--font-display);font-weight:500;font-size:19px;text-anchor:middle}.letters.svelte-1xxxc0{fill:var(--plate-letters);font-family:var(--font-mono);font-size:6px;letter-spacing:.08em;text-anchor:middle}.well.svelte-1xxxc0,.lit.svelte-1xxxc0,.lip.svelte-1xxxc0{pointer-events:none}.lip.svelte-1xxxc0{fill:none;stroke-width:1.5}.gloss-soft.svelte-1xxxc0{opacity:.35}.hit.svelte-1xxxc0{fill:transparent;cursor:grab}.ring.svelte-1xxxc0{fill:var(--plate-ink);fill-opacity:0;stroke:var(--plate-ink);stroke-width:1.75;stroke-opacity:0;pointer-events:none;transition:stroke-opacity var(--dur-quick) var(--ease-out),fill-opacity var(--dur-quick) var(--ease-out)}@media(hover:hover){.hole.svelte-1xxxc0:hover .ring:where(.svelte-1xxxc0){stroke-opacity:.22}}.hole.held.svelte-1xxxc0 .ring:where(.svelte-1xxxc0){stroke-opacity:.55;fill-opacity:.07}.grabbing.svelte-1xxxc0,.grabbing.svelte-1xxxc0 .hit:where(.svelte-1xxxc0){cursor:grabbing}.stop-shine.svelte-1xxxc0{stroke:#ffffff8c;stroke-width:1.1;stroke-linecap:round;fill:none}.screw.svelte-1xxxc0{fill:color-mix(in srgb,var(--red-pencil) 55%,black);stroke:#ffffff40;stroke-width:.6}.screw-slot.svelte-1xxxc0{stroke:#0000008c;stroke-width:.8;stroke-linecap:round}.card-face.svelte-1xxxc0{fill:var(--card)}.grain.svelte-1xxxc0,.cover.svelte-1xxxc0{pointer-events:none}.card-rule.svelte-1xxxc0{fill:none;stroke:color-mix(in srgb,var(--card-ink) 14%,transparent);stroke-width:.75}.retainer.svelte-1xxxc0{fill:none;stroke-width:3;pointer-events:none}.card.svelte-1xxxc0 text:where(.svelte-1xxxc0){text-anchor:middle;font-family:var(--font-mono);pointer-events:none}.card-number.svelte-1xxxc0{fill:var(--card-ink);font-size:20px;letter-spacing:.12em;font-variant-numeric:tabular-nums}.card-number.empty.svelte-1xxxc0{fill:var(--card-muted)}.card-hint.svelte-1xxxc0{fill:var(--card-muted);font-size:7px;letter-spacing:.04em}.card.can-clear.svelte-1xxxc0{cursor:pointer}
