/* ==========================================================================
   COMPONENTS — hero, command search, explorer, detail views
   Palette-locked. Loaded after style.css.
   ========================================================================== */

/* ---------------- HERO ---------------- */
.hero{position:relative;padding:clamp(60px,11vh,128px) 0 clamp(50px,8vh,86px);overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:center;}
.hero h1{font-family:var(--display);font-weight:340;font-size:clamp(40px,6.4vw,76px);line-height:1.02;
  letter-spacing:-.02em;margin:18px 0 0;color:var(--ink);}
.hero h1 .em{font-style:italic;color:var(--burnt);font-weight:380;}
.hero h1 .dev{font-weight:500;color:var(--forest);}
.hero p.lede{font-size:19px;line-height:1.6;color:var(--ink-soft);max-width:46ch;margin:24px 0 32px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero-stats{display:flex;gap:30px;margin-top:40px;padding-top:26px;border-top:1px solid var(--line);}
.hero-stats .stat .num{font-family:var(--display);font-weight:500;font-size:30px;color:var(--teal-d);line-height:1;}
.hero-stats .stat .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-faint);margin-top:7px;}

/* The signature: a woven thread lattice card */
.weave-card{position:relative;background:var(--panel-raise);border:1px solid var(--line);
  border-radius:var(--rad);padding:30px;box-shadow:0 24px 56px -36px var(--shadow);}
.weave-card .wc-sutra{font-family:var(--dev);font-size:34px;color:var(--forest);line-height:1.45;}
.weave-card .wc-ref{font-family:var(--mono);font-size:12px;color:var(--burnt);letter-spacing:.08em;margin-bottom:14px;display:block;}
.weave-card .wc-en{font-size:15.5px;color:var(--ink-soft);margin-top:14px;line-height:1.55;}
.weave-card .wc-thread{position:absolute;inset:0;pointer-events:none;border-radius:var(--rad);overflow:hidden;}
.weave-card .wc-foot{display:flex;align-items:center;gap:10px;margin-top:20px;
  font-family:var(--mono);font-size:11px;color:var(--ink-faint);letter-spacing:.06em;}
.weave-card .wc-foot .dot{width:6px;height:6px;border-radius:50%;background:var(--amber);
  animation:pulse 2.4s var(--ease) infinite;}
@keyframes pulse{0%,100%{opacity:.4;transform:scale(.8);}50%{opacity:1;transform:scale(1.25);}}

/* ---------------- COMMAND SEARCH ---------------- */
.search-trigger{display:flex;align-items:center;gap:12px;width:100%;max-width:560px;
  padding:15px 20px;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--rad);
  cursor:text;color:var(--ink-faint);font-family:var(--serif);font-size:16.5px;
  transition:border-color var(--t) var(--ease),box-shadow var(--t),transform var(--t-fast);}
.search-trigger:hover{border-color:var(--olive);box-shadow:0 10px 30px -22px var(--shadow);}
.search-trigger .ico{color:var(--olive);display:flex;}
.search-trigger .kbd{margin-left:auto;font-family:var(--mono);font-size:11px;border:1px solid var(--line-strong);
  padding:3px 8px;border-radius:6px;color:var(--ink-faint);}

.search-overlay{position:fixed;inset:0;z-index:500;display:none;justify-content:center;align-items:flex-start;
  padding-top:11vh;background:color-mix(in srgb,var(--forest) 32%, transparent);
  backdrop-filter:blur(6px);opacity:0;transition:opacity var(--t) var(--ease);}
.search-overlay.show{display:flex;}
.search-overlay.in{opacity:1;}
.search-box{width:min(660px,92vw);background:var(--canvas);border:1px solid var(--line-strong);
  border-radius:var(--rad);box-shadow:0 40px 90px -40px var(--shadow);overflow:hidden;
  transform:translateY(-16px) scale(.985);transition:transform var(--t) var(--ease-out);}
.search-overlay.in .search-box{transform:none;}
.search-head{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid var(--line);}
.search-head .ico{color:var(--olive);}
.search-head input{flex:1;background:none;border:none;outline:none;font-family:var(--serif);font-size:21px;
  color:var(--ink);}
