:root{color-scheme:light;--lh:44px;--paper:#f7f5ee;--ink:#263d34;--muted:#73796c;--line:#d9ddcf;--accent:#a65a34}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,sans-serif}a{color:inherit;text-underline-offset:4px}header,main,footer{max-width:1480px;margin:auto;padding:0 5vw}nav{display:flex;justify-content:space-between;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:24px;text-decoration:none}.small,.eyebrow{font-size:11px;letter-spacing:.15em;text-transform:uppercase}.eyebrow{color:var(--accent);margin:36px 0 12px}h1{font-family:serif;font-size:clamp(38px,5vw,66px);font-weight:500;line-height:1.3;margin:0}h2.subtitle{font:italic 25px Georgia,serif;margin:8px 0 17px}.byline{font-size:14px}.intro{max-width:670px;color:#657165;margin:18px 0 24px}.toolbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:26px 0}.howto{margin-right:auto;color:var(--muted);font-size:13px;max-width:640px}.howto ol{margin:4px 0 0;padding-left:20px}.howto strong{color:var(--ink);font-weight:600}.narrow-only{display:none}button,select{font:inherit;color:var(--ink);border:1px solid #c6ccbd;background:transparent;border-radius:5px;padding:6px 11px;cursor:pointer}button:hover,button[aria-pressed=true]{background:#e4e9dc}.columns,.stanza{display:grid;grid-template-columns:1fr 1fr}.columns{position:sticky;top:0;z-index:2;background:var(--paper);border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.columns div{padding:17px 22px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.columns small{display:block;text-transform:none;letter-spacing:0;color:var(--muted);margin-top:2px}.stanza{border-bottom:1px solid var(--line);scroll-margin-top:90px}.pane{padding:28px 22px 30px;min-width:0;display:grid;grid-template-rows:subgrid;grid-row:span var(--rows);align-items:start}.pane+.pane{border-left:1px solid var(--line)}.original{font-family:"Noto Serif Devanagari","Noto Sans Devanagari",Georgia,serif;font-size:22px;line-height:1.75}.number{display:block;font:11px system-ui;color:var(--accent);margin-bottom:16px;letter-spacing:.12em;text-decoration:none}.verse{margin:0 0 16px;overflow-wrap:anywhere}.rendition{font:21px/1.55 Georgia,serif}button.poem-word{font:inherit;color:inherit;line-height:inherit;padding:0 2px;margin:0;border:0;border-radius:3px;background:transparent;text-decoration:underline dotted #acb8a4;text-underline-offset:6px;touch-action:manipulation}button.poem-word:hover,button.poem-word.active{background:#e1e7d6}button.poem-word:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.meaning-popup{position:fixed;z-index:10;max-width:min(320px,calc(100vw - 24px));padding:13px 17px;background:#263d34;color:#fffdf5;box-shadow:0 6px 24px #263d3433;border-radius:8px;font:16px/1.5 system-ui;overflow-wrap:anywhere}.meaning-popup[hidden]{display:none}.hover-hint{display:none}@media(hover:hover) and (pointer:fine){.hover-hint{display:inline}.touch-hint{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
details{grid-column:1/-1;background:#eef0e7;padding:9px 22px;font-size:13px}summary{cursor:pointer;color:#637052}details p{max-width:850px;margin:8px 0}.mobile-label{display:none}.large{--lh:52px}.large .original{font-size:26px}.large .rendition{font-size:25px}footer{padding-top:35px;padding-bottom:45px;font-size:12px;color:#72796b}footer p{max-width:850px}.library{display:block;padding:24px 0;border-bottom:1px solid var(--line);text-decoration:none}.library strong{font:28px serif}.library span{display:block;color:var(--muted)}
.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;padding:8px 0 36px}
.library-grid .card{display:block;padding:18px 16px;border:1px solid var(--line);border-radius:8px;text-decoration:none}
.library-grid .card strong{font:22px/1.35 serif;display:block}
.library-grid .card span{display:block;color:var(--muted);font-size:13px;margin-top:6px}
.library-grid .card:hover{background:#eef2e4}@media(max-width:800px){.wide-only{display:none}.narrow-only{display:inline}header,main,footer{padding-left:22px;padding-right:22px}.columns{display:none}.stanza{grid-template-columns:1fr}.pane{padding:22px 0;display:block;grid-row:auto}.spacer{display:none}.pane+.pane{border-left:0;border-top:1px dashed var(--line)}.mobile-label{display:block;font:10px system-ui;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);margin-bottom:12px}.original{font-size:23px}.number{margin-bottom:10px}details{margin-bottom:18px}.small{font-size:9px}}
.listen{font:11px system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:5px;line-height:1.2;flex:none}
.voice-field{display:flex;flex-direction:column;gap:3px;min-width:160px;margin:0}
.voice-field span,.voice-field label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.voice-field select,select.voice-select{max-width:240px;font:13px system-ui,sans-serif;padding:4px 8px}
@media print{.voice-field{display:none!important}}
.listen[aria-pressed=true]{background:#263d34;color:#f7f5ee;border-color:#263d34}
.stanza-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.stanza-head .number{margin-bottom:0}
.stanza.playing{background:#eef2e4}
#play-full{min-width:6.6rem}
@media print{.listen,#play-full,#speak-words{display:none!important}.stanza.playing{background:transparent}}
@media(max-width:800px){.stanza-head{margin-bottom:10px}}
@media print{.toolbar,nav,details{display:none}.columns{position:static}.stanza{break-inside:avoid}.pane{padding:15px}.meaning-popup{display:none!important}button.poem-word{text-decoration:none}body{background:white}}

.drop{border:1px dashed #c6ccbd;border-radius:8px;padding:22px 22px 18px;background:#fbfaf4;margin:8px 0 18px}
.drop.drag{background:#eef2e4;border-color:#263d34}
.drop textarea{width:100%;min-height:150px;resize:vertical;border:1px solid #c6ccbd;border-radius:5px;padding:12px 14px;background:#fffdf8;color:var(--ink);font:16px/1.5 Georgia,serif}
.drop textarea:focus{outline:2px solid var(--accent);outline-offset:2px}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-top:14px}
.field{display:flex;flex-direction:column;gap:6px;min-width:160px}
.field:has(#source-url){flex:1 1 280px;min-width:220px}
.chip[hidden]{display:none!important}
.field label,.chip{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.field input[type=url],.field input[type=password],.field select{font:inherit;color:var(--ink);border:1px solid #c6ccbd;background:#fffdf8;border-radius:5px;padding:8px 11px}
.file-btn{position:relative;overflow:hidden}
.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}
.status{min-height:1.4em;color:var(--muted);font-size:14px;margin:8px 0 0}
.status.error{color:#8a2d12}
.chip{display:inline-block;border:1px solid var(--line);padding:4px 9px;border-radius:99px;margin-right:8px;color:var(--ink)}
.library{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0 40px}
a.card{display:block;padding:22px;border:1px solid var(--line);border-radius:8px;text-decoration:none}
a.card:hover{background:#eef2e4}
a.card strong{display:block;font:26px serif;margin-bottom:4px}
a.card span{color:var(--muted);font-size:14px}
#reader-root{margin-top:12px;padding-top:8px}
#reader-root:empty{display:none}
.go{background:#263d34;color:#f7f5ee;border-color:#263d34}
.go:hover{background:#1c2e27}
.key-hint{font-size:12px;color:var(--muted);max-width:52rem}
@media(max-width:800px){.library{grid-template-columns:1fr}.row{flex-direction:column;align-items:stretch}}
