
.z-lb{position:fixed;inset:0;z-index:2147483000;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center}
.z-lb img{max-width:94vw;max-height:86vh;object-fit:contain}
.z-lb button{position:absolute;background:rgba(255,255,255,.14);color:#fff;border:0;border-radius:999px;width:44px;height:44px;font-size:22px;cursor:pointer}


.zc-f3{position:relative;perspective:60cqw;border-radius:1.6cqw;font-weight:700;line-height:1;box-shadow:0 .8cqw 2cqw rgba(0,0,0,.22)}
.zc-f3-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.zc-f3h{position:absolute;left:0;right:0;height:50%;overflow:hidden;background:var(--zc-f3bg);display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.zc-f3h>span{position:absolute;left:0;right:0;height:200%;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
.zc-f3-t{top:0;border-radius:1.6cqw 1.6cqw 0 0;transform-origin:50% 100%;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(0,0,0,.06)),var(--zc-f3bg)}
.zc-f3-t>span{top:0}
.zc-f3-b{bottom:0;border-radius:0 0 1.6cqw 1.6cqw;transform-origin:50% 0;border-top:1px solid rgba(0,0,0,.28)}
.zc-f3-b>span{bottom:0}
.zc-f3-bo{z-index:1}
.zc-f3-ft{z-index:2;animation:zc-f3-down .32s cubic-bezier(.55,0,.75,.4) both}
.zc-f3-fb{z-index:2;animation:zc-f3-up .32s cubic-bezier(.25,.6,.4,1) .3s both}
@keyframes zc-f3-down{from{transform:rotateX(0)}to{transform:rotateX(-90deg);filter:brightness(.7)}}
@keyframes zc-f3-up{from{transform:rotateX(90deg);filter:brightness(1.3)}to{transform:rotateX(0)}}
@media (prefers-reduced-motion:reduce){.zc-f3-bo,.zc-f3-ft,.zc-f3-fb{display:none}}

.zc-gal-grid{display:grid;width:100%;height:100%;overflow-y:auto;align-content:start;scrollbar-width:none}
.zc-gal-sw{position:relative;width:100%;height:100%}.zc-gal-slide{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab}.zc-gal-slide::-webkit-scrollbar{display:none}.zc-gal-slide[data-dragging]{cursor:grabbing;scroll-snap-type:none;user-select:none}.zc-gal-nav{position:absolute;top:50%;translate:0 -50%;width:max(26px,7cqw);height:max(26px,7cqw);border:0;border-radius:50%;background:rgba(255,255,255,.82);color:#333;font-size:max(16px,4.4cqw);line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.18);opacity:0;transition:opacity .2s}.zc-gal-prev{left:2cqw}.zc-gal-next{right:2cqw}.zc-gal-sw:hover .zc-gal-nav,.zc-gal-nav:focus-visible{opacity:1}@media (hover:none){.zc-gal-nav{display:none}}
.zc-gal-slide .zc-gal-item{flex:0 0 82%;height:100%;scroll-snap-align:center}
.zc-gal-grid .zc-gal-item{aspect-ratio:1/1}
.zc-gal-item{padding:0;border:0;overflow:hidden;cursor:pointer;background:#f3f4f6}
.zc-gal-item img{width:100%;height:100%;object-fit:cover;display:block}
.zc-calc{position:fixed;inset:0;z-index:2147482000;background:rgba(17,12,14,.48);display:flex;align-items:flex-end;justify-content:center;padding:0;animation:zc-calc-fade .18s ease-out;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.zc-calc-card{position:relative;width:100%;max-width:420px;background:#fff;color:#2b2125;border-radius:20px 20px 0 0;padding:22px 18px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px rgba(0,0,0,.18);animation:zc-calc-up .22s cubic-bezier(.2,.8,.2,1)}
@media (min-width:640px){.zc-calc{align-items:center;padding:16px}.zc-calc-card{border-radius:20px;padding:24px 22px 20px}}
.zc-calc-x{position:absolute;top:10px;right:10px;width:34px;height:34px;border:0;border-radius:999px;background:#f4f1f2;color:#6b5d63;font-size:20px;line-height:1;cursor:pointer}
.zc-calc-kicker{margin:0 0 4px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#a0828e}
.zc-calc-title{margin:0 40px 6px 0;font-size:17px;font-weight:700;line-height:1.3}
.zc-calc-meta{margin:0 0 2px;font-size:13px;line-height:1.45;color:#6b5d63}
.zc-calc-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.zc-calc-opt{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #eee4e8;border-radius:14px;color:#2b2125;text-decoration:none;transition:background-color .15s,border-color .15s}
.zc-calc-opt:hover,.zc-calc-opt:focus-visible{background:#fdf2f6;border-color:#f3c6d6;outline:none}
.zc-calc-ico{display:flex;width:36px;height:36px;flex:none;align-items:center;justify-content:center;border-radius:10px;background:#fbeef3;color:#cf2f62}
.zc-calc-txt{display:flex;flex-direction:column;min-width:0}
.zc-calc-txt b{font-size:15px;font-weight:600;line-height:1.3}
.zc-calc-txt small{font-size:12px;line-height:1.35;color:#8a7a81}
.zc-calc-note{display:flex;align-items:center;gap:6px;margin:12px 2px 0;font-size:12px;color:#8a7a81}
@keyframes zc-calc-fade{from{opacity:0}}
@keyframes zc-calc-up{from{transform:translateY(24px);opacity:0}}
@media (prefers-reduced-motion:reduce){.zc-calc,.zc-calc-card{animation:none}}
.zc-fsel{position:relative;width:100%;height:100%;border:max(1px,.3cqw) solid var(--zc-fsel);box-sizing:border-box;pointer-events:none}
.zc-fsel-h{position:absolute;width:1.6cqw;height:1.6cqw;min-width:6px;min-height:6px;background:#fff;border:max(1px,.3cqw) solid var(--zc-fsel);box-sizing:border-box}
.zc-fsel-tl{left:0;top:0;transform:translate(-50%,-50%)}.zc-fsel-tr{right:0;top:0;transform:translate(50%,-50%)}.zc-fsel-bl{left:0;bottom:0;transform:translate(-50%,50%)}.zc-fsel-br{right:0;bottom:0;transform:translate(50%,50%)}
.zc-fsel-lbl{position:absolute;left:50%;top:100%;margin-top:1.6cqw;transform:translateX(-50%);padding:.4cqw 1.4cqw;border-radius:.8cqw;background:var(--zc-fsel);color:#fff;font:600 max(9px,2.2cqw)/1.3 system-ui,-apple-system,"Segoe UI",sans-serif;white-space:nowrap;font-variant-numeric:tabular-nums}
.zc-holo{animation:zc-holo 9s linear infinite}
.zc-holo-in{position:absolute;inset:0;border-radius:inherit}
@keyframes zc-holo{from{filter:hue-rotate(0deg) var(--zc-holo-f,)}to{filter:hue-rotate(360deg) var(--zc-holo-f,)}}
@media (prefers-reduced-motion:reduce){.zc-holo{animation:none}}
.zc-root{color:#1f1f1f;container-type:inline-size;width:100%;max-width:500px;margin:0 auto;position:relative}
.zc-page{position:relative;width:100%;overflow:hidden;overflow:clip;background-position:top center}
.zc-node{position:absolute;box-sizing:border-box}
.zc-a{width:100%;height:100%;position:relative}
.zc-text{white-space:pre-wrap;word-break:break-word;margin:0}
:where(.zc-root[data-bi]) .zc-node{white-space:pre-line}
.zc-bgv{position:absolute;inset:0;overflow:hidden;overflow:clip;pointer-events:none}
.zc-bgv-in{position:sticky;top:0;height:100vh;height:var(--zc-vh,100dvh);overflow:hidden}
.zc-bgv iframe{position:absolute;top:50%;left:50%;width:max(100cqw,177.78vh);width:max(100cqw,calc(var(--zc-vh,100vh) * 1.7778));height:max(100vh,56.25cqw);height:max(var(--zc-vh,100vh),56.25cqw);transform:translate(-50%,-50%);border:0}
.zc-bgv-dim{position:absolute;inset:0;background:#000}
.zc-img{width:100%;height:100%;display:block;overflow:hidden}
.zc-img img{width:100%;height:100%;display:block}
.zc-shp-pat{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background-repeat:repeat}
.zc-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f6e3ea,#fbf3f5);color:#b3234f;font:500 3.2cqw/1.2 system-ui,sans-serif;letter-spacing:.02em}
.zc-link{display:block;width:100%;height:100%;color:inherit;text-decoration:none;cursor:pointer}
.zc-btn{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-decoration:none;cursor:pointer;border:0;transition:filter .15s}
.zc-btn:hover{filter:brightness(.95)}
.zc-btn:focus-visible,.zc-link:focus-visible{outline:2px solid #cf2f62;outline-offset:2px}
.zc-cal{width:100%;height:100%;display:flex;flex-direction:column}
.zc-cal-title{text-align:center;font-weight:600}
.zc-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;align-items:center;flex:1}
.zc-cal-row{display:contents}
.zc-cal-wd{font-weight:600;opacity:.7}
.zc-cal-day{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1}
.zc-cal-mark{position:absolute;inset:6%;width:88%;height:88%;z-index:0}
.zc-cal-day span{position:relative;z-index:1}
.zc-cd{display:flex;gap:4%;width:100%;height:100%}
.zc-cd-box{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:2.4cqw}
.zc-cd-num{font-weight:600;font-variant-numeric:var(--zc-num,tabular-nums);line-height:1}
.zc-cd-lbl{opacity:.75;margin-top:.8cqw}
.zc-map{width:100%;height:100%;border:0;display:block}
.zc-yt{position:relative;display:block;width:100%;height:100%;overflow:hidden;background:#000;padding:0;border:0;margin:0;color:inherit}
.zc-yt img{width:100%;height:100%;display:block;object-fit:cover}
.zc-yt-btn{cursor:pointer}
.zc-yt-btn:focus-visible{outline:2px solid #cf2f62;outline-offset:2px}
.zc-yt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;filter:drop-shadow(0 1px 6px rgba(0,0,0,.35));transition:transform .2s}
.zc-yt-play svg{width:clamp(40px,13.6cqw,68px);height:auto;display:block}
.zc-yt-bg{fill:#212121;fill-opacity:.82;transition:fill .2s,fill-opacity .2s}
.zc-yt-btn:hover .zc-yt-bg,.zc-yt-btn:focus-visible .zc-yt-bg{fill:#f00;fill-opacity:1}
.zc-yt-btn:active .zc-yt-play{transform:translate(-50%,-50%) scale(.94)}
.zc-w{--zc-accent:#cf2f62;width:100%;height:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:2.4cqw;padding:4.4cqw;overflow:auto;border-radius:3.2cqw;font-size:2.9cqw;line-height:1.45;box-shadow:0 .4cqw 2.4cqw rgba(16,24,40,.08)}
.zc-w *{box-sizing:border-box}
.zc-w-title{margin:0;text-align:center;font-size:4.6cqw;font-weight:600;line-height:1.2}
.zc-form{display:flex;flex-direction:column;gap:2cqw}
.zc-grow{flex:1;min-height:0}
.zc-field{display:flex;flex-direction:column;gap:.8cqw}
.zc-label{font-size:2.5cqw;font-weight:500;opacity:.75}
.zc-input{width:100%;font:inherit;color:inherit;background:rgba(255,255,255,.9);border:1px solid rgba(0,0,0,.14);border-radius:2cqw;padding:1.8cqw 2.4cqw;outline:none;resize:none}
.zc-input:focus{border-color:var(--zc-accent);box-shadow:0 0 0 .6cqw color-mix(in srgb,var(--zc-accent) 20%,transparent)}
.zc-wbtn{font:inherit;font-weight:600;border:0;border-radius:999px;padding:2.2cqw 4cqw;color:var(--zt-on,#fff);background:var(--zc-accent);cursor:pointer;transition:filter .15s}
.zc-wbtn:hover:not(:disabled){filter:brightness(.94)}
.zc-wbtn:disabled{opacity:.6;cursor:default}
.zc-wbtn:focus-visible,.zc-segbtn:focus-visible,.zc-linkbtn:focus-visible{outline:2px solid var(--zc-accent);outline-offset:2px}
.zc-seg{display:flex;gap:1.6cqw}
.zc-segbtn{flex:1;font:inherit;padding:1.8cqw 1cqw;border-radius:2cqw;border:1px solid rgba(0,0,0,.14);background:rgba(255,255,255,.9);color:inherit;cursor:pointer}
.zc-segbtn[aria-checked="true"]{border-color:var(--zc-accent);background:var(--zc-accent);color:var(--zt-on,#fff);font-weight:600}
.zc-linkbtn{font:inherit;font-size:2.5cqw;background:none;border:0;color:var(--zc-accent);font-weight:600;cursor:pointer;padding:.6cqw}
.zc-linkbtn:disabled{opacity:.5;cursor:default}
.zc-note{margin:0;font-size:2.4cqw;opacity:.7;text-align:center}
.zc-err{margin:0;font-size:2.5cqw;color:#d9363e;text-align:center}
.zc-done{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.6cqw;text-align:center}
.zc-done-big{margin:0;font-size:3.8cqw;font-weight:600;color:var(--zc-accent)}
.zc-sheet{container-type:inline-size;box-sizing:border-box;width:min(calc(100vw - 24px),460px);max-width:none;max-height:min(88dvh,720px);margin:auto;padding:0;border:0;border-radius:18px;box-shadow:0 20px 60px rgba(16,24,40,.28);overflow:auto;overscroll-behavior:contain;font-size:15px;line-height:1.45}
.zc-sheet::backdrop{background:rgba(15,10,12,.55)}
.zc-sheet *{box-sizing:border-box}
.zc-sheet-in{display:flex;flex-direction:column;gap:14px;padding:18px 18px calc(18px + env(safe-area-inset-bottom))}
.zc-sheet-head{display:flex;align-items:center;gap:8px}
.zc-sheet-head .zc-w-title{flex:1;font-size:18px;text-align:left}
.zc-sheet-x{flex:0 0 auto;width:36px;height:36px;border-radius:999px;border:0;background:rgba(0,0,0,.06);color:inherit;font-size:22px;line-height:1;cursor:pointer}
.zc-sheet-x:focus-visible{outline:2px solid var(--zc-accent);outline-offset:2px}
.zc-sheet .zc-form{gap:12px}
.zc-sheet .zc-field{gap:4px}
.zc-sheet .zc-label{font-size:13px}
.zc-sheet .zc-input{font-size:16px;padding:10px 12px;border-radius:10px}
.zc-sheet .zc-input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--zc-accent) 20%,transparent)}
.zc-sheet .zc-wbtn{padding:12px 18px;font-size:15px}
.zc-sheet .zc-note,.zc-sheet .zc-err{font-size:13px}
@media (max-width:520px){.zc-sheet{width:100vw;max-height:90dvh;margin:auto 0 0;border-radius:18px 18px 0 0}}
.zc-wishes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.6cqw;overflow:auto;flex:1;min-height:12cqw}
.zc-wish{display:flex;flex-direction:column;gap:.4cqw;background:rgba(0,0,0,.035);border-radius:2cqw;padding:2cqw 2.6cqw}
.zc-wish strong{font-size:2.6cqw;color:var(--zc-accent)}
.zc-wish span{white-space:pre-wrap;word-break:break-word}
.zc-gifts{display:grid;gap:3cqw}
.zc-gift{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6cqw;min-width:0}
.zc-gift p{margin:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.zc-gift-label{font-weight:600;color:var(--zc-accent)}
.zc-qr{width:100%;max-width:34cqw;aspect-ratio:1/1;border-radius:1.6cqw;background:#fff;margin:.8cqw 0}
.zc-gift-bank{font-size:2.5cqw;opacity:.75}
.zc-gift-no{font-weight:700;font-size:3.2cqw;letter-spacing:.04em}
.zc-gift-name{font-size:2.5cqw;text-transform:uppercase}
.zc-sigpad{width:100%;flex:1;min-height:22cqw;background:#fff;border:1px dashed rgba(0,0,0,.25);border-radius:2cqw;touch-action:none;cursor:crosshair}
.zc-row{display:flex;gap:1.6cqw;align-items:center}
.zc-sigs{list-style:none;margin:0;padding:0;display:flex;gap:1.6cqw;overflow-x:auto}
.zc-sigs li{flex:0 0 auto;width:18cqw;height:10cqw;background:#fff;border-radius:1.4cqw;border:1px solid rgba(0,0,0,.08);overflow:hidden}
.zc-sigs img{width:100%;height:100%;object-fit:contain;display:block}

.zc-w-title,.zc-cal-title{font-family:var(--zt-tf,inherit)}
.zc-w{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--zc-accent,#cf2f62) 55%,transparent) transparent;overscroll-behavior:auto}
.zc-nosc.zc-nosc{overflow:hidden}
.zc-w::-webkit-scrollbar{width:1.2cqw}
.zc-w::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--zc-accent,#cf2f62) 55%,transparent);border-radius:999px}
.zt-classic{--zt-bg:#fffdf8;--zt-fg:#3d3029;--zc-accent:#a8844f;--zt-line:rgba(168,132,79,.35);--zt-soft:rgba(168,132,79,.08);--zt-in:#ffffff;--zt-shadow:0 .4cqw 2.4cqw rgba(61,48,41,.08);--zt-border:1px solid rgba(168,132,79,.28)}
.zt-minimal{--zt-bg:#ffffff;--zt-fg:#1f1f1f;--zc-accent:#1f1f1f;--zt-line:rgba(0,0,0,.14);--zt-soft:#f4f4f4;--zt-in:#ffffff;--zt-shadow:none;--zt-border:1px solid rgba(0,0,0,.1)}
.zt-floral{--zt-bg:#fff8f8;--zt-fg:#5b3a44;--zc-accent:#c9607f;--zt-line:rgba(201,96,127,.28);--zt-soft:rgba(201,96,127,.07);--zt-in:#ffffff;--zt-shadow:0 .6cqw 3cqw rgba(201,96,127,.12);--zt-border:1px solid rgba(201,96,127,.18)}
.zt-modern{--zt-bg:#f3f4f8;--zt-fg:#111827;--zc-accent:#5b5bd6;--zt-line:rgba(17,24,39,.12);--zt-soft:#ffffff;--zt-in:#ffffff;--zt-shadow:0 1.6cqw 4cqw rgba(17,24,39,.08);--zt-border:0}
.zt-dark{--zt-bg:#1d1a1f;--zt-fg:#f3ebe6;--zc-accent:#d9b77e;--zt-line:rgba(255,255,255,.16);--zt-soft:rgba(255,255,255,.06);--zt-in:rgba(255,255,255,.06);--zt-shadow:0 1cqw 4cqw rgba(0,0,0,.35);--zt-border:1px solid rgba(255,255,255,.08);--zt-on:#1d1a1f}
.zt-glass{--zt-bg:rgba(255,255,255,.3);--zt-fg:#2b2125;--zc-accent:#cf2f62;--zt-line:rgba(255,255,255,.65);--zt-soft:rgba(255,255,255,.35);--zt-in:rgba(255,255,255,.55);--zt-shadow:0 1cqw 4cqw rgba(16,24,40,.12);--zt-border:1px solid rgba(255,255,255,.6)}
.zt-transparent{--zt-bg:transparent;--zt-fg:#2b2125;--zc-accent:#cf2f62;--zt-line:rgba(0,0,0,.18);--zt-soft:rgba(0,0,0,.04);--zt-in:rgba(255,255,255,.6);--zt-shadow:none;--zt-border:0}
.zc-w.zt,.zc-sheet.zt,.zc-cal.zt:not(.zt-transparent),.zc-cd-after.zt{background:var(--zt-bg);color:var(--zt-fg);box-shadow:var(--zt-shadow);border:var(--zt-border)}
.zc-cal.zt,.zc-cd.zt{color:var(--zt-fg)}
.zc-cd.zt:not(.zt-transparent):is(.zc-cd-ring,.zc-cd-flip,.zc-cd-inline,.zc-cd-min){background:var(--zt-bg);box-shadow:var(--zt-shadow);border:var(--zt-border);border-radius:3cqw;padding:0 3%;box-sizing:border-box}
.zt-glass.zc-cd{-webkit-backdrop-filter:blur(2.4cqw) saturate(1.4);backdrop-filter:blur(2.4cqw) saturate(1.4)}
.zc-cal.zt:not(.zt-transparent){padding:5%;border-radius:3.2cqw;box-sizing:border-box}
.zt-glass.zc-w,.zt-glass.zc-cal,.zt-glass .zc-cd-box,.zt-glass .zc-cd-card,.zt-glass.zc-cd-after{-webkit-backdrop-filter:blur(2.4cqw) saturate(1.4);backdrop-filter:blur(2.4cqw) saturate(1.4)}
.zt-classic.zc-w{outline:1px solid rgba(168,132,79,.3);outline-offset:-1.8cqw}
.zt-minimal.zc-w{border-radius:1.2cqw}
.zt-modern.zc-w{border-radius:5cqw}
.zt-floral.zc-w,.zt-floral.zc-cal{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23c9607f' stroke-opacity='.42' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M118 4C92 10 70 26 56 50'/%3E%3Cpath d='M96 12c-6-8-16-8-20-2 6 6 14 7 20 2zM80 24c2-10-4-17-11-16 0 8 5 14 11 16zM70 38c-8-4-16 0-17 7 8 2 15-1 17-7z'/%3E%3Ccircle cx='108' cy='22' r='5'/%3E%3Ccircle cx='108' cy='22' r='1.6' fill='%23c9607f' fill-opacity='.4'/%3E%3Ccircle cx='92' cy='36' r='3.4'/%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23c9607f' stroke-opacity='.42' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M2 116c26-6 48-22 62-46'/%3E%3Cpath d='M24 108c6 8 16 8 20 2-6-6-14-7-20-2zM40 96c-2 10 4 17 11 16 0-8-5-14-11-16zM50 82c8 4 16 0 17-7-8-2-15 1-17 7z'/%3E%3Ccircle cx='12' cy='98' r='5'/%3E%3Ccircle cx='12' cy='98' r='1.6' fill='%23c9607f' fill-opacity='.4'/%3E%3Ccircle cx='28' cy='84' r='3.4'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-position:top right,bottom left;background-size:24cqw 24cqw}
.zt-tfd.zt-floral .zc-w-title,.zt-tfd.zt-floral .zc-cal-title{font-size:7.2cqw;font-weight:400}
.zt-tfs :is(.zc-sch-ttl,.zc-vn-label,.zc-cal-big,.zc-cal-mdate){font-family:inherit}
.zt-tfs :is(.zc-w-title,.zc-cal-title,.zc-cp-name){font-weight:400;letter-spacing:0}
.zt-tfs:not(.zt-tfd) .zc-w-title{font-size:6.6cqw;line-height:1.25}
.zt-tfd.zt-modern .zc-w-title{text-transform:uppercase;letter-spacing:.14em;font-size:3.6cqw;font-weight:700}
.zt-classic .zc-w-title::after{content:"";display:block;width:12cqw;height:1px;background:var(--zc-accent);margin:1.6cqw auto 0;opacity:.6}
.zt-tfd.zt-dark .zc-w-title{font-size:5.6cqw;font-weight:500;letter-spacing:.02em}
.zt .zc-input,.zt .zc-segbtn{background:var(--zt-in);border-color:var(--zt-line);color:inherit}
.zt .zc-input option{color:#1f1f1f}
.zt .zc-wish{background:var(--zt-soft)}
.zt .zc-wbtn,.zt .zc-segbtn[aria-checked="true"]{color:var(--zt-on,#fff)}
.zt .zc-cd-box{background:var(--zt-bg);box-shadow:var(--zt-shadow);border:var(--zt-border)}
.zt-transparent .zc-cd-box{background:rgba(255,255,255,.35)}
.zt-ondark{--zt-in:rgba(255,255,255,.08);--zt-line:rgba(255,255,255,.26);--zt-soft:rgba(255,255,255,.07);--zt-ph:rgba(255,255,255,.55)}
.zt-onlight{--zt-in:#ffffff;--zt-line:rgba(0,0,0,.14);--zt-soft:rgba(0,0,0,.04);--zt-ph:rgba(0,0,0,.45)}
.zt-ondark .zc-input,.zt-ondark .zc-segbtn,.zt-onlight .zc-input,.zt-onlight .zc-segbtn{background:var(--zt-in);border-color:var(--zt-line);color:inherit}
.zt-ondark .zc-input::placeholder,.zt-onlight .zc-input::placeholder{color:var(--zt-ph);opacity:1}
.zt .zc-input::placeholder{color:currentColor;opacity:.5}
.zt-ondark select.zc-input{color-scheme:dark}
.zt-ondark .zc-input option{background:#26222a;color:#f3ebe6}
.zt-ondark .zc-wish,.zt-onlight .zc-wish{background:var(--zt-soft)}
.zt-ondark .zc-label,.zt-ondark .zc-note{opacity:.82}
.zt-ondark .zc-linkbtn{filter:brightness(1.25)}
.zt-ondark .zc-sigpad{border-color:rgba(255,255,255,.4)}
.zt-ondark .zc-gift .zc-qr{box-shadow:0 0 0 1.2cqw #fff}
.zb-filled .zc-wbtn{border-radius:1.6cqw}
.zb-pill .zc-wbtn{border-radius:999px}
.zb-outline .zc-wbtn{background:transparent;color:var(--zc-accent);box-shadow:inset 0 0 0 .3cqw var(--zc-accent)}
.zb-ghost .zc-wbtn{background:color-mix(in srgb,var(--zc-accent) 12%,transparent);color:var(--zc-accent)}
.zb-outline .zc-wbtn:hover:not(:disabled),.zb-ghost .zc-wbtn:hover:not(:disabled){filter:none;background:color-mix(in srgb,var(--zc-accent) 18%,transparent)}
.zi-underline .zc-input{background:transparent;border-width:0 0 1px;border-radius:0;padding-left:.4cqw;padding-right:.4cqw}
.zi-underline .zc-input:focus{box-shadow:none;border-color:var(--zc-accent)}
.zi-filled .zc-input,.zt .zi-filled .zc-input,.zi-filled.zt .zc-input{background:color-mix(in srgb,currentColor 7%,transparent);border-color:transparent}
.zi-filled .zc-input:focus{background:var(--zt-in,#fff)}
.zc-ico{width:1.15em;height:1.15em;flex:0 0 auto;vertical-align:-.2em}
@keyframes zc-stg-in{from{opacity:0;transform:translateY(2.4cqw)}}
.zc-root [data-anim].zc-in .zc-stg{animation:zc-stg-in .6s cubic-bezier(.22,1,.36,1) calc(var(--zc-dl,0ms) + 180ms + var(--i,0) * 120ms) backwards}
@media (prefers-reduced-motion: reduce){.zc-root .zc-stg{animation:none!important}}

.zc-cal-dim{opacity:.35}
.zc-cal-lds .zc-cal-day{flex-direction:column;line-height:1.05}
.zc-cal-ld{position:relative;z-index:1;font-size:.56em;font-weight:400;opacity:.6;margin-top:.15em;font-style:normal}
.zc-cal-day[aria-current] .zc-cal-ld{opacity:.9}
.zc-cal-lun .zc-cal-day{aspect-ratio:auto;min-height:0;height:100%}
.zc-cal-lun .zc-cal-grid{min-height:0}
.zc-cal-lunar{text-align:center;opacity:.75;margin-top:1.2cqw;font-style:italic}
.zc-cal-h-banner{background:var(--zc-accent,#cf2f62);color:var(--zt-on,#fff);border-radius:1.6cqw;padding:1.2cqw 0}
.zc-cal-h-underline{padding-bottom:1.2cqw;border-bottom:1px solid var(--zc-accent,#cf2f62)}
.zc-cal-week{justify-content:center}
.zc-cal-week .zc-cal-grid{flex:0 0 auto}
.zc-cal-single,.zc-cal-minimal{align-items:center;justify-content:center;text-align:center}
.zc-cal-srow{display:flex;align-items:center;justify-content:center;gap:4%;width:100%}
.zc-cal-side{flex:1;text-transform:uppercase;letter-spacing:.12em;padding:1.2cqw 0;border-top:1px solid currentColor;border-bottom:1px solid currentColor;opacity:.85;white-space:nowrap}
.zc-cal-big{position:relative;display:flex;align-items:center;justify-content:center;font-weight:600;line-height:1;font-family:var(--zt-tf,inherit)}
.zc-cal-big .zc-cal-mark{inset:auto;top:-2%;right:-14%;width:30%;height:30%}
.zc-cal-big span{position:relative}
.zc-cal-mdate{display:flex;align-items:center;justify-content:center;gap:.4em;font-weight:500;line-height:1.1;font-family:var(--zt-tf,inherit)}
.zc-cal-mdate i{font-style:normal;font-size:.4em;color:var(--zc-accent,#cf2f62)}
.zc-cal-mwd{text-transform:uppercase;letter-spacing:.24em;opacity:.8;margin-top:1.6cqw}

.zc-cd-after{display:flex;align-items:center;justify-content:center;text-align:center;width:100%;height:100%;font-weight:600;border-radius:2.4cqw;padding:0 3cqw;box-sizing:border-box}
.zc-cd-inline{align-items:center;justify-content:center;flex-wrap:wrap;gap:0 .5em;white-space:nowrap}
.zc-cd-inline .zc-cd-num{font-weight:700}
.zc-cd-inline .zc-cd-lbl{opacity:.8;margin:0}
.zc-cd-dot{margin-left:.5em;color:var(--zc-accent,#cf2f62)}
.zc-cd-min{align-items:center;justify-content:center;gap:0}
.zc-cd-cell{position:relative;flex:1;display:flex;flex-direction:column;align-items:center}
.zc-cd-sep{position:absolute;right:-.15em;top:0;opacity:.45;line-height:1}
.zc-cd-ring{align-items:center;justify-content:space-around;gap:0}
.zc-cd-rc{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}
.zc-cd-rc svg{position:absolute;inset:0;width:100%;height:100%}
.zc-cd-track{fill:rgba(255,255,255,.55);stroke:currentColor;stroke-opacity:.14;stroke-width:5}
.zt .zc-cd-track{fill:var(--zt-bg)}
.zc-cd-prog{fill:none;stroke:var(--zc-accent,#cf2f62);stroke-width:5;stroke-linecap:round;transition:stroke-dasharray .6s ease}
.zc-cd-rc .zc-cd-num,.zc-cd-rc .zc-cd-lbl{position:relative}
.zc-cd-rc .zc-cd-lbl{margin-top:.25em;opacity:.85;font-weight:500;line-height:1.1;max-width:78%;text-align:center;overflow-wrap:anywhere}
.zc-cd-flip{align-items:center;justify-content:space-around;gap:0}
.zc-cd-fc{display:flex;flex-direction:column;align-items:center}
.zc-cd-card{position:relative;display:flex;align-items:center;justify-content:center;border-radius:1.6cqw;background:#2b2125;color:#fff;box-shadow:0 .6cqw 1.6cqw rgba(0,0,0,.18);overflow:hidden;perspective:40cqw}
.zt-classic .zc-cd-card,.zt-floral .zc-cd-card,.zt-modern .zc-cd-card{background:var(--zc-accent);color:#fff}
.zt-dark .zc-cd-card{background:#2f2a33;color:#f3ebe6;box-shadow:0 .6cqw 1.6cqw rgba(0,0,0,.4)}
.zc-cd-card::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.35);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.zc-cd-card .zc-cd-num{display:block;animation:zc-cd-flip .45s cubic-bezier(.22,1,.36,1)}
@keyframes zc-cd-flip{from{transform:rotateX(80deg);opacity:.2}}
@media (prefers-reduced-motion: reduce){.zc-cd-card .zc-cd-num{animation:none}}
.zc-cd-still .zc-cd-num{animation:none}
.zc-cd-fc .zc-cd-lbl{margin-top:1.4cqw;opacity:.9;font-weight:500;letter-spacing:.03em;line-height:1.15}
.zc-cd.zc-cd-lc .zc-cd-lbl{color:var(--zc-cd-lc);opacity:1}

.zc-map-box{position:relative;width:100%;overflow:hidden}
.zc-map-wrap{width:100%;height:100%;display:flex;flex-direction:column;gap:2cqw}
.zc-map-card{gap:2.2cqw}
.zc-map-card .zc-w-title{margin-bottom:.4cqw}
.zc-map-addr{margin:0;display:flex;gap:1.4cqw;align-items:flex-start;font-size:3cqw;line-height:1.45}
.zc-map-addr .zc-ico{color:var(--zc-accent);margin-top:.2em}
.zc-map-btns{display:flex;gap:2cqw}
.zc-map-btns .zc-wbtn{flex:1;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center}
.zc-map-tabs{display:flex;gap:1.2cqw;padding:.8cqw;border-radius:999px;background:var(--zt-soft,rgba(0,0,0,.05))}
.zc-map-tab{flex:1;font:inherit;font-size:2.8cqw;font-weight:600;border:0;border-radius:999px;padding:1.6cqw 2cqw;background:transparent;color:inherit;cursor:pointer;opacity:.75}
.zc-map-tab[aria-selected="true"]{background:var(--zc-accent,#cf2f62);color:var(--zt-on,#fff);opacity:1}
.zc-map-tab:focus-visible,.zc-map-chip:focus-visible{outline:2px solid var(--zc-accent,#cf2f62);outline-offset:2px}
.zc-map-pin{position:relative;width:100%;height:100%;overflow:hidden}
.zc-map-pin-tabs{position:absolute;left:3cqw;right:3cqw;top:3cqw}
.zc-map-pin-tabs .zc-map-tabs{background:rgba(255,255,255,.92);box-shadow:0 .6cqw 2cqw rgba(16,24,40,.15);color:#2b2125}
.zc-map-pin-bar{position:absolute;left:3cqw;right:3cqw;bottom:3.4cqw;display:flex;justify-content:center;gap:1.6cqw;pointer-events:none}
.zc-map-chip{pointer-events:auto;min-width:0;max-width:100%;display:flex;align-items:center;gap:1.4cqw;padding:2cqw 3.4cqw;border-radius:999px;background:#fff;color:#2b2125;font:600 2.9cqw/1.25 system-ui,sans-serif;text-decoration:none;box-shadow:0 .8cqw 2.4cqw rgba(16,24,40,.2)}
.zc-map-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zc-map-chip .zc-ico{color:var(--zc-accent,#cf2f62)}
.zc-map-chip-sm{flex:0 0 auto;background:var(--zc-accent,#cf2f62);color:var(--zt-on,#fff)}
.zt .zc-map-chip:not(.zc-map-chip-sm){background:var(--zt-bg);color:var(--zt-fg)}
.zt-glass .zc-map-chip:not(.zc-map-chip-sm){-webkit-backdrop-filter:blur(2.4cqw);backdrop-filter:blur(2.4cqw)}
.zt-transparent .zc-map-chip:not(.zc-map-chip-sm){background:#fff}
.zt-dark .zc-map-pin-tabs .zc-map-tabs{background:rgba(29,26,31,.92);color:#f3ebe6}

.zc-gal-item{position:relative}
.zc-gal-cap{position:absolute;left:0;right:0;bottom:0;padding:4cqw 2cqw 1.6cqw;background:linear-gradient(transparent,rgba(0,0,0,.55));color:#fff;font:500 2.6cqw/1.3 system-ui,sans-serif;text-align:left;pointer-events:none}
.zc-gal-mos .zc-gal-item img{position:absolute;inset:0}
.zc-gal-mas{display:flex;align-items:flex-start;width:100%;height:100%;overflow-y:auto;scrollbar-width:none}
.zc-gal-mcol{flex:1;min-width:0;display:flex;flex-direction:column}
.zc-gal-mas .zc-gal-item{display:block;width:100%;flex:0 0 auto}
.zc-gal-pol{display:grid;width:100%;height:100%;overflow-y:auto;align-content:start;padding:3cqw 2cqw;box-sizing:border-box;scrollbar-width:none}
.zc-pol{margin:0 0 -2cqw;padding:2cqw 2cqw 0;background:#fff;box-shadow:0 .8cqw 2.4cqw rgba(16,24,40,.18);transition:transform .25s}
.zc-pol:hover{z-index:1}
.zc-pol .zc-gal-item{display:block;width:100%;aspect-ratio:1/1}
.zc-pol figcaption{font:400 3.6cqw/1.2 'Dancing Script',cursive;color:#3d3029;text-align:center;padding:1.6cqw 0 2.4cqw;min-height:3cqw}
.zc-pol:not(:has(figcaption)){padding-bottom:6cqw}
.zc-car{position:relative;width:100%;height:100%;overflow:hidden;background:#f3f4f6}
.zc-car-track{display:flex;width:100%;height:100%;transition:transform .6s cubic-bezier(.22,1,.36,1)}
@media (prefers-reduced-motion: reduce){.zc-car-track{transition:none}}
.zc-car-slide{position:relative;flex:0 0 100%;height:100%;padding:0;border:0;background:none;cursor:pointer}
.zc-car-slide img{width:100%;height:100%;object-fit:cover;display:block}
.zc-car-btn{position:absolute;top:50%;transform:translateY(-50%);width:8cqw;height:8cqw;border-radius:999px;border:0;background:rgba(255,255,255,.85);color:#2b2125;font-size:5cqw;line-height:1;cursor:pointer;box-shadow:0 .4cqw 1.6cqw rgba(0,0,0,.18)}
.zc-car-prev{left:2.4cqw}
.zc-car-next{right:2.4cqw}
.zc-car-dots{position:absolute;left:0;right:0;bottom:2.4cqw;display:flex;justify-content:center;gap:1.4cqw}
.zc-car-dots button{width:1.8cqw;height:1.8cqw;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.6);cursor:pointer;transition:width .25s}
.zc-car-dots button[aria-current="true"]{width:5cqw;background:#fff}
.zc-car-btn:focus-visible,.zc-car-dots button:focus-visible{outline:2px solid #fff;outline-offset:2px}

.zc-wl-bub .zc-wish{flex-direction:row;align-items:flex-start;gap:2cqw;background:none;padding:0}
.zc-wish-av{flex:0 0 auto;width:7cqw;height:7cqw;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--zc-accent);color:var(--zt-on,#fff);font-weight:700;font-size:3cqw}
.zc-wish-body{display:flex;flex-direction:column;gap:.4cqw;min-width:0;background:var(--zt-soft,rgba(0,0,0,.05));padding:2cqw 2.8cqw;border-radius:.6cqw 3cqw 3cqw 3cqw}
.zc-wl-mq{overflow:hidden;flex:1;min-height:14cqw;display:flex;align-items:center;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.zc-wl-track{list-style:none;margin:0;padding:0;display:flex;gap:2.4cqw;width:max-content;animation:zc-mq var(--zc-mq,20s) linear infinite}
.zc-wl-track .zc-wish{width:46cqw;flex:0 0 auto}
.zc-wl-mq:hover .zc-wl-track,.zc-wl-mq:focus-within .zc-wl-track{animation-play-state:paused}
@keyframes zc-mq{to{transform:translateX(calc(-50% - 1.2cqw))}}
@media (prefers-reduced-motion: reduce){.zc-wl-mq{overflow-x:auto}.zc-wl-track{animation:none}}
.zc-wl-slider{display:flex;flex-direction:column;gap:1cqw;flex:1;min-height:0;justify-content:center}
.zc-wl-slider .zc-wishes{flex:0 0 auto;min-height:0;overflow:visible}
.zc-wl-slider .zc-wish{text-align:center;padding:3.4cqw;font-size:3.1cqw}
.zc-wl-nav{justify-content:center}
.zc-wl-nav .zc-linkbtn{font-size:5cqw;line-height:1;padding:0 2cqw}

.zc-gc-qr-card .zc-gift{background:var(--zt-in,#fff);border-radius:2.4cqw;padding:2.4cqw 1.6cqw;box-shadow:0 .4cqw 2cqw rgba(16,24,40,.1)}
.zc-gc-minimal .zc-gift{gap:.2cqw}
.zc-gc-minimal .zc-qr{max-width:24cqw;border-radius:0;margin:.4cqw 0}
.zc-gc-minimal .zc-gift-label{text-transform:uppercase;letter-spacing:.12em;font-size:2.4cqw}
.zc-gc-ticket .zc-gift{position:relative;padding:2.4cqw 1.6cqw 2cqw;background:var(--zt-in,#fff);border:1px dashed var(--zt-line,rgba(0,0,0,.2));border-radius:1.6cqw;-webkit-mask:radial-gradient(circle 2.2cqw at 0 62%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 2.2cqw at 100% 62%,transparent 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 2.2cqw at 0 62%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 2.2cqw at 100% 62%,transparent 98%,#000) right/51% 100% no-repeat}
.zc-gc-ticket .zc-gift-label{width:100%;padding-bottom:1.2cqw;border-bottom:1px dashed var(--zt-line,rgba(0,0,0,.2))}
.zc-gcv{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2cqw;width:100%;aspect-ratio:3/2;min-height:min-content;flex:0 0 auto;box-sizing:border-box;margin:0;padding:4cqw 3cqw;font:inherit;color:inherit;text-align:center;cursor:pointer;overflow:hidden;border:1px solid color-mix(in srgb,var(--zc-accent) 35%,transparent);border-radius:2.4cqw;background:color-mix(in srgb,var(--zc-accent) 6%,var(--zt-in,#fff));box-shadow:0 .4cqw 2cqw rgba(16,24,40,.08);transition:transform .25s ease,box-shadow .25s ease}
.zc-gcv>*{position:relative}
.zc-gcv:hover{transform:translateY(-.4cqw);box-shadow:0 1cqw 3.2cqw rgba(16,24,40,.14)}
.zc-gcv:focus-visible,.zc-gcv-btn:focus-visible{outline:2px solid var(--zc-accent);outline-offset:2px}
.zc-gcv-art{width:16cqw;height:16cqw;flex:0 0 auto;transition:transform .3s ease}
.zc-gcv:hover .zc-gcv-art{transform:scale(1.06) rotate(-3deg)}
.zc-gcv-lid{transform-box:fill-box;transform-origin:50% 0;transition:transform .35s ease}
.zc-gcv:hover .zc-gcv-lid{transform:translateY(-12%)}
.zc-gcv-lbl{font-family:var(--zt-tf,inherit);font-weight:600;font-size:3.4cqw;line-height:1.25;color:var(--zc-accent)}
.zc-gcv-hint{font-size:2.2cqw;letter-spacing:.08em;text-transform:uppercase;opacity:.65}
.zc-gcv-sm{padding:3cqw 2cqw}
.zc-gcv-sm .zc-gcv-art{width:12cqw;height:12cqw}
.zc-gcv-sm .zc-gcv-lbl{font-size:2.9cqw}
.zc-gcv-envelope::before{content:"";position:absolute;left:0;right:0;top:0;height:min(42%,16cqw);background:color-mix(in srgb,var(--zc-accent) 9%,transparent);clip-path:polygon(0 0,100% 0,50% 100%);pointer-events:none}
.zc-gcv-card{outline:1px solid color-mix(in srgb,var(--zc-accent) 30%,transparent);outline-offset:-1.6cqw}
.zc-gcv-card:focus-visible{outline:2px solid var(--zc-accent);outline-offset:2px}
.zc-gcv-box{background-image:linear-gradient(90deg,transparent calc(50% - .9cqw),color-mix(in srgb,var(--zc-accent) 14%,transparent) calc(50% - .9cqw),color-mix(in srgb,var(--zc-accent) 14%,transparent) calc(50% + .9cqw),transparent calc(50% + .9cqw))}
/* Bìa đóng giữ tỉ lệ tự nhiên (phong bì 3:2, hộp 5:4, thiệp 4:5), nằm giữa khung theo chiều dọc — khung cao không kéo dãn bìa. */
.zc-gcv-box{aspect-ratio:5/4}
.zc-gcv-card{aspect-ratio:4/5}
.zc-w>.zc-gcv{width:min(100%,68cqw);margin:auto}
.zc-w>.zc-gcv-card{width:min(100%,50cqw)}
.zc-gifts-cv{flex:1;min-height:0;align-content:center;align-items:center}
.zc-gifts-cv>.zc-gcv{justify-self:center;max-width:62cqw}
.zc-gcv-row{display:flex;flex-direction:column;flex:1;align-items:center;justify-content:center;gap:2.4cqw;min-height:14cqw}
.zc-gift-rv{animation:zc-gift-in .6s cubic-bezier(.2,.8,.2,1) both}
.zc-gift-rv:focus{outline:none}
@keyframes zc-gift-in{from{opacity:0;transform:translateY(3cqw) scale(.94);filter:blur(.6cqw)}to{opacity:1;transform:none;filter:none}}
@media (prefers-reduced-motion: reduce){.zc-gift-rv{animation:none}.zc-gcv,.zc-gcv-art,.zc-gcv-lid{transition:none}}

.zc-sch-list,.zc-vn-list,.zc-dc-sw{list-style:none;margin:0;padding:0}
.zc-sch p,.zc-vn p,.zc-cp p,.zc-dc p,.zc-faq p{margin:0}
.zc-sch-list{position:relative;display:flex;flex-direction:column;gap:3.2cqw}
.zc-sch-it{position:relative;display:flex;gap:3cqw;align-items:flex-start}
.zc-sch-ic{position:relative;z-index:1;flex:0 0 auto;width:9cqw;height:9cqw;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--zc-accent);color:var(--zt-on,#fff)}
.zc-sch-ic svg{width:52%;height:52%}
.zc-ic-plain .zc-sch-ic{background:var(--zs-bg,var(--zt-bg,#fff));color:var(--zc-accent)}
.zc-ic-plain .zc-sch-ic svg{width:70%;height:70%}
.zc-ic-badge .zc-sch-ic{border-radius:2.4cqw;background:var(--zs-bg,var(--zt-bg,#fff));color:var(--zc-accent);box-shadow:inset 0 0 0 .3cqw color-mix(in srgb,var(--zc-accent) 45%,transparent)}
.zc-sch-tx{min-width:0;display:flex;flex-direction:column;gap:.4cqw;padding-top:.6cqw}
.zc-sch-time{font-weight:700;color:var(--zc-accent);font-size:3cqw;letter-spacing:.04em}
.zc-sch-ttl{font-weight:600;font-size:3.5cqw;line-height:1.3;font-family:var(--zt-tf,inherit)}
.zc-sch-desc{opacity:.78;font-size:2.8cqw}
.zc-sch-place{display:flex;gap:1cqw;align-items:center;font-size:2.6cqw;opacity:.75}
.zc-sch-line-left .zc-sch-list::before,.zc-sch-zigzag .zc-sch-list::before{content:"";position:absolute;top:4.5cqw;bottom:4.5cqw;left:4.5cqw;border-left:.4cqw var(--zs-ls,solid) var(--zs-line,color-mix(in srgb,var(--zc-accent) 45%,transparent));transform:translateX(-50%)}
.zc-sch-zigzag .zc-sch-list::before{left:50%}
.zc-sch-zigzag .zc-sch-it{display:grid;grid-template-columns:minmax(0,1fr) 9cqw minmax(0,1fr);gap:2.6cqw}
.zc-sch-zigzag .zc-sch-ic{grid-column:2;grid-row:1}
.zc-sch-zigzag .zc-sch-tx{grid-row:1;grid-column:3}
.zc-sch-zigzag .zc-sch-it:nth-child(odd) .zc-sch-tx{grid-column:1;text-align:right;align-items:flex-end}
.zc-sch-cards .zc-sch-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4cqw}
.zc-sch-cards .zc-sch-it{flex-direction:column;align-items:center;text-align:center;gap:1.6cqw;padding:3cqw 2cqw;border-radius:2.4cqw;background:var(--zt-soft,rgba(0,0,0,.035))}
.zc-sch-cards .zc-sch-tx{align-items:center;padding:0}
.zc-sch-steps .zc-sch-list{display:grid;gap:4cqw 1.6cqw}
.zc-sch-steps .zc-sch-it{flex-direction:column;align-items:center;text-align:center;gap:1.6cqw}
.zc-sch-steps .zc-sch-tx{align-items:center;padding:0}
.zc-sch-steps .zc-sch-it::before{content:"";position:absolute;top:4.5cqw;right:50%;width:calc(100% + 1.6cqw);border-top:.4cqw var(--zs-ls,solid) var(--zs-line,color-mix(in srgb,var(--zc-accent) 45%,transparent))}
.zc-sch-steps .zc-sch-it:nth-child(4n+1)::before{display:none}
.zc-sch-steps .zc-sch-ttl{font-size:3cqw}
.zc-sch-steps .zc-sch-desc{font-size:2.5cqw}

.zc-vn-list{display:grid;gap:2.6cqw}
.zc-vn-it{display:flex;flex-direction:column;gap:1.4cqw;padding:3cqw;border-radius:2.4cqw;background:var(--zt-soft,rgba(0,0,0,.035))}
.zc-vn-head{display:flex;gap:2.4cqw;align-items:center}
.zc-vn-ic{flex:0 0 auto;width:8cqw;height:8cqw;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--zc-accent);color:var(--zt-on,#fff)}
.zc-vn-ic svg{width:55%;height:55%}
.zc-vn-hd{min-width:0}
.zc-vn-label{font-weight:700;font-size:3.6cqw;line-height:1.25;font-family:var(--zt-tf,inherit)}
.zc-vn-time{display:flex;gap:1cqw;align-items:center;color:var(--zc-accent);font-weight:600;font-size:2.8cqw}
.zc-vn-addr{font-size:2.9cqw;line-height:1.45}
.zc-vn-note{font-size:2.6cqw;opacity:.72;font-style:italic}
.zc-vn-btn{align-self:flex-start;text-decoration:none;font-size:2.7cqw;padding:1.6cqw 3.4cqw}
.zc-vn-l-cards .zc-vn-it{text-align:center;align-items:center}
.zc-vn-l-cards .zc-vn-head{flex-direction:column;gap:1.2cqw}
.zc-vn-l-cards .zc-vn-time{justify-content:center}
.zc-vn-l-cards .zc-vn-btn{align-self:center}

.zc-cp{justify-content:center}
.zc-cp-row{display:flex;gap:3cqw;align-items:stretch}
.zc-cp-cell{flex:1;min-width:0;display:flex;align-items:flex-start;gap:3cqw}
.zc-cp-p{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.8cqw}
.zc-cp-ph{display:flex;align-items:center;justify-content:center;width:30cqw;height:30cqw;max-width:100%;overflow:hidden;background:var(--zt-soft,#f6e3ea);color:var(--zc-accent);font-size:9cqw;font-family:var(--zt-tf,inherit);margin-bottom:1.6cqw;box-shadow:0 0 0 .8cqw var(--zt-in,#fff),0 0 0 1.1cqw color-mix(in srgb,var(--zc-accent) 40%,transparent)}
.zc-cp-ph img{width:100%;height:100%;object-fit:cover;display:block}
.zc-cp-circle{border-radius:999px}
.zc-cp-arch{border-radius:15cqw 15cqw 1.6cqw 1.6cqw;height:38cqw}
.zc-cp-rounded{border-radius:3.2cqw}
.zc-cp-role{text-transform:uppercase;letter-spacing:.18em;font-size:2.4cqw;font-weight:600;color:var(--zc-accent)}
.zc-cp-name{font-size:5.4cqw;line-height:1.2;font-family:var(--zt-tf,inherit);font-weight:600}
.zc-cp-par{font-size:2.5cqw;opacity:.72}
.zc-cp-bio{font-size:2.7cqw;line-height:1.5;opacity:.85;margin-top:.8cqw!important}
.zc-cp-amp{align-self:center;font-size:8cqw;line-height:1;color:var(--zc-accent);font-family:var(--zt-tf,'Great Vibes',cursive);margin-top:-14cqw}
.zc-cp-l-stack .zc-cp-row{flex-direction:column;align-items:center}
.zc-cp-l-stack .zc-cp-cell{flex-direction:column;align-items:center;width:100%}
.zc-cp-l-stack .zc-cp-amp{margin:0}
.zc-cp-photos{display:flex;justify-content:center;margin-bottom:2cqw}
.zc-cp-photos .zc-cp-ph{margin:0}
.zc-cp-photos .zc-cp-ph+.zc-cp-ph{margin-left:-7cqw}

.zc-dc{align-items:center;text-align:center;justify-content:center}
.zc-dc-sw{display:flex;flex-wrap:wrap;justify-content:center;gap:3cqw}
.zc-dc-sw li{display:flex;flex-direction:column;align-items:center;gap:1cqw}
.zc-dc-dot{display:block;width:11cqw;height:11cqw;box-shadow:0 0 0 .6cqw var(--zt-in,#fff),0 .6cqw 1.8cqw rgba(16,24,40,.18)}
.zc-dc-circle{border-radius:999px}
.zc-dc-square{border-radius:1.6cqw}
.zc-dc-pill{width:7cqw;height:14cqw;border-radius:999px}
.zt-ondark .zc-dc-dot{box-shadow:0 0 0 .4cqw rgba(255,255,255,.4),0 .6cqw 1.8cqw rgba(0,0,0,.4)}
.zc-dc-name{font-size:2.4cqw;opacity:.8}
.zc-dc-note{font-size:2.9cqw;line-height:1.5;opacity:.85;max-width:90%}

.zc-faq-list{display:flex;flex-direction:column;gap:1.6cqw}
.zc-faq-it{border-radius:2cqw;background:var(--zt-soft,rgba(0,0,0,.035));overflow:hidden}
.zc-faq-it summary{list-style:none;display:flex;align-items:center;gap:2cqw;padding:2.6cqw 3cqw;font-weight:600;font-size:3.1cqw;cursor:pointer}
.zc-faq-it summary::-webkit-details-marker{display:none}
.zc-faq-it summary span{flex:1}
.zc-faq-it summary:focus-visible{outline:2px solid var(--zc-accent);outline-offset:-2px;border-radius:2cqw}
.zc-faq-chev{width:4cqw;height:4cqw;flex:0 0 auto;color:var(--zc-accent);transition:transform .2s}
.zc-faq-it[open] .zc-faq-chev{transform:rotate(180deg)}
.zc-faq-it p{padding:0 3cqw 2.8cqw;font-size:2.9cqw;line-height:1.55;opacity:.85}
.zc-gp-hint{margin-top:-1cqw}
.zc-gp-add{display:inline-flex;align-items:center;justify-content:center;gap:1.4cqw;align-self:center}
.zc-gp-add svg{flex:0 0 auto}
.zc-gp-full{align-self:center;max-width:92%;margin:0 auto;padding:1.6cqw 3cqw;border-radius:2.4cqw;text-align:center;opacity:1;background:color-mix(in srgb,var(--zc-accent) 10%,transparent);color:inherit}
.zc-gp{display:grid;grid-template-columns:repeat(var(--zc-gp-cols,3),minmax(0,1fr))}
.zc-gp-masonry{display:flex;align-items:flex-start}
.zc-gp-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column}
.zc-gp-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.4cqw}
.zc-gp-strip::-webkit-scrollbar{display:none}
.zc-gp-strip>.zc-gp-item{flex:0 0 auto;height:34cqw;width:auto;scroll-snap-align:start}
.zc-gp-item{position:relative;display:block;width:100%;padding:0;border:0;margin:0;overflow:hidden;border-radius:2cqw;background:color-mix(in srgb,var(--zc-accent) 10%,transparent);cursor:zoom-in;color:inherit;font:inherit}
.zc-gp-item img{display:block;width:100%;height:100%;object-fit:cover}
.zc-gp-item:focus-visible{outline:2px solid var(--zc-accent);outline-offset:2px}
.zc-gp-sample{display:flex;align-items:center;justify-content:center;cursor:default;color:color-mix(in srgb,var(--zc-accent) 70%,#fff);background:linear-gradient(135deg,color-mix(in srgb,var(--zc-accent) 16%,#fff),color-mix(in srgb,var(--zc-accent) 30%,#fff));filter:hue-rotate(calc(var(--zc-gp-tone,0deg) / 8))}
.zt-ondark .zc-gp-sample,.zt-dark .zc-gp-sample{background:linear-gradient(135deg,color-mix(in srgb,var(--zc-accent) 22%,#1d1a1f),color-mix(in srgb,var(--zc-accent) 38%,#1d1a1f));color:color-mix(in srgb,var(--zc-accent) 80%,#fff)}
.zc-gp-name{position:absolute;left:0;right:0;bottom:0;padding:3cqw 1.6cqw 1.2cqw;font-size:2.2cqw;line-height:1.2;color:#fff;text-align:left;background:linear-gradient(transparent,rgba(0,0,0,.55));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zc-gp-badge{position:absolute;top:1.2cqw;left:1.2cqw;padding:.4cqw 1.4cqw;border-radius:999px;font-size:2cqw;font-weight:600;color:#fff;background:rgba(0,0,0,.6)}
.zc-gp-more{align-self:center}
.zc-wl-more{align-self:center}
.zc-gp-loading{height:20cqw;border-radius:2cqw;background:linear-gradient(90deg,color-mix(in srgb,var(--zc-accent) 6%,transparent),color-mix(in srgb,var(--zc-accent) 14%,transparent),color-mix(in srgb,var(--zc-accent) 6%,transparent));background-size:200% 100%;animation:zc-gp-sh 1.4s linear infinite}
@keyframes zc-gp-sh{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.zc-gp-loading{animation:none}}
.zc-gp-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}
.zc-gp-thumb{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:rgba(0,0,0,.06)}
.zc-gp-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.zc-gp-thumb.is-failed{outline:2px solid #d9363e;outline-offset:-2px}
.zc-gp-thumb .zc-gp-fail{position:absolute;left:4px;bottom:4px;width:22px;height:22px;border-radius:999px;background:#d9363e;color:#fff;font-size:14px;font-weight:700;line-height:22px;text-align:center}
.zc-gp-thumb button{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:999px;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:16px;line-height:1;cursor:pointer}
.zc-gp-drop{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px;border-radius:10px;border:1.5px dashed color-mix(in srgb,var(--zc-accent) 55%,transparent);color:var(--zc-accent);font-size:12px;font-weight:600;text-align:center;cursor:pointer;background:color-mix(in srgb,var(--zc-accent) 6%,transparent)}
.zc-gp-pick:has(.zc-gp-thumb) .zc-gp-drop{aspect-ratio:1}
.zc-gp-pick:not(:has(.zc-gp-thumb)){grid-template-columns:1fr}
.zc-gp-pick:not(:has(.zc-gp-thumb)) .zc-gp-drop{aspect-ratio:auto;min-height:120px;font-size:14px}
.zc-gp-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.zc-gp-drop:focus-within{outline:2px solid var(--zc-accent);outline-offset:2px}


.zc-sg{gap:2cqw}
.zc-w.zc-sgw.zc-sgw{background:none;box-shadow:none;border:0;outline:0;padding:0;border-radius:0;overflow:visible;gap:2.4cqw;-webkit-backdrop-filter:none;backdrop-filter:none}
.zc-sgw>.zc-sg{flex:1;min-height:0;height:auto}
.zc-sgw>.zc-sg-cta{flex:none}
.zc-sg-board{position:relative;flex:1;min-height:30cqw;border-radius:2.4cqw;overflow:hidden;background-size:cover;background-position:center}
.zc-sg-dim{position:absolute;inset:0;pointer-events:none}
.zc-sg-area{position:absolute;container-type:size;display:flex}
.zc-sg-area .zc-sgi{flex:0 0 auto;width:calc(var(--zs,18)*1cqw);margin:0;display:flex;flex-direction:column;align-items:center;gap:.4cqw;min-width:0;text-align:center}
.zc-sgi-art{display:block;width:100%;aspect-ratio:2/1;object-fit:contain;-webkit-user-drag:none;user-select:none}
.zc-sgi-ink{-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.zc-sgi figcaption{display:flex;flex-direction:column;gap:.1em;max-width:100%;line-height:1.25;font-size:max(7px,calc(var(--zs,18)*.105cqw))}
.zc-sgi figcaption b{font-weight:600;color:var(--zc-accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zc-sgi figcaption span{font-style:italic;opacity:.78;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.zc-sg-wall{flex-wrap:wrap;justify-content:center;align-content:safe center;gap:calc(var(--zg,2)*1%);overflow:hidden;padding:2cqw}
.zc-sg-wall .zc-sgi{transform-origin:50% 40%}
.zc-sg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--zs,18)*1%),1fr));justify-items:center;align-content:safe center;gap:calc(var(--zg,2)*1%);overflow:auto;padding:2cqw;scrollbar-width:thin}
.zc-sg-grid .zc-sgi{width:100%;max-width:calc(var(--zs,18)*1.25cqw)}
.zc-sg-marquee{align-items:center;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.zc-sg-mq{width:100%;overflow:hidden}
.zc-sg-track{display:flex;gap:calc(var(--zg,2)*1cqw);width:max-content;align-items:center;animation:zc-sgmq var(--zc-mq,20s) linear infinite}
.zc-sg-mq:hover .zc-sg-track{animation-play-state:paused}
@keyframes zc-sgmq{to{transform:translateX(calc(-50% - var(--zg,2)*.5cqw))}}
@media (prefers-reduced-motion: reduce){.zc-sg-mq{overflow-x:auto}.zc-sg-track{animation:none}}
.zc-sg-free{display:block}
.zc-sg-free .zc-sgi{position:absolute;width:calc(var(--zs,18)*1cqw);transform-origin:50% 50%}
.zc-sg-dm{display:block;overflow:hidden}
.zc-sg-drift{-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.zc-sg-rise{-webkit-mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent)}
.zc-sg-dm .zc-sgi{position:absolute;width:calc(var(--zw,18)*1cqw);animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both;will-change:transform;backface-visibility:hidden}
.zc-sg-drift .zc-sgi{left:0;top:calc((var(--ln,0) + .5)*100%/var(--zl,1));translate:0 -50%;transform:translateX(100cqw);animation-name:zc-dmx}
.zc-sg-rise .zc-sgi{top:0;left:calc((var(--ln,0) + .5)*100%/var(--zl,1));translate:-50% 0;transform:translateY(100cqh);animation-name:zc-dmy}
.zc-sg-dm:hover .zc-sgi,.zc-sg-dm:focus-within .zc-sgi{animation-play-state:paused}
@keyframes zc-dmx{from{transform:translateX(100cqw)}to{transform:translateX(calc(100cqw - var(--zb,120)*1cqw))}}
@keyframes zc-dmy{from{transform:translateY(100cqh)}to{transform:translateY(calc(100cqh - var(--zb,120)*1cqw))}}
@media (prefers-reduced-motion: reduce){.zc-sg-dm{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--zs,18)*1%),1fr));justify-items:center;align-content:safe center;gap:calc(var(--zg,2)*1%);overflow:auto;padding:2cqw;-webkit-mask-image:none;mask-image:none}.zc-sg-dm .zc-sgi{position:static;animation:none;translate:none;transform:none;width:100%;max-width:calc(var(--zs,18)*1.25cqw)}}
.zc-sg-place{position:relative;width:100%;flex:none;min-height:0;border-radius:12px;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 14%,transparent)}
.zc-sg-place .zc-sg-areabox{position:absolute;outline:1.5px dashed color-mix(in srgb,var(--zc-accent) 60%,transparent);outline-offset:2px;border-radius:4px;pointer-events:none}
.zc-sg-place .zc-sg-others .zc-sgi{opacity:.5}
.zc-sg-mine{position:absolute;cursor:grab;touch-action:none;outline:1.5px solid var(--zc-accent);outline-offset:3px;border-radius:3px;z-index:2;background:color-mix(in srgb,var(--zc-accent) 6%,transparent)}
.zc-sg-mine:active{cursor:grabbing}
.zc-sg-mine:focus-visible{outline-width:3px}
.zc-sg-free .zc-sg-mine .zc-sgi{position:static;width:100%;transform:none}
.zc-sg-mine .zc-sgi-art{width:100%}
.zc-sg-hd{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px var(--zc-accent),0 1px 4px rgba(0,0,0,.25);touch-action:none;padding:0;border:0}
.zc-sg-hd::after{content:"";position:absolute;inset:-10px}
.zc-sg-hd-nw{left:-3px;top:-3px;cursor:nwse-resize}.zc-sg-hd-ne{left:calc(100% + 3px);top:-3px;cursor:nesw-resize}
.zc-sg-hd-sw{left:-3px;top:calc(100% + 3px);cursor:nesw-resize}.zc-sg-hd-se{left:calc(100% + 3px);top:calc(100% + 3px);cursor:nwse-resize}
.zc-sg-hd-rot{left:50%;top:-26px;width:20px;height:20px;margin:-10px 0 0 -10px;cursor:grab;display:flex;align-items:center;justify-content:center;color:var(--zc-accent)}
.zc-sg-hd-rot svg{width:12px;height:12px}
.zc-sg-hd-rot::before{content:"";position:absolute;left:50%;top:20px;width:2px;height:8px;margin-left:-1px;background:var(--zc-accent)}
.zc-sg-placebar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.zc-sg-placebar .zc-wbtn{flex:1;min-width:140px}

.zc-sg-frame{display:block}
.zc-sg-frame .zc-sgi{position:absolute;width:calc(var(--zs,18)*.8cqw);transform:translate(-50%,-50%);left:calc(50% + var(--fx,0)*(50% - var(--zs,18)*.4cqw - 1cqw));top:calc(50% + var(--fy,0)*(50cqh - var(--zs,18)*.34cqw - 1.4cqw))}
.zc-sg-photo-area{align-items:center;justify-content:center;pointer-events:none}
.zc-sg-photo{--zp:min(44cqmin,calc(100cqmin - var(--zs,18)*1.9cqw - 6cqw));width:var(--zp);height:var(--zp);flex:none;overflow:hidden;background:color-mix(in srgb,var(--zc-accent) 12%,transparent);display:flex;align-items:center;justify-content:center}
.zc-sg-photo img{width:100%;height:100%;object-fit:cover;display:block}
.zc-sg-dense .zc-sg-photo{--zp:min(30cqmin,calc(80cqmin - var(--zs,18)*1.9cqw - 6cqw))}
.zc-sg-photo-empty{width:42%;height:42%;color:var(--zc-accent);opacity:.45}
.zc-sg-ph-circle{border-radius:50%}
.zc-sg-ph-arch{border-radius:50% 50% 4% 4%/38% 38% 4% 4%;height:calc(var(--zp)*1.18)}
.zc-sg-ph-rect{border-radius:5%}
.zc-sg-ph-heart{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 92'%3E%3Cpath d='M50 90S2 60 2 28A24 24 0 0 1 50 16a24 24 0 0 1 48 12c0 32-48 62-48 62z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 92'%3E%3Cpath d='M50 90S2 60 2 28A24 24 0 0 1 50 16a24 24 0 0 1 48 12c0 32-48 62-48 62z'/%3E%3C/svg%3E") center/contain no-repeat}
.zc-sg-empty{margin:auto;padding:4cqw}
.zc-sg-free>.zc-sg-empty,.zc-sg-dm>.zc-sg-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;text-align:center;max-width:80%}
.zc-sg-hasbg .zc-sg-empty{background:color-mix(in srgb,var(--zt-bg,#fff) 84%,transparent);border-radius:999px;padding:1.4cqw 3.6cqw;opacity:1}
.zc-sg-cta{display:flex;flex-direction:column;align-items:center;gap:1cqw}
.zc-sgw>.zc-sg-cta .zc-note{color:var(--zc-cta,var(--zc-accent));opacity:1;font-weight:500;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.zc-sg-cta .zc-wbtn{min-width:40%}
.zc-sg-cta .zc-sgb{display:inline-flex;align-items:center;justify-content:center;gap:.45em;max-width:100%}
.zc-sg-cta .zc-sgb>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zc-sg-cta .zc-sgb.zc-sgb-solid{background:var(--zc-accent);color:var(--zt-on,#fff);box-shadow:none;text-decoration:none}
.zc-sg-cta .zc-sgb.zc-sgb-outline{background:transparent;color:var(--zc-accent);box-shadow:inset 0 0 0 .3cqw var(--zc-accent);text-decoration:none}
.zc-sg-cta .zc-sgb.zc-sgb-soft{background:color-mix(in srgb,var(--zc-accent) 14%,transparent);color:var(--zc-accent);box-shadow:none;text-decoration:none}
.zc-sg-cta .zc-sgb.zc-sgb-ghost{background:transparent;color:var(--zc-accent);box-shadow:none;text-decoration:underline;text-underline-offset:.25em;min-width:0}
.zc-sg-cta .zc-sgb.zc-sgb-glass{background:color-mix(in srgb,#fff 30%,transparent);color:var(--zc-accent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px color-mix(in srgb,#fff 60%,transparent),0 .8cqw 2.8cqw rgba(0,0,0,.1)}
.zc-sg-cta .zc-sgb.zc-sgb-outline:hover:not(:disabled),.zc-sg-cta .zc-sgb.zc-sgb-soft:hover:not(:disabled),.zc-sg-cta .zc-sgb.zc-sgb-ghost:hover:not(:disabled){filter:none;background:color-mix(in srgb,var(--zc-accent) 18%,transparent)}
.zc-sg-cta .zc-sgb.zc-sgb-pill{border-radius:999px}
.zc-sg-cta .zc-sgb.zc-sgb-rounded{border-radius:1.6cqw}
.zc-sg-cta .zc-sgb.zc-sgb-square{border-radius:.4cqw}
.zc-sg-cta .zc-sgb.zc-sgb-sm{font-size:.88em;padding:1.6cqw 3.2cqw}
.zc-sg-cta .zc-sgb.zc-sgb-lg{font-size:1.16em;padding:3cqw 6cqw}
.zc-sg-cta .zc-sgb.zc-sgb-wauto{min-width:0}
.zc-sg-cta .zc-sgb.zc-sgb-wfull{align-self:stretch;width:100%}
.zc-sg-padbox{display:flex;flex-direction:column;gap:1.2cqw;flex:1;min-height:0}
.zc-sigpad-dark{background:#1f1a1c}
.zc-sg-tools{flex-wrap:wrap;gap:1.4cqw}
.zc-sg-fill{flex:1}
.zc-sg-swatches,.zc-sg-sizes{display:flex;gap:1.2cqw;align-items:center}
.zc-sg-sw{width:5.2cqw;height:5.2cqw;border-radius:50%;border:0;padding:0;cursor:pointer;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.zc-sg-sw[aria-checked="true"]{box-shadow:0 0 0 .5cqw var(--zt-bg,#fff),0 0 0 .9cqw var(--zc-accent)}
.zc-sg-sz{width:6cqw;height:6cqw;border-radius:50%;border:1px solid transparent;background:none;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer}
.zc-sg-sz span{display:block;border-radius:50%}
.zc-sg-sz[aria-checked="true"]{border-color:var(--zc-accent);background:color-mix(in srgb,var(--zc-accent) 10%,transparent)}
.zc-sg-sw:focus-visible,.zc-sg-sz:focus-visible{outline:2px solid var(--zc-accent);outline-offset:2px}
.zc-sheet .zc-sigpad{flex:none;width:100%;height:auto;aspect-ratio:2/1;min-height:0;border-radius:12px}
.zc-sheet .zc-sg-padbox{gap:8px;flex:none}
.zc-sheet .zc-sg-tools{gap:10px}
.zc-sheet .zc-sg-swatches,.zc-sheet .zc-sg-sizes{gap:8px}
.zc-sheet .zc-sg-sw{width:28px;height:28px}
.zc-sheet .zc-sg-sw[aria-checked="true"]{box-shadow:0 0 0 3px var(--zt-bg,#fff),0 0 0 5px var(--zc-accent)}
.zc-sheet .zc-sg-sz{width:32px;height:32px}
.zc-sheet .zc-linkbtn{font-size:14px;padding:6px 8px}
.zc-sheet .zc-sg-tools .zc-linkbtn:first-of-type{font-size:20px;line-height:1}
.zc-sheet .zc-sg-hint{margin:-6px 0 0;text-align:left}
.zt-ondark .zc-sg-sw{box-shadow:0 0 0 1px rgba(255,255,255,.3)}
.zc-sigs li{position:relative}


.zc-w-title.zc-tt-plain::after,.zc-w-title.zc-tt-banner::after{content:none}
.zc-w-title.zc-tt-lines{display:flex;align-items:center;justify-content:center;gap:2.6cqw}
.zc-w-title.zc-tt-lines::before,.zc-w-title.zc-tt-lines::after{content:"";display:block;flex:0 1 12cqw;min-width:4cqw;height:1px;margin:0;opacity:.7;background:var(--zc-accent,#cf2f62)}
.zc-w-title.zc-tt-underline::after{content:"";display:block;width:10cqw;height:.55cqw;border-radius:9px;margin:1.8cqw auto 0;opacity:1;background:var(--zc-accent,#cf2f62)}
.zc-w-title:is(.zc-tt-flourish,.zc-tt-heart,.zc-tt-diamond)::after{content:"";display:block;width:34cqw;max-width:80%;height:4.2cqw;margin:1.4cqw auto 0;opacity:.85;background:var(--zc-accent,#cf2f62)}
.zc-w-title.zc-tt-flourish::after{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20200%2024'%3E%3Cg%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M4%2015C34%2015%2050%206%2068%209c12%202%2014%2013%2023%2011%205-1%205-7%209-7s4%206%209%207c9%202%2011-9%2023-11%2018-3%2034%206%2064%206'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'100'%20cy%3D'5'%20r%3D'2.4'%2F%3E%3Ccircle%20cx%3D'4'%20cy%3D'15'%20r%3D'1.8'%2F%3E%3Ccircle%20cx%3D'196'%20cy%3D'15'%20r%3D'1.8'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20200%2024'%3E%3Cg%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%3E%3Cpath%20d%3D'M4%2015C34%2015%2050%206%2068%209c12%202%2014%2013%2023%2011%205-1%205-7%209-7s4%206%209%207c9%202%2011-9%2023-11%2018-3%2034%206%2064%206'%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D'100'%20cy%3D'5'%20r%3D'2.4'%2F%3E%3Ccircle%20cx%3D'4'%20cy%3D'15'%20r%3D'1.8'%2F%3E%3Ccircle%20cx%3D'196'%20cy%3D'15'%20r%3D'1.8'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.zc-w-title.zc-tt-heart::after{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20200%2024'%3E%3Cpath%20d%3D'M6%2012h70M124%2012h70'%20stroke%3D'%23000'%20stroke-width%3D'1.2'%20stroke-linecap%3D'round'%2F%3E%3Cpath%20d%3D'M100%2021c-6-4-12-8-12-13a5.5%205.5%200%200%201%2012-2.4A5.5%205.5%200%200%201%20112%208c0%205-6%209-12%2013z'%2F%3E%3Ccircle%20cx%3D'84'%20cy%3D'12'%20r%3D'1.6'%2F%3E%3Ccircle%20cx%3D'116'%20cy%3D'12'%20r%3D'1.6'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20200%2024'%3E%3Cpath%20d%3D'M6%2012h70M124%2012h70'%20stroke%3D'%23000'%20stroke-width%3D'1.2'%20stroke-linecap%3D'round'%2F%3E%3Cpath%20d%3D'M100%2021c-6-4-12-8-12-13a5.5%205.5%200%200%201%2012-2.4A5.5%205.5%200%200%201%20112%208c0%205-6%209-12%2013z'%2F%3E%3Ccircle%20cx%3D'84'%20cy%3D'12'%20r%3D'1.6'%2F%3E%3Ccircle%20cx%3D'116'%20cy%3D'12'%20r%3D'1.6'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.zc-w-title.zc-tt-diamond::after{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20200%2024'%3E%3Cpath%20d%3D'M6%2012h76M118%2012h76'%20stroke%3D'%23000'%20stroke-width%3D'1.2'%20stroke-linecap%3D'round'%2F%3E%3Cpath%20d%3D'M100%203l9%209-9%209-9-9z'%2F%3E%3Cpath%20d%3D'M100%207.5l4.5%204.5-4.5%204.5-4.5-4.5z'%20fill%3D'%23fff'%2F%3E%3Ccircle%20cx%3D'88'%20cy%3D'12'%20r%3D'1.7'%2F%3E%3Ccircle%20cx%3D'112'%20cy%3D'12'%20r%3D'1.7'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20200%2024'%3E%3Cpath%20d%3D'M6%2012h76M118%2012h76'%20stroke%3D'%23000'%20stroke-width%3D'1.2'%20stroke-linecap%3D'round'%2F%3E%3Cpath%20d%3D'M100%203l9%209-9%209-9-9z'%2F%3E%3Cpath%20d%3D'M100%207.5l4.5%204.5-4.5%204.5-4.5-4.5z'%20fill%3D'%23fff'%2F%3E%3Ccircle%20cx%3D'88'%20cy%3D'12'%20r%3D'1.7'%2F%3E%3Ccircle%20cx%3D'112'%20cy%3D'12'%20r%3D'1.7'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.zc-w>.zc-w-title.zc-tt-banner:first-child{margin:-4.4cqw -4.4cqw .6cqw;padding:2.6cqw 4.4cqw;background:color-mix(in srgb,var(--zc-accent,#cf2f62) 82%,#000);color:var(--zt-on,#fff);border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0}
.zc-w-title.zc-tt-banner:not(.zc-w>:first-child){padding:1.8cqw 3cqw;border-radius:1.6cqw;background:color-mix(in srgb,var(--zc-accent,#cf2f62) 82%,#000);color:var(--zt-on,#fff)}
.zt-classic.zc-w>.zc-w-title.zc-tt-banner:first-child{margin-top:-4.4cqw}
/* Dải màu sẫm hơn màu nhấn một chút để chữ trắng đạt tương phản (vd. vàng đồng #a8844f của bộ Cổ điển); bộ tối chữ sẫm trên màu nhấn → giữ nguyên. */
.zt-dark.zc-w>.zc-w-title.zc-tt-banner:first-child,.zt-dark .zc-w-title.zc-tt-banner:not(.zc-w>:first-child){background:var(--zc-accent)}
.zc-w-title.zc-tt-eyebrow{font-family:inherit;text-transform:uppercase;letter-spacing:.32em;font-size:3.1cqw;font-weight:600;color:var(--zc-accent,#cf2f62);display:flex;align-items:center;justify-content:center;gap:2cqw}
.zc-w-title.zc-tt-eyebrow::before,.zc-w-title.zc-tt-eyebrow::after{content:"";display:block;width:3.4cqw;height:1px;margin:0;opacity:.8;background:currentColor;transform:rotate(-55deg)}
.zt-tfs .zc-w-title.zc-tt-eyebrow{font-size:3.1cqw;font-weight:600;letter-spacing:.32em}

.zb-soft .zc-wbtn{background:color-mix(in srgb,var(--zc-accent) 10%,transparent);color:color-mix(in srgb,var(--zc-accent) 85%,#000);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--zc-accent) 45%,transparent);border-radius:2.4cqw}
.zb-soft .zc-wbtn:hover:not(:disabled){filter:none;background:color-mix(in srgb,var(--zc-accent) 16%,transparent)}
.zb-raised .zc-wbtn{border-radius:2cqw;box-shadow:0 1.2cqw 2.8cqw -1cqw color-mix(in srgb,var(--zc-accent) 70%,#000),inset 0 -.5cqw 0 rgba(0,0,0,.14);transform:translateY(0);transition:transform .15s,box-shadow .15s,filter .15s}
.zb-raised .zc-wbtn:active:not(:disabled){transform:translateY(.4cqw);box-shadow:0 .4cqw 1cqw -.6cqw color-mix(in srgb,var(--zc-accent) 70%,#000)}
.zb-square .zc-wbtn{border-radius:0;text-transform:uppercase;letter-spacing:.2em;font-size:.86em;padding:2.6cqw 4.4cqw}
.zb-link .zc-wbtn{background:transparent;color:var(--zc-accent);border-radius:0;padding:1.2cqw .4cqw;align-self:center;text-decoration:underline;text-underline-offset:.9cqw;text-decoration-thickness:1px;letter-spacing:.06em}
.zb-link .zc-wbtn:hover:not(:disabled){filter:none;text-decoration-thickness:2px}
.zb-gradient .zc-wbtn{background:linear-gradient(120deg,color-mix(in srgb,var(--zc-accent) 78%,#fff),var(--zc-accent) 45%,color-mix(in srgb,var(--zc-accent) 72%,#000));box-shadow:0 .8cqw 2.2cqw -1cqw color-mix(in srgb,var(--zc-accent) 80%,#000)}
.zb-link .zc-segbtn[aria-checked="true"],.zb-soft .zc-segbtn[aria-checked="true"]{background:color-mix(in srgb,var(--zc-accent) 14%,transparent);color:var(--zc-accent)}

.zc-att{display:flex;flex-direction:column;gap:1.2cqw}
.zc-att .zc-label{margin:0 0 .4cqw}
.zc-att-opt{display:flex;align-items:center;gap:2cqw;font:inherit;color:inherit;text-align:left;background:none;border:0;padding:.8cqw 0;cursor:pointer}
.zc-att-opt:focus-visible{outline:2px solid var(--zc-accent);outline-offset:2px;border-radius:1cqw}
.zc-att-dot{flex:0 0 auto;width:4cqw;height:4cqw;border-radius:999px;box-shadow:inset 0 0 0 .35cqw color-mix(in srgb,currentColor 35%,transparent);transition:box-shadow .15s}
.zc-att-opt[aria-checked="true"] .zc-att-dot{box-shadow:inset 0 0 0 .35cqw var(--zc-accent),inset 0 0 0 1.1cqw var(--zt-in,#fff),inset 0 0 0 2cqw var(--zc-accent)}
.zc-att-cards{flex-direction:row;gap:2cqw}
.zc-att-cards .zc-att-opt{flex:1;flex-direction:column;justify-content:center;text-align:center;gap:1cqw;padding:2.6cqw 1.4cqw;border-radius:2.4cqw;background:var(--zt-in,rgba(255,255,255,.9));box-shadow:inset 0 0 0 1px var(--zt-line,rgba(0,0,0,.14));font-weight:500;line-height:1.25}
.zc-att-ic{width:7cqw;height:7cqw;color:color-mix(in srgb,currentColor 45%,transparent);transition:color .15s,transform .2s}
.zc-att-cards .zc-att-opt[aria-checked="true"]{box-shadow:inset 0 0 0 .45cqw var(--zc-accent);background:color-mix(in srgb,var(--zc-accent) 9%,var(--zt-in,#fff));color:inherit}
.zc-att-cards .zc-att-opt[aria-checked="true"] .zc-att-ic{color:var(--zc-accent);transform:scale(1.08)}
.zc-sheet .zc-att-dot{width:18px;height:18px;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,currentColor 35%,transparent)}
.zc-sheet .zc-att-opt[aria-checked="true"] .zc-att-dot{box-shadow:inset 0 0 0 1.5px var(--zc-accent),inset 0 0 0 4px var(--zt-in,#fff),inset 0 0 0 9px var(--zc-accent)}
.zc-sheet .zc-att-ic{width:28px;height:28px}
.zc-sheet .zc-att-cards .zc-att-opt{padding:12px 6px;border-radius:12px}

.zc-w-intro{margin:0;text-align:center;white-space:pre-wrap;opacity:.85}
.zc-w-cta{align-self:center;min-width:46%}

.zc-wish-date{font-size:2.4cqw;opacity:.78}
.zc-wl-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.6cqw;padding:1cqw .6cqw;align-content:start}
.zc-wl-notes .zc-wish{position:relative;border-radius:.4cqw;padding:3.6cqw 2.6cqw 2.6cqw;background:color-mix(in srgb,var(--zc-accent,#cf2f62) 11%,#fffdf6);color:#3a3135;box-shadow:0 .8cqw 1.6cqw -1cqw rgba(0,0,0,.35);transform:rotate(-1.6deg)}
.zc-wl-notes .zc-wish:nth-child(even){transform:rotate(1.8deg);background:color-mix(in srgb,var(--zc-accent,#cf2f62) 5%,#fff8e7)}
.zc-wl-notes .zc-wish:nth-child(3n){transform:rotate(-.6deg)}
.zc-wl-notes .zc-wish::before{content:"";position:absolute;top:-1.4cqw;left:50%;width:11cqw;height:3cqw;transform:translateX(-50%) rotate(-3deg);background:rgba(255,255,255,.55);box-shadow:0 0 0 1px rgba(0,0,0,.04)}
.zc-wl-notes .zc-wish strong{color:#8a3a55}
.zc-wl-quote{gap:3.2cqw}
.zc-wl-quote .zc-wish{align-items:center;text-align:center;background:none;padding:1.6cqw 2cqw 3.2cqw;border-radius:0;border-bottom:1px solid color-mix(in srgb,var(--zc-accent,#cf2f62) 25%,transparent)}
.zc-wl-quote .zc-wish:last-child{border-bottom:0}
.zc-wl-quote .zc-wish>span:not(.zc-wish-q){font-style:italic;font-size:3.05cqw;line-height:1.55}
.zc-wl-quote .zc-wish strong{margin-top:.6cqw;font-size:2.5cqw;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.zc-wish-q{display:block;height:5cqw;font:400 11cqw/1 Georgia,"Times New Roman",serif;color:var(--zc-accent,#cf2f62);opacity:.55}
.zc-wl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2cqw;align-content:start}
.zc-wl-grid .zc-wish{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--zc-accent,#cf2f62) 18%,transparent)}
.zc-wl-grid .zc-wish:nth-child(4n+1),.zc-wl-grid .zc-wish:nth-child(4n){background:color-mix(in srgb,var(--zc-accent,#cf2f62) 8%,transparent)}
.zt .zc-wl-quote .zc-wish,.zt-ondark .zc-wl-quote .zc-wish,.zt-onlight .zc-wl-quote .zc-wish{background:none}

.zc-gift-tabs{display:flex;align-self:center;gap:.6cqw;padding:.7cqw;border-radius:999px;background:var(--zt-soft,rgba(0,0,0,.05))}
.zc-gift-tab{font:inherit;font-size:2.8cqw;font-weight:500;color:inherit;opacity:.7;background:none;border:0;border-radius:999px;padding:1.4cqw 4.2cqw;cursor:pointer;transition:background-color .2s,opacity .2s,box-shadow .2s}
.zc-gift-tab[aria-selected="true"]{opacity:1;font-weight:600;background:var(--zt-in,#fff);box-shadow:0 .3cqw 1.2cqw rgba(16,24,40,.12);color:var(--zc-accent)}
.zc-gift-tab:focus-visible{outline:2px solid var(--zc-accent);outline-offset:2px}
.zc-gift-tab[aria-pressed="true"]{opacity:1;font-weight:600;background:var(--zt-in,#fff);box-shadow:0 .3cqw 1.2cqw rgba(16,24,40,.12);color:var(--zc-accent)}
.zc-gift-methods+.zc-gift-tabs{margin-top:-.6cqw}
.zc-qr-img{display:block;object-fit:contain;padding:1cqw;box-sizing:border-box}
.zc-wallet-app{display:inline-flex;align-items:center;justify-content:center;gap:1cqw}
.zc-wallet-app i{display:inline-block;width:1.8cqw;height:1.8cqw;border-radius:50%}
.zc-wallet-how{font-size:2.3cqw;opacity:.7;line-height:1.35}
.zc-gc-bank .zc-gift{position:relative;align-items:stretch;text-align:left;gap:.4cqw;padding:3.4cqw 3.6cqw;border-radius:3cqw;color:#fff;background:radial-gradient(120% 140% at 100% 0%,color-mix(in srgb,var(--zc-accent,#cf2f62) 55%,#fff) 0%,transparent 55%),linear-gradient(135deg,var(--zc-accent,#cf2f62),color-mix(in srgb,var(--zc-accent,#cf2f62) 60%,#000));box-shadow:0 1.4cqw 3.4cqw -1.4cqw color-mix(in srgb,var(--zc-accent,#cf2f62) 80%,#000);overflow:hidden}
.zc-gc-bank .zc-gift::before{content:"";position:absolute;right:-8cqw;bottom:-10cqw;width:26cqw;height:26cqw;border-radius:50%;border:1px solid rgba(255,255,255,.25);box-shadow:0 0 0 4cqw rgba(255,255,255,.06)}
.zc-gc-bank .zc-gift-label{color:#fff;text-transform:uppercase;letter-spacing:.16em;font-size:2.3cqw;opacity:.9}
.zc-gc-bank .zc-qr{align-self:flex-end;width:24cqw;max-width:42%;border-radius:1.6cqw;box-shadow:0 0 0 1cqw #fff;margin:1cqw 1cqw 1.6cqw 0}
.zc-gc-bank .zc-gift-no{font-size:3.6cqw;letter-spacing:.14em;font-variant-numeric:tabular-nums}
.zc-gc-bank .zc-gift-bank,.zc-gc-bank .zc-gift-name{opacity:.9}
.zc-gc-bank .zc-linkbtn{align-self:flex-start;color:#fff;text-decoration:underline;text-underline-offset:.6cqw;padding-left:0}
.zc-gc-frame .zc-gift{padding:3.2cqw 2cqw;border:1px solid color-mix(in srgb,var(--zc-accent,#cf2f62) 55%,transparent);outline:1px solid color-mix(in srgb,var(--zc-accent,#cf2f62) 30%,transparent);outline-offset:-1.4cqw;border-radius:1.2cqw;background:var(--zt-in,rgba(255,255,255,.6))}
.zc-gc-frame .zc-gift-label{font-family:var(--zt-tf,inherit);font-size:3.4cqw}

.zc-cd-sepd{align-items:center}
.zc-cd-sep2{flex:0 0 auto;align-self:center;line-height:1;opacity:.55;font-weight:600}
.zc-cd-vl{display:block;width:1px;height:46%;min-height:2em;background:currentColor;opacity:.3}
.zc-cd-dot.zc-cd-vl{display:inline-block;height:1em;min-height:0;vertical-align:middle;margin:0 .1em 0 .5em}
.zc-cd-sep.zc-cd-vl{position:absolute;right:0;top:15%;height:52%}
.zc-cd-la .zc-cd-lbl{order:-1;margin:0 0 .8cqw}
.zc-cd-la .zc-cd-sep{top:auto;bottom:.1em}
.zc-cd-sepd{gap:1.6%}
/* Dấu ngăn giữa các ô nằm trên nền thiệp (không trong ô): bộ giao diện tối có chữ sáng → trên nền thiệp sáng gần như vô hình. Dùng màu nhấn. */
.zt.zc-cd-sepd>.zc-cd-sep2,.zt .zc-cd-sepd>.zc-cd-sep2{color:var(--zc-accent,#cf2f62);opacity:.85}
.zc-cd-la .zc-cd-fc .zc-cd-lbl{margin:0 0 1.4cqw}
.zc-cd-hearts{align-items:center;justify-content:space-around;gap:0}
.zc-cd-hc{display:flex;flex-direction:column;align-items:center}
.zc-cd-heart{position:relative;display:flex;align-items:center;justify-content:center}
.zc-cd-heart svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.zc-cd-hp{stroke:var(--zc-accent,#cf2f62);stroke-width:3.2;stroke-linejoin:round}
.zc-cd-heart .zc-cd-num{position:relative;margin-top:-6%;color:var(--zc-accent,#cf2f62);font-weight:700}
.zc-cd-hc .zc-cd-lbl{margin-top:1cqw;font-weight:500;letter-spacing:.03em}
.zc-cd-la .zc-cd-hc .zc-cd-lbl{margin:0 0 1cqw}
.zc-cd-pill{align-items:center;justify-content:center}
.zc-cd-pillbox{display:flex;width:100%;border-radius:999px;background:color-mix(in srgb,var(--zc-accent,#cf2f62) 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--zc-accent,#cf2f62) 30%,transparent);padding:0 3%}
.zt .zc-cd-pillbox{background:var(--zt-bg);box-shadow:var(--zt-shadow),inset 0 0 0 1px var(--zt-line)}
.zc-cd-pc{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}
.zc-cd-pc .zc-cd-num{font-weight:700}
.zc-cd-pc .zc-cd-lbl{margin-top:.4cqw;text-transform:uppercase;letter-spacing:.12em;opacity:.7}
.zc-cd-la .zc-cd-pc .zc-cd-lbl{margin:0 0 .4cqw}
.zc-cd-pc>.zc-cd-sep2{position:absolute;right:0;top:50%;transform:translate(50%,-50%)}
.zc-cd-pc>.zc-cd-vl{height:44%;min-height:0}

.zc-sch-horizontal .zc-sch-list{display:grid;grid-auto-flow:column;gap:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:.6cqw}
.zc-sch-horizontal .zc-sch-list::-webkit-scrollbar{display:none}
.zc-sch-horizontal .zc-sch-list:focus-visible{outline:2px solid var(--zc-accent,#cf2f62);outline-offset:2px;border-radius:1cqw}
.zc-sch-horizontal .zc-sch-it{flex-direction:column;align-items:center;text-align:center;gap:1.6cqw;padding:0 1cqw;scroll-snap-align:start}
.zc-sch-horizontal .zc-sch-tx{display:contents}
.zc-sch-horizontal .zc-sch-time{order:-1;height:6cqw;line-height:6cqw;padding:0 2.4cqw;border-radius:999px;font-size:2.8cqw;color:var(--zc-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--zc-accent) 55%,transparent);background:var(--zt-in,transparent);white-space:nowrap}
.zc-sch-horizontal .zc-sch-ttl{font-size:3cqw}
.zc-sch-horizontal .zc-sch-desc{font-size:2.5cqw}
.zc-sch-horizontal .zc-sch-place{justify-content:center;font-size:2.4cqw}
.zc-sch-horizontal .zc-sch-it::before{content:"";position:absolute;left:0;right:0;top:calc(7.6cqw + 4.5cqw);border-top:.4cqw var(--zs-ls,solid) var(--zs-line,color-mix(in srgb,var(--zc-accent) 45%,transparent))}
.zc-sch-horizontal .zc-sch-it:first-child::before{left:50%}
.zc-sch-horizontal .zc-sch-it:last-child::before{right:50%}
.zc-sch-horizontal .zc-sch-it:only-child::before{display:none}
.zc-sch-menu .zc-sch-list{gap:2.6cqw}
.zc-sch-menu .zc-sch-ic{display:none}
.zc-sch-menu .zc-sch-it{display:block}
.zc-sch-menu .zc-sch-tx{display:grid;grid-template-columns:auto minmax(4cqw,1fr) auto;align-items:baseline;column-gap:1.8cqw;row-gap:.4cqw;padding:0}
.zc-sch-menu .zc-sch-ttl{grid-column:1;grid-row:1}
.zc-sch-menu .zc-sch-time{grid-column:3;grid-row:1;font-variant-numeric:tabular-nums}
.zc-sch-menu .zc-sch-tx::after{content:"";grid-column:2;grid-row:1;align-self:end;margin-bottom:1cqw;border-bottom:.4cqw dotted color-mix(in srgb,var(--zs-line,var(--zc-accent)) 70%,transparent)}
.zc-sch-menu :is(.zc-sch-desc,.zc-sch-place){grid-column:1/-1}

.zc-msh-polaroid{box-sizing:border-box;border:3cqw solid #fff;border-bottom-width:11cqw;box-shadow:0 1.2cqw 3cqw -1cqw rgba(16,24,40,.35);background-clip:padding-box}
.zc-msh-stamp{box-sizing:border-box;border:1.8cqw solid #fff;-webkit-mask:linear-gradient(#000 0 0) padding-box,radial-gradient(circle .95cqw,#0000 96%,#000 100%) -1.3cqw -1.3cqw/2.6cqw 2.6cqw round;mask:linear-gradient(#000 0 0) padding-box,radial-gradient(circle .95cqw,#0000 96%,#000 100%) -1.3cqw -1.3cqw/2.6cqw 2.6cqw round}
.zc-msh-ticket{-webkit-mask:radial-gradient(circle 3.4cqw at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 3.4cqw at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 3.4cqw at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 3.4cqw at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat}

.zc-cal-c-lines .zc-cal-grid{box-sizing:border-box;gap:0;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--zc-cal-line,color-mix(in srgb,var(--zc-accent,currentColor) 35%,transparent));border-left:1px solid var(--zc-cal-line,color-mix(in srgb,var(--zc-accent,currentColor) 35%,transparent))}
.zc-cal-c-lines .zc-cal-row>*{box-sizing:border-box;min-width:0;border-right:1px solid var(--zc-cal-line,color-mix(in srgb,var(--zc-accent,currentColor) 35%,transparent));border-bottom:1px solid var(--zc-cal-line,color-mix(in srgb,var(--zc-accent,currentColor) 35%,transparent));height:100%;display:flex;align-items:center;justify-content:center}
.zc-cal-c-lines .zc-cal-row>.zc-cal-day{width:100%}
.zc-cal-c-lines .zc-cal-wd{background:color-mix(in srgb,var(--zc-accent,#cf2f62) 14%,transparent);font-weight:600;opacity:1;padding:1.2cqw 0}
.zc-cal-c-boxes .zc-cal-grid{gap:1.2cqw}
.zc-cal-c-boxes .zc-cal-day:not(.zc-cal-dim):has(span){border-radius:22%;background:color-mix(in srgb,var(--zc-accent,#cf2f62) 8%,transparent)}
.zc-cal-c-boxes .zc-cal-day[aria-current]{background:none}
.zc-cal-c-dots .zc-cal-day:not([aria-current]):has(span)::after{content:"";position:absolute;bottom:12%;left:50%;width:.9cqw;height:.9cqw;border-radius:50%;transform:translateX(-50%);background:var(--zc-accent,#cf2f62);opacity:.35}
.zc-gp .zc-gp-sample{--zc-gp-c:var(--zc-gp-sc,var(--zc-accent));color:color-mix(in srgb,var(--zc-gp-c) 70%,#fff);background:linear-gradient(135deg,color-mix(in srgb,var(--zc-gp-c) 16%,#fff),color-mix(in srgb,var(--zc-gp-c) 30%,#fff))}
:is(.zt-ondark,.zt-dark) .zc-gp .zc-gp-sample{background:linear-gradient(135deg,color-mix(in srgb,var(--zc-gp-c) 22%,#1d1a1f),color-mix(in srgb,var(--zc-gp-c) 38%,#1d1a1f));color:color-mix(in srgb,var(--zc-gp-c) 80%,#fff)}
.zc-w.zc-gift-closed{justify-content:center}
.zc-gift-closed>.zc-gifts-cv{flex:0 0 auto}
.zc-w.zc-gift-closed:has(>.zc-tt-banner:first-child){justify-content:flex-start}
.zc-gift-closed>.zc-tt-banner:first-child~:is(.zc-gifts-cv,.zc-gcv,.zc-gcv-row){margin-top:auto;margin-bottom:auto}
/* S1: thẻ co theo nội dung (autoHeight / hộp mừng "each" còn đóng) — lớp kiểu dáng .zc-box (bóng, viền của look) co theo. */
.zc-w.zc-w-fit{height:auto;max-height:100%}
.zc-box:has(>.zc-w-fit){height:auto;max-height:100%}
/* (S5, sửa lỗi) Thẻ co / giãn thì bóng, viền của look (.zc-box) bám đúng mép thẻ: max-height % của thẻ không tính được trong
   .zc-box cao "auto" → thẻ dài hơn khung tràn khỏi .zc-box (bóng ngắn hơn thẻ). Hộp flex cột: thẻ co trong hộp, cuộn bên trong. */
.zc-box:has(>.zc-w-fit){display:flex;flex-direction:column}
.zc-box>.zc-w-fit{flex:0 1 auto;min-height:0}
.zc-w.zc-gift-closed.zc-w-fit{justify-content:flex-start}
.zc-gift-closed.zc-w-fit>:is(.zc-gifts-cv,.zc-gcv-row){flex:0 0 auto}
.zc-gcvc .zc-gcv{background:var(--zg-cv)}
/* S2: dồn lớp theo tiện ích co giãn (flow.ts) — JS đã đo thì thẻ giãn quá khung được (lớp dưới bị đẩy theo), mở / đóng mượt. */
.zc-root[data-flow-on] .zc-node[data-flow] :is(.zc-w-fit,.zc-box:has(>.zc-w-fit)){max-height:none}
.zc-root[data-flow-on] .zc-node[data-flow] :is(:is(.zc-a,.zc-l,.zc-tl,.zc-box)>.zc-w:not(.zc-w-fit),.zc-box:has(>.zc-w:not(.zc-w-fit))){height:auto;min-height:100%}
.zc-root[data-flow-on] .zc-node[data-flow] :is(.zc-a,.zc-l,.zc-tl,.zc-box)>.zc-w{overflow:hidden}
.zc-root[data-flow-anim] .zc-node[data-fs]{transition:margin-top .45s cubic-bezier(.2,.7,.2,1),height .45s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){.zc-root[data-flow-anim] .zc-node[data-fs]{transition:none}}

.zc-w-kicker{margin:0 0 -1.4cqw;text-align:center;font-family:inherit;font-size:2.5cqw;font-weight:600;letter-spacing:.3em;text-transform:uppercase;line-height:1.35;color:color-mix(in srgb,var(--zc-accent,#cf2f62) 88%,#000)}
.zt-ondark .zc-w-kicker,.zt-dark .zc-w-kicker{color:var(--zc-accent)}
:is(.zc-w,.zc-sheet) .zc-w-title.zc-tt-giant{font-size:12.5cqw;line-height:.92;font-weight:300;letter-spacing:.01em;text-transform:uppercase;text-align:left}
.zc-w-title.zc-tt-giant::after,.zc-w-title.zc-tt-giant::before{content:none}
.zt-tfs .zc-w-title.zc-tt-giant{text-transform:none}
.zc-tt-gk{display:flex;align-items:flex-end;gap:3cqw}
.zc-tt-gk>.zc-w-title{flex:0 1 auto;min-width:0;overflow-wrap:anywhere}
.zc-tt-gk>.zc-w-kicker{flex:1 1 30%;margin:0 0 1cqw;text-align:left;font-size:2.6cqw;font-weight:500;letter-spacing:.06em;line-height:1.5;text-transform:none}
:is(.zc-w,.zc-sheet) .zc-w-title.zc-tt-tag{align-self:center;display:inline-flex;align-items:center;gap:.35em;padding:1.1cqw 3.6cqw;background:color-mix(in srgb,var(--zc-accent,#cf2f62) 86%,#000);color:var(--zt-on,#fff);font-size:3.6cqw;font-weight:500;letter-spacing:.04em;line-height:1.3;border-radius:.4cqw}
.zc-w-title.zc-tt-tag::before{content:"【";opacity:.9}
.zc-w-title.zc-tt-tag::after{content:"】";display:inline;width:auto;height:auto;margin:0;background:none;opacity:.9}
.zt-dark .zc-w-title.zc-tt-tag{background:var(--zc-accent)}
.zc-w-title.zc-tt-brush{align-self:center;position:relative;isolation:isolate;padding:1.8cqw 8cqw}
.zc-w-title.zc-tt-brush::before{content:"";position:absolute;inset:0 -1cqw;z-index:-1;background:color-mix(in srgb,var(--zc-accent,#cf2f62) 34%,transparent);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20200%2044'%20preserveAspectRatio%3D'none'%3E%3Cpath%20d%3D'M6%2022c8-9%2030-14%2062-15%2040-1%2086-3%20118%201%206%201%2010%204%209%207-1%202-6%203-4%206%202%202%204%204%200%207-6%204-30%202-62%203-36%201-82%203-108%201-9-1-16-3-17-6%200-3%204-3%203-5-1-3-4-3-1-5z'%2F%3E%3Cpath%20d%3D'M190%2012c4%200%207%201%208%203M2%2030c-1%202%200%203%202%204'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20200%2044'%20preserveAspectRatio%3D'none'%3E%3Cpath%20d%3D'M6%2022c8-9%2030-14%2062-15%2040-1%2086-3%20118%201%206%201%2010%204%209%207-1%202-6%203-4%206%202%202%204%204%200%207-6%204-30%202-62%203-36%201-82%203-108%201-9-1-16-3-17-6%200-3%204-3%203-5-1-3-4-3-1-5z'%2F%3E%3Cpath%20d%3D'M190%2012c4%200%207%201%208%203M2%2030c-1%202%200%203%202%204'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat}
.zc-w-title.zc-tt-brush::after{content:none}
.zc-w-title:is(.zc-tt-stars,.zc-tt-cloud){display:flex;align-items:center;justify-content:center;gap:2.4cqw}
/* Tiêu đề dạng hàng (gạch / sao / mây) chiếm trọn bề ngang: trong khung căn giữa (dress code…) chữ không bị ép xuống dòng. */
.zc-w-title:is(.zc-tt-lines,.zc-tt-stars,.zc-tt-cloud){align-self:stretch}
.zc-w-title:is(.zc-tt-stars,.zc-tt-cloud)::before,.zc-w-title:is(.zc-tt-stars,.zc-tt-cloud)::after{content:"";display:block;flex:0 0 auto;margin:0;opacity:1;background:var(--zc-accent,#cf2f62)}
.zc-w-title.zc-tt-stars::before,.zc-w-title.zc-tt-stars::after{width:3.2cqw;height:3.2cqw;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%200c.8%206.6%203.5%2010.6%2012%2012-8.5%201.4-11.2%205.4-12%2012-.8-6.6-3.5-10.6-12-12C8.5%2010.6%2011.2%206.6%2012%200z'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%200c.8%206.6%203.5%2010.6%2012%2012-8.5%201.4-11.2%205.4-12%2012-.8-6.6-3.5-10.6-12-12C8.5%2010.6%2011.2%206.6%2012%200z'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.zc-w-title.zc-tt-cloud::before,.zc-w-title.zc-tt-cloud::after{width:10cqw;height:5.6cqw;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2070%2040'%3E%3Cpath%20d%3D'M4%2030c-3-6%202-12%208-10%200-7%209-11%2014-6%203-6%2013-6%2015%201%206-2%2011%203%209%209%205%201%207%207%203%2010H10c-4%200-6-2-6-4z'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.2'%20stroke-linejoin%3D'round'%2F%3E%3Cpath%20d%3D'M18%2030c0-4%204-6%207-4%201-3%206-3%207%200M40%2024c3-1%205%201%205%203'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%2F%3E%3Cpath%20d%3D'M56%2030c6%200%2010-2%2012-6'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2070%2040'%3E%3Cpath%20d%3D'M4%2030c-3-6%202-12%208-10%200-7%209-11%2014-6%203-6%2013-6%2015%201%206-2%2011%203%209%209%205%201%207%207%203%2010H10c-4%200-6-2-6-4z'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.2'%20stroke-linejoin%3D'round'%2F%3E%3Cpath%20d%3D'M18%2030c0-4%204-6%207-4%201-3%206-3%207%200M40%2024c3-1%205%201%205%203'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%2F%3E%3Cpath%20d%3D'M56%2030c6%200%2010-2%2012-6'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.zc-w-title.zc-tt-cloud::before{transform:scaleX(-1)}
.zc-w-title.zc-tt-knot::after{content:"";display:block;width:6.4cqw;height:8.4cqw;margin:1.6cqw auto 0;opacity:1;background:var(--zc-accent,#cf2f62);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2040%2052'%3E%3Cg%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M20%202v6'%2F%3E%3Cpath%20d%3D'M20%208l8%208-8%208-8-8z'%2F%3E%3Cpath%20d%3D'M20%2012l4%204-4%204-4-4z'%2F%3E%3Cpath%20d%3D'M12%2016H6a4%204%200%201%201%204-4M28%2016h6a4%204%200%201%200-4-4M12%2016v6a4%204%200%201%200%204%204M28%2016v6a4%204%200%201%201-4%204'%2F%3E%3C%2Fg%3E%3Cpath%20d%3D'M17%2030h6l-1%204h-4zM18%2034l-3%2014M20%2034v16M22%2034l3%2014'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2040%2052'%3E%3Cg%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M20%202v6'%2F%3E%3Cpath%20d%3D'M20%208l8%208-8%208-8-8z'%2F%3E%3Cpath%20d%3D'M20%2012l4%204-4%204-4-4z'%2F%3E%3Cpath%20d%3D'M12%2016H6a4%204%200%201%201%204-4M28%2016h6a4%204%200%201%200-4-4M12%2016v6a4%204%200%201%200%204%204M28%2016v6a4%204%200%201%201-4%204'%2F%3E%3C%2Fg%3E%3Cpath%20d%3D'M17%2030h6l-1%204h-4zM18%2034l-3%2014M20%2034v16M22%2034l3%2014'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}

.zc-w.zf-arch{border-radius:var(--zf-hw,50%) var(--zf-hw,50%) var(--zf-r,3.2cqw) var(--zf-r,3.2cqw);padding-top:calc(var(--zf-hw,20cqw) * .42)}
.zc-cal.zf-arch{padding-top:calc(var(--zf-hw,20cqw) * .42)}
/* S4: form ngay trên thẻ vòm (RSVP, lời chúc…) — ô nhập rộng hết thẻ: chừa đỉnh vòm sâu hơn để góc ô không bị vòm cắt. */
.zc-w.zf-arch:has(>.zc-form){padding-top:calc(var(--zf-hw,20cqw) * .6)}
:is(.zc-w,.zc-cal).zf-ticket{-webkit-mask:radial-gradient(circle 3.2cqw at 0 var(--zf-np,50%),#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 3.2cqw at 100% var(--zf-np,50%),#0000 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 3.2cqw at 0 var(--zf-np,50%),#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 3.2cqw at 100% var(--zf-np,50%),#0000 98%,#000) right/51% 100% no-repeat}
/* S2: màu tiêu đề riêng (đè màu của bộ giao diện / hoạ tiết tiêu đề). */
.zt-tc .zc-w-title,.zt-tc.zc-w>.zc-w-title{color:var(--zt-title-c)!important}
:is(.zc-w,.zc-cal).zf-notch{-webkit-mask:radial-gradient(circle 3.4cqw at 0 0,#0000 98%,#000) top left/51% 51% no-repeat,radial-gradient(circle 3.4cqw at 100% 0,#0000 98%,#000) top right/51% 51% no-repeat,radial-gradient(circle 3.4cqw at 0 100%,#0000 98%,#000) bottom left/51% 51% no-repeat,radial-gradient(circle 3.4cqw at 100% 100%,#0000 98%,#000) bottom right/51% 51% no-repeat;mask:radial-gradient(circle 3.4cqw at 0 0,#0000 98%,#000) top left/51% 51% no-repeat,radial-gradient(circle 3.4cqw at 100% 0,#0000 98%,#000) top right/51% 51% no-repeat,radial-gradient(circle 3.4cqw at 0 100%,#0000 98%,#000) bottom left/51% 51% no-repeat,radial-gradient(circle 3.4cqw at 100% 100%,#0000 98%,#000) bottom right/51% 51% no-repeat}

/* S4: viền vẽ tay — bo góc lệch tính theo % khung (co giãn theo thẻ) + nét thứ hai lệch nhẹ bên trong. */
:is(.zc-w,.zc-cal).zf-sketch{--zf-ink:color-mix(in srgb,var(--zc-accent,#cf2f62) 72%,#2b2420);position:relative;border:.5cqw solid var(--zf-ink);border-radius:46% 3% 42% 4% / 4% 40% 3% 45%;box-shadow:none}
:is(.zc-w,.zc-cal).zf-sketch::after{content:"";position:absolute;inset:.9cqw;border:.28cqw solid color-mix(in srgb,var(--zf-ink) 60%,transparent);border-radius:4% 44% 5% 40% / 42% 4% 46% 3%;transform:rotate(-.5deg);pointer-events:none}
.zb-brutal{--zb-ink:color-mix(in srgb,var(--zc-accent,#cf2f62) 28%,#1a1214)}
:is(.zt-ondark,.zt-dark).zb-brutal{--zb-ink:#f3ebe6}
.zb-brutal .zc-wbtn{border-radius:2cqw;border:.5cqw solid var(--zb-ink);box-shadow:1cqw 1cqw 0 var(--zb-ink);font-weight:700;letter-spacing:.02em;transition:transform .12s,box-shadow .12s}
.zb-brutal .zc-wbtn:hover:not(:disabled){filter:none;transform:translate(-.3cqw,-.3cqw);box-shadow:1.3cqw 1.3cqw 0 var(--zb-ink)}
.zb-brutal .zc-wbtn:active:not(:disabled){transform:translate(1cqw,1cqw);box-shadow:0 0 0 var(--zb-ink)}
.zb-glass .zc-wbtn{background:rgba(255,255,255,.22);color:inherit;border:1px solid rgba(255,255,255,.65);-webkit-backdrop-filter:blur(2.4cqw) saturate(1.5);backdrop-filter:blur(2.4cqw) saturate(1.5);box-shadow:0 1cqw 3cqw rgba(16,24,40,.16),inset 0 1px 0 rgba(255,255,255,.6)}
.zb-glass .zc-wbtn:hover:not(:disabled){filter:none;background:rgba(255,255,255,.34)}
.zb-pill-shadow .zc-wbtn{border-radius:999px;background:#fff;color:color-mix(in srgb,var(--zc-accent,#cf2f62) 82%,#000);box-shadow:0 1.2cqw 3.4cqw -1cqw rgba(16,24,40,.32),0 0 0 1px rgba(16,24,40,.05)}
.zb-pill-shadow .zc-wbtn:hover:not(:disabled){filter:none;box-shadow:0 1.6cqw 3.8cqw -1cqw rgba(16,24,40,.38),0 0 0 1px rgba(16,24,40,.06)}
.zb-brutal .zc-wbtn:focus-visible,.zb-glass .zc-wbtn:focus-visible,.zb-pill-shadow .zc-wbtn:focus-visible{outline:2px solid var(--zc-accent);outline-offset:3px}

.zt-clay{--zt-cl:var(--zt-clay,#f4ebe8);--zt-bg:var(--zt-cl);--zt-fg:#5b4440;--zc-accent:#a85a46;--zt-line:rgba(91,68,64,.14);--zt-soft:var(--zt-cl);--zt-in:var(--zt-cl);--zt-on:#fff;--zt-hi:color-mix(in srgb,var(--zt-cl) 35%,#fff);--zt-lo:color-mix(in srgb,var(--zt-cl) 78%,#6b4a40);--zt-shadow:1.4cqw 1.4cqw 3.2cqw var(--zt-lo),-1.4cqw -1.4cqw 3.2cqw var(--zt-hi);--zt-border:0}
.zt-clay:is(.zc-w,.zc-cal){border-radius:5cqw}
.zt-clay :is(.zc-input,.zc-segbtn){background:var(--zt-cl);border-color:transparent;box-shadow:inset .5cqw .5cqw 1.2cqw var(--zt-lo),inset -.5cqw -.5cqw 1.2cqw var(--zt-hi)}
.zt-clay .zc-segbtn[aria-checked="true"]{background:var(--zc-accent);box-shadow:inset .4cqw .4cqw 1cqw rgba(0,0,0,.18)}
.zt-clay .zc-wbtn{box-shadow:.8cqw .8cqw 2cqw var(--zt-lo),-.8cqw -.8cqw 2cqw var(--zt-hi)}
.zt-clay :is(.zc-wish,.zc-faq-it,.zc-vn-it,.zc-gift-ai,.zc-poll-opt),.zt-clay.zc-sch-cards .zc-sch-it{background:var(--zt-cl);box-shadow:.8cqw .8cqw 2cqw var(--zt-lo),-.8cqw -.8cqw 2cqw var(--zt-hi)}
.zt-clay .zc-cd-box{border-radius:3cqw}
.zt-paper{--zt-bg:#f1e4cf;--zt-fg:#3b2e24;--zc-accent:#a8432d;--zt-line:rgba(59,46,36,.22);--zt-soft:rgba(255,250,240,.62);--zt-in:#fffaf0;--zt-shadow:0 1.2cqw 2.6cqw -.6cqw rgba(59,46,36,.38);--zt-border:0;--zt-on:#fff}
.zt-paper:is(.zc-w,.zc-cal:not(.zt-transparent)){background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20160%20160'%3E%3Cfilter%20id%3D'n'%3E%3CfeTurbulence%20type%3D'fractalNoise'%20baseFrequency%3D'.85'%20numOctaves%3D'2'%20stitchTiles%3D'stitch'%2F%3E%3CfeColorMatrix%20values%3D'0%200%200%200%20.32%20%200%200%200%200%20.22%20%200%200%200%200%20.12%20%200%200%200%20.1%200'%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D'100%25'%20height%3D'100%25'%20filter%3D'url(%23n)'%2F%3E%3C%2Fsvg%3E");background-size:40cqw 40cqw;border-radius:.6cqw 1.8cqw .9cqw 1.4cqw}
.zt-paper.zc-w{position:relative}
.zt-paper.zc-w::before{content:"";position:absolute;top:-1.4cqw;left:50%;width:22cqw;height:5.4cqw;transform:translateX(-50%) rotate(-3deg);background:repeating-linear-gradient(90deg,rgba(255,255,255,.62) 0 1.6cqw,rgba(255,255,255,.48) 1.6cqw 3.2cqw);box-shadow:0 .3cqw .8cqw rgba(59,46,36,.12);pointer-events:none}
.zt-paper .zc-wish{background:var(--zt-in);box-shadow:0 .4cqw 1.2cqw -.6cqw rgba(59,46,36,.35)}

.zc-cal-photo{position:relative;overflow:hidden;isolation:isolate;padding:5%;border-radius:3cqw;text-shadow:0 1px 2px rgba(0,0,0,.28)}
.zc-cal-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;display:block}
.zc-cal-dimmer{position:absolute;inset:0;z-index:-1;background:rgba(20,14,16,var(--zc-cal-dim,.4))}
.zc-cal-photo .zc-cal-wd{opacity:.9}
.zc-cal-mk{fill:none;stroke:var(--zc-accent,#cf2f62);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.zc-cal-sub-fill .zc-cal-mk{fill:var(--zc-accent,#cf2f62);stroke:none}
.zc-cal-sub-ring .zc-cal-mk{stroke-width:1.5}
.zc-cal-sub-heart .zc-cal-mk{inset:-2%;width:104%;height:104%;stroke-width:1.7}
.zc-cal-sub-lipstick .zc-cal-mk{fill:var(--zc-accent,#cf2f62);stroke:none;opacity:.5;inset:14% 2%;width:96%;height:72%;transform:rotate(-9deg)}
.zc-cal-kiss .zc-cal-mk.zc-cal-mk{z-index:2;inset:0 -16%;width:132%;height:100%;opacity:.6;pointer-events:none}
.zc-cal-week:is(.zc-cal-wk3,.zc-cal-wk5) .zc-cal-kiss .zc-cal-mk.zc-cal-mk{inset:50% auto auto 50%;width:3.4em;height:2.6em;transform:translate(-50%,-50%) rotate(-9deg)}
.zc-cal:has(>.zc-cal-legend)>:is(.zc-cal-grid,.zc-cal-gw),.zc-cal-sheet:has(>.zc-cal-legend)>.zc-cal-gw{flex:0 0 auto}
.zc-cal-legend{list-style:none;margin:1.6cqw 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5em 1.6em}
.zc-cal-legend li{display:flex;align-items:center;gap:.5em}
.zc-cal-lg{position:relative;display:inline-block;width:1.25em;height:1.25em;flex:0 0 auto}
.zc-cal-lg .zc-cal-mark{inset:0;width:100%;height:100%}
.zc-cal-gw{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}
.zc-cal-gw>.zc-cal-grid{position:relative;z-index:1}
.zc-cal-yw{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);font-family:var(--zt-tf,inherit);font-weight:300;line-height:1;letter-spacing:.02em;color:var(--zc-accent,#cf2f62);opacity:.11;pointer-events:none;white-space:nowrap;z-index:0;font-variant-numeric:lining-nums}
.zc-cal-h-script{display:flex;align-items:baseline;justify-content:center;gap:2.4cqw;font-weight:400}
.zc-cal-hm{font-family:var(--zt-tf,inherit);color:var(--zc-cal-tc,var(--zc-accent,#cf2f62));line-height:1.05}
.zc-cal-hy{font-weight:300;letter-spacing:.14em;line-height:1;opacity:.85}
.zc-cal-c-tile .zc-cal-grid{gap:1.2cqw}
.zc-cal-c-tile .zc-cal-day:not(.zc-cal-dim):has(>span){border-radius:24%;background:var(--zt-cl,color-mix(in srgb,currentColor 4%,#f7f1ef));box-shadow:.45cqw .45cqw 1cqw rgba(91,68,64,.18),-.45cqw -.45cqw 1cqw rgba(255,255,255,.95)}
.zc-cal-c-tile .zc-cal-day[aria-current]:has(>span){background:var(--zc-accent,#cf2f62);color:var(--zt-on,#fff)!important;box-shadow:inset .3cqw .3cqw .8cqw rgba(0,0,0,.2)}
.zc-cal-c-tile .zc-cal-day[aria-current]>.zc-cal-mark{display:none}
:is(.zt-ondark,.zt-dark).zc-cal-c-tile .zc-cal-day:not(.zc-cal-dim):has(>span){background:rgba(255,255,255,.06);box-shadow:.45cqw .45cqw 1cqw rgba(0,0,0,.35),-.3cqw -.3cqw .8cqw rgba(255,255,255,.06)}
.zc-cal-week:is(.zc-cal-wk3,.zc-cal-wk5) .zc-cal-wd{font-size:.4em;text-transform:uppercase;letter-spacing:.14em;padding-bottom:.6em}
.zc-cal-week:is(.zc-cal-wk3,.zc-cal-wk5) .zc-cal-day{aspect-ratio:auto;min-height:2.6em}
.zc-cal-week:is(.zc-cal-wk3,.zc-cal-wk5) .zc-cal-day>span{font-size:1.5em;font-family:var(--zt-tf,inherit)}
.zc-cal-week:is(.zc-cal-wk3,.zc-cal-wk5) .zc-cal-mark{inset:50% auto auto 50%;width:2.5em;height:2.5em;transform:translate(-50%,-50%)}
.zc-cal-wk5 .zc-cal-day>span{font-size:1.2em}
.zc-cal-desk{gap:0;position:relative}
.zc-cal-desk.zt:not(.zt-transparent){background:none;box-shadow:none;border:0;padding:0}
.zc-cal-sheet{position:relative;flex:1;display:flex;flex-direction:column;min-height:0;margin-top:3.6cqw;background:var(--zt-bg,#fff);border-radius:2.4cqw;padding:0 4.5% 4%;box-shadow:0 .6cqw 0 -.1cqw #fbf8f5,0 .7cqw 0 0 rgba(0,0,0,.07),0 1.2cqw 0 -.2cqw #f6f2ee,0 1.3cqw 0 -.1cqw rgba(0,0,0,.07),0 2.4cqw 4cqw -1.8cqw rgba(16,24,40,.32)}
.zc-cal-dhead{display:flex;align-items:baseline;justify-content:space-between;gap:2cqw;margin:0 -4.75% 3.4%;padding:5cqw 5% 2.6cqw;border-radius:2.4cqw 2.4cqw 0 0;background:var(--zc-accent,#cf2f62);color:var(--zt-on,#fff)}
.zc-cal-dm{font-family:var(--zt-tf,inherit);font-weight:600;line-height:1}
.zc-cal-dy{letter-spacing:.24em;font-weight:500;opacity:.92}
.zc-cal-dhead .zc-cal-h-script{flex:1;margin:0!important;justify-content:space-between;color:inherit!important}
.zc-cal-dhead .zc-cal-hm{color:inherit}
.zc-cal-desk .zc-cal-lunar{margin-top:1.6cqw}
.zc-cal-rings{position:absolute;left:7%;right:7%;top:0;height:6.6cqw;display:flex;justify-content:space-between;z-index:3;pointer-events:none}
.zc-cal-rings i{position:relative;width:1.5cqw;height:6.6cqw;border-radius:999px;background:linear-gradient(90deg,#6f7078,#f1f1f4 45%,#8d8e96);box-shadow:0 .3cqw .5cqw rgba(0,0,0,.28)}
.zc-cal-rings i::after{content:"";position:absolute;left:50%;bottom:-.5cqw;width:2.2cqw;height:1.4cqw;transform:translateX(-50%);border-radius:50%;background:rgba(20,14,16,.42);z-index:-1}
.zc-cal-clip{position:absolute;left:50%;top:-.6cqw;width:18cqw;transform:translateX(-50%);z-index:3;overflow:visible;filter:drop-shadow(0 .5cqw .6cqw rgba(0,0,0,.3))}
.zc-cal-clip path{stroke:#a9adb5}
.zc-cal-clip rect{fill:#2f3136}
.zc-cal-b-clip .zc-cal-sheet{margin-top:4.6cqw}
.zc-cal-tear{position:absolute;left:2%;right:2%;top:1.2cqw;height:2.4cqw;z-index:0;background:radial-gradient(circle at 50% 100%,transparent .8cqw,var(--zt-bg,#fff) .85cqw) 0 0/2.6cqw 100% repeat-x;opacity:.85;filter:drop-shadow(0 .3cqw .3cqw rgba(0,0,0,.12))}
.zc-cal-b-tear .zc-cal-sheet{margin-top:3cqw;-webkit-mask:radial-gradient(circle .75cqw at 50% 0,#0000 96%,#000) 0 0/2.6cqw 100% repeat-x;mask:radial-gradient(circle .75cqw at 50% 0,#0000 96%,#000) 0 0/2.6cqw 100% repeat-x}

.zc-cd-stack{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.zc-cd-body{width:100%;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.zc-cd-prefix{margin:0;padding:.3em .4em;text-align:center;line-height:1.45;text-wrap:balance}
.zc-cd-iconw{display:block;flex:0 0 auto;margin-bottom:.35em;color:var(--zc-accent,#cf2f62)}
.zc-cd-icon{display:block;width:100%;height:100%}
.zc-cd.zc-cd-v{flex-direction:column;align-items:center;justify-content:center;gap:2.6%}
.zc-cd-v .zc-cd-sep{display:none}
.zc-cd-v.zc-cd-min .zc-cd-cell{flex:0 0 auto}
.zc-cd-v.zc-cd-pill{align-items:center}
.zc-cd-v .zc-cd-pillbox{flex-direction:column;height:100%;padding:4% 0}
.zc-cd-v .zc-cd-pc{width:100%}
.zc-cd-v .zc-cd-pc+.zc-cd-pc{border-top:1px solid color-mix(in srgb,var(--zc-accent,#cf2f62) 25%,transparent)}
.zc-cd-v.zc-cd-hearts,.zc-cd-v.zc-cd-ring,.zc-cd-v.zc-cd-flip{justify-content:space-around}
.zc-cd-cas,.zc-cd-film,.zc-cd-cake{align-items:center;justify-content:center}
.zc-cas{position:relative;box-sizing:border-box;flex:0 0 auto;padding:5.5em 6.5em 0;border-radius:5em;color:#2b2125;background:linear-gradient(160deg,color-mix(in srgb,var(--zc-accent,#cf2f62) 82%,#fff),var(--zc-accent,#cf2f62) 55%,color-mix(in srgb,var(--zc-accent,#cf2f62) 68%,#000));box-shadow:0 1.6em 3em -1.2em rgba(0,0,0,.45),inset 0 .5em 0 rgba(255,255,255,.2),inset 0 -.6em 0 rgba(0,0,0,.12)}
.zc-cas-screw{position:absolute;inset:2.4em;pointer-events:none;background:radial-gradient(circle,#efe8dd 0 .9em,#7a736b 1em 1.3em,transparent 1.4em) 0 0/3em 3em no-repeat,radial-gradient(circle,#efe8dd 0 .9em,#7a736b 1em 1.3em,transparent 1.4em) 100% 0/3em 3em no-repeat,radial-gradient(circle,#efe8dd 0 .9em,#7a736b 1em 1.3em,transparent 1.4em) 0 100%/3em 3em no-repeat,radial-gradient(circle,#efe8dd 0 .9em,#7a736b 1em 1.3em,transparent 1.4em) 100% 100%/3em 3em no-repeat}
.zc-cas-label{position:relative;background:#fbf5e8;border-radius:2.4em;padding:6.2em 3em 6em;box-shadow:inset 0 0 0 .4em rgba(43,33,37,.05)}
.zc-cas-label::before{content:"MIXTAPE";position:absolute;top:1.3em;left:50%;transform:translateX(-50%);font-size:2.3em;font-weight:800;letter-spacing:.55em;color:#2b2125;opacity:.5}
.zc-cas-label::after{content:"";position:absolute;left:0;right:0;bottom:1.8em;height:2.4em;background:linear-gradient(var(--zc-accent,#cf2f62) 0 33%,#f2b84b 33% 66%,#2f7d6d 66%)}
.zc-cas-side{position:absolute;left:.45em;top:.3em;width:1.6em;height:1.6em;font-size:3.2em;line-height:1.6em;text-align:center;border-radius:50%;background:#2b2125;color:#fbf5e8;font-weight:800}
.zc-cas-nums{display:flex;justify-content:center;align-items:flex-start;gap:4.2em}
.zc-cas-u{position:relative;display:flex;flex-direction:column;align-items:center}
.zc-cas-u b{font-size:10.5em;line-height:1;font-weight:800;letter-spacing:-.02em;color:#2b2125}
.zc-cas-u i{font-style:normal;font-size:2.5em;letter-spacing:.2em;text-transform:uppercase;margin-top:.5em;opacity:.78;color:#2b2125}
.zc-cas-u em{position:absolute;right:-.42em;top:.05em;font-size:7em;line-height:1;font-style:normal;font-weight:700;opacity:.35;color:#2b2125}
.zc-cas-win{display:flex;align-items:center;justify-content:space-between;width:64%;height:15em;margin:2.6em auto 0;padding:0 3em;border-radius:8em;background:rgba(20,14,16,.8);box-shadow:inset 0 .6em 1.2em rgba(0,0,0,.55)}
.zc-cas-band{flex:1;height:4.4em;margin:0 -1em;border-radius:1em;background:linear-gradient(#3a2a22,#5a4032)}
.zc-cas-reel{width:12em;height:12em;flex:0 0 auto;position:relative;z-index:1}
.zc-cas-tape{fill:#4a362c}
.zc-cas-hub{fill:#f7f1e6}
.zc-cas-spin{fill:#8b8279;transform-box:fill-box;transform-origin:center;animation:zc-cas-r 3.2s linear infinite}
@keyframes zc-cas-r{to{transform:rotate(360deg)}}
.zc-cas-foot{position:absolute;left:50%;bottom:0;width:56%;height:8em;transform:translateX(-50%);border-radius:1.2em 1.2em 0 0;background:radial-gradient(circle,rgba(20,14,16,.75) 0 1em,transparent 1.1em) 22% 55%/3em 3em no-repeat,radial-gradient(circle,rgba(20,14,16,.75) 0 1em,transparent 1.1em) 78% 55%/3em 3em no-repeat,color-mix(in srgb,var(--zc-accent,#cf2f62) 72%,#000);clip-path:polygon(7% 0,93% 0,100% 100%,0 100%)}
.zc-film{position:relative;display:flex;gap:1.1em;padding:3.4em 2em;background:#1c1a1d;border-radius:.8em;box-shadow:0 1em 2.6em -1em rgba(0,0,0,.55)}
.zc-film::before,.zc-film::after{content:"";position:absolute;left:1.4em;right:1.4em;height:1.3em;border-radius:.2em;background:linear-gradient(90deg,#f3eee6 55%,transparent 55%) 0 0/2.8em 100% repeat-x}
.zc-film::before{top:1em}
.zc-film::after{bottom:1em}
.zc-cd-v .zc-film{flex-direction:column;padding:2em 3.4em}
.zc-cd-v .zc-film::before,.zc-cd-v .zc-film::after{top:1.4em;bottom:1.4em;left:auto;right:auto;width:1.3em;height:auto;background:linear-gradient(180deg,#f3eee6 55%,transparent 55%) 0 0/100% 2.8em repeat-y}
.zc-cd-v .zc-film::before{left:1em}
.zc-cd-v .zc-film::after{right:1em}
.zc-film-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:.4em;color:#fdf6ea;background:linear-gradient(160deg,color-mix(in srgb,var(--zc-accent,#cf2f62) 22%,#3a3236),#211d20);box-shadow:inset 0 0 0 .2em rgba(255,255,255,.07)}
.zc-film-cell .zc-cd-num{font-size:4.4em;font-weight:700;line-height:1}
.zc-film-cell .zc-cd-lbl{font-size:1.25em;letter-spacing:.2em;text-transform:uppercase;opacity:.85;margin-top:.6em}
.zc-cake{position:relative;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:3em;box-sizing:border-box}
.zc-cake-candles{display:flex;gap:7em;height:13em;align-items:flex-end;position:relative;z-index:2}
.zc-cake-candles i{position:relative;width:2.6em;height:8.5em;border-radius:.6em .6em .2em .2em;background:repeating-linear-gradient(-45deg,#fff 0 1em,color-mix(in srgb,var(--zc-accent,#cf2f62) 55%,#fff) 1em 2em)}
.zc-cake-candles i::before{content:"";position:absolute;left:50%;top:-5em;width:2.6em;height:4.2em;transform:translateX(-50%);border-radius:50% 50% 50% 50%/62% 62% 38% 38%;background:radial-gradient(circle at 50% 72%,#fff7cf,#ffcd45 45%,#ff8b22 82%);box-shadow:0 0 2.6em #ffd36b;animation:zc-flame 1.5s ease-in-out infinite alternate}
.zc-cake-candles i:nth-child(2)::before{animation-delay:-.55s}
.zc-cake-candles i:nth-child(3)::before{animation-delay:-1.05s}
@keyframes zc-flame{to{transform:translateX(-50%) scale(1.08,.9) rotate(4deg)}}
.zc-cake-t{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;gap:4em;color:color-mix(in srgb,var(--zc-accent,#cf2f62) 72%,#000);background:linear-gradient(#fffaf4,#f9ebe1);border-radius:2.4em 2.4em 1.2em 1.2em;box-shadow:inset 0 -1.4em 0 color-mix(in srgb,var(--zc-accent,#cf2f62) 16%,#f3dccd),0 1em 2em -1em rgba(74,43,51,.35)}
.zc-cake-t::before{content:"";position:absolute;left:0;right:0;top:0;height:5.4em;border-radius:2.4em 2.4em 0 0;background:var(--zc-accent,#cf2f62);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20200%2020'%20preserveAspectRatio%3D'none'%3E%3Cpath%20d%3D'M0%200h200v9c-4%200-5%207-9%207s-4-10-9-10-4%2013-9%2013-4-11-9-11-4%206-8%206-4-9-9-9-4%2014-9%2014-4-12-9-12-4%207-9%207-4-8-8-8-5%2012-9%2012-4-9-9-9-4%206-9%206-4-11-8-11-5%2013-9%2013-4-10-9-10-4%207-9%207-4-8-9-8-4%2011-8%2011-5-7-9-7-4%209-9%209-4-6-9-6V0z'%2F%3E%3C%2Fsvg%3E") top/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20200%2020'%20preserveAspectRatio%3D'none'%3E%3Cpath%20d%3D'M0%200h200v9c-4%200-5%207-9%207s-4-10-9-10-4%2013-9%2013-4-11-9-11-4%206-8%206-4-9-9-9-4%2014-9%2014-4-12-9-12-4%207-9%207-4-8-8-8-5%2012-9%2012-4-9-9-9-4%206-9%206-4-11-8-11-5%2013-9%2013-4-10-9-10-4%207-9%207-4-8-9-8-4%2011-8%2011-5-7-9-7-4%209-9%209-4-6-9-6V0z'%2F%3E%3C%2Fsvg%3E") top/100% 100% no-repeat}
.zc-cake-t1{width:56%;height:21em;padding-top:4em}
.zc-cake-t2{width:88%;height:27em;padding-top:4.6em;margin-top:-.3em}
.zc-cake-solo{height:34em}
.zc-cake-u{display:flex;flex-direction:column;align-items:center}
.zc-cake-u b{font-size:7.4em;font-weight:800;line-height:1}
.zc-cake-t1 .zc-cake-u b{font-size:9.6em}
.zc-cake-u i{font-style:normal;font-size:2.2em;letter-spacing:.18em;text-transform:uppercase;margin-top:.35em;color:#4a2b33;opacity:.85}
.zc-cake-plate{position:absolute;left:3%;right:3%;bottom:.6em;height:4.6em;border-radius:50%;background:linear-gradient(#fff,#e9e2dc);box-shadow:0 .8em 1.6em -.6em rgba(0,0,0,.35)}
@media (prefers-reduced-motion: reduce){.zc-cas-spin,.zc-cake-candles i::before{animation:none}}

.zc-sch-ic-img{overflow:hidden;background:var(--zt-in,#fff)!important;box-shadow:0 0 0 .5cqw var(--zc-accent,#cf2f62)}
.zc-sch-ic-img img{width:100%;height:100%;object-fit:cover;display:block}
.zc-sch-map{display:inline-flex;align-items:center;gap:.8cqw;width:fit-content;margin-top:.4cqw;font-size:2.6cqw;font-weight:600;color:color-mix(in srgb,var(--zc-accent,#cf2f62) 88%,#000);text-decoration:underline;text-underline-offset:.6cqw;text-decoration-thickness:1px}
.zt-ondark .zc-sch-map,.zt-dark .zc-sch-map{color:var(--zc-accent)}
.zc-sch-map:focus-visible{outline:2px solid var(--zc-accent);outline-offset:2px;border-radius:.6cqw}
.zc-sch-grid .zc-sch-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.zc-sch-grid .zc-sch-it{flex-direction:column;align-items:center;text-align:center;gap:1.4cqw;padding:3.6cqw 2cqw;border-right:1px var(--zs-ls,solid) var(--zs-line,color-mix(in srgb,var(--zc-accent) 30%,transparent));border-bottom:1px var(--zs-ls,solid) var(--zs-line,color-mix(in srgb,var(--zc-accent) 30%,transparent))}
.zc-sch-grid .zc-sch-it:nth-child(2n){border-right:0}
.zc-sch-grid .zc-sch-it:nth-last-child(-n+2):nth-child(odd),.zc-sch-grid .zc-sch-it:last-child{border-bottom:0}
.zc-sch-grid .zc-sch-tx{align-items:center;padding:0}
.zc-sch-grid .zc-sch-ic{width:11cqw;height:11cqw}
.zc-sch-grid.zc-ic-plain .zc-sch-ic svg{width:78%;height:78%}
.zc-sch-table .zc-sch-list{gap:0;border-top:1px var(--zs-ls,solid) var(--zs-line,color-mix(in srgb,var(--zc-accent) 35%,transparent))}
.zc-sch-table .zc-sch-it{display:grid;grid-template-columns:21cqw minmax(0,1fr);gap:0;align-items:stretch;border-bottom:1px var(--zs-ls,solid) var(--zs-line,color-mix(in srgb,var(--zc-accent) 35%,transparent))}
.zc-sch-table .zc-sch-ic{display:none}
.zc-sch-table .zc-sch-tx{display:contents}
.zc-sch-table .zc-sch-time{grid-column:1;grid-row:1/span 5;display:flex;align-items:center;justify-content:flex-end;padding:2.6cqw 3cqw 2.6cqw 0;border-right:.4cqw solid var(--zs-line,color-mix(in srgb,var(--zc-accent) 55%,transparent));font-size:3.6cqw;font-variant-numeric:tabular-nums;font-family:var(--zt-tf,inherit)}
.zc-sch-table .zc-sch-tx>:not(.zc-sch-time){grid-column:2;padding-left:3.4cqw}
.zc-sch-table .zc-sch-ttl{padding-top:2.6cqw}
.zc-sch-table .zc-sch-tx>:last-child{padding-bottom:2.6cqw}
.zc-sch-table .zc-sch-tx>.zc-sch-ttl:last-child{padding-bottom:2.6cqw}
.zc-sch-table .zc-sch-map{margin-left:3.4cqw;padding-left:0}
.zc-sch-tw{position:relative;flex:1;min-height:0}
.zc-sch-curve{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.zc-sch-curve path{fill:none;stroke:var(--zs-line,var(--zc-accent,#cf2f62));stroke-width:2;stroke-linecap:round}
.zc-ls-dashed .zc-sch-curve path{stroke-dasharray:7 6}
.zc-ls-dotted .zc-sch-curve path{stroke-dasharray:.1 6}
.zc-sch-thread .zc-sch-list{height:100%;display:grid;grid-auto-rows:1fr;gap:0}
.zc-sch-thread .zc-sch-it{display:flex;align-items:center;min-height:16cqw;padding:2cqw 0}
.zc-sch-thread .zc-sch-ic{position:absolute;top:50%;left:30%;transform:translate(-50%,-50%);width:8cqw;height:8cqw;box-shadow:0 0 0 1cqw var(--zs-bg,var(--zt-bg,#fff))}
.zc-sch-thread .zc-sch-it:nth-child(even) .zc-sch-ic{left:70%}
.zc-sch-thread .zc-sch-tx{width:calc(70% - 6cqw);margin-left:calc(30% + 6cqw);padding:0}
.zc-sch-thread .zc-sch-it:nth-child(even) .zc-sch-tx{margin-left:0;text-align:right;align-items:flex-end}
.zc-sch-thread .zc-sch-time{font-family:var(--zt-tf,inherit);font-size:4cqw}
.zc-sch-vine .zc-sch-list::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:9cqw;transform:translateX(-50%);background:var(--zs-line,color-mix(in srgb,var(--zc-accent,#cf2f62) 18%,#4f7a45));-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2030%2080'%3E%3Cpath%20d%3D'M15%200c-7%2012-7%2028%200%2040s7%2028%200%2040'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.8'%2F%3E%3Cpath%20d%3D'M13%2016c-5-5-11-5-13-1%204%204%209%204%2013%201zM17%2056c5-5%2011-5%2013-1-4%204-9%204-13%201z'%2F%3E%3Cpath%20d%3D'M14.5%2030c-3%201-5%204-4%207M15.5%2070c3%201%205%204%204%207'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.2'%20stroke-linecap%3D'round'%2F%3E%3C%2Fsvg%3E") center top/9cqw 24cqw repeat-y;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2030%2080'%3E%3Cpath%20d%3D'M15%200c-7%2012-7%2028%200%2040s7%2028%200%2040'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.8'%2F%3E%3Cpath%20d%3D'M13%2016c-5-5-11-5-13-1%204%204%209%204%2013%201zM17%2056c5-5%2011-5%2013-1-4%204-9%204-13%201z'%2F%3E%3Cpath%20d%3D'M14.5%2030c-3%201-5%204-4%207M15.5%2070c3%201%205%204%204%207'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.2'%20stroke-linecap%3D'round'%2F%3E%3C%2Fsvg%3E") center top/9cqw 24cqw repeat-y}
.zc-sch-vine .zc-sch-list{gap:4cqw}
.zc-sch-vine .zc-sch-it{display:grid;grid-template-columns:minmax(0,1fr) 9cqw minmax(0,1fr);gap:2.6cqw;align-items:center}
.zc-sch-vine .zc-sch-ic{grid-column:2;grid-row:1;justify-self:center;width:8.6cqw;height:8.6cqw;border-radius:50%;background:var(--zs-bg,var(--zt-bg,#fff));color:var(--zc-accent,#cf2f62);box-shadow:inset 0 0 0 .35cqw color-mix(in srgb,var(--zc-accent,#cf2f62) 55%,transparent),0 0 0 .8cqw color-mix(in srgb,var(--zc-accent,#cf2f62) 10%,transparent)}
.zc-sch-vine .zc-sch-ic svg{width:54%;height:54%}
.zc-sch-vine .zc-sch-tx{grid-row:1;grid-column:3}
.zc-sch-vine .zc-sch-it:nth-child(odd) .zc-sch-tx{grid-column:1;text-align:right;align-items:flex-end}
.zc-sch-story .zc-sch-list{gap:5cqw}
.zc-sch-story .zc-sch-list::before{content:"";position:absolute;top:1cqw;bottom:1cqw;left:50%;border-left:.4cqw var(--zs-ls,solid) var(--zs-line,color-mix(in srgb,var(--zc-accent) 50%,transparent));transform:translateX(-50%)}
.zc-sch-story .zc-sch-it{display:grid;grid-template-columns:minmax(0,1fr) 5cqw minmax(0,1fr);align-items:center;gap:2.4cqw}
.zc-sch-dot{grid-column:2;grid-row:1;justify-self:center;position:relative;z-index:1;width:2.8cqw;height:2.8cqw;border-radius:50%;background:var(--zc-accent,#cf2f62);box-shadow:0 0 0 1.1cqw var(--zs-bg,var(--zt-bg,#fff)),0 0 0 1.45cqw color-mix(in srgb,var(--zc-accent) 40%,transparent)}
.zc-sch-art{grid-row:1;grid-column:3;justify-self:start;width:100%;max-width:32cqw}
.zc-sch-art img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:1.6cqw;border:1.3cqw solid #fff;box-shadow:0 1.2cqw 3cqw -1.2cqw rgba(16,24,40,.45);transform:rotate(2.2deg)}
.zc-sch-art-ic{display:flex;align-items:center;justify-content:center;width:20cqw;height:20cqw;border-radius:50%;background:color-mix(in srgb,var(--zc-accent) 12%,transparent);color:var(--zc-accent)}
.zc-sch-art-ic svg{width:48%;height:48%}
.zc-sch-story .zc-sch-tx{grid-row:1;grid-column:1;text-align:right;align-items:flex-end;padding:0}
.zc-sch-story .zc-sch-it:nth-child(even) .zc-sch-tx{grid-column:3;text-align:left;align-items:flex-start}
.zc-sch-story .zc-sch-it:nth-child(even) .zc-sch-art{grid-column:1;justify-self:end}
.zc-sch-story .zc-sch-it:nth-child(even) .zc-sch-art img{transform:rotate(-2.2deg)}
.zc-sch-story .zc-sch-time{font-family:var(--zt-tf,inherit);font-size:5.4cqw;font-weight:600;letter-spacing:.02em;line-height:1}
.zc-sch-story .zc-sch-ttl{font-style:italic;font-size:3.6cqw}
.zc-sch.zc-sch-ics .zc-sch-ic{width:var(--zs-ic);height:var(--zs-ic)}
/* S4: hộp mừng theo sự kiện — tiêu đề sự kiện phía trên thẻ tài khoản. */
.zc-gift-ev{display:flex;flex-direction:column;gap:1.6cqw;min-width:0}
.zc-gift-evh{margin:0;text-align:center;font-family:var(--zt-tf,inherit);font-size:3.4cqw;font-weight:600;color:var(--zt-title-c,var(--zc-accent,#cf2f62));letter-spacing:.02em}
/* S4: viên giờ — màu nền (kiểu ngang) + màu chữ giờ (mọi kiểu). */
.zc-sch.zc-sch-tc .zc-sch-time{color:var(--zs-tc)}
.zc-sch-horizontal.zc-sch-tbg .zc-sch-time{background:var(--zs-tbg);box-shadow:none}
.zc-sch.zc-sch-ics .zc-sch-art{max-width:var(--zs-ic)}
.zc-sch.zc-sch-ics .zc-sch-art-ic{width:var(--zs-ic);height:var(--zs-ic)}
.zc-sch.zc-sch-tsz .zc-sch-ttl{font-size:var(--zs-tsz)}
.zc-sch.zc-sch-dsz .zc-sch-desc{font-size:var(--zs-dsz)}
.zc-sch.zc-sch-dsz .zc-sch-place{font-size:calc(var(--zs-dsz) * .93)}
.zc-sch.zc-sch-imgc .zc-sch-ic-img{background:var(--zs-bg,transparent)!important;box-shadow:none;border-radius:0;overflow:visible}
.zc-sch.zc-sch-imgc .zc-sch-ic-img img{object-fit:contain}
.zc-sch.zc-sch-imgc .zc-sch-art img{object-fit:contain;aspect-ratio:1/1;border:0;border-radius:0;box-shadow:none;transform:none}
/* S2: ảnh mốc tô màu (items[].tint / imageTint) — khối màu lấy ảnh làm mặt nạ; trình duyệt không có mask dùng ảnh gốc. */
.zc-sch-tint{display:block;width:100%;height:100%}
.zc-sch-art .zc-sch-tint{aspect-ratio:1/1;height:auto}
.zc-sch img.zc-sch-tint-fb{display:none}
@supports not ((mask-image:none) or (-webkit-mask-image:none)){.zc-sch-tint{display:none}.zc-sch img.zc-sch-tint-fb{display:block}}

.zc-vn-tabs{flex:0 0 auto;display:flex;align-self:center;gap:.6cqw;max-width:100%;padding:.7cqw;border-radius:999px;background:var(--zt-soft,rgba(0,0,0,.05));overflow-x:auto;scrollbar-width:none}
.zc-vn-tabs::-webkit-scrollbar{display:none}
.zc-vn-tab{flex:0 0 auto;font:inherit;font-size:2.9cqw;font-weight:500;color:inherit;opacity:.78;background:none;border:0;border-radius:999px;padding:1.6cqw 4.2cqw;cursor:pointer;white-space:nowrap;transition:background-color .2s,opacity .2s,box-shadow .2s}
.zc-vn-tab[aria-selected="true"]{opacity:1;font-weight:700;background:var(--zc-accent,#cf2f62);color:var(--zt-on,#fff);box-shadow:0 .4cqw 1.4cqw color-mix(in srgb,var(--zc-accent) 35%,transparent)}
.zc-vn-tab:focus-visible{outline:2px solid var(--zc-accent);outline-offset:2px}
.zc-vn-panel{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.4cqw;padding:2.4cqw 2cqw 1cqw;animation:zc-vn-in .45s cubic-bezier(.22,1,.36,1)}
.zc-vn-panel .zc-vn-ic{width:10cqw;height:10cqw}
.zc-vn-time-xl{font-size:4.6cqw;font-family:var(--zt-tf,inherit);color:var(--zc-accent)}
@keyframes zc-vn-in{from{opacity:0;transform:translateY(1.6cqw)}}
.zc-vn-btn-c{align-self:center}
.zc-vn-l-solid .zc-vn-list,.zc-vn-l-signboard .zc-vn-list{gap:3.6cqw}
.zc-vn-l-solid .zc-vn-it{text-align:center;align-items:center;gap:1cqw;padding:4.6cqw 4cqw;border-radius:4.4cqw;color:var(--zv-ink,var(--zt-on,#fff));background:linear-gradient(160deg,color-mix(in srgb,var(--zc-accent,#cf2f62) 94%,#fff),color-mix(in srgb,var(--zc-accent,#cf2f62) 86%,#000));box-shadow:0 1.4cqw 3.4cqw -1.6cqw color-mix(in srgb,var(--zc-accent,#cf2f62) 70%,#000)}
.zc-vn-l-solid .zc-vn-label{font-size:4.2cqw;text-transform:uppercase;letter-spacing:.06em}
.zc-vn-l-solid .zc-vn-time{color:inherit;justify-content:center;font-size:3.6cqw;font-family:var(--zt-tf,inherit)}
.zc-vn-l-solid .zc-vn-note{opacity:.88}
.zc-vn-l-solid .zc-vn-btn{background:transparent;color:inherit;box-shadow:inset 0 0 0 .3cqw currentColor;margin-top:1.2cqw}
.zc-vn-l-arch .zc-vn-list{gap:4cqw}
.zc-vn-l-arch .zc-vn-it{text-align:center;align-items:center;gap:1.2cqw;padding:8cqw 6cqw 5.4cqw;border-radius:50% 50% 3cqw 3cqw/28cqw 28cqw 3cqw 3cqw;background:color-mix(in srgb,var(--zc-accent,#cf2f62) 7%,var(--zt-in,#fff));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--zc-accent) 35%,transparent);outline:1px solid color-mix(in srgb,var(--zc-accent) 25%,transparent);outline-offset:-2.2cqw}
.zc-vn-l-arch .zc-vn-label{font-size:4.4cqw}
.zc-vn-l-arch .zc-vn-time{justify-content:center;font-size:3.2cqw}
.zc-vn-l-signboard .zc-vn-it{position:relative;text-align:center;align-items:center;gap:1cqw;padding:6.4cqw 6cqw 5.4cqw;border-radius:3cqw;color:#fbefd9;background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--zc-accent,#cf2f62) 62%,#2a1a1f),#1f1418);box-shadow:0 1.6cqw 3.6cqw -1.6cqw rgba(0,0,0,.55),inset 0 0 0 .7cqw #3a2a2f}
.zc-vn-l-signboard .zc-vn-it::before{content:"";position:absolute;inset:1.5cqw;border-radius:2cqw;padding:1.1cqw;pointer-events:none;background:radial-gradient(circle,#ffe7a3 0 30%,rgba(255,215,120,.35) 40%,transparent 62%) 0 0/3.2cqw 3.2cqw round;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:zc-bulb 1.4s steps(2,jump-none) infinite}
@keyframes zc-bulb{to{opacity:.72}}
.zc-vn-l-signboard .zc-vn-label{font-family:var(--zt-tf,inherit);font-size:6cqw;line-height:1.15;color:#ffe2a8;text-shadow:0 0 1.6cqw rgba(255,190,90,.6)}
.zc-vn-l-signboard .zc-vn-time{justify-content:center;color:#fbefd9;letter-spacing:.2em;text-transform:uppercase;font-size:2.8cqw}
.zc-vn-l-signboard .zc-vn-note{opacity:.85}
.zc-vn-l-signboard .zc-vn-btn{background:#ffe2a8;color:#2a1a1f;margin-top:1.2cqw}
@media (prefers-reduced-motion: reduce){.zc-vn-panel,.zc-vn-l-signboard .zc-vn-it::before{animation:none}}

.zc-map-route{gap:2cqw}
.zc-rt-art{position:relative;width:100%;aspect-ratio:2/1;flex:0 0 auto}
.zc-rt-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.zc-rt-road{fill:none;stroke:color-mix(in srgb,var(--zc-accent,#cf2f62) 16%,#f3ece6);stroke-width:15;stroke-linecap:round}
.zc-rt-lane{fill:none;stroke:color-mix(in srgb,var(--zc-accent,#cf2f62) 70%,#fff);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:6 6}
.zc-rt-dot,.zc-rt-heart{fill:var(--zc-accent,#cf2f62)}
.zc-rt-house .zc-rt-roof{fill:none;stroke:var(--zc-accent,#cf2f62);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.zc-rt-house .zc-rt-wall{fill:var(--zt-in,#fff);stroke:var(--zc-accent,#cf2f62);stroke-width:2}
.zc-rt-house .zc-rt-door{fill:color-mix(in srgb,var(--zc-accent,#cf2f62) 25%,#fff);stroke:var(--zc-accent,#cf2f62);stroke-width:1.4}
.zc-rt-house .zc-rt-heart{fill:#fff}
.zc-rt-body{fill:var(--zc-accent,#cf2f62)}
.zc-rt-wheel{fill:#2b2125;stroke:#fff;stroke-width:1}
.zc-rt-pts{display:grid;grid-template-columns:1fr 1fr;gap:3cqw;padding-top:2.2cqw;border-top:1px dashed color-mix(in srgb,var(--zc-accent,#cf2f62) 35%,transparent)}
.zc-rt-pt{display:flex;flex-direction:column;gap:1cqw;min-width:0}
.zc-rt-a{align-items:flex-start}
.zc-rt-b{align-items:flex-end;text-align:right}
.zc-rt-lbl{margin:0;font-family:var(--zt-tf,inherit);font-size:3.8cqw;font-weight:600;line-height:1.2;color:color-mix(in srgb,var(--zc-accent,#cf2f62) 85%,#000)}
.zt-ondark .zc-rt-lbl,.zt-dark .zc-rt-lbl{color:var(--zc-accent)}
.zc-rt-ad{margin:0;font-size:2.6cqw;line-height:1.45;opacity:.85}
.zc-rt-btn{display:inline-flex;align-items:center;margin-top:.6cqw;padding:1.3cqw 3cqw;border-radius:999px;background:var(--zc-accent,#cf2f62);color:var(--zt-on,#fff);font-family:inherit;font-size:2.4cqw;font-weight:600;line-height:1.2;text-decoration:none;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.zc-rt-btn:focus-visible{outline:2px solid var(--zc-accent);outline-offset:2px}
.zc-map-ill{position:relative;width:100%;height:100%;overflow:hidden;box-shadow:0 1cqw 3cqw -1.2cqw rgba(16,24,40,.35)}
.zc-mil-link{display:block;width:100%;height:100%;color:inherit;text-decoration:none}
.zc-mil-link:focus-visible{outline:2px solid var(--zc-accent);outline-offset:-3px}
.zc-mil-img{display:block;width:100%;height:100%;object-fit:cover}
.zc-mil-fit{object-fit:contain;background:color-mix(in srgb,var(--zc-accent,#cf2f62) 6%,#f7f1e7)}
.zc-mil-bg{fill:color-mix(in srgb,var(--zc-accent,#cf2f62) 6%,#f7f1e7)}
.zc-mil-road{fill:none;stroke:#fff;stroke-width:9;stroke-linecap:round}
.zc-mil-main{fill:none;stroke:color-mix(in srgb,var(--zc-accent,#cf2f62) 40%,#fff);stroke-width:3;stroke-dasharray:5 5;stroke-linecap:round}
.zc-mil-pin{fill:var(--zc-accent,#cf2f62)}
.zc-mil-pinh{fill:#fff}
.zc-mil-chip{position:absolute;left:50%;bottom:3.4cqw;transform:translateX(-50%);max-width:88%}

.zc-cp-call{display:inline-flex;align-items:center;justify-content:center;gap:1.2cqw;align-self:center;text-decoration:none;font-size:2.6cqw;padding:1.5cqw 3.4cqw;margin-top:1.2cqw;white-space:nowrap}
.zc-cp-polaroid{box-sizing:border-box;height:36cqw;border-radius:.6cqw;padding:1.6cqw 1.6cqw 5cqw;background:#fff;box-shadow:0 1cqw 2.4cqw -.8cqw rgba(16,24,40,.35);transform:rotate(-2deg)}
.zc-cp-cell:nth-child(2) .zc-cp-polaroid,.zc-cp-photos .zc-cp-polaroid+.zc-cp-polaroid{transform:rotate(2deg)}
.zc-cp-leaf{border-radius:15cqw 1cqw 15cqw 1cqw}
.zc-cp-l-glass .zc-cp-row,.zc-cp-l-name-overlay .zc-cp-row,.zc-cp-l-profile .zc-cp-row{flex:1;min-height:0;gap:3cqw}
.zc-cp-tall .zc-cp-row{flex-direction:column}
/* S4: khung PNG đè quanh ảnh chân dung — lớp bọc giữ chỗ (margin của ảnh), khung tràn ra theo --zc-pfs. */
.zc-cp-phw{position:relative;display:inline-flex;max-width:100%;margin-bottom:1.6cqw}
.zc-cp-phw>.zc-cp-ph{margin:0;box-shadow:none}
.zc-cp-pf{position:absolute;left:50%;top:50%;width:calc(var(--zc-pfs,1.3) * 100%);height:calc(var(--zc-pfs,1.3) * 100%);max-width:none;transform:translate(-50%,-50%);object-fit:contain;pointer-events:none;z-index:1}
.zc-cp-photos .zc-cp-phw{margin:0}
.zc-cp-photos .zc-cp-phw+.zc-cp-phw{margin-left:-7cqw}
.zc-cp-par{white-space:pre-line}
.zc-cp-card{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;overflow:hidden;border-radius:4cqw}
.zc-cp-l-glass .zc-cp-card{justify-content:flex-end;padding:3.6cqw 3cqw;background:#3a3236;color:#fff;isolation:isolate}
.zc-cp-blur{position:absolute;inset:-10%;z-index:-1}
.zc-cp-blur img{width:100%;height:100%;object-fit:cover;filter:blur(3cqw) saturate(1.2) brightness(.78)}
.zc-cp-glass{flex:1;min-height:0;width:86%;display:flex;padding:1.8cqw;border-radius:3cqw;background:rgba(255,255,255,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 1.4cqw 3cqw rgba(0,0,0,.28);-webkit-backdrop-filter:blur(2cqw);backdrop-filter:blur(2cqw);overflow:hidden}
.zc-cp-glass img{width:100%;height:100%;object-fit:cover;border-radius:2cqw;display:block}
.zc-cp-zm{display:block;width:100%;height:100%;overflow:hidden;border-radius:inherit}
.zc-cp-zm>img{width:100%;height:100%;object-fit:cover;display:block}
.zc-cp-glass .zc-cp-zm{border-radius:2cqw}
.zc-cp-cap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.4cqw;margin-top:2.4cqw}
.zc-cp-l-glass .zc-cp-role{color:#fff;letter-spacing:.32em}
.zc-cp-l-glass .zc-cp-name{font-size:6.2cqw;color:#fff;font-weight:400;text-shadow:0 .4cqw 1.6cqw rgba(0,0,0,.35)}
.zc-cp-l-glass .zc-cp-par{color:#fff;opacity:.88}
.zc-cp-ph0{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:14cqw;font-family:var(--zt-tf,inherit);background:color-mix(in srgb,var(--zc-accent) 18%,#fff);color:color-mix(in srgb,var(--zc-accent) 85%,#000)}
.zc-cp-l-name-overlay .zc-cp-card{justify-content:flex-end;background:#2b2125;isolation:isolate;box-shadow:0 1.2cqw 3cqw -1.2cqw rgba(16,24,40,.45)}
.zc-cp-full{position:absolute;inset:0;z-index:-2;display:flex}
.zc-cp-full img{width:100%;height:100%;object-fit:cover;display:block}
.zc-cp-l-name-overlay .zc-cp-card::after{content:"";position:absolute;inset:38% 0 0;z-index:-1;background:linear-gradient(transparent,rgba(18,12,14,.84))}
.zc-cp-l-name-overlay .zc-cp-cap{margin:0;padding:0 3cqw 4.4cqw;color:#fff}
.zc-cp-l-name-overlay .zc-cp-role{font-family:var(--zt-tf,inherit);text-transform:none;letter-spacing:0;font-weight:400;font-size:5.6cqw;line-height:1.1;color:#fff}
.zc-cp-l-name-overlay .zc-cp-name{font-family:inherit;font-size:3.4cqw;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#fff}
.zc-cp-card>.zc-cp-call{margin:0 0 3.6cqw}
.zc-cp-l-glass .zc-cp-card>.zc-cp-call{margin:2cqw 0 0}
.zc-cp-l-profile .zc-cp-row{flex:0 0 auto}
.zc-cp-l-profile .zc-cp-card{flex:0 0 auto;overflow:visible;align-items:stretch;gap:1.8cqw;padding:3.6cqw;background:var(--zt-soft,rgba(0,0,0,.035));border-radius:3.6cqw;text-align:left}
.zc-cp-pfh{display:flex;align-items:center;gap:3cqw}
.zc-cp-l-profile .zc-cp-ph{width:17cqw;height:17cqw;margin:0;flex:0 0 auto;font-size:6cqw}
.zc-cp-l-profile .zc-cp-polaroid{height:19cqw;padding:1cqw 1cqw 3cqw}
.zc-cp-l-profile .zc-cp-name{font-size:4.8cqw}
.zc-cp-facts{margin:0;display:grid;gap:1cqw}
.zc-cp-facts>div{display:grid;grid-template-columns:auto minmax(3cqw,1fr) auto;align-items:baseline;gap:1.4cqw;font-size:2.7cqw}
.zc-cp-facts dt{grid-column:1;font-weight:600;color:color-mix(in srgb,var(--zc-accent,#cf2f62) 85%,#000);text-transform:uppercase;letter-spacing:.08em;font-size:2.2cqw}
.zt-ondark .zc-cp-facts dt,.zt-dark .zc-cp-facts dt{color:var(--zc-accent)}
.zc-cp-facts>div::after{content:"";grid-column:2;grid-row:1;border-bottom:.3cqw dotted color-mix(in srgb,currentColor 35%,transparent);transform:translateY(-.6cqw)}
.zc-cp-facts dd{grid-column:3;margin:0;text-align:right;font-weight:500}
.zc-cp-l-profile :is(.zc-cp-bio,.zc-cp-par){text-align:left}
.zc-cp-l-profile .zc-cp-call{align-self:flex-start}
/* S2 (sửa lỗi): khung thấp (hàng ngang) → thẻ chia đều bề ngang, không lấy bề rộng theo nội dung (1 người từng tràn, cắt mép phải). */
.zc-cp-l-profile:not(.zc-cp-tall) .zc-cp-card{flex:1 1 0;min-width:0}
.zc-cp-l-profile .zc-cp-pfh>div{min-width:0}
.zc-cp-l-profile .zc-cp-facts dd{min-width:0;overflow-wrap:anywhere}
/* S5 (sửa lỗi): hồ sơ ẩn tiêu đề → đệm trên bằng khoảng cách tiêu đề – thẻ (2.4cqw) thay vì 4.4cqw; chỉ khi tiêu đề ẩn. */
.zc-cp-l-profile.zc-cp-notitle{padding-top:2.4cqw}

.zc-dc-shp{position:relative;display:block;width:11cqw;height:11cqw;filter:drop-shadow(0 .6cqw 1cqw rgba(16,24,40,.22))}
.zc-dc-fill{position:absolute;inset:0;box-shadow:inset 0 0 0 .5cqw rgba(0,0,0,.06)}
.zc-dc-heart .zc-dc-fill{-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%2021.6C5.4%2017%201.5%2013.3%201.5%208.6A5.6%205.6%200%200%201%2012%205.4a5.6%205.6%200%200%201%2010.5%203.2c0%204.7-3.9%208.4-10.5%2013z'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%2021.6C5.4%2017%201.5%2013.3%201.5%208.6A5.6%205.6%200%200%201%2012%205.4a5.6%205.6%200%200%201%2010.5%203.2c0%204.7-3.9%208.4-10.5%2013z'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.zc-dc-drop .zc-dc-fill{inset:9%;border-radius:50% 0 50% 50%;transform:rotate(-45deg)}

.zc-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.zc-faq-tips{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2cqw}
.zc-faq-tips li{display:flex;gap:2.2cqw;align-items:flex-start}
.zc-fb{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:3.4cqw;height:3.4cqw;margin-top:.55cqw;color:var(--zc-accent,#cf2f62)}
.zc-fb svg{width:100%;height:100%}
.zc-fb-dot .zc-fb::before{content:"";width:1.5cqw;height:1.5cqw;border-radius:50%;background:currentColor}
.zc-fb-number .zc-fb{width:auto;min-width:5.4cqw;height:auto;margin-top:0;justify-content:flex-start;font-family:var(--zt-tf,inherit);font-weight:600;font-size:3.6cqw;line-height:1.25;font-variant-numeric:lining-nums tabular-nums;color:color-mix(in srgb,var(--zc-accent,#cf2f62) 88%,#000)}
.zc-tip-tx{min-width:0;display:flex;flex-direction:column;gap:.4cqw;font-size:2.9cqw;line-height:1.55}
.zc-tip-tx strong{font-size:3cqw}
.zc-faq-s-tips .zc-faq-tips li+li{padding-top:2cqw;border-top:1px dashed color-mix(in srgb,var(--zc-accent) 28%,transparent)}
.zc-faq-chat{position:relative;margin-top:5cqw;padding:6.4cqw 4.2cqw 4.2cqw;border:.35cqw solid color-mix(in srgb,var(--zc-accent,#cf2f62) 70%,transparent);border-radius:3cqw;background:var(--zt-in,#fff)}
.zc-faq-hi{position:absolute;top:0;left:8cqw;transform:translateY(-50%);padding:1.2cqw 4.4cqw;border-radius:999px;border:.35cqw solid color-mix(in srgb,var(--zc-accent,#cf2f62) 70%,transparent);background:var(--zt-in,#fff);font-family:var(--zt-tf,inherit);font-size:3.1cqw;font-style:italic;white-space:nowrap}
.zc-faq-hi::before,.zc-faq-hi::after{content:"";position:absolute;border-radius:50%;border:.35cqw solid color-mix(in srgb,var(--zc-accent,#cf2f62) 70%,transparent);background:var(--zt-in,#fff)}
.zc-faq-hi::before{left:-3.6cqw;top:-1.6cqw;width:2.6cqw;height:2.6cqw}
.zc-faq-hi::after{left:-6cqw;top:-3.8cqw;width:1.6cqw;height:1.6cqw}
.zc-faq-iv{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3cqw}
.zc-faq-iv li{display:flex;flex-direction:column;gap:1.4cqw}
.zc-iv-q,.zc-iv-a{display:flex;align-items:flex-end;gap:1.8cqw;max-width:90%}
.zc-iv-a{align-self:flex-end}
.zc-iv-q p,.zc-iv-a p{margin:0;padding:2.2cqw 3.2cqw;font-size:2.9cqw;line-height:1.5}
.zc-iv-q p{background:color-mix(in srgb,var(--zc-accent,#cf2f62) 13%,var(--zt-in,#fff));border-radius:3cqw 3cqw 3cqw .8cqw;font-weight:600}
.zc-iv-a p{background:var(--zt-soft,rgba(0,0,0,.045));border-radius:3cqw 3cqw .8cqw 3cqw}
.zc-iv-av{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:6.6cqw;height:6.6cqw;border-radius:50%;background:color-mix(in srgb,var(--zc-accent,#cf2f62) 88%,#000);color:var(--zt-on,#fff);font-size:2.2cqw;font-weight:700}
.zc-iv-a .zc-iv-av{background:var(--zt-in,#fff);color:var(--zc-accent,#cf2f62);box-shadow:inset 0 0 0 .3cqw var(--zc-accent,#cf2f62)}
.zc-iv-av svg{width:55%;height:55%}
.zc-sheet.zc-faq{font-size:15px}
.zc-sheet .zc-faq-tips{gap:10px}
.zc-sheet :is(.zc-tip-tx,.zc-iv-q p,.zc-iv-a p){font-size:15px}
.zc-sheet .zc-fb{width:16px;height:16px;margin-top:3px}
.zc-sheet .zc-iv-av{width:30px;height:30px;font-size:11px}
.zc-sheet .zc-faq-it summary{font-size:15px;padding:12px 14px}
.zc-sheet .zc-faq-it p{font-size:14px;padding:0 14px 12px}
.zc-sheet .zc-faq-list{gap:8px}
.zc-sheet .zc-faq-it{border-radius:10px}
.zc-sheet .zc-faq-chev{width:18px;height:18px}
.zc-sheet .zc-faq-chat{margin-top:22px;padding:28px 16px 16px;border-width:1.5px;border-radius:14px}
.zc-sheet .zc-faq-hi{font-size:14px;padding:5px 16px;border-width:1.5px;left:30px}

.zc-gift-acc{display:flex;flex-direction:column;gap:2cqw}
.zc-gift-ai{border-radius:2.4cqw;background:var(--zt-soft,rgba(0,0,0,.035));overflow:hidden}
.zc-gift-ai summary{list-style:none;display:flex;align-items:center;gap:2cqw;padding:2.8cqw 3.4cqw;font-weight:600;font-size:3.1cqw;cursor:pointer}
.zc-gift-ai summary span{flex:1;text-align:center;padding-left:4cqw}
.zc-gift-ai summary::-webkit-details-marker{display:none}
.zc-gift-ai summary:focus-visible{outline:2px solid var(--zc-accent);outline-offset:-2px;border-radius:2.4cqw}
.zc-gift-ai[open] .zc-faq-chev{transform:rotate(180deg)}
.zc-gift-ai>.zc-gift{padding:0 3cqw 3.4cqw}
.zc-qrf{position:relative;display:inline-flex;align-items:center;justify-content:center;margin:1cqw 0;flex:0 0 auto}
.zc-qrf .zc-qr{margin:0;width:100%;max-width:none;display:block;border-radius:1cqw}
.zc-qrf-in{position:relative;display:block}
.zc-qrf-art{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.zc-qrf-heart{width:52cqw;max-width:100%;aspect-ratio:100/92}
.zc-qrf-heart .zc-qrf-art path{fill:color-mix(in srgb,var(--zc-accent,#cf2f62) 14%,var(--zt-in,#fff));stroke:var(--zc-accent,#cf2f62);stroke-width:2.2}
.zc-qrf-heart .zc-qrf-in{width:50%;margin-top:-9%}
.zc-qrf-calendar{flex-direction:column;width:42cqw;max-width:100%;padding:7cqw 3.4cqw 3.4cqw;border:.6cqw solid var(--zc-accent,#cf2f62);border-radius:2.6cqw;background:var(--zt-in,#fff);box-shadow:0 1cqw 2.6cqw -1cqw rgba(16,24,40,.28)}
.zc-qrf-top{position:absolute;left:0;right:0;top:0;height:4.4cqw;display:flex;justify-content:space-around;border-radius:1.8cqw 1.8cqw 0 0;background:var(--zc-accent,#cf2f62)}
.zc-qrf-top i{width:1.7cqw;height:5.4cqw;margin-top:-3.2cqw;border-radius:999px;background:var(--zt-in,#fff);box-shadow:0 0 0 .55cqw var(--zc-accent,#cf2f62)}
.zc-qrf-calendar .zc-qrf-in{width:100%}
.zc-qrf-curl{position:absolute;right:-.6cqw;bottom:-.6cqw;width:7cqw;height:7cqw;border-radius:0 0 2.6cqw 0;background:linear-gradient(135deg,transparent 49%,color-mix(in srgb,var(--zc-accent,#cf2f62) 45%,#fff) 50%,#fff 78%);box-shadow:-.4cqw -.4cqw .8cqw rgba(0,0,0,.1)}
.zc-qrf-ring{width:50cqw;max-width:100%;aspect-ratio:1}
.zc-qrf-ring .zc-qrf-art circle{fill:var(--zt-in,#fff);stroke:var(--zc-accent,#cf2f62);stroke-width:2.4}
.zc-qrf-ring .zc-qrf-art .zc-qrf-r2{fill:none;stroke-width:.8;stroke-dasharray:2 2.4;opacity:.75}
.zc-qrf-gem{fill:color-mix(in srgb,var(--zc-accent,#cf2f62) 30%,#fff);stroke:var(--zc-accent,#cf2f62);stroke-width:1.4;stroke-linejoin:round}
.zc-qrf-ring .zc-qrf-in{width:54%;margin-top:8%}
.zc-gc-bank .zc-qrf{align-self:flex-end}

.zc-done-tix{gap:2.4cqw}
.zc-tix{position:relative;display:flex;width:100%;max-width:92cqw;text-align:left;color:#2b2125;filter:drop-shadow(0 1.2cqw 2cqw rgba(16,24,40,.24))}
.zc-tix-main{flex:1;min-width:0;padding:3.6cqw 3.6cqw 3.2cqw 4.4cqw;background:#fffaf2;border-radius:2.4cqw 0 0 2.4cqw;-webkit-mask:radial-gradient(circle 1.8cqw at 100% 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 1.8cqw at 100% 100%,#0000 97%,#000) bottom/100% 51% no-repeat;mask:radial-gradient(circle 1.8cqw at 100% 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 1.8cqw at 100% 100%,#0000 97%,#000) bottom/100% 51% no-repeat}
.zc-tix-stub{flex:0 0 21%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:2cqw;padding:3.6cqw 1.4cqw;color:var(--zt-on,#fff);background:color-mix(in srgb,var(--zc-accent,#cf2f62) 90%,#000);border-radius:0 2.4cqw 2.4cqw 0;border-left:.5cqw dashed rgba(255,250,242,.92);-webkit-mask:radial-gradient(circle 1.8cqw at 0 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 1.8cqw at 0 100%,#0000 97%,#000) bottom/100% 51% no-repeat;mask:radial-gradient(circle 1.8cqw at 0 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 1.8cqw at 0 100%,#0000 97%,#000) bottom/100% 51% no-repeat}
.zc-tix p{margin:0}
.zc-tix-k{font-size:2.2cqw;letter-spacing:.32em;text-transform:uppercase;font-weight:700;color:color-mix(in srgb,var(--zc-accent,#cf2f62) 88%,#000)}
.zc-tix-t{margin:.8cqw 0 2.2cqw!important;font-family:var(--zt-tf,inherit);font-size:4.6cqw;line-height:1.15;font-weight:600}
.zc-tix-row{display:flex;gap:4cqw;padding-top:2cqw;border-top:1px dashed rgba(43,33,37,.28)}
.zc-tix-row div{display:flex;flex-direction:column;gap:.3cqw;min-width:0}
.zc-tix-row div:first-child{flex:1}
.zc-tix-row span{font-size:2cqw;letter-spacing:.16em;text-transform:uppercase;opacity:.72}
.zc-tix-row b{font-size:3.4cqw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zc-tix-see{margin-top:2cqw!important;font-size:2.5cqw;font-style:italic;opacity:.82}
.zc-tix-no{writing-mode:vertical-rl;transform:rotate(180deg);font-weight:800;font-size:3.4cqw;letter-spacing:.14em;white-space:nowrap}
.zc-tix-bar{width:64%;height:11cqw;background:repeating-linear-gradient(0deg,currentColor 0 .35cqw,transparent .35cqw .7cqw,currentColor .7cqw .9cqw,transparent .9cqw 1.5cqw);opacity:.85}

.zc-wav{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:7cqw;height:7cqw;border-radius:50%;overflow:hidden;font-weight:700;font-size:3cqw;line-height:1}
.zc-wav svg{width:100%;height:100%;display:block}
.zc-wish-who{display:flex;align-items:center;gap:1.8cqw}
.zc-wl-cc{display:flex;flex-direction:column;gap:1.2cqw;min-height:0}
.zc-wl-cc-track{flex:0 0 auto;display:flex;gap:2.4cqw;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;margin:0 -4.4cqw;padding:1cqw 4.4cqw 2.4cqw;scroll-padding:0 4.4cqw}
.zc-wl-cc-track::-webkit-scrollbar{display:none}
.zc-wl-cc-track:focus-visible{outline:2px solid var(--zc-accent);outline-offset:2px;border-radius:2cqw}
.zc-wl-cc-item{flex:0 0 44cqw;display:flex;scroll-snap-align:start}
.zc-wl-cc-write{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.6cqw;min-height:34cqw;padding:3cqw;border:1px dashed color-mix(in srgb,var(--zc-accent,#cf2f62) 55%,transparent);border-radius:3cqw;background:color-mix(in srgb,var(--zc-accent,#cf2f62) 8%,var(--zt-in,#fff));color:color-mix(in srgb,var(--zc-accent,#cf2f62) 82%,#000);font:inherit;font-weight:600;font-size:3cqw;cursor:pointer}
.zc-wl-cc-write svg{width:7cqw;height:7cqw}
.zc-wl-cc-write:focus-visible{outline:2px solid var(--zc-accent);outline-offset:2px}
.zc-wl-cc-write:disabled{cursor:default}
.zc-wl-cc .zc-wl-cc-card{flex:1;min-height:34cqw;gap:1.2cqw;border-radius:3cqw;padding:3cqw;background:var(--zt-in,#fff);box-shadow:0 .8cqw 2.4cqw -1cqw rgba(16,24,40,.24),inset 0 0 0 1px rgba(16,24,40,.04)}
.zc-wl-cc-head{display:flex;align-items:center;gap:1.6cqw;min-width:0}
.zc-wl-cc-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zc-wl-cc-text{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;font-size:2.8cqw;line-height:1.5}
.zc-wl-cc-links{margin:0;display:flex;justify-content:flex-end;align-items:center;gap:1.2cqw;font-size:2.6cqw}
.zc-wl-cc-links span{opacity:.5}
.zc-wl-tl{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:3cqw}
.zc-tl-h{margin:0 0 1cqw;display:flex;align-items:center;gap:1.8cqw;font-weight:800;font-size:2.8cqw;letter-spacing:.24em;text-transform:uppercase;color:color-mix(in srgb,var(--zc-accent,#cf2f62) 88%,#000)}
.zt-ondark .zc-tl-h,.zt-dark .zc-tl-h{color:var(--zc-accent)}
.zc-tl-disc{flex:0 0 auto;width:5.4cqw;height:5.4cqw;border-radius:50%;background:radial-gradient(circle,var(--zc-accent,#cf2f62) 0 18%,#1d1a1f 19% 30%,#2e2b30 31% 34%,#1d1a1f 35% 60%,#3a363c 61% 63%,#1d1a1f 64%)}
.zc-tl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.zc-tl-it{display:flex;align-items:flex-start;gap:2.2cqw;padding:2cqw 0;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.zc-tl-it:last-child{border-bottom:0}
.zc-tl-no{flex:0 0 auto;width:5cqw;font-weight:700;font-variant-numeric:tabular-nums;opacity:.55;font-size:2.8cqw;padding-top:.3cqw}
.zc-tl-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3cqw}
.zc-tl-tx strong{font-size:3cqw}
.zc-tl-tx span{font-size:2.7cqw;opacity:.85;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.zc-tl-dur{flex:0 0 auto;font-size:2.5cqw;opacity:.62;font-variant-numeric:tabular-nums;padding-top:.4cqw}
.zc-tl-it .zc-wav{width:6cqw;height:6cqw;font-size:2.6cqw}
.zc-wl-sea{display:flex;flex-direction:column;align-items:center;gap:1.2cqw;flex:1;min-height:0}
.zc-sea{position:relative;width:100%;flex:1;min-height:32cqw;border-radius:3cqw;overflow:hidden;background:linear-gradient(180deg,#eef8fb 0%,#c6e7f1 42%,#7fc4d8 100%)}
.zc-sea-wave{position:absolute;left:0;right:0;bottom:0;height:46%;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20160%2040'%20preserveAspectRatio%3D'none'%3E%3Cpath%20d%3D'M0%2014c20%200%2020-10%2040-10s20%2010%2040%2010%2020-10%2040-10%2020%2010%2040%2010v26H0z'%20fill%3D'%23ffffff'%20fill-opacity%3D'.45'%2F%3E%3Cpath%20d%3D'M0%2022c20%200%2020-8%2040-8s20%208%2040%208%2020-8%2040-8%2020%208%2040%208v18H0z'%20fill%3D'%234fa3bf'%20fill-opacity%3D'.35'%2F%3E%3C%2Fsvg%3E") 0 0/40cqw 100% repeat-x;animation:zc-wave 9s linear infinite}
@keyframes zc-wave{to{background-position:-40cqw 0}}
.zc-btl-w{position:absolute;bottom:20%;transform:translateX(-50%);animation:zc-bob 3.4s ease-in-out calc(var(--i,0) * -.7s) infinite}
@keyframes zc-bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-1.8cqw) rotate(4deg)}}
.zc-btl{display:block;width:8.6cqw;padding:0;border:0;background:none;cursor:pointer;transform:rotate(calc(var(--i,0) * 13deg - 22deg));transition:transform .2s}
.zc-btl:hover:not(:disabled){transform:rotate(0deg) scale(1.08)}
.zc-btl:focus-visible{outline:2px solid #1d4f5c;outline-offset:2px;border-radius:2cqw}
.zc-btl:disabled{cursor:default}
.zc-btl svg{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 .6cqw .6cqw rgba(29,79,92,.3))}
.zc-btl-cork{fill:#c69a6b}
.zc-btl-glass{fill:rgba(255,255,255,.5);stroke:#4f8796;stroke-width:1.4}
.zc-btl-paper{fill:#fff6df;stroke:#d8c7a0;stroke-width:.6}
.zc-btl-ink{fill:none;stroke:var(--zc-accent,#cf2f62);stroke-width:1.2;stroke-linecap:round}
.zc-btl-shine{fill:none;stroke:#fff;stroke-width:1.4;stroke-linecap:round;opacity:.8}
.zc-btl-more{align-self:center}
.zc-letter{padding:16px 18px;border-radius:12px;background:repeating-linear-gradient(transparent 0 27px,rgba(168,132,79,.18) 27px 28px),#fffaf0;color:#3b2e24;font-size:16px;line-height:28px;white-space:pre-wrap;overflow-wrap:anywhere}
.zc-letter p{margin:0}
.zc-letter-sign{text-align:right;font-style:italic;margin-top:6px!important}
@media (prefers-reduced-motion: reduce){.zc-sea-wave,.zc-btl-w{animation:none}}

.zc-mp{width:100%;height:100%;box-sizing:border-box;--mp-acc:var(--zc-accent,#cf2f62);color:#2b2125}
.zc-mp *{box-sizing:border-box}
.zc-mp p{margin:0}
.zc-mp-meta{min-width:0;display:flex;flex-direction:column;gap:.4em}
.zc-mp-title{font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zc-mp-artist,.zc-mp-state{line-height:1.3;opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zc-mp-play{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:var(--mp-acc);color:var(--zt-on,#fff);cursor:pointer;box-shadow:0 .8em 1.8em -.8em color-mix(in srgb,var(--mp-acc) 80%,#000);transition:transform .15s}
.zc-mp-play:active:not(:disabled){transform:scale(.94)}
.zc-mp-play:disabled,.zc-mp-ghost:disabled{cursor:default}
.zc-mp-play svg{width:46%;height:46%}
.zc-mp :focus-visible{outline:2px solid var(--mp-acc);outline-offset:2px}
.zc-mp-disc{position:relative;display:block;width:100%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle at 50% 50%,#19181b 0 1.1%,#2b292d 1.35% 1.8%,#19181b 2% 2.7%);box-shadow:0 1.6em 3em -1.4em rgba(0,0,0,.6),inset 0 0 0 .5em #101012;animation:zc-mp-spin 6s linear infinite;animation-play-state:paused}
.zc-mp-disc::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 30deg,transparent 0 9%,rgba(255,255,255,.13) 13%,transparent 19% 54%,rgba(255,255,255,.09) 59%,transparent 65%);pointer-events:none}
.zc-mp-disc.zc-mp-on{animation-play-state:running}
.zc-mp-label{position:absolute;inset:31%;border-radius:50%;overflow:hidden;background:var(--mp-acc);box-shadow:0 0 0 .4em rgba(255,255,255,.12)}
.zc-mp-label img{width:100%;height:100%;object-fit:cover;display:block}
.zc-mp-label0{display:block;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.4) 0 12%,transparent 13%),conic-gradient(var(--mp-acc),color-mix(in srgb,var(--mp-acc) 55%,#fff),var(--mp-acc))}
.zc-mp-hole{position:absolute;left:50%;top:50%;width:4.5%;height:4.5%;transform:translate(-50%,-50%);border-radius:50%;background:#efefef;box-shadow:inset 0 0 0 .15em #999}
@keyframes zc-mp-spin{to{transform:rotate(360deg)}}
.zc-mp-vinyl{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4em}
.zc-mp-deck{position:relative;width:76em;max-width:88%}
.zc-mp-arm{position:absolute;top:-5em;right:-12em;width:20em;height:45em;transform-origin:75% 11%;transform:rotate(-18deg);transition:transform .8s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 .6em .8em rgba(0,0,0,.35));overflow:visible}
.zc-mp-arm.zc-mp-on{transform:rotate(9deg)}
.zc-mp-arm-base{fill:#e3ded6;stroke:#9c958c;stroke-width:1.5}
.zc-mp-arm-pin{fill:#6d675f}
.zc-mp-arm-rod{fill:none;stroke:#d4cdc2;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.zc-mp-arm-head{fill:#3b3a3e}
.zc-mp-under{display:flex;align-items:center;gap:3.4em;max-width:100%}
.zc-mp-vinyl .zc-mp-play{width:13em;height:13em}
.zc-mp-vinyl .zc-mp-title{font-size:5.2em}
.zc-mp-vinyl .zc-mp-artist{font-size:4em}
.zc-mp-card{display:flex;align-items:center;gap:4em;padding:4em;border-radius:var(--mp-r,5em);background:var(--mp-bg,#fff);box-shadow:0 1.6em 4em -2em rgba(16,24,40,.35),inset 0 0 0 1px rgba(16,24,40,.06)}
.zc-mp-cover{flex:0 0 auto;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#1b1a1d;box-shadow:0 1em 2em -1em rgba(0,0,0,.45)}
.zc-mp-cover img{width:100%;height:100%;object-fit:cover;display:block}
.zc-mp-cover .zc-mp-disc{width:88%;box-shadow:none}
.zc-mp-card .zc-mp-cover{width:24em;height:24em;border-radius:3em}
.zc-mp-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2.2em}
.zc-mp-card .zc-mp-title{font-size:4.6em}
.zc-mp-card .zc-mp-artist{font-size:3.6em}
.zc-mp-card .zc-mp-play{width:15em;height:15em}
.zc-mp-prog{display:flex;flex-direction:column;gap:1.2em}
.zc-mp-bar{display:block;height:1.4em;border-radius:999px;overflow:hidden;background:color-mix(in srgb,currentColor 14%,transparent)}
.zc-mp-bar i{display:block;height:100%;border-radius:inherit;background:var(--mp-acc)}
.zc-mp-range{-webkit-appearance:none;appearance:none;display:block;width:100%;height:1.4em;margin:.6em 0;border-radius:999px;cursor:pointer;background:linear-gradient(var(--mp-acc),var(--mp-acc)) 0/var(--mp-p,0%) 100% no-repeat,color-mix(in srgb,currentColor 14%,transparent)}
.zc-mp-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:3.6em;height:3.6em;border-radius:50%;background:var(--mp-acc);border:.5em solid #fff;box-shadow:0 .3em .8em rgba(0,0,0,.3)}
.zc-mp-range::-moz-range-thumb{width:2.6em;height:2.6em;border-radius:50%;background:var(--mp-acc);border:.5em solid #fff;box-shadow:0 .3em .8em rgba(0,0,0,.3)}
.zc-mp-times{display:flex;justify-content:space-between;font-size:2.8em;opacity:.75;font-variant-numeric:tabular-nums}
.zc-mp-ios{display:flex;flex-direction:column;justify-content:center;gap:3em;padding:5em 5.6em 4em;border-radius:var(--mp-r,6em);background:var(--mp-bg,rgba(250,250,252,.84));-webkit-backdrop-filter:blur(4em) saturate(1.6);backdrop-filter:blur(4em) saturate(1.6);box-shadow:0 2em 5em -2.4em rgba(16,24,40,.42),inset 0 0 0 1px rgba(255,255,255,.75)}
.zc-mp-top{display:flex;align-items:center;gap:4em}
.zc-mp-top .zc-mp-meta{flex:1}
.zc-mp-ios .zc-mp-title{font-size:5em}
.zc-mp-ios .zc-mp-artist{font-size:3.6em}
.zc-mp-ios .zc-mp-cover{width:19em;height:19em;border-radius:2.6em}
.zc-mp-ctrl{display:flex;align-items:center;justify-content:center;gap:9em}
.zc-mp-ghost{display:flex;align-items:center;justify-content:center;width:11em;height:11em;padding:0;border:0;border-radius:50%;background:none;color:inherit;cursor:pointer}
.zc-mp-ghost svg{width:62%;height:62%}
.zc-mp-ghost:hover:not(:disabled){background:color-mix(in srgb,currentColor 8%,transparent)}
.zc-mp-ios .zc-mp-play-ios{width:13em;height:13em;background:none;color:inherit;box-shadow:none}
.zc-mp-ios .zc-mp-play-ios svg{width:78%;height:78%}
.zc-mp-mini{display:flex;align-items:center;gap:3.4em;padding:0 3em 0 2.6em;border-radius:999px;background:var(--mp-bg,#fff);box-shadow:0 1.2em 3em -1.4em rgba(16,24,40,.42),inset 0 0 0 1px rgba(16,24,40,.06)}
.zc-mp-thumb{flex:0 0 auto;width:30em;height:30em;border-radius:50%;overflow:hidden;background:#1b1a1d;animation:zc-mp-spin 8s linear infinite;animation-play-state:paused}
.zc-mp-thumb.zc-mp-on{animation-play-state:running}
.zc-mp-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.zc-mp-thumb .zc-mp-disc{animation:none;box-shadow:none}
.zc-mp-mini .zc-mp-meta{flex:1;gap:.2em}
.zc-mp-mini .zc-mp-state{font-size:6.6em;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:1;color:color-mix(in srgb,var(--mp-acc) 82%,#000)}
.zc-mp-mini .zc-mp-title{font-size:10em}
.zc-mp-mini .zc-mp-play{width:27em;height:27em}
.zc-mp-eq{flex:0 0 auto;display:flex;align-items:flex-end;gap:1.8em;height:15em}
.zc-mp-eq i{width:2.6em;height:100%;border-radius:999px;background:var(--mp-acc);transform-origin:50% 100%;transform:scaleY(.35);animation:zc-mp-eq .9s ease-in-out infinite alternate;animation-play-state:paused}
.zc-mp-eq i:nth-child(2){animation-delay:-.3s;transform:scaleY(.7)}
.zc-mp-eq i:nth-child(3){animation-delay:-.6s;transform:scaleY(.5)}
.zc-mp-eq i:nth-child(4){animation-delay:-.15s;transform:scaleY(.85)}
.zc-mp-eq.zc-mp-on i{animation-play-state:running}
@keyframes zc-mp-eq{from{transform:scaleY(.3)}to{transform:scaleY(1)}}
@media (prefers-reduced-motion: reduce){.zc-mp-disc,.zc-mp-thumb,.zc-mp-eq i{animation:none}.zc-mp-arm{transition:none}}

.zc-poll-q{margin:0;text-align:center;font-size:3.4cqw;font-weight:600;line-height:1.35;font-family:var(--zt-tf,inherit)}
.zc-poll-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.6cqw}
.zc-poll-grid .zc-poll-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.zc-poll-opt{display:flex;align-items:center;gap:2cqw;padding:2.4cqw 3cqw;border-radius:2.4cqw;font-weight:500;background:var(--zt-soft,rgba(0,0,0,.04));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--zc-accent,#cf2f62) 24%,transparent)}
.zc-poll-grid .zc-poll-opt{flex-direction:column;justify-content:center;text-align:center;padding:3cqw 2cqw}
.zc-poll-emo{font-size:5cqw;line-height:1}
.zc-poll-grid .zc-poll-emo{font-size:8cqw}
.zc-poll-img{width:9cqw;height:9cqw;border-radius:2cqw;object-fit:cover}


.zc-sch-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:5cqw;align-items:start}
.zc-sch-c2 .zc-sch-ttl{font-size:3.2cqw}
.zc-sch-c2 .zc-sch-desc{font-size:2.5cqw}
.zc-sch-c2.zc-sch-table .zc-sch-it{grid-template-columns:15cqw minmax(0,1fr)}
.zc-sch-c2.zc-sch-table .zc-sch-time{font-size:3cqw;padding-right:2cqw}
.zc-sch-c2.zc-sch-table .zc-sch-tx>:not(.zc-sch-time){padding-left:2.4cqw}
.zc-sch-c2.zc-sch-table .zc-sch-map{margin-left:2.4cqw}
.zc-sch.zc-sch-steps.zc-sch-st-rows .zc-sch-it::before{display:block}
.zc-sch.zc-sch-steps.zc-sch-st-rows .zc-sch-it.zc-sch-rs::before{display:none}
.zc-sch-steps.zc-sch-st-vertical .zc-sch-list{display:flex;flex-direction:column;align-items:center;gap:5.6cqw}
.zc-sch.zc-sch-steps.zc-sch-st-vertical .zc-sch-it{width:100%;max-width:78cqw}
.zc-sch.zc-sch-steps.zc-sch-st-vertical .zc-sch-it::before{display:block;top:auto;bottom:calc(100% + 1cqw);right:auto;left:50%;width:0;height:3.6cqw;border-top:0;border-left:.4cqw var(--zs-ls,solid) var(--zs-line,color-mix(in srgb,var(--zc-accent) 45%,transparent));transform:translateX(-50%)}
.zc-sch.zc-sch-steps.zc-sch-st-vertical .zc-sch-it:first-child::before{display:none}
.zc-sch-duo .zc-sch-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6cqw 5cqw}
.zc-sch-duo .zc-sch-it{flex-direction:column;align-items:center;text-align:center;gap:2.6cqw}
.zc-sch-duo .zc-sch-it:last-child:nth-child(odd){grid-column:1/-1}
.zc-sch-duo .zc-sch-it:nth-child(even)::before{content:"";position:absolute;left:-2.5cqw;top:6%;bottom:6%;border-left:.4cqw var(--zs-ls,solid) var(--zs-line,color-mix(in srgb,var(--zc-accent,#cf2f62) 40%,transparent))}
.zc-sch-duo-art{position:relative;flex:0 0 auto;width:var(--zs-ic,30cqw);max-width:100%;aspect-ratio:1/1;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--zc-accent,#cf2f62);background:color-mix(in srgb,var(--zc-accent,#cf2f62) 10%,var(--zt-in,#fff));box-shadow:0 0 0 .8cqw var(--zs-bg,var(--zt-bg,#fff)),0 0 0 1.2cqw color-mix(in srgb,var(--zc-accent,#cf2f62) 45%,transparent)}
.zc-sch-duo-art img{display:block;width:100%;height:100%;object-fit:cover}
.zc-sch-duo-art>.zc-sch-tint{width:70%;height:70%}
.zc-sch.zc-sch-duo .zc-sch-duo-art .zc-sch-art-ic{width:100%;height:100%;border-radius:50%;background:none}
.zc-sch-duo .zc-sch-art-ic svg{width:46%;height:46%}
.zc-sch.zc-sch-imgc .zc-sch-duo-img{border-radius:0;background:none;box-shadow:none;overflow:visible}
.zc-sch.zc-sch-imgc .zc-sch-duo-img img{object-fit:contain}
.zc-sch.zc-sch-imgc .zc-sch-duo-img>.zc-sch-tint{width:100%;height:100%}
.zc-sch-duo .zc-sch-tx{align-items:center;padding:0;gap:.8cqw}
.zc-sch-duo .zc-sch-time{font-family:var(--zt-tf,inherit);font-size:6cqw;font-weight:600;letter-spacing:.02em;line-height:1.05}
.zc-sch-duo .zc-sch-ttl{font-size:4.2cqw}
.zc-sch-duo .zc-sch-desc{font-size:2.9cqw}
.zc-sch-duo .zc-sch-place{justify-content:center}
.zc-vn-ic.zc-vn-ic-img{overflow:hidden;width:13cqw;height:13cqw;background:var(--zt-in,#fff);box-shadow:0 0 0 .5cqw var(--zc-accent,#cf2f62)}
.zc-vn-ic-img img{display:block;width:100%;height:100%;object-fit:cover}
.zc-vn-l-list .zc-vn-ic.zc-vn-ic-img{width:11cqw;height:11cqw}
.zc-vn :is(.zc-vn-panel,.zc-vn-l-arch .zc-vn-it,.zc-vn-l-solid .zc-vn-it,.zc-vn-l-signboard .zc-vn-it) .zc-vn-ic.zc-vn-ic-img{width:18cqw;height:18cqw;margin-bottom:1cqw}
:is(.zc-vn-l-solid,.zc-vn-l-signboard) .zc-vn-ic.zc-vn-ic-img{box-shadow:0 0 0 .5cqw currentColor}
.zc-vn-l-arch.zc-vn-nofr .zc-vn-it{box-shadow:none}


.zc-poll-form{display:flex;flex-direction:column;gap:2cqw;flex:none}
.zc-poll-fs{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:1.6cqw}
.zc-poll-hint{margin:-.6cqw 0 0;text-align:center;font-size:2.4cqw;opacity:.65}
.zc-poll .zc-poll-opt{display:block;padding:0;overflow:hidden;position:relative;transition:box-shadow .2s,background-color .2s,transform .15s}
.zc-poll-choice{display:flex;flex-direction:column;gap:1.2cqw;padding:2.4cqw 3cqw;cursor:default;-webkit-tap-highlight-color:transparent}
label.zc-poll-choice{cursor:pointer}
.zc-poll-grid .zc-poll-choice{align-items:stretch;text-align:center;padding:3cqw 2cqw;height:100%;box-sizing:border-box}
.zc-poll-row{display:flex;align-items:center;gap:2cqw;min-width:0}
.zc-poll-grid .zc-poll-row{flex-direction:column;justify-content:center;gap:1.2cqw}
.zc-poll-lbl{flex:1;min-width:0;overflow-wrap:anywhere}
.zc-poll-in{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.zc-poll-mark{flex:none;width:4cqw;height:4cqw;border-radius:50%;box-shadow:inset 0 0 0 .45cqw color-mix(in srgb,var(--zc-accent,#cf2f62) 55%,transparent);position:relative;transition:background-color .2s,box-shadow .2s}
.zc-poll-mark-sq{border-radius:1cqw}
.zc-poll-mark::after{content:"";position:absolute;left:34%;top:18%;width:24%;height:44%;border:solid var(--zt-on,#fff);border-width:0 .55cqw .55cqw 0;transform:rotate(45deg) scale(0);transition:transform .2s cubic-bezier(.3,1.6,.5,1)}
.zc-poll-on .zc-poll-mark,.zc-poll-mine .zc-poll-mark{background:var(--zc-accent,#cf2f62);box-shadow:none}
.zc-poll-on .zc-poll-mark::after,.zc-poll-mine .zc-poll-mark::after{transform:rotate(45deg) scale(1)}
.zc-poll-grid .zc-poll-mark{position:absolute;top:1.6cqw;right:1.6cqw}
.zc-poll .zc-poll-on,.zc-poll .zc-poll-mine{box-shadow:inset 0 0 0 .5cqw var(--zc-accent,#cf2f62);background:color-mix(in srgb,var(--zc-accent,#cf2f62) 9%,var(--zt-soft,transparent))}
.zc-poll .zc-poll-opt:has(.zc-poll-in:focus-visible){outline:2px solid var(--zc-accent,#cf2f62);outline-offset:2px}
.zc-poll .zc-poll-opt:has(label.zc-poll-choice):active{transform:scale(.985)}
@media (hover:hover){.zc-poll .zc-poll-opt:has(label.zc-poll-choice):hover{box-shadow:inset 0 0 0 1px var(--zc-accent,#cf2f62)}.zc-poll .zc-poll-on:hover{box-shadow:inset 0 0 0 .5cqw var(--zc-accent,#cf2f62)}}
.zc-poll-pct{flex:none;font-weight:700;font-variant-numeric:tabular-nums;color:var(--zc-accent,#cf2f62)}
.zc-poll-meter{display:flex;align-items:center;gap:2cqw}
.zc-poll-bar{flex:1;height:1.6cqw;border-radius:99px;background:color-mix(in srgb,var(--zc-accent,#cf2f62) 14%,transparent);overflow:hidden}
.zc-poll-bar i{display:block;height:100%;border-radius:inherit;background:var(--zc-accent,#cf2f62);transform-origin:left;transform:scaleX(var(--p,0));transition:transform .9s cubic-bezier(.22,1,.36,1)}
.zc-poll-cnt{flex:none;font-size:2.3cqw;opacity:.7;font-variant-numeric:tabular-nums}
.zc-poll-grid .zc-poll-meter{flex-direction:column;gap:.8cqw}
.zc-poll-grid .zc-poll-bar{width:100%;flex:none}
.zc-poll-foot{display:flex;flex-direction:column;gap:.6cqw;text-align:center}
.zc-poll-foot:empty{display:none}
.zc-poll-voters{margin:0;font-size:2.4cqw;opacity:.7}
.zc-poll-thanks{margin:0;font-weight:600;font-size:2.8cqw;color:var(--zc-accent,#cf2f62);animation:zc-poll-in .45s cubic-bezier(.22,1,.36,1) both}
.zc-poll-btn{align-self:center;min-width:40%}
.zc-poll .zc-linkbtn{align-self:center}
@keyframes zc-poll-in{from{opacity:0;transform:translateY(1cqw)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.zc-poll-bar i,.zc-poll-mark,.zc-poll-mark::after,.zc-poll .zc-poll-opt{transition:none}.zc-poll-thanks{animation:none}}


.zc-wl-intro{margin:-1cqw 0 0;text-align:center;font-size:2.7cqw;opacity:.8;line-height:1.45}
.zc-wl-list{list-style:none;margin:0;padding:0;display:grid;gap:2cqw;flex:none}
.zc-wl-g .zc-wl-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.zc-wl-it{position:relative;display:flex;gap:2.4cqw;min-width:0;padding:2cqw;border-radius:2.4cqw;background:var(--zt-soft,rgba(0,0,0,.04));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--zc-accent,#cf2f62) 22%,transparent);transition:box-shadow .2s,background-color .2s,opacity .2s}
.zc-wl-g .zc-wl-it{flex-direction:column;text-align:center}
.zc-wl-ph{flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:1.8cqw;background:color-mix(in srgb,var(--zc-accent,#cf2f62) 10%,#fff);color:var(--zc-accent,#cf2f62)}
.zc-wl-g .zc-wl-ph{width:100%;aspect-ratio:1}
.zc-wl-l .zc-wl-ph{width:15cqw;height:15cqw}
.zc-wl-ph img{width:100%;height:100%;object-fit:cover;display:block}
.zc-wl-ic{width:42%;height:42%}
.zc-wl-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.8cqw;justify-content:center}
.zc-wl-g .zc-wl-body{align-items:center;justify-content:flex-start}
.zc-wl-l .zc-wl-body{align-items:flex-start}
.zc-wl-name{font-weight:600;font-size:3cqw;line-height:1.3;overflow-wrap:anywhere}
.zc-wl-note{font-size:2.4cqw;opacity:.72;line-height:1.35;overflow-wrap:anywhere}
.zc-wl-link{font-size:2.4cqw;font-weight:600;color:var(--zc-accent,#cf2f62);text-decoration:none}
.zc-wl-link:hover{text-decoration:underline}
.zc-wl-link:focus-visible{outline:2px solid var(--zc-accent,#cf2f62);outline-offset:2px;border-radius:2px}
.zc-wl-btn{margin-top:.6cqw;padding:1.6cqw 3cqw;font-size:2.5cqw;line-height:1.25}
.zc-wl-g .zc-wl-btn{align-self:stretch}
.zc-wl-act{display:flex;flex-wrap:wrap;align-items:center;gap:.4cqw 1.6cqw;margin-top:.6cqw}
.zc-wl-g .zc-wl-act{justify-content:center}
.zc-wl-badge{display:inline-flex;align-items:center;margin-top:.6cqw;padding:.9cqw 2.2cqw;border-radius:99px;font-size:2.3cqw;font-weight:600;background:rgba(0,0,0,.07);color:inherit;opacity:.85}
.zc-wl-act .zc-wl-badge{margin-top:0}
.zc-wl-badge-mine{background:var(--zc-accent,#cf2f62);color:var(--zt-on,#fff);opacity:1}
.zc-wl .zc-wl-mine{box-shadow:inset 0 0 0 .5cqw var(--zc-accent,#cf2f62);background:color-mix(in srgb,var(--zc-accent,#cf2f62) 9%,var(--zt-soft,transparent))}
.zc-wl .zc-wl-taken :is(.zc-wl-ph,.zc-wl-name,.zc-wl-note){opacity:.55}
.zc-wl .zc-wl-taken .zc-wl-ph img{filter:grayscale(.7)}
.zc-wl-foot{display:flex;flex-direction:column;gap:.6cqw;text-align:center}
.zc-wl-count{margin:0;font-size:2.4cqw;opacity:.7}
@media (prefers-reduced-motion: reduce){.zc-wl-it{transition:none}}


.zc-cp-ph.zc-cp-mk{border-radius:0}
.zc-cp-ph.zc-cp-mk-cut{box-shadow:none;background:color-mix(in srgb,var(--zt-soft,#f6e3ea) 85%,transparent)}
.zc-cp-ph.zc-cp-mk-cut:has(img){background:none}
.zc-poll:has(>.zc-poll-fx){position:relative}
.zc-poll-fx{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:3;border-radius:inherit}
.zc-poll-fx i{position:absolute;left:var(--x);display:block;font-style:normal;will-change:transform,opacity;animation-delay:var(--dl);animation-duration:var(--du);animation-fill-mode:both}
.zc-poll-fx-confetti i{top:-4%;width:calc(1.5cqw * var(--s));height:calc(2.4cqw * var(--s));border-radius:.3cqw;background:var(--c);animation-name:zc-pfx-fall;animation-timing-function:cubic-bezier(.3,.1,.6,1)}
.zc-poll-fx-confetti i:nth-child(3n){border-radius:50%;height:calc(1.5cqw * var(--s))}
.zc-poll-fx-hearts i{bottom:-8%;color:var(--c);font-size:calc(5cqw * var(--s));line-height:1;animation-name:zc-pfx-rise;animation-timing-function:cubic-bezier(.2,.6,.4,1)}
@keyframes zc-pfx-fall{0%{top:-4%;transform:translateX(0) rotate(0);opacity:1}80%{opacity:1}100%{top:104%;transform:translateX(var(--dx)) rotate(var(--r));opacity:0}}
@keyframes zc-pfx-rise{0%{bottom:-8%;transform:translateX(0) rotate(0) scale(.6);opacity:0}15%{opacity:1}70%{opacity:.9}100%{bottom:96%;transform:translateX(var(--dx)) rotate(var(--r)) scale(1);opacity:0}}
@media (prefers-reduced-motion:reduce){.zc-poll-fx{display:none}}


.zc-chips{display:flex;flex-wrap:wrap;gap:1.4cqw}
.zc-chip{position:relative;flex:1 1 auto;min-width:0;padding:1.8cqw 2.8cqw;line-height:1.3;white-space:pre-line;transition:background-color .15s,color .15s,border-color .15s,transform .12s}
.zc-chip::after{content:'';position:absolute;left:0;right:0;top:min(0px,calc((100% - 40px) / 2));bottom:min(0px,calc((100% - 40px) / 2))}
.zc-chips-grid{display:grid}
.zc-chips-grid .zc-chip{padding-left:.6cqw;padding-right:.6cqw}
.zc-chip:active:not(:disabled){transform:scale(.97)}
.zc-chips-segment{flex-wrap:nowrap;gap:.6cqw;padding:.6cqw;border-radius:2.4cqw;background:var(--zt-in,rgba(255,255,255,.9));border:1px solid var(--zt-line,rgba(0,0,0,.14))}
.zc-chips-segment .zc-chip{flex:1 1 0;padding-left:1cqw;padding-right:1cqw;border-radius:1.6cqw}
.zc-chips-segment .zc-chip:not([aria-checked="true"]){background:transparent;border-color:transparent;box-shadow:none}
:is(.zc-w,.zc-sheet) :is(.zc-seg,.zc-chips) .zc-segbtn[aria-checked="true"]{background:var(--zc-accent);border-color:var(--zc-accent);color:var(--zt-on,#fff);font-weight:600}
:is(.zb-soft,.zb-link) :is(.zc-seg,.zc-chips) .zc-segbtn[aria-checked="true"]{background:color-mix(in srgb,var(--zc-accent) 14%,transparent);color:var(--zc-accent)}
.zc-segbtn[aria-checked="false"]:hover:not(:disabled){border-color:color-mix(in srgb,var(--zc-accent) 55%,transparent)}
.zc-chips-radio{gap:.6cqw}
.zc-chips-radio .zc-att-opt{position:relative}
.zc-chips-radio .zc-att-opt::after{content:'';position:absolute;left:0;right:0;top:min(0px,calc((100% - 40px) / 2));bottom:min(0px,calc((100% - 40px) / 2))}

.zc-seg-stacked{flex-direction:column}
.zc-seg-toggle{gap:.6cqw;padding:.6cqw;border-radius:999px;background:var(--zt-in,rgba(255,255,255,.9));border:1px solid var(--zt-line,rgba(0,0,0,.14))}
.zc-seg-toggle .zc-segbtn{border-radius:999px;transition:background-color .2s,color .2s}
.zc-seg-toggle .zc-segbtn:not([aria-checked="true"]){background:transparent;border-color:transparent;box-shadow:none}

.zc-step{display:flex;align-items:center;gap:1cqw;width:min(100%,46cqw);padding:.6cqw;border-radius:2cqw;background:var(--zt-in,rgba(255,255,255,.9));border:1px solid var(--zt-line,rgba(0,0,0,.14))}
.zc-step-btn{position:relative;flex:0 0 auto;display:grid;place-items:center;width:6.8cqw;height:6.8cqw;padding:0;border:0;border-radius:1.4cqw;background:color-mix(in srgb,var(--zc-accent) 15%,transparent);color:inherit;cursor:pointer;transition:background-color .15s,opacity .15s}
.zc-step-btn::after{content:'';position:absolute;left:0;right:0;top:min(0px,calc((100% - 40px) / 2));bottom:min(0px,calc((100% - 40px) / 2));left:min(0px,calc((100% - 40px) / 2));right:min(0px,calc((100% - 40px) / 2))}
.zc-step-btn:hover:not(:disabled){background:color-mix(in srgb,var(--zc-accent) 26%,transparent)}
.zc-step-btn[data-edge]{opacity:.35;cursor:default}
.zc-step-btn svg{width:55%;height:55%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.zc-step-val{flex:1;text-align:center;font-weight:600;font-size:1.15em;font-variant-numeric:lining-nums tabular-nums;border-radius:1cqw;outline:none}
.zc-step-val:focus-visible,.zc-dd-btn:focus-visible,.zc-chips-radio .zc-att-opt:focus-visible{outline:2px solid var(--zc-accent);outline-offset:2px}

.zc-dd{position:relative}
.zc-dd-btn{display:flex;align-items:center;gap:1.6cqw;text-align:left;cursor:pointer}
.zc-dd-btn:disabled{cursor:default}
.zc-dd-val{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zc-dd-val[data-empty]{opacity:.6}
.zc-dd-chev{flex:0 0 auto;width:1.2em;height:1.2em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.7;transition:transform .2s}
.zc-dd[data-open] .zc-dd-chev{transform:rotate(180deg)}
.zc-dd[data-open] .zc-dd-btn{border-color:var(--zc-accent)}
.zc-dd-list{box-sizing:border-box;margin:0;padding:4px;list-style:none;overflow:auto;overscroll-behavior:contain;border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:12px;background:color-mix(in srgb,var(--zc-accent,#cf2f62) 6%,var(--zc-dd-base,#fff));box-shadow:0 14px 34px -10px rgba(0,0,0,.45);line-height:1.3;z-index:60;animation:zc-dd-in .14s ease-out}
.zc-dd-list[popover]{inset:auto;right:auto;height:auto;margin:0}
.zc-dd-inline{position:absolute;left:0;right:0;top:calc(100% + 4px)}
.zc-dd-inline.zc-dd-up{top:auto;bottom:calc(100% + 4px)}
.zc-dd-list li{display:flex;align-items:center;justify-content:space-between;gap:.6em;min-height:40px;padding:.55em .8em;border-radius:8px;cursor:pointer}
.zc-dd-list li[data-active]{background:color-mix(in srgb,currentColor 10%,transparent)}
.zc-dd-list li[aria-selected="true"]{font-weight:600}
.zc-dd-list li svg{flex:0 0 auto;width:1.1em;height:1.1em;fill:none;stroke:var(--zc-accent,#cf2f62);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
@keyframes zc-dd-in{from{opacity:0;transform:translateY(-4px)}}
@media (prefers-reduced-motion:reduce){.zc-dd-list,.zc-chip,.zc-seg-toggle .zc-segbtn{animation:none;transition:none}}

.zc-sheet{-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2)}
.zc-sheet .zc-chip{padding:9px 12px}
.zc-sheet .zc-chips{gap:8px}
.zc-sheet .zc-chips-segment{padding:3px;border-radius:12px}
.zc-sheet .zc-step{width:min(100%,220px);padding:3px;border-radius:12px}
.zc-sheet .zc-step-btn{width:34px;height:34px;border-radius:9px}

.zc-form.zr-dk{--zt-in:rgba(255,255,255,.1);--zt-line:rgba(255,255,255,.34);--zt-ph:rgba(255,255,255,.6)}
.zc-form.zr-in :is(.zc-input,.zc-segbtn:not([aria-checked="true"]),.zc-step,.zc-att-cards .zc-att-opt:not([aria-checked="true"])),.zc-form.zr-in .zc-chips-segment,.zc-form.zr-in .zc-seg-toggle{background:var(--zr-in)}
.zc-form.zr-in .zc-chips-segment .zc-chip:not([aria-checked="true"]),.zc-form.zr-in .zc-seg-toggle .zc-segbtn:not([aria-checked="true"]){background:transparent}
.zc-form.zr-fg :is(.zc-input,.zc-segbtn:not([aria-checked="true"]),.zc-step,.zc-att-cards .zc-att-opt){color:var(--zr-fg)}
.zc-form.zr-act :is(.zc-seg,.zc-chips,.zc-att,.zc-dd){--zc-accent:var(--zr-act);--zt-on:var(--zr-act-on)}
.zc-form.zr-lf .zc-label{font-family:var(--zr-lf)}
.zc-form.zr-s-glass :is(.zc-input,.zc-segbtn:not([aria-checked="true"]),.zc-step,.zc-att-cards .zc-att-opt:not([aria-checked="true"])),.zc-form.zr-s-glass :is(.zc-chips-segment,.zc-seg-toggle){-webkit-backdrop-filter:blur(1.6cqw) saturate(1.3);backdrop-filter:blur(1.6cqw) saturate(1.3);border-color:color-mix(in srgb,currentColor 26%,transparent)}
.zc-form.zr-s-outline :is(.zc-input,.zc-segbtn:not([aria-checked="true"]),.zc-step,.zc-att-cards .zc-att-opt:not([aria-checked="true"])),.zc-form.zr-s-outline :is(.zc-chips-segment,.zc-seg-toggle){background:transparent;border:1px solid color-mix(in srgb,currentColor 42%,transparent);box-shadow:none}
.zc-form.zr-s-outline .zc-segbtn[aria-checked="true"]{border-color:var(--zc-accent)}
.zc-form.zr-s-none .zc-input{background:transparent;border-color:transparent transparent color-mix(in srgb,currentColor 35%,transparent);border-radius:0;box-shadow:none;padding-left:.4cqw;padding-right:.4cqw}
.zc-form.zr-s-none :is(.zc-segbtn:not([aria-checked="true"]),.zc-step,.zc-chips-segment,.zc-seg-toggle,.zc-att-cards .zc-att-opt){background:color-mix(in srgb,currentColor 6%,transparent);border-color:transparent;box-shadow:none}
.zc-form.zr-s-none .zc-chips-segment .zc-chip:not([aria-checked="true"]){background:transparent}
.zc-form.zr-c-square :is(.zc-input,.zc-segbtn,.zc-step,.zc-chips-segment,.zc-seg-toggle,.zc-att-cards .zc-att-opt){border-radius:.6cqw}
.zc-form.zr-c-square .zc-step-btn{border-radius:.4cqw}
.zc-form.zr-c-soft :is(.zc-input,.zc-segbtn,.zc-step,.zc-chips-segment,.zc-seg-toggle,.zc-att-cards .zc-att-opt){border-radius:2cqw}
.zc-form.zr-c-round :is(.zc-input,.zc-segbtn,.zc-step,.zc-chips-segment,.zc-seg-toggle,.zc-step-btn){border-radius:999px}
.zc-form.zr-c-round textarea.zc-input,.zc-form.zr-c-round .zc-att-cards .zc-att-opt{border-radius:4cqw}
.zc-form.zr-c-round .zc-input{padding-left:3.4cqw;padding-right:3.4cqw}
.zc-form.zr-z-sm{gap:1.4cqw}
.zc-form.zr-z-sm :is(.zc-input,.zc-segbtn){padding-top:1.2cqw;padding-bottom:1.2cqw;font-size:.94em}
.zc-form.zr-z-sm .zc-step-btn{width:5.6cqw;height:5.6cqw}
.zc-form.zr-z-lg{gap:2.8cqw}
.zc-form.zr-z-lg :is(.zc-input,.zc-segbtn){padding-top:2.6cqw;padding-bottom:2.6cqw;font-size:1.06em}
.zc-form.zr-z-lg .zc-step-btn{width:8.4cqw;height:8.4cqw}
.zc-form.zr-z-lg .zc-label{font-size:2.8cqw}
.zc-sheet .zc-form.zr-z-sm :is(.zc-input,.zc-segbtn){padding-top:7px;padding-bottom:7px}
.zc-sheet .zc-form.zr-z-lg :is(.zc-input,.zc-segbtn){padding-top:13px;padding-bottom:13px}
.zc-form.zc-form :is(.zc-chips-segment,.zc-seg-toggle) .zc-segbtn:not([aria-checked="true"]){background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.zc-chip,.zc-dd-val,.zc-dd-list{font-variant-numeric:lining-nums}

.zc-bgl{position:absolute;inset:0;overflow:hidden;overflow:clip;pointer-events:none}
.zc-bgl-abs{position:absolute;inset:0;overflow:hidden;overflow:clip}
.zc-bgl-fix{position:sticky;top:0;height:100vh;height:var(--zc-vh,100dvh);overflow:hidden;overflow:clip}
.zc-bgl-img,.zc-bgl-ov,.zc-bgl-pat{position:absolute;inset:0}
.zc-bgl-pat{background-repeat:repeat;background-position:top left}
.zc-bgl-drift{will-change:transform;animation:zc-bgl-drift var(--zc-pdd,40s) linear infinite}
@keyframes zc-bgl-drift{from{transform:translate(0,0)}to{transform:translate(var(--zc-pdx,0px),var(--zc-pdy,0px))}}
@media (prefers-reduced-motion: reduce){.zc-bgl-drift{animation:none}}
.zc-bgl-vp{-webkit-mask-image:radial-gradient(circle at 50% 42%,#000 0,#000 30%,transparent 78%);mask-image:radial-gradient(circle at 50% 42%,#000 0,#000 30%,transparent 78%)}
.zc-dt{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.zc-fade{display:block;width:100%;height:100%}
.zc-tint{display:block;width:100%;height:100%}
.zc-img img.zc-tint-fb{display:none}
@supports not ((mask-image:none) or (-webkit-mask-image:none)){.zc-tint{display:none}.zc-img img.zc-tint-fb{display:block}}
.zc-archf{position:absolute;pointer-events:none;box-sizing:border-box}
.zc-pf{position:relative;width:100%;height:100%;box-sizing:border-box}
.zc-pf-in{position:absolute}
.zc-pf-in>.zc-img,.zc-pf-in>.zc-box,.zc-pf-in>a{width:100%;height:100%;display:block}
.zc-pf-in>.zc-box>.zc-img{width:100%;height:100%}
.zc-pf-sticker>.zc-img,.zc-pf-sticker>.zc-box,.zc-pf-sticker>a{width:100%;height:100%;display:block}
.zc-pf-gl{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 .15cqw rgba(0,0,0,.08),inset 0 .3cqw .8cqw rgba(0,0,0,.12)}
.zc-pf-polaroid{background-image:linear-gradient(160deg,rgba(255,255,255,.5),rgba(0,0,0,.025))}
.zc-pf-cap{position:absolute;left:4%;right:4%;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}
.zc-pf-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.zc-pf-film .zc-pf-in{overflow:hidden}
.zc-pf-tp{position:absolute;pointer-events:none;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 .6cqw,transparent .6cqw 1.6cqw);mask-size:100% 100%;-webkit-mask-size:100% 100%;transform-origin:center;box-shadow:0 .1cqw .3cqw rgba(0,0,0,.08)}
.zc-pf-oval{border-radius:50%;overflow:hidden;box-shadow:inset 0 0 1.4cqw rgba(0,0,0,.35)}
.zc-pf-oval>.zc-img{border-radius:50%}
.zc-pf-vintage{mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;background-image:linear-gradient(170deg,rgba(255,255,255,.35),rgba(120,90,40,.08))}
.zc-pf-vintage .zc-img{filter:sepia(.12) contrast(1.02)}
.zc-pf-matin{position:absolute;box-shadow:inset 0 .25cqw .5cqw rgba(0,0,0,.22)}
.zc-pf-mat .zc-pf-gl{box-shadow:0 0 0 .2cqw rgba(255,255,255,.9),0 0 0 .35cqw rgba(0,0,0,.08)}
/* (S5) look.filter + duotone của album: áp cho từng ảnh (kể cả ảnh nhỏ thumbs, ô lặp), không lên khung / chú thích; xem lớn = ảnh gốc. */
.zc-node[data-gf] img{filter:var(--zc-gf,none)}
.zc-node[data-gf] .z-lb img{filter:none}
.zc-gal-arc .zc-gal-item{aspect-ratio:3/5;box-shadow:inset 0 0 0 .3cqw rgba(255,255,255,.35)}
.zc-gal-arc-rows .zc-gal-item{aspect-ratio:auto;height:100%}
.zc-gal-stg .zc-gal-item{display:block;width:100%;flex:0 0 auto}
.zc-gal-col,.zc-gal-heart{position:relative;width:100%;height:100%}
.zc-gal-print{position:absolute;padding:1.2cqw;background:#fff;box-shadow:0 .6cqw 2.2cqw rgba(30,20,10,.22);box-sizing:border-box;transition:transform .3s}
.zc-gal-print:hover{z-index:40!important}
.zc-gal-col .zc-gal-pi{display:block;width:100%;aspect-ratio:4/5}
.zc-gal-hc{padding:.7cqw}
.zc-gal-rep{display:block;width:100%;height:100%;cursor:default}
.zc-gal-hc .zc-gal-pi{display:block;width:100%;height:100%}
.zc-gal-peekw{width:100%;height:100%}
.zc-gal-peekw .zc-gal-slide{padding-inline:11%;box-sizing:border-box;scroll-padding-inline:11%}
.zc-gal-peekw .zc-gal-slide .zc-gal-item{flex-basis:78%;box-shadow:0 .8cqw 2.4cqw rgba(0,0,0,.16)}
.zc-gal-th{display:flex;flex-direction:column;width:100%;height:100%}
.zc-gal-th-main{position:relative;flex:1;min-height:0;overflow:hidden}
.zc-gal-th-big{display:block;width:100%;height:100%}
.zc-gal-th-big img{animation:zc-gal-in .45s ease}
@keyframes zc-gal-in{from{opacity:.25;transform:scale(1.03)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.zc-gal-th-big img{animation:none}}
.zc-gal-th-full{position:absolute;right:2.4cqw;bottom:2.4cqw;width:max(26px,7.4cqw);height:max(26px,7.4cqw);padding:1.7cqw;border:0;border-radius:50%;background:rgba(255,255,255,.88);color:#2b2125;cursor:pointer;box-shadow:0 .4cqw 1.6cqw rgba(0,0,0,.2);box-sizing:border-box}
.zc-gal-th-count{position:absolute;left:2.4cqw;bottom:2.4cqw;padding:.6cqw 2cqw;border-radius:99px;background:rgba(20,16,14,.5);color:#fff;font:600 2.6cqw/1.2 system-ui,sans-serif;letter-spacing:.04em;pointer-events:none}
.zc-gal-th-strip{display:flex;flex:0 0 auto;overflow-x:auto;scrollbar-width:none;padding:.6cqw .4cqw}
.zc-gal-th-strip::-webkit-scrollbar{display:none}
.zc-gal-th-it{flex:0 0 auto;height:100%;padding:0;border:0;overflow:hidden;cursor:pointer;background:#f3f4f6;opacity:.62;transition:opacity .2s,box-shadow .2s;box-shadow:0 0 0 0 transparent}
.zc-gal-th-it img{width:100%;height:100%;object-fit:cover;display:block}
.zc-gal-th-it[aria-selected="true"]{opacity:1;box-shadow:0 0 0 .5cqw var(--zc-gal-acc)}
.zc-gal-th-it:focus-visible,.zc-gal-th-full:focus-visible{outline:2px solid var(--zc-gal-acc,#cf2f62);outline-offset:2px}
.zc-gal-film{position:relative;width:100%;height:100%;padding:7cqw 2.4cqw;box-sizing:border-box;border-radius:1cqw;overflow:hidden}
.zc-gal-film::before,.zc-gal-film::after{content:"";position:absolute;left:1.2cqw;right:1.2cqw;height:2.4cqw;background:repeating-linear-gradient(90deg,transparent 0 1.3cqw,#f4efe6 1.3cqw 3.5cqw,transparent 3.5cqw 4.8cqw);border-radius:.4cqw;opacity:.92}
.zc-gal-film::before{top:2.3cqw}.zc-gal-film::after{bottom:2.3cqw}
.zc-gal-film-row{display:flex;height:100%;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory}
.zc-gal-film-row::-webkit-scrollbar{display:none}
.zc-gal-film-cell{margin:0;flex:0 0 auto;display:flex;flex-direction:column;gap:1cqw;scroll-snap-align:start;min-width:0}
.zc-gal-film-cell .zc-gal-item{flex:1;min-height:0;display:block;width:100%}
.zc-gal-film-cell figcaption{color:#f2e6cf;font:500 2.5cqw/1.2 'Courier New',monospace;letter-spacing:.08em;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zc-gal-film-v{padding:2.4cqw 7cqw}
.zc-gal-film-v::before,.zc-gal-film-v::after{top:1.2cqw;bottom:1.2cqw;width:2.4cqw;height:auto;background:repeating-linear-gradient(180deg,transparent 0 1.3cqw,#f4efe6 1.3cqw 3.5cqw,transparent 3.5cqw 4.8cqw)}
.zc-gal-film-v::before{left:2.3cqw;right:auto}.zc-gal-film-v::after{left:auto;right:2.3cqw}
.zc-gal-film-v .zc-gal-film-row{flex-direction:column;overflow-x:hidden;overflow-y:auto;scroll-snap-type:y mandatory}
.zc-gal-film-v .zc-gal-film-cell{width:100%}
.zc-gal-film-grid{display:flex;flex-direction:column;width:100%;height:100%}
.zc-gal-film-grid>.zc-gal-film{flex:1 1 0;min-height:0;height:auto}
.zc-gal-lm{position:relative;width:100%;height:100%;overflow-y:auto;scrollbar-width:none}
.zc-gal-lm-grid.zc-gal-grid{height:auto;overflow:visible}
.zc-gal-lm-cut{overflow:hidden}
.zc-gal-lm-cut .zc-gal-lm-grid{-webkit-mask-image:linear-gradient(#000 50%,transparent 92%);mask-image:linear-gradient(#000 50%,transparent 92%)}
.zc-gal-lm-btn{position:absolute;left:50%;bottom:2.4cqw;translate:-50% 0;z-index:1;display:inline-flex;align-items:center;gap:1cqw;padding:1.8cqw 4.4cqw;border:0;border-radius:99px;background:#fff;color:var(--zc-accent,#cf2f62);font:600 3cqw/1.2 system-ui,sans-serif;cursor:pointer;box-shadow:0 .6cqw 2.4cqw rgba(0,0,0,.16);white-space:nowrap}
.zc-gp-booth{display:flex;gap:3cqw;overflow-x:auto;scrollbar-width:none;padding:1cqw 1cqw 3cqw}
.zc-gp-booth::-webkit-scrollbar{display:none}
.zc-gp-bs{flex:0 0 auto;width:30cqw;margin:0;display:flex;flex-direction:column;gap:1.6cqw;padding:2cqw 2cqw 0;background:#fff;box-shadow:0 .8cqw 2.4cqw rgba(30,20,10,.18)}
.zc-gp-bs>.zc-gp-item{width:100%;border-radius:.3cqw}
.zc-gp-bs figcaption{font:400 3.4cqw/1.2 'Dancing Script',cursive;color:#3d3029;text-align:center;padding:1.4cqw 0 2.4cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zc-gp-wall{display:grid;grid-template-columns:repeat(var(--zc-gp-cols,2),minmax(0,1fr));gap:5cqw 3cqw;padding:3cqw 2cqw}
.zc-gp-pol{position:relative;margin:0;padding:2cqw 2cqw 0;background:#fff;box-shadow:0 .8cqw 2.4cqw rgba(30,20,10,.2)}
.zc-gp-pol>.zc-gp-item{width:100%;border-radius:.3cqw}
.zc-gp-pol figcaption{font:400 3.4cqw/1.2 'Dancing Script',cursive;color:#3d3029;text-align:center;padding:1.4cqw 0 2.2cqw;min-height:3.6cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zc-gp-pol::before{content:"";position:absolute;top:-2.2cqw;left:50%;width:14cqw;height:4.4cqw;translate:-50% 0;rotate:-4deg;background:rgba(233,213,170,.85);box-shadow:0 .1cqw .3cqw rgba(0,0,0,.08)}
.zc-gp-pol:nth-child(3n+2)::before{rotate:5deg;background:rgba(244,190,200,.8)}
.zc-gp-pol:nth-child(3n)::before{rotate:-8deg;background:rgba(190,215,226,.82)}
.zc-sel{position:relative;--zc-sel:#0a84ff}
.zc-sel-h{position:absolute;width:.09em;min-width:1.5px;height:1.18em;background:var(--zc-sel);pointer-events:none}
.zc-sel-h::after{content:"";position:absolute;left:50%;width:.36em;height:.36em;min-width:6px;min-height:6px;border-radius:50%;background:var(--zc-sel);translate:-50% 0}
.zc-sel-h1{left:-.05em;top:-.06em}.zc-sel-h1::after{top:-.3em}
.zc-sel-h2{right:-.05em;bottom:-.08em}.zc-sel-h2::after{bottom:-.3em}
.zc-sel-b{position:absolute;left:50%;bottom:calc(100% + .55em);translate:-50% 0;padding:.28em .7em;border-radius:.55em;background:#1c1c1e;color:#fff;font:600 .38em/1.25 -apple-system,'Be Vietnam Pro',system-ui,sans-serif;letter-spacing:.01em;white-space:nowrap;pointer-events:none;box-shadow:0 .3em .9em rgba(0,0,0,.22);-webkit-text-fill-color:#fff;text-shadow:none;-webkit-text-stroke:0}
.zc-sel-b::after{content:"";position:absolute;left:50%;top:100%;translate:-50% 0;border:.42em solid transparent;border-top-color:#1c1c1e;border-bottom:0}
.zc-sel-anim .zc-sel-bg{animation:zc-sel-sweep 1s cubic-bezier(.5,0,.2,1) .35s both}
.zc-sel-anim .zc-sel-h{animation:zc-sel-pop .35s cubic-bezier(.3,1.6,.5,1) 1.25s both}
.zc-sel-anim .zc-sel-b{animation:zc-sel-bub .45s cubic-bezier(.3,1.5,.5,1) 1.55s both}
@keyframes zc-sel-sweep{from{background-size:0% 100%}to{background-size:100% 100%}}
@keyframes zc-sel-pop{from{opacity:0;scale:.2}to{opacity:1;scale:1}}
@keyframes zc-sel-bub{from{opacity:0;scale:.4;translate:-50% .4em}to{opacity:1;scale:1;translate:-50% 0}}
@media (prefers-reduced-motion: reduce){.zc-sel-anim .zc-sel-bg,.zc-sel-anim .zc-sel-h,.zc-sel-anim .zc-sel-b{animation:none}}
.zc-s,.zc-l,.zc-box{width:100%;height:100%;position:relative;box-sizing:border-box}
.zc-ov{position:absolute;inset:0;pointer-events:none;border-radius:inherit}
/* (S5) Khung 9-slice trên ảnh / hình: lớp nền (phần giữa) dưới nội dung, góc + cạnh đè lên trên. */
.zc-fiw{position:relative;width:100%;height:100%;isolation:isolate}
.zc-fi{position:absolute;inset:0;pointer-events:none;box-sizing:border-box}
.zc-fi-b{z-index:-1}
/* (S5, sửa lỗi) Khung trên thẻ tiện ích: lớp góc + cạnh đè trên nền thẻ và nội dung (vẫn bấm xuyên). */
.zc-box>.zc-fi:not(.zc-fi-b){z-index:3}
.zc-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.zc-wd{display:inline-block;white-space:nowrap}
.zc-chb{display:inline-block}
@media (scripting: enabled){
  .zc-root [data-anim]:not(.zc-in) .zc-a{opacity:0}
}
.zc-root [data-anim].zc-in .zc-a{animation:var(--zc-k,none) var(--zc-d,700ms) var(--zc-e,cubic-bezier(.22,1,.36,1)) var(--zc-dl,0ms) backwards}
.zc-root .zc-in .zc-ch{animation:var(--zc-ck,none) var(--zc-cd,1ms) var(--zc-e,ease) calc(var(--zc-dl,0ms) + var(--i,0) * var(--zc-st,0ms)) backwards}
.zc-root [data-loop] .zc-l{animation:var(--zc-lk,none) var(--zc-ld,3s) ease-in-out var(--zc-ldl,0ms) infinite}
.zc-root [data-anim]:not(.zc-in) .zc-l{animation-name:none}
/* (S3) anim.loop.withMusic: chỉ chạy khi nhạc nền đang phát (<html data-zc-music>, audio-state.ts). */
html:not([data-zc-music]) .zc-root [data-lm] .zc-l{animation-play-state:paused}
.zc-pin{display:block;width:100%;height:100%}
@supports (animation-timeline: view()){
  .zc-root [data-scroll] .zc-s{animation-name:var(--zc-sk,none);animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view()}
  /* .zc-img là overflow:hidden (= vùng cuộn riêng) nên view() trên .zc-pin không chạy → mốc theo khung lớp (đặt tên ở .zc-node). */
  .zc-root [data-pin]{view-timeline-name:--zc-pin}
  .zc-root [data-pin] .zc-pin{scale:var(--zc-pxs,1);animation:zc-sc-pin auto linear both;animation-timeline:--zc-pin}
  /* Vẽ dần: đầu nét theo mốc ~60% màn hình — bắt đầu khi mép đầu lớp tới 60% khung nhìn, xong khi mép cuối tới đó. */
  .zc-root [data-draw]{animation:var(--zc-dwk,none) auto linear both;animation-timeline:view();animation-range:cover 40vh cover calc(100% - 60vh)}
  /* (S3) Đã cuộn tới đáy trang (CanvasInteractions) → nét vẽ xong hẳn. */
  .zc-root [data-draw].zc-dw-end{animation:none}
  /* Ghim: mốc theo khung lớp (không dịch chuyển), lớp bọc .zc-hd trượt xuống đúng bằng quãng cuộn. */
  .zc-root [data-hold]{view-timeline-name:var(--zc-hn,--zc-hold)}
  .zc-root [data-hold]>.zc-hd{animation:zc-sc-hold auto linear both;animation-timeline:var(--zc-hn,--zc-hold);animation-range:exit 0% exit var(--zc-hold,0px)}
  /* (S5) anim.scroll.pinAnchor: lớp theo neo không tự đặt mốc — dùng mốc của neo (--zc-hn, animCss); thiếu neo → không ghim. */
  .zc-root [data-hold][data-ha]{view-timeline-name:none}
  /* (S5) anim.scroll.pinVh: lớp ghim cao đúng % khung nhìn (svh — không nhảy khi thanh địa chỉ điện thoại co / giãn). */
  .zc-root .zc-node[data-vh]{height:calc(var(--zc-vh,100) * 1vh)!important;height:calc(var(--zc-vh,100) * 1svh)!important}
}
/* (S5) anim.in.trigger "tap": lớp chờ chạm / bấm / Enter mới chạy hiệu ứng xuất hiện (CanvasInteractions). */
.zc-root [data-tap]{cursor:pointer;-webkit-tap-highlight-color:transparent}
.zc-root [data-tap]:focus{outline:none}
.zc-root [data-tap]:focus-visible{outline:2px solid #cf2f62;outline-offset:2px}
.zc-hd{width:100%;height:100%;position:relative}
/* Ảnh đen trắng → màu (image.colorReveal, S1): "tap" khi chạm / rê / focus; "scroll" theo cuộn (view()), dự phòng .zc-crv-on. */
.zc-crv{filter:grayscale(1);transition:filter 1.4s ease}
.zc-crv.zc-crv-on,.zc-crv-tap:is(:hover,:focus,:focus-within){filter:grayscale(0)}
.zc-crv-tap{cursor:pointer;outline:none}
.zc-crv-tap:focus-visible{outline:2px solid #cf2f62;outline-offset:2px}
@keyframes zc-crv{from{filter:grayscale(1)}to{filter:grayscale(0)}}
@supports (animation-timeline: view()){
  .zc-root .zc-crv-scroll{transition:none;animation:zc-crv auto linear both;animation-timeline:view();animation-range:entry 25% cover 50%}
}
@media (prefers-reduced-motion: reduce){
  .zc-root [data-anim].zc-in .zc-a{animation-name:zc-in-fade!important;animation-timing-function:ease!important}
  .zc-root .zc-l,.zc-root .zc-s,.zc-root .zc-ch,.zc-root .zc-pin{animation:none!important}
  .zc-root [data-pin] .zc-pin{scale:none}
  .zc-root [data-draw],.zc-root .zc-hd{animation:none!important}
  .zc-root .zc-wr-s,.zc-root .zc-wr-w{animation:none!important;stroke-dashoffset:0!important;transform:none!important}
  /* (S5) Chạm mới chạy + giảm chuyển động → hiện sẵn trạng thái cuối, không chờ chạm. */
  .zc-root [data-tap] .zc-a{opacity:1!important;animation:none!important}
}
/* (S3) Viết theo nét (anim.in "write"): mặt nạ = viền chữ vẽ dần ∩ dải quét trái → phải. */
.zc-wr{display:block;width:100%;height:100%;overflow:visible}
.zc-wr-s{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round}
.zc-root [data-anim]:not(.zc-in) .zc-wr-s{stroke-dashoffset:var(--zc-wl)}
.zc-root [data-anim]:not(.zc-in) .zc-wr-w{transform:translateX(-100%)}
.zc-root [data-anim].zc-in .zc-wr-s{animation:zc-wr-s var(--zc-d,700ms) cubic-bezier(.45,.05,.4,1) var(--zc-dl,0ms) backwards}
.zc-root [data-anim].zc-in .zc-wr-w{animation:zc-wr-w var(--zc-d,700ms) cubic-bezier(.45,.05,.4,1) var(--zc-dl,0ms) backwards}
@keyframes zc-wr-s{from{stroke-dashoffset:var(--zc-wl)}}
@keyframes zc-wr-w{from{transform:translateX(-100%)}}
