
:root{color-scheme:light;--bg:#f7f7f5;--paper:#fff;--soft:#f0f1ef;--ink:#111;--muted:#62645f;--line:#dedfda;--accent:#111;--accent-ink:#fff;--shadow:0 8px 30px rgba(0,0,0,.06);--nav:280px;--top:64px}
:root[data-theme="dark"]{color-scheme:dark;--bg:#0b0b0b;--paper:#111;--soft:#191919;--ink:#f5f5f2;--muted:#a4a49e;--line:#30302d;--accent:#f5f5f2;--accent-ink:#111;--shadow:0 8px 30px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif;line-height:1.65;overflow-x:hidden}a{color:inherit}.topbar{height:var(--top);position:fixed;inset:0 0 auto;display:flex;align-items:center;gap:18px;padding:0 24px;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);z-index:50}.brand{text-decoration:none;font-weight:760;letter-spacing:-.03em}.brand b{display:inline-grid;place-items:center;width:29px;height:29px;background:var(--accent);color:var(--accent-ink);margin-right:9px;border-radius:6px;font:700 11px 'IBM Plex Mono',monospace}.crumb{font-size:12px;color:var(--muted);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-toggle,.print-btn,.menu-btn{height:38px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:0 13px;border-radius:8px;font:650 12px inherit;cursor:pointer}.theme-toggle:hover,.print-btn:hover,.menu-btn:hover{background:var(--soft)}.sidebar{position:fixed;top:var(--top);bottom:0;left:0;width:var(--nav);padding:24px 16px;overflow:auto;border-right:1px solid var(--line);background:var(--paper);z-index:30}.side-eyebrow{font:600 10px 'IBM Plex Mono';letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 8px 10px}.side-title{font-size:17px;line-height:1.35;margin:0 8px 20px}.side-nav{display:grid;gap:2px}.side-nav a{font-size:13px;text-decoration:none;color:var(--muted);padding:8px 9px;border-radius:6px}.side-nav a:hover,.side-nav a.active{background:var(--soft);color:var(--ink)}.side-nav a.active{font-weight:650}.side-foot{border-top:1px solid var(--line);margin-top:20px;padding:18px 9px;font-size:12px;color:var(--muted)}.shell{margin-left:var(--nav);padding-top:var(--top);display:grid;grid-template-columns:minmax(0,900px) 190px;gap:38px;justify-content:center;padding-inline:38px}.article{padding:64px 0 100px;min-width:0}.toc{position:sticky;top:calc(var(--top) + 36px);align-self:start;padding-top:64px}.toc b{font:650 10px 'IBM Plex Mono';text-transform:uppercase;letter-spacing:.09em}.toc a{display:block;text-decoration:none;color:var(--muted);font-size:12px;border-left:1px solid var(--line);padding:5px 0 5px 12px}.toc a:hover{color:var(--ink);border-color:var(--ink)}.eyebrow{font:600 10px 'IBM Plex Mono';letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}h1{font-size:clamp(40px,6vw,70px);line-height:1.02;letter-spacing:-.055em;margin:18px 0;max-width:850px}.dek{font-size:19px;line-height:1.6;color:var(--muted);max-width:760px}.meta{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0 36px}.chip{font:600 11px 'IBM Plex Mono';border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:var(--paper)}.section{scroll-margin-top:85px;border-top:1px solid var(--line);padding-top:44px;margin-top:44px}.section h2{font-size:30px;line-height:1.2;letter-spacing:-.035em;margin:0 0 12px}.section-no{display:block;font:600 10px 'IBM Plex Mono';color:var(--muted);letter-spacing:.08em;margin-bottom:10px}.section h3{font-size:18px;margin:28px 0 8px}.section p,.section li{font-size:15px;color:var(--muted)}.section strong{color:var(--ink)}.grid2,.grid3{display:grid;gap:14px;margin:20px 0}.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:repeat(3,1fr)}.card{background:var(--paper);border:1px solid var(--line);padding:18px;border-radius:10px;box-shadow:var(--shadow)}.card h3{margin:2px 0 8px}.kicker{font:650 9px 'IBM Plex Mono';letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.callout{border:1px solid var(--ink);background:var(--ink);color:var(--bg);padding:17px 18px;border-radius:10px;margin:20px 0}.callout p,.callout strong{color:inherit}.callout p{margin:4px 0 0;font-size:14px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;margin:20px 0}table{border-collapse:collapse;width:100%;min-width:600px}th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:13px}th{font:650 10px 'IBM Plex Mono';text-transform:uppercase;letter-spacing:.06em;background:var(--soft)}tr:last-child td{border:0}td{color:var(--muted)}code,pre{font-family:'IBM Plex Mono',monospace}code{background:var(--soft);padding:2px 5px;border-radius:4px;font-size:.9em}pre{background:#090f1c;color:#e5e7eb;padding:18px;border-radius:10px;overflow:auto;font-size:12px;line-height:1.65}.diagram{margin:24px 0;border-radius:12px;overflow:hidden;border:1px solid #263244}.diagram svg{display:block;width:100%;height:auto}.node,.diagram-title{fill:#f8fafc;font-family:Inter,sans-serif;font-size:11px;font-weight:700}.node-sub,.diagram-note{fill:#aeb9c9;font-family:'IBM Plex Mono',monospace;font-size:8px}.step{fill:#07101f;font:700 8px 'IBM Plex Mono'}.arrow,.seq-arrow{stroke:#64748b;stroke-width:1.6;fill:none}.async{stroke:#fb923c;stroke-width:1.5;stroke-dasharray:6 5;fill:none}.seq-head{fill:#111827;stroke:#64748b}.life{stroke:#334155;stroke-dasharray:5 5}.seq-return{stroke:#94a3b8;stroke-width:1.4;stroke-dasharray:4 4;fill:none}.flow{counter-reset:step;display:grid;gap:9px}.flow-item{counter-increment:step;display:grid;grid-template-columns:30px 1fr;gap:12px;padding:13px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.flow-item:before{content:counter(step);width:27px;height:27px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);border-radius:50%;font:700 10px 'IBM Plex Mono'}.flow-item b{font-size:14px}.flow-item p{margin:2px 0 0;font-size:13px}.followup{border-bottom:1px solid var(--line);padding:15px 0}.followup summary{font-weight:680;cursor:pointer}.followup p{margin:8px 0}.page-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:55px}.page-nav a{text-decoration:none;border:1px solid var(--line);background:var(--paper);padding:18px;border-radius:10px}.page-nav a:last-child{text-align:right}.page-nav small{display:block;color:var(--muted);font:600 9px 'IBM Plex Mono';text-transform:uppercase}.landing{max-width:1200px;margin:auto;padding:110px 30px}.landing h1{max-width:950px}.landing-controls{display:flex;gap:10px;margin:34px 0}.search{flex:1;max-width:500px;height:46px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:9px;padding:0 15px;font:14px inherit}.catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.design-card{text-decoration:none;background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:20px;min-height:190px;transition:transform .16s,border-color .16s}.design-card:hover{transform:translateY(-3px);border-color:var(--ink)}.design-card .n{font:600 10px 'IBM Plex Mono';color:var(--muted)}.design-card h2{font-size:20px;letter-spacing:-.025em;margin:25px 0 8px}.design-card p{font-size:13px;color:var(--muted);margin:0}.design-card .category{font:600 9px 'IBM Plex Mono';text-transform:uppercase;letter-spacing:.08em;margin-top:18px}.empty{display:none;padding:40px;border:1px dashed var(--line);text-align:center;color:var(--muted)}.mobile-only{display:none}@media(max-width:1150px){.shell{grid-template-columns:minmax(0,820px);padding-right:50px}.toc{display:none}}@media(max-width:820px){:root{--nav:0px}.topbar{gap:6px;padding:0 10px}.brand{font-size:12px;line-height:1.1;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand b{margin-right:5px;width:27px;height:27px}.print-btn{display:none}.theme-toggle,.menu-btn{padding:0 9px;height:36px;flex:none}.topbar .theme-toggle{font-size:0;width:38px;padding:0}.topbar .theme-toggle:before{content:'◐';font-size:17px}.sidebar{display:none}.sidebar.open{display:block;width:280px;box-shadow:0 0 0 100vw rgba(0,0,0,.35)}.shell{margin-left:0;display:block;padding-inline:20px;width:100%;max-width:100%}.article,.section,.callout,.card,.meta{width:100%;max-width:100%;min-width:0}.article{padding-top:42px}.crumb{display:none}.mobile-only{display:inline-block}.grid2,.grid3,.catalog{grid-template-columns:minmax(0,1fr)}.landing{padding:95px 20px}.landing-controls{display:block}.search{width:100%;max-width:none}.page-nav{grid-template-columns:1fr}.chip{max-width:100%;white-space:normal;overflow-wrap:anywhere}.meta .chip:last-child{width:100%;display:block}.dek,.callout,.card{overflow-wrap:anywhere}.diagram,.table-wrap,pre{max-width:calc(100vw - 40px)}h1{font-size:42px}}@media(min-width:821px){.menu-btn{display:none}}@media print{.topbar,.sidebar,.toc,.page-nav{display:none}.shell{margin:0;display:block;padding:0}.article{padding:0}.section,.diagram{break-inside:avoid}}
