@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700;900&family=ZCOOL+KuaiLe&display=swap";:root{--ink:#3e3532;--rose:#b66463;--paper:#fbf7f1;--cream:#f4eadf;--line:#dfd3c9;--green:#8e9b87}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Noto Serif SC,serif}button,input,textarea{font:inherit}button,a{transition:all .25s}button{cursor:pointer}a{color:inherit;text-decoration:none}.shell{width:min(1180px,100% - 48px);margin:auto}.nav{border-bottom:1px solid var(--line);z-index:5;justify-content:space-between;align-items:center;height:86px;display:flex;position:relative}.brand{letter-spacing:.04em;font-size:18px;font-weight:700}.brand span{border:1px solid var(--rose);width:30px;height:30px;color:var(--rose);border-radius:50%;place-items:center;margin-right:8px;display:inline-grid}.navlinks{gap:36px;font-size:14px;display:flex}.navlinks a:hover{color:var(--rose)}.softButton{border:1px solid var(--rose);color:var(--rose);background:0 0;border-radius:99px;padding:10px 20px}.softButton:hover{background:var(--rose);color:#fff}.hero{grid-template-columns:1.05fr .95fr;align-items:center;min-height:710px;padding-bottom:74px;display:grid;position:relative}.heroCopy{z-index:2;padding:70px 0;position:relative}.eyebrow{color:var(--rose);letter-spacing:.25em;margin:0 0 18px;font-size:11px;font-weight:700}.hero h1{letter-spacing:.04em;margin:0 0 26px;font-size:64px;font-weight:900;line-height:1.28}.hero h1 span{color:var(--rose);position:relative}.hero h1 span:after{content:"";opacity:.7;background:#e8c3b0;border-radius:50%;height:7px;position:absolute;bottom:-5px;left:0;right:0}.intro{color:#756c68;max-width:555px;font-size:15px;line-height:2}.heroActions{align-items:center;gap:15px;margin-top:38px;display:flex}.primaryButton{background:var(--rose);color:#fff;border:0;border-radius:3px;justify-content:center;align-items:center;gap:28px;padding:15px 24px;display:inline-flex;box-shadow:0 8px 22px #b6646330}.primaryButton:hover{transform:translateY(-2px);box-shadow:0 12px 25px #b6646345}.roundButton{border:1px solid var(--line);width:47px;height:47px;color:var(--rose);background:#fff;border-radius:50%;font-size:18px}.nowPlaying{color:#8b817c;font-size:10px;line-height:1.5}.nowPlaying b{color:var(--ink);font-size:12px}.heroArt{background:#efe5db;border-radius:47% 47% 8px 8px;height:530px;position:relative;overflow:hidden}.sun{background:#e9cfc0;border-radius:50%;width:120px;height:120px;position:absolute;top:50px;right:68px}.cloud{opacity:.8;background:#f7efe7;border-radius:50%;width:100px;height:25px;position:absolute}.cloud:after,.cloud:before{content:"";background:inherit;border-radius:50%;position:absolute}.cloud:before{width:45px;height:45px;bottom:0;left:18px}.cloud:after{width:55px;height:55px;bottom:0;right:12px}.cloud.one{top:95px;left:45px}.cloud.two{top:175px;right:20px;transform:scale(.7)}.photo{text-align:center;background:#fff;padding:11px 11px 18px;font-family:ZCOOL KuaiLe;font-size:14px;position:absolute;box-shadow:0 12px 24px #79665e30}.photoOne{width:205px;top:110px;left:46px;transform:rotate(-7deg)}.photoTwo{width:185px;top:220px;right:42px;transform:rotate(8deg)}.photoScene{color:#fff;place-items:center;height:210px;font-size:55px;display:grid;overflow:hidden}.sunset{text-shadow:0 5px 20px #fff;background:linear-gradient(#caaab0 0 45%,#dfaa91 46% 62%,#63747a 63%)}.field{background:linear-gradient(#b9c8c9 0 45%,#879879 46%);height:185px;font-size:65px}.photo p{margin:10px 0 0}.heartStamp{border:2px solid var(--rose);width:85px;height:85px;color:var(--rose);border-radius:50%;place-items:center;font-size:35px;display:grid;position:absolute;top:55px;right:38px;transform:rotate(10deg)}.heartStamp small{letter-spacing:.12em;font-size:7px;position:absolute;bottom:10px}.doodle{color:var(--rose);font-family:ZCOOL KuaiLe;font-size:23px;position:absolute;bottom:38px;left:35px;transform:rotate(-8deg)}.counterCard{border-left:3px solid var(--rose);background:#fff;align-items:baseline;gap:10px;padding:18px 26px;display:flex;position:absolute;bottom:0;left:0;box-shadow:0 7px 25px #6d554818}.counterCard span{font-size:13px}.counterCard strong{color:var(--rose);font-size:38px}.counterCard small{color:#978d87;margin-left:15px;font-size:10px}.section{padding:110px 0}.sectionHead{justify-content:space-between;align-items:end;margin-bottom:38px;display:flex}.sectionHead h2,.wishIntro h2{margin:0;font-size:36px}.sectionHead>p{color:#8c817c;font-size:13px}.memoryGrid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.memoryCard{background:#fff;border:1px solid #e8ddd3;padding:13px 13px 25px;transform:translateY(0);box-shadow:0 8px 20px #6752450a}.memoryCard:nth-child(2n){margin-top:26px}.memoryCard:hover{transform:translateY(-8px)rotate(.5deg);box-shadow:0 15px 30px #6752451c}.memoryVisual{place-items:center;height:205px;font-size:56px;display:grid;position:relative}.memoryVisual b{color:#fff;letter-spacing:.1em;font-size:11px;position:absolute;top:12px;right:14px}.memoryVisual.pink{background:linear-gradient(135deg,#dcb6b8,#9f737a)}.memoryVisual.blue{background:linear-gradient(135deg,#a7c5c9,#6b8991)}.memoryVisual.gold{background:linear-gradient(135deg,#d7bd8e,#9c795c)}.memoryVisual.mint{background:linear-gradient(135deg,#c7d1c2,#849481)}.memoryCard time{letter-spacing:.12em;color:var(--rose);margin:20px 5px 7px;font-size:9px;display:block}.memoryCard h3{margin:0 5px 9px;font-size:18px}.memoryCard>p{color:#827771;margin:0 5px;font-size:12px;line-height:1.8}.wishSection{background:#eee4da;position:relative}.wishSection:before{content:"♡";color:#fff;opacity:.28;font-size:180px;position:absolute;top:12%;left:5%}.wishLayout{grid-template-columns:.82fr 1.18fr;align-items:center;gap:105px;display:grid}.wishIntro{position:relative}.wishIntro>p:not(.eyebrow){color:#746b66;font-size:14px;line-height:1.9}.progress{background:#dbcfc4;border-radius:10px;height:6px;margin:35px 0 12px;overflow:hidden}.progress div{background:var(--rose);height:100%;transition:width .4s}.wishIntro>b{color:var(--rose);font-size:11px}.wishList{flex-direction:column;display:flex}.wish{text-align:left;background:0 0;border:0;border-bottom:1px solid #d7c9bd;grid-template-columns:36px 1fr 35px;align-items:center;padding:19px 10px;display:grid}.wish:hover{background:#ffffff50;padding-left:16px}.check{border:1px solid #a99b91;border-radius:50%;place-items:center;width:21px;height:21px;font-size:11px;display:grid}.wish.done .check{background:var(--rose);border-color:var(--rose);color:#fff}.wish b{font-size:15px}.wish.done b{color:#958a84;text-decoration:line-through}.wish small{color:var(--rose);border:1px solid #ceabaa;border-radius:20px;margin-left:10px;padding:2px 7px;font-size:9px}.wish em{color:#a99d96;font-size:10px;font-style:normal}.dailyGrid{grid-template-columns:.8fr 1fr 1.35fr;gap:20px;display:grid}.dailyGrid article{min-height:330px}.moodCard{text-align:center;background:#c6d0c2;padding:30px}.moodCard>p{letter-spacing:.12em;font-size:11px}.moodFace{color:#596654;font-size:75px;line-height:1.3}.moodCard h3{margin:0 0 24px;font-size:22px}.moodChoices{justify-content:center;gap:5px;display:flex}.moodChoices button{background:#ffffff70;border:0;border-radius:20px;padding:7px 11px;font-size:10px}.moodChoices button.active{color:#fff;background:#63705d}.messageCard{background:#f1d5c7;padding:62px 38px 30px;position:relative;transform:rotate(-1deg);box-shadow:0 10px 25px #6b544614}.tape{background:#ffffff80;width:95px;height:28px;position:absolute;top:0;left:50%;transform:translate(-50%,-30%)rotate(3deg)}.script{color:var(--rose);font-family:ZCOOL KuaiLe;font-size:20px}.messageCard h3{font-size:22px;line-height:1.8}.messageCard span{color:#826e64;font-size:11px}.notesCard{border:1px solid var(--line);background:#fff;padding:28px}.notesHead{justify-content:space-between;align-items:center;display:flex}.notesHead p{color:var(--rose);margin:0;font-size:10px}.notesHead h3{margin:5px 0 18px}.notesHead>span{color:var(--rose);font-size:24px}.noteInput{margin-bottom:12px;display:flex}.noteInput input{border:1px solid var(--line);background:#fbf8f4;outline:none;flex:1;min-width:0;padding:10px}.noteInput button{background:var(--rose);color:#fff;border:0;padding:0 14px}.note{border-top:1px dashed var(--line);color:#6e6561;padding:13px 2px;font-size:12px}.note span{color:var(--rose);margin-right:8px}.musicSection{color:#f8f2ea;background:#393d38}.musicSection .sectionHead>p{color:#aaa}.songs{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.song{color:#fff;text-align:left;background:#ffffff08;border:1px solid #ffffff20;grid-template-columns:70px 1fr 35px;align-items:center;padding:12px;display:grid}.song:hover,.activeSong{transform:translateY(-3px);background:#ffffff15!important}.album{color:#fff;place-items:center;width:60px;height:60px;font-size:23px;display:grid}.song b,.song small{display:block}.song b{margin-bottom:7px;font-size:15px}.song small{color:#aaa;font-size:10px}.song em{color:#deb5a4;font-style:normal}footer{text-align:center;background:#f1e7dd;padding:100px 0}footer span{color:var(--rose);font-size:30px}footer h2{margin:14px;font-size:35px}footer p{letter-spacing:.12em;color:#998b84;font-size:11px}footer a{border-bottom:1px solid;margin-top:24px;font-size:11px;display:inline-block}.modalBackdrop{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2d2724aa;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);width:min(520px,100%);padding:42px;position:relative;box-shadow:0 30px 80px #0004}.modal h2{margin:0 0 10px}.modal>p:not(.eyebrow){color:#7d726d;font-size:13px}.modal textarea{border:1px solid var(--line);resize:none;outline-color:var(--rose);background:#fff;width:100%;height:130px;margin:18px 0;padding:15px}.close{color:#877;background:0 0;border:0;font-size:25px;position:absolute;top:12px;right:15px}@media (width<=850px){.navlinks{display:none}.hero{grid-template-columns:1fr;padding-top:20px}.hero h1{font-size:48px}.heroArt{height:480px}.counterCard{grid-column:1;margin-top:20px;position:relative}.memoryGrid{grid-template-columns:repeat(2,1fr)}.wishLayout{grid-template-columns:1fr;gap:50px}.dailyGrid{grid-template-columns:1fr 1fr}.notesCard{grid-column:1/-1}.songs{grid-template-columns:1fr}.sectionHead{align-items:start;gap:20px}.sectionHead>p{display:none}}@media (width<=520px){.shell{width:min(100% - 28px,1180px)}.nav{height:70px}.softButton{padding:8px 12px;font-size:11px}.brand{font-size:14px}.hero{min-height:auto}.heroCopy{padding:55px 0 30px}.hero h1{font-size:40px}.intro{font-size:13px}.heroArt{height:410px}.photoOne{width:170px;left:18px}.photoTwo{width:150px;right:16px}.photoScene{height:165px}.field{height:145px}.heartStamp{top:35px;right:15px}.counterCard{flex-wrap:wrap;padding:15px}.counterCard small{width:100%;margin:0}.section{padding:75px 0}.sectionHead h2,.wishIntro h2{font-size:29px}.memoryGrid{grid-template-columns:1fr}.memoryCard:nth-child(2n){margin-top:0}.dailyGrid{grid-template-columns:1fr}.notesCard{grid-column:auto}.heroActions{flex-wrap:wrap}.nowPlaying{display:none}}.loadingGate{text-align:center;background:var(--paper);min-height:100vh;color:var(--rose);place-content:center;display:grid}.loadingGate span{font-size:50px}.loadingGate p{letter-spacing:.1em;font-size:12px}.onboarding{background:#fbf7f1;grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid;position:relative;overflow:hidden}.questionPanel{z-index:2;flex-direction:column;justify-content:center;padding:55px clamp(28px,8vw,130px);display:flex;position:relative}.questionBrand{align-items:center;gap:10px;display:flex;position:absolute;top:38px;left:clamp(28px,8vw,130px)}.questionBrand span{border:1px solid var(--rose);width:32px;height:32px;color:var(--rose);border-radius:50%;place-items:center;display:grid}.stepLine{background:#e8ddd3;height:3px;margin:50px 0 18px}.stepLine div{background:var(--rose);height:100%;transition:width .4s}.questionCount{letter-spacing:.2em;color:var(--rose);font-size:10px}.questionPanel form h1{margin:20px 0 12px;font-size:clamp(30px,4vw,50px);line-height:1.35}.questionPanel form>p{color:#8b7f78;font-size:13px}.questionPanel form>input{background:0 0;border:0;border-bottom:2px solid #d9ccc2;outline:none;width:100%;margin:25px 0;padding:17px 2px;font-size:18px}.questionPanel form>input:focus{border-color:var(--rose)}.questionActions{justify-content:space-between;align-items:center;margin-top:18px;display:flex}.backQuestion{color:#8f827b;background:0 0;border:0;padding:12px 0}.backQuestion:disabled{opacity:.3}.unlockButton{background:var(--rose);color:#fff;border:0;padding:14px 25px;box-shadow:0 8px 25px #b6646330}.questionPanel>small{color:#a39790;margin-top:35px;font-size:10px}.questionAside{color:#f8f1e8;background:#3f443e;flex-direction:column;justify-content:center;padding:10%;display:flex;position:relative}.questionAside>p{color:#d5a697;margin:0;font-size:100px;line-height:.3}.questionAside h2{font-size:clamp(28px,3.2vw,48px);line-height:1.6}.questionAside>span{color:#c8c1b9;font-size:13px}.asideNames{border-top:1px solid #ffffff28;align-items:center;gap:18px;margin-top:70px;padding-top:25px;font-size:20px;display:flex}.asideNames i{color:#d5a697;font-style:normal}.onboardingGlow{filter:blur(1px);opacity:.35;border-radius:50%;position:absolute}.oneGlow{background:#ebcbbb;width:350px;height:350px;bottom:-160px;left:-160px}.twoGlow{background:#aab9a5;width:220px;height:220px;top:-90px;right:-90px}.floatingNote{background:var(--rose);color:#fff;z-index:10;border:0;border-radius:50%;width:52px;height:52px;font-size:25px;position:fixed;bottom:26px;right:26px;box-shadow:0 10px 30px #76514c50}.profileEditor{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#2d2724cc;padding:40px 20px;position:fixed;inset:0;overflow:auto}.profileEditor form{background:var(--paper);width:min(900px,100%);margin:auto;padding:40px}.editorHead{justify-content:space-between;align-items:start;display:flex}.editorHead h2{margin:0 0 25px}.editorHead button{background:0 0;border:0;font-size:26px}.editorGrid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:30px;display:grid}.editorGrid label span{color:#776c66;margin-bottom:7px;font-size:11px;display:block}.editorGrid input{border:1px solid var(--line);outline-color:var(--rose);background:#fff;width:100%;padding:11px}@media (width<=760px){.onboarding{grid-template-columns:1fr}.questionAside{display:none}.questionPanel{min-height:100vh;padding-top:100px}.editorGrid{grid-template-columns:1fr}.profileEditor form{padding:25px}.nav .softButton{font-size:0}.nav .softButton:after{content:"修改";font-size:11px}}.missingInvite{text-align:center;background:var(--paper);place-content:center;min-height:100vh;padding:30px;display:grid}.missingInvite span{color:var(--rose);font-size:50px}.missingInvite h1{margin:12px;font-size:45px}.missingInvite p{color:#8b7f78}.adminLoading{text-align:center;background:#f4eee7;place-content:center;min-height:100vh;display:grid}.adminPage{background:#f4eee7;min-height:100vh;padding:55px max(25px,5vw)}.adminPage header{justify-content:space-between;align-items:center;margin-bottom:35px;display:flex}.adminPage header p{letter-spacing:.22em;color:var(--rose);font-size:10px}.adminPage header h1{margin:5px 0;font-size:38px}.adminPage header span{color:#8a7f78;font-size:11px}.liveBadge{background:#fff2dd;border-radius:30px;padding:10px 16px;font-size:12px}.liveBadge i{background:#e9a33e;border-radius:50%;width:8px;height:8px;margin-right:6px;animation:1.4s infinite pulse;display:inline-block}.liveBadge.done{background:#e3eee1}.liveBadge.done i{background:#6f936b}@keyframes pulse{50%{opacity:.3}}.adminProgress{background:#fff;margin-bottom:22px;padding:25px 30px}.adminProgress>div:first-child{justify-content:space-between;display:flex}.adminProgress strong{color:var(--rose);font-size:25px}.adminBar{background:#eee5dd;border-radius:20px;height:7px;margin:14px 0;overflow:hidden}.adminBar i{background:var(--rose);height:100%;transition:width .4s;display:block}.adminProgress p{color:#887c75;font-size:11px}.adminColumns{grid-template-columns:1.7fr .8fr;gap:22px;display:grid}.adminColumns>section,.adminColumns>aside{background:#fff;padding:30px}.adminColumns h2{margin:0 0 22px;font-size:20px}.answerGrid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.answerGrid article{border:1px solid #e9ded4;min-height:85px;padding:15px}.answerGrid span{color:var(--rose);font-size:10px}.answerGrid p{margin:8px 0;font-size:13px;line-height:1.6}.timeline article{border-left:1px solid #dacdc2;gap:13px;padding:0 0 23px 18px;display:flex;position:relative}.timeline article>i{background:var(--rose);border-radius:50%;width:9px;height:9px;position:absolute;top:3px;left:-5px}.timeline b,.timeline time{display:block}.timeline b{font-size:12px;line-height:1.5}.timeline time{color:#9c9089;margin-top:6px;font-size:9px}@media (width<=800px){.adminColumns{grid-template-columns:1fr}.adminPage header{align-items:start}.answerGrid{grid-template-columns:1fr}.liveBadge{white-space:nowrap}.adminPage header h1{font-size:28px}}
