@font-face{font-family:Inter;src:url('assets/inter.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('assets/ibm-plex-mono.woff2') format('woff2');font-weight:400;font-display:swap}
:root{color-scheme:light;--bg:#ffffff;--fg:#303036;--muted:#626268;--line:#d5d8dc;--card:#f4f4f5;--accent:#1a7c93;--code:#f4f4f5}
:root[data-theme=dark]{color-scheme:dark;--bg:#252528;--fg:#ffffff;--muted:#b9bec4;--line:#626268;--card:#303036;--accent:#76b0be;--code:#303036}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.65 Inter,system-ui,sans-serif}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration:underline}button{font:inherit}a,button,summary{touch-action:manipulation}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.wrap{width:min(1180px,calc(100% - 64px));margin:auto;padding-bottom:48px}.site-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--fg);font-weight:800;letter-spacing:.025em;text-decoration:none;white-space:nowrap}.brand img{display:block;flex:none;border:1px solid #d5d8dc;border-radius:10px}.links{display:flex;align-items:center;gap:28px}.links a{font-size:14px;text-decoration:none}.links a:hover{text-decoration:underline}.theme-toggle{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--fg);background:transparent;cursor:pointer}.theme-toggle:hover{background:var(--card)}
header{padding:72px 0 48px}h1{font-size:clamp(2.1rem,4.4vw,3.75rem);font-weight:600;line-height:1.1;letter-spacing:-.04em;margin:0 0 24px}.lede{max-width:62ch;font-size:1.125rem;color:var(--muted);margin:0}section{padding:32px 0}h2{font-size:clamp(1.4rem,2.3vw,1.8rem);font-weight:600;line-height:1.25;letter-spacing:-.02em;margin:0 0 12px}.sub{max-width:70ch;color:var(--muted);margin:0 0 24px}.grid{border-top:1px solid var(--line)}.card{padding:32px 0;border-bottom:1px solid var(--line)}.card-copy{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:32px}.t{font-size:1.2rem;line-height:1.4;font-weight:600;margin:0}.t a{color:var(--fg);text-decoration:none}.t a:hover{color:var(--accent)}.d{color:var(--muted);margin:0;max-width:62ch}.tag{display:table;margin-top:10px;color:var(--muted);font:12px/1.5 'IBM Plex Mono',monospace}.install-command{width:calc(57.14% - 14px);margin:20px 0 0 auto;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--code);color:var(--fg);font:13px/1.8 'IBM Plex Mono',monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.technical-evidence{margin:20px 0 0;padding:0}.technical-evidence summary{cursor:pointer;color:var(--accent);width:fit-content;padding:4px 0}.technical-evidence[open]{padding:16px 20px;background:var(--card);border-radius:8px}.image-guide{max-width:75ch;margin:20px 0;color:var(--fg)}.image-guide strong{display:block;margin-bottom:8px;font-weight:600}.source-figure{margin:24px 0 0}.figure-image-link{display:block;background:#fff;border-radius:4px;overflow:hidden}.problem-figure{display:block;width:100%;height:auto}figcaption{margin-top:16px;max-width:85ch;color:var(--muted);font-size:.875rem;line-height:1.65}figcaption strong{color:var(--fg);font-weight:600}.figure-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:12px}.prose{border-bottom:1px solid var(--line)}footer{padding-top:32px;color:var(--muted);font-size:.875rem;max-width:90ch}.skip-link{position:absolute;left:16px;top:-80px;padding:12px;background:var(--bg);z-index:2}.skip-link:focus{top:8px}
@media(max-width:720px){.wrap{width:calc(100% - 40px)}.site-nav{gap:16px;flex-wrap:wrap}.links{gap:20px}.brand{font-size:15px}header{padding:44px 0 28px}.lede{font-size:1rem}.card-copy{grid-template-columns:minmax(0,1fr);gap:12px}.card{padding:26px 0}.install-command{width:100%}.technical-evidence[open]{padding:12px}.image-guide{font-size:.9375rem}.tag{display:inline-block;margin:0 0 0 8px}.figure-links{gap:12px 16px}}
@media(max-width:380px){.site-nav .links{width:100%;justify-content:space-between}.wrap{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
