:root { --gmk-gold: #ead08a; --gmk-ivory: #f4efe2; --gmk-violet: #9b63ef; }
html.gmk-gift-system-open, html.gmk-gift-system-open body { overflow: hidden; }

.gmk-gift-launch { position: fixed; z-index: 8600; right: max(20px, env(safe-area-inset-right)); bottom: max(22px, env(safe-area-inset-bottom)); display: flex; align-items: center; gap: 11px; min-height: 54px; padding: 6px 18px 6px 7px; border: 1px solid rgba(232,201,122,.62); border-radius: 999px; color: #f7e8bd; background: linear-gradient(135deg,rgba(36,28,38,.96),rgba(9,9,14,.98)); box-shadow: 0 16px 46px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.08); cursor: pointer; font-family: "Noto Sans SC","PingFang SC",sans-serif; transition: transform .24s ease,border-color .24s ease,box-shadow .24s ease; }
.gmk-gift-launch:hover { transform: translateY(-3px); border-color: rgba(255,229,157,.96); box-shadow: 0 20px 52px rgba(0,0,0,.62),0 0 34px rgba(138,80,217,.22); }
.gmk-gift-launch__sigil { position: relative; display: grid; place-items: center; width: 40px; height: 40px; flex: none; border: 1px solid rgba(220,190,121,.44); border-radius: 50%; background: radial-gradient(circle,rgba(133,67,209,.48),rgba(14,12,19,.9) 68%); box-shadow: inset 0 0 16px rgba(180,137,222,.18); }
.gmk-gift-launch__sigil::before,.gmk-gift-launch__sigil::after { content: ""; position: absolute; width: 15px; height: 20px; border-radius: 75% 25% 70% 30%; background: linear-gradient(145deg,rgba(202,151,255,.86),rgba(108,53,174,.12)); transform: translateX(-5px) rotate(-28deg); transform-origin: bottom; }
.gmk-gift-launch__sigil::after { transform: translateX(5px) rotate(28deg) scaleX(-1); }
.gmk-gift-launch__sigil i { display: none; }
.gmk-gift-launch__copy { font-size: 13px; line-height: 1.15; letter-spacing: .08em; text-align: left; }
.gmk-gift-launch__copy small { display: block; margin-bottom: 4px; color: rgba(211,192,149,.6); font-size: 8px; letter-spacing: .22em; }

.gmk-gift-launch:focus-visible,.gmk-gift-close:focus-visible,.gmk-gift-card:focus-visible,.gmk-gift-send:focus-visible,.gmk-gift-performance__close:focus-visible { outline: 2px solid #f1d58f; outline-offset: 3px; }
.gmk-gift-picker { position: fixed; z-index: 30000; inset: 0; display: grid; place-items: center; padding: 18px; opacity: 0; visibility: hidden; transition: opacity .28s ease,visibility 0s linear .28s; isolation: isolate; }
.gmk-gift-picker.is-open { opacity: 1; visibility: visible; transition-delay: 0s; }
.gmk-gift-picker__scrim { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: radial-gradient(ellipse at 68% 25%,rgba(91,44,147,.2),transparent 44%),rgba(3,4,7,.8); backdrop-filter: blur(11px) saturate(.72); cursor: default; }
.gmk-gift-picker__panel { --gift-header-height: 92px; position: relative; width: min(95vw,980px); height: min(92vh,720px); max-height: min(92vh,720px); overflow: hidden; border: 1px solid rgba(230,201,132,.34); border-radius: 26px; color: var(--gmk-ivory); background: linear-gradient(145deg,rgba(25,20,31,.985),rgba(7,8,12,.995) 58%),#090a0d; box-shadow: 0 42px 120px rgba(0,0,0,.8),inset 0 1px rgba(255,255,255,.07); transform: translateY(28px) scale(.975); opacity: 0; transition: transform .42s cubic-bezier(.18,.79,.18,1),opacity .28s ease; }
.gmk-gift-picker__panel::before { content: ""; position: absolute; z-index: 0; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 18% 42%,rgba(129,65,190,.17),transparent 36%),linear-gradient(115deg,transparent 58%,rgba(220,186,108,.035)); }
.gmk-gift-picker.is-open .gmk-gift-picker__panel { transform: none; opacity: 1; }
.gmk-gift-picker__header { position: relative; z-index: 2; display: flex; align-items: center; min-height: 92px; padding: 13px 20px 12px 25px; border-bottom: 1px solid rgba(230,205,147,.12); }
.gmk-gift-kicker { display: block; margin-bottom: 5px; color: rgba(204,185,144,.54); font: 500 8px/1 "Noto Sans SC",sans-serif; letter-spacing: .3em; }
.gmk-gift-picker__header h2 { margin: 0; color: #efe0b9; font: 400 24px/1.18 "Songti SC","Noto Serif SC",serif; letter-spacing: .13em; }
.gmk-gift-recipient { display: flex; align-items: center; gap: 7px; margin: 7px 0 0; color: rgba(239,233,216,.65); font: 400 10px/1.2 "Noto Sans SC",sans-serif; letter-spacing: .04em; }
.gmk-gift-recipient span { color: rgba(211,196,160,.46); }.gmk-gift-recipient strong { color: #f2dca4; font-weight: 600; }.gmk-gift-recipient small { padding-left: 7px; border-left: 1px solid rgba(232,201,122,.18); color: rgba(211,196,160,.48); font-size: 9px; }
.gmk-gift-picker__wallet { margin-left: auto; padding-right: 17px; text-align: right; }
.gmk-gift-picker__wallet small { display: block; color: rgba(211,196,160,.46); font: 500 8px/1.2 "Noto Sans SC",sans-serif; letter-spacing: .15em; }
.gmk-gift-picker__wallet strong { display: block; margin-top: 4px; color: #e9ce89; font: 500 13px/1 "Noto Sans SC",sans-serif; }
.gmk-gift-close,.gmk-gift-performance__close { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid rgba(235,214,162,.23); border-radius: 50%; color: rgba(248,237,207,.76); background: rgba(10,11,15,.56); font: 300 21px/1 sans-serif; cursor: pointer; }

.gmk-gift-picker__body { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(270px,38%) 1fr; height: calc(100% - var(--gift-header-height)); min-height: 0; }
.gmk-gift-feature { --feature-accent: #a568ef; position: relative; min-height: 100%; overflow: hidden; border-right: 1px solid rgba(228,206,153,.1); background: radial-gradient(ellipse at 50% 43%,color-mix(in srgb,var(--feature-accent) 17%,transparent),transparent 43%); }
.gmk-gift-feature::before { content: ""; position: absolute; inset: 10% 8% 22%; opacity: .7; background: radial-gradient(ellipse at 48% 50%,color-mix(in srgb,var(--feature-accent) 14%,transparent),transparent 56%); filter: blur(18px); }
.gmk-gift-feature__breath { position: absolute; left: 50%; top: 43%; width: 56%; aspect-ratio: 1; border-radius: 46% 54% 57% 43%; transform: translate(-50%,-50%); background: radial-gradient(circle,color-mix(in srgb,var(--feature-accent) 24%,transparent),transparent 70%); filter: blur(12px); animation: gmk-feature-breathe 3.6s ease-in-out infinite; }
.gmk-gift-feature__image { position: absolute; z-index: 2; left: 5%; top: 3%; width: 90%; height: 82%; object-fit: contain; mix-blend-mode: screen; filter: saturate(1.05) contrast(1.06) drop-shadow(0 0 24px color-mix(in srgb,var(--feature-accent) 27%,transparent)); -webkit-mask-image: radial-gradient(ellipse 70% 70%,#000 54%,transparent 88%); mask-image: radial-gradient(ellipse 70% 70%,#000 54%,transparent 88%); }
.gmk-gift-feature__image.is-changing { animation: gmk-feature-change .48s cubic-bezier(.2,.8,.2,1) both; }
.gmk-gift-feature[data-feature-gift^="twin-"] { background: radial-gradient(ellipse at 16% 44%,color-mix(in srgb,var(--feature-accent) 18%,transparent),transparent 38%),radial-gradient(ellipse at 84% 44%,rgba(222,188,119,.13),transparent 38%); }
.gmk-gift-feature[data-feature-gift^="twin-"] :is(.gmk-gift-feature__breath) { display: none; }
.gmk-gift-feature[data-feature-gift^="twin-"]::before { inset: 5% 2% 18%; opacity: .5; background: radial-gradient(ellipse at 22% 52%,color-mix(in srgb,var(--feature-accent) 42%,transparent),transparent 43%),radial-gradient(ellipse at 78% 52%,rgba(238,207,142,.3),transparent 43%); filter: blur(22px); animation: gmk-twin-feature-field 4.2s ease-in-out infinite; }
.gmk-gift-feature[data-feature-gift^="twin-"] .gmk-gift-feature__image { filter: saturate(1.12) contrast(1.09) brightness(1.04) drop-shadow(-9px 0 24px color-mix(in srgb,var(--feature-accent) 35%,transparent)) drop-shadow(9px 0 24px rgba(233,199,127,.24)); }
.gmk-gift-feature__caption { position: absolute; z-index: 3; left: 24px; right: 24px; bottom: 25px; text-align: center; }
.gmk-gift-feature__caption strong { display: block; margin-top: 9px; color: #f2dfad; font: 400 clamp(25px,3vw,35px)/1.1 "Songti SC","Noto Serif SC",serif; letter-spacing: .16em; text-shadow: 0 4px 25px #000; }
.gmk-gift-feature__tier { display: inline-block; padding: 4px 10px; border: 1px solid rgba(230,206,147,.32); border-radius: 999px; color: rgba(235,220,183,.7); font: 500 9px/1.2 "Noto Sans SC",sans-serif; letter-spacing: .14em; }

.gmk-gift-picker__choices { display: grid; min-width: 0; min-height: 0; grid-template-rows: minmax(0,1fr) auto auto auto auto; padding: 19px 22px 15px; }
.gmk-gift-list { display: grid; min-height: 0; grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: max-content; gap: 9px; align-content: start; overflow-y: auto; padding-right: 3px; scrollbar-color: rgba(200,168,99,.28) transparent; scrollbar-width: thin; }
.gmk-gift-card { position: relative; display: flex; min-width: 0; height: max-content; flex-direction: column; align-self: start; padding: 6px; overflow: hidden; border: 1px solid rgba(226,210,170,.12); border-radius: 13px; color: rgba(243,237,221,.72); background: rgba(255,255,255,.024); cursor: pointer; transition: transform .22s ease,border-color .22s ease,background .22s ease,color .22s ease; }
.gmk-gift-card:hover { transform: translateY(-2px); border-color: rgba(201,155,244,.38); color: #f6e9c8; }
.gmk-gift-card.is-selected { border-color: rgba(227,193,113,.7); color: #faedc8; background: linear-gradient(145deg,rgba(131,74,183,.19),rgba(187,137,54,.07)); box-shadow: 0 0 0 1px rgba(230,200,131,.07),inset 0 0 24px rgba(140,72,190,.12); }
.gmk-gift-card.is-selected::after { display: none; }
.gmk-gift-card__visual { display: block; width: 100%; flex: none; aspect-ratio: 1.5; overflow: hidden; border-radius: 8px; background: #040407; }
.gmk-gift-card__visual img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: screen; filter: saturate(.98) contrast(1.08); transition: transform .4s ease,filter .4s ease; }
.gmk-gift-card:hover img,.gmk-gift-card.is-selected img { transform: scale(1.07); filter: saturate(1.1) contrast(1.1) brightness(1.05); }
.gmk-gift-card__meta { display: flex; min-height: 31px; flex: none; align-items: center; justify-content: space-between; gap: 6px; padding: 5px 3px 3px; text-align: left; }
.gmk-gift-card__meta > span { min-width: 0; }
.gmk-gift-card__meta strong { display: block; overflow: hidden; font: 400 11px/1.2 "Songti SC","Noto Serif SC",serif; letter-spacing: .05em; text-overflow: ellipsis; white-space: nowrap; }
.gmk-gift-card__meta small { display: block; margin-top: 3px; color: rgba(205,188,151,.42); font: 500 7px/1.1 "Noto Sans SC",sans-serif; letter-spacing: .13em; }
.gmk-gift-card__meta b { flex: none; color: rgba(235,207,139,.75); font: 500 9px/1 "Noto Sans SC",sans-serif; }
.gmk-gift-card__meta b i { margin-right: 2px; color: #aa69ec; font-style: normal; }

.gmk-gift-selection { display: flex; align-items: center; gap: 12px; min-height: 60px; margin-top: 12px; padding: 9px 12px; border: 1px solid rgba(222,199,147,.1); border-radius: 13px; background: rgba(255,255,255,.02); }
.gmk-gift-selection__mark { width: 34px; height: 34px; flex: none; overflow: hidden; border: 1px solid rgba(222,195,132,.18); border-radius: 9px; background: #030407; }
.gmk-gift-selection__mark img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: screen; }
.gmk-gift-selection p { min-width: 0; margin: 0; }
.gmk-gift-selection strong { display: block; color: #ecd7a4; font: 500 11px/1.3 "Noto Sans SC",sans-serif; letter-spacing: .1em; }
.gmk-gift-selection p span { display: block; overflow: hidden; margin-top: 4px; color: rgba(240,237,228,.6); font: 300 10px/1.4 "Noto Sans SC",sans-serif; letter-spacing: .035em; text-overflow: ellipsis; white-space: nowrap; }
.gmk-gift-selection em { margin-left: auto; flex: none; color: rgba(219,208,183,.5); font: 400 8px/1 "Noto Sans SC",sans-serif; font-style: normal; }
.gmk-gift-selection em i { color: #aa6cf0; font-style: normal; }.gmk-gift-selection em b { color: #efd58e; font-size: 13px; }
.gmk-gift-selection__boundary { margin: 7px 4px 0; color: rgba(207,195,166,.5); font: 400 8px/1.45 "Noto Sans SC",sans-serif; letter-spacing: .035em; text-align: center; }
.gmk-gift-send { display: flex; align-items: center; justify-content: center; gap: 18px; width: 100%; min-height: 44px; margin-top: 11px; border: 1px solid rgba(240,211,140,.62); border-radius: 999px; color: #20180e; background: linear-gradient(90deg,#aa8345,#efd995 50%,#9f7440); box-shadow: 0 8px 25px rgba(144,102,45,.18),inset 0 1px rgba(255,255,255,.54); font: 600 11px/1 "Noto Sans SC",sans-serif; letter-spacing: .1em; cursor: pointer; transition: transform .2s ease,filter .2s ease,opacity .2s ease; }
.gmk-gift-send:hover { transform: translateY(-2px); filter: brightness(1.08); }.gmk-gift-send:disabled { cursor: wait; opacity: .66; }.gmk-gift-send i { font: 400 17px/1 sans-serif; }
.gmk-gift-send.is-confirming { border-color: rgba(242,218,158,.9); background: linear-gradient(90deg,#6f4d2e,#f0d99a 50%,#745335); box-shadow: 0 0 0 1px rgba(240,215,150,.12),0 12px 30px rgba(116,78,34,.24); }
.gmk-gift-picker__note { margin: 8px 0 0; color: rgba(207,195,166,.38); text-align: center; font: 400 8px/1.4 "Noto Sans SC",sans-serif; letter-spacing: .08em; }
.gmk-gift-picker__note.is-error { color: #e9a7b9; }

.community-comment-gift { float: right; display: inline-flex; align-items: center; gap: 5px; min-height: 28px; margin-top: -2px; padding: 4px 8px; border: 1px solid rgba(232,201,122,.18); border-radius: 999px; color: rgba(239,215,157,.72); background: rgba(232,201,122,.045); font: 500 10px/1 "Noto Sans SC",sans-serif; cursor: pointer; }
.community-comment-gift:hover { border-color: rgba(232,201,122,.42); color: #efd694; background: rgba(232,201,122,.09); }

/* Full-screen gift performance: multi-stage reveal, no central beam. */
.gmk-gift-performance { --gift-accent: #a568ef; --gift-glow: #f1d7a0; position: fixed; z-index: 31000; inset: 0; display: grid; place-items: center; overflow: hidden; color: #fff; opacity: 0; visibility: hidden; pointer-events: none; isolation: isolate; }
.gmk-gift-performance.is-playing,.gmk-gift-performance.is-leaving { opacity: 1; visibility: visible; pointer-events: auto; }
.gmk-gift-performance.is-leaving { opacity: 0; transition: opacity .72s ease; }
.gmk-gift-performance__scrim { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 47%,color-mix(in srgb,var(--gift-accent) 13%,transparent),transparent 39%),rgba(1,2,5,.9); backdrop-filter: blur(8px) saturate(.72); }
.gmk-gift-performance__world { position: relative; width: 100vw; height: 100vh; overflow: hidden; }
.gmk-gift-performance__world::before,.gmk-gift-performance__world::after { content: ""; position: absolute; z-index: 1; width: 72vw; height: 78vh; top: 3%; opacity: 0; filter: blur(50px); background: radial-gradient(ellipse,color-mix(in srgb,var(--gift-accent) 14%,transparent),transparent 65%); }
.gmk-gift-performance__world::before { left: -21%; transform: rotate(18deg); }.gmk-gift-performance__world::after { right: -21%; transform: rotate(-18deg); }
.gmk-gift-performance.is-playing .gmk-gift-performance__world::before { animation: gmk-aurora-left 8.4s ease both; }.gmk-gift-performance.is-playing .gmk-gift-performance__world::after { animation: gmk-aurora-right 8.4s ease both; }
.gmk-gift-fx__veil { position: absolute; z-index: 9; left: -5%; width: 110%; height: 55%; background: linear-gradient(to bottom,#010205 8%,rgba(1,2,5,.96) 46%,transparent); pointer-events: none; }
.gmk-gift-fx__veil--top { top: 0; transform-origin: top; }.gmk-gift-fx__veil--bottom { bottom: 0; transform: scaleY(-1); transform-origin: bottom; }
.gmk-gift-performance.is-playing .gmk-gift-fx__veil--top { animation: gmk-veil-top 8.4s cubic-bezier(.2,.72,.2,1) both; }.gmk-gift-performance.is-playing .gmk-gift-fx__veil--bottom { animation: gmk-veil-bottom 8.4s cubic-bezier(.2,.72,.2,1) both; }
.gmk-gift-fx__bloom { position: absolute; z-index: 2; left: 50%; top: 45%; width: min(90vmin,820px); aspect-ratio: 1; border-radius: 43% 57% 62% 38%; opacity: 0; transform: translate(-50%,-50%) scale(.12) rotate(-18deg); background: radial-gradient(circle at 48% 50%,color-mix(in srgb,var(--gift-glow) 23%,transparent),color-mix(in srgb,var(--gift-accent) 19%,transparent) 25%,transparent 68%); filter: blur(30px); }
.gmk-gift-performance.is-playing .gmk-gift-fx__bloom { animation: gmk-bloom-awaken 8.4s cubic-bezier(.16,.76,.17,1) both; }
.gmk-gift-fx__wave { position: absolute; z-index: 3; left: 50%; top: 46%; width: min(58vmin,560px); aspect-ratio: 1; border: 1px solid color-mix(in srgb,var(--gift-glow) 35%,transparent); border-radius: 45% 55% 60% 40%; opacity: 0; box-shadow: 0 0 26px color-mix(in srgb,var(--gift-accent) 18%,transparent),inset 0 0 20px color-mix(in srgb,var(--gift-accent) 10%,transparent); }
.gmk-gift-fx__wave--one { transform: translate(-50%,-50%) rotate(9deg) scale(.25); }.gmk-gift-fx__wave--two { transform: translate(-50%,-50%) rotate(46deg) scale(.25); }.gmk-gift-fx__wave--three { transform: translate(-50%,-50%) rotate(88deg) scale(.25); }
.gmk-gift-performance.is-playing .gmk-gift-fx__wave--one { animation: gmk-wave-one 4.8s 1.2s ease-out both; }.gmk-gift-performance.is-playing .gmk-gift-fx__wave--two { animation: gmk-wave-two 4.9s 1.55s ease-out both; }.gmk-gift-performance.is-playing .gmk-gift-fx__wave--three { animation: gmk-wave-three 5s 1.9s ease-out both; }
.gmk-gift-performance__echo,.gmk-gift-performance__art { position: absolute; left: 50%; top: 45%; width: min(78vw,740px); height: min(69vh,670px); object-fit: contain; opacity: 0; transform: translate(-50%,-50%) scale(.45); mix-blend-mode: screen; -webkit-mask-image: radial-gradient(ellipse 68% 68%,#000 48%,rgba(0,0,0,.85) 66%,transparent 91%); mask-image: radial-gradient(ellipse 68% 68%,#000 48%,rgba(0,0,0,.85) 66%,transparent 91%); will-change: transform,opacity,filter,clip-path; }
.gmk-gift-performance__echo { z-index: 4; filter: blur(32px) saturate(1.4) brightness(1.4); }.gmk-gift-performance__art { z-index: 6; filter: saturate(1.12) contrast(1.09) drop-shadow(0 0 32px color-mix(in srgb,var(--gift-accent) 36%,transparent)); }
.gmk-gift-performance.is-playing .gmk-gift-performance__echo { animation: gmk-art-echo 8.4s cubic-bezier(.16,.76,.17,1) both; }
.gmk-gift-performance[data-gift="heart"].is-playing .gmk-gift-performance__art { animation: gmk-heart-awaken 8.4s cubic-bezier(.16,.78,.18,1) both; }.gmk-gift-performance[data-gift="rose"].is-playing .gmk-gift-performance__art { animation: gmk-rose-awaken 8.4s cubic-bezier(.16,.76,.19,1) both; }.gmk-gift-performance[data-gift="bluebird"].is-playing .gmk-gift-performance__art { animation: gmk-bluebird-flight 8.4s cubic-bezier(.15,.78,.19,1) both; }.gmk-gift-performance[data-gift="baize"].is-playing .gmk-gift-performance__art { animation: gmk-baize-guard 8.4s cubic-bezier(.16,.76,.19,1) both; }.gmk-gift-performance[data-gift="nine-tail"].is-playing .gmk-gift-performance__art { animation: gmk-nine-tail-reveal 8.4s cubic-bezier(.14,.78,.17,1) both; }.gmk-gift-performance[data-gift="paired-wings"].is-playing .gmk-gift-performance__art { animation: gmk-paired-wings-rise 8.4s cubic-bezier(.15,.78,.16,1) both; }
.gmk-gift-performance[data-gift="bluebird"].is-playing .gmk-gift-performance__echo { animation: gmk-bluebird-echo 8.4s ease both; }.gmk-gift-performance[data-gift="baize"].is-playing .gmk-gift-performance__echo { animation: gmk-baize-echo 8.4s ease both; }.gmk-gift-performance[data-gift="nine-tail"].is-playing .gmk-gift-performance__echo { animation: gmk-nine-tail-echo 8.4s ease both; }.gmk-gift-performance[data-gift="paired-wings"].is-playing .gmk-gift-performance__echo { animation: gmk-paired-wings-echo 8.4s ease both; }
.gmk-gift-performance[data-gift="heart"] .gmk-gift-fx__wave { width: min(42vmin,420px); }
.gmk-gift-performance[data-gift="bluebird"] :is(.gmk-gift-performance__art,.gmk-gift-performance__echo),.gmk-gift-performance[data-gift="paired-wings"] :is(.gmk-gift-performance__art,.gmk-gift-performance__echo) { width: min(90vw,860px); -webkit-mask-image: radial-gradient(ellipse 82% 78%,#000 52%,rgba(0,0,0,.9) 74%,transparent 96%); mask-image: radial-gradient(ellipse 82% 78%,#000 52%,rgba(0,0,0,.9) 74%,transparent 96%); }
.gmk-gift-performance[data-gift="baize"] .gmk-gift-fx__wave { border-radius: 50%; width: min(53vmin,520px); }.gmk-gift-performance[data-gift="nine-tail"] .gmk-gift-fx__wave { border-radius: 61% 39% 58% 42%; }.gmk-gift-performance[data-gift="paired-wings"] .gmk-gift-fx__wave { width: min(72vmin,700px); border-radius: 50% 50% 42% 58%; }
.gmk-gift-performance[data-gift^="twin-"] .gmk-gift-performance__scrim { background: radial-gradient(ellipse at 16% 48%,color-mix(in srgb,var(--gift-accent) 19%,transparent),transparent 39%),radial-gradient(ellipse at 84% 48%,color-mix(in srgb,var(--gift-glow) 15%,transparent),transparent 39%),rgba(1,2,5,.91); }
.gmk-gift-performance[data-gift^="twin-"] .gmk-gift-performance__world::before,.gmk-gift-performance[data-gift^="twin-"] .gmk-gift-performance__world::after { width: 62vw; height: 88vh; top: -2%; filter: blur(34px); mix-blend-mode: screen; }
.gmk-gift-performance[data-gift^="twin-"] .gmk-gift-performance__world::before { left: -18%; background: radial-gradient(ellipse at 65% 50%,color-mix(in srgb,var(--gift-accent) 38%,transparent),transparent 63%); }
.gmk-gift-performance[data-gift^="twin-"] .gmk-gift-performance__world::after { right: -18%; background: radial-gradient(ellipse at 35% 50%,color-mix(in srgb,var(--gift-glow) 30%,transparent),transparent 63%); }
.gmk-gift-performance[data-gift^="twin-"] .gmk-gift-fx__veil { display: none; }
.gmk-gift-performance[data-gift^="twin-"] .gmk-gift-fx__bloom { display: none; }
.gmk-gift-performance[data-gift^="twin-"] :is(.gmk-gift-performance__art,.gmk-gift-performance__echo) { width: min(92vw,850px); height: min(74vh,720px); -webkit-mask-image: linear-gradient(90deg,transparent 0,#000 11%,#000 89%,transparent 100%),linear-gradient(0deg,transparent 0,#000 11%,#000 89%,transparent 100%); -webkit-mask-composite: source-in; mask-image: linear-gradient(90deg,transparent 0,#000 11%,#000 89%,transparent 100%),linear-gradient(0deg,transparent 0,#000 11%,#000 89%,transparent 100%); mask-composite: intersect; }
.gmk-gift-performance[data-gift^="twin-"].is-playing .gmk-gift-performance__art { animation: gmk-twin-still-awaken 8.4s cubic-bezier(.2,.72,.2,1) both; }
.gmk-gift-performance[data-gift^="twin-"].is-playing .gmk-gift-performance__echo { animation: gmk-twin-edge-echo 8.4s ease both; }
.gmk-gift-performance[data-gift^="twin-"] .gmk-gift-fx__wave { display: block; z-index: 5; opacity: 0; background: none; mix-blend-mode: screen; }
.gmk-gift-performance[data-gift^="twin-"] .gmk-gift-fx__wave--one { left: 24%; top: 45%; width: min(38vw,420px); height: min(66vh,610px); border: 1px solid transparent; border-left-color: color-mix(in srgb,var(--gift-accent) 62%,transparent); border-top-color: color-mix(in srgb,var(--gift-accent) 34%,transparent); border-radius: 68% 32% 58% 42%; box-shadow: -18px 0 48px color-mix(in srgb,var(--gift-accent) 25%,transparent),inset 16px 0 34px color-mix(in srgb,var(--gift-accent) 12%,transparent); }
.gmk-gift-performance[data-gift^="twin-"] .gmk-gift-fx__wave--two { left: 76%; top: 45%; width: min(38vw,420px); height: min(66vh,610px); border: 1px solid transparent; border-right-color: color-mix(in srgb,var(--gift-glow) 58%,transparent); border-top-color: color-mix(in srgb,var(--gift-glow) 31%,transparent); border-radius: 32% 68% 42% 58%; box-shadow: 18px 0 48px color-mix(in srgb,var(--gift-glow) 22%,transparent),inset -16px 0 34px color-mix(in srgb,var(--gift-glow) 11%,transparent); }
.gmk-gift-performance[data-gift^="twin-"] .gmk-gift-fx__wave--three { left: 50%; top: 78%; width: min(58vw,620px); height: min(13vh,105px); border: 0; border-top: 1px solid color-mix(in srgb,var(--gift-glow) 38%,transparent); border-radius: 50%; box-shadow: 0 -12px 42px color-mix(in srgb,var(--gift-accent) 18%,transparent); }
.gmk-gift-performance[data-gift^="twin-"].is-playing .gmk-gift-fx__wave--one { animation: gmk-twin-arc-left 8.4s cubic-bezier(.2,.72,.2,1) both; }
.gmk-gift-performance[data-gift^="twin-"].is-playing .gmk-gift-fx__wave--two { animation: gmk-twin-arc-right 8.4s cubic-bezier(.2,.72,.2,1) both; }
.gmk-gift-performance[data-gift^="twin-"].is-playing .gmk-gift-fx__wave--three { animation: gmk-twin-floor-tide 8.4s cubic-bezier(.2,.72,.2,1) both; }

.gmk-gift-performance__copy { position: absolute; z-index: 12; left: 50%; bottom: max(4.5vh,24px); width: min(88vw,680px); transform: translate(-50%,25px); opacity: 0; text-align: center; text-shadow: 0 5px 34px #000; }
.gmk-gift-performance__copy > span { display: block; margin-bottom: 9px; color: color-mix(in srgb,var(--gift-glow) 72%,#bbb); font: 500 9px/1.2 "Noto Sans SC",sans-serif; letter-spacing: .34em; }
.gmk-gift-performance__copy h2 { margin: 0; color: #f3dca2; font: 400 clamp(36px,7vw,60px)/1.08 "Songti SC","Noto Serif SC",serif; letter-spacing: .16em; }
.gmk-gift-performance__copy p { margin: 12px 0 0; color: rgba(246,243,233,.78); font: 300 clamp(13px,2.7vw,16px)/1.65 "Noto Sans SC",sans-serif; letter-spacing: .08em; }
.gmk-gift-performance__copy small { display: inline-block; margin-top: 12px; color: rgba(221,202,155,.55); font: 500 8px/1 "Noto Sans SC",sans-serif; letter-spacing: .2em; }
.gmk-gift-performance.is-playing .gmk-gift-performance__copy { animation: gmk-copy-reveal 8.4s .1s ease both; }
.gmk-gift-performance__close { position: absolute; z-index: 20; right: max(18px,env(safe-area-inset-right)); top: max(18px,env(safe-area-inset-top)); }

@keyframes gmk-feature-breathe { 0%,100% { transform: translate(-50%,-50%) scale(.84) rotate(-5deg); opacity: .42; } 50% { transform: translate(-50%,-50%) scale(1.2) rotate(5deg); opacity: .95; } }
@keyframes gmk-feature-change { 0% { opacity: .16; transform: translateY(10px) scale(.94); filter: blur(9px); } 100% { opacity: 1; transform: none; } }
@keyframes gmk-twin-feature-field { 0%,100% { opacity: .34; filter: blur(28px) brightness(.82); transform: scale(.94); } 48% { opacity: .92; filter: blur(17px) brightness(1.28); transform: scale(1.04); } }
@keyframes gmk-aurora-left { 0%,8%,100% { opacity: 0; transform: translateX(-18%) rotate(18deg); } 28%,68% { opacity: .9; transform: translateX(22%) rotate(7deg); } }
@keyframes gmk-aurora-right { 0%,10%,100% { opacity: 0; transform: translateX(18%) rotate(-18deg); } 32%,72% { opacity: .78; transform: translateX(-22%) rotate(-7deg); } }
@keyframes gmk-veil-top { 0%,8% { transform: translateY(0); opacity: 1; } 28%,82% { transform: translateY(-80%); opacity: .25; } 100% { transform: translateY(-100%); opacity: 0; } }
@keyframes gmk-veil-bottom { 0%,8% { transform: scaleY(-1) translateY(0); opacity: 1; } 28%,82% { transform: scaleY(-1) translateY(-80%); opacity: .25; } 100% { transform: scaleY(-1) translateY(-100%); opacity: 0; } }
@keyframes gmk-bloom-awaken { 0%,6% { opacity: 0; transform: translate(-50%,-50%) scale(.08) rotate(-18deg); filter: blur(55px); } 28% { opacity: .92; } 62% { opacity: .76; transform: translate(-50%,-50%) scale(1.05) rotate(9deg); filter: blur(25px); } 100% { opacity: 0; transform: translate(-50%,-50%) scale(1.38) rotate(17deg); filter: blur(45px); } }
@keyframes gmk-wave-one { 0%,10% { opacity: 0; transform: translate(-50%,-50%) rotate(9deg) scale(.18); } 28% { opacity: .7; } 100% { opacity: 0; transform: translate(-50%,-50%) rotate(31deg) scale(1.65); } }
@keyframes gmk-wave-two { 0%,10% { opacity: 0; transform: translate(-50%,-50%) rotate(46deg) scale(.18); } 28% { opacity: .5; } 100% { opacity: 0; transform: translate(-50%,-50%) rotate(11deg) scale(1.85); } }
@keyframes gmk-wave-three { 0%,10% { opacity: 0; transform: translate(-50%,-50%) rotate(88deg) scale(.18); } 28% { opacity: .35; } 100% { opacity: 0; transform: translate(-50%,-50%) rotate(115deg) scale(2.05); } }
@keyframes gmk-particle-flight { 0%,6% { opacity: 0; transform: translate(-50%,-50%) rotate(var(--pr)) scale(.15); } 24% { opacity: .95; } 78% { opacity: .72; } 100% { opacity: 0; transform: translate(calc(-50% + var(--px)),calc(-50% + var(--py))) rotate(calc(var(--pr) + 160deg)) scale(1); } }
@keyframes gmk-art-echo { 0%,8% { opacity: 0; transform: translate(-50%,-50%) scale(.22); filter: blur(45px) saturate(1.5) brightness(1.3); } 28% { opacity: .45; } 58% { opacity: .18; transform: translate(-50%,-50%) scale(1.13); filter: blur(52px) saturate(1.6) brightness(1.6); } 100% { opacity: 0; transform: translate(-50%,-50%) scale(1.42); filter: blur(70px); } }
@keyframes gmk-copy-reveal { 0%,26% { opacity: 0; transform: translate(-50%,24px); filter: blur(7px); } 41%,80% { opacity: 1; transform: translate(-50%,0); filter: blur(0); } 100% { opacity: 0; transform: translate(-50%,-13px); } }
@keyframes gmk-heart-awaken { 0%,7% { opacity: 0; transform: translate(-50%,-50%) scale(.16); filter: blur(18px) brightness(.45); } 24% { opacity: 1; transform: translate(-50%,-50%) scale(.78); filter: blur(0) brightness(1); } 36% { transform: translate(-50%,-50%) scale(1.04); } 44% { transform: translate(-50%,-50%) scale(.91); } 54% { transform: translate(-50%,-50%) scale(1.02); filter: brightness(1.2); } 79% { opacity: 1; transform: translate(-50%,-51%) scale(.96); } 100% { opacity: 0; transform: translate(-50%,-58%) scale(1.13); filter: brightness(1.45); } }
@keyframes gmk-rose-awaken { 0%,6% { opacity: 0; clip-path: circle(3% at 50% 44%); transform: translate(-50%,-50%) rotate(-9deg) scale(.46); filter: blur(18px) brightness(.4); } 28% { opacity: 1; clip-path: circle(44% at 50% 44%); transform: translate(-50%,-50%) rotate(-3deg) scale(.88); filter: blur(0) brightness(1); } 48% { clip-path: circle(72% at 50% 44%); transform: translate(-50%,-52%) rotate(1deg) scale(1); filter: brightness(1.16); } 79% { opacity: 1; transform: translate(-50%,-50%) rotate(-1deg) scale(.96); } 100% { opacity: 0; clip-path: circle(90% at 50% 44%); transform: translate(-50%,-58%) rotate(4deg) scale(1.12); filter: brightness(1.4); } }
@keyframes gmk-bluebird-flight { 0%,6% { opacity: 0; transform: translate(-86%,-30%) rotate(-12deg) scale(.28); filter: blur(22px) brightness(.45) drop-shadow(0 0 0 transparent); } 23% { opacity: 1; transform: translate(-58%,-47%) rotate(-4deg) scale(.78); filter: blur(0) brightness(.98) drop-shadow(0 0 14px color-mix(in srgb,var(--gift-accent) 34%,transparent)); } 42% { transform: translate(-49%,-54%) rotate(2deg) scale(1.02); filter: blur(0) brightness(1.18) drop-shadow(0 0 28px color-mix(in srgb,var(--gift-accent) 58%,transparent)) drop-shadow(0 0 62px color-mix(in srgb,var(--gift-glow) 24%,transparent)); } 63% { transform: translate(-46%,-50%) rotate(-1deg) scale(.96); filter: blur(0) brightness(1.05) drop-shadow(0 0 17px color-mix(in srgb,var(--gift-accent) 40%,transparent)); } 80% { opacity: 1; transform: translate(-42%,-57%) rotate(3deg) scale(1.02); filter: blur(0) brightness(1.2) drop-shadow(0 0 34px color-mix(in srgb,var(--gift-accent) 64%,transparent)) drop-shadow(0 0 72px color-mix(in srgb,var(--gift-glow) 27%,transparent)); } 100% { opacity: 0; transform: translate(-9%,-82%) rotate(11deg) scale(1.13); filter: blur(5px) brightness(1.42) drop-shadow(0 0 46px color-mix(in srgb,var(--gift-accent) 55%,transparent)); } }
@keyframes gmk-baize-guard { 0%,7% { opacity: 0; clip-path: circle(4% at 47% 49%); transform: translate(-50%,-50%) scale(.38); filter: blur(22px) brightness(.4); } 27% { opacity: 1; clip-path: circle(48% at 47% 49%); transform: translate(-50%,-50%) scale(.86); filter: blur(0) brightness(.96); } 46% { clip-path: circle(78% at 47% 49%); transform: translate(-50%,-52%) scale(1); filter: brightness(1.14); } 61% { transform: translate(-50%,-50%) scale(.96); } 78% { opacity: 1; transform: translate(-50%,-52%) scale(1.01); } 100% { opacity: 0; clip-path: circle(90% at 47% 49%); transform: translate(-50%,-58%) scale(1.1); filter: blur(4px) brightness(1.36); } }
@keyframes gmk-nine-tail-reveal { 0%,7% { opacity: 0; clip-path: circle(3% at 49% 55%); transform: translate(-50%,-43%) rotate(-8deg) scale(.34); filter: blur(20px) brightness(.38); } 26% { opacity: 1; clip-path: circle(38% at 49% 55%); transform: translate(-50%,-50%) rotate(-3deg) scale(.82); filter: blur(0) brightness(.94); } 49% { clip-path: circle(76% at 49% 55%); transform: translate(-50%,-53%) rotate(2deg) scale(1); filter: brightness(1.2); } 68% { transform: translate(-50%,-50%) rotate(-1deg) scale(.96); } 80% { opacity: 1; transform: translate(-50%,-52%) rotate(1deg) scale(1); } 100% { opacity: 0; clip-path: circle(92% at 49% 55%); transform: translate(-50%,-61%) rotate(5deg) scale(1.1); filter: blur(4px) brightness(1.42); } }
@keyframes gmk-paired-wings-rise { 0%,7% { opacity: 0; clip-path: ellipse(9% 13% at 50% 50%); transform: translate(-50%,-30%) scale(.31); filter: blur(22px) brightness(.38); } 27% { opacity: 1; clip-path: ellipse(52% 54% at 50% 50%); transform: translate(-50%,-48%) scale(.82); filter: blur(0) brightness(.95); } 48% { clip-path: ellipse(82% 85% at 50% 50%); transform: translate(-50%,-55%) scale(1); filter: brightness(1.2); } 66% { transform: translate(-50%,-51%) scale(.96); } 80% { opacity: 1; transform: translate(-50%,-56%) scale(1.02); } 100% { opacity: 0; clip-path: ellipse(94% 96% at 50% 50%); transform: translate(-50%,-78%) scale(1.15); filter: blur(5px) brightness(1.46); } }
@keyframes gmk-bluebird-echo { 0%,11% { opacity: 0; transform: translate(-84%,-28%) scale(.2); } 31% { opacity: .42; transform: translate(-60%,-49%) scale(.76); } 64% { opacity: .17; transform: translate(-34%,-61%) scale(1.2); filter: blur(48px) saturate(1.6); } 100% { opacity: 0; transform: translate(8%,-94%) scale(1.55); filter: blur(74px); } }
@keyframes gmk-baize-echo { 0%,10% { opacity: 0; transform: translate(-50%,-50%) scale(.22); } 31% { opacity: .38; transform: translate(-50%,-50%) scale(.75); } 64% { opacity: .16; transform: translate(-50%,-50%) scale(1.22); filter: blur(48px) brightness(1.55); } 100% { opacity: 0; transform: translate(-50%,-50%) scale(1.58); filter: blur(76px); } }
@keyframes gmk-nine-tail-echo { 0%,10% { opacity: 0; transform: translate(-50%,-50%) rotate(-13deg) scale(.25); } 31% { opacity: .4; transform: translate(-50%,-50%) rotate(-4deg) scale(.73); } 65% { opacity: .17; transform: translate(-50%,-52%) rotate(6deg) scale(1.22); filter: blur(50px) saturate(1.7); } 100% { opacity: 0; transform: translate(-50%,-58%) rotate(14deg) scale(1.58); filter: blur(78px); } }
@keyframes gmk-paired-wings-echo { 0%,10% { opacity: 0; transform: translate(-50%,-38%) scale(.2); } 31% { opacity: .43; transform: translate(-50%,-50%) scale(.72); } 64% { opacity: .17; transform: translate(-50%,-60%) scale(1.25); filter: blur(50px) brightness(1.58); } 100% { opacity: 0; transform: translate(-50%,-85%) scale(1.62); filter: blur(80px); } }
@keyframes gmk-twin-still-awaken { 0%,8% { opacity: 0; transform: translate(-50%,-50%) scale(.985); filter: blur(11px) saturate(.88) brightness(.52); } 24% { opacity: 1; transform: translate(-50%,-50%) scale(1); filter: blur(0) saturate(1.06) brightness(1.02) drop-shadow(-14px 0 18px color-mix(in srgb,var(--gift-accent) 42%,transparent)) drop-shadow(14px 0 18px color-mix(in srgb,var(--gift-glow) 35%,transparent)); } 38% { opacity: 1; transform: translate(-50%,-50%) scale(1); filter: blur(0) saturate(1.12) brightness(1.16) drop-shadow(-20px 0 38px color-mix(in srgb,var(--gift-accent) 67%,transparent)) drop-shadow(20px 0 38px color-mix(in srgb,var(--gift-glow) 58%,transparent)); } 52% { opacity: 1; transform: translate(-50%,-50%) scale(1); filter: blur(0) saturate(1.04) brightness(1) drop-shadow(-10px 0 18px color-mix(in srgb,var(--gift-accent) 34%,transparent)) drop-shadow(10px 0 18px color-mix(in srgb,var(--gift-glow) 29%,transparent)); } 68% { opacity: 1; transform: translate(-50%,-50%) scale(1); filter: blur(0) saturate(1.14) brightness(1.2) drop-shadow(-22px 0 44px color-mix(in srgb,var(--gift-accent) 72%,transparent)) drop-shadow(22px 0 44px color-mix(in srgb,var(--gift-glow) 62%,transparent)); } 82% { opacity: 1; transform: translate(-50%,-50%) scale(1); filter: blur(0) saturate(1.07) brightness(1.05) drop-shadow(-13px 0 22px color-mix(in srgb,var(--gift-accent) 38%,transparent)) drop-shadow(13px 0 22px color-mix(in srgb,var(--gift-glow) 32%,transparent)); } 100% { opacity: 0; transform: translate(-50%,-50%) scale(1); filter: blur(3px) saturate(1.1) brightness(1.16); } }
@keyframes gmk-twin-edge-echo { 0%,10% { opacity: 0; transform: translate(-50%,-50%) scale(.99); filter: blur(38px) saturate(1.2) brightness(1.2); } 25% { opacity: .48; transform: translate(-50%,-50%) scale(1); filter: blur(24px) saturate(1.45) brightness(1.62); } 39% { opacity: .72; transform: translate(-50%,-50%) scale(1.01); filter: blur(17px) saturate(1.62) brightness(1.82); } 53% { opacity: .26; transform: translate(-50%,-50%) scale(1); filter: blur(32px) saturate(1.35) brightness(1.38); } 69% { opacity: .76; transform: translate(-50%,-50%) scale(1.012); filter: blur(16px) saturate(1.68) brightness(1.88); } 83% { opacity: .3; transform: translate(-50%,-50%) scale(1); filter: blur(30px) saturate(1.4) brightness(1.44); } 100% { opacity: 0; transform: translate(-50%,-50%) scale(1.025); filter: blur(46px) saturate(1.3) brightness(1.4); } }
@keyframes gmk-twin-arc-left { 0%,10% { opacity: 0; transform: translate(-50%,-50%) rotate(-12deg) scale(.82); filter: blur(5px); } 30% { opacity: .68; transform: translate(-50%,-50%) rotate(-5deg) scale(.98); filter: blur(.5px); } 48% { opacity: .22; transform: translate(-50%,-50%) rotate(2deg) scale(1.04); filter: blur(2px); } 68% { opacity: .78; transform: translate(-50%,-50%) rotate(7deg) scale(1.015); filter: blur(0); } 84% { opacity: .3; transform: translate(-50%,-50%) rotate(11deg) scale(1.06); } 100% { opacity: 0; transform: translate(-50%,-50%) rotate(16deg) scale(1.14); filter: blur(5px); } }
@keyframes gmk-twin-arc-right { 0%,12% { opacity: 0; transform: translate(-50%,-50%) rotate(12deg) scale(.82); filter: blur(5px); } 32% { opacity: .62; transform: translate(-50%,-50%) rotate(5deg) scale(.98); filter: blur(.5px); } 50% { opacity: .2; transform: translate(-50%,-50%) rotate(-2deg) scale(1.04); filter: blur(2px); } 70% { opacity: .72; transform: translate(-50%,-50%) rotate(-7deg) scale(1.015); filter: blur(0); } 86% { opacity: .28; transform: translate(-50%,-50%) rotate(-11deg) scale(1.06); } 100% { opacity: 0; transform: translate(-50%,-50%) rotate(-16deg) scale(1.14); filter: blur(5px); } }
@keyframes gmk-twin-floor-tide { 0%,18% { opacity: 0; transform: translate(-50%,-50%) scaleX(.42) scaleY(.7); filter: blur(7px); } 36% { opacity: .58; transform: translate(-50%,-50%) scaleX(.9) scaleY(1); filter: blur(1px); } 54% { opacity: .18; transform: translate(-50%,-50%) scaleX(1.12) scaleY(1.02); filter: blur(4px); } 72% { opacity: .54; transform: translate(-50%,-50%) scaleX(1.02) scaleY(1); filter: blur(1px); } 100% { opacity: 0; transform: translate(-50%,-50%) scaleX(1.42) scaleY(1.08); filter: blur(8px); } }

@media (max-width: 760px) {
  .gmk-gift-picker { padding: 10px; }.gmk-gift-picker__panel { --gift-header-height: 82px; width: min(97vw,710px); height: 95vh; max-height: 95vh; }.gmk-gift-picker__header { min-height: 82px; padding: 10px 14px 9px 17px; }.gmk-gift-picker__header h2 { font-size: 20px; }.gmk-gift-recipient { margin-top: 5px; }.gmk-gift-picker__body { grid-template-columns: 34% 66%; }.gmk-gift-feature__caption { left: 10px; right: 10px; bottom: 18px; }.gmk-gift-picker__choices { padding: 13px 14px 10px; }.gmk-gift-list { gap: 6px; }.gmk-gift-card { padding: 4px; border-radius: 10px; }.gmk-gift-card__meta strong { font-size: 9px; }.gmk-gift-card__meta b { font-size: 8px; }.gmk-gift-selection { min-height: 52px; margin-top: 8px; padding: 7px 9px; }.gmk-gift-selection p span { font-size: 9px; }.gmk-gift-send { min-height: 40px; margin-top: 8px; }
}
@media (max-width: 540px) {
  .gmk-gift-launch { right: 14px; bottom: 15px; min-height: 49px; }.gmk-gift-launch__sigil { width: 35px; height: 35px; }.gmk-gift-picker__panel { height: auto; overflow-y: auto; }.gmk-gift-picker__wallet { display: none; }.gmk-gift-picker__body { display: block; height: auto; min-height: 0; }.gmk-gift-feature { height: 165px; min-height: 0; border-right: 0; border-bottom: 1px solid rgba(228,206,153,.1); }.gmk-gift-feature__image { left: 4%; top: -24%; width: 58%; height: 144%; }.gmk-gift-feature__caption { left: auto; right: 17px; bottom: 30px; width: 45%; text-align: right; }.gmk-gift-feature__caption strong { font-size: 21px; }.gmk-gift-picker__choices { display: block; padding: 10px 11px 9px; }.gmk-gift-list { grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }.gmk-gift-card__visual { aspect-ratio: 1.65; }.gmk-gift-performance__art,.gmk-gift-performance__echo { width: 98vw; height: 60vh; }.gmk-gift-performance__copy { bottom: max(5vh,28px); }
}

@media (prefers-reduced-motion: reduce) {
  .gmk-gift-picker__panel { transition-duration: .18s; }
  .gmk-gift-feature__breath { animation-duration: 2.8s !important; animation-iteration-count: infinite !important; }
  .gmk-gift-feature__image.is-changing { animation-duration: .48s !important; animation-fill-mode: both !important; }
  .gmk-gift-performance.is-playing .gmk-gift-performance__art,.gmk-gift-performance.is-playing .gmk-gift-performance__echo,.gmk-gift-performance.is-playing .gmk-gift-fx__bloom,.gmk-gift-performance.is-playing .gmk-gift-fx__veil,.gmk-gift-performance.is-playing .gmk-gift-performance__copy { animation-duration: 8.4s !important; animation-iteration-count: 1 !important; animation-fill-mode: both !important; }
  .gmk-gift-performance.is-playing .gmk-gift-fx__wave { animation-duration: 5s !important; animation-iteration-count: 1 !important; animation-fill-mode: both !important; }
}
