:root{--ink: #2b241c;--paper: rgba(250, 245, 235, .88);--paper-solid: #f8f2e6;--line: rgba(80, 60, 40, .16);--gold: #b88a35;--gold-soft: #f2d48a;--wine: #7a1f23;--muted: #7b6d5c;--serif: "Cormorant Garamond", Georgia, serif;--sans: "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#15130f;font-family:var(--sans);color:var(--ink)}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}#scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none;outline:none}#vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,#0000 50%,#2d194680);mix-blend-mode:multiply}#labels{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.nametag.me .name{pointer-events:auto;cursor:pointer}.nametag.me .name:after{content:"✎";font-size:11px;opacity:.55;margin-left:2px}.nametag{position:absolute;left:0;top:0;transform:translate(-50%,-100%);white-space:nowrap;display:flex;flex-direction:column;align-items:center;gap:4px;will-change:transform}.nametag .name{font-size:12px;padding:3px 9px 3px 4px;border-radius:99px;background:#faf5ebd1;box-shadow:0 2px 8px #0000002e;display:flex;align-items:center;gap:5px;color:#3a3026}.nametag .name .dot{width:16px;height:16px;border-radius:50%;background:#e7dccb;display:grid;place-items:center;font-size:10px;color:#6b5a45}.nametag.me .name .dot{background:var(--gold-soft);color:#5a4113}.nametag .bubble{max-width:230px;white-space:normal;text-align:center;font-size:12.5px;line-height:1.35;padding:7px 11px;border-radius:14px;background:#fffcf4f2;box-shadow:0 4px 16px #00000038;color:#3a2f22;opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s}.nametag .bubble.show{opacity:1;transform:none}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}#hud>*{pointer-events:auto}.pill{display:inline-flex;align-items:center;gap:4px;padding:6px;border-radius:99px;background:var(--paper);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 18px #00000038}.pill.soft{padding:9px 15px;font-size:13.5px;gap:7px}.icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;transition:background .2s}.icon:hover,.room:hover{background:#785a321a}.icon.lang{font-size:12px;font-weight:600;letter-spacing:.04em}.top-left{position:absolute;top:calc(14px + var(--safe-t));left:14px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.top-right{position:absolute;top:calc(14px + var(--safe-t));right:14px;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.room{display:inline-flex;align-items:center;gap:4px;padding:7px 8px 7px 10px;border-radius:99px;font-family:var(--serif);font-size:19px;font-weight:600}.room b{font-family:var(--sans);font-size:13px;color:var(--muted);font-weight:500}.room .chev{width:16px;height:16px;color:var(--muted)}.count{font-size:13px;color:var(--muted);padding:0 12px 0 6px;font-variant-numeric:tabular-nums}.candle-total{font-size:12px;color:#fff0d2d9;text-shadow:0 1px 4px rgba(0,0,0,.6);padding-left:8px}#btn-hymn.on{background:#7a1f23e6;color:#fff3e0}#btn-hymn .note{font-size:16px}.heart{color:var(--wine);font-size:15px}.hint{position:absolute;top:calc(78px + var(--safe-t));left:50%;transform:translate(-50%);font-size:12.5px;color:#fff4e1eb;text-shadow:0 1px 6px rgba(0,0,0,.7);text-align:center;pointer-events:none!important;transition:opacity 1s;max-width:80vw}.status{position:absolute;top:calc(108px + var(--safe-t));left:50%;transform:translate(-50%);font-size:12.5px;padding:6px 12px;border-radius:99px;background:#1e1812bf;color:#f4e6cf}.toasts{position:absolute;left:14px;bottom:calc(104px + var(--safe-b));display:flex;flex-direction:column;gap:6px;pointer-events:none!important;max-width:70vw}.toast{font-size:12.5px;padding:6px 12px;border-radius:12px;background:#1e1812ad;color:#f4e6cf;animation:toast 6s forwards;width:fit-content}@keyframes toast{0%{opacity:0;transform:translateY(6px)}8%{opacity:1;transform:none}85%{opacity:1}to{opacity:0}}.actions{position:absolute;left:50%;bottom:calc(16px + var(--safe-b));transform:translate(-50%);display:flex;gap:2px;padding:7px;border-radius:26px;background:var(--paper);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 6px 26px #0000004d}.actions button{min-width:72px;padding:8px 8px 6px;border-radius:19px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;transition:background .2s,transform .15s}.actions button:hover{background:#785a321a}.actions button:active{transform:scale(.95)}.actions button.active{background:#b88a3538}.actions button.main svg{color:#b4471f}.actions svg{width:24px;height:24px}.sheet{position:absolute;left:50%;bottom:calc(100px + var(--safe-b));transform:translate(-50%);width:min(440px,calc(100vw - 24px));padding:16px 18px;border-radius:22px;background:#faf5ebf2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 10px 40px #00000059;animation:rise .3s ease}@keyframes rise{0%{opacity:0;transform:translate(-50%,10px)}}.sheet header,.card header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.close{font-size:24px;width:32px;height:32px;color:var(--muted)}.eyebrow{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:600}.ro-title{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1.15;margin-top:2px}.ro-sub{font-size:13px;color:var(--muted);margin-top:4px;min-height:18px}.strand{position:relative;overflow:hidden;margin:12px -18px 4px;padding:14px 0 12px;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)}.strand:before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:#c8b48e;opacity:.6}.strand .thumb{position:absolute;left:50%;top:2px;width:26px;height:12px;margin-left:-13px;border-radius:0 0 14px 14px;background:#b88a3547}.beads{position:relative;display:flex;flex-wrap:nowrap;gap:9px;align-items:center;width:max-content;transition:transform .38s cubic-bezier(.3,1.3,.5,1);will-change:transform}.ro-hint{text-align:center;font-size:11.5px;opacity:.55;margin-bottom:4px}.bead{flex:none;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff8ea,#d9c9ad 70%);box-shadow:inset -1px -2px 3px #5a3c1e40;transition:background .25s,transform .25s}.bead.lg{width:19px;height:19px}.bead.done{background:radial-gradient(circle at 35% 30%,#c08a62,#6b4030 75%)}.bead.cur{background:radial-gradient(circle at 35% 30%,#fff1c0,#d9a53a 70%);transform:scale(1.45);box-shadow:0 0 0 4px #b88a3538,0 0 14px #f0be50b3}.beads.pull .bead.cur{animation:pull .38s ease}@keyframes pull{40%{transform:scale(1.65) translateY(3px)}}.ro-text{font-family:var(--serif);font-size:18px;line-height:1.45;margin:8px 0 4px;color:#3b2f22;height:clamp(110px,30vh,260px);overflow:auto;overscroll-behavior:contain}.ro-row{display:flex;gap:8px;margin-top:10px}.ro-row .primary{flex:1.4}.ro-row .ghost{flex:1}.primary{display:inline-flex;justify-content:center;align-items:center;padding:11px 16px;border-radius:14px;background:var(--wine);color:#fff6e8;font-weight:500;text-decoration:none;transition:filter .2s}.primary:hover{filter:brightness(1.1)}.ghost{padding:11px 14px;border-radius:14px;background:#785a321a;font-size:14px}.wide{width:100%;margin-top:14px}.muted{color:var(--muted);font-size:13.5px;margin:6px 0 12px}.intent-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.intent-grid button{text-align:left;padding:11px 12px;border-radius:14px;background:#785a3214;font-size:13.5px;display:flex;gap:8px;align-items:center;transition:background .2s}.intent-grid button:hover{background:#b88a3533}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0c098c;display:grid;place-items:center;z-index:20;padding:16px;animation:fade .25s}@keyframes fade{0%{opacity:0}}.card{width:min(400px,100%);background:var(--paper-solid);border-radius:22px;padding:18px 20px 20px;box-shadow:0 20px 60px #0006;max-height:86vh;overflow:auto}.card h3{font-family:var(--serif);font-size:26px;margin:0 0 8px;font-weight:600}.card p{line-height:1.55;font-size:14.5px}.row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px}.seg{display:flex;background:#785a321a;border-radius:12px;padding:3px}.seg button{padding:6px 11px;border-radius:9px;font-size:13px}.seg button.on{background:#fff;box-shadow:0 1px 4px #0000001f}.toggle{width:46px;height:27px;border-radius:99px;background:#d5c9b6;position:relative;transition:background .2s}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle.on{background:var(--wine)}.toggle.on:after{transform:translate(19px)}.about{padding-top:12px;font-size:14px}.about p{color:var(--muted);margin:6px 0 0;font-size:13.5px}.room-list{display:grid;gap:6px;margin-top:6px}.room-list button{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:14px;background:#785a3212;font-size:14.5px}.room-list button.cur{background:#b88a3538}.room-list button:disabled{opacity:.45;cursor:not-allowed}.room-list .n{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}#intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:block;overflow-y:auto;scroll-behavior:smooth;background:radial-gradient(ellipse at 50% 35%,#3a2d1f,#1b1712 55%,#110e0b);color:#f4e6cf;text-align:center;padding:24px;transition:opacity .9s}#intro.fade{opacity:0;pointer-events:none}.facade{position:absolute;left:50%;bottom:-4%;transform:translate(-50%);width:min(760px,120vw);height:auto;color:#f2d48a;opacity:.16;stroke-width:1.6;pointer-events:none}.intro-inner{position:relative;min-height:100vh;min-height:100dvh;margin:0 auto;justify-content:center;max-width:440px;display:flex;flex-direction:column;align-items:center}.logo{width:76px;height:76px;color:var(--gold-soft);stroke:none;margin-bottom:10px;filter:drop-shadow(0 0 18px rgba(242,195,107,.35))}#intro h1{font-family:var(--serif);font-weight:600;font-size:52px;margin:0;letter-spacing:.01em}.tag{font-family:var(--serif);font-size:22px;margin:6px 0 4px;color:var(--gold-soft)}.sub{font-size:14.5px;line-height:1.6;color:#f4e6cfbf;margin:8px 0 26px}.big{padding:14px 30px;font-size:16px;border-radius:99px;background:#9a2a2a;box-shadow:0 8px 30px #9a2a2a73}.loading{font-size:13.5px;color:#f4e6cfb3;animation:pulse 1.6s infinite}@keyframes pulse{50%{opacity:.45}}.intro-lang{margin-top:34px;font-size:13px;color:#f4e6cf80}.intro-lang button{color:#f4e6cfbf;padding:4px}.intro-lang button.on{color:var(--gold-soft);text-decoration:underline;text-underline-offset:4px}@media (max-width: 560px){.actions button{min-width:60px;font-size:11px;padding:7px 4px 5px}.pill.soft{padding:8px 12px;font-size:12.5px}.hint{top:auto;bottom:calc(96px + var(--safe-b));font-size:11.5px}.toasts{bottom:calc(126px + var(--safe-b))}.room{font-size:16px;padding:7px 4px 7px 10px}#btn-leave,#btn-sound{display:none}.count{padding:0 10px 0 2px;font-size:12px}.top-left{left:10px}.top-right{right:10px}.icon{width:34px;height:34px}#intro h1{font-size:44px}}.pick-h{margin:14px 0 8px}.dev-list{display:grid;gap:8px}.dev{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:16px;background:#785a3214;text-align:left}.dev-top{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500}.dev-top .go{margin-left:auto;font-size:13px;color:var(--wine);font-weight:600}.dev:hover{background:#b88a3529}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:7px 11px;border-radius:99px;background:#785a3214;font-size:13px}.chip.on,.chip:hover{background:#b88a3540}.progress{height:3px;border-radius:3px;background:#785a321f;overflow:hidden;margin:4px 0 2px}.progress span{display:block;height:100%;width:0;background:var(--gold);transition:width .3s}.linkish{display:block;margin:10px auto 0;font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}#rosary{max-height:calc(100vh - 140px);overflow:auto}.share-link{display:flex;gap:8px;margin:4px 0 14px}.share-link input{flex:1;min-width:0;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;font:inherit;font-size:13px;color:var(--muted)}.share-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.share-grid a,.share-grid button{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;color:var(--ink);text-decoration:none;padding:8px 2px;border-radius:14px}.share-grid a:hover,.share-grid button:hover{background:#785a3214}.share-grid .ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:17px}.mercy-banner{position:absolute;top:calc(70px + var(--safe-t));left:50%;transform:translate(-50%);width:min(520px,calc(100vw - 24px));display:flex;align-items:center;gap:12px;padding:10px 10px 10px 14px;border-radius:18px;background:linear-gradient(120deg,#fff6ecf5,#fae8ecf5);box-shadow:0 10px 30px #3c141e59;animation:rise .4s ease;z-index:5}.mb-ico{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;color:#fff;background:conic-gradient(from 200deg,#c8343f 0,#c8343f 25%,#f4f1ff 25%,#f4f1ff 50%,#c8343f 50%,#c8343f 75%,#f4f1ff 75%);text-shadow:0 0 4px rgba(0,0,0,.5);font-weight:700}.mb-text{display:flex;flex-direction:column;font-size:13px;line-height:1.35;color:#4a2a2a;flex:1}.mb-text b{font-family:var(--serif);font-size:17px}.mercy-banner .primary{padding:9px 12px;font-size:13px;white-space:nowrap}.tiny{font-size:12px;color:var(--muted);margin:6px 2px 0}.mercy-set{text-align:left}.intro-mercy{margin-top:18px;font-size:13px;color:#f4e6cf9e}#paper{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.16;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.45  0 0 0 0 0.38  0 0 0 0 0.5  0 0 0 0.9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}@media (max-width: 560px){.mercy-banner{top:auto;bottom:calc(100px + var(--safe-b))}.mercy-banner .primary{display:none}.mercy-banner{cursor:pointer}.share-grid{grid-template-columns:repeat(4,1fr)}}.learn-more{margin-top:26px;font-size:13px;color:#f4e6cf8c;text-decoration:none}.learn-more:hover{color:var(--gold-soft)}.seo-info{position:relative;max-width:640px;margin:0 auto;padding:10px 24px 70px;text-align:left;color:#f4e6cfcc;font-size:15px;line-height:1.65}.seo-info h2{font-family:var(--serif);font-size:30px;font-weight:600;color:#f4e6cf;margin:0 0 10px;line-height:1.2}.seo-info h3{font-family:var(--serif);font-size:22px;color:var(--gold-soft);margin:22px 0 6px;font-weight:600}.seo-info ul{padding-left:20px}.seo-info li{margin:6px 0}.seo-info b{color:#f4e6cf;font-weight:600}.seo-links{margin-top:26px;font-size:13px}.seo-links a{color:var(--gold-soft)}html[lang=vi] .seo-en,html:not([lang=vi]) .seo-vi{display:none}.own-intent{margin:4px 0 6px}.own-intent textarea{width:100%;resize:none;border:1px solid var(--line);border-radius:14px;padding:10px 12px;font:inherit;font-size:14.5px;background:#fff;color:var(--ink)}.own-intent textarea:focus{outline:2px solid rgba(184,138,53,.45);border-color:transparent}.own-row{display:flex;align-items:center;gap:8px;margin-top:8px}.own-row .primary{margin-left:auto;padding:9px 18px}.own-count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.seg.vis button{font-size:12.5px}.toast.intent-card{pointer-events:auto;background:#faf5ebf2;color:var(--ink);box-shadow:0 6px 20px #00000040;padding:10px 12px;max-width:320px;animation:toast 60s forwards}.intent-card .who{font-size:11.5px;color:var(--muted)}.intent-card .txt{font-family:var(--serif);font-size:16.5px;line-height:1.35;margin:2px 0 8px}.intent-card .acts{display:flex;gap:6px;align-items:center}.intent-card .acts button{padding:6px 10px;border-radius:10px;font-size:12.5px;background:#785a321a}.intent-card .acts button.amen.on{background:#b88a354d}.intent-card .acts .rep{margin-left:auto;background:none;color:var(--muted);text-decoration:underline}.intent-card .n{font-size:12px;color:var(--muted)}.toasts{pointer-events:none}.seo-info h4{font-size:15.5px;color:#f4e6cf;margin:16px 0 2px;font-weight:600}.seo-info h4+p{margin-top:2px}.live-line{min-height:22px;margin:-8px 0 18px;font-size:14px;color:var(--gold-soft);letter-spacing:.01em}.live-line .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#7bd88f;box-shadow:0 0 #7bd88f99;animation:livePulse 2s infinite;margin-right:6px;vertical-align:1px}@keyframes livePulse{70%{box-shadow:0 0 0 8px #7bd88f00}to{box-shadow:0 0 #7bd88f00}}.mercy-intro{margin-top:22px;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 12px;border-radius:18px;background:#fff0e114;border:1px solid rgba(242,212,138,.18);text-align:left;width:min(420px,100%)}.mi-ico{width:36px;height:36px;flex:none;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;background:conic-gradient(from 200deg,#c8343f 0,#c8343f 25%,#f4f1ff 25%,#f4f1ff 50%,#c8343f 50%,#c8343f 75%,#f4f1ff 75%);text-shadow:0 0 4px rgba(0,0,0,.5)}.mi-text{display:flex;flex-direction:column;flex:1;font-size:12.5px;color:#f4e6cfb3;line-height:1.35}.mi-text b{font-family:var(--serif);font-size:17px;color:#f4e6cf;font-weight:600}.mi-btn{padding:9px 13px;border-radius:12px;background:#f2d48a29;color:var(--gold-soft);font-size:13px;white-space:nowrap}.mi-btn:hover{background:#f2d48a47}.mercy-chip{margin-left:6px;font-size:12px;padding:4px 10px;border-radius:99px;background:#2814288c;color:#f4e6cf}.mercy-chip.now{background:#c8343fd9}.card-wide{width:min(440px,100%)}.card-intent{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--line);font:inherit;font-size:14px;margin:4px 0 10px}.card-preview{border-radius:16px;overflow:hidden;background:#2b2340;aspect-ratio:9 / 16;max-height:52vh;margin:0 auto;display:grid;place-items:center}.card-preview img{width:100%;height:100%;object-fit:contain;display:block}.toast.cta{pointer-events:auto;display:flex;align-items:center;gap:10px}.toast.cta button{padding:5px 10px;border-radius:9px;background:#f2d48a40;color:#fff3dd;font-size:12.5px}.named-box{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.named-box b{font-family:var(--serif);font-size:20px}.named-box .muted{margin:4px 0 10px}.named-box .primary{padding:9px 14px}#my-rooms:not(:empty):before{content:attr(data-title);display:block;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:10px 0 2px}.intro-lang .fb-link{color:#f4e6cfbf;text-decoration:none;padding:4px}.intro-lang .fb-link:hover{color:var(--gold-soft)}.fb-btn{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;color:var(--ink)}.fb-ic{width:22px;height:22px;border-radius:50%;background:#1877f2;color:#fff;font-weight:700;display:grid;place-items:center;font-size:13px}.sup-tabs{margin:12px 0 4px}.sup-tabs button{flex:1}.sup-qr{display:block;width:min(260px,70vw);height:auto;margin:10px auto 4px;border-radius:14px}.sup-note{font-size:13px;text-align:center;opacity:.8;margin:6px 0 0}.sup-fine{font-size:11.5px;opacity:.6;margin-top:12px;text-align:center}.cd-steps{display:flex;gap:6px;margin:10px 0 2px}.cd-steps span{flex:1;height:4px;border-radius:4px;background:#785a3226;transition:background .3s}.cd-steps span.on{background:var(--gold)}.cd-text{font-size:14px;line-height:1.45;margin:10px 0 12px;min-height:2.9em}.cd-row{display:flex;align-items:center;gap:14px}.cd-row .primary{flex:1}.cd-hold{position:relative;flex:none;width:66px;height:66px;border-radius:50%;background:radial-gradient(circle at 50% 40%,#fff6e3,#f0dfbf);box-shadow:0 4px 14px #78501e40;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.cd-hold svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.cd-hold .trk{fill:none;stroke:#785a3226;stroke-width:3.5}.cd-hold .bar{fill:none;stroke:#e0a53c;stroke-width:3.5;stroke-linecap:round;stroke-dasharray:119.4;stroke-dashoffset:119.4}.cd-hold .cd-ico{position:relative;font-size:26px;transition:transform .2s,filter .2s}.cd-hold.held .cd-ico{transform:scale(1.15);filter:drop-shadow(0 0 8px rgba(255,190,80,.9))}.cd-hold[hidden]{display:none}.name-box{border-bottom:1px solid rgba(120,90,50,.12);padding-bottom:6px;margin-bottom:4px}.name-edit{display:flex;gap:8px;margin:4px 0 2px}.name-edit input{flex:1;min-width:0;padding:10px 12px;border-radius:12px;border:1px solid rgba(120,90,50,.25);background:#fff;font:inherit;font-size:16px}.name-edit .primary{padding:9px 16px}.sup-copy{margin-top:10px}.ro-voice{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 0}.vchip{padding:6px 11px;border-radius:99px;font-size:12.5px;background:#785a3217;color:#5a4630;transition:background .2s,color .2s}.vchip[aria-pressed=true]{background:var(--wine);color:#fff6e8}.vchip.speaking .vi-ic{display:inline-block;animation:speakPulse 1s ease-in-out infinite}@keyframes speakPulse{50%{transform:scale(1.25)}}.ro-text mark{background:#f0be5073;color:inherit;border-radius:4px;padding:0 1px}.intro-name{display:flex;flex-direction:column;align-items:center;gap:6px;margin:0 auto 16px;font-size:13px;color:var(--gold-soft)}.intro-name input{width:min(280px,80vw);padding:11px 14px;border-radius:14px;border:1px solid rgba(242,195,107,.45);background:#fff8e81a;color:#fff6e3;font:inherit;font-size:16px;text-align:center}.intro-name input::placeholder{color:#fff0d280}#btn-book span:first-child{margin-right:2px}.book-card{max-height:min(86vh,720px);display:flex;flex-direction:column}.book-card>div[id^=bk-]{min-height:0;display:flex;flex-direction:column;overflow:hidden}.bk-tabs{margin:10px 0 6px}.bk-tabs button{flex:1}.bk-list{overflow-y:auto;overscroll-behavior:contain;margin-top:8px;padding-right:2px;flex:1}.bk-item{padding:9px 2px;border-bottom:1px solid rgba(120,90,50,.1);font-size:13.5px;line-height:1.4}.bk-item .who{font-weight:600;color:#5a3a22}.bk-item .meta{opacity:.6;font-size:12px}.bk-item .said{display:block;font-style:italic;margin-top:3px;color:#4a3828}.bk-item .rep{float:right;opacity:.35;font-size:12px;padding:0 4px}.bk-item .rep:hover{opacity:.8}.bk-list.souls .bk-item{display:flex;gap:8px;align-items:baseline}.bk-list.souls .bk-item:before{content:"🕯"}.bk-souls-intro{font-size:13.5px;line-height:1.5;margin:4px 0 8px;color:#5a4630}.bk-count{text-align:center;font-size:12.5px;opacity:.6;margin-top:8px}#soul-pray{margin-top:8px}.bk-empty{text-align:center;opacity:.55;padding:24px 0;font-size:13.5px}.ro-book{margin-top:12px;padding:12px;border-radius:16px;background:#b88a3514}.rb-title{font-weight:600;font-size:14px;margin-bottom:8px}.rb-cats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.rb-cats button{padding:6px 10px;border-radius:99px;font-size:12.5px;background:#fff;border:1px solid rgba(120,90,50,.2)}.rb-cats button.on{background:var(--wine);color:#fff6e8;border-color:var(--wine)}#rb-text{width:100%;box-sizing:border-box;padding:9px 12px;border-radius:12px;border:1px solid rgba(120,90,50,.25);font:inherit;font-size:16px;background:#fff}.rb-pub{display:flex;gap:6px;align-items:center;font-size:12.5px;margin:6px 0 2px;opacity:.8}.book-line{font-size:13px;color:var(--gold-soft);opacity:.9;margin:-4px auto 12px;max-width:34em;min-height:1.4em;transition:opacity .5s}.font-invite{position:fixed;left:50%;bottom:calc(132px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;gap:6px;align-items:center;z-index:6;animation:fiIn .5s ease}.font-invite .primary{box-shadow:0 6px 20px #3c28504d;white-space:nowrap}.font-invite .close{background:#fffaf0e6}@keyframes fiIn{0%{opacity:0;transform:translate(-50%,10px)}}.mass-form{display:flex;flex-direction:column;gap:8px}.mass-form input,.mass-form textarea{padding:10px 12px;border-radius:12px;border:1px solid rgba(120,90,50,.25);background:#fff;font:inherit;font-size:16px;resize:vertical}.mass-count{text-align:right;font-size:12px;opacity:.55;margin-top:-4px}.mass-consent{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.45;color:#5a4630}.mass-consent input{margin-top:3px;flex:none}.mass-done p{font-size:14px;line-height:1.5}.gx-card{margin:18px auto 8px;max-width:460px;text-align:left;background:#fff6e412;border:1px solid rgba(242,195,107,.28);border-radius:18px;overflow:hidden}.gx-card img.gx-facade{display:block;width:100%;max-height:220px;object-fit:cover;background:#2a2018}.gx-card .gx-in{padding:14px 16px 16px}.gx-card h2{font-family:var(--serif);font-size:24px;margin:0;color:#f6e2b8}.gx-card .gx-place{opacity:.7;font-size:13.5px;margin:2px 0 8px}.gx-greet{font-size:14.5px;line-height:1.55;margin:8px 0}.gx-sec{margin-top:10px;font-size:14px;line-height:1.55}.gx-sec b{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#e9c27a;margin-bottom:2px}.gx-sec .gx-pre{white-space:pre-line}.gx-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.gx-actions a,.gx-actions button{font:inherit;font-size:14px;padding:7px 14px;border-radius:99px;border:1px solid rgba(242,195,107,.45);background:transparent;color:inherit;text-decoration:none;cursor:pointer}.gx-demo{display:inline-block;font-size:12px;padding:2px 10px;border-radius:99px;background:#b88a35;color:#1b1712;margin-bottom:8px}.gx-modal{max-width:640px;width:100%;max-height:88vh;overflow-y:auto}.gx-modal .gx-sec,.gx-modal .gx-greet{color:#3a2c22}.gx-modal .gx-sec b{color:#8a5a20}.gx-modal img.gx-facade{width:100%;max-height:240px;object-fit:cover;border-radius:14px}.gx-live{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:14px;overflow:hidden;background:#1b1712;margin-top:8px}.gx-live iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.gx-live .gx-ph{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:#f4e6cf;padding:20px;font-size:14px;line-height:1.5}.gx-modal .gx-actions a,.gx-modal .gx-actions button{border-color:#785a3259}#m-parish{z-index:40}
