:root{color-scheme:dark;--muted:#a6a6ae;--blue:#0071e3}*{box-sizing:border-box}body{margin:0;background:#090a0c;color:#f5f5f7;font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}a{color:inherit}header{max-width:1200px;margin:auto;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}header>span{font-size:.75rem;color:var(--muted)}.brand{font-size:1.6rem;font-weight:750;letter-spacing:-.07em;text-decoration:none}.brand span{font-size:.95rem;font-weight:500;margin-left:.35rem}main{max-width:1200px;margin:auto;padding:3rem 2rem 5rem}#access{max-width:700px;margin:3rem auto;text-align:center}.eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}h1{font-size:clamp(2.7rem,7vw,5.5rem);line-height:1.05;letter-spacing:-.06em;margin:1.5rem 0}h1 span{color:#93949d}.copy{max-width:400px;margin:1.5rem auto;color:var(--muted)}form{max-width:420px;margin:2rem auto}label{display:block;text-align:left;font-size:.85rem;margin-bottom:.5rem}input{width:100%;background:#18191e;border:1px solid #494a52;border-radius:12px;padding:1rem;color:white;font:inherit;font-size:16px}button{min-height:48px;padding:.8rem 1.5rem;border:0;border-radius:99px;background:var(--blue);color:white;font:inherit;cursor:pointer}form button{width:100%;margin-top:1rem}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8dc7ff;outline-offset:4px}.secondary{background:#24252c;font-size:.85rem}.gallery-heading{margin-bottom:3rem}.gallery-heading h1{font-size:clamp(2.5rem,6vw,4.5rem)}#count,#message,#gallery-message{color:var(--muted)}#grid{columns:3;column-gap:1rem}#grid button{display:block;break-inside:avoid;width:100%;padding:0;margin:0 0 1rem;background:#18191e;border-radius:12px;overflow:hidden;text-align:left}#grid img{display:block;width:100%;height:auto;min-height:120px}#grid span{display:block;padding:.7rem 1rem;font-size:.75rem}#more{display:block;margin:2rem auto}#more[hidden],[hidden]{display:none!important}dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;border:0;margin:0;padding:1rem;background:#090a0c;color:white}dialog[open]{display:flex;flex-direction:column;align-items:center}dialog::backdrop{background:#090a0c}.viewer-tools,.viewer-nav{display:flex;align-items:center;justify-content:space-between;width:100%;gap:1rem}.viewer-tools a{color:#8dc7ff}#full{display:block;min-height:0;max-height:calc(100dvh - 180px);max-width:100%;object-fit:contain;margin:auto}#caption{font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}.viewer-nav button,.viewer-tools button{background:#24252c;font-size:.8rem}footer{text-align:center;color:var(--muted);font-size:.8rem;padding:2rem;border-top:1px solid #25262b}footer a{display:inline-block;margin-top:1rem;color:#8dc7ff}@media(max-width:700px){header{padding:1.2rem}main{padding:2rem 1rem 3rem}#access{margin:1.5rem auto}#grid{columns:2;column-gap:.6rem}#grid button{margin-bottom:.6rem}.viewer-nav{gap:.4rem}.viewer-nav button{padding:.7rem}#caption{max-width:35%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
:root{color-scheme:light;--muted:#62666d}body{background:#fff;color:#18191c}h1 span{color:#6e737b}header{border-bottom:1px solid #eceef0}input{background:#f8f9fb;border-color:#d2d6dc;color:#18191c;margin-bottom:1rem}.secondary,.viewer-nav button,.viewer-tools button{background:#eef0f3;color:#23262c}#grid button{background:#f4f5f7;color:#30343a}dialog,dialog::backdrop{background:#fff;color:#18191c}.viewer-tools a,footer a{color:#0071e3}footer{border-color:#eceef0}


#print-panel{background:#f8f9fb;border:1px solid #ddd;border-radius:18px;padding:1.5rem;margin:2rem 0}#print-form{margin:1rem 0;max-width:600px}select{padding:.8rem;border:1px solid #ccc;border-radius:10px;background:white;color:#18191c;font:inherit;width:100%;margin:.7rem 0}.selection-preview{max-width:180px;max-height:180px;object-fit:contain;border-radius:10px;margin:1rem 0}
#download-all:not([hidden]){display:inline-block;margin:0 .6rem .6rem 0;padding:.8rem 1.2rem;border-radius:999px;background:#762047;color:white;text-decoration:none;font-weight:700}
.birthday-gallery .gallery-heading{background:#fff0f6;border:1px solid #f6c8d9;padding:clamp(1.25rem,5vw,3.5rem);border-radius:1.25rem;margin-bottom:2rem}
.birthday-gallery .gallery-heading h1{color:#762047}
.story-cover,.story-photo{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.story-photo img{display:block;width:100%;height:auto;border-radius:.6rem}
.story-cover{max-width:54rem;margin:0 auto 3rem}
.story-chapter{padding:clamp(1.25rem,4vw,2.7rem);margin:0 0 2rem;border-radius:1rem;background:#fff0f6}
.story-chapter:nth-of-type(even){background:#fff5d9}
.story-chapter h2{margin:0;color:#762047;font-size:clamp(1.8rem,5vw,3.25rem)}
.story-chapter p{margin:.35rem 0 1.1rem}
.story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.5rem,2vw,1.2rem);align-items:center}
.story-grid .story-photo:last-child:nth-child(odd){grid-column:1 / -1;max-width:66%;justify-self:center}
#full-gallery-title:not([hidden]){margin:3rem 0 1rem}
@media(max-width:540px){.story-grid{grid-template-columns:1fr}.story-grid .story-photo:last-child:nth-child(odd){max-width:100%}}
