@font-face{font-family:DT Nightingale;src:url(/fonts/DTNightingale-Light.otf)format("opentype");font-weight:300;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:clip}body{color:#383941;background:#f3f4f8}.screen{flex-direction:column;align-items:center;max-width:430px;min-height:100dvh;margin:0 auto;padding:clamp(24px,7dvh,72px) 24px 40px;display:flex;position:relative}body.is-locked{overflow:hidden}body.is-locked .screen{height:100dvh;min-height:0;overflow:hidden}body.is-locked .hero{flex:0 auto;min-height:0}body.is-locked .riddle{flex-shrink:0}.hero{z-index:1;aspect-ratio:354/416;width:100%;position:relative}.cube{width:calc(100% + 48px);height:100%;position:absolute;top:0;left:-24px}.bg-bow{width:100%;height:100%;position:absolute;inset:0}.bg-bow svg{width:100%;height:100%;display:block}.bg-text{text-align:justify;color:#0000;background:radial-gradient(54% 50%,#171d2599 0%,#fff0 90%);-webkit-user-select:none;user-select:none;pointer-events:none;-webkit-background-clip:text;background-clip:text;font-family:DT Nightingale,Instrument Serif,serif;font-size:14px;font-weight:300;line-height:100%;position:absolute;inset:0;overflow:hidden}.riddle{text-align:center;flex-direction:column;align-items:center;width:100%;margin-top:clamp(40px,13dvh,140px);display:flex}.label{color:#7c8496;font-family:Geist Mono,monospace;font-size:16px;font-weight:400;line-height:100%}.question{color:#1a1b1d;-webkit-text-stroke:.3px #1a1b1d;margin-top:8px;font-family:DT Nightingale,Instrument Serif,serif;font-size:32px;font-weight:300;line-height:100%}.boxes{justify-content:center;gap:16px;max-width:100%;margin-top:32px;display:flex}.tries{color:#7c8496;text-align:center;max-width:300px;margin-top:16px;font-family:Geist Mono,monospace;font-size:12px;font-weight:400;line-height:120%}.box{aspect-ratio:1;text-align:center;text-transform:uppercase;color:#383941;background:#f1f3f8;border:.5px solid #b6babf;border-radius:8px;outline:none;flex:0 48px;width:48px;min-width:0;height:auto;font-family:Geist Mono,monospace;font-size:20px}.box:focus{border-width:1px}@media (width<=380px){.boxes{gap:12px}}.box{transition:background-color .25s,border-color .25s,color .25s}.box.correct{color:#383941}.box.present{color:#6bacfe}.box.absent{color:#b6babf}.box.hint-present::placeholder{color:#6bacfe;opacity:.7}.box.hint-absent::placeholder{color:#b6babf;opacity:.7}.box.solved{color:#383941}.confetti{pointer-events:none;z-index:10;width:100%;height:100%;position:fixed;inset:0}.gift{flex-direction:column;align-items:center;width:calc(100% + 48px);margin-left:-24px;margin-right:-24px;padding:0 24px;display:none}.gift-drop,.gift-rest{flex-direction:column;align-items:center;width:100%;display:flex}.gift-title-row{justify-content:center;width:100%;display:flex;position:relative}.gift-title{color:#ff2001;text-align:center;white-space:pre-line;font-family:Instrument Serif,serif;font-size:32px;font-weight:400;line-height:100%}.side-bow{line-height:0;position:absolute;top:50%;transform:translateY(-50%)}.side-bow.left{left:-8px}.side-bow.right{right:-8px}.gift-photo{aspect-ratio:16/9;cursor:pointer;width:100%;margin-top:32px;display:block;position:relative}.photo-card{background:#fbfcff;border:1px solid #fff;border-radius:32px;position:absolute;inset:0;overflow:hidden;box-shadow:4px 4px 60px #32445e1a}.photo-card img,.gift-photo-img{object-fit:cover;width:100%;height:100%;display:block}.gift-photo-img[hidden],.gift-cover[hidden]{display:none}.gift-cover{background:radial-gradient(circle,#6bacfe 0%,#99c6ff 45%,#fff3f2 100%);justify-content:center;align-items:center;line-height:0;display:flex;position:absolute;inset:0}.letter{width:100%;margin-top:49px;position:relative}.env-back{border-radius:8px;position:absolute;top:0;left:0}.env-front{z-index:3;position:relative}.env-front,.env-back{pointer-events:none}.envelope{width:100%;height:auto;display:block;overflow:visible}.env-line{stroke:#dfe8f6;stroke-width:.5px;vector-effect:non-scaling-stroke}.seal{cursor:pointer}.letter-name{z-index:4;pointer-events:none;text-align:center;color:#ff2001;font-family:Geist Mono,monospace;font-size:12px;font-weight:400;line-height:100%;position:absolute;top:25.5%;left:0;right:0}.signoff{color:#ff2001;text-transform:uppercase;align-items:center;gap:12px;margin-top:44px;font-family:Geist Mono,monospace;font-size:10px;line-height:100%;display:flex}.chevron{line-height:0}.threads{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.pull{transform-origin:50% 0;flex-direction:column;align-items:center;display:flex}.pull-thread{background:repeating-linear-gradient(#ff2001 0 2px,#0000 2px 5px);width:1px;height:36px;transform:scaleX(.6)}.pull-knot{background:#ff2001;width:5px;height:7px}.pull-tag{color:#f7f9ff;text-transform:uppercase;white-space:pre-line;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#ff2001;border:none;justify-content:center;align-items:center;width:74px;height:74px;margin-top:3px;font-family:Geist Mono,monospace;font-size:12px;font-weight:600;line-height:100%;display:flex}.pull-tag:active{cursor:grabbing}.paper-slot{pointer-events:none;z-index:2;width:calc(85.26% + 160px);height:1200px;position:absolute;bottom:54.19%;left:50%;overflow:hidden;transform:translate(-50%)}.paper{text-align:center;color:#1b232b;visibility:hidden;pointer-events:auto;cursor:pointer;background:#f3f4f8;border:.5px solid #ffeae7;border-radius:6px;flex-direction:column;height:382px;padding:22px 15px 15px;display:flex;position:absolute;bottom:0;left:80px;right:80px;box-shadow:4px 4px 60px #32445e1a}.paper-date{color:#1b232b;order:10;align-self:flex-end;margin-top:8px;font-family:Geist Mono,monospace;font-size:8px;font-weight:400;line-height:100%}.paper-greeting{font-family:Geist Mono,monospace;font-size:12px;font-weight:400;line-height:100%}.paper-title{color:#1b232b;margin-top:12px;font-family:DT Nightingale,Instrument Serif,serif;font-size:40px;font-weight:300;line-height:100%}.paper-body{white-space:pre-line;flex:auto;min-height:0;margin-top:53px;padding:0 12px;font-family:Geist Mono,monospace;font-size:12px;font-weight:400;line-height:120%;overflow:hidden}.paper-closing{color:#1b232b;text-transform:uppercase;margin-top:24px;font-family:Geist Mono,monospace;font-size:12px;font-weight:400;line-height:100%}.seal-hit{cursor:pointer;z-index:5;background:0 0;border:none;width:80px;height:84px;position:absolute;top:48%;left:50%;transform:translate(-50%)}.details-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:30;background:#1d232a40;position:fixed;inset:0}.details{text-align:center;color:#ff2001;z-index:31;background:#f3f4f8;border-radius:8px;width:min(345px,100vw - 48px);height:fit-content;margin:auto;padding:16px 20px 24px;position:fixed;inset:0;box-shadow:4px 4px 60px #32445e2e}.details[hidden],.details-backdrop[hidden]{display:none}.details-top{justify-content:flex-end;align-items:center;height:24px;display:flex}.details-bow{line-height:0}.details-close{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:40px;height:40px;margin-right:-10px;display:flex}.details-label{letter-spacing:.08em;text-transform:uppercase;opacity:.6;margin-top:16px;font-family:Geist Mono,monospace;font-size:10px;line-height:100%}.details-big{margin-top:8px;font-family:Instrument Serif,serif;font-size:32px;font-weight:400;line-height:100%}.details-small{margin-top:8px;font-family:Geist Mono,monospace;font-size:12px;line-height:120%}.details-rule{background:repeating-linear-gradient(90deg,#ff2001 0 2px,#0000 2px 5px);height:.6px;margin:24px 0 8px}.details-actions{gap:8px;margin-top:24px;display:flex}.details-action{color:#ff2001;text-transform:uppercase;cursor:pointer;background:0 0;border:.5px solid #ff2001;flex:1;justify-content:center;align-items:center;height:40px;font-family:Geist Mono,monospace;font-size:12px;font-weight:600;line-height:100%;text-decoration:none;display:flex}.details-action.primary{color:#f7f9ff;background:#ff2001}.top-note{text-align:center;color:#ff2001;opacity:0;pointer-events:none;font-family:Geist Mono,monospace;font-size:12px;font-weight:400;line-height:100%;position:absolute;top:40px;left:0;right:0}.paper.is-long .paper-body{-webkit-mask-image:linear-gradient(#000 65%,#0000);mask-image:linear-gradient(#000 65%,#0000)}.paper-more{color:#1b232b;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;align-self:center;margin-top:8px;padding:6px 10px;font-family:Geist Mono,monospace;font-size:12px;line-height:100%;text-decoration:underline}.paper-more[hidden]{display:none}.reader-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:32;background:#1d232a40;position:fixed;inset:0}.reader{text-align:center;color:#1b232b;z-index:33;background:#f3f4f8;border:.5px solid #ffeae7;border-radius:6px;max-width:382px;height:fit-content;max-height:calc(100dvh - 48px);margin:auto;position:fixed;inset:24px;overflow:hidden;box-shadow:4px 4px 60px #32445e1a}.reader[hidden],.reader-backdrop[hidden]{display:none}.reader-scroll{flex-direction:column;min-height:calc(1.295*min(382px,100vw - 48px));max-height:calc(100dvh - 48px);padding:22px 15px 15px;display:flex;position:relative;overflow-y:auto}.reader-close{cursor:pointer;z-index:2;background:0 0;border:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;top:4px;right:4px}.reader-date{margin-top:12px}.reader-body{overflow:visible}.reader .paper-closing{margin-top:auto;padding-top:49px}.top-note p+p{margin-top:8px}.gift-title{text-transform:uppercase}.details-big.is-long{font-size:22px;line-height:110%}.details-action[hidden],.details-actions[hidden],.pull[hidden],.top-note p[hidden]{display:none}.details-actions{flex-wrap:wrap}.details-action{min-width:40%}.gift-title{max-width:calc(100% - 64px)}.riddle[hidden],.letter[hidden],.gift-photo[hidden]{display:none}.intro .question{max-width:300px;line-height:120%}.intro-start{color:#f3f4f8;letter-spacing:.04em;text-transform:uppercase;background:#1b232b;border-radius:16px;justify-content:center;align-items:center;width:200px;height:46px;margin-top:32px;font-family:Geist Mono,monospace;font-size:12px;font-weight:600;text-decoration:none;display:flex}.intro-demo{color:#949191;text-underline-offset:3px;margin-top:16px;padding:4px;font-family:Geist Mono,monospace;font-size:12px;text-decoration:underline}.boxes[hidden],.tries[hidden],.details-section[hidden]{display:none}.details-section.with-rule:before{content:"";background:repeating-linear-gradient(90deg,#ff2001 0 2px,#0000 2px 5px);height:.6px;margin:24px 0 8px;display:block}.details-text{white-space:pre-line;margin-top:8px;font-family:Geist Mono,monospace;font-size:12px;line-height:130%}.lightbox{z-index:40;background:#1d232ad9;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lightbox[hidden]{display:none}.lightbox img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%}.lightbox-close{cursor:pointer;background:#fbfcff;border:none;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;top:16px;right:16px}.intro{margin-top:56px}.intro .question{text-wrap:balance;max-width:none}.intro-start{cursor:pointer;border:none;width:156px}.home-bow{line-height:0;position:absolute;bottom:40px;left:39px}.home-square{background:#ff2001;width:8px;height:8px;position:absolute}.home-square.one{bottom:52px;right:52px}.home-square.two{bottom:61px;right:42px}@media (height<=760px){.home-bow,.home-square{display:none!important}}.intro .label{color:#1b232b;font-size:14px}.reopen{margin-top:220px}.reopen .label{font-size:14px}#previewSend{background:#1b232b}body:not(.is-home) .home-only{display:none}body.is-setup .hero{z-index:1;pointer-events:none;position:fixed}.gift-title,.question{text-wrap:balance}.paper-title:empty{display:none}.preview-bar{z-index:20;background:linear-gradient(#f3f4f800,#f3f4f8 35%);flex-wrap:wrap;gap:12px;max-width:430px;margin:0 auto;padding:16px 24px 24px;display:flex;position:fixed;bottom:0;left:0;right:0}.preview-bar[hidden],.preview-note[hidden]{display:none}.preview-note{text-align:center;color:#949191;flex-basis:100%;font-family:Geist Mono,monospace;font-size:12px}body.is-preview .screen{padding-bottom:120px}.reader .paper-body{flex:none;overflow:visible}.gift{z-index:1;position:relative}.share{z-index:40;background:#3839413d;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.share[hidden]{display:none}.share-card{background:#f3f4f8;border-radius:32px 32px 0 0;width:100%;max-width:430px;padding:28px 24px 24px;box-shadow:4px 4px 60px #32445e1a}.share-label{color:#949191;font-family:Geist Mono,monospace;font-size:14px}.share-title{color:#383941;margin-top:8px;font-family:DT Nightingale,Instrument Serif,serif;font-size:32px;font-weight:300;line-height:100%}.share-link{color:#383941;word-break:break-all;-webkit-user-select:all;user-select:all;background:#fcfcfc;border:.5px solid #b6babf;border-radius:16px;margin-top:20px;padding:14px 16px;font-family:Geist Mono,monospace;font-size:12px;line-height:140%}.share-buttons{gap:12px;margin-top:16px;display:flex}.share-buttons .button.share-copy{flex:1}.share-buttons .button[hidden]{display:none}.share-help{color:#949191;margin-top:16px;font-family:Geist Mono,monospace;font-size:12px;line-height:140%}.share-card .link-button{display:block}.share-done{margin-top:4px}body.is-loading .screen>:not(.loading){visibility:hidden}.loading{z-index:50;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex;position:fixed;inset:0}.loading[hidden]{display:none}.loading-text{color:#949191;font-family:Geist Mono,monospace;font-size:14px}.landing{pointer-events:none;display:none;position:absolute;inset:0}.landing .bg-text{inset:auto}.landing .mini-letter{pointer-events:auto}.photo-box{position:absolute;overflow:visible}.mini-letter{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0;position:absolute}.mini-envelope{width:100%;height:100%;display:block;position:absolute;inset:0}.mini-name{color:#ff2001;text-align:center;pointer-events:none;font-family:Geist Mono,monospace;font-size:8px;line-height:100%;position:absolute;top:30%;left:0;right:0;transform:translateY(-50%)}.mini-seal{pointer-events:none;line-height:0;position:absolute;top:68%;left:50%;transform:translate(-50%,-50%)}.hang-threads{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0;overflow:visible}body.is-setup .hang-threads{display:none}.reveal{z-index:3;pointer-events:none;display:none;position:absolute;inset:0}.reveal>*{opacity:0;pointer-events:auto;position:absolute}.reveal-photo{cursor:zoom-in;background:#f3f4f8;border:.8px solid #ff2001;border-radius:50%;padding:0;position:absolute;overflow:hidden}.reveal-strip{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;width:100%;height:100%;display:flex;overflow-x:auto}.reveal-strip::-webkit-scrollbar{display:none}.reveal-strip img{object-fit:cover;scroll-snap-align:center;-webkit-user-select:none;user-select:none;flex:0 0 100%;width:100%;height:100%;display:block}.reveal-dots{pointer-events:none;justify-content:center;gap:5px;display:flex;position:absolute;bottom:10px;left:0;right:0}.reveal-dots span{background:#f3f4f88c;border-radius:50%;width:5px;height:5px;transition:background-color .2s}.reveal-dots span.on{background:#f3f4f8}.bubble-inner{background:#1481ff;border-radius:22px;align-items:center;gap:8px;padding:12px 16px;display:flex}.bubble-text{text-transform:uppercase;color:#f3f4f8;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;font-family:Geist Mono,monospace;font-size:16px;font-weight:400;line-height:120%;display:-webkit-box;overflow:hidden}.bubble-heart{flex-shrink:0;line-height:0}.person .float{flex-direction:column;align-items:center;gap:8px;display:flex}.person-face{background:radial-gradient(circle at 50% 40%,#e5efff 0%,#fdfcff 100%);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden;box-shadow:4px 4px 20px #1b232b1a}.person-face img{object-fit:cover;width:100%;height:100%}.person-letter{color:#1b232b;font-family:DT Nightingale,Instrument Serif,serif;font-size:26px;font-weight:300}.person-tag{text-transform:uppercase;color:#1b232b;white-space:nowrap;background:#ebedf3;border:.5px solid #dadce2;border-radius:999px;padding:6px 12px;font-family:Geist Mono,monospace;font-size:10px;font-weight:400;line-height:120%}.reveal-badge{text-transform:uppercase;color:#f3f4f8;white-space:nowrap;cursor:pointer;background:#1b232b;border:none;border-radius:16px;padding:12px 16px;font-family:Geist Mono,monospace;font-size:14px;font-weight:400;line-height:100%}.ticket-wrap{z-index:31;filter:drop-shadow(4px 4px 30px #32445e2e);width:min(345px,100vw - 48px);height:fit-content;margin:auto;position:fixed;inset:0}.ticket-wrap[hidden]{display:none}.ticket{--tear:60%;--notch:12px;color:#1b232b;text-align:center;-webkit-mask:radial-gradient(circle var(--notch) at left var(--tear), #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle var(--notch) at right var(--tear), #0000 98%, #000) right / 51% 100% no-repeat;-webkit-mask:radial-gradient(circle var(--notch) at left var(--tear), #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle var(--notch) at right var(--tear), #0000 98%, #000) right / 51% 100% no-repeat;mask:radial-gradient(circle var(--notch) at left var(--tear), #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle var(--notch) at right var(--tear), #0000 98%, #000) right / 51% 100% no-repeat;background:#f3f4f8;border-radius:16px}.ticket-main{padding:16px 20px 24px}.ticket-top{justify-content:space-between;align-items:center;height:24px;display:flex}.ticket-admit{letter-spacing:.08em;text-transform:uppercase;color:#ff2001;align-items:center;gap:6px;font-family:Geist Mono,monospace;font-size:10px;line-height:100%;display:flex}.ticket-admit span:first-child{line-height:0}.ticket-close{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:40px;height:40px;margin-right:-10px;display:flex}.ticket-movie{color:#1a1b1d;text-wrap:balance;margin-top:20px;font-family:DT Nightingale,Instrument Serif,serif;font-size:32px;font-weight:300;line-height:100%}.ticket-grid{grid-template-columns:1fr 1fr;gap:16px 12px;margin-top:24px;display:grid}.ticket-grid [hidden]{display:none}.ticket-label{letter-spacing:.08em;text-transform:uppercase;color:#7c8496;font-family:Geist Mono,monospace;font-size:10px;line-height:100%}.ticket-value{color:#1b232b;margin-top:6px;font-family:Geist Mono,monospace;font-size:14px;line-height:120%}.ticket-tear{margin:0 calc(var(--notch) + 8px);border-top:1.5px dashed #dadce2}.ticket-stub{padding:20px 20px 24px}.ticket-cinema{color:#1a1b1d;font-family:DT Nightingale,Instrument Serif,serif;font-size:22px;font-weight:300;line-height:110%}.ticket-address{color:#7c8496;margin-top:6px;font-family:Geist Mono,monospace;font-size:12px;line-height:120%}.ticket-address[hidden],.ticket-cinema[hidden]{display:none}.ticket-about{color:#7c8496;margin-top:20px;font-family:Geist Mono,monospace;font-size:12px;line-height:130%}.ticket-about[hidden],.ticket-grid[hidden],.ticket-actions[hidden]{display:none}.ticket-actions{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.ticket-actions .ticket-btn:not(.ghost){flex-basis:100%}.ticket-btn{text-transform:uppercase;color:#f3f4f8;cursor:pointer;background:#1b232b;border:.5px solid #1b232b;border-radius:16px;flex:1 1 0;padding:12px 16px;font-family:Geist Mono,monospace;font-size:12px;line-height:100%;text-decoration:none}.ticket-btn.ghost{color:#1b232b;background:0 0}.ticket-btn[hidden]{display:none}@media (width<=380px){.ticket-btn{white-space:nowrap;padding:12px 8px;font-size:11px}}.face-stack{width:56px;height:56px;display:block;position:relative}.face-stack .person-face{position:absolute;top:0;left:0}.face-stack .behind.b1{transform:translate(20px)scale(.9)}.face-stack .behind.b2{transform:translate(38px)scale(.8)}.face-stack .front{z-index:2}.person-count{z-index:3;text-align:center;color:#f3f4f8;background:#ff2001;border:1.5px solid #f3f4f8;border-radius:999px;min-width:20px;height:20px;padding:0 5px;font-family:Geist Mono,monospace;font-size:10px;line-height:17px;position:absolute;top:-4px;right:-6px}.person.can-open{cursor:pointer}.reveal>.crowd-person{opacity:1;pointer-events:none}.crowd-person .person-face{width:46px;height:46px}.crowd-person .person-letter{font-size:22px}.crowd-person .float{gap:6px}
