:root{--paper:#faf7f1;--ink:#433e36;--muted:#918b7f;--green:#68775d;--line:#e8e2d7;--pink:#c28b80}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-sans-serif,'Microsoft YaHei',sans-serif;font-size:14px}button,input,textarea{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:4px}button:hover{filter:brightness(.92)}[hidden]{display:none!important}header{max-width:1220px;margin:auto;padding:28px 48px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:20px}.brand{text-decoration:none;color:var(--ink);font-family:Georgia,'SimSun',serif;font-size:24px;letter-spacing:3px;font-weight:bold}.brand span{display:block;font:9px/2.4 sans-serif;letter-spacing:4px;color:var(--muted)}nav{display:flex;gap:35px;margin:auto;font-size:13px}nav button{padding:12px 0}nav .active{color:var(--green);border-bottom:2px solid var(--green)}.avatar{width:38px;height:38px;border:1px solid #d9d9ca;border-radius:50%;font-size:22px;color:var(--green);background:#eeeee3}main{max-width:1124px;margin:auto}.hero{min-height:470px;display:flex;align-items:center;gap:65px;position:relative;padding:60px 12px 55px}.hero-copy{flex:1}.eyebrow{font-size:10px;letter-spacing:2.4px;color:var(--muted);font-weight:600}.eyebrow span{color:var(--pink);font-size:20px;padding-left:15px}h1{font-family:Georgia,'SimSun',serif;font-weight:500;font-size:43px;line-height:1.65;letter-spacing:2px;margin:19px 0}.hand{color:var(--green);position:relative;white-space:nowrap}.hand:after{content:'';position:absolute;height:7px;background:#e1dfb8;bottom:0;left:0;right:0;border-radius:40%;z-index:-1}.hero-copy p{font-size:13px;line-height:2.15;color:var(--muted)}.hero-bottom{display:flex;gap:24px;margin-top:28px;font-size:11px;color:var(--muted)}.private{color:var(--green)}.paper{background:#fffdf8;padding:14px 14px 18px;box-shadow:0 9px 35px #79664b16;transform:rotate(4deg);width:350px;position:relative;margin-right:30px}.drawing{height:230px;background:#e9e5d6;position:relative;overflow:hidden}.sun{width:65px;height:65px;background:#e7b48a;border-radius:50%;position:absolute;right:45px;top:28px}.hill{position:absolute;width:370px;height:170px;border-radius:50%;background:#b7bfa0;bottom:-54px;left:-90px;transform:rotate(-12deg)}.hill.two{background:#8c9e80;left:130px;bottom:-48px;transform:rotate(20deg)}.house{width:75px;height:60px;background:#f1e5c9;position:absolute;bottom:52px;left:70px}.house:before{content:'';position:absolute;border-left:48px solid transparent;border-right:48px solid transparent;border-bottom:42px solid #ab7964;top:-40px;left:-10px}.house span{width:16px;height:28px;background:#8d8e73;position:absolute;bottom:0;left:31px}.couple{position:absolute;bottom:35px;right:75px;font-size:43px;color:#5c6950;letter-spacing:-13px}.tiny-heart{position:absolute;right:73px;bottom:88px;color:#a56e60;font-size:24px}.paper-caption{padding:15px 3px 0;font:14px Georgia,'SimSun',serif;letter-spacing:1px}.paper-caption span{float:right;color:var(--pink);font-size:20px}.tape{position:absolute;width:95px;height:28px;background:#d9cfb9b0;top:-14px;left:122px;transform:rotate(-9deg);clip-path:polygon(3% 0,98% 6%,94% 94%,0 100%)}.hero-star{position:absolute;right:3px;bottom:48px;font-size:47px;color:#b5bd9c;transform:rotate(18deg)}.section-head{border-top:1px solid var(--line);padding-top:34px;display:flex;align-items:center;justify-content:space-between}h2{font-family:Georgia,'SimSun',serif;font-size:25px;font-weight:500;letter-spacing:1px;margin:12px 0}h2 span{color:var(--pink);font-size:23px}.primary{padding:13px 22px;background:var(--green);color:white;border-radius:5px;font-size:13px;letter-spacing:1px}.filters{display:flex;gap:12px;align-items:center;margin:28px 0}.filters button{font-size:12px;padding:9px 16px;color:var(--muted);border-radius:20px}.filters .selected{background:#e8ecdf;color:var(--green)}#count{margin-left:auto;color:var(--muted);font-size:11px}#feed{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fffdf9;border:1px solid var(--line);border-radius:7px;overflow:hidden;align-self:start}.photo-grid{display:grid;grid-template-columns:1fr;gap:3px}.photo-grid.multi{grid-template-columns:1fr 1fr}.photo-grid img{width:100%;height:205px;object-fit:cover;display:block;cursor:zoom-in}.photo-grid.multi img{height:150px}.card-body{padding:21px}.meta{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted)}.initial{border-radius:50%;background:#e9eade;color:var(--green);width:25px;height:25px;display:grid;place-items:center}.meta time{margin-left:auto}.body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:14px;margin:17px 0}.mood{color:var(--pink);font-size:10px;letter-spacing:1px}.actions{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);margin-top:18px;padding-top:13px;font-size:12px;color:var(--muted)}.actions button{padding:3px}.actions .liked{color:#ba766d}.actions .edit{margin-left:auto}.comment{font-size:12px;margin:12px 0;line-height:1.6}.comment b{color:var(--green)}.comment-form{display:flex;gap:6px;margin-top:12px}.comment-form input{width:100%;min-width:0;font-size:12px}.empty{grid-column:1/-1;text-align:center;padding:65px 20px;border:1px dashed #dcd5c6;border-radius:7px;color:var(--muted);line-height:2}.empty span{font-size:35px;color:var(--pink)}.welcome{text-align:center;border-top:1px solid var(--line);padding:45px 20px 55px}.welcome p{color:var(--muted);margin:18px 0 25px}.flower{color:var(--pink);font-size:30px}footer{text-align:center;margin:75px 0 30px;padding-top:25px;border-top:1px solid var(--line);color:var(--muted)}footer span{font-family:'SimSun',serif;letter-spacing:3px;font-size:17px}footer p{font-size:11px;margin:12px}footer small{font-size:8px;letter-spacing:2px}dialog{border:1px solid var(--line);border-radius:12px;padding:35px;width:520px;max-width:calc(100% - 28px);max-height:90dvh;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#302b2466;backdrop-filter:blur(4px)}.close{position:absolute;right:12px;top:8px;font-size:27px;color:var(--muted)}dialog h2{margin-bottom:10px}dialog p{color:var(--muted);font-size:12px;line-height:1.8}label{display:block;margin:17px 0 7px;font-size:12px;color:var(--muted)}input,textarea,select{border:1px solid #ded8cb;border-radius:5px;padding:11px;background:#fffefa;color:var(--ink);width:100%;outline:none}input:focus,textarea:focus{border-color:var(--green)}textarea{resize:vertical;min-height:135px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:23px}.row{display:flex;gap:12px}.row>*{flex:1;min-width:0}.hint{color:var(--muted);font-size:11px;line-height:1.7}.error{color:#a7463a;margin-top:12px;font-size:12px}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:12px 25px;border-radius:6px;background:#433e36;color:#fff;opacity:0;pointer-events:none;transition:opacity .2s;z-index:5}#toast.show{opacity:1}#wish-form{display:flex;gap:12px;margin:25px 0}#wish-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.wish{display:flex;align-items:center;text-align:left;border:1px solid var(--line);border-radius:6px;padding:22px;gap:12px;background:#fffdf9}.wish.done{text-decoration:line-through;color:var(--muted)}.wish span{font-size:23px;color:var(--green)}.lightbox{max-width:95vw;width:auto}.lightbox img{max-height:80dvh;max-width:85vw;object-fit:contain}.preview{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.preview img{width:65px;height:65px;object-fit:cover;border-radius:4px}@media(min-width:1500px){.hero{min-height:520px}}@media(max-width:900px){header{padding:20px 25px}main{padding:0 25px}.hero{gap:25px}.paper{width:290px;margin-right:0}.drawing{height:210px}h1{font-size:33px}#feed{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){header{padding:20px;flex-wrap:wrap;gap:10px}.brand{font-size:20px;letter-spacing:2px}.brand span{font-size:8px}nav{order:3;width:100%;justify-content:center;gap:40px;margin-top:5px}.avatar{margin-left:auto}main{padding:0 20px}.hero{flex-direction:column;padding:35px 0 45px;gap:35px;align-items:stretch}.hero-copy h1{font-size:32px;letter-spacing:1px;margin:14px 0}.hero-copy p{font-size:12px}.hero-bottom{gap:15px;font-size:10px}.paper{width:285px;align-self:center;transform:rotate(3deg)}.drawing{height:190px}.hero-star{bottom:20px;right:3px;font-size:33px}.section-head{gap:10px}h2{font-size:21px}.section-head .primary{padding:12px;font-size:11px;white-space:nowrap}.section-head .eyebrow{font-size:8px}#feed{grid-template-columns:1fr}.photo-grid img{height:270px}.photo-grid.multi img{height:180px}.filters{gap:2px}.filters button{padding:8px 11px;font-size:11px}#wish-list{grid-template-columns:1fr}dialog{padding:28px 22px}.row{gap:10px}footer{margin-top:45px}.welcome{padding:35px 0}.welcome h2{font-size:22px}}

#cover-photo{width:100%;height:230px;object-fit:cover;display:block}button,input,textarea,select{transition:background .18s,border-color .18s,box-shadow .18s}.card{transition:transform .22s,box-shadow .22s}.card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #79664b0b}.primary:hover{box-shadow:0 4px 14px #68775d2b}.brand:hover{color:var(--green)}::selection{background:#e1dfc6}@media(max-width:600px){#cover-photo{height:190px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.occasion{padding:30px;border:1px solid var(--line);border-radius:7px;background:#fffdf9}.occasion h2{font-size:21px;margin:17px 0}.occasion strong{display:block;font:56px Georgia,serif;color:var(--green);margin:20px 0 12px}.occasion>span{font-size:12px;color:var(--muted)}.check-label{display:flex;align-items:center;gap:8px}.check-label input{width:auto}@media(max-width:600px){nav{gap:25px}}

:root{--muted:#746f65}header{position:sticky;top:0;background:#faf7f1f5;backdrop-filter:blur(12px);z-index:3}#member{scroll-margin-top:130px}body{background-image:radial-gradient(#bcae9210 .65px,transparent .65px);background-size:5px 5px}.hero-copy p{font-size:14px}.hint{font-size:12px}footer small{color:#746f65}@media(max-width:600px){.hero-copy p{font-size:14px}.meta{font-size:12px}.body{font-size:15px}.filters button{font-size:12px}.hero-bottom{font-size:11px}.comment{font-size:13px}.comment-form input{font-size:14px}dialog input,dialog textarea,dialog select{font-size:16px}#member{scroll-margin-top:150px}}
