
:root{--ink:#191426;--ink2:#221c33;--gold:#e8b04b;--orange:#d97b1f;--rose:#a63d57;
 --lav:#b7aecb;--lav2:#7a7288;--cream:#f2ead9;--white:#fff;
 --sans:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
 --serif:'Instrument Serif',Georgia,serif;--nat:var(--sans)}
.sc-devanagari{--nat:'Noto Sans Devanagari','Nirmala UI',sans-serif}
.sc-telugu{--nat:'Noto Sans Telugu','Nirmala UI','Gautami',sans-serif}
.sc-tamil{--nat:'Noto Sans Tamil','Nirmala UI',sans-serif}
.sc-kannada{--nat:'Noto Sans Kannada','Nirmala UI',sans-serif}
.sc-malayalam{--nat:'Noto Sans Malayalam','Nirmala UI',sans-serif}
.sc-bengali{--nat:'Noto Sans Bengali','Nirmala UI',sans-serif}
.sc-gujarati{--nat:'Noto Sans Gujarati','Nirmala UI',sans-serif}
.sc-gurmukhi{--nat:'Noto Sans Gurmukhi','Nirmala UI',sans-serif}
.sc-odia{--nat:'Noto Sans Oriya','Nirmala UI',sans-serif}
.sc-sinhala{--nat:'Noto Sans Sinhala','Nirmala UI',sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--ink);color:#d9d3e6;font-family:var(--sans);font-weight:300;
 min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.serif{font-family:var(--serif);font-weight:400}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
