/* Generated by src/embed.py from static/style.css — do not edit.
   Every rule is scoped to .vy-shelf so it cannot reach the theme, and the reset
   below stops the theme reaching in. */
.vy-shelf, .vy-shelf * {
  font-family: var(--serif);
  box-sizing: border-box;
}
.vy-shelf h2, .vy-shelf p, .vy-shelf a, .vy-shelf span, .vy-shelf button, .vy-shelf nav, .vy-shelf div,
.vy-shelf form, .vy-shelf input, .vy-shelf label, .vy-shelf svg {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-style: normal;
  letter-spacing: normal;
  text-transform: none;
  text-align: left;
  line-height: 1.5;
  background: none;
}
.vy-shelf a { text-decoration: none; color: inherit; }
.vy-shelf button, .vy-shelf input { font: inherit; }
.vy-shelf button { cursor: pointer; }
.vy-shelf input { outline-offset: 0; box-shadow: none; min-height: 0; height: auto; }
.vy-shelf { color: var(--ink); }
.vy-shelf {--paper:      #fffaf0;
  --paper-warm: #fff0d1;
  --paper-card: #fffdf8;
  --ink:        #334155;
  --ink-soft:   #6b7a8f;
  --rule:       #ecdfc7;
  --accent:     #fc9c0d;
  --link:       #3964ec;
  --link-visit: #6b46c1;
  --mark:       #ffe9a8;
  
  --verse-bg:   #fdf1da;
  --verse-edge: #f2e2c2;
  --verse-ink:  #2c2418;
  
  --scan-mat:   #f3ece0;
  
  --hit-bg:     #baf0a2;
  --hit-ink:    #14310c;
  --hit-ring:   #74c95a;
  --totop-bg:   #f7df8f;
  --totop-ink:  #334155;
  --totop-ring: #62ea23;
  --shell:      75rem;
  --measure:    38rem;
  --serif: "Noto Serif Devanagari", "Noto Serif", "Kohinoor Devanagari",
           "Nirmala UI", Georgia, serif;

  
  --room:       #ebdfc7;   
  --wood-lit:   #f2e0bc;   
  --wood-face:  #e0c79b;
  --wood-edge:  #c2a069;
  --wood-dark:  #9c7a49;
  --board-back: #513c26;   
  
  --board-top:    #7f5a2e;
  --board-arris:  #c0955c;
  --board-lit:    #96703f;
  --board-shade:  #6d4c28;
  --board-reveal: #1c1207;
  --brass:      #b8901f;
  --brass-lit:  #f2dc9a;
  --cast:       rgba(58, 38, 12, 0.34);   

  
  --tex-fibre: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23f)'/%3E%3C/svg%3E");
  --tex-wood: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='300'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.004 .45' numOctaves='5' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='600' height='300' filter='url(%23w)'/%3E%3C/svg%3E");}
