/* KAHN V2 — Design System Foundation / Build 23.11
   Premium + Simple. No external font/CDN dependency.
*/
:root {
  --kahn-bg: #0b0b0d;
  --kahn-surface: #141419;
  --kahn-surface-2: #1b1b22;
  --kahn-text: #f5f5f7;
  --kahn-muted: #a6a6af;
  --kahn-border: rgba(255,255,255,.09);
  --kahn-accent: #d8b46a;
  --kahn-radius: 18px;
  --kahn-gap: 20px;
  --kahn-max: 1280px;
  --kahn-shadow: 0 18px 60px rgba(0,0,0,.28);
}
* { box-sizing: border-box; }
html { background: var(--kahn-bg); }
body {
  margin: 0;
  background: var(--kahn-bg);
  color: var(--kahn-text);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; }
a { color: inherit; }
.kahn-shell { width: min(100% - 32px, var(--kahn-max)); margin-inline: auto; }
.kahn-section { padding-block: 32px; }
.kahn-section__head {
  display:flex; align-items:end; justify-content:space-between;
  gap:16px; margin-bottom:18px;
}
.kahn-section__title { margin:0; font-size:clamp(1.25rem,2vw,1.8rem); letter-spacing:-.02em; }
.kahn-section__more { color:var(--kahn-muted); text-decoration:none; }
.kahn-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:var(--kahn-gap);
}
.kahn-card {
  background:var(--kahn-surface); border:1px solid var(--kahn-border);
  border-radius:var(--kahn-radius); overflow:hidden; box-shadow:var(--kahn-shadow);
}
.kahn-card__media { aspect-ratio:1/1; background:var(--kahn-surface-2); overflow:hidden; }
.kahn-card__media img { width:100%; height:100%; object-fit:cover; display:block; }
.kahn-card__body { padding:14px; }
.kahn-card__title { margin:0 0 4px; font-size:1rem; font-weight:700; }
.kahn-card__meta { margin:0; color:var(--kahn-muted); font-size:.88rem; }
.kahn-chip {
  display:inline-flex; align-items:center; min-height:34px; padding:0 12px;
  border:1px solid var(--kahn-border); border-radius:999px;
  background:transparent; color:var(--kahn-text); text-decoration:none;
}
.kahn-chip[aria-current="page"] { border-color:var(--kahn-accent); }
.kahn-nav { display:flex; gap:8px; overflow:auto; padding-block:8px; scrollbar-width:none; }
.kahn-nav::-webkit-scrollbar { display:none; }
.kahn-hero {
  display:grid; grid-template-columns:minmax(220px,360px) 1fr; gap:32px;
  align-items:center; padding-block:40px;
}
.kahn-hero__cover { aspect-ratio:1; border-radius:24px; overflow:hidden; background:var(--kahn-surface-2); }
.kahn-hero__cover img { width:100%; height:100%; object-fit:cover; display:block; }
.kahn-muted { color:var(--kahn-muted); }
.kahn-focus:focus-visible { outline:2px solid var(--kahn-accent); outline-offset:3px; }
@media (max-width: 720px) {
  .kahn-shell { width:min(100% - 20px, var(--kahn-max)); }
  .kahn-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .kahn-hero { grid-template-columns:1fr; gap:20px; padding-block:24px; }
  .kahn-hero__cover { max-width:320px; width:100%; margin-inline:auto; }
  .kahn-section { padding-block:24px; }
}
/* KAHN V2 — Home Experience / 23.12 */
.kahn-home { padding-bottom: 120px; }
.kahn-home__hero {
  position:relative; min-height:420px; display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:32px; align-items:center; overflow:hidden; border-radius:28px;
  background:linear-gradient(135deg,#17171d,#0d0d10);
  border:1px solid var(--kahn-border); box-shadow:var(--kahn-shadow);
  padding:48px;
}
.kahn-home__hero-copy { position:relative; z-index:1; }
.kahn-home__eyebrow { color:var(--kahn-accent); font-size:.82rem; font-weight:700; letter-spacing:.08em; }
.kahn-home__title { margin:.35rem 0 .75rem; font-size:clamp(2rem,5vw,4.5rem); line-height:1.05; letter-spacing:-.04em; }
.kahn-home__lead { max-width:62ch; color:var(--kahn-muted); margin:0 0 22px; }
.kahn-home__actions { display:flex; flex-wrap:wrap; gap:10px; }
.kahn-btn {
  display:inline-flex; align-items:center; justify-content:center; min-height:44px;
  padding:0 17px; border-radius:999px; border:1px solid var(--kahn-border);
  background:var(--kahn-surface-2); color:var(--kahn-text); text-decoration:none;
  font-weight:700;
}
.kahn-btn--primary { background:var(--kahn-accent); color:#111; border-color:var(--kahn-accent); }
.kahn-home__hero-media { justify-self:end; width:min(100%,390px); aspect-ratio:1; border-radius:24px; overflow:hidden; background:var(--kahn-surface-2); }
.kahn-home__hero-media img { width:100%; height:100%; object-fit:cover; display:block; }
.kahn-home__section { padding-top:48px; }
.kahn-home__section--compact { padding-top:32px; }
.kahn-home__empty {
  padding:28px; border:1px dashed var(--kahn-border); border-radius:var(--kahn-radius);
  color:var(--kahn-muted); background:var(--kahn-surface);
}
.kahn-home__filters { display:flex; gap:8px; overflow:auto; padding-bottom:12px; scrollbar-width:none; }
.kahn-home__filters::-webkit-scrollbar { display:none; }
@media (max-width:720px) {
  .kahn-home__hero { min-height:auto; grid-template-columns:1fr; padding:24px; gap:22px; }
  .kahn-home__hero-media { justify-self:center; width:min(78vw,320px); order:-1; }
  .kahn-home__title { font-size:clamp(2rem,12vw,3.2rem); }
  .kahn-home__section { padding-top:32px; }
}
/* KAHN V2 — Artist / Album / Song Experience / 23.13 */
.kahn-entity-hero {
  display:grid; grid-template-columns:minmax(180px,300px) 1fr; gap:28px;
  align-items:center; padding:32px 0;
}
.kahn-entity-hero__art {
  aspect-ratio:1; border-radius:24px; overflow:hidden;
  background:var(--kahn-surface-2); box-shadow:var(--kahn-shadow);
}
.kahn-entity-hero__art img { width:100%; height:100%; object-fit:cover; display:block; }
.kahn-entity-hero__title { margin:0 0 8px; font-size:clamp(2rem,4vw,3.5rem); line-height:1.08; }
.kahn-entity-hero__meta { color:var(--kahn-muted); margin:0 0 18px; }
.kahn-entity-actions { display:flex; flex-wrap:wrap; gap:8px; }
.kahn-credits {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px;
}
.kahn-credit {
  padding:14px; border:1px solid var(--kahn-border); border-radius:14px;
  background:var(--kahn-surface);
}
.kahn-credit__label { color:var(--kahn-muted); font-size:.8rem; display:block; margin-bottom:3px; }
.kahn-credit__value { font-weight:700; }
.kahn-lyrics {
  margin-top:28px; border:1px solid var(--kahn-border); border-radius:var(--kahn-radius);
  background:var(--kahn-surface); overflow:hidden;
}
.kahn-lyrics > summary { cursor:pointer; padding:16px 18px; font-weight:800; }
.kahn-lyrics__body { padding:0 18px 22px; white-space:pre-wrap; }
.kahn-related { margin-top:28px; }
@media (max-width:720px) {
  .kahn-entity-hero { grid-template-columns:1fr; }
  .kahn-entity-hero__art { width:min(72vw,300px); margin-inline:auto; }
}
/* KAHN V2 — Search / SEO Experience / 23.14 */
.kahn-search { padding-block:32px 120px; }
.kahn-search__head { margin-bottom:24px; }
.kahn-search__title { margin:0 0 6px; font-size:clamp(1.8rem,4vw,3rem); }
.kahn-search__lead { margin:0; color:var(--kahn-muted); }
.kahn-search__form { display:flex; gap:8px; margin:20px 0 28px; }
.kahn-search__input {
  flex:1; min-width:0; min-height:48px; padding:0 16px;
  border-radius:999px; border:1px solid var(--kahn-border);
  background:var(--kahn-surface); color:var(--kahn-text);
}
.kahn-search__input:focus { outline:2px solid var(--kahn-accent); outline-offset:2px; }
.kahn-search__results { display:grid; gap:10px; }
.kahn-search-result {
  display:grid; grid-template-columns:72px 1fr auto; gap:14px; align-items:center;
  padding:10px; border:1px solid var(--kahn-border); border-radius:16px;
  background:var(--kahn-surface); text-decoration:none;
}
.kahn-search-result__art { width:72px; height:72px; border-radius:12px; background:var(--kahn-surface-2); overflow:hidden; }
.kahn-search-result__art img { width:100%; height:100%; object-fit:cover; display:block; }
.kahn-search-result__title { margin:0 0 3px; font-weight:800; }
.kahn-search-result__meta { margin:0; color:var(--kahn-muted); font-size:.88rem; }
.kahn-search-result__type { color:var(--kahn-muted); font-size:.8rem; }
.kahn-search-empty { padding:24px; border:1px dashed var(--kahn-border); border-radius:16px; color:var(--kahn-muted); }
@media (max-width:600px) {
  .kahn-search__form { flex-direction:column; }
  .kahn-search-result { grid-template-columns:56px 1fr; }
  .kahn-search-result__art { width:56px; height:56px; }
  .kahn-search-result__type { grid-column:2; }
}
/* KAHN V2 — Performance & Security Hardening / 23.16 */
.kahn-skip-link {
  position:absolute; inset-inline-start:12px; top:-80px; z-index:9999;
  padding:10px 14px; border-radius:10px; background:var(--kahn-accent); color:#111;
}
.kahn-skip-link:focus { top:12px; }
.kahn-reduced-motion *, .kahn-reduced-motion *::before, .kahn-reduced-motion *::after {
  animation-duration:.001ms !important; animation-iteration-count:1 !important;
  transition-duration:.001ms !important; scroll-behavior:auto !important;
}
/* KAHN V2 — Audio Content Experience / 23.17 */
.kahn-audio-hero {
  display:grid; grid-template-columns:minmax(180px,300px) 1fr; gap:28px;
  align-items:center; padding:32px 0;
}
.kahn-audio-hero__art {
  aspect-ratio:1; border-radius:24px; overflow:hidden;
  background:var(--kahn-surface-2); box-shadow:var(--kahn-shadow);
}
.kahn-audio-hero__art img { width:100%; height:100%; object-fit:cover; display:block; }
.kahn-audio-hero__type { color:var(--kahn-accent); font-size:.82rem; font-weight:800; }
.kahn-audio-hero__title { margin:.35rem 0 .55rem; font-size:clamp(2rem,4vw,3.4rem); line-height:1.08; }
.kahn-audio-hero__meta { color:var(--kahn-muted); margin:0 0 18px; }
.kahn-episode-list { display:grid; gap:10px; margin-top:24px; }
.kahn-episode {
  display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center;
  padding:13px; border:1px solid var(--kahn-border); border-radius:15px;
  background:var(--kahn-surface);
}
.kahn-episode__num {
  min-width:38px; height:38px; display:grid; place-items:center;
  border-radius:10px; background:var(--kahn-surface-2); color:var(--kahn-muted);
}
.kahn-episode__title { margin:0 0 2px; font-weight:800; }
.kahn-episode__meta { margin:0; color:var(--kahn-muted); font-size:.84rem; }
.kahn-audio-note {
  padding:16px; border:1px dashed var(--kahn-border); border-radius:15px;
  color:var(--kahn-muted); background:var(--kahn-surface);
}
@media (max-width:720px) {
  .kahn-audio-hero { grid-template-columns:1fr; }
  .kahn-audio-hero__art { width:min(72vw,300px); margin-inline:auto; }
  .kahn-episode { grid-template-columns:auto 1fr; }
  .kahn-episode .kahn-btn { grid-column:2; justify-self:start; }
}
/* KAHN V2 — VideoClip / Visual Media Experience / 23.18 */
.kahn-video {
  margin-top:28px; border:1px solid var(--kahn-border);
  border-radius:24px; overflow:hidden; background:#000;
  box-shadow:var(--kahn-shadow);
}
.kahn-video__frame { aspect-ratio:16/9; background:#050505; }
.kahn-video__frame video { width:100%; height:100%; display:block; object-fit:contain; }
.kahn-video__meta { padding:16px 18px; background:var(--kahn-surface); }
.kahn-video__title { margin:0 0 4px; font-weight:800; }
.kahn-video__description { margin:0; color:var(--kahn-muted); }
.kahn-media-note {
  margin-top:14px; padding:14px 16px; border:1px dashed var(--kahn-border);
  border-radius:14px; color:var(--kahn-muted); background:var(--kahn-surface);
}
/* KAHN V2 — Artist & Content Discovery / 23.19 */
.kahn-discovery { padding-block:32px 120px; }
.kahn-discovery__intro { max-width:760px; margin-bottom:28px; }
.kahn-discovery__title { margin:0 0 8px; font-size:clamp(2rem,4vw,3.4rem); }
.kahn-discovery__lead { margin:0; color:var(--kahn-muted); }
.kahn-discovery__tabs { display:flex; gap:8px; overflow:auto; padding-bottom:10px; margin-bottom:24px; }
.kahn-discovery__section { padding-top:30px; }
.kahn-person-card {
  display:flex; align-items:center; gap:12px; padding:12px;
  border:1px solid var(--kahn-border); border-radius:16px;
  background:var(--kahn-surface); text-decoration:none;
}
.kahn-person-card__avatar {
  width:64px; height:64px; flex:0 0 64px; border-radius:50%;
  overflow:hidden; background:var(--kahn-surface-2);
}
.kahn-person-card__avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.kahn-person-card__name { margin:0 0 2px; font-weight:800; }
.kahn-person-card__meta { margin:0; color:var(--kahn-muted); font-size:.85rem; }
.kahn-discovery__notice {
  padding:16px; border:1px dashed var(--kahn-border); border-radius:15px;
  color:var(--kahn-muted); background:var(--kahn-surface);
}
/* KAHN V2 — Library / Playlist / Favorites Experience / 23.20 */
.kahn-library { padding-block:32px 120px; }
.kahn-library__head { margin-bottom:24px; }
.kahn-library__title { margin:0 0 6px; font-size:clamp(2rem,4vw,3.2rem); }
.kahn-library__lead { margin:0; color:var(--kahn-muted); }
.kahn-library__nav { display:flex; gap:8px; overflow:auto; padding-bottom:12px; margin-bottom:24px; }
.kahn-library__section { padding-top:26px; }
.kahn-playlist-card {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:16px; border:1px solid var(--kahn-border); border-radius:18px;
  background:var(--kahn-surface); text-decoration:none;
}
.kahn-playlist-card__title { margin:0 0 3px; font-weight:800; }
.kahn-playlist-card__meta { margin:0; color:var(--kahn-muted); font-size:.85rem; }
.kahn-library__empty {
  padding:28px; border:1px dashed var(--kahn-border); border-radius:16px;
  color:var(--kahn-muted); background:var(--kahn-surface);
}
.kahn-save {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:40px; padding:0 14px; border-radius:999px;
  border:1px solid var(--kahn-border); background:var(--kahn-surface-2);
  color:var(--kahn-text); text-decoration:none;
}
.kahn-save[aria-pressed="true"] { border-color:var(--kahn-accent); }
@media (max-width:650px) {
  .kahn-playlist-card { align-items:flex-start; flex-direction:column; }
}
/* KAHN V2 — Final Performance & Accessibility / 23.21 */
.kahn-sr-only {
  position:absolute !important; width:1px !important; height:1px !important;
  padding:0 !important; margin:-1px !important; overflow:hidden !important;
  clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important;
}
.kahn-focus:focus-visible, a:focus-visible, button:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline:2px solid var(--kahn-accent); outline-offset:3px;
}
.kahn-media-placeholder {
  background:var(--kahn-surface-2); min-height:120px;
  display:grid; place-items:center; color:var(--kahn-muted);
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}