/* ---------- site header, matching the homepage ---------- */
.site{display:flex;align-items:center;justify-content:space-between;padding:20px 0 8px;gap:16px;flex-wrap:wrap}
.site img{height:52px;width:auto}
.site nav{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.site nav a{color:#c9c4d4;font-weight:200;font-size:.8rem;letter-spacing:.04em;position:relative;padding-bottom:3px}
.site nav a::after{content:'';position:absolute;left:0;bottom:0;height:1px;width:0;background:#fff;transition:width .35s}
.site nav a:hover{color:#fff}
.site nav a:hover::after{width:100%}
.site nav .sep{opacity:.4;font-size:.7rem}
.foot{background:var(--ink);border-top:1px solid rgba(183,174,203,.16);margin-top:64px;padding:36px 0;font-size:.85rem}
.foot .in{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap}
.foot .t{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:1rem;margin-bottom:6px}
.foot .m{color:var(--lav)}
.foot .lk{display:flex;gap:20px;flex-wrap:wrap}
.foot .lk a:hover{color:var(--gold)}
/* ---------- page heads ---------- */
.kicker{color:var(--gold);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.1rem,5vw,3.2rem);line-height:1.08;color:#fff}
h1 .nat{display:block;font-family:var(--nat);font-size:.62em;color:var(--gold);margin-bottom:4px;line-height:1.35}
.lede{color:var(--lav);margin-top:10px;max-width:60ch}
.credits{color:var(--lav);font-size:.9rem;margin-top:12px;line-height:1.8}
.credits b{color:var(--gold);font-weight:500}
.hr{height:1px;background:linear-gradient(90deg,rgba(232,176,75,.55),rgba(232,176,75,0));margin:22px 0 26px}
.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(232,176,75,.5);color:var(--gold);
 border-radius:999px;padding:9px 20px;font-size:.85rem;font-family:inherit;cursor:pointer;background:none;
 transition:background .25s,color .25s}
.btn:hover{background:var(--gold);color:#241a04}
.btn.pri{background:var(--gold);color:#241a04;font-weight:500}
.btn.pri:hover{background:#f2c264}
.bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 26px}
select{background:var(--ink2);border:1px solid rgba(183,174,203,.28);color:#e6e2ef;border-radius:999px;
 padding:8px 14px;font-size:.82rem;font-family:inherit}
/* ---------- search ---------- */
.find{display:flex;align-items:center;gap:8px;margin-left:auto}
.find input{width:0;opacity:0;padding:0;border:0;background:var(--ink2);color:#fff;font-family:inherit;
 font-size:.9rem;border-radius:999px;transition:width .3s,opacity .25s,padding .3s}
.find.on input{width:min(300px,52vw);opacity:1;padding:9px 16px;border:1px solid rgba(183,174,203,.3)}
.find button{background:none;border:0;color:var(--lav);cursor:pointer;font-size:1.15rem;line-height:1}
.find button:hover{color:var(--gold)}
/* ---------- tiles ---------- */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-top:18px}
.tile{background:var(--ink2);border:1px solid rgba(183,174,203,.14);border-radius:14px;padding:16px 16px 14px;
 display:flex;flex-direction:column;gap:6px;min-height:132px;transition:border-color .25s,transform .25s}
.tile:hover{border-color:rgba(232,176,75,.5);transform:translateY(-2px)}
.tile .nat{font-family:var(--nat);color:var(--gold);font-size:1.12rem;line-height:1.4}
.tile .t{font-size:.98rem;color:#fff;font-weight:500;line-height:1.3}
.tile .m{color:var(--lav2);font-size:.78rem;margin-top:auto;line-height:1.5}
.tile .tg{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.tile .tg span{font-size:.64rem;letter-spacing:.05em;text-transform:uppercase;color:var(--lav);
 border:1px solid rgba(183,174,203,.24);border-radius:999px;padding:2px 8px}
.tile.set{background:linear-gradient(150deg,#2a2340,#221c33);border-color:rgba(232,176,75,.28)}
.tile.set .k{color:var(--gold);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}
.count{color:var(--lav2);font-size:.8rem;margin:18px 0 0}
.empty{color:var(--lav2);padding:34px 0}
h2.sec{font-family:var(--serif);font-weight:400;font-size:1.55rem;color:#fff;margin:34px 0 2px}
/* ---------- lyric sheet ---------- */
.lines{position:relative}
.lines.both::before{content:'';position:absolute;top:2px;bottom:2px;left:50%;width:1px;
 background:linear-gradient(180deg,transparent,rgba(232,176,75,.2) 10%,rgba(232,176,75,.2) 90%,transparent)}
.lp{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;align-items:baseline;margin-bottom:12px}
.lp .r{grid-column:1;font-size:var(--fr,1rem);font-weight:400;color:#f2f0f7}
.lp .d{grid-column:2;font-family:var(--nat);font-size:var(--fd,1.2rem);color:var(--gold)}
.one .lp{grid-template-columns:1fr}
.one .lp .r,.one .lp .d{grid-column:1}
.hide-r .lp .r,.hide-d .lp .d{display:none}
.sec-block{margin:0 0 30px}
.sec-block h3{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--lav2);
 font-weight:400;margin-bottom:11px}
@media(max-width:640px){.lines::before{display:none}
 .lp{grid-template-columns:1fr;gap:0}.lp .r,.lp .d{grid-column:1}}
/* ---------- present ---------- */
#stage{position:fixed;inset:0;z-index:99;display:none;flex-direction:column;cursor:none;
 background:radial-gradient(120% 80% at 50% 0%,#241c46,#150f2b 58%,#0b0818)}
#stage.on{display:flex}
#stage.cur{cursor:default}
#stage.blk>*{visibility:hidden}
/* ---------- present-mode atmosphere ----------
   Two layers, deliberately chosen: an aurora wash that has no edge to follow,
   and notes that rise only along the margins. Nothing crosses the reading area,
   because a shape travelling under the words is the same mistake as the running
   highlight in a prettier costume. */
#fx{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
#fx .au{position:absolute;border-radius:50%;filter:blur(52px);will-change:transform;
 animation:fxwander 19s ease-in-out infinite alternate}
#fx .au.a{left:-9%;top:-26%;width:46vmax;height:34vmax;background:rgba(232,176,75,.20);animation-delay:0s}
#fx .au.b{right:-11%;top:-16%;width:50vmax;height:36vmax;background:rgba(217,123,31,.16);animation-delay:5s}
#fx .au.c{left:30%;bottom:-38%;width:56vmax;height:34vmax;background:rgba(166,61,87,.15);animation-delay:9s}
#fx .nt{position:absolute;bottom:-6vmin;color:#e8b04b;opacity:0;will-change:transform;
 animation:fxrise 13s linear infinite}
@keyframes fxwander{0%{transform:translate(0,0) scale(1)}100%{transform:translate(4vmax,-2.4vmax) scale(1.2)}}
@keyframes fxrise{0%{opacity:0;transform:translateY(0)}
 12%{opacity:.32}80%{opacity:.22}100%{opacity:0;transform:translateY(-104vh)}}
@media(prefers-reduced-motion:reduce){#fx .au,#fx .nt{animation:none}#fx .nt{display:none}}
#stage>*:not(#fx){position:relative;z-index:1}
#sh{display:flex;justify-content:space-between;padding:2.2vmin 3.6vmin 0;font-size:1.7vmin;
 letter-spacing:.15em;text-transform:uppercase;color:var(--lav);opacity:.75}
#sb{flex:1;display:flex;flex-direction:column;justify-content:center;padding:1.5vmin 5.5vmin;overflow:hidden}
#sb .lp{gap:0 4.6vmin;margin-bottom:2.4vmin}
#sb .lp .r{font-size:var(--sr,3.1vmin);color:#fff;font-weight:400}
#sb .lp .d{font-size:var(--sd,4.4vmin);line-height:1.5;color:#ffd98a}
#sf{padding:0 3.6vmin 2.4vmin;display:flex;gap:.7vmin;align-items:center;min-height:2.4vmin}
#sf i{width:.7vmin;height:.7vmin;border-radius:50%;background:rgba(183,174,203,.3);display:block}
#sf i.on{background:var(--gold)}
#sx,#sm{position:absolute;top:2vmin;opacity:0;transition:opacity .2s;z-index:5;font-size:1.6vmin;padding:.7vmin 1.5vmin}
#sx{left:2.4vmin}
#sm{left:14vmin;display:none}
#sm.avail{display:inline-flex}
#stage.cur #sx,#stage.cur #sm.avail{opacity:1}
.tp{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1vmin}
.tp .a{font-family:var(--nat);font-size:7vmin;color:#ffd98a}
.tp .b{font-family:var(--serif);font-size:6.4vmin;color:#fff;line-height:1.1}
.tp .c{width:26%;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:1.4vmin 0}
.tp .d2{font-size:2.7vmin;color:var(--gold)}
.tp .e{font-size:2.2vmin;color:var(--lav)}
#jump{position:absolute;inset:0;background:rgba(11,8,24,.97);z-index:6;display:none;
 padding:6vmin 7vmin;overflow:auto;cursor:default}
#jump.on{display:block}
#jump h4{font-family:var(--serif);font-size:3vmin;color:var(--gold);margin-bottom:2vmin;font-weight:400}
#jump div{padding:1.35vmin 1.6vmin;font-size:2.4vmin;cursor:pointer;border-radius:1vmin;color:#e9e6f1;
 display:flex;gap:1.6vmin;align-items:baseline}
#jump div:hover{background:rgba(255,255,255,.07)}
#jump div.on{color:var(--gold)}
#jump div .n{color:var(--lav2);font-size:1.8vmin;min-width:3vmin}
#jump div .s{font-family:var(--nat);color:#ffd98a;font-size:2.1vmin}
@media print{
 body{background:#fff;color:#000}
 .bar,.btn,.find,#stage,.noprint,.site,.foot{display:none!important}
 h1,h1 .nat{color:#000}
 .credits,.sec-block h3{color:#444}
 .lp .d{color:#000}.lp .r{color:#222}
 .lines::before{background:#ccc}
 .sec-block{break-inside:avoid}
}