.search-head input::placeholder{color:var(--ink-faint);}
.search-head .esc{font-family:var(--mono);font-size:11px;border:1px solid var(--line-strong);
  padding:4px 9px;border-radius:6px;color:var(--ink-faint);cursor:pointer;transition:all var(--t-fast);}
.search-head .esc:hover{border-color:var(--crimson);color:var(--crimson);}
.search-results{max-height:54vh;overflow-y:auto;padding:8px;}
.sr-group-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-faint);padding:12px 14px 6px;}
.sr-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--rad-sm);
  cursor:pointer;transition:background var(--t-fast) var(--ease),transform var(--t-fast);}
.sr-item:hover,.sr-item.sel{background:color-mix(in srgb,var(--amber) 18%, transparent);}
.sr-item.sel{transform:translateX(3px);}
.sr-dev{font-family:var(--dev);font-size:23px;color:var(--forest);min-width:0;}
.sr-main{flex:1;min-width:0;}
.sr-en{font-size:14px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sr-meta{font-family:var(--mono);font-size:11px;color:var(--ink-faint);margin-top:2px;}
.sr-badge{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;
  padding:3px 8px;border-radius:99px;border:1px solid;white-space:nowrap;}
.sr-badge.s{color:var(--steel);border-color:color-mix(in srgb,var(--steel) 40%,transparent);}
.sr-badge.d{color:var(--teal-i);border-color:color-mix(in srgb,var(--teal-i) 42%,transparent);}
.sr-badge.r{color:var(--lav);border-color:color-mix(in srgb,var(--lav) 45%,transparent);}
.sr-empty{padding:40px 20px;text-align:center;color:var(--ink-faint);}
.sr-empty .dev{font-size:34px;color:var(--line-strong);display:block;margin-bottom:12px;}
.search-foot{display:flex;gap:18px;padding:11px 18px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:11px;color:var(--ink-faint);}
.search-foot kbd{border:1px solid var(--line-strong);border-radius:5px;padding:2px 6px;margin-right:4px;}

/* ---------------- PAGE SHELL ---------------- */
.page-head{padding:48px 0 30px;border-bottom:1px solid var(--line);margin-bottom:34px;}
.crumb{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--ink-faint);
  display:flex;gap:8px;align-items:center;margin-bottom:14px;}
.crumb a{color:var(--ink-faint);}.crumb a:hover{color:var(--link-hot);}
.page-head h1{font-family:var(--display);font-weight:420;font-size:clamp(30px,4.4vw,46px);
  letter-spacing:-.015em;margin:0;color:var(--ink);}
.page-head p{color:var(--ink-soft);max-width:60ch;margin:14px 0 0;}

/* ---------------- EXPLORER (sutras / dhatus list) ---------------- */
.explorer{display:grid;grid-template-columns:248px 1fr;gap:38px;align-items:start;}
.filters{position:sticky;top:96px;display:flex;flex-direction:column;gap:24px;}
.filter-block h4{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-faint);margin:0 0 12px;}
.chip-row{display:flex;flex-wrap:wrap;gap:7px;}
.chip{font-family:var(--serif);font-size:13.5px;padding:6px 13px;border-radius:99px;cursor:pointer;
  border:1px solid var(--line-strong);background:transparent;color:var(--ink-soft);
  transition:all var(--t-fast) var(--ease);}
.chip:hover{border-color:var(--olive);color:var(--forest);}
.chip.on{background:var(--teal-d);border-color:var(--teal-d);color:var(--parch);}
.chip.on:hover{background:var(--teal-v);border-color:var(--teal-v);}

.list-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap;}
.list-toolbar .count{font-family:var(--mono);font-size:13px;color:var(--ink-faint);margin-right:auto;}
.list-toolbar input.inline{flex:1;min-width:180px;max-width:340px;padding:10px 14px;border-radius:var(--rad-sm);
  border:1px solid var(--line-strong);background:var(--panel);font-family:var(--serif);font-size:15px;color:var(--ink);
  transition:border-color var(--t-fast);}
.list-toolbar input.inline:focus{outline:none;border-color:var(--teal-v);}

