:root{color-scheme:light;--paper:#f8f5ee;--ink:#292e29;--muted:#707568;--accent:#863e2d;--line:#dedfd3;--green:#4d6554;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled,input:disabled{opacity:.5;cursor:wait}a{color:inherit}header{max-width:1080px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:12px 42px;border-bottom:1px solid var(--line);gap:12px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:28px Georgia,serif;letter-spacing:-2px}.mark{display:grid;place-items:center;background:var(--accent);color:var(--paper);border-radius:50% 50% 8px 8px;width:30px;height:34px;font-style:italic;padding-bottom:4px}.quiet{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:10px 14px}main{max-width:1080px;margin:auto;padding:0 42px}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:650;color:var(--accent)}.search-area{margin:18px 0 28px}.searchbox{display:flex;align-items:center;border:1px solid #adb3a2;background:#fffef9;border-radius:9px;box-shadow:0 4px 15px #292e2905;padding:0 18px;gap:12px}.searchbox>span{font-size:33px;color:var(--accent)}input[type=search]{width:100%;min-width:0;outline:none;border:0;background:transparent;height:54px;font-size:17px;color:var(--ink)}.searchbox:focus-within{outline:2px solid var(--green);outline-offset:3px}kbd{font:12px monospace;border:1px solid var(--line);border-radius:4px;padding:3px 7px;color:var(--muted)}.hint{font-size:12px;color:var(--muted);line-height:1.8}.filters{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.filters button{font-size:12px;border:1px solid var(--line);background:transparent;border-radius:25px;padding:9px 16px;color:var(--muted)}.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:25px 0 18px}h2{font:26px Georgia,serif;margin:0}.section-title>span{font-size:9px;letter-spacing:1.3px;color:var(--muted)}.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.explore{position:relative;text-align:left;min-height:190px;border:1px solid var(--line);background:#efeee5;border-radius:7px;padding:22px;color:var(--ink)}.explore:nth-child(2){background:#eee5d9}.explore:nth-child(3){background:#e5eadd}.number{font-size:9px;letter-spacing:1.7px;color:var(--muted)}h3{font:24px Georgia,serif;font-weight:400;margin:24px 0 10px}.explore p{font-size:12px;line-height:1.6;max-width:180px;color:var(--muted)}.arrow{position:absolute;right:19px;bottom:17px;font-size:21px}button:hover{filter:brightness(.97)}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.result{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:18px 8px;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink)}.result strong{font:21px Georgia,serif;overflow-wrap:anywhere}.result small{display:block;color:var(--muted);font-size:11px;margin-top:7px}.result>span:last-child{font-size:19px;color:var(--accent)}#loading{font-size:13px;color:var(--muted);margin:24px 0}footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);margin-top:45px;padding:23px 0 35px;font-size:10px;color:var(--muted)}footer>span:first-child{letter-spacing:1px}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:26px 36px 40px;width:min(780px,94vw);max-height:90dvh;box-shadow:0 20px 100px #0002}dialog::backdrop{background:#19251fc0;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:flex-end;gap:12px;margin-bottom:28px}.entry-history{display:flex;gap:6px;margin-right:auto}.icon-button{display:grid;place-items:center;width:44px;height:44px;padding:10px;border:0;border-radius:50%;background:transparent;color:var(--muted);box-shadow:none}.icon-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.icon-button:hover,.icon-button:focus-visible{color:var(--accent)}article h2{font-size:36px;margin:12px 0 22px;overflow-wrap:anywhere}.metadata{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.chip{border:1px solid var(--line);border-radius:6px;background:#efeee5;color:var(--ink);padding:9px 12px;text-align:left;max-width:100%;overflow-wrap:anywhere}.chip small{display:block;font-size:9px;letter-spacing:1px;color:var(--muted);margin-bottom:5px}dl{display:grid;grid-template-columns:auto 1fr;gap:12px 20px;font-size:14px;line-height:1.6}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.lyrics-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:32px;border-top:1px solid var(--line);padding-top:25px}select{background:#fffef9;border:1px solid var(--line);border-radius:5px;padding:8px;max-width:50%}.lyric-section{margin-top:28px}.lyric-section h4{font-size:13px;color:var(--accent);font-weight:500}.lyric-section p{white-space:pre-wrap;line-height:1.9;font-size:17px;overflow-wrap:anywhere}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.actions button:not(.quiet){background:var(--accent);color:white;border:0;border-radius:6px;padding:12px}#version{font:11px monospace;color:var(--muted)}#more{margin-top:20px}hr{border:0;border-top:1px solid var(--line);margin-top:25px}[hidden]{display:none!important}@media(max-width:650px){header{padding:10px 22px}.brand{font-size:26px}main{padding:0 22px}.explore-grid{grid-template-columns:1fr}.explore{min-height:132px;padding:18px}.explore h3{margin:17px 0 6px}.explore p{max-width:90%;margin-bottom:4px}.section-title>span{font-size:8px}.filters{gap:6px}.filters button{padding:8px 12px}footer{flex-direction:column;line-height:1.7}dialog{padding:20px;width:96vw}article h2{font-size:30px}input[type=search]{font-size:16px}kbd{display:none}.lyrics-header h3{font-size:21px}dl{grid-template-columns:1fr;gap:5px}dd{margin-bottom:10px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}

.app-menu{position:relative}#app-menu{position:absolute;z-index:10;left:0;top:calc(100% + 8px);min-width:170px;padding:6px;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #292e2918}#app-menu button{display:block;width:100%;min-height:44px;padding:11px 16px;text-align:left;border:0;border-radius:6px;background:transparent;color:var(--ink);font-size:14px}#app-menu button:hover,#app-menu button:focus-visible{background:#efeee5}#about{max-width:1080px}#about p{font-size:15px;line-height:1.8}#about p a{color:var(--accent);text-underline-offset:3px;overflow-wrap:anywhere}

.raga-info{display:block}.raga-info>div{display:flex;gap:.5em;margin-bottom:12px}.raga-info dt{flex-shrink:0}.raga-info dd{margin:0}@media(max-width:650px){.raga-info .scale-row{flex-direction:column;gap:5px}}
#entry:is([data-kind=raga],[data-kind=composer]) h2{margin-bottom:8px}#entry .raga-info{margin-top:0}.lifespan{margin:0 0 18px;font-size:14px;line-height:1.6;color:var(--muted)}

.page-back,.page-label{display:none}
@media(max-width:650px){
  body.phone-page-open{overflow:hidden}
  dialog,dialog#about{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0;box-shadow:none;padding:0 max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));overscroll-behavior:contain;scroll-padding-top:calc(64px + env(safe-area-inset-top))}
  dialog::backdrop{background:var(--paper);backdrop-filter:none}
  .dialog-top{position:sticky;top:0;z-index:1;align-items:center;justify-content:flex-start;gap:8px;margin:0 0 20px;padding:calc(6px + env(safe-area-inset-top)) 0 6px;background:var(--paper);border-bottom:1px solid var(--line)}
  .dialog-top .entry-history,.dialog-top > .icon-button:not(.page-back){display:none}
  .dialog-top .page-back{display:grid;flex-shrink:0}
  .page-label{display:block;font-size:14px;font-weight:600;color:var(--muted)}
}

.related-sentinel{height:1px}.related-more{margin:0 0 12px}.related-status{margin-top:18px}

#search-sentinel{height:1px}

.offline-collection {padding: .8rem 0; border-top: 1px solid var(--line, #ddd);}
.offline-collection h3 {margin: 0;}
.offline-collection p {margin: .4rem 0; font-size: .9rem;}
.offline-collection .actions {flex-wrap: wrap;}

/* Shared page edge and logo geometry, including dialog headers. */
:root{--page-edge:42px}
header{padding:calc(12px + env(safe-area-inset-top)) max(var(--page-edge),env(safe-area-inset-right)) 12px max(var(--page-edge),env(safe-area-inset-left))}
.home-link{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:44px;min-height:44px;text-decoration:none;font:28px Georgia,serif;letter-spacing:-2px;border-radius:6px}
.home-link .mark{flex-shrink:0}
.brand.home-link{padding-right:7px}
.dialog-top .home-link{margin-left:auto}
dialog{border:0;max-width:1080px;width:min(1080px,100vw);padding:0 max(var(--page-edge),env(safe-area-inset-right)) 40px max(var(--page-edge),env(safe-area-inset-left));scroll-padding-top:80px}
.dialog-top{position:sticky;top:0;z-index:1;align-items:center;justify-content:flex-start;margin:0 0 28px;padding:12px 0;background:var(--paper);border-bottom:1px solid var(--line)}
.entry-history{margin-right:0}
@media(max-width:650px){
  :root{--page-edge:22px}
  header{padding-top:calc(10px + env(safe-area-inset-top));padding-bottom:10px}
  dialog,dialog#about{padding-left:max(var(--page-edge),env(safe-area-inset-left));padding-right:max(var(--page-edge),env(safe-area-inset-right))}
  .dialog-top{margin-bottom:20px;padding:calc(10px + env(safe-area-inset-top)) 0 10px;gap:8px}
  .page-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
