@font-face{font-family:Album Candara;src:local(Candara Light);font-weight:300;font-display:swap}@font-face{font-family:Album Candara;src:local(Candara);font-weight:400;font-display:swap}@font-face{font-family:Story Meta;src:local(Meta Pro Fixed),local(MetaProFixed);font-display:swap}:root{--color-ground:#141c27;--color-surround-ink:#eee6d8;--color-surround-muted:#aab7c6;--color-paper:#f0eadb;--color-ink:#34444e;--color-muted:#56635f;--color-cloth:#263e5a;--color-white:#fff;--font-album:"Album Candara", "Candara", "Trebuchet MS", sans-serif;--space-small:8px;--space-medium:16px;--space-large:32px;--ease-open:cubic-bezier(.16, 1, .3, 1);font-family:var(--font-album);color:var(--color-ink);background:var(--color-ground);font-synthesis:none;font-size:18px;font-weight:300}*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,.book:focus-visible{outline:2px solid var(--color-cloth);outline-offset:5px}::selection{background:var(--color-cloth);color:var(--color-white)}html{scrollbar-color:#6a7c92 var(--color-ground)}.experience{background:var(--color-ground);min-height:100svh;color:var(--color-surround-ink);flex-direction:column;padding:0 5.5vw;display:flex}.experience button:focus-visible,.experience .book:focus-visible{outline-color:var(--color-surround-ink)}.album-page{color:var(--color-ink)}.album-page button:focus-visible,.experience .calendar-dialog button:focus-visible{outline-color:var(--color-cloth)}.album-stage{flex:1;place-items:center;min-height:690px;padding:64px 0;display:grid}.cover-scene{width:min(430px,100%);position:relative}.closed-page-block{background:#ded4bc url(/graphics/page-edge.svg) 100%/16px 100%;border-radius:0 4px 4px 0;width:18px;position:absolute;top:8px;bottom:-5px;right:-8px;box-shadow:8px 14px 24px #0006}.cover{background-color:var(--color-cloth);background-blend-mode:soft-light;width:100%;min-height:574px;color:var(--color-white);background-image:url(/textures/cloth-neutral.jpg);background-size:390px;border:0;border-radius:2px 6px 6px 2px;flex-direction:column;align-items:center;padding:116px 40px 38px 60px;display:flex;position:relative;box-shadow:inset 2px 0 5px #ffffff1a,inset -3px -3px 6px #101c2a66,9px 18px 36px #23343d33,2px 3px 3px #23343d44,4px 5px 0 -1px #d9d1bd,6px 7px 0 -1px #1f334b}.cover:after{content:"";pointer-events:none;border:1px solid #ffffff1c;position:absolute;inset:20px 18px 20px 36px;box-shadow:inset 0 1px 1px #101c2a44}.cover:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0b17295e,#b7ccdf12 36%,#0b17294d 83%,#0000);border-radius:3px 0 0 3px;width:28px;position:absolute;top:0;bottom:0;left:0}.cover-spine{background:#ffffff21;width:1px;position:absolute;top:0;bottom:0;left:28px;box-shadow:-3px 0 4px #070d1866,2px 0 3px #ffffff15}.cover-imprint{text-shadow:0 1px 1px #080f1ccc,0 -1px #ffffff24;border-top:1px solid #ffffff42;border-bottom:1px solid #ffffff42;width:100%;padding:22px 0 26px}.cover-title{letter-spacing:-.025em;text-align:center;text-wrap:balance;margin:0;font-size:clamp(34px,3.3vw,46px);font-weight:300;line-height:1.24;display:block}.cover-names{margin-top:24px;font-size:18px;display:block}.cover:focus-visible{outline-color:var(--color-white)}.opened-album{width:min(1060px,100%)}.is-opening .album-toolbar,.is-opening .page-controls,.is-opening .edit-area{visibility:hidden}.is-opening .book{box-shadow:none;background:0 0}.is-opening .book:after{display:none}@media (width>=761px){.is-opening .spread>.left-page{visibility:hidden}}.opening-cover{transform-origin:0;width:calc(50% - 7px);transform-style:preserve-3d;z-index:5;pointer-events:none;position:absolute;top:7px;bottom:7px;left:50%}.opening-single{width:auto;inset:5px}.opening-face{backface-visibility:hidden;position:absolute;inset:0;box-shadow:12px 18px 32px #0006}.opening-front .cover{height:100%;min-height:0}.opening-back{transform:rotateY(180deg)}.opening-back .album-page{height:100%}.cover-lining{background:var(--color-paper) url(/textures/paper.jpg) center / 510px;height:100%}.album-toolbar{justify-content:space-between;align-items:center;padding:0 12px 24px;display:flex}.text-button{background:0 0;border:0;align-items:center;gap:10px;padding:10px 0;font-size:16px;display:inline-flex}.text-button:hover{text-underline-offset:5px;text-decoration:underline}.book{background:var(--color-cloth);background-blend-mode:soft-light;touch-action:pan-y;perspective:2200px;background-image:url(/textures/cloth-neutral.jpg);border-radius:3px;padding:7px;position:relative;box-shadow:0 24px 46px #0005,0 3px #d8cfbb,0 5px #f3eddc,0 7px #c9c0ad,0 9px #263e5a}.book:after{content:"";pointer-events:none;background:#6a5b3b21;width:4px;position:absolute;top:7px;bottom:7px;left:calc(50% - 2px);box-shadow:0 0 9px 2px #32261617}.spread{grid-template-columns:1fr 1fr;display:grid}.album-page{background-color:var(--color-paper);background-blend-mode:multiply;background-image:url(/textures/paper.jpg);background-size:510px;flex-direction:column;min-width:0;height:588px;padding:37px 42px 30px;display:flex;position:relative}.left-page{box-shadow:inset -16px 0 18px -15px #6557406b}.right-page{box-shadow:inset 16px 0 18px -15px #6557406b}.memory{flex-direction:column;flex:1;justify-content:center;min-height:0;margin:0;padding-bottom:82px;display:flex}.photo-mount{background:#fdfbf6;border:0;border-radius:0;width:100%;padding:8px;display:block;position:relative;box-shadow:0 3px 7px #64523a24}.photo-mount img{object-fit:contain;width:100%;height:auto;max-height:340px;display:block}.portrait .photo-mount{align-self:center;width:67%}.corner{clip-path:polygon(0 0,100% 0,0 100%);background:#e9e2d2;border:0;width:20px;height:20px;position:absolute;box-shadow:0 1px 2px #544e3a24}.top-left{top:-2px;left:-2px}.top-right{top:-2px;right:-2px;transform:rotate(90deg)}.bottom-right{bottom:-2px;right:-2px;transform:rotate(180deg)}.bottom-left{bottom:-2px;left:-2px;transform:rotate(270deg)}.page-date{text-align:center;font-size:20px;font-weight:300;position:absolute;bottom:65px;left:24px;right:24px}.page-number{text-align:center;color:var(--color-muted);font-size:14px;position:absolute;bottom:28px;left:0;right:0}.turning-sheet{width:calc(50% - 7px);transform-style:preserve-3d;pointer-events:none;z-index:3;position:absolute;top:7px;bottom:7px}.turn-forward{transform-origin:0;left:50%}.turn-backward{transform-origin:100%;left:7px}.sheet-face{backface-visibility:hidden;position:absolute;inset:0;box-shadow:6px 8px 20px #3b301f33}.sheet-face .album-page{height:100%}.sheet-back{transform:rotateY(180deg)}.single-sheet{width:auto;inset:5px}.page-controls{justify-content:center;align-items:center;gap:40px;padding-top:24px;display:flex}.page-controls p{font-variant-numeric:tabular-nums;text-align:center;min-width:70px;margin:0;font-size:16px}.turn-button{background:0 0;border:0;align-items:center;gap:8px;min-height:44px;padding:6px 10px;font-size:16px;display:flex}.turn-button:not(:disabled):hover{text-underline-offset:5px;text-decoration:underline}.turn-button:disabled{opacity:.35}.edit-area{text-align:center;margin-top:13px}.edit-area .text-button{font-size:14px}.prototype-note{max-width:50ch;margin:8px auto;font-size:16px;line-height:1.5}.photo-error{place-content:center;min-height:200px;line-height:1.5;display:grid}.calendar-dialog{width:min(460px,100% - 32px);max-height:calc(100svh - 40px);color:var(--color-ink);background:var(--color-paper);border:0;border-radius:3px;padding:0;box-shadow:0 20px 70px #152b4159}.calendar-dialog::backdrop{background:#152b4166}.calendar-content{padding:30px 32px}.dialog-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.dialog-header h2{margin:0;font-size:27px;font-weight:300}.icon-button{background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid}.year-options{gap:20px;margin-top:25px;display:flex}.year{color:var(--color-muted);background:0 0;border:0;padding:8px 0;font-size:24px}.year.selected{color:var(--color-ink);border-bottom:1px solid var(--color-ink)}.month-options{gap:16px;margin:14px 0 25px;display:flex}.month{background:0 0;border:0;padding:10px 0;font-size:17px}.month:first-letter{text-transform:uppercase}.month.selected{text-underline-offset:5px;text-decoration:underline}.calendar-month{text-transform:capitalize;margin:0 0 20px;font-size:18px;font-weight:400}.weekdays,.days{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.weekdays{color:var(--color-muted);margin-bottom:12px;font-size:14px}.day{min-height:44px;color:var(--color-muted);place-content:center;font-size:17px;display:grid;position:relative}.has-photo{color:var(--color-white);background:var(--color-cloth);border:0;border-radius:50%;width:40px;height:40px;min-height:40px;margin:2px auto}.has-photo span{background:#fff;border-radius:50%;width:3px;height:3px;position:absolute;bottom:6px;left:calc(50% - 1.5px)}.calendar-hint{color:var(--color-muted);margin:22px 0;font-size:14px}.month-options,.year-options{flex-wrap:wrap}.memory-caption{overflow-wrap:anywhere;max-height:42px;margin-top:6px;font-size:16px;line-height:1.3;display:block;overflow:auto}.album-load{background:var(--color-paper);min-height:460px;color:var(--color-ink);text-align:center;place-content:center;padding:32px;display:grid}.album-editor{background:var(--color-paper);color:var(--color-ink);text-align:left;border-radius:3px;margin-top:40px;padding:32px}.album-editor:focus{outline:none}.editor-heading,.editor-actions,.group-date,.editor-tabs,.row-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.editor-heading,.editor-actions{justify-content:space-between}.album-editor h2{margin:0;font-size:27px;font-weight:300}.album-editor h3{margin:30px 0 12px;font-size:23px;font-weight:300}.album-editor p{line-height:1.5}.album-editor label{gap:6px;font-size:16px;display:grid}.album-editor input:not([type=radio]),.album-editor textarea{font:inherit;border:1px solid var(--color-muted);width:100%;min-height:44px;color:var(--color-ink);caret-color:var(--color-cloth);background:#fdfbf6;border-radius:3px;padding:8px 10px;font-size:18px}.album-editor input:focus-visible,.album-editor textarea:focus-visible,.album-editor button:focus-visible{outline:2px solid var(--color-cloth);outline-offset:3px}.album-editor fieldset{border:0;min-width:0;margin:0;padding:0}.album-editor legend{margin-bottom:12px;font-size:18px}.album-editor button:disabled{opacity:.55}.pin-form{max-width:460px;margin:24px 0}.pin-form label{margin-top:16px}.pin-form .identity-option{align-items:center;gap:8px;margin-right:24px;display:inline-flex}.field-hint{color:var(--color-muted);font-size:14px}.editor-error{color:#863329;overflow-wrap:anywhere}.editor-error button{color:inherit;background:0 0;border:0;text-decoration:underline}.save-button{min-height:44px;color:var(--color-white);background:var(--color-cloth);border:0;border-radius:3px;padding:10px 18px;font-size:16px}.save-button:hover:not(:disabled){background:#344f6d}.pin-form .save-button{margin-top:20px}.file-label{max-width:500px}.group-date{margin-top:24px}.upload-list,.memory-list{margin:24px 0}.upload-row,.memory-row{border-top:1px solid #b8baa9;grid-template-columns:130px minmax(0,1fr);gap:24px;padding:24px 0;display:grid}.upload-row img,.memory-row img{object-fit:contain;width:100%;height:140px}.file-name{overflow-wrap:anywhere;margin-top:0}.upload-row label,.memory-row label{margin:10px 0}.editor-tabs{border-top:1px solid #b8baa9;margin-top:36px;padding-top:16px}.editor-tabs [aria-pressed=true]{text-underline-offset:5px;text-decoration:underline}.album-editor .text-button{color:var(--color-ink)}@media (width<=760px){.album-editor{margin-inline:-8px;padding:24px 18px}.editor-heading{align-items:flex-start}.upload-row,.memory-row{grid-template-columns:1fr;gap:12px}.upload-row img,.memory-row img{height:170px}.album-editor h2{font-size:25px}}.undated-button{background:0 0;border:0;border-top:1px solid #c3bfaf;justify-content:space-between;align-items:center;width:100%;padding:20px 0 0;font-size:16px;display:flex}.pswp{--pswp-bg:#17232c}@media (width>=1600px){.album-stage{padding-top:40px}}@media (width<=1000px) and (width>=761px){.album-page{height:540px;padding:32px 28px 26px}}@media (width<=760px){.experience{padding:0 22px}.album-stage{min-height:570px;padding:56px 0}.cover-scene{width:min(340px,100vw - 56px)}.cover{background-size:330px;min-height:455px;padding:85px 24px 28px 38px}.cover-title{font-size:35px}.cover-names{margin-top:24px;font-size:17px}.cover-spine{left:23px}.cover:before{width:23px}.album-toolbar{padding:0 3px 16px}.text-button{font-size:15px}.calendar-button{gap:6px}.book{padding:5px}.book:after{display:none}.spread{grid-template-columns:1fr}.album-page{height:max(460px,min(590px,65svh));padding:30px 25px 24px}.left-page,.right-page{box-shadow:none}.memory{padding-bottom:70px}.portrait .photo-mount{width:70%}.page-controls{gap:16px;padding-top:14px}.page-controls p{min-width:55px}.calendar-content{padding:23px 22px}.dialog-header h2{font-size:25px}}.space-intro{color:#fff;touch-action:pan-y;height:100svh;min-height:540px;font-family:"Story Meta", var(--font-album);background:#000;position:relative;overflow:clip}.space-intro:focus{outline:none}.start-screen{place-items:center;height:100%;display:grid}.start-button{color:#fff;background:0 0;border:0;padding:24px;font-size:24px}.space-intro button:focus-visible,.space-intro a:focus-visible{outline-color:#fff}.space-drift{transform:translate(var(--drift-x,0px), var(--drift-y,0px));transition:transform 1.6s ease-out;position:absolute;inset:-2%}.space-scene{position:absolute;inset:0}.space-filters{pointer-events:none;width:0;height:0;position:absolute}.space-photo,.space-light{object-fit:cover;width:100%;height:100%;display:block}.space-photo{filter:brightness(.6)}.space-scene{animation:18s ease-in-out infinite alternate comet-travel}.scene-1{animation-name:nebula-travel;animation-duration:22s}.scene-2{animation-name:river-travel;animation-duration:24s}.space-light{filter:url(#space-highlights)blur(5px);mix-blend-mode:screen;opacity:.16;pointer-events:none;animation:7s ease-in-out infinite alternate space-radiance;position:absolute;inset:0}.scene-1 .space-light{animation-duration:10s}.scene-2 .space-light{opacity:.1;animation-duration:12s}.motion-paused .space-scene,.motion-paused .space-light{animation-play-state:paused}.space-story{text-align:center;pointer-events:none;align-content:center;justify-items:center;padding:90px max(32px,12vw) 140px;display:grid;position:absolute;inset:0}.space-story h1{letter-spacing:-.025em;text-wrap:balance;text-shadow:0 2px 16px #000a;max-width:24ch;margin:0 auto;font-size:clamp(32px,4.1vw,64px);font-weight:300;line-height:1.18}.space-story time{text-shadow:0 2px 8px #000;margin-top:28px;font-size:20px;display:block}.space-navigation{justify-content:center;align-items:center;gap:28px;display:flex;position:absolute;bottom:92px;left:0;right:0}.space-arrow{color:#fff;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid}.space-arrow:disabled{opacity:.35}.space-arrow svg,.album-invitation svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.scene-dates{gap:30px;display:flex}.scene-dates button{color:#fff;text-shadow:0 2px 6px #000;background:0 0;border:0;border-bottom:1px solid #0000;padding:12px 0;font-size:16px}.scene-dates button[aria-current]{border-bottom-color:#fff}.space-credit{white-space:nowrap;color:#fff;text-underline-offset:4px;text-shadow:0 2px 5px #000;font-size:13px;text-decoration-thickness:1px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.space-error{font-size:16px}@keyframes comet-travel{0%{translate:-1.5% 1%;rotate:-.3deg;scale:1.06}to{translate:1.5% -1%;rotate:.3deg;scale:1.2}}@keyframes nebula-travel{0%{translate:1% -1%;rotate:.45deg;scale:1.17}to{translate:-1% 1%;rotate:-.45deg;scale:1.06}}@keyframes river-travel{0%{translate:-1.8%;scale:1.08}to{translate:1.8% -1%;scale:1.16}}@keyframes space-radiance{0%{opacity:.06}to{opacity:.3}}@media (width<=760px){.space-intro{min-height:520px}.space-story{padding:90px 28px 150px}.space-story h1{font-size:clamp(32px,8.3vw,42px)}.space-story time{font-size:18px}.space-navigation{gap:8px;bottom:92px}.scene-dates{gap:20px}.scene-dates button{font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}.space-scene,.space-light{animation:none}.space-light{display:none}.space-drift{transform:none}}
