@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/459ba3e7ebcd29d3-s.00y8kskkn0hyx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fdbf446d127afa2d-s.1xjn85gt7t6qs.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b57845f0cf557e59-s.1xtu7gopqv2u0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9eff0a3f1ba11d74-s.3aak_kra40y8r.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6f3ab718e3727c1a-s.p.3huc2loe0ie8a.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:500;font-display:swap;src:url(../media/459ba3e7ebcd29d3-s.00y8kskkn0hyx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fdbf446d127afa2d-s.1xjn85gt7t6qs.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b57845f0cf557e59-s.1xtu7gopqv2u0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9eff0a3f1ba11d74-s.3aak_kra40y8r.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6f3ab718e3727c1a-s.p.3huc2loe0ie8a.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:600;font-display:swap;src:url(../media/459ba3e7ebcd29d3-s.00y8kskkn0hyx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fdbf446d127afa2d-s.1xjn85gt7t6qs.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b57845f0cf557e59-s.1xtu7gopqv2u0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9eff0a3f1ba11d74-s.3aak_kra40y8r.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6f3ab718e3727c1a-s.p.3huc2loe0ie8a.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 Fallback;src:local(Times New Roman);ascent-override:95.27%;descent-override:29.59%;line-gap-override:0.0%;size-adjust:96.98%}._2DqqjG_className{font-family:Cormorant Garamond,Cormorant Garamond Fallback;font-style:normal}._2DqqjG_variable{--font-serif:"Cormorant Garamond", "Cormorant Garamond Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/46a9e2f250689b4a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/76b70a1dbe058eb5-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2fb76073e23fd9e4-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6131cbbf5549afa2-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/45462fd7b7c12654-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ba63f6a0e436df8e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/07c7676b89ed2778-s.p.2bn3s6zvc0dyp.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.f4k-Ea_className{font-family:Inter,Inter Fallback;font-style:normal}.f4k-Ea_variable{--font-sans:"Inter", "Inter Fallback"}
:root{--bg:#faf9f7;--surface:#fff;--text:#1c1b19;--muted:#74706a;--line:#e6e2dc;--accent:#8a6a3f;--danger:#b3261e;--ok:#2e7d32;--radius:10px}@media (prefers-color-scheme:dark){:root{--bg:#111110;--surface:#1b1a19;--text:#ecebe8;--muted:#9a958e;--line:#2c2a28;--accent:#c9a46c;--danger:#ef6b62;--ok:#7cc47f}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans), system-ui, sans-serif;flex-direction:column;min-height:100vh;font-size:16px;line-height:1.5;display:flex}main{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:0 24px 64px}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--font-serif), Georgia, serif;font-weight:500;line-height:1.15}h1{margin:.2em 0;font-size:clamp(2rem,5vw,3.4rem)}h2{margin:2em 0 .6em;font-size:1.6rem}h3{margin:0;font-size:1.3rem}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center;padding:48px 0}.grow{flex:1;min-width:0}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.back{margin-top:24px;font-size:.9rem;display:inline-block}.header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:1400px;margin:0 auto;padding:20px 24px;display:flex}.brand{font-family:var(--font-serif), serif;letter-spacing:.02em;font-size:1.6rem}.nav{flex-wrap:wrap;align-items:center;gap:22px;font-size:.95rem;display:flex}.nav a,.linklike{color:var(--muted);transition:color .15s}.nav a:hover,.linklike:hover{color:var(--text)}.linklike{font:inherit;cursor:pointer;text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);background:0 0;border:0;padding:0}.nav .linklike{text-decoration:none}.footer{text-align:center;color:var(--muted);padding:32px;font-size:.85rem}.hero{text-align:center;padding:56px 0 40px}.hero.small{padding:16px 0 28px}.hero p{max-width:640px;margin:0 auto}.album-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px;display:grid}.album-card{display:block}.album-cover{aspect-ratio:4/3;background:var(--line);border-radius:var(--radius);place-items:center;display:grid;overflow:hidden}.album-cover img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.album-card:hover .album-cover img{transform:scale(1.03)}.album-meta{justify-content:space-between;align-items:baseline;gap:8px;padding:10px 2px;display:flex}.photo-grid{columns:3 300px;column-gap:12px}.photo-tile{cursor:zoom-in;background:var(--line);break-inside:avoid;border:0;border-radius:4px;width:100%;margin:0 0 12px;padding:0;display:block;overflow:hidden}.photo-tile img{object-fit:cover;width:100%;height:100%;display:block}.lightbox{z-index:50;background:#080808f5;flex-direction:column;justify-content:center;align-items:center;padding:48px 16px;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;max-width:100%;max-height:calc(100vh - 120px)}.lightbox-caption{color:#ddd;text-align:center;margin:12px 0 0}.lb-btn{color:#eee;cursor:pointer;opacity:.75;background:0 0;border:0;padding:12px 18px;font-size:2.6rem;line-height:1;position:absolute}.lb-btn:hover{opacity:1}.lb-close{top:8px;right:8px}.lb-prev{top:50%;left:4px;transform:translateY(-50%)}.lb-next{top:50%;right:4px;transform:translateY(-50%)}.lb-count{color:#aaa;font-size:.85rem;position:absolute;bottom:14px}.panel{max-width:960px;margin:0 auto}.panel.narrow{max-width:420px;padding-top:32px}.form{gap:14px;max-width:520px;display:grid}.form.inline{flex-wrap:wrap;align-items:center;max-width:none;display:flex}.form.inline input[name=title]{flex:1;min-width:220px}label{color:var(--muted);gap:6px;font-size:.9rem;display:grid}label.check{color:var(--text);align-items:center;gap:8px;display:flex}input:not([type=checkbox]),textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;width:100%;padding:10px 12px}.row input:not([type=checkbox]){flex:1;width:auto;min-width:140px}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.btn{font:inherit;cursor:pointer;border:1px solid var(--text);background:var(--text);color:var(--bg);white-space:nowrap;border-radius:8px;padding:10px 18px;display:inline-block}.btn:disabled{opacity:.6;cursor:wait}.btn.secondary{color:var(--text);border-color:var(--line);background:0 0}.btn.danger{color:var(--danger);border-color:var(--danger);background:0 0}.btn.small{padding:6px 12px;font-size:.85rem}.danger{color:var(--danger)!important}.error{color:var(--danger);margin:0}.ok{color:var(--ok);margin:0}.admin-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.admin-list li{border-bottom:1px solid var(--line)}.admin-album,.user-row{flex-wrap:wrap;align-items:center;gap:14px;padding:12px 4px;display:flex}.admin-thumb{background:var(--line);border-radius:6px;flex-shrink:0;width:64px;height:48px;overflow:hidden}.admin-thumb img{object-fit:cover;width:100%;height:100%}.badge{border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:3px 8px;font-size:.75rem}.badge.private{border-color:var(--accent);color:var(--accent)}.badge.cover{background:var(--surface);color:var(--text);position:absolute;top:6px;left:6px}.admin-photos{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;display:grid}.admin-photo{gap:6px;display:grid;position:relative}.admin-photo img{aspect-ratio:1;object-fit:cover;background:var(--line);border-radius:6px;width:100%}.caption-form input{padding:6px 8px;font-size:.85rem}.dropzone{border:2px dashed var(--line);border-radius:var(--radius);text-align:center;background:var(--surface);padding:28px}.dropzone p{margin:4px 0}.progress{background:var(--line);border-radius:99px;height:28px;margin-top:16px;position:relative;overflow:hidden}.progress div{background:var(--accent);opacity:.45;transition:width .3s;position:absolute;inset:0 auto 0 0}.progress span{font-size:.85rem;line-height:28px;position:relative}.dropzone ul{text-align:left}@media (max-width:600px){main{padding:0 16px 48px}.header{padding:16px}.photo-grid{columns:2 140px;column-gap:8px}.photo-tile{margin-bottom:8px}}
