:root{
  --bg:#fffaf0;--surface:#ffffff;--surface2:#fff4d6;--text:#2f2418;--muted:#746758;
  --primary:#f59e0b;--primary2:#f97316;--deep:#9a3412;--border:#f2dfbd;--shadow:0 12px 30px rgba(126,76,17,.12);
  --reader-size:1.08rem;--safe-bottom:env(safe-area-inset-bottom,0px)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at top,#fff4c7 0,#fffaf0 30%,#fffaf0 100%);color:var(--text);font-family:"Noto Sans Telugu","Nirmala UI","Gautami",system-ui,sans-serif;min-height:100vh}
button,input{font:inherit}
button{cursor:pointer}
.app-shell{min-height:100vh;padding-bottom:calc(78px + var(--safe-bottom))}
.topbar{position:sticky;top:0;z-index:30;height:66px;display:flex;align-items:center;gap:10px;padding:8px 14px;background:rgba(255,250,240,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.brand{flex:1;min-width:0;cursor:pointer}.brand-title{font-weight:800;font-size:1.04rem;line-height:1.2}.brand-sub{font-size:.72rem;color:var(--muted);margin-top:2px}
.top-actions{display:flex;gap:6px}.icon-btn{width:42px;height:42px;border:none;border-radius:13px;background:var(--surface);box-shadow:0 4px 14px rgba(107,71,25,.08);color:var(--deep);font-size:1.32rem}
.main-content{max-width:1000px;margin:0 auto;padding:16px 16px 30px;outline:none}
.hero{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center;background:linear-gradient(135deg,#fff 0,#fff5d8 60%,#ffe8ba 100%);border:1px solid var(--border);border-radius:26px;padding:18px;box-shadow:var(--shadow);overflow:hidden}
.hero img{width:100%;aspect-ratio:1/1;border-radius:20px;object-fit:cover;box-shadow:0 10px 24px rgba(85,54,15,.16)}
.hero h1{margin:0;color:var(--deep);font-size:clamp(1.7rem,4vw,2.6rem)}.hero p{margin:8px 0;color:var(--muted);line-height:1.7}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.btn{border:0;border-radius:14px;padding:11px 15px;font-weight:700}.btn.primary{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff}.btn.soft{background:var(--surface);color:var(--deep);border:1px solid var(--border)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:26px 2px 12px}.section-heading h2{margin:0;font-size:1.25rem}.section-heading span{color:var(--muted);font-size:.85rem}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.category-card{border:1px solid var(--border);background:var(--surface);border-radius:20px;padding:0;overflow:hidden;text-align:left;box-shadow:0 6px 18px rgba(95,62,19,.07);transition:.18s transform,.18s box-shadow}.category-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.category-card .thumb{height:130px;background:linear-gradient(135deg,#ffedd5,#fef3c7);display:grid;place-items:center;overflow:hidden}.category-card img{width:100%;height:100%;object-fit:cover}.category-card .fallback{font-size:2.4rem}.category-card .body{padding:12px}.category-card h3{font-size:.98rem;margin:0 0 7px;line-height:1.45}.meta{color:var(--muted);font-size:.8rem}
.resume-card,.info-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:14px 16px;box-shadow:0 5px 16px rgba(95,62,19,.06)}
.list{display:grid;gap:10px}.item-row{display:flex;gap:12px;align-items:center;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:13px 14px;color:var(--text)}.item-row:hover{border-color:#efc77a}.item-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--surface2);color:var(--deep);font-weight:800;flex:0 0 auto}.item-main{min-width:0;flex:1}.item-title{font-weight:750;line-height:1.5}.item-sub{font-size:.78rem;color:var(--muted);margin-top:4px}.fav-mini{border:0;background:none;font-size:1.25rem;color:#b7a991}.fav-mini.on{color:#e89408}
.page-head{display:flex;gap:14px;align-items:center;margin:3px 0 18px}.page-head .cover-mini{width:72px;height:72px;border-radius:18px;object-fit:cover;background:var(--surface2)}.page-head h1{font-size:1.5rem;margin:0;color:var(--deep);line-height:1.4}.page-head p{margin:5px 0 0;color:var(--muted)}
.reader-wrap{max-width:780px;margin:0 auto}.reader-toolbar{position:sticky;top:76px;z-index:20;display:flex;gap:8px;align-items:center;margin-bottom:12px;padding:8px;background:rgba(255,250,240,.9);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:16px}.reader-toolbar .grow{flex:1}.tool-btn{border:1px solid var(--border);background:var(--surface);border-radius:11px;padding:8px 10px;color:var(--deep)}.tool-btn.on{background:#fff1be;color:#b45309}
.reader-card{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:clamp(18px,4vw,34px);box-shadow:var(--shadow)}.reader-card h1{color:var(--deep);font-size:clamp(1.35rem,3.2vw,2rem);line-height:1.5;margin:0 0 16px;text-align:center}.reader-text{font-size:var(--reader-size);line-height:2;white-space:pre-line;overflow-wrap:anywhere}.reader-source{margin-top:24px;padding-top:14px;border-top:1px dashed var(--border);color:var(--muted);font-size:.8rem}
.search-box{position:sticky;top:76px;z-index:20;background:var(--bg);padding-bottom:10px}.search-input{width:100%;border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:14px 16px;font-size:1rem;outline:none;box-shadow:0 5px 15px rgba(95,62,19,.06)}.search-input:focus{border-color:#e8ad44;box-shadow:0 0 0 3px rgba(245,158,11,.14)}.empty{text-align:center;color:var(--muted);padding:50px 20px}.empty .big{font-size:3rem;margin-bottom:10px}
.about-grid{display:grid;grid-template-columns:220px 1fr;gap:18px}.about-cover{width:100%;border-radius:22px;box-shadow:var(--shadow)}.about-copy{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:20px}.about-copy h1{margin-top:0;color:var(--deep)}.about-copy pre{white-space:pre-wrap;font-family:inherit;line-height:1.8;color:var(--text)}
.bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;z-index:40;width:min(100%,680px);height:calc(66px + var(--safe-bottom));padding-bottom:var(--safe-bottom);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border:1px solid var(--border);border-bottom:0;border-radius:20px 20px 0 0;box-shadow:0 -8px 30px rgba(88,58,20,.12)}.nav-item{border:0;background:none;color:var(--muted);display:grid;place-items:center;align-content:center;gap:2px}.nav-item span{font-size:1.25rem}.nav-item small{font-size:.71rem}.nav-item.active{color:var(--deep);font-weight:800}
.toast{position:fixed;z-index:60;left:50%;bottom:90px;transform:translate(-50%,20px);opacity:0;background:#3b2a18;color:#fff;padding:10px 14px;border-radius:12px;transition:.2s;pointer-events:none;font-size:.86rem}.toast.show{opacity:1;transform:translate(-50%,0)}
.dark{--bg:#17120d;--surface:#231a12;--surface2:#342414;--text:#f8ead4;--muted:#bba98e;--border:#4c3823;--deep:#ffd28a;--shadow:0 12px 30px rgba(0,0,0,.25)}
.dark body{background:#17120d}.dark .topbar,.dark .reader-toolbar{background:rgba(23,18,13,.94)}.dark .bottom-nav{background:rgba(35,26,18,.96)}.dark .hero{background:linear-gradient(135deg,#271b10,#33210f)}.dark .search-box{background:var(--bg)}
@media(max-width:760px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:110px 1fr;padding:14px}.hero p{font-size:.88rem}.category-card .thumb{height:112px}.about-grid{grid-template-columns:1fr}.about-cover{max-width:260px;margin:auto}.main-content{padding-inline:12px}.reader-toolbar{top:72px}}
@media(max-width:430px){.hero{grid-template-columns:92px 1fr;gap:12px}.hero h1{font-size:1.45rem}.hero-actions .btn{padding:9px 11px}.category-card h3{font-size:.9rem}.reader-card{padding:17px}.reader-text{line-height:1.9}.brand-title{font-size:.96rem}}

[hidden]{display:none!important}
.language-picker{max-width:110px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;padding:9px 4px;font-size:.84rem}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#fff1c6,#fffaf0,#ffe2bc)}
.login-card{background:#fff;width:min(100%,420px);border:1px solid #f2dfbd;border-radius:25px;box-shadow:0 20px 50px rgba(130,70,10,.15);padding:30px;display:grid;gap:10px;color:#2f2418}
.login-card img{margin:auto;border-radius:20px}.login-card h1{text-align:center;margin:6px 0 0;color:#9a3412}.login-card p{text-align:center;margin:0 0 8px;color:#746758}
.login-card label{font-weight:700}.login-card input{padding:13px 12px;border:1px solid #e8cf9f;border-radius:12px;width:100%}.login-card .btn{margin-top:8px}
.login-card .login-error{color:#b91c1c;text-align:left;font-size:.83rem}.login-card .login-help{font-size:.78rem;line-height:1.5}
@media(max-width:430px){.language-picker{max-width:80px}.topbar{gap:5px;padding-inline:6px}.top-actions{gap:3px}.icon-btn{width:36px;height:36px}}

.login-card form{display:grid;gap:12px}.login-card form[hidden]{display:none}.login-card .phone-field{display:flex;align-items:center;border:1px solid #e8cf9f;border-radius:12px;overflow:hidden}.login-card .phone-field span{padding:10px;background:#fff4d6;white-space:nowrap}.login-card .phone-field input{border:0;border-radius:0;min-width:0}.login-card #recaptcha-container{min-height:0;max-width:100%;overflow:hidden}.login-card button:disabled{opacity:.55;cursor:not-allowed}

.google-signin{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;background:#fff;color:#202124;border:1px solid #dadce0;border-radius:12px;padding:13px 16px;font:600 1rem system-ui,sans-serif;cursor:pointer;min-height:50px}.google-signin:hover:not(:disabled){background:#f8fafd}.google-signin:disabled{opacity:.6;cursor:not-allowed}

/* V6 Admin CMS */
.cms-panel{max-width:1140px;margin:0 auto;padding:20px 14px 100px;color:var(--text,#28201a)}
.cms-panel[hidden],.main-content[hidden],.bottom-nav[hidden]{display:none!important}
.cms-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}.cms-head h2{margin:0}.cms-head p{margin:4px 0;font-size:13px}
.cms-layout{display:grid;grid-template-columns:minmax(210px,1fr) minmax(300px,2fr);gap:16px}
.cms-list,.cms-edit{border:1px solid #e8d8bd;border-radius:14px;background:var(--card,#fff);padding:14px;min-width:0}
.cms-list input,.cms-edit input,.cms-edit textarea,.cms-edit select{width:100%;box-sizing:border-box;margin:9px 0 13px;padding:10px;border:1px solid #c9b99f;border-radius:9px;font:inherit;background:var(--card,#fff);color:inherit}
.cms-edit label{display:block;font-weight:700;margin-top:8px}.cms-edit textarea{line-height:1.7;resize:vertical}.cms-list #cmsItems{max-height:66vh;overflow:auto}
.cms-song{background:transparent;border:0;border-bottom:1px solid #ece6d9;width:100%;padding:10px 5px;text-align:left;color:inherit;font:inherit;cursor:pointer}.cms-song:hover{background:#fff2dc;color:#28201a}.cms-song em{color:#b45309;font-size:12px}
.cms-note{font-size:12px;opacity:.77}.cms-actions{display:flex;gap:10px;flex-wrap:wrap}.cms-message{min-height:18px;margin:9px 0;font-size:13px}
@media(max-width:690px){.cms-layout{grid-template-columns:1fr}.cms-list #cmsItems{max-height:190px}.cms-panel{padding:12px 10px 110px}}

/* V6.4: action confirmations stay visible after scrolling the editor. */
.cms-message{min-height:22px;font-weight:650;padding:7px 11px;border-radius:9px;}
.cms-message:empty,.cms-form-feedback:empty{padding:0;min-height:0}
.cms-message.success,.cms-form-feedback.success{background:#e8f7e9;color:#176b2b;border:1px solid #91d39d}
.cms-message.error,.cms-form-feedback.error{background:#fff0f0;color:#ad1b1b;border:1px solid #eeb2b2}
.cms-message.pending,.cms-form-feedback.pending{background:#fff7df;color:#755000;border:1px solid #efda8e}
.cms-form-feedback{margin-top:12px;padding:12px;border-radius:10px;font-size:14px;font-weight:650;line-height:1.5}
.cms-toast{position:fixed;z-index:9999;left:50%;top:18px;transform:translate(-50%,-18px);opacity:0;pointer-events:none;max-width:min(92vw,560px);width:max-content;padding:14px 20px;border-radius:12px;box-shadow:0 10px 32px #0003;font-size:14px;font-weight:700;line-height:1.4;transition:opacity .2s,transform .2s;text-align:center}
.cms-toast.visible{opacity:1;transform:translate(-50%,0)}
.cms-toast.success{background:#176b2b;color:white}.cms-toast.error{background:#aa1717;color:white}.cms-toast.pending{background:#7b5300;color:white}

/* V6.5: discourage selecting and copying displayed devotional content.
   CMS inputs and textareas remain editable/selectable for the main admin. */
#app, .brand, .bottom-nav, .topbar { -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }
#app img, .about-cover { -webkit-user-drag:none; user-drag:none; pointer-events:none; }
#app input, #app textarea, #app [contenteditable="true"] { -webkit-user-select:text; user-select:text; -webkit-touch-callout:default; }
@media print { body > * {display:none !important;} body::after {content:"Printing is disabled for Bhakthi Tharangini.";display:block;text-align:center;padding:5rem;} }

/* V6.6 Home/About editor */
#cmsSiteForm input[type=file]{padding:10px}#cmsSiteForm textarea{min-height:110px}#cmsSiteForm .cms-actions{margin:12px 0}
