/* elements layer: GPU-friendly, static, isolated from layout */
.c-els{position:absolute;inset:0;z-index:0;contain:strict;pointer-events:none;overflow:hidden}
.c-els i{position:absolute;font-style:normal;line-height:1;color:var(--ec,var(--nm));text-shadow:0 0 .5em currentColor}.c-els i:nth-child(3n+2){color:var(--ec2,var(--ec,var(--nm)))}
.t-stars{--bg:linear-gradient(180deg,#1a1050,#06031c);--nm:#ffd76a;--fg:#f4f0ff;--ps:#0a0620;--rim:rgba(255,215,106,.6);--ec:#ffd76a;--ec2:#ffffff}
.t-hearts{--bg:linear-gradient(180deg,#ff8fb8,#c4125a);--nm:#fff;--fg:#fff;--ps:#3b0620;--rim:rgba(255,255,255,.8);--ec:#fff;--ec2:#ffd1e8}
.t-diyas{--bg:radial-gradient(120% 80% at 75% 100%,#7a3a00,#1d0d06 55%,#0a0504);--nm:#ffc400;--fg:#f4ece1;--ps:#3a1c0e;--rim:rgba(255,179,71,.9);--ec:#ffc400;--ec2:#ff8a3d}
.t-blossom{--bg:linear-gradient(180deg,#ffe0ec,#ff9ac4);--nm:#5b0a31;--fg:#3b0620;--ps:#3b0620;--rim:rgba(255,255,255,.85);--ec:#c4125a;--ec2:#ff5fa2}
.t-burst{--bg:linear-gradient(160deg,#2b0b6e,#ff2e7e);--nm:#fff1d6;--fg:#fff;--ps:#16043a;--rim:rgba(255,241,214,.7);--ec:#ffe27a;--ec2:#5ef0ff}
/* menu: transform/opacity only */
.mn-btn{position:relative;flex:none;width:46px;height:46px;margin-left:auto;border-radius:50%;border:1.5px solid rgba(244,236,225,.3);transition:transform .25s var(--ease)}
.mn-btn:active{transform:scale(.92)}
.mn-btn i{position:absolute;left:13px;top:20px;width:18px;height:2px;border-radius:2px;background:var(--bone);transition:transform .5s var(--out)}
.mn-btn i+i{top:24px}.mn-btn.x i{transform:translateY(2px) rotate(45deg)}.mn-btn.x i+i{transform:translateY(-2px) rotate(-45deg)}
.snd{margin-right:12px}
.mn{color:var(--bone);position:fixed;inset:0;z-index:40;visibility:hidden;overflow:hidden;transition:visibility 0s .95s}
.mn.open{visibility:visible;transition-delay:0s}
.mn-a,.mn-b{position:absolute;left:var(--mx,0);top:var(--my,0);width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;transform:scale(0);transition:transform .85s cubic-bezier(.7,0,.2,1);will-change:transform}
.mn-a{background:var(--flame)}.mn-b{background:var(--ink)}
.mn.open .mn-a,.mn.open .mn-b{transform:scale(var(--s,60))}
.mn.open .mn-b{transition-delay:.12s}.mn:not(.open) .mn-a{transition-delay:.1s}
.mn nav{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 clamp(24px,7vw,110px)}
.mn a{display:block;overflow:hidden;font-size:clamp(40px,9vw,104px);font-weight:800;font-variation-settings:"wdth" 78;line-height:1.04;letter-spacing:-.02em}
.mn a span{display:block;transform:translate3d(0,108%,0);transition:transform .45s var(--out),color .3s}
.mn.open a span{transform:none;transition:transform .8s var(--out) calc(.3s + var(--i)*.07s),color .3s}
.mn a:hover span,.mn a[aria-current] span{color:var(--marigold)}
.mn p{position:absolute;left:clamp(24px,7vw,110px);bottom:calc(28px + env(safe-area-inset-bottom,0px));color:var(--dim);opacity:0;transition:opacity .3s}
.mn.open p{opacity:1;transition-delay:.8s}
@media(prefers-reduced-motion:reduce){.mn *,.mn-btn i{transition-duration:.01s!important;transition-delay:0s!important}}
/* inner pages */
.pgm{max-width:1100px;margin:0 auto;padding:clamp(100px,14vw,150px) clamp(20px,5vw,48px) 90px}
.pgh{font-size:clamp(44px,9vw,120px);font-weight:800;font-variation-settings:"wdth" 78;line-height:.95;letter-spacing:-.02em}
.pgp{color:var(--dim);font-size:clamp(17px,2vw,22px);margin:14px 0 34px;max-width:46ch}
.st{min-height:1.6em;font-weight:600;margin:6px 0 18px}.st.ok{color:#2bd67b}.st.no{color:#ff6b5b}
.btn{display:inline-block;padding:15px 28px;border-radius:99px;background:var(--flame);color:var(--ink);font-weight:800;font-size:18px;margin:0 10px 10px 0;transition:transform .25s var(--ease)}
.btn:disabled{opacity:.35}.btn:active{transform:scale(.96)}.btn.alt{background:none;border:1.5px solid var(--bone);color:var(--bone)}
.cta.go-r:hover i svg{transform:translateX(5px)}
.sg{display:grid;gap:44px;grid-template-columns:minmax(0,1fr)}
.sc{width:min(100%,380px)}.sc .card{box-shadow:0 40px 90px -30px rgba(255,90,0,.55)}
@media(min-width:860px){.sg{grid-template-columns:380px minmax(0,1fr)}.sc{position:sticky;top:96px;align-self:start}}
.ctl{display:flex;flex-direction:column;gap:28px}.ctl h3{font-size:19px;font-weight:700;margin-bottom:10px}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ctl .fld input{font-size:clamp(24px,4vw,40px)}
.chip[aria-pressed="true"]{background:var(--bone);color:var(--ink)}.chip.lk{opacity:.6}.chip.g{font-size:22px;padding:6px 12px}
.ctl input[type=range]{flex:1;min-width:160px;accent-color:#ff8a00}
.card.mv .c-head,.card.mv .c-wish,.card.mv .c-person,.card.mv .c-qr{touch-action:none;cursor:grab}
.card.mv .c-head:active,.card.mv .c-wish:active,.card.mv .c-person:active,.card.mv .c-qr:active{cursor:grabbing}
.mut{color:var(--dim);font-size:16px}

.pts{list-style:none;margin-top:clamp(28px,5vw,60px)}
.pts li{font-size:clamp(26px,4.6vw,58px);font-weight:700;font-variation-settings:"wdth" 82;line-height:1.2;padding:14px 0;border-bottom:1px solid rgba(244,236,225,.14)}
mark{background:var(--flame);color:var(--ink);padding:0 .22em;border-radius:.22em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.start{padding:clamp(28px,6vw,70px) clamp(18px,4vw,48px)}
.stbox{display:flex;flex-direction:column;align-items:flex-start;gap:22px;border-radius:clamp(26px,4vw,48px);padding:clamp(40px,8vw,110px) clamp(24px,6vw,90px);background:var(--flame-h);color:var(--ink);box-shadow:0 40px 120px -40px rgba(255,120,0,.7)}
.stbox h2{font-size:clamp(46px,10vw,150px);font-weight:800;font-variation-settings:"wdth" 78;line-height:.92;letter-spacing:-.02em}
.stk{font-weight:700;font-size:clamp(18px,2.2vw,26px)}
.stb{display:inline-block;padding:20px 54px;border-radius:99px;background:var(--ink);color:var(--bone);font-weight:800;font-size:clamp(22px,3vw,34px);letter-spacing:.02em;transition:transform .35s var(--out)}
.stb:hover{transform:scale(1.05)}.stb:active{transform:scale(.96)}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,3vw,40px);max-width:760px;margin:clamp(30px,5vw,60px) auto 0}
.vs figure{display:flex;flex-direction:column;gap:12px;font-weight:800;font-size:clamp(20px,3vw,34px)}
.vs .pl .card{box-shadow:0 0 0 3px var(--marigold),0 30px 80px -20px rgba(255,150,0,.7)}
.vs .pl figcaption{background:var(--flame-h);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;width:max-content}
.cmp{width:100%;border-collapse:separate;border-spacing:0;margin-top:clamp(36px,6vw,80px);font-size:clamp(15px,2.2vw,24px)}
.cmp th,.cmp td{text-align:left;padding:16px 12px;border-bottom:1px solid rgba(244,236,225,.12);font-weight:600}
.cmp thead th{font-size:clamp(22px,3.4vw,40px);font-weight:800}
.cmp td.pl,.cmp th.pl{background:rgba(255,150,0,.1);color:var(--marigold)}
.cmp thead th.pl{border-radius:18px 18px 0 0;background:var(--flame-h);color:var(--ink)}
.cmp .x{opacity:.45}
.fs{display:flex;flex-direction:column;gap:6px;font-size:16px;color:var(--dim)}
.fs select{background:#1b1411;color:var(--bone);border:1.5px solid rgba(244,236,225,.3);border-radius:12px;padding:10px 12px;font-size:17px;min-width:210px;max-width:100%}
.drop{display:flex;flex-direction:column;align-items:center;gap:6px;padding:clamp(28px,6vw,60px) 20px;margin:20px 0;border:2px dashed rgba(244,236,225,.3);border-radius:24px;font-size:clamp(20px,3vw,30px);cursor:pointer;transition:border-color .25s,background .25s}
.drop.on,.drop:hover{border-color:var(--marigold);background:rgba(255,150,0,.07)}
.gg{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px}
.gg>div{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;background:#1b1411;content-visibility:auto;contain-intrinsic-size:150px 150px}
.gg img,.gg video{width:100%;height:100%;object-fit:cover;display:block}
.gg button{position:absolute;top:6px;right:6px;width:30px;height:30px;border-radius:50%;background:rgba(13,9,8,.75);color:var(--bone);font-size:18px;line-height:1}
/* menu: size by viewport height so every item fits */
.mn nav{padding-top:96px;padding-bottom:76px;overflow-y:auto}
.mn a{line-height:1.14;font-size:clamp(28px,min(12vw,calc((100vh - 200px)/10.4)),104px);font-size:clamp(28px,min(12vw,calc((100dvh - 200px)/10.4)),104px)}
@media(max-height:520px){.mn nav{display:grid;grid-template-columns:1fr 1fr;align-content:center;column-gap:32px;padding-top:68px;padding-bottom:48px}.mn a{font-size:clamp(22px,9dvh,42px)}}
/* floating elements: transform only */
.c-els i{transform:rotate(var(--r,0deg))}
.c-els.c-fl i{will-change:transform;animation:fl var(--d,8s) ease-in-out var(--w,0s) infinite alternate}
@keyframes fl{from{transform:translate3d(0,0,0) rotate(var(--r))}to{transform:translate3d(calc(var(--dx)*1cqw),calc(var(--dy)*1cqw),0) rotate(calc(var(--r) + 25deg))}}
@media(prefers-reduced-motion:reduce){.c-els.c-fl i{animation:none}}
/* studio editing */
.card .sel{outline:2px dashed var(--marigold);outline-offset:3px}
.card.mv>*:not(.c-els){touch-action:none;cursor:grab}
.fp{position:relative}
.fb{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:220px;max-width:100%;padding:11px 14px;border-radius:12px;border:1.5px solid rgba(244,236,225,.3);background:#1b1411;color:var(--bone);font-size:20px;text-align:left}
.fb::after{content:"▾";font-family:system-ui,sans-serif;font-size:14px;color:var(--dim)}
.fpl{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:max(100%,290px);max-height:340px;overflow:auto;background:#1b1411;border:1.5px solid rgba(244,236,225,.25);border-radius:14px;padding:6px;overscroll-behavior:contain}
.fpl[hidden]{display:none}.fpl.up{top:auto;bottom:calc(100% + 6px)}
.fg{padding:10px 10px 4px;font-size:14px;color:var(--dim);font-weight:600}
.fo{display:flex;justify-content:space-between;align-items:center;width:100%;padding:9px 10px;border-radius:9px;font-size:24px;text-align:left;color:var(--bone)}
.fo:hover,.fo.on{background:rgba(244,236,225,.1)}.fo.lk{opacity:.5}.fo small{font:600 12px system-ui,sans-serif;color:var(--marigold)}
.sl{display:grid;gap:8px;margin:14px 0}
.rg{display:grid;grid-template-columns:92px 1fr 54px;gap:10px;align-items:center;font-size:16px;color:var(--dim)}
.rg b{color:var(--bone);text-align:right;font-weight:600}
.ck{display:flex;gap:10px;align-items:center;margin-top:14px;font-size:17px}
/* affiliate pages */
.af-wrap{max-width:1100px;margin:0 auto;padding:clamp(96px,13vw,140px) clamp(16px,4vw,48px) 90px}
.af-wrap h2{font-size:clamp(22px,3vw,30px);font-weight:700;margin:34px 0 14px}
.af-card{background:#140d0a;border:1.5px solid rgba(244,236,225,.12);border-radius:22px;padding:clamp(18px,3vw,30px)}
.af-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:760px){.af-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.af-stat{background:#140d0a;border:1.5px solid rgba(244,236,225,.1);border-radius:18px;padding:16px}
.af-stat b{display:block;font-size:clamp(22px,3.4vw,32px);font-weight:800;font-variation-settings:"wdth" 82;line-height:1.1;overflow-wrap:anywhere}
.af-stat span{display:block;margin-top:6px;color:var(--dim);font-size:14px;font-weight:600}
.af-stat.hi{background:var(--flame-h);color:#1a0a05;border:0}.af-stat.hi span{color:#3a1a0a}
.af-in{width:100%;padding:14px 16px;border-radius:14px;border:1.5px solid rgba(244,236,225,.25);background:#0d0908;color:var(--bone);font-size:17px;margin-top:6px}
.af-in:focus{outline:2px solid var(--marigold);outline-offset:1px}
.af-l{display:block;color:var(--dim);font-size:15px;font-weight:600;margin-bottom:14px}
.af-link{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.af-link code{flex:1;min-width:200px;padding:14px 16px;border-radius:14px;background:#0d0908;border:1.5px solid rgba(244,236,225,.2);font-size:16px;overflow-wrap:anywhere}
.af-tbl{width:100%;border-collapse:collapse;font-size:15px}.af-tbl th{text-align:left;color:var(--dim);font-weight:600;padding:10px 12px;white-space:nowrap}
.af-tbl td{padding:12px;border-top:1px solid rgba(244,236,225,.1);vertical-align:top}.af-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.af-tag{display:inline-block;padding:3px 10px;border-radius:99px;font-size:13px;font-weight:700;background:rgba(244,236,225,.12);white-space:nowrap}
.af-tag.t-approved,.af-tag.t-paid,.af-tag.t-captured,.af-tag.t-dismissed{background:rgba(43,214,123,.18);color:#5ee8a0}
.af-tag.t-pending,.af-tag.t-requested,.af-tag.t-open,.af-tag.t-created{background:rgba(255,179,0,.18);color:#ffc94d}
.af-tag.t-held,.af-tag.t-high,.af-tag.t-medium,.af-tag.t-suspended{background:rgba(255,107,91,.2);color:#ff8f82}
.af-tag.t-rejected,.af-tag.t-reversed,.af-tag.t-refunded,.af-tag.t-failed,.af-tag.t-confirmed{background:rgba(255,61,129,.18);color:#ff7aa8}
.af-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:14px}.af-tabs .chip{flex:none}
.af-note{padding:14px 16px;border-radius:14px;background:rgba(255,179,0,.12);border:1.5px solid rgba(255,179,0,.3);margin:0 0 18px;font-weight:600}
.af-note.bad{background:rgba(255,107,91,.12);border-color:rgba(255,107,91,.35)}
.af-split{display:grid;gap:22px}@media(min-width:900px){.af-split{grid-template-columns:1.1fr .9fr}}
.af-dlg{background:#140d0a;color:var(--bone);border:1.5px solid rgba(244,236,225,.2);border-radius:22px;padding:24px;width:min(92vw,440px)}
.af-dlg::backdrop{background:rgba(0,0,0,.65)}.af-dlg h3{margin-bottom:16px;font-size:22px}
.af-mini{padding:7px 12px;font-size:14px;margin:2px 4px 2px 0}
.af-pts li{list-style:none;font-size:clamp(22px,3.4vw,34px);font-weight:700;font-variation-settings:"wdth" 82;line-height:1.25;padding:10px 0;border-bottom:1px solid rgba(244,236,225,.12)}
