/* Home page */
body.ix { margin: 0; background: var(--bt-bg); color: var(--bt-ink-2); font-family: var(--bt-font); line-height: 1.6; }
.ix a { color: inherit; }
.ix-skip { position: absolute; left: -9999px; }
.ix-skip:focus { left: 1rem; top: 1rem; z-index: 50; background: var(--bt-surface); padding: 0.5rem 0.75rem; border-radius: var(--bt-radius-sm); }
.ix-head { max-width: 1120px; margin: 0 auto; padding: 1rem 1.25rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.ix-brand { font-weight: 700; color: var(--bt-ink); text-decoration: none; letter-spacing: -0.01em; }
.ix-head nav { display: flex; gap: 1.25rem; font-size: 0.9rem; }
.ix-head nav a { text-decoration: none; color: var(--bt-muted); }
.ix-head nav a:hover { color: var(--bt-ink); }
.ix main { max-width: 1120px; margin: 0 auto; padding: 0 1.25rem 3rem; }
.ix-hero { padding: 2.5rem 0 1.5rem; }
.ix-hero h1 { margin: 0 0 0.75rem; font-size: clamp(2rem, 5vw, 3rem); line-height: 1.1; letter-spacing: -0.025em; color: var(--bt-ink); max-width: 18ch; }
.ix-hero p { margin: 0 0 1.5rem; font-size: 1.1rem; max-width: 40rem; }
.ix-search { position: relative; max-width: 36rem; }
.ix-search input {
    width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; padding: 0.8rem 3rem 0.8rem 1rem; color: var(--bt-ink);
    border: 1px solid var(--bt-border-strong); border-radius: var(--bt-radius); background: var(--bt-surface); box-shadow: var(--bt-shadow-sm);
}
.ix-search input:focus { outline: 2px solid var(--bt-accent); outline-offset: 1px; border-color: var(--bt-accent); }
.ix-search kbd { position: absolute; right: 0.8rem; top: 50%; transform: translateY(-50%); font: 600 0.75rem var(--bt-font); color: var(--bt-muted); border: 1px solid var(--bt-border-strong); border-radius: 4px; padding: 0.1rem 0.4rem; background: var(--bt-surface-2); pointer-events: none; }
.ix-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1.1rem 0 0; }
.ix-chip { font: 500 0.85rem var(--bt-font); padding: 0.4rem 0.8rem; border-radius: 999px; border: 1px solid var(--bt-border-strong); background: var(--bt-surface); color: var(--bt-ink-2); cursor: pointer; }
.ix-chip:hover { border-color: var(--bt-ink); }
.ix-chip[aria-pressed="true"] { background: var(--bt-ink); color: var(--bt-on-ink); border-color: var(--bt-ink); }
.ix-chip:focus-visible { outline: 2px solid var(--bt-accent); outline-offset: 2px; }
.ix-chip small { margin-left: 0.25rem; color: var(--bt-muted); }
.ix-chip[aria-pressed="true"] small { color: inherit; opacity: 0.8; }
.ix-status { margin: 1rem 0 0; font-size: 0.85rem; color: var(--bt-muted); min-height: 1.4em; }
.ix-cat { margin-top: 2.5rem; }
.ix-cat[hidden], .ix-card[hidden] { display: none; }
.ix-cat h2 { margin: 0 0 0.25rem; font-size: 1.2rem; color: var(--bt-ink); letter-spacing: -0.01em; }
.ix-cat > p { margin: 0 0 1rem; color: var(--bt-muted); font-size: 0.9rem; }
.ix-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fill, minmax(16.5rem, 1fr)); }
.ix-card { position: relative; background: var(--bt-surface); border: 1px solid var(--bt-border); border-radius: var(--bt-radius); padding: 0.9rem 1rem; transition: border-color var(--bt-transition), box-shadow var(--bt-transition); }
.ix-card:hover, .ix-card:focus-within { border-color: var(--bt-ink); box-shadow: var(--bt-shadow); }
.ix-card h3 { margin: 0 0 0.25rem; font-size: 0.975rem; }
.ix-card h3 a { color: var(--bt-ink); text-decoration: none; }
.ix-card h3 a::after { content: ""; position: absolute; inset: 0; }
.ix-card h3 a:focus-visible { outline: none; }
.ix-card:focus-within { outline: 2px solid var(--bt-accent); outline-offset: 2px; }
.ix-card p { margin: 0; font-size: 0.85rem; color: var(--bt-muted); }
.ix-card .ix-ext { font-weight: 500; font-size: 0.7rem; color: var(--bt-muted); border: 1px solid var(--bt-border-strong); border-radius: 4px; padding: 0 0.3rem; margin-left: 0.4rem; vertical-align: middle; }
.ix-empty { margin-top: 2rem; padding: 1.25rem; border: 1px dashed var(--bt-border-strong); border-radius: var(--bt-radius); text-align: center; }
.ix-empty[hidden] { display: none; }
.ix-find { margin-top: 3rem; padding: 1.5rem; background: #18181b; border: 1px solid var(--bt-border); color: #e4e4e7; border-radius: var(--bt-radius-lg); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.ix-find h2 { margin: 0 0 0.25rem; font-size: 1.15rem; color: #fff; }
.ix-find p { margin: 0; font-size: 0.95rem; }
.ix-find a { background: #fff; color: #18181b; text-decoration: none; font-weight: 600; padding: 0.6rem 1.1rem; border-radius: var(--bt-radius); }
.ix-find a:hover { background: #e4e4e7; }
.ix-about { margin-top: 3.5rem; display: grid; gap: 2rem; grid-template-columns: 1fr; }
@media (min-width: 800px) { .ix-about { grid-template-columns: 1.2fr 1fr; } }
.ix-person { display: flex; gap: 1.25rem; align-items: center; }
.ix-person img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; border: 1px solid var(--bt-border); flex: none; }
.ix-person h2 { margin: 0; font-size: 1.2rem; color: var(--bt-ink); }
.ix-person p { margin: 0.1rem 0; font-size: 0.95rem; }
.ix-about h3 { margin: 0 0 0.35rem; font-size: 1rem; color: var(--bt-ink); }
.ix-about p { margin: 0 0 0.75rem; font-size: 0.925rem; }
.ix-about a:not(.ix-btn) { color: var(--bt-accent); }
.ix-btn { display: inline-block; font-weight: 600; font-size: 0.875rem; padding: 0.5rem 0.9rem; border: 1px solid var(--bt-border-strong); border-radius: var(--bt-radius); text-decoration: none; background: var(--bt-surface); color: var(--bt-ink); }
.ix-btn:hover { background: var(--bt-surface-2); }
