[hidden]{display:none!important}
:root{--bg:#f7f3ec;--ink:#302c3a;--muted:#78717e;--purple:#7353d6;--line:#e4ded5;--cream:#fffdf8;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px}button,a,input{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--purple);outline-offset:6px}.shell{max-width:1240px;margin:auto;padding:0 48px}.topbar{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{font-size:20px;font-weight:700;letter-spacing:-.7px;white-space:nowrap;display:flex;align-items:center}.brand-icon{font-size:35px;color:var(--purple);margin-right:10px}.brand-dot{color:var(--purple)}.top-note{font-size:12px;color:var(--muted)}.top-link{font-size:13px}.top-link span{margin-left:12px;color:var(--purple)}
.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;min-height:540px;padding:52px 0 48px;gap:42px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700;display:flex;align-items:center;gap:10px;color:var(--purple)}.eyebrow:before{content:'';width:7px;height:7px;background:var(--purple);border-radius:50%}h1{font-family:var(--serif);font-weight:400;font-size:clamp(48px,5.8vw,76px);line-height:1.06;letter-spacing:-3px;margin:24px 0}h1 em{font-weight:400;color:var(--purple)}.hero-copy>p{line-height:1.8;color:var(--muted);max-width:360px;margin:0 0 26px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:50px;padding:14px 24px;border-radius:100px;border:1px solid transparent;font-weight:600;font-size:13px}.primary{background:var(--purple);color:white;box-shadow:0 5px 12px #7353d617;transition:transform .2s,background .2s}.primary:hover{transform:translateY(-2px);background:#6041c2}.secondary{border-color:var(--line);background:transparent}.micro{font-size:11px;color:var(--muted);margin-top:16px;display:flex;gap:7px;align-items:center}.hero-art{position:relative;height:380px;display:flex;align-items:center;justify-content:center}.orb{position:absolute;width:340px;height:340px;border-radius:50%;background:#ece5f4}.hero-art .envelope{transform:rotate(-9deg);filter:drop-shadow(0 24px 14px #59433520)}.float-note{position:absolute;font-family:var(--serif);font-style:italic;font-size:17px;color:var(--purple);transform:rotate(8deg);right:8px;top:25px}.doodle{position:absolute;font-size:42px;font-family:var(--serif);color:var(--purple)}.doodle.one{top:55px;left:26px}.doodle.two{bottom:24px;right:45px;font-size:28px}.small-stamp{position:absolute;bottom:27px;left:21px;background:#fffdf8;border:1px solid var(--line);padding:12px 18px;transform:rotate(-7deg);font-size:11px;letter-spacing:1px;box-shadow:0 6px 15px #302c3a08}.small-stamp strong{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:22px;letter-spacing:0;margin-bottom:2px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:22px 0 26px;border-top:1px solid var(--line)}.section-head h2{font:400 32px var(--serif);margin:10px 0 0;letter-spacing:-.8px}.section-head p{color:var(--muted);font-size:12px}.section-label{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:60px}.card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--cream);transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-5px);box-shadow:0 12px 28px #302c3a0a}.card-visual{height:182px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.lavender{background:#eee7f7}.peach{background:#f8e5d8}.mint{background:#e4eee7}.pink{background:#f3e4ec}.yellow{background:#f4edda}.blue{background:#e5eaf2}.card-number{position:absolute;top:17px;left:18px;font-size:10px;letter-spacing:1px;color:#645967}.card-tag{position:absolute;top:14px;right:14px;border:1px solid #ffffffb0;border-radius:20px;background:#ffffff75;font-size:9px;padding:5px 9px}.card-body{padding:21px 22px}.card-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.card h3{font-family:var(--serif);font-weight:400;font-size:24px;margin:0}.card-title span{color:var(--purple);font-size:21px}.card p{font-size:12px;color:var(--muted);line-height:1.7;margin:9px 0 0}.card-visual .envelope{transform:scale(.57) rotate(-8deg);flex-shrink:0}.envelope{position:relative;width:280px;height:180px;perspective:900px}.envelope-back{position:absolute;inset:0;background:#c5a485;border-radius:7px;box-shadow:0 16px 24px #593b1920}.letter{position:absolute;left:24px;bottom:25px;width:232px;height:165px;background:#fffaf1;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:transform .8s .25s;box-shadow:0 0 12px #583b1410}.letter span{font-size:64px}.letter small{font-family:var(--serif);font-style:italic;font-size:15px}.envelope-front{position:absolute;inset:0;background:#d9b896;clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%);border-radius:0 0 7px 7px;z-index:3}.envelope-fold{position:absolute;inset:0;background:#cfa881;clip-path:polygon(0 100%,0 88%,27% 47%,50% 65%,73% 47%,100% 88%,100% 100%);z-index:4;border-radius:0 0 7px 7px}.flap{position:absolute;inset:0;background:#e6c8a6;clip-path:polygon(0 0,100% 0,50% 57%);transform-origin:top;transition:transform .6s,z-index .1s .3s;z-index:5}.seal{position:absolute;top:73px;left:119px;width:42px;height:42px;background:#7353d6;color:#fff2de;display:grid;place-items:center;border-radius:50%;z-index:6;font-size:24px;transition:opacity .2s;box-shadow:0 2px 4px #0001}.envelope.open .flap{transform:rotateX(180deg);z-index:0}.envelope.open .seal{opacity:0}.envelope.open .letter{transform:translateY(-112px);z-index:2}.hero-art .letter{transform:translateY(-64px)}.hero-art .letter span{font-size:30px}.hero-art .flap{transform:rotateX(180deg);z-index:0}.hero-art .seal{top:90px}
.gift{position:relative;width:105px;height:93px;background:#dc765e;border-radius:4px;box-shadow:7px 12px 0 #c1674c12;transform:rotate(-7deg)}.gift:before{content:'';position:absolute;width:117px;height:25px;background:#ee9276;left:-6px;top:-9px;border-radius:4px}.gift:after{content:'';position:absolute;width:19px;height:102px;left:43px;top:-9px;background:#f5d2a2}.bow{position:absolute;width:68px;height:30px;left:18px;top:-35px;border:8px solid #f5d2a2;border-radius:50%;transform:rotate(-15deg)}.bow:after{content:'';position:absolute;width:30px;height:23px;left:25px;top:-8px;border:8px solid #f5d2a2;border-radius:50%;transform:rotate(35deg)}.fake-button{background:#fdfbf5;box-shadow:0 5px 0 #abc6b5;border:1px solid #bdd3c4;border-radius:100px;padding:15px 23px;font-size:13px;color:#37694a;transform:rotate(-8deg);font-weight:600}.ticket{background:#fff8df;border:2px dashed #c9a846;border-radius:10px;padding:20px 34px;transform:rotate(-9deg);text-align:center;color:#8c6e22;font-weight:700;letter-spacing:2px;font-size:10px;box-shadow:4px 8px 0 #c9a84618}.ticket strong{display:block;font-family:var(--serif);font-size:35px;letter-spacing:-2px;margin-top:5px}.scratch-mini{background:linear-gradient(120deg,#c7ccd4,#f1f3f6 45%,#bac1cc);padding:28px 26px;border:7px solid #fff9f4;border-radius:10px;transform:rotate(7deg);font-family:var(--serif);font-style:italic;font-size:24px;color:#747e8b;box-shadow:0 8px 12px #302c3a10}.hourglass{font-size:78px;transform:rotate(12deg);filter:drop-shadow(0 8px 3px #78603017)}
footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:24px 0 30px;color:var(--muted);font-size:10px}footer span span{color:var(--purple);font-size:18px;margin-left:8px}.detail-top{display:flex;justify-content:space-between;align-items:center;margin:30px 0;color:var(--muted);font-size:12px}.detail-top a{padding:10px 0}.detail{max-width:680px;margin:0 auto;text-align:center;padding:8px 0 66px}.detail .eyebrow{justify-content:center}.detail h1{font-size:clamp(39px,5vw,58px);letter-spacing:-2px;margin:20px 0 15px}.detail .intro{color:var(--muted);line-height:1.8;margin:0 auto;max-width:440px}.stage{min-height:310px;margin:32px 0 24px;border:1px solid var(--line);border-radius:24px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:45px 22px}.stage.envelope-stage{min-height:350px;padding-top:105px}.object-button{background:none;border:0;display:flex;justify-content:center;align-items:center;padding:0;min-width:44px;min-height:44px}.object-button:hover .envelope:not(.open){transform:rotate(-3deg)}.object-button .envelope{transition:transform .3s}.hint{font-size:11px;color:var(--muted);margin:0 0 22px}.reveal{min-height:85px}.reveal h2{font:400 28px var(--serif);margin:0 0 10px}.reveal p{color:var(--muted);font-size:13px;line-height:1.7;margin:0}.reveal.animate{animation:appear .5s ease both}.detail-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:26px}.detail-actions button{min-height:44px}.gift.big{width:140px;height:125px}.gift.big:before{width:152px}.gift.big:after{left:59px;height:134px;width:22px}.gift.big .bow{left:36px}.gift-open{animation:shake .5s}.gift-result{font-size:90px;animation:appear .5s}.run-area{height:290px;position:relative;width:100%;border-radius:24px}.run-area button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:calc(100% - 20px);white-space:nowrap}.run-area .escape-count{position:absolute;bottom:14px;left:0;width:100%;font-size:11px;color:var(--muted)}.lottery{width:100%;max-width:380px}.lottery .ticket{transform:rotate(-4deg);margin:0 auto 28px;width:240px}.lottery .ticket strong{font-size:43px}.scratch-wrap{position:relative;width:100%;max-width:380px;height:175px;background:var(--cream);border:10px solid var(--cream);border-radius:15px;overflow:hidden;box-shadow:0 12px 25px #302c3a0a}.scratch-answer{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;font-family:var(--serif);font-size:21px}.scratch-answer span{font-size:40px}.scratch-wrap canvas{position:absolute;inset:0;touch-action:none;width:100%;height:100%;transition:opacity .6s}.scratch-wrap canvas.cleared{opacity:0;pointer-events:none}.patience{max-width:400px;width:100%}.progress{height:9px;background:#e4d9bd;border-radius:10px;margin:20px 0;overflow:hidden}.progress span{display:block;height:100%;width:0;background:var(--purple);transition:width .3s;border-radius:10px}.progress-label{color:var(--muted);font-size:12px;min-height:36px}.patience .hourglass{font-size:65px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--ink);color:white;padding:14px 23px;border-radius:100px;font-size:12px;z-index:20;transition:opacity .2s,transform .2s;max-width:calc(100vw - 24px);text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}#confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:15}.confetti-bit{position:absolute;top:-20px;width:8px;height:13px;animation:fall 2s ease-in forwards}.not-found{text-align:center;padding:110px 0}.not-found h1{font-size:54px}.not-found p{color:var(--muted)}
@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,100%{transform:rotate(-7deg)}25%{transform:rotate(10deg)}75%{transform:rotate(-16deg)}}@keyframes fall{to{transform:translateY(110vh) rotate(720deg)}}
@media(min-width:1500px){.shell{max-width:1320px}.hero{min-height:580px}.hero-art{height:410px}.card-visual{height:210px}}
@media(max-width:900px){.shell{padding:0 28px}.top-note{display:none}.hero{gap:10px;min-height:490px}.hero-art{height:330px}.orb{width:270px;height:270px}.hero-art .envelope{transform:scale(.86) rotate(-9deg)}.float-note{right:0;font-size:14px}.doodle.one{left:5px}.grid{grid-template-columns:repeat(2,1fr)}h1{font-size:57px}.hero-copy>p{font-size:14px}.small-stamp{left:0;bottom:12px}.section-head p{max-width:220px;text-align:right}}
@media(max-width:600px){.shell{padding:0 22px}.topbar{height:80px}.brand{font-size:17px}.brand-icon{font-size:29px;margin-right:7px}.top-link{font-size:11px}.top-link span{margin-left:5px}.hero{grid-template-columns:1fr;padding:40px 0 32px;gap:10px}.hero-copy{text-align:center}.eyebrow{justify-content:center;font-size:9px}h1{font-size:55px;letter-spacing:-2.5px;margin:20px 0}.hero-copy>p{margin:0 auto 22px;max-width:300px}.micro{justify-content:center}.hero-art{height:300px;margin-top:12px}.orb{width:260px;height:260px}.float-note{right:12px;top:10px}.doodle.one{left:23px;top:36px}.doodle.two{right:20px;bottom:30px}.small-stamp{left:15px;bottom:8px}.section-head{align-items:start;padding:26px 0 22px}.section-head h2{font-size:27px}.section-head p{font-size:11px;max-width:135px;margin-top:20px}.grid{gap:14px;padding-bottom:35px}.card-visual{height:145px}.card-body{padding:15px 13px}.card h3{font-size:21px}.card p{font-size:11px;line-height:1.6}.card-number{left:11px;top:12px}.card-tag{right:8px;top:9px;font-size:8px;padding:4px 6px}.card-visual .envelope{transform:scale(.43) rotate(-8deg)}.card-visual .gift{transform:scale(.8) rotate(-7deg);margin-top:18px}.fake-button{padding:12px 15px;font-size:10px}.ticket{padding:14px 18px;font-size:8px}.ticket strong{font-size:28px}.scratch-mini{padding:20px 12px;border-width:5px;font-size:20px}.hourglass{font-size:61px}footer{flex-direction:column;gap:8px;padding:20px 0;font-size:9px}.detail-top{margin:18px 0;font-size:11px}.detail{padding-bottom:40px}.detail h1{font-size:43px}.detail .intro{font-size:13px}.stage{margin-top:25px;min-height:285px;padding:35px 15px}.stage.envelope-stage{min-height:330px}.stage .envelope{transform:scale(.88)}.reveal h2{font-size:25px}.detail-actions{gap:8px}.detail-actions button{font-size:12px;padding:12px 18px}.lottery .ticket{width:210px}.lottery .ticket strong{font-size:36px}}
@media(max-width:360px){.shell{padding:0 15px}.grid{grid-template-columns:1fr}.card-visual{height:180px}.card-visual .envelope{transform:scale(.6) rotate(-8deg)}.brand{font-size:15px}h1{font-size:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.confetti-bit{display:none}}
.hero-art .letter{z-index:2}
