/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.isolate{isolation:isolate}.order-1{order:1}.order-3{order:3}.order-5{order:5}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.order-13{order:13}.order-1001{order:1001}.order-1002{order:1002}.order-7731{order:7731}.order-7732{order:7732}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-4{margin:calc(var(--spacing) * 4)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.scale-32{--tw-scale-x:32%;--tw-scale-y:32%;--tw-scale-z:32%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\!ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.\!filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\[a\:b\]{a:b}.\[input\:tail\]{input:tail}.\[output\:forward\]{output:forward}}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");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{--ink-0:#05080d;--ink-1:#090e16;--ink-2:#0e1520;--ink-3:#15202f;--fill:#0c131e;--mute:#96acd2;--line:#96acd221;--line-2:#96acd242;--text-1:#e9eef7;--text-2:#a8b4c9;--text-3:#6a7790;--accent:#ff8a3d;--accent-hi:#ffa766;--accent-ink:#1f0b00;--ok:#34d8a6;--warn:#ffd04a;--err:#ff4d78;--req:#56c8ff;--cp:#b49bff;--done:#7aa2ff;--pink:#ff9ad5;--cyan:#7ee3ff;--err-soft:#ffc0c9;--ok-soft:#b9f5e2;--syn-key:#8fb8ff;--syn-str:#9be8c4;--syn-num:#ffc98a;--syn-flag:#c9b6ff;--stage-a:#080d15;--stage-b:#05080d;--code-bg:#070b12;--callout-bg:#2a1103;--callout-ink:#ffe6d6;--shadow:#000;--font-display:"Bricolage Grotesque Variable", "Geist Variable", system-ui, sans-serif;--font-sans:"Geist Variable", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--ink-0:#f5f7fb;--ink-1:#fff;--ink-2:#eef2f7;--ink-3:#e2e8f0;--fill:#f1f4f9;--mute:#263654;--line:#2636541c;--line-2:#26365438;--text-1:#0e1626;--text-2:#3c485d;--text-3:#687489;--accent:#e0610f;--accent-hi:#f07424;--accent-ink:#fff;--ok:#0c9a6f;--warn:#a97b00;--err:#d42a58;--req:#1383c9;--cp:#6f4ff0;--done:#3b67d8;--pink:#c8338a;--cyan:#0a8fae;--err-soft:#a3173f;--ok-soft:#0a6e50;--syn-key:#2459c9;--syn-str:#0b7a55;--syn-num:#a4560a;--syn-flag:#6a3fd6;--stage-a:#fdfdff;--stage-b:#f3f6fb;--code-bg:#f4f6fa;--callout-bg:#fff1e7;--callout-ink:#7a2e00;--shadow:#0f17262e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ink-0);color:var(--text-1);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}code,kbd,pre,.mono{font-family:var(--font-mono)}.display{font-family:var(--font-display);letter-spacing:-.025em;font-weight:600}.kicker{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:600}.dim{color:var(--text-3)}.brand{font-family:var(--font-display);letter-spacing:-.03em;white-space:nowrap;align-items:center;gap:9px;font-size:19px;font-weight:650;display:inline-flex}.brand-learn{opacity:.72;font-weight:500}.brand strong{font-weight:700}.btn{border:1px solid var(--line-2);background:var(--ink-1);height:40px;color:var(--text-1);white-space:nowrap;border-radius:10px;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:500;transition:border-color .15s,background .15s,transform .15s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.btn:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 55%, transparent)}}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:0 8px 28px -12px var(--accent);font-weight:600}@supports (color:color-mix(in lab, red, red)){.btn-primary{box-shadow:0 8px 28px -12px color-mix(in srgb, var(--accent) 60%, transparent)}}.btn-primary:hover:not(:disabled){background:var(--accent-hi)}.btn-ghost{background:0 0}.btn:disabled{opacity:.4}kbd{border:1px solid var(--line-2);min-width:24px;height:22px;color:var(--text-2);background:var(--ink-1);border-radius:5px;place-items:center;padding:0 6px;font-size:11px;display:inline-grid}.panel{border-right:1px solid var(--line);background:linear-gradient(180deg, var(--ink-1), var(--ink-0));flex-direction:column;min-height:0;display:flex}@supports (color:color-mix(in lab, red, red)){.panel{background:linear-gradient(180deg, color-mix(in srgb, var(--ink-1) 60%, transparent), color-mix(in srgb, var(--ink-0) 20%, transparent))}}@keyframes stepIn{0%{opacity:0;transform:translateY(8px)}}.prose p{color:var(--text-2);margin:0 0 14px;font-size:15.5px;line-height:1.68}.prose strong{color:var(--text-1);font-weight:600}.prose code,.inline-code{background:var(--ink-3);color:var(--text-1);white-space:normal;overflow-wrap:anywhere;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:5px;padding:2px 6px;font-size:.86em}.term-link{color:var(--text-1);-webkit-text-decoration:underline dotted var(--accent);-webkit-text-decoration:underline dotted var(--accent);-webkit-text-decoration:underline dotted var(--accent);text-decoration:underline dotted var(--accent);text-underline-offset:4px;cursor:help;text-decoration-thickness:1.5px}.term-link:hover{color:var(--accent)}.card{border:1px solid var(--line-2);background:var(--ink-1);border-radius:12px;margin:16px 0;overflow:hidden}.card-head{font-family:var(--font-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:8px;padding:10px 14px 0;font-size:11px;font-weight:600;display:flex}.card-body{color:var(--text-2);padding:8px 14px 14px;font-size:14.5px}.card.model{border-color:var(--cp)}@supports (color:color-mix(in lab, red, red)){.card.model{border-color:color-mix(in srgb, var(--cp) 40%, transparent)}}.card.model{background:linear-gradient(180deg, var(--cp), var(--cp))}@supports (color:color-mix(in lab, red, red)){.card.model{background:linear-gradient(180deg, color-mix(in srgb, var(--cp) 9%, transparent), color-mix(in srgb, var(--cp) 2%, transparent))}}.card.model .card-head{color:var(--cp)}.card.model .card-body{color:var(--text-1);font-family:var(--font-display);letter-spacing:-.01em;font-size:17px;font-weight:500;line-height:1.4}.card.turn{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.card.turn{border-color:color-mix(in srgb, var(--accent) 40%, transparent)}}.card.turn{background:linear-gradient(180deg, var(--accent), var(--accent))}@supports (color:color-mix(in lab, red, red)){.card.turn{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 7%, transparent), color-mix(in srgb, var(--accent) 1%, transparent))}}.card.turn .card-head{color:var(--accent)}.card.tip .card-head{color:var(--warn)}.card.staff .card-head{color:var(--req)}.verdict{color:var(--text-1);margin-top:12px;font-size:14.5px}.verdict b.ok{color:var(--ok)}.verdict b.no{color:var(--err)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line-2);background:var(--ink-0);height:34px;color:var(--text-1);border-radius:9px;align-items:center;gap:7px;padding:0 12px;font-size:13.5px;transition:border-color .15s,transform .12s;display:inline-flex}.chip:hover{border-color:var(--text-2)}.chip:active{transform:scale(.97)}.chip.break{border-color:var(--err)}@supports (color:color-mix(in lab, red, red)){.chip.break{border-color:color-mix(in srgb, var(--err) 50%, transparent)}}.chip.break{color:var(--err-soft)}.chip.break:hover{border-color:var(--err);background:var(--err)}@supports (color:color-mix(in lab, red, red)){.chip.break:hover{background:color-mix(in srgb, var(--err) 10%, transparent)}}.chip.fix{border-color:var(--ok)}@supports (color:color-mix(in lab, red, red)){.chip.fix{border-color:color-mix(in srgb, var(--ok) 50%, transparent)}}.chip.fix{color:var(--ok-soft)}.chip.fix:hover{border-color:var(--ok);background:var(--ok)}@supports (color:color-mix(in lab, red, red)){.chip.fix:hover{background:color-mix(in srgb, var(--ok) 10%, transparent)}}.code{border:1px solid var(--line-2);background:var(--code-bg);border-radius:12px;margin:16px 0;overflow:hidden}.code-head{border-bottom:1px solid var(--line);font-family:var(--font-mono);color:var(--text-2);align-items:center;gap:10px;padding:9px 14px;font-size:11.5px;display:flex}.code-head .dots{gap:5px;display:inline-flex}.code-head .dots i{background:var(--ink-3);border-radius:50%;width:7px;height:7px}.code-head .tag{letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);margin-left:auto;font-size:9.5px}.code pre{scrollbar-width:thin;scrollbar-color:var(--ink-3) transparent;margin:0;padding:12px 0;font-size:12.5px;line-height:1.7;overflow-x:auto}.code .ln{white-space:pre;border-left:2px solid #0000;min-height:1.7em;padding:0 14px;display:block}.code .ln.hot{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.code .ln.hot{background:color-mix(in srgb, var(--accent) 8%, transparent)}}.code .ln.hot{border-left-color:var(--accent)}.tk-key{color:var(--syn-key)}.tk-str{color:var(--syn-str)}.tk-num{color:var(--syn-num)}.tk-com{color:var(--text-3);font-style:italic}.tk-cmd{color:var(--accent)}.tk-flag{color:var(--syn-flag)}.term-line{white-space:pre;padding:0 14px}.term-cmd{color:var(--text-1)}.term-cmd:before{content:"$ ";color:var(--accent)}.term-out{color:var(--text-2);margin-bottom:10px;transition:opacity .2s}.term-out .bad{color:var(--err)}.term-out .good{color:var(--ok)}.term-out .mid{color:var(--warn)}.live-dot{background:var(--ok);width:6px;height:6px;box-shadow:0 0 0 0 var(--ok);border-radius:50%;display:inline-block}@supports (color:color-mix(in lab, red, red)){.live-dot{box-shadow:0 0 0 0 color-mix(in srgb, var(--ok) 60%, transparent)}}.live-dot{animation:1.6s infinite ping}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.drill-input{border:1px solid var(--line-2);background:var(--code-bg);height:44px;font-family:var(--font-mono);border-radius:9px;align-items:center;gap:8px;margin-top:10px;padding:0 12px;font-size:13px;display:flex}.drill-input:focus-within{border-color:var(--accent)}.drill-input span{color:var(--accent)}.drill-input input{min-width:0;color:var(--text-1);font:inherit;background:0 0;border:0;outline:0;flex:1}.drill-input.pass{border-color:var(--ok)}.drill-input.fail{border-color:var(--err);animation:.3s shake}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.cheat{border-collapse:collapse;width:100%;font-size:13.5px}.cheat th{text-align:left;font-family:var(--font-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);padding:8px 10px 8px 0;font-size:10.5px;font-weight:400}.cheat td{border-top:1px solid var(--line);color:var(--text-2);vertical-align:top;padding:11px 10px 11px 0}.cheat td:first-child{color:var(--text-1);white-space:nowrap;font-weight:600}.remember{margin:8px 0 0;padding:0;list-style:none}.remember li{font-family:var(--font-mono);color:var(--text-1);border-top:1px solid var(--line);padding:7px 0 7px 18px;font-size:12.5px;position:relative}.remember li:before{content:"";background:var(--accent);border-radius:1px;width:6px;height:6px;position:absolute;top:15px;left:2px;transform:rotate(45deg)}.challenge{border:1px solid var(--line-2);background:var(--ink-0);border-radius:10px;margin-top:10px;padding:12px 14px;transition:border-color .3s,background .3s}.challenge b{color:var(--text-1);align-items:center;gap:8px;font-size:14.5px;display:flex}.challenge p{color:var(--text-2);margin:4px 0 0;font-size:13.5px}.challenge.done{border-color:var(--ok);background:var(--ok)}@supports (color:color-mix(in lab, red, red)){.challenge.done{background:color-mix(in srgb, var(--ok) 8%, transparent)}}.challenge.done b{color:var(--ok)}.stage-wrap{min-width:0;min-height:0;padding:14px;position:relative}.stage{border:1px solid var(--line-2);background:radial-gradient(circle at 1px 1px, var(--mute) 1px, transparent 0) 0 0 / 22px 22px, linear-gradient(180deg, var(--stage-a), var(--stage-b));border-radius:16px;flex-direction:column;height:100%;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.stage{background:radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--mute) 11%, transparent) 1px, transparent 0) 0 0 / 22px 22px, linear-gradient(180deg, var(--stage-a), var(--stage-b))}}.stage{overflow:hidden}.stage:before,.stage:after{content:"";border:1.5px solid var(--text-3);opacity:.6;pointer-events:none;width:14px;height:14px;position:absolute}.stage:before{border-bottom:0;border-right:0;top:8px;left:8px}.stage:after{border-top:0;border-left:0;bottom:8px;right:8px}.stage-canvas{flex:1;min-height:0;position:relative}.stage-canvas>svg{width:100%;height:100%;position:absolute;inset:0}@keyframes tick{0%{opacity:0;transform:translateY(6px)}}.frame-dots{gap:3px;margin-bottom:5px;display:flex}.frame-dots i{background:var(--ink-3);border-radius:2px;width:12px;height:3px;transition:background .2s}.frame-dots i.on{background:var(--accent)}.ent{transition:transform .6s cubic-bezier(.3,.9,.3,1)}.ent-in{transform-box:fill-box;transform-origin:50%;animation:.45s cubic-bezier(.2,.9,.3,1.2) entIn}@keyframes entIn{0%{opacity:0;scale:.6}}.ent-out{transform-box:fill-box;transform-origin:50%;animation:.45s ease-in forwards entOut}@keyframes entOut{to{opacity:0;scale:.7}}.clickable{cursor:pointer}.clickable:hover .hover-ring{opacity:1}.hover-ring{opacity:0;transition:opacity .15s}.pulse-ring{transform-box:fill-box;transform-origin:50%;animation:1.1s ease-out infinite pulseRing}@keyframes pulseRing{0%{opacity:.9;scale:1}to{opacity:0;scale:1.18}}.blink{animation:1.1s ease-in-out infinite blink}@keyframes blink{50%{opacity:.35}}.jolt{animation:.4s jolt}@keyframes jolt{20%{translate:-3px}40%{translate:3px}60%{translate:-2px}80%{translate:2px}}.wire{fill:none;stroke:var(--req)}@supports (color:color-mix(in lab, red, red)){.wire{stroke:color-mix(in srgb, var(--req) 34%, transparent)}}.wire{stroke-width:1.2px;transition:stroke .4s,opacity .4s}.wire.dead{stroke:var(--err)}@supports (color:color-mix(in lab, red, red)){.wire.dead{stroke:color-mix(in srgb, var(--err) 35%, transparent)}}.wire.dead{stroke-dasharray:4 5}.dash-flow{stroke-dasharray:3 7;animation:1.2s linear infinite dashFlow}@keyframes dashFlow{to{stroke-dashoffset:-20px}}.svg-label{font-family:var(--font-mono);fill:var(--text-3);letter-spacing:.07em;text-transform:uppercase;font-size:9px}.svg-name{font-family:var(--font-mono);fill:var(--text-1);font-size:12px}.svg-sub{font-family:var(--font-mono);fill:var(--text-3);font-size:10px}.callout-box{fill:var(--callout-bg);stroke:var(--accent);stroke-width:1px}.callout-text{font-family:var(--font-sans);fill:var(--callout-ink);font-size:11.5px;font-weight:500}.tooltip{z-index:5;pointer-events:none;border:1px solid var(--line-2);background:var(--ink-1);border-radius:9px;max-width:300px;padding:9px 11px;position:absolute}@supports (color:color-mix(in lab, red, red)){.tooltip{background:color-mix(in srgb, var(--ink-1) 97%, transparent)}}.tooltip{font-family:var(--font-mono);color:var(--text-2);box-shadow:0 14px 40px -12px var(--shadow);font-size:11px;line-height:1.55}.tooltip b{color:var(--text-1);font-weight:500}.tooltip em{color:var(--accent);margin-top:5px;font-style:normal;display:block}.legend{font-family:var(--font-mono);color:var(--text-3);flex-wrap:wrap;gap:4px 12px;margin-bottom:8px;font-size:10.5px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:50%;width:8px;height:8px}@keyframes drawerIn{0%{opacity:0;transform:translate(24px)}}.page{background:linear-gradient(var(--mute) 1px, transparent 1px) 0 0 / 100% 120px, linear-gradient(90deg, var(--mute) 1px, transparent 1px) 0 0 / 120px 100%, radial-gradient(900px 500px at 80% 0%, var(--req), transparent 60%), radial-gradient(700px 500px at 0% 20%, var(--accent), transparent 60%), var(--ink-0);min-height:100dvh}@supports (color:color-mix(in lab, red, red)){.page{background:linear-gradient(color-mix(in srgb, var(--mute) 3.5%, transparent) 1px, transparent 1px) 0 0 / 100% 120px, linear-gradient(90deg, color-mix(in srgb, var(--mute) 3.5%, transparent) 1px, transparent 1px) 0 0 / 120px 100%, radial-gradient(900px 500px at 80% 0%, color-mix(in srgb, var(--req) 7%, transparent), transparent 60%), radial-gradient(700px 500px at 0% 20%, color-mix(in srgb, var(--accent) 5%, transparent), transparent 60%), var(--ink-0)}}.wrap{width:min(1272px,100% - 48px);margin:0 auto}.site-nav{align-items:center;gap:22px;height:78px;display:flex}.site-nav nav{color:var(--text-2);align-items:center;gap:22px;margin-left:auto;font-size:14.5px;display:flex}.site-nav nav a:hover{color:var(--text-1)}.hero-title{font-family:var(--font-display);letter-spacing:-.045em;margin:14px 0 0;font-size:clamp(44px,6.6vw,96px);font-weight:650;line-height:1}.hero-title em{color:var(--accent);font-style:normal;display:block}.lede{max-width:600px;color:var(--text-2);font-size:18px;line-height:1.6}.section-title{font-family:var(--font-display);letter-spacing:-.035em;margin:8px 0 0;font-size:clamp(30px,3.4vw,46px);font-weight:620;line-height:1.06}.section-title em{color:var(--accent);font-style:normal}.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.feature{border:1px solid var(--line-2);background:linear-gradient(180deg, var(--ink-2), var(--ink-1));border-radius:14px;padding:22px}@supports (color:color-mix(in lab, red, red)){.feature{background:linear-gradient(180deg, color-mix(in srgb, var(--ink-2) 90%, transparent), color-mix(in srgb, var(--ink-1) 60%, transparent))}}.feature .num{font-family:var(--font-mono);color:var(--accent);letter-spacing:.07em;font-size:11px}.feature h3{font-family:var(--font-display);letter-spacing:-.02em;margin:10px 0 6px;font-size:22px;font-weight:600}.feature p{color:var(--text-2);margin:0;font-size:15px}.lesson-grid{grid-template-columns:repeat(auto-fill,minmax(286px,1fr));gap:14px;display:grid}.lcard{border:1px solid var(--line-2);background:radial-gradient(260px 140px at 100% 0%, var(--mute), transparent 70%), var(--ink-1);border-radius:14px;flex-direction:column;min-height:236px;padding:18px 18px 16px;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.lcard{background:radial-gradient(260px 140px at 100% 0%, color-mix(in srgb, var(--mute) 8%, transparent), transparent 70%), var(--ink-1)}}.lcard{transition:border-color .2s,transform .2s}.lcard:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.lcard:hover{border-color:color-mix(in srgb, var(--accent) 60%, transparent)}}.lcard:hover{transform:translateY(-2px)}.lcard-top{font-family:var(--font-mono);letter-spacing:.07em;color:var(--text-3);justify-content:space-between;align-items:center;font-size:10.5px;display:flex}.badge{border:1px solid var(--line-2);height:20px;font-family:var(--font-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:0 8px;font-size:10px;font-weight:600;display:inline-flex}.badge.live{color:var(--ok);border-color:var(--ok)}@supports (color:color-mix(in lab, red, red)){.badge.live{border-color:color-mix(in srgb, var(--ok) 50%, transparent)}}.badge.soon{color:var(--text-3)}.badge.done{color:var(--accent);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.badge.done{border-color:color-mix(in srgb, var(--accent) 50%, transparent)}}.lcard-icon{color:var(--accent);margin:16px 0 12px}.lcard h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 6px;font-size:21px;font-weight:600;line-height:1.15}.lcard p{color:var(--text-2);margin:0;font-size:14px}.lcard-foot{font-family:var(--font-mono);color:var(--text-3);justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;font-size:11px;display:flex}.lcard-foot b{font-family:var(--font-sans);color:var(--accent);align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.lcard-progress{border-radius:0 0 14px 14px;height:3px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.lcard-progress i{background:var(--accent);height:100%;display:block}.domain-head{border-bottom:1px solid var(--line);align-items:baseline;gap:14px;margin:34px 0 14px;padding-bottom:12px;display:flex}.domain-head h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:23px;font-weight:600}.weight{font-family:var(--font-mono);color:var(--accent);font-size:12px}.weight-bar{background:var(--ink-3);border-radius:2px;flex:1;max-width:220px;height:4px;margin-left:auto;overflow:hidden}.weight-bar i{background:var(--accent);height:100%;display:block}.tabs{border:1px solid var(--line-2);background:var(--ink-1);border-radius:12px;gap:4px;padding:5px;display:inline-flex}.tabs button{height:38px;color:var(--text-2);border-radius:8px;padding:0 18px;font-size:14px}.tabs button[aria-selected=true]{background:var(--accent);color:var(--accent-ink);font-weight:600}.facts{border:1px solid var(--line-2);background:var(--line-2);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;display:grid;overflow:hidden}.facts div{background:var(--ink-1);padding:14px 16px}.facts label{font-family:var(--font-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);font-size:10px;font-weight:600;display:block}.facts b{font-family:var(--font-display);letter-spacing:-.02em;font-size:21px;font-weight:600}.footer{border-top:1px solid var(--line);color:var(--text-3);margin-top:90px;padding:28px 0 40px;font-size:13.5px}table.matrix{border-collapse:collapse;width:100%;font-size:14px}table.matrix td,table.matrix th{border-top:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 12px 10px 0}table.matrix th{font-family:var(--font-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);border-top:0;font-size:10.5px;font-weight:400}table.matrix td a{color:var(--accent);font-family:var(--font-mono);white-space:nowrap;margin-right:10px;font-size:12px}@media (width<=980px){.stage-wrap{z-index:3;background:var(--ink-0);order:-1;height:62vh;min-height:440px;padding:10px;position:sticky;top:0}.panel{border-right:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.stage-hint{font-family:var(--font-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);pointer-events:none;align-items:center;gap:8px;font-size:10px;font-weight:600;display:flex;position:absolute;top:-40px;right:22px}.hero{padding:46px 0 20px}.hero-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 40px;margin:28px 0 34px;display:flex}.hero-cta{flex-wrap:wrap;gap:12px;display:flex}.btn-lg{border-radius:12px;height:50px;padding:0 20px;font-size:15.5px}.hero-stage{height:min(620px,72vh);min-height:460px}.fig{color:var(--text-2);margin-right:auto;font-size:13px}.fig b{color:var(--accent);text-transform:uppercase;letter-spacing:.07em;margin-right:10px;font-size:12px;font-weight:600}.hero-caption{font-family:var(--font-mono);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;padding:0 22px 16px;font-size:12px;overflow:hidden}.hero-stage .stage-hint{display:none}.stat-row{color:var(--text-3);flex-wrap:wrap;gap:12px 40px;margin-top:22px;font-size:14.5px;display:flex}.stat-row b{font-family:var(--font-display);color:var(--text-1);margin-right:6px;font-size:22px;font-weight:600}.block{margin-top:96px}.feature-top{color:var(--accent);justify-content:space-between;align-items:center;display:flex}.track{margin-top:56px;scroll-margin-top:20px}.track-head{border-bottom:1px solid var(--line-2);flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-bottom:18px;padding-bottom:14px;display:flex}.track-head h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:30px;font-weight:620}.track-head p{color:var(--text-2);margin:0;font-size:15px}.track-num{font-family:var(--font-mono);color:var(--accent);font-size:12px}.subhead{color:var(--text-3);flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:30px 0 12px;font-size:14px;display:flex}.subhead h4{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-1);margin:0;font-size:20px;font-weight:600}.subhead .count{font-family:var(--font-mono);margin-left:auto;font-size:11.5px}.sublink{color:var(--accent);align-items:center;gap:5px;font-weight:500;display:inline-flex}.sublink:hover{color:var(--accent-hi)}.lcard.off{opacity:.62;border-style:dashed}.lcard.off:hover{border-color:var(--line-2);transform:none}.lcard.off .lcard-icon{color:var(--text-3)}.later{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin-top:56px;padding-top:22px;display:flex}@keyframes apiTravel{0%{opacity:1;transform:translate(180px)}to{transform:translateX(var(--to));opacity:1}}.ntables{padding:14px 22px 10px;position:absolute;inset:0;overflow:auto}.ntables-head{color:var(--req);font-family:var(--font-mono);align-items:center;gap:10px;margin-bottom:12px;font-size:12px;display:flex}.ntables-head b{color:var(--text-1);font-size:16px;font-weight:500}.ntables-head span{color:var(--text-3)}.ntables-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;display:grid}.ntable{border:1px solid var(--line-2);background:var(--ink-1);border-radius:12px;padding:12px 14px}@supports (color:color-mix(in lab, red, red)){.ntable{background:color-mix(in srgb, var(--ink-1) 85%, transparent)}}.ntable h5{letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);margin:0 0 8px;font-size:11px;font-weight:600}.ntable p{font-family:var(--font-mono);color:var(--text-3);margin:0;font-size:12px}.ntable table{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:11.5px}.ntable th{text-align:left;color:var(--text-3);padding:2px 10px 4px 0;font-weight:400}.ntable td{border-top:1px solid var(--line);color:var(--text-1);white-space:nowrap;padding:4px 10px 4px 0}.card.turn.goal-done{border-color:var(--ok);background:var(--ok)}@supports (color:color-mix(in lab, red, red)){.card.turn.goal-done{background:color-mix(in srgb, var(--ok) 8%, transparent)}}.card.turn.goal-done .card-head{color:var(--ok)}.linux-canvas{grid-template-rows:minmax(0,1.05fr) minmax(0,1fr);gap:10px;padding:4px 16px 10px;display:grid}.linux-canvas>.linux-lens{border:1px solid var(--line);background:var(--ink-1);border-radius:12px;min-height:0;position:relative}@supports (color:color-mix(in lab, red, red)){.linux-canvas>.linux-lens{background:color-mix(in srgb, var(--ink-1) 55%, transparent)}}.linux-canvas>.linux-lens>svg{width:100%;height:100%;position:absolute;inset:0}.shell{border:1px solid var(--line-2);background:var(--ink-0);cursor:text;border-radius:12px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.shell:focus-within{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.shell:focus-within{border-color:color-mix(in srgb, var(--accent) 60%, transparent)}}.shell-head{border-bottom:1px solid var(--line);font-family:var(--font-mono);color:var(--text-2);align-items:center;gap:10px;padding:7px 12px;font-size:11.5px;display:flex}.shell-head .dots{gap:5px;display:inline-flex}.shell-head .dots i{background:var(--ink-3);border-radius:50%;width:7px;height:7px}.shell-head .tag{font-family:var(--font-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--accent);margin-left:auto;font-size:10px;font-weight:600}.shell-body{min-height:0;font-family:var(--font-mono);scrollbar-width:thin;scrollbar-color:var(--ink-3) transparent;flex:1;padding:10px 14px 12px;font-size:12.5px;line-height:1.6;overflow-y:auto}.shell-entry{margin-bottom:4px}.shell-cmd{color:var(--text-1);white-space:pre-wrap;word-break:break-all;flex-wrap:wrap;display:flex}.sh-user{color:var(--ok)}.sh-root{color:var(--err)}.sh-cwd{color:var(--req)}.sh-dim{color:var(--text-3);white-space:pre}.shell-out{color:var(--text-2);white-space:pre-wrap;word-break:break-word;font:inherit;margin:0}.shell-out.bad{color:var(--err-soft)}.shell-input input{min-width:60px;color:var(--text-1);font:inherit;caret-color:var(--accent);background:0 0;border:0;outline:0;flex:1;padding:0}.typed{white-space:pre;vertical-align:bottom;max-width:calc(var(--n) * 1ch);animation:typing calc(var(--n) * 22ms + .12s) steps(var(--n)) both;display:inline-block;overflow:hidden}@keyframes typing{0%{max-width:0}}@media (width<=980px){.stage-canvas>svg{width:100%;height:auto;max-height:100%;display:block;position:relative}.linux-canvas>.linux-lens>svg{width:100%;height:auto;position:relative}.legend,.stage-hint,.site-nav .nav-links{display:none}.site-nav .nav-menu{display:grid}.hero{padding-top:22px}.hero-stage{height:480px}.wrap{width:min(1272px,100% - 32px)}}.hero2{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;gap:48px;min-height:min(640px,100dvh - 90px);padding:36px 0 24px;display:grid}.hero2-title{font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(40px,5.2vw,66px);font-weight:560;line-height:1.02}.hero2-title em{color:var(--accent);font-style:normal}.hero2-lede{max-width:440px;color:var(--text-2);margin:22px 0 30px;font-size:17px;line-height:1.6}.hero2-meta{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-3);margin:22px 0 0;font-size:12px}.live-window{border:1px solid var(--line-2);background:radial-gradient(circle at 1px 1px, var(--mute) 1px, transparent 0) 0 0 / 22px 22px, linear-gradient(180deg, var(--stage-a), var(--stage-b));border-radius:20px;flex-direction:column;margin:0;display:flex}@supports (color:color-mix(in lab, red, red)){.live-window{background:radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--mute) 10%, transparent) 1px, transparent 0) 0 0 / 22px 22px, linear-gradient(180deg, var(--stage-a), var(--stage-b))}}.live-window{box-shadow:0 40px 120px -40px var(--req), 0 0 0 6px var(--mute)}@supports (color:color-mix(in lab, red, red)){.live-window{box-shadow:0 40px 120px -40px color-mix(in srgb, var(--req) 18%, transparent), 0 0 0 6px color-mix(in srgb, var(--mute) 3%, transparent)}}.live-window{overflow:hidden}.live-tabs{border-bottom:1px solid var(--line);gap:2px;padding:8px 8px 0;display:flex}.live-tabs button{font:inherit;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:10px 10px 0 0;padding:9px 14px 11px;font-size:13px;transition:color .15s;position:relative}.live-tabs button:hover{color:var(--text-1)}.live-tabs button.on{color:var(--text-1);background:var(--mute)}@supports (color:color-mix(in lab, red, red)){.live-tabs button.on{background:color-mix(in srgb, var(--mute) 6%, transparent)}}.live-tabs button.on:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.live-timer{background:var(--text-1);opacity:.55;z-index:1;width:0;height:2px;animation:linear forwards live-timer;position:absolute;bottom:-1px;left:12px}@keyframes live-timer{to{width:calc(100% - 24px)}}.live-stage{flex-direction:column;height:min(470px,56vh);min-height:360px;display:flex;position:relative}.live-stage>.stage-canvas,.live-stage>div{flex:1;min-height:0}.live-caption{border-top:1px solid var(--line);color:var(--text-3);align-items:center;gap:10px;min-width:0;padding:12px 14px 12px 18px;font-size:12.5px;display:flex}.live-caption b{color:var(--text-1);flex:none;font-weight:500}.live-text{min-width:0;font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11.5px;overflow:hidden}.live-dot{background:var(--ok);width:7px;height:7px;box-shadow:0 0 0 4px var(--ok);border-radius:50%;flex:none}@supports (color:color-mix(in lab, red, red)){.live-dot{box-shadow:0 0 0 4px color-mix(in srgb, var(--ok) 15%, transparent)}}.live-replay{border:1px solid var(--line-2);width:28px;height:28px;color:var(--text-2);cursor:pointer;background:0 0;border-radius:8px;flex:none;place-items:center;display:grid}.live-replay:hover{color:var(--text-1);border-color:var(--text-2)}.subjects{margin-top:72px;scroll-margin-top:16px}.subject{margin-bottom:56px;scroll-margin-top:16px}.subject-head{border-bottom:1px solid var(--line-2);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:end;gap:8px 22px;margin-bottom:16px;padding-bottom:14px;display:grid}.subject-head .track-num{align-self:start;padding-top:12px}.subject-head h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:30px;font-weight:600}.subject-head p{color:var(--text-2);margin:4px 0 0;font-size:15px}.subject-levels{color:var(--text-3);gap:16px;font-size:12.5px;display:flex}.subject-levels b{font-family:var(--font-mono);color:var(--text-1);font-weight:500}.subject-all{white-space:nowrap}.lesson-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.lvl{letter-spacing:.04em;text-transform:uppercase;border:1px solid;border-radius:6px;margin-left:10px;padding:2px 7px;font-size:10.5px;font-style:normal}.lvl-basic{color:var(--ok)}.lvl-intermediate{color:var(--req)}.lvl-advanced{color:var(--cp)}.topics{padding:18px 0 40px}.topics-crumb{color:var(--text-3);font-size:13px}.topics-crumb a:hover{color:var(--text-1)}.topics-crumb span{margin:0 6px}.topics-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 40px;margin:16px 0 24px;display:flex}.topics-title{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(36px,4.4vw,54px);font-weight:580}.topics-head .lede{margin:10px 0 0}.topics-stats{color:var(--text-3);gap:24px;font-size:13.5px;display:flex}.topics-stats b{font-family:var(--font-display);color:var(--text-1);font-size:26px;font-weight:600;display:block}.topics-bar{z-index:5;background:linear-gradient(180deg, var(--ink-0) 70%, transparent);flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px 0;display:flex;position:sticky;top:0}.topics-bar .chip small{font-family:var(--font-mono);color:var(--text-3);font-size:11px}.topics-bar .sublink{font-size:13.5px}.topics-bar .sublink:first-of-type{margin-left:auto}.level{margin-top:36px;scroll-margin-top:64px}.level-head{flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:14px;display:flex}.level-head h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:24px;font-weight:600}.level-head p{color:var(--text-2);margin:0;font-size:14.5px}.level-head .count{font-family:var(--font-mono);color:var(--text-3);margin-left:auto;font-size:11.5px}.topics-next{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px;margin-top:56px;padding-top:24px;display:flex}@media (width<=980px){.hero2{grid-template-columns:1fr;gap:32px;min-height:0}.live-tabs{overflow-x:auto}.live-tabs button{white-space:nowrap}.subject-head{grid-template-columns:auto minmax(0,1fr)}.subject-levels,.subject-all{grid-column:2}.lesson-grid.three{grid-template-columns:1fr}.topics-bar .sublink:first-of-type{margin-left:0}}.live-window .stage-hint{display:none}.theme-toggle{border:1px solid var(--line-2);background:var(--ink-1);width:36px;height:36px;color:var(--text-2);border-radius:10px;place-items:center;transition:color .15s,border-color .15s;display:grid}.theme-toggle:hover{color:var(--text-1);border-color:var(--text-3)}:root[data-theme=light] .page{background:linear-gradient(#2636540b 1px, transparent 1px) 0 0 / 100% 120px, linear-gradient(90deg, #2636540b 1px, transparent 1px) 0 0 / 120px 100%, radial-gradient(900px 500px at 80% 0%, #1383c914, transparent 60%), radial-gradient(700px 500px at 0% 20%, #e0610f0f, transparent 60%), var(--ink-0)}:root[data-theme=light] .live-window{box-shadow:0 40px 100px -50px #0f172659,0 0 0 6px #2636540a}.lp{background:var(--ink-0);grid-template-rows:56px minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:100dvh;display:grid}.lp-top{border-bottom:1px solid var(--line);align-items:center;gap:16px;min-width:0;padding:0 20px;display:flex}.lp-track{background:var(--accent);border-radius:999px;flex:none;padding:4px 10px}@supports (color:color-mix(in lab, red, red)){.lp-track{background:color-mix(in srgb, var(--accent) 12%, transparent)}}.lp-track{color:var(--accent);font-family:var(--font-sans);white-space:nowrap;font-size:12.5px;font-weight:600}.lp-track span{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.lp-track span{color:color-mix(in srgb, var(--accent) 70%, var(--text-2))}}.lp-track span{font-weight:500}.lp-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-display);color:var(--text-1);font-size:15px;font-weight:600;overflow:hidden}.lp-top-right{align-items:center;gap:14px;margin-left:auto;display:flex}.lp-progress{font-family:var(--font-sans);color:var(--text-3);white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:inline-flex}.lp-progress b{color:var(--text-1);font-weight:600}.lp-progress svg{width:22px;height:22px;transform:rotate(-90deg)}.lp-progress circle{fill:none;stroke:var(--ink-3);stroke-width:4px}.lp-progress circle.done{stroke:var(--accent);stroke-linecap:round;transition:stroke-dasharray .4s}.lp-main{grid-template-columns:minmax(380px,460px) minmax(0,1fr);min-height:0;display:grid}.lp-bench{min-width:0;min-height:0;padding:14px 16px 14px 14px}.bench{border:1px solid var(--line);background:radial-gradient(900px 420px at 50% 115%, var(--accent), transparent 70%), linear-gradient(180deg, var(--ink-1), var(--ink-1));border-radius:18px;flex-direction:column;height:100%;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.bench{background:radial-gradient(900px 420px at 50% 115%, color-mix(in srgb, var(--accent) 5%, transparent), transparent 70%), linear-gradient(180deg, var(--ink-1), color-mix(in srgb, var(--ink-1) 55%, var(--ink-0)))}}.bench{overflow:hidden}.bench-head{border-bottom:1px solid var(--line);align-items:center;gap:14px;min-width:0;min-height:46px;padding:8px 14px;display:flex}.view-chip{border:1px solid var(--line-2);height:28px;font-family:var(--font-sans);color:var(--text-2);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:7px;padding:0 11px;font-size:12.5px;font-weight:500;display:inline-flex}.view-chip.close{border-color:var(--cp)}@supports (color:color-mix(in lab, red, red)){.view-chip.close{border-color:color-mix(in srgb, var(--cp) 55%, transparent)}}.view-chip.close{color:var(--cp);background:var(--cp)}@supports (color:color-mix(in lab, red, red)){.view-chip.close{background:color-mix(in srgb, var(--cp) 8%, transparent)}}.readouts{scrollbar-width:none;align-items:center;gap:0;min-width:0;display:flex;overflow-x:auto}.readout{border-left:1px solid var(--line);white-space:nowrap;flex-direction:column;gap:1px;padding:0 14px;display:flex}.readout:first-child{border-left:0}.readout small{font-family:var(--font-sans);color:var(--text-3);font-size:10.5px}.readout b{font-family:var(--font-mono);color:var(--text-1);font-size:14px;font-weight:500}.readout b i{color:var(--text-3);margin-left:3px;font-size:11px;font-style:normal}.readout.ok b{color:var(--ok)}.readout.warn b{color:var(--warn)}.readout.err b{color:var(--err)}.bench-canvas{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.bench-canvas>.stage-canvas{flex:1}.bench .stage-hint{z-index:2;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.04em;max-width:42%;display:block;inset:-35px 14px auto auto;overflow:hidden}.bench .stage-hint svg{vertical-align:-2px;margin-right:6px;display:inline-block}.peek-banner{z-index:4;border:1px solid var(--done);border-radius:999px;align-items:center;gap:7px;padding:6px 12px;display:inline-flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.peek-banner{border:1px solid color-mix(in srgb, var(--done) 60%, transparent)}}.peek-banner{background:var(--done)}@supports (color:color-mix(in lab, red, red)){.peek-banner{background:color-mix(in srgb, var(--done) 14%, var(--ink-1))}}.peek-banner{color:var(--text-1);font-family:var(--font-sans);font-size:12.5px}.bench-caption{border-top:1px solid var(--line);align-items:baseline;gap:12px;min-height:48px;padding:12px 18px;display:flex}.bench-caption .frame-no{font-family:var(--font-mono);color:var(--text-3);flex:none;font-size:11px}.bench-caption .text{font-family:var(--font-sans);color:var(--text-1);font-size:15px;line-height:1.45;animation:.3s ease-out captionIn}.bench-caption.bad .text{color:var(--err-soft)}@keyframes captionIn{0%{opacity:.2;transform:translateY(3px)}}.dock{border-top:1px solid var(--line);background:var(--ink-0);align-items:center;gap:6px;padding:8px 12px;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.dock{background:color-mix(in srgb, var(--ink-0) 50%, transparent)}}.dock-play{background:var(--accent);width:36px;height:36px;color:var(--accent-ink);border-radius:50%;place-items:center;display:grid}.dock-btn{min-width:32px;height:32px;color:var(--text-2);font-family:var(--font-mono);border-radius:8px;place-items:center;padding:0 8px;font-size:12.5px;display:grid}.dock-btn:hover,.dock-btn.on{background:var(--ink-3);color:var(--text-1)}.dock-btn.speed{min-width:40px}.key-dots{gap:3px;display:inline-flex}.key-dots i{border-radius:50%;width:7px;height:7px}.strip{flex:1;align-items:center;gap:3px;min-width:0;height:32px;padding:0 8px;display:flex}.notch{background:var(--ink-3);border-radius:3px;flex:1;max-width:26px;height:6px;transition:height .15s,background .2s}.notch.played{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.notch.played{background:color-mix(in srgb, var(--accent) 45%, var(--ink-3))}}.notch.played{cursor:pointer}.notch.played:hover{height:12px}.notch.err{background:var(--err)}@supports (color:color-mix(in lab, red, red)){.notch.err{background:color-mix(in srgb, var(--err) 60%, var(--ink-3))}}.notch.here{background:var(--accent);height:14px}.dock-panel{z-index:6;border:1px solid var(--line-2);background:var(--ink-1);width:min(420px,100% - 24px);max-height:46vh;box-shadow:0 20px 50px -20px var(--shadow);border-radius:14px;padding:14px 16px;position:absolute;bottom:calc(100% + 8px);right:12px;overflow-y:auto}.dock-panel-head{font-family:var(--font-sans);color:var(--text-3);margin-bottom:8px;font-size:12px;font-weight:600}.transcript{color:var(--text-2);margin:0;padding-left:20px;font-size:13.5px;line-height:1.5}.transcript li+li{margin-top:6px}.transcript li.bad{color:var(--err-soft)}.key-list{color:var(--text-2);grid-template-columns:1fr 1fr;gap:6px 14px;margin:0;padding:0;font-size:13.5px;list-style:none;display:grid}.key-list i{border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.keys-list{color:var(--text-2);grid-template-columns:auto 1fr;gap:8px 14px;margin:0;font-size:13.5px;display:grid}.keys-list dd{margin:0}.notebook{border-right:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--ink-3) transparent;min-height:0;padding:18px 22px 40vh 20px;position:relative;overflow-y:auto}.nb-meta{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;font-size:12.5px;display:flex}.nb-chapter{border-left:2px solid var(--line);padding-left:14px;position:relative}.nb-chapter.past{border-left-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.nb-chapter.past{border-left-color:color-mix(in srgb, var(--accent) 45%, var(--line))}}.nb-chapter.here{border-left-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.nb-chapter.here{border-left-color:color-mix(in srgb, var(--accent) 70%, var(--line))}}.nb-chapter-head{text-align:left;align-items:center;gap:10px;width:100%;padding:12px 0 8px;display:flex}.nb-ch-no{border:2px solid var(--line-2);background:var(--ink-0);width:22px;height:22px;font-family:var(--font-mono);color:var(--text-3);border-radius:50%;place-items:center;margin-right:-18px;font-size:10px;display:grid;position:relative;left:-26px}.nb-chapter.past .nb-ch-no{border-color:var(--accent);color:var(--accent)}.nb-chapter.here .nb-ch-no{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.nb-ch-title{min-width:0;font-family:var(--font-display);color:var(--text-2);flex:1;font-size:15px;font-weight:600}.nb-chapter.here .nb-ch-title{color:var(--text-1)}.nb-chapter.ahead .nb-ch-title{color:var(--text-3)}.nb-ch-count{font-family:var(--font-mono);color:var(--text-3);white-space:nowrap;font-size:11px}.nb-line{text-align:left;width:100%;color:var(--text-3);border-radius:8px;align-items:center;gap:9px;padding:6px 8px;font-size:13.5px;display:flex}.nb-line:hover{background:var(--ink-2);color:var(--text-1)}.nb-line.past{color:var(--text-2)}.nb-line-mark{width:18px;height:18px;color:var(--text-3);border-radius:5px;flex:none;place-items:center;display:grid}.nb-line.past .nb-line-mark{color:var(--accent)}.nb-line-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nb-call{border-radius:50%;flex:none;width:7px;height:7px}.nb-call.right{background:var(--ok)}.nb-call.wrong{background:var(--err)}.nb-page{background:var(--ink-1);border:1px solid var(--line-2);box-shadow:0 18px 40px -28px var(--shadow);border-radius:14px;margin:6px 0 14px;padding:18px 18px 16px;scroll-margin-top:64px;animation:.35s cubic-bezier(.2,.8,.2,1) pageIn}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}}.page-kind{font-family:var(--font-sans);background:var(--ink-3);color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.nb-page[data-kind=predict] .page-kind{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.nb-page[data-kind=predict] .page-kind{background:color-mix(in srgb, var(--accent) 15%, transparent)}}.nb-page[data-kind=predict] .page-kind{color:var(--accent)}.nb-page[data-kind=break-it] .page-kind{background:var(--err)}@supports (color:color-mix(in lab, red, red)){.nb-page[data-kind=break-it] .page-kind{background:color-mix(in srgb, var(--err) 14%, transparent)}}.nb-page[data-kind=break-it] .page-kind{color:var(--err-soft)}.nb-page[data-kind=config] .page-kind,.nb-page[data-kind=drill] .page-kind{background:var(--req)}@supports (color:color-mix(in lab, red, red)){.nb-page[data-kind=config] .page-kind,.nb-page[data-kind=drill] .page-kind{background:color-mix(in srgb, var(--req) 14%, transparent)}}.nb-page[data-kind=config] .page-kind,.nb-page[data-kind=drill] .page-kind{color:var(--req)}.nb-page[data-kind=playground] .page-kind,.nb-page[data-kind=cheat-sheet] .page-kind{background:var(--ok)}@supports (color:color-mix(in lab, red, red)){.nb-page[data-kind=playground] .page-kind,.nb-page[data-kind=cheat-sheet] .page-kind{background:color-mix(in srgb, var(--ok) 14%, transparent)}}.nb-page[data-kind=playground] .page-kind,.nb-page[data-kind=cheat-sheet] .page-kind{color:var(--ok)}.page-title{font-family:var(--font-display);letter-spacing:-.028em;text-wrap:balance;color:var(--text-1);margin:12px 0;font-size:clamp(24px,1.9vw,30px);font-weight:650;line-height:1.12}.nb-page .card{border-radius:12px}.call{background:var(--accent);border-radius:12px;margin:16px 0;padding:14px}@supports (color:color-mix(in lab, red, red)){.call{background:color-mix(in srgb, var(--accent) 6%, var(--ink-0))}}.call{border:1px dashed var(--accent)}@supports (color:color-mix(in lab, red, red)){.call{border:1px dashed color-mix(in srgb, var(--accent) 55%, transparent)}}.call.right{border-style:solid;border-color:var(--ok)}@supports (color:color-mix(in lab, red, red)){.call.right{border-color:color-mix(in srgb, var(--ok) 55%, transparent)}}.call.right{background:var(--ok)}@supports (color:color-mix(in lab, red, red)){.call.right{background:color-mix(in srgb, var(--ok) 6%, var(--ink-0))}}.call.wrong{border-style:solid;border-color:var(--err)}@supports (color:color-mix(in lab, red, red)){.call.wrong{border-color:color-mix(in srgb, var(--err) 50%, transparent)}}.call.wrong{background:var(--err)}@supports (color:color-mix(in lab, red, red)){.call.wrong{background:color-mix(in srgb, var(--err) 5%, var(--ink-0))}}.call-q{font-family:var(--font-display);color:var(--text-1);font-size:16.5px;font-weight:600;line-height:1.35}.call-opts{gap:6px;margin-top:12px;display:grid}.call-opt{border:1px solid var(--line-2);background:var(--ink-1);text-align:left;color:var(--text-1);border-radius:9px;align-items:flex-start;gap:10px;padding:9px 11px;font-size:14.5px;line-height:1.4;transition:border-color .15s,transform .12s;display:flex}.call-opt:hover:not(:disabled){border-color:var(--text-2);transform:translate(2px)}.call-opt kbd{flex:none;margin-top:1px}.call-opt.picked{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.call-opt.answer{border-color:var(--ok);box-shadow:inset 3px 0 0 var(--ok)}.call-opt.missed{border-color:var(--err);box-shadow:inset 3px 0 0 var(--err)}.call-opt:disabled:not(.answer):not(.missed){opacity:.45}.call-lock{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.sure{color:var(--text-3);align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.sure span{margin-right:4px}.sure button{border:1px solid var(--line-2);color:var(--text-2);border-radius:999px;padding:4px 9px}.sure button.on{border-color:var(--accent);color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.sure button.on{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.call-actions{align-items:center;gap:12px;display:inline-flex}.lock-in{background:var(--accent);height:34px;color:var(--accent-ink);border-radius:9px;padding:0 14px;font-size:13.5px;font-weight:600}.lock-in:disabled{opacity:.4}.call-actions .skip{font-size:13px}.call-verdict{color:var(--text-2);margin-top:12px;font-size:14.5px;line-height:1.55}.call-verdict b{color:var(--text-1)}.call.right .call-verdict b{color:var(--ok)}.call.wrong .call-verdict b{color:var(--err-soft)}.idea{border-left:3px solid var(--cp);margin:18px 0;padding:4px 0 4px 16px}.idea-tag{font-family:var(--font-sans);color:var(--cp);font-size:12px;font-weight:600}.idea p{font-family:var(--font-display);letter-spacing:-.012em;color:var(--text-1);margin:4px 0 0;font-size:18px;font-weight:500;line-height:1.4}.tryit{background:var(--ink-0);border:1px solid var(--line);border-radius:12px;margin:16px 0;padding:12px 14px}.tryit-head{font-family:var(--font-sans);color:var(--text-2);align-items:center;gap:7px;margin-bottom:10px;font-size:12.5px;font-weight:600;display:flex}.tryit-foot{color:var(--text-3);margin:10px 0 0;font-size:12.5px}.margin-note{background:var(--ink-0);border-radius:10px;margin:14px 0;padding:10px 12px}.margin-note>span{font-family:var(--font-sans);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.margin-note.tip>span{color:var(--warn)}.margin-note.staff>span{color:var(--req)}.margin-note p{color:var(--text-2);margin:5px 0 0;font-size:14px;line-height:1.55}.scorecard{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 18px;display:grid}.scorecard>div{background:var(--ink-0);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.scorecard b{font-family:var(--font-display);color:var(--text-1);font-size:24px;display:block}.scorecard span{color:var(--text-3);font-size:12px}.scorecard .warn b{color:var(--warn)}.remember-head{font-family:var(--font-display);color:var(--text-1);margin:20px 0 8px;font-size:15px;font-weight:600}.check{border-top:1px dashed var(--line-2);color:var(--text-3);flex-wrap:wrap;align-items:center;gap:8px;margin-top:22px;padding-top:14px;font-size:13.5px;display:flex}.check>span{margin-right:4px}.check button{border:1px solid var(--line-2);height:30px;color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:0 11px;display:inline-flex}.check button:hover{border-color:var(--text-2);color:var(--text-1)}.check.done{color:var(--ok)}.check-form{border:1px solid var(--line-2);background:var(--ink-0);border-radius:12px;margin-top:22px;padding:14px}.check-form-head{color:var(--text-1);justify-content:space-between;align-items:center;font-size:14px;display:flex}.check-form blockquote{border-left:3px solid var(--accent);color:var(--text-2);margin:10px 0 0;padding:6px 10px;font-size:13.5px;font-style:italic}.reasons{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.reasons button{border:1px solid var(--line-2);color:var(--text-2);border-radius:999px;padding:5px 10px;font-size:12.5px}.reasons button.on{border-color:var(--accent);color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.reasons button.on{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.check-form textarea{border:1px solid var(--line-2);background:var(--ink-1);width:100%;color:var(--text-1);font:inherit;resize:vertical;border-radius:9px;padding:9px 11px;font-size:13.5px}.check-form .send{background:var(--text-1);height:34px;color:var(--ink-0);border-radius:9px;align-items:center;gap:6px;margin-top:10px;padding:0 14px;font-size:13.5px;font-weight:600;display:inline-flex}.flag-pill{z-index:8;background:var(--text-1);height:30px;color:var(--ink-0);box-shadow:0 10px 24px -10px var(--shadow);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:600;display:inline-flex;position:absolute;transform:translate(-50%)}.page-go{margin-top:16px}.go{background:var(--accent);width:100%;color:var(--accent-ink);text-align:left;font-family:var(--font-display);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;font-size:15px;font-weight:600;transition:transform .12s;display:flex}.go:hover:not(:disabled){transform:translateY(-1px)}.go span{min-width:0}.go small{font-family:var(--font-sans);opacity:.75;font-size:11.5px;font-weight:600;display:block}.go.locked{background:var(--ink-3);color:var(--text-3)}@media (width<=980px){.lp{grid-template-rows:56px auto;height:auto;min-height:100dvh}.lp-title,.lp-progress span{display:none}.lp-main{grid-template-columns:minmax(0,1fr)}.lp-bench{z-index:3;background:var(--ink-0);order:-1;height:60vh;min-height:420px;padding:8px;position:sticky;top:0}.notebook{border-right:0;padding:16px 16px 30vh 18px;overflow:visible}.readout{padding:0 10px}.bench-caption .text{font-size:13.5px}}.site-nav{position:relative}.nav-links{display:contents}.nav-link{color:var(--text-2);font:inherit}.nav-link:hover{color:var(--text-1)}.nav-menu{border:1px solid var(--line-2);width:40px;height:40px;color:var(--text-1);border-radius:10px;place-items:center;display:none}.nav-sheet{z-index:30;border:1px solid var(--line-2);background:var(--ink-1);box-shadow:0 24px 50px -24px var(--shadow);border-radius:14px;flex-direction:column;padding:8px;animation:.2s ease-out pageIn;display:flex;position:absolute;top:100%;left:0;right:0}.nav-sheet .nav-link{text-align:left;color:var(--text-1);border-radius:9px;padding:12px;font-size:16px}.nav-sheet .nav-link:hover{background:var(--ink-2)}.table-scroll{scrollbar-width:thin;overflow-x:auto}.table-scroll table{min-width:560px}.only-narrow{display:none!important}@media (width<=980px){.only-narrow{display:grid!important}.hide-narrow{display:none!important}.lp-bench{height:auto;min-height:0;max-height:62vh}.bench{height:auto;max-height:calc(62vh - 16px)}.bench-canvas{flex:auto;min-height:0;overflow:hidden}.bench-canvas>.stage-canvas{flex:none}.lp .stage-canvas>svg,.lp .linux-canvas>.linux-lens>svg{max-height:calc(62vh - 170px)}.bench-head{min-height:40px;padding:6px 10px}.view-chip{height:26px;font-size:12px}.readout b{font-size:13px}.bench-caption{min-height:0;padding:9px 12px}.dock{gap:2px;padding:6px 8px}.dock-play{width:34px;height:34px}.strip{padding:0 4px}.bench.mini .bench-head,.bench.mini .bench-canvas{display:none}.bench.full{z-index:50;border:0;border-radius:0;height:100dvh;max-height:none;position:fixed;inset:0}.bench.full .bench-canvas{-webkit-overflow-scrolling:touch;flex:1;overflow:auto}.bench.full .bench-canvas>.stage-canvas{flex:1;min-height:100%}.bench.full .stage-canvas>svg,.bench.full .linux-canvas>.linux-lens>svg{width:auto;min-width:760px;height:100%;max-height:none}.nb-page{scroll-margin-top:64vh}.prose code,.inline-code{white-space:normal;overflow-wrap:anywhere}.call-lock{flex-direction:column;align-items:stretch}.sure{flex-wrap:wrap}.scorecard{grid-template-columns:1fr}.cheat{display:block;overflow-x:auto}}@media (width<=520px){.lp-top{gap:10px;padding:0 12px}.lp-track{text-overflow:ellipsis;max-width:46vw;overflow:hidden}.notebook{padding:14px 12px 30vh 16px}.nb-page{padding:14px}.readout{padding:0 8px}.readout small{font-size:10px}}@media (width<=980px){.live-tabs{scrollbar-width:none;overflow-x:auto}.live-tabs button{flex:none}}.page-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.listen{align-items:center;gap:4px;display:inline-flex;position:relative}.listen-btn{border:1px solid var(--line-2);height:30px;font-family:var(--font-sans);color:var(--text-1);border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.listen-btn:hover{border-color:var(--text-2)}.listen-btn.on{border-color:var(--accent);color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.listen-btn.on{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.listen-gear{width:30px;height:30px;color:var(--text-3);border-radius:50%;place-items:center;display:grid}.listen-gear:hover,.listen-gear.on{background:var(--ink-3);color:var(--text-1)}.eq{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.eq i{background:currentColor;border-radius:1px;width:2px;height:4px}.listen-btn.talking .eq i{animation:.9s ease-in-out infinite eq}.listen-btn.talking .eq i:nth-child(2){animation-delay:.15s}.listen-btn.talking .eq i:nth-child(3){animation-delay:.3s}@keyframes eq{0%,to{height:3px}50%{height:12px}}.listen-panel{z-index:10;border:1px solid var(--line-2);background:var(--ink-1);width:min(320px,80vw);box-shadow:0 20px 50px -20px var(--shadow);border-radius:14px;padding:14px;animation:.18s ease-out pageIn;position:absolute;top:calc(100% + 8px);right:0}.listen-row{color:var(--text-3);gap:6px;margin-bottom:12px;font-size:12.5px;display:grid}.listen-row select{border:1px solid var(--line-2);background:var(--ink-0);width:100%;height:34px;color:var(--text-1);font:inherit;border-radius:8px;padding:0 8px;font-size:13px}.seg{gap:4px;display:inline-flex}.seg button{border:1px solid var(--line-2);height:30px;font-family:var(--font-mono);color:var(--text-2);border-radius:8px;flex:1;padding:0 10px;font-size:12px}.seg button.on{border-color:var(--accent);color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.seg button.on{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.listen-check{color:var(--text-1);cursor:pointer;align-items:flex-start;gap:10px;margin-top:10px;font-size:13.5px;display:flex}.listen-check input{accent-color:var(--accent);margin-top:3px}.listen-check small{color:var(--text-3);margin-top:2px;font-size:12px;display:block}.listen-note{border-top:1px solid var(--line);color:var(--text-3);margin:12px 0 0;padding-top:10px;font-size:12px}.sent{border-radius:4px;transition:background .25s,color .25s}.prose.listening .sent{cursor:pointer}.prose.listening .sent:hover{background:var(--text-1)}@supports (color:color-mix(in lab, red, red)){.prose.listening .sent:hover{background:color-mix(in srgb, var(--text-1) 5%, transparent)}}.sent.reading,.page-title.reading,.call-q.reading,.call-verdict.reading{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.sent.reading,.page-title.reading,.call-q.reading,.call-verdict.reading{background:color-mix(in srgb, var(--accent) 16%, transparent)}}.sent.reading,.page-title.reading,.call-q.reading,.call-verdict.reading{box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab, red, red)){.sent.reading,.page-title.reading,.call-q.reading,.call-verdict.reading{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent)}}.sent.reading,.page-title.reading,.call-q.reading,.call-verdict.reading{color:var(--text-1)}.call-opt.reading{border-color:var(--accent)}.idea.reading{border-left-color:var(--accent)}.idea.reading p{color:var(--text-1)}.bench-caption.reading{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bench-caption.reading{background:color-mix(in srgb, var(--accent) 8%, transparent)}}.bench-caption.reading .frame-no{color:var(--accent)}.loop,.benefits{padding:72px 0 24px}.loop-head{max-width:720px;margin-bottom:34px}.loop-head .lede{margin-top:14px}.loop-track{counter-reset:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid;position:relative}.loop-track:before{content:"";background:linear-gradient(90deg, transparent, var(--accent) 12%, var(--accent) 88%, transparent);height:2px;position:absolute;top:74px;left:6%;right:6%}@supports (color:color-mix(in lab, red, red)){.loop-track:before{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 55%, transparent) 12%, color-mix(in srgb, var(--accent) 55%, transparent) 88%, transparent)}}.loop-track:before{z-index:0;background-size:200% 100%;animation:6s linear infinite threadFlow}@keyframes threadFlow{to{background-position:-200% 0}}.loop-stage{z-index:1;flex-direction:column;gap:12px;display:flex;position:relative}.loop-art{aspect-ratio:220/150;border:1px solid var(--line-2);background:radial-gradient(160px 90px at 50% 100%, var(--accent), transparent 70%), var(--ink-1);border-radius:18px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.loop-art{background:radial-gradient(160px 90px at 50% 100%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 70%), var(--ink-1)}}.loop-art{transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s}.loop-stage:hover .loop-art{border-color:var(--accent);transform:translateY(-4px)}@supports (color:color-mix(in lab, red, red)){.loop-stage:hover .loop-art{border-color:color-mix(in srgb, var(--accent) 50%, var(--line-2))}}.loop-art svg{width:88%;height:auto;overflow:visible}.loop-label{font-family:var(--font-display);color:var(--text-1);align-items:center;gap:8px;font-size:18px;display:flex}.loop-label svg{color:var(--accent)}.loop-n{font-family:var(--font-mono);color:var(--text-3);font-size:11px}.loop-stage p{color:var(--text-2);margin:0;font-size:14.5px;line-height:1.6}.loop-again{border:1px dashed var(--line-2);font-family:var(--font-sans);color:var(--text-3);border-radius:999px;align-items:center;gap:8px;margin-top:26px;padding:7px 14px;font-size:13px;display:inline-flex}.lp-wire{fill:none;stroke:var(--line-2);stroke-width:2px}.lp-box{fill:var(--ink-2);stroke:var(--line-2);stroke-width:1.5px}.lp-box.lb{stroke:var(--cp)}@supports (color:color-mix(in lab, red, red)){.lp-box.lb{stroke:color-mix(in srgb, var(--cp) 60%, transparent)}}.lp-dot.req{fill:var(--req)}.lp-dot.ok{fill:var(--ok)}.lp-dot.bad{fill:var(--err)}.lp-dot{animation:2.4s cubic-bezier(.45,0,.55,1) infinite hop}.lp-dot.d2{animation-name:hopDown;animation-delay:.8s}.lp-dot.d3{animation-delay:1.6s}@keyframes hop{0%{opacity:0;transform:translate(40px,60px)}10%{opacity:1}50%{transform:translate(110px,60px)}90%{opacity:1}to{opacity:0;transform:translate(180px,30px)}}@keyframes hopDown{0%{opacity:0;transform:translate(40px,60px)}10%{opacity:1}50%{transform:translate(110px,60px)}90%{opacity:1}to{opacity:0;transform:translate(180px,90px)}}.lp-opt rect:first-child{fill:var(--ink-2);stroke:var(--line-2)}.lp-key{fill:var(--ink-3)}.lp-line{fill:var(--text-3);opacity:.6}.lp-opt.o1 rect:first-child{animation:3.2s ease-in-out infinite pick}@keyframes pick{0%,30%{stroke:var(--line-2);fill:var(--ink-2)}40%,to{stroke:var(--accent);fill:color-mix(in srgb, var(--accent) 14%, var(--ink-2))}}.lp-sure rect{fill:var(--ink-3)}.lp-sure .fill{fill:var(--accent);transform-origin:24px 110px;animation:3.2s ease-out infinite sure}@keyframes sure{0%,40%{transform:scaleX(0)}70%,to{transform:scaleX(1)}}.lp-box.crash{animation:2.6s ease-in-out infinite crash}@keyframes crash{0%,35%{stroke:var(--line-2);fill:var(--ink-2)}45%,to{stroke:var(--err);fill:color-mix(in srgb, var(--err) 18%, var(--ink-2))}}.lp-crack{fill:none;stroke:var(--err);stroke-width:1.6px;stroke-dasharray:30;stroke-dashoffset:30px;animation:2.6s ease-out infinite crack}@keyframes crack{0%,42%{stroke-dashoffset:30px}60%,to{stroke-dashoffset:0}}.lp-cursor{fill:var(--text-1);animation:2.6s ease-in-out infinite cursor}@keyframes cursor{0%{transform:translate(130px,110px)}35%,45%{transform:translate(188px,92px)}to{opacity:0;transform:translate(200px,120px)}}.lp-box.healed{animation:2.8s ease-in-out infinite heal}@keyframes heal{0%,30%{stroke:var(--err);fill:color-mix(in srgb, var(--err) 18%, var(--ink-2))}45%,to{stroke:var(--ok);fill:color-mix(in srgb, var(--ok) 14%, var(--ink-2))}}.lp-check{fill:none;stroke:var(--ok);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24px;animation:2.8s ease-out infinite check}@keyframes check{0%,40%{stroke-dashoffset:24px}60%,to{stroke-dashoffset:0}}.bento{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.tile{border:1px solid var(--line-2);background:var(--ink-1);border-radius:20px;flex-direction:column;gap:18px;padding:22px;transition:border-color .25s,transform .25s cubic-bezier(.2,.8,.2,1);display:flex;position:relative;overflow:hidden}.tile:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tile:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line-2))}}.tile:hover{transform:translateY(-3px)}.tile:after{content:"";aspect-ratio:1;background:radial-gradient(closest-side, var(--accent), transparent);border-radius:50%;width:60%;position:absolute;inset:auto -30% -60% auto}@supports (color:color-mix(in lab, red, red)){.tile:after{background:radial-gradient(closest-side, color-mix(in srgb, var(--accent) 9%, transparent), transparent)}}.tile:after{pointer-events:none}.tile.t-wide{flex-direction:row;grid-column:span 2;align-items:center}.tile.t-wide .tile-copy{flex:1}.tile.t-facts{grid-column:1/-1}.tile h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-1);margin:0 0 8px;font-size:20px;font-weight:620}.tile p{color:var(--text-2);margin:0;font-size:14.5px;line-height:1.6}.tile-term{border:1px solid var(--line);background:var(--code-bg);min-width:0;font-family:var(--font-mono);color:var(--text-1);border-radius:12px;flex:1.1;margin:0;padding:14px 16px;font-size:12px;line-height:1.75;overflow-x:auto}.tile-term .p{color:var(--accent)}.tile-term .ok{color:var(--ok)}.tile-term .bad{color:var(--err)}.tile-score{grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;display:grid}.tile-score>div:not(.dots){background:var(--ink-0);border:1px solid var(--line);border-radius:12px;padding:12px}.tile-score b{font-family:var(--font-display);color:var(--text-1);font-size:28px;display:block}.tile-score .miss b{color:var(--warn)}.tile-score span{color:var(--text-3);font-size:12px}.tile-score .dots{grid-column:span 2;gap:6px;display:flex}.tile-score .dots i{border-radius:50%;width:10px;height:10px}.tile-score .dots i.ok{background:var(--ok)}.tile-score .dots i.bad{background:var(--err)}.tile-listen{background:var(--ink-0);border:1px solid var(--line);border-radius:12px;align-items:center;gap:14px;margin-top:auto;padding:12px 14px;display:flex}.tile-listen .eq{height:22px;color:var(--accent);flex:none;gap:3px}.tile-listen .eq i{width:3px;animation:.9s ease-in-out infinite eq}.tile-listen .eq i:nth-child(2){animation-delay:.12s}.tile-listen .eq i:nth-child(3){animation-delay:.24s}.tile-listen .eq i:nth-child(4){animation-delay:.36s}.tile-listen .eq i:nth-child(5){animation-delay:.48s}.tile-listen p{font-size:13.5px}.tile-listen mark{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tile-listen mark{background:color-mix(in srgb, var(--accent) 18%, transparent)}}.tile-listen mark{color:var(--text-1);border-radius:4px;padding:0 2px}.tile-break{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.tile-break .node{border:1px solid var(--line-2);background:var(--ink-0);font-family:var(--font-mono);color:var(--text-1);border-radius:10px;align-items:center;gap:7px;padding:8px 12px;font-size:12.5px;display:inline-flex}.tile-break .node i{background:var(--ok);border-radius:50%;width:8px;height:8px}.tile-break .node.bad{border-color:var(--err)}@supports (color:color-mix(in lab, red, red)){.tile-break .node.bad{border-color:color-mix(in srgb, var(--err) 60%, transparent)}}.tile-break .node.bad{animation:2.4s ease-in-out infinite wobble}.tile-break .node.bad i{background:var(--err)}.tile-break .node em{color:var(--err);font-style:normal}@keyframes wobble{0%,80%,to{transform:none}84%{transform:translate(-2px)rotate(-1deg)}88%{transform:translate(2px)rotate(1deg)}92%{transform:translate(-1px)}}.tile-chips{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.tile-chips span{border:1px solid var(--line-2);color:var(--text-2);border-radius:999px;padding:5px 10px;font-size:12.5px;font-weight:600}.tile-chips span:nth-child(-n+3){border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tile-chips span:nth-child(-n+3){border-color:color-mix(in srgb, var(--accent) 55%, transparent)}}.tile-chips span:nth-child(-n+3){color:var(--accent)}.facts{flex:1.1;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.facts>div{background:var(--ink-0);border:1px solid var(--line);border-radius:12px;padding:14px 12px}.facts dt{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-1);font-size:28px;font-weight:650}.facts dd{color:var(--text-3);margin:2px 0 0;font-size:12px}.closer{border:1px solid var(--line-2);text-align:center;background:radial-gradient(600px 220px at 50% 0%, var(--accent), transparent 70%), var(--ink-1);border-radius:28px;margin:72px 0 32px;padding:56px 32px}@supports (color:color-mix(in lab, red, red)){.closer{background:radial-gradient(600px 220px at 50% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 70%), var(--ink-1)}}.closer .lede{margin:14px auto 26px}@media (width<=1100px){.loop-track{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:30px}.loop-track:before{display:none}.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.tile.t-wide{grid-column:span 2}.tile.t-facts{grid-column:1/-1}}@media (width<=680px){.loop,.benefits{padding-top:52px}.loop-track,.bento{grid-template-columns:minmax(0,1fr)}.loop-stage{grid-template-columns:112px minmax(0,1fr);grid-template-areas:"art label""art text";align-items:start;gap:4px 14px;display:grid}.loop-art{border-radius:14px;grid-area:art}.loop-label{grid-area:label;font-size:16px}.loop-stage p{grid-area:text;font-size:14px}.tile.t-wide,.tile.t-facts{flex-direction:column;grid-column:auto;align-items:stretch}.tile-term,.facts{flex:none}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.closer{padding:40px 20px}}@media (prefers-reduced-motion:reduce){.loop-track:before,.lp-dot,.lp-opt.o1 rect:first-child,.lp-sure .fill,.lp-box.crash,.lp-crack,.lp-cursor,.lp-box.healed,.lp-check,.tile-listen .eq i,.tile-break .node.bad{animation:none}}.site-footer{border-top:1px solid var(--line);background:linear-gradient(180deg, var(--ink-1), transparent 70%);margin-top:90px;padding:0 0 36px}@supports (color:color-mix(in lab, red, red)){.site-footer{background:linear-gradient(180deg, color-mix(in srgb, var(--ink-1) 70%, transparent), transparent 70%)}}.site-footer{color:var(--text-3);font-size:14px}.sf-status{border:1px solid var(--line-2);background:var(--ink-0);font-family:var(--font-mono);color:var(--text-2);border-radius:999px;align-items:center;gap:10px;margin:-17px 0 0;padding:7px 14px;font-size:12px;display:inline-flex}.sf-status b{color:var(--text-1);font-weight:500}.sf-pulse{background:var(--ok);border-radius:50%;width:8px;height:8px;position:relative}.sf-pulse:after{content:"";border:2px solid var(--ok);opacity:0;border-radius:50%;animation:2.2s ease-out infinite sfPulse;position:absolute;inset:-4px}@keyframes sfPulse{0%{opacity:.8;transform:scale(.5)}to{opacity:0;transform:scale(1.6)}}.sf-grid{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:32px;padding:40px 0 34px;display:grid}.sf-brand .brand{color:var(--text-1)}.sf-brand p{max-width:340px;color:var(--text-2);margin:14px 0 18px;line-height:1.6}.sf-start{color:var(--accent);align-items:center;gap:7px;font-weight:600;display:inline-flex}.sf-start:hover{gap:10px}.sf-col{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.sf-col h4{font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin:0 0 4px;font-size:12px;font-weight:600}.sf-col a,.sf-col button,.sf-col span{color:var(--text-2);font:inherit;text-align:left;align-items:center;gap:8px;display:inline-flex}.sf-col a:hover,.sf-col button:hover{color:var(--text-1)}.sf-col small{background:var(--ink-3);font-family:var(--font-mono);color:var(--text-3);border-radius:999px;padding:1px 6px;font-size:10.5px}.sf-col svg{color:var(--accent)}.sf-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-top:22px;display:flex}.sf-bottom p{max-width:760px;margin:0;font-size:12.5px;line-height:1.6}.sf-tools{flex:none;align-items:center;gap:10px;display:flex}.sf-top{border:1px solid var(--line-2);height:36px;color:var(--text-2);border-radius:10px;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}.sf-top:hover{color:var(--text-1);border-color:var(--text-2)}@media (width<=900px){.sf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sf-brand{grid-column:1/-1}.sf-bottom{flex-direction:column;align-items:flex-start}}@media (width<=480px){.sf-status{border-radius:14px;margin-top:24px;font-size:11px}.sf-grid{grid-template-columns:minmax(0,1fr);gap:26px}}@media (prefers-reduced-motion:reduce){.sf-pulse:after{animation:none}}.live-loading{background:linear-gradient(90deg, var(--ink-1), var(--ink-2), var(--ink-1));background-size:200% 100%;border-radius:12px;height:100%;min-height:260px;animation:1.6s linear infinite threadFlow}.status-page{flex-direction:column;align-items:flex-start;gap:10px;min-height:calc(100dvh - 300px);padding:40px 0 20px;display:flex}.status-art{width:min(320px,70vw);margin-bottom:18px}.status-art svg{width:100%;height:auto;display:block}.status-art .lp-box.status-gone{stroke:var(--warn);stroke-dasharray:4 3;animation:2.4s ease-in-out infinite statusBlink}.status-art text{fill:var(--warn);font-family:var(--font-mono);font-size:14px;font-weight:600}@keyframes statusBlink{50%{opacity:.35}}.status-page .lede{margin:6px 0 0}.status-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.legal{max-width:760px;padding:30px 0 20px}.legal .lede{margin:16px 0 26px}.legal h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-1);margin:30px 0 8px;font-size:21px;font-weight:620}.legal p{color:var(--text-2);margin:0;font-size:15.5px;line-height:1.7}@media (prefers-reduced-motion:reduce){.status-art .lp-box.status-gone{animation:none}}.seo-shell{max-width:860px;font-family:var(--font-sans);color:var(--text-2);margin:0 auto;padding:28px 20px 60px;font-size:16px;line-height:1.65}.seo-shell header,.seo-shell nav,.seo-shell footer{color:var(--text-3);font-size:14px}.seo-shell header{margin-bottom:28px}.seo-shell a{color:var(--accent)}.seo-shell h1,.seo-shell h2,.seo-shell h3{font-family:var(--font-display);color:var(--text-1);letter-spacing:-.02em;line-height:1.15}.seo-shell h1{margin:12px 0 14px;font-size:clamp(30px,4vw,44px)}.seo-shell h2{margin:30px 0 8px;font-size:22px}.seo-shell h3{margin:18px 0 4px;font-size:17px}.seo-shell ul,.seo-shell ol{padding-left:20px}.seo-shell footer{border-top:1px solid var(--line);margin-top:40px;padding-top:16px}.seo-shell p{margin:0 0 12px}.seo-shell li{margin:4px 0}.subject-intro{border:1px solid var(--line-2);background:radial-gradient(520px 220px at 0% 0%, var(--accent), transparent 70%), var(--ink-1);border-radius:22px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px 48px;margin:64px 0 20px;padding:36px 36px 30px;display:grid}@supports (color:color-mix(in lab, red, red)){.subject-intro{background:radial-gradient(520px 220px at 0% 0%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 70%), var(--ink-1)}}.si-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-1);margin:8px 0 14px;font-size:clamp(24px,2.6vw,32px);font-weight:620;line-height:1.12}.subject-intro p{color:var(--text-2);margin:0 0 14px;font-size:15.5px;line-height:1.7}.subject-intro h3{font-family:var(--font-display);color:var(--text-1);margin:22px 0 8px;font-size:17px;font-weight:600}.si-side h3{margin-top:6px}.si-outcomes{margin:0;padding:0;list-style:none}.si-outcomes li{border-bottom:1px solid var(--line);color:var(--text-1);align-items:flex-start;gap:10px;padding:9px 0;font-size:14.5px;line-height:1.5;display:flex}.si-outcomes li:last-child{border-bottom:0}.si-outcomes svg{color:var(--ok);flex:none;margin-top:3px}.si-faq{border-top:1px solid var(--line);grid-column:1/-1;padding-top:6px}.si-faq details{border-bottom:1px solid var(--line)}.si-faq summary{cursor:pointer;color:var(--text-1);padding:13px 0;font-size:15px;font-weight:600;list-style:none}.si-faq summary::-webkit-details-marker{display:none}.si-faq summary:after{content:"+";float:right;font-family:var(--font-mono);color:var(--text-3)}.si-faq details[open] summary:after{content:"−"}.si-faq details p{margin:0 0 14px}@media (width<=900px){.subject-intro{grid-template-columns:minmax(0,1fr);padding:26px 20px 20px}}.seo-shell h4{color:var(--text-1);margin:14px 0 4px}.welcome{border:1px solid var(--done);border-radius:12px;margin:0 0 16px;padding:14px 16px}@supports (color:color-mix(in lab, red, red)){.welcome{border:1px solid color-mix(in srgb, var(--done) 45%, var(--line-2))}}.welcome{background:var(--done)}@supports (color:color-mix(in lab, red, red)){.welcome{background:color-mix(in srgb, var(--done) 7%, var(--ink-0))}}.welcome{color:var(--text-2);font-size:14.5px;line-height:1.55;animation:.3s ease-out pageIn}.welcome-head{color:var(--text-1);align-items:center;gap:8px;font-weight:600;display:flex}.welcome-head svg{color:var(--done);flex:none}.welcome p{margin:8px 0 0}.welcome-reveal{color:var(--done);text-underline-offset:3px;margin-top:10px;font-size:13.5px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.welcome-ideas{margin:10px 0 0;padding:0;list-style:none}.welcome-ideas li{border-top:1px solid var(--line);padding:7px 0}.welcome-ideas li button{color:var(--text-1);text-align:left;font-size:12.5px;font-weight:600;display:block}.welcome-ideas li span{font-size:13.5px}.welcome-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.welcome-actions button{border:1px solid var(--line-2);height:32px;color:var(--text-1);border-radius:9px;padding:0 12px;font-size:13px}.welcome-actions .go-small{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:600}.welcome-actions .danger,.reset-confirm{border-color:var(--err)!important;color:var(--err-soft)!important}.solved-before{color:var(--ok);margin:8px 0 0;font-size:13px}.score-prev{color:var(--text-2);grid-column:1/-1;font-size:13px}.reset-done{color:var(--ok)!important}.tex{white-space:nowrap}.tex math{color:inherit;math-style:normal;font-family:STIX Two Math,Latin Modern Math,Cambria Math,Noto Sans Math,math;font-size:1.12em}.tex math mfrac{vertical-align:middle}.tex-plain{white-space:nowrap;font-style:italic}.sf-bottom p a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--line-2);-webkit-text-decoration-color:var(--line-2);-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);text-underline-offset:3px}.sf-bottom p a:hover{color:var(--text-1);text-decoration-color:currentColor}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