.vy-shelf[data-theme="dark"] {--paper: #15120e; --paper-warm: #221b13; --paper-card: #1c1811;
  --ink: #e7ddca; --ink-soft: #a1927c; --rule: #38301f;
  --accent: #f2ab45; --link: #9db6f0; --link-visit: #c0a6e6; --mark: #6b5410;
--verse-bg: #241d13; --verse-edge: #473b26; --verse-ink: #f6efe0;
  --scan-mat: #221b12; --totop-bg: #f7df8f; --totop-ink: #2b2318;
  --totop-ring: #62ea23;
  
  --room: #100d09; --wood-lit: #4a3421; --wood-face: #3b2917;
  --wood-edge: #281a0e; --wood-dark: #17100a; --board-back: #2a1d11;
  --board-top: #382613; --board-arris: #6e5029; --board-lit: #4e381d;
  --board-shade: #2c1e0f; --board-reveal: #080603;
  --brass: #8a6a17; --brass-lit: #c9a94e;
  --cast: rgba(0, 0, 0, 0.6);
  --hit-bg: #2c5f1d; --hit-ink: #e9ffdd; --hit-ring: #4f9b39;}
.vy-shelf .shelf-hero {text-align: center; margin: 0.75rem 0 0.25rem;}
.vy-shelf .shelf-hero h1 {color: var(--ink); margin-bottom: 0.15rem;}
.vy-shelf .shelf-hero .subtitle {max-width: 34rem; margin-inline: auto; font-size: 0.85rem; margin-bottom: 0.6rem;}
.vy-shelf .shelf-controls {display: flex; align-items: center; justify-content: center;
  gap: 0.6rem; flex-wrap: wrap; margin-bottom: 0.2rem;}
.vy-shelf .shelf-body .cat, .vy-shelf .shelf-body h2 {background: linear-gradient(180deg,#fff3cf 0%,#e6be6a 42%,#a97c2e 78%,#f0dca4 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,0.55));}
.vy-shelf .shelf {--board: 1.75rem;
  position: relative;
  isolation: isolate;
  margin-bottom: 0.35rem;
  background-color: var(--board-back);
  background-image:
    
    linear-gradient(90deg, rgba(0,0,0,0.45) 0%, transparent 11%,
                           transparent 89%, rgba(0,0,0,0.45) 100%),
    var(--tex-wood),
    
    linear-gradient(180deg, rgba(0,0,0,0.5) 0%, rgba(255,255,255,0.06) 40%,
                            rgba(0,0,0,0.42) 100%);
  background-size: auto, 460px 100%, auto;
  background-blend-mode: normal, soft-light, normal;
  box-shadow: inset 0 14px 26px -14px rgba(0, 0, 0, 0.9);
  border-block: 1px solid rgba(0, 0, 0, 0.5);}
.vy-shelf .shelf::after {content: ""; position: absolute; left: 0; right: 0; bottom: 0;
  height: var(--board); z-index: 2; pointer-events: none;
  background-image:
    
    linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0) 30%),
    var(--tex-wood),
    linear-gradient(180deg,
      var(--board-top) 0%,    var(--board-top) 26%,
      var(--board-arris) 26%, var(--board-arris) 31%,
      var(--board-lit) 31%,   var(--board-shade) 70%,
      var(--board-shade) 70%, var(--board-shade) 90%,
      var(--board-reveal) 90%, var(--board-reveal) 100%);
  background-size: auto, 460px 100%, auto;
  background-blend-mode: normal, overlay, normal;}
.vy-shelf .shelf-track {display: flex; gap: 0.9rem;
  overflow-x: auto; scroll-snap-type: x mandatory;
  
  padding: 1.35rem calc(50% - 4.6rem) calc(var(--board) * 0.80);
  scrollbar-width: none; outline: none;
  perspective: 1200px;}
.vy-shelf .shelf-track::-webkit-scrollbar {display: none;}
.vy-shelf .shelf-card {scroll-snap-align: center; flex: 0 0 9.2rem;
  height: 13.2rem; position: relative; text-decoration: none;
  display: block; border-radius: 2px 7px 7px 2px;
  
  transform-origin: 50% 100%;
  will-change: transform, opacity;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
  
  box-shadow:
    1px 0 0 0 rgba(255,255,255,0.10) inset,
    2px 3px 0 -1px #e8dcc4,
    4px 5px 0 -1px #d9cbb0,
    6px 7px 0 -1px #cabc9d,
    0 3px 3px -2px rgba(12, 7, 1, 0.85),
    0 10px 14px -7px rgba(12, 7, 1, 0.7),
    10px 16px 22px -6px rgba(30, 20, 8, 0.45);}
.vy-shelf .shelf-cover {position: absolute; inset: 0; border-radius: 2px 7px 7px 2px; overflow: hidden;
  border: 1px solid rgba(0,0,0,0.30);
  background-blend-mode: overlay, overlay, soft-light, normal;}
.vy-shelf .shelf-cover::before {content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    repeating-linear-gradient(90deg, rgba(0,0,0,0.05) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(0deg,  rgba(0,0,0,0.05) 0 1px, transparent 1px 3px),
    radial-gradient(120% 90% at 22% 12%, rgba(255,255,255,0.20), transparent 60%),
    linear-gradient(100deg, rgba(0,0,0,0.28) 0 4%, transparent 14% 86%, rgba(0,0,0,0.18) 100%);}
.vy-shelf .shelf-cover::after {content: ""; position: absolute; inset: 0.42rem 0.4rem 0.42rem 1.15rem;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 2px;
  box-shadow: 0 1px 0 rgba(0,0,0,0.22) inset;
  pointer-events: none;}
.vy-shelf .shelf-card .spine {position: absolute; inset-block: 0; left: 0; width: 0.95rem; z-index: 2;
  border-radius: 2px 0 0 2px;
  box-shadow:
    inset -3px 0 6px rgba(0,0,0,0.45),
    inset 2px 0 0 rgba(255,255,255,0.18),
    inset -1px 0 0 rgba(0,0,0,0.35);}
.vy-shelf .shelf-card .spine::before, .vy-shelf .shelf-card .spine::after {content: ""; position: absolute; left: 1px; right: 0; height: 4px;
  background: linear-gradient(180deg,
    rgba(255,255,255,0.34), rgba(212,170,86,0.55) 45%, rgba(0,0,0,0.42));}
.vy-shelf .shelf-card .spine::before {top: 16%;}
.vy-shelf .shelf-card .spine::after {bottom: 16%;}
.vy-shelf .shelf-card::before {content: ""; position: absolute; z-index: 3; left: 0.95rem; right: 2px;
  top: 0; height: 3px; border-radius: 0 2px 0 0;
  background: repeating-linear-gradient(90deg,#f4e7cc 0 2px,#b9905a 2px 4px);
  opacity: 0.85;}
.vy-shelf .shelf-card::after {content: ""; position: absolute; z-index: 3; right: 0; top: 3px; bottom: 3px;
  width: 4px; border-radius: 0 3px 3px 0;
  background: repeating-linear-gradient(180deg,#f6efdd 0 2px,#ddd0b4 2px 3px);
  box-shadow: inset -1px 0 2px rgba(0,0,0,0.25);}
.vy-shelf .shelf-cover .sheen {position: absolute; inset: 0; opacity: 0; z-index: 4;
  background: linear-gradient(112deg, transparent 26%, rgba(255,255,255,0.22) 46%, transparent 60%);
  transition: opacity 0.45s;}
.vy-shelf .shelf-card:hover .sheen {opacity: 1;}
.vy-shelf .shelf-body {position: relative; height: 100%; padding: 1.1rem 0.9rem 0.85rem 1.35rem;
  display: flex; flex-direction: column; justify-content: flex-end; color: #fff;}
.vy-shelf .shelf-body .cat {position: absolute; top: 0.9rem; left: 1.35rem; right: 0.9rem;
  font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.16em;
  opacity: 0.8;}
.vy-shelf .shelf-body h2 {font-size: 1rem; font-weight: 700; line-height: 1.35; margin: 0 0 0.4rem;
  text-shadow: 0 1px 3px rgba(0,0,0,0.5);}
.vy-shelf .shelf-body .pages {font-size: 0.72rem; opacity: 0.85; display: flex; align-items: center; gap: 0.3rem;}
.vy-shelf .shelf-nav {display: flex; justify-content: center; gap: 0.5rem; margin: 0;}
.vy-shelf .shelf-nav button {width: 2.1rem; height: 2.1rem; border-radius: 999px; cursor: pointer;
  border: 1px solid var(--rule); background: var(--paper-card); color: var(--ink-soft);
  display: flex; align-items: center; justify-content: center; font-size: 1.1rem;}
.vy-shelf .shelf-nav button:hover {color: var(--accent); border-color: var(--accent);}
.vy-shelf .shelf-nav button:disabled {opacity: 0.35; cursor: default;}
.vy-shelf .shelf-caption {text-align: center; margin: 0.2rem 0 1.25rem; min-height: 1.3rem; font-size: 0.92rem;}
.vy-shelf .shelf-caption .t {color: var(--ink); font-weight: 600;}
.vy-shelf .shelf-caption .c {color: var(--ink-soft);}
.vy-shelf .visually-hidden {position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap;}
.vy-shelf .shelf-tools {margin: 0.4rem auto 1.6rem;}
.vy-shelf .shelf-find {position: relative;
  display: flex; align-items: center;
  background: var(--paper-card);
  border: 1px solid var(--rule); border-radius: 999px;
  box-shadow: 0 1px 2px rgba(58, 38, 12, 0.07) inset;}
.vy-shelf .shelf-find:focus-within {border-color: var(--accent); box-shadow: 0 0 0 3px #fc9c0d22;}
.vy-shelf .shelf-find .find-icon {width: 1.05rem; height: 1.05rem; flex: none; margin-inline: 0.9rem 0;
  fill: none; stroke: var(--ink-soft); stroke-width: 2; stroke-linecap: round;}
.vy-shelf .shelf-find input {flex: 1; min-width: 0; font: inherit; font-size: 0.95rem;
  padding: 0.6rem 0.75rem; border: 0; background: transparent; color: var(--ink);
  border-radius: 999px;}
.vy-shelf .shelf-find input:focus-visible {outline: none;}
.vy-shelf .shelf-find input::-webkit-search-cancel-button {display: none;}
.vy-shelf .find-clear {flex: none; margin-inline: 0 0.45rem; padding: 0.25rem 0.55rem;
  font: inherit; font-size: 0.9rem; line-height: 1; cursor: pointer;
  border: 0; border-radius: 999px; background: transparent; color: var(--ink-soft);}
.vy-shelf .find-clear:hover {color: var(--accent);}
.vy-shelf .cat-chips {display: flex; flex-wrap: wrap; gap: 0.4rem;
  margin-top: 0.7rem;}
.vy-shelf .chip {font: inherit; font-size: 0.82rem; cursor: pointer;
  padding: 0.28rem 0.8rem; border-radius: 999px;
  border: 1px solid var(--rule); background: var(--paper-card); color: var(--ink-soft);}
.vy-shelf .chip:hover {border-color: var(--accent); color: var(--accent);}
.vy-shelf .chip .n {font-variant-numeric: tabular-nums; font-size: 0.75rem;
  opacity: 0.65; margin-left: 0.15rem;}
.vy-shelf .chip.is-on {background: var(--accent); border-color: var(--accent); color: #fff; font-weight: 600;}
.vy-shelf .chip.is-on .n {opacity: 0.85;}
.vy-shelf .chip[disabled] {opacity: 0.35; cursor: default;}
.vy-shelf .chip[disabled]:hover {border-color: var(--rule); color: var(--ink-soft);}
.vy-shelf .shelf-sort {display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem;
  margin-top: 0.55rem;}
.vy-shelf .sort-label {font-size: 0.78rem; color: var(--ink-soft); letter-spacing: 0.04em;
  margin-right: 0.15rem;}
.vy-shelf .vy-shelf-heading {text-align: center; margin: 0 0 0.7rem; font-size: 1.5rem; font-weight: 600;
  color: var(--accent); letter-spacing: 0.01em;}
@media (min-width: 40rem) {.vy-shelf .vy-shelf-heading {font-size: 1.9rem;}}
.vy-shelf .shelf-tools {max-width: 44rem; margin-inline: auto; padding-inline: 1.15rem;}
.vy-shelf .embed-nav {margin-top: 0.5rem;}
.vy-shelf .embed-more {text-align: center; margin: 0.6rem 0 0; font-size: 0.95rem;}
.vy-shelf .embed-more a {color: var(--link); text-decoration: none; font-weight: 600;}
.vy-shelf .embed-more a:hover {color: var(--accent); text-decoration: underline;}
.vy-shelf .find-empty {margin: 1rem 0 0; text-align: center; color: var(--ink-soft); font-size: 0.9rem;}
.vy-shelf .shelf-card[hidden], .vy-shelf .book-card[hidden] {display: none;}
.vy-shelf .shelf-grid-heading {font-size: 0.78rem; font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--ink-soft);
  margin: 2.5rem 0 1rem; padding-bottom: 0.4rem; border-bottom: 1px solid var(--rule);}
@media (min-width: 40rem) {.vy-shelf .shelf-hero {margin-top: 1.5rem;}
.vy-shelf .shelf-hero .subtitle {font-size: 0.92rem;}
.vy-shelf .shelf {--board: 2.4rem;}
.vy-shelf .shelf-track {gap: 1.5rem; padding: 2.75rem calc(50% - 8rem) calc(var(--board) * 0.80);}
.vy-shelf .shelf-card {flex-basis: 13.5rem; height: 19.5rem;}
.vy-shelf .shelf-body h2 {font-size: 1.1rem;}
.vy-shelf .shelf-caption {margin-bottom: 2rem;}}
