:root{color-scheme:light dark;--bg: #141414;--bg-start: #141414;--bg-glow: transparent;--surface: #1c1c1c;--surface-soft: #1a1a1a;--surface-hot: #242424;--panel-bg: rgba(28, 28, 28, .84);--header-bg: rgba(20, 20, 20, .94);--hover-bg: rgba(255, 255, 255, .06);--code-bg: #161616;--text: #e8e8e8;--text-strong: #ffffff;--muted: #a0a0a0;--line: #333333;--line-soft: #262626;--marker: #6e6e6e;--smell: #ff7b72;--pattern: #7ee787;--chapter: #58a6ff;--guide: #ffd166;--focus: #f2cc60;--focus-text: #111111;--prompt: #a5d6ff;--shadow: none;--code-comment: #7a8492;--code-keyword: #c586c0;--code-string: #d4a373;--code-number: #e5b878;--code-type: #5cc7c0;--code-function: #9ad5e6;--code-attribute: #c0c5cf;--code-meta: #c586c0;font-family:SFMono-Regular,Cascadia Code,Roboto Mono,Menlo,Consolas,Liberation Mono,monospace}@media(prefers-color-scheme:light){:root{--bg: #f6f8fa;--bg-start: #ffffff;--bg-glow: rgba(9, 105, 218, .12);--surface: #ffffff;--surface-soft: #f6f8fa;--surface-hot: #eef4ff;--panel-bg: rgba(255, 255, 255, .9);--header-bg: rgba(246, 248, 250, .94);--hover-bg: rgba(9, 105, 218, .08);--code-bg: #f6f8fa;--text: #24292f;--text-strong: #0b1220;--muted: #57606a;--line: #d0d7de;--line-soft: #d8dee4;--marker: #6e7781;--smell: #cf222e;--pattern: #1a7f37;--chapter: #0969da;--guide: #8a5400;--focus: #9a6700;--focus-text: #ffffff;--prompt: #0969da;--code-comment: #6e7781;--code-keyword: #8250df;--code-string: #a05a2c;--code-number: #8a6a00;--code-type: #117777;--code-function: #0a548a;--code-attribute: #57606a;--code-meta: #8250df}}@media(prefers-contrast:more){:root{--bg: #000000;--bg-start: #000000;--bg-glow: transparent;--surface: #000000;--surface-soft: #000000;--surface-hot: #000000;--panel-bg: #000000;--header-bg: #000000;--hover-bg: #ffffff;--code-bg: #000000;--text: #ffffff;--text-strong: #ffffff;--muted: #ffffff;--marker: #ffffff;--line: #ffffff;--line-soft: #ffffff;--smell: #ffd400;--pattern: #00ff66;--chapter: #6bd5ff;--guide: #ffaa00;--focus: #ffd400;--focus-text: #000000;--prompt: #ffffff;--code-comment: #ffffff;--code-keyword: #ffffff;--code-string: #ffffff;--code-number: #ffffff;--code-type: #ffffff;--code-function: #ffffff;--code-attribute: #ffffff;--code-meta: #ffffff}}@media(prefers-contrast:more)and (prefers-color-scheme:light){:root{--bg: #ffffff;--bg-start: #ffffff;--bg-glow: transparent;--surface: #ffffff;--surface-soft: #ffffff;--surface-hot: #ffffff;--panel-bg: #ffffff;--header-bg: #ffffff;--hover-bg: #000000;--code-bg: #ffffff;--text: #000000;--text-strong: #000000;--muted: #000000;--marker: #000000;--line: #000000;--line-soft: #000000;--smell: #8b0000;--pattern: #006400;--chapter: #00008b;--guide: #6e4f00;--focus: #8b0000;--focus-text: #ffffff;--prompt: #000000;--code-comment: #000000;--code-keyword: #000000;--code-string: #000000;--code-number: #000000;--code-type: #000000;--code-function: #000000;--code-attribute: #000000;--code-meta: #000000}}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);scroll-behavior:smooth}body{margin:0;min-width:320px}body.no-motion *{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}a{color:var(--chapter);text-decoration-color:currentColor;text-decoration-thickness:.08em;text-underline-offset:.18em}.standard-link{color:var(--prompt)}.standard-link:after{content:" ↗" / "";font-size:.85em}a:hover{background:var(--hover-bg);color:var(--text-strong)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.skip-link{background:var(--focus);color:var(--focus-text);left:1rem;padding:.75rem 1rem;position:fixed;top:1rem;transform:translateY(-160%);z-index:30}.skip-link:focus{transform:translateY(0)}.visually-hidden{border:0;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sidebar-eyebrow{color:var(--prompt);font-size:.95rem;font-weight:800;margin:0 0 .7rem}.site-header{background:var(--header-bg);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.site-footer{background:var(--header-bg);border-top:1px solid var(--line);margin-top:4rem}.footer-inner{display:grid;gap:1.6rem;margin:0 auto;max-width:1240px;padding:1.4rem 1rem 2rem}.footer-nav{display:flex;flex-wrap:wrap;gap:.4rem}.footer-nav a{border:1px solid transparent;color:var(--muted);font-weight:800;min-height:44px;padding:.75rem 1.7rem .75rem .85rem;position:relative;text-decoration:none;display:inline-flex;align-items:center}.footer-nav a:before{color:var(--prompt);content:"./" / ""}.creator-section{border-top:1px dashed var(--line-soft);display:grid;gap:.5rem;padding-top:1.2rem}.creator-title{color:var(--text-strong);font-size:clamp(1.05rem,2.5vw,1.25rem);margin:0}.creator-body{color:var(--muted);line-height:1.6;margin:0;max-width:78ch}.footer-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.footer-link{border:1px solid transparent;color:var(--text);display:inline-flex;align-items:center;font-weight:800;min-height:44px;padding:.6rem 1.7rem .6rem .85rem;position:relative;text-decoration:none}.footer-link:before{color:var(--prompt);content:"./" / ""}.footer-link[aria-current=page],.footer-link:hover{background:var(--hover-bg)}.header-inner{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1240px;padding:.85rem 1rem}.brand{align-items:center;color:var(--text);display:inline-flex;font-weight:800;gap:.65rem;text-decoration:none}.brand:before{color:var(--prompt);content:"user@a11y:~$" / ""}.brand-mark{display:none}.top-nav{display:flex;flex-wrap:wrap;gap:.4rem}.top-nav a,.pill-link,.button-link{border:1px solid transparent;border-radius:0;color:var(--muted);font-weight:800;min-height:44px;padding:.75rem 1.7rem .75rem .85rem;position:relative;text-decoration:none;display:inline-flex;align-items:center}.top-nav a:before,.button-link:before{color:var(--prompt);content:"./" / ""}.top-nav a:after,.footer-nav a:after,.footer-link:after{color:var(--focus);content:"" / "";font-weight:800;position:absolute;right:.55rem;top:50%;transform:translateY(-50%)}.top-nav a[aria-current=page]:after,.footer-nav a[aria-current=page]:after,.footer-link[aria-current=page]:after{content:"*" / ""}.page-shell,.article-shell{margin:0 auto;max-width:1240px;padding:2rem 1rem 4rem}.hero{border:1px solid var(--line);display:grid;gap:1.4rem;padding:clamp(1rem,4vw,2rem);position:relative}.hero:before{background:var(--bg);color:var(--muted);content:"terminal://ios-accessibility-book" / "";left:1rem;padding:0 .35rem;position:absolute;top:-.75rem}.eyebrow{color:var(--prompt);font-size:.95rem;font-weight:800;letter-spacing:0;margin:0 0 .6rem;text-transform:none}.eyebrow:before{content:"> " / ""}h1,h2,h3{letter-spacing:0;line-height:1.14}h1{color:var(--text-strong);font-size:clamp(2rem,6vw,4.4rem);margin:0;max-width:1000px}h1:before{color:var(--prompt);content:"# " / ""}h2:before{color:var(--chapter);content:"## " / ""}h3:before{color:var(--muted);content:"### " / ""}.lead{color:var(--muted);font-size:clamp(1rem,2.2vw,1.18rem);line-height:1.65;max-width:820px}.hero-actions,.card-grid,.index-actions{display:grid;gap:.8rem}.hero-actions,.index-actions{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.article-card{background:var(--panel-bg);border:1px solid var(--line);border-radius:0;box-shadow:var(--shadow)}.related-card{background:transparent;border:0;margin-bottom:1.4rem;padding:0}.related-card h3{color:var(--prompt);font-size:.78rem;font-weight:800;letter-spacing:.06em;margin:0 0 .4rem;text-transform:uppercase}.choice-card,.content-card{background:transparent;border:0;border-left:3px solid var(--line-soft);color:var(--text);display:block;padding:.6rem 2.4rem .6rem 1rem;position:relative;text-decoration:none;transition:background-color .12s ease-in-out,color .12s ease-in-out,border-left-color .12s ease-in-out}.choice-card:after,.content-card:after{color:var(--muted);content:"→" / "";font-weight:800;opacity:0;position:absolute;right:.9rem;top:.6rem;transition:opacity .12s ease-in-out,transform .12s ease-in-out}.choice-card:hover:after,.choice-card:focus-visible:after,.content-card:hover:after,.content-card:focus-visible:after{color:var(--bg);opacity:1;transform:translate(.25rem)}.choice-card:hover strong,.choice-card:focus-visible strong,.content-card:hover strong,.content-card:focus-visible strong{text-decoration:underline;text-decoration-thickness:.1em;text-underline-offset:.18em}.choice-card:hover,.choice-card:focus-visible,.content-card:hover,.content-card:focus-visible{background:var(--kind-fill, var(--hover-bg));border-left-color:var(--kind-fill, var(--prompt));color:var(--bg)}.choice-card:hover strong,.choice-card:focus-visible strong,.content-card:hover strong,.content-card:focus-visible strong,.choice-card:hover p,.choice-card:focus-visible p,.content-card:hover p,.content-card:focus-visible p,.choice-card:hover .tag,.choice-card:focus-visible .tag,.content-card:hover .tag,.content-card:focus-visible .tag,.choice-card:hover .card-counter,.choice-card:focus-visible .card-counter,.content-card:hover .card-counter,.content-card:focus-visible .card-counter{color:var(--bg)!important;border-color:var(--bg)!important}.choice-card strong,.content-card strong{color:var(--text-strong);display:block;font-size:1.02rem;margin-bottom:.3rem}.choice-card p,.content-card p{color:var(--muted);line-height:1.55;margin:0}.card-counter{color:var(--prompt);font-size:.82rem;margin-top:.55rem!important}.card-counter:before{content:"→ " / "";color:var(--muted)}.related-source{color:var(--muted);font-size:.82rem;margin-left:.4rem}.related-note{border-top:1px dashed var(--line-soft);color:var(--muted);font-size:.82rem;line-height:1.5;margin-top:.8rem;padding-top:.6rem}.choice-card.smell,.content-card:has(.tag.smell){--kind-fill: var(--smell)}.choice-card.pattern,.content-card:has(.tag.pattern){--kind-fill: var(--pattern)}.choice-card.chapter,.content-card:has(.tag.chapter){--kind-fill: var(--chapter)}.choice-card.guide,.content-card:has(.tag.guide){--kind-fill: var(--guide)}.section-heading{align-items:end;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:3rem 0 1rem}.section-heading h2{font-size:clamp(1.45rem,4vw,2.1rem);margin:0}.card-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.search-block{background:transparent;border:0;margin:1.5rem 0;padding:0}.search-block label{color:var(--prompt);display:block;font-weight:800;margin-bottom:.5rem}.search-block label:before{content:"grep " / ""}.search-block input{background:var(--code-bg);border:1px solid var(--line);border-radius:0;color:var(--text);font:inherit;padding:.75rem .8rem;width:100%}.search-block input::placeholder{color:var(--marker)}.article-shell{display:grid;gap:2rem;grid-template-columns:minmax(0,240px) minmax(0,1fr) minmax(0,260px)}.sidebar,.related-panel{align-self:start;position:sticky;top:5rem}.sidebar nav,.related-panel{background:transparent;border:0;max-height:calc(100vh - 6rem);overflow:auto;padding:.2rem 0}.sidebar h2,.related-panel h2{color:var(--prompt);font-size:.95rem;margin:0 0 .7rem}.sidebar h2:before,.related-panel h2:before{content:""}.sidebar ol,.sidebar ul,.related-list{display:grid;gap:.2rem;list-style:none;margin:0;padding:0}.sidebar a,.related-list a{color:var(--muted);display:block;padding:.4rem .5rem;text-decoration:none}.sidebar a:hover,.related-list a:hover{color:var(--text-strong)}.sidebar a[aria-current=page]{background:var(--hover-bg);border-left:3px solid var(--focus);color:var(--text-strong);padding-left:calc(.5rem - 3px)}.article-main{min-width:0}.article-card{padding:clamp(1rem,4vw,2.2rem)}.article-meta{align-items:center;border-bottom:1px solid var(--line-soft);color:var(--muted);display:flex;flex-wrap:wrap;font-weight:700;gap:.7rem;margin-bottom:1rem;padding-bottom:.8rem}.article-meta:before{color:var(--prompt);content:"cat " / ""}.markdown{font-size:1rem;line-height:1.74}.markdown h1{font-size:clamp(1.85rem,5vw,3.1rem)}.markdown h2{color:var(--text-strong);font-size:clamp(1.2rem,2.6vw,1.55rem);margin-top:3rem;padding-top:0}.markdown h3{color:var(--muted);font-size:1rem;font-weight:800;margin-top:2rem;text-transform:none}.markdown p,.markdown li{max-width:78ch}.markdown blockquote{border-left:3px solid var(--line);color:var(--muted);margin-left:0;padding-left:1rem}.markdown table{border-collapse:collapse;display:block;overflow-x:auto;width:100%}.markdown th,.markdown td{border:1px solid var(--line);padding:.65rem;text-align:left;vertical-align:top}.markdown th{background:var(--surface-hot);color:var(--prompt)}.markdown pre{background:var(--code-bg);border:1px solid var(--line);border-radius:0;color:var(--text);overflow-x:auto;padding:1rem}.markdown code{font-family:inherit;font-size:.94em}.markdown :not(pre)>code{background:var(--surface-soft);border:1px solid var(--line-soft);border-radius:0;color:var(--prompt);padding:.08rem .25rem}.markdown pre code.hljs{background:transparent;color:var(--text);padding:0}.hljs-comment,.hljs-quote{color:var(--code-comment);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst,.hljs-doctag{color:var(--code-keyword);font-weight:800}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-meta-string{color:var(--code-string)}.hljs-number,.hljs-literal,.hljs-symbol,.hljs-bullet,.hljs-link{color:var(--code-number)}.hljs-built_in,.hljs-type,.hljs-class .hljs-title,.hljs-class,.hljs-title.class_,.hljs-title.class_.inherited__{color:var(--code-type)}.hljs-title,.hljs-title.function_,.hljs-section,.hljs-name,.hljs-selector-id,.hljs-selector-class{color:var(--code-function)}.hljs-attr,.hljs-attribute,.hljs-variable,.hljs-template-variable,.hljs-property{color:var(--code-attribute)}.hljs-params,.hljs-tag{color:var(--text)}.hljs-meta,.hljs-annotation{color:var(--code-meta);font-style:italic}.hljs-deletion{color:var(--code-string);text-decoration:line-through}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:800}.markdown figure{margin:2rem 0;break-inside:avoid}.markdown figcaption{margin-top:.75rem;color:var(--muted);font-size:.9em;line-height:1.6}.markdown figure img{margin-inline:auto;height:auto}.markdown img.native-screenshot{width:min(100%,28rem)}.markdown img{color:var(--muted);display:block;max-width:100%;object-fit:contain}.markdown img:not([src]),.markdown img[src=""]{background:var(--code-bg);border:1px dashed var(--line);min-height:120px}.article-nav{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.article-nav a{background:transparent;border:0;border-top:1px solid var(--line-soft);color:var(--text);padding:1rem 0;text-decoration:none}.article-nav a span{color:var(--muted);display:block;margin-bottom:.3rem}.article-nav a:last-child{text-align:right}.tag{border:1px solid currentColor;border-radius:0;display:inline-flex;font-size:.78rem;font-weight:800;margin-bottom:.6rem;padding:.18rem .45rem;text-transform:uppercase}.tag.smell{color:var(--smell)}.tag.pattern{color:var(--pattern)}.tag.chapter{color:var(--chapter)}.tag.guide{color:var(--guide)}@media(max-width:980px){.article-shell{grid-template-columns:1fr}.sidebar,.related-panel{position:static}.sidebar nav,.related-panel{max-height:none}}a[href*="/smells/"],a[href*="/smells/"] strong{color:var(--smell)}a[href*="/patterns/"],a[href*="/patterns/"] strong{color:var(--pattern)}a[href*="/chapters/"],a[href*="/chapters/"] strong{color:var(--chapter)}a[href*="/guides/"],a[href*="/guides/"] strong{color:var(--guide)}a[href*="/smells/"]:hover,a[href*="/smells/"]:focus-visible,a[href*="/smells/"]:hover strong,a[href*="/smells/"]:focus-visible strong{color:var(--smell)}a[href*="/patterns/"]:hover,a[href*="/patterns/"]:focus-visible,a[href*="/patterns/"]:hover strong,a[href*="/patterns/"]:focus-visible strong{color:var(--pattern)}a[href*="/chapters/"]:hover,a[href*="/chapters/"]:focus-visible,a[href*="/chapters/"]:hover strong,a[href*="/chapters/"]:focus-visible strong{color:var(--chapter)}a[href*="/guides/"]:hover,a[href*="/guides/"]:focus-visible,a[href*="/guides/"]:hover strong,a[href*="/guides/"]:focus-visible strong{color:var(--guide)}.top-nav a[aria-current=page],.footer-nav a[aria-current=page],.footer-link[aria-current=page],.top-nav a:hover,.footer-nav a:hover,.footer-link:hover{background:var(--hover-bg);border-color:var(--text-strong)}.top-nav a:hover:not([aria-current]):after,.top-nav a:focus-visible:not([aria-current]):after,.footer-nav a:hover:not([aria-current]):after,.footer-nav a:focus-visible:not([aria-current]):after,.footer-link:hover:not([aria-current]):after,.footer-link:focus-visible:not([aria-current]):after{content:"→" / ""}@media(max-width:640px){.header-inner{align-items:flex-start;flex-direction:column}.top-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.top-nav a{text-align:left}.article-nav{grid-template-columns:1fr}.article-nav a:last-child{text-align:left}}
