@import"https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,400;0,700;1,400&family=Plus+Jakarta+Sans:wght@400;600&display=swap";:root{--primary: #735c00;--secondary: #7e525c;--surface: #fff8f7;--on-surface: #1f1a1b;--outline-variant: #d0c5af;--top-nav-h: 3.35rem;--bottom-nav-h: 4.15rem;--tap-min: 2.75rem;--wedding-bg: url(/wedding-bg.png)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Plus Jakarta Sans,system-ui,sans-serif;background-color:var(--surface);color:var(--on-surface);padding-bottom:env(safe-area-inset-bottom,0px);overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background-color:var(--surface);background-image:var(--wedding-bg);background-repeat:no-repeat;background-position:center top;background-size:cover;pointer-events:none}a,button{-webkit-tap-highlight-color:transparent}.page-shell{min-height:100vh}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 24}.top-nav{position:fixed;top:0;left:0;right:0;z-index:20;padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);background:#fafaf9eb;border-bottom:1px solid rgba(217,119,6,.2)}.top-nav-inner{max-width:1120px;margin:0 auto;min-height:var(--top-nav-h);display:flex;align-items:center;justify-content:center;padding:.4rem .85rem}.brand{font-family:"Noto Serif",serif;font-size:1.25rem;font-style:italic;letter-spacing:0;line-height:1.2;min-width:0;text-align:center}.main-wrap{padding-top:calc(env(safe-area-inset-top,0px) + var(--top-nav-h) + 1.25rem);padding-left:max(.85rem,env(safe-area-inset-left,0px));padding-right:max(.85rem,env(safe-area-inset-right,0px));padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px) + 1rem);max-width:980px;margin:0 auto}@media (min-width: 768px){:root{--top-nav-h: 3.75rem;--bottom-nav-h: 4.35rem}.top-nav-inner{justify-content:flex-start;padding:.5rem 2rem}.brand{font-size:1.5rem}.main-wrap{padding-top:calc(env(safe-area-inset-top,0px) + var(--top-nav-h) + 2rem);padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px));padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px) + 1.5rem)}}.header{text-align:center;margin-bottom:1.5rem}.header h1{font-family:"Noto Serif",serif;font-size:2rem;line-height:1.08;color:var(--primary);margin:0 0 .85rem}.header p{color:var(--secondary);max-width:720px;margin:0 auto;font-size:1rem;font-style:italic;line-height:1.55}.content-grid{display:grid;gap:1rem}@media (min-width: 768px){.header{margin-bottom:3.25rem}.header h1{font-size:3.4rem}.header p{font-size:1.1rem;line-height:1.65}.content-grid{grid-template-columns:5fr 7fr;gap:2.5rem}}.hero-image-wrap{display:none}@media (min-width: 768px){.hero-image-wrap{display:block}}.hero-image-wrap{border-radius:.75rem;overflow:hidden;box-shadow:0 18px 40px #7e525c29;aspect-ratio:4 / 5}.hero-image-wrap img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15)}.panel{background:#fff;border-radius:.75rem;padding:1rem;border:1px solid #f5f5f4;box-shadow:0 12px 28px #0000000f}.form-stack{display:grid;gap:1.15rem}@media (min-width: 768px){.panel{padding:2rem}.form-stack{gap:1.5rem}}.field label,.camera-first label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}input[type=text],input[type=password],input[type=file]{width:100%;font:inherit}input[type=text],input[type=password]{border:0;border-bottom:2px solid var(--outline-variant);border-radius:0;padding:.85rem .7rem;background:#fcf1f1;font-size:1rem;min-height:var(--tap-min)}.upload-picker{position:relative;border:1px solid rgba(126,82,92,.18);border-radius:.75rem;padding:.9rem;background:#fff8f7;touch-action:manipulation}.upload-picker--busy{opacity:.8}.upload-picker-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.85rem}.upload-picker-icon{margin:0;flex-shrink:0}.upload-actions{display:grid;grid-template-columns:1fr;gap:.55rem}.upload-action{border:1px solid rgba(126,82,92,.22);border-radius:.75rem;background:#fff;color:var(--secondary);min-height:3.35rem;padding:.75rem .85rem;font:inherit;font-weight:700;line-height:1.2;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 6px 14px #7e525c14}.upload-action .material-symbols-outlined{font-size:1.35rem}.upload-action--primary{background:var(--secondary);color:#fff;border-color:var(--secondary)}.upload-action:disabled{opacity:.62;cursor:wait}.upload-action:not(:disabled):hover,.upload-action:not(:disabled):focus-visible{border-color:var(--secondary);box-shadow:0 8px 18px #7e525c24}.hidden-file-input{display:none}.icon-circle{width:54px;height:54px;border-radius:999px;margin:0 auto .8rem;background:#ffc6d0;color:#7b4f59;display:grid;place-items:center}.icon-circle .material-symbols-outlined{font-size:30px}.drop-title{margin:0;font-family:"Noto Serif",serif;font-size:1.05rem;line-height:1.25;color:var(--primary)}.drop-sub{margin:.3rem 0 0;color:#666;font-style:italic;line-height:1.4}.drop-meta{margin:.8rem 0 0;font-size:.68rem;color:#6b7280;letter-spacing:.04em;text-transform:uppercase;line-height:1.35;text-align:center}@media (min-width: 520px){.upload-picker{padding:1.15rem}.upload-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 768px){.icon-circle{width:64px;height:64px}.drop-title{font-size:1.2rem}.drop-meta{font-size:.72rem}}.upload-checking{margin:-.25rem 0 0;color:var(--secondary);font-size:.9rem;font-weight:600;display:inline-flex;align-items:center;gap:.35rem}.upload-checking .material-symbols-outlined{font-size:1.1rem}.upload-summary{display:grid;gap:.75rem;padding:.65rem .75rem;border-radius:.75rem;background:#f8fafc;color:#334155;font-weight:700;font-size:.9rem}.upload-summary-actions{display:grid;gap:.5rem}.upload-summary-actions .submit-btn{margin:0}.upload-clear{width:100%;border:0;border-radius:999px;background:#ffdad6;color:#93000a;min-height:2.25rem;padding:.45rem .75rem;font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}.upload-clear:disabled{opacity:.62;cursor:wait}@media (min-width: 520px){.upload-summary{grid-template-columns:minmax(0,1fr) minmax(12rem,16rem);align-items:center}}.photo-list{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.5rem}.photo-list li{display:flex;align-items:center;gap:.75rem;background:#fcf1f1;border-radius:10px;padding:.6rem;flex-wrap:wrap}.photo-list img,.photo-list video{width:56px;height:56px;object-fit:cover;border-radius:8px;flex-shrink:0;background:#0a0a0a}.photo-list .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.remove{border:0;border-radius:8px;padding:.55rem .85rem;min-height:var(--tap-min);background:#ffdad6;color:#93000a;cursor:pointer;font-size:.9rem;margin-left:auto}@media (max-width: 479px){.photo-list li{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center}.remove{grid-column:1 / -1;width:100%;margin-left:0}}.btn-primary{border:0;border-radius:999px;background:var(--secondary);color:#fff;font-weight:600;padding:.85rem 1.25rem;min-height:var(--tap-min);cursor:pointer;font-size:1rem;line-height:1.2;text-align:center}.btn-primary--submit-camera{width:100%}.camera-btn{width:100%;margin-bottom:.5rem;border:0;border-radius:999px;background:var(--secondary);color:#fff;font-weight:600;padding:.85rem 1rem;min-height:var(--tap-min);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-size:1rem;line-height:1.2;text-align:center}.hidden-camera-input{display:none}.message{margin:0 0 1rem;padding:.75rem;border-radius:8px}.message.success{background:#ecfdf5;color:#065f46}.message.error{background:#fef2f2;color:#991b1b}.submit-btn{width:100%;border:0;border-radius:999px;background:var(--secondary);color:#fff;font-weight:600;font-size:1rem;padding:1rem;min-height:3rem;cursor:pointer;line-height:1.2}.submit-btn:disabled{opacity:.7;cursor:wait}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);background:#fafaf9eb;border-top:1px solid rgba(217,119,6,.2)}.bottom-nav-inner{max-width:1120px;margin:0 auto;min-height:var(--bottom-nav-h);padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem}.bottom-nav-link{color:#78716c;text-decoration:none;min-height:var(--tap-min);padding:.2rem .35rem;border-radius:.65rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;min-width:0}.bottom-nav-link:hover,.bottom-nav-link:focus-visible{color:var(--secondary);background:#735c0014}.bottom-nav-link--active{color:var(--primary)}.bottom-nav-link--active .bottom-nav-icon{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.bottom-nav-icon{font-size:1.45rem;line-height:1}.bottom-nav-label{font-size:.62rem;font-weight:700;line-height:1.1;text-align:center;max-width:5.5rem}@media (min-width: 768px){.bottom-nav-label{font-size:.78rem}}.brand-link{text-decoration:none;color:inherit;padding:.2rem .35rem;border-radius:.35rem;min-height:var(--tap-min);display:inline-flex;align-items:center;justify-content:center}.header-gallery-cta{margin-top:1.25rem;margin-bottom:0}.header-gallery-cta a{color:var(--secondary);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(126,82,92,.35);padding:.35rem .25rem;display:inline-block;min-height:var(--tap-min);line-height:1.5}.header-gallery-cta a:hover{color:var(--primary)}.main-wrap--wide{max-width:1100px}.header--compact{margin-bottom:1.5rem}.header--compact h1{font-size:1.8rem}@media (min-width: 768px){.header--compact{margin-bottom:2rem}.header--compact h1{font-size:2.5rem}}.gallery-main,.approve-main{padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px) + 1rem)}.gallery-status{text-align:center;color:#57534e;font-style:italic}.gallery-status--error{color:#991b1b;font-style:normal}.main-wrap.gallery-main--feed{max-width:none;width:100%;margin:0;padding-left:max(0px,env(safe-area-inset-left,0px));padding-right:max(0px,env(safe-area-inset-right,0px))}.gallery-main--pull{overscroll-behavior-y:contain;touch-action:pan-y}.gallery-pull-indicator{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.35rem;max-width:27.5rem;margin:0 auto;overflow:hidden;pointer-events:none}.gallery-pull-spinner{width:1.65rem;height:1.65rem;border:2px solid #e7e5e4;border-top-color:var(--secondary);border-radius:50%;flex-shrink:0}.gallery-pull-spinner--spin{animation:gallery-pull-spin .65s linear infinite}@keyframes gallery-pull-spin{to{transform:rotate(360deg)}}.gallery-pull-label{font-size:.78rem;font-weight:600;color:#78716c;padding-bottom:.15rem}.gallery-pull-body{will-change:transform}.gallery-feed__intro{max-width:27.5rem;margin:0 auto 1.25rem;padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px))}.gallery-feed__intro .header--compact{margin-bottom:1.25rem}.ig-feed{width:100%;max-width:27.5rem;margin:0 auto 1.25rem}.ig-post{background:#fff;border-top:1px solid #dbdbdb;margin-bottom:2.25rem}.ig-post:last-child{margin-bottom:0}.ig-post:first-child{border-top:none}.ig-post__header{display:flex;align-items:center;gap:.75rem;padding:.7rem max(.75rem,env(safe-area-inset-left,0px)) .65rem max(.75rem,env(safe-area-inset-right,0px))}.ig-post__avatar{width:2.125rem;height:2.125rem;min-width:2.125rem;border-radius:50%;background:linear-gradient(135deg,#f472b6,#a78bfa);color:#fff;font-weight:700;font-size:.88rem;font-family:Plus Jakarta Sans,system-ui,sans-serif;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #ffffff40}.ig-post__user{font-weight:600;font-size:.92rem;color:#262626;letter-spacing:-.01em}.ig-post__media{width:100%;background:#0a0a0a;display:flex;align-items:center;justify-content:center;min-height:12rem}.ig-post__media img{width:100%;height:auto;max-height:min(88vh,52rem);object-fit:contain;display:block}.ig-post__media video{width:100%;height:auto;max-height:min(88vh,52rem);object-fit:contain;display:block;background:#0a0a0a}.gallery-infinite-sentinel{max-width:27.5rem;margin:0 auto;min-height:1px;padding:1.5rem max(1rem,env(safe-area-inset-left,0px)) .5rem max(1rem,env(safe-area-inset-right,0px));text-align:center}.approve-token-bar{margin-bottom:1.5rem}.approve-token-label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}.approve-token-hint{margin:0 0 1rem;font-size:.88rem;color:#57534e;line-height:1.5}.approve-admin-title{margin:0 0 .35rem;font-weight:700;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;color:var(--primary)}.approve-password-label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}.approve-token-form{margin:0}.approve-token-row{display:flex;flex-direction:column;gap:.75rem;align-items:stretch}.approve-token-row--with-toggle{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:center}@media (max-width: 519px){.approve-token-row--with-toggle{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.approve-token-row--with-toggle input{grid-column:1 / -1}.approve-token-row--with-toggle .approve-show-secret,.approve-token-row--with-toggle .btn-primary{min-width:0;padding-left:.55rem;padding-right:.55rem}}@media (min-width: 520px){.approve-token-row:not(.approve-token-row--with-toggle){flex-direction:row;flex-wrap:wrap;align-items:center}}.approve-token-row input[type=password],.approve-token-row input[type=text]{width:100%;min-width:0;border:0;border-bottom:2px solid var(--outline-variant);padding:.85rem .7rem;background:#fcf1f1;font:inherit;font-size:1rem;min-height:var(--tap-min)}.approve-show-secret{border:1px solid var(--outline-variant);border-radius:999px;padding:.5rem .85rem;min-height:var(--tap-min);font-weight:600;font-size:.85rem;cursor:pointer;background:#fff;color:var(--secondary);white-space:nowrap}.approve-token-clear{margin:.75rem 0 0}.approve-link-btn{border:0;background:none;padding:0;font:inherit;font-size:.88rem;font-weight:600;color:var(--secondary);text-decoration:underline;cursor:pointer}.approve-link-btn:hover{color:var(--primary)}@media (min-width: 520px){.approve-token-row input[type=password],.approve-token-row input[type=text]{flex:1;min-width:0;width:auto}}.approve-actions{margin-bottom:1.25rem}.approve-settings{margin-bottom:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.approve-settings-copy{min-width:0}.approve-settings-copy h2{margin:0 0 .25rem;font-size:1rem;color:var(--primary)}.approve-settings-copy p{margin:0;color:#57534e;font-size:.9rem;line-height:1.45}.approve-switch{display:inline-flex;align-items:center;gap:.65rem;font-weight:700;color:var(--secondary);cursor:pointer;flex-shrink:0}.approve-switch input{position:absolute;opacity:0;width:1px;height:1px}.approve-switch-track{width:3.4rem;height:1.8rem;border-radius:999px;background:#d6d3d1;padding:.2rem;display:inline-flex;align-items:center;transition:background-color .16s ease}.approve-switch-thumb{width:1.4rem;height:1.4rem;border-radius:50%;background:#fff;box-shadow:0 2px 5px #00000038;transition:transform .16s ease}.approve-switch input:checked+.approve-switch-track{background:var(--secondary)}.approve-switch input:checked+.approve-switch-track .approve-switch-thumb{transform:translate(1.6rem)}.approve-switch input:focus-visible+.approve-switch-track{outline:3px solid rgba(126,82,92,.28);outline-offset:3px}.approve-switch input:disabled+.approve-switch-track{opacity:.65}.approve-switch-label{min-width:5rem;font-size:.9rem}@media (max-width: 639px){.approve-settings{align-items:flex-start;flex-direction:column}.approve-switch{width:100%;justify-content:space-between}}.approve-actions .btn-primary{width:100%}.approve-section-title{font-family:"Noto Serif",serif;font-size:1.1rem;color:var(--primary);margin:0 0 1rem}.approve-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,148px),1fr));gap:.85rem}@media (min-width: 768px){.approve-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}}.approve-card{background:#fff;border-radius:.75rem;border:1px solid #f5f5f4;padding:.65rem;box-shadow:0 8px 20px #0000000d;display:flex;flex-direction:column;gap:.5rem}.approve-thumb{aspect-ratio:1;border-radius:.5rem;overflow:hidden;background:#e7e5e4;display:grid;place-items:center}.approve-thumb img,.approve-thumb video{width:100%;height:100%;object-fit:cover;display:block}.approve-thumb-placeholder{color:#a8a29e;font-size:1.5rem}.approve-uploader{margin:0;font-size:.82rem;font-weight:600;color:var(--on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.approve-one-btn{border:0;border-radius:999px;padding:.65rem .85rem;min-height:var(--tap-min);font-weight:600;font-size:.95rem;cursor:pointer;background:var(--secondary);color:#fff;line-height:1.2;text-align:center}.approve-one-btn:disabled{opacity:.6;cursor:wait}.approve-card-actions{display:grid;gap:.4rem}.approve-hide-btn,.approve-restore-btn{border:0;border-radius:999px;padding:.55rem .75rem;min-height:2.5rem;font-weight:600;font-size:.85rem;cursor:pointer;line-height:1.2;text-align:center;width:100%}.approve-hide-btn{background:#ffdad6;color:#93000a}.approve-restore-btn{background:#ecfdf5;color:#065f46}.approve-hide-btn:disabled,.approve-restore-btn:disabled{opacity:.6;cursor:wait}.approve-card--hidden{opacity:.88}@media (max-width: 399px){.approve-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.approve-card{padding:.5rem}.approve-one-btn{padding-left:.45rem;padding-right:.45rem;font-size:.84rem}}.approve-banner{margin-bottom:1rem}.approve-main--locked .approve-gate-header h1{font-family:"Noto Serif",serif;color:var(--primary)}.approve-gate-panel{max-width:24rem;margin-left:auto;margin-right:auto}.approve-gate-hint{opacity:.85}.approve-main--unlocked .approve-token-clear{margin-top:.5rem}.my-photos-main .header--compact{margin-bottom:1.5rem}.my-photos-note{font-size:.95rem;color:var(--secondary);font-style:italic;line-height:1.55;max-width:36rem;margin:.5rem auto 0}@media (min-width: 768px){.my-photos-note{font-size:1rem}}.my-photos-grid{list-style:none;padding:0;margin:0;display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width: 480px){.my-photos-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 900px){.my-photos-grid{grid-template-columns:repeat(3,1fr)}}.my-photos-card{background:#fff;border-radius:.9rem;border:1px solid #f5f5f4;box-shadow:0 8px 20px #0000000d;overflow:hidden;display:flex;flex-direction:column}.my-photos-thumb{aspect-ratio:1;background:#0a0a0a;display:flex;align-items:center;justify-content:center}.my-photos-thumb img,.my-photos-thumb video{width:100%;height:100%;object-fit:contain;display:block}.my-photos-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem .35rem}.my-photos-name{font-weight:600;font-size:.88rem;color:var(--on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.my-photos-badge{flex-shrink:0;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .45rem;border-radius:6px;background:#fef3c7;color:#92400e}.my-photos-badge--ok{background:#d1fae5;color:#065f46}.my-photos-delete{margin:0 .75rem .75rem;border:0;border-radius:999px;padding:.65rem 1rem;min-height:var(--tap-min);font-weight:600;font-size:.9rem;cursor:pointer;background:#ffdad6;color:#93000a}.my-photos-delete:disabled{opacity:.65;cursor:wait}
