@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(./barlow-vietnamese-400-normal-BFeobeCK.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(./barlow-latin-ext-400-normal-CvBsJvxq.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(./barlow-latin-400-normal-fsAxiSwU.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-vietnamese-500-normal-zTViEIzf.woff2)format("woff2"),url(./barlow-vietnamese-500-normal-GNfB7rCE.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-latin-ext-500-normal-DOaysfXq.woff2)format("woff2"),url(./barlow-latin-ext-500-normal-CJPcKP2Q.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(./barlow-latin-500-normal-C1h8hMer.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-vietnamese-600-normal-DcjprdFV.woff2)format("woff2"),url(./barlow-vietnamese-600-normal-CA_GiK2e.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-latin-ext-600-normal-B8NK_A3D.woff2)format("woff2"),url(./barlow-latin-ext-600-normal-DMVRjfRT.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(./barlow-latin-600-normal-CNwfPWQD.woff)format("woff");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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-semi-condensed-vietnamese-500-normal-DGADhYWF.woff2)format("woff2"),url(./barlow-semi-condensed-vietnamese-500-normal-hJ2t9k9e.woff)format("woff");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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-semi-condensed-latin-ext-500-normal-BXdp1BvY.woff2)format("woff2"),url(./barlow-semi-condensed-latin-ext-500-normal-rZeYuEMb.woff)format("woff");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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-semi-condensed-latin-500-normal-G0uxJNrM.woff2)format("woff2"),url(./barlow-semi-condensed-latin-500-normal-CFOoVYFH.woff)format("woff");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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-semi-condensed-vietnamese-600-normal-b1FQiZcx.woff2)format("woff2"),url(./barlow-semi-condensed-vietnamese-600-normal-DzVrjA0Q.woff)format("woff");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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-semi-condensed-latin-ext-600-normal-BkQ9hN72.woff2)format("woff2"),url(./barlow-semi-condensed-latin-ext-600-normal-BuP8AaxH.woff)format("woff");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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-semi-condensed-latin-600-normal-BkLiAYu4.woff2)format("woff2"),url(./barlow-semi-condensed-latin-600-normal-DyOfdMBA.woff)format("woff");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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./barlow-semi-condensed-vietnamese-700-normal-Dm7RZTvf.woff2)format("woff2"),url(./barlow-semi-condensed-vietnamese-700-normal-BvUTSFNY.woff)format("woff");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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./barlow-semi-condensed-latin-ext-700-normal-BhgEo64M.woff2)format("woff2"),url(./barlow-semi-condensed-latin-ext-700-normal-C0vCoZIV.woff)format("woff");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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./barlow-semi-condensed-latin-700-normal-BpqDG8I9.woff2)format("woff2"),url(./barlow-semi-condensed-latin-700-normal-BMyZXq_9.woff)format("woff");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-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbUAA8AAAAACOgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgFwRca1NUQVQAAAIMAAAARgAAAF7mY9MfY21hcAAAAlQAAABRAAAAdAyHCodnYXNwAAACqAAAAAgAAAAIAAAAEGdseWYAAAKwAAAB6QAAAl7g5OpvaGVhZAAABJwAAAA2AAAANhSQ8UNoaGVhAAAE1AAAAB8AAAAkAcoBImhtdHgAAAT0AAAAHgAAADofBAM2bG9jYQAABRQAAAAgAAAAIATcBZ9tYXhwAAAFNAAAABwAAAAgAIcCb25hbWUAAAVQAAABEgAAAoA4pV3kcG9zdAAABmQAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpinMDAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWABNDDdYAAAB42kXIIQIBARQFwHl/QQIkWXInUAANXMOBJCcTd+KIGCjMNViq9/H0CM6P/S0j0bOwUqh08iEb8kPTXn3RiMoYhD90Nwc3AAB42lXIRwHCQBAF0JceehWAlTjhjikUgAVQA4mJLbdk5neUqHBVKWSv3XF2VCnt3AyevkVZv+sxBBbbq/6HfFP4hEcYQgEK82v1aHQ5RTs3FRQAAAAAAQAB//8AD3jabZA1tNRAFEDfTGDdfXHI2QQnZJJvK5ngDs13Welwt/78CtcS7xvcrcHKbXCtceh+wgtu437nXRCgC4BY9AGOXOAFYNHR0dzoKCGju8gJ6xiZaF3DWqcPBiSV5i2geaCgAlAJ77ghgjfiLC7KojvOZEmSXS63emXr5W7lsTLtXFMkRmks4ly+cYOEnvO2YLDNANv+9oJwhkpAAJAcHPG/1RC2BERc1ZGGMxYVWDyVSjc0NMaZELUf9e4JhCgNB3b2PiJRctuqZ0WPR8zilxutN/ji97vUBYMAnGjtzxjtK3wrDaMABo+R9KjWwNRUMppwuWS1QdfFZCIlMF2TxDGuJJlYW7OmVlvD+sx86b1hvC/l8yXf2hqZ66xbZ80yWzyD9/fzGaRzA58+nSOzYC+gw9AP+vyNqUAUhoD4lSnputbgUFPJ5O9Y+ReWlxkrc96naX08b3zk/KORb+E+VjYPmH1M6+UHeVlDtCzzGZ9FY8YMA8gPMsQA0jqaGkHT6cYSdVwl7Zs9Wzx+DyWUugPujd03T52ikrUvM26kF9PIcRmycuDBKcd3XRhPDgtnQACINzJ3fVl1tTB++3bc2S7kyD3cCQIQNMcSKaY2YOciE+d0zFbGjps6u0PILTFlRZHNJfAFnfeHtgAAAAABAAAAAjYEro52gl8PPPUAAwPoAAAAANvSppoAAAAA29rQ8vk5/tQEkgP8AAAABgACAAAAAAAAeNpjYGRgYP7z7woDA8uGn5Z/+1kmAUVQAR8Ar8AG6gB42mOKYIgCYiMkrAzCUHEbJJoBikHgCkMPAPDwCFUAAAAAABoAOwBGAFEAbwB3AKkAsQDmAQkBCQEJAQkBFgEveNpjYGRgYOBn3MGQx7CFgQ3MQwBmBiYALRoB+HjajJADbgVQEEXPZ20bQW3bthvXbr8Vp4to1KV0AV1Wb9JvZzJvzhvcB6CQL0wYzHnAj6E/yAYaDeVBNlJsMAfZxCy/QTbTy3eQLdTzGWQr3VwGuZhx2v/ZAIVUB9kc0TSUKJ8f5FIRHGPjnWs+2MKt+MYzt1xwr/jIk3JymR0X0wzIXKo7VbXjFvfLn3lTtCn7qPoB6+yyzb3qy8pdq/6hrj11fMj7OFbtEY+mrlU/516rVFCdVobplw/JEjVaCaqIYlUiUzOaW9aa/Q1idmlPXZHbCagW/B10XwaRi06VuVdMf+9DnIov6rlF8yzhUXxC/4c66Uz48UepqEN9N/Tzt2RwjOljsUUfj581AbaEXsIAAHjaY2BiAIP/qQxGQIqRAR3wA7EKw0lGJgYbRmZGFkZWRjZGdgZmRg5GTkYuRm42x6Si1LJU9tK8TAMTR1cI7WoB5btB+Zas6Ym5uYlgnoGjAZNzEF9icmlJanJ+bpJecmJxKg9IxtjADMwBAKDtHJg=)format("woff");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-display:swap;font-weight:400;src:url(./jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(./jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");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-display:swap;font-weight:400;src:url(./jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(./jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");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-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(./jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");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-display:swap;font-weight:400;src:url(./jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(./jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");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-display:swap;font-weight:400;src:url(./jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(./jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");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-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=)format("woff2"),url(data:font/woff;base64,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)format("woff");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-display:swap;font-weight:500;src:url(./jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(./jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");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-display:swap;font-weight:500;src:url(./jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(./jetbrains-mono-greek-500-normal-D7SFKleX.woff)format("woff");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-display:swap;font-weight:500;src:url(data:font/woff2;base64,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)format("woff2"),url(./jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff)format("woff");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-display:swap;font-weight:500;src:url(./jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(./jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff");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-display:swap;font-weight:500;src:url(./jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(./jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff");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:Noto Sans Devanagari;font-style:normal;font-display:swap;font-weight:500;src:url(./noto-sans-devanagari-devanagari-500-normal-DVtwyDnM.woff2)format("woff2"),url(./noto-sans-devanagari-devanagari-500-normal-DO6LFp12.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Noto Sans Devanagari;font-style:normal;font-display:swap;font-weight:500;src:url(./noto-sans-devanagari-latin-ext-500-normal-C0oyxq0s.woff2)format("woff2"),url(./noto-sans-devanagari-latin-ext-500-normal-7GrnOHW4.woff)format("woff");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:Noto Sans Devanagari;font-style:normal;font-display:swap;font-weight:500;src:url(./noto-sans-devanagari-latin-500-normal-DIQNxmWv.woff2)format("woff2"),url(./noto-sans-devanagari-latin-500-normal-Ca8IYteK.woff)format("woff");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:Noto Sans Devanagari;font-style:normal;font-display:swap;font-weight:600;src:url(./noto-sans-devanagari-devanagari-600-normal-BeyktMLo.woff2)format("woff2"),url(./noto-sans-devanagari-devanagari-600-normal-B5tDaqnD.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Noto Sans Devanagari;font-style:normal;font-display:swap;font-weight:600;src:url(./noto-sans-devanagari-latin-ext-600-normal-eCXJLagf.woff2)format("woff2"),url(./noto-sans-devanagari-latin-ext-600-normal-BYBXZV8b.woff)format("woff");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:Noto Sans Devanagari;font-style:normal;font-display:swap;font-weight:600;src:url(./noto-sans-devanagari-latin-600-normal-Bzmbz5CH.woff2)format("woff2"),url(./noto-sans-devanagari-latin-600-normal-D_YUQxD_.woff)format("woff");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}:root{--bg:#f6eddd;--bg-deep:#efe3d1;--sidebar:#e9dcca;--card:#f9f2e5;--card-soft:#faf4e9f7;--code-bg:#f8f0e3;--line:#cec0ad;--line-soft:#e2d7c7;--navy:#18213d;--navy-2:#24304a;--ink:#4f535b;--muted:#696d74;--faint:#ada293;--teal:#1aa3a1;--teal-deep:#3f7f8e;--saffron:#e48a2a;--trace:#d3bea3;--track:#e3d8ca;--kw:#2a56a3;--fn:#c0652d;--sans:var(--pr-ui-font);--cond:var(--pr-ui-font);--mono:"JetBrains Mono", ui-monospace, monospace;--ease:cubic-bezier(.2, .8, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;margin:0;overflow:hidden}body{font-family:var(--pr-ui-font);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:geometricprecision}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}h1,h2,h3,p,ul,ol{margin:0;padding:0}ul,ol{list-style:none}svg{display:block}code{font-family:var(--mono);color:var(--navy);background:#efe4d2;border-radius:4px;padding:0 4px;font-size:.9em}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{transition-duration:10ms!important;animation-duration:10ms!important}.brand-mark .hex{fill:none;stroke:#26324d;stroke-width:4.6px;stroke-linejoin:round}.brand-mark .trace{fill:none;stroke:var(--teal);stroke-width:4.2px;stroke-linecap:round;stroke-linejoin:round}.brand-mark .node{fill:var(--saffron)}.loader{z-index:1000;background:var(--bg);place-items:center;transition:opacity .5s,visibility 0s linear .5s;display:grid;position:fixed;inset:0}.loader:before{content:"";background-image:linear-gradient(90deg,#cec0ad52 1px,#0000 1px),linear-gradient(#cec0ad52 1px,#0000 1px);background-position:50%;background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 0,#0000 62%);mask-image:radial-gradient(circle,#000 0,#0000 62%)}.loader.is-done{opacity:0;visibility:hidden;pointer-events:none}.loader-inner{flex-direction:column;align-items:center;padding:0 16px;display:flex;position:relative}.loader-logo{width:64px;height:60px;animation:mark-in .9s var(--ease) both}@keyframes mark-in{0%{opacity:0;transform:scale(.85)}}.loader-title{font-family:var(--pr-ui-font);letter-spacing:.13em;text-transform:uppercase;color:var(--navy);text-align:center;margin:18px 0 0;font-size:27px;font-weight:600;line-height:30px}.loader-track{background:var(--track);border-radius:4px;width:220px;height:8px;margin-top:22px;position:relative;overflow:hidden}.loader-fill{transform-origin:0;transition:transform .45s var(--ease);background:linear-gradient(#23b0ad,#149895);position:absolute;inset:0;transform:scaleX(.04)}.loader-shine{background:linear-gradient(90deg,#fff0,#ffffff80,#fff0);width:36%;animation:1.4s cubic-bezier(.4,0,.2,1) infinite shine;position:absolute;top:0;bottom:0;left:0}@keyframes shine{0%{transform:translate(-100%)}to{transform:translate(300%)}}.loader-step{min-height:18px;font-family:var(--pr-ui-font);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);white-space:nowrap;margin:12px 0 0;font-size:13.5px;font-weight:500;line-height:18px}.loader.is-failed .loader-track{display:none}.loader.is-failed .loader-step{max-width:340px;font-family:var(--pr-ui-font);letter-spacing:0;text-transform:none;white-space:normal;text-align:center;color:var(--ink);font-size:15px}.noscript{text-align:center;max-width:520px;margin-top:22px}.artboard{transform-origin:0 0;background:radial-gradient(120% 90% at 45% 45%, #fffaf08c, transparent 60%), var(--bg);width:1672px;height:941px;position:absolute;top:0;left:0;overflow:hidden}.traces{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.traces path{fill:none;stroke:var(--trace);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.traces circle{fill:var(--bg);stroke:var(--trace);stroke-width:1.5px}.traces .pix{fill:#d9c5ac;stroke:none}.sidebar{z-index:6;background:linear-gradient(90deg, #e7d9c6 0%, var(--sidebar) 70%, #eadecd 100%);width:72px;transition:width .35s var(--ease), box-shadow .35s;position:absolute;top:0;bottom:0;left:0;box-shadow:inset -1px 0 #c4b09659}.side-toggle{background:#f0e6d7b3;border:1.5px solid #d6c7b3;border-radius:9px;place-items:center;width:47px;height:50px;transition:background .2s;display:grid;position:absolute;top:47px;left:13px}.side-toggle svg{fill:none;width:22px;height:22px;stroke:var(--navy-2);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease)}.side-nav li{width:72px;transition:width .35s var(--ease);place-items:center;display:grid;position:absolute;left:0}.side-nav li:first-child{top:150px}.side-nav li:nth-child(2){top:230px}.side-nav li:nth-child(3){top:316px}.side-nav li:nth-child(4){top:400px}.side-nav li:nth-child(5){top:488px}.side-nav li:nth-child(6){top:574px}.side-nav a{width:44px;height:40px;color:var(--navy);transition:background .2s, width .35s var(--ease);border-radius:10px;place-items:center;text-decoration:none;display:grid;position:relative}.side-nav a:hover{background:#f3eadc}.side-nav li.is-on a,.side-nav li.is-active a{background:#f7efe2;box-shadow:inset 0 0 0 1.5px #d6c7b3}.side-nav li.is-active a:before{content:"";background:var(--teal);border-radius:0 3px 3px 0;width:4px;position:absolute;top:8px;bottom:8px;left:-14px}.side-nav svg{fill:none;stroke:#33405c;stroke-width:2.1px;stroke-linejoin:round;stroke-linecap:round;width:34px;height:34px}.side-nav svg .fill,.side-nav svg.fill{fill:#2b364f;stroke:none}.side-nav li.is-muted svg.fill{fill:#6c707a}.side-nav li.side-lang svg{stroke:#6c707a}.side-code{color:#f6eddd;font:700 9.5px/13px var(--cond);letter-spacing:.06em;background:#33405c;border-radius:4px;padding:0 3px;position:absolute;bottom:1px;right:-2px}.side-label{white-space:nowrap;opacity:0;pointer-events:none;font:600 16px var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--navy);transition:opacity .2s;position:absolute;left:58px}.sidebar.is-wide{width:200px;box-shadow:inset -1px 0 #c4b09659,18px 0 40px -28px #3c2d148c}.sidebar.is-wide .side-toggle svg{transform:rotate(180deg)}.sidebar.is-wide .side-nav li{justify-items:start;width:200px;padding-left:14px}.sidebar.is-wide .side-nav a{justify-items:start;width:172px;padding-left:5px}.sidebar.is-wide .side-label{opacity:1}.side-lang.is-cramped{display:none}.credit{color:var(--muted);align-items:center;text-decoration:none;display:flex}.credit-side{background:#f0e6d799;border:1.5px solid #d6c7b3;border-radius:9px;flex-direction:column;gap:12px;width:47px;padding:15px 0 14px;position:absolute;bottom:22px;left:13px}.credit-side .credit-text{writing-mode:vertical-rl;gap:2px;display:flex;transform:rotate(180deg)}.credit-text small{font:600 10px var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.credit-text b{font:600 12.5px var(--cond);letter-spacing:.04em;color:var(--navy-2)}.credit-rule{background:#d6c7b3;width:18px;height:1.5px}.credit-mark{width:24px;height:22px}.credit-mark .hex{fill:none;stroke:#26324d;stroke-width:5px;stroke-linejoin:round}.credit-mark .trace{fill:none;stroke:var(--teal);stroke-width:4.6px;stroke-linecap:round;stroke-linejoin:round}.credit:hover .credit-text b{color:var(--teal-deep)}.app-foot{display:none}.flyout{left:84px;top:var(--top,140px);z-index:7;border:1.5px solid var(--line);opacity:0;pointer-events:none;width:320px;max-height:620px;transition:opacity .22s, transform .3s var(--ease), left .35s var(--ease);scrollbar-width:thin;scrollbar-color:#d8cbb8 transparent;background:#fbf6ecfa;border-radius:12px;padding:14px 12px 12px;position:absolute;overflow:auto;transform:translate(-10px);box-shadow:0 18px 40px -22px #3c2d148c}.flyout.is-open{opacity:1;pointer-events:auto;transform:none}.sidebar.is-wide~.flyout{left:212px}.flyout header{justify-content:space-between;align-items:baseline;padding:0 4px 10px;display:flex}.flyout h2{font:700 18px var(--cond);letter-spacing:-.02em;text-transform:uppercase;color:var(--navy)}.flyout header span{font:500 13px var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.fly-group{font:700 12.5px var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--teal-deep);align-items:center;gap:8px;margin:10px 4px 6px;display:flex}.fly-group .ico{width:18px;height:18px;stroke:var(--teal-deep)}.fly-group small{color:var(--faint);letter-spacing:.06em;margin-left:auto;font-weight:600}.fly-list{flex-direction:column;gap:4px;display:flex}.fly-list button,.fly-list label{text-align:left;cursor:pointer;border-radius:9px;align-items:center;gap:12px;width:100%;padding:7px 8px;transition:background .15s;display:flex}.fly-num{border:1.5px solid var(--line);background:var(--card);width:30px;height:30px;font:600 14px var(--cond);color:var(--navy-2);border-radius:8px;flex:none;place-items:center;display:grid}.fly-num svg{fill:none;width:18px;height:18px;stroke:var(--teal);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.fly-num .ico{stroke:var(--navy-2);stroke-width:2.2px}.fly-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.fly-text b{font:600 15.5px var(--cond);letter-spacing:.03em;color:var(--navy)}.fly-text small{color:var(--muted);font-size:13px;line-height:16px}.fly-reset{border:1.5px solid var(--line);background:var(--card);font:600 14px var(--cond);letter-spacing:.06em;text-transform:uppercase;color:#a8483b;border-radius:8px;margin:12px 4px 2px;padding:8px 12px}.fly-reset:hover{background:#f7e7df}.fly-lang select{border:1.5px solid var(--line);background:var(--card);font:500 14px var(--sans);color:var(--navy);border-radius:7px;padding:6px 8px}.switch input{opacity:0;pointer-events:none;position:absolute}.switch-track{background:#d9ccb9;border-radius:11px;flex:none;width:38px;height:22px;transition:background .2s;position:relative}.switch-track span{width:16px;height:16px;transition:transform .2s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.switch input:checked+.switch-track{background:var(--teal)}.switch input:checked+.switch-track span{transform:translate(16px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--navy);outline-offset:2px}.fly-about p{color:var(--ink);margin:0 4px 10px;font-size:14.5px;line-height:20px}.fly-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 4px 12px;display:grid}.fly-stats div{border:1.5px solid var(--line-soft);background:var(--card);text-align:center;border-radius:9px;padding:8px}.fly-stats b{font:700 22px var(--cond);color:var(--navy);display:block}.fly-stats small{font:600 11px var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.brand{z-index:2;align-items:flex-start;display:flex;position:absolute;top:21px;left:95px}.brand-logo{width:54px;height:50px;margin-top:4px}.brand-rule{background:linear-gradient(var(--line), transparent);width:2px;height:64px;margin:-4px 12px 0 16px;position:relative}.brand-rule:before{content:"";background:var(--navy-2);border-radius:50%;width:6px;height:6px;position:absolute;top:0;left:-2px}.brand-text h1{font-family:var(--pr-ui-font);letter-spacing:.13em;text-transform:uppercase;color:var(--navy);white-space:nowrap;font-size:36.5px;font-weight:600;line-height:38px}.brand-text h1 span{color:var(--teal-deep)}.brand-text p{font-family:var(--pr-ui-font);letter-spacing:.17em;text-transform:uppercase;color:var(--faint);white-space:nowrap;margin-top:2px;font-size:19.5px;font-weight:500}.brand-text p i{margin:0 .25em;font-style:normal}.stage{z-index:1;position:absolute;inset:0 500px 140px 72px}#board-canvas{cursor:grab;touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.stage.no-webgl #board-canvas{display:none}.stage-note{border:1.5px solid var(--line);background:var(--card-soft);text-align:center;border-radius:12px;width:420px;padding:20px 22px;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.stage-note b{font:700 18px var(--cond);letter-spacing:.05em;text-transform:uppercase;color:var(--navy)}.stage-note p{margin-top:8px;font-size:15px;line-height:21px}.leaders,.insp-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.leaders path{fill:none;stroke:#2a3550;stroke-width:1.5px;stroke-dasharray:3 3.5}.leaders circle{fill:var(--teal);stroke:#fff;stroke-width:1.5px}.leaders circle.ring{fill:none;stroke:var(--teal);stroke-width:1.2px;stroke-dasharray:none;opacity:.55}.rig{transform-origin:0 0;width:0;height:0;position:absolute}.rig.is-off .callout,.rig.is-free .callout{opacity:0;pointer-events:none;transform:translateY(6px)}.callout{left:var(--x);top:var(--y);width:var(--w);border:1.5px solid var(--line);background:var(--card-soft);cursor:pointer;text-align:left;transition:opacity .35s, transform .35s var(--ease), border-color .2s;animation:co-in .45s var(--ease) both;animation-delay:var(--d,0s);border-radius:9px;gap:16px;padding:17px 14px 15px 15px;display:flex;position:absolute;box-shadow:inset 0 1px #ffffffb3,0 8px 20px -18px #3c2d1499}.callout.is-leaving{opacity:0;transform:translateY(4px)}@keyframes co-in{0%{opacity:0;transform:translateY(8px)}}.callout .ico{fill:none;width:36px;height:36px;stroke:var(--navy);stroke-width:2.3px;stroke-linejoin:round;stroke-linecap:round;flex:none;margin-top:2px}.ico .fill{fill:currentColor;stroke:none}.callout .ico .fill{fill:var(--navy)}.callout h3{font-family:var(--pr-ui-font);font-size:var(--pr-heading-3);letter-spacing:-.02em;text-transform:uppercase;color:var(--navy);font-weight:700;line-height:22px}.callout p{color:#5c6066;margin-top:3px;font-size:15.7px;line-height:20px}.tags{pointer-events:none;position:absolute;inset:0}.tag{border:1.5px solid var(--line);background:var(--card-soft);font:700 13px var(--cond);letter-spacing:.05em;text-transform:uppercase;color:var(--navy);white-space:nowrap;opacity:0;border-radius:7px;padding:4px 9px 4px 8px;transition:opacity .3s;position:absolute;top:0;left:0;box-shadow:0 4px 10px -8px #3c2d1480}.tags.is-free .tag{opacity:1}.tags .tag.is-hidden{opacity:0!important}.signals{pointer-events:none;position:absolute;inset:0}.readout{background:var(--navy);color:#f8f1e4;font:500 12.5px var(--mono);white-space:nowrap;opacity:0;border-radius:999px;padding:3px 9px;transition:opacity .25s;position:absolute;top:0;left:0;box-shadow:0 4px 10px -6px #18213d99}.readout.is-on{opacity:1}.readout.is-high{background:var(--teal)}.readout.is-pwm{background:#c0652d}.tip{z-index:3;border:1.5px solid var(--line);opacity:0;pointer-events:none;background:#fcf7eef7;border-radius:9px;max-width:260px;padding:9px 12px 10px;transition:opacity .15s;position:absolute;top:0;left:0;box-shadow:0 10px 22px -14px #3c2d148c}.tip.is-on{opacity:1}.tip b{font:700 15px var(--cond);letter-spacing:.04em;text-transform:uppercase;color:var(--navy);display:block}.tip span{color:var(--muted);margin-top:2px;font-size:13.5px;line-height:18px;display:block}.viewbar{z-index:2;border:1.5px solid var(--line);background:var(--card-soft);border-radius:11px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;bottom:9px;left:calc(50% + 168px);transform:translate(-50%);box-shadow:0 6px 16px -12px #3c2d1480}.viewbar button{border-radius:7px;place-items:center;width:34px;height:30px;transition:background .15s;display:grid}.viewbar button:hover{background:#efe4d3}.viewbar svg{fill:none;width:19px;height:19px;stroke:var(--navy-2);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.viewbar svg .fill{fill:var(--navy-2);stroke:none}.viewbar .toggle[aria-pressed=true]{background:#dcefeb}.viewbar .toggle[aria-pressed=true] svg{stroke:var(--teal-deep)}.viewbar .toggle[aria-pressed=true] svg .fill{fill:var(--teal-deep)}.viewbar-sep{background:var(--line-soft);width:1.5px;height:18px;margin:0 3px}.compass-needle{transform-origin:12px 12px;transition:transform .1s linear}.compass-needle .fill{fill:#d64a3a!important}.compass.is-off-home{background:#f6e8d2}.view-hint{background:var(--navy);color:#f6eddd;font:500 13px var(--cond);letter-spacing:.02em;white-space:nowrap;opacity:0;pointer-events:none;border-radius:7px;padding:4px 11px;transition:opacity .4s;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%)}.view-hint.is-on{opacity:1}.minimap{z-index:2;border:1.5px solid var(--line);background:var(--card-soft);cursor:crosshair;touch-action:none;opacity:0;pointer-events:none;width:184px;height:126px;transition:opacity .3s, transform .35s var(--ease);border-radius:11px;padding:3px;position:absolute;bottom:30px;left:14px;transform:translateY(8px);box-shadow:0 10px 22px -16px #3c2d148c}.minimap.is-on{opacity:1;pointer-events:auto;transform:none}.minimap canvas{border-radius:8px;width:100%;height:100%}.inspector{z-index:4;border:1.5px solid var(--line);opacity:0;visibility:hidden;pointer-events:none;cursor:default;background:#fbf6edfa;border-radius:11px;width:300px;padding:14px 14px 12px 16px;transition:opacity .18s,visibility 0s linear .18s;position:absolute;top:0;left:0;box-shadow:0 18px 34px -22px #3c2d14a6,inset 0 1px #ffffffb3}.inspector.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s}.insp-head{align-items:flex-start;gap:10px;display:flex}.insp-head h3{font:700 17px/21px var(--cond);letter-spacing:-.02em;text-transform:uppercase;color:var(--navy);flex:1}.insp-close,.insp-focus{border:1.5px solid var(--line);background:var(--card);border-radius:7px;flex:none;place-items:center;width:28px;height:28px;display:grid}.insp-close svg,.insp-focus svg{fill:none;width:15px;height:15px;stroke:var(--navy-2);stroke-width:2.2px;stroke-linecap:round}.insp-focus .ico{width:17px;height:17px}.insp-desc{color:var(--muted);margin-top:6px;font-size:14.5px;line-height:19px}.insp-rows{flex-direction:column;gap:12px;margin-top:12px;display:flex}.param{flex-direction:column;gap:6px;display:flex}.param.is-pulse{animation:pulse .9s var(--ease)}@keyframes pulse{30%{background:#e4f2ef;border-radius:6px;box-shadow:0 0 0 6px #e4f2ef}}.insp-label{font:600 13.5px var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--navy-2);justify-content:space-between;align-items:baseline;display:flex}.insp-label output{font:500 13px var(--mono);letter-spacing:0;color:var(--teal-deep);text-transform:none}.param input[type=range]{width:100%;height:22px;accent-color:var(--teal);cursor:pointer;margin:0}.seg,.swatches{flex-wrap:wrap;gap:5px;display:flex}.seg button{border:1.5px solid var(--line);background:var(--card);min-width:54px;font:600 13.5px var(--cond);letter-spacing:.03em;color:var(--navy-2);border-radius:7px;flex:1 0 auto;padding:5px 8px}.seg button.is-on{background:var(--navy);border-color:var(--navy);color:#f6eddd}.swatches button{width:28px;height:28px;box-shadow:0 0 0 1.5px var(--line);border:2px solid #fff;border-radius:50%}.swatches button.is-on{box-shadow:0 0 0 2px var(--navy)}.insp-note{color:var(--muted);font-size:13px;line-height:17px}.insp-switch{cursor:pointer;font:600 13.5px var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--navy-2);justify-content:space-between;align-items:center;gap:10px;display:flex}.insp-hint{color:var(--teal-deep);background:#eef5f2;border-radius:7px;margin-top:10px;padding:7px 9px;font-size:13.5px;line-height:18px}.insp-foot{gap:8px;margin-top:12px;display:flex}.insp-run{background:var(--teal);color:#fff;height:32px;font:700 14px var(--cond);letter-spacing:.08em;text-transform:uppercase;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.insp-run svg{fill:#fff;width:14px;height:14px}.insp-run.is-running{background:#c0652d}.schematic{z-index:3;width:var(--sch-w,420px);border:1.5px solid var(--line);background:var(--card-soft);border-radius:11px;flex-direction:column;padding:10px 12px 12px;display:none;position:absolute;top:112px;left:16px;box-shadow:0 10px 26px -18px #3c2d1499}.schematic.is-open{display:flex}.sch-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.sch-head h3{font:700 16px var(--cond);letter-spacing:-.02em;text-transform:uppercase;color:var(--navy)}.sch-head small{font:500 13px var(--cond);letter-spacing:.06em;color:var(--faint);text-transform:uppercase;margin-left:8px}.sch-close{border:1.5px solid var(--line);background:var(--card);border-radius:7px;place-items:center;width:26px;height:26px;display:grid}.sch-close svg{fill:none;width:14px;height:14px;stroke:var(--navy-2);stroke-width:2.2px;stroke-linecap:round}.sch-body{border:1.5px solid var(--line-soft);scrollbar-width:thin;background:#fbf7ef;border-radius:8px;flex:1;min-height:0;overflow:auto}.sch-body svg{width:100%;height:auto}.sch .box{fill:#fff9ee;stroke:#2a3550;stroke-width:1.5px}.sch .box.is-board{fill:#e7eef9}.sch .box.is-hot{stroke:var(--teal);stroke-width:2.4px}.sch .block-t{font:700 12.5px var(--cond);letter-spacing:.06em;text-transform:uppercase;fill:var(--navy)}.sch .pin-t{font:500 10.5px var(--mono);fill:#5c6066}.sch .net{fill:none;stroke:#8d8577;stroke-width:1.5px}.sch .net.is-high{stroke:var(--teal);stroke-width:2.4px}.sch .dot{fill:#2a3550}.sch g.hit{cursor:pointer}.sch g.hit:hover .box{stroke:var(--teal-deep)}.status{z-index:2;border:1.5px solid var(--line);border-radius:11px;width:444px;height:87px;position:absolute;top:17px;right:79px}.progress-card{border:1.5px solid var(--line);background:var(--card-soft);text-align:left;border-radius:9px;align-items:center;gap:21px;width:253px;height:66px;padding:0 16px 0 18px;transition:border-color .2s;display:flex;position:absolute;top:10px;left:9px}.progress-card:hover{border-color:#b8a68c}.progress-icon{fill:none;width:36px;height:36px;stroke:var(--navy);stroke-width:2.4px;stroke-linejoin:round;flex:none}.progress-body{flex:1;min-width:0}.progress-label{text-overflow:ellipsis;white-space:nowrap;font:700 15px var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--navy);display:block;overflow:hidden}.progress-row{align-items:center;gap:12px;margin-top:6px;display:flex}.progress-track{background:var(--track);border-radius:4px;flex:1;height:8px;overflow:hidden}.progress-fill{width:0;height:100%;transition:width .6s var(--ease);background:linear-gradient(90deg,#23b0ad,#149895);border-radius:4px;display:block}.progress-count{font:600 15px var(--cond);letter-spacing:.04em;color:var(--navy-2)}.clock{font-family:var(--mono);letter-spacing:.05em;color:#5d6066;white-space:nowrap;flex-direction:column;gap:3px;font-size:17.5px;line-height:23px;display:flex;position:absolute;top:17px;left:287px}.info-card{z-index:2;border:1.5px solid var(--line);width:476px;height:397px;transition:height .4s var(--ease), width .4s var(--ease), opacity .3s;background:#f6edde99;border-radius:12px;position:absolute;top:120px;right:20px}.info-card.is-expanded{z-index:5;background:#f6eddef2;width:700px;height:800px;box-shadow:0 24px 50px -30px #3c2d14a6}.info-card.is-covered{opacity:0;pointer-events:none}.tabs{align-items:flex-end;gap:33px;height:47px;padding-inline-start:22px;display:flex}.tabs button{height:40px;font:500 17.5px var(--cond);letter-spacing:.04em;text-transform:uppercase;color:#686c73;position:relative}.tabs button:hover{color:var(--navy)}.tabs button.is-active{color:var(--navy);font-weight:700}.tabs button.is-active:after{content:"";background:var(--navy);border-radius:3px 3px 1px 1px;height:4.5px;position:absolute;bottom:-2px;left:-7px;right:-9px}.info-body{top:57px;bottom:-1.5px;border:1.5px solid var(--line);background:var(--card);border-radius:10px;padding:16px 0 0 18px;position:absolute;inset-inline:3px 8px;overflow:hidden}.info-content{scrollbar-width:thin;scrollbar-color:#d8cbb8 transparent;height:100%;animation:fade-in .3s var(--ease);padding:0 18px 18px 0;overflow:auto}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}}.expand{z-index:1;border-radius:7px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:12px;right:14px}.expand:hover{background:#efe4d3}.expand svg,.btn-ghost svg{fill:none;width:19px;height:19px;stroke:var(--navy-2);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.expand svg .fill,.btn-ghost svg .fill{fill:var(--navy-2);stroke:none}.info-content h2{font:700 23px/28px var(--cond);letter-spacing:-.02em;text-transform:uppercase;color:var(--navy);padding-right:36px}.info-content .kicker{font:600 12.5px var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:2px;display:block}.lede{color:#4f535a;max-width:400px;margin-top:8px;font-size:17.5px;line-height:23px}.features{flex-direction:column;gap:4px;margin-top:12px;display:flex}.features li{color:#4f535a;align-items:center;gap:22px;min-height:48px;font-size:16.5px;line-height:21px;display:flex}.feature-icon{border:1.5px solid var(--line);background:#f6eee1cc;border-radius:9px;flex:none;place-items:center;width:51px;height:48px;display:grid}.feature-icon .ico{fill:none;width:28px;height:28px;stroke:var(--navy);stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round}.feature-icon .ico .fill{fill:var(--navy)}.pin-table{border-collapse:collapse;color:#4f535a;width:100%;margin-top:12px;font-size:14.5px;line-height:18px}.pin-table th{text-align:left;font:600 12.5px var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding:0 8px 6px 0}.pin-table td{border-top:1.5px solid var(--line-soft);vertical-align:top;padding:9px 8px 9px 0}.pin-table td:first-child{white-space:nowrap}.pinval{font:600 13px var(--mono);color:var(--navy);align-items:center;gap:7px;display:inline-flex}.pinval i{background:var(--c);border-radius:3px;width:10px;height:10px}.pin-table td:nth-child(2){color:var(--navy-2);font-weight:600}.steps{counter-reset:s;flex-direction:column;gap:10px;margin-top:12px;display:flex}.steps li{color:#4f535a;counter-increment:s;padding-left:38px;font-size:15.5px;line-height:21px;position:relative}.steps li:before{content:counter(s);border:1.5px solid var(--line);width:26px;height:26px;font:700 13.5px var(--cond);color:var(--navy);background:#f6eee1;border-radius:7px;place-items:center;display:grid;position:absolute;top:-1px;left:0}.spec-grid{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 0;display:grid}.spec-grid div{border:1.5px solid var(--line-soft);background:#fbf6ec;border-radius:8px;padding:9px 11px}.spec-grid dt{font:600 12px var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.spec-grid dd{font:600 15px var(--cond);letter-spacing:.02em;color:var(--navy);margin:2px 0 0}.code-card{z-index:2;border:1.5px solid var(--line);width:464px;height:254px;transition:top .4s var(--ease), height .4s var(--ease), width .4s var(--ease);background:#f6edde99;border-radius:11px;padding:0 10px 10px;position:absolute;top:527px;right:29px}.code-card.is-expanded{z-index:5;background:#f6eddef2;width:640px;height:661px;top:120px;box-shadow:0 24px 50px -30px #3c2d14a6}.code-card header{justify-content:space-between;align-items:center;height:56px;padding-inline-start:9px;display:flex}.code-card h2{font:700 18px var(--cond);letter-spacing:-.02em;text-transform:uppercase;color:var(--navy);margin-top:1px}.code-actions{gap:8px;display:flex}.btn-ghost{border:1.5px solid var(--line);background:var(--card);border-radius:8px;place-items:center;width:36px;height:34px;transition:background .15s;display:grid;position:relative}.btn-ghost:hover{background:#fff9ef}.btn-ghost.is-done:after{content:attr(data-msg);background:var(--navy);color:#f6eddd;font:600 12px var(--cond);white-space:nowrap;border-radius:5px;padding:2px 7px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.btn-run{background:var(--navy);border-radius:8px;place-items:center;width:40px;height:38px;transition:background .2s,transform .15s;display:grid;box-shadow:0 4px 10px -6px #18213db3}.btn-run:hover{transform:translateY(-1px)}.btn-run svg{width:20px;height:20px}.btn-run .fill{fill:#f6eddd}.btn-run .i-stop{display:none}.code-card[data-state=running] .btn-run,.code-card[data-state=uploading] .btn-run{background:#c0652d}.code-card[data-state=running] .btn-run .i-play,.code-card[data-state=uploading] .btn-run .i-play{display:none}.code-card[data-state=running] .btn-run .i-stop,.code-card[data-state=uploading] .btn-run .i-stop{display:block}.code-card[data-state=uploading] .btn-run{animation:.6s steps(2,end) infinite blinkbg}@keyframes blinkbg{50%{background:#d98a4f}}.code-wrap{--console-h:112px;border-radius:9px;height:calc(100% - 56px);position:relative;overflow:hidden}.code{border:1.5px solid var(--line);background:linear-gradient(90deg, transparent 41px, var(--line-soft) 41px, var(--line-soft) 42.5px, transparent 42.5px) no-repeat, var(--code-bg);height:100%;font-family:var(--mono);color:var(--navy);scrollbar-width:thin;scrollbar-color:#d8cbb8 transparent;tab-size:2;border-radius:9px;margin:0;padding:11px 0 0;font-size:15px;font-weight:500;line-height:22px;position:relative;overflow:auto}.code code{font-size:inherit;color:inherit;background:0 0;padding:0;display:block}.code .line{white-space:pre;padding-right:14px;transition:background .3s;display:block}.code .line.is-mark{background:#e4f1ee}.code .ln{text-align:right;width:30px;color:var(--gutter,#aaa59d);-webkit-user-select:none;user-select:none;margin-right:22px;display:inline-block}.code .kw{color:var(--kw)}.code .fn{color:var(--fn)}.code .cm{color:var(--faint);font-style:italic}.code .num{color:var(--kw)}.code .str{color:#3f8a4f}.code .pp{color:#8a4fd8}.code .val{color:var(--teal-deep);cursor:pointer;background:#dcefeb;border-radius:4px;padding:0 2px;transition:background .4s}.code .val.is-flash{background:#b5e3da}.code-card[data-state=running] .code,.code-card[data-state=uploading] .code{padding-bottom:var(--console-h)}.console{height:var(--console-h);border-top:1.5px solid var(--line);font-family:var(--mono);transition:transform .4s var(--ease);background:#f3eadb;border-radius:0 0 9px 9px;flex-direction:column;font-size:12.5px;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(102%)}.code-card[data-state=running] .console,.code-card[data-state=uploading] .console{transform:none}.console-grip{cursor:ns-resize;height:10px;position:absolute;top:-5px;left:0;right:0}.console-head{border-bottom:1.5px solid var(--line-soft);align-items:center;gap:8px;height:28px;padding:0 6px 0 12px;display:flex}.console-dot{background:#c9bba6;border-radius:50%;width:8px;height:8px}.code-card[data-state=running] .console-dot{background:var(--teal);box-shadow:0 0 0 3px #1aa3a133}.code-card[data-state=uploading] .console-dot{background:#e0a040}.console-title{font:700 12.5px var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}.console-status{font:500 12px var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-left:auto}.console-close{border-radius:5px;place-items:center;width:22px;height:22px;display:grid}.console-close:hover{background:#e9dece}.console-close svg{fill:none;width:13px;height:13px;stroke:var(--navy-2);stroke-width:2.2px;stroke-linecap:round}.console-lines{color:var(--navy-2);scrollbar-width:thin;flex:1;padding:5px 12px 6px;line-height:18px;overflow:auto}.console-lines div{white-space:pre-wrap;word-break:break-word}.console-lines .sys{color:var(--faint)}.lessons{z-index:2;position:absolute;bottom:24px;left:100px;right:22px}.lessons-head{align-items:center;gap:18px;margin:0 0 10px 1px;display:flex}.lessons h2{font:700 20px var(--cond);letter-spacing:-.02em;text-transform:uppercase;color:var(--navy);white-space:nowrap}.module-tabs{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.module-tabs::-webkit-scrollbar{display:none}.module-tabs button{border:1.5px solid var(--line);height:28px;font:600 13.5px var(--cond);letter-spacing:.06em;text-transform:uppercase;color:#5c6066;background:#f6eee1b3;border-radius:8px;flex:none;align-items:center;gap:6px;padding:0 11px 0 8px;transition:background .15s,border-color .15s,color .15s;display:flex}.module-tabs button b{color:var(--faint);font-weight:700}.module-tabs button:hover{color:var(--navy);border-color:#b8a68c}.module-tabs button.is-on{border-color:var(--navy);background:var(--navy);color:#f6eddd}.module-tabs button.is-on b{color:#8fd3cf}.module-tabs .mt-done{background:var(--teal);border-radius:50%;width:6px;height:6px}.lesson-scroller{position:relative}.lesson-list{scroll-behavior:smooth;scrollbar-width:none;gap:12px;margin:-4px -2px -6px;padding:4px 2px 6px;display:flex;overflow-x:auto}.lesson-list::-webkit-scrollbar{display:none}.lesson{border:1.5px solid var(--line);background:var(--card-soft);cursor:pointer;border-radius:9px;flex:none;align-items:center;width:236px;height:91px;padding:0 16px 0 10px;transition:border-color .25s,box-shadow .25s,transform .25s,background .25s;display:flex;position:relative}.lesson:hover{border-color:#bfae97;transform:translateY(-2px);box-shadow:0 6px 14px -8px #503c1e59}.lesson.is-active{border:2px solid var(--teal-deep);box-shadow:0 0 0 1px #3f7f8e14}.lesson-thumb{object-fit:contain;opacity:0;flex:none;width:84px;height:80px;transition:opacity .4s}.lesson-thumb.is-ready{opacity:1}.lesson-title{font:500 14.6px/20px var(--cond);letter-spacing:.05em;text-transform:uppercase;color:#4b505c;text-align:center;flex:1}.lesson.is-active .lesson-title{color:var(--navy);font-weight:700}.lesson .chev{fill:none;stroke:#8d8577;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.lesson.is-active .chev{stroke:var(--teal-deep)}.lesson-done{background:var(--teal);width:20px;height:20px;transition:transform .35s var(--ease);border-radius:50%;place-items:center;display:grid;position:absolute;top:7px;right:7px;transform:scale(0)}.lesson.is-done .lesson-done{transform:scale(1)}.lesson-done svg{fill:none;stroke:#fff;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.lesson-step{z-index:1;border:1.5px solid var(--line);background:#fbf6ec;border-radius:50%;place-items:center;width:30px;height:30px;margin-top:-15px;transition:opacity .2s;display:grid;position:absolute;top:50%;box-shadow:0 4px 10px -6px #3c2d1480}.lesson-step svg{fill:none;width:16px;height:16px;stroke:var(--navy-2);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.lesson-step:hover{background:#fff}.lesson-step.prev{left:-15px}.lesson-step.next{right:-6px}.lesson-step[hidden]{opacity:0;pointer-events:none;display:grid}html.compact,html.compact body{height:auto;min-height:100%;overflow:auto}html.compact .artboard{width:auto;height:auto;min-height:100dvh;padding:14px 12px calc(78px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand status""stage stage""lessons lessons""info info""code code""foot foot";align-items:center;gap:14px;display:grid;position:relative;overflow:visible;transform:none}html.compact .traces{display:none}html.compact .sidebar{z-index:20;width:auto;height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ece0cff5;position:fixed;inset:auto 0 0;box-shadow:0 -1px #c4b09666,0 -12px 30px -24px #3c2d1480}html.compact .side-toggle,html.compact .credit-side{display:none}html.compact .side-nav{justify-content:space-around;align-items:center;height:64px;display:flex}html.compact .side-nav li{width:auto;position:static}html.compact .side-nav li.side-lang{display:grid}html.compact .side-nav li.is-active a:before{display:none}html.compact .side-nav svg{width:28px;height:28px}html.compact .flyout{right:10px;bottom:calc(74px + env(safe-area-inset-bottom));z-index:21;width:auto;max-height:70dvh;position:fixed;transform:translateY(10px);top:auto!important;left:10px!important}html.compact .flyout.is-open{transform:none}html.compact .brand{grid-area:brand;align-items:center;min-width:0;position:static}html.compact .brand-logo{width:38px;height:35px;margin-top:0}html.compact .brand-rule{height:36px;margin:0 9px 0 10px}html.compact .brand-text{min-width:0}html.compact .brand-text h1{letter-spacing:.08em;white-space:normal;font-size:19px;line-height:21px}html.compact .brand-text p{letter-spacing:.12em;font-size:11.5px}html.compact .status{border:0;grid-area:status;width:auto;height:auto;position:static}html.compact .progress-card{gap:10px;width:132px;height:52px;padding:0 10px;position:static}html.compact .progress-icon{width:24px;height:24px}html.compact .progress-label{font-size:12px}html.compact .progress-row{gap:6px;margin-top:3px}html.compact .clock{display:none}html.compact .stage{border:1.5px solid var(--line);background:radial-gradient(100% 80% at 50% 45%,#fffaf0,#0000 70%);border-radius:12px;grid-area:stage;height:min(62vh,520px);min-height:330px;position:relative;inset:auto;overflow:hidden}html.compact .viewbar{bottom:8px;left:50%}html.compact .view-hint{display:none}html.compact .viewbar button{width:32px}html.compact .minimap{display:none}html.compact .inspector{width:auto;bottom:54px;right:8px;top:auto!important;left:8px!important;transform:none!important}html.compact .schematic{width:auto;max-height:55%;right:8px;top:8px!important;left:8px!important}html.compact .info-card{grid-area:info;width:auto;height:auto;min-height:360px;position:relative;inset:auto}html.compact .info-card.is-expanded{width:auto;height:auto}html.compact .info-body{top:auto;min-height:300px;margin:0 6px 6px;position:relative;inset-inline:auto}html.compact .info-content{height:auto;max-height:none}html.compact .tabs{scrollbar-width:none;gap:18px;padding-inline:16px;overflow-x:auto}html.compact .tabs button{flex:none;font-size:15px}html.compact .expand{display:none}html.compact .code-card{grid-area:code;width:auto;height:380px;position:relative;inset:auto}html.compact .code-card.is-expanded{width:auto;height:560px;top:auto}html.compact .code{font-size:13px;line-height:19px}html.compact .lessons{grid-area:lessons;min-width:0;position:static}html.compact .lessons-head{flex-direction:column;align-items:flex-start;gap:8px}html.compact .module-tabs{max-width:100%}html.compact .lesson{width:200px;height:76px}html.compact .lesson-thumb{width:64px;height:64px}html.compact .lesson-title{font-size:13px;line-height:17px}html.compact .lesson-step{display:none}html.compact .app-foot{grid-area:foot;justify-content:center;padding-top:6px;display:flex}html.compact .credit-row{gap:10px}html.compact .credit-row .credit-text{flex-direction:column;display:flex}html.compact .callout{display:none}html.compact .tags .tag{font-size:11.5px}html[data-board=esp32]{--bg:#f8f2e7;--card:#fffaf5;--card-soft:#fffaf5f5;--code-bg:#fffbf7;--line:#e7d1b8;--line-soft:#efdfca;--teal:#ff6b18;--teal-deep:#e95b0c;--faint:#9f998f;--sidebar:#f7efe2;--navy:#122940;--navy-2:#243c51;--trace:#e6d1b7}html[data-board=esp32]:not(.compact) .sidebar{background:var(--bg);width:104px;box-shadow:inset -1px 0 #e7d1b870}html[data-board=esp32]:not(.compact) .side-toggle{display:none}html[data-board=esp32]:not(.compact) .side-nav li{width:104px;left:0}html[data-board=esp32]:not(.compact) .side-nav li:first-child{top:106px}html[data-board=esp32]:not(.compact) .side-nav li:nth-child(2){top:199px}html[data-board=esp32]:not(.compact) .side-nav li:nth-child(3){top:291px}html[data-board=esp32]:not(.compact) .side-nav li:nth-child(4){top:383px}html[data-board=esp32]:not(.compact) .side-nav li:nth-child(5){top:475px}html[data-board=esp32]:not(.compact) .side-nav li:nth-child(6){display:grid;top:567px}html[data-board=esp32]:not(.compact) .side-nav a{border-radius:15px;flex-direction:column;justify-content:center;gap:7px;width:86px;height:84px;display:flex}html[data-board=esp32]:not(.compact) .side-nav svg{width:28px;height:28px}html[data-board=esp32]:not(.compact) .side-label{opacity:1;font:400 15px var(--cond);text-transform:none;letter-spacing:0;position:static}html[data-board=esp32]:not(.compact) .side-code{display:none}html[data-board=esp32] .side-nav li.is-active a,html[data-board=esp32] .side-nav li.is-on a{background:var(--card);box-shadow:inset 0 0 0 1px var(--line);color:var(--teal)}html[data-board=esp32] .side-nav li.is-active a:before{display:none}html[data-board=esp32] .side-nav li.is-active .side-label{color:var(--teal)}html[data-board=esp32]:not(.compact) .brand{left:126px}html[data-board=esp32] .brand-mark .trace{stroke:var(--teal)}html[data-board=esp32]:not(.compact) .stage{left:104px}html[data-board=esp32]:not(.compact) .stage:before{content:"";border:1.5px solid var(--line);pointer-events:none;opacity:.7;background:repeating-linear-gradient(31deg,#0000 0 73px,#dfcbb14d 74px,#0000 75px),repeating-linear-gradient(-39deg,#0000 0 73px,#dfcbb14d 74px,#0000 75px);border-radius:20px;position:absolute;inset:112px 15px 28px 12px}html[data-board=esp32]:not(.compact) .flyout{left:114px}html[data-board=esp32] .info-card,html[data-board=esp32] .code-card{border-radius:17px}html[data-board=esp32] .info-body{background:var(--card);border-radius:12px}html[data-board=esp32] .code{background:var(--card)}html[data-board=esp32] .btn-run{background:var(--teal);box-shadow:0 4px 12px #ff6b1820}html[data-board=esp32] .tabs button.is-active:after{background:var(--teal);height:4px}html[data-board=esp32] .callout{border-width:1px;border-radius:14px}html[data-board=esp32] .lesson{background:var(--card);border-radius:14px}html[data-board=esp32] .lesson.is-active{border-color:var(--teal);box-shadow:0 4px 10px #ff6b1812}html[data-board=esp32]:not(.compact) .lessons{left:126px}html[data-board=esp32]:not(.compact) .schematic{width:var(--sch-user-w,190px);height:var(--sch-user-h,180px);background:var(--card);z-index:4;border-radius:13px;max-height:65%;bottom:28px;right:28px;top:auto!important;left:auto!important}html[data-board=esp32]:not(.compact) .sch-head{cursor:default;min-height:26px;padding:6px 8px}html[data-board=esp32]:not(.compact) .sch-head h3{font-size:var(--pr-heading-3)}html[data-board=esp32]:not(.compact) .sch-head small{display:none}html[data-board=esp32]:not(.compact) .sch-body{height:calc(100% - 30px);max-height:none;padding:4px;overflow:auto}html[data-board=esp32]:not(.compact) .sch{width:100%;height:100%;min-height:0}html[data-board=esp32].compact .schematic{width:164px;height:152px;max-height:none;padding:6px;bottom:auto;right:8px;top:8px!important;left:auto!important}html[data-board=esp32].compact .sch-head{margin-bottom:3px}html[data-board=esp32].compact .sch-head h3{font-size:var(--pr-heading-3);padding-left:2px}html[data-board=esp32].compact .sch-head small{display:none}html[data-board=esp32].compact .sch-close{width:24px;height:24px}html[data-board=esp32].compact .sch-body{padding:3px;overflow:auto}html[data-board=esp32].compact .sch{width:100%;height:100%}.sch-resize{cursor:nwse-resize;width:18px;height:18px;color:var(--faint);font:14px var(--mono);touch-action:none;display:none;position:absolute;top:2px;left:2px}html[data-board=esp32]:not(.compact) .sch-resize{display:block}.sch-head h3{padding-left:10px}html:not(.compact) .schematic.is-positioned{left:var(--sch-user-x)!important;top:var(--sch-user-y)!important;bottom:auto!important;right:auto!important}.schematic-note{color:var(--muted);padding:5px 8px;font-size:11px;line-height:1.3}.fly-library{background:var(--bg-deep);text-align:left;width:100%;color:var(--navy);border-radius:6px;margin-bottom:12px;padding:12px 15px;font-weight:500}.credit-side{height:220px}.credit-side .credit-text{white-space:nowrap;max-height:150px;display:block}.credit-side .credit-text small{display:none}.credit-side .credit-text b{letter-spacing:0;font-size:10px}html[data-board=esp32]:not(.compact) .credit-side{height:210px;bottom:24px;left:12px}html[data-board=esp32]:not(.compact) .traces{opacity:.3}html[data-board=esp32] .module-tabs button.is-on{background:var(--teal);border-color:var(--teal);color:#fff}html[data-board=esp32] .module-tabs button.is-on b{color:#fff}@media (width<=450px){html.compact .brand-text h1{letter-spacing:.06em;font-size:16px;line-height:19px}html.compact .brand-text p{letter-spacing:.04em;font-size:9px}html.compact .brand-logo{width:28px}html.compact .brand-rule{margin-inline:6px}html.compact .progress-card{gap:6px;width:105px;padding:0 7px}html.compact .progress-track{width:38px}}:root,html[data-board=esp32]{--bg:#fff;--bg-deep:#edf1fc;--sidebar:#f3f6fb;--card:#fff;--card-soft:#fffffff7;--code-bg:#f8faff;--line:#cbd5e3;--line-soft:#e4eaf2;--navy:#172238;--navy-2:#243451;--ink:#172238;--muted:#566278;--faint:#64748b;--teal:var(--pr-accent);--teal-deep:var(--pr-accent-hover);--trace:#d9e3f3;--track:#e5eaf3;--sans:var(--pr-ui-font);--cond:var(--pr-display-font)}.artboard{background:#fff}.traces{display:none}.sidebar,html[data-board=esp32]:not(.compact) .sidebar{background:#f3f6fb;box-shadow:inset -1px 0 #dce3ed}.side-toggle{border-color:var(--line);background:#fff}.side-toggle:hover{background:#edf1fc}.brand{zoom:var(--brand-zoom,1);align-items:center;gap:25px;top:16px}.brand .pr-brand{color:var(--pr-nav-ink,#243b6b)}.studio-home{border-left:1px solid var(--line);color:#172238;font:24px/1.2 var(--pr-ui-font);letter-spacing:-.6px;padding:8px 0 8px 22px;text-decoration:none}.studio-home span{font:13px/1.3 var(--pr-ui-font);color:#566278;letter-spacing:0;margin-top:7px;display:block}.loader-title{font:28px/1.2 var(--pr-ui-font);text-transform:none;letter-spacing:0}.loader-fill,.progress-fill{background:var(--pr-accent)}.flyout,.tip,.inspector,.schematic,html[data-board=esp32] .schematic{background:#fff;border-color:#cbd5e3}.fly-list button:hover,.fly-list label:hover{background:#edf1fc}.fly-list button.is-current{background:#edf1fc;box-shadow:inset 0 0 0 1px #91acdc}.callout,.code-card,.info-card,.lesson,.progress-card,.research-library,html[data-board=esp32] .callout,html[data-board=esp32] .code-card,html[data-board=esp32] .info-card,html[data-board=esp32] .lesson{box-shadow:none;border-radius:5px}.info-card h2{font-family:var(--pr-ui-font);letter-spacing:-.02em;font-weight:500}.callout:hover{border-color:#2949a0}.readout{color:#fff}.switch-track{background:#cbd5e3}code{background:#edf1fc}.info-card,.code-card,.info-card.is-expanded,.code-card.is-expanded{background:#f8faff}.feature-icon,.steps li:before,.spec-grid div,.module-tabs button{background:#f3f6fb}.side-nav a:hover,.side-nav li.is-on a,.side-nav li.is-active a{background:#edf1fc;box-shadow:inset 0 0 0 1px #cbd5e3}.credit-side{background:#f3f6fb;border-color:#cbd5e3}.tabs{gap:23px;padding-inline-start:18px}.tabs button,html.compact .tabs button{letter-spacing:0;text-transform:none;font-size:14px}.info-content h2{text-transform:none}.callout h3{font-size:var(--pr-heading-3);letter-spacing:-.02em}html.compact .sidebar{background:#f3f6fbf5;box-shadow:0 -1px #cbd5e3}html.compact .stage{background:#fff}html.compact .progress-label{letter-spacing:0;font-size:13px}.workspace-actions button{border-radius:4px;font-size:13px}.workspace-actions button:hover{background:#edf1fc}.credit-rule{background:#cbd5e3}.credit-mark{object-fit:contain}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #416cbd}html.compact .brand{flex-direction:column;align-items:flex-start;gap:10px}html.compact .studio-home{letter-spacing:-.25px;border:0;padding:0 0 0 41px;font-size:17px}html.compact .studio-home span{display:none}.hardware-experiment{box-sizing:border-box;color:#172238;width:min(900px,100vw - 32px);max-height:90vh;font:14px/1.6 var(--pr-ui-font);background:#fff;border:1px solid #9daec7;border-radius:6px;padding:26px;overflow:auto}.hardware-experiment::backdrop{background:#17223899}.hardware-experiment header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.hardware-experiment h2{font:30px/1.2 var(--pr-ui-font);margin:8px 0 18px}.hardware-experiment header p{color:#2949a0;font-size:12px}.hardware-experiment label{margin:12px 0 6px;font-weight:600;display:block}.hardware-experiment textarea,.hardware-experiment input,.hardware-experiment select{box-sizing:border-box;width:100%;font:14px/1.5 var(--pr-ui-font);color:#172238;background:#fff;border:1px solid #9daec7;border-radius:4px;padding:10px}.hardware-experiment input[type=checkbox]{width:24px;height:24px}.hardware-experiment-actions{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.hardware-experiment button{color:#2949a0;cursor:pointer;background:#fff;border:1px solid #2949a0;border-radius:4px;min-height:42px;padding:9px 13px}.hardware-experiment button:disabled{opacity:.5}.hardware-experiment-controls{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.hardware-evidence{max-width:100%;margin:20px 0;overflow:auto}.hardware-evidence table{border-collapse:collapse;width:100%}.hardware-evidence td,.hardware-evidence th{text-align:left;white-space:nowrap;border-bottom:1px solid #cbd5e3;padding:10px}.hardware-evidence meter{accent-color:#2949a0;width:90px}.hardware-evidence pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.6 Consolas,monospace}.hardware-experiment summary{cursor:pointer;color:#2949a0;padding:10px 0}.hardware-experiment :focus-visible{outline-offset:3px;outline:3px solid #2949a0}.hardware-experiment-status{color:#2949a0}.workspace-actions{flex-wrap:wrap}@media (width<=600px){.hardware-experiment{padding:16px}.hardware-experiment h2{font-size:var(--pr-heading-2)}.workspace-actions button{font-size:13px}}.brand{gap:16px}.brand .studio-home{font:600 16px/1.3 var(--pr-display-font);padding-left:16px}.studio-home span{display:none}.hardware-task-nav{z-index:6;gap:8px;display:flex;position:absolute;top:87px;left:150px}.hardware-task-nav button{border:1px solid var(--line);color:var(--navy);font:500 14px var(--pr-ui-font);background:#fff;border-radius:6px;padding:9px 14px}.hardware-task-nav button[aria-pressed=true]{border-color:var(--pr-accent);background:var(--pr-accent-soft)}.hardware-progress-note{font:13px/1.4 var(--pr-ui-font);max-width:320px;margin:6px 0}.model-capability{font:13px/1.45 var(--pr-ui-font);color:var(--muted);margin:0 10px 10px}.hardware-tools{font-size:14px;position:relative}.hardware-tools>summary{cursor:pointer;border:1px solid var(--line);border-radius:6px;padding:8px 12px}.hardware-tools>div{border:1px solid var(--line);background:#fff;gap:8px;padding:10px;display:grid;position:absolute;top:100%;right:0}.workspace-actions>a{font:500 14px var(--pr-ui-font);color:var(--pr-accent)}.progress-count{white-space:normal;font-size:13px}html[data-hardware-task=overview] .code-card,html[data-hardware-task=wiring] .code-card,html[data-hardware-task=run] .info-card{display:none}html[data-hardware-task=run]:not(.compact) .code-card{height:590px;top:150px}.code-card h2{text-transform:none}html.compact .hardware-task-nav{flex-wrap:wrap;padding:10px 16px;position:relative;top:auto;left:auto}html.compact .hardware-task-nav button{flex:1}html.compact .brand{gap:10px}html.compact .model-capability{font-size:13px}html.compact .hardware-progress-note{font-size:12px}.status{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:12px;height:auto;min-height:87px;padding:9px;display:grid}.progress-card{gap:10px;width:100%;height:auto;min-height:64px;padding:10px;position:static}.progress-icon{flex-shrink:0;width:28px;height:28px}.progress-body{min-width:0}.progress-track{flex-shrink:0;width:42px}.progress-row{gap:7px}.hardware-progress-note{margin:3px 0;font-size:12px}.progress-summary{min-width:0}.progress-label,.lessons h2,.lesson-title,.module-tabs button,.pin-table th{text-transform:none;letter-spacing:0}html.compact .artboard{grid-template-columns:minmax(0,1fr);grid-template-areas:"brand""actions""task""stage""info""code""status""lessons""foot";align-items:stretch;gap:12px}html.compact .brand{flex-wrap:wrap;justify-content:space-between;gap:8px 16px;display:flex}html.compact .brand .studio-home{border:0;width:100%;padding:4px 0;font-size:16px}html.compact .brand .pr-brand{flex-shrink:0}html.compact .workspace-actions{grid-area:actions;justify-content:space-between;gap:14px;margin:0;padding:0;display:flex;position:static!important}html.compact .hardware-task-nav{flex-wrap:nowrap;grid-area:task;padding:0;position:static}html.compact .hardware-task-nav button{min-height:42px;padding:9px 12px}html.compact .stage{height:min(42vh,360px);min-height:300px}html.compact .status{border:1px solid var(--line);border-radius:6px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px;padding:10px;display:grid}html.compact .progress-card{width:100%;height:auto;min-height:62px;padding:8px}html.compact .progress-count{font-size:12px}html.compact .info-card,html.compact .info-body{min-height:0}html.compact .hardware-tools>div{z-index:30}html.compact[data-hardware-task=overview] .tags{display:none}.brand .progress-summary{min-width:0}.workspace-actions{z-index:5;align-items:center;gap:8px;display:flex;position:absolute;top:35px;right:556px}.workspace-actions button{border:1px solid var(--line);background:var(--card);color:var(--navy);font:600 14px var(--cond);white-space:nowrap;border-radius:7px;padding:8px 12px}.workspace-actions button:hover{border-color:var(--teal-deep);background:#fffaf1}.research-library{border:1px solid var(--line);width:min(1180px,100vw - 48px);max-width:none;height:min(860px,100dvh - 48px);max-height:none;color:var(--navy);background:var(--bg);border-radius:14px;padding:0;overflow:hidden;box-shadow:0 20px 100px #18213d50}.research-library[open]{flex-direction:column;display:flex}.research-library::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#18213d75}.library-header{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;padding:24px 30px 20px;display:flex}.library-header p{font:600 12px var(--cond);letter-spacing:.16em;color:var(--teal-deep);margin-bottom:4px}.library-header h2{font:700 32px var(--cond);letter-spacing:-.02em}.library-close{border:1px solid var(--line);border-radius:8px;width:40px;height:40px;font-size:21px}.library-close:hover{background:var(--bg-deep)}.library-tabs{border-bottom:1px solid var(--line);flex:none;gap:26px;padding:0 30px;display:flex;overflow-x:auto}.library-tabs button{color:var(--muted);border-bottom:3px solid #0000;flex:none;padding:16px 0 13px;font-weight:600}.library-tabs button[aria-pressed=true]{color:var(--navy);border-color:var(--teal-deep)}.library-body{overscroll-behavior:contain;flex:1;min-height:0;padding:28px 30px 40px;overflow:auto}.library-intro{max-width:820px;margin-bottom:24px}.library-intro h3{font:600 27px var(--cond);margin-bottom:8px}.library-intro p,.library-note{color:var(--ink);font-size:16px;line-height:1.55}.library-filters{grid-template-columns:2fr 1fr 1fr;gap:16px;margin:22px 0 16px;display:grid}.library-filters label{font:600 13px var(--cond);letter-spacing:.03em;color:var(--ink);gap:8px;display:grid}.library-filters input,.library-filters select{background:var(--card);border:1px solid var(--line);width:100%;min-width:0;min-height:44px;color:var(--navy);font:400 16px var(--sans);border-radius:6px;padding:10px 12px}.library-result-count{font:400 12px var(--mono);color:var(--muted);padding:5px 0 18px}.library-course{border-top:1px solid var(--line);background:0 0}.library-course:last-child{border-bottom:1px solid var(--line)}.library-course>summary{cursor:pointer;align-items:center;gap:18px;padding:20px 5px;list-style:none;display:flex}.library-course summary::-webkit-details-marker{display:none}.library-course>summary>span:nth-child(2){flex:1}.library-course-number{font:400 15px var(--mono);color:var(--teal-deep);min-width:28px}.library-course strong{font:600 23px var(--cond);display:block}.library-course small{color:var(--muted);margin-top:4px;font-size:14px;line-height:1.4;display:block}.library-course>summary>span:last-child{font:400 12px var(--mono);color:var(--muted)}.library-course-content{padding:0 10px 24px 51px}.library-course-content>p{color:var(--ink);margin-bottom:18px;line-height:1.5}.library-module{background:var(--card);border:1px solid var(--line-soft);border-radius:6px;margin:8px 0;overflow:hidden}.library-module>summary{cursor:pointer;justify-content:space-between;gap:16px;padding:14px 18px;font-size:16px;display:flex}.library-module>summary span{font:400 11px var(--mono);white-space:nowrap;color:var(--muted);align-self:center}.library-lessons{padding:0 16px 10px}.library-lessons li+li{border-top:1px solid var(--line-soft)}.library-lessons a,.library-lessons button,.planned-lesson{color:var(--navy);text-align:left;align-items:center;gap:14px;width:100%;padding:12px 4px;text-decoration:none;display:flex}.library-lessons a:hover,.library-lessons button:hover{background:#e9e5d8}.library-lessons a>span:nth-child(2),.library-lessons button>span:nth-child(2),.planned-lesson>span:nth-child(2){flex:1}.library-lessons b{font-weight:500;line-height:1.3}.library-lessons em{font:400 11px var(--mono);white-space:nowrap;color:var(--teal-deep)}.planned-lesson em{color:var(--muted)}.library-dot{border:1px solid var(--faint);border-radius:50%;flex:none;width:6px;height:6px}.library-dot.ready{background:var(--teal-deep);border-color:var(--teal-deep)}.library-message{color:var(--ink);padding:40px 0;line-height:1.5}.library-action{border:1px solid var(--line);border-radius:6px;margin-top:18px;padding:10px 20px}.library-source-list{grid-template-columns:1fr 1fr;gap:0 32px;display:grid}.library-source-list article{border-top:1px solid var(--line);padding:22px 0}.library-source-list h4{font:600 23px var(--cond);margin:0 0 7px}.library-source-list a{color:var(--navy);text-underline-offset:4px;text-decoration-thickness:1px}.library-source-list p{color:var(--ink);margin:8px 0;line-height:1.45}.library-source-list span{color:var(--teal-deep);font-size:13px}.library-note{border-top:1px solid var(--line);margin-top:16px;padding-top:20px;font-size:14px}:focus-visible{outline:3px solid var(--teal-deep);outline-offset:3px}@media (width<=700px){.research-library{border-radius:10px;width:calc(100vw - 16px);height:calc(100dvh - 16px)}.library-header{padding:18px 16px}.library-header h2{font-size:var(--pr-heading-2)}.library-header p{font-size:10px}.library-tabs{gap:22px;padding:0 16px;font-size:14px}.library-body{padding:20px 16px 32px}.library-filters{grid-template-columns:1fr 1fr;gap:12px}.library-filters>label:first-child{grid-column:1/-1}.library-course-content{padding-left:0}.library-course>summary{gap:10px}.library-course strong{font-size:21px}.library-module>summary{padding:14px 10px}.library-lessons{padding:0 8px 10px}.library-source-list{grid-template-columns:1fr}.library-intro h3{font-size:var(--pr-heading-3)}}
