/* from designs/screens/01-map.html */
.mapw{position:absolute;top:0;left:0;right:0;height:400px}
.ov{position:absolute;top:44px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:center;z-index:5}
.fab{position:absolute;right:14px;z-index:5;width:44px;height:44px;border-radius:14px;background:#FFFDF8;border:1px solid var(--line);box-shadow:var(--sh-2);display:grid;place-items:center;font-size:19px}
.sheet{position:absolute;left:0;right:0;top:372px;bottom:0;background:var(--card);border-radius:28px 28px 0 0;box-shadow:0 -10px 30px rgba(80,40,10,.15);padding:10px 16px 0}
.grab{width:40px;height:5px;border-radius:3px;background:#E3D2B4;margin:0 auto 10px}
.opt{display:flex;align-items:center;gap:12px;height:52px;padding:0 12px 0 8px;border-radius:16px;border:2px solid var(--line);margin-bottom:6px;position:relative;background:#fff}
.opt.sel{border-color:var(--c);background:var(--bg);box-shadow:0 3px 0 var(--c)}
.rb{width:58px;height:36px;border-radius:11px;background:var(--bg);color:var(--c);font:900 12px var(--f-b);display:grid;place-items:center;letter-spacing:.5px;text-transform:uppercase;border:1.5px solid var(--c)}
.opt.sel .rb{background:var(--c);color:#fff}
.meta{font:700 12.5px var(--f-b);color:var(--ink-2)}
.coin{font:900 14px var(--f-b);color:var(--ink)}
.coin{text-align:right;line-height:1.2}.coin .fbadge{height:17px;font-size:10px;padding:0 6px;cursor:pointer}
.fstrip{position:absolute;top:96px;left:12px;right:12px;z-index:5;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.fstrip::-webkit-scrollbar{display:none}
.fc{flex:none;display:flex;align-items:center;gap:6px;height:34px;padding:0 10px 0 5px;border-radius:17px;background:rgba(255,253,248,.96);border:1px solid var(--line);box-shadow:var(--sh-1);font:800 12px var(--f-b);color:var(--ink);cursor:pointer;white-space:nowrap}.fc.today{background:#0F6E6E;color:#fff;border-color:#0F6E6E}.fc.today .fbadge{background:#fff;color:#0F6E6E}.fc small{font:700 11px var(--f-b);opacity:.8}
html.lg .fc{height:40px;font-size:14px}html.lg .fc small{font-size:13px}html.hc .fc{background:#fff;border:2px solid #000;color:#000}html.hc .fc.today{background:#000;color:#fff}html.kids .fc small{display:none}
.tick{position:absolute;right:-7px;top:-7px;width:22px;height:22px;border-radius:50%;background:var(--c);color:#fff;font:900 12px/22px var(--f-b);text-align:center;border:2px solid #fff}
/* from designs/screens/02-travel.html */
.scr.tex{background:#2B1B12}
#road{position:absolute;left:0;top:0;width:390px;height:560px}
.tt{position:absolute;top:42px;left:14px;right:14px;z-index:5;display:flex;align-items:center;gap:8px}
.tt .pill{background:rgba(255,253,248,.94)}
.panel{position:absolute;left:0;right:0;bottom:0;top:530px;background:var(--parch);border-radius:26px 26px 0 0;padding:14px 16px 0;box-shadow:0 -12px 30px rgba(0,0,0,.3)}
.mini{border-radius:18px;overflow:hidden;border:1.5px solid var(--line);box-shadow:var(--sh-1);height:170px;position:relative}
.mini .lab{position:absolute;left:10px;top:8px;font:900 10px var(--f-b);letter-spacing:1.2px;color:#0F6E6E;background:rgba(255,253,248,.9);padding:3px 7px;border-radius:7px}
.kmr{display:flex;align-items:center;gap:10px;margin-top:10px}.kmr .bar{flex:1}
.pads{position:absolute;left:0;right:0;top:350px;display:flex;justify-content:space-between;padding:0 14px;z-index:4}
.pads button{width:58px;height:58px;border-radius:50%;border:2px solid rgba(255,255,255,.55);background:rgba(43,27,18,.35);color:#fff;font:900 22px var(--f-b);backdrop-filter:blur(4px)}
.toast{position:absolute;left:50%;top:100px;transform:translate(-50%,-10px);opacity:0;z-index:6;background:#F2B632;color:#561520;font:900 13px var(--f-b);padding:8px 14px;border-radius:14px;box-shadow:0 6px 16px rgba(0,0,0,.25);transition:all .4s;white-space:nowrap}.toast.on{opacity:1;transform:translate(-50%,0)}
.arr{position:absolute;inset:0;z-index:50;display:none;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,#B8452A 0,#6A1B26 50%,#2E0A10 100%);color:#FFE9C7;text-align:center}
.arr.on{display:flex;animation:amjIn .5s ease both}
.arr .tm{width:200px;height:170px;animation:rise 1.4s cubic-bezier(.2,.8,.2,1) both}@keyframes rise{from{transform:translateY(40px);opacity:0}}
.arr .halo{position:absolute;top:210px;left:50%;width:300px;height:300px;margin-left:-150px;border-radius:50%;background:radial-gradient(circle,rgba(255,200,110,.45),transparent 65%)}
.cd{width:110px;height:110px;border-radius:50%;border:3px solid rgba(255,227,176,.6);display:grid;place-items:center;font:400 60px var(--f-d);margin-top:22px;position:relative}
.cd.pop{animation:pop .9s ease}@keyframes pop{0%{transform:scale(1.35);opacity:0}30%{opacity:1}100%{transform:scale(1)}}
.cd:after{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(242,182,50,.55);animation:tp2 1s ease-out infinite}@keyframes tp2{from{transform:scale(.9);opacity:1}to{transform:scale(1.25);opacity:0}}

#go,.btn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;justify-content:center}
#go{font-size:15px;padding:0 12px}

/* --- M4: extracted from designs/screens 03-intro, 04-verse, 05-quiz, scoped per screen --- */
.s-intro .hero{position:absolute;inset:0 0 auto 0;height:380px;background:linear-gradient(180deg,#F6B26B 0,#F9D7A0 55%,#9ED0C6 56%,#6FB0A6 100%);overflow:hidden}
.s-intro .sun{position:absolute;left:50%;top:150px;width:150px;height:150px;margin-left:-75px;border-radius:50%;background:radial-gradient(circle,#FFF4D6 0,#FFD58A 55%,rgba(255,213,138,0) 72%)}
.s-intro .tmp{position:absolute;left:50%;bottom:112px;width:250px;height:212px;margin-left:-125px}
.s-intro .shore{position:absolute;left:-20px;right:-20px;bottom:0;height:120px;background:#E9CF9E;border-radius:50% 50% 0 0/40% 40% 0 0}
.s-intro .waves{position:absolute;left:0;right:0;bottom:118px;height:40px;background:repeating-linear-gradient(90deg,transparent 0 20px,rgba(255,255,255,.45) 20px 34px,transparent 34px 60px);opacity:.6;mask:linear-gradient(transparent,#000)}
.s-intro .back{position:absolute;top:50px;left:16px;z-index:5}
.s-intro .arr{position:absolute;top:52px;right:16px;z-index:5}
.s-intro .panel{position:absolute;left:0;right:0;top:340px;bottom:0;background:var(--parch);border-radius:28px 28px 0 0;padding:22px 20px 0}
.s-intro .facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
.s-intro .fact{padding:10px 12px;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.s-intro .fact .cap{font-size:10px}
.s-intro .fact b{display:block;font:800 14px var(--f-b);margin-top:2px}
.s-intro .steps{display:flex;align-items:center;gap:6px;margin:4px 0 14px}
.s-intro .st{flex:1;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:14px;background:var(--card);border:1.5px solid var(--line);font:800 12.5px var(--f-b)}
.s-intro .st i{font-style:normal;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--parch-2);font-size:12px}
.s-intro .st.now{border-color:var(--saffron);background:var(--saffron-l);color:var(--saffron-d)}
.s-intro .st.now i{background:var(--saffron);color:#fff}
.scr.s-verse.tex{background:radial-gradient(circle at 50% 30%,#9A2D36 0,#5E1520 55%,#3E0D15 100%)}
.s-verse .glow{position:absolute;left:50%;top:70px;width:260px;height:260px;margin-left:-130px;border-radius:50%;background:radial-gradient(circle,rgba(255,196,110,.45),rgba(255,196,110,0) 65%)}
.s-verse .dots{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,220,170,.10) 1.3px,transparent 1.7px);background-size:18px 18px}
.s-verse .vc{position:absolute;left:18px;right:18px;top:150px;background:var(--card);border-radius:28px;padding:26px 22px 20px;box-shadow:0 20px 50px rgba(0,0,0,.35);border:1px solid #F0DDBA}
.s-verse .vc:before{content:"";position:absolute;inset:8px;border-radius:22px;border:1.5px solid #EBD3A8;pointer-events:none}
.s-verse .om{position:absolute;top:-30px;left:50%;margin-left:-30px;width:60px;height:60px;border-radius:50%;background:linear-gradient(#F2B632,#E8751A);display:grid;place-items:center;font-size:28px;border:4px solid var(--card);box-shadow:0 6px 16px rgba(0,0,0,.25)}
.s-verse .vl{font:400 22px/1.45 var(--f-d);color:var(--maroon);text-align:center;margin:18px 0 0}
.s-verse .mean{font:600 15px/1.55 var(--f-b);color:var(--ink);text-align:center;margin-top:16px;padding-top:16px;border-top:1.5px dashed var(--line)}
.s-verse .flav{margin-top:14px;padding:10px 12px;border-radius:14px;background:var(--parch);font:700 12.5px/1.45 var(--f-b);color:var(--ink-2);text-align:center}
.s-verse .tr{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}
.s-verse .tring{--p:40;width:46px;height:46px;border-radius:50%;background:conic-gradient(var(--saffron) calc(var(--p)*1%),var(--keadcc2) 0);display:grid;place-items:center}
.s-verse .tring span{width:36px;height:36px;border-radius:50%;background:#fff;display:grid;place-items:center;font:900 14px var(--f-b);color:var(--saffron-d)}
.s-verse .foot{position:absolute;left:18px;right:18px;bottom:40px}
.s-verse .vc{animation:vf 1.2s ease both}
.s-verse .vl,.s-verse .mean,.s-verse .flav{animation:vf 1.6s .3s ease both}
@keyframes vf{from{opacity:0}}
.s-quiz .qh{display:flex;align-items:center;gap:12px;padding:6px 18px}
.s-quiz .segs{flex:1;display:flex;gap:5px}
.s-quiz .segs i{flex:1;height:10px;border-radius:6px;background:#EADCC2}
.s-quiz .segs i.d{background:var(--leaf)}
.s-quiz .segs i.n{background:linear-gradient(90deg,var(--saffron) 60%,var(--keadcc2) 60%)}
.s-quiz .qc{margin:14px 18px 0;padding:20px;border-radius:24px;background:var(--card);border:1px solid var(--line);box-shadow:var(--sh-1)}
.s-quiz .op{display:flex;align-items:center;gap:12px;margin:12px 18px 0;height:64px;padding:0 16px;border-radius:18px;background:#fff;border:2px solid var(--line);box-shadow:0 4px 0 var(--line);font:800 16px var(--f-b)}
.s-quiz .op b{width:32px;height:32px;border-radius:10px;border:2px solid var(--line);display:grid;place-items:center;font:900 14px var(--f-b);color:var(--ink-3)}
.s-quiz .op.ok{border-color:var(--leaf);background:var(--leaf-l);box-shadow:0 4px 0 var(--leaf);color:#1F5E36}
.s-quiz .op.ok b{background:var(--leaf);border-color:var(--leaf);color:#fff}
.s-quiz .op{cursor:pointer;transition:transform .15s}
.s-quiz .op:active{transform:translateY(3px)}
.s-quiz .op.no{border-color:#A8343C;background:#FBE3E5;box-shadow:0 4px 0 #A8343C;animation:sh .35s}
@keyframes sh{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.s-quiz .fb{transform:translateY(110%);transition:transform .35s cubic-bezier(.2,.9,.3,1.2);position:absolute;left:0;right:0;bottom:0;}
.s-quiz .fb.on{transform:none}
.s-quiz .fb.miss{background:#FBE9DA;border-color:#F0C49A}
.s-quiz .fb .hint{display:none}
.s-quiz .fb.miss .hint{display:block}
.s-quiz .fb.miss .good{display:none}
.s-quiz .fb{padding:20px 20px 40px;background:#DDF1E2;border-top:2px solid #A9D9B7;border-radius:26px 26px 0 0}
.scr.s-quiz.tex,.scr.s-intro.tex{background:radial-gradient(circle at 20% 10%,var(--tex-1,#fff8ea) 0,transparent 40%),radial-gradient(circle at 90% 80%,var(--tex-2,#f5e4c4) 0,transparent 45%),var(--parch)}
.s-quiz .fb.miss .good{display:none!important}
.s-intro .kmp{color:#2B1B12;position:absolute;top:52px;right:16px;z-index:5}

/* --- M5: extracted from designs/screens 06-results, 09-streak, 23-prasad, scoped per screen --- */
.scr.s-res.tex{background:linear-gradient(180deg,var(--kffe9cc) 0,var(--parch) 40%)}
.s-res .conf{position:absolute;inset:0 0 auto 0;height:300px;background-image:radial-gradient(circle,#F2B632 2.5px,transparent 3px),radial-gradient(circle,#E8751A 2px,transparent 2.5px),radial-gradient(circle,#A8343C 2px,transparent 2.5px);background-size:57px 61px,43px 47px,71px 53px;background-position:0 0,20px 14px,33px 27px;opacity:.55;mask:linear-gradient(#000,transparent)}
.s-res .stamp{width:108px;height:108px;margin:0 auto;border-radius:50%;border:5px double var(--maroon);display:grid;place-items:center;transform:rotate(-8deg);background:rgba(255,253,248,.85);color:var(--maroon);text-align:center;position:relative}
.s-res .stamp b{font:400 22px/1 var(--f-d)}
.s-res .stamp span{font:900 9px var(--f-b);letter-spacing:2px}
.s-res .rw{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line)}
.s-res .rw:last-child{border:0}
.s-res .rw .ic{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-size:18px}
.s-res .rw .v{margin-left:auto;font:900 16px var(--f-b)}
.s-res .stamp{animation:st .7s cubic-bezier(.2,1.4,.4,1) both}
@keyframes st{from{transform:rotate(-30deg) scale(2);opacity:0}}
.s-res .stamp:before{content:"";position:absolute;inset:-26px;border-radius:50%;background:radial-gradient(circle,rgba(242,182,50,.5),transparent 70%);z-index:-1;animation:gl 2.4s ease-in-out infinite}
@keyframes gl{50%{opacity:.4;transform:scale(1.1)}}
.s-res .mxb{margin:0 14px 10px;padding:8px 10px;border-radius:14px;background:#F2F8F7;border:1px dashed #9CC9C4}
.s-res .mxb .eq{gap:3px;display:flex;align-items:center;justify-content:space-between;font:900 14px var(--f-b);color:var(--ink)}
.s-res .mxb .eq span{display:flex;flex-direction:column;align-items:center;line-height:1.05}
.s-res .mxb .eq small{white-space:nowrap;font:700 9px var(--f-b);color:var(--ink-3);letter-spacing:.3px}
.s-res .mxb .eq i{font-style:normal;color:var(--ink-3)}
.s-res .mxb .eq b{font:900 16px var(--f-b);color:#0F6E6E}
.s-res .capbar{position:relative;height:6px;border-radius:3px;background:#DCEBE9;margin:6px 0 5px}
.s-res .capbar b{position:absolute;inset:0 auto 0 0;border-radius:3px;background:#0F6E6E}
.s-res .mxb .cn{font:600 10.5px/1.35 var(--f-b);color:var(--ink-2)}
html.lg .mxb .eq{font-size:16px}
html.lg .mxb .cn{font-size:13px}
html.lg .mxb .eq small{font-size:11px}
html.hc .mxb{background:#fff;border:2px solid #000}
html.hc .capbar b{background:#000}
.s-res .unlock{animation:ul .6s 2.2s ease both;margin:12px 18px 0;padding:12px 14px;border-radius:18px;background:linear-gradient(90deg,var(--maroon),var(--k9a2d36));color:#fff;display:flex;align-items:center;gap:12px;box-shadow:var(--sh-2)}
@keyframes ul{from{opacity:0;transform:translateY(14px)}}
.scr.s-streak.tex{background:linear-gradient(180deg,var(--k3e0d15) 0,var(--k6a1b26) 300px,var(--parch) 300px)}
.s-streak .lamp{position:relative;height:200px;display:grid;place-items:center}
.s-streak .lamp .g{position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,190,90,.55),rgba(255,190,90,0) 65%)}
.s-streak .big{font:400 64px/1 var(--f-d);color:#FFE3B0;text-align:center}
.s-streak .wkc{margin:-30px 18px 0;padding:14px;border-radius:22px;background:var(--card);box-shadow:var(--sh-2);border:1px solid var(--line);position:relative}
.s-streak .wkr{display:flex;justify-content:space-between}
.s-streak .dy{text-align:center}
.s-streak .dl{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:20px;background:var(--parch-2)}
.s-streak .dl.on{background:radial-gradient(circle,#FFE9B8,#F6C46B)}
.s-streak .dl.today{border:2.5px dashed var(--saffron);background:#fff}
.s-streak .dy span{font:800 11px var(--f-b);color:var(--ink-3)}
.s-streak .dq{margin:12px 18px 0;padding:14px 16px;border-radius:20px;background:linear-gradient(120deg,#FFF1C9,#FFE3C7);border:1.5px solid #F3CF8C}
.s-streak .dop{display:flex;gap:8px}
.s-streak .dop button{flex:1;height:48px;border-radius:14px;border:2px solid #F0CF95;background:#fff;font:900 15px var(--f-b);color:var(--ink);box-shadow:0 3px 0 #F0CF95;cursor:pointer}
.s-streak .dop button.ok{background:var(--leaf);border-color:var(--leaf);color:#fff;box-shadow:0 3px 0 #2A6B42}
.s-streak .dop button.no{background:#FBE3E5;border-color:#A8343C;color:#8A2030}
.s-streak .ms{display:flex;justify-content:space-between;margin:12px 18px 0}
.s-streak .m{flex:1;margin:0 3px;text-align:center;padding:8px 0;border-radius:14px;background:var(--card);border:1.5px solid var(--line);font:900 15px var(--f-b)}
.s-streak .m span{display:block;font:700 9.5px var(--f-b);color:var(--ink-3)}
.s-streak .m.d{border-color:var(--saffron);background:var(--saffron-l);color:var(--saffron-d)}
.s-prasad .smp{display:inline-flex;align-items:center;height:17px;padding:0 7px;border-radius:8px;background:#FFF1C9;color:#7A4A00;border:1px dashed #C9A23A;font:900 9px var(--f-b);letter-spacing:.8px}
.s-prasad .hd{display:flex;justify-content:space-between;align-items:flex-end;padding:4px 18px 0}
.s-prasad .sub{font:600 13px/1.4 var(--f-b);color:var(--ink-2)}
html.lg .sub{font-size:16px}
html.hc .sub{color:#000}
.s-prasad .pz{margin:6px 16px 0;padding:8px 12px;border-radius:14px;background:#EAF5EC;border:1px solid #BFE0C8;font:700 12px var(--f-b);color:#1F5E36}
.s-prasad .box{position:relative;width:220px;height:220px;margin:26px auto 0;cursor:pointer}
.s-prasad .box .bx{position:absolute;left:30px;right:30px;bottom:10px;height:120px;border-radius:16px;background:linear-gradient(#A84B08,#7A1F2B);box-shadow:0 14px 30px rgba(122,31,43,.35)}
.s-prasad .box .rb{position:absolute;left:100px;width:20px;top:70px;bottom:10px;background:#F2B632}
.s-prasad .box .lid{position:absolute;left:20px;right:20px;top:58px;height:40px;border-radius:12px;background:linear-gradient(#E8751A,#A84B08);transition:.5s cubic-bezier(.3,1.6,.5,1);transform-origin:20% 100%}
.s-prasad .box .lid:after{content:"";position:absolute;left:80px;width:20px;top:0;bottom:0;background:#F2B632}
.s-prasad .box .bow{position:absolute;left:84px;top:30px;font-size:44px;transition:.4s}
.s-prasad .box.sh{animation:wb .5s ease-in-out 2}
@keyframes wb{25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}
.s-prasad .box.op .lid{transform:translateY(-30px) rotate(-24deg);opacity:.9}
.s-prasad .box.op .bow{transform:translateY(-90px);opacity:0}
.s-prasad .glow{position:absolute;left:50%;top:60%;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 0 rgba(255,214,120,.0);transition:.6s}
.s-prasad .box.op .glow{box-shadow:0 0 90px 70px rgba(255,214,120,.75)}
.s-prasad .inside{margin:6px 18px 0;text-align:center;font:700 13px/1.4 var(--f-b);color:var(--ink-2)}
.s-prasad .inside b{color:var(--ink)}
.s-prasad .its{display:flex;gap:8px;justify-content:center;margin:14px 12px 0}
.s-prasad .it{width:108px;padding:10px 6px;border-radius:16px;background:#fff;border:1px solid var(--line);text-align:center;opacity:0;transform:translateY(30px) scale(.6)}
.s-prasad .it.on{animation:ir .6s cubic-bezier(.2,1.5,.4,1) forwards}
@keyframes ir{to{opacity:1;transform:none}}
.s-prasad .it .e{font-size:30px}
.s-prasad .it b{display:block;font:900 15px var(--f-b);color:var(--ink)}
.s-prasad .it span{font:600 11px/1.3 var(--f-b);color:var(--ink-3)}
.s-prasad .it.sp{border:2px solid #4B2A78;background:#F3ECFA}
.s-prasad .tap{margin:8px auto 0;text-align:center;font:900 13px var(--f-b);color:var(--saffron-d);letter-spacing:1px;animation:bl 1.2s infinite}
@keyframes bl{50%{opacity:.4}}
html.lg .inside{font-size:16px}
html.hc .it{border:2px solid #000}
html.hc .pz{background:#fff;border:2px solid #000;color:#000}
.scr.s-res.tex,.scr.s-prasad.tex{background:radial-gradient(circle at 20% 10%,var(--tex-1,#fff8ea) 0,transparent 40%),radial-gradient(circle at 90% 80%,var(--tex-2,#f5e4c4) 0,transparent 45%),var(--parch)}

/* ==== M6 (scoped from designs 07,08,10,11,12,14,27,28) ==== */
/* 07-stages */

.s-stages .cur{margin:12px 18px 0;padding:14px 16px;border-radius:20px;background:linear-gradient(120deg,var(--saffron),var(--kf29a3e));color:#fff;box-shadow:0 5px 0 var(--saffron-d)}
.s-stages .cur .bar{background:rgba(255,255,255,.35);margin-top:8px}
.s-stages .cur .bar b{background:#fff}
.s-stages .kms{position:absolute;left:12px;right:12px;bottom:92px;display:flex;gap:6px;justify-content:space-between}
.s-stages .km{flex:1;text-align:center;padding:6px 0;border-radius:12px;background:var(--card);border:1.5px solid var(--line);font:900 12px var(--f-b)}
.s-stages .km.d{background:var(--maroon);color:#fff;border-color:var(--maroon)}
.s-stages .km span{display:block;font:700 9px var(--f-b);opacity:.75}
/* 08-sets */

.s-sets .feat{margin:14px 18px 0;padding:16px;border-radius:24px;background:var(--card);border:1px solid var(--line);box-shadow:var(--sh-2)}
.s-sets .mg{display:grid;grid-template-columns:repeat(6,1fr);gap:8px 4px;margin-top:14px}
.s-sets .md{text-align:center;min-width:0}
.s-sets .mc{width:42px;height:42px;margin:0 auto;border-radius:50%;background:var(--parch-2);border:2px dashed #D9C3A0;display:grid;place-items:center;color:#C9B595;font:900 18px var(--f-b)}
.s-sets .md.on .mc{background:linear-gradient(#F2B632,#E8751A);border:2px solid #fff;box-shadow:0 0 0 2px var(--saffron),0 4px 10px var(--krgba232117264);font-size:18px}
.s-sets .md span{display:block;font:700 9.5px var(--f-b);color:var(--ink-2);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s-sets .sg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 18px 0}
.s-sets .sc{padding:14px 8px 12px;border-radius:18px;background:var(--card);border:1px solid var(--line);text-align:center;display:flex;flex-direction:column;align-items:center}
/* 10-stories */

.s-stories .seg{display:flex;gap:6px;margin:12px 18px 0;overflow:hidden}
.s-stories .pc{margin:12px 18px 0;padding:14px 16px;border-radius:20px;background:var(--card);border:1px solid var(--line);box-shadow:var(--sh-1)}
.s-stories .av{width:38px;height:38px;border-radius:50%;color:#fff;display:grid;place-items:center;font:900 15px var(--f-b)}
.s-stories .fabw{position:absolute;right:18px;bottom:100px;height:52px;padding:0 20px;border-radius:26px;background:var(--maroon);color:#fff;display:flex;align-items:center;gap:8px;font:900 15px var(--f-b);box-shadow:0 5px 0 var(--maroon-d),0 10px 22px var(--krgba122314335)}
/* 11-filters */

.s-filt .dim{position:absolute;inset:0;background:rgba(43,27,18,.45)}
.s-filt .fs{position:absolute;left:0;right:0;bottom:0;top:150px;background:var(--card);border-radius:28px 28px 0 0;padding:12px 18px 0}
.s-filt .grp{margin-top:14px}
.s-filt .grp .cs{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
/* 12-profile */

.s-prof .ph{background:linear-gradient(160deg,var(--maroon),var(--k9a2d36));color:#fff;padding:0 20px 56px;border-radius:0 0 32px 32px}
.s-prof .avb{width:72px;height:72px;border-radius:50%;background:linear-gradient(#F2B632,#E8751A);border:4px solid rgba(255,255,255,.7);display:grid;place-items:center;font:400 32px var(--f-d)}
.s-prof .stats{display:grid;grid-template-columns:repeat(4,1fr);margin:-40px 18px 0;background:var(--card);border-radius:20px;box-shadow:var(--sh-2);border:1px solid var(--line);position:relative}
.s-prof .stats div{padding:12px 0;text-align:center}
.s-prof .stats b{display:block;font:900 18px var(--f-b);color:var(--maroon)}
.s-prof .stats span{font:700 10.5px var(--f-b);color:var(--ink-3)}
.s-prof .pp{margin:14px 18px 0;padding:14px;border-radius:20px;background:#F7EBD3;border:1.5px solid #E2CBA0}
.s-prof .stw{display:flex;gap:10px;margin-top:10px}
.s-prof .stp{flex:1;aspect-ratio:1;border-radius:50%;border:3px double var(--c);color:var(--c);display:grid;place-content:center;text-align:center;background:rgba(255,255,255,.5)}
.s-prof .stp b{font:400 12px var(--f-d)}
.s-prof .stp span{font:800 7.5px var(--f-b);letter-spacing:.5px;text-transform:uppercase}
.s-prof .set{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font:700 14px var(--f-b)}
.s-prof .tg{margin-left:auto;width:42px;height:24px;border-radius:12px;background:#DCCBAE;position:relative}
.s-prof .tg:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff}
.s-prof .tg.on{background:var(--leaf)}
.s-prof .tg.on:after{left:21px}
/* 14-kids */

.scr.s-kids.tex{background:linear-gradient(180deg,#D6EEEA 0,#FBF3E4 45%)}
.s-kids .kh{display:flex;align-items:center;gap:10px;padding:4px 18px}
.s-kids .stars{flex:1;display:flex;gap:6px;justify-content:center;font-size:24px}
.s-kids .buddy{margin:10px 18px 0;display:flex;gap:12px;align-items:flex-end}
.s-kids .bub{flex:1;background:#fff;border-radius:22px 22px 22px 6px;padding:14px 16px;font:700 17px/1.4 var(--f-b);color:var(--ink);box-shadow:var(--sh-1);border:2px solid #BFE0DA}
.s-kids .face{width:74px;height:74px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#FFE3C7,#F2B632);display:grid;place-items:center;font-size:40px;border:4px solid #fff;box-shadow:var(--sh-1)}
.s-kids .listen{margin:12px 18px 0;height:64px;border-radius:22px;background:var(--peacock);color:#fff;display:flex;align-items:center;gap:12px;padding:0 18px;font:900 18px var(--f-b);box-shadow:0 5px 0 #0A4F4F}
.s-kids .ko{margin:12px 18px 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.s-kids .kb{height:150px;border-radius:24px;background:#fff;border:3px solid var(--line);box-shadow:0 6px 0 var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font:900 17px var(--f-b);color:var(--ink);cursor:pointer}
.s-kids .kb i{font-size:52px;font-style:normal}
.s-kids .kb.ok{border-color:var(--leaf);background:#DDF1E2;box-shadow:0 6px 0 var(--leaf)}
.s-kids .kb.no{opacity:.45}
/* 27-break */

.s-brk .smp{display:inline-flex;align-items:center;height:17px;padding:0 7px;border-radius:8px;background:#FFF1C9;color:#7A4A00;border:1px dashed #C9A23A;font:900 9px var(--f-b);letter-spacing:.8px}
.s-brk .hd{display:flex;justify-content:space-between;align-items:flex-end;padding:4px 18px 0}
.s-brk .sub{font:600 13px/1.4 var(--f-b);color:var(--ink-2)}
.s-brk html.lg .sub{font-size:16px}
.s-brk html.hc .sub{color:#000}
.s-brk .bg{position:absolute;inset:0;background:linear-gradient(#F6D9A8,#E9B97A);}
.s-brk .bg .tp{position:absolute;left:50%;top:150px;transform:translateX(-50%);font-size:120px;filter:saturate(.8)}
.s-brk .bg .lb{position:absolute;top:118px;left:0;right:0;text-align:center;font:800 13px var(--f-b);color:#6B4A2E;letter-spacing:.08em}
.s-brk .dim{position:absolute;inset:0;background:rgba(40,24,12,.35);opacity:0;transition:.5s}
.s-brk .dim.o{opacity:1}
.s-brk .sh{position:absolute;left:0;right:0;bottom:0;background:#FFFBF2;border-radius:28px 28px 0 0;padding:14px 22px 34px;transform:translateY(105%);transition:transform .6s cubic-bezier(.2,.9,.3,1)}
.s-brk .sh.o{transform:none}
.s-brk .gr{width:42px;height:5px;border-radius:3px;background:#E3D6C0;margin:0 auto 14px}
.s-brk .lf{font-size:46px;text-align:center}
.s-brk .sh h2{font:500 27px/1.15 var(--f-d);color:var(--maroon);text-align:center;margin:6px 0 8px}
.s-brk .sh p{font:600 14.5px/1.45 var(--f-b);color:var(--ink-2);text-align:center;margin:0 0 14px}
.s-brk .st{display:flex;gap:8px;justify-content:center;margin-bottom:16px}
.s-brk .st span{background:var(--parch-2);border-radius:12px;padding:7px 10px;font:800 12px var(--f-b);color:var(--ink-2)}
.s-brk .b1{display:block;width:100%;height:50px;border:0;border-radius:16px;background:#0F6E6E;color:#fff;font:900 16px var(--f-b);margin-bottom:9px}
.s-brk .b2{display:block;width:100%;height:46px;border-radius:16px;background:#fff;border:1.5px solid var(--line);color:var(--ink);font:800 15px var(--f-b)}
.s-brk .nt2{font:600 11.5px/1.4 var(--f-b);color:var(--ink-3);text-align:center;margin-top:12px}
.s-brk .rest{position:absolute;inset:0;background:linear-gradient(#2B3A55,#5B4A6E);display:none;flex-direction:column;align-items:center;justify-content:center;color:#FFF3DA;text-align:center;padding:30px}
.s-brk .rest.o{display:flex}
.s-brk .rest .m{font-size:70px}
.s-brk .rest h2{font:500 30px var(--f-d);margin:10px 0}
.s-brk .rest p{font:600 15px/1.5 var(--f-b);opacity:.9}
/* 28-kids-time */

.s-ktime .smp{display:inline-flex;align-items:center;height:17px;padding:0 7px;border-radius:8px;background:#FFF1C9;color:#7A4A00;border:1px dashed #C9A23A;font:900 9px var(--f-b);letter-spacing:.8px}
.s-ktime .hd{display:flex;justify-content:space-between;align-items:flex-end;padding:4px 18px 0}
.s-ktime .sub{font:600 13px/1.4 var(--f-b);color:var(--ink-2)}
.s-ktime html.lg .sub{font-size:16px}
.s-ktime html.hc .sub{color:#000}
.s-ktime .gate{margin:14px;padding:18px;border-radius:20px;background:#fff;border:2px solid #E8C77A;text-align:center}
.s-ktime .gate b{font:800 15px var(--f-b);display:block;color:var(--ink)}
.s-ktime .gate .q{font:500 30px var(--f-d);color:var(--maroon);margin:10px 0}
.s-ktime .kp{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.s-ktime .kp button{height:44px;border-radius:12px;border:1.5px solid var(--line);background:var(--parch-2);font:900 17px var(--f-b)}
.s-ktime .set2{display:none}
.s-ktime .set2.o{display:block}
.s-ktime .cd2{margin:10px 14px 0;background:#fff;border-radius:18px;border:1px solid var(--line);padding:13px}
.s-ktime .cd2 h3{margin:0 0 8px;font:800 14.5px var(--f-b);color:var(--ink)}
.s-ktime .ps{display:flex;gap:7px}
.s-ktime .ps button{flex:1;height:44px;border-radius:13px;border:1.5px solid var(--line);background:#fff;font:900 15px var(--f-b);color:var(--ink)}
.s-ktime .ps button.on{background:#0F6E6E;color:#fff;border-color:#0F6E6E}
.s-ktime .sc{display:flex;justify-content:space-between;font:700 13px/1.9 var(--f-b);color:var(--ink-2)}
.s-ktime .sc b{color:var(--maroon)}
.s-ktime .cd2 p{margin:0;font:600 12.5px/1.45 var(--f-b);color:var(--ink-2)}
.s-ktime .pv{display:block;margin:12px 14px;width:calc(100% - 28px);height:48px;border:0;border-radius:16px;background:var(--saffron-d,#C2560C);color:#fff;font:900 15px var(--f-b)}
.s-ktime .wd{position:absolute;inset:0;background:linear-gradient(#FFE6B8,#F6B77A);display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}
.s-ktime .wd.o{display:flex}
.s-ktime .wd .m{font-size:80px}
.s-ktime .wd h2{font:500 32px var(--f-d);color:var(--maroon);margin:8px 0}
.s-ktime .wd p{font:700 15px/1.5 var(--f-b);color:#5E4636}
/* tour (fx.js) */
.tdim{position:absolute;inset:0;z-index:80}
.tspot{position:absolute;border-radius:18px;box-shadow:0 0 0 2000px rgba(30,14,8,.66);border:2.5px solid #F2B632;transition:all .35s ease;pointer-events:none}
.tspot:after{content:"";position:absolute;inset:-8px;border-radius:24px;border:2px solid rgba(242,182,50,.5);animation:tp 1.6s ease-out infinite}
.ttip{position:absolute;left:18px;right:18px;background:#FFFDF8;border-radius:20px;padding:14px 16px;box-shadow:0 14px 34px rgba(0,0,0,.35);font-family:'Nunito Sans',sans-serif;transition:top .35s ease}
.ttip .k{font:900 10.5px 'Nunito Sans';letter-spacing:1.3px;color:#A84B08;text-transform:uppercase}
.ttip .t{font:400 20px Marcellus,serif;color:#7A1F2B;margin:3px 0 4px}
.ttip p{margin:0;font:600 13.5px/1.45 'Nunito Sans';color:#4A3426}
.ttip .r{display:flex;align-items:center;margin-top:12px;gap:10px}
.ttip .r i{flex:1;display:flex;gap:4px}
.ttip .r i b{width:7px;height:7px;border-radius:50%;background:#E8D8BC}
.ttip .r i b.on{background:#E8751A;width:18px;border-radius:4px}
.ttip button{border:0;border-radius:14px;height:38px;padding:0 16px;font:900 14px 'Nunito Sans';cursor:pointer}
.ttip .nx{background:#E8751A;color:#fff;box-shadow:0 3px 0 #A84B08}
.ttip .sk{background:none;color:#8A7260}
.ttip'))return;
    if(!a.dataset.silent)FX.play('tap',8);
    const h=a.getAttribute('href');if(h&&/\.html/.test(h)&&!a.target){e.preventDefault();s.classList.add('leave');setTimeout(()=>location.href=h,170)}
@keyframes tp{0%{transform:scale(.96);opacity:1}100%{transform:scale(1.08);opacity:0}}.scr.s-stages.tex,.scr.s-sets.tex,.scr.s-stories.tex,.scr.s-prof.tex,.scr.s-ktime.tex{background:radial-gradient(circle at 20% 10%,var(--tex-1,#fff8ea) 0,transparent 40%),radial-gradient(circle at 90% 80%,var(--tex-2,#f5e4c4) 0,transparent 45%),var(--parch);background-attachment:local}
.scr.kidsq .op{min-height:72px;font-size:20px;border-radius:22px}
.s-ktime .gate.off{display:none}

/* Cosmetics (src/engine/cosmetics.js): looks only. */
.s-prof .lk{margin-top:10px}.s-prof .lkr{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.s-prof .lkb{font:800 12px var(--f-b);padding:7px 11px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--ink-2);cursor:pointer}
.s-prof .lkb.on{border-color:var(--saffron-d);background:#FFF1DE;color:var(--saffron-d)}.s-prof .lkb.rare{box-shadow:inset 0 0 0 1px #E2B23C}
.s-prasad .its{flex-wrap:wrap}
.s-prasad .dupmsg{flex:0 0 100%;display:flex;justify-content:center;margin:4px 0 0;background:none;padding:0;text-decoration:none}
.s-prasad .dupmsg>span{display:inline-block;max-width:300px;text-align:center;font:800 13px/1.3 var(--f-b);padding:7px 14px;border-radius:999px;background:#FFF1C9;color:var(--maroon);border:1px solid #F0D79A}
#app[data-lamp=c1] .s-prof .avb{border-color:#B5663A;box-shadow:0 0 0 4px #E9B48C}
#app[data-lamp=c2] .s-prof .avb{border-color:#F2A81D;box-shadow:0 0 0 4px #F7C64B,0 0 0 8px #E8751A}
#app[data-lamp=r] .s-prof .avb{border:4px solid #C9962B;box-shadow:0 0 0 3px #F4D47C,0 0 18px 4px rgba(242,182,50,.7)}
#app[data-stamp=c1] .s-res .stamp,#app[data-stamp=c1] .s-prof .stp{border-color:#A8343C;color:#A8323A;background:radial-gradient(circle,#FFF3F2 55%,#FBDCDC)}
#app[data-stamp=c2] .s-res .stamp,#app[data-stamp=c2] .s-prof .stp{border-style:dotted;border-color:#0F6E6E;color:#0F6E6E;background:repeating-radial-gradient(circle,#F2FBF8 0 6px,#E0F2EC 6px 8px)}
#app[data-stamp=r] .s-res .stamp,#app[data-stamp=r] .s-prof .stp{border-color:#B8862A;color:#7A5410;background:linear-gradient(135deg,#FFF4D0,#F2D27A 60%,#FFF1C2)}
#app[data-cardback=c1] .s-quiz .qc,#app[data-cardback=c1] .s-verse .vc{background-image:repeating-linear-gradient(45deg,rgba(232,117,26,.07) 0 8px,transparent 8px 16px)}
#app[data-cardback=c2] .s-quiz .qc,#app[data-cardback=c2] .s-verse .vc{background-image:radial-gradient(circle at 20% 20%,rgba(15,110,110,.10),transparent 40%),radial-gradient(circle at 80% 80%,rgba(30,80,160,.10),transparent 40%);border-color:#7FB8B3}
#app[data-cardback=r] .s-quiz .qc,#app[data-cardback=r] .s-verse .vc{background-image:radial-gradient(rgba(201,150,43,.28) 1px,transparent 1.5px);background-size:14px 14px;border-color:#E2B23C}
.toast .tfact{font:700 12px/1.35 var(--f-b);margin-top:4px;max-width:300px;white-space:normal}.toast .tsrc{font:600 10px var(--f-b);opacity:.75;margin-top:3px}
.toast:has(.tfact){white-space:normal;width:min(340px,88vw);text-align:left}
/* Beta 1 (KVK feedback, 26 Oct 2026) */


.calm2d{position:absolute;right:12px;top:calc(158px + env(safe-area-inset-top));z-index:3;opacity:.92}
.scr[style*="overflow-y"]{padding-bottom:calc(96px + env(safe-area-inset-bottom));box-sizing:border-box}
.howto{position:absolute;inset:0;z-index:60;background:rgba(43,27,18,.62);display:grid;place-items:center;padding:20px}
.howto .hc{background:var(--card);border-radius:24px;padding:20px 20px 16px;box-shadow:0 18px 40px rgba(0,0,0,.35);max-width:340px}
.howto .k{font:900 11px var(--f-b);letter-spacing:1.5px;text-transform:uppercase;color:var(--saffron-d)}
.howto .hi{font-size:40px;margin:8px 0 2px}.howto .t{font:400 24px var(--f-d);color:var(--maroon)}
.howto p{font:600 14px/1.5 var(--f-b);color:var(--ink-2);margin:8px 0 14px}
.howto .r{display:flex;align-items:center;gap:8px}.howto .r i{flex:1;display:flex;gap:5px}.howto .r i b{width:8px;height:8px;border-radius:4px;background:#E3D2B4}.howto .r i b.on{background:var(--saffron);width:20px}
.howto button{border:0;border-radius:14px;font:900 14px var(--f-b);height:42px;padding:0 16px;cursor:pointer}.howto .sk{background:transparent;color:var(--ink-3)}.howto .nx{background:var(--maroon);color:#fff}
.s-stories .seg{flex-wrap:wrap;overflow:visible}
.s-stories .tsl{position:relative;padding-bottom:110px}
.s-stories .ts{margin:10px 18px 0;padding:12px 14px;border-radius:16px;background:var(--card);border:1.5px solid var(--line)}
.s-stories .ts .f{font:600 13px/1.45 var(--f-b);color:var(--ink);margin-top:6px}.s-stories .ts .w{font:800 11.5px var(--f-b);color:var(--peacock);margin-top:8px}
.s-stories .ts .src{font:700 11px var(--f-b);color:var(--ink-3);margin-top:3px}
.s-filt .fs{overflow-y:auto;padding-bottom:0}.s-filt .fs .ft{position:sticky;bottom:0;background:var(--card);padding:10px 0 calc(14px + env(safe-area-inset-bottom));margin-top:6px}
.s-filt .chip[role=button]{cursor:pointer;user-select:none}.s-filt .chip.on:before{content:"✓"}
.fltr{position:absolute;top:142px;left:12px;z-index:6;display:flex;gap:6px;align-items:center}
.s-prof .lkb.lock{opacity:.5;filter:grayscale(1);cursor:not-allowed;border-style:dashed}
.s-prof .lkb small{font:900 9.5px var(--f-b);letter-spacing:.6px;text-transform:uppercase;margin-left:5px;color:var(--ink-3)}.s-prof .lkb.rare small{color:#7D5A00}
.s-prof .lkn{font:600 11px/1.4 var(--f-b);color:var(--ink-3);margin-top:5px}
/* beta7: passport shows every stamp in yatra order with its date */
.s-prof .stw{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.s-prof .stp{flex:none;min-width:0;padding:6px}
.s-prof .stp em{font:900 11px var(--f-b);font-style:normal;opacity:.85}
.s-prof .stp b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:88px}
.s-prof .stp small{font:700 8px var(--f-b);opacity:.8;margin-top:2px}
.s-stories .ym{border-top:1px dashed var(--line);margin-top:10px}
.tsl .ts[hidden]{display:none}
/* beta16 colour themes: Profile > Appearance */
.thg{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,132px),1fr));gap:8px}
.thc{display:flex;flex-direction:column;gap:6px;align-items:stretch;padding:8px;border-radius:14px;border:2px solid var(--line);background:var(--card);color:var(--ink);font:800 12.5px/1.25 var(--f-b);text-align:left;cursor:pointer;min-width:0}
.thc.on{border-color:var(--maroon);box-shadow:0 0 0 2px var(--maroon) inset}.thc[disabled]{cursor:default;opacity:.8}.thc[disabled]:not(.on){opacity:.55}
.thsw{display:flex;height:28px;border-radius:9px;overflow:hidden;border:1px solid rgba(0,0,0,.12)}.thsw i{flex:1}.thsw i:nth-child(1){background:var(--tp)}.thsw i:nth-child(2){background:var(--tb)}.thsw i:nth-child(3){background:var(--ta)}
.thn{overflow-wrap:anywhere}
.thp{margin-top:10px;padding:10px;border-radius:14px;background:var(--pv-bg);border:1px solid var(--line)}.thp-h{font:800 11px var(--f-b);letter-spacing:1.2px;text-transform:uppercase;color:var(--pv-2)}
.thp-c{margin:6px 0 8px;padding:8px 10px;border-radius:12px;background:var(--pv-s);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;color:var(--pv-t);font:700 13px var(--f-b)}.thp-c b{color:var(--pv-p);font:400 17px var(--f-d)}.thp-c span{color:var(--pv-2)}
.thp .btn{background:var(--pv-btn);color:var(--pv-on);box-shadow:none}
