*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--aaahoi-color-bg);color:var(--aaahoi-color-ink);font-family:var(--aaahoi-font-family);font-size:var(--aaahoi-font-size-base);line-height:var(--aaahoi-line-height-normal);-webkit-font-smoothing:antialiased}a{color:var(--aaahoi-color-blue);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;line-height:var(--aaahoi-line-height-tight);font-weight:var(--aaahoi-font-weight-semibold)}.shell{max-width:var(--aaahoi-layout-max-width);margin:0 auto;padding:var(--aaahoi-space-10) var(--aaahoi-layout-gutter)}.muted{color:var(--aaahoi-color-grey);font-size:var(--aaahoi-font-size-sm)}.stack{flex-direction:column;gap:var(--aaahoi-space-6)}.row,.stack{display:flex}.row{align-items:center;gap:var(--aaahoi-space-3);flex-wrap:wrap}.swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:var(--aaahoi-space-4);gap:var(--aaahoi-space-4)}.swatch{border:1px solid var(--aaahoi-color-line);border-radius:var(--aaahoi-radius-md);overflow:hidden}.swatch-chip{height:64px}.swatch-meta{padding:var(--aaahoi-space-3);font-size:var(--aaahoi-font-size-xs);color:var(--aaahoi-color-grey)}