@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/be-vietnam-pro-400-normal.ttf)format("truetype")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/be-vietnam-pro-500-normal.ttf)format("truetype")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/be-vietnam-pro-600-normal.ttf)format("truetype")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/be-vietnam-pro-700-normal.ttf)format("truetype")}@font-face{font-family:Lora;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/lora-400-italic.ttf)format("truetype")}@font-face{font-family:Lora;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/lora-500-italic.ttf)format("truetype")}@font-face{font-family:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lora-400-normal.ttf)format("truetype")}@font-face{font-family:Lora;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/lora-500-normal.ttf)format("truetype")}@font-face{font-family:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/lora-600-normal.ttf)format("truetype")}:root{--paper:#f0e7d6;--white:#fffcf6;--surface:#faf6ee;--ink:#3e2a1e;--muted:#735f4f;--brand:#dd6809;--accent:#ad4806;--accent-hover:#913b04;--soft-orange:#f8dfc1;--line:#d9cbb8;--control-line:#9b8064;--sans:"Be Vietnam Pro", Arial, sans-serif;--serif:"Lora", Georgia, serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased;margin:0}button,input,textarea{font:inherit}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;border:0}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}button svg,a svg{flex-shrink:0}:is(button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible){outline:3px solid var(--accent);outline-offset:4px}::selection{color:var(--ink);background:#f4bb7b}.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}.skip-link{z-index:200;background:var(--ink);color:var(--white);border-radius:30px;padding:12px 20px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.handwritten{font:italic 400 1em var(--serif)}.eyebrow,.journey-overline{color:var(--accent);letter-spacing:1.6px;font-size:11px;font-weight:600;line-height:1.8}.button{border:1px solid #0000;border-radius:28px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:13px 20px;font-size:14px;font-weight:500;line-height:1.5;transition:background .18s,border-color .18s;display:inline-flex}.button-primary{background:var(--accent);color:var(--white)}.button-primary:hover:not(:disabled){background:var(--accent-hover)}.button-outline{border-color:var(--control-line);background:0 0}.button-outline:hover:not(:disabled){background:var(--paper);border-color:var(--accent)}.button-danger{color:var(--white);background:#963f24}.button-danger:hover:not(:disabled){background:#78301b}.text-link{text-underline-offset:5px;background:0 0;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:5px 0;font-size:14px;font-weight:500;display:inline-flex}.text-link:hover{color:var(--accent);text-decoration:underline}.icon-button{background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.icon-button:hover:not(:disabled){background:#dd680910}.gallery-main{min-height:100svh;overflow-x:clip}.gallery-masthead{top:0;z-index:45;background:linear-gradient(#f0e7d6f5,#f0e7d6b8 75%,#f0e7d600);justify-content:space-between;align-items:center;gap:24px;min-height:96px;padding:22px 4vw;display:flex;position:fixed;inset-inline:0}.masthead-brand{align-items:center;gap:11px;min-height:72px;display:flex}.masthead-brand>img{object-fit:contain;width:54px;height:70px}.masthead-brand>span{flex-direction:column;line-height:1.65;display:flex}.masthead-brand small{letter-spacing:1.35px;color:var(--accent);font-size:10px;font-weight:600}.masthead-brand strong{letter-spacing:-.2px;font-size:22px;font-weight:600}.masthead-edition{text-align:center;flex-direction:column;gap:4px;display:flex}.masthead-edition>span{letter-spacing:2.2px;color:var(--accent);font-size:12px}.masthead-edition strong{letter-spacing:1.4px;color:var(--muted);font-size:10px;font-weight:500}.masthead-actions{align-items:center;gap:6px;display:flex}.reminder-chip{background:#fffcf64d;border:1px solid #c7af91;border-radius:30px;align-items:center;gap:8px;min-height:44px;padding:8px 15px;font-size:13px;display:inline-flex}.reminder-chip:hover{border-color:var(--accent);background:#fff9ed}.gallery-dock{z-index:50;bottom:max(25px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffcf6ed;border:1px solid #d6c3a8;border-radius:40px;align-items:center;gap:8px;padding:6px;display:flex;position:fixed;left:50%;translate:-50%;box-shadow:0 12px 40px #4c2e1d14}.gallery-dock button{white-space:nowrap;border-radius:30px;justify-content:center;align-items:center;gap:10px;min-height:48px;display:flex}.dock-side{color:var(--muted);background:0 0;padding:10px 15px;font-size:13px}.dock-side:hover,.dock-side[aria-pressed=true]{color:var(--accent);background:#f0e7d6}.dock-upload{background:var(--accent);color:var(--white);padding:13px 24px;font-size:14px;font-weight:500}.dock-upload:hover{background:var(--accent-hover)}.margin-footer{border-top:1px solid var(--line);width:calc(100% - 8vw);min-height:160px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 25px;margin:auto;padding:25px 0 110px;font-size:12px;display:flex;position:relative}.margin-footer>a{min-height:44px;color:var(--accent);align-items:center;gap:7px;margin-top:-12px;display:flex}.margin-footer>span:last-child{letter-spacing:1.4px;font-size:10px}.gallery-error,.active-filter,.illustration-notice{z-index:46;border:1px solid var(--line);background:var(--white);border-radius:24px;width:fit-content;max-width:calc(100% - 32px);margin:104px auto -90px;padding:7px 16px;font-size:13px;position:relative}.gallery-error{text-align:center;border-radius:12px;max-width:600px}.gallery-error small{color:var(--muted);display:block}.active-filter,.illustration-notice{align-items:center;gap:9px;display:flex}.active-filter>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.photo-journey{height:calc(var(--journey-screens) * 100svh);position:relative}.journey-viewport{width:100%;height:100svh;position:sticky;top:0;overflow:clip}.journey-atmosphere{background:var(--paper);pointer-events:none;position:absolute;inset:0}.journey-light{filter:blur(70px);border-radius:50%;position:absolute}.journey-light-first{background:color-mix(in srgb,var(--mood) 30%,#efc58d 70%);opacity:.32;width:90vw;height:95svh;top:-5svh;left:4vw}.journey-light-second{background:color-mix(in srgb,var(--mood) 28%,#ebdfb6 72%);opacity:.38;width:55vw;height:90svh;bottom:-35svh;right:-15vw}.journey-grain{opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23grain)' opacity='.8' d='M0 0h180v180H0z'/%3E%3C/svg%3E");position:absolute;inset:0}.journey-orbit{pointer-events:none;opacity:.09;position:absolute;inset:0}.journey-orbit svg{width:100%;height:100%}.journey-orbit path{stroke:#bb8651;stroke-width:.6px;vector-effect:non-scaling-stroke}.journey-introduction{z-index:8;pointer-events:none;max-width:29vw;position:absolute;top:25svh;left:5vw}.journey-overline{margin-bottom:18px;display:block}.journey-introduction h1{font:400 clamp(35px,4.4vw,69px)/1.08 var(--serif);letter-spacing:-2.4px}.journey-introduction h1 em{color:var(--accent);font-weight:400}.journey-introduction p{color:var(--muted);margin-top:25px;font-size:15px;line-height:1.75}.journey-invitation{color:var(--accent);align-items:center;gap:10px;margin-top:31px;font-size:12px;display:flex}.journey-space{perspective:var(--journey-perspective);perspective-origin:50%;transform-style:preserve-3d;pointer-events:none;position:absolute;inset:0}.journey-photo-plane{width:min(35vw,calc(60svh * var(--photo-aspect)));aspect-ratio:var(--photo-aspect);pointer-events:none;will-change:transform,opacity;position:absolute;top:46%;left:50%}.journey-photo-plane .photo-button{border-color:#fffaf0b3;padding:3px;box-shadow:0 2px 3px #4e2c1714,0 22px 50px -25px #4e2c1730}.journey-photo-plane .photo-corner{display:none}.photo-button{background:#fffaf0;border:1px solid #c8b297;border-radius:2px;width:100%;height:100%;padding:7px;display:block;position:relative;box-shadow:0 3px 5px #4e2c1721,0 24px 45px -20px #4e2c1745}:is(.photo-button:hover,.photo-button:focus-visible){border-color:var(--accent)}.photo-button:focus-visible{outline-offset:7px}.photo-surface{background:#eae2d5;width:100%;height:100%;display:block;position:relative}.photo-surface>img{object-fit:contain;width:100%;height:100%;display:block}.photo-corner{pointer-events:none;border-color:#fffdecbf;width:15px;height:15px;position:absolute}.photo-corner-top{border-top:1px solid;border-left:1px solid;top:12px;left:12px}.photo-corner-bottom{border-bottom:1px solid;border-right:1px solid;bottom:12px;right:12px}.photo-open{width:38px;height:38px;color:var(--accent);opacity:0;background:#fffaf0ed;border:1px solid #fff9;border-radius:50%;place-items:center;transition:opacity .18s;display:grid;position:absolute;bottom:10px;right:10px}:is(.photo-button:hover .photo-open,.photo-button:focus-visible .photo-open){opacity:1}.photo-example{background:var(--white);border:1px solid var(--line);color:var(--muted);border-radius:10px;padding:4px 8px;font-size:10px;position:absolute;bottom:12px;left:12px}.photo-error{background:var(--surface);color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:15px;display:flex;position:absolute;inset:0}.photo-error strong{font-size:14px;font-weight:500}.photo-error>span{font-size:12px}.journey-caption{z-index:10;flex-direction:column;align-items:flex-start;gap:5px;max-width:28vw;display:flex;position:absolute;bottom:102px;left:5vw}.journey-caption-label{letter-spacing:1.4px;color:var(--accent);font-size:10px}.journey-caption strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font:400 clamp(20px,2vw,29px)/1.4 var(--serif);overflow:hidden}.journey-caption time{letter-spacing:.6px;color:var(--muted);font-size:12px}.journey-navigation{z-index:11;flex-direction:column;align-items:center;gap:19px;display:flex;position:absolute;top:38svh;right:4vw}.journey-counter{align-items:baseline;gap:6px;display:flex}.journey-counter strong{font:italic 400 45px/1 var(--serif);color:var(--accent)}.journey-counter>span{color:var(--muted);font-size:12px}.journey-track{background:#ba9b714d;width:1px;height:106px;display:block}.journey-track i{transform-origin:50% 0;background:var(--accent);width:1px;height:100%;display:block}.journey-navigation>div{flex-direction:column;gap:3px;display:flex}.journey-arrow{background:#fffaf07d;border:1px solid #c8ae8f8c;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.journey-arrow:hover:not(:disabled){background:var(--white);border-color:var(--accent)}.journey-bottom-note{letter-spacing:1.4px;color:var(--muted);font-size:10px;position:absolute;bottom:36px;left:5vw}.journey-end-invitation{z-index:12;background:var(--white);min-height:44px;color:var(--accent);border:1px solid #c8ae8f;border-radius:30px;align-items:center;gap:8px;padding:10px 15px;font-size:12px;display:flex;position:absolute;bottom:105px;right:5vw}.journey-loading{min-height:100svh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:20px;font-size:15px;display:flex}.journey-loading-mark{color:var(--brand);font-size:65px}.photo-index{width:calc(100% - 10vw);max-width:1400px;margin:auto;padding:150px 0 80px}.index-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:45px;padding-bottom:25px;display:flex}.index-heading h1{font:400 clamp(38px,4.6vw,65px)/1.1 var(--serif);letter-spacing:-2px}.index-heading h1 br{display:none}.index-heading h1 em{color:var(--accent);font-weight:400}.index-heading p{color:var(--accent);font-size:14px}.index-heading p span{color:var(--muted);margin-top:8px;font-size:12px;display:block}.index-photos{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:48px 34px;display:grid}.index-photo{min-width:0}.index-photo .photo-button{height:auto;aspect-ratio:var(--asset-aspect);max-height:75svh}.index-photo .photo-surface{width:calc(100% - 14px);height:calc(100% - 14px);position:absolute;inset:7px}.index-caption{grid-template-columns:auto 1fr;align-items:baseline;gap:0 12px;padding:14px 2px 0;display:grid}.index-caption>span{font:italic 400 19px var(--serif);color:var(--accent);grid-row:1/3}.index-caption h2{overflow-wrap:anywhere;font-size:15px;font-weight:500;line-height:1.5}.index-caption time{color:var(--muted);font-size:12px}.gallery-no-results{text-align:center;max-width:560px;min-height:45svh;margin:25px auto 45px;padding:30px 20px}.gallery-no-results>span{color:var(--brand);font-size:40px}.gallery-no-results h2{font:400 28px/1.4 var(--serif);margin:15px 0}.gallery-no-results p{color:var(--muted);margin-bottom:20px;font-size:16px}.modal{overscroll-behavior:contain;width:min(590px,100% - 32px);max-height:calc(100dvh - 48px);color:var(--ink);background:var(--surface);border:1px solid #c9b99f;border-radius:18px;padding:34px;animation:.2s ease-out modal-arrival;position:fixed;inset:0;overflow:auto;box-shadow:0 35px 120px #3e2a1e26}.modal::backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#30211465}.modal-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.modal-top h2{font:400 28px/1.3 var(--serif);letter-spacing:-.8px;overflow-wrap:anywhere}.modal-top .icon-button{border:1px solid var(--line);background:var(--white)}.modal-intro{color:var(--muted);margin-bottom:25px;font-size:14px;line-height:1.8}.upload-form{flex-direction:column;gap:20px;display:flex}.dropzone{background:#eee2cf;border:1px dashed #b7956d;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;min-height:190px;padding:24px 18px;display:flex;position:relative;overflow:hidden}.dropzone:hover,.dropzone.is-dragging{border-color:var(--accent);background:#f5dec0}.upload-icon{width:55px;height:55px;color:var(--accent);place-items:center;margin-bottom:7px;display:grid}.dropzone strong{font-size:15px;font-weight:500}.dropzone>span:not(.upload-icon):not(.replace-photo){color:var(--muted);font-size:13px}.dropzone small{color:var(--muted);margin-top:5px;font-size:11px}.upload-queue-list{gap:2px;max-height:220px;display:grid;overflow-y:auto}.upload-queue-list:empty{display:none}.upload-queue-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;min-width:0;min-height:46px;padding:4px 0;display:flex}.upload-queue-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.upload-queue-status{color:var(--muted);background:#eee8dc;border-radius:20px;flex:none;padding:4px 8px;font-size:11px}.upload-queue-status.status-uploading{color:var(--accent);background:#f8dfc1}.upload-queue-status.status-success{color:#3d6746;background:#e4efe1}.upload-queue-status.status-failed{color:#963d2d;background:#fae7df}.queue-remove{background:0 0;border-radius:50%;place-items:center;width:44px;min-width:44px;height:44px;display:grid}.queue-remove:hover:not(:disabled){color:var(--accent);background:#dd680910}.upload-queue-error{color:#963d2d;flex:1 0 100%;padding:0 8px 5px;font-size:12px}.upload-progress{border-left:2px solid var(--accent);color:var(--muted);background:#f2e7d6;padding:12px 14px;font-size:13px}.upload-queue-actions{flex-wrap:wrap;gap:10px;display:flex}.upload-queue-actions .submit-button{flex:170px;width:auto}.form-row{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;display:grid}.upload-form label,.time-field{flex-direction:column;gap:8px;min-width:0;font-size:14px;font-weight:500;display:flex;position:relative}.upload-form input:not([type=checkbox]):not([type=file]),.upload-form textarea,.time-field input{border:1px solid var(--control-line);width:100%;min-width:0;min-height:48px;color:var(--ink);background:var(--white);border-radius:7px;padding:12px;font-size:16px}.upload-form textarea{resize:vertical;max-height:180px}.optional{color:var(--muted);font-size:12px;font-weight:400;display:contents}.date-hint{color:var(--muted);font-size:12px;font-weight:400}.field-count{color:var(--muted);background:var(--white);padding:0 4px;font-size:11px;position:absolute;bottom:3px;right:8px}.upload-form .consent{color:var(--muted);cursor:pointer;flex-direction:row;align-items:flex-start;gap:10px;font-size:13px;font-weight:400;line-height:1.75}.consent input{width:19px;height:19px;accent-color:var(--accent);flex-shrink:0;margin:2px 0 0}.submit-button,.full-width{width:100%}.form-footnote{color:var(--muted);text-align:center;font-size:12px;line-height:1.8}.form-error{color:#963f24;background:#f9e1d6;border:1px solid #d9ad95;border-radius:7px;padding:12px;font-size:12px}.notice{color:#6c4c28;background:#f1e2c9;border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:18px;padding:14px;font-size:13px;line-height:1.8;display:flex}.notice svg{flex-shrink:0;margin-top:1px}.notification-art{width:80px;height:80px;color:var(--accent);background:var(--soft-orange);border:1px solid #c89b69;border-radius:50%;place-items:center;margin:20px auto 25px;display:grid;position:relative}.tiny-star{width:18px;height:18px;color:var(--brand);position:absolute;top:1px;right:-5px}.time-field{text-align:center;gap:12px;margin:23px 0}.reminder-time{color:var(--accent);font:400 38px/1.3 var(--serif);letter-spacing:-1px}.time-field small{color:var(--muted);font-size:13px;font-weight:400}.notification-message{background:#f4e6d2;border-radius:7px;margin-bottom:16px;padding:12px;font-size:14px}.full-width{margin-bottom:17px}.install-guide{background:#f1e6d4;border-radius:8px;margin-bottom:20px;padding:18px}.install-guide h3{font-size:14px}.install-guide ol{padding-left:20px;font-size:14px;line-height:1.9}.install-guide li{margin-top:7px}.install-guide li svg{vertical-align:middle;display:inline}.install-guide p{color:var(--muted);font-size:13px}.gallery-filter-form{flex-direction:column;gap:25px;margin-top:25px;display:flex}.filter-search-label{border:1px solid var(--control-line);background:var(--white);border-radius:8px;align-items:center;gap:10px;height:50px;padding:0 14px;display:flex}.filter-search-label input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:16px}.filter-search-label:focus-within{outline:3px solid var(--accent);outline-offset:3px}.tabs{gap:8px;display:flex}.tabs>button{border:1px solid var(--control-line);background:0 0;border-radius:30px;min-height:44px;padding:10px 18px;font-size:13px}.tabs>button.active{color:var(--white);background:var(--accent);border-color:var(--accent)}.filter-day-label{flex-direction:column;gap:10px;font-size:14px;display:flex}.filter-day-label>span{align-items:center;gap:8px;display:flex}.filter-day-label>input{border:1px solid var(--control-line);background:var(--white);min-height:48px;color:var(--ink);border-radius:7px;padding:10px 12px;font-size:14px}.filter-buttons{justify-content:space-between;align-items:center;gap:15px;display:flex}.example-link{color:var(--muted);align-self:center;font-size:13px}.modal-wide{background:#faf6ee;width:min(1120px,100% - 40px);padding:25px}.modal-wide .modal-top h2{font:500 14px var(--sans);letter-spacing:0}.lightbox{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:center;gap:30px;display:grid}.lightbox-image{background:#eae2d5;min-width:0}.lightbox-image>img{object-fit:contain;width:100%;max-height:74dvh}.lightbox-info{align-self:end;min-width:0;padding:15px 10px}.lightbox-info>div:first-child{flex-direction:column;gap:9px;display:flex}.lightbox-info strong{font:400 27px/1.4 var(--serif);overflow-wrap:anywhere}.lightbox-info>div>span{color:var(--muted);font-size:14px}.lightbox-info>p{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:22px 0 30px;font-size:15px}.lightbox-info>p:empty{margin-block:10px}.lightbox-actions{flex-direction:column;gap:18px;display:flex}.lightbox-actions>div{align-items:center;gap:6px;display:flex}.lightbox-actions .icon-button{border:1px solid var(--line)}.lightbox-actions small{color:var(--muted);margin-left:10px;font-size:12px}.lightbox-actions>.text-link{justify-content:flex-start;font-size:12px}.remove-photo{border-top:1px solid var(--line);margin-top:25px;padding-top:18px;font-size:14px}.remove-photo>div{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.remove-photo>.text-link{color:#963f24}.about-content{color:var(--muted);font-size:14px}.about-content>img{width:130px;margin:10px auto 20px}.about-content>p{margin-bottom:18px;line-height:1.95}.about-content h3{color:var(--ink);font:400 22px var(--serif);margin-top:25px}.about-content ul{margin-bottom:25px;padding-left:19px;font-size:13px;line-height:1.9}.about-content .button{width:100%;margin-bottom:18px;font-size:14px}.toast{z-index:160;background:var(--ink);width:max-content;max-width:calc(100% - 30px);color:var(--white);border-radius:35px;align-items:center;gap:12px;padding:11px 14px 11px 18px;font-size:14px;display:flex;position:fixed;bottom:105px;left:50%;transform:translate(-50%);box-shadow:0 8px 35px #3e2a1e26}.toast>svg{color:#f6b458;flex-shrink:0}.toast .icon-button{width:44px;color:var(--white)}.toast .icon-button:hover{background:#ffffff15}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes modal-arrival{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:none}}html:has(.community[data-motion=off]){scroll-behavior:auto}.community[data-motion=off] *,.community[data-motion=off] :before,.community[data-motion=off] :after{transition:none!important;animation:none!important}@media (max-width:1100px){.masthead-edition{display:none}.journey-introduction{max-width:30vw}.journey-introduction h1{font-size:4.8vw}.journey-introduction p{max-width:22.5vw}.journey-navigation{right:3vw}.journey-caption{max-width:32vw}.journey-bottom-note{display:none}.index-heading h1 br{display:block}.index-photos{gap:35px 25px}}@media (max-width:767px){.gallery-masthead{gap:10px;min-height:86px;padding:10px 16px}.masthead-brand{gap:8px}.masthead-brand>img{width:42px;height:55px}.masthead-brand small{letter-spacing:1.1px;font-size:9px}.masthead-brand strong{font-size:18px}.masthead-actions{gap:0}.reminder-chip{background:0 0;border:0;justify-content:center;width:44px;padding:10px}.reminder-chip>span{display:none}.journey-introduction{max-width:88vw;top:11svh;left:6vw}.journey-overline{letter-spacing:1.1px;margin-bottom:13px;font-size:10px}.journey-introduction h1{letter-spacing:-1.3px;font-size:clamp(34px,8.5vw,48px);line-height:1.05}.journey-introduction h1 br{display:none}.journey-introduction h1 em:before{content:" "}.journey-introduction p{max-width:none;margin-top:11px;font-size:13px;line-height:1.6}.journey-introduction p br,.journey-invitation{display:none}.journey-photo-plane{width:min(70vw,calc(44svh * var(--photo-aspect)));top:49%}.photo-button{padding:5px}.photo-open{opacity:1;width:32px;height:32px;bottom:7px;right:7px}.photo-open svg{width:16px}.photo-corner{width:11px;height:11px}.photo-corner-top{top:8px;left:8px}.photo-corner-bottom{bottom:8px;right:8px}.journey-caption{gap:3px;max-width:57vw;bottom:104px;left:6vw}.journey-caption-label{letter-spacing:1px;font-size:10px}.journey-caption strong{font-size:23px}.journey-caption time{font-size:11px}.journey-navigation{gap:6px;top:auto;bottom:105px;right:5vw}.journey-counter{gap:4px}.journey-counter strong{font-size:31px}.journey-counter>span{font-size:11px}.journey-track{display:none}.journey-navigation>div{flex-direction:row;gap:3px}.journey-arrow{width:44px;height:44px}.journey-end-invitation{max-width:88vw;min-height:44px;font-size:12px;top:16svh;bottom:auto;right:6vw}.gallery-dock{width:calc(100% - 24px);max-width:440px;bottom:calc(14px + env(safe-area-inset-bottom));gap:5px;padding:5px}.gallery-dock button{gap:8px;min-height:52px}.dock-side{flex:0 0 48px;width:48px;padding:10px}.dock-side>span{display:none}.dock-upload{flex:1;padding:12px 14px;font-size:14px}.dock-upload>svg:last-child{width:16px}.margin-footer{gap:5px 20px;width:calc(100% - 40px);font-size:12px}.margin-footer>span:first-child{width:100%}.margin-footer>span:last-child{display:none}.margin-footer>a{margin-top:0}.photo-index{width:calc(100% - 36px);padding-top:135px}.index-heading{margin-bottom:30px;display:block}.index-heading h1{letter-spacing:-1.5px;font-size:39px;line-height:1.12}.index-heading h1 br{display:none}.index-heading p{margin-top:20px;font-size:14px}.index-heading p span{display:none}.index-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 17px}.index-photo .photo-surface{width:calc(100% - 10px);height:calc(100% - 10px);inset:5px}.index-caption{gap:0 7px;padding-top:11px}.index-caption>span{font-size:17px}.index-caption h2{font-size:14px}.index-caption time{font-size:11px}.gallery-error,.active-filter,.illustration-notice{margin-top:84px;font-size:12px}.gallery-no-results h2{font-size:25px}.modal{border-radius:15px;width:calc(100% - 24px);max-height:calc(100dvh - 28px);padding:23px}.modal-top{gap:10px}.modal-top h2{font-size:24px}.modal-intro{margin-bottom:20px;font-size:14px}.dropzone{min-height:170px;padding:20px 12px}.dropzone>span:not(.upload-icon):not(.replace-photo){font-size:13px}.dropzone small{max-width:250px;font-size:11px}.form-row{grid-template-columns:1fr;gap:16px}.upload-form input:not([type=checkbox]):not([type=file]),.upload-form textarea,.filter-search-label input,.filter-day-label>input{font-size:16px}.upload-form .consent{font-size:13px}.form-footnote{font-size:12px}.reminder-time{font-size:31px}.tabs{gap:6px}.tabs>button,.filter-buttons .button{padding-inline:16px;font-size:13px}.modal-wide{padding:17px}.modal-wide .modal-top h2{font-size:13px;line-height:1.6}.lightbox{grid-template-columns:1fr;gap:12px}.lightbox-image>img{max-height:56dvh}.lightbox-info{padding:5px 3px}.lightbox-info>div:first-child{flex-direction:row;justify-content:space-between;align-items:baseline;gap:12px}.lightbox-info strong{font-size:22px}.lightbox-info>div>span{white-space:nowrap;font-size:12px}.lightbox-info>p{margin:13px 0 15px;font-size:14px}.lightbox-actions{flex-direction:row;justify-content:space-between;align-items:center;gap:10px}.lightbox-actions>.text-link{font-size:12px}.lightbox-actions small{margin-left:4px;font-size:11px}.about-content{font-size:14px}.toast{border-radius:15px;font-size:13px;bottom:96px}}@media (max-width:360px){.gallery-masthead{gap:5px;padding-inline:12px}.masthead-brand{gap:7px}.masthead-brand>img{width:40px;height:53px}.masthead-brand small{letter-spacing:.9px;font-size:9px}.masthead-brand strong{font-size:16px}.journey-introduction{top:11svh}.journey-caption strong{font-size:22px}.dock-upload{padding-inline:10px;font-size:13px}.dock-upload>svg:last-child{display:none}.modal{padding:19px}.modal-top h2{font-size:22px}.lightbox-info>div:first-child{flex-direction:column;gap:3px}.lightbox-actions{flex-wrap:wrap}}@media (max-width:350px){.index-photos{grid-template-columns:minmax(0,1fr);gap:24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media (max-width:767px) and (max-height:740px){.photo-journey{--journey-y-unit:.4svh}.journey-introduction{top:96px}.journey-overline{letter-spacing:.8px;margin-bottom:10px;font-size:9px}.journey-introduction h1{font-size:30px}.journey-introduction p{margin-top:10px}.journey-photo-plane{width:min(70vw,calc(28svh * var(--photo-aspect)));top:52.5%}}
