.gf{--gf-bg:#fbf2eb;--gf-paper:#fffaf5;--gf-ink:#2c2621;--gf-muted:#8b7668;--gf-accent:#e7d3b3;--gf-primary:#b08d57;--gf-heading:var(--font-playfair), Georgia, serif;--gf-body:inherit;--gf-ease:cubic-bezier(.22, 1, .36, 1);--gf-ribbon-dark:color-mix(in srgb, var(--gf-primary) 76%, var(--gf-ink));--gf-ribbon-light:color-mix(in srgb, var(--gf-primary) 52%, var(--gf-paper));--gf-lid-mid:color-mix(in srgb, var(--gf-primary) 15%, var(--gf-paper));--gf-lid-edge:color-mix(in srgb, var(--gf-primary) 42%, var(--gf-paper));--gf-flap:.82s;--gf-w:min(340px, 78vw);font-family:var(--gf-body);color:var(--gf-ink);text-align:center}.gf[data-skin=template]{--gf-bg:var(--tpl-bg);--gf-paper:var(--tpl-surface);--gf-ink:var(--tpl-text);--gf-muted:var(--tpl-muted);--gf-accent:var(--tpl-accent);--gf-primary:var(--tpl-primary);--gf-heading:var(--tpl-font-heading)}.gf[data-skin=film]{--gf-bg:var(--paper,#f4ece6);--gf-paper:var(--paper-2,#eaded6);--gf-ink:var(--ink,#443833);--gf-muted:var(--muted,#8e7a72);--gf-accent:var(--gold-soft,#d9c4a3);--gf-primary:var(--gold,#b0895b);--gf-heading:var(--serif,Georgia, serif);--gf-body:var(--sans,ui-sans-serif, system-ui, sans-serif)}.gf__title{font-family:var(--gf-heading);color:var(--gf-ink);font-size:1.6rem;line-height:1.25}.gf__lead{color:var(--gf-muted);margin-top:.6rem;font-size:.95rem;line-height:1.7}.gf__urge{border:1px solid var(--gf-accent);background:var(--gf-paper);color:var(--gf-ink);animation:gf-rise .7s var(--gf-ease) both;border-radius:999px;margin-bottom:1rem;padding:.55rem 1.1rem;font-size:.82rem;line-height:1.5;display:inline-block}.gf__caption{letter-spacing:.08em;text-transform:uppercase;color:var(--gf-muted);margin-top:.9rem;font-size:.78rem}.gf__scene{width:var(--gf-w);height:calc(var(--gf-w) * 1.06);margin:3.75rem auto 0;position:relative}.gf__envelope{aspect-ratio:8/5;z-index:2;cursor:pointer;perspective:900px;width:70%;transition:transform .5s var(--gf-ease);background:0 0;border:0;padding:0;animation:4.5s ease-in-out infinite gf-float;display:block;position:absolute;top:0;left:15%}.gf[data-state=open] .gf__envelope,.gf[data-state=form] .gf__envelope,.gf[data-state=sealing] .gf__envelope{cursor:default;animation:none;transform:scale(.94)}.gf[data-live=off] .gf__envelope{animation-play-state:paused}.gf[data-state=dropping] .gf__envelope{cursor:default;animation:1.1s cubic-bezier(.5,0,.35,1) forwards gf-drop}.gf[data-state=sent] .gf__envelope{opacity:0;visibility:hidden;animation:none}.gf__envelope:focus-visible{outline:2px solid var(--gf-primary);outline-offset:6px;border-radius:14px}.gf__back{z-index:1;background:var(--gf-paper);border:1px solid var(--gf-accent);border-radius:12px;position:absolute;inset:0;box-shadow:0 18px 40px -22px #00000073}.gf__front{z-index:3;background:linear-gradient(170deg, color-mix(in srgb, var(--gf-paper) 62%, var(--gf-accent)), var(--gf-paper) 70%);filter:drop-shadow(0 -1px 0 var(--gf-accent));clip-path:polygon(0 32%,50% 72%,100% 32%,100% 100%,0 100%);border-radius:12px;position:absolute;inset:0}.gf__flap{z-index:4;transform-origin:top;backface-visibility:visible;background:color-mix(in srgb, var(--gf-paper) 82%, var(--gf-accent));height:62%;filter:drop-shadow(0 1px 0 var(--gf-accent));clip-path:polygon(0 0,100% 0,50% 100%);transition:transform var(--gf-flap) var(--gf-ease), z-index 0s linear calc(var(--gf-flap) / 2);border-radius:12px 12px 0 0;position:absolute;top:0;left:0;right:0}.gf[data-state=open] .gf__flap,.gf[data-state=form] .gf__flap{z-index:0;transform:rotateX(-145deg)}.gf__seal{z-index:5;background:var(--gf-primary);width:2.6rem;height:2.6rem;color:var(--gf-paper);font-family:var(--gf-heading);transition:opacity .35s var(--gf-ease);border-radius:50%;place-items:center;margin:-1.3rem 0 0 -1.3rem;font-size:1.1rem;display:grid;position:absolute;top:62%;left:50%;box-shadow:0 6px 14px -6px #00000080}.gf[data-state=open] .gf__seal,.gf[data-state=form] .gf__seal{opacity:0}.gf[data-state=sealing] .gf__seal{animation:gf-stamp .5s ease calc(var(--gf-flap) * .55) both}.gf__cash{z-index:2;background:linear-gradient(140deg, color-mix(in srgb, var(--gf-primary) 24%, var(--gf-paper)), var(--gf-paper));height:36%;box-shadow:inset 0 0 0 1px var(--gf-primary), inset 0 0 0 5px color-mix(in srgb, var(--gf-primary) 18%, transparent);font-family:var(--gf-heading);letter-spacing:.1em;color:var(--gf-primary);transition:transform .85s var(--gf-ease) .25s;border-radius:4px;place-items:center;font-size:1.25rem;display:grid;position:absolute;top:30%;left:18%;right:18%;transform:translateY(50%)}.gf[data-state=open] .gf__cash,.gf[data-state=form] .gf__cash{transform:translateY(-30%)rotate(-4deg)}.gf__box{width:70%;height:calc(var(--gf-w) * .52);position:absolute;bottom:0;left:15%}.gf__box:after{content:"";z-index:0;background:radial-gradient(#0000004d,#0000 68%);border-radius:50%;height:10%;position:absolute;bottom:-5%;left:2%;right:2%}.gf__mouth{z-index:1;background:color-mix(in srgb, var(--gf-ink) 66%, var(--gf-bg));border-radius:4px;height:17%;position:absolute;top:12%;left:8%;right:8%;box-shadow:inset 0 7px 11px -4px #000000bf}.gf__body{z-index:3;background:linear-gradient(90deg, color-mix(in srgb, var(--gf-primary) 30%, var(--gf-paper)), color-mix(in srgb, var(--gf-primary) 9%, var(--gf-paper)) 22%, color-mix(in srgb, var(--gf-primary) 9%, var(--gf-paper)) 62%, color-mix(in srgb, var(--gf-primary) 34%, var(--gf-paper)));box-shadow:inset 0 0 0 1px var(--gf-accent),  inset 0 14px 16px -12px #0009, 0 24px 42px -30px #000000a6;border-radius:2px 2px 8px 8px;position:absolute;inset:26% 3% 0}.gf__ribbon{z-index:4;background:linear-gradient(90deg, var(--gf-ribbon-dark), var(--gf-primary) 30%, var(--gf-ribbon-light) 55%, var(--gf-ribbon-dark));width:11%;position:absolute;top:26%;bottom:0;left:44.5%}.gf__lid{z-index:5;filter:drop-shadow(0 5px 6px #00000038);width:108%;height:auto;position:absolute;top:-13%;left:-4%;overflow:visible}.gf[data-state=dropping] .gf__lid{animation:gf-lid 1.1s var(--gf-ease) forwards}.gf__sparks{z-index:6;pointer-events:none;position:absolute;inset:0}.gf__sparks span{opacity:0;color:var(--gf-primary);font-size:.9rem;position:absolute;bottom:34%}.gf[data-state=dropping] .gf__sparks span{animation:gf-spark 1.6s var(--gf-ease) both}.gf__sparks span:first-child{animation-delay:.62s;left:14%}.gf__sparks span:nth-child(2){animation-delay:.84s;left:30%}.gf__sparks span:nth-child(3){animation-delay:.7s;left:46%}.gf__sparks span:nth-child(4){animation-delay:.98s;left:62%}.gf__sparks span:nth-child(5){animation-delay:.78s;left:78%}.gf__sparks span:nth-child(6){animation-delay:1.07s;left:88%}.gf__open{margin-top:1.5rem}.gf[data-state=sealing] .gf__open{pointer-events:none;animation:gf-tuck .72s var(--gf-ease) forwards;overflow:hidden}.gf__sheet{background:linear-gradient(180deg, color-mix(in srgb, var(--gf-paper) 88%, var(--gf-bg)), var(--gf-paper) 20%);box-shadow:inset 0 0 0 1px var(--gf-accent), 0 22px 46px -34px #000000b3;clip-path:polygon(0 0,calc(100% - 2rem) 0,100% 2rem,100% 100%,0 100%);text-align:left;animation:gf-rise .7s var(--gf-ease) .25s both;border-radius:3px;padding:1.35rem 1.2rem 1.5rem;position:relative}.gf__sheet:before{content:"";background:linear-gradient(45deg, color-mix(in srgb, var(--gf-accent) 62%, var(--gf-paper)) 50%, transparent 50%);width:2rem;height:2rem;position:absolute;top:0;right:0}.gf__sheet-head{font-family:var(--gf-heading);letter-spacing:.3em;text-transform:uppercase;color:var(--gf-muted);font-size:.72rem}.gf__steps{border-bottom:1px solid color-mix(in srgb, var(--gf-accent) 70%, transparent);flex-wrap:wrap;gap:.35rem .9rem;margin:.85rem 0 1.15rem;padding-bottom:.9rem;list-style:none;display:flex}.gf__step{letter-spacing:.04em;color:var(--gf-muted);opacity:.55;transition:opacity .3s var(--gf-ease);align-items:center;gap:.4rem;font-size:.74rem;display:inline-flex}.gf__step[data-on=true]{opacity:1;color:var(--gf-ink)}.gf__step-dot{border:1px solid var(--gf-accent);border-radius:50%;place-items:center;width:1.25rem;height:1.25rem;font-size:.68rem;font-weight:600;display:grid}.gf__step[data-on=true] .gf__step-dot{border-color:var(--gf-primary);background:var(--gf-primary);color:var(--gf-paper)}.gf__sides{gap:.7rem;display:grid}.gf__side-picks{gap:.5rem;display:grid}@media (min-width:26rem){.gf__side-picks{grid-template-columns:1fr 1fr}}.gf__side-back{justify-self:start;margin-bottom:.2rem;font-size:.72rem}.gf__cards{gap:.6rem;display:grid}.gf__cards-note{color:var(--gf-muted);font-size:.74rem;line-height:1.6}.gf__cards-lead{color:var(--gf-muted);font-size:.82rem;line-height:1.6}.gf__card{background:var(--gf-bg);transition:box-shadow .25s var(--gf-ease), background .25s var(--gf-ease);border-radius:12px;padding:.75rem .9rem;box-shadow:inset 0 0 0 1px #0000}.gf__card[data-on]{background:color-mix(in srgb, var(--gf-primary) 8%, var(--gf-bg));box-shadow:inset 0 0 0 1.5px var(--gf-primary)}.gf__pick{cursor:pointer;align-items:center;gap:.6rem;margin-bottom:.45rem;display:flex}.gf__pick input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gf__dot{border:1.5px solid var(--gf-accent);background:var(--gf-paper);width:1.05rem;height:1.05rem;transition:border-color .2s var(--gf-ease), box-shadow .2s var(--gf-ease);border-radius:50%;flex-shrink:0}.gf__card[data-on] .gf__dot{border-color:var(--gf-primary);box-shadow:inset 0 0 0 4px var(--gf-primary)}.gf__pick input:focus-visible+.gf__dot{outline:2px solid var(--gf-primary);outline-offset:2px}.gf__pick-text{letter-spacing:.03em;color:var(--gf-ink);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.gf__pick-on{background:var(--gf-primary);color:var(--gf-paper);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.1rem .5rem;font-size:.66rem;font-style:normal}.gf__card[data-busy]:not([data-on]){opacity:.72}.gf__card-busy{color:var(--gf-muted);margin-top:.4rem;font-size:.72rem;line-height:1.5}.gf__card-label{letter-spacing:.04em;color:var(--gf-muted);margin-bottom:.4rem;font-size:.76rem}.gf__card-number{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.gf__card-number span{letter-spacing:.04em;overflow-wrap:anywhere;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;font-weight:600}.gf__qr{border:1px solid var(--gf-accent);background:#fff;border-radius:10px;width:9rem;height:auto;margin:1rem auto 0;display:block}.gf__actions{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1.1rem;display:flex}.gf__btn{border:1px solid var(--gf-primary);background:var(--gf-primary);color:var(--gf-paper);font:inherit;cursor:pointer;transition:opacity .25s var(--gf-ease), transform .25s var(--gf-ease);border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:.7rem 1.4rem;font-size:.85rem;font-weight:600;display:inline-flex}.gf__btn:hover{transform:translateY(-1px)}.gf__btn[disabled]{opacity:.6;cursor:default;transform:none}.gf__btn--ghost{color:var(--gf-primary);background:0 0}.gf__btn--quiet{color:var(--gf-muted);text-underline-offset:3px;background:0 0;border-color:#0000;padding:.4rem .6rem;font-size:.78rem;text-decoration:underline}.gf__copy{border:1px solid var(--gf-accent);background:var(--gf-paper);color:var(--gf-primary);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:.3rem .75rem;font-size:.72rem;font-weight:600}.gf__form{animation:gf-rise .5s var(--gf-ease) both;gap:.9rem;display:grid}.gf__to{background:color-mix(in srgb, var(--gf-primary) 8%, var(--gf-bg));box-shadow:inset 0 0 0 1px var(--gf-accent);border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:.15rem .6rem;padding:.7rem .85rem;display:grid}.gf__to-label{letter-spacing:.08em;text-transform:uppercase;color:var(--gf-muted);grid-column:1/-1;font-size:.7rem}.gf__to-value{min-width:0;color:var(--gf-ink);overflow-wrap:anywhere;flex:1;font-size:.86rem;font-weight:600}.gf__field{gap:.35rem;display:grid}.gf__field>span{letter-spacing:.06em;text-transform:uppercase;color:var(--gf-muted);font-size:.76rem}.gf__field input,.gf__field textarea{border:1px solid var(--gf-accent);background:var(--gf-bg);width:100%;color:var(--gf-ink);font:inherit;border-radius:10px;padding:.65rem .85rem;font-size:.92rem}@media (max-width:767px),(pointer:coarse){.gf__field input,.gf__field textarea{font-size:16px}}.gf__field input:focus,.gf__field textarea:focus{outline:2px solid color-mix(in srgb, var(--gf-primary) 40%, transparent);outline-offset:1px}.gf__field textarea{resize:vertical}.gf__grid{gap:.9rem;display:grid}@media (min-width:480px){.gf__grid{grid-template-columns:1fr 1fr}}.gf__file{gap:.5rem;display:grid}.gf__drop{border:1px dashed var(--gf-primary);background:var(--gf-bg);color:var(--gf-primary);cursor:pointer;text-align:center;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.95rem;font-size:.85rem;font-weight:600;display:flex}.gf__drop input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gf__thumb{background:var(--gf-bg);border:1px solid var(--gf-accent);border-radius:12px;align-items:center;gap:.75rem;padding:.6rem;display:flex}.gf__thumb img{object-fit:cover;border-radius:8px;flex-shrink:0;width:3.2rem;height:3.2rem}.gf__thumb p{min-width:0;color:var(--gf-muted);overflow-wrap:anywhere;flex:1;font-size:.8rem}.gf__err{color:#b3261e;font-size:.8rem;font-style:normal}.gf__hint{color:var(--gf-muted);font-size:.78rem;line-height:1.6}.gf__thanks{animation:gf-rise .6s var(--gf-ease) both;margin-top:1.25rem}.gf__thanks p{font-family:var(--gf-heading);color:var(--gf-ink);font-size:1.15rem;line-height:1.6}@keyframes gf-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes gf-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes gf-tuck{0%{max-height:var(--gf-tuck,900px);opacity:1;margin-top:1.5rem;transform:none}to{opacity:0;max-height:0;margin-top:0;transform:translateY(-22px)scale(.9)}}@keyframes gf-stamp{0%{opacity:0;transform:scale(2.4)}70%{opacity:1;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes gf-drop{0%{transform:translateY(0)scale(.94)rotate(0)}22%{transform:translateY(calc(var(--gf-w) * -.09)) scale(.9) rotate(-3deg)}to{transform:translateY(calc(var(--gf-w) * .65)) scale(.38) rotate(5deg)}}@keyframes gf-lid{0%{transform:translate(0)rotate(0)}16%,64%{transform:translate(5%,-30%)rotate(-8deg)}90%{transform:translateY(2%)rotate(.8deg)}to{transform:translate(0)rotate(0)}}@keyframes gf-spark{0%{opacity:0;transform:translateY(0)scale(.6)}25%{opacity:1}to{opacity:0;transform:translateY(-90px)scale(1.05)}}@media (prefers-reduced-motion:reduce){.gf__envelope,.gf__sheet,.gf__form,.gf__thanks,.gf__urge,.gf__sparks span,.gf__lid,.gf[data-state=sealing] .gf__open,.gf[data-state=sealing] .gf__seal{animation:none!important}.gf__flap,.gf__cash,.gf__envelope,.gf__seal,.gf__card,.gf__dot,.gf__step,.gf__btn{transition:none!important}.gf__sparks{display:none}}