.entry-list{display:flex;flex-direction:column;gap:10px;}
.entry{display:grid;grid-template-columns:88px 1fr auto;gap:18px;align-items:center;
  padding:16px 20px;background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);
  cursor:pointer;transition:transform var(--t) var(--ease-out),box-shadow var(--t),border-color var(--t);}
.entry:hover{transform:translateX(5px);box-shadow:0 14px 30px -22px var(--shadow);border-color:var(--line-strong);}
.entry .e-ref{font-family:var(--mono);font-size:12.5px;color:var(--burnt);letter-spacing:.03em;}
.entry .e-dev{font-family:var(--dev);font-size:24px;color:var(--forest);line-height:1.4;}
.entry .e-sub{font-size:14px;color:var(--ink-soft);margin-top:3px;line-height:1.45;}
.entry .e-side{display:flex;align-items:center;gap:10px;}

.load-more{display:flex;justify-content:center;margin-top:30px;}

/* skeleton shimmer (palette only) */
.sk{background:linear-gradient(100deg,
  color-mix(in srgb,var(--parch) 70%,var(--forest) 3%) 30%,
  color-mix(in srgb,var(--parch) 86%,var(--amber) 6%) 50%,
  color-mix(in srgb,var(--parch) 70%,var(--forest) 3%) 70%);
  background-size:220% 100%;animation:shim 1.4s linear infinite;border-radius:6px;}
@keyframes shim{from{background-position:200% 0;}to{background-position:-20% 0;}}
.sk-entry{height:74px;border-radius:var(--rad);}

/* ---------------- DETAIL VIEW ---------------- */
.detail{display:grid;grid-template-columns:1fr 300px;gap:46px;align-items:start;}
.detail-main{min-width:0;}
.sutra-hero{padding:34px 36px;background:var(--panel-raise);border:1px solid var(--line);
  border-radius:var(--rad);position:relative;overflow:hidden;margin-bottom:30px;}
.sutra-hero .sh-ref{font-family:var(--mono);font-size:13px;letter-spacing:.1em;color:var(--burnt);}
.sutra-hero .sh-dev{font-family:var(--dev);font-size:clamp(34px,5.5vw,54px);color:var(--forest);
  line-height:1.35;margin:12px 0 8px;}
.sutra-hero .sh-tr{font-family:var(--mono);font-size:15px;color:var(--ink-faint);}
.sutra-hero .sh-tags{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap;}

/* padaccheda thread visualization (the signature element) */
.pada-weave{margin:26px 0 8px;padding:24px;border:1px solid var(--line);border-radius:var(--rad);
  background:var(--panel);}
