@font-face{font-family:Italiana;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/italiana-400-latin-CRZrqGQm.woff2)format("woff2")}@font-face{font-family:Sacramento;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/sacramento-400-latin-mRAQrhvZ.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sacramento;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/sacramento-400-latin-ext-CKF0Zc5Q.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/cormorantgaramond-latin-CUoBjw-S.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/cormorantgaramond-latin-ext-ltf1AbuM.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300 700;font-display:swap;src:url(/assets/cormorantgaramond-italic-latin-Y14P-dkT.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300 700;font-display:swap;src:url(/assets/cormorantgaramond-italic-latin-ext-CE7zdTnu.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--forest:#2c3c14;--moss:#3e4d28;--fern:#56674d;--olive:#637150;--sage:#8c997d;--sage-light:#a1ad94;--ivory:#eeede7;--paper:#f7f6f1;--sky:#a2d2f5;--sky-pale:#d8eeff;--ink:#26331a;--ink-soft:#4d5a41;--danger:#9b2c1f;--danger-on-green:#ffd9d2;--text:var(--ink-soft);--text-h:var(--ink);--bg:var(--paper);--border:#d9d8cc;--code-bg:#ebeae2;--accent:var(--olive);--accent-bg:#63715024;--accent-border:#6371508c;--shadow:#141c0a2e 0 12px 28px -8px, #141c0a1a 0 4px 8px -4px;--serif:"Cormorant Garamond", "Cormorant", Garamond, Georgia, serif;--display:"Italiana", "Cormorant Garamond", Georgia, serif;--script:"Sacramento", "Brush Script MT", cursive;--sans:var(--serif);--heading:var(--display);--mono:ui-monospace, Consolas, monospace;font:500 18px/1.5 var(--serif);font-variant-numeric:lining-nums;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}#root{text-align:center;flex-direction:column;min-height:100svh;display:flex}body{margin:0}h1,h2,h3{font-family:var(--heading);color:var(--text-h);text-wrap:balance;font-weight:400}h1{margin:24px 0 16px;font-size:40px;line-height:1.15}h2{margin:0 0 8px;font-size:28px;line-height:1.2}h3{margin:0 0 8px;font-size:24px;line-height:1.2}p{margin:0}code{font-family:var(--mono);color:var(--text-h);background:var(--code-bg);border-radius:4px;padding:4px 8px;font-size:15px;line-height:135%;display:inline-flex}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[hidden]{display:none!important}.session-shell{box-sizing:border-box;width:100%;max-width:680px;margin:0 auto;padding:32px 20px}.session-shell p{margin-bottom:20px}.session-shell nav{flex-wrap:wrap;justify-content:center;gap:12px;margin:24px 0;display:flex}.session-shell button{font:inherit;color:var(--text-h);background:var(--bg);border:1px solid var(--accent-border);cursor:pointer;border-radius:8px;padding:10px 16px;font-weight:600}.session-shell button[aria-current]{border:2px solid var(--accent)}.session-shell button:disabled,.session-shell button[aria-disabled=true]{opacity:.55;cursor:default}.session-shell :focus-visible{outline:2px solid var(--accent);outline-offset:3px}.session-shell h1[tabindex="-1"]:focus,.album h1[tabindex="-1"]:focus,#share-upload:focus,.gallery h3[tabindex="-1"]:focus{outline:none}html:has(.album){background:var(--forest)}.album{isolation:isolate;color:var(--ivory);flex-direction:column;flex:1;display:flex;position:relative}.album:before{content:"";z-index:-1;background:linear-gradient(180deg, var(--moss) 0%, var(--fern) 38%, #5d6c4c 62%, var(--forest) 100%);position:fixed;inset:0}.album :focus-visible{outline:2px solid var(--sky);outline-offset:3px}.album a{color:var(--sky-pale);text-underline-offset:3px}.hero{padding:calc(env(safe-area-inset-top) + 40px) 20px 28px;position:relative}.hero-kicker{font-family:var(--display);letter-spacing:.02em;margin:0 0 8px;font-size:22px}.hero-names{font-family:var(--display);letter-spacing:.03em;text-transform:uppercase;color:var(--ivory);margin:0;font-size:clamp(56px,18vw,120px);font-weight:400;line-height:1}.hero-amp{font-family:var(--script);text-transform:none;letter-spacing:0;margin:.02em 0 .06em;font-size:.9em;line-height:1;display:block}.hero-date{font-family:var(--display);letter-spacing:.03em;margin:16px 0 0;font-size:20px}.hero-date>span{display:none}.album--signed-in .hero{padding-top:calc(env(safe-area-inset-top) + 24px);padding-bottom:8px}.album--signed-in .hero-kicker{margin-bottom:4px;font-size:17px}.album--signed-in .hero-names{font-size:clamp(28px,8.6vw,60px)}.album--signed-in .hero-amp{margin:0;font-size:1.1em;display:inline}.album--signed-in .hero-date{margin-top:8px;font-size:16px}.album-main.session-shell{max-width:680px;padding:8px 16px calc(env(safe-area-inset-bottom) + 104px)}.album-main p{margin:0 0 14px}.album-main p[role=status]:empty{margin:0}.album .card{box-sizing:border-box;text-align:left;color:var(--ink);background:var(--paper);box-shadow:var(--shadow);border-radius:24px;margin:0 0 24px;padding:24px 20px}.album .card h1,.album .card h3{color:var(--ink)}.album .card h3{text-align:center;margin:0 0 10px;font-size:27px}.album .card :focus-visible{outline:3px solid var(--moss);outline-offset:2px}.album .card a{color:var(--moss)}.album .access-card{text-align:center;margin-top:8px}.access-card h1{margin:4px 0 12px;font-size:34px}.access-card p{font-size:19px}.access-card p:last-child{margin-bottom:0}.spinner{border:3px solid var(--accent-bg);border-top-color:var(--olive);border-radius:50%;width:36px;height:36px;margin:8px auto 16px;animation:1s linear infinite album-spin;display:block}@keyframes album-spin{to{transform:rotate(1turn)}}.album button{min-height:48px;font:600 18px/1.2 var(--serif);letter-spacing:.02em;color:var(--ivory);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #eeede7b3;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 22px;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.album button:hover:not(:disabled){background:#eeede71f}.album .button-light{color:var(--ink);background:var(--ivory);border-color:var(--ivory)}.album .card button{color:var(--ink);border-color:var(--sage)}.album .card button:hover:not(:disabled){background:var(--accent-bg)}.album .card .button-primary,.album .button-primary{width:100%;min-height:54px;color:var(--ivory);background:var(--forest);border-color:var(--forest);letter-spacing:.04em;font-size:19px}.album .card .button-primary:hover:not(:disabled){background:var(--moss)}.album .card .button-light{width:100%}.album .tabs{z-index:5;padding:6px 10px calc(env(safe-area-inset-bottom) + 6px);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0d06f0;border-top:1px solid #eeede724;grid-template-columns:1fr 1fr;gap:4px;margin:0;display:grid;position:fixed;bottom:0;left:0;right:0}.album .tabs button{min-height:58px;font:400 16px/1.2 var(--display);letter-spacing:.03em;color:#eeede7b8;border:0;border-radius:14px;flex-direction:column;gap:2px;padding:6px 4px}.album .tabs button[aria-current]{color:var(--ivory);background:#eeede71a}.album .tabs button[aria-current] .tab-icon{color:var(--sky)}.tab-icon{width:26px;height:26px}.script-heading{font-family:var(--script);color:var(--ivory);text-shadow:2px 2px 0 var(--sky);margin:8px 0 18px;font-size:clamp(46px,13vw,80px);font-weight:400;line-height:1.15}.upload-form fieldset{border:0;gap:8px;min-width:0;margin:8px 0 16px;padding:0;display:grid;position:relative}.album .upload-form label,.album .upload-form .field-label{color:var(--ink);margin-top:6px;font-size:17px;font-weight:700}.album .upload-form input{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:50px;font:500 18px var(--serif);color:var(--ink);background:#fff;border:1px solid #c8c7b9;border-radius:14px;padding:10px 14px}.album .upload-form input:focus-visible{border-color:var(--olive)}.album .upload-form input:disabled{opacity:.6}.album .upload-form .file-picker-input{opacity:0;clip-path:inset(50%);width:1px;height:1px;min-height:0;padding:0;position:absolute;overflow:hidden}.album .upload-form .file-picker{border:1.5px dashed var(--sage);cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#fbfbf8,#eceee3);border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:14px;margin:0;padding:14px 16px;font-weight:400;transition:border-color .15s,background-color .15s,transform .1s;display:grid}.album .upload-form .file-picker:hover{border-color:var(--olive)}.album .upload-form .file-picker:active{transform:scale(.985)}.album .upload-form .file-picker-input:focus-visible+.file-picker{outline:3px solid var(--moss);outline-offset:2px}.album .upload-form .file-picker-input:disabled+.file-picker,.album .upload-form fieldset:disabled .file-picker{opacity:.6;cursor:default;transform:none}.file-picker-icon{box-sizing:content-box;width:26px;height:26px;color:var(--ivory);background:var(--moss);box-shadow:2px 2px 0 var(--sky);border-radius:50%;grid-row:span 2;padding:11px}.file-picker-title{font:400 21px/1.2 var(--display);color:var(--ink)}.file-picker-hint{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.album .upload-form .file-picker--chosen{border-style:solid;border-color:var(--olive);background:#eef0e6}.file-picker--chosen .file-picker-icon{background:var(--olive)}.upload-previews{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:2px 0 0;padding:0;list-style:none;display:grid}.upload-preview{aspect-ratio:1;background:#e6e8dc;border-radius:10px;position:relative;overflow:hidden}.upload-preview img,.upload-preview video{object-fit:cover;width:100%;height:100%;display:block}.upload-preview-fallback{box-sizing:border-box;height:100%;color:var(--ink-soft);align-content:center;place-items:center;gap:4px;padding:4px;display:grid}.upload-preview-icon{width:24px;height:24px}.upload-preview-badge{box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 8px);color:var(--ivory);background:#141a0cb8;border-radius:999px;padding:1px 7px;font-size:12px;font-weight:600;line-height:1.5;position:absolute;bottom:4px;left:4px;overflow:hidden}.upload-preview--unsupported{opacity:.7}.upload-preview:has(.upload-preview-badge) .upload-preview-fallback{padding-bottom:22px}.upload-previews--single{grid-template-columns:minmax(0,1fr)}.upload-previews--single .upload-preview{aspect-ratio:4/3;max-height:280px}.upload-preview--unsupported .upload-preview-badge{background:var(--danger);padding:1px 5px;font-size:11px}.upload-files{margin:2px 0 12px}.upload-preview--waiting img,.upload-preview--waiting video{opacity:.5}.upload-preview--uploading{box-shadow:inset 0 0 0 3px var(--olive)}.upload-preview progress{width:auto;height:6px;margin:0;position:absolute;top:6px;left:6px;right:6px}.upload-preview--processing .upload-preview-badge{animation:1.6s ease-in-out infinite alternate album-fade}@keyframes album-fade{to{opacity:.55}}.upload-preview--ready .upload-preview-badge{background:var(--moss)}.upload-preview--failed img,.upload-preview--failed video,.upload-preview--skipped img,.upload-preview--skipped video{opacity:.45;filter:grayscale(.7)}.upload-preview--failed .upload-preview-badge,.upload-preview--skipped .upload-preview-badge,.upload-preview--paused .upload-preview-badge{background:var(--danger)}.upload-notes{color:var(--ink-soft);margin:8px 0 0;padding:0;font-size:14px;list-style:none}.upload-notes li+li{margin-top:4px}.album .upload-form .upload-submit{width:100%}.album .upload-form input[aria-invalid=true]{border-color:var(--danger);background:#fdf3f1}.album .upload-form .share-name{min-height:44px;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;gap:12px;margin:0;font-size:16px;font-weight:500;display:flex}.album .upload-form .share-name input[type=checkbox]{appearance:none;cursor:pointer;border:1.5px solid var(--sage);background:#fff 50%/16px no-repeat;border-radius:8px;flex:none;width:26px;min-width:0;height:26px;min-height:0;margin:0;padding:0;transition:background-color .15s,border-color .15s}.album .upload-form .share-name input[type=checkbox]:checked{background-color:var(--moss);border-color:var(--moss);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fbfbf8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5'/%3E%3C/svg%3E")}.album .upload-form .share-name input[type=checkbox]:focus-visible{outline:3px solid var(--moss);outline-offset:2px}.album-main .field-error{color:var(--danger);margin:0;font-size:15px;font-weight:600}.album-main .field-error:before{content:"! ";font-weight:700}.album .upload-form fieldset .button-primary{margin-top:10px}.album .upload-form>button{width:100%;margin:0 0 10px}.form-hint{color:var(--ink-soft);text-align:center;font-size:16px}.album .upload-form p[role=status]:not(:empty){background:var(--accent-bg);color:var(--ink);border-radius:14px;margin:16px 0 12px;padding:12px 14px}.upload-form progress{appearance:none;background:#e3e2d8;border:0;border-radius:999px;width:100%;height:10px;margin:4px 0 12px;display:block;overflow:hidden}.upload-form progress::-webkit-progress-bar{background:#e3e2d8;border-radius:999px}.upload-form progress::-webkit-progress-value{background:var(--olive);border-radius:999px;transition:width .2s}.upload-form progress::-moz-progress-bar{background:var(--olive);border-radius:999px}.album .upload-card{padding:18px 18px 14px}.album .upload-card h3{text-align:center;text-wrap:balance;margin:0 0 4px;font-size:clamp(21px,6.4vw,24px)}.album .upload-card h3 .upload-icon{vertical-align:-2px;margin-right:8px}.album .upload-card fieldset{gap:6px;margin:4px 0 10px}.album .upload-card label,.album .upload-card .field-label{margin-top:4px;font-size:16px}.album .upload-card input:not(.file-picker-input){min-height:46px}.album .upload-card fieldset .button-primary{min-height:50px;margin-top:8px}.upload-details{color:var(--ink-soft);text-align:center;margin-top:4px;font-size:15px}.upload-details summary{cursor:pointer;min-height:40px;color:var(--moss);text-underline-offset:3px;align-items:center;padding:0 8px;font-weight:600;text-decoration:underline;display:inline-flex}.album-main .upload-details p{margin:4px 0 8px}.album-main .upload-batch-position{text-align:center;color:var(--ink);margin:0 0 6px;font-weight:700}.upload-icon{width:22px;height:22px}.guestbook-intro{text-align:center}.guestbook-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin:18px 0 12px;display:flex}.guestbook-review{gap:10px;margin:16px 0;display:grid}.guestbook-review audio{width:100%;margin-bottom:4px}.album .card .record-button{background:0 0;border:0;flex-direction:column;gap:12px;min-height:0;padding:4px 8px;font-size:18px}.album .card .record-button:hover:not(:disabled){background:0 0}.record-button-icon{width:96px;height:96px;color:var(--ivory);background:var(--forest);box-shadow:0 0 0 8px var(--accent-bg);border-radius:50%;place-items:center;transition:transform .15s;display:grid}.record-button:active .record-button-icon{transform:scale(.96)}.record-button-icon svg{width:42px;height:42px}.record-button--stop .record-button-icon{background:var(--danger);animation:1.6s ease-out infinite album-pulse;box-shadow:0 0 0 8px #9b2c1f29}@keyframes album-pulse{0%{box-shadow:0 0 #9b2c1f59}to{box-shadow:0 0 0 18px #9b2c1f00}}.album-main .guestbook-timer{font-variant-numeric:tabular-nums lining-nums;color:var(--ink);justify-content:center;align-items:center;gap:10px;margin:12px 0 0;font-size:26px;font-weight:700;display:flex}.guestbook-timer:before{content:"";background:var(--danger);border-radius:50%;width:12px;height:12px;animation:1s steps(2,start) infinite album-blink}@keyframes album-blink{to{visibility:hidden}}.gallery{margin-top:44px}.gallery h3{font-family:var(--script);color:var(--ivory);text-shadow:2px 2px 0 var(--sky);align-items:center;gap:14px;margin:0 0 14px;font-size:46px;line-height:1.2;display:flex}.gallery h3:before,.gallery h3:after{content:"";border-top:1px solid #eeede759;flex:1}.gallery>div>button{margin:16px auto}.gallery>div{container-type:inline-size}.gallery-grid{--columns:2;--gap:6px;grid-template-columns:repeat(var(--columns), minmax(0, 1fr));grid-auto-rows:44vw;grid-auto-rows:calc((100cqi - (var(--columns) - 1) * var(--gap)) / var(--columns));gap:var(--gap);margin:12px 0;padding:0;list-style:none;display:grid}.gallery-grid li{grid-template-rows:minmax(0,1fr) auto;gap:4px;min-width:0;min-height:0;display:grid}.gallery-item--feature{grid-area:span 2/span 2}.gallery-item--tall{grid-row:span 2}.album .gallery-tile{background:#eeede71a;border:0;border-radius:10px;width:100%;height:100%;min-height:0;padding:0;display:block;position:relative;overflow:hidden}.album .gallery-tile:hover:not(:disabled){background:#eeede729}.gallery-tile img{object-fit:cover;width:100%;height:100%;display:block}.gallery-badge{color:var(--ivory);font:600 13px/1.4 var(--serif);background:#0a0d06b8;border-radius:999px;padding:2px 8px;position:absolute;bottom:8px;left:8px}.gallery-placeholder{box-sizing:border-box;color:#eeede7d9;justify-content:center;align-items:center;width:100%;height:100%;padding:6px;font-size:13px;line-height:1.25;display:flex}.album .gallery-grid li>button:not(.gallery-tile){min-height:36px;padding:4px 8px;font-size:14px}.album-main .gallery-loading{text-align:center;color:#eeede7cc;margin:0 0 4px;font-size:16px;font-style:italic}.gallery-grid .gallery-skeleton{display:block}.gallery-skeleton .gallery-shimmer{border-radius:10px;height:100%;display:block}.gallery-shimmer,.gallery-viewer-media .gallery-placeholder.gallery-shimmer{background:#eeede70d linear-gradient(100deg,#eeede712 35%,#eeede733 50%,#eeede712 65%) 0 0/300% 100%;animation:1.6s ease-in-out infinite gallery-shimmer}.album .gallery-tile:has(img:not([data-loaded])){background:#eeede70d linear-gradient(100deg,#eeede712 35%,#eeede733 50%,#eeede712 65%) 0 0/300% 100%;animation:1.6s ease-in-out infinite gallery-shimmer}@keyframes gallery-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.gallery-backdrop{z-index:10;background:#0a0d06;justify-content:center;align-items:center;animation:.18s ease-out viewer-in;display:flex;position:fixed;inset:0;overflow:hidden}@keyframes viewer-in{0%{opacity:0}}.gallery-viewer{box-sizing:border-box;width:100%;height:100%;padding:calc(env(safe-area-inset-top) + 10px) calc(env(safe-area-inset-right) + 10px) calc(env(safe-area-inset-bottom) + 14px) calc(env(safe-area-inset-left) + 10px);color:var(--ivory);flex-direction:column;display:flex}.gallery-viewer:focus{outline:none}.gallery-viewer-bar{justify-content:flex-end;align-items:center;gap:12px;min-height:46px;padding:2px 2px 10px 8px;display:flex}.album .gallery-viewer .gallery-viewer-guest{text-align:left;overflow-wrap:anywhere;color:#eeede7bf;flex:1;min-width:0;margin:0;font-size:17px;font-style:italic;line-height:1.2}.gallery-viewer-guest span{font:400 32px/1.1 var(--script);color:var(--ivory);text-shadow:1px 1px 0 var(--sky);margin-left:4px;font-style:normal}.gallery-viewer-stage{touch-action:pan-y pinch-zoom;flex:1;min-height:0;position:relative}.gallery-viewer-media{justify-content:center;align-items:center;transition:transform .2s ease-out;display:flex;position:absolute;inset:0}.gallery-viewer-media--dragging{transition:none}.gallery-viewer-media--from-next{animation:.3s cubic-bezier(.25,.8,.25,1) gallery-enter-next}.gallery-viewer-media--from-previous{animation:.3s cubic-bezier(.25,.8,.25,1) gallery-enter-previous}.gallery-viewer-media--leaving{pointer-events:none}.gallery-viewer-media--to-next{animation:.3s cubic-bezier(.25,.8,.25,1) forwards gallery-leave-next}.gallery-viewer-media--to-previous{animation:.3s cubic-bezier(.25,.8,.25,1) forwards gallery-leave-previous}@keyframes gallery-enter-next{0%{transform:translateX(calc(100% + 24px + var(--from,0px)))}}@keyframes gallery-enter-previous{0%{transform:translateX(calc(-100% - 24px + var(--from,0px)))}}@keyframes gallery-leave-next{0%{transform:translateX(var(--from,0px))}to{transform:translate(calc(-100% - 24px))}}@keyframes gallery-leave-previous{0%{transform:translateX(var(--from,0px))}to{transform:translate(calc(100% + 24px))}}.gallery-sentinel{height:1px}.gallery-viewer-media img,.gallery-viewer-media video{object-fit:contain;border-radius:8px;width:auto;max-width:100%;height:auto;max-height:100%;display:block;box-shadow:0 10px 40px #00000073}.gallery-viewer-media video{background:#000}.gallery-viewer-media .gallery-placeholder{background:#eeede714;border-radius:12px;width:100%;height:auto;min-height:160px;font-size:16px}.album .gallery-viewer .gallery-viewer-icon{width:46px;min-width:0;height:46px;min-height:0;color:var(--ivory);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141a0c8c;border:1px solid #eeede747;border-radius:50%;place-items:center;padding:0;transition:background .15s,transform .1s;display:grid;box-shadow:0 2px 10px #0000004d}.album .gallery-viewer .gallery-viewer-icon:hover:not(:disabled){background:#3a4822cc}.album .gallery-viewer .gallery-viewer-icon:active:not(:disabled){transform:scale(.94)}.album .gallery-viewer .gallery-viewer-icon:focus-visible,.album .gallery-viewer .gallery-viewer-action:focus-visible{outline:3px solid var(--sky);outline-offset:2px}.gallery-viewer-icon svg{stroke-width:1.8px;width:24px;height:24px}.album .gallery-viewer .gallery-viewer-close{flex:none}.album .gallery-viewer .gallery-viewer-nav{margin-top:-23px;position:absolute;top:50%}.gallery-viewer-nav--previous{left:6px}.gallery-viewer-nav--next{right:6px}.album .gallery-viewer .gallery-viewer-nav:disabled{visibility:hidden}.gallery-hint{text-align:center;font-size:14px}.album .gallery-viewer .gallery-hint{color:#eeede78c;margin-top:10px;font-style:normal}.gallery-viewer .gallery-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex}.album .gallery-viewer .gallery-viewer-action{width:auto;min-width:150px;min-height:48px;font:600 17px var(--serif);color:var(--ivory);background:0 0;border:1px solid #eeede773;border-radius:999px;justify-content:center;align-items:center;gap:8px;margin:0;padding:10px 22px;display:inline-flex}.gallery-viewer-action svg{stroke-width:1.8px;width:20px;height:20px}@media (hover:none) and (pointer:coarse){.gallery-viewer .gallery-hint{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width>=720px){.hero{padding-top:64px;padding-bottom:36px}.hero-kicker{font-size:30px}.hero-names{font-size:clamp(72px,10vw,128px)}.hero-amp{margin:0 .05em;font-size:1.05em;display:inline}.hero-date{font-size:26px}.hero-date>span{display:inline}.hero-break{display:none}.album--signed-in .hero{padding-top:36px}.album--signed-in .hero-names{font-size:56px}.album--signed-in .hero-date{font-size:18px}.album-main.session-shell{padding:8px 24px 64px}.album .tabs{border:0;border-radius:999px;justify-content:center;width:max-content;margin:12px auto 20px;padding:6px;display:flex;position:static}.album .tabs button{border-radius:999px;flex-direction:row;gap:10px;min-height:48px;padding:8px 22px;font-size:18px}.tab-icon{width:22px;height:22px}.album .card{padding:32px 36px}.gallery-grid{--columns:4;--gap:8px;grid-auto-rows:22vw;grid-auto-rows:calc((100cqi - (var(--columns) - 1) * var(--gap)) / var(--columns))}}@media (width>=720px) and (height>=501px){.gallery-backdrop{padding:24px}.gallery-viewer{width:min(1100px,100%);height:min(860px,100%);padding:16px 20px 20px}.gallery-viewer-nav--previous{left:10px}.gallery-viewer-nav--next{right:10px}}html:has(.admin-shell){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text:#c3c9b8;--text-h:#f1f0e9;--bg:#12160d;--surface:#1b2114;--border:#333c28;--code-bg:#262e1c;--accent:var(--sky);--accent-bg:#a2d2f524;--accent-border:#a2d2f573;--admin-danger:#ffb4a8;--shadow:#00000080 0 12px 28px -8px}.admin-shell a{color:var(--sky-pale);text-underline-offset:3px}.admin-shell h1{color:var(--text-h)}.admin-shell.session-shell button,.session-shell.admin-shell .admin-action{color:var(--text-h);background:var(--surface);border-color:var(--accent-border)}.admin-shell.session-shell button:hover:not(:disabled):not([aria-disabled=true]),.session-shell.admin-shell .admin-action:hover{border-color:var(--sky);background:#242c1b}.admin-console nav a{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:6px 14px;text-decoration:none}.admin-console nav a:hover{border-color:var(--accent-border)}.admin-shell .admin-form fieldset,.admin-shell .admin-created{background:var(--surface)}.admin-shell .admin-form input:not([type=checkbox]),.admin-shell .admin-created input{background:var(--bg);border-color:#4a5539}.admin-shell .admin-form input:not([type=checkbox]):focus-visible{border-color:var(--sky)}.admin-shell .admin-toggle input,.admin-shell input[type=checkbox]{accent-color:var(--sage)}.admin-shell .admin-form input[aria-invalid=true]{border-color:var(--admin-danger)}.admin-shell .admin-error{color:var(--admin-danger)}.admin-shell .admin-badge{color:var(--sky-pale)}.admin-shell .admin-qr{box-sizing:border-box;background:#fff;border-radius:8px;padding:8px}.session-shell .admin-action{color:var(--text-h);background:var(--bg);border:1px solid var(--text);border-radius:6px;padding:10px 16px;text-decoration:none;display:inline-block}.admin-console{text-align:left;max-width:820px}.admin-console nav{justify-content:flex-start}.admin-account{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.session-shell .admin-account p{margin:0}.admin-section{border-top:1px solid var(--border);margin:32px 0;padding-top:24px}.admin-section h2{margin-bottom:8px}.admin-section h3{margin:24px 0 8px}.admin-form fieldset{border:1px solid var(--border);border-radius:8px;gap:16px;min-width:0;margin:0 0 20px;padding:16px;display:grid}.admin-form legend{color:var(--text-h);padding:0 6px;font-weight:600}.admin-field{gap:4px;margin-bottom:16px;display:grid}.admin-form fieldset .admin-field{margin:0}.admin-field label,.admin-toggle label{color:var(--text-h)}.admin-form input:not([type=checkbox]),.admin-created input{box-sizing:border-box;width:100%;max-width:420px;font:inherit;color:var(--text-h);background:var(--bg);border:1px solid var(--text);border-radius:6px;padding:8px}.admin-form input[aria-invalid=true]{border-color:#c62828}.admin-toggle{align-items:flex-start;gap:10px;display:flex}.admin-toggle input{flex:none;width:18px;height:18px;margin:3px 0 0}.admin-hint{color:var(--text);font-size:14px;display:block}.admin-error{color:#c62828;font-size:14px;display:block}.admin-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-list{margin:12px 0;padding:0;list-style:none}.admin-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;display:flex}.admin-list li>div:first-child{overflow-wrap:anywhere;min-width:0}.admin-badge{background:var(--accent-bg);color:var(--text-h);border-radius:999px;margin-left:4px;padding:0 8px;font-size:13px;display:inline-block}.admin-created{border:2px solid var(--accent-border);border-radius:8px;padding:16px}.admin-message audio{max-width:100%}.admin-qr{width:min(240px,100%);height:auto;margin:12px 0;display:block}.session-shell .admin-section>button{margin:8px 0}
