:root{--bg: #fff8f0;--card: #ffffff;--ink: #2b1a1f;--muted: #7a6468;--line: #ecdcd6;--rose: #f6c9cf;--rose-soft: #fdeef0;--maroon: #8a1c3b;--maroon-dark: #6a1530;--gold: #c99a3b;--ok: #2e7d4f;--danger: #b3261e;--radius: 14px;--shadow: 0 2px 10px rgba(80, 20, 40, .08);--font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--serif: "Playfair Display", Georgia, serif;--hindi: "Tiro Devanagari Hindi", "Kohinoor Devanagari", serif;color-scheme:light}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--ink);font:15px/1.45 var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--maroon);text-decoration:none}h1,h2,h3{font-family:var(--serif);font-weight:600;margin:0}h1{font-size:24px}h2{font-size:19px}h3{font-size:16px}.hi{font-family:var(--hindi)}.muted{color:var(--muted)}.small{font-size:13px}.page{max-width:980px;margin:0 auto;padding:0 16px 96px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff8f0f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.topbar .title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--serif);font-size:18px;font-weight:600;color:var(--maroon)}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:12px}.spacer{flex:1}.section{margin-top:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-weight:500;white-space:nowrap}.btn:hover{border-color:var(--maroon)}.btn.primary{background:var(--maroon);border-color:var(--maroon);color:#fff}.btn.primary:hover{background:var(--maroon-dark)}.btn.ghost{background:transparent;border-color:transparent}.btn.danger{color:var(--danger)}.btn.small{min-height:32px;padding:4px 10px;font-size:13px}.btn:disabled{opacity:.5;cursor:default}.icon-btn{width:40px;height:40px;padding:0;border-radius:50%}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:13px;color:var(--muted)}input[type=text],input[type=email],input[type=number],select,textarea{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}textarea{min-height:64px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--rose);border-color:var(--maroon)}.tabs{display:flex;gap:4px;padding:4px;background:var(--rose-soft);border-radius:999px;margin:14px 0}.tabs button{flex:1;min-height:38px;border:0;border-radius:999px;background:transparent;cursor:pointer;font-weight:500;color:var(--muted)}.tabs button.on{background:#fff;color:var(--maroon);box-shadow:var(--shadow)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.card.link{cursor:pointer}.card.link:hover{border-color:var(--maroon)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:12px;background:var(--rose-soft);color:var(--maroon);font-weight:600}.badge.gold{background:#fbf1da;color:#8a6414}.badge.ok{background:#e3f3ea;color:var(--ok)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:6px}.tile{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:#f1e6e2;border:2px solid transparent;cursor:pointer}.tile img{width:100%;height:100%;object-fit:cover;display:block}.tile.sel{border-color:var(--maroon)}.tile .tag{position:absolute;left:6px;top:6px;min-width:24px;padding:1px 6px;border-radius:8px;background:#000000a6;color:#ffd97a;font-weight:700;font-size:13px;text-align:center}.tile .tag.right{left:auto;right:6px;color:#fff;font-weight:500}.tile .foot{position:absolute;left:0;right:0;bottom:0;padding:3px 6px;font-size:11px;color:#fff;background:linear-gradient(transparent,#000000b3)}.tile .check{position:absolute;right:6px;top:6px;width:24px;height:24px;border-radius:50%;background:var(--maroon);color:#fff;display:grid;place-items:center;font-size:14px}.song-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.chapter{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:14px;overflow:hidden}.chapter-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--rose-soft);cursor:pointer}.chapter-head .t{flex:1;min-width:0}.chapter-body{padding:14px;display:flex;flex-direction:column;gap:14px}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#1e0a0f73;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:640px;max-height:92vh;overflow:auto;background:var(--bg);border-radius:18px 18px 0 0;padding:16px 16px calc(20px + env(safe-area-inset-bottom))}@media(min-width:700px){.backdrop{align-items:center}.sheet{border-radius:18px}}.sheet-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.sheet-head h2{flex:1}.preview-img{width:100%;max-height:46vh;object-fit:contain;border-radius:12px;background:#1b1114}.choices{display:flex;flex-wrap:wrap;gap:6px}.choice{padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:13px}.choice.on{background:var(--maroon);border-color:var(--maroon);color:#fff}.fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:30;box-shadow:0 6px 18px #8a1c3b59}.progress{height:6px;border-radius:3px;background:var(--line);overflow:hidden}.progress>div{height:100%;background:var(--maroon);transition:width .2s}.empty{text-align:center;padding:40px 16px;color:var(--muted)}.login{min-height:100vh;display:grid;place-items:center;padding:24px;text-align:center;background:radial-gradient(circle at 50% 30%,#fff4e6,var(--rose))}.login .box{max-width:420px}.login h1{font-size:34px;color:var(--maroon);margin-bottom:8px}.notice{padding:10px 12px;border-radius:10px;background:#fbf1da;color:#6b4e10;font-size:13px}.error{padding:10px 12px;border-radius:10px;background:#fde8e7;color:var(--danger);font-size:13px}.player{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000;display:flex;flex-direction:column}.player canvas{flex:1;width:100%;min-height:0;object-fit:contain}.player .bar{display:flex;align-items:center;gap:10px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#140b0e;color:#fff}.player .bar .btn{background:transparent;color:#fff;border-color:#4a3036}.player .scrub{flex:1;position:relative;height:22px;cursor:pointer}.player .scrub .track{position:absolute;left:0;right:0;top:9px;height:4px;background:#4a3036;border-radius:2px}.player .scrub .fill{position:absolute;left:0;top:9px;height:4px;background:var(--gold);border-radius:2px}.player .scrub .mark{position:absolute;top:5px;width:2px;height:12px;background:#fff8}.player .time{font-variant-numeric:tabular-nums;font-size:13px;color:#ddd}.inline-player{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;background:#1b1114}.inline-player canvas{width:100%;height:100%;display:block}.inline-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;font-size:13px}.tile .tag.collage{left:auto;right:6px;top:auto;bottom:22px;color:#fff;background:var(--maroon)}.selbar{position:sticky;bottom:0;display:flex;gap:8px;align-items:center;padding:10px;background:var(--rose-soft);border-radius:12px}.crop-area{position:relative;width:100%;border-radius:12px;overflow:hidden;background:#1b1114;touch-action:none;-webkit-user-select:none;user-select:none}.crop-area canvas{width:100%;display:block}.crop-box{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px #0000008c;cursor:move;touch-action:none}.crop-handle{position:absolute;right:-12px;bottom:-12px;width:26px;height:26px;border-radius:50%;background:var(--maroon);border:3px solid #fff;cursor:nwse-resize;touch-action:none}.sheet>*{flex-shrink:0}
