.alb{--alb-paper:color-mix(in srgb,var(--alb-bg) 35%,#fffdf8);--alb-text:#363b32;--alb-muted:#64675e;--alb-line:color-mix(in srgb,var(--alb-ink) 20%,var(--alb-bg));isolation:isolate;background:radial-gradient(130% 55% at 50% 0,color-mix(in srgb,var(--alb-soft) 40%,transparent),transparent 72%),var(--alb-bg);min-height:100svh;color:var(--alb-text);font-family:var(--font-wedding-body),system-ui,sans-serif;-webkit-text-size-adjust:100%;font-size:15px;line-height:1.8;position:relative;overflow-x:clip}.alb *,.alb :before,.alb :after{box-sizing:border-box}.alb h1,.alb h2,.alb p,.alb ul{margin:0;padding:0}.alb ul{list-style:none}:where(.alb) button{font:inherit;-webkit-tap-highlight-color:transparent}.alb .botanical{color:color-mix(in srgb,var(--alb-soft) 55%,var(--alb-ink));pointer-events:none}.alb .line-icon{width:24px;height:24px;color:var(--alb-accent);flex-shrink:0;display:inline-block}.alb-main{width:min(100%,1040px);margin:0 auto;padding:0 20px 24px;position:relative}.alb-head{text-align:center;justify-items:center;gap:0;padding:44px 8px 22px;display:grid;position:relative}.alb-head>:not(.alb-leaf){z-index:1;position:relative}.alb-leaf{opacity:.65;z-index:0;width:150px;height:auto;position:absolute;top:-26px}.alb-leaf-left{left:-64px;transform:rotate(-12deg)}.alb-leaf-right{right:-64px;transform:scaleX(-1)rotate(-12deg)}.alb-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--alb-ink);font-size:11px;font-weight:500;line-height:1.8}.alb-names{font-family:var(--font-wedding-script),cursive;color:var(--alb-ink);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 .22em;margin-top:6px;font-size:clamp(44px,12vw,76px);font-weight:400;line-height:1.25;display:flex}.alb-names i{color:var(--alb-accent);font-size:.62em;font-style:normal}.alb-rule{justify-content:center;align-items:center;gap:18px;margin:14px 0 18px;display:flex}.alb-rule span{background:var(--alb-line);width:42px;height:1px}.alb-rule .line-icon{width:34px;height:34px}.alb-welcome{max-width:28em;font-family:var(--font-wedding-heading),Georgia,serif;color:var(--alb-muted);margin-top:10px;font-size:clamp(16px,4vw,19px);font-style:italic;line-height:1.5}.alb-date{font-family:var(--font-wedding-heading),Georgia,serif;color:var(--alb-ink);margin-top:6px;font-size:17px}.alb-btn{border:1px solid var(--alb-ink);background:var(--alb-ink);color:#fffaf2;letter-spacing:.06em;cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:12px;min-height:48px;margin-top:16px;padding:10px 26px;font-size:13px;font-weight:500;transition:background .25s,transform .15s,opacity .15s;display:inline-flex}.alb-btn .line-icon{width:24px;height:24px;color:inherit}.alb-btn:hover:not(:disabled){background:color-mix(in srgb,var(--alb-ink) 85%,#000)}.alb-btn:active:not(:disabled){transform:scale(.98)}.alb-btn:disabled{opacity:.55;cursor:default}.alb-btn:focus-visible,.alb-link:focus-visible,.alb-x:focus-visible,.alb-nav:focus-visible,.alb-grid button:focus-visible{outline:3px solid var(--alb-accent);outline-offset:4px}.alb-quota,.alb-note{color:var(--alb-muted);margin-top:6px;font-size:13px}.alb-banner{border:1px solid color-mix(in srgb,var(--alb-accent) 55%,transparent);background:var(--alb-paper);max-width:30em;color:var(--alb-text);border-radius:8px;margin-top:26px;padding:12px 18px;font-size:14px}.alb-gallery{border-top:1px solid var(--alb-line);padding-top:16px}.alb-section-head{text-align:center;justify-items:center;margin-bottom:14px;display:grid}.alb-section-head h2{font-family:var(--font-wedding-heading),Georgia,serif;letter-spacing:-.03em;color:var(--alb-ink);font-size:clamp(26px,7vw,40px);font-weight:400;line-height:1.1}.alb-section-head h2 em{font-family:var(--font-wedding-script),cursive;letter-spacing:0;font-size:1.15em;font-style:normal;line-height:1.2;display:block}.alb-star{color:var(--alb-accent);margin:14px auto;font-family:Georgia,serif;font-size:27px;line-height:1;display:block}.alb-count{letter-spacing:.16em;text-transform:uppercase;color:var(--alb-muted);margin-top:4px;font-size:11px}.alb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.alb-grid button{border:1px solid var(--alb-line);background:var(--alb-paper);width:100%;box-shadow:0 10px 22px -16px color-mix(in srgb,var(--alb-ink) 70%,transparent);cursor:zoom-in;border-radius:6px;padding:6px;transition:transform .35s,box-shadow .35s;display:block;position:relative}.alb-grid img{aspect-ratio:1;object-fit:cover;background:var(--alb-soft);border-radius:3px;width:100%;height:auto;display:block}.alb-play{color:#fff;pointer-events:none;background:#0008;border-radius:50%;place-items:center;width:32px;height:32px;padding-left:2px;font-size:12px;display:grid;position:absolute;bottom:14px;right:14px}.alb-more{place-items:center;padding:30px 0 6px;display:grid}.alb-link{min-height:44px;color:var(--alb-ink);letter-spacing:.06em;text-underline-offset:5px;cursor:pointer;background:0 0;border:0;padding:0 14px;font-size:13px;text-decoration:underline}.alb-empty{border:1px solid var(--alb-line);background:var(--alb-paper);text-align:center;max-width:26em;font-family:var(--font-wedding-heading),Georgia,serif;color:var(--alb-ink);border-radius:8px;justify-items:center;gap:4px;margin:6px auto 0;padding:34px 20px;font-size:21px;display:grid}.alb-empty .line-icon{width:38px;height:38px;margin-bottom:8px}.alb-empty .alb-note{font-family:var(--font-wedding-body),system-ui,sans-serif;margin:0;font-size:14px}.alb-foot{text-align:center;font-family:var(--font-wedding-heading),Georgia,serif;color:var(--alb-muted);justify-items:center;padding:56px 0 26px;font-size:18px;font-style:italic;display:grid}.alb-foot .alb-star{margin:0 auto 8px}.alb-missing{text-align:center;justify-items:center;gap:0;padding-top:110px;display:grid}.alb-missing h1{font-family:var(--font-wedding-heading),Georgia,serif;color:var(--alb-ink);margin-top:12px;font-size:clamp(34px,8vw,48px);font-weight:400;line-height:1.15}.alb-missing .alb-welcome{margin-top:4px}.alb-sheet{background:var(--alb-paper);width:100%;max-width:520px;color:var(--alb-text);border:0;border-radius:16px 16px 0 0;margin:auto auto 0;padding:0}.alb-sheet::backdrop,.alb-viewer::backdrop{background:#0009}.alb-sheet-body{padding:22px 22px calc(26px + env(safe-area-inset-bottom));gap:14px;max-height:90svh;display:grid;overflow:auto}.alb-sheet-top{justify-content:space-between;align-items:center;display:flex}.alb-sheet h2{font-family:var(--font-wedding-heading),Georgia,serif;color:var(--alb-ink);font-size:30px;font-weight:400}.alb-x{width:44px;height:44px;color:var(--alb-ink);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:30px;line-height:1}.alb-sheet .alb-btn{margin-top:4px}.alb-sheet .alb-note{margin-top:0}.alb-field{letter-spacing:.04em;color:var(--alb-ink);gap:6px;font-size:13px;font-weight:500;display:grid}.alb-field input{border:1px solid var(--alb-line);min-height:48px;color:var(--alb-text);font:inherit;letter-spacing:0;background:#fff;border-radius:7px;padding:0 14px;font-size:16px;font-weight:400}.alb-field input:focus-visible{outline:3px solid var(--alb-accent);outline-offset:1px}.alb-error{color:#8a2b1c;background:#fbe9e7;border-radius:7px;padding:10px 12px;font-size:14px}.alb-thanks{background:color-mix(in srgb,var(--alb-soft) 45%,#fff);border-radius:7px;padding:10px 12px;font-size:14px}.alb-rows{gap:6px;display:grid}.alb-rows li{border:1px solid var(--alb-line);background:#fff;border-radius:7px;justify-content:space-between;gap:12px;padding:8px 12px;font-size:13px;display:flex}.alb-rows li[data-state=error] span:last-child{color:#8a2b1c;text-align:right}.alb-file{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.alb-viewer{background:#000;border:0;width:100vw;max-width:none;height:100svh;max-height:none;margin:0;padding:0;overflow:hidden}.alb-viewer[open]{place-items:center;display:grid}.alb-viewer img,.alb-viewer video{object-fit:contain;max-width:100vw;max-height:100svh}.alb-viewer-close{top:max(8px,env(safe-area-inset-top));z-index:2;color:#fff;background:#0006;position:absolute;right:8px}.alb-nav{z-index:2;color:#fff;cursor:pointer;background:#0005;border:0;width:48px;height:64px;margin-top:-32px;font-size:34px;position:absolute;top:50%}.alb-prev{border-radius:0 10px 10px 0;left:0}.alb-next{border-radius:10px 0 0 10px;right:0}@media (min-width:640px){.alb-main{padding:0 32px 32px}.alb-head{padding:64px 8px 32px}.alb-leaf{width:210px;top:-30px}.alb-leaf-left{left:-40px}.alb-leaf-right{right:-40px}.alb-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.alb-sheet{border-radius:12px;margin:auto}}@media (min-width:960px){.alb-leaf{width:270px}.alb-leaf-left{left:0}.alb-leaf-right{right:0}.alb-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.alb-grid button:hover{box-shadow:0 18px 30px -18px color-mix(in srgb,var(--alb-ink) 75%,transparent);transform:translateY(-4px)}}@media (prefers-reduced-motion:no-preference){.alb-head>:not(.alb-leaf){animation:.9s cubic-bezier(.22,1,.36,1) both alb-rise}.alb-head>:nth-child(4){animation-delay:80ms}.alb-head>:nth-child(5){animation-delay:.16s}.alb-head>:nth-child(6){animation-delay:.24s}.alb-head>:nth-child(7){animation-delay:.3s}.alb-head>:nth-child(n+8){animation-delay:.36s}.alb-leaf{transform-origin:50% 100%;animation:9s ease-in-out infinite alternate alb-sway}}@keyframes alb-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes alb-sway{0%{translate:0}to{translate:0 6px}}.alb-ownnote{max-width:28em;color:var(--alb-muted);margin-top:8px;font-size:13px;line-height:1.6}.alb-btn-ghost{color:var(--alb-ink);border:1px solid var(--alb-ink);background:0 0}.alb-toast{left:50%;bottom:max(16px,env(safe-area-inset-bottom));z-index:20;border:1px solid color-mix(in srgb,var(--alb-accent) 55%,transparent);background:var(--alb-paper);width:min(30em,100% - 32px);color:var(--alb-text);border-radius:10px;gap:10px;padding:14px 16px;font-size:14px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #0000002e}.alb-toast p{margin:0}.alb-toast div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.alb-toast .alb-btn{margin-top:0}.alb-challenges{border-top:1px solid var(--alb-line);margin:0 0 22px;padding-top:18px}.alb-ch-summary{border:1px solid var(--alb-line);background:var(--alb-paper);width:100%;min-height:56px;color:var(--alb-ink);text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;padding:12px 16px 16px;display:grid;position:relative}.alb-ch-summary:focus-visible,.alb-ch-row:focus-visible{outline:3px solid var(--alb-accent);outline-offset:3px}.alb-ch-title{gap:2px;line-height:1.3;display:grid}.alb-ch-title strong{font-family:var(--font-wedding-heading),Georgia,serif;font-size:21px;font-weight:500}.alb-ch-title small{letter-spacing:.04em;color:var(--alb-muted);font-size:12px}.alb-ch-caret{background:color-mix(in srgb,var(--alb-accent) 16%,transparent);width:30px;height:30px;color:var(--alb-ink);border-radius:50%;place-items:center;transition:transform .3s cubic-bezier(.22,1,.36,1),background-color .2s;display:grid}.alb-ch-caret svg{display:block}.alb-ch-summary:hover .alb-ch-caret{background:color-mix(in srgb,var(--alb-accent) 28%,transparent)}.alb-ch-caret[data-open=true]{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.alb-ch-caret{transition:none}}.alb-ch-bar{background:var(--alb-line);border-radius:2px;height:4px;position:absolute;bottom:8px;left:16px;right:16px;overflow:hidden}.alb-ch-bar i{background:var(--alb-accent);height:100%;display:block}.alb-challenge-list{gap:8px;margin-top:10px;display:grid}.alb-challenge-list li{border:1px solid var(--alb-line);background:var(--alb-paper);border-radius:8px;overflow:hidden}.alb-challenge-list li[data-done=true]{border-color:color-mix(in srgb,var(--alb-ink) 40%,transparent)}.alb-ch-row{width:100%;min-height:48px;color:var(--alb-ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.alb-ch-name{font-family:var(--font-wedding-heading),Georgia,serif;font-size:18px;font-weight:500;line-height:1.25}.alb-points{letter-spacing:.04em;color:var(--alb-muted);white-space:nowrap;font-size:12px}.alb-chip{border:1px solid var(--alb-line);letter-spacing:.06em;text-transform:uppercase;color:var(--alb-muted);background:#fff;border-radius:999px;padding:1px 9px;font-size:11px}.alb-ch-body{gap:6px;padding:0 12px 12px;display:grid}.alb-ch-body p{margin:0;font-size:14px;line-height:1.55}.alb-done{color:var(--alb-ink);font-weight:600}.alb-btn-small{min-height:44px;margin-top:4px;padding:8px 16px;font-size:13px}.alb-sheet{outline:0}.alb-sheet-body{padding:14px 16px calc(16px + env(safe-area-inset-bottom));gap:10px}.alb-sheet h2{font-size:24px;line-height:1.2}.alb-sheet .alb-x{width:40px;height:40px;margin-right:-8px;font-size:26px}.alb-sheet .alb-btn{min-height:48px;margin-top:0;padding:8px 12px}.alb-sheet .alb-btn .line-icon{width:20px;height:20px}.alb-sheet-body .alb-btn-ghost{margin-top:0}.alb-sheet .alb-field input{min-height:46px}.alb-pick{grid-template-columns:1fr 1fr;gap:10px;display:grid}.alb-sheet .alb-note{font-size:12.5px;line-height:1.5}.alb-toast{border-color:color-mix(in srgb,var(--alb-ink) 55%,transparent);background:color-mix(in srgb,var(--alb-soft) 50%,#fff);box-shadow:0 14px 34px #00000047}.alb-toast p{line-height:1.5;display:block}.alb-toast strong{font-family:var(--font-wedding-heading),Georgia,serif;color:var(--alb-ink);font-size:19px;font-weight:600}.alb-check{background:var(--alb-ink);color:#fff;vertical-align:2px;border-radius:50%;place-items:center;width:24px;height:24px;margin-right:8px;font-size:14px;display:inline-grid}@media (prefers-reduced-motion:no-preference){.alb-toast{animation:.35s cubic-bezier(.22,1,.36,1) both alb-toast-in}}@keyframes alb-toast-in{0%{opacity:0;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%)}}
