:root{--ink:#2a2018;--soft:#6d6256;--accent:#a8330d;--accent-rgb:168,51,13;--gold:#bd8a2d;--line:#ece2d2;--bg:#fdfaf4;--card:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Spectral,Georgia,serif;font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:880px;margin:0 auto;padding:0 1.3rem}header.hero{background:radial-gradient(1200px 380px at 50% -120px,#fbe6c9 0,hsla(35,86%,89%,0) 70%),linear-gradient(170deg,#fdf4e2,#fbeed9 55%,#fdfaf4);border-bottom:1px solid #efe2cb;text-align:center;padding:3.6rem 1.3rem 2.7rem}.sanskrit{font-family:"Noto Serif Devanagari",serif;color:var(--gold);font-size:1.35rem;letter-spacing:.03em;margin:0 0 .35rem}h1{font-size:3rem;line-height:1.05;margin:.1rem 0 .5rem;font-weight:700;color:#7a1f0d;letter-spacing:-.02em}.tag{font-size:1.15rem;font-style:italic;color:#5c5145;margin:.2rem auto 0;max-width:34em}section{padding:2.4rem 0}h2{font-size:.9rem;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-weight:600;margin:0 0 .3rem}h2+.lead{color:var(--soft);margin:.1rem 0 1.3rem;font-style:italic}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:1.1rem;gap:1.1rem}.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.3rem 1.4rem;box-shadow:0 8px 24px -18px rgba(0,0,0,.35);transition:transform .15s ease,box-shadow .15s ease}.card:hover{transform:translateY(-2px);box-shadow:0 12px 28px -16px rgba(122,31,13,.3);text-decoration:none}.badge{display:inline-block;font-style:italic;font-weight:600;color:#fff;background:var(--accent);padding:.16rem .7rem;border-radius:999px;font-size:.82rem}.card h3{margin:.7rem 0 .2rem;font-size:1.3rem;color:var(--ink)}.card .src{color:var(--soft);font-size:.88rem;margin:0 0 .6rem}.card .excerpt{color:#4a4237;font-size:.95rem;margin:0}.card .verse-preview{font-family:"Noto Serif Devanagari",serif;color:#7a1f0d;font-size:1rem;margin:.5rem 0 .7rem;opacity:.85}.backlink{display:inline-block;margin:1.6rem 0 0;font-size:.95rem}.detail-head{padding:2.6rem 0 1rem}.detail-head h1{font-size:2.2rem}.admin-page-head{position:relative}.admin-logout-btn{position:absolute;top:2.6rem;right:0;background:none;border:1px solid var(--line);color:var(--soft);border-radius:999px;padding:.4rem 1rem;font-size:.85rem;cursor:pointer}.admin-logout-btn:hover{border-color:var(--accent);color:var(--accent)}.meta-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:.6rem 0 0}.src-line{color:var(--soft);font-size:.95rem}.kfy-wrap{font-family:system-ui,-apple-system,sans-serif}.kfy-player-bar{margin:1.4rem 0 .9rem}.kfy-wrap audio{width:100%;display:block}.kfy-scroll{padding:1.3rem 1.4rem;border-radius:14px;background:rgba(168,51,13,.04);border:1px solid var(--line)}.kfy-label{font-size:.72rem;opacity:.65;text-transform:uppercase;letter-spacing:.05em;margin:1rem 0 .5rem}.kfy-label:first-child{margin-top:0}.kfy-line{font-family:"Noto Serif Devanagari",serif;font-size:clamp(1.25rem,1vw + 1rem,1.7rem);line-height:2.3;word-break:break-word}.kfy-line:nth-of-type(3){font-family:Spectral,Georgia,serif;font-style:italic}.kfy-word{display:inline-block}.kfy-syl{display:inline-block;padding:.03em .14em;border-radius:6px;color:#4a4237;transition:background .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease}.kfy-syl-done{background:rgba(var(--accent-rgb),.16);color:#7a1f0d}.kfy-syl-current{background:rgb(var(--accent-rgb));color:#fff;font-weight:700;transform:scale(1.1);box-shadow:0 2px 10px rgba(var(--accent-rgb),.4)}.kfy-syl-todo{background:rgba(var(--accent-rgb),.06)}.kfy-pada-gap{display:inline-block;opacity:.4;padding:0 .4em}.meaning-block{margin-top:1.8rem}.meaning-block .iast{font-style:italic;color:var(--soft);white-space:pre-line;border-left:3px solid var(--line);padding-left:1rem;margin:.8rem 0 1.2rem}.note{font-size:.88rem;margin-top:1.4rem;padding-top:1rem;border-top:1px solid var(--line)}.note,footer{color:#8a7e6f}footer{padding:2rem 0 3rem;font-size:.92rem;text-align:center}footer strong{color:#5c5145}@media (max-width:560px){h1{font-size:2.3rem}body{font-size:17px}}.admin-link{margin:-.6rem 0 1.3rem;font-size:.85rem}.admin-link a{color:var(--soft)}.admin-form{gap:1.1rem;max-width:640px;margin-top:1.6rem}.admin-form,.admin-form .field{display:flex;flex-direction:column}.admin-form .field{gap:.35rem;font-size:.92rem;color:var(--soft)}.admin-form .field-row{display:flex;gap:1rem}.admin-form .field-row .field{flex:1 1}.admin-form input[type=file],.admin-form input[type=text],.admin-form select,.admin-form textarea{font-family:inherit;font-size:1rem;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.6rem .75rem;resize:vertical}.admin-form select{align-self:flex-start;min-width:14rem}.admin-form textarea{font-family:"Noto Serif Devanagari",Spectral,serif}.admin-form button{align-self:flex-start;background:var(--accent);color:#fff;border:none;border-radius:999px;padding:.65rem 1.6rem;font-size:1rem;font-weight:600;cursor:pointer}.admin-form button:disabled{opacity:.6;cursor:default}.form-msg{margin:0;padding:.7rem .9rem;border-radius:10px;font-size:.92rem}.form-error{background:rgba(168,51,13,.08);color:var(--accent)}.form-ok{background:rgba(50,130,80,.1);color:#1f6b3f}.admin-chants-list{display:flex;flex-direction:column;gap:.6rem;max-width:640px;margin-top:1rem}.admin-chant-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.7rem 1rem}.admin-chant-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.admin-chant-info a{font-weight:600}.admin-chant-meta{font-size:.85rem;color:var(--soft)}.admin-chant-delete{flex-shrink:0;background:none;border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:.4rem 1rem;font-size:.88rem;font-weight:600;cursor:pointer}.admin-chant-delete:disabled{opacity:.6;cursor:default}.note code{background:rgba(0,0,0,.06);padding:.05em .35em;border-radius:5px;font-size:.9em}