*{box-sizing:border-box}
html{color-scheme:dark;scroll-behavior:smooth}
body{margin:0;background:radial-gradient(ellipse at 50% 12%,#46244e 0,transparent 56%),radial-gradient(ellipse at 12% 80%,#291a35,transparent 60%),#100c19;color:#352413;font:17px/1.6 Georgia,'Times New Roman',serif}
.skip{position:absolute;left:12px;top:-100px;padding:10px;background:#ffe9b6;color:#24180e;z-index:1100}.skip:focus{top:65px}
.scroll-wrap{max-width:830px;margin:24px auto 70px;padding:0 24px}
.parchment{position:relative;isolation:isolate;color-scheme:light;padding:48px 65px 30px;background:radial-gradient(ellipse at 4% 16%,#a8662224,transparent 32%),radial-gradient(ellipse at 98% 65%,#a8662226,transparent 35%),repeating-linear-gradient(2deg,#79501403 0 1px,transparent 1px 5px),linear-gradient(90deg,#d3b17b,#f4e3bb 7%,#f5e7c8 48%,#f0deb5 93%,#c7a36a);border:1px solid #c9a66c;box-shadow:inset 0 0 40px #87531730,0 25px 65px #0009;border-radius:7px 12px 6px 9px}
.parchment:before,.parchment:after{content:'';position:absolute;left:-12px;right:-12px;height:27px;border:1px solid #bb945d;border-radius:50% / 30%;background:linear-gradient(#a07944,#ebd19c 24%,#f6e2b6 46%,#cfac70 76%,#916a3b);box-shadow:0 5px 8px #0005;z-index:1;pointer-events:none}.parchment:before{top:-13px}.parchment:after{bottom:-13px;transform:rotate(180deg)}
.scroll-heading{text-align:center}.eyebrow{font:700 12px/1.5 system-ui,sans-serif;letter-spacing:3px;margin:0 0 12px;color:#65441f}.ornament{display:block;color:#876021;font-size:24px;line-height:1}
h1{font-size:clamp(34px,6vw,53px);line-height:1.12;letter-spacing:-1px;margin:16px 0 12px;font-weight:700;text-shadow:0 1px #fff6}
.invitation{font-size:20px;font-style:italic;line-height:1.5;margin:0 0 24px;color:#694523}
.draft-status{font:12px/1.55 system-ui,sans-serif;color:#65421d;border:1px dashed #9d793f;padding:10px 12px;margin:22px auto 30px;max-width:440px;border-radius:3px}
.simple-rules{list-style:none;counter-reset:rule;padding:0;margin:0}.simple-rules>li{counter-increment:rule;position:relative;padding:22px 0 20px 49px;border-top:1px solid #8e642e45}.simple-rules>li:before{content:counter(rule);position:absolute;left:0;top:21px;border:1px solid #88632f;border-radius:50%;width:33px;height:33px;display:grid;place-items:center;font:bold 23px/1 Georgia;color:#704b22;background:#d1af6f24}
h2{font-size:24px;line-height:1.25;margin:0 0 12px;color:#462c17}.simple-rules p{margin:8px 0}strong{color:#392511;font-weight:700}
a{color:#643b60;text-underline-offset:3px}a:focus-visible,summary:focus-visible{outline:3px solid #643b60;outline-offset:4px;border-radius:3px}
.details-section{margin:16px 0 0;border-top:3px double #987547;padding-top:28px}.details-section>h2{text-align:center}.details-hint{font-size:15px;text-align:center;color:#70532c;margin:0 0 18px}
details{border-top:1px solid #8e642e45}details:last-child{border-bottom:1px solid #8e642e45}summary{cursor:pointer;min-height:52px;padding:14px 4px;font-weight:700;line-height:1.45;list-style-position:outside;margin-left:19px}summary::marker{color:#7c4f25}summary:hover{color:#6b3668}.detail-body{padding:0 4px 12px;font-size:16px}.detail-body p{margin:10px 0}
.scroll-footer{text-align:center;margin-top:30px}.scroll-footer p{margin:16px 0}.scroll-footer a{overflow-wrap:anywhere}.album-link{display:inline-flex;gap:20px;align-items:center;justify-content:center;min-height:48px;background:#3b203d;color:#fff0d0;padding:11px 24px;border:1px solid #6a4161;border-radius:5px;text-decoration:none;font:700 15px/1.5 system-ui,sans-serif;box-shadow:0 3px 0 #241124}.album-link:hover{background:#532d55}.version{font:11px/1.6 system-ui,sans-serif;color:#735733}
@media(max-width:600px){.scroll-wrap{margin:18px auto 40px;padding:0 17px}.parchment{padding:32px 20px 25px}.parchment:before,.parchment:after{left:-7px;right:-7px;height:21px}.parchment:before{top:-10px}.parchment:after{bottom:-10px}.eyebrow{font-size:10px;letter-spacing:1.7px}h1{font-size:35px}.invitation{font-size:18px}.simple-rules>li{padding-left:0;padding-top:22px}.simple-rules>li:before{top:21px;width:29px;height:29px;font-size:20px}.simple-rules h2{padding-left:39px;min-height:30px;font-size:22px;display:flex;align-items:center}.draft-status{margin-bottom:24px}.detail-body{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{body{background:white;color:black}.scroll-wrap{margin:0;max-width:none;padding:0}.parchment{background:white;border:0;box-shadow:none;padding:0}.parchment:before,.parchment:after,.album-link,.skip{display:none}.simple-rules>li{break-inside:avoid}}
