@import url("fonts.css");
:root{color-scheme:light;--yt-bg:#fff;--yt-fg:#0f0f0f;--yt-muted:#606060;--yt-panel:#f2f2f2;--yt-hover:#e5e5e5;--yt-line:#d3d3d3;--yt-blue:#065fd4;--yt-red:#f03;--yt-focus:#065fd4;--guide-nav:240px;--header-height:56px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius:12px;--motion-fast:150ms}
[data-theme=dark]{color-scheme:dark;--yt-bg:#0f0f0f;--yt-fg:#f1f1f1;--yt-muted:#aaa;--yt-panel:#272727;--yt-hover:#3f3f3f;--yt-line:#555;--yt-blue:#3ea6ff;--yt-focus:#3ea6ff}
*{box-sizing:border-box}html{scroll-padding-top:80px}body{margin:0;background:var(--yt-bg);color:var(--yt-fg);font:14px/1.5 Roboto,Arial,sans-serif}a{color:var(--yt-blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid var(--yt-focus);outline-offset:3px}button{border:0;background:var(--yt-panel);color:var(--yt-fg);border-radius:999px;padding:8px 16px;min-height:40px;font-weight:500}button:hover{background:var(--yt-hover)}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1{font-size:32px;line-height:40px;font-weight:700;margin-bottom:12px}h2{font-size:22px;line-height:30px;margin:36px 0 16px}h3{font-size:18px;line-height:26px;margin:20px 0 8px}p{max-width:78ch;margin-bottom:16px}.muted{color:var(--yt-muted)}.eyebrow{font-size:12px;color:var(--yt-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}.lead{font-size:16px;line-height:24px;color:var(--yt-muted);max-width:72ch}.skip{display:inline-flex;align-items:center;min-height:32px;padding:4px;font-size:12px;color:var(--yt-muted);text-decoration:underline;flex-shrink:0}.guide-header{height:56px;display:flex;align-items:center;gap:16px;padding:0 24px;position:fixed;inset:0 0 auto;background:var(--yt-bg);z-index:30}.brand{color:var(--yt-fg);display:flex;align-items:center;gap:10px;white-space:nowrap}.brand img{width:93px;height:24px;object-fit:contain}.brand span{font-size:12px;color:var(--yt-muted)}.guide-search{display:flex;border:1px solid var(--yt-line);border-radius:40px;max-width:600px;flex:1;margin:0 auto;padding:0 16px;align-items:center;height:40px}.guide-search input{border:0;outline:0;background:transparent;color:var(--yt-fg);width:100%;font-size:16px;min-width:0}.guide-search label{font-size:12px;color:var(--yt-muted);margin-right:12px}.menu-trigger{display:none}.guide-sidebar{position:fixed;top:56px;bottom:0;left:0;width:240px;overflow-y:auto;padding:12px;z-index:25;background:var(--yt-bg)}.guide-sidebar a,.guide-sidebar .nav-item{display:flex;align-items:center;min-height:40px;padding:8px 12px;gap:18px;border-radius:10px;color:var(--yt-fg)}.guide-sidebar a:hover,.guide-sidebar [aria-current=page]{background:var(--yt-panel);text-decoration:none}.guide-sidebar [aria-current=page]{font-weight:600}.nav-number{font-size:11px;min-width:18px;color:var(--yt-muted)}.nav-divider{border:0;border-top:1px solid var(--yt-line);margin:12px 0}.sidebar-note{padding:12px;font-size:12px;color:var(--yt-muted)}.guide-main{margin-left:240px;padding:36px 32px 80px;max-width:1600px;margin-top:56px}.chapter-title{border-bottom:1px solid var(--yt-line);padding-bottom:24px;margin-bottom:28px}.pills{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.pill{display:inline-block;background:var(--yt-panel);color:var(--yt-fg);border-radius:8px;padding:6px 12px;font-weight:500}.pill.selected{background:var(--yt-fg);color:var(--yt-bg)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 20px}.guide-card{color:var(--yt-fg);display:block}.guide-card:hover{text-decoration:none}.guide-card .cover{aspect-ratio:16/9;background:var(--yt-panel);border-radius:12px;overflow:hidden;position:relative}.cover img{width:100%;height:100%;object-fit:cover;object-position:top}.cover .cover-title{position:absolute;bottom:12px;left:12px;background:var(--yt-bg);padding:6px 10px;border-radius:5px;font-size:12px}.guide-card h2{font-size:16px;line-height:22px;margin:12px 0 4px}.guide-card p{font-size:14px;color:var(--yt-muted);line-height:20px}.guide-card:hover h2{text-decoration:underline}.note{background:var(--yt-panel);padding:16px;border-radius:12px;margin:20px 0;max-width:100%;overflow-wrap:anywhere}.evidence-label{font-size:12px;color:var(--yt-muted);border-left:3px solid var(--yt-line);padding:8px 12px;margin:12px 0 24px}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--yt-line);border-radius:12px;margin:16px 0 28px}table{border-collapse:collapse;width:100%;min-width:580px;font-size:13px;text-align:left}th,td{vertical-align:top;padding:12px 16px;border-bottom:1px solid var(--yt-line);overflow-wrap:anywhere}th{background:var(--yt-panel);font-size:12px;font-weight:500}tr:last-child td{border-bottom:0}td code{white-space:normal;overflow-wrap:anywhere}pre{background:var(--yt-panel);padding:16px;border-radius:12px;overflow:auto;line-height:1.6;font-size:12px}code{font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.swatch{border:1px solid var(--yt-line);border-radius:12px;overflow:hidden}.swatch-color{height:88px}.swatch-info{padding:12px}.specimen{border:1px solid var(--yt-line);border-radius:12px;padding:24px;overflow:auto;margin:16px 0}.type-line{border-bottom:1px solid var(--yt-line);padding:20px 0;display:flex;justify-content:space-between;align-items:baseline;gap:24px}.type-line code{color:var(--yt-muted);flex-shrink:0}.atlas{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.asset-item{border:1px solid var(--yt-line);border-radius:12px;padding:16px;min-width:0;overflow-wrap:anywhere}.asset-item img{height:32px;width:48px;object-fit:contain;display:block;margin-bottom:12px}.asset-item p{font-size:12px;margin:6px 0}.pairs{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pairs figure{margin:0;min-width:0}.pairs img{border:1px solid var(--yt-line);width:100%;border-radius:8px}.pairs figcaption{font-size:12px;color:var(--yt-muted);margin:8px 0}.inline-code-link{display:inline-flex;border:1px solid var(--yt-line);border-radius:20px;padding:6px 14px;margin:4px 4px 4px 0}.ledger-row{scroll-margin-top:80px}.search-status{font-size:12px;min-height:20px;color:var(--yt-muted)}.flow{display:flex;gap:12px;flex-wrap:wrap;padding:20px 0}.flow>span{background:var(--yt-panel);padding:12px 16px;border-radius:12px}.frame{width:100%;height:700px;border:1px solid var(--yt-line);border-radius:12px}.footer{border-top:1px solid var(--yt-line);margin-top:40px;padding-top:20px;color:var(--yt-muted);font-size:12px}.empty-search{padding:40px;text-align:center}.comparison-links{display:flex;gap:12px;flex-wrap:wrap}.hero-map{background:var(--yt-panel);border-radius:12px;padding:20px;display:grid;grid-template-columns:100px 1fr;gap:12px}.map-header{grid-column:1/-1;border:1px solid var(--yt-line);background:var(--yt-bg);height:48px;padding:12px}.map-side{background:var(--yt-bg);padding:12px;min-height:200px}.map-canvas{background:var(--yt-bg);padding:20px}.map-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.map-thumb{aspect-ratio:16/9;background:var(--yt-panel);border-radius:8px;border-bottom:3px solid var(--yt-red)}[hidden]{display:none!important}
@media(min-width:1800px){.card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1100px){.guide-sidebar{width:200px}.guide-main{margin-left:200px;padding:28px 24px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand span{display:none}.guide-search{max-width:440px}.swatches{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.guide-header{padding:0 12px;gap:8px}.guide-search{margin-left:auto;max-width:220px}.guide-search label{display:none}.guide-sidebar{transform:translateX(-100%);transition:transform var(--motion-fast) ease;width:240px;box-shadow:8px 0 24px #0002}.guide-sidebar.open{transform:translateX(0)}.menu-trigger{display:block;padding:8px 12px}.guide-main{margin-left:0;padding:24px 16px 60px}.guide-header .brand img{width:82px}.brand span{display:none}h1{font-size:28px;line-height:34px}.columns,.pairs{grid-template-columns:1fr}.swatches{grid-template-columns:repeat(2,minmax(0,1fr))}.type-line{align-items:start;flex-direction:column;gap:8px}.hero-map{grid-template-columns:60px 1fr}}@media(max-width:480px){.guide-search{max-width:110px;padding:0 10px}.guide-search input{font-size:14px}.guide-header #theme-toggle{padding:8px 10px}.card-grid{grid-template-columns:1fr}.guide-main{padding-top:24px}.specimen{padding:16px}.map-row{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media(forced-colors:active){button,.pill,.note,.guide-sidebar a[aria-current]{border:1px solid ButtonText}.guide-card .cover{border:1px solid CanvasText}}

@media(max-width:560px){.table-wrap{border:0;overflow:visible}table{min-width:0;display:block}thead{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}tbody{display:grid;gap:12px}tbody tr{display:block;border:1px solid var(--yt-line);border-radius:12px;padding:8px 0}td{display:block;border:0;padding:6px 14px;overflow-wrap:break-word}td::before{content:attr(data-label);display:block;font-size:11px;font-weight:500;color:var(--yt-muted);margin-bottom:3px}}

.guide-search:focus-within{outline:2px solid var(--yt-focus);outline-offset:2px}

h1,h2,h3,.contract-card p{overflow-wrap:anywhere}

p a,.footer a{text-decoration:underline}pre:focus-visible{outline:3px solid var(--yt-focus);outline-offset:3px}
/* The labelled shell diagram remains readable in the narrow documentation column. */
.hero-map{grid-template-columns:100px minmax(0,1fr)}
.map-header{height:auto;min-height:48px}
.map-side{font-size:12px;padding:12px 8px;overflow-wrap:anywhere}
.map-canvas{min-width:0;overflow-wrap:anywhere}

@media(min-width:561px){.table-wrap th:last-child,.table-wrap td:last-child{min-width:140px}.table-wrap td a{overflow-wrap:normal;word-break:normal}}
