@font-face{font-family:Golos Text Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/golos-text-cyrillic-ext-wght-normal.hICkpzq7.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:Golos Text Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/golos-text-cyrillic-wght-normal.mKek_fSS.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Golos Text Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/golos-text-latin-ext-wght-normal.B-I5lbAQ.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:Golos Text Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/golos-text-latin-wght-normal.BS5oQT7X.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.mechanics-home{margin-top:42px}.mechanics-home>p{color:var(--muted);font-size:13px}.mechanics-home .section-heading a{color:var(--accent);font-size:12px}.mechanics-cards .lesson-card h3{font-size:21px}.mechanics-notice{margin-top:28px}.mechanics-links{flex-wrap:wrap;gap:18px;margin-top:20px;font-size:12px;display:flex}.mechanics-links a,.mechanics-content a{color:var(--accent);text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}.mechanics-layout{grid-template-columns:minmax(0,1fr) 200px;gap:34px;display:grid}.mechanics-content{min-width:0}.mechanics-controls{background:var(--surface-alt);border:1px solid var(--line);border-radius:7px;padding:22px}.mechanics-controls label{margin-bottom:6px;font-size:12px;display:block}.mechanics-controls .search-box{margin-bottom:18px}.mechanics-controls input{width:100%;min-width:0}.mechanics-controls select{width:100%;font:inherit;background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:4px;padding:10px;font-size:13px}.mechanics-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.mechanics-actions button{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:8px 12px;font-size:12px}.mechanics-controls [data-mechanic-status]{color:var(--muted);margin:14px 0 0;font-size:12px}.mechanics-section,.mechanics-note{margin-top:38px;scroll-margin-top:24px}.mechanics-section h2,.mechanics-section-group>h2,.mechanics-note h2{letter-spacing:-.6px;font-size:25px;font-weight:550;line-height:1.3}.mechanics-section-group.is-grouped{margin-top:42px}.is-grouped>.mechanics-section{margin-top:26px}.is-grouped>.mechanics-section>h3{letter-spacing:-.4px;font-size:21px;font-weight:550;line-height:1.3}.mechanic-family{border:1px solid var(--line);background:var(--surface);border-radius:6px;margin-bottom:10px;scroll-margin-top:24px}.mechanic-family summary{cursor:pointer;align-items:flex-start;gap:14px;padding:18px;list-style:none;display:flex}.mechanic-family summary::-webkit-details-marker{display:none}.mechanic-family summary:after{content:"+";color:var(--accent);font-size:20px;line-height:1.2}.mechanic-family[open]>summary:after{content:"−"}.family-number{color:var(--accent);padding-top:3px;font:12px IBM Plex Mono,monospace}.family-heading{flex:1;min-width:0}.family-heading strong{font-size:16px;font-weight:550;display:block}.family-heading [data-family-description]{color:var(--muted);margin-top:6px;font-size:12px;display:block}.family-count{color:var(--muted);padding-top:3px;font:11px IBM Plex Mono,monospace}.mechanic-family-body{border-top:1px solid var(--line);padding:20px 24px;font-size:14px;line-height:1.75}.mechanic-family-body :is(h3,h4){margin-bottom:8px;font-size:15px;font-weight:550}.mechanic-family-body ul{padding-left:22px}.mechanic-family-body li{margin-bottom:7px;padding-left:4px;scroll-margin-top:24px}.mechanic-example{border-top:1px solid var(--line);color:var(--muted);margin-bottom:0;padding-top:15px;font-size:12px}.mechanics-note{border-top:1px solid var(--line);padding-top:28px;font-size:14px;line-height:1.8}.mechanics-note>p{color:var(--muted)}.mechanics-note-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.mechanics-note-grid>div{background:var(--surface-alt);border-radius:5px;padding:16px}.mechanics-note-grid h3{margin-bottom:8px;font-size:15px;font-weight:550}.mechanics-note-grid p{margin:0;font-size:13px}.mechanics-sources{padding-left:22px}.mechanics-sources p{color:var(--muted);font-size:13px}.mechanics-toc nav{border-left:1px solid var(--line);max-height:calc(100vh - 48px);color:var(--muted);flex-direction:column;gap:12px;padding-left:16px;font-size:11px;display:flex;position:sticky;top:24px;overflow-y:auto}.mechanics-toc .nav-label{margin:0}.mechanics-toc-group,.mechanics-toc-notes{flex-direction:column;gap:12px;display:flex}.mechanics-toc-group+.mechanics-toc-group{margin-top:8px}.mechanics-toc-notes.has-groups{border-top:1px solid var(--line);margin-top:8px;padding-top:16px}.mechanics-toc .toc-group-label{color:var(--ink);margin:0;font-weight:600}.mechanics-toc a:hover{color:var(--accent)}.mechanics-toc a[aria-current=location]:before{left:-17px}summary:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (width<=1100px){.mechanics-layout{grid-template-columns:minmax(0,1fr)}.mechanics-toc{grid-row:1}.mechanics-toc nav{border:0;flex-flow:wrap;max-height:none;padding:0;position:static;overflow-y:visible}.mechanics-toc .nav-label{width:100%}.mechanics-toc-group,.mechanics-toc-notes{flex-flow:wrap;width:100%}.mechanics-toc .toc-group-label{width:100%}.mechanics-toc a{padding-left:10px}.mechanics-toc a[aria-current=location]:before{left:0}}@media (width<=650px){.mechanics-note-grid{grid-template-columns:minmax(0,1fr)}.mechanic-family summary{gap:9px;padding:14px 12px}.family-heading strong{font-size:15px}.mechanic-family-body,.mechanics-controls{padding:16px}.mechanics-home .section-heading{align-items:flex-start;gap:12px}.mechanics-cards .card-bottom{font-size:10px}}@media print{.mechanics-controls,.mechanics-toc{display:none}.mechanics-layout{display:block}.mechanic-family{break-inside:avoid}}.lenses-use{border-left:3px solid var(--accent);background:var(--surface-alt);margin-bottom:28px;padding:18px 22px;font-size:13px;line-height:1.8}.lenses-use h2{font-size:17px;font-weight:550}.lenses-use p:last-child{color:var(--muted);margin-bottom:0}.lenses-controls{border:1px solid var(--line);background:var(--surface-alt);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:22px;display:grid}.lenses-controls[hidden]{display:none}.lens-search-field{grid-column:1/-1}.lenses-controls label{margin-bottom:8px;font-size:12px;display:block}.lenses-controls input,.lenses-controls select{width:100%;min-width:0;font:inherit;color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:4px;padding:11px;font-size:13px}.lenses-controls .mechanics-actions{margin:0}.lenses-controls [data-lens-status]{color:var(--muted);text-align:right;align-self:center;margin:0;font-size:12px}.lens-card .family-number{min-width:32px}.lenses-list a,.lenses-sources a{color:var(--accent);text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}.lens-attribution{color:var(--muted);margin-top:0;font-size:12px}.lens-source-links{flex-wrap:wrap;gap:12px 20px;margin-top:22px;font-size:12px;display:flex}.lenses-home{margin-top:38px}.lenses-home>p{color:var(--muted);font-size:13px}.lenses-home .lesson-card{max-width:700px}@media (width<=650px){.lenses-controls{grid-template-columns:minmax(0,1fr);padding:16px}.lenses-controls [data-lens-status]{text-align:left}.lenses-use{padding:16px}.lens-card .family-number{min-width:27px;font-size:11px}}@media print{.lenses-controls{display:none}}:root{color-scheme:light;--paper:#f7f6f2;--surface:#fffefa;--ink:#282b29;--muted:#686d60;--line:#e3e2da;--accent:#c75031;--on-ink:#fffefa;--sidebar-bg:#f0f0e9;--surface-alt:#eeede5;--hover:#e9e9e0;--active:#e9e8de;--control-line:#d7d7cd;--line-strong:#b7a28d;--selection:#ead3bf;--focus-halo:#c7503118;--shadow:#292a2410;--callout:#eeebdf;--callout-line:#d8d1bf;--callout-ink:#846347;--positive:#657360;--positive-bg:#e9ece3;--tag-foundations:#62683e;--tag-engineering:#4e6c7b;--tag-design:#a15432;--tag-workflow:#78628a;--diagram-grid:#dedbd0;--diagram-line:#958d7d;--diagram-node:#f6f5f0;--diagram-symbol:#787263;--code-bg:#2c302c;--code-ink:#e9ecdf;color:var(--ink);background:var(--paper)}:root[data-theme=dark]{color-scheme:dark;--paper:#191d1c;--surface:#222725;--ink:#e8e9e1;--muted:#adb3a7;--line:#3a433d;--accent:#f29171;--on-ink:#191d1c;--sidebar-bg:#151917;--surface-alt:#2b312b;--hover:#30372f;--active:#343a30;--control-line:#606b60;--line-strong:#8e9b88;--selection:#654331;--focus-halo:#f2917130;--shadow:#00000030;--callout:#333027;--callout-line:#655c44;--callout-ink:#d5b58e;--positive:#b5c5a5;--positive-bg:#2d382c;--tag-foundations:#bdc992;--tag-engineering:#9ec4d2;--tag-design:#e6ab86;--tag-workflow:#c9afd9;--diagram-grid:#424b40;--diagram-line:#8e9985;--diagram-node:#222725;--diagram-symbol:#b6bea9;--code-bg:#121714;--code-ink:#e9ecdf}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--paper:#191d1c;--surface:#222725;--ink:#e8e9e1;--muted:#adb3a7;--line:#3a433d;--accent:#f29171;--on-ink:#191d1c;--sidebar-bg:#151917;--surface-alt:#2b312b;--hover:#30372f;--active:#343a30;--control-line:#606b60;--line-strong:#8e9b88;--selection:#654331;--focus-halo:#f2917130;--shadow:#00000030;--callout:#333027;--callout-line:#655c44;--callout-ink:#d5b58e;--positive:#b5c5a5;--positive-bg:#2d382c;--tag-foundations:#bdc992;--tag-engineering:#9ec4d2;--tag-design:#e6ab86;--tag-workflow:#c9afd9;--diagram-grid:#424b40;--diagram-line:#8e9985;--diagram-node:#222725;--diagram-symbol:#b6bea9;--code-bg:#121714;--code-ink:#e9ecdf}}@media print{:root,:root[data-theme],:root:not([data-theme]){color-scheme:light;--paper:#f7f6f2;--surface:#fffefa;--ink:#282b29;--muted:#686d60;--line:#e3e2da;--accent:#c75031;--on-ink:#fffefa;--sidebar-bg:#f0f0e9;--surface-alt:#eeede5;--hover:#e9e9e0;--active:#e9e8de;--control-line:#d7d7cd;--line-strong:#b7a28d;--selection:#ead3bf;--focus-halo:#c7503118;--shadow:#292a2410;--callout:#eeebdf;--callout-line:#d8d1bf;--callout-ink:#846347;--positive:#657360;--positive-bg:#e9ece3;--tag-foundations:#62683e;--tag-engineering:#4e6c7b;--tag-design:#a15432;--tag-workflow:#78628a;--diagram-grid:#dedbd0;--diagram-line:#958d7d;--diagram-node:#f6f5f0;--diagram-symbol:#787263;--code-bg:#2c302c;--code-ink:#e9ecdf}[data-theme-controls]{display:none!important}}:root{--sidebar:242px;font-synthesis:none;font-family:Golos Text Variable,system-ui,sans-serif;line-height:1.55}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a,button,input,select{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent)}::selection{background:var(--selection)}h1,h2,h3,p{margin-top:0}svg{flex-shrink:0;max-width:100%}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:20;background:var(--ink);color:var(--on-ink);padding:12px 18px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.sidebar{width:var(--sidebar);border-right:1px solid var(--line);background:var(--sidebar-bg);z-index:5;flex-direction:column;padding:32px 20px 24px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1px;white-space:nowrap;align-items:center;gap:11px;font-size:21px;font-weight:650;display:flex}.brand-db{letter-spacing:-.8px;font-family:IBM Plex Mono,monospace;font-size:16px;font-weight:400;line-height:1.2;display:block}.brand-mark{grid-template-columns:1fr 1fr;gap:4px;width:33px;height:33px;display:grid}.brand-mark i{background:var(--accent);border-radius:1px}.brand-mark i:last-child{clip-path:polygon(0 0,100% 50%,0 100%)}.sidebar-caption{color:var(--muted);letter-spacing:.03em;margin:22px 0 36px;font-size:11px}.nav-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 10px 13px;font:500 10px IBM Plex Mono,monospace}.nav-item{color:var(--muted);border-radius:5px;align-items:center;gap:11px;margin:3px 0;padding:11px 12px;font-size:12px;display:flex}.nav-item:hover{background:var(--hover)}.nav-item.active{color:var(--accent);background:var(--active);font-weight:550}.nav-dot{background:var(--accent);border-radius:50%;width:5px;height:5px;margin-left:auto}.category-nav-label{margin-top:35px}.category-nav a{color:var(--muted);align-items:center;gap:13px;padding:10px 12px;font-size:12px;display:flex}.category-nav a:hover{color:var(--accent)}.category-number{color:var(--muted);font:10px IBM Plex Mono,monospace}.sidebar-bottom{border-top:1px solid var(--line);margin-top:auto;padding:22px 10px 0}.open-label{align-items:center;gap:8px;font:10px IBM Plex Mono,monospace;display:flex}.open-label>span{background:var(--positive);border-radius:50%;width:6px;height:6px}.sidebar-bottom p{color:var(--muted);margin:12px 0 17px;font-size:11px;line-height:1.7}.contribute-link{justify-content:space-between;align-items:center;font-size:11px;font-weight:550;display:flex}.contribute-link:hover{color:var(--accent)}.workspace{margin-left:var(--sidebar)}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;height:74px;padding:0 46px;display:flex}.breadcrumb{color:var(--muted);font-size:11px}.breadcrumb .slash{color:var(--muted);margin:0 12px}.desktop-crumb>span:last-child{color:var(--ink)}.topbar-actions{align-items:center;gap:24px;display:flex}.theme-switch{border:1px solid var(--line);border-radius:5px;flex-shrink:0;gap:2px;padding:3px;display:flex}.theme-switch button{width:30px;height:30px;color:var(--muted);background:0 0;border:0;border-radius:3px;place-items:center;padding:0;display:grid}.theme-switch button:hover{background:var(--hover);color:var(--ink)}.theme-switch button[aria-pressed=true]{background:var(--ink);color:var(--on-ink)}.language-switch{border:1px solid var(--line);border-radius:5px;gap:2px;padding:3px;font:10px IBM Plex Mono,monospace;display:flex}.language-switch>*{border-radius:3px;padding:4px 7px}.language-switch span{background:var(--ink);color:var(--on-ink)}.language-switch a{color:var(--muted)}.github-link{align-items:center;gap:8px;font-size:11px;display:flex}.github-link:hover{color:var(--accent)}.mobile-brand,.mobile-nav{display:none}main{max-width:1370px;min-height:calc(100vh - 155px);margin:0 auto;padding:48px 46px 60px}main:focus{outline:none}.site-footer{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:24px 32px;margin:0 46px;padding:28px 0;font-size:12px;display:grid}.site-footer p{margin-bottom:8px}.site-footer .footer-title{color:var(--ink);font-size:12px;font-weight:600}.site-footer a{text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--line)}.site-footer a:hover{color:var(--accent);text-decoration-color:currentColor}.footer-byline a{color:var(--ink)}.footer-contribute a{align-items:center;gap:5px;min-height:28px;display:inline-flex}.footer-contribute{flex-direction:column;align-items:flex-start;display:flex}.footer-contribute .footer-title{margin-bottom:4px}.intro{align-items:center;gap:40px;margin-bottom:36px;display:flex}.intro-copy{flex:1;min-width:0}.eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);align-items:center;gap:9px;margin-bottom:19px;font:500 10px IBM Plex Mono,monospace;display:flex}.small-cross{color:var(--accent);font-size:19px;line-height:1}.intro h1{letter-spacing:-2.4px;margin:0 0 21px;font-size:clamp(34px,3.3vw,52px);font-weight:550;line-height:1.15}.intro h1>span{color:var(--accent)}.intro-description{color:var(--muted);max-width:470px;margin-bottom:23px;font-size:13px;line-height:1.9}.intro-meta{color:var(--muted);align-items:center;gap:12px;font:10px IBM Plex Mono,monospace;display:flex}.intro-meta i{background:var(--muted);border-radius:50%;width:3px;height:3px}.loop-visual{border:1px solid var(--line);background:var(--surface-alt);border-radius:7px;flex-shrink:0;width:300px;margin-right:3px;padding:17px 17px 13px;transform:rotate(-2deg)}.visual-topline,.visual-bottomline{color:var(--muted);justify-content:space-between;font:8px IBM Plex Mono,monospace;display:flex}.visual-topline{border-bottom:1px solid var(--line);padding-bottom:12px}.loop-diagram{width:100%;margin-top:12px;display:block}.visual-bottomline{align-items:center}.visual-pixels{color:var(--accent);letter-spacing:1px;font-size:15px}.start-strip{border:1px solid var(--callout-line);background:var(--callout);border-radius:6px;align-items:center;gap:16px;margin:0 0 42px;padding:16px 20px;display:flex}.start-strip:hover{border-color:var(--line-strong)}.start-icon{border:1px solid var(--callout-line);width:36px;height:36px;color:var(--callout-ink);border-radius:50%;justify-content:center;align-items:center;display:flex}.start-strip strong{font-size:12px;font-weight:550;display:block}.start-description{color:var(--muted);margin-top:3px;font-size:11px;display:block}.start-action{white-space:nowrap;color:var(--callout-ink);align-items:center;gap:11px;margin-left:auto;font-size:11px;display:flex}.section-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:19px;display:flex}.section-heading h2{letter-spacing:-.65px;align-items:center;gap:10px;margin:0;font-size:20px;font-weight:550;display:flex}.count-badge{color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:3px 6px;font:10px IBM Plex Mono,monospace}.section-caption{color:var(--muted);font-size:10px}.search-box{border:1px solid var(--control-line);background:var(--surface);color:var(--muted);border-radius:5px;align-items:center;gap:12px;padding:0 15px;display:flex}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-halo)}.search-box input{background:0 0;border:0;outline:0;width:100%;min-width:0;height:49px;font-size:12px}.search-box input::placeholder{color:var(--muted)}.search-box kbd{border:1px solid var(--line);border-radius:3px;padding:0 5px;font:11px IBM Plex Mono,monospace}.filters{flex-wrap:wrap;gap:7px;margin:17px 0 24px;display:flex}.filters button{border:1px solid var(--line);background:0 0;border-radius:5px;padding:7px 12px;font-size:10px;transition:background .15s}.filters button:hover{background:var(--hover)}.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.lesson-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.lesson-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-direction:column;min-height:227px;padding:20px 19px 12px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.lesson-card:hover{border-color:var(--line-strong);box-shadow:0 5px 16px var(--shadow);transform:translateY(-3px)}.card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:21px;display:flex}.category-tag{color:var(--tag-foundations);align-items:center;gap:6px;font-size:9px;font-weight:500;line-height:1.5;display:inline-flex}.category-tag>span{background:currentColor;border-radius:1px;width:5px;height:5px}.category-tag.engineering{color:var(--tag-engineering)}.category-tag.design{color:var(--tag-design)}.category-tag.workflow{color:var(--tag-workflow)}.card-index{color:var(--muted);font:10px IBM Plex Mono,monospace}.lesson-card h3{letter-spacing:-.5px;margin-bottom:10px;font-size:16px;font-weight:550;line-height:1.4}.lesson-card>p{color:var(--muted);margin-bottom:22px;font-size:11px;line-height:1.8}.card-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;font:9px IBM Plex Mono,monospace;display:flex}.card-bottom b{margin:0 9px;font-weight:400}.card-arrow{color:var(--muted)}.lesson-card:hover .card-arrow{color:var(--accent)}.empty-state{text-align:center;border:1px dashed var(--line);color:var(--muted);border-radius:6px;padding:46px 20px}.empty-state>svg{margin-bottom:12px}.empty-state h3{color:var(--ink);margin-bottom:10px;font-size:20px}.empty-state p{font-size:13px}.button-primary{background:var(--ink);color:var(--on-ink);border:0;border-radius:4px;padding:10px 15px;font-size:12px}.agent-banner{border-top:1px solid var(--line);align-items:center;gap:18px;margin-top:36px;padding-top:29px;display:flex}.agent-banner-icon{background:var(--positive-bg);width:51px;height:51px;color:var(--positive);border-radius:9px;justify-content:center;align-items:center;display:flex}.agent-banner .eyebrow{margin-bottom:8px;font-size:8px}.agent-banner h2{letter-spacing:-.5px;margin-bottom:5px;font-size:16px;font-weight:500}.agent-banner p{color:var(--muted);margin:0;font-size:10px}.agent-banner>a{white-space:nowrap;align-items:center;gap:12px;margin-left:auto;font-size:11px;display:flex}.agent-banner>a:hover{color:var(--accent)}.back-link{color:var(--muted);margin-bottom:28px;font-size:11px;display:inline-block}.back-link:hover{color:var(--accent)}.article-header{border-bottom:1px solid var(--line);max-width:820px;margin-bottom:34px;padding-bottom:28px}.article-header h1,.page-header h1{letter-spacing:-1.7px;margin:16px 0 20px;font-size:clamp(32px,3.5vw,50px);font-weight:550;line-height:1.15}.article-header>p,.page-header>p{color:var(--muted);max-width:720px;font-size:15px;line-height:1.85}.article-meta{color:var(--muted);flex-wrap:wrap;gap:16px;font:10px IBM Plex Mono,monospace;display:flex}.article-layout{grid-template-columns:minmax(0,740px) 190px;gap:48px;display:grid}.prose{min-width:0;font-size:15px;line-height:1.9}.prose h2{letter-spacing:-.7px;margin-top:40px;margin-bottom:18px;scroll-margin-top:24px;font-size:25px;font-weight:550;line-height:1.35}.prose h2:first-child{margin-top:0}.prose h3{margin-top:28px;font-size:18px;font-weight:550}.prose p,.prose ul,.prose ol{margin-bottom:20px}.prose ul,.prose ol{padding-left:24px}.prose li{margin-bottom:8px;padding-left:4px}.prose a{color:var(--accent);text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}.prose pre{border-radius:7px;padding:20px;font-size:12px;line-height:1.7;overflow:auto}.prose :not(pre)>code{background:var(--surface-alt);overflow-wrap:anywhere;border-radius:3px;padding:2px 5px;font-size:.85em}.prose code{font-family:IBM Plex Mono,monospace}.prose blockquote{background:var(--surface-alt);border-left:3px solid var(--accent);color:var(--muted);margin:24px 0;padding:20px 22px;font-size:14px}.prose blockquote p:last-child{margin-bottom:0}.prose table{border-collapse:collapse;font-size:13px;display:block;overflow:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;padding:10px}.sticky-toc{position:sticky;top:30px}.article-aside .nav-label{margin-left:0}.article-aside nav{color:var(--muted);border-left:1px solid var(--line);flex-direction:column;gap:10px;padding-left:15px;font-size:11px;display:flex}.article-aside nav a:hover{color:var(--accent)}[data-toc] a{position:relative}[data-toc] a[aria-current=location]{color:var(--accent)}[data-toc] a[aria-current=location]:before{content:"";background:var(--accent);border-radius:2px;width:3px;position:absolute;top:0;bottom:0;left:-16px}.article-tools{border-top:1px solid var(--line);color:var(--muted);flex-direction:column;gap:13px;margin-top:24px;padding-top:20px;font-size:10px;display:flex}.article-tools a{align-items:center;gap:9px;display:flex}.article-tools a:hover{color:var(--accent)}.article-sources{border-top:1px solid var(--line);margin-top:36px}.article-license{color:var(--muted);margin-top:30px;font:10px IBM Plex Mono,monospace}.related{border-top:1px solid var(--line);margin-top:50px;padding-top:25px}.related h2{font-size:18px;font-weight:500}.related-links{flex-wrap:wrap;gap:15px;display:flex}.related-links a{background:var(--surface);border:1px solid var(--line);border-radius:5px;align-items:center;gap:30px;padding:15px 20px;font-size:13px;display:flex}.related-links a:hover{border-color:var(--accent)}.page-header{margin-bottom:38px}.page-header h1{margin-top:0}.resource-list{border-top:1px solid var(--line)}.resource-row{border-bottom:1px solid var(--line);grid-template-columns:50px 1fr 20px;align-items:center;gap:24px;padding:25px 0;display:grid}.resource-row:hover h2{color:var(--accent)}.resource-icon{background:var(--positive-bg);width:50px;height:50px;color:var(--positive);border-radius:7px;justify-content:center;align-items:center;display:flex}.resource-meta{color:var(--muted);gap:15px;margin-bottom:7px;font:9px IBM Plex Mono,monospace;display:flex}.resource-row h2{letter-spacing:-.4px;margin-bottom:7px;font-size:17px;font-weight:500;line-height:1.4}.resource-row p{color:var(--muted);max-width:750px;margin:0;font-size:12px}.notice{color:var(--muted);background:var(--surface-alt);border-radius:5px;margin-top:26px;padding:17px 20px;font-size:12px}.endpoint-table{border-collapse:collapse;width:100%;margin:24px 0;font-size:13px}.endpoint-table td{border-top:1px solid var(--line);vertical-align:top;padding:16px 0}.endpoint-table td:first-child{padding-right:22px}.endpoint-table a{color:var(--accent);overflow-wrap:anywhere;font-family:IBM Plex Mono,monospace;font-size:12px}.agent-guide{max-width:820px}.agent-guide h2{letter-spacing:-.6px;margin:32px 0 14px;font-size:24px;font-weight:550}.agent-guide p,.agent-guide li{font-size:14px;line-height:1.9}.agent-guide pre{background:var(--code-bg);color:var(--code-ink);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:7px;padding:24px;font:12px/1.8 IBM Plex Mono,monospace}.agent-guide li{margin-bottom:9px}.copy-button{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:9px 13px;font-size:11px}.copy-button:hover{border-color:var(--accent)}@media (width>=1550px){:root{--sidebar:260px}.sidebar{padding-left:28px;padding-right:28px}.intro{gap:70px}.loop-visual{width:350px}.lesson-card{min-height:235px}}@media (width<=1190px){:root{--sidebar:214px}.sidebar{padding-left:15px;padding-right:15px}.topbar{padding:0 30px}main{padding:36px 30px 45px}.site-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0 30px}.footer-project{grid-column:1/-1}.intro{gap:25px}.loop-visual{width:250px}.intro h1{font-size:37px}.intro-description{font-size:12px}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:minmax(0,1fr) 165px;gap:28px}}@media (width<=950px){.loop-visual{display:none}.intro-description{max-width:530px}.intro h1{font-size:45px}.start-action{gap:0;font-size:0}.article-layout{flex-direction:column;display:flex}.article-aside{order:-1}.article-aside nav,.article-aside .nav-label{display:none}.article-tools{border:0;flex-direction:row;margin:0;padding:0}.agent-banner-icon,.section-caption{display:none}.agent-banner{flex-wrap:wrap}.agent-banner>a{margin-left:0}}@media (width<=700px){:root{--sidebar:0px}.sidebar{display:none}.topbar{height:65px;padding:0 20px}.topbar-actions{gap:8px}.topbar{gap:12px}.theme-switch button{width:26px}.mobile-brand{white-space:nowrap}.github-link span,.github-link>svg:last-child{display:none}.mobile-brand{letter-spacing:-.5px;color:var(--ink);font-size:16px;font-weight:600;display:block}.desktop-crumb{display:none}.mobile-nav{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:10px;padding:12px 20px;font-size:11px;display:flex}.mobile-nav a[aria-current=page]{color:var(--accent)}main{padding:32px 20px 42px}.intro{margin-bottom:27px}.intro h1{letter-spacing:-1.8px;font-size:40px}.eyebrow{font-size:9px}.intro-description{font-size:13px;line-height:1.8}.intro-meta{font-size:9px}.start-strip{gap:12px;margin-bottom:32px;padding:15px 14px}.start-icon{flex-shrink:0;width:30px;height:30px}.start-strip strong{font-size:11px}.start-description{max-width:230px;font-size:10px}.start-action{display:none}.filters{gap:6px;margin-bottom:20px}.filters button{padding:7px 9px;font-size:10px}.lesson-grid{gap:12px}.lesson-card{min-height:230px;padding:17px 15px 12px}.lesson-card h3{font-size:16px}.card-index{display:none}.card-top{margin-bottom:16px}.lesson-card>p{font-size:11px}.card-bottom{font-size:8px}.card-bottom b{margin:0 5px}.card-arrow svg{width:15px}.agent-banner h2{font-size:17px}.agent-banner p,.agent-banner>a{font-size:12px}.article-header h1,.page-header h1{font-size:34px}.article-header>p,.page-header>p{font-size:14px}.article-meta{gap:12px;font-size:9px}.prose{font-size:14px}.prose h2{font-size:23px}.prose pre{padding:16px;font-size:11px}.resource-row{grid-template-columns:36px 1fr 18px;gap:13px}.resource-icon{width:36px;height:36px}.resource-row h2{font-size:16px}.endpoint-table,.endpoint-table tbody,.endpoint-table tr,.endpoint-table td{display:block}.endpoint-table td{border:0;padding:10px 0}.endpoint-table tr{border-top:1px solid var(--line);padding:10px 0}.endpoint-table td:first-child{padding:0}.endpoint-table td:last-child{padding-bottom:0;font-size:12px}.site-footer{grid-template-columns:minmax(0,1fr);margin:0 20px;padding:24px 0}}@media (width<=360px){.topbar{padding-inline:12px}.mobile-brand{font-size:14px}}@media (width<=390px){.lesson-grid{grid-template-columns:1fr}.lesson-card{min-height:200px}.intro h1{font-size:35px}.card-index{display:block}.intro-meta,.topbar-actions{gap:8px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.compact-page{--compact-toolbar:48px}.compact-page .workspace{block-size:100svh;grid-template-rows:auto minmax(0,1fr);min-width:0;margin-left:0;display:grid}.compact-page .topbar{height:auto;min-height:var(--compact-toolbar);flex-wrap:wrap;gap:4px 12px;padding:4px clamp(16px,2vw,36px)}.compact-page .breadcrumb{align-items:center;gap:24px;min-width:0;display:flex}.compact-page main{width:100%;max-width:none;min-height:0;margin:0;padding:clamp(12px,2vw,28px);container:mechanic-shell/inline-size}.compact-brand{color:var(--ink);letter-spacing:-.8px;white-space:nowrap;font-size:17px;font-weight:650}.compact-brand span{color:var(--accent)}.compact-back{white-space:nowrap;color:var(--muted);font-size:12px}.compact-back:hover{color:var(--accent)}.compact-page .topbar-actions{gap:12px}.compact-page .theme-switch button{width:26px;height:26px}@media (width<=700px){.compact-page{--compact-toolbar:44px}.compact-page .topbar{padding:4px 12px}.compact-page .compact-brand,.compact-page .github-link{display:none}.compact-page .topbar-actions{gap:8px}.compact-page main{padding:10px 12px}}@media (width<=620px) and (height<=640px),(width<=900px) and (height<=400px){.compact-page .workspace{grid-template-rows:minmax(0,1fr)}.compact-page .topbar{display:none}.compact-page main{padding:12px}}@container mechanic-shell (width<=230px){.mechanic-preview{padding-bottom:12px}}
