@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-BmRLXWpJ.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-DCQwxkRk.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-greek-700-normal-wyJ6jzdA.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-700-normal-CkZN0sRy.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-vietnamese-700-normal-CkEo6LDy.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-700-normal-BV5B8Are.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-cyrillic-ext-700-normal-BDQ-w_bc.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-700-normal-CtgKGIh5.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-cyrillic-700-normal-Bp80XfeI.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-700-normal-O_YjL27c.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-vietnamese-700-normal-apsD3J7v.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-700-normal-Bs14ezHR.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-ext-700-normal-Dhimjc7-.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-700-normal-Cwsjk1Jb.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-700-normal-7sUh57Bg.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-700-normal-CNHXzs6v.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--color-bg: #f4f7f5;--color-surface: #ffffff;--color-surface-alt: #eaf0ed;--color-text: #111a1b;--color-text-muted: #4a5a58;--color-border: #d5dfdb;--color-border-strong: #7a8a86;--color-primary: #15803d;--color-primary-hover: #14532d;--color-primary-soft: #dcf5e4;--color-link: #166534;--color-focus: #15803d;--color-header: #1c2526;--color-hero: #1f2e2c;--color-header-text: #dce6e3;--color-header-muted: #b9c8c4;--color-header-accent: #4ade80;--color-header-link: #86efac;--color-danger-bg: #fef2f2;--color-danger-text: #991b1b;--color-danger-border: #dc2626;--color-warning-bg: #fff8eb;--color-warning-text: #5c2d0b;--color-warning-border: #b45309;--beginner-bg: #dcfce7;--beginner-text: #14532d;--intermediate-bg: #fef3c7;--intermediate-text: #78350f;--advanced-bg: #fee2e2;--advanced-text: #7f1d1d;--radius: 10px;--shadow: 0 1px 2px rgb(15 23 42 / 6%), 0 4px 12px rgb(15 23 42 / 6%);--font: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Code", Consolas, Menlo, monospace}@media(prefers-color-scheme:dark){:root{--color-bg: #0d1413;--color-surface: #141d1c;--color-surface-alt: #1b2725;--color-text: #e4ece9;--color-text-muted: #a3b3ae;--color-border: #283634;--color-border-strong: #5a6b67;--color-primary: #15803d;--color-primary-hover: #166534;--color-primary-soft: #17301f;--color-link: #86efac;--color-focus: #86efac;--color-header: #0a100f;--color-hero: #13201e;--color-danger-bg: #3a1515;--color-danger-text: #fecaca;--color-danger-border: #f87171;--color-warning-bg: #2a1f0e;--color-warning-text: #fde2b3;--color-warning-border: #f59e0b;--beginner-bg: #12351f;--beginner-text: #a7f3c0;--intermediate-bg: #3a2a0c;--intermediate-text: #fcd89a;--advanced-bg: #3d1414;--advanced-text: #fecaca;--shadow: none}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:1.0625rem;line-height:1.6;color:var(--color-text);background:var(--color-bg)}#root{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}main{flex:1}main:focus{outline:none}img{max-width:100%;height:auto}h1,h2,h3,h4{margin:0 0 .5em;font-weight:700;line-height:1.2;letter-spacing:-.01em}h1{font-size:clamp(1.75rem,1.3rem + 2vw,2.5rem);overflow-wrap:anywhere}h2{font-size:clamp(1.35rem,1.15rem + 1vw,1.75rem)}h3{font-size:1.125rem}p{margin:0 0 1em}a{color:var(--color-link);text-underline-offset:2px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:4px}code{padding:.1em .35em;font-family:var(--font-mono);font-size:.9em;background:var(--color-surface-alt);border-radius:4px;overflow-wrap:anywhere}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:1rem;z-index:100;padding:.75rem 1rem;font-weight:600;color:var(--color-text);background:var(--color-surface);border-radius:var(--radius)}.skip-link:focus{top:1rem}.muted{color:var(--color-text-muted)}.small{font-size:.9375rem}.lead{font-size:1.1875rem;color:var(--color-text-muted)}.page-intro{max-width:46rem;color:var(--color-text-muted)}.notice{font-weight:600}.section-gap{margin-top:2rem}.section-gap-sm{margin-top:1rem}.container{width:100%;max-width:72rem;margin-inline:auto;padding-inline:1rem}.narrow{max-width:50rem}.narrow-sm{max-width:32rem}@media(min-width:640px){.container{padding-inline:1.5rem}}.page{padding-block:1.75rem 3.5rem}.section{padding-block:2.5rem}.section+.section{border-top:1px solid var(--color-border)}.section-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:1.25rem}.section-header h2{margin:0}.section-header a{font-weight:600}.results-group{margin-top:2rem}.grid{display:grid;grid-template-columns:1fr;gap:1rem;margin:0;padding:0;list-style:none}@media(min-width:640px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:960px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.site-header{position:sticky;top:0;z-index:50;color:var(--color-header-text);background:var(--color-header)}.header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;min-height:3.75rem}.logo{padding-block:.5rem;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:#fff;text-decoration:none}.logo span{color:var(--color-header-accent)}.menu-button{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;padding:.5rem .875rem;font:inherit;font-weight:600;color:#fff;cursor:pointer;background:transparent;border:1px solid rgb(255 255 255 / 35%);border-radius:8px}.menu-icon,.menu-icon:before,.menu-icon:after{display:block;width:18px;height:2px;background:currentColor;border-radius:2px}.menu-icon{position:relative}.menu-icon:before,.menu-icon:after{position:absolute;left:0;content:""}.menu-icon:before{top:-6px}.menu-icon:after{top:6px}.site-nav{display:none;width:100%}.site-nav.open{display:block}.site-nav ul{margin:0;padding:.25rem 0 1rem;list-style:none}.site-nav a{display:block;padding:.75rem;font-weight:600;color:var(--color-header-text);text-decoration:none;border-radius:6px}.site-nav a:hover{background:#ffffff14}.site-nav a.active{color:#fff;background:#4ade8024;box-shadow:inset 4px 0 0 var(--color-header-accent)}@media(min-width:900px){.menu-button{display:none}.site-nav,.site-nav.open{display:block;width:auto}.site-nav ul{display:flex;gap:.25rem;padding:0}.site-nav a{padding:.5rem .75rem}.site-nav a.active{box-shadow:inset 0 -3px 0 var(--color-header-accent)}}.hero{padding-block:3rem 3.5rem;color:#fff;text-align:center;background:var(--color-hero)}.hero .lead,.hero .hint{color:var(--color-header-muted)}.hero .hint{margin:0;font-size:.9375rem}.hero .hint a{color:var(--color-header-link)}.hero .search label{color:var(--color-header-text)}.search{width:100%;margin-block:1.25rem;text-align:left}.search label{display:block;margin-bottom:.4rem;font-weight:600}.search-row{display:flex;flex-direction:column;gap:.5rem}.search input{width:100%;min-height:3rem;padding:.75rem 1rem;font:inherit;font-size:1.0625rem;color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-border-strong);border-radius:var(--radius)}.search input:focus-visible{border-color:var(--color-primary);outline-offset:1px}.search input[aria-invalid=true]{border-color:var(--color-danger-border)}.search-large input{min-height:3.5rem;font-size:1.125rem}.search-large .button{min-height:3.5rem;padding-inline:1.75rem}@media(min-width:640px){.search-row{flex-direction:row}.search-row .button{flex-shrink:0}}.form-error{margin:.6rem 0 0;padding:.6rem .9rem;font-weight:600;color:var(--color-danger-text);background:var(--color-danger-bg);border-left:4px solid var(--color-danger-border);border-radius:0 8px 8px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.7rem 1.25rem;font:inherit;font-weight:700;color:#fff;text-decoration:none;cursor:pointer;background:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius)}.button:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.button-secondary{color:var(--color-link);background:transparent;border-color:var(--color-border-strong)}.button-secondary:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.button-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.field{margin-bottom:1rem}.field label{display:block;margin-bottom:.35rem;font-weight:600}.filter-field{max-width:28rem}.input,.select{width:100%;min-height:44px;padding:.6rem .8rem;font:inherit;color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-border-strong);border-radius:8px}.form-card{gap:0;margin-top:1.25rem}.form-card .button{align-self:flex-start}.form-note{margin:1rem 0 0;font-weight:600}.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:1rem 1.5rem}.filter-button{min-height:44px;padding:.45rem .95rem;font:inherit;font-weight:600;color:var(--color-text);cursor:pointer;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:999px}.filter-button:hover{border-color:var(--color-primary)}.filter-button[aria-pressed=true]{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.filter-button[aria-pressed=true]:before{content:"✓ "}.card{display:flex;flex-direction:column;gap:.5rem;height:100%;padding:1.125rem 1.25rem;color:var(--color-text);text-decoration:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow)}a.card:hover{border-color:var(--color-primary)}a.card:hover .card-title{text-decoration:underline}.card-title{margin:0;font-size:1.125rem;color:var(--color-link);overflow-wrap:anywhere}.card-title-plain{color:var(--color-text)}.card p{margin:0;color:var(--color-text-muted)}.card-meta,.card-top{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.card-top{justify-content:space-between}.card-icon{display:grid;place-items:center;width:3rem;height:3rem;font-size:.8125rem;font-weight:700;letter-spacing:.02em;color:var(--color-link);background:var(--color-primary-soft);border-radius:10px}.card-footer{margin-top:auto;padding-top:.25rem;font-weight:600;color:var(--color-link)}.card-subheading{margin:.5rem 0 0;font-size:.9375rem}.card-action{align-self:flex-start;margin-top:auto}@media(prefers-reduced-motion:no-preference){a.card{transition:border-color .15s ease,transform .15s ease}a.card:hover{transform:translateY(-2px)}}.badge{display:inline-flex;align-items:center;padding:.1rem .6rem;font-size:.8125rem;font-weight:700;line-height:1.6;color:var(--color-text);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:999px}.badge-primary{color:var(--color-link);background:var(--color-primary-soft);border-color:transparent}.badge-beginner{color:var(--beginner-text);background:var(--beginner-bg);border-color:transparent}.badge-intermediate{color:var(--intermediate-text);background:var(--intermediate-bg);border-color:transparent}.badge-advanced{color:var(--advanced-text);background:var(--advanced-bg);border-color:transparent}.code-label{font-family:var(--font-mono);font-size:.9375rem;font-weight:700;color:var(--color-text-muted);overflow-wrap:anywhere}.code-label-large{display:inline-block;margin-bottom:.25rem;font-size:1.125rem}.beep-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem}.beep-row-large{margin-block:.25rem .5rem}.beep-pattern{display:inline-flex;flex-wrap:wrap;align-items:center;gap:5px}.beep{display:inline-block;height:10px;background:var(--color-primary);border-radius:5px}.beep-long{width:34px}.beep-short{width:10px}.beep-row-large .beep{height:14px;border-radius:7px}.beep-row-large .beep-long{width:46px}.beep-row-large .beep-short{width:14px}.beep-repeat{margin-left:2px;font-weight:700;line-height:1;color:var(--color-link)}.finder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;max-width:28rem;margin-top:1.25rem}.chip-list{display:flex;flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none}.chip{display:inline-flex;flex-direction:column;min-height:44px;padding:.5rem .9rem;color:var(--color-text);text-decoration:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.chip:hover{border-color:var(--color-primary)}.chip .code-label{color:var(--color-link)}.chip small{font-size:.8125rem;color:var(--color-text-muted);overflow-wrap:anywhere}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.25rem;margin:0 0 1rem;padding:0;font-size:.9375rem;color:var(--color-text-muted);list-style:none}.breadcrumbs li+li:before{margin-right:.25rem;content:"/"}.back-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:.5rem;font-weight:600}.article-header{margin-bottom:1.5rem}.article-header .badge{margin-bottom:.5rem}.article-header .lead{margin-bottom:0}.meta-list{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;margin:1rem 0 0;padding:0;color:var(--color-text-muted);list-style:none}.article-layout{display:grid;gap:1.25rem}@media(min-width:960px){.article-layout{grid-template-columns:minmax(0,1fr) 16rem;align-items:start;gap:2rem}.toc{position:sticky;top:5rem;order:2}}.toc{padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.toc h2{margin-bottom:.5rem;font-size:.8125rem;letter-spacing:.06em;color:var(--color-text-muted);text-transform:uppercase}.toc ul{margin:0;padding:0;list-style:none}.toc a{display:block;padding:.35rem 0}.article-section{margin-bottom:1.25rem;padding:1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);scroll-margin-top:5rem}@media(min-width:640px){.article-section{padding:1.5rem}}.article-section h2{font-size:1.35rem}.article-section>:last-child{margin-bottom:0}.bullet-list{margin:0;padding-left:1.25rem}.bullet-list li+li{margin-top:.4rem}.checklist{margin:0;padding:0;list-style:none}.checklist li{position:relative;padding-left:2rem}.checklist li+li{margin-top:.6rem}.checklist li:before{position:absolute;top:.25rem;left:0;width:1.1rem;height:1.1rem;content:"";border:2px solid var(--color-primary);border-radius:4px}.steps{margin:0;padding:0;list-style:none;counter-reset:step}.steps>li{position:relative;min-height:2.25rem;padding-left:3rem;counter-increment:step}.steps>li+li{margin-top:1.1rem}.steps>li:before{position:absolute;top:0;left:0;display:grid;place-items:center;width:2.1rem;height:2.1rem;font-weight:700;color:#fff;content:counter(step);background:var(--color-primary);border-radius:50%}.steps h3{margin:.2rem 0 .25rem;font-size:1.0625rem}.steps p{margin:0;padding-top:.2rem}.steps h3+p{padding-top:0}.callout{margin-bottom:1.25rem;padding:1rem 1.25rem;color:var(--color-warning-text);background:var(--color-warning-bg);border-left:5px solid var(--color-warning-border);border-radius:0 var(--radius) var(--radius) 0}.callout strong{display:block;margin-bottom:.25rem}.callout p{margin:0}.callout-info{color:var(--color-text);background:var(--color-primary-soft);border-color:var(--color-primary)}.definition-list{margin:0}.definition-list dt{font-weight:700}.definition-list dd{margin:.15rem 0 1rem;color:var(--color-text-muted)}.definition-list dd:last-child{margin-bottom:0}.empty-state{margin-top:1.5rem;padding:2.5rem 1.25rem;text-align:center;background:var(--color-surface);border:2px dashed var(--color-border-strong);border-radius:var(--radius)}.empty-state p{max-width:36rem;margin-inline:auto;color:var(--color-text-muted)}.big-number{margin:0;font-size:4rem;font-weight:700;line-height:1;color:var(--color-link)}.article-actions{margin-top:.75rem}.card-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem;margin-top:auto;padding-top:.25rem}.save-wrapper{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem}.save-button[aria-pressed=true]{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.save-button:disabled{cursor:wait;opacity:.7}.save-error{font-size:.875rem;font-weight:600;color:var(--color-danger-text)}.button-small{padding:.4rem .85rem;font-size:.9375rem}.account-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:.5rem}.account-summary p{margin:0;overflow-wrap:anywhere}.account-badge{margin-left:.5rem}.account-group+.account-group{margin-top:1.25rem}.account-group h3{margin-bottom:.25rem}.account-list{margin:0;padding:0;list-style:none}.account-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding-block:.75rem;border-bottom:1px solid var(--color-border)}.account-list li:last-child{border-bottom:0}.account-list li>div{min-width:0}.account-item-title{font-weight:600;overflow-wrap:anywhere}.account-item-meta{font-size:.875rem;color:var(--color-text-muted)}.recent-searches{margin-top:.5rem}@media(min-width:900px){.nav-account{margin-left:.75rem}}.admin-form .field{margin-bottom:1.25rem}.textarea{min-height:6rem;resize:vertical;line-height:1.5}.field-help{margin:-.15rem 0 .35rem;font-size:.875rem;color:var(--color-text-muted)}.required-mark{font-size:.875rem;font-weight:400;color:var(--color-text-muted)}.field-number{max-width:12rem}.field-checkbox{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .6rem;min-height:44px}.field-checkbox input{width:1.25rem;height:1.25rem;accent-color:var(--color-primary)}.field-checkbox label{margin:0;font-weight:500}.field-checkbox .field-help{width:100%;margin:0}.fieldset{min-width:0;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius)}.fieldset legend{padding-inline:.35rem;font-weight:600}.link-picker{max-height:14rem;padding:.25rem .5rem;overflow-y:auto;background:var(--color-surface-alt);border-radius:8px}.steps-editor{margin:0 0 1rem;padding:0;list-style:none}.step-editor{padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius)}.step-editor+.step-editor{margin-top:.75rem}.step-editor .field{margin-bottom:.75rem}.step-editor-actions,.form-actions{display:flex;flex-wrap:wrap;gap:.5rem}.form-actions{padding-top:.5rem}.button-danger{color:var(--color-danger-text);border-color:var(--color-danger-border)}.button-danger:hover{background:var(--color-danger-bg);border-color:var(--color-danger-border)}.button-danger-solid{color:#fff;background:#b91c1c;border-color:#b91c1c}.button-danger-solid:hover{background:#991b1b;border-color:#991b1b}.confirm-actions{align-items:center}.confirm-question{font-weight:600;color:var(--color-danger-text)}.error-summary{margin-bottom:1.25rem;padding:1rem 1.25rem;color:var(--color-danger-text);background:var(--color-danger-bg);border-left:5px solid var(--color-danger-border);border-radius:0 var(--radius) var(--radius) 0}.error-summary ul{margin:.5rem 0 0;padding-left:1.25rem}.notice-success{padding:.75rem 1rem;font-weight:600;background:var(--color-primary-soft);border-left:5px solid var(--color-primary);border-radius:0 var(--radius) var(--radius) 0}[data-amplify-authenticator]{--amplify-fonts-default-variable: var(--font);--amplify-fonts-default-static: var(--font);--amplify-colors-brand-primary-10: var(--color-primary-soft);--amplify-colors-brand-primary-20: var(--color-primary-soft);--amplify-colors-brand-primary-40: var(--color-primary);--amplify-colors-brand-primary-60: var(--color-primary);--amplify-colors-brand-primary-80: var(--color-primary);--amplify-colors-brand-primary-90: var(--color-primary-hover);--amplify-colors-brand-primary-100: var(--color-primary-hover);--amplify-colors-font-primary: var(--color-text);--amplify-colors-font-secondary: var(--color-text-muted);--amplify-colors-font-interactive: var(--color-link);--amplify-colors-background-primary: var(--color-surface);--amplify-colors-background-secondary: var(--color-surface-alt);--amplify-colors-border-primary: var(--color-border-strong);--amplify-components-authenticator-router-border-color: var(--color-border);--amplify-components-authenticator-router-box-shadow: var(--shadow);--amplify-components-authenticator-container-width-max: 100%;--amplify-components-tabs-item-active-color: var(--color-link);--amplify-components-tabs-item-active-border-color: var(--color-primary);--amplify-components-tabs-item-color: var(--color-text-muted);--amplify-components-fieldcontrol-focus-border-color: var(--color-primary);--amplify-radii-small: 8px;--amplify-radii-medium: 10px;--amplify-components-button-primary-background-color: var(--color-primary);--amplify-components-button-primary-hover-background-color: var(--color-primary-hover);--amplify-components-button-primary-focus-background-color: var(--color-primary-hover);--amplify-components-button-primary-active-background-color: var(--color-primary-hover);--amplify-components-button-primary-color: #ffffff;--amplify-components-button-link-color: var(--color-link);--amplify-components-button-link-hover-color: var(--color-link);--amplify-components-button-link-hover-background-color: var(--color-primary-soft);--amplify-components-button-link-focus-color: var(--color-link);--amplify-components-button-link-focus-background-color: var(--color-primary-soft);--amplify-components-button-link-active-color: var(--color-link);--amplify-components-button-link-active-background-color: var(--color-primary-soft);--amplify-components-button-focus-box-shadow: 0 0 0 3px var(--color-focus)}[data-amplify-authenticator] [data-amplify-router]{border-radius:var(--radius)}.app-status{display:grid;place-content:center;gap:.5rem;min-height:100vh;min-height:100dvh;padding:2rem 1rem;text-align:center;color:var(--color-text-muted)}.app-status h1{color:var(--color-text)}.app-status-logo{font-size:1.75rem;font-weight:700;color:var(--color-text)}.app-status-logo span{color:var(--color-primary)}.site-footer{padding-block:2.5rem 1.5rem;color:var(--color-header-muted);background:var(--color-header)}.site-footer a{color:var(--color-header-text)}.site-footer h2{margin-bottom:.5rem;font-size:1rem;color:#fff}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li a{display:inline-block;padding-block:.35rem}.footer-grid{display:grid;gap:2rem}@media(min-width:768px){.footer-grid{grid-template-columns:2fr 1fr 1fr}}.footer-logo{margin:0 0 .5rem;padding:0}.footer-safety{font-size:.9375rem;color:var(--color-header-muted)}.footer-bottom{margin:2rem 0 0;padding-top:1.25rem;font-size:.875rem;color:var(--color-header-muted);border-top:1px solid rgb(255 255 255 / 12%)}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
