/* Chùa 3D online (zipwork121): tông sơn mài tối, chỉ áp trong .c3v, không đụng app.css */
.c3v{--bg:#1b0906;--panel:#2a100b;--panel2:#3a1a0f;--line:#5a2a17;--fg:#f6e6c8;--muted:#cdb38f;--gold:#f3cf7a;--ok:#7fe0b0;--fd:"Noto Serif",Georgia,"Times New Roman",serif;background:var(--bg);color:var(--fg);color-scheme:dark}
.c3v *{box-sizing:border-box}
.c3-wrap{max-width:1100px;margin:0 auto;padding:4px max(16px,env(safe-area-inset-right,0px)) 48px max(16px,env(safe-area-inset-left,0px));display:grid;gap:16px;min-width:0}
.c3v .crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--muted);padding:12px 0 0}.c3v .crumbs a{color:inherit}
.c3-tag{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.c3v h1{font-family:var(--fd);font-size:clamp(24px,4vw,34px);line-height:1.25;margin:4px 0;color:var(--fg);text-wrap:balance}
.c3v h2{font-family:var(--fd);font-size:21px;margin:0;color:var(--fg)}
.c3-lead{margin:0;color:var(--muted);max-width:70ch}
.c3-stage{position:relative;border-radius:18px;overflow:hidden;border:2px solid #b8862b;background:#140604 center/cover no-repeat;max-width:100%}
#c3d{width:100%;aspect-ratio:16/9;cursor:grab;touch-action:pan-y}#c3d canvas{display:block}
@media(max-width:640px){#c3d{aspect-ratio:4/5}.c3-stage{background-size:cover}}
.c3-cap{position:absolute;left:12px;top:12px;right:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;pointer-events:none}
.c3-cap span{background:rgb(20 6 4/.72);border-radius:999px;padding:6px 12px;font-size:13px}.c3-cap b{color:var(--gold)}
.c3-nav{position:absolute;left:12px;right:12px;bottom:12px;display:flex;justify-content:space-between;gap:8px}
.c3-nb{background:rgb(20 6 4/.78);color:var(--fg);border:1px solid var(--line);border-radius:12px;padding:10px 16px;font:inherit;font-weight:700;cursor:pointer}
.c3-nb.go{background:linear-gradient(180deg,#c9332a,#7a1209);border-color:#c9332a;color:#fff}.c3-nb:disabled{opacity:.4;cursor:default}
.c3v button:focus-visible,.c3v a:focus-visible,.c3v summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.c3-path{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}
.c3-chip{flex:none;display:flex;gap:8px;align-items:center;background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:7px 14px 7px 7px;font:inherit;font-size:13.5px;cursor:pointer}
.c3-chip span{width:24px;height:24px;border-radius:50%;background:var(--panel2);display:grid;place-items:center;font-weight:700;font-size:12px;color:var(--fg)}
.c3-chip.done{color:var(--fg)}.c3-chip.on{border-color:var(--gold);color:var(--fg);background:#4a2410}.c3-chip.on span{background:var(--gold);color:#3b1408}
.c3-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;display:grid;gap:12px;min-width:0}
.c3-card p{margin:0}.c3-mut{color:var(--muted);font-size:13.5px}
.c3-act{justify-self:start;background:linear-gradient(180deg,#f3cf7a,#c99a3a);color:#3b1408;border:0;border-radius:12px;padding:11px 18px;font:inherit;font-weight:700;cursor:pointer}
.c3-act:disabled{opacity:.6;cursor:default}
.c3-ok{color:var(--ok)}
.c3-xam{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;background:#fff4dc;color:#3a1a10;border-radius:14px;padding:14px 16px}
.c3-xam .no{font-family:var(--fd);font-weight:700;font-size:13px;color:#9b1c12;text-align:center;border:2px solid #9b1c12;border-radius:10px;padding:8px 10px;line-height:1.2}.c3-xam .no b{display:block;font-size:30px}
.c3-xam .tho{margin:0 0 8px;font:600 16px/1.7 var(--fd)}.c3-xam p{font-size:14px;margin:0 0 6px}
@media(max-width:480px){.c3-xam{grid-template-columns:1fr}.c3-xam .no{justify-self:start}}
.c3-kinh{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:8px}
.c3-kb{all:unset;box-sizing:border-box;cursor:pointer;padding:10px 12px;border-radius:12px;background:var(--panel2);border:1px solid var(--line);display:grid;gap:2px}
.c3-kb b{font-size:15px}.c3-kb small{color:var(--muted);font-size:12.5px}
.c3-kb[aria-pressed=true]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}
.c3-kb[disabled]{opacity:.5;cursor:not-allowed}.c3-kb:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.c3-kctl{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.c3-kctl label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:14px}
.c3-ktext{max-height:260px;overflow:auto;padding:12px 14px;border-radius:12px;background:#1f0b07;border:1px solid var(--line);font-family:var(--fd);font-size:16.5px;line-height:1.7}
.c3-ktext p{margin:0 0 6px;color:#bfa585;transition:color .3s}.c3-ktext p.on{color:var(--gold);font-weight:700}.c3-ktext p.done{color:#e8d6b6}
.c3-knote{font-size:13px;color:var(--muted);margin:0}
.c3-gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
.c3-gal figure{margin:0;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}.c3-gal img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.c3-gal figcaption{padding:10px 12px;font-size:13.5px;color:var(--muted)}.c3-gal figcaption b{color:var(--fg)}
.c3-cm{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px;margin:0;padding:0;list-style:none}
.c3-cm li{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:13.5px}.c3-cm b{display:block;color:var(--gold)}
.c3-faq{display:grid;gap:8px}.c3-faq details{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.c3-faq summary{cursor:pointer;font-weight:700}.c3-faq p{margin:8px 0 0;color:var(--muted)}
.c3-more{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px}
.c3-more a{display:grid;gap:2px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#3a1a0f,#5a140c);color:var(--fg);text-decoration:none;border:1px solid var(--line)}
.c3-more b{color:var(--gold)}.c3-more small{color:var(--muted)}
.c3-kctl label{flex-direction:row;margin:0;font-weight:400}.c3-kctl input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:#f3cf7a}
/* zipwork122: lịch âm, nhân vật, nhang, thiền, sổ tinh tấn */
.c3-lich{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px 14px}
.c3-lich.fest{background:linear-gradient(135deg,#5a140c,#7a2a0c);border-color:#b8862b}
.c3-lich>div{flex:1;min-width:200px}.c3-lich b{display:block}.c3-lich small{color:var(--muted)}.c3-moon{font-size:26px}
.c3-link{all:unset;cursor:pointer;color:var(--gold);font-size:13.5px;text-decoration:underline;text-underline-offset:3px}
.c3-link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.c3-me{pointer-events:auto;margin-left:auto;background:rgb(20 6 4/.72);color:var(--fg);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.c3-cap .c3-nhb b{color:#ffb070}
.c3-row{display:flex;flex-wrap:wrap;gap:8px}
.c3-ghost{background:var(--panel2);color:var(--fg);border:1px solid var(--line)}
.c3-nh p{margin:0 0 6px;font-size:14px}.c3-nh-bar{height:6px;border-radius:6px;background:#5a2a17;overflow:hidden}.c3-nh-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ff8a3a,#f3cf7a);transition:width 1s linear}
.c3-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line)}
.c3-tabs button{all:unset;cursor:pointer;padding:8px 14px;border-radius:10px 10px 0 0;color:var(--muted);font-weight:700}
.c3-tabs button[aria-selected=true]{color:var(--fg);background:var(--panel2);box-shadow:inset 0 -2px 0 var(--gold)}
.c3-tabs button:focus-visible{outline:2px solid var(--gold)}
.c3-goi{background:#4a2410;border:1px solid #b8862b;border-radius:12px;padding:8px 12px;font-size:14px}
.c3-kb em{justify-self:start;font-style:normal;font-size:11px;font-weight:700;background:var(--gold);color:#3b1408;border-radius:999px;padding:1px 8px}
.c3-sws{display:flex;flex-wrap:wrap;gap:8px}
.c3-opt{background:var(--panel2);color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:8px 14px;font:inherit;font-size:14px;cursor:pointer}
.c3-opt.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}
.c3-sw{display:grid;justify-items:center;gap:4px;background:none;border:0;color:var(--muted);font:inherit;font-size:12px;cursor:pointer;padding:2px}
.c3-sw i{width:34px;height:34px;border-radius:50%;background:var(--c);border:2px solid rgb(255 255 255/.2)}
.c3-sw.on i{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}.c3-sw.on{color:var(--fg)}
.c3-th-run{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center}
@media(max-width:520px){.c3-th-run{grid-template-columns:1fr;justify-items:center;text-align:center}}
.c3-breath{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#f3cf7a33,#f3cf7a08 70%);border:2px solid #f3cf7a66;animation:c3b 10s ease-in-out infinite;font-family:var(--fd);font-size:18px;color:var(--gold)}
@keyframes c3b{0%{transform:scale(.78)}40%{transform:scale(1.05)}100%{transform:scale(.78)}}
@media(prefers-reduced-motion:reduce){.c3-breath{animation:none}}
.c3-th-clock{font:700 44px/1 var(--fd);color:var(--fg);font-variant-numeric:tabular-nums;margin-bottom:8px}
.c3-so-h{display:flex;justify-content:space-between;align-items:center}.c3-so-flame{font-size:34px}
.c3-so-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center;font-size:12px;color:var(--muted)}
.c3-so-week span{display:grid;justify-items:center;gap:4px}.c3-so-week i{width:28px;height:28px;border-radius:50%;background:var(--panel2);border:1px solid var(--line)}
.c3-so-week .on i{background:radial-gradient(circle,#f6c6d0,#d8738a);border-color:#f3cf7a}.c3-so-week .to{color:var(--fg);font-weight:700}
.c3-so-n{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
@media(max-width:520px){.c3-so-n{grid-template-columns:repeat(2,minmax(0,1fr))}}
.c3-so-n div{background:var(--panel2);border-radius:12px;padding:10px;text-align:center}.c3-so-n b{display:block;font:700 24px/1.1 var(--fd);color:var(--gold)}.c3-so-n small{color:var(--muted);font-size:12.5px}
.c3-dlg{background:var(--panel);color:var(--fg);border:1px solid #b8862b;border-radius:18px;padding:0;width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto}
.c3-dlg::backdrop{background:rgb(10 3 2/.6)}
.c3-dlg-h{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.c3-dlg-h h2{font-family:var(--fd);font-size:20px;margin:0;color:var(--fg)}
.c3-x{background:none;border:0;color:var(--muted);font-size:18px;cursor:pointer;padding:4px 8px}
.c3-dlg-b{padding:16px;display:grid;gap:14px}.c3-dlg-b p{margin:0}
.c3-f{display:grid;gap:6px}.c3-f>span{font-weight:700;font-size:14px}
.c3-f input{background:#1f0b07;color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;font-size:16px;width:100%}
/* zipwork123: chuẩn bị lễ ở nhà (tin mâm cúng, trái cây, thầy cúng gần khách) */
.c3-prep{scroll-margin-top:80px}
.c3-prep-h{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:flex-end;justify-content:space-between}.c3-prep-h>div{flex:1;min-width:240px}.c3-prep-h p{margin:4px 0 0}
.c3-prep-h .c3-act{text-decoration:none}
a.c3-act{display:inline-block;text-decoration:none}
.c3-prep-g{display:grid;gap:8px}
.c3-prep-gh{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.c3-prep-gh h3{margin:0;font-size:16px;color:var(--fg)}.c3-prep-gh a{color:var(--gold);font-size:13.5px;white-space:nowrap}
.c3-pcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px}
.c3-pc{display:grid;grid-template-rows:auto 1fr;background:var(--panel2);border:1px solid var(--line);border-radius:14px;overflow:hidden;position:relative;min-width:0}
.c3-pc .c3-pc-ph,.c3-pc .c3-pc-ph img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.c3-pc-nop{aspect-ratio:16/9;display:grid;place-items:center;font-size:44px;background:radial-gradient(circle at 50% 40%,#5a2a17,#2a100b)}
.c3-pc-bd{padding:10px 12px;display:grid;gap:4px;align-content:start}
.c3-pc h4{margin:0;font-size:14.5px;line-height:1.35;font-weight:600}.c3-pc h4 a{color:var(--fg);text-decoration:none}.c3-pc h4 a::after{content:"";position:absolute;inset:0}
.c3-pc h4 a:focus-visible{outline:none}.c3-pc:focus-within{outline:2px solid var(--gold)}
.c3-pc-p{color:var(--gold);font-size:15px}.c3-pc-p small{color:var(--muted);font-weight:400}.c3-pc-l{color:var(--muted);font-size:12.5px}
.c3-prep-note{margin:0;font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}.c3-prep-note a,.c3-prep .c3-mut a{color:var(--gold)}
@media(max-width:640px){.c3-pcs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.c3-pc{scroll-snap-align:start}.c3-prep-gh h3{font-size:15px}}
/* zipwork124: nút trời, âm thanh */
.c3-cap .c3-sky~.c3-me{margin-left:0}.c3-cap .c3-snd{padding:6px 10px;max-width:none}
.c3-cap .c3-sky[hidden]~.c3-snd{margin-left:auto}
@media (max-width:560px){.c3-cap .c3-sky{max-width:44%}.c3-cap .c3-me{font-size:12px;padding:5px 10px}}
@media (max-width:560px){.c3-cap .c3-sky span{display:none}}
.c3-cap .c3-sky span{background:none;padding:0;border-radius:0;font-size:inherit}
@media (max-width:560px){.c3-cap #where{margin-right:60%;white-space:nowrap;flex-shrink:0}.c3-cap .c3-sky{margin-left:auto}}
