@font-face{font-family:UnwrapSerif;src:url('/static/app/fonts/DejaVuSerif.ttf')}
*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#190f0d;color:#fff4df;font-family:UnwrapSerif,Georgia,serif}
#stage{height:100svh;min-height:540px;position:relative;overflow:auto;isolation:isolate;background:radial-gradient(ellipse 76% 55% at 50% 0,#8a5b40 0,#3c241b 47%,#180e0d 88%)}
#stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(96deg,transparent 0 10px,#ffe1b008 11px 12px)}
.tiny-brand,.preview-note,.hint,.countdown,.just-open,.after,.report{position:absolute;z-index:40}.tiny-brand{top:19px;left:22px;color:#ffe4bb;text-decoration:none;font:11px Arial,sans-serif;letter-spacing:.18em}.preview-note{top:12px;left:50%;transform:translateX(-50%);margin:0;color:#f0c7a4;font-size:12px;white-space:nowrap}
.gift{position:absolute;left:50%;top:46%;width:min(92vw,390px);height:355px;transform:translate(-50%,-50%);filter:drop-shadow(0 30px 19px #070404a8)}.box{position:absolute;inset:72px 8px 0}.box-front{position:absolute;left:4%;right:4%;top:45px;bottom:5px;border-radius:6px;background:linear-gradient(90deg,#541013,#8f2021 13%,#b5322d 48%,#8c1d20 84%,#4c0e12);box-shadow:inset 0 2px 2px #f1a5894d,inset 13px 0 20px #3c070933,inset -14px 0 20px #31060970}.mouth{position:absolute;left:6%;right:6%;top:31px;height:40px;border-radius:4px;background:#130505;box-shadow:inset 0 9px 16px #000,0 7px 10px #3106079e;overflow:hidden}.lid{position:absolute;z-index:5;left:0;right:0;top:0;height:67px;border-radius:7px 7px 4px 4px;background:linear-gradient(#ca4c42 0,#8e211f 18%,#641114 92%);box-shadow:inset 0 3px #ffd2b363,inset 0 -7px #3a060a72,0 7px 8px #2306068c;transform-origin:50% 100%}
.up-beam{position:absolute;z-index:6;left:50%;top:-143px;width:230px;height:249px;opacity:0;transform:translateX(-50%);transform-origin:50% 100%;filter:blur(2px);background:linear-gradient(to top,#ffb94bce 0,#ffe6a588 27%,#ffe9bc20 65%,transparent 100%);clip-path:polygon(47% 100%,53% 100%,100% 0,0 0)}
.wrap{position:absolute;z-index:10;inset:72px 8px 0;touch-action:none;cursor:grab}.wrap:active{cursor:grabbing}#paper,#edge{position:absolute;inset:0;width:100%;height:100%}#edge{pointer-events:none}.ribbon{position:absolute;z-index:12;left:46%;top:0;width:9%;height:100%;background:linear-gradient(90deg,#57090e,#cf5044 32%,#f08873 49%,#a32526 65%,#56080d);box-shadow:2px 0 4px #2803078c}.bow{position:absolute;z-index:14;left:50%;top:-22px;width:150px;height:86px;transform:translateX(-50%);pointer-events:none}.bow i{position:absolute;top:12px;width:75px;height:49px;border-radius:65% 40% 60% 44%;background:radial-gradient(ellipse at 27% 25%,#ffab92 0 5%,#e25b4d 17%,#aa251f 55%,#51060b 100%);box-shadow:inset 7px 5px 8px #ffc2aa33,0 5px 5px #2802068c}.bow i:first-child{left:3px;transform:rotate(14deg)}.bow i:nth-child(2){right:3px;transform:scaleX(-1) rotate(14deg)}.bow b{position:absolute;z-index:2;left:59px;top:27px;width:32px;height:30px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#ff9b80,#a8201d 55%,#4b0508)}.tag{position:absolute;z-index:15;right:15%;bottom:47px;width:96px;min-height:57px;padding:16px 7px 5px;display:grid;place-items:center;border-radius:3px;background:#fff3d8;color:#59372d;transform:rotate(8deg);box-shadow:0 5px 7px #13060677;font-size:18px;text-align:center}.tag:before{content:"";position:absolute;left:9px;top:8px;width:7px;height:7px;border-radius:50%;background:#98221d}.tag small{font:7px Arial,sans-serif;letter-spacing:.12em;margin-top:5px}
.confetti{position:absolute;z-index:9;left:50%;top:106px;width:1px;height:1px;pointer-events:none}.confetti i{position:absolute;width:7px;height:14px;opacity:0;transform-origin:50% 90%}.card{position:absolute;z-index:8;left:50%;top:88px;width:min(74vw,292px);min-height:150px;padding:31px 19px 17px;transform:translate(-50%,90px) rotate(-1deg);opacity:0;text-align:center;color:#653c32;background:linear-gradient(135deg,#fffdf4,#f3ddbd);border-radius:4px;box-shadow:0 14px 26px #1d0909a6}.card:before{content:"";position:absolute;inset:9px;border:1px solid #b88b5e66;border-radius:2px}.card p{position:relative;margin:14px 0 0;font-size:clamp(22px,6vw,31px);line-height:1.28;white-space:pre-wrap}.card img{position:relative;max-width:100%;max-height:150px;object-fit:cover}
.hint{left:0;right:0;bottom:7vh;text-align:center;font:12px Arial,sans-serif;letter-spacing:.19em;text-transform:uppercase;text-shadow:0 2px 6px #000}.hint:after{content:"";display:block;width:42px;border-top:1px solid currentColor;margin:9px auto}.countdown{top:55px;left:50%;transform:translateX(-50%);padding:9px 13px;border:1px solid #eccb91;border-radius:100px;color:#fff1d3;font-size:13px;white-space:nowrap}.just-open{left:50%;bottom:22px;transform:translateX(-50%);border:1px solid #f7dfb4;background:#2e1711;color:#f7dfb4;padding:9px 13px;opacity:0;pointer-events:none;cursor:pointer;transition:opacity .5s}.just-open.ready{opacity:.8;pointer-events:auto}.after{top:calc(47% + 182px);left:50%;width:min(90vw,430px);transform:translateX(-50%);text-align:center;opacity:0;pointer-events:none;transition:.4s}.warm-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:#edc077;color:#32150e;padding:12px 16px;border:0;border-radius:3px;text-decoration:none;font:inherit;cursor:pointer}.after .warm-button{display:inline-flex}.upgrade-card{background:#fff4dd;color:#392019;padding:16px;box-shadow:0 18px 35px #0007}.upgrade-card h2{font-weight:400;margin:4px 0;font-size:26px}.upgrade-card ul{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;margin:10px 0;padding-left:19px;text-align:left;line-height:1.35}.copy-link{display:block;margin:9px auto;background:none;border:0;text-decoration:underline;color:#56342a;font:inherit;cursor:pointer}.upgrade-card p{font-size:12px;margin:9px 0}.badge,.report{font:11px Arial,sans-serif;color:#ffe1bd}.report{bottom:14px;right:18px}.reply{margin:17px auto;color:#ffe0c1;text-align:left}.reply label{display:grid;gap:6px}.reply textarea{font:inherit;padding:8px;min-height:54px;width:100%}.reply button{margin-top:6px;background:#edc077;border:0;padding:8px;color:#30150e}
.open .wrap,.open .ribbon,.open .bow,.open .tag{opacity:0;transition:opacity .15s}.open .lid{animation:lidFlight 1.18s cubic-bezier(.18,.7,.2,1) forwards}.open .up-beam{opacity:1;animation:beam .9s ease-out forwards}.open .confetti i{animation:confetti 1.45s cubic-bezier(.13,.7,.3,1) forwards}.open .card{animation:cardUp .85s .3s cubic-bezier(.2,.8,.25,1) forwards}.open .after{opacity:1;pointer-events:auto;transition-delay:1.05s}.open .hint,.open .just-open{opacity:0;pointer-events:none}@keyframes lidFlight{0%{transform:translateY(0) rotate(0)}25%{transform:translateY(-38px) rotate(-5deg)}52%{transform:translate(42px,-190px) rotate(20deg)}100%{transform:translate(92px,-460px) rotate(46deg)}}@keyframes beam{from{transform:translateX(-50%) scaleY(.08);opacity:0}to{transform:translateX(-50%) scaleY(1);opacity:.95}}@keyframes confetti{0%{opacity:1;transform:rotate(0) translate(0,0)}100%{opacity:0;transform:rotate(450deg) translate(var(--x),var(--y))}}@keyframes cardUp{to{opacity:1;transform:translate(-50%,-75px) rotate(-1deg)}}.locked .gift{animation:shake .45s ease-in-out}.locked .wrap{cursor:not-allowed}@keyframes shake{20%{transform:translate(-54%,-50%) rotate(-2deg)}55%{transform:translate(-46%,-50%) rotate(2deg)}}
body:has(.home-gift){overflow:auto}#stage.home-gift{height:calc(100svh - 59px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.just-open{opacity:1!important;pointer-events:auto!important}}@media(max-width:500px){.preview-note{top:40px;font-size:10px}.after{top:calc(46% + 132px)}.upgrade-card{padding:12px}.upgrade-card h2{font-size:22px}.upgrade-card ul{font-size:14px;gap:3px 12px;margin:7px 0}.upgrade-card .warm-button{margin-top:8px;padding:11px 14px}.home-gift .gift{top:44%}.home-gift .after{top:calc(44% + 142px)}}
