/* Source geometry: desktop 1440 × 4551; mobile 430 × 5344.
 * Sections remain in normal flow; API results may grow without covering the next section.
 * Scene units scale only the supplied layout, not inferred tablet designs.
 */
:root { color-scheme: light; --dac-navy: #242f65; --dac-cyan: #1bc1cc; --dac-cyan-bright: #35d4da; --dac-surface: #fff; --dac-soft: #eefbfc; --dac-border: #d7edf0; --dac-shadow-sm: 0 8px 24px rgb(25 62 96 / 9%); --dac-shadow-md: 0 18px 45px rgb(25 62 96 / 14%); --dac-ease: cubic-bezier(.22,1,.36,1); }
* { box-sizing: border-box; }
html { scroll-padding-top: 88px; }
body { margin: 0; background: radial-gradient(circle at 50% 0, #f4fdff 0, #fff 38%, #eef8fb 100%); color: var(--dac-navy); font-family: Inter, Arial, sans-serif; }
button, input { font: inherit; }
button, a, input { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
button { cursor: pointer; appearance: none; }
button:disabled { cursor: not-allowed; opacity: .6; }
[hidden] { display: none !important; }
a { color: inherit; }
:focus-visible { outline: 3px solid #f29727; outline-offset: 3px; }
.screen-reader-text, .dac-skip:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.dac-skip:focus { position: fixed; z-index: 100; background: #fff; padding: 12px; }
.dac-home { position: relative; overflow: clip; }
.dac-layout { width: 100%; max-width: 1440px; margin: auto; background: #fff; box-shadow: 0 0 80px rgb(24 60 90 / 8%); container-type: inline-size; --u: calc(100cqw / 1440); }
.dac-layout--mobile { display: none; --u: calc(100cqw / 430); }
.dac-scene { position: relative; height: calc(var(--height) * var(--u)); margin: 0; padding: 0; border: 0; isolation: isolate; box-shadow: inset 0 -1px rgb(36 47 101 / 4%); }
.dac-scene > .dac-layer, .dac-scene > .dac-positioned-form { z-index: 1; }
.dac-scroll-progress { position: fixed; z-index: 70; top: 0; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg, var(--dac-cyan), #67e8d1, var(--dac-navy)); box-shadow: 0 1px 8px rgb(27 193 204 / 45%); pointer-events: none; transform: scaleX(0); transform-origin: left center; }
.dac-scene--header { position: sticky; z-index: 40; top: 0; background: rgb(255 255 255 / 78%); box-shadow: 0 1px 0 rgb(36 47 101 / 5%); backdrop-filter: blur(18px) saturate(170%); transition: box-shadow 240ms ease, background 240ms ease; }
.dac-scene--header.is-scrolled { background: rgb(255 255 255 / 91%); box-shadow: 0 12px 34px rgb(30 65 95 / 12%); }
.dac-scene--header [data-node="2068-87"] img, .dac-scene--header [data-node="2105-539"] img { opacity: .78; }
.dac-scene--header a::before { position: absolute; content: ''; inset: -8px; }
.dac-scene--header a[href^="#"]::after { position: absolute; right: 8%; bottom: calc(-5 * var(--u)); left: 8%; height: 2px; border-radius: 999px; background: linear-gradient(90deg, var(--dac-cyan), var(--dac-navy)); content: ''; transform: scaleX(0); transform-origin: center; transition: transform 220ms var(--dac-ease); }
.dac-scene--header a[href^="#"]:hover::after, .dac-scene--header a[href^="#"].is-active::after { transform: scaleX(1); }
.dac-scene--header [data-node="2068-98"] img, .dac-scene--header [data-node="2105-540"] img { transition: filter 220ms ease, transform 220ms var(--dac-ease); }
.dac-scene--header [data-node="2068-98"]:hover img, .dac-scene--header [data-node="2105-540"]:hover img { filter: drop-shadow(0 7px 12px rgb(27 193 204 / 20%)); transform: translateY(-1px) scale(1.02); }
.dac-layer { position: absolute; display: block; left: calc(var(--x) * var(--u)); top: calc(var(--y) * var(--u)); width: calc(var(--w) * var(--u)); height: calc(var(--h) * var(--u)); margin: 0; padding: 0; text-decoration: none; background: none; }
button.dac-layer { border: 0; }
.dac-layer > img, .dac-text-svg { display: block; width: 100%; height: 100%; overflow: visible; }
.dac-layer > img { object-fit: fill; }
.dac-text-svg { font-family: Inter, Arial, sans-serif; user-select: text; }
.dac-layer[role="heading"] .dac-text-svg { filter: drop-shadow(0 5px 14px rgb(36 47 101 / 8%)); }
.dac-edited-text { display: block; font-size: calc(var(--font) * var(--u)); line-height: calc(var(--line) * var(--u)); overflow-wrap: anywhere; }
.dac-scene--hero { overflow: hidden; }
.dac-scene--hero::after { position: absolute; z-index: 2; inset: 0; background: linear-gradient(105deg, rgb(255 255 255 / 5%), transparent 55%, rgb(27 193 204 / 8%)); content: ''; pointer-events: none; }
.dac-scene--hero > .dac-positioned-form { z-index: 4; }
.dac-scene--hero [data-node="2068-314"] img, .dac-scene--hero [data-node="2105-588"] img { transform: translate3d(0, var(--hero-shift, 0), 0) scale(1.045); transform-origin: center; will-change: transform; }
.dac-motion-ready .dac-scene--hero [data-node="2068-314"] img, .dac-motion-ready .dac-scene--hero [data-node="2105-588"] img { animation: dac-hero-arrive 1100ms var(--dac-ease) both; }
.dac-scene--quy-dinh::after, .dac-scene--tich-diem::after, .dac-scene--tra-cuu::after, .dac-scene--gifts::after, .dac-scene--san-pham::after { position: absolute; z-index: 2; inset: 0; background: radial-gradient(circle 280px at var(--spot-x, 50%) var(--spot-y, 50%), rgb(77 226 231 / 11%), transparent 72%); content: ''; opacity: var(--spot-opacity, 0); pointer-events: none; transition: opacity 250ms ease; }
.dac-motion-ready .dac-motion-item { opacity: 0; transform: translate3d(0, 22px, 0) scale(.987); transition: opacity 620ms var(--dac-ease), transform 620ms var(--dac-ease); transition-delay: var(--reveal-delay, 0ms); will-change: opacity, transform; }
.dac-motion-ready .dac-scene.is-inview .dac-motion-item { opacity: 1; transform: none; will-change: auto; }
.dac-motion-ready .dac-scene.is-inview .dac-motion-item.dac-reveal-side { transform: none; }
@keyframes dac-hero-arrive { from { opacity: .55; transform: translate3d(0, 14px, 0) scale(1.1); } to { opacity: 1; transform: translate3d(0, var(--hero-shift, 0), 0) scale(1.045); } }
.dac-positioned-form { position: absolute; inset: 0; pointer-events: none; }
.dac-positioned-form input, .dac-positioned-form button { pointer-events: auto; }
.dac-input { padding: 0 calc(var(--pad) * var(--u)); font-size: calc(var(--font) * var(--u)); color: #242f65; border: 1px solid #b4b4b4; background: #fff; border-radius: calc(8 * var(--u)); box-shadow: none; appearance: none; transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease; }
.dac-input::placeholder { color: #8b8b8b; opacity: 1; }
.dac-input:hover { border-color: rgb(27 193 204 / 65%); }
.dac-input:focus { border-color: var(--dac-cyan); outline: 0; background: #fff; box-shadow: 0 0 0 4px rgb(27 193 204 / 15%), 0 12px 28px rgb(25 62 96 / 12%); }
.dac-submit { display: inline-flex; align-items: center; justify-content: center; gap: calc(8 * var(--u)); overflow: hidden; padding: 0 calc(8 * var(--u)); border: 0; font-size: calc(var(--font) * var(--u)); line-height: 1.15; white-space: nowrap; border-radius: calc(8 * var(--u)); background: linear-gradient(110deg, #18b8c4, #32ced2); box-shadow: 0 10px 24px rgb(27 193 204 / 23%); appearance: none; transition: filter 180ms ease, transform 180ms var(--dac-ease), box-shadow 180ms ease, background 180ms ease; }
.dac-scene--tich-diem .dac-submit { background: linear-gradient(110deg, #20295d, #324287); box-shadow: 0 10px 24px rgb(36 47 101 / 22%); }
.dac-submit::before { position: absolute; top: -80%; bottom: -80%; left: -35%; width: 24%; background: linear-gradient(90deg, transparent, rgb(255 255 255 / 48%), transparent); content: ''; opacity: 0; transform: rotate(18deg); }
.dac-submit:hover:not(:disabled) { filter: brightness(1.03); transform: translateY(-2px); box-shadow: 0 15px 30px rgb(27 193 204 / 28%); }
.dac-submit:hover:not(:disabled)::before { opacity: 1; animation: dac-button-shine 650ms ease-out; }
.dac-submit:active:not(:disabled) { transform: translateY(0) scale(.985); }
.dac-positioned-form[aria-busy=true] .dac-submit { cursor: wait; filter: saturate(.72); }
.dac-submit.is-loading, .dac-action.is-loading { opacity: 1; }
.dac-submit.is-error, .dac-action.is-error { background: linear-gradient(110deg, #b42318, #d92d20); box-shadow: 0 10px 24px rgb(180 35 24 / 22%); }
.dac-spinner { display: inline-block; flex: 0 0 auto; width: 16px; height: 16px; border: 2px solid rgb(255 255 255 / 45%); border-top-color: currentColor; border-radius: 50%; animation: dac-spin 700ms linear infinite; }
@keyframes dac-button-shine { from { left: -35%; } to { left: 118%; } }
@keyframes dac-spin { to { transform: rotate(360deg); } }
[data-products]::after { content: ''; position: absolute; inset: -10px; }
[data-products] { padding: 0; border: 0; border-radius: 50%; background: transparent; box-shadow: none; appearance: none; transition: transform 180ms ease, filter 180ms ease, background 180ms ease; }
[data-products]:hover { background: rgb(255 255 255 / 70%); filter: brightness(.92) drop-shadow(0 8px 12px rgb(36 47 101 / 18%)); transform: scale(1.08); }
[data-products]:active { transform: scale(.94); }
.dac-product-arrow-svg { display: block; width: 100%; height: 100%; overflow: visible; color: #787878; }
.dac-product-arrow-svg circle, .dac-product-arrow-svg path { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.dac-product-track-item { will-change: transform; }
.dac-product-track-clone { z-index: 1; pointer-events: none; }
.dac-product-track-clone > img { border-radius: calc(14 * var(--u)); box-shadow: 0 13px 34px rgb(24 61 93 / 14%); }
.dac-product-slide { z-index: 1; opacity: 1; transform: none; }
.dac-product-more-link { z-index: 3; display: flex; align-items: center; justify-content: center; gap: calc(7 * var(--u)); color: #072766; font-weight: 600; text-decoration: none; }
.dac-product-more-link:not(.dac-product-more-link--desktop)::before { position: absolute; inset: calc(-11 * var(--u)) 0; content: ''; }
.dac-product-more-link svg { flex: 0 0 auto; width: calc(18 * var(--u)); height: calc(18 * var(--u)); fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: transform 180ms var(--dac-ease); }
a.dac-product-more-link:hover svg { transform: translate(calc(2 * var(--u)), calc(-2 * var(--u))); }
.dac-product-more-link.is-disabled { opacity: .5; cursor: default; }
.dac-product-more-link--desktop { position: absolute; top: calc(350 * var(--u)); left: 50%; min-width: calc(154 * var(--u)); min-height: calc(42 * var(--u)); padding: 0 calc(20 * var(--u)); border: 1px solid rgb(7 39 102 / 22%); border-radius: 999px; background: #fff; box-shadow: 0 9px 24px rgb(24 61 93 / 10%); font-size: calc(16 * var(--u)); transform: translateX(-50%); transition: color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms var(--dac-ease); }
a.dac-product-more-link--desktop:hover { border-color: var(--dac-cyan); box-shadow: 0 13px 28px rgb(24 61 93 / 15%); transform: translate(-50%, calc(-2 * var(--u))); }
.dac-scene--san-pham { overflow: hidden; perspective: 1100px; }
.dac-scene--san-pham::before { position: absolute; z-index: 2; top: calc(140 * var(--u)); right: 0; left: 0; height: calc(190 * var(--u)); background: linear-gradient(90deg, #fff 0 calc(185 * var(--u)), transparent calc(185 * var(--u)) calc(1255 * var(--u)), #fff calc(1255 * var(--u))); content: ''; pointer-events: none; }
.dac-scene--san-pham [data-products] { z-index: 3; }
.dac-scene--san-pham [data-node="2082-416"] img, .dac-scene--san-pham [data-node="2082-415"] img, .dac-scene--san-pham [data-node="2082-417"] img, .dac-scene--san-pham [data-node="2082-418"] img, .dac-scene--san-pham [data-node="2082-420"] img, .dac-scene--san-pham [data-node="2106-767"] img, .dac-scene--san-pham [data-node="2122-12"] img { border-radius: calc(14 * var(--u)); box-shadow: 0 13px 34px rgb(24 61 93 / 14%); transition: transform 260ms var(--dac-ease), box-shadow 260ms ease; }
.dac-scene--san-pham :is([data-node="2082-416"],[data-node="2082-415"],[data-node="2082-417"],[data-node="2082-418"],[data-node="2082-420"],[data-node="2106-767"],[data-node="2122-12"]):hover > img { box-shadow: 0 20px 42px rgb(24 61 93 / 20%); transform: translateY(calc(-5 * var(--u))) scale(1.012); }
.dac-scene--the-le [data-node="2093-114"] img, .dac-scene--the-le [data-node="2105-605"] img { border-radius: calc(18 * var(--u)); box-shadow: var(--dac-shadow-md); }
.dac-scene--quy-dinh [data-node="2068-357"] > img, .dac-scene--quy-dinh [data-node="2068-355"] > img, .dac-scene--quy-dinh [data-node="2082-401"] > img, .dac-scene--quy-dinh [data-node="2068-358"] > img, .dac-scene--quy-dinh [data-node="2105-609"] > img, .dac-scene--quy-dinh [data-node="2105-624"] > img, .dac-scene--quy-dinh [data-node="2105-629"] > img, .dac-scene--quy-dinh [data-node="2105-630"] > img { filter: drop-shadow(0 10px 18px rgb(24 61 93 / 9%)); }
.dac-receive-card { --receive-radius: 16; isolation: isolate; }
.dac-receive-card-surface { display: block; width: 100%; height: 100%; border: 2px solid var(--receive-stroke); border-radius: calc(var(--receive-radius) * var(--u)); background: var(--receive-bg); background-clip: padding-box; }
.dac-scene--nhan-qua :is([data-node="2082-387"],[data-node="2106-746"]) { --receive-bg: #e4f7ff; --receive-stroke: #58bfff; }
.dac-scene--nhan-qua :is([data-node="2082-388"],[data-node="2106-760"]) { --receive-bg: #edfeff; --receive-stroke: #23c4cc; }
.dac-scene--nhan-qua :is([data-node="2106-746"],[data-node="2106-760"]) { --receive-radius: 10; }
.dac-scene--tich-diem [data-node="2068-88"] img, .dac-scene--tich-diem [data-node="2068-89"] img, .dac-scene--tich-diem [data-node="2105-641"] img, .dac-scene--tich-diem [data-node="2105-656"] img { filter: drop-shadow(0 14px 30px rgb(24 61 93 / 12%)); }
.dac-scene--account { height: auto; min-height: calc(var(--height) * var(--u)); padding: calc(34 * var(--u)) calc(158 * var(--u)) calc(15 * var(--u)); }
.dac-account-copy { min-height: calc(99 * var(--u)); padding: calc(15 * var(--u)) calc(20 * var(--u)); border: 1px solid rgb(27 193 204 / 20%); border-radius: calc(16 * var(--u)); background: linear-gradient(120deg, rgb(238 251 252 / 88%), rgb(255 255 255 / 92%)); box-shadow: var(--dac-shadow-sm); }
.dac-account-copy p { margin: 0 0 calc(10 * var(--u)); }
.dac-welcome { color: var(--dac-cyan); font-size: calc(30 * var(--u)); font-weight: 600; }
[data-balance] { font-size: calc(16 * var(--u)); }
.dac-history { width: calc(690 * var(--u)); margin: 0 auto; }
.dac-history h2 { font-size: calc(32 * var(--u)); font-weight: 600; line-height: calc(63 * var(--u)); text-align: center; margin: 0 0 calc(15 * var(--u)); }
.dac-history-scroll { max-height: calc(280 * var(--u)); overflow: auto; border: 1px solid var(--dac-border); border-radius: calc(13 * var(--u)); background: #fff; box-shadow: var(--dac-shadow-sm); }
.dac-history table { border-collapse: collapse; table-layout: fixed; width: 100%; color: #333; font-size: calc(16 * var(--u)); }
.dac-history th, .dac-history td { border: 1px solid #d6e2e7; padding: calc(12 * var(--u)); height: calc(65 * var(--u)); text-align: center; }
.dac-history th { background: linear-gradient(110deg, #19b8c4, #31ccd1); color: white; height: calc(45 * var(--u)); font-size: calc(18 * var(--u)); font-weight: 600; }
.dac-scene--gifts { height: auto; min-height: calc(var(--height) * var(--u)); }
.dac-live-catalogue { padding: calc(16 * var(--u)) calc(183 * var(--u)) calc(60 * var(--u)); }
.dac-live-head { display: flex; align-items: center; justify-content: space-between; gap: calc(20 * var(--u)); margin-bottom: calc(31 * var(--u)); }
.dac-live-catalogue h2 { font-size: calc(24 * var(--u)); margin: 0; font-weight: 600; }
.dac-gift-navigation { display: flex; gap: calc(4 * var(--u)); }
.dac-gift-arrow { display: grid; width: 44px; height: 44px; padding: 0; border: 0; place-items: center; color: #767f84; background: transparent; border-radius: 50%; box-shadow: none; transition: color 180ms ease, transform 180ms ease, background 180ms ease; }
.dac-gift-arrow svg { display: block; width: 44px; height: 44px; overflow: visible; }
.dac-gift-arrow circle, .dac-gift-arrow path { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.dac-gift-arrow:hover:not(:disabled) { color: var(--dac-navy); background: rgb(238 251 252 / 75%); transform: translateY(-1px) scale(1.03); }
.dac-gift-arrow:disabled { cursor: not-allowed; opacity: .32; }
.dac-live-gifts-viewport { width: 100%; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-inline: contain; }
.dac-live-gifts-viewport::-webkit-scrollbar { display: none; }
.dac-live-gifts { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - calc(120 * var(--u))) / 5); gap: calc(30 * var(--u)); }
.dac-gift-prompt { grid-column: 1 / -1; width: calc(1074 * var(--u)); min-height: calc(260 * var(--u)); display: grid; place-items: center; margin: 0; border: 1px dashed #9dabb7; border-radius: calc(14 * var(--u)); color: #68737d; text-align: center; padding: calc(20 * var(--u)); }
.dac-gift-prompt--loading { grid-auto-flow: column; justify-content: center; gap: 12px; }
.dac-gift-prompt--loading .dac-spinner { color: var(--dac-cyan); border-color: rgb(27 193 204 / 24%); border-top-color: currentColor; }
.dac-gift-prompt--error { align-content: center; gap: 16px; border-color: rgb(180 35 24 / 45%); color: #912018; }
.dac-gift-prompt--error .dac-action { width: auto; margin: 0; }
.dac-gift { min-width: 0; display: flex; flex-direction: column; padding: calc(10 * var(--u)); border: 1px solid rgb(215 237 240 / 86%); border-radius: calc(15 * var(--u)); background: rgb(255 255 255 / 96%); box-shadow: 0 9px 25px rgb(24 61 93 / 8%); color: #242f65; scroll-snap-align: start; transition: border-color 240ms ease, box-shadow 240ms ease, transform 240ms var(--dac-ease); }
.dac-gift:hover { border-color: rgb(27 193 204 / 38%); box-shadow: 0 18px 38px rgb(24 61 93 / 14%); transform: translateY(calc(-5 * var(--u))); }
.dac-gift-image { position: relative; overflow: hidden; height: calc(220 * var(--u)); border-radius: calc(12 * var(--u)); background: linear-gradient(145deg, #f3fafb, #e4f5f5); display: grid; place-items: center; margin-bottom: calc(21 * var(--u)); }
.dac-gift-image::after { position: absolute; inset: 0; background: linear-gradient(125deg, transparent 38%, rgb(255 255 255 / 55%) 50%, transparent 62%); content: ''; opacity: 0; transform: translateX(-75%); transition: opacity 180ms ease, transform 520ms var(--dac-ease); pointer-events: none; }
.dac-gift:hover .dac-gift-image::after { opacity: 1; transform: translateX(75%); }
.dac-gift-image img { max-width: 85%; max-height: 85%; object-fit: contain; filter: drop-shadow(0 10px 10px rgb(36 47 101 / 10%)); transition: transform 260ms var(--dac-ease); }
.dac-gift:hover .dac-gift-image img { transform: scale(1.035); }
.dac-gift-image span { font-size: calc(14 * var(--u)); color: #666; }
.dac-gift h3 { font-size: calc(14 * var(--u)); line-height: 1.4; min-height: 2.8em; margin: 0 0 calc(10 * var(--u)); text-transform: uppercase; }
.dac-gift p { font-size: calc(12 * var(--u)); color: #777; margin: 0 0 calc(12 * var(--u)); }
.dac-gift strong { font-size: calc(18 * var(--u)); color: #333; }
.dac-gift button { margin-top: auto; min-height: calc(34 * var(--u)); border: 1px solid var(--dac-cyan); border-radius: calc(7 * var(--u)); background: linear-gradient(110deg, #19b9c5, #30cdd2); box-shadow: 0 7px 16px rgb(27 193 204 / 18%); color: #fff; font-size: calc(10.5 * var(--u)); line-height: 1.25; padding: calc(6 * var(--u)); text-transform: uppercase; white-space: normal; transition: color 180ms ease, background 180ms ease, transform 180ms ease, box-shadow 180ms ease; }
.dac-gift button:hover:not(:disabled) { background: #fff; color: var(--dac-navy); transform: translateY(-1px); }
.dac-gift button:disabled { background: #fff; border-color: #888; box-shadow: none; color: #666; cursor: not-allowed; opacity: 1; }
.dac-social-link { border-radius: 50%; transition: transform 180ms ease, filter 180ms ease; }
a.dac-social-link:hover { filter: brightness(1.12); transform: translateY(calc(-2 * var(--u))) scale(1.06); }
.dac-social-link.is-unlinked { cursor: default; }
.dac-dialog { position: fixed; inset: 0; width: min(500px, calc(100vw - 32px)); max-width: none; height: fit-content; max-height: calc(100dvh - 32px); margin: auto; border: 1px solid rgb(255 255 255 / 78%); border-radius: 24px; padding: 32px; color: #242f65; background: rgb(255 255 255 / 97%); box-shadow: 0 30px 90px rgb(8 35 65 / 32%); overflow: auto; backdrop-filter: blur(18px); }
.dac-dialog[open] { animation: dac-dialog-in 260ms var(--dac-ease) both; }
.dac-dialog::backdrop { background: rgb(12 31 56 / 58%); backdrop-filter: blur(6px); }
@keyframes dac-dialog-in { from { opacity: 0; transform: translateY(14px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
.dac-dialog-close { position: absolute; z-index: 2; top: 6px; right: 6px; display: grid; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; place-items: center; color: #5f6887; background: transparent; transition: color 180ms ease, background 180ms ease; }
.dac-dialog-close:hover { color: var(--dac-navy); background: #eef8fa; }
.dac-dialog-close svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.dac-dialog h2 { margin-top: 8px; font-size: 24px; }
.dac-dialog p { line-height: 1.6; }
.dac-dialog form { display: grid; gap: 16px; }
.dac-dialog label { display: grid; gap: 8px; }
.dac-dialog input { width: 100%; min-height: 44px; border: 1px solid #a5adb6; border-radius: 6px; padding: 10px 12px; }
.dac-action { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 18px; border: 0; border-radius: 9px; background: linear-gradient(110deg, #19b9c5, #30cdd2); box-shadow: 0 9px 20px rgb(27 193 204 / 22%); color: #fff; text-align: center; transition: transform 180ms var(--dac-ease), box-shadow 180ms ease, filter 180ms ease, background 180ms ease; }
.dac-action:hover:not(:disabled) { filter: brightness(1.03); box-shadow: 0 13px 26px rgb(27 193 204 / 28%); transform: translateY(-2px); }
.dac-action:active:not(:disabled) { transform: scale(.985); }
.dac-action--secondary { border: 1px solid #cfe4e8; background: #edf7f9; box-shadow: none; color: #242f65; }
.dac-result { text-align: center; }
.dac-result-icon { display: block; width: 64px; height: 64px; margin: 0 auto 18px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.dac-result--success .dac-result-icon { color: #0796a0; }
.dac-result--error .dac-result-icon { color: #b42318; }
.dac-result h2 { margin: 0 28px 10px; color: var(--dac-navy); }
.dac-result--error h2 { color: #8f1d17; }
.dac-result-message { margin: 0 auto 20px; max-width: 390px; color: #4f5876; overflow-wrap: anywhere; }
.dac-result-balance { display: grid; gap: 2px; margin: 4px 0 24px !important; color: #087f89; font-size: clamp(34px, 9vw, 48px); font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.1 !important; }
.dac-result-balance span { color: #5c657f; font-size: 14px; font-weight: 500; }
.dac-result-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.dac-status { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); width: max-content; max-width: calc(100% - 32px); z-index: 99; border: 1px solid rgb(255 255 255 / 18%); background: rgb(36 47 101 / 94%); box-shadow: 0 14px 40px rgb(9 26 55 / 28%); color: #fff; padding: 14px 20px; border-radius: 12px; backdrop-filter: blur(12px); animation: dac-toast-in 240ms var(--dac-ease) both; }
@keyframes dac-toast-in { from { opacity: 0; transform: translate(-50%, 12px); } to { opacity: 1; transform: translate(-50%, 0); } }
.dac-basic-page, .dac-basic-header, .dac-basic-footer { max-width: 1120px; margin: 24px auto; padding: 0 20px; }
@media (max-width: 1023px) {
    .dac-layout--desktop { display: none; }
    .dac-layout--mobile { display: block; }
    html { scroll-padding-top: 72px; }
    .dac-layout--mobile .dac-input, .dac-layout--mobile .dac-submit { min-height: 44px; }
    .dac-layout--mobile .dac-input { font-size: 16px; }
    .dac-layout--mobile .dac-scene--header a::before { inset: -10px; }
    .dac-layout--mobile .dac-scene--tich-diem .dac-submit { background: #072766; }
    .dac-scene--account { padding: calc(18 * var(--u)) calc(16 * var(--u)) calc(8 * var(--u)); }
    .dac-account-copy { min-height: calc(70 * var(--u)); padding: calc(10 * var(--u)) calc(12 * var(--u)); }
    .dac-welcome { font-size: calc(16 * var(--u)); }
    [data-balance] { font-size: calc(14 * var(--u)); }
    .dac-history { width: 100%; }
    .dac-history h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .dac-history table, .dac-history th { font-size: calc(14 * var(--u)); }
    .dac-history th, .dac-history td { padding: calc(5 * var(--u)); height: calc(40 * var(--u)); }
    .dac-history th { height: calc(24 * var(--u)); }
    .dac-live-catalogue { padding: calc(8 * var(--u)) calc(16 * var(--u)) calc(50 * var(--u)); }
    .dac-live-head { margin-bottom: calc(21 * var(--u)); }
    .dac-live-catalogue h2 { font-size: calc(16 * var(--u)); }
    .dac-gift-navigation { gap: 0; }
    .dac-live-gifts { grid-auto-columns: calc((100% - calc(15 * var(--u))) / 2); gap: calc(15 * var(--u)); }
    .dac-gift-prompt { width: calc(398 * var(--u)); min-height: calc(300 * var(--u)); }
    .dac-gift button { min-height: 44px; }
    .dac-gift { padding: calc(8 * var(--u)); border-radius: calc(13 * var(--u)); }
    .dac-gift-image { height: calc(205 * var(--u)); margin-bottom: calc(16 * var(--u)); }
    .dac-scene--san-pham::before { top: calc(112 * var(--u)); height: calc(328 * var(--u)); background: linear-gradient(90deg, #fff 0 calc(16 * var(--u)), transparent calc(16 * var(--u)) calc(414 * var(--u)), #fff calc(414 * var(--u))); }
    .dac-product-more-link:not(.dac-product-more-link--desktop) { font-size: calc(16 * var(--u)); }
    .dac-dialog { width: min(460px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 28px 20px 20px; border-radius: 20px; }
    .dac-dialog h2 { font-size: 21px; }
    .dac-result-icon { width: 56px; height: 56px; margin-bottom: 14px; }
    .dac-result-actions { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
    .dac-motion-ready .dac-motion-item { opacity: 1 !important; transform: none !important; }
    .dac-scene--hero [data-node="2068-314"] img, .dac-scene--hero [data-node="2105-588"] img { transform: none !important; }
}
