.guest-login-page{align-items:center;background:linear-gradient(135deg,#f5f1e8,#e8dcc8);display:flex;justify-content:center;min-height:100vh;padding:2rem}.guest-login-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;max-width:400px;padding:3rem;text-align:center;width:100%}.guest-login-container h1{color:var(--color-primary);margin-bottom:1rem}.guest-login-form{margin:2rem 0}.guest-login-form input{border:2px solid #ddd;border-radius:8px;font-size:1rem;margin-bottom:1rem;padding:.75rem;width:100%}.guest-login-form button{background:var(--color-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem;width:100%}.guest-login-form button:disabled{cursor:not-allowed;opacity:.5}.error-message{border-radius:4px;color:#d32f2f;padding:.5rem}.back-to-home{background:none;border:none;color:var(--color-primary);cursor:pointer;margin-top:1rem;text-decoration:underline}.guest-page{margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.guest-header{align-items:center;border-bottom:2px solid var(--color-primary);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.guest-header h1{color:var(--color-primary)}.logout-btn{background:#d32f2f;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:.5rem 1rem}.guest-content{display:flex;flex-direction:column;gap:3rem}.album-section,.public-gallery-section,.rsvp-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:2rem}.album-section h2,.public-gallery-section h2,.rsvp-section h2{color:var(--color-primary);margin-bottom:1rem}.rsvp-status{color:#4caf50;font-weight:600;margin-bottom:1rem}.rsvp-form{display:flex;flex-direction:column;gap:1.5rem}.member-card{border:2px solid #e0e0e0;border-radius:8px;padding:1.5rem}.member-card h3{color:var(--color-primary)}.form-group,.member-card h3{margin-bottom:1rem}.form-group input[type=checkbox],.form-group input[type=radio]{cursor:pointer;flex-shrink:0;height:18px;margin:0;width:18px}.radio-group{display:flex;flex-wrap:wrap;gap:1rem}.radio-group label{align-items:center;display:flex;font-weight:400;gap:.5rem;white-space:nowrap}.form-group label[style*="display: flex"]{align-items:flex-start;gap:.5rem}.form-group label[style*="display: flex"] input{margin-top:.2rem}.form-group label[style*="display: flex"] span{margin-top:.1rem}@media (max-width:768px){.form-group input[type=checkbox],.form-group input[type=radio]{height:20px;min-height:20px;min-width:20px;width:20px}.form-group label[style*="display: flex"]{align-items:flex-start}.form-group label[style*="display: flex"] input{margin-top:.3rem}}.form-group textarea{border:2px solid #ddd;border-radius:6px;font-family:inherit;min-height:80px;padding:.75rem;resize:vertical;width:100%}.submit-btn{align-self:flex-start}.submit-btn:disabled{cursor:not-allowed;opacity:.5}.message{border-radius:6px;margin:1rem 0;padding:1rem}.message.success{background:#e8f5e9;color:#2e7d32}.message.error{background:#ffebee;color:#c62828}.view-album-btn,.view-gallery-btn{background:var(--color-primary);border-radius:8px;color:#fff;display:inline-block;margin-top:1rem;padding:.75rem 1.5rem;text-decoration:none}.upload-section{margin-top:1rem}.upload-btn{background:var(--color-primary);border-radius:8px;color:#fff;cursor:pointer;display:inline-block;padding:.75rem 1.5rem}@media (max-width:768px){.guest-page{padding:1rem}.guest-header{align-items:flex-start;flex-direction:column;gap:1rem}}.admin-guests-page{margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem}.admin-header{align-items:center;border-bottom:2px solid var(--color-primary);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.admin-header h1{color:var(--color-primary)}.add-btn{background:var(--color-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem}.guest-form{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem;padding:2rem}.guest-form h2{color:var(--color-primary);margin-bottom:1.5rem}.form-group label{color:#555;font-weight:600}.form-group input[type=email],.form-group input[type=text]{border:2px solid #ddd;border-radius:6px;font-size:1rem;padding:.75rem;width:100%}.member-input{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.member-input input[type=email],.member-input input[type=text]{flex:1 1}.member-input button{background:#d32f2f;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:.5rem 1rem}.member-input input[type=checkbox]{flex-shrink:0;height:18px;margin:0;width:18px}.member-input label span{margin-top:.1rem}.add-member-btn{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:.5rem;padding:.5rem 1rem}.submit-btn{background:var(--color-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:1.1rem;margin-top:1.5rem;padding:1rem 2rem;width:100%}.submit-btn:hover{background:#5a7a5e}.error-message{background:#ffebee;border-radius:6px;color:#c62828;margin:1rem 0;padding:1rem}.guests-list{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:2rem}.guests-list h2{color:var(--color-primary);margin-bottom:1.5rem}.guests-table{border-collapse:collapse;width:100%}.guests-table td,.guests-table th{border-bottom:1px solid #e0e0e0;padding:1rem;text-align:left}.guests-table th{background:#f5f5f5;color:#555;font-weight:600}.guests-table code{background:#f5f5f5;border-radius:4px;font-family:monospace;padding:.25rem .5rem}.status-submitted{color:#4caf50;font-weight:600}.status-pending{color:#ff9800;font-weight:600}.copy-btn,.delete-btn,.edit-btn,.view-album-btn{border:none;border-radius:6px;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:.9rem;line-height:1.2;margin-right:.5rem;padding:.5rem 1rem!important}.copy-btn{background:#2196f3;color:#fff}.view-album-btn{background:var(--color-primary);color:#fff;text-decoration:none}.edit-btn{background:#ff9800;color:#fff}.delete-btn{background:#d32f2f;color:#fff}.expanded-row{background:#f9f9f9}.expanded-row td{padding:0!important}.expanded-details{display:none}.member-details{padding:1.5rem}.member-details h3{color:var(--color-primary);font-size:1.1rem;margin-bottom:1rem}.member-detail-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1rem;padding:1rem}.member-detail-card:last-child{margin-bottom:0}.member-detail-card h4{color:var(--color-primary);font-size:1rem;margin-bottom:.5rem}.member-detail-card p{color:#555;font-size:.9rem;margin:.25rem 0}.member-detail-card strong{color:#333}@media (max-width:1024px){.guests-table{font-size:.9rem}.guests-table td,.guests-table th{padding:.75rem .5rem}}@media (max-width:768px){.admin-guests-page{padding:1rem}.admin-header{align-items:flex-start;flex-direction:column;gap:1rem}.guest-form,.guests-list{padding:1rem}.member-input{align-items:stretch;flex-direction:column;gap:.5rem}.member-input button,.member-input input[type=email],.member-input input[type=text]{width:100%}.member-input label{align-items:center;display:flex;gap:.5rem}.guests-table .expanded-row{display:none}.guests-table{display:block;font-size:.85rem;overflow-x:auto}.guests-table thead{display:none}.guests-table tbody,.guests-table tr{display:block}.guests-table tbody{display:flex;flex-direction:column}.guests-table tr:not(.expanded-row){background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.guests-table tr:not(.expanded-row):has(+.expanded-row){border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:0}.guests-table .expanded-row{background:#fff;border:1px solid #e0e0e0;border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-top:none;display:block;margin:0 0 1.5rem!important;padding:1rem}.guests-table .expanded-row td{border:none!important;display:block;padding:0}.guests-table .expanded-row td:before{display:none}.guests-table .expanded-row .member-details{padding:0}.guests-table td{border:none;flex:1 1 auto;min-width:-webkit-fit-content;min-width:fit-content;padding:0;text-align:left}.guests-table td:before{color:#555;content:attr(data-label);display:block;font-size:.75rem;font-weight:600;margin-bottom:.25rem}.guests-table td[data-label=Actions]{display:flex;flex:1 1 100%;flex-direction:column;gap:.5rem;order:10}.guests-table td[data-label=""]:before{content:"Show Details";display:inline;margin-right:.5rem}.guests-table td[data-label=""]{border-top:1px solid #e0e0e0;flex:1 1 100%;order:20;padding-top:.5rem}.guests-table td[data-label=""] button{display:inline}.copy-btn,.delete-btn,.edit-btn,.view-album-btn{margin:0;text-align:center;width:100%}.view-album-btn{display:block}}@font-face{font-family:"Cursive2";-webkit-font-kerning:normal;font-kerning:normal;font-style:normal;font-weight:400;src:url(/static/media/Cursive.d75999071496987f4ad9.woff2) format("woff2");-webkit-text-decoration-line:none;text-decoration-line:none;-webkit-text-decoration-style:solid;-webkit-text-decoration-style:initial;text-decoration-style:solid;text-decoration-thickness:auto}@font-face{font-family:"Cursive";font-style:normal;font-weight:400;src:url(/static/media/NewIconScriptRegular.492b2abc6bbb616a4a34.woff2) format("woff2")}@font-face{font-family:RegularText;font-style:normal;font-weight:400;src:url(/static/media/RegularText.d26aaf2a275ba41f0853.woff2) format("woff2")}@font-face{font-family:HeroNames;src:url(/static/media/HeroNames_Menu.0b76c743731927dd6e9b.woff2) format("woff2")}@font-face{font-family:Date;font-style:normal;font-weight:400;src:url(/static/media/Date.1b586fce04da710ad744.woff2) format("woff2")}:root{--font-header:"Cursive",cursive;--font-body:"RegularText","Georgia",serif;--font-size-header:clamp(2.5rem,5vw,3.5rem);--color-primary:#6b8e6f;--color-section-header:#6b8e6f;--color-accent:#d4a574;--color-text:#3d3d3d;--color-text-light:#8a8a8a;--font-weight-header:400}*{box-sizing:border-box;margin:0;padding:0}.main-content{overflow-x:hidden;overflow-y:hidden}html{min-height:100%}body,html{overflow-x:hidden}body{-webkit-overflow-scrolling:touch;background:linear-gradient(180deg,#f4d9d0,#f5f1e8 30%,#e8f0e0 70%,#d4e5d8);background-attachment:fixed;background-repeat:no-repeat;background-size:100% 100%;color:#3d3d3d;color:var(--color-text);font-family:RegularText,Georgia,serif;font-family:var(--font-body);line-height:1.6;max-width:100vw;min-height:100vh;position:relative;width:100%}@media (max-width:768px){body{background-attachment:scroll}}body:before{background:linear-gradient(180deg,#f4d9d0,#f5f1e8 30%,#e8f0e0 70%,#d4e5d8);content:"";height:100vh;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:-1}@media (min-width:769px){body:before{display:none}}.section{margin:0 auto;max-width:900px;padding:5rem 2rem 3rem;scroll-margin-top:80px}.section-title{color:#6b8e6f;color:var(--color-section-header);font-family:"Cursive",cursive;font-family:var(--font-header);font-size:clamp(2.5rem,5vw,3.5rem);font-size:var(--font-size-header);font-style:italic;font-weight:400;font-weight:var(--font-weight-header);letter-spacing:2px;margin-bottom:3rem;text-align:center}.section-subtitle{color:#8a8a8a;color:var(--color-text-light);margin-bottom:3rem}.section-subtitle,.section-text{font-size:1.1rem;line-height:1.8;text-align:center}.section-text{color:#333;font-family:RegularText,Georgia,serif;font-family:var(--font-body);margin-bottom:1.5rem;margin-left:auto;margin-right:auto;max-width:800px}.divider{background:#d4a574;background:var(--color-accent);height:1px;margin:2rem auto;width:100px}@media (max-width:768px){:root{--font-size-header:clamp(2rem,8vw,3.5rem)}}.nav{background:#f5f1e8fa;box-shadow:0 2px 10px #0000000d;display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;padding:1rem 2rem;position:fixed;top:0;transition:transform .3s ease;width:100%;z-index:100}.nav a{color:var(--color-primary);font-family:HeroNames,sans-serif;font-size:.8rem;letter-spacing:1px;text-decoration:none;text-transform:uppercase;transition:color .3s}.nav a:hover{color:var(--color-accent)}.hamburger{-webkit-tap-highlight-color:transparent;align-items:center;background:var(--color-primary);border:none;border-radius:50%;box-shadow:0 2px 10px #0003;cursor:pointer;display:none;flex-direction:column;gap:5px;height:50px;justify-content:center;left:1rem;opacity:0;outline:none;pointer-events:none;position:fixed;top:1rem;transition:all .3s ease;width:50px;z-index:101}.hamburger.visible{opacity:1;pointer-events:auto}.hamburger span{background:#fff;height:2px;transition:all .3s ease;width:20px}@media (max-width:768px){.nav{gap:.75rem;padding:.75rem 1rem}.nav a{font-size:.75rem;letter-spacing:.5px}.hamburger{display:flex}.nav.collapsed{padding-left:4rem;transform:translateY(-100%)}.nav.collapsed.open{transform:translateY(0)}.nav.collapsed.open~.hamburger{left:1rem;position:absolute;top:50%;transform:translateY(-50%)}}.hero{background:#0000;justify-content:center;min-height:100vh;padding-top:100px;position:relative;text-align:center}.hero,.hero-names-container{align-items:center;display:flex;flex-direction:column}.hero-names-container{color:var(--color-primary);font-family:"Cursive",var(--font-header);font-size:clamp(4rem,12vw,7rem);font-style:normal;font-weight:var(--font-weight-header);letter-spacing:normal;margin-bottom:1rem;transform:rotate(-10deg)}.hero-name{display:block;font-weight:400}.hero-text{color:#a88b5c;font-family:HeroNames;font-size:clamp(2rem,5vw,3.5rem);font-weight:100;margin-bottom:.5rem}.hero-location{color:var(--color-text-light);font-family:"Cursive",cursive;font-size:clamp(.95rem,2.5vw,1.1rem);font-style:italic}.venue-sketch-container{margin-top:3rem;max-width:400px;opacity:.7}.venue-sketch-accent{border-radius:8px;height:auto;mask-image:radial-gradient(ellipse at center,#000 50%,#0000 80%);-webkit-mask-image:radial-gradient(ellipse at center,#000 50%,#0000 80%);width:100%}@media (max-width:768px){.hero-names-container{font-size:clamp(3rem,10vw,6rem)}.hero-text{font-size:clamp(1.75rem,4vw,2.5rem)}}.timeline-vertical{margin:0 auto;max-width:600px;padding:2rem 1rem}.timeline-day-section{margin-bottom:3rem}.timeline-day-title{color:var(--color-primary);font-size:1.3rem;font-style:italic;font-weight:400;margin-bottom:2rem;text-align:center}.timeline-events{position:relative}.timeline-event-row{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:80px 20px 60px 1fr;margin-bottom:2rem;position:relative}.timeline-event-time{color:var(--color-text);font-size:.95rem;letter-spacing:1px;text-align:right}.timeline-event-line{background:var(--color-accent);height:100%;justify-self:center;position:relative;width:2px}.timeline-event-line:before{background:var(--color-accent);border-radius:50%;content:"";height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:8px}.timeline-event-row:not(:last-child) .timeline-event-line:after{background:var(--color-accent);content:"";height:calc(100% + 2rem);left:50%;position:absolute;top:50%;transform:translateX(-50%);width:2px}.timeline-icon{align-items:center;color:var(--color-text);display:flex;height:50px;justify-content:center;width:50px}.timeline-icon svg{height:100%;width:100%}.timeline-icon svg [stroke]:not([stroke=none]){stroke:currentColor!important}.timeline-icon svg [fill]:not([fill=none]){fill:currentColor!important}.timeline-event-name{color:var(--color-text);font-size:1rem;letter-spacing:1px}@media (max-width:768px){.timeline-event-row{gap:.75rem;grid-template-columns:70px 15px 45px 1fr}.timeline-event-time{font-size:.85rem}.timeline-icon{height:40px;width:40px}.timeline-event-name{font-size:.9rem}}.flower-decor{opacity:.7;pointer-events:none;position:absolute;z-index:1}.flower-small{height:auto;width:150px}.flower-medium{height:auto;width:220px}.flower-large{height:auto;width:300px}.flower-left{left:-60px}.flower-right{right:-60px}.flower-background{display:flex;flex-wrap:nowrap;margin-top:-80px;max-height:400px;mix-blend-mode:multiply;opacity:.8;overflow:hidden;padding-top:100px;pointer-events:none;position:relative;width:100%;z-index:10}.flower-tile{flex-shrink:0;height:500px;margin-top:-100px;width:auto}.flower-tile:first-child{margin-left:0}@media (max-width:768px){.flower-small{width:100px}.flower-medium{width:140px}.flower-large{width:180px}.flower-left{left:-40px}.flower-right{right:-40px}.flower-background{margin-top:-50px;max-height:200px;overflow-x:visible}.flower-tile{height:250px;margin-top:-100px;width:auto}}.invitation-text{color:var(--color-text);font-size:1.1rem;line-height:2;margin:0 auto 3rem;max-width:700px;text-align:center}.invitation-images{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin:0 auto;max-width:1200px}.invitation-image-wrapper{border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:300px;overflow:hidden;position:relative}.invitation-image{display:block;height:auto;width:100%}.invitation-image-placeholder{align-items:center;background:#f0f0f0;border-radius:8px;color:#999;display:flex;font-style:italic;height:200px;justify-content:center;width:200px}.invitation-image-remove{align-items:center;background:#ffffffe6;border:none;border-radius:50%;color:#c77c7c;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;line-height:1;position:absolute;right:8px;top:8px;transition:all .2s;width:32px}.invitation-image-remove:hover{background:#c77c7c;color:#fff}.invitation-add-wrapper{height:200px;width:200px}.invitation-add-button{align-items:center;background:#f0f0f0;border:2px dashed #ccc;border-radius:8px;cursor:pointer;display:flex;height:100%;justify-content:center;transition:all .2s;width:100%}.invitation-add-button:hover{background:#e8e8e8;border-color:#999}.invitation-add-button span{color:#999;font-size:48px}@media (max-width:768px){.invitation-images{gap:1rem}.invitation-image-wrapper{max-width:250px}.invitation-add-wrapper{height:150px;width:150px}}.countdown-section{margin:0 auto;max-width:800px;padding:4rem 2rem;text-align:center}.countdown-date{color:var(--color-text);font-family:Date,sans-serif;font-size:1.2rem;letter-spacing:2px;margin:1.5rem 0;text-transform:uppercase}.countdown{display:flex;flex-wrap:nowrap;gap:2rem;justify-content:center;margin-top:2rem}.countdown-item{align-items:center;display:flex;flex-direction:column;flex-shrink:1;min-width:80px}.countdown-value{color:var(--color-primary);font-size:3rem;font-weight:600;line-height:1}.countdown-label{color:var(--color-text-light);font-size:.9rem;letter-spacing:1px;margin-top:.5rem;text-transform:uppercase}@media (max-width:768px){.countdown{gap:1rem}.countdown-item{min-width:60px}.countdown-value{font-size:2rem}.countdown-label{font-size:.7rem}}.details-grid{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:3rem}.detail-item{text-align:center}.detail-item h3{color:var(--color-primary);font-size:1.3rem;font-weight:400;margin-bottom:1rem}.detail-item p{color:var(--color-text);font-size:1rem;line-height:1.8}.section-flower{opacity:.95;pointer-events:none;position:absolute;transform:translateZ(0);width:500px;will-change:transform;z-index:1}.section-flower-left{left:50px;top:50%;transform:translateY(-50%)}.section-flower-right{right:50px;top:50%;transform:translateY(-50%)}@media (max-width:1500px){.section-flower{width:350px}.section-flower-left{left:10px}.section-flower-right{right:10px}}@media (max-width:1200px){.section-flower{display:none}}@media (max-width:768px){.section-flower{display:block;left:auto!important;margin:.5rem auto;position:relative;right:auto!important;top:auto!important;transform:none!important;width:150px}}.story-content{margin:0 auto;max-width:700px;text-align:center}.story-content p{color:var(--color-text);font-size:1.1rem;line-height:2;margin-bottom:1.5rem}.palette-section{text-align:center}.palette-title{color:var(--color-primary);font-family:var(--font-body);font-size:1.5rem;font-style:normal;font-weight:400;margin-bottom:2rem}.color-palette{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:0 auto}.color-swatch{border-radius:8px;box-shadow:0 2px 8px #00000026;height:80px;transition:transform .3s;width:80px}.color-swatch:hover{transform:translateY(-5px)}.form-container{margin:3rem auto;max-width:600px}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--color-primary);display:block;font-size:.95rem;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #e0e0e0;border-radius:2px;font-family:var(--font-body);font-size:1rem;padding:.9rem;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);outline:none}.btn{background:var(--color-primary);border:none;border-radius:2px;color:#fff;cursor:pointer;font-family:var(--font-body);font-size:1rem;letter-spacing:1px;padding:1rem;text-transform:uppercase;transition:background .3s;width:100%}.btn:hover{background:#5a7860}.btn-small{background:var(--color-primary);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.25rem .5rem;transition:background .3s;width:auto}.btn-small:hover:not(:disabled){background:#6a9479}.btn-small:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{background:var(--color-accent)}.btn-secondary:hover{background:#c29564}.upload-note{color:var(--color-text-light);font-size:.95rem;margin-bottom:1.5rem;text-align:center}.upload-status{color:var(--color-primary);font-style:italic;margin-top:1rem;text-align:center}.gallery-page{min-height:100vh;padding-top:5rem}.gallery-header{padding:3rem 2rem;text-align:center}.gallery-header h1{color:var(--color-primary);font-family:var(--font-header);font-size:var(--font-size-header);font-style:italic;font-weight:var(--font-weight-header);margin-bottom:1rem}.back-link{border:2px solid var(--color-primary);border-radius:4px;color:var(--color-primary);display:inline-block;font-size:1.1rem;font-weight:500;letter-spacing:1px;margin-bottom:2rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s}.back-link:hover{background:var(--color-primary);color:#fff}.albums-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:0 auto;max-width:1400px;padding:0 2rem 4rem}.album-card{background:#fff;border-radius:8px;box-shadow:0 2px 10px #00000014;cursor:pointer;overflow:hidden;transition:all .3s}.album-card:hover{box-shadow:0 5px 20px #00000026;transform:translateY(-5px)}.album-card img{display:block;height:250px;object-fit:cover;width:100%}.album-placeholder{align-items:center;background:#f0f0f0;color:#999;display:flex;font-style:italic;height:250px;justify-content:center;width:100%}.album-info{padding:1.5rem}.album-info h3{color:var(--color-primary);font-size:1.3rem;font-weight:400;margin-bottom:.5rem}.album-info p{font-size:.9rem}.album-info p,.loading{color:var(--color-text-light)}.loading{font-style:italic;padding:2rem;text-align:center}.gallery-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:0 auto;max-width:1400px;padding:0 2rem 4rem}.photo-card{aspect-ratio:1/1;background:#000;border-radius:2px;box-shadow:0 2px 10px #00000014;cursor:pointer;overflow:hidden;position:relative;transition:all .3s}.photo-card:hover{box-shadow:0 5px 20px #00000026;transform:translateY(-5px)}.photo-delete-btn{align-items:center;background:#d32f2fe6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;line-height:1;opacity:.7;position:absolute;right:.5rem;top:.5rem;transition:opacity .2s;width:2rem;z-index:10}.photo-card:hover .photo-delete-btn{opacity:1}.photo-card:hover .photo-select-checkbox{opacity:1!important}.photo-delete-btn:hover{background:#d32f2f;opacity:1}.photo-selected{outline:4px solid var(--color-primary);outline-offset:-4px}.photo-checkbox{left:.5rem;position:absolute;top:.5rem;z-index:10}.photo-checkbox input[type=checkbox]{cursor:pointer;height:1.5rem;width:1.5rem}@media (max-width:768px){.photo-delete-btn{opacity:1}}.photo-card img{display:block;height:100%;object-fit:contain;width:100%}.photo-caption{color:var(--color-text);font-size:.85rem;font-style:italic;padding:.75rem;text-align:center}@media (max-width:768px){.gallery-grid{gap:.25rem;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));padding:0 .5rem 2rem}.photo-card img{height:100%}.photo-caption{display:none}.albums-grid{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));padding:0 1rem 2rem}.album-card img,.album-placeholder{height:150px}.album-info{padding:1rem}.album-info h3{font-size:1rem}.album-info p{font-size:.8rem}.color-swatch{height:40px;width:40px}}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.modal-content{background:#fff;border-radius:8px;max-width:400px;padding:2rem;width:90%}.modal-content h2{color:var(--color-primary);margin-bottom:1.5rem;text-align:center}.modal-content input{border:1px solid #e0e0e0;border-radius:2px;font-size:1rem;margin-bottom:1rem;padding:.9rem;width:100%}.modal-content .error{color:#d9534f;margin-bottom:1rem;text-align:center}.modal-buttons{display:flex;gap:1rem}.modal-buttons .btn{flex:1 1}.toast{animation:slideUp .3s ease-out;border-radius:4px;bottom:30px;box-shadow:0 4px 12px #00000026;color:#fff;font-size:1rem;left:50%;padding:1rem 2rem;position:fixed;transform:translateX(-50%);z-index:3000}.toast-success{background:var(--color-primary)}.toast-error{background:#d9534f}@keyframes slideUp{0%{bottom:-50px;opacity:0}to{bottom:30px;opacity:1}}.lightbox-overlay{align-items:center;background:#000000e6;bottom:0;cursor:pointer;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:3000}.lightbox-content{align-items:center;cursor:default;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden}.lightbox-content img{max-height:80vh;max-width:100%;object-fit:contain;transition:transform .2s ease;-webkit-user-select:none;user-select:none}.lightbox-caption{color:#fff;font-size:1rem;margin-top:1rem;max-width:600px;text-align:center}.lightbox-close{background:none;border:none;color:#fff;cursor:pointer;font-size:3rem;height:40px;line-height:1;padding:0;position:absolute;right:30px;top:20px;width:40px;z-index:3001}.lightbox-close:hover{color:#ccc}.lightbox-nav{background:#00000080;border:none;color:#fff;cursor:pointer;font-size:4rem;line-height:1;padding:1rem 1.5rem;position:absolute;top:50%;transform:translateY(-50%);transition:background .3s;z-index:3001}.lightbox-nav:hover{background:#000c}.lightbox-prev{left:20px}.lightbox-next{right:20px}@media (max-width:768px){.lightbox-nav{font-size:2.5rem;padding:.5rem 1rem}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-close{font-size:2rem;right:15px;top:10px}}.lock-icon{background:#6b8e6fe6;border:none;border-radius:50%;bottom:20px;cursor:pointer;font-size:1.2rem;height:40px;position:fixed;right:20px;transition:transform .2s;width:40px;z-index:1000}.lock-icon:hover{transform:scale(1.1)}.lock-icon.logout{background:#d4a574e6}.edit-bar{background:#d4a574f2;display:flex;gap:1rem;justify-content:center;left:0;padding:1rem 2rem;position:fixed;right:0;top:0;z-index:101}.edit-bar .btn{padding:.5rem 1.5rem;width:auto}.editable{cursor:text;outline:2px dashed #0000;transition:outline .2s}.editable:hover{outline-color:#d4a57480}.editable:focus{outline-color:var(--color-accent)}.story-textarea{background:#0000;border:none;box-sizing:border-box;color:var(--color-text);font-family:var(--font-body);font-size:1.1rem;line-height:2;min-height:200px;outline:2px dashed #0000;overflow:hidden;padding:0;resize:none;transition:outline .2s;width:100%}.story-textarea:hover{outline-color:#d4a57480}.story-textarea:focus{outline-color:var(--color-accent)}.timeline-day-section-edit{background:#fff6;border-radius:8px;margin-bottom:3rem;padding:1.5rem}.schedule-day-header-edit{align-items:center;display:flex;gap:.5rem;margin-bottom:2rem}.schedule-day-controls{display:flex;flex-direction:column;gap:.25rem}.btn-reorder{align-items:center;background:#6b8e6fcc;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;height:24px;justify-content:center;padding:0;transition:background .2s;width:24px}.btn-reorder:hover:not(:disabled){background:#5a7860}.btn-reorder:disabled{cursor:not-allowed;opacity:.3}.day-input-edit{background:#0000;border:none;border-bottom:1px solid #6b8e6f4d;box-sizing:border-box;color:var(--color-primary);flex:1 1;font-family:var(--font-body);font-size:1.3rem;font-style:italic;font-weight:400;min-width:0;padding:.5rem;text-align:center;width:100%}.day-input-edit:focus{border-bottom-color:var(--color-primary);outline:none}.timeline-events-edit{position:relative}.timeline-event-row-edit{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:80px 20px 50px 1fr 30px;margin-bottom:2rem;position:relative}.timeline-event-time-edit{background:#fff9;border:none;border-radius:4px;box-sizing:border-box;color:var(--color-text);font-family:var(--font-body);font-size:.9rem;letter-spacing:1px;padding:.3rem;text-align:right}.timeline-event-time-edit:focus{outline:2px solid var(--color-accent)}.timeline-event-line-edit{background:var(--color-accent);height:100%;justify-self:center;min-height:50px;position:relative;width:2px}.timeline-event-line-edit:before{background:var(--color-accent);border-radius:50%;content:"";height:8px;left:50%;position:absolute;top:20px;transform:translateX(-50%);width:8px}.timeline-icon-picker{height:50px;position:relative;width:50px}.icon-current{align-items:center;background:#fffc;border:2px solid #6b8e6f4d;border-radius:4px;color:var(--color-primary);cursor:pointer;display:flex;height:50px;justify-content:center;padding:.25rem;transition:all .2s;width:50px}.icon-current:hover{background:#fff;border-color:var(--color-primary)}.icon-dropdown{background:#fff;border:2px solid var(--color-primary);border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;padding:.5rem;position:absolute;top:55px;z-index:100}.icon-pack-select{background:#fff;border:1px solid var(--color-primary);border-radius:4px;font-size:.9rem;margin-bottom:.5rem;padding:.4rem;width:100%}.icon-options{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(4,40px)}.icon-dropdown .icon-option{align-items:center;background:#0000;border:2px solid #0000;border-radius:4px;color:var(--color-primary);cursor:pointer;display:flex;height:40px;justify-content:center;padding:.25rem;transition:all .2s;width:40px}.icon-dropdown .icon-option:hover{background:#6b8e6f1a;border-color:var(--color-primary)}.timeline-event-name-edit{background:#fff9;border:none;border-radius:4px;box-sizing:border-box;color:var(--color-text);font-family:var(--font-body);font-size:1rem;letter-spacing:1px;padding:.5rem}.timeline-event-name-edit:focus{outline:2px solid var(--color-primary)}.btn-remove{background:#0000;border:none;color:var(--color-text-light);cursor:pointer;flex-shrink:0;font-size:1.2rem;height:28px;min-width:28px;padding:0;transition:color .2s;width:28px}.btn-remove:hover{color:var(--color-accent)}.btn-remove-event{background:#0000;border:none;color:var(--color-text-light);cursor:pointer;font-size:1.2rem;height:28px;padding:0;transition:color .2s;width:28px}.btn-remove-event:hover{color:var(--color-accent)}.btn-add,.btn-add-day{background:#6b8e6fe6;border:none;border-radius:20px;color:#fff;cursor:pointer;font-family:var(--font-body);font-size:.9rem;letter-spacing:.5px;margin-top:.5rem;padding:.6rem 1.2rem;transition:background .2s}.btn-add-day:hover,.btn-add:hover{background:#5a7860}.btn-add-day{margin-top:1rem;padding:.8rem;width:100%}@media (max-width:768px){.day-input-edit{font-size:1rem;padding:.4rem}.schedule-day-header-edit{flex-wrap:wrap;padding-top:1.5rem;position:relative}.schedule-day-controls{order:2}.day-input-edit{flex:1 1 100%;margin-bottom:.5rem;order:1}.btn-remove{font-size:1.5rem;order:3;position:absolute;right:0;top:0}.timeline-event-row-edit{background:#ffffff4d;border-bottom:2px solid #d4a5744d;border-radius:8px;gap:.75rem;grid-template-columns:1fr;padding:1rem;position:relative}.timeline-event-time-edit{text-align:left}.timeline-event-line-edit{display:none}.btn-remove-event{font-size:1.5rem;position:absolute;right:1rem;top:1rem}.timeline-icon-picker{justify-self:start}.timeline-event-name-edit{width:100%}}
/*# sourceMappingURL=main.7dca06c4.css.map*/