.pada-weave .pw-label{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-faint);margin-bottom:18px;}
.pada-line{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.pada-word{position:relative;font-family:var(--dev);font-size:25px;color:var(--forest);
  padding:6px 14px;border-radius:var(--rad-sm);background:color-mix(in srgb,var(--amber) 14%,transparent);
  border:1px solid color-mix(in srgb,var(--amber) 36%,transparent);
  transition:transform var(--t) var(--ease-out),background var(--t);}
.pada-word:hover{transform:translateY(-3px);background:color-mix(in srgb,var(--amber) 26%,transparent);}
.pada-word.inherited{background:color-mix(in srgb,var(--teal-v) 10%,transparent);
  border-color:color-mix(in srgb,var(--teal-v) 32%,transparent);}
.pada-thread{color:var(--thread);font-size:18px;opacity:.7;}

.block{margin:28px 0;}
.block h3{font-family:var(--display);font-weight:500;font-size:21px;color:var(--ink);
  margin:0 0 14px;display:flex;align-items:center;gap:11px;}
.block h3::before{content:"";width:14px;height:14px;border-radius:3px;background:var(--burnt);opacity:.85;}
.block.teal h3::before{background:var(--teal-d);}
.block.olive h3::before{background:var(--olive);}
.prose{font-size:17px;line-height:1.72;color:var(--ink-soft);}
.prose .dev{color:var(--forest);}

/* heading-marker colors per block type (cool palette, all distinct) */
.block.teal h3::before{background:var(--steel);}
.block.olive h3::before{background:var(--sage);}
.block.vartika-block h3::before{background:var(--cyan);}
.block.commentary>summary h3::before{background:var(--lav);}

/* Sanskrit gloss / commentary prose */
.gloss{font-size:18px;line-height:1.9;color:var(--ink-soft);}
.gloss b{color:var(--ink);font-weight:600;}
.embed-ref{font-family:var(--dev);color:var(--steel);
  background:color-mix(in srgb,var(--steel) 9%,transparent);
  padding:1px 6px;border-radius:5px;border:1px solid color-mix(in srgb,var(--steel) 22%,transparent);}
.qword{font-family:var(--dev);color:var(--teal-i);font-weight:500;
  background:color-mix(in srgb,var(--teal-i) 7%,transparent);padding:0 4px;border-radius:4px;}
.sub-head{display:block;font-family:var(--display);font-weight:600;font-size:16px;
  color:var(--ink);margin:18px 0 6px;letter-spacing:.01em;}
.deriv{display:block;font-family:var(--dev);font-size:17px;line-height:2;
  background:color-mix(in srgb,var(--lav) 7%,transparent);
  border-left:3px solid color-mix(in srgb,var(--lav) 45%,transparent);
  border-radius:0 8px 8px 0;padding:12px 18px;margin:12px 0;color:var(--ink-soft);}
.note{display:block;font-size:15.5px;line-height:1.7;color:var(--ink-soft);
  background:color-mix(in srgb,var(--steel) 6%,transparent);
  border:1px solid color-mix(in srgb,var(--steel) 18%,transparent);
  border-radius:8px;padding:11px 16px;margin:12px 0;}
.verse{display:block;font-family:var(--dev);font-style:normal;color:var(--teal-i);
  text-align:center;line-height:1.95;margin:14px 0;
  padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.src-attr{display:inline-block;font-family:var(--mono);font-size:12.5px;
  color:var(--ink-faint);margin-top:4px;}
a.xref{font-family:var(--mono);font-size:.86em;color:var(--cyan);white-space:nowrap;
  border-bottom:1px dotted color-mix(in srgb,var(--cyan) 50%,transparent);}
a.xref:hover{color:var(--steel);border-bottom-color:var(--steel);}

/* collapsible commentary (details/summary) */
details.commentary{margin:24px 0;border:1px solid var(--line);border-radius:var(--rad);
  background:var(--panel);overflow:hidden;transition:border-color var(--t-fast) var(--ease);}
details.commentary[open]{border-color:var(--line-strong);}
details.commentary>summary{list-style:none;cursor:pointer;padding:18px 22px;
  display:flex;align-items:center;justify-content:space-between;
  transition:background var(--t-fast) var(--ease);}
details.commentary>summary::-webkit-details-marker{display:none;}
details.commentary>summary:hover{background:color-mix(in srgb,var(--steel) 5%,transparent);}
details.commentary>summary h3{margin:0;}
details.commentary>summary::after{content:"›";font-family:var(--display);font-size:26px;
  color:var(--ink-faint);transform:rotate(90deg);transition:transform var(--t) var(--ease-out);line-height:1;}
details.commentary[open]>summary::after{transform:rotate(-90deg);}
details.commentary>.prose{padding:4px 24px 24px;}

/* vartika list */
.vartika-list{margin:0;padding:0;list-style:none;counter-reset:vt;}
.vartika-list li{counter-increment:vt;position:relative;padding:12px 0 12px 42px;
  font-size:19px;line-height:1.7;color:var(--forest);border-top:1px solid var(--line);}
.vartika-list li:first-child{border-top:none;}
.vartika-list li::before{content:counter(vt);position:absolute;left:0;top:13px;
  font-family:var(--mono);font-size:12px;color:var(--lav);
  width:26px;height:26px;display:grid;place-items:center;
  border:1px solid color-mix(in srgb,var(--lav) 35%,transparent);border-radius:50%;}

.anuvritti-chip,.adhikara-chip{display:inline-flex;align-items:center;gap:8px;font-family:var(--dev);
  font-size:18px;padding:7px 14px;border-radius:99px;background:var(--panel);border:1px solid var(--line-strong);
  color:var(--forest);cursor:pointer;transition:all var(--t-fast) var(--ease);margin:0 7px 9px 0;text-decoration:none;}
.anuvritti-chip:hover{border-color:var(--teal-v);background:color-mix(in srgb,var(--teal-v) 10%,transparent);transform:translateY(-2px);}
.anuvritti-chip .src{font-family:var(--mono);font-size:11px;color:var(--burnt);}
.adhikara-chip:hover{border-color:var(--burnt);background:color-mix(in srgb,var(--burnt) 9%,transparent);transform:translateY(-2px);}

.detail-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:18px;}
.side-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);padding:20px;}
.side-card h4{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-faint);margin:0 0 14px;}
.meta-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14.5px;}
.meta-row:last-child{border-bottom:none;}
.meta-row .k{color:var(--ink-faint);}
.meta-row .v{color:var(--ink);font-weight:500;text-align:right;}
.meta-row .v.dev{font-family:var(--dev);font-size:18px;}

