:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#333;background:#faf6f2;--purple:#8062ff;accent-color:var(--purple);color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:0;border-radius:18px;background:white;color:var(--purple);min-height:36px}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible{outline:2px solid var(--purple);outline-offset:3px}::selection{background:#dfd2ff}main{max-width:600px;margin:auto;padding-bottom:110px;overflow:hidden}.hero{padding-top:125px;position:relative;min-height:510px;text-align:center}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(34px,9vw,62px);position:relative;z-index:1;margin:0 0 12px}#date{position:relative;z-index:1;font-family:Georgia,serif;font-size:19px}.photo{min-height:270px;display:grid;place-items:center;color:#9691ac;background:#f1ece9}.photo img{width:100%;display:block}.hero .photo{margin-top:-25px;mask-image:linear-gradient(transparent,#000 20%,#000 65%,transparent)}.intro{text-align:center;padding:40px 20px;font-size:12px}.intro h2{font-size:21px}.intro p{margin:8px 0}.intro .script{font-family:cursive;color:#a25555;font-style:italic;font-size:25px;margin-bottom:32px}#when{margin-top:26px}.story{text-align:center;padding:10px 30px 40px}.line{display:block;height:55px;width:1px;background:#9e9a97;margin:0 auto 24px}.story h2{font-size:20px}#story{white-space:pre-line;line-height:2;font-size:14px}#gallery img{width:100%;display:block;margin-top:20px}footer{position:fixed;bottom:0;left:0;right:0;display:flex;gap:14px;padding:15px 15px calc(15px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#faf6f2);z-index:2}footer button{height:36px;flex:1}.primary{background:linear-gradient(115deg,#d88fea,#a183ff);color:white;font-weight:600;box-shadow:inset 0 2px 3px #fff}.primary#reply{flex:1.35}dialog{border:0;padding:0;overflow:visible;border-radius:25px;width:calc(100% - 60px);max-width:390px;background:linear-gradient(#fce7eb,#ede8fa);color:#333}dialog::backdrop{background:#0008}form{padding:68px 30px 30px;max-height:calc(100dvh - 80px);overflow:auto;border-radius:25px}.envelope{position:absolute;width:115px;height:115px;object-fit:contain;top:-40px;left:50%;transform:translateX(-50%)}form h2{font-size:17px;color:var(--purple);text-align:center;margin:10px 0 16px}.row{display:flex;align-items:center;gap:15px;margin:22px 0;font-size:14px}.row>span,.row legend{white-space:nowrap}.row input[type=text],#guest-name{width:0;flex:1;min-width:0;border:1px solid #979ab2;border-radius:8px;background:#f5f5f5;padding:7px 12px;font-size:12px;color:#333}fieldset.row{border:0;padding:0;display:grid;grid-template-columns:auto 1fr}fieldset legend{float:left;padding:0;margin-right:15px}.options{display:flex;flex:1;gap:10px;min-width:0}.options>*{flex:1;text-align:center;min-width:0}.options span,.options button,.options output{border-radius:8px;background:#f5f5f5;border:1px solid #979ab2;display:block;padding:5px 2px;min-height:25px;color:#444;font-size:13px}.options input{position:absolute;opacity:0}.options input:checked+span,.options output{background:var(--purple);color:white}.options input:focus-visible+span{outline:2px solid var(--purple);outline-offset:2px}.actions{display:flex;gap:15px;margin-top:25px}.actions button{flex:1;border-radius:10px;height:36px}#notice{position:fixed;top:10px;left:15px;right:15px;text-align:center;font-size:12px;background:#fff;color:#665593;border-radius:8px;z-index:3}#notice:empty{display:none}#form-error{font-size:12px;color:#a33242}body.embedded footer,body.embedded #notice{display:none}@media(max-width:340px){form{padding-left:18px;padding-right:18px}.row{gap:8px}.options{gap:5px}}@media(prefers-reduced-motion:no-preference){dialog[open]{animation:appear .18s ease-out}@keyframes appear{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}}
