/* Digital Ashram design system. No framework, no build step. */
:root{
  --ivory:#faf4e6; --cream:#f3e9d2; --paper:#fffdf8;
  --saffron:#e08a1e; --kesari:#c8751a; --gold:#b8923a; --gold-soft:#e7d4a3;
  --indigo:#1c2352; --indigo-2:#2a3270; --ink:#3a2e26; --muted:#7a6a5b;
  --line:#e6d9b8; --ok:#2d6a3e; --bad:#a32020;
  --serif:"Palatino Linotype",Palatino,"Book Antiqua","Iowan Old Style",Georgia,"Noto Serif Devanagari","Noto Sans Devanagari","Mangal",serif;
  --sans:system-ui,-apple-system,"Noto Sans Devanagari","Segoe UI",Roboto,"Noto Sans","Helvetica Neue",Arial,sans-serif;
  --r:14px; --shadow:0 1px 2px rgba(58,46,38,.06),0 6px 20px rgba(58,46,38,.07);
  --bar:56px; --tab:62px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font:1rem/1.65 var(--serif);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--indigo);text-decoration-color:var(--gold)}
a:hover{color:var(--kesari)}
:focus-visible{outline:3px solid var(--saffron);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--indigo);color:#fff;padding:.6em 1em;z-index:100}
.skip:focus{left:8px;top:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.container{width:100%;max-width:1160px;margin:0 auto;padding:0 18px}
.narrow{max-width:720px}.narrow-ish{max-width:820px}
.center{text-align:center}.muted{color:var(--muted)}.small{font-size:.86rem}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88rem}
.ic{width:22px;height:22px;flex:none}.ic-sm{width:16px;height:16px}.ic-lg{width:28px;height:28px}.ic-xl{width:44px;height:44px}.ic-xxl{width:64px;height:64px}
.orn{color:var(--gold);display:flex;justify-content:center;margin-bottom:.6rem}

