.lotto-gift-fab{position:fixed;right:18px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:180;border:0;border-radius:16px;background:#c81624;color:#fff;min-width:70px;min-height:72px;padding:9px 12px;box-shadow:0 4px 18px #76001d33;font:800 13px/1.4 var(--sby-font,sans-serif);cursor:pointer;display:grid;justify-items:center;gap:3px}
.lotto-gift-fab[hidden]{display:none}.lotto-gift-fab .lotto-gift-art{width:46px;height:46px;object-fit:contain}.lotto-gift-fab[data-pending=true] .lotto-gift-art{transform-origin:50% 85%;animation:lotto-gift-wiggle 3.6s ease-in-out infinite}.lotto-gift-count{position:absolute;top:-6px;right:-5px;background:#fff;color:#b4121e;border:2px solid #c81624;border-radius:50%;min-width:24px;height:24px;display:grid;place-items:center;font-size:12px}
@keyframes lotto-gift-wiggle{0%,30%,100%{transform:translateY(0) rotate(0) scale(1)}6%,18%{transform:translateY(-4px) rotate(-12deg) scale(1.06)}12%,24%{transform:translateY(-4px) rotate(12deg) scale(1.06)}27%{transform:translateY(-1px) rotate(-4deg)}}
.miles:has(.lotto-gift-marker){margin-top:43px}.miles:has(.lotto-gift-marker) .track{margin-bottom:48px}.miles .pt.lotto-gift-marker{z-index:3}.lotto-milestone-gift{position:relative;display:grid;place-items:center;width:64px;height:64px;padding:0;border:0;border-radius:10px;background:transparent;color:#cf1728;cursor:pointer;touch-action:manipulation}.lotto-milestone-gift .lotto-gift-art{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 3px 2px #94271a20)}.lotto-milestone-gift[data-pending=true] .lotto-gift-art{transform-origin:50% 85%;animation:lotto-gift-wiggle 3.6s ease-in-out infinite}.lotto-milestone-gift[data-pending=false]{color:#8c5259}.lotto-milestone-gift:focus-visible{outline:3px solid #315996;outline-offset:2px}.miles .pt.lotto-gift-marker em{top:64px;color:var(--red);font-size:12px}.lotto-gift-check{position:absolute;right:0;top:0;width:19px;height:19px;border-radius:50%;background:#fff;color:#4d7960;font:bold 12px/16px sans-serif}
.lotto-gift-dialog{width:min(390px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:6px;background:#fffdf8;color:#272729;overflow:auto;box-shadow:0 12px 56px #0004;font-family:var(--sby-font,sans-serif)}.lotto-gift-dialog::backdrop{background:#18151ac2}.lotto-gift-dialog *{box-sizing:border-box}.lotto-gift-dialog button{font:inherit;cursor:pointer;touch-action:manipulation}.lotto-gift-dialog button:focus-visible,.lotto-gift-fab:focus-visible{outline:3px solid #315996;outline-offset:3px}.lotto-gift-dialog button:disabled{cursor:wait;opacity:.55}
.lotto-gift-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;background:#fff;border-bottom:1px solid #eadfe0}.lotto-gift-toolbar strong{font-size:15px}.lotto-gift-close{border:0;background:none;min-height:44px;min-width:44px;color:#555;font-size:14px!important}.lotto-gift-choices{display:flex;flex-wrap:wrap;gap:6px;padding:14px 18px 0}.lotto-gift-choices:empty{display:none}.lotto-gift-choice{flex:1;min-height:44px;padding:7px;border:1px solid #ddc9cb;border-radius:4px;background:#fff;color:#6d5659;font-size:13px!important;white-space:nowrap}.lotto-gift-choice[aria-pressed=true]{background:#a81723;color:#fff;border-color:#a81723}.lotto-gift-choice small{display:block;font-size:11px}
.lotto-receipt{padding:22px 20px 20px}.lotto-receipt-head{text-align:center;padding-bottom:17px;border-bottom:2px solid #a81723}.lotto-receipt-head p{margin:0;color:#a81723;font-size:13px;font-weight:700;letter-spacing:.08em}.lotto-receipt-head h2{font-size:25px;line-height:1.4;font-weight:850;margin:5px 0;color:#272729}.lotto-receipt-head time{font-size:13px;color:#655d59}.lotto-receipt-lines{padding:10px 0;border-bottom:2px solid #a81723}.lotto-receipt-line{display:grid;grid-template-columns:19px repeat(6,minmax(0,1fr));gap:5px;align-items:center;min-height:53px;border-bottom:1px dashed #e4d7d3;font-variant-numeric:tabular-nums}.lotto-receipt-line:last-child{border:0}.lotto-receipt-line b{font-size:14px;color:#a81723}.lotto-receipt-line span{text-align:center;font-size:23px;font-weight:780;letter-spacing:-.04em}.lotto-receipt-foot{text-align:center;padding-top:15px}.lotto-receipt-foot strong{display:block;font-size:14px;color:#a81723}.lotto-receipt-foot p{font-size:12px;line-height:1.6;color:#756d69;margin:7px 0 0}.lotto-gift-copy{display:block;width:100%;min-height:46px;margin:16px 0 0;border:1px solid #cec3bd;border-radius:4px;background:transparent;color:#514943;font-weight:750!important;font-size:14px!important}.lotto-gift-message{padding:32px 22px;text-align:center;font-size:15px;line-height:1.7}.lotto-gift-retry{display:block;margin:15px auto 0;min-height:44px;padding:8px 18px;background:#a81723;color:#fff;border:0;border-radius:5px}.lotto-gift-status{min-height:18px;font-size:12px;text-align:center;color:#67574e;padding:0 18px 10px}
@media(max-width:350px){.lotto-receipt{padding:18px 14px}.lotto-receipt-line{gap:3px}.lotto-receipt-line span{font-size:21px}.lotto-gift-choices{padding-inline:14px}}
@media(prefers-reduced-motion:reduce){.lotto-gift-fab[data-pending=true] .lotto-gift-art,.lotto-milestone-gift[data-pending=true] .lotto-gift-art{animation:none}}
.lotto-milestone-gift:disabled{cursor:default}.lotto-milestone-gift:disabled .lotto-gift-art{filter:grayscale(1);opacity:.38}.lotto-gift-lock{position:absolute;right:2px;bottom:2px;font-size:18px;line-height:1}.miles .lotto-gift-marker:has(button:disabled) em{color:var(--ink-3)}
.point-reward-stage{height:128px;display:flow-root}.point-promotion-stage{height:100%;display:flex;align-items:center;justify-content:center;gap:13px}.point-promotion-check{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:50%;background:#eef5ed;color:#427148;font-size:25px;font-weight:800}.point-promotion-stage strong{display:block;font-size:21px;color:var(--ink);font-weight:800}.point-promotion-stage p{margin:5px 0 0;font-size:12px;color:var(--ink-2)}
/* 1,600P부터 금액을 중앙에 배치. 128px 슬롯은 유지해 카드가 뛰지 않는다. */
.point-promotion-amount{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;text-align:center}
.promotion-boost-label{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:850;letter-spacing:.03em;color:#ac3911;background:#fff0cd;border:1px solid #f7d797;border-radius:4px;padding:2px 8px;line-height:16px}
.promotion-boost-label>span{font-size:17px;line-height:16px}.promotion-amount-label{font-size:12px;color:var(--ink-2);font-weight:600}
.point-promotion-amount>strong{font-size:36px;font-weight:850;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.dgauge.promotion-boost{position:relative;border-color:#f3b552;box-shadow:0 0 0 2px #fff4dc,0 0 12px #ffc75155}
.dgauge.promotion-boost>span{background:linear-gradient(90deg,#cf102d 0%,#ef5025 40%,#ffbd39 78%,#ffdc76 100%)}
.dgauge.promotion-boost::after{content:"";position:absolute;inset:0 auto 0 -45%;width:45%;background:repeating-linear-gradient(110deg,transparent 0 13px,#fff8 14px 18px,transparent 19px 29px);transform:translateX(0);animation:promotion-boost-run .8s linear 6;opacity:0;pointer-events:none}
@keyframes promotion-boost-run{0%{transform:translateX(0);opacity:.8}85%{opacity:.8}100%{transform:translateX(325%);opacity:0}}
@media(prefers-reduced-motion:reduce){.dgauge.promotion-boost::after{animation:none}.point-promotion-amount .jackpot{animation:none}}
