@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/62492e45f348cf87-s.200fngwr9-1p7.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/8f9704ed0c18c9e0-s.1takx9ikz9d70.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/c73d4b34880585a8-s.2y9p18vgfwis7.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/f00b8cc54454926d-s.2c2xg2hj0hbwk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/741805f5bd1ef272-s.104ommt447oe9.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/ea3421846039b7f3-s.p.23jyvdx2mwxjn.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:600;font-display:swap;src:url(../media/62492e45f348cf87-s.200fngwr9-1p7.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:600;font-display:swap;src:url(../media/8f9704ed0c18c9e0-s.1takx9ikz9d70.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:600;font-display:swap;src:url(../media/c73d4b34880585a8-s.2y9p18vgfwis7.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:600;font-display:swap;src:url(../media/f00b8cc54454926d-s.2c2xg2hj0hbwk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:600;font-display:swap;src:url(../media/741805f5bd1ef272-s.104ommt447oe9.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:"Source Serif 4";font-style:italic;font-weight:600;font-display:swap;src:url(../media/ea3421846039b7f3-s.p.23jyvdx2mwxjn.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:700;font-display:swap;src:url(../media/62492e45f348cf87-s.200fngwr9-1p7.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:700;font-display:swap;src:url(../media/8f9704ed0c18c9e0-s.1takx9ikz9d70.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:700;font-display:swap;src:url(../media/c73d4b34880585a8-s.2y9p18vgfwis7.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:700;font-display:swap;src:url(../media/f00b8cc54454926d-s.2c2xg2hj0hbwk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:700;font-display:swap;src:url(../media/741805f5bd1ef272-s.104ommt447oe9.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:"Source Serif 4";font-style:italic;font-weight:700;font-display:swap;src:url(../media/ea3421846039b7f3-s.p.23jyvdx2mwxjn.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/20aee433927f7d4b-s.3x137p1ifayze.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/256e1f7f180674ba-s.1x971o6gwfy6w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/be3bf58b83159894-s.1ri8jgkzoo1l-.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/753b6407f468151f-s.1veyi_qwtij86.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/292081311a6a8abc-s.1t-2a-g4m3ypx.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.20at88_q9f_kt.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/20aee433927f7d4b-s.3x137p1ifayze.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/256e1f7f180674ba-s.1x971o6gwfy6w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/be3bf58b83159894-s.1ri8jgkzoo1l-.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/753b6407f468151f-s.1veyi_qwtij86.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/292081311a6a8abc-s.1t-2a-g4m3ypx.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.20at88_q9f_kt.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(../media/20aee433927f7d4b-s.3x137p1ifayze.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(../media/256e1f7f180674ba-s.1x971o6gwfy6w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(../media/be3bf58b83159894-s.1ri8jgkzoo1l-.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(../media/753b6407f468151f-s.1veyi_qwtij86.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(../media/292081311a6a8abc-s.1t-2a-g4m3ypx.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.20at88_q9f_kt.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Fallback";src:local(Times New Roman);ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.0%;size-adjust:117.91%}.source_serif_4_9c12a9cd-module__CsUbXa__className{font-family:"Source Serif 4","Source Serif 4 Fallback"}.source_serif_4_9c12a9cd-module__CsUbXa__variable{--font-source-serif:"Source Serif 4", "Source Serif 4 Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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;font-style:normal;font-weight:700;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-weight:700;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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 Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_9cf9c43b-module__0zh89q__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_9cf9c43b-module__0zh89q__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--color-paper:#f9f5eb;--color-paper-raised:#fffcf4;--color-paper-sunken:#f1eadf;--color-paper-glow:#fffc;--color-paper-rule-texture:#a59d910e;--color-rule:#d5ccc1;--color-rule-strong:#ada397;--color-ink:#271d16;--color-ink-muted:#61554e;--color-ink-faint:#8e847e;--color-terminal-bg:#0e1927;--color-terminal-bg-alt:#182230;--color-terminal-ink:#ebe8df;--color-terminal-ink-dim:#838d98;--color-terminal-rule:#303b4a;--color-terminal-line-hi:#00476c8c;--color-terminal-success:#68ca80;--color-terminal-success-text:#76c788;--color-terminal-error:#ff8179;--color-terminal-error-strong:#ff9e96;--color-terminal-error-surface:#36171559;--color-modal-backdrop:#1209046b;--color-accent:#0083c2;--color-accent-hover:#0070ac;--color-accent-active:#006193;--color-accent-on:#f7fdff;--color-success:#319751;--color-success-text:#005121;--color-warning:#e19b1b;--color-warning-text:#6e4200;--color-error:#cc3336;--color-error-text:#940015;--rung-1:#4188b6;--rung-1-text:#004d76;--rung-2:#009aa1;--rung-2-text:#005459;--rung-3:#cb9317;--rung-3-text:#6b4400;--rung-4:#cf4232;--rung-4-text:#8a0314;--tag-off-by-one:#ca5551;--tag-mutation-copy:#928100;--tag-scope:#47944c;--tag-type-coercion:#0091a3;--tag-operator-prec:#6a78cd;--tag-other:#84786f;--font-display:var(--font-source-serif), ui-serif, Georgia, serif;--font-mono:var(--font-jetbrains-mono), ui-monospace, "SFMono-Regular", monospace;--text-xs:clamp(.75rem, .73rem + .1vw, .8125rem);--text-sm:clamp(.8125rem, .79rem + .12vw, .875rem);--text-base:clamp(.9375rem, .9rem + .2vw, 1.0625rem);--text-md:clamp(1.0625rem, 1rem + .3vw, 1.1875rem);--text-lg:clamp(1.25rem, 1.1rem + .6vw, 1.5rem);--text-xl:clamp(1.6rem, 1.3rem + 1.3vw, 2.25rem);--text-display:clamp(2.25rem, 1.7rem + 2.6vw, 3.75rem);--leading-prose:1.6;--leading-tight:1.25;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--space-section:clamp(2.5rem, 1.8rem + 3vw, 5rem);--radius-sm:4px;--radius-md:10px;--radius-lg:18px;--radius-pill:999px;--shadow-sm:0 1px 2px #362c2414;--shadow-md:0 4px 14px #362c241a, 0 1px 3px #362c2414;--shadow-lg:0 16px 36px #362c2429;--shadow-terminal:inset 0 1px 0 #ffffff0a, 0 10px 28px #0c172366;--duration-instant:.1s;--duration-fast:.15s;--duration-normal:.24s;--duration-slow:.4s;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-standard:cubic-bezier(.4, 0, .2, 1)}@supports (color:lab(0% 0 0)){:root{--color-paper:lab(96.5751% .418365 5.35003);--color-paper-raised:lab(98.8868% .108868 3.82333);--color-paper-sunken:lab(93.0914% .772655 6.08913);--color-paper-glow:lab(100% 0 0/.8);--color-paper-rule-texture:lab(65.2514% 1.26621 7.62007/.055);--color-rule:lab(82.6276% 1.61994 6.70373);--color-rule-strong:lab(67.5254% 2.39736 7.2773);--color-ink:lab(11.7644% 4.17211 6.56376);--color-ink-muted:lab(37.293% 4.00986 6.40654);--color-ink-faint:lab(55.8729% 2.94536 4.75718);--color-terminal-bg:lab(8.21697% -1.12584 -11.2217);--color-terminal-bg-alt:lab(12.8835% -1.38558 -10.5986);--color-terminal-ink:lab(91.9409% -.00193715 4.59584);--color-terminal-ink-dim:lab(58.2169% -2.06196 -7.07777);--color-terminal-rule:lab(24.5015% -1.72387 -10.6983);--color-terminal-line-hi:lab(27.9349% -8.62716 -27.9816/.55);--color-terminal-success:lab(73.9447% -42.0464 27.476);--color-terminal-success-text:lab(73.7023% -35.9264 23.3569);--color-terminal-error:lab(69.3338% 53.2908 30.5716);--color-terminal-error-strong:lab(75.4484% 43.6674 24.4888);--color-terminal-error-surface:lab(12.5137% 15.6344 8.83056/.35);--color-modal-backdrop:lab(3.00361% 2.40424 2.80357/.42);--color-accent:lab(51.0445% -13.2045 -43.4992);--color-accent-hover:lab(43.9568% -11.6954 -46.3374);--color-accent-active:lab(38.0821% -10.0471 -46.1974);--color-accent-on:lab(98.8556% -1.63358 -3.29736);--color-success:lab(55.358% -42.3219 27.9624);--color-success-text:lab(29.5502% -36.7541 24.8883);--color-warning:lab(69.6815% 20.3199 69.0151);--color-warning-text:lab(32.4114% 19.0495 55.653);--color-error:lab(47.0381% 60.1094 37.2059);--color-error-text:lab(30.9701% 54.0209 36.0295);--rung-1:lab(53.5434% -11.8794 -31.4643);--rung-1-text:lab(30.1572% -9.09811 -34.032);--rung-2:lab(57.0733% -37.4581 -15.344);--rung-2-text:lab(31.4393% -34.0302 -13.8837);--rung-3:lab(65.2056% 15.0051 65.5114);--rung-3-text:lab(32.5215% 16.2413 57.3712);--rung-4:lab(49.5773% 55.6041 42.0053);--rung-4-text:lab(28.7551% 50.8278 33.6722);--tag-off-by-one:lab(52.12% 47.1194 27.3658);--tag-mutation-copy:lab(54.1432% -1.48007 62.3647);--tag-scope:lab(55.1805% -36.459 30.1293);--tag-type-coercion:lab(54.4844% -32.6664 -22.0874);--tag-operator-prec:lab(52.2314% 12.6636 -46.4667);--tag-other:lab(51.2375% 3.48571 6.73826);--shadow-sm:0 1px 2px lab(18.7497% 3.63408 6.86861/.08);--shadow-md:0 4px 14px lab(18.7497% 3.63408 6.86861/.1), 0 1px 3px lab(18.7497% 3.63408 6.86861/.08);--shadow-lg:0 16px 36px lab(18.7497% 3.63408 6.86861/.16);--shadow-terminal:inset 0 1px 0 lab(100% 0 0/.04), 0 10px 28px lab(7.10301% -.987217 -10.464/.4)}}
*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-base);background-image:radial-gradient(circle at 12% 5%, var(--color-paper-glow), transparent 26%), repeating-linear-gradient(0deg, transparent 0 31px, var(--color-paper-rule-texture) 32px);margin:0}button,input,textarea,select{font:inherit}button,a,select,input[type=range]{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.skip-link{z-index:100;background:var(--color-ink);color:#fff;padding:.75rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--color-rule);background:color-mix(in oklch, var(--color-paper) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;justify-content:space-between;align-items:center;gap:1rem;min-height:68px;padding:.75rem clamp(1rem,3vw,2rem);display:flex;position:sticky;top:0}.brand{align-items:center;gap:.65rem;font-size:1.15rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{border:1px solid var(--color-ink);width:32px;height:32px;font-family:var(--font-mono);border-radius:50% 50% 45% 45%;place-items:center;font-size:.8rem;display:grid;transform:rotate(-4deg)}.top-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.button{border:1px solid var(--color-rule-strong);border-radius:var(--radius-sm);background:var(--color-paper-raised);min-height:44px;color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-xs);transition:transform var(--duration-instant), opacity var(--duration-fast), background var(--duration-fast);justify-content:center;align-items:center;gap:.5rem;padding:.65rem .9rem;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{background:#fff;transform:translateY(-1px)}.button:active{transform:scale(.98)}.button:disabled{opacity:.5;transform:none}.button.primary{color:var(--color-accent-on);background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.button.primary:hover{background:var(--color-accent-active)}.button.ghost{background:0 0;border-color:#0000}.landing{width:min(1180px,100% - 2rem);padding:var(--space-section) 0 var(--space-8);margin:0 auto}.hero{padding:1.5rem 0 var(--space-7);grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:end;gap:clamp(2rem,5vw,6rem);display:grid}.kicker{font-family:var(--font-mono);color:var(--color-accent-active);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;font-weight:700}.hero h1{font-size:var(--text-display);letter-spacing:-.035em;max-width:16ch;margin:.6rem 0 1rem;line-height:1.02}.hero-note{border-left:3px solid var(--color-accent);color:var(--color-ink-muted);line-height:var(--leading-prose);padding:.25rem 0 .25rem 1.25rem}.demo-banner{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-left:5px solid var(--color-accent);border-radius:var(--radius-md);box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;gap:1rem;padding:clamp(1.25rem,3vw,2rem);display:flex}.demo-banner h2{font-size:var(--text-lg);margin:0 0 .35rem}.demo-banner p{color:var(--color-ink-muted);margin:0}.sample-heading{margin-top:var(--space-7);border-bottom:1px solid var(--color-rule-strong);justify-content:space-between;align-items:end;padding-bottom:.75rem;display:flex}.sample-heading h2{font-size:var(--text-xl);margin:0}.sample-list{grid-template-columns:repeat(2,1fr);display:grid}.sample-card{text-align:left;border:0;border-bottom:1px solid var(--color-rule);min-height:150px;color:inherit;background:0 0;grid-template-columns:3rem 1fr auto;align-items:start;gap:1rem;padding:1.5rem .5rem;display:grid}.sample-card:nth-child(odd){border-right:1px solid var(--color-rule);padding-right:1.5rem}.sample-card:nth-child(2n){padding-left:1.5rem}.sample-card:hover .sample-arrow{transform:translate(5px)}.sample-number{font-family:var(--font-mono);color:var(--color-ink-faint);font-size:var(--text-xs)}.sample-card h3{font-size:var(--text-md);margin:0 0 .35rem}.sample-card p{color:var(--color-ink-muted);margin:0;line-height:1.45}.sample-arrow{font-family:var(--font-mono);transition:transform var(--duration-normal) var(--ease-out-expo)}.workbench{grid-template-columns:minmax(0,1.5fr) minmax(360px,1fr);gap:1.25rem;width:min(1440px,100% - 2rem);margin:0 auto;padding:1rem 0 2rem;display:grid}.left-stack{align-content:start;gap:1rem;min-width:0;display:grid}.terminal-panel{background:var(--color-terminal-bg);color:var(--color-terminal-ink);border:1px solid var(--color-terminal-rule);border-radius:var(--radius-sm);box-shadow:var(--shadow-terminal);overflow:hidden}.editor-toolbar,.panel-tabs{border-bottom:1px solid var(--color-terminal-rule);background:var(--color-terminal-bg-alt);justify-content:space-between;align-items:center;gap:.75rem;min-height:52px;padding:.45rem .7rem;display:flex}.toolbar-cluster{align-items:center;gap:.5rem;min-width:0;display:flex}.mono-label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-terminal-ink-dim);text-transform:uppercase;letter-spacing:.08em}.status-pill{border:1px solid var(--color-terminal-rule);border-radius:var(--radius-pill);min-height:30px;font-family:var(--font-mono);white-space:nowrap;align-items:center;gap:.4rem;padding:.3rem .65rem;font-size:.72rem;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;width:7px;height:7px}.status-pill.success{color:var(--color-terminal-success)}.status-pill.error{color:var(--color-terminal-error)}.editor-frame{min-height:330px}.cm-editor{font-size:14px;font-family:var(--font-mono)!important}.cm-scroller{font-family:var(--font-mono)!important}.panel-tabs{justify-content:flex-start;min-height:44px}.tab{min-height:36px;color:var(--color-terminal-ink-dim);font-family:var(--font-mono);font-size:var(--text-xs);background:0 0;border:0;border-bottom:2px solid #0000;padding:.4rem .75rem}.tab[aria-selected=true]{color:var(--color-terminal-ink);border-color:var(--color-accent)}.output-body{min-height:255px;animation:panel-in var(--duration-normal) var(--ease-out-expo);padding:1rem}.empty-terminal{text-align:center;min-height:190px;color:var(--color-terminal-ink-dim);font-family:var(--font-mono);font-size:var(--text-sm);place-items:center;display:grid}.output-pre{white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);font-size:var(--text-sm);margin:0;line-height:1.6}.traceback{border-left:3px solid var(--color-error);background:var(--color-terminal-error-surface);margin-bottom:1rem;padding:.8rem 1rem}.traceback strong{font-family:var(--font-mono);color:var(--color-terminal-error-strong)}.loading-rail{font-family:var(--font-mono);padding:.5rem}.loading-rail h3{font-family:var(--font-display);color:var(--color-terminal-ink);margin:0 0 1rem}.loading-step{min-height:48px;color:var(--color-terminal-ink-dim);grid-template-columns:24px 1fr;gap:.75rem;display:grid}.loading-step.active{color:var(--color-terminal-ink);transform:translate(8px)}.loading-step .step-dot{border:2px solid;border-radius:50%;width:12px;height:12px;margin-top:.2rem}.loading-step.done .step-dot{background:var(--color-success);border-color:var(--color-success)}.tutor-column{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:var(--radius-md);min-width:0;min-height:680px;box-shadow:var(--shadow-md);grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.hint-rail{border-bottom:1px solid var(--color-rule);padding:1rem 1.15rem}.hint-caption{font-family:var(--font-mono);font-size:var(--text-xs);justify-content:space-between;margin-bottom:.75rem;display:flex}.hint-steps{grid-template-columns:repeat(4,1fr);align-items:end;gap:.35rem;height:40px;display:grid}.hint-step{background:var(--color-paper-sunken);border:1px solid var(--color-rule);height:calc(16px + var(--rung-index) * 6px);opacity:.45;position:relative}.hint-step.active{opacity:1;background:var(--rung-color);border-color:var(--rung-color);animation:rung-in var(--duration-normal) var(--ease-standard)}.chat-log{min-height:360px;max-height:560px;padding:1.2rem;overflow-y:auto}.chat-message{border-radius:var(--radius-md);max-width:92%;line-height:var(--leading-prose);animation:message-in var(--duration-fast) var(--ease-standard);margin-bottom:.9rem;padding:.9rem 1rem}.chat-message.tutor{background:var(--color-paper-sunken);border-left:3px solid var(--color-accent)}.chat-message.student{background:var(--color-ink);color:var(--color-paper-raised);border-bottom-right-radius:2px;margin-left:auto}.message-role{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;opacity:.65;margin-bottom:.25rem;font-size:.68rem;display:block}.streaming-caret{vertical-align:-.1em;background:currentColor;width:2px;height:1em;margin-left:3px;animation:.9s infinite caret;display:inline-block}.chat-error{color:var(--color-error-text);font-size:var(--text-sm);padding:0 1.2rem}.composer{border-top:1px solid var(--color-rule);background:var(--color-paper-sunken);padding:1rem}.composer textarea{resize:vertical;border:1px solid var(--color-rule-strong);border-radius:var(--radius-sm);background:var(--color-paper-raised);width:100%;min-height:82px;color:var(--color-ink);padding:.75rem;line-height:1.45}.composer-actions{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.65rem;display:flex}.drawer-backdrop{z-index:40;background:var(--color-modal-backdrop);place-items:start center;padding-top:8vh;display:grid;position:fixed;inset:0}.drawer{background:var(--color-paper-raised);border-radius:var(--radius-lg);width:min(760px,100% - 2rem);max-height:82vh;box-shadow:var(--shadow-lg);padding:1.5rem;overflow:auto}.drawer-head{justify-content:space-between;align-items:center;display:flex}.drawer .sample-list{grid-template-columns:1fr}.drawer .sample-card{border-right:0;padding-inline:.5rem}.ghost-button{color:inherit;cursor:pointer;background:0 0;border:0}.session-select{max-width:190px}.panel-spacer{flex:1}.reset-tab{margin-left:auto}.terminal-button{color:var(--color-terminal-ink);background:var(--color-terminal-bg-alt);border-color:var(--color-terminal-rule)}.fatal-state{min-height:190px;color:var(--color-terminal-ink-dim);text-align:center;align-content:center;place-items:center;gap:1rem;display:grid}.run-success{color:var(--color-terminal-success-text);font-family:var(--font-mono);font-size:var(--text-sm)}.trace-view{font-family:var(--font-mono);font-size:var(--text-sm)}.trace-meta{color:var(--color-terminal-ink-dim);flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.75rem;display:flex}.trace-code{background:var(--color-terminal-line-hi);border-left:3px solid var(--color-accent);white-space:pre-wrap;margin-bottom:1rem;padding:.7rem .8rem}.trace-code span{color:var(--color-terminal-ink-dim);margin-right:1rem}.trace-slider-label{color:var(--color-terminal-ink-dim);margin-bottom:.5rem;display:block}.trace-slider{width:100%;min-height:44px;accent-color:var(--color-accent)}.trace-controls{justify-content:space-between;margin:.5rem 0 1rem;display:flex}.variable-table{border:1px solid var(--color-terminal-rule)}.variable-row{border-bottom:1px solid var(--color-terminal-rule);grid-template-columns:minmax(120px,.45fr) 1fr;display:grid}.variable-row:last-child{border-bottom:0}.variable-row>*{overflow-wrap:anywhere;padding:.55rem .7rem}.variable-row>*+*{border-left:1px solid var(--color-terminal-rule);color:var(--color-terminal-ink-dim)}.variable-head{background:var(--color-terminal-bg-alt);color:var(--color-terminal-ink-dim)}.teacher-page{min-height:100vh}.teacher-header{border-bottom:1px solid var(--color-rule-strong);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;width:min(1280px,100% - 2rem);min-height:120px;margin:0 auto;display:grid}.teacher-header h1{font-size:var(--text-xl);text-align:center;margin:0}.teacher-header .kicker{text-align:center;margin:0}.teacher-actions{justify-content:flex-end;gap:.5rem;display:flex}.teacher-main{width:min(1180px,100% - 2rem);padding:var(--space-7) 0;margin:0 auto}.teacher-empty{text-align:center;align-content:center;place-items:center;gap:.5rem;min-height:56vh;display:grid}.teacher-empty h2{font-size:var(--text-xl);margin:1rem 0 0}.teacher-empty p{color:var(--color-ink-muted)}.report-card{background:var(--color-paper-raised);border:1px solid var(--color-rule);box-shadow:var(--shadow-md);border-radius:var(--radius-md);padding:clamp(1.25rem,3vw,2rem)}.report-title{border-bottom:1px solid var(--color-rule);justify-content:space-between;align-items:end;margin-bottom:1rem;padding-bottom:1rem;display:flex}.report-title h2{font-size:var(--text-xl);margin:.2rem 0 0}.report-total{font-family:var(--font-mono);color:var(--color-ink-muted)}.bar-chart{gap:.7rem;display:grid}.bar-row{font-size:var(--text-sm);grid-template-columns:minmax(145px,.7fr) minmax(180px,2fr) 2rem 3rem;align-items:center;gap:.75rem;display:grid}.bar-track{background:var(--color-paper-sunken);border:1px solid var(--color-rule);height:16px;overflow:hidden}.bar-fill{transform-origin:0;min-width:2px;height:100%;animation:bar-in var(--duration-slow) var(--ease-out-expo);display:block}.bar-row strong,.bar-row small{font-family:var(--font-mono)}.bar-row small{color:var(--color-ink-faint)}.session-ledger{margin-top:var(--space-7)}.session-card{border-bottom:1px solid var(--color-rule);grid-template-columns:1.2fr 1fr auto;align-items:center;gap:1.25rem;padding:1.25rem .5rem;display:grid}.session-card h3{font-size:var(--text-md);margin:.25rem 0}.session-card p{color:var(--color-ink-muted);margin:0}.session-tags{flex-wrap:wrap;gap:.4rem;display:flex}.tag-chip{border-radius:var(--radius-pill);font-family:var(--font-mono);background:var(--color-paper-raised);border:2px solid;padding:.35rem .6rem;font-size:.7rem}.tag-chip.muted{border-color:var(--color-rule);color:var(--color-ink-muted)}.session-card-actions{gap:.35rem;display:flex}.danger{color:var(--color-error-text)}.transcript .chat-message{max-width:82%}@keyframes bar-in{0%{transform:scaleX(0)}}@keyframes panel-in{0%{opacity:0;transform:translateY(6px)}}@keyframes message-in{0%{opacity:0;transform:translateY(4px)}}@keyframes rung-in{50%{transform:scale(1.08)}}@keyframes caret{50%{opacity:.15}}@media (max-width:900px){.hero,.workbench{grid-template-columns:1fr}.tutor-column{min-height:600px}.sample-list{grid-template-columns:1fr}.sample-card:nth-child(n){border-right:0;padding-inline:.5rem}.teacher-header{grid-template-columns:1fr;padding:1rem 0}.teacher-header h1,.teacher-header .kicker{text-align:left}.teacher-actions{justify-content:flex-start}.session-card{grid-template-columns:1fr}}@media (max-width:640px){.topbar{align-items:flex-start}.brand-word{display:none}.top-actions{justify-content:flex-end}.demo-banner{flex-direction:column;align-items:stretch}.workbench,.landing{width:min(100% - 1rem,100%)}.composer-actions{flex-direction:column;align-items:stretch}.button{width:100%}.top-actions .button{width:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.streaming-caret{animation:none}}