/* Type */
.h1{font-size:clamp(1.6rem,4.6vw,2.4rem);line-height:1.2;color:var(--indigo);margin:0 0 .5em;font-weight:600}
.h2{font-size:clamp(1.3rem,3.4vw,1.75rem);line-height:1.25;color:var(--indigo);margin:0;font-weight:600}
.h3{font-size:1.1rem;color:var(--indigo);margin:1.6em 0 .5em;font-weight:600}
.lead{font-size:1.15rem;color:var(--ink)}
.prose{max-width:68ch}.prose h2{font-size:1.4rem;color:var(--indigo)}.prose h3{font-size:1.15rem;color:var(--indigo)}
.prose img{border-radius:var(--r);margin:1em 0}.prose blockquote{margin:1.2em 0;padding:.2em 1.1em;border-left:3px solid var(--gold);color:var(--muted)}
.divider{display:flex;align-items:center;gap:14px;color:var(--gold);margin:.2rem 0 1.4rem}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold-soft))}
.divider::after{transform:scaleX(-1)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:46px;padding:.6em 1.5em;border-radius:999px;border:1.5px solid var(--saffron);background:var(--saffron);color:#fff;font:600 .98rem var(--sans);text-decoration:none;cursor:pointer;transition:background .15s,transform .1s}
.btn:hover{background:var(--kesari);border-color:var(--kesari);color:#fff}.btn:active{transform:scale(.98)}
.btn-outline{background:transparent;color:var(--kesari)}.btn-outline:hover{background:var(--saffron);color:#fff}
.btn-outline-light{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}.btn-outline-light:hover{background:rgba(255,255,255,.14);border-color:#fff}
.btn-ghost{background:transparent;color:var(--indigo);border-color:var(--line)}.btn-ghost:hover{background:var(--cream);color:var(--indigo);border-color:var(--gold-soft)}
.btn-sm{min-height:36px;padding:.3em 1em;font-size:.86rem}.btn-block{width:100%}.btn-row{display:flex;gap:10px;flex-wrap:wrap}

/* Flash */
.flash{margin:14px 0;padding:.8em 1em;border-radius:10px;font:500 .94rem var(--sans);border-left:4px solid}
.flash-success{background:#e8f3ea;border-color:var(--ok);color:#1e4a2b}.flash-error{background:#fbe9e7;border-color:var(--bad);color:#7a1818}

/* Sections */
.section{padding-top:34px;padding-bottom:34px}.section-tint{background:var(--cream)}
.section-indigo{background:var(--indigo);color:#fff}.on-dark{color:#fff!important}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:18px}
.sec-head .sub{margin:.2rem 0 0;color:var(--muted);font-size:.95rem}
.more-link{display:inline-flex;align-items:center;gap:4px;font:600 .9rem var(--sans);text-decoration:none;white-space:nowrap;color:var(--kesari)}

/* Cards and grids */
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:box-shadow .2s,border-color .2s}
.card:hover{border-color:var(--gold);color:var(--ink)}
.card-media{position:relative;aspect-ratio:16/9;background:var(--cream);display:block}
.card-media img{width:100%;height:100%;object-fit:cover}
.card-media .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--gold);background:linear-gradient(135deg,var(--cream),#efe2bf)}
.badge{position:absolute;left:10px;top:10px;background:var(--indigo);color:#fff;font:600 .72rem var(--sans);padding:.25em .7em;border-radius:999px}
.card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px}
.card-title{font-weight:600;line-height:1.35;color:var(--indigo)}
.card-meta{font:.84rem var(--sans);color:var(--muted)}
.feature{display:grid;gap:20px;align-items:center}
.feature-text p{color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;align-items:center;min-height:44px;padding:.4em 1.1em;border:1px solid var(--gold-soft);border-radius:999px;background:var(--paper);text-decoration:none;font:500 .92rem var(--sans);color:var(--indigo)}
.chip:hover{background:var(--indigo);color:#fff;border-color:var(--indigo)}
.tithi-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tithi-list li{display:flex;gap:14px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px}
.tithi-date{display:flex;flex-direction:column;align-items:center;min-width:52px;padding:6px 0;border-radius:10px;background:var(--indigo);color:#fff;font:.72rem var(--sans);line-height:1.1}
.tithi-date b{font:700 1.3rem var(--serif)}
.social-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}
.social-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;border:1px solid rgba(231,212,163,.35);border-radius:var(--r);color:#fff;text-decoration:none;font:600 .92rem var(--sans);transition:background .15s}
.social-card:hover{background:rgba(255,255,255,.1);color:#fff}.social-card .ic{color:var(--gold-soft)}
.inline-form{display:flex;gap:10px;flex-direction:column;margin-top:16px}
.inline-form input[type=email]{flex:1}

/* Forms (shared) */
.form label{display:block;margin:.9em 0;font:600 .88rem var(--sans);color:var(--ink)}
.form input:not([type=checkbox]),.form select,.form textarea,.inline-form input,.searchbar input{display:block;width:100%;margin-top:.35em;padding:.72em .85em;min-height:46px;border:1px solid #cdbf9d;border-radius:10px;background:#fff;font:400 1rem var(--sans);color:var(--ink)}
.form input:disabled{background:var(--cream);color:var(--muted)}
.inline-form input{margin-top:0}
.form textarea{resize:vertical;min-height:90px}
.check{display:flex!important;align-items:center;gap:.6em;font-weight:500!important}.check input{width:20px;height:20px;margin:0;accent-color:var(--saffron)}
.field-error{display:block;margin-top:.3em;color:var(--bad);font:500 .84rem var(--sans)}
.card-form{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:8px 20px 22px;max-width:760px;box-shadow:var(--shadow)}
.row2{display:grid;gap:0 16px}

/* Lists */
.list-menu{list-style:none;margin:0 0 8px;padding:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.list-menu li+li{border-top:1px solid var(--line)}
.list-menu a,.row-static{display:flex;align-items:center;gap:14px;min-height:56px;padding:12px 16px;text-decoration:none;color:var(--ink);font:500 1rem var(--sans)}
.list-menu a:hover{background:var(--cream)}.list-menu .ic{color:var(--kesari)}.list-menu .end{margin-left:auto;color:var(--muted)}
.desk-only{display:none}

/* Hero: the one memorable element - gold lotus line-art on deep indigo */
.hero{background:radial-gradient(120% 90% at 85% 10%,var(--indigo-2),var(--indigo) 60%);color:#fff;border-bottom:3px solid var(--gold)}
.hero-in{display:grid;gap:8px;align-items:center;padding-top:26px;padding-bottom:30px}
.hero h1{font-size:clamp(1.55rem,5.5vw,2.7rem);line-height:1.2;margin:0 0 .5em;font-weight:600;max-width:20ch}
.hero p{color:#e9e2cf;margin:0 0 1.2em;max-width:46ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.hero-art{display:flex;justify-content:center;order:-1}
.hero-art img{max-height:340px;width:auto}
.hero-lotus{width:96px;height:96px;color:var(--gold)}

/* Chrome: mobile first (app bar + bottom tabs) */
.topnav{display:none}
.appbar{position:sticky;top:0;z-index:40;height:calc(var(--bar) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;display:flex;align-items:center;gap:10px;background:var(--indigo);color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.appbar-brand{color:var(--gold);display:flex;padding:6px}.appbar-action{color:#fff;display:flex;padding:10px;margin-right:-6px}
.appbar-title{flex:1;font:600 1.02rem var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.site{padding-bottom:calc(var(--tab) + env(safe-area-inset-bottom))}
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--tab) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--paper);border-top:1px solid var(--gold-soft);box-shadow:0 -4px 16px rgba(58,46,38,.08)}
.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);text-decoration:none;font:600 .7rem var(--sans);min-height:48px;position:relative}
.tabbar a.on{color:var(--kesari)}.tabbar a.on::before{content:"";position:absolute;top:0;width:28px;height:3px;border-radius:0 0 3px 3px;background:var(--saffron)}
.rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -18px;padding:2px 18px 12px;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}.rail>.card{flex:0 0 78%;scroll-snap-align:start}

/* Footer */
.footer{background:var(--indigo);color:#d9d3c2;margin-top:30px;padding-top:34px;font:.94rem var(--sans)}
.footer a{color:#e9e2cf;text-decoration:none}.footer a:hover{color:var(--gold-soft);text-decoration:underline}
.footer-grid{display:grid;gap:26px}.footer-h{font:600 1rem var(--serif);color:var(--gold-soft);margin:0 0 .6em}
.footer-list{list-style:none;margin:0;padding:0;display:grid;gap:.45em}.footer-note{margin:.6em 0 1em;max-width:36ch}
.footer-base{margin-top:26px;padding:16px 18px;border-top:1px solid rgba(231,212,163,.2);font-size:.84rem;color:#a9a5b8}
.brand{display:flex;align-items:center;gap:10px;font:600 1.05rem var(--serif);color:var(--indigo);text-decoration:none}.brand .ic{color:var(--gold)}
.brand-light{color:#fff}
.social-row{display:flex;gap:10px}.social-row a{display:flex;padding:10px;border:1px solid rgba(231,212,163,.35);border-radius:50%}

/* Page entrance: one quiet fade, honours reduced motion */
.page-enter{animation:enter .35s ease-out both}
@keyframes enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Tablet */
@media (min-width:640px){
  .rail{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));overflow:visible;margin:0;padding:0}
  .rail>.card{flex:none}
  .social-cards{grid-template-columns:repeat(4,1fr)}
  .inline-form{flex-direction:row}
  .row2{grid-template-columns:1fr 1fr}
  .feature{grid-template-columns:1.2fr 1fr}
  .hero-in{grid-template-columns:1.3fr 1fr;gap:30px}.hero-art{order:0}.hero-lotus{width:min(260px,100%);height:auto}
}

/* Desktop: classic header, no bottom tabs or app bar */
@media (min-width:992px){
  .appbar,.tabbar{display:none}
  body.site{padding-bottom:0}.desk-only{display:block}
  .container{padding:0 28px}
  .topnav{display:block;position:sticky;top:0;z-index:40;background:rgba(255,253,248,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--gold-soft)}
  .topnav-in{display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px}
  .menu{display:flex;gap:2px;list-style:none;margin:0;padding:0;align-items:center}
  .menu>li{position:relative}
  .menu a{display:flex;align-items:center;gap:4px;padding:.55em .85em;border-radius:8px;text-decoration:none;color:var(--ink);font:500 .95rem var(--sans)}
  .menu a:hover,.menu a.on{color:var(--kesari);background:var(--cream)}
  .dropdown{display:none;position:absolute;right:0;top:100%;min-width:220px;list-style:none;margin:0;padding:8px;background:var(--paper);border:1px solid var(--gold-soft);border-radius:var(--r);box-shadow:var(--shadow)}
  .has-sub:hover>.dropdown,.has-sub:focus-within>.dropdown{display:block}
  .section{padding-top:56px;padding-bottom:56px}
  .hero-in{padding-top:64px;padding-bottom:68px}
  .footer-grid{grid-template-columns:1.4fr 1fr 1.2fr}
  .rail{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
  .card:hover{box-shadow:0 10px 28px rgba(58,46,38,.14)}
}

/* Login */
.bare{background:var(--ivory);font-family:var(--serif)}
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login-card{width:100%;max-width:400px;background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:var(--r);padding:26px 24px;box-shadow:var(--shadow)}

/* Admin */
body.admin{background:#f6f1e4;font-family:var(--sans)}
.admin .h1{font:600 1.5rem var(--serif)}
.adm-shell{display:flex;flex-direction:column;min-height:100vh}
.adm-side{background:var(--indigo);color:#fff}
.adm-brand{display:flex;align-items:center;gap:10px;padding:12px 16px;color:#fff;text-decoration:none;font:600 1.05rem var(--serif)}.adm-brand .ic{color:var(--gold)}
.adm-nav{display:flex;overflow-x:auto;padding:0 8px 8px;gap:4px;scrollbar-width:none}
.adm-nav a{display:flex;align-items:center;gap:8px;padding:.6em .9em;border-radius:8px;color:#d9d3c2;text-decoration:none;white-space:nowrap;font:500 .92rem var(--sans);min-height:44px}
.adm-nav a:hover{background:rgba(255,255,255,.08);color:#fff}.adm-nav a.on{background:rgba(231,212,163,.18);color:#fff}
.adm-main{flex:1;min-width:0}
.adm-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;background:var(--paper);border-bottom:1px solid var(--line);font-size:.92rem}
.adm-content{padding:20px 18px 60px;max-width:1100px}
.stats{display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin:14px 0 8px}
.stat{display:flex;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.stat .ic{color:var(--kesari)}.stat b{display:block;font:700 1.5rem var(--serif);color:var(--indigo);line-height:1.1}.stat span{font-size:.8rem;color:var(--muted)}
.table-wrap{overflow-x:auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
.table{width:100%;border-collapse:collapse;font-size:.9rem}
.table th,.table td{padding:.7em .9em;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.table th{background:var(--cream);font-weight:600;white-space:nowrap}.table tr:last-child td{border-bottom:0}
.pill{display:inline-block;padding:.15em .7em;border-radius:999px;background:var(--cream);font-size:.78rem;font-weight:600;color:var(--muted)}.pill-ok{background:#e1f0e5;color:var(--ok)}
.head-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.head-row .h1{margin:0}
.searchbar{display:flex;gap:8px;margin:14px 0;max-width:420px}.searchbar input{margin:0}
.empty{padding:28px;text-align:center;color:var(--muted);background:var(--paper);border:1px dashed var(--gold-soft);border-radius:var(--r)}
.pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px}
.acc{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);margin:10px 0;overflow:hidden}
.acc summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;font-weight:600;min-height:52px}
.acc-body{padding:0 16px 14px;border-top:1px solid var(--line)}
.social-edit{display:grid;gap:0 16px}
@media (min-width:900px){
  .adm-shell{flex-direction:row}
  .adm-side{width:230px;flex:none;min-height:100vh;position:sticky;top:0;align-self:flex-start;height:100vh}
  .adm-nav{flex-direction:column;padding:8px}
  .adm-content{padding:28px 32px 60px}.stats{grid-template-columns:repeat(5,1fr)}
  .social-edit{grid-template-columns:1fr auto;align-items:end}
}

/* ===== Phase 2: media ===== */
.crumbs{font:.86rem var(--sans);color:var(--muted);margin-bottom:14px;display:flex;flex-wrap:wrap;gap:6px}.crumbs a{color:var(--muted)}
.mt{margin-top:.8em}
body.is-loading main{opacity:.55;transition:opacity .15s}

/* filters */
.filters{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin:0 0 18px}
.filters input,.filters select{width:100%;min-height:44px;padding:.55em .8em;border:1px solid #cdbf9d;border-radius:10px;background:#fff;font:400 .95rem var(--sans);color:var(--ink)}
.filters input[type=search]{grid-column:1/-1}
.filters .btn{min-height:44px}
@media (min-width:900px){.filters{grid-template-columns:2fr 1.3fr 1.2fr 1.2fr 1.2fr auto auto}.filters input[type=search]{grid-column:auto}}
.view-switch{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--paper)}
.view-switch a{display:flex;padding:9px 14px;color:var(--muted)}.view-switch a.on{background:var(--indigo);color:#fff}

/* lists and rows */
.rows{display:grid;gap:12px}
.card-row{display:flex;gap:14px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:10px;text-decoration:none;color:var(--ink)}
.card-row:hover{border-color:var(--gold)}
.card-row .card-media{flex:0 0 38%;max-width:220px;border-radius:10px;overflow:hidden}
.feature-wide{display:grid;gap:0;margin:0 0 22px;border-radius:var(--r);overflow:hidden;background:var(--indigo);color:#fff;text-decoration:none;box-shadow:var(--shadow)}
.feature-wide:hover{color:#fff}.feature-wide .card-media img{width:100%;height:100%;object-fit:cover}
.fw-text{display:flex;flex-direction:column;gap:8px;padding:18px}.fw-text .h2{color:#fff}.fw-text .card-meta{color:#d9d3c2}
@media (min-width:760px){.feature-wide{grid-template-columns:1.5fr 1fr}.fw-text{justify-content:center;padding:28px}}

/* lecture page */
.lec-head{display:grid;gap:18px;margin-bottom:20px}
.lec-art{border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}.lec-art img{width:100%;height:100%;object-fit:cover}
@media (min-width:760px){.lec-head{grid-template-columns:320px 1fr;align-items:center}}

/* YouTube click-to-load */
.yt{position:relative;aspect-ratio:16/9;background:#14183a;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.yt img,.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.yt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;border:2px solid #fff;background:rgba(28,35,82,.82);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.yt-play:hover{background:var(--saffron)}.yt-block{margin:22px 0}

/* tracks */
.tracks{list-style:none;margin:0 0 20px;padding:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.track{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--line)}.track:first-child{border-top:0}
.track.is-current{background:#fbf1d9}
.play-btn{flex:none;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--saffron);background:#fff;color:var(--kesari);display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none}
.play-btn:hover{background:var(--saffron);color:#fff}
.track-main{flex:1;min-width:0;display:flex;flex-direction:column;text-decoration:none;color:var(--ink)}
.track-title{font-weight:600;color:var(--indigo);line-height:1.3}
.ic-pause{display:none}.is-playing>.ic-pause,.is-playing .ic-pause{display:block}.is-playing>.ic-play,.is-playing .ic-play{display:none}
.play-btn .ic{width:20px;height:20px}

/* full player screen */
.fullplayer{background:var(--indigo);color:#fff;border-radius:var(--r);padding:18px;margin:0 0 22px;box-shadow:var(--shadow);border-bottom:3px solid var(--gold)}
.fp-now{display:flex;gap:10px;align-items:center;margin-bottom:10px}.fp-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fp-seek{display:flex;align-items:center;gap:10px}.time{font:.8rem var(--sans);min-width:42px;text-align:center;color:#d9d3c2}
.fp-controls{display:flex;justify-content:center;align-items:center;gap:10px;margin:8px 0}
.fp-extra{display:flex;justify-content:space-between;align-items:center;gap:10px}
.fullplayer .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35)}.fullplayer .btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.ctl{width:46px;height:46px;border-radius:50%;border:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:center;cursor:pointer}
.ctl:hover{background:rgba(255,255,255,.12)}
.ctl-main{width:58px;height:58px;background:var(--saffron);color:#fff}.ctl-main:hover{background:var(--kesari)}
.ctl[aria-pressed=true]{color:var(--gold-soft);background:rgba(231,212,163,.18)}
.ctl[data-mode=one]::after{content:"1";font:700 .6rem var(--sans);position:absolute;margin:-14px -22px 0 0}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer;margin:0}
input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:rgba(255,255,255,.3)}
input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:rgba(255,255,255,.3)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-6px;border-radius:50%;background:var(--gold-soft);border:0}
input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--gold-soft);border:0}

/* mini player: sits above the mobile tab bar */
.mini{position:fixed;left:0;right:0;z-index:39;bottom:calc(var(--tab) + env(safe-area-inset-bottom));background:var(--indigo);color:#fff;border-top:2px solid var(--gold);box-shadow:0 -6px 18px rgba(0,0,0,.2)}
.mini[hidden]{display:none}
.mini-seek{position:absolute;left:0;right:0;top:-14px;height:20px;padding:0}
.mini-bar{display:flex;align-items:center;gap:6px;padding:6px 8px}
.mini-thumb{width:44px;height:44px;border-radius:8px;object-fit:cover;flex:none}
.mini-info{flex:1;min-width:0;display:flex;flex-direction:column;color:#fff;text-decoration:none}.mini-info:hover{color:#fff}
.mini-title{font:600 .92rem var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-sub{font:.74rem var(--sans);color:#d9d3c2}
.mini .ctl{width:40px;height:40px}.mini .ctl-main{width:44px;height:44px}
body.has-mini.site{padding-bottom:calc(var(--tab) + 70px + env(safe-area-inset-bottom))}
@media (min-width:992px){.mini{bottom:0}body.has-mini.site{padding-bottom:78px}.mini-bar{max-width:1160px;margin:0 auto;padding:8px 28px}.mini-seek{top:-12px}}

/* sharing */
.share{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.share .btn{gap:6px}

/* admin additions */
.thumb-prev{max-width:240px;border-radius:10px;border:1px solid var(--line);margin:.4em 0}
.hint{font:400 .82rem var(--sans);color:var(--muted);margin:.3em 0 0}
.cols{display:grid;gap:0 18px}@media (min-width:760px){.cols{grid-template-columns:1fr 1fr}}
.tbl-actions{display:flex;gap:6px;flex-wrap:wrap}.tbl-actions form{margin:0}
.pick-list{max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}
.pick-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid var(--line);font:400 .92rem var(--sans)}
.pick-row:first-child{border-top:0}.pick-row input[type=number]{width:76px;min-height:36px;margin:0;padding:.3em .5em}
.pick-row .check{flex:1;margin:0}
.import-grid{display:grid;gap:10px}
.imp{display:flex;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:10px}
.imp img{width:120px;aspect-ratio:16/9;object-fit:cover;border-radius:8px;flex:none}.imp .check{margin:0}
.imp.is-dup{opacity:.6}

/* ===== Responsive hardening ===== */
.h1,.h2,.h3,.card-title,.track-title,.prose,.card-meta,.crumbs{overflow-wrap:anywhere}
.container>*{min-width:0}
.prose table{display:block;overflow-x:auto;max-width:100%}.prose iframe,.prose video{max-width:100%}
.lec-head.no-art{grid-template-columns:1fr}
.imp>div{min-width:0}.imp{flex-wrap:wrap}
.audio-embed{display:block;width:100%;border:0;border-radius:var(--r);background:var(--cream)}
.embed-block{margin:22px 0}
.flash-info{background:#eef1fb;border-color:var(--indigo-2);color:#1c2352}
@media (max-width:520px){.hero h1{max-width:none}.sec-head{flex-direction:column;align-items:flex-start}.card-row{flex-direction:column;align-items:stretch}.card-row .card-media{flex:none;max-width:none}}

/* ===== Phase 3: courses, books, forms ===== */
.two-col{display:grid;gap:24px}
@media (min-width:900px){.two-col{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start}}
.side-card{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow);margin-top:16px}
@media (min-width:900px){.two-col>.side-card{position:sticky;top:90px;margin-top:0}}
.facts{margin:0 0 12px}.facts dt{font:600 .78rem var(--sans);color:var(--muted);margin-top:10px;text-transform:none}.facts dd{margin:2px 0 0}
.ticks{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:8px}
.ticks li{position:relative;padding-left:28px}
.ticks li::before{content:"";position:absolute;left:4px;top:.55em;width:10px;height:6px;border-left:2px solid var(--kesari);border-bottom:2px solid var(--kesari);transform:rotate(-45deg)}
.lessons{margin:0;padding-left:1.3em;display:grid;gap:8px}.lessons li::marker{color:var(--gold)}
.lessons li{padding-left:4px}.lessons li span:first-child{margin-right:10px}
.is-disabled{cursor:default;opacity:.8}.is-disabled:hover{background:transparent;color:var(--indigo)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:.6em 0}
.ref-box{display:inline-block;padding:16px 28px;border:2px dashed var(--gold);border-radius:var(--r);background:var(--paper);font-size:.9rem}.ref-box strong{font:700 1.6rem var(--serif);color:var(--indigo);letter-spacing:.06em}
.book-head{grid-template-columns:1fr}
.book-cover{max-width:240px;border-radius:10px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
@media (min-width:760px){.book-head{grid-template-columns:240px 1fr;align-items:start}}
.books-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.books-grid .card-media{aspect-ratio:3/4}
.list-menu.plain a:hover{background:transparent}

.nav-badge{margin-left:auto;background:var(--saffron);color:#fff;border-radius:999px;font:700 .72rem var(--sans);padding:.1em .6em}

/* ===== Phase 4: no hidden/horizontal scroll areas, full responsive pass ===== */
html{overflow-x:hidden;-webkit-tap-highlight-color:transparent}
body{overflow-x:clip}
img,svg,video,iframe,canvas{max-width:100%}
.table-wrap,.adm-nav,.pick-list{scrollbar-width:thin;scrollbar-color:var(--gold-soft) transparent}

/* Card lists are normal vertical/grid layouts on phones (no sideways swiping) */
.rail{display:grid!important;grid-template-columns:1fr;gap:14px;margin:0!important;padding:0!important;overflow:visible!important;scroll-snap-type:none}
.rail>.card{flex:none}
.rail>.card:nth-child(n+4){display:none}
.rail.books-grid{grid-template-columns:repeat(2,1fr)}
.rail.books-grid>.card:nth-child(n+4){display:flex}
@media (min-width:560px){.rail{grid-template-columns:repeat(2,1fr)}.rail>.card:nth-child(n+4){display:flex}.rail.books-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:900px){.rail{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.rail.books-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}}
.books-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.books-grid .card-media{aspect-ratio:3/4}
@media (min-width:760px){.books-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}}

/* Sliders: a thin progress line, not a scrollbar */
input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--gold-soft) var(--p,0%),rgba(255,255,255,.3) var(--p,0%))}
input[type=range]::-moz-range-track{background:rgba(255,255,255,.3)}
input[type=range]::-moz-range-progress{height:4px;border-radius:4px;background:var(--gold-soft)}
.mini-seek{top:-9px;height:18px;padding:0;margin:0}
.mini-seek::-webkit-slider-runnable-track{height:3px;border-radius:0}
.mini-seek::-moz-range-track{height:3px}
.mini-seek::-webkit-slider-thumb{width:12px;height:12px;margin-top:-4.5px;opacity:0;transition:opacity .15s}
.mini-seek::-moz-range-thumb{width:12px;height:12px;opacity:0}
.mini-seek:hover::-webkit-slider-thumb,.mini-seek:focus-visible::-webkit-slider-thumb,.mini-seek:active::-webkit-slider-thumb{opacity:1}
@media (min-width:992px){.mini-seek{top:-9px}}

/* Forms: 16px text stops iOS zooming into fields */
.filters input,.filters select,.form input:not([type=checkbox]),.form select,.form textarea,.inline-form input{font-size:1rem}

/* Notches and landscape phones */
@supports (padding:max(0px)){.container{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
  @media (min-width:992px){.container{padding-left:max(28px,env(safe-area-inset-left));padding-right:max(28px,env(safe-area-inset-right))}}}
@media (max-width:380px){.tabbar a{font-size:.64rem}.btn{padding-left:1.1em;padding-right:1.1em}.hero-actions .btn{flex:1 1 100%}.container{padding-left:14px;padding-right:14px}}
@media (orientation:landscape) and (max-height:520px) and (max-width:991px){
  :root{--tab:50px;--bar:48px}
  .tabbar a span{display:none}.hero-in{padding-top:14px;padding-bottom:16px}.hero-lotus{width:56px;height:56px}
  .section{padding-top:22px;padding-bottom:22px}.fp-controls{margin:2px 0}}
@media (min-width:1400px){html{font-size:106.25%}.container{max-width:1280px}}
@media (hover:none){.card:hover{box-shadow:var(--shadow);border-color:var(--line)}.btn:hover{background:var(--saffron)}.btn-ghost:hover{background:transparent}}

/* Desktop header: long site names and 7+ links must not overflow */
.brand span{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (min-width:992px) and (max-width:1199px){.menu a{padding:.5em .55em;font-size:.88rem}.brand span{max-width:200px}.topnav-in{gap:10px}}
.search-link{display:flex;padding:9px;border-radius:50%;color:var(--ink)}.search-link:hover{background:var(--cream);color:var(--kesari)}
.appbar .search-link{color:#fff;padding:10px}.appbar .search-link:hover{background:rgba(255,255,255,.12);color:#fff}
.search-big{display:flex;gap:10px;margin-bottom:18px}.search-big input{flex:1;min-height:50px;padding:.6em 1em;border:1px solid #cdbf9d;border-radius:999px;font:400 1rem var(--sans);background:#fff}
.result-group{margin:26px 0}.result-group .sec-head{margin-bottom:12px}

/* Calendar */
.cal{width:100%;border-collapse:separate;border-spacing:4px;table-layout:fixed}
.cal th{font:600 .72rem var(--sans);color:var(--muted);padding:4px 0}
.cal td{vertical-align:top;height:78px;padding:4px;background:var(--paper);border:1px solid var(--line);border-radius:8px;font:.74rem var(--sans);overflow:hidden}
.cal td.out{background:transparent;border-color:transparent}.cal td.today{border-color:var(--saffron);box-shadow:inset 0 0 0 1px var(--saffron)}
.cal .d{display:block;font-weight:700;color:var(--indigo);margin-bottom:2px}
.cal a{display:block;text-decoration:none;border-radius:4px;padding:1px 4px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fbe7c4;color:#6b3a06}
.cal a.t-katha{background:#dfe4fb;color:#1c2352}.cal a.t-tithi{background:#e1f0e5;color:#1e4a2b}
.cal-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px}.cal-nav h2{margin:0}
@media (max-width:640px){.cal td{height:56px;padding:3px}.cal a{font-size:0;height:6px;padding:0;margin-top:3px}.cal .d{font-size:.78rem}
  .cal-list{display:block!important}}
.cal-list{display:none;margin-top:14px}
.legend{display:flex;gap:12px;flex-wrap:wrap;font:.8rem var(--sans);color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;background:#fbe7c4}
.legend .k{background:#dfe4fb}.legend .t{background:#e1f0e5}
.date-badge{display:flex;flex-direction:column;align-items:center;min-width:56px;padding:6px 0;border-radius:10px;background:var(--indigo);color:#fff;font:.72rem var(--sans);line-height:1.1}.date-badge b{font:700 1.3rem var(--serif)}
.sched{list-style:none;margin:0;padding:0;display:grid;gap:8px}.sched li{display:flex;gap:12px;padding:10px 14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
.sched .when{min-width:104px;font:600 .82rem var(--sans);color:var(--kesari)}
.progress{height:8px;background:var(--cream);border-radius:99px;overflow:hidden;margin:6px 0 14px}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--saffron),var(--gold))}
.lesson-nav{display:flex;justify-content:space-between;gap:10px;margin:22px 0;flex-wrap:wrap}
.done-mark{color:var(--ok);font-weight:700}
