.gift-game .gift-stage-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 4px 5px;font-size:13px;color:#70607e;line-height:1.5;min-height:38px}.gift-game .gift-stage-summary>span{overflow-wrap:anywhere}.gift-game .gift-stage-summary .btn{flex-shrink:0;font-size:11px}
.gift-game [data-tree=kumquat][data-density=normal] .hanging{width:clamp(44px,4vw,58px);height:clamp(62px,5.5vw,78px)}
.gift-game .gift-penalty-toggle{margin:17px 0 10px}.gift-game #gift-penalty-fields>label{display:block;font-size:12px;font-weight:700;margin:12px 0 8px}.gift-game #gift-penalties{width:100%;padding:10px;border:1px solid #efced2;border-radius:10px;background:#fffafb;font:500 13px/1.6 system-ui;resize:vertical;color:#4e2735}
.gift-game .gift-dialog{--modal-accent:#ac5720;--modal-soft:#fff1d1;position:fixed;inset:0;margin:auto;width:min(540px,calc(100vw - 30px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:28px;overflow-y:auto;background:#fffdf8;color:#321c38;box-shadow:0 28px 100px #23113b60;overscroll-behavior:contain;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
.gift-game .gift-dialog::backdrop{background:#21123180;backdrop-filter:blur(7px)}
.gift-game .gift-dialog[open]{animation:giftPopupIn .32s cubic-bezier(.2,.8,.3,1.1)}
.gift-game .gift-modal-surface{position:relative;isolation:isolate;overflow:hidden;padding:38px 30px 28px;text-align:center;border-radius:28px;background:radial-gradient(ellipse at 50% 0,var(--modal-soft),#fffdfb 65%)}
.gift-game .gift-modal-close{position:absolute;right:15px;top:15px;width:34px;height:34px;border:1px solid #e5dbd8;background:#ffffffb3;color:#937d86;border-radius:50%;font-size:24px;line-height:1;z-index:2}
.gift-game .gift-modal-icon{position:relative;width:86px;height:86px;display:grid;place-items:center;margin:0 auto 20px;border-radius:28px;background:var(--modal-soft);border:1px solid #ffffff;color:var(--modal-accent);font-size:50px;font-weight:850;box-shadow:0 8px 30px #a75e1d15,inset 0 0 0 5px #ffffff6b;transform:rotate(-5deg)}
.gift-game .gift-dialog h3{font-size:25px;font-weight:850;letter-spacing:-.5px;margin:0 0 18px;color:#34233e}
.gift-game .gift-dialog .result-card{display:block;margin:0 0 22px;min-height:0;padding:18px 12px;border:1px solid #ffffffc9;border-radius:18px;background:#ffffffb3;box-shadow:0 4px 18px #52322206}
.gift-game .gift-dialog .result-label{font-size:10px;letter-spacing:1.4px;color:var(--modal-accent);font-weight:750}
.gift-game .gift-dialog .result-value{font-size:clamp(28px,6vw,49px);line-height:1.3;font-weight:900;letter-spacing:-1px;color:var(--modal-accent);max-height:35dvh;overflow:auto;overflow-wrap:anywhere;margin-top:12px;padding:0 4px}
.gift-game .gift-dialog[data-kind=challenge]{--modal-accent:#7538bd;--modal-soft:#f0e3ff}
.gift-game .gift-dialog[data-kind=penalty]{--modal-accent:#bd3c5a;--modal-soft:#ffe3e9}
.gift-game .gift-dialog[data-kind=skipped]{--modal-accent:#70828e;--modal-soft:#e9eff3}
.gift-game .gift-dialog[data-kind=challenge] .result-value,.gift-game .gift-dialog[data-kind=penalty] .result-value,.gift-game .gift-dialog[data-kind=skipped] .result-value{font-size:clamp(22px,4vw,30px);letter-spacing:-.3px;line-height:1.5}
.gift-game .gift-dialog .gift-challenge-actions{padding:0;border:0;background:none;margin:0}
.gift-game .gift-dialog .gift-challenge-actions p{margin:0 0 14px;color:#8a7996;font-size:12px}
.gift-game .gift-dialog .actions{display:grid;grid-template-columns:1fr;gap:10px}
.gift-game .gift-dialog .btn{min-height:46px;border-radius:13px;font-size:13px}
.gift-game .gift-modal-continue{width:100%;font-size:14px}
.gift-game .gift-dialog[data-kind=penalty] .gift-modal-continue{background:#bd3c5a;border-color:#bd3c5a}
.gift-game .gift-dialog #gift-skip{color:#a75064;background:#fff4f6;border-color:#f1d6de}
.gift-game .gift-modal-confetti{position:absolute;inset:0;pointer-events:none;z-index:-1}
.gift-game .gift-modal-confetti i{position:absolute;left:calc(var(--i)*8%);top:calc(8% + mod(var(--i),3)*12%);width:7px;height:13px;border-radius:2px;background:#e8b74b;opacity:.35;transform:rotate(calc(var(--i)*33deg))}
.gift-game .gift-modal-confetti i:nth-child(3n){background:#e692b3}.gift-game .gift-modal-confetti i:nth-child(3n+1){background:#9cbf9c;width:5px;height:9px}
@keyframes giftPopupIn{from{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){.gift-game .gift-modal-surface{padding:30px 20px 22px}.gift-game .gift-dialog h3{font-size:23px}.gift-game .gift-modal-icon{width:70px;height:70px;font-size:40px;margin-bottom:16px}.gift-game .gift-stage-summary{font-size:12px;gap:7px}.gift-game .gift-stage-summary .btn{padding:8px;font-size:10px;min-height:36px}}
@media(prefers-reduced-motion:reduce){.gift-game .gift-dialog[open]{animation:none}}
.gift-game .gift-penalty-image-list{display:grid;gap:10px;margin:12px 0}
.gift-game .gift-penalty-image-row{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;padding:12px;background:#fff9fb;border:1px solid #eed9e2;border-radius:12px}
.gift-game .gift-penalty-image-row>strong{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.gift-game .gift-penalty-image-row>img{width:100%;height:115px;object-fit:contain;border-radius:8px;background:#fff}
.gift-game .gift-penalty-image-row>input{width:100%;min-width:0;font-size:11px;color:#896f7d}
.gift-game .gift-penalty-image-row input::file-selector-button{font:700 11px system-ui;color:#773e72;background:#f9edf4;border:1px solid #e9cedd;border-radius:8px;padding:9px;margin-right:7px;cursor:pointer}
.gift-game .gift-penalty-image-row>.btn{font-size:11px;min-height:32px;padding:5px 9px;justify-self:end}
.gift-game .gift-dialog .gift-result-image{display:block;max-width:100%;width:100%;max-height:30dvh;object-fit:contain;margin:0 auto 20px;border-radius:14px;background:#ffffffb3}
.gift-game .gift-dialog:has(.gift-result-image:not([hidden])) .result-card{margin-bottom:14px}
.gift-game .gift-dialog:has(.gift-result-image:not([hidden])) .result-value{max-height:20dvh;font-size:clamp(21px,4vw,29px)}
