body.deckmode { overflow: hidden; }
body.deckmode main { position: fixed; inset: 0; max-width: none; width: auto; margin: 0; padding: 0; overflow-y: auto; scroll-snap-type: y mandatory; overscroll-behavior: contain; }
.deck { display: block; }
.dcard { box-sizing: border-box; min-height: 100vh; min-height: 100dvh; height: 100dvh; scroll-snap-align: start; scroll-snap-stop: always; display: flex; align-items: center; justify-content: center; padding: 64px 12px 72px; }
.dcard:has(> .dinner > [hidden]), .dcard:has(> .dinner > .hidden) { display: none; }
.dinner { width: min(38rem, 100%); max-height: 100%; overflow-y: auto; box-sizing: border-box; background: #fffaf0; border: 2px solid #ecd2a2; border-radius: 22px; padding: 14px; box-shadow: 0 8px 26px #6b3a1426; }
.dinner > * { margin-left: 0; margin-right: 0; max-width: 100%; }
.dinner > li { list-style: none; }
.dintro .dinner { text-align: center; }
.dswipe { color: #8a6a4a; font-size: .9rem; margin-top: 1rem; }
.dbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); background: #fff8ecee; border-top: 1px solid #ecd2a2; }
.dbar a { white-space: nowrap; display: inline-flex; align-items: center; min-height: 42px; padding: 0 14px; border-radius: 999px; font-weight: 700; text-decoration: none; }
.dback { background: #fff; color: #a4501c; border: 2px solid #e8c79a; }
.dfeed { background: #c2551c; color: #fff; }
.dpos { font-size: .85rem; color: #6b4a2b; }
body.deckmode .snav, body.deckmode .mnav { position: fixed; top: 0; left: 0; right: 0; z-index: 50; background: #fff8ecee; }
.dcard:has(> .dinner:empty) { display: none; }
/* World themes (CSS-only textures) */
.dworld { font-size: .8rem; font-weight: 700; }
.dsound { min-width: 42px; min-height: 42px; border-radius: 999px; border: 2px solid #e8c79a; background: #fff; font-size: 1.1rem; }
.dcard { transition: opacity .2s ease; }
body[data-world="charaka"] main { background: radial-gradient(circle at 20% 10%, #d9efc7 0 12%, transparent 13%), radial-gradient(circle at 80% 70%, #c8e6b0 0 10%, transparent 11%), linear-gradient(180deg, #eaf6df, #b9d9a0); }
body[data-world="charaka"] .dinner { background: #fbfff5; border-color: #9cc77f; }
body[data-world="charaka"] .dinner h2, body[data-world="charaka"] .dinner h1 { color: #2f5d1f; }
body[data-world="charaka"] .dfeed { background: #3f7a2a; }
body[data-world="kartik"] main { background: radial-gradient(ellipse at 50% 100%, #ffb34766 0, transparent 45%), radial-gradient(circle at 15% 20%, #fff3 0 1px, transparent 2px) 0 0/38px 38px, linear-gradient(180deg, #3a1208, #6b2410); }
body[data-world="kartik"] .dinner { background: #fff9ee; border-color: #f2b544; box-shadow: 0 0 34px #ffb34788; }
body[data-world="kartik"] .dbar { background: #3a1208ee; color: #ffe3a8; border-color: #f2b544; }
body[data-world="kartik"] .dpos { color: #ffe3a8; }
body[data-world="kailasa"] main { background: repeating-linear-gradient(115deg, #6d625a 0 3px, #7a6f66 3px 9px, #5f554e 9px 11px), linear-gradient(180deg, #3b302a, #6d625a); }
body[data-world="kailasa"] .dinner { background: #f6efe6; border-color: #b89a6e; box-shadow: 0 0 30px #ff9a3c55; }
body[data-world="vastu"] main { background: linear-gradient(#1f4f8f1f 1px, transparent 1px) 0 0/24px 24px, linear-gradient(90deg, #1f4f8f1f 1px, transparent 1px) 0 0/24px 24px, #eaf2fb; }
body[data-world="vastu"] .dinner { background: #f4f8ff; border-color: #8fb3e6; }
body[data-world="vastu"] .dinner h2, body[data-world="vastu"] .dinner h1 { color: #1f4f8f; }
.dworld { font-size: 1.3rem; }

.dend button{font:inherit;font-weight:700;padding:.7rem 1.2rem;border:0;border-radius:999px;background:#c4561c;color:#fff;cursor:pointer}

.dcard{cursor:pointer}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Full-bleed decks: soft panel, floating glass controls */
body.deckmode .dinner { border: 0; border-radius: 26px; padding: 20px 18px; background: rgba(255,250,242,.95); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 18px 40px rgba(0,0,0,.18); line-height: 1.6; }
body.deckmode .dbar { background: transparent; border-top: 0; }
body.deckmode .dbar a { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 0 4px 14px rgba(0,0,0,.2); }
body.deckmode .snav, body.deckmode .mnav { background: transparent; border: 0; box-shadow: none; }
body.deckmode .snav a, body.deckmode .mnav a { box-shadow: 0 4px 14px rgba(0,0,0,.15); }

/* Festival worlds (pure CSS textures) */
.dfloat{position:fixed;right:10px;bottom:84px;z-index:40;display:flex;gap:6px;align-items:center;background:rgba(255,255,255,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:999px;padding:4px 10px;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.dfloat .dsound{font:inherit;border:0;background:transparent;font-size:1.2rem;cursor:pointer}
body[data-world="fholi"] main{background:radial-gradient(circle at 15% 20%,#ff4f9a55 0 14%,transparent 15%),radial-gradient(circle at 80% 30%,#ffd23f66 0 12%,transparent 13%),radial-gradient(circle at 30% 80%,#3fc1ff55 0 13%,transparent 14%),radial-gradient(circle at 85% 85%,#7bd65a55 0 12%,transparent 13%),#fff6fb}
body[data-world="fnavaratri"] main{background:repeating-linear-gradient(45deg,#c2185b22 0 10px,transparent 10px 20px),repeating-linear-gradient(-45deg,#ff980022 0 10px,transparent 10px 20px),#fff3e6}
body[data-world="fganesh"] main{background:radial-gradient(circle at 50% 0,#ffb30066,transparent 50%),radial-gradient(circle,#e6510022 2px,transparent 3px) 0 0/22px 22px,#fff7e8}
body[data-world="fmakar"] main{background:linear-gradient(135deg,#ffd54f55 0 10%,transparent 10%) 0 0/60px 60px,linear-gradient(180deg,#bfe6ff,#fff8e1)}
body[data-world="fshivaratri"] main{background:radial-gradient(circle at 82% 10%,#fff8 0 4%,#fff2 5%,transparent 14%),radial-gradient(circle,#ffffff33 1px,transparent 2px) 0 0/28px 28px,linear-gradient(#1c1430,#3a2a4a)}
body[data-world="fugadi"] main{background:radial-gradient(ellipse at 50% -10%,#4caf5066 0 30%,transparent 31%),repeating-radial-gradient(circle at 50% -40%,#2e7d3222 0 6px,transparent 6px 24px),#fbfff0}
body[data-world="fjanmashtami"] main{background:radial-gradient(circle at 30% 30%,#1e88e533 0 10%,transparent 11%),radial-gradient(circle at 70% 70%,#00897b33 0 10%,transparent 11%),radial-gradient(circle,#ffffff22 1px,transparent 2px) 0 0/24px 24px,linear-gradient(#0f3a3a,#1f5a4a)}
body[data-world="framanavami"] main{background:repeating-linear-gradient(0deg,#ff8f0022 0 2px,transparent 2px 18px),linear-gradient(#fff3d6,#ffe0b2)}
body[data-world="frakhi"] main{background:repeating-linear-gradient(60deg,#e91e6322 0 4px,transparent 4px 16px),repeating-linear-gradient(-60deg,#ffc10722 0 4px,transparent 4px 16px),#fff8f0}
body[data-world="fonam"] main{background:repeating-radial-gradient(circle at 50% 50%,#ff980033 0 14px,#ffeb3b33 14px 28px,#e6510033 28px 42px,#fff8e1 42px 56px)}
body[data-world="fkarthigai"] main{background:radial-gradient(ellipse at 50% 100%,#ff6f0066 0,transparent 50%),radial-gradient(circle,#ffcc8044 2px,transparent 3px) 0 0/30px 30px,linear-gradient(#1a1030,#3b1f2b)}
body[data-world="fshivaratri"] main>*:not(section):not(div), body[data-world="fjanmashtami"] main>*:not(section):not(div), body[data-world="fkarthigai"] main>*:not(section):not(div), body[data-world="fshivaratri"] main header *, body[data-world="fjanmashtami"] main header *, body[data-world="fkarthigai"] main header * { color: #fff3d6; }

.dmicro{margin:.7rem 0;padding:.6rem .7rem;border-radius:14px;background:rgba(255,255,255,.12);border:1px dashed rgba(255,255,255,.35)}
.dmq{margin:0 0 .4rem;font-weight:600}.dmrow{display:flex;flex-wrap:wrap;gap:.4rem}
.dchips{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;gap:.4rem;overflow-x:auto;padding:calc(.45rem + env(safe-area-inset-top)) .6rem .45rem;background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,0));scrollbar-width:none}
.dchips::-webkit-scrollbar{display:none}
.dchip{flex:none;font:inherit;font-size:.85rem;font-weight:700;padding:.4rem .8rem;border-radius:999px;border:1px solid rgba(255,255,255,.45);background:rgba(0,0,0,.35);color:#fff;cursor:pointer}
.dchip.on{background:#fff;color:#2a1a10}
body.deckmode .dinner{min-height:calc(100dvh - 150px);display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}
.dmicro{margin:.6rem 0;padding:.6rem .7rem;border-radius:14px;background:rgba(255,255,255,.7)}
.dmicro .dmq{font-weight:700;margin:0 0 .4rem}.dmrow{display:flex;flex-wrap:wrap;gap:.4rem}
.dmicro .mixgo2{display:inline-flex;align-items:center;min-height:44px;padding:0 1rem;border-radius:999px;font:inherit;font-weight:700;background:#fff;color:#a4501c;border:2px solid #e8c79a;cursor:pointer}
.deck [hidden]{display:none!important}
