@font-face{font-family:Cormorant Garamond;src:url(/assets/fonts/CormorantGaramond-Regular.ttf) format("truetype");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:Cormorant Garamond;src:url(/assets/fonts/CormorantGaramond-SemiBold.ttf) format("truetype");font-display:swap;font-style:normal;font-weight:600}@font-face{font-family:Amiri;src:url(/assets/fonts/Amiri-Regular.ttf) format("truetype");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:Amiri;src:url(/assets/fonts/Amiri-Bold.ttf) format("truetype");font-display:swap;font-style:normal;font-weight:700}:root{color:#2e352b;background:#faf6ec;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ivory: #faf6ec;--paper: #fffcf5;--sage: #627458;--sage-dark: #34432f;--sage-soft: #e7ece2;--ink: #2e352b;--muted-ink: #6e7468;--warm-line: #dcd5c7;--warm-gold: #a98d63;--error: #8e4b42;--error-soft: #f5e9e4;--button-sage: #5e6954}*{box-sizing:border-box}html{min-inline-size:320px;background:var(--ivory)}body{min-block-size:100vh;min-block-size:100dvh;margin:0;overflow-x:hidden;background:radial-gradient(ellipse 90px 34px at 0 145px,rgb(98 116 88 / 8%),transparent 72%),radial-gradient(ellipse 72px 25px at 26px 205px,rgb(98 116 88 / 7%),transparent 72%),radial-gradient(ellipse 100px 35px at 100% calc(100% - 85px),rgb(98 116 88 / 8%),transparent 72%),var(--ivory)}body:before,body:after{position:fixed;z-index:0;inline-size:1px;block-size:145px;background:#62745821;content:"";pointer-events:none;transform:rotate(-28deg);transform-origin:top}body:before{inset-block-start:94px;inset-inline-start:18px}body:after{inset-block-end:48px;inset-inline-end:18px;transform:rotate(152deg)}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}[dir=rtl] body{font-family:Amiri,Noto Naskh Arabic,serif}#app{position:relative;z-index:1}.page{padding:max(8px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(48px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.content{inline-size:min(100%,820px);margin-inline:auto;text-align:center}.language-row{display:flex;justify-content:flex-end}.language-switcher{display:flex;align-items:center;overflow:hidden;border:1px solid var(--warm-line);border-radius:999px;background:#fffcf5c7;padding-inline:4px}.language-button{min-inline-size:48px;min-block-size:42px;border:0;background:transparent;color:var(--muted-ink);cursor:pointer;font-size:13px;padding-inline:12px}.language-button.selected{color:var(--sage-dark);font-weight:700}.language-button:focus-visible,.action-button:focus-visible,.guestbook-shortcut:focus-visible,.remove-button:focus-visible,.native-media-picker:focus-visible,.guestbook-input:focus-visible,.admin-input:focus-visible,.admin-primary-button:focus-visible,.admin-secondary-button:focus-visible{outline:3px solid rgb(98 116 88 / 35%);outline-offset:2px}.language-divider{inline-size:1px;block-size:18px;background:var(--warm-line)}.top-space{block-size:16px}.main-heading{margin:0;color:var(--ink);font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(22px,7vw,29px);font-weight:600;letter-spacing:2.5px;line-height:1.25}[dir=rtl] .main-heading{font-family:Amiri,serif;font-weight:400;letter-spacing:0}.hero-frame{inline-size:clamp(132px,40%,200px);margin:24px auto;border:1px solid var(--warm-line);border-radius:14px;background:var(--paper);padding:8px}.hero-image{display:block;inline-size:100%;block-size:auto;border-radius:8px;aspect-ratio:4 / 5;object-fit:cover}.monogram-row{display:flex;align-items:center;justify-content:center;gap:16px}.gold-line{display:block;inline-size:34px;block-size:1px;background:var(--warm-gold)}.monogram{margin:0;color:var(--sage-dark);font-family:Cormorant Garamond,Georgia,serif;font-size:22px;font-weight:400;letter-spacing:4.5px}.introduction{margin-block:16px 24px}.intro-line{inline-size:46px;margin-inline:auto}.intro-copy{margin:16px 0 0;color:var(--muted-ink);font-size:17px;line-height:1.55;white-space:pre-line}.notice{display:flex;align-items:center;inline-size:100%;margin-block-end:16px;border-radius:8px;background:var(--error-soft);padding:12px 16px;text-align:start}.notice-mark{display:grid;flex:0 0 20px;place-items:center;inline-size:20px;block-size:20px;margin-inline-end:12px;border:1.5px solid var(--error);border-radius:50%;color:var(--error);font-family:Georgia,serif;font-size:13px;font-weight:700}.notice-copy{margin:0;font-size:14px;line-height:1.45}.card{inline-size:100%;border:1px solid var(--warm-line);border-radius:20px;background:#fffcf5e5}.empty-card{padding:32px 24px}.empty-mark,.success-mark{display:grid;position:relative;place-items:center;inline-size:62px;block-size:62px;margin-inline:auto;border-radius:50%;background:var(--sage-soft);color:var(--sage)}.photo-mark{display:block;position:relative;inline-size:23px;block-size:18px;border:1.7px solid currentColor;border-radius:3px;color:var(--sage)}.photo-mark:before{position:absolute;inset-block-start:3px;inset-inline-end:4px;inline-size:4px;block-size:4px;border:1.4px solid currentColor;border-radius:50%;content:""}.photo-mark:after{position:absolute;inset-block-end:3px;inset-inline-start:4px;inline-size:11px;block-size:8px;border-block-start:1.5px solid currentColor;border-inline-start:1.5px solid currentColor;content:"";transform:rotate(42deg) skew(-8deg,-8deg)}.small-plus{position:absolute;inset-block-end:10px;inset-inline-end:10px;font-size:20px;font-weight:400;line-height:1}.empty-prompt{margin:16px 0 24px;color:var(--ink);font-size:17px;line-height:1.55}.picker-slot{inline-size:100%}#picker-parking{position:fixed;inset:0 auto auto 0;overflow:hidden;inline-size:1px;block-size:1px;clip-path:inset(50%)}.native-picker-control,.action-button{display:flex;position:relative;align-items:center;justify-content:center;min-block-size:46px;inline-size:100%;border:1px solid var(--button-sage);border-radius:2px;background:transparent;color:var(--button-sage);cursor:pointer;font-family:Cormorant Garamond,Georgia,serif;font-size:16px;font-weight:600;letter-spacing:.4px;line-height:1.2;padding:11px 16px 11px 18px;transition:background-color .12s ease,color .12s ease}[dir=rtl] .native-picker-control,[dir=rtl] .action-button{font-family:Amiri,serif;font-weight:700;letter-spacing:0}.native-picker-control:hover,.action-button:hover{background:#5e69540f}.native-picker-control.secondary{min-block-size:52px;margin-block-start:16px;font-family:inherit;font-weight:600}.picker-plus{margin-inline-end:8px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:21px;font-weight:300;line-height:1}.picker-arrow,.action-arrow{margin-inline-start:auto;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:17px;font-weight:400}.native-media-picker{position:absolute;inset:0;z-index:2;inline-size:100%;block-size:100%;opacity:0;cursor:pointer;font-size:16px}.native-media-picker:disabled{cursor:default}.selected-content{inline-size:100%}.media-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.media-row{display:flex;align-items:center;min-inline-size:0;min-block-size:72px;overflow:hidden;border:1px solid var(--warm-line);border-radius:14px;background:var(--paper);padding:8px 6px 8px 8px;text-align:start}.media-thumbnail{flex:0 0 56px;inline-size:56px;block-size:56px;overflow:hidden;border-radius:10px;background:var(--sage-soft)}.thumbnail-image{display:block;inline-size:100%;block-size:100%;object-fit:cover}.fallback-tile{display:flex;align-items:center;justify-content:center;flex-direction:column;inline-size:100%;block-size:100%;gap:3px;color:var(--sage)}.fallback-tile .photo-mark{inline-size:20px;block-size:16px}.video-mark{display:grid;place-items:center;inline-size:23px;block-size:17px;border:1.6px solid currentColor;border-radius:3px}.video-mark:before{inline-size:0;block-size:0;border-block:4px solid transparent;border-inline-start:6px solid currentColor;content:"";transform:translate(1px)}[dir=rtl] .video-mark:before{transform:translate(-1px) rotate(180deg)}.fallback-badge{max-inline-size:52px;overflow:hidden;color:var(--sage);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:9px;font-weight:700;letter-spacing:.4px;line-height:1.1;text-overflow:clip;white-space:nowrap}.media-details{min-inline-size:0;flex:1 1 auto;margin-inline:12px 4px}.media-name{overflow:hidden;margin:0;color:var(--ink);font-size:13.5px;font-weight:600;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.media-meta{display:flex;align-items:center;min-inline-size:0;margin-block-start:3px;color:var(--muted-ink);font-size:12px;line-height:1.2}.media-size,.media-status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-status{display:inline-flex;align-items:center;min-inline-size:0;margin-inline-start:7px;color:var(--sage)}.media-status.status-failed{color:var(--error)}.status-mark{flex:0 0 auto;margin-inline-end:3px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;font-weight:700}.remove-button{display:grid;flex:0 0 44px;place-items:center;inline-size:44px;block-size:44px;border:0;border-radius:50%;background:transparent;color:var(--sage);cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:25px;font-weight:300;line-height:1}.remove-button:hover{background:var(--sage-soft)}.selection-summary{display:flex;align-items:center;justify-content:center;min-block-size:23px;margin-block-start:24px;color:var(--sage-dark);font-size:15px;font-weight:600}.summary-dot{inline-size:4px;block-size:4px;margin-inline:12px;border-radius:50%;background:var(--warm-gold)}.action-button{font-family:Cormorant Garamond,Georgia,serif}.share-button{margin-block-start:16px}.failure-panel{inline-size:100%;margin-block-end:24px;border:1px solid rgb(142 75 66 / 25%);border-radius:14px;background:var(--error-soft);padding:24px}.failure-mark{display:grid;place-items:center;inline-size:30px;block-size:30px;margin-inline:auto;border:2px solid var(--error);border-radius:50%;color:var(--error);font-weight:700}.failure-title{margin:12px 0 0;color:var(--error);font-size:18px;font-weight:600}.failure-copy{margin:8px 0 16px;color:var(--ink);font-size:15px;line-height:1.45}.state-card{padding:32px 24px}.upload-mark{display:grid;place-items:center;inline-size:42px;block-size:42px;margin-inline:auto;border:1.5px solid var(--sage);border-radius:18px 18px 12px 12px;color:var(--sage-dark);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:26px}.state-title{margin:24px 0 0;color:var(--ink);font-size:18px;font-weight:600}.progress-value{margin:16px 0;color:var(--sage-dark);font-family:Cormorant Garamond,Georgia,serif;font-size:36px;line-height:1}[dir=rtl] .progress-value{font-family:Amiri,serif}.progress-track{overflow:hidden;inline-size:100%;block-size:5px;border-radius:999px;background:var(--sage-soft)}.progress-bar{block-size:100%;border-radius:inherit;background:var(--sage);transition:inline-size .1s linear}.state-copy{margin:24px 0 0;color:var(--muted-ink);font-size:15px}.success-mark{inline-size:70px;block-size:70px;font-family:Georgia,serif;font-size:42px;line-height:1}.success-title{margin:24px 0 0;color:var(--sage-dark);font-family:Cormorant Garamond,Georgia,serif;font-size:32px;font-weight:400;line-height:1.2}[dir=rtl] .success-title{font-family:Amiri,serif}.success-copy{margin:12px 0 32px;font-size:17px;line-height:1.55}.configuration-error{inline-size:min(calc(100% - 32px),600px);margin:80px auto;color:var(--error);line-height:1.5;text-align:center;white-space:pre-line}.guestbook-shortcut-row{display:flex;justify-content:center;margin-block-start:14px}.guestbook-shortcut{min-block-size:42px;border:1px solid var(--warm-line);border-radius:999px;background:#fffcf59e;color:var(--sage-dark);cursor:pointer;font-family:Cormorant Garamond,Georgia,serif;font-size:15px;font-weight:600;line-height:1.2;padding:9px 18px;transition:background-color .12s ease,border-color .12s ease}[dir=rtl] .guestbook-shortcut{font-family:Amiri,serif;font-weight:700}.guestbook-shortcut:hover{border-color:#62745873;background:var(--sage-soft)}.guestbook-section{margin-block-start:clamp(52px,10vw,76px);padding-block-end:16px;scroll-margin-block-start:24px}.guestbook-ornament{display:flex;align-items:center;justify-content:center;gap:12px;margin-block-end:16px}.guestbook-heart{color:var(--warm-gold);font-family:Georgia,serif;font-size:21px;line-height:1}.guestbook-title{margin:0;color:var(--sage-dark);font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(27px,7vw,36px);font-weight:400;line-height:1.2}[dir=rtl] .guestbook-title{font-family:Amiri,serif;font-size:clamp(25px,7vw,34px)}.guestbook-subtitle{max-inline-size:540px;margin:10px auto 24px;color:var(--muted-ink);font-size:16px;line-height:1.55}.guestbook-card{padding:clamp(22px,5vw,34px);box-shadow:0 12px 36px #34432f0a}.guestbook-form{display:grid;gap:18px;text-align:start}.guestbook-field{display:grid;position:relative;gap:7px}.guestbook-label{color:var(--sage-dark);font-family:Cormorant Garamond,Georgia,serif;font-size:18px;font-weight:600}[dir=rtl] .guestbook-label{font-family:Amiri,serif;font-size:17px;font-weight:700}.guestbook-input{inline-size:100%;min-block-size:48px;border:1px solid var(--warm-line);border-radius:8px;background:#faf6ec7a;color:var(--ink);font-size:16px;line-height:1.45;padding:11px 42px 11px 13px;transition:border-color .12s ease,background-color .12s ease}[dir=rtl] .guestbook-input{padding-inline:13px 42px}.guestbook-input:hover,.guestbook-input:focus{border-color:var(--sage);background:var(--paper)}.guestbook-input[aria-invalid=true]{border-color:var(--error)}.guestbook-textarea{min-block-size:130px;resize:vertical}.guestbook-field-hint{position:absolute;inset-block-start:43px;inset-inline-end:12px;color:var(--muted-ink);font-size:11px;line-height:1}.guestbook-field:has(.guestbook-textarea) .guestbook-field-hint{inset-block-start:auto;inset-block-end:13px}.guestbook-field-error{margin:0;color:var(--error);font-size:13px;line-height:1.35}.guestbook-form-status{min-block-size:19px;margin:-4px 0;color:var(--error);font-size:14px;line-height:1.35;text-align:center}.guestbook-submit{margin-block-start:2px;background:var(--button-sage);color:var(--paper)}.guestbook-submit:hover{background:var(--sage-dark)}.guestbook-submit:disabled{cursor:wait;opacity:.7}.guestbook-success-mark{display:grid;place-items:center;inline-size:58px;block-size:58px;margin-inline:auto;border-radius:50%;background:var(--sage-soft);color:var(--sage);font-family:Georgia,serif;font-size:34px}.guestbook-success{margin:18px 0 4px;color:var(--sage-dark);font-family:Cormorant Garamond,Georgia,serif;font-size:25px;line-height:1.35}[dir=rtl] .guestbook-success{font-family:Amiri,serif}.admin-page{display:grid;position:relative;z-index:1;min-block-size:100vh;min-block-size:100dvh;place-items:center;padding:max(28px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(36px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.admin-login-card{inline-size:min(100%,420px);border:1px solid var(--warm-line);border-radius:20px;background:#fffcf5f0;box-shadow:0 22px 65px #34432f17;padding:clamp(28px,7vw,44px);text-align:center}.admin-monogram,.admin-eyebrow{margin:0;color:var(--warm-gold);font-family:Cormorant Garamond,Georgia,serif;font-size:16px;letter-spacing:3px;text-transform:uppercase}.admin-login-title,.admin-title{margin:12px 0 0;color:var(--sage-dark);font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(32px,8vw,46px);font-weight:400;line-height:1.1}.admin-login-subtitle{margin:10px 0 26px;color:var(--muted-ink);font-size:14px;line-height:1.5}.admin-login-form{display:grid;gap:8px;text-align:start}.admin-label,.admin-control-label{margin-block-start:8px;color:var(--sage-dark);font-size:13px;font-weight:650}.admin-input{inline-size:100%;min-block-size:44px;border:1px solid var(--warm-line);border-radius:8px;background:var(--paper);color:var(--ink);padding:9px 11px}.admin-input:hover,.admin-input:focus{border-color:var(--sage)}.admin-login-status,.admin-dashboard-status{min-block-size:20px;margin:7px 0 2px;color:var(--error);font-size:13px;line-height:1.4}.admin-primary-button,.admin-secondary-button{border:1px solid var(--button-sage);border-radius:7px;cursor:pointer;font-weight:650;transition:background-color .12s ease,color .12s ease}.admin-primary-button{min-block-size:46px;background:var(--button-sage);color:var(--paper);padding:10px 17px}.admin-primary-button:hover{background:var(--sage-dark)}.admin-secondary-button{min-block-size:40px;background:transparent;color:var(--sage-dark);padding:8px 13px}.admin-secondary-button:hover{background:var(--sage-soft)}.admin-primary-button:disabled,.admin-secondary-button:disabled{cursor:not-allowed;opacity:.55}.admin-loading{margin:0;color:var(--muted-ink)}.admin-shell{align-self:start;inline-size:min(100%,1080px);margin-inline:auto}.admin-header{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding-block-end:22px;border-block-end:1px solid var(--warm-line)}.admin-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.admin-dashboard-status{margin-block:10px}.admin-stats{display:grid;grid-template-columns:minmax(0,260px);gap:12px;margin-block:18px}.admin-stat-card{display:flex;align-items:baseline;gap:10px;border:1px solid var(--warm-line);border-radius:14px;background:#fffcf5e0;padding:16px 18px}.admin-stat-value{color:var(--sage-dark);font-family:Cormorant Garamond,Georgia,serif;font-size:32px;line-height:1}.admin-stat-label{color:var(--muted-ink);font-size:13px}.admin-controls{display:grid;grid-template-columns:minmax(190px,1fr) minmax(150px,auto);align-items:end;gap:14px;margin-block-end:18px}.admin-search-field,.admin-sort-field{display:grid;gap:6px}.admin-message-list{display:grid;gap:12px}.admin-message-card{border:1px solid var(--warm-line);border-radius:14px;background:#fffcf5eb;padding:18px}.admin-message-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.admin-message-creator{margin:0;color:var(--sage-dark);font-family:Cormorant Garamond,Georgia,serif;font-size:23px;font-weight:600;line-height:1.1}.admin-message-field-label{margin:0;color:var(--muted-ink);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.admin-message-submitted{text-align:end}.admin-message-time{display:block;margin-block-start:4px;color:var(--muted-ink);font-size:12px}.admin-message-body{margin-block:16px}.admin-message-copy{margin:4px 0 0;color:var(--ink);font-size:15px;line-height:1.65;white-space:pre-wrap}.admin-message-actions{display:flex;flex-wrap:wrap;gap:7px;padding-block-start:13px;border-block-start:1px solid rgb(220 213 199 / 65%)}.admin-delete-button{margin-inline-start:auto;border-color:#8e4b4273;color:var(--error)}.admin-empty{margin:0;border:1px dashed var(--warm-line);border-radius:14px;color:var(--muted-ink);padding:32px 20px;text-align:center}.admin-dialog-scrim{display:grid;position:fixed;z-index:20;inset:0;place-items:center;background:#2e352b6b;padding:18px}.admin-dialog{position:static;inline-size:min(100%,420px);margin:0;border:1px solid var(--warm-line);border-radius:16px;background:var(--paper);color:var(--ink);box-shadow:0 22px 70px #2e352b40;padding:26px}.admin-dialog-title{margin:0;color:var(--sage-dark);font-family:Cormorant Garamond,Georgia,serif;font-size:28px;font-weight:600}.admin-dialog-copy{margin:9px 0 22px;color:var(--muted-ink);line-height:1.5}.admin-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.admin-confirm-delete{border-color:var(--error);background:var(--error)}@media(min-width:600px){.page{padding-inline:max(32px,env(safe-area-inset-left)) max(32px,env(safe-area-inset-right))}.top-space{block-size:24px}}@media(max-width:359px){.page{padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right))}.main-heading{font-size:21px;letter-spacing:1.7px}.empty-card,.state-card,.failure-panel{padding-inline:18px}.media-details{margin-inline-start:9px}.remove-button{flex-basis:42px;inline-size:42px}}@media(max-width:820px){.admin-controls{grid-template-columns:1fr;align-items:stretch}}@media(max-width:540px){.admin-header,.admin-message-header{align-items:stretch;flex-direction:column}.admin-header-actions{justify-content:flex-start}.admin-message-submitted{text-align:start}.admin-stats{grid-template-columns:1fr}.admin-delete-button{margin-inline-start:0}.admin-message-actions>button{flex:1 1 auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