.nav-prev-next{display:flex;justify-content:space-between;gap:14px;margin-top:34px;
  padding-top:24px;border-top:1px solid var(--line);}
.npn{flex:1;padding:16px 18px;border:1px solid var(--line);border-radius:var(--rad);background:var(--panel);
  transition:all var(--t) var(--ease-out);min-width:0;}
.npn:hover{border-color:var(--olive);transform:translateY(-2px);box-shadow:0 12px 26px -20px var(--shadow);}
.npn.next{text-align:right;}
.npn .npn-lbl{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);}
.npn .npn-dev{font-family:var(--dev);font-size:19px;color:var(--forest);margin-top:6px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* upasarga list on dhatu page */
.upa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;}
.upa-item{padding:13px 16px;border:1px solid var(--line);border-radius:var(--rad-sm);background:var(--panel);
  transition:border-color var(--t-fast),transform var(--t-fast);}
.upa-item:hover{border-color:var(--olive);transform:translateY(-2px);}
.upa-item .upa-n{font-family:var(--dev);font-size:21px;color:var(--burnt);}
.upa-item .upa-a{font-family:var(--dev);font-size:16px;color:var(--ink-soft);margin-top:3px;}

/* ---------------- HOME feature cards ---------------- */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:36px;}
.feature{display:block;color:inherit;}
.feature .f-glyph{font-family:var(--dev);font-size:38px;line-height:1;margin-bottom:16px;display:block;
  transition:transform var(--t) var(--ease-out);}
.feature:hover .f-glyph{transform:translateY(-3px) rotate(-4deg);}
.feature:nth-child(1) .f-glyph{color:var(--teal-d);}
.feature:nth-child(2) .f-glyph{color:var(--burnt);}
.feature:nth-child(3) .f-glyph{color:var(--olive);}
.feature:nth-child(4) .f-glyph{color:var(--crimson);}
.feature h3{font-family:var(--display);font-weight:500;font-size:20px;margin:0 0 8px;color:var(--ink);}
.feature p{font-size:14.5px;color:var(--ink-soft);margin:0;line-height:1.55;}
.feature .f-go{font-family:var(--mono);font-size:12px;color:var(--link);margin-top:14px;display:inline-flex;
  align-items:center;gap:6px;transition:gap var(--t-fast);}
.feature:hover .f-go{gap:11px;color:var(--link-hot);}

/* shiva sutra board */
.shiva-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:30px;}
.shiva-cell{padding:18px;border:1px solid var(--line);border-radius:var(--rad);background:var(--panel);
  text-align:center;transition:all var(--t) var(--ease-out);cursor:default;}
.shiva-cell:hover{border-color:var(--amber);transform:translateY(-4px);box-shadow:0 16px 30px -22px var(--shadow);}
.shiva-cell .sc-n{font-family:var(--mono);font-size:11px;color:var(--ink-faint);}
.shiva-cell .sc-dev{font-family:var(--dev);font-size:30px;color:var(--forest);margin-top:8px;}

/* pratyahara table */
.pra-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-top:24px;}
.pra-item{padding:14px 16px;border:1px solid var(--line);border-radius:var(--rad-sm);background:var(--panel);
  transition:all var(--t-fast) var(--ease);}
