/* Personal stationery: ink, paper, useful controls and a few questionable jokes. */
.guest{--bg:#f7f3e9;--paper:#fffdf7;--ink:#2f2b27;--red:#9a3540;--dark:#70252e;--muted:#777168;--line:#d8d1c3;--selected:#f4e9df;background:var(--bg);font-family:'Segoe UI',Arial,sans-serif}
.guest:before,.guest .ambient,.guest .scene-aura{display:none}
.guest-header{height:72px;max-width:1140px;padding:0 28px;font-size:11px}
.byline{gap:12px;letter-spacing:.1px}
.byline .heart{font-family:Georgia,serif;font-size:18px;width:30px;height:35px;display:grid;place-items:center;border:1px solid var(--red);border-radius:2px;transform:rotate(-5deg);animation:none;background:var(--paper);box-shadow:2px 2px 0 #d3c6b4}
.motion-toggle{font-size:10px;padding:7px 11px;border-radius:6px;background:var(--paper);border:1px solid var(--line);color:var(--muted)}
.progress{height:2px;background:#e9e1d2}.progress-heart{display:none}
.guest-main{padding:24px 30px 32px;min-height:calc(100dvh - 134px)}
.invitation-layout{max-width:1000px;grid-template-columns:minmax(0,610px) 300px;gap:75px}
.guest h1,.guest h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.09;font-size:51px;letter-spacing:-1.7px}
.guest h1.intro{font-size:62px;letter-spacing:-2px;line-height:1.1}
.guest h1 em,.guest h2 em{font-style:italic}
.question-no{font-family:'Cascadia Mono','Courier New',monospace;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:20px}
.support{font-size:15px;line-height:1.6;max-width:475px;margin-bottom:27px;color:var(--muted)}
.guest .primary{border:1px solid var(--dark);border-radius:8px;min-height:51px;font-size:14px;font-weight:600;padding:13px 19px;box-shadow:0 4px 0 var(--dark);gap:23px;overflow:visible}
.guest .primary:before{display:none}.guest .primary:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--dark);background:var(--red)}
.guest .primary:active{transform:translateY(3px);box-shadow:0 1px 0 var(--dark)}
.guest .primary .arrow{font-size:20px;font-weight:400}.enter-hint{font:10px 'Courier New',monospace;margin-left:14px;color:#928a7e}
.handwritten{font:italic 16px/1.5 Georgia,serif;color:#8a7161;letter-spacing:.1px}
.intro-aside{display:flex;align-items:center;gap:10px;margin:24px 0 0 12px;transform:rotate(-3deg)}
.intro-aside svg{width:42px;height:22px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;transform:rotate(12deg)}
.guest .date-slot{padding:14px 15px;background:var(--paper);border:1px solid var(--line);border-radius:9px;grid-template-columns:1.35fr 1fr 23px;gap:15px;box-shadow:2px 3px 0 #d8cfbd40;margin-bottom:12px}
.guest .field span{font:10px 'Courier New',monospace;text-transform:uppercase;letter-spacing:1px;color:#968a78;margin:0 0 4px}
.guest input[type=date],.guest input[type=time]{padding:6px 0;border:0;font-size:17px;min-height:36px;background:transparent;cursor:pointer}
.guest .remove-date{border:1px solid var(--line);width:24px;height:24px;border-radius:50%;padding:0;line-height:18px;font-size:17px;align-self:center;background:var(--bg);color:#9f9485}
.guest .remove-date:hover{color:var(--red);border-color:var(--red)}
.guest .add-date{margin:5px 0 25px;font-size:12px;text-decoration:none;border-bottom:1px dashed #b99b91;padding-bottom:3px}
.guest .date-slot.is-complete{box-shadow:2px 3px 0 #d8cfbd55;border-color:#baa794}
.guest .options{grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}
.guest .choice{animation-duration:.45s}
.guest .choice-content{position:relative;display:grid;grid-template-columns:31px minmax(0,1fr);align-content:center;align-items:start;gap:12px;padding:17px 24px 17px 14px;min-height:99px;border:1px solid var(--line);border-radius:9px;background:var(--paper);transform:none;box-shadow:0 2px 0 #d8cfbd29;transition:transform .25s,box-shadow .25s,background .2s,border-color .2s}
.guest .choice-content:before{content:"";position:absolute;left:-1px;right:-1px;bottom:9px;border-bottom:1px dashed #d8cfbd55;pointer-events:none}
.guest .choice-name{font-size:16px;line-height:1.25;font-weight:600;letter-spacing:-.2px;display:block}
.choice-copy{display:block;min-width:0}
.choice-caption{display:block;font-size:10.5px;line-height:1.45;font-weight:400;color:var(--muted);margin-top:5px;max-width:205px}
.choice-art{width:29px;height:29px;display:block;color:var(--red);transform:rotate(-4deg);transition:transform .35s}
.choice-art svg,.idea-moon svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.guest .letter{position:absolute;top:6px;right:7px;width:16px;height:18px;font:9px 'Courier New',monospace;border:0;background:none;color:#b2a797}
.guest .tick{position:absolute;right:9px;bottom:11px;width:16px;height:16px;border:1px solid #d9cdbb;border-radius:50%;display:grid;place-items:center;font-size:10px;line-height:1;opacity:1;color:transparent;background:var(--paper)}
.guest .choice:hover .choice-content{transform:translateY(-3px) rotate(-.4deg);background:#fffdf7;box-shadow:3px 5px 0 #d6c4b14d}
.guest .choice:hover .choice-art{transform:translateY(-2px) rotate(-12deg)}
.guest .choice input:checked+.choice-content{border:1.5px solid var(--red);padding:16.5px 23.5px 16.5px 13.5px;background:#f5ebe1;transform:translateY(-2px) rotate(-.3deg);box-shadow:3px 4px 0 #cdb19b4d}
.guest .choice input:checked+.choice-content .letter{background:none;color:var(--red);border:0;animation:none;transform:none}
.guest .choice input:checked+.choice-content .tick{background:var(--red);border-color:var(--red);color:var(--paper)}
.guest .choice input:checked+.choice-content .choice-art{animation:ink-icon-hop .6s cubic-bezier(.18,.9,.2,1)}
.choice-emoji{display:none}
.activity-aside{font:italic 13px/1.5 Georgia,serif;min-height:22px;margin:0 0 18px;color:#8b6e5c}
.activity-aside.is-changed{animation:aside-arrive .35s ease}
.guest .terms{counter-reset:none;font:22px/1.7 Georgia,serif;padding-left:30px;margin:0 0 18px}
.guest .terms li::marker{color:var(--red);font-size:19px}
.terms-aside{display:flex;align-items:center;gap:14px;margin:0 0 26px;font:italic 13px Georgia,serif;color:#8b7565}
.mini-stamp{display:grid;place-items:center;text-align:center;width:45px;height:39px;border:2px double var(--red);border-radius:3px;font:8px/1.3 'Courier New',monospace;letter-spacing:.5px;color:var(--red);transform:rotate(-9deg);flex-shrink:0}
.guest .joke{min-height:104px;margin-bottom:13px}.joke p{font:25px/1.25 Georgia,serif}.joke em{font-style:italic}.joke small{display:block;margin-top:13px;font-size:11px;color:var(--muted)}
.guest .joke-reveal{animation-duration:.55s}
.personality-ready #answer-summary{display:none}
.plan-receipt{display:none}.personality-ready .plan-receipt{display:block;max-width:440px;background:#fffdf7;border:1px solid #ded4c1;box-shadow:3px 6px 0 #d8cfbd3d;padding:20px 22px 24px;margin:21px 0 12px;position:relative;transform:rotate(-1deg)}
.plan-receipt:after{content:"";position:absolute;bottom:-6px;left:-1px;right:-1px;height:7px;background:linear-gradient(135deg,var(--bg) 4px,transparent 0) 0 0/10px 10px,linear-gradient(225deg,var(--bg) 4px,transparent 0) 0 0/10px 10px}
.receipt-heading{font:10px 'Courier New',monospace;letter-spacing:1.4px;color:var(--red);margin:0 0 12px;padding-bottom:12px;border-bottom:1px dashed #cbbca5;display:flex;align-items:center;justify-content:space-between;gap:15px}
.receipt-heading span:last-child{border:1px solid var(--red);padding:2px 5px;transform:rotate(5deg);font-size:8px}
.receipt-label{font:9px 'Courier New',monospace;text-transform:uppercase;letter-spacing:1px;color:#a0917d;margin:12px 0 5px}
.receipt-content{font:12px/1.7 'Courier New',monospace;white-space:pre-line;color:#6d6151;margin:0}
.receipt-note{font:italic 12px/1.5 Georgia,serif;color:#8b7565;border-top:1px dashed #cbbca5;padding-top:12px;margin:16px 0 0}
.success-aside{font-size:13px;margin:18px 0 0;transform:rotate(-2deg)}
.guest #step-5 .support{margin-bottom:16px}.guest #copy-answer{font-size:11px;display:inline-block;margin-top:6px}
.scene-column{width:300px;min-height:375px;position:relative;align-self:center}
.guest .scene{position:relative;width:300px;height:330px;max-width:none;transform:none;margin:0;align-self:auto;perspective:1000px}
.guest[data-step="4"] .scene{transform:none}
.scene-play{position:absolute;left:50%;bottom:0;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;border:1px dashed #c8b7a1;border-radius:5px;background:var(--paper);color:#9d7d65;padding:7px 10px;font:10px 'Courier New',monospace;min-height:31px;transition:background .2s,color .2s}
.scene-play:hover{background:#efe5d6;color:var(--red)}.scene-play:active{transform:translateX(-50%) translateY(2px)}
.scene-play svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s}.scene-play:hover svg{transform:rotate(55deg)}
.scene-caption{font:italic 12px Georgia,serif;color:#a4866f;letter-spacing:0}
.stage .orbit,.stage .date-orbit,.stage .ring-halo,.stage .success-orbit,.stage .plane-trail{display:none}
.stage .scene-spark,.stage .date-star,.stage .ring-spark{opacity:.4;animation-duration:7s}
.stage .scene-shadow{filter:blur(4px);opacity:.45;background:#6b4c2c1f}
.stage-letter .envelope{animation:envelope-turn 15s ease-in-out infinite}
.stage-letter .envelope-flap,.stage-letter .love-letter{animation-duration:15s}
.stage-letter .floating-heart{font-family:Georgia,serif;text-shadow:-1px -1px #efd3c2,1px 1px #8a3039,2px 2px #8a3039,3px 3px #70252e,5px 9px 9px #66323e12}
.stage-letter .wax-seal{background:var(--red);border-color:#a64e53;box-shadow:2px 3px 0 var(--dark);color:#e2b5a7}
.stage-letter .love-letter{background:#fffdf6}.stage-letter .love-letter span{font-family:'Courier New',monospace;font-style:normal;font-size:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.stage-letter .envelope-back{box-shadow:1px 1px #ac6c65,2px 2px #ac6c65,3px 3px #ac6c65,4px 4px #ac6c65,5px 5px #ac6c65,6px 6px #ac6c65,12px 18px 18px #64333d12}
.postage-stamp{position:absolute;right:6px;top:15px;width:36px;height:41px;border:2px dotted #a85150;color:#a85150;display:grid;place-items:center;font:7px/1.2 'Courier New',monospace;transform:translateZ(9px) rotate(8deg);padding:3px}
.postage-stamp svg{width:19px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4}
.calendar-face{background:#fffdf5}.calendar-month{background:var(--red);font-family:'Courier New',monospace;letter-spacing:2px;font-size:10px}.calendar-face strong{font-family:Georgia,serif}.calendar-day{font:italic 15px Georgia,serif}
.clock-3d{background:#f8f0dc;box-shadow:3px 4px 0 #957047,7px 10px 13px #75483517}
.idea-moon{background:#fffdf6;box-shadow:2px 3px 0 #d0bda6,6px 8px 11px #64333d0b;border-radius:10px;padding:12px;color:#9c6d52}
.idea-ticket{background:#fffdf6;border-color:#d9c5ad;border-radius:7px;box-shadow:2px 3px 0 #bfa58b,4px 6px 0 #bfa58b,10px 14px 17px #64333d12}
.ticket-eyebrow{font:8px 'Courier New',monospace;letter-spacing:1.4px;color:#ac9276}
.ticket-icon{display:grid;place-items:center;height:90px;font-size:0;margin:12px auto 8px;filter:none;transform-style:preserve-3d;animation:ticket-icon-float 6s ease-in-out infinite}
.idea-ticket strong{font:italic 17px/1.15 Georgia,serif}.ticket-bottom{font:8px 'Courier New',monospace;letter-spacing:.4px}
.contract-3d{background:#fffdf6}.contract-title{font:8px 'Courier New',monospace}.contract-stamp{animation-duration:8s}.contract-signature{font-size:16px}
.grand-ring{border-top-color:#ead09a;border-left-color:#d7af66;box-shadow:2px 1px 0 #967039,4px 2px 0 #967039,6px 3px 0 #967039,10px 16px 20px #8a663c17,inset 2px 3px 3px #906e3233}
.grand-diamond{filter:drop-shadow(2px 4px 0 #8b895733)}.gem-glint{font-size:24px}
.guest .scene.is-fidgeting .envelope{animation:envelope-fidget 1.3s cubic-bezier(.15,.7,.2,1) both}
.guest .scene.is-fidgeting .calendar-face{animation:page-fidget 1.1s ease both;transform-origin:50% 16px}
.guest .scene.is-fidgeting .idea-ticket{animation:ticket-fidget 1.25s cubic-bezier(.15,.7,.2,1) both}
.guest .scene.is-fidgeting .contract-stamp{animation:stamp-fidget .9s cubic-bezier(.2,.8,.2,1) both}
.guest .scene.is-fidgeting .fountain-pen{animation:pen-fidget 1.2s ease both}
.guest .scene.is-fidgeting .grand-ring{animation:ring-fidget 1.4s cubic-bezier(.15,.7,.2,1) both}
.guest .scene.is-fidgeting .success-heart{animation:heart-fidget 1.3s ease both}
.guest .scene.is-fidgeting .book-cover{animation:book-fidget 1.2s ease both}
.guest .scene.is-fidgeting .kernel{animation:kernel-fidget 1.1s ease both;animation-delay:calc(var(--k)*35ms)}
.guest .scene.is-fidgeting .clapper-top{animation:clapper-fidget 1s ease both}
.quip-toast{position:fixed;z-index:14;bottom:22px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 35px);padding:13px 19px;background:var(--paper);color:#6e5948;border:1px solid #bfa68b;border-radius:6px;box-shadow:3px 5px 0 #d0baa355;font:italic 14px/1.4 Georgia,serif;text-align:center;animation:toast-arrive .3s ease both}
.guest-footer{height:62px;font:10px 'Courier New',monospace;color:#a2927e;padding:0 30px}
.back{border-color:#d0c3b1;border-radius:7px;background:var(--paper);width:34px;height:31px;font-size:17px}.back:hover{border-color:var(--red);color:var(--red)}.step-count{letter-spacing:1px}
.guest .preview-note{font:10px 'Courier New',monospace;color:#96745f;background:var(--bg)}
.guest .error{font-size:12px;line-height:1.6}
/* Small props, assembled from planes rather than stock emoji. */
.prop{position:relative;width:82px;height:78px;transform-style:preserve-3d;color:var(--red);font-size:12px;line-height:1}
.prop-default{display:grid;place-items:center}.prop-default svg{width:62px;height:62px;fill:none;stroke:currentColor;stroke-width:1.2;filter:drop-shadow(3px 4px 0 #dbc3ab66);transform:rotateY(-18deg)}
.prop-book{width:64px;height:76px;background:#dfcfac;box-shadow:5px 3px 0 #bea57e;transform:rotateY(-24deg) rotate(-8deg);border-radius:2px;transform-style:preserve-3d}
.book-pages{position:absolute;inset:4px -5px 4px 4px;background:repeating-linear-gradient(#eee4cf 0 2px,#d6c8aa 2px 3px);transform:translateZ(-5px);border:1px solid #cebd9a}
.book-cover{position:absolute;inset:0;background:#607459;border:1px solid #425941;border-radius:2px;transform-origin:left;transform:translateZ(5px);box-shadow:1px 1px 0 #425941;display:grid;place-content:center;text-align:center;color:#efead5;font:7px/1.65 'Courier New',monospace;letter-spacing:.7px;backface-visibility:visible}
.book-cover:after{content:"";position:absolute;inset:5px;border:1px solid #d8d5b345}.book-spine{position:absolute;left:-5px;top:0;bottom:0;width:7px;background:#495f44;transform:rotateY(-90deg);transform-origin:right}
.prop-popcorn{width:64px;height:72px;transform:rotateY(-22deg) rotate(-7deg)}
.popcorn-front{position:absolute;left:8px;right:4px;top:21px;bottom:0;clip-path:polygon(0 0,100% 0,88% 100%,12% 100%);background:repeating-linear-gradient(90deg,#a53e42 0 9px,#f9edcc 9px 18px);border-bottom:2px solid #853137;transform:translateZ(8px);box-shadow:4px 4px 0 #ab705d}
.popcorn-side{position:absolute;left:4px;top:22px;bottom:0;width:14px;background:#c99f7e;transform:rotateY(-45deg);transform-origin:right;clip-path:polygon(0 0,100% 0,92% 100%,22% 100%)}
.popcorn-label{position:absolute;left:20px;top:38px;width:31px;height:19px;background:#fff1d0;border:1px solid #a35b4b;border-radius:50%;font:6px/17px 'Courier New',monospace;text-align:center;color:#9c4242;transform:translateZ(10px)}
.kernel{position:absolute;left:var(--kx);top:var(--ky);width:17px;height:15px;border-radius:45% 55% 42% 48%;background:#f6e5b8;border:1px solid #dbc89a;box-shadow:inset -3px -2px #e2ca8b,2px 2px 0 #c1a8762a;transform:translateZ(10px)}
.kernel:before{content:"";position:absolute;left:-3px;top:2px;width:10px;height:10px;background:#f8edce;border-radius:50%}
.prop-pillow{width:79px;height:55px;align-self:center;background:#f6f1dd;border:1px solid #ded4b8;border-radius:13px;box-shadow:4px 6px 0 #d5c5a5,inset 0 0 0 5px #faf6e9;transform:rotateY(-15deg) rotate(-13deg);display:grid;place-items:center}
.prop-pillow:after{content:"";position:absolute;inset:7px;border:1px dashed #c7bda2;border-radius:7px}.prop-pillow span{font:italic 17px Georgia,serif;color:#b3a684;transform:translateZ(10px);animation:pillow-snore 4s ease-in-out infinite}
.prop-movie{width:78px;height:61px;background:#343b3a;border-radius:3px;transform:rotateY(-18deg) rotate(-8deg);box-shadow:4px 5px 0 #222a28;align-self:center;display:grid;place-content:center;color:#eee7d4;font:6px/1.8 'Courier New',monospace;letter-spacing:1px}
.clapper-top{position:absolute;left:0;right:0;top:-13px;height:14px;border:1px solid #3f4540;background:repeating-linear-gradient(120deg,#efe5cc 0 10px,#343b3a 10px 20px);transform-origin:left bottom;transform:rotate(-12deg)}
.prop-arcade{width:55px;height:81px;background:#a34641;border:1px solid #7e302f;box-shadow:7px 4px 0 #752f2e;transform:rotateY(-22deg) rotate(-5deg);border-radius:3px}
.arcade-marquee{height:13px;background:#f1deb5;color:#9c4940;display:grid;place-items:center;font:5px 'Courier New',monospace;letter-spacing:1px;margin:3px 4px}.arcade-screen{height:33px;margin:3px 6px;background:#435948;border:3px solid #debd8a;display:grid;place-items:center;color:#cfdbaf;font:12px 'Courier New',monospace}.arcade-controls{display:block;height:15px;background:#d3a76f;margin:0 3px;transform:rotateX(25deg);border-bottom:1px solid #754534;position:relative}.arcade-controls i{position:absolute;left:10px;top:2px;height:9px;width:2px;background:#6c5140}.arcade-controls i:before{content:"";position:absolute;left:-3px;top:-2px;width:7px;height:7px;border-radius:50%;background:#9e453e}.arcade-controls b{position:absolute;right:9px;top:6px;width:4px;height:4px;border-radius:50%;background:#9e453e;box-shadow:6px 0 #728256}
.prop-golf{width:86px;height:65px;align-self:center}.golf-green{position:absolute;bottom:0;width:80px;height:30px;border-radius:50%;background:#8e9b68;border:1px solid #71834e;box-shadow:0 5px 0 #637748;transform:rotateX(20deg)}.golf-pole{position:absolute;left:45px;top:0;height:57px;width:2px;background:#6c7554;transform:translateZ(10px)}.golf-pole:before{content:"";position:absolute;left:2px;top:0;border-left:26px solid var(--red);border-top:3px solid transparent;border-bottom:14px solid transparent}.golf-ball{position:absolute;width:15px;height:15px;background:#fffdf0;border:1px solid #cfcdb9;border-radius:50%;bottom:7px;left:11px;box-shadow:1px 3px 0 #5e704955,inset -3px -2px #e4e4cf}
@keyframes ink-icon-hop{0%,100%{transform:rotate(-4deg)}40%{transform:translateY(-6px) rotate(-14deg)}70%{transform:rotate(5deg)}}
@keyframes aside-arrive{from{opacity:.2;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@keyframes toast-arrive{from{opacity:0;transform:translate(-50%,8px) rotate(-1deg)}to{opacity:1;transform:translate(-50%,0) rotate(0)}}
@keyframes envelope-fidget{0%,100%{transform:rotateY(-20deg) rotateX(10deg) rotateZ(-8deg)}50%{transform:rotateY(345deg) rotateX(-6deg) rotateZ(5deg)}}
@keyframes page-fidget{0%,100%{transform:translateZ(3px) rotateX(0)}45%{transform:translateZ(3px) rotateX(-135deg)}70%{transform:translateZ(3px) rotateX(12deg)}}
@keyframes ticket-fidget{0%,100%{transform:rotateY(-20deg) rotateZ(-7deg)}25%{transform:rotateY(17deg) rotateZ(7deg) translateY(-5px)}60%{transform:rotateY(-28deg) rotateZ(-15deg)}}
@keyframes stamp-fidget{0%,100%{transform:translateZ(9px) rotate(-17deg);opacity:.75}35%{transform:translateZ(70px) rotate(7deg) scale(1.35);opacity:.3}65%{transform:translateZ(0) rotate(-21deg) scale(.93);opacity:1}}
@keyframes pen-fidget{0%,100%{transform:rotate(-54deg)}50%{transform:rotate(320deg) translateY(-18px)}}
@keyframes ring-fidget{from{transform:rotateY(-26deg) rotateZ(-16deg)}55%{transform:rotateY(370deg) rotateZ(12deg)}to{transform:rotateY(334deg) rotateZ(-16deg)}}
@keyframes heart-fidget{0%,100%{transform:rotateY(-20deg) rotateZ(8deg) scale(1)}35%{transform:rotateY(160deg) rotateZ(-8deg) scale(1.15)}70%{transform:rotateY(340deg) rotateZ(13deg) scale(.96)}}
@keyframes book-fidget{0%,100%{transform:translateZ(5px) rotateY(0)}50%{transform:translateZ(5px) rotateY(-135deg)}}
@keyframes kernel-fidget{0%,100%{transform:translateZ(10px) translateY(0)}40%{transform:translateZ(30px) translateY(-50px) rotate(100deg)}70%{transform:translateZ(12px) translateY(-5px) rotate(-14deg)}}
@keyframes clapper-fidget{0%,100%{transform:rotate(-12deg)}30%{transform:rotate(-47deg)}60%{transform:rotate(0)}80%{transform:rotate(-20deg)}}
@keyframes pillow-snore{0%,100%{transform:translateZ(10px) translateY(0);opacity:.5}50%{transform:translateZ(17px) translateY(-4px);opacity:1}}
@media(min-width:761px){
 .guest[data-step="2"] .guest-header{height:64px}.guest[data-step="2"] .guest-main{min-height:calc(100dvh - 126px);padding-top:12px;padding-bottom:20px}
 .guest[data-step="2"] h2{font-size:45px;margin-bottom:13px}.guest[data-step="2"] .question-no{margin-bottom:14px}.guest[data-step="2"] .support{margin-bottom:19px}
 .guest[data-step="2"] .options{gap:10px;margin-bottom:12px}.guest[data-step="2"] .choice-content{min-height:99px;padding:17px 24px 17px 14px}.guest[data-step="2"] .choice input:checked+.choice-content{padding:16.5px 23.5px 16.5px 13.5px}.guest[data-step="2"] .choice-name{font-size:16px}
}
@media(max-width:1000px) and (min-width:761px){
 .invitation-layout{grid-template-columns:minmax(0,1fr) 260px;gap:38px}.scene-column{width:260px}.guest .scene{transform:scale(.86);transform-origin:top left}.guest[data-step="4"] .scene{transform:scale(.86)}
 .guest h1.intro{font-size:52px}.guest h2{font-size:43px}.guest .choice-content{grid-template-columns:25px 1fr;gap:8px;padding-left:12px}.choice-art{width:24px;height:24px}.choice-caption{font-size:10px}.guest .choice-name{font-size:14px}
}
@media(max-width:760px){
 .guest-header{height:62px;padding:0 23px}.byline{font-size:10px;gap:9px}.byline .heart{width:25px;height:29px;font-size:15px}.motion-toggle{font-size:8px;padding:6px 8px}
 .guest-main{min-height:calc(100dvh - 112px);padding:14px 23px 24px}.invitation-layout{display:flex;flex-direction:column-reverse;gap:15px;max-width:500px}
 .scene-column{align-self:flex-end;min-height:0;height:151px;width:185px}
 .guest .scene,.guest:not([data-step="0"]) .scene,.guest[data-step="2"] .scene,.guest[data-step="4"] .scene,.guest[data-step="5"] .scene{position:absolute;right:0;top:-14px;width:300px;max-width:none;height:300px;margin:0;transform:scale(.45);transform-origin:top right;display:block}
 .scene-play{left:auto;right:8px;bottom:-1px;transform:none;font-size:8.5px;min-height:27px;padding:5px 8px;gap:5px}.scene-play:active{transform:translateY(2px)}.scene-play svg{width:12px;height:12px}
 .guest h1.intro{font-size:44px;line-height:1.08;letter-spacing:-1.4px}.guest h1,.guest h2{font-size:37px;letter-spacing:-1.2px}.question-no{font-size:9px;letter-spacing:.9px;margin-bottom:15px}
 .support{font-size:14px;line-height:1.55;margin-bottom:24px}.guest .primary{font-size:13px;min-height:48px;padding:12px 17px}.intro-aside{font-size:14px;margin:20px 0 0 5px}.intro-aside svg{width:32px}
 .guest .date-slot{padding:12px 12px;grid-template-columns:1.25fr 1fr 22px;gap:10px}.guest input[type=date],.guest input[type=time]{font-size:16px}.guest .field span{font-size:9px}.guest .add-date{font-size:11px;margin-bottom:25px}
 .guest .options{gap:8px}.guest .choice-content{grid-template-columns:22px 1fr;gap:7px;padding:12px 12px 16px;min-height:99px;align-content:start}
 .guest .choice input:checked+.choice-content{padding:11.5px 11.5px 15.5px}
 .choice-art{grid-column:1;grid-row:1;width:22px;height:22px}.guest .letter{top:10px;right:10px;font-size:9px}.choice-copy{grid-column:1/-1;grid-row:2}
 .guest .choice-name{font-size:14px;line-height:1.15}.choice-caption{font-size:10px;line-height:1.35;margin-top:4px;max-width:calc(100% - 14px)}.guest .tick{width:14px;height:14px;right:8px;bottom:9px;font-size:9px}
 .activity-aside{font-size:12px;min-height:30px;margin-bottom:14px;line-height:1.5}
 .guest[data-step="2"] .scene-column{height:108px}
 .guest[data-step="2"] .scene{top:-20px;transform:scale(.34)}
 .guest[data-step="2"] .scene-play{font-size:8px;min-height:24px;padding:4px 7px;right:8px}
 .guest[data-step="2"] .question-no{margin-bottom:12px}.guest[data-step="2"] h2{font-size:36px;margin-bottom:12px}.guest[data-step="2"] .support{margin-bottom:15px;font-size:13px}
 .guest[data-step="2"] .guest-main{padding-top:8px;padding-bottom:20px}
 .guest .terms{font-size:21px;line-height:1.6;margin-bottom:16px}.terms-aside{font-size:12px;margin-bottom:22px}.mini-stamp{width:39px;height:35px;font-size:7px}
 .guest .joke{min-height:103px}.joke p{font-size:23px}.joke small{font-size:10px}
 .guest-footer{height:50px;padding:0 23px;font-size:9px}.back{height:29px;width:31px;font-size:15px}
 .plan-receipt{font-size:11px}.personality-ready .plan-receipt{padding:17px 18px;margin-top:17px}.success-aside{font-size:12px}.guest #step-5 .support{font-size:13px}
 .quip-toast{font-size:13px;bottom:17px;padding:11px 15px;max-width:calc(100% - 30px)}
}
@media(max-width:370px){
 .guest h1.intro{font-size:39px}.guest h2{font-size:33px}.guest .choice-name{font-size:13px}.choice-caption{font-size:9.5px}
 .guest .choice-content{min-height:100px}.scene-column{height:133px}.guest .scene,.guest:not([data-step="0"]) .scene{transform:scale(.4)}
}
