@charset "UTF-8";
:root{--night:#101720;--cream:#f1e6d6;--muted:#a8adb3;--pink:#e9b1b2;--gold:#c7a985;--serif:"Songti SC","Noto Serif CJK SC","Source Han Serif SC","STSong","SimSun",serif;--sans:"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--night);color:var(--cream);font-family:var(--sans);font-size:14px;line-height:1.8;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--pink);outline-offset:8px}button{color:inherit}::selection{background:#88646c;color:#fff}#sky{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}.grain{position:fixed;inset:0;pointer-events:none;z-index:9;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.7' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}header{position:absolute;z-index:10;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:27px 5.6%;border-bottom:1px solid #c7a98513}.brand{display:flex;align-items:center;gap:16px;letter-spacing:4px;font-family:var(--serif);font-size:16px}.brand-symbol{font:italic 44px Georgia,serif;letter-spacing:-8px;width:44px;color:var(--gold)}.brand-symbol span{position:relative;top:7px}.brand small{font:8px var(--sans);letter-spacing:2px;display:block;margin-top:4px;color:#91959d}nav{display:flex;align-items:center;gap:32px;font-size:12px;letter-spacing:2px}nav>a{padding:10px 0;color:#d1c6c0}nav>a:hover{color:var(--pink)}#sound{display:flex;gap:10px;align-items:center;background:none;border:1px solid #c7a98544;border-radius:30px;padding:10px 16px;font-size:11px;letter-spacing:1px}.sound-bars{display:flex;align-items:center;gap:3px;height:16px}.sound-bars i{width:2px;height:5px;background:var(--gold);border-radius:2px}.sound-bars i:nth-child(2){height:13px}.sound-bars i:nth-child(3){height:9px}.playing i{animation:equalize .8s ease-in-out infinite alternate}.playing i:nth-child(2){animation-delay:.3s}.playing i:nth-child(3){animation-delay:.6s}.playing i:nth-child(4){animation-delay:.2s}.hero{min-height:850px;height:100svh;max-height:1200px;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--night),transparent 24%);z-index:-1;pointer-events:none}.aurora{position:absolute;width:90%;height:70%;left:25%;top:5%;background:radial-gradient(ellipse at 50% 50%,#ba657329,transparent 62%);filter:blur(45px);transform:rotate(-30deg);z-index:-3;animation:aurora 14s ease-in-out infinite alternate}.hero-content{position:relative;z-index:2;margin:58px 0 70px 14%;width:660px}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--gold);letter-spacing:2.7px;font-size:9px;margin-bottom:36px}.eyebrow>span{width:31px;height:1px;background:var(--gold)}.pretitle{font-family:var(--serif);letter-spacing:5px;font-size:17px;color:#c6c0c3;margin:0 0 18px}h1{font-family:var(--serif);font-weight:400;letter-spacing:18px;font-size:clamp(80px,8.7vw,128px);line-height:1.35;margin:0 0 22px;position:relative;text-shadow:0 0 50px #e9b1b226}h1>span:first-child{color:var(--pink)}h1 .name-star{display:inline-block;font:39px Georgia;vertical-align:top;position:relative;top:6px;color:var(--gold);margin-left:0}.hero-line{font-family:var(--serif);font-size:25px;letter-spacing:4px;margin:0 0 23px}.mobile-break{display:none}.hero-note{color:var(--muted);letter-spacing:2px;font-size:12px;line-height:2.25;margin-bottom:30px}.button{border:1px solid #c7a98570;background:transparent;border-radius:2px;padding:15px 28px;display:inline-flex;align-items:center;justify-content:space-between;gap:40px;letter-spacing:2px;font-size:13px;min-height:52px;transition:transform .3s,box-shadow .3s,background .3s}.primary{background:#e9bcbc;color:#35272d;border-color:#e9bcbc;box-shadow:0 5px 35px #f5b9b413}.button:hover{transform:translateY(-3px);box-shadow:0 5px 45px #e9b1b233}.button>span:last-child{font-size:21px;line-height:1}.hero-caption{font-size:10px;letter-spacing:1.4px;color:#a7a0a6;margin-top:19px}.tiny-star{color:var(--gold);font-size:17px;margin-right:6px}.moon-orbit{position:absolute;z-index:-2;width:520px;height:520px;left:60%;top:16%;transform:rotate(-20deg);opacity:.85}.moon{position:absolute;left:30%;top:26%;width:135px;height:135px;border-radius:50%;background:radial-gradient(circle at 34% 33%,#f7ede5,#e9d7c5 37%,#bfaab0 70%,#645d70);box-shadow:0 0 80px #e4c2b520,0 0 180px #e9b1b211;opacity:.9}.moon:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse at 25% 70%,#8e819d30,transparent 28%),radial-gradient(circle at 58% 30%,#887f9d20,transparent 23%)}.orbit-line{position:absolute;inset:0;border:1px solid #c7a98520;border-radius:50%;transform:scaleY(.72)}.orbit-line:before{content:"";position:absolute;inset:30px;border:1px dashed #c7a98515;border-radius:50%}.orbit-star{position:absolute;left:10%;top:23%;color:#d5baa1;font-size:28px;animation:twinkle 4s infinite}.side-note{position:absolute;right:4%;top:44%;writing-mode:vertical-rl;font:9px Georgia;letter-spacing:4px;color:#bda78e88}#garden{position:absolute;z-index:-1;bottom:-20px;left:0;width:100%;height:380px;pointer-events:none}#garden svg{width:100%;height:100%;overflow:visible}.flower-stem{transform-box:fill-box;transform-origin:bottom center;animation:sway var(--sway,8s) ease-in-out infinite alternate}.scroll-hint{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:3px;color:#bdb1ad;display:flex;align-items:center;gap:12px}.scroll-hint>span{width:1px;height:35px;background:linear-gradient(transparent,var(--gold));animation:scroll-line 2s infinite}.hero-number{position:absolute;bottom:42px;left:5.6%;font:9px Georgia;letter-spacing:2px;color:#a18c77}.section{max-width:1170px;padding:110px 50px;margin:auto;position:relative}.section-index{font-size:10px;color:var(--gold);letter-spacing:3px;margin-bottom:65px}.poem{padding-top:140px;padding-bottom:150px}.poem-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:80px}.script-word{display:block;font:italic 29px Georgia,serif;color:#c4a4a4;margin-bottom:23px}h2{font-family:var(--serif);font-size:35px;font-weight:400;letter-spacing:3px;line-height:1.75;margin:0 0 22px}.fine-line{height:1px;width:70px;background:var(--gold);opacity:.45;margin:36px 0 24px}.small-english{font:9px Georgia;letter-spacing:3px;color:#b59f8e}.verses{border-left:1px solid #c7a98535;padding-left:65px}.verses p{font-family:var(--serif);font-size:18px;letter-spacing:3px;line-height:2.1;margin:0 0 30px;color:#bdbbc2}.verses p:last-child{margin:0}em{font-style:normal;color:var(--pink)}.poem-flower{position:absolute;bottom:40px;left:8%;font:170px Georgia;color:#c7a9850d;transform:rotate(10deg)}.constellation{max-width:none;background:linear-gradient(135deg,#1f202e70,#191d2a40);border-top:1px solid #c7a98515;border-bottom:1px solid #c7a98515;padding-bottom:65px}.constellation>.section-index{max-width:1070px;margin-left:auto;margin-right:auto}.section-title{text-align:center}.section-title h2{font-size:32px}.section-title p,.letter-intro>p{color:var(--muted);font-size:12px;letter-spacing:2px;line-height:2.3}.star-map{max-width:1000px;height:310px;margin:20px auto 0;position:relative}.star-path{position:absolute;width:100%;height:100%;inset:0;overflow:visible}.star-path path{fill:none;stroke:#c7a9853d;stroke-width:1;stroke-dasharray:4 7}.star-path .lit-path{stroke:#e9b1b2;stroke-dasharray:1200;stroke-dashoffset:1200;transition:stroke-dashoffset 2s;filter:drop-shadow(0 0 5px #e9b1b2)}.star-map.complete .lit-path{stroke-dashoffset:0}.wish-star{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);background:none;border:none;width:70px;height:90px;padding:0;display:flex;flex-direction:column;justify-content:center;align-items:center}.wish-star>span{font-size:42px;line-height:1.3;color:#d7bda9;filter:drop-shadow(0 0 12px #e9b1b28c);transition:transform .4s,color .4s;animation:twinkle 4s ease-in-out infinite;animation-delay:var(--delay)}.wish-star small{font-size:10px;letter-spacing:3px;margin-top:8px;color:#a8a4ac}.wish-star:hover>span{transform:scale(1.3)}.wish-star.lit>span{color:#ffd9d8;transform:scale(1.2)}.wish-star.lit small{color:var(--pink)}.wish-message{text-align:center;min-height:112px}.wish-message>span{font-size:9px;letter-spacing:3px;color:#a89b92}.wish-message p{font-family:var(--serif);font-size:21px;letter-spacing:2px;color:var(--pink);margin-top:15px;transition:opacity .25s}.letter-section{padding-top:120px;padding-bottom:150px}.letter-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.letter-intro h2{font-size:38px}.letter-address{display:block;color:#938f99;font-size:11px;letter-spacing:3px;margin-top:30px}.letter-address>span{color:var(--gold);margin-left:22px;font-family:var(--serif);font-size:17px}.envelope{border:none;display:block;position:relative;background:transparent;width:100%;height:260px;transform:rotate(-5deg);filter:drop-shadow(0 20px 28px #0005);transition:transform .6s}.envelope.reveal.visible{transform:rotate(-5deg)}.envelope:hover,.envelope.reveal.visible:hover{transform:rotate(-1deg) translateY(-7px)}.envelope-back{position:absolute;inset:0;background:#bba296;border:1px solid #ecd6c3}.letter-peek{position:absolute;background:#efe0c9;inset:-24px 25px 30px;text-align:left;padding:25px;font:italic 24px Georgia;color:#67504a;transition:transform .5s}.letter-peek>span{font:11px var(--serif);display:block;margin-top:15px}.envelope:hover .letter-peek{transform:translateY(-20px)}.envelope-front{position:absolute;inset:0;background:linear-gradient(155deg,#e7d4bd,#cebaa4);clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%)}.envelope-flap{position:absolute;inset:0;background:linear-gradient(165deg,#ddcab6,#c6ab96);clip-path:polygon(0 0,100% 0,50% 58%);filter:drop-shadow(0 3px 3px #0003)}.wax-seal{position:absolute;left:calc(50% - 27px);top:calc(50% - 12px);display:grid;place-items:center;width:55px;height:55px;background:radial-gradient(ellipse at 30% 30%,#ae6871,#7f3f4a);border:3px double #c28687;border-radius:46% 51% 44% 49%;font:30px Georgia;color:#e2b9ae;box-shadow:2px 4px 9px #513d4666}.envelope-label{position:absolute;left:0;right:0;bottom:26px;font:8px Georgia;letter-spacing:3px;color:#775c55}.envelope-hint{position:absolute;bottom:-57px;left:0;right:0;font-size:10px;letter-spacing:2px;color:#b8a698;transform:rotate(5deg)}.envelope-hint>span{margin-left:12px;color:var(--pink)}.finale{max-width:none;text-align:center;padding:110px 25px 120px;overflow:hidden;background:linear-gradient(0deg,#241d2a60,transparent)}.finale .section-index{display:block;margin-bottom:35px}.halo{position:absolute;z-index:-1;width:600px;height:600px;max-width:100vw;left:50%;top:6%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,#a75f681a,transparent 70%)}.heart-line{font:60px Georgia;color:var(--pink);margin-bottom:25px;text-shadow:0 0 30px #e9b1b244;animation:heartbeat 3s ease-in-out infinite}.finale h2{margin-top:25px;font-size:36px;line-height:1.8}.finale h2 em{display:block}.finale p{font-size:13px;color:#b5acb5;letter-spacing:2px;line-height:2.3;margin-bottom:30px}.final-note{display:block;color:#a799a6;font-size:10px;letter-spacing:2px;margin-top:22px}footer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:32px 5.6%;border-top:1px solid #c7a98520;background:#10151d;z-index:1}footer a{font:17px var(--serif);letter-spacing:3px}footer a>span{color:var(--gold);font-size:13px;margin-left:10px}footer p{color:#9a959f;font-size:10px;letter-spacing:2px}footer>span{font:8px Georgia;letter-spacing:2px;color:#8d8587}dialog{border:none;padding:0;max-width:calc(100vw - 30px);width:570px;max-height:88svh;overflow-y:auto;color:#604b46;background:#eee1cf;overscroll-behavior:contain;border-radius:3px;box-shadow:0 30px 120px #0008}dialog::backdrop{background:#090d15d9;backdrop-filter:blur(12px)}dialog[open]{animation:dialog-in .6s ease both}.close-dialog{position:sticky;top:10px;float:right;margin:9px 12px -50px 0;z-index:3;border:1px solid currentColor;border-radius:50%;background:transparent;width:36px;height:36px;font:25px Georgia;opacity:.7}.paper{padding:50px 48px 35px;background-image:repeating-linear-gradient(0deg,transparent,transparent 31px,#9b786804 31px,#9b786804 32px)}.paper-kicker{font:8px Georgia;letter-spacing:3px;color:#96776c}.paper h2{font-size:27px;margin:30px 0 25px;letter-spacing:2px}.letter-copy{font-family:var(--serif);font-size:16px;line-height:2;letter-spacing:1px}.letter-copy p{margin-bottom:24px}.letter-copy strong{color:#9a4b60;font-weight:400;font-size:23px;line-height:2.1}.signature{font:14px var(--serif);text-align:right;line-height:2;color:#907164;margin:35px 0}.signature span{display:block;font-size:12px;margin-top:12px}.paper-close{width:100%;padding:13px;border:1px solid #b89b88;background:transparent;letter-spacing:2px;font-size:12px;color:#7a5c53}.paper-close span{float:right}#confession-dialog{width:630px;background:#151c2bed;color:var(--cream);text-align:center;overflow:hidden;border:1px solid #ba959b40}.confession-content{padding:55px 25px 35px}.confession-content .script-word{font-size:24px}.confession-heart{display:block;font:70px Georgia;color:var(--pink);animation:heartbeat 2s infinite}.confession-content h2{font-size:42px;line-height:1.65;letter-spacing:6px}.confession-content p{font-family:var(--serif);font-size:16px;letter-spacing:2px;color:#b9b2bb}.confession-content .button{font-size:11px;margin-top:18px}.quiet-close{display:block;background:none;border:none;color:#b8a2a8;font-size:10px;letter-spacing:2px;margin:20px auto 0;padding:12px}#fireworks{position:fixed;inset:0;z-index:30;width:100%;height:100%;pointer-events:none}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#27232ff2;border:1px solid #c7a98544;padding:12px 22px;border-radius:3px;z-index:40;font-size:12px;opacity:0;transition:all .3s;pointer-events:none;max-width:90%;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}.entry{animation:enter 1.2s both}.e1{animation-delay:.15s}.e2{animation-delay:.35s}.e3{animation-delay:.5s}.e4{animation-delay:.75s}.e5{animation-delay:1s}.reveal{opacity:0;transform:translateY(26px);transition:opacity 1s,transform 1s}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes enter{from{opacity:0;transform:translateY(20px);filter:blur(7px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes aurora{to{transform:translate(-6%,8%) rotate(-18deg) scale(1.2);opacity:.6}}@keyframes sway{from{transform:rotate(-2deg)}to{transform:rotate(3deg)}}@keyframes twinkle{50%{opacity:.5;filter:drop-shadow(0 0 20px #e9b1b2)}}@keyframes heartbeat{50%{transform:scale(1.08)}}@keyframes scroll-line{50%{transform:translateY(8px);opacity:.4}}@keyframes equalize{to{height:3px}}@keyframes dialog-in{from{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:1500px){.hero-content{margin-left:18%}}@media(max-width:1000px){.hero-content{margin-left:9%}.moon-orbit{left:57%;top:18%;width:420px;height:420px}.moon{width:105px;height:105px}.section{padding-left:7%;padding-right:7%}.poem-layout{gap:35px}.verses{padding-left:40px}.letter-layout{gap:45px}.envelope{height:230px}footer>span{display:none}}@media(max-width:600px){html{scroll-padding-top:25px}header{padding:20px 22px}.brand{font-size:13px;letter-spacing:3px;gap:12px}.brand-symbol{font-size:34px;width:33px}.brand small{font-size:6px;letter-spacing:1px}nav{gap:18px}nav>a{display:none}#sound{padding:10px 12px;font-size:10px}#sound-label{letter-spacing:0}.hero{min-height:760px;max-height:980px;align-items:flex-start}.hero-content{margin:168px 23px 130px;width:calc(100% - 46px)}.eyebrow{font-size:7px;letter-spacing:1.5px;margin-bottom:30px;gap:9px}.eyebrow>span{width:20px}.pretitle{font-size:13px;letter-spacing:3px;margin-bottom:17px}h1{font-size:72px;letter-spacing:10px;margin-bottom:25px}h1 .name-star{font-size:25px;letter-spacing:0;top:0}.hero-line{font-size:22px;letter-spacing:3px;line-height:1.8;margin-bottom:20px}.mobile-break{display:block}.hero-note{font-size:11px;letter-spacing:1.5px;margin-bottom:25px}.button{padding:14px 24px;font-size:12px;gap:35px}.hero-caption{font-size:9px;letter-spacing:.6px;margin-top:17px}.moon-orbit{left:auto;right:-85px;top:80px;width:280px;height:280px;opacity:.55}.moon{width:66px;height:66px;left:49%;top:16%}.orbit-star{font-size:18px}.side-note{right:13px;top:37%;font-size:7px;letter-spacing:3px}.hero-number{display:none}.scroll-hint{font-size:9px;bottom:26px;letter-spacing:2px}#garden{height:260px;bottom:0;width:180%;left:-35%;opacity:.72}.section{padding:75px 25px}.section-index{font-size:9px;margin-bottom:40px;letter-spacing:2px}.poem-layout{display:block}.script-word{font-size:24px;margin-bottom:15px}h2{font-size:29px;letter-spacing:2px}.fine-line{margin:26px 0 20px}.small-english{font-size:8px;letter-spacing:2px}.verses{padding-left:25px;margin:42px 0 0 32px}.verses p{font-size:16px;letter-spacing:2px;line-height:2.15;margin-bottom:25px}.poem-flower{font-size:110px;left:auto;right:20px;bottom:20px}.section-title h2{font-size:25px;line-height:1.8;max-width:270px;margin:0 auto 15px}.section-title p{font-size:10px;letter-spacing:1px}.star-map{height:240px;margin:25px 8px 0}.wish-star{width:55px}.wish-star>span{font-size:34px}.wish-star small{font-size:9px;letter-spacing:2px}.wish-message p{font-size:16px;letter-spacing:1px;min-height:58px}.wish-message>span{font-size:8px;letter-spacing:2px}.constellation{padding-bottom:35px}.letter-layout{display:block}.letter-intro h2{font-size:31px}.letter-intro>p{font-size:11px}.letter-address{margin-top:25px}.envelope{width:88%;margin:70px auto 40px;height:205px}.envelope-label{font-size:7px;bottom:22px;letter-spacing:2px}.letter-peek{padding:20px;font-size:20px;inset:-22px 20px 20px}.envelope-hint{font-size:9px;letter-spacing:1px}.letter-section{padding-bottom:100px}.finale{padding:65px 25px 85px}.finale h2{font-size:28px;letter-spacing:2px}.finale p{font-size:11px}.heart-line{font-size:50px}.final-note{font-size:9px}footer{padding:27px 22px;display:block;text-align:center}footer a{font-size:16px}footer p{font-size:9px;margin:15px 0 0}.paper{padding:45px 25px 25px}.paper h2{font-size:24px}.letter-copy{font-size:14px;letter-spacing:.6px}.letter-copy strong{font-size:21px}.signature{font-size:12px}.confession-content{padding:45px 20px 25px}.confession-content h2{font-size:36px}.confession-content p{font-size:14px}.confession-content .script-word{font-size:22px}.confession-heart{font-size:57px}}@media(max-width:360px){h1{font-size:62px;letter-spacing:8px}.eyebrow{font-size:6px}.hero-content{margin-top:155px}.brand small{display:none}.hero{min-height:740px}.hero-caption{font-size:8px}.envelope{height:180px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.entry,.reveal{opacity:1;transform:none;filter:none}.envelope.reveal{transform:rotate(-5deg)}}
#fireworks{border:0;padding:0;margin:0;background:transparent;max-width:none;max-height:none}#fireworks::backdrop{background:transparent;pointer-events:none}
/* Star garden: luminous typography and layered ceremonial details. */
:root{--serif:'Noto Serif SC','Songti SC','STSong','SimSun',serif}
.hero{background:radial-gradient(ellipse at 78% 42%,#8538582b,transparent 48%),radial-gradient(ellipse at 18% 100%,#7d455c19,transparent 55%)}
.hero-content:before{content:'✧';position:absolute;left:-43px;top:108px;color:#cda78385;font-size:20px}
h1{font-weight:600;background:linear-gradient(115deg,#e8c7a5 5%,#fff2e4 25%,#e9b0bd 45%,#fbe4d2 64%,#ba8e74 80%,#ffe7cf 95%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 26px #e4a7b433);animation:enter 1.4s .4s both,name-shimmer 9s 1.8s linear infinite}
h1>span:first-child{color:inherit}h1 .name-star{color:#eac4a2;filter:drop-shadow(0 0 8px #e6bd86)}
h2{font-weight:400}.pretitle,.hero-line{font-family:var(--serif)}.hero-line{font-size:24px}.poem-heading h2{line-height:1.95}
#love-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}.art-caption{position:absolute;left:62%;top:70%;text-align:center;width:28%;color:#e6c7bc;pointer-events:none}.art-caption>span{font:italic 66px Georgia,serif;text-shadow:0 0 30px #ebb8ba55}.art-caption>small{display:block;font-family:var(--serif);font-size:11px;color:#bea68e;letter-spacing:3px;margin-top:12px}.moon-orbit{opacity:.38;top:4%;left:66%;width:400px;height:400px}.moon{width:85px;height:85px}.aurora{background:conic-gradient(from 110deg at 45% 55%,transparent 10%,#c4797833 20%,transparent 30%,#b375aa26 50%,transparent 65%);height:95%;width:110%;top:-15%;left:15%}
.primary{background:linear-gradient(115deg,#dba4ae,#f4d5cf 45%,#deb8a4);border:1px solid #f9ddd1;position:relative;overflow:hidden;box-shadow:0 0 24px #d68c9d20,inset 0 0 10px #fff3}.primary:before{content:'';position:absolute;inset:0;width:40%;background:linear-gradient(90deg,transparent,#fff8,transparent);transform:skewX(-25deg) translateX(-400%);animation:button-glint 6s 3s infinite}.primary:hover{box-shadow:0 0 45px #e7a7b24d}
#garden{filter:drop-shadow(0 -3px 13px #b3779322)}.wax-seal{box-shadow:0 0 0 5px #94536222,0 0 25px #9c515d66,2px 4px 9px #513d4666}.envelope:after{content:'';position:absolute;inset:-15px;border:1px solid #c7a98526;pointer-events:none}.finale:before{content:'';position:absolute;width:650px;height:650px;left:50%;top:40px;transform:translateX(-50%);border-radius:50%;border:1px solid #c7a98514;box-shadow:0 0 0 25px #c7a98504,0 0 0 65px #c7a98503;z-index:-1}.confession-content h2 em{background:linear-gradient(90deg,#f5c4a8,#f6dce1,#e7a0b7);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 0 15px #de86a36b)}
@keyframes name-shimmer{to{background-position:240% 0}}@keyframes button-glint{0%,65%{transform:skewX(-25deg) translateX(-400%)}100%{transform:skewX(-25deg) translateX(500%)}}
@media(max-width:600px){.hero-content{margin-top:185px}.hero-content:before{display:none}h1{font-size:69px;letter-spacing:8px;line-height:1.6;margin-bottom:12px}.hero-line{font-size:21px}.hero-content .eyebrow{font-size:6.5px;letter-spacing:1px}.moon-orbit{right:-50px;left:auto;top:80px;width:240px;height:240px;opacity:.3}.moon{width:50px;height:50px}.art-caption{display:none}#love-art{opacity:.7}.hero{min-height:810px}.poem-heading h2{font-size:27px}.section-title h2{font-size:24px}.finale h2{font-size:26px}.hero-caption{font-size:8px;letter-spacing:1px}.finale:before{width:380px;height:380px;top:130px}}
@media(max-width:360px){h1{font-size:61px;letter-spacing:5px}.hero-line{font-size:20px}.hero-content{margin-top:178px}}
@media(prefers-reduced-motion:reduce){h1{animation:none!important}.primary:before{display:none}}
:root{--art:'Ma Shan Zheng','Noto Serif SC',serif;--script:'Great Vibes',Georgia,serif}
h1{font-family:var(--art);font-weight:400;font-size:clamp(96px,10vw,154px);line-height:1.15;letter-spacing:12px;padding:8px 0 17px}.script-word{font-family:var(--script);font-size:39px;font-style:normal}.art-caption>span{font-family:var(--script);font-size:88px}.confession-content h2{font-family:var(--art);font-size:62px}.confession-content .script-word{font-family:var(--script);font-size:36px}.hero-content{width:690px}.hero-actions{display:flex;align-items:center;gap:25px}.theater-entry{border:0;border-bottom:1px solid #c7a98566;background:none;padding:12px 0;color:#e3beae;font-size:12px;letter-spacing:2px}.theater-entry>span:first-child{font-size:24px;vertical-align:middle;margin-right:8px}.theater-entry>span:last-child{margin-left:12px}.theater-entry:hover{color:#ffe1ce;text-shadow:0 0 18px #ffc5ce}.hero{background:radial-gradient(ellipse at 78% 42%,#a63e6a38,transparent 50%),radial-gradient(ellipse at 18% 100%,#85486329,transparent 55%)}#garden{filter:drop-shadow(0 -3px 15px #c68ca844);opacity:1}
#universe-dialog{position:fixed;inset:0;margin:0;padding:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;background:radial-gradient(ellipse at 50% 40%,#27162c,#0c111c 75%);color:var(--cream);overflow:hidden;box-shadow:none}#universe-dialog::backdrop{background:#0c111c}#universe-dialog .close-dialog{position:absolute;top:24px;right:18px;margin:0;color:#ddbea9;z-index:3}#universe-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.universe-top{position:absolute;top:6%;left:15%;right:15%;text-align:center;pointer-events:none}.universe-top .script-word{font-size:52px;margin-bottom:4px;color:#deb8c4}.universe-top>span:last-child{font-size:10px;color:#c5a987;letter-spacing:4px}.universe-bottom{position:absolute;bottom:max(4%,env(safe-area-inset-bottom));left:5%;right:5%;text-align:center}.universe-chapter{font-size:10px;letter-spacing:3px;color:#cba989}.universe-bottom h2{font-size:20px;letter-spacing:2px;margin:13px 0 22px}.universe-bottom>p{font-size:10px;color:#a597a8;letter-spacing:1px;margin-top:18px}.universe-bottom .button{font-size:11px;min-width:240px}
@media(max-width:600px){h1{font-size:85px;letter-spacing:7px;padding:3px 0 18px;line-height:1.25;margin-bottom:16px}.hero-content{width:calc(100% - 46px);margin-top:192px}.hero-actions{gap:10px;align-items:flex-start;flex-direction:column}.hero-actions .theater-entry{font-size:10px;padding:3px 0 6px;letter-spacing:1px}.theater-entry>span:first-child{font-size:21px}.hero-caption{margin-top:12px}.hero{min-height:850px}.hero-note{margin-bottom:20px}.hero-content .eyebrow{margin-bottom:30px}.script-word{font-size:33px}.art-caption>span{font-size:75px}.confession-content h2{font-size:48px}.confession-content .script-word{font-size:33px}.universe-top{top:9%;left:8%;right:8%}.universe-top .script-word{font-size:41px}.universe-top>span:last-child{font-size:8px;letter-spacing:2px}.universe-bottom{bottom:5%}.universe-bottom h2{font-size:15px;letter-spacing:1px;margin:12px 0 21px}.universe-bottom>p{font-size:8px;letter-spacing:0}.universe-chapter{font-size:9px;letter-spacing:2px}.universe-bottom .button{min-width:220px}#universe-dialog .close-dialog{top:15px;right:15px}}
@media(max-width:360px){h1{font-size:72px;letter-spacing:5px}.hero-content{margin-top:180px}}
