/* TATVANVESHI V11.48 — official logo-led palette; inclusive mobile-first controls. */
:root{--tv-ink:#39291f;--tv-terracotta:#a94320;--tv-saffron:#e97823;--tv-sun:#ffbc52;--tv-teal:#176e71;--tv-forest:#2d7553;--tv-paper:#fffaf2;--tv-border:#e9d7b8;--tv-shadow:0 8px 28px rgba(86,51,20,.10)}
html:not(.dark),html:not(.dark) body{background:#fffaf2;color:#39291f}
html:not(.dark) .app-shell{background:radial-gradient(ellipse at 20% 0%,#fff1cd 0,transparent 36%),linear-gradient(180deg,#fffcf7,#fff8ec 100%);min-height:100dvh}
html:not(.dark) .main-content{background:transparent}
.app-shell .topbar{background:rgba(255,250,241,.97)!important;border-bottom:1px solid #eed9b7!important;box-shadow:0 4px 18px rgba(89,46,11,.06)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);min-height:66px}
.app-shell .brand{min-width:0;gap:9px;flex:1}
.app-shell .brand img.bt-brand-logo{width:44px;height:44px;object-fit:contain;border-radius:50%;box-shadow:0 2px 11px #ab652c29;background:#fff}
.app-shell .brand-title{font-weight:900!important;color:var(--tv-terracotta)!important;line-height:1.4!important;font-size:clamp(1.02rem,3.5vw,1.25rem)!important}
.app-shell .brand-sub{color:#80634a!important;max-width:230px;font-size:.68rem!important;line-height:1.35!important;overflow:hidden;text-overflow:ellipsis}
.app-shell .top-actions{gap:5px}
#tvSettingsBtn1148{border:1px solid #efc98d!important;background:#fff5e4!important;color:var(--tv-terracotta)!important;border-radius:11px!important;min-width:40px;min-height:40px;font-size:1.2rem}
#tvGlobalBack1148{background:#fff1d8;color:#914017;border:1px solid #f0d2a3;border-radius:12px;min-width:40px;height:40px;font-size:1.35rem;cursor:pointer}
#tvGlobalBack1148[hidden]{display:none!important}
#languageSelect{display:none!important}
/* Welcome incorporates the exact original user-supplied logo. */
.tv-welcome1147{padding:18px!important;gap:15px!important;border:1px solid #eccb8e!important;background:linear-gradient(117deg,#fff3d6 0%,#fffbf3 62%,#eff8ed 100%)!important;box-shadow:var(--tv-shadow)!important;border-radius:22px!important}
.tv-welcome-official1148{width:88px;height:88px;object-fit:contain;flex:0 0 88px;border-radius:50%;border:2px solid #e3a852;box-shadow:0 4px 16px #a84a2130;background:#ffeac2}
.tv-welcome1147 h1{color:#843e19!important;font-size:clamp(1.45rem,4.5vw,2rem)!important}
.tv-welcome1147 p{color:#72543d!important;line-height:1.55!important}
.tv-welcome-overline1147{color:#9d4e22!important}
.tv-section-heading1147 h2{color:#4c311e!important;font-size:clamp(1.12rem,3.6vw,1.35rem)!important}
.tv-section-heading1147 span{font-weight:650!important}
/* Distinct but restrained category accent colors. */
.tv-category-grid1147{gap:12px!important}
.tv-category1147{--tv-cat:#b75525;min-height:156px!important;border:1px solid color-mix(in srgb,var(--tv-cat) 22%,#e9d6b6)!important;background:linear-gradient(156deg,#fffdf8 13%,color-mix(in srgb,var(--tv-cat) 5%,#fffaf0) 100%)!important;border-radius:20px!important;box-shadow:0 5px 17px #60401b12!important;transition:transform .18s ease,box-shadow .18s ease!important}
.tv-category1147:hover{transform:translateY(-2px);box-shadow:0 11px 25px #60401b1c!important}
.tv-category1147:active{transform:scale(.985)}
.tv-category1147:focus-visible{outline:3px solid #125d65;outline-offset:3px}
.tv-category1147 strong{color:#49301f!important;font-weight:800!important;letter-spacing:.005em}
.tv-category1147 small{color:#816b57!important;max-width:18rem}
.tv-category1147 .tv-category-icon1147{border:1px solid color-mix(in srgb,var(--tv-cat) 32%,#f8d99c);background:linear-gradient(155deg,#fff9ec,color-mix(in srgb,var(--tv-cat) 13%,#fff7d8));width:55px!important;height:55px!important;box-shadow:0 5px 14px color-mix(in srgb,var(--tv-cat) 16%,transparent)}
.tv-category1147 .tv-category-arrow1147{color:var(--tv-cat)!important}
.tv-category-devotion{--tv-cat:#d06621}.tv-category-panchang{--tv-cat:#b78320}.tv-category-deeksha{--tv-cat:#9b522e}
.tv-back1147,.app-shell .btn.soft{background:#fff4dd!important;border-color:#e5c58f!important;color:#7f421e!important;border-radius:12px!important}
.tv-back1147{min-height:42px}
.tv-article1147,.tv-article-list1147 button,.tv-service-grid1147 button{border-color:#e6d3ae!important;box-shadow:0 5px 20px #60401b0b!important;border-radius:17px!important;background:#fffefa!important}
.tv-knowledge-head1147 h1{color:#6e3e23!important}
.tv-language-fallback1148{background:#fdf0da;border:1px solid #e5c491;border-radius:12px;padding:11px 13px;font-size:.86rem;color:#6d4c26;line-height:1.65}
.tv-meaning1148{border-top:1px solid #e5d1ab;margin-top:22px;padding:15px;background:#fff7e8;border-radius:12px}
/* Primary and utility controls keep legible contrast and a consistent touch size. */
button,.nav-item{touch-action:manipulation}
.app-shell button:focus-visible,.tv-settings-sheet1148 button:focus-visible{outline:3px solid #177179;outline-offset:2px}
.bottom-nav{background:rgba(255,251,244,.97)!important;border-top:1px solid #e5d1ab!important;box-shadow:0 -4px 20px #5e37110c!important}
.bottom-nav .nav-item.active{color:#a8461f!important}
/* Language dialog is outside the existing nested screens, with stable keyboard handling. */
#tvLanguageSettings1148{position:fixed;inset:0;z-index:2147483200;display:grid;place-items:center;padding:16px;background:#231b16a8;overscroll-behavior:contain}
#tvLanguageSettings1148[hidden]{display:none!important}
.tv-settings-sheet1148{width:min(490px,100%);max-height:min(88dvh,760px);overflow:hidden;background:#fffaf1;border:1px solid #f3cb8f;color:#442a18;border-radius:24px;box-shadow:0 18px 54px #1f170e59;display:flex;flex-direction:column}
.tv-settings-sheet1148 header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 19px;background:linear-gradient(112deg,#fff0c9,#fff9ed);border-bottom:1px solid #ecd6ae}
.tv-settings-sheet1148 header h2{margin:0;color:#723618;font-size:1.3rem}
.tv-settings-sheet1148 header small{letter-spacing:.16em;font-size:.67rem;font-weight:800;color:#986024}
.tv-settings-sheet1148 [data-tv-lang-close]{min-height:40px;min-width:40px;border:1px solid #d9bd94;background:white;border-radius:11px;font-size:1.2rem;color:#663319}
.tv-settings-body1148{overflow-y:auto;padding:18px 20px 22px;display:grid;gap:9px}
.tv-settings-body1148>label:not(.tv-switch1148){font-size:.93rem;font-weight:750;margin-top:6px}
.tv-settings-body1148 select{width:100%;min-height:49px;border-radius:12px;border:1px solid #d9c29e;background:#fff;color:#3e3027;padding:10px 12px;font:inherit;font-size:1rem}
.tv-switch1148{display:flex;align-items:center;gap:12px;margin:12px 0 3px;font-size:.92rem;font-weight:650;line-height:1.5}
.tv-switch1148 input{width:21px;height:21px;accent-color:#9e4924;flex:0 0 21px}
#tvLanguageHelp1148{font-size:.81rem;line-height:1.65;color:#80644c;margin:5px 0;padding:12px;background:#fff2dc;border-radius:12px}
#tvLanguageSave1148{min-height:50px;border:0;border-radius:13px;font:inherit;font-weight:800;background:linear-gradient(115deg,#b64a20,#d46d25);color:#fff;cursor:pointer}
/* On-screen back inside overlays, also triggers browser history back. */
.tv-modal-back1148{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:40px;border-radius:11px;border:1px solid #e8c89a;background:#fff9ea;color:#7b381b;font:700 1.45rem/1 system-ui;cursor:pointer;margin-right:8px}
.tv-admin-translations1148{margin:15px 0;padding:12px;border:1px solid #ead4af;border-radius:13px;background:#fff7e8}
.tv-admin-translations1148 summary{font-weight:750;cursor:pointer;line-height:1.5}
.tv-admin-translations1148 small{display:block;color:#805f45;line-height:1.5;margin-top:8px}
@media(max-width:500px){
 .app-shell .topbar{padding-inline:9px!important;gap:4px!important}
 .app-shell .brand-sub{max-width:150px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
 .tv-welcome1147{padding:13px!important;gap:11px!important}
 .tv-welcome-official1148{width:66px;height:66px;flex-basis:66px}
 .tv-category-grid1147{gap:9px!important}
 .tv-category1147{min-height:142px!important;padding:13px 7px!important}
 .tv-category1147 .tv-category-icon1147{width:47px!important;height:47px!important}
 .tv-category1147 strong{font-size:clamp(.85rem,3vw,1.03rem)!important}
 .tv-category1147 small{font-size:.68rem!important;line-height:1.45!important}
 #tvSettingsBtn1148,#tvGlobalBack1148{min-width:36px;width:36px;height:38px;min-height:38px;padding:0}
 .tv-settings-body1148{padding:13px 16px 19px}
}
@media(prefers-reduced-motion:reduce){.tv-category1147{transition:none!important}}
@media print{#tvLanguageSettings1148,.tv-modal-back1148,#tvSettingsBtn1148,#tvGlobalBack1148{display:none!important}}
/* Compact mobile top bar: Home/Search/Deeksha already exist in the footer. */
@media(max-width:700px){
 .app-shell .topbar{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:6px!important;}
 .app-shell .brand{display:flex!important;flex:1 1 0!important;min-width:0!important;max-width:none!important;align-items:center!important;overflow:hidden!important;}
 .app-shell .top-actions{display:flex!important;flex:0 0 auto!important;align-items:center!important;gap:5px!important;flex-wrap:nowrap!important;}
 #homeBtn,#searchBtn,#deekshaHeaderBtn,#themeBtn{display:none!important}
 #logoutBtn{height:38px;min-width:36px;padding:0!important}
 .app-shell .brand-details{min-width:0;overflow:hidden}
 .app-shell .brand-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:700px){
 .app-shell .topbar .brand{flex:1 1 auto!important;width:auto!important;min-width:0!important;order:0!important}
 .app-shell .topbar .top-actions{width:auto!important;min-width:0!important;max-width:max-content!important;flex:0 0 auto!important;order:0!important;justify-content:flex-end!important;overflow:visible!important}
}

/* Existing dark-mode preference is preserved; no CSS regression to pale headers. */
html.dark .app-shell .topbar{background:#241c17!important;border-bottom-color:#614528!important}
html.dark .app-shell .brand-title,html.dark .app-shell .brand-sub{color:#f8d69b!important}
html.dark .app-shell .tv-welcome1147{background:linear-gradient(120deg,#39281d,#243b37)!important;color:#fff4e5!important;border-color:#765838!important}
html.dark .app-shell .tv-welcome1147 h1,html.dark .app-shell .tv-welcome1147 p{color:#fff4e5!important}
html.dark .tv-category1147{background:linear-gradient(140deg,#2f251d,#293630)!important;color:#f9e6cb!important;border-color:#665037!important}
html.dark .tv-category1147 strong,html.dark .tv-category1147 small{color:#f9e6cb!important}
html.dark .tv-section-heading1147 h2{color:#ffdfad!important}