.pra-item:hover{border-color:var(--teal-v);transform:translateY(-2px);}
.pra-item .pra-n{font-family:var(--dev);font-size:22px;color:var(--teal-d);}
.pra-item .pra-l{font-family:var(--dev);font-size:15px;color:var(--ink-soft);margin-top:4px;}

@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:36px;}
  .detail{grid-template-columns:1fr;}
  .detail-side{position:static;flex-direction:row;flex-wrap:wrap;}
  .detail-side .side-card{flex:1;min-width:240px;}
  .explorer{grid-template-columns:1fr;}
  .filters{position:static;}
}
@media(max-width:560px){
  .entry{grid-template-columns:1fr;gap:8px;}
  .entry .e-side{justify-content:flex-start;}
  .hero-stats{flex-wrap:wrap;gap:20px;}
  .nav-prev-next{flex-direction:column;}
}

/* ==========================================================================
   REFERENCE — shared sub-navigation + list layouts for the bundled texts
   ========================================================================== */
.ref-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:34px;}
.ref-nav a{font-family:var(--serif);font-size:14.5px;font-weight:500;
  padding:8px 16px;border-radius:99px;border:1px solid var(--line-strong);
  color:var(--ink-soft);background:var(--panel);
  transition:all var(--t-fast) var(--ease);white-space:nowrap;}
.ref-nav a:hover{border-color:var(--steel);color:var(--steel);
  background:color-mix(in srgb,var(--steel) 8%,transparent);transform:translateY(-1px);}
.ref-nav a.current{background:var(--steel);color:var(--milk);border-color:var(--steel);}

/* numbered scholarly list (unadi, paribhasha, shiksha) */
.ref-list{display:flex;flex-direction:column;gap:0;}
.ref-item{padding:22px 0;border-top:1px solid var(--line);}
.ref-item:first-child{border-top:none;}
.ref-item .ri-head{display:flex;align-items:baseline;gap:14px;margin-bottom:10px;flex-wrap:wrap;}
.ref-item .ri-num{font-family:var(--mono);font-size:12px;color:var(--lav);
  border:1px solid color-mix(in srgb,var(--lav) 32%,transparent);
  border-radius:99px;padding:3px 10px;flex:none;}
.ref-item .ri-sutra{font-family:var(--dev);font-size:24px;color:var(--ink);line-height:1.4;}
.ref-item .ri-tag{font-family:var(--dev);font-size:15px;color:var(--steel);
  background:color-mix(in srgb,var(--steel) 9%,transparent);
  padding:2px 10px;border-radius:6px;border:1px solid color-mix(in srgb,var(--steel) 20%,transparent);}
.ref-item .ri-body{font-family:var(--dev);font-size:17px;line-height:1.85;color:var(--ink-soft);
  padding-left:2px;}
.ref-item .ri-sub{font-family:var(--mono);font-size:12px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px;}

/* gana cards (ganapatha) */
.gana-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:16px;}
.gana-card{border:1px solid var(--line);border-radius:var(--rad);background:var(--panel);
  padding:20px 22px;transition:border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease-out);}
.gana-card:hover{border-color:var(--line-strong);transform:translateY(-2px);}
.gana-card .gc-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px;}
.gana-card .gc-name{font-family:var(--dev);font-size:21px;color:var(--ink);font-weight:500;}
.gana-card .gc-ref{font-family:var(--mono);font-size:12px;color:var(--steel);flex:none;}
.gana-card .gc-words{font-family:var(--dev);font-size:16px;line-height:1.95;color:var(--ink-soft);
  max-height:7.6em;overflow:hidden;position:relative;transition:max-height var(--t-slow) var(--ease);}
.gana-card.open .gc-words{max-height:1400px;}
.gana-card .gc-words.clip::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.6em;
  background:linear-gradient(transparent,var(--panel));pointer-events:none;transition:opacity var(--t) var(--ease);}
.gana-card.open .gc-words.clip::after{opacity:0;}
.gana-card .gc-toggle{font-family:var(--serif);font-size:13.5px;color:var(--steel);
  margin-top:12px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;background:none;border:none;padding:0;}
.gana-card .gc-toggle:hover{color:var(--cyan);}
.gana-card .embed-ref{font-size:14px;}

/* intro line above a reference list */
.ref-count{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-faint);margin-bottom:20px;}
