:root{--primary-color:#B99493;--primary-color-light:#d2bdbc;--primary-color-dark:#8e5f5d;--white:#FFF;--bg-color:#EFEAE4;--font-color-default:#434343;--font-color-light:#a3a3a3;--content-max-width:600px;font-size:0.9375em;}*,*::before,*::after{box-sizing:border-box;}*{margin:0;}html,body{height:100%;overflow-x:hidden;touch-action:pan-y;-webkit-overflow-scrolling:touch;}body{line-height:1.5;-webkit-font-smoothing:antialiased;background-color:var(--bg-color);opacity:0;transition:opacity 0.5s ease-in;position:relative;width:100%;max-width:100vw;}body.loaded{opacity:1;}.kr{font-family:'Noto Sans KR',sans-serif;color:var(--font-color-default);word-break:keep-all;}.en{font-family:'Cormorant Garamond',serif;font-weight:500;color:var(--font-color-default);}.en-sacramento{font-family:'Sacramento',serif;font-weight:400;color:var(--font-color-default);}img,picture,video,canvas{display:block;max-width:100%;}input,button,textarea,select{font:inherit;}button{background:none;color:inherit;border:none;padding:0;cursor:pointer;outline:inherit;}section.cover,section.letter,section.gallery,section.calendar,section.location,section.account-trapezoid,section.rsvp-section,section.qna-section,section.guestbook-section,section.video-section,section.share-section{max-width:var(--content-max-width);margin:auto;}.visually-hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px;}::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px;}::-webkit-scrollbar-thumb:hover{background:var(--primary-color-dark);}button:focus,input:focus,textarea:focus{outline:2px solid var(--primary-color);outline-offset:2px;}::selection{background:rgba(185,148,147,0.3);color:var(--font-color-default);}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}}@media print{.music-control,.lightbox-overlay,.modal-overlay,.share-toast,.autoplay-prompt{display:none !important;}body{background:white !important;}.cover{background:none !important;color:black !important;}}.account-trapezoid{background:var(--white);padding:4em 2em;display:flex;flex-direction:column;align-items:center;}.account-title{text-align:center;margin-bottom:2em;color:var(--primary-color);font-family:'Noto Sans KR',sans-serif;font-size:1.3rem;font-weight:600;letter-spacing:1px;}.account-accordion-container{width:100%;max-width:var(--content-max-width);display:flex;flex-direction:column;gap:1em;}.account-accordion-item{width:100%;border-radius:12px;overflow:hidden;background:rgba(255,255,255,0.8);border:1px solid rgba(185,148,147,0.2);box-shadow:0 2px 8px rgba(0,0,0,0.06);transition:all 0.3s cubic-bezier(0.4,0,0.2,1);}.account-accordion-item:hover{box-shadow:0 4px 16px rgba(185,148,147,0.15);border-color:rgba(185,148,147,0.4);}.account-accordion-item.active{border-color:var(--primary-color);box-shadow:0 4px 20px rgba(185,148,147,0.2);}.account-accordion-button{width:100%;padding:1.2em 1.5em;display:flex;align-items:center;justify-content:space-between;background:white;border:none;cursor:pointer;font-family:'Noto Sans KR',sans-serif;font-size:1.1em;font-weight:600;color:var(--font-color-default);transition:all 0.3s cubic-bezier(0.4,0,0.2,1);position:relative;}.account-accordion-button::before{content:'';position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,var(--primary-color),transparent);transition:width 0.3s ease;}.account-accordion-button:hover{background:rgba(185,148,147,0.05);}.account-accordion-button:hover::before{width:4px;}.account-accordion-button .accordion-icon{width:24px;height:24px;color:var(--primary-color);transition:transform 0.3s ease;}.account-accordion-item.active .account-accordion-button .accordion-icon{transform:rotate(180deg);}.account-accordion-content{max-height:0;overflow:hidden;transition:max-height 0.3s ease;background:#f9f9f9;display:flex;flex-direction:column;gap:0;}.account-card{width:100%;background:white;border:none;border-bottom:1px solid rgba(185,148,147,0.15);border-radius:0;padding:1.5em;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:1em;transition:all 0.3s ease;}.account-card:last-child{border-bottom:none;}.account-card:hover{background:#fff;}.account-card-name{font-family:'Noto Sans KR',sans-serif;font-size:1.4em;font-weight:700;color:var(--primary-color);text-align:center;margin-bottom:0.5em;}.account-card-info{width:100%;display:flex;flex-direction:column;gap:0.8em;}.account-card-bank-row{display:flex;align-items:center;justify-content:space-between;gap:0.8em;padding:1em;background:#f8f9fa;border-radius:12px;}.account-card-bank-info{flex:1;min-width:0;}.account-card-bank-name{font-family:'Noto Sans KR',sans-serif;font-size:0.85em;color:#666;margin-bottom:0.3em;}.account-card-number{font-family:'Courier New',monospace;font-size:0.9em;font-weight:600;color:#333;word-break:break-all;}.account-card-copy-button{background:white;color:var(--primary-color);border:1px solid rgba(185,148,147,0.3);padding:0.6em 1em;border-radius:8px;font-family:'Noto Sans KR',sans-serif;font-size:0.85em;font-weight:600;cursor:pointer;transition:all 0.3s ease;flex-shrink:0;display:flex;align-items:center;gap:0.4em;}.account-card-copy-button:hover{background:rgba(185,148,147,0.1);border-color:var(--primary-color);transform:scale(1.02);}.account-kakaopay-button{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:0.5em;padding:1em 1.2em;background:#FEE500;border:none;border-radius:12px;cursor:pointer;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(0,0,0,0.1);}.account-kakaopay-button:hover{background:#FDD800;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.15);}.kakaopay-button-text{font-family:'Noto Sans KR',sans-serif;font-size:0.95em;font-weight:700;color:#3C1E1E;flex:1;text-align:left;}.kakaopay-button-icon{width:36px;height:36px;object-fit:contain;flex-shrink:0;}.account-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,0.8);color:white;padding:1em 2em;border-radius:25px;font-family:'Noto Sans KR',sans-serif;font-size:1em;font-weight:500;z-index:10000;display:none;animation:toastFadeIn 0.3s ease-out;backdrop-filter:blur(10px);box-shadow:0 8px 32px rgba(0,0,0,0.3);}@keyframes toastFadeIn{from{opacity:0;transform:translate(-50%,-50%) scale(0.8);}to{opacity:1;transform:translate(-50%,-50%) scale(1);}}@media (max-width:768px){.account-trapezoid{padding:3em 1.5em;}.account-title{font-size:1.2rem;margin-bottom:1.5em;}.account-accordion-button{padding:1em 1.2em;font-size:1em;}.account-accordion-button .accordion-icon{width:20px;height:20px;}.account-card{padding:1.2em;}.account-card-name{font-size:1.2em;}.account-card-bank-name{font-size:0.8em;}.account-card-number{font-size:0.85em;}.account-card-copy-button{padding:0.5em 0.8em;font-size:0.8em;}.kakaopay-button-text{font-size:0.9em;}.kakaopay-button-icon{width:32px;height:32px;}}@media (max-width:480px){.account-trapezoid{padding:2em 1em;}.account-title{font-size:1.1rem;}.account-accordion-button{padding:0.9em 1em;font-size:0.95em;}.account-card{padding:1em;}.account-card-name{font-size:1.1em;}.account-card-bank-row{flex-direction:column;align-items:stretch;gap:0.6em;}.account-card-copy-button{width:100%;justify-content:center;}.kakaopay-button-text{font-size:0.85em;}.kakaopay-button-icon{width:30px;height:30px;}.account-kakaopay-button{padding:0.9em 1em;}}:root{--primary-color:#B99493;--primary-dark:#8e5f5d;--success-color:#4CAF50;--danger-color:#f44336;--warning-color:#ff9800;--info-color:#2196F3;--bg-color:#f5f5f5;--card-bg:#ffffff;--text-primary:#333;--text-secondary:#666;--border-color:#e0e0e0;--shadow:0 2px 8px rgba(0,0,0,0.1);--shadow-hover:0 4px 16px rgba(0,0,0,0.15);}*{margin:0;padding:0;box-sizing:border-box;}body{font-family:'Noto Sans KR',-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-color);color:var(--text-primary);line-height:1.6;}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);}.login-container{width:100%;max-width:420px;padding:2rem;}.login-box{background:white;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,0.3);padding:3rem;animation:fadeInUp 0.6s ease-out;}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}.login-header{text-align:center;margin-bottom:2rem;}.login-icon{width:80px;height:80px;margin:0 auto 1rem;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;}.login-icon svg{width:40px;height:40px;}.login-header h1{font-size:1.8rem;color:var(--text-primary);margin-bottom:0.5rem;}.login-header p{color:var(--text-secondary);font-size:0.95rem;}.form-group{margin-bottom:1.5rem;}.form-group label{display:flex;align-items:center;gap:0.5rem;font-weight:500;margin-bottom:0.5rem;color:var(--text-primary);}.form-group label svg{width:18px;height:18px;}.form-group input{width:100%;padding:0.875rem 1rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;transition:all 0.3s ease;}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(185,148,147,0.1);}.error-message{background-color:#ffebee;color:var(--danger-color);padding:0.875rem;border-radius:8px;margin-bottom:1rem;font-size:0.9rem;border-left:4px solid var(--danger-color);}.btn-login{width:100%;padding:1rem;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:white;border:none;border-radius:8px;font-size:1.05rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:0.5rem;transition:all 0.3s ease;}.btn-login:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(185,148,147,0.4);}.btn-login:disabled{opacity:0.7;cursor:not-allowed;}.login-footer{margin-top:2rem;text-align:center;}.back-link{display:inline-flex;align-items:center;gap:0.5rem;color:var(--text-secondary);text-decoration:none;font-size:0.9rem;transition:color 0.3s ease;}.back-link:hover{color:var(--primary-color);}.admin-container{max-width:1400px;margin:0 auto;padding:2rem;}.admin-header{background:white;border-radius:12px;padding:1.5rem 2rem;margin-bottom:2rem;box-shadow:var(--shadow);}.header-content{display:flex;justify-content:space-between;align-items:center;}.header-left{display:flex;align-items:center;gap:1rem;}.header-left h1{font-size:1.5rem;color:var(--text-primary);}.admin-badge{background:var(--primary-color);color:white;padding:0.4rem 0.8rem;border-radius:20px;font-size:0.85rem;font-weight:500;}.header-right{display:flex;gap:0.75rem;}button,.btn-primary,.btn-secondary,.btn-danger{padding:0.625rem 1.25rem;border:none;border-radius:8px;font-size:0.9rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:0.5rem;transition:all 0.3s ease;text-decoration:none;}.btn-primary{background:var(--primary-color);color:white;}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-hover);}.btn-secondary{background:#f5f5f5;color:var(--text-primary);}.btn-secondary:hover{background:#e0e0e0;transform:translateY(-1px);}.btn-danger{background:var(--danger-color);color:white;}.btn-danger:hover{background:#d32f2f;transform:translateY(-1px);}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem;}.stat-card{background:white;border-radius:12px;padding:1.5rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:1.5rem;transition:all 0.3s ease;}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);}.stat-icon{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:white;}.stat-icon svg{width:28px;height:28px;}.rsvp-icon{background:linear-gradient(135deg,#667eea,#764ba2);}.guestbook-icon{background:linear-gradient(135deg,#f093fb,#f5576c);}.attendance-icon{background:linear-gradient(135deg,#4facfe,#00f2fe);}.stat-content{flex:1;}.stat-label{font-size:0.9rem;color:var(--text-secondary);margin-bottom:0.25rem;}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:0.25rem;}.stat-detail{font-size:0.85rem;color:var(--text-secondary);}.tab-navigation{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid var(--border-color);}.tab-btn{background:none;border:none;padding:1rem 1.5rem;font-size:1rem;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:3px solid transparent;transition:all 0.3s ease;position:relative;display:flex;align-items:center;gap:0.5rem;}.tab-btn:hover{color:var(--primary-color);}.tab-btn.active{color:var(--primary-color);border-bottom-color:var(--primary-color);}.tab-count{background:var(--primary-color);color:white;padding:0.2rem 0.6rem;border-radius:12px;font-size:0.75rem;font-weight:600;}.tab-content{display:none;}.tab-content.active{display:block;}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;}.content-header h2{display:flex;align-items:center;gap:0.5rem;font-size:1.3rem;color:var(--text-primary);}.content-actions{display:flex;gap:0.75rem;}.filter-bar{display:flex;gap:1rem;margin-bottom:1.5rem;}.filter-bar select,.filter-bar input[type="text"]{padding:0.75rem 1rem;border:2px solid var(--border-color);border-radius:8px;font-size:0.95rem;transition:all 0.3s ease;}.filter-bar select{min-width:180px;}.filter-bar input[type="text"]{flex:1;min-width:250px;}.filter-bar select:focus,.filter-bar input[type="text"]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(185,148,147,0.1);}.table-container{background:white;border-radius:12px;box-shadow:var(--shadow);overflow:hidden;}.data-table{width:100%;border-collapse:collapse;}.data-table thead{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:white;}.data-table th{padding:1rem;text-align:left;font-weight:600;font-size:0.9rem;}.data-table tbody tr{border-bottom:1px solid var(--border-color);transition:background 0.2s ease;}.data-table tbody tr:hover{background:#f9f9f9;}.data-table td{padding:1rem;font-size:0.9rem;}.data-table td.loading-cell{text-align:center;padding:3rem;}.loading-spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem;}@keyframes spin{to{transform:rotate(360deg);}}.status-badge{display:inline-block;padding:0.3rem 0.8rem;border-radius:20px;font-size:0.85rem;font-weight:500;}.status-attending{background:#e8f5e9;color:#2e7d32;}.status-not-attending{background:#ffebee;color:#c62828;}.status-maybe{background:#fff3e0;color:#ef6c00;}.side-badge{display:inline-block;padding:0.3rem 0.8rem;border-radius:20px;font-size:0.85rem;font-weight:500;background:#e3f2fd;color:#1565c0;}.btn-delete{background:none;border:none;color:var(--danger-color);cursor:pointer;padding:0.5rem;border-radius:6px;transition:all 0.3s ease;display:inline-flex;align-items:center;justify-content:center;}.btn-delete:hover{background:#ffebee;}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary);}.empty-state svg{width:64px;height:64px;margin-bottom:1rem;opacity:0.5;}.empty-state p{font-size:1.1rem;}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:1000;align-items:center;justify-content:center;animation:fadeIn 0.3s ease-out;}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}.modal-content{background:white;border-radius:12px;max-width:500px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,0.3);animation:slideUp 0.3s ease-out;}@keyframes slideUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}.modal-header{padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);}.modal-header h3{display:flex;align-items:center;gap:0.5rem;font-size:1.2rem;color:var(--text-primary);}.modal-body{padding:2rem;}.modal-body p{margin-bottom:1rem;font-size:1rem;line-height:1.6;}.warning-text{color:var(--warning-color);font-weight:500;font-size:0.9rem;}.modal-footer{padding:1.5rem 2rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:0.75rem;}.toast{position:fixed;top:2rem;right:2rem;background:rgba(0,0,0,0.85);color:white;padding:1rem 1.5rem;border-radius:8px;font-size:0.95rem;box-shadow:0 4px 12px rgba(0,0,0,0.3);z-index:2000;display:none;animation:slideInRight 0.3s ease-out;}@keyframes slideInRight{from{opacity:0;transform:translateX(100px);}to{opacity:1;transform:translateX(0);}}@media (max-width:1024px){.admin-container{padding:1rem;}.dashboard-stats{grid-template-columns:1fr;}.header-content{flex-direction:column;align-items:flex-start;gap:1rem;}.filter-bar{flex-direction:column;}.filter-bar select,.filter-bar input[type="text"]{width:100%;}}@media (max-width:768px){.admin-header{padding:1rem;}.header-left h1{font-size:1.2rem;}.content-header{flex-direction:column;align-items:flex-start;gap:1rem;}.table-container{overflow-x:auto;}.data-table{min-width:800px;}.toast{right:1rem;left:1rem;}}.photos-stats{display:flex;gap:2rem;padding:1rem 1.5rem;background:white;border-radius:12px;box-shadow:var(--shadow);margin-bottom:1.5rem;}.photos-stats .stat-item{display:flex;gap:0.5rem;align-items:center;}.photos-stats .stat-label{font-size:0.9rem;color:var(--text-secondary);}.photos-stats .stat-value{font-size:1.1rem;font-weight:600;color:var(--primary-color);}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;}.photo-card{background:white;border-radius:12px;box-shadow:var(--shadow);overflow:hidden;transition:all 0.3s ease;}.photo-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,0.15);}.photo-image-container{width:100%;aspect-ratio:1;background:#f5f5f5;overflow:hidden;}.photo-image-container img{width:100%;height:100%;object-fit:cover;}.photo-info{padding:1rem;}.photo-filename{font-weight:600;font-size:0.9rem;color:var(--text-primary);margin-bottom:0.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.photo-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.5rem;}.photo-uploader{font-size:0.85rem;color:var(--text-secondary);}.photo-size{font-size:0.8rem;color:var(--text-secondary);background:#f5f5f5;padding:0.2rem 0.5rem;border-radius:4px;}.photo-date{font-size:0.8rem;color:var(--text-secondary);}.photo-actions{display:flex;gap:0.5rem;padding:0.75rem 1rem;border-top:1px solid var(--border-color);background:#f9f9f9;}.btn-icon{background:none;border:none;padding:0.5rem;border-radius:6px;cursor:pointer;transition:all 0.3s ease;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);}.btn-icon:hover{background:var(--primary-color);color:white;}.btn-icon.btn-danger:hover{background:var(--danger-color);color:white;}.loading-state{text-align:center;padding:3rem;color:var(--text-secondary);}@media (max-width:1024px){.photos-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;}}@media (max-width:768px){.photos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0.75rem;}.photos-stats{flex-direction:column;gap:0.75rem;}}@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600&family=Montserrat:wght@300;400&display=swap');.intro-animation-overlay{position:fixed;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:650px;height:100%;z-index:10000;background:#000;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:opacity;box-shadow:0 0 20px rgba(0,0,0,0.5);opacity:1;}body.intro-active .intro-animation-overlay{display:block;}.intro-animation-overlay:not(.ready) .intro-scene{opacity:0;}.intro-animation-overlay.ready .intro-scene{opacity:1;transition:opacity 0.5s ease-out;}.intro-scene{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;overflow:hidden;}.intro-bg-image{position:absolute;top:0;left:50%;transform:translateX(-50%);width:100%;height:100%;min-width:100%;min-height:100%;object-fit:cover;object-position:center;filter:brightness(0.7);z-index:1;}.intro-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:20px;}.intro-main-text{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:auto;margin-bottom:20px;z-index:10;}#vara-container svg{overflow:visible;width:100%;max-height:80vh;filter:drop-shadow(0 4px 10px rgba(0,0,0,0.5));}#vara-container path{stroke-linecap:round;stroke-linejoin:round;}.intro-bottom-text{position:absolute;bottom:60px;left:0;width:100%;display:flex;justify-content:space-between;padding:0 40px;font-family:'Montserrat',sans-serif;font-size:0.85rem;font-weight:400;color:#FFFFFF;letter-spacing:0.25em;text-shadow:0 2px 10px rgba(0,0,0,0.8);opacity:1;}.intro-scene-1{animation:slideInFromLeft 1.0s cubic-bezier(0.25,0.46,0.45,0.94) forwards;}.intro-scene-1 .intro-bg-image{animation:bgSlideInFromLeft 1.0s cubic-bezier(0.25,0.46,0.45,0.94) forwards;}.intro-scene-1 .intro-content{animation:slideInFromLeft 1.0s cubic-bezier(0.25,0.46,0.45,0.94) forwards;}.intro-scene-1.fade-out{animation:fadeOutScene 1.0s ease-out forwards;}.intro-scene-1.fade-out .intro-bg-image{animation:fadeOutScene 1.0s ease-out forwards;}.intro-scene-1.fade-out .intro-content{animation:fadeOutScene 1.0s ease-out 0.3s forwards;}.intro-animation-overlay.hide{animation:overlayFadeOut 0.5s ease-out forwards;}@keyframes slideInFromLeft{from{opacity:0;transform:translateX(-50px);visibility:hidden;}to{opacity:1;transform:translateX(0);visibility:visible;}}@keyframes bgSlideInFromLeft{from{opacity:0;transform:translateX(calc(-50% - 50px));visibility:hidden;}to{opacity:1;transform:translateX(-50%);visibility:visible;}}@keyframes fadeOutScene{from{opacity:1;transform:scale(1);}to{opacity:0;transform:scale(1.05);}}@media (max-width:768px){.intro-animation-overlay{max-width:100%;left:0;transform:none;}.intro-bg-image{left:0;transform:none;}@keyframes bgSlideInFromLeft{from{opacity:0;transform:translateX(-50px);visibility:hidden;}to{opacity:1;transform:translateX(0);visibility:visible;}}.intro-line{font-size:3.2rem;}.intro-line-1,.intro-line-2{font-size:3.2rem;}.intro-line-3{font-size:2.4rem;}.intro-bottom-text{padding:0 20px;font-size:0.75rem;letter-spacing:0.2em;}.intro-main-text{min-height:250px;}}.calendar{position:relative;background-color:var(--white);padding:2em 1.2em;text-align:center;}.calendar-deco{display:block;width:100%;margin-bottom:1.5em;}.d-day-display{font-family:'Noto Sans KR',sans-serif;text-align:center;margin-bottom:2em;font-size:1.1em;color:black;line-height:1.6;}.d-day-display .highlight{color:var(--primary-color);font-weight:600;}.d-day-display p{margin-top:0.5em;font-size:1.2em;}.countdown-table{margin:0 auto 1em auto;border-collapse:collapse;border:none;}.countdown-table td{text-align:center;vertical-align:middle;padding:0.2em 0.8em;border:none;}.countdown-table td.separator-cell{padding:0.2em 0.3em;}.countdown-table .countdown-labels td{font-family:'Noto Sans KR',sans-serif;font-size:0.85em;color:#A7A4A4;font-weight:500;letter-spacing:1px;padding-bottom:0.3em;}.countdown-table .countdown-values td{font-family:'Noto Sans KR',sans-serif;font-size:2em;color:#5B5555;font-weight:600;}.countdown-table .countdown-separator{font-size:1.5em;color:#5B5555;font-weight:400;padding:0.2em 0.3em;}.countdown-message{font-family:'Noto Sans KR',sans-serif;font-size:1.0em;color:#A7A4A4;margin-top:1em;}.countdown-message #d-day-text{font-weight:600;color:#A7A4A4;}.calendar-buttons{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1em;width:100%;}.calendar-btn{border:none;padding:1em 2.5em;border-radius:25px;font-family:'Noto Sans KR',sans-serif;font-size:1em;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:0.5em;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);width:320px;justify-content:center;white-space:nowrap;}.calendar-btn:hover{transform:translateY(-2px);}.google-calendar{background:linear-gradient(135deg,#4285f4,#34a853);color:white;box-shadow:0 4px 15px rgba(66,133,244,0.3);}.google-calendar:hover{box-shadow:0 6px 20px rgba(66,133,244,0.4);}.rsvp-calendar{background:linear-gradient(135deg,var(--primary-color),var(--primary-color-light)) !important;color:white !important;box-shadow:0 4px 15px rgba(185,148,147,0.3) !important;}.rsvp-calendar:hover{box-shadow:0 6px 20px rgba(185,148,147,0.4);}@media (max-width:768px){.calendar{padding:1.5em 1em;}.calendar-btn{padding:0.9em 2.2em;font-size:0.95em;width:300px;}.countdown-table td{padding:0.2em 0.4em;}.countdown-table td.separator-cell{padding:0.2em 0.15em;}.countdown-table .countdown-labels td{font-size:0.7em;}.countdown-table .countdown-values td{font-size:1.5em;}.countdown-table .countdown-separator{font-size:1.2em;padding:0.2em 0.15em;}}@media (max-width:400px){.countdown-table td{padding:0.2em 0.25em;}.countdown-table td.separator-cell{padding:0.2em 0.1em;}.countdown-table .countdown-labels td{font-size:0.65em;letter-spacing:0.5px;}.countdown-table .countdown-values td{font-size:1.3em;}.countdown-table .countdown-separator{font-size:1em;padding:0.2em 0.1em;}.countdown-message{font-size:0.9em;}}@media (max-width:320px){.countdown-table .countdown-labels td{font-size:0.6em;}.countdown-table .countdown-values td{font-size:1.1em;}.countdown-table .countdown-separator{font-size:0.9em;}}.chatbot-wrapper{background-color:var(--bg-color);padding:4em 0;}.chatbot-section{background-color:var(--white) !important;max-width:var(--content-max-width);margin:-4em auto -4em auto;padding:6em 2em 6em 2em;position:relative;overflow:hidden;}.chatbot-container{max-width:600px;margin:0 auto;background:#FFFFFF !important;border:1px solid rgba(185,148,147,0.2);border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,0.06);overflow:hidden;position:relative;box-sizing:border-box;}.chatbot-section .header{text-align:center;margin-bottom:2.5em;}.chatbot-section .title{color:var(--primary-color);font-family:'Noto Sans KR',sans-serif;font-size:1.3rem;font-weight:600;margin-bottom:0.5em;letter-spacing:1px;}.chatbot-section .subtitle{color:var(--font-color-light);font-size:0.9em;font-family:'Noto Sans KR',sans-serif;display:flex;align-items:center;justify-content:center;gap:0.5em;line-height:1.4;}.chatbot-header{background:linear-gradient(135deg,var(--primary-color),var(--primary-color-light));padding:1.5em;display:flex;align-items:center;gap:1em;}.chatbot-profile{width:50px;height:50px;border-radius:50%;border:3px solid rgba(255,255,255,0.8);box-shadow:0 2px 8px rgba(0,0,0,0.1);background:white;display:flex;align-items:center;justify-content:center;font-size:1.5em;overflow:hidden;flex-shrink:0;}.chatbot-profile img{width:100%;height:100%;object-fit:cover;border-radius:50%;}.chatbot-info{flex:1;color:white;}.chatbot-name{font-family:'Noto Sans KR',sans-serif;font-size:1.1em;font-weight:600;margin-bottom:0.2em;}.chatbot-status{font-size:0.85em;opacity:0.9;display:flex;align-items:center;gap:0.5em;}.status-dot{width:8px;height:8px;background:#4CAF50;border-radius:50%;animation:pulse 2s infinite;}@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.5;}}.chat-area{height:400px;overflow-y:auto;padding:1.5em;background:#fafafa;display:flex;flex-direction:column;gap:1em;}.chat-area::-webkit-scrollbar{width:6px;}.chat-area::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px;}.chat-area::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:3px;}.message-bubble{max-width:85%;padding:1em 1.2em;border-radius:18px;font-family:'Noto Sans KR',sans-serif;line-height:1.5;position:relative;animation:messageSlideIn 0.3s ease-out;word-wrap:break-word;word-break:keep-all;}@keyframes messageSlideIn{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}.message-bubble.user{align-self:flex-end;background:var(--primary-color);color:white;border-bottom-right-radius:6px;}.message-bubble.bot{align-self:flex-start;background:white;color:var(--font-color-default);border:1px solid rgba(185,148,147,0.2);border-bottom-left-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,0.05);}.message-text{margin:0;}.message-time{font-size:0.75em;opacity:0.7;margin-top:0.5em;text-align:right;}.message-bubble.bot .message-time{text-align:left;}.chat-input-area{padding:1.5em;background:white;border-top:1px solid rgba(185,148,147,0.1);}.chat-input-container{display:flex;gap:0.8em;align-items:flex-end;}.chat-input{flex:1;padding:0.8em 1em;border:2px solid rgba(185,148,147,0.2);border-radius:20px;font-family:'Noto Sans KR',sans-serif;font-size:0.95em;background:white;transition:all 0.3s ease;resize:none;min-height:44px;max-height:120px;line-height:1.4;}.chat-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(185,148,147,0.1);}.chat-input::placeholder{color:#aaa;}.chat-send-button{background:var(--primary-color);color:white;border:none;border-radius:50%;width:52px;height:52px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);box-shadow:0 2px 8px rgba(185,148,147,0.3);flex-shrink:0;}.chat-send-button:hover:not(:disabled){background:var(--primary-color-dark);transform:scale(1.05);box-shadow:0 4px 12px rgba(185,148,147,0.4);}.chat-send-button:disabled{opacity:0.5;cursor:not-allowed;transform:none;}.chat-send-button svg{width:24px !important;height:24px !important;stroke-width:2 !important;}.typing-indicator{display:flex;align-items:center;gap:0.5em;padding:1em 1.2em;background:white;border:1px solid rgba(185,148,147,0.2);border-radius:18px;border-bottom-left-radius:6px;max-width:85%;align-self:flex-start;box-shadow:0 2px 8px rgba(0,0,0,0.05);animation:messageSlideIn 0.3s ease-out;}.typing-dots{display:flex;gap:0.2em;}.typing-dot{width:6px;height:6px;background:var(--primary-color);border-radius:50%;animation:typingDots 1.4s infinite ease-in-out;}.typing-dot:nth-child(2){animation-delay:0.2s;}.typing-dot:nth-child(3){animation-delay:0.4s;}@keyframes typingDots{0%,60%,100%{transform:translateY(0);opacity:0.4;}30%{transform:translateY(-10px);opacity:1;}}.typing-text{font-family:'Noto Sans KR',sans-serif;color:var(--font-color-light);font-size:0.9em;}.empty-chat{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--font-color-light);padding:2em;}.empty-chat-icon{font-size:3em;margin-bottom:1em;opacity:0.5;}.empty-chat-text{font-family:'Noto Sans KR',sans-serif;margin-bottom:1.5em;line-height:1.5;font-size:0.95em;}.suggested-questions{display:flex;flex-direction:column;gap:0.8em;width:100%;max-width:300px;}.suggested-question{background:rgba(185,148,147,0.05);color:var(--primary-color);border:1px solid rgba(185,148,147,0.2);border-radius:12px;padding:0.8em 1em;font-size:0.85em;cursor:pointer;transition:all 0.3s ease;font-family:'Noto Sans KR',sans-serif;text-align:left;}.suggested-question:hover{background:rgba(185,148,147,0.1);transform:translateY(-1px);box-shadow:0 2px 8px rgba(185,148,147,0.2);}.example-question{background:rgba(185,148,147,0.1);color:var(--primary-color);border:1px solid rgba(185,148,147,0.2);border-radius:15px;padding:0.5em 1em;font-size:0.8em;cursor:pointer;transition:all 0.3s ease;font-family:'Noto Sans KR',sans-serif;margin:0.2em;display:inline-block;}.example-question:hover{background:rgba(185,148,147,0.2);transform:translateY(-1px);}@media (max-width:768px){.chatbot-section{padding:3em 1.5em;background:var(--bg-color);}.chatbot-section .header{margin-bottom:2em;}.chatbot-container{margin:0;width:100%;border-radius:12px;}.chat-area{height:350px;padding:1em;}.message-bubble{max-width:90%;padding:0.8em 1em;font-size:0.9em;}.chatbot-header{padding:1.2em;}.chatbot-profile{width:40px;height:40px;}.chatbot-name{font-size:1em;}.chatbot-status{font-size:0.8em;}.chat-input-area{padding:1.2em;}.chat-input{font-size:16px;}.chat-send-button{width:48px;height:48px;}.chat-send-button svg{width:22px !important;height:22px !important;}.suggested-questions{max-width:100%;}.empty-chat-text{font-size:0.9em;}.empty-chat-icon{font-size:2.5em;}}@media (max-width:480px){.chatbot-section{padding:2em 1em;}.chatbot-section .header{padding:0 1em;}.chatbot-container{border-radius:8px;}.chat-area{height:300px;padding:0.8em;}.message-bubble{padding:0.7em 0.9em;font-size:0.85em;}.chatbot-header{padding:1em;}.chatbot-profile{width:36px;height:36px;}.chatbot-name{font-size:0.95em;}.chatbot-status{font-size:0.75em;}.chat-input-area{padding:1em;}.chat-input{font-size:16px;padding:0.7em 0.9em;}.chat-send-button{width:44px;height:44px;}.chat-send-button svg{width:20px !important;height:20px !important;}.suggested-question{padding:0.7em 0.8em;font-size:0.8em;}.empty-chat-text{font-size:0.85em;}.empty-chat-icon{font-size:2.2em;}}@media (prefers-reduced-motion:reduce){.message-bubble,.typing-indicator{animation:none;}.typing-dot{animation:none;opacity:0.6;}.status-dot{animation:none;opacity:1;}}@media (prefers-color-scheme:dark){.chatbot-container{}}.cover{position:relative;background-image:url('/static/assets/images/cover.webp');background-repeat:no-repeat;background-position:center 7rem;background-size:cover;overflow:hidden;height:900px;}.white-gradient-blur{position:absolute;top:0;left:0;width:100%;height:35%;pointer-events:none;z-index:2;background:linear-gradient(
to bottom,rgba(255,255,255,1) 0%,rgba(255,255,255,0.7) 70%,rgba(255,255,255,0) 100%
);}.blur-gradient{position:absolute;top:0;left:0;width:100%;height:35%;pointer-events:none;z-index:1;backdrop-filter:blur(5px);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 60%,rgba(0,0,0,0) 100%);}.names-kr-box{position:absolute;top:3em;left:4em;z-index:3;}.names-kr-box .names{color:#616161;display:block;font-size:1rem;letter-spacing:0.8em;line-height:2;}.cover-title-container{width:100%;position:absolute;bottom:1.5em;}.names-en-box{width:100%;display:flex;justify-content:center;}.names-en-box .names{display:block;color:var(--white);word-spacing:5px;font-size:2.2rem;}.event-date-and-place-box{width:100%;display:flex;flex-direction:column;align-items:center;}.event-date-and-time,.event-place{display:block;color:var(--white);font-size:1rem;}.event-date-and-time{margin-bottom:0.4em;}@media (max-width:768px){.cover{height:100vh;}.names-kr-box{top:2em;left:2em;}.names-en-box .names{font-size:1.8rem;}}.location{background-color:var(--white) !important;padding:2em 2em 4em 2em !important;}.share-section{background-color:#FFFFFF !important;padding:2em 0;}.image-overlay-share{max-width:var(--content-max-width);margin:0 auto;padding:0 2em;}.location-top-wave{display:none !important;}.map-buttons-container{background:transparent !important;}.map-button{background:transparent !important;}.map-button:hover{background:transparent !important;}.address-text{font-family:'Noto Sans KR',sans-serif;font-size:1em;color:var(--primary-color);margin-top:0.5em;text-align:center;}.account-accordion-item{width:100%;background:rgba(255,255,255,0.8) !important;border:1px solid rgba(185,148,147,0.2) !important;border-radius:12px !important;box-shadow:0 2px 8px rgba(0,0,0,0.06) !important;overflow:hidden !important;transition:all 0.3s cubic-bezier(0.4,0,0.2,1) !important;margin-bottom:1em !important;}.account-accordion-item.active{background:white !important;border-color:var(--primary-color) !important;box-shadow:0 4px 20px rgba(185,148,147,0.2) !important;}.account-accordion-item:hover{box-shadow:0 4px 16px rgba(185,148,147,0.15) !important;border-color:rgba(185,148,147,0.4) !important;}.account-accordion-button{width:100% !important;padding:1.2em 1.5em !important;background:none !important;border:none !important;text-align:left !important;cursor:pointer !important;display:flex !important;justify-content:space-between !important;align-items:center !important;font-family:'Noto Sans KR',sans-serif !important;font-size:1.1em !important;font-weight:600 !important;color:var(--font-color-default) !important;transition:all 0.3s cubic-bezier(0.4,0,0.2,1) !important;position:relative !important;border-radius:0 !important;margin:0 !important;box-shadow:none !important;}.account-accordion-button:hover{background:rgba(185,148,147,0.05) !important;}.account-accordion-button::before{content:'';position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,var(--primary-color),transparent);transition:width 0.3s ease;}.account-accordion-button:hover::before{width:4px;}.account-accordion-item.active .account-accordion-button{border-bottom:1px solid rgba(185,148,147,0.1) !important;}.account-accordion-button .accordion-icon{width:24px;height:24px;color:var(--primary-color) !important;transition:transform 0.3s cubic-bezier(0.4,0,0.2,1) !important;opacity:1 !important;display:block !important;margin-left:0 !important;}.account-accordion-item.active .account-accordion-button .accordion-icon{transform:rotate(180deg) !important;}.account-accordion-content,.account-details-container{background:rgba(185,148,147,0.02) !important;border:none !important;border-radius:0 !important;width:100% !important;margin:0 !important;transition:max-height 0.3s ease;}.account-accordion-content .account-card{background:transparent !important;border:none !important;border-bottom:1px solid rgba(185,148,147,0.1) !important;box-shadow:none !important;padding:1.5em !important;}.account-accordion-content .account-card:last-child{border-bottom:none !important;}.button-text{text-align:left !important;flex:1;}.photo-upload-section{background:var(--bg-color) !important;padding:4em 0;position:relative;}.photo-upload-section > *{max-width:var(--content-max-width);margin-left:auto;margin-right:auto;padding-left:2em;padding-right:2em;background:white;}.snaps-header-image{display:block;margin:0 auto 0 auto !important;max-width:200px;width:100%;height:auto;padding:2em 2em 0 2em !important;background:white;border-radius:16px 16px 0 0;}.photo-upload-section .header{text-align:center;margin-bottom:0 !important;margin-top:0 !important;background:white;padding:1em 2em 2em 2em !important;border-radius:0;}.photo-upload-section .photo-upload-container{background:white;padding:0 2em 3em 2em !important;margin-top:0 !important;border-radius:0 0 16px 16px;}.photo-upload-section .title{font-family:'Noto Sans KR',sans-serif;font-size:1.3rem;font-weight:600;color:var(--primary-color);margin-bottom:0.5em;letter-spacing:1px;}.photo-upload-section .subtitle{font-family:'Noto Sans KR',sans-serif;font-size:0.9em;color:var(--font-color-light);display:flex;align-items:center;justify-content:center;gap:0.5em;line-height:1.4;}.photo-upload-container{max-width:var(--content-max-width);margin:0 auto;}.upload-info{margin-bottom:2em;text-align:center;background:white;border:1px solid rgba(185,148,147,0.2);border-radius:16px;padding:2em;box-shadow:0 4px 16px rgba(0,0,0,0.06);}.upload-description{font-family:'Noto Sans KR',sans-serif;font-size:0.95em;color:#666;line-height:1.6;}#photo-upload-form{background:white;border:1px solid rgba(185,148,147,0.2);border-radius:16px;padding:2.5em;box-shadow:0 4px 16px rgba(0,0,0,0.06);}.form-group{margin-bottom:1.5em;}.form-label{display:block;font-family:'Noto Sans KR',sans-serif;font-weight:600;color:#333;margin-bottom:0.5em;font-size:0.95em;}.required{color:var(--primary-color);}.form-input{width:100%;padding:0.8em;border:2px solid #e9ecef;border-radius:8px;font-family:'Noto Sans KR',sans-serif;font-size:0.95em;transition:all 0.3s ease;box-sizing:border-box;}.form-input:focus{outline:none;border-color:var(--primary-color);}.file-upload-area{border:2px dashed #ddd;border-radius:12px;padding:2em;text-align:center;transition:all 0.3s ease;background:#f8f9fa;}.file-upload-area:hover,.file-upload-area.dragover{border-color:var(--primary-color);background:#fff5f5;}.file-upload-label{display:flex;flex-direction:column;align-items:center;gap:0.8em;cursor:pointer;color:#666;font-family:'Noto Sans KR',sans-serif;}.file-upload-label i{width:48px;height:48px;color:var(--primary-color);}.file-upload-hint{font-size:0.85em;color:#999;}.file-preview{margin-top:1em;}.file-count{font-family:'Noto Sans KR',sans-serif;font-weight:600;color:var(--primary-color);margin-bottom:1em;}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:0.8em;}.preview-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;border:2px solid #e9ecef;}.preview-image{width:100%;height:100%;object-fit:cover;}.remove-preview-btn{position:absolute;top:4px;right:4px;background:rgba(0,0,0,0.7);color:white;border:none;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:1.2em;line-height:1;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;}.remove-preview-btn:hover{background:rgba(255,0,0,0.8);transform:scale(1.1);}.photo-upload-button{width:100%;background:linear-gradient(135deg,var(--primary-color),var(--primary-color-light));color:white;border:none;padding:1em 2em;border-radius:30px;font-family:'Noto Sans KR',sans-serif;font-size:1.05em;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:0.8em;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);box-shadow:0 6px 20px rgba(185,148,147,0.3);}.photo-upload-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 30px rgba(185,148,147,0.4);}.photo-upload-button:disabled{opacity:0.6;cursor:not-allowed;}.upload-progress{margin-top:1.5em;}.progress-bar{width:100%;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden;margin-bottom:0.5em;}.progress-fill{height:100%;background:var(--primary-color);width:0%;transition:width 0.3s ease;}.progress-text{text-align:center;font-family:'Noto Sans KR',sans-serif;font-size:0.9em;color:#666;}@media (max-width:768px){.location{padding:1.5em 1em 3em 1em !important;}.address-text{font-size:0.9em;}.photo-upload-section{padding:3em 1em;}.snaps-header-image{max-width:180px;}.photo-upload-section .title{font-size:1.2rem;}.upload-info{padding:1.5em;}#photo-upload-form{padding:2em;}.file-upload-area{padding:1.5em;}.preview-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:0.6em;}}@media (max-width:480px){.photo-upload-section{padding:2em 1em;}.snaps-header-image{max-width:150px;}.photo-upload-section .title{font-size:1.1rem;}.upload-info{padding:1.2em;}#photo-upload-form{padding:1.5em;}.file-upload-area{padding:1.2em;}.file-upload-label i{width:36px;height:36px;}.preview-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));}}.footer-section{background:linear-gradient(to bottom,#FFFFFF 0%,#F5F0F0 100%);padding:2em 1.5em 1.5em 1.5em;text-align:center;border-top:1px solid rgba(185,148,147,0.2);max-width:var(--content-max-width);margin:0 auto;}.footer-content{max-width:var(--content-max-width);margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:0.8em;}.footer-couple{margin-bottom:0.2em;}.footer-names{font-size:1.4rem;color:var(--primary-color);letter-spacing:0.05em;}.footer-date{font-size:0.9em;color:var(--font-color-light);font-weight:500;letter-spacing:0.1em;}.footer-divider{width:45px;height:1.5px;background:linear-gradient(to right,transparent,var(--primary-color),transparent);margin:0.5em 0;}.footer-copyright{margin-top:0.5em;padding-top:0.8em;border-top:1px solid rgba(185,148,147,0.15);width:100%;}.footer-copyright p{font-size:0.7em;color:var(--font-color-light);opacity:0.8;}.visitor-stats{font-size:0.85em;margin-bottom:0.5em;}@media (max-width:768px){.footer-section{padding:1.5em 1em 1em 1em;max-width:var(--content-max-width);margin:0 auto;}.footer-names{font-size:1.2rem;}.footer-date{font-size:0.85em;}.footer-divider{width:40px;}.footer-copyright p{font-size:0.65em;}.visitor-stats{font-size:0.8em;}}@media (max-width:480px){.footer-section{padding:1.2em 0.8em 0.8em 0.8em;max-width:var(--content-max-width);margin:0 auto;}.footer-names{font-size:1.1rem;}.footer-date{font-size:0.8em;}.footer-copyright p{font-size:0.6em;}}.companion-count-selector{display:flex;align-items:center;justify-content:center;gap:1.5em;margin-top:0.8em;}.count-btn{width:50px;height:50px;border:2px solid var(--primary-color);background:white;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.3s ease;color:var(--primary-color);flex-shrink:0;}.count-btn svg{width:24px !important;height:24px !important;stroke-width:2.5;}.count-btn:hover:not(:disabled){background:var(--primary-color);color:white;transform:scale(1.05);}.count-btn:disabled{opacity:0.3;cursor:not-allowed;}.count-input{width:100px;height:60px;text-align:center;font-size:2em;font-weight:700;border:2px solid var(--primary-color);border-radius:12px;color:var(--primary-color);background:#f8f9fa;flex-shrink:0;-moz-appearance:textfield;}.count-input::-webkit-outer-spin-button,.count-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}.companion-hint{text-align:center;font-size:0.85em;color:#888;margin-top:0.5em;font-style:italic;}@media (max-width:768px){.companion-count-selector{gap:1em;}.count-btn{width:45px;height:45px;}.count-btn svg{width:20px !important;height:20px !important;}.count-input{width:80px;height:55px;font-size:1.8em;}}@media (max-width:480px){.count-btn{width:40px;height:40px;}.count-btn svg{width:18px !important;height:18px !important;}.count-input{width:70px;height:50px;font-size:1.6em;}}.gallery{padding:4.5em 2em 4em 2em;background-color:var(--white);}.gallery .header{margin-bottom:2em;text-align:center;}.gallery .title{color:var(--primary-color);font-family:'Noto Sans KR',sans-serif;font-size:1.3rem;font-weight:600;letter-spacing:1px;margin-bottom:0.5em;}.gallery .subtitle{color:var(--font-color-light);font-size:0.85em;font-family:'Noto Sans KR',sans-serif;}.main-image-container{position:relative;width:100%;max-width:900px;margin:0 auto 2em;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,0.15);background:#f5f5f5;touch-action:manipulation;-webkit-user-select:none;user-select:none;}.main-gallery-image{width:100%;height:auto;display:block;object-fit:contain;max-height:600px;border-radius:8px;touch-action:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;pointer-events:none;}.gallery-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.95);border:none;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all 0.2s ease;box-shadow:0 2px 12px rgba(0,0,0,0.15);}.gallery-nav-btn:hover{transform:translateY(-50%) scale(1.15);background:rgba(255,255,255,1);box-shadow:0 4px 16px rgba(0,0,0,0.25);}.gallery-nav-btn:active{transform:translateY(-50%) scale(1.0);}.gallery-nav-btn.prev{left:16px;}.gallery-nav-btn.next{right:16px;}.gallery-nav-btn i,.gallery-nav-btn svg{color:#333;width:40px;height:40px;stroke-width:2.5;}.photo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0.5em;max-width:900px;margin:0 auto 1.5em;}.photo-item{position:relative;aspect-ratio:4/3;border-radius:4px;overflow:hidden;cursor:pointer;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);box-shadow:0 2px 8px rgba(0,0,0,0.1);background:#f5f5f5;}.photo-item:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 25px rgba(0,0,0,0.2);z-index:10;}.photo-item.active{box-shadow:0 0 0 3px var(--primary-color);transform:scale(1.05);}.photo-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease;border-radius:0;}@media (max-width:768px){.gallery{padding:3em 1.5em;}.photo-grid{grid-template-columns:repeat(5,1fr);gap:0.4em;}.main-image-container{margin-bottom:1.5em;}}@media (max-width:480px){.gallery{padding:2.5em 1em;}.photo-grid{grid-template-columns:repeat(5,1fr);gap:0.3em;}.main-image-container{border-radius:4px;margin-bottom:1em;}.main-gallery-image{border-radius:4px;}.photo-item{border-radius:2px;}.gallery-nav-btn{width:48px;height:48px;}.gallery-nav-btn.prev{left:8px;}.gallery-nav-btn.next{right:8px;}.gallery-nav-btn i,.gallery-nav-btn svg{width:40px;height:40px;stroke-width:3;}}.thumbnail-pagination{display:flex;justify-content:center;align-items:center;gap:0.5em;margin:0 auto;max-width:900px;}.thumbnail-pagination button{min-width:40px;height:40px;padding:0;border:1px solid #ddd;background:white;color:var(--font-color);border-radius:4px;cursor:pointer;font-family:'Noto Sans KR',sans-serif;font-size:0.95em;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center;}.thumbnail-pagination button:hover{border-color:var(--primary-color);color:var(--primary-color);background:rgba(185,148,147,0.05);}.thumbnail-pagination button.active{background:var(--primary-color);color:white;border-color:var(--primary-color);}.thumbnail-pagination button:disabled{opacity:0.3;cursor:not-allowed;}.thumbnail-pagination button:disabled:hover{border-color:#ddd;color:var(--font-color);background:white;}.guestbook-section{padding:4em 2em;background:var(--white);position:relative;}.guestbook-section .header{text-align:center;margin-bottom:2.5em;}.guestbook-section .title{color:var(--primary-color);font-family:'Noto Sans KR',sans-serif;font-size:1.3rem;font-weight:600;margin-bottom:0.5em;letter-spacing:1px;}.guestbook-section .subtitle{color:var(--font-color-light);font-size:0.9em;font-family:'Noto Sans KR',sans-serif;display:flex;align-items:center;justify-content:center;gap:0.5em;line-height:1.4;}.guestbook-preview{background:white;border:1px solid rgba(185,148,147,0.2);border-radius:16px;padding:2.5em;box-shadow:0 4px 16px rgba(0,0,0,0.06);text-align:center;margin-bottom:3em;}.preview-content{max-width:400px;margin:0 auto;}.form-header{display:flex;align-items:center;justify-content:center;gap:0.5em;margin-bottom:1.5em;font-family:'Noto Sans KR',sans-serif;font-weight:600;color:var(--primary-color);font-size:1.1em;}.preview-text{font-family:'Noto Sans KR',sans-serif;color:#666;font-size:1em;line-height:1.6;margin-bottom:2em;}.guestbook-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-color-light));color:white;border:none;padding:1em 2.5em;border-radius:30px;font-family:'Noto Sans KR',sans-serif;font-size:1.1em;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:0.8em;margin:0 auto;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);box-shadow:0 6px 20px rgba(185,148,147,0.3);}.guestbook-button:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(185,148,147,0.4);}.messages-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1.5em;padding:1em 0;margin-bottom:2em;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(185,148,147,0.3) transparent;}.messages-list::-webkit-scrollbar{height:8px;}.messages-list::-webkit-scrollbar-track{background:transparent;}.messages-list::-webkit-scrollbar-thumb{background:rgba(185,148,147,0.3);border-radius:4px;}.messages-list::-webkit-scrollbar-thumb:hover{background:rgba(185,148,147,0.5);}.write-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-color-light));color:white;border:none;padding:0.8em 1.5em;border-radius:25px;font-family:'Noto Sans KR',sans-serif;font-size:0.9em;font-weight:600;cursor:pointer;box-shadow:0 4px 15px rgba(185,148,147,0.4);transition:all 0.3s ease;margin:1em 0 0 auto;display:block;}.write-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(185,148,147,0.6);}.messages-section{background:transparent;border-radius:0;padding:0;box-shadow:none;}.messages-header{margin-bottom:2em;text-align:center;}.messages-title{color:var(--primary-color);font-family:'Noto Sans KR',sans-serif;font-size:1.2em;font-weight:600;display:flex;align-items:center;justify-content:center;gap:0.5em;}.loading-state,.empty-state{text-align:center;padding:3em 2em;color:#666;}.loading-spinner{width:24px;height:24px;border:2px solid rgba(185,148,147,0.3);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1em;}@keyframes spin{to{transform:rotate(360deg);}}.empty-state{display:flex;flex-direction:column;align-items:center;gap:0.5em;}.empty-state p{font-weight:600;margin-bottom:0.2em;}.empty-state span{font-size:0.9em;color:var(--font-color-light);}.message-card{position:relative;background:#FEF7F6;border-radius:16px;padding:2em 1.5em 1.5em;font-family:'Noto Sans KR',sans-serif;box-shadow:0 2px 8px rgba(0,0,0,0.06);transition:all 0.3s cubic-bezier(0.4,0,0.2,1);min-width:280px;max-width:320px;min-height:300px;display:flex;flex-direction:column;scroll-snap-align:start;flex-shrink:0;}.message-card:hover{transform:translateY(-5px);box-shadow:0 4px 16px rgba(0,0,0,0.12);}.message-card::before{content:'🌸';position:absolute;top:0.8em;left:50%;transform:translateX(-50%);font-size:1.2em;}.message-header{display:flex;justify-content:flex-end;align-items:flex-start;margin-bottom:0.5em;position:relative;padding-top:0.5em;}.author-info{display:none;}.author-name{font-family:'Noto Sans KR',sans-serif;font-weight:400;color:#888;font-size:0.85em;text-align:center;margin-top:auto;}.timestamp{font-size:0.7em;color:var(--font-color-light);opacity:0.6;text-align:center;margin-top:0.3em;}.message-actions{display:flex;gap:0.4em;position:absolute;top:0.8em;right:1em;}.edit-button{background:transparent;color:#999;border:none;width:20px;height:20px;cursor:pointer;font-size:1em;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;opacity:0.6;padding:0;}.edit-button:hover{color:#666;transform:scale(1.15);opacity:1;}.delete-button{background:transparent;color:#999;border:none;width:20px;height:20px;cursor:pointer;font-size:1.2em;font-weight:300;line-height:1;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;opacity:0.6;padding:0;}.delete-button:hover{color:#d32f2f;transform:scale(1.15);opacity:1;}.message-content{flex:1;display:flex;flex-direction:column;align-items:flex-start;padding:0.5em 0;}.message-content p{font-family:'Noto Sans KR',sans-serif;line-height:1.6;color:black;font-size:0.95em;margin:0;word-break:break-word;text-align:left;}.message-card .author-display{font-family:'Noto Sans KR',sans-serif;font-weight:400;color:#999;font-size:0.85em;text-align:center;margin-top:auto;padding-top:1em;border-top:1px solid rgba(0,0,0,0.05);}.read-more-btn{background:rgba(185,148,147,0.2);color:var(--primary-color);border:1px solid rgba(185,148,147,0.3);padding:0.3em 0.8em;border-radius:12px;font-family:'Noto Sans KR',sans-serif;font-size:0.75em;font-weight:600;cursor:pointer;transition:all 0.3s ease;margin-top:0.8em;margin-left:-0.5em;width:fit-content;align-self:flex-start;}.read-more-btn:hover{background:rgba(185,148,147,0.3);transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,0.1);}.password-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);display:none;align-items:center;justify-content:center;z-index:10000;backdrop-filter:blur(5px);}.password-modal-content{background:white;padding:2em;border-radius:16px;max-width:400px;width:90%;text-align:center;box-shadow:0 20px 40px rgba(0,0,0,0.2);}.password-modal h3{color:var(--primary-color);margin-bottom:1em;font-family:'Noto Sans KR',sans-serif;}.password-input{width:100%;padding:0.8em;border:2px solid rgba(185,148,147,0.3);border-radius:8px;font-family:'Noto Sans KR',sans-serif;font-size:1em;margin-bottom:1em;}.password-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(185,148,147,0.1);}.password-buttons{display:flex;gap:1em;justify-content:center;}.password-button{padding:0.8em 1.5em;border:none;border-radius:8px;font-family:'Noto Sans KR',sans-serif;font-weight:600;cursor:pointer;transition:all 0.3s ease;}.password-button.confirm{background:var(--primary-color);color:white;}.password-button.cancel{background:#ccc;color:#666;}.password-button:hover{transform:translateY(-1px);}.char-counter{text-align:right;font-size:0.85em;color:var(--font-color-light);margin-top:0.3em;font-family:'Noto Sans KR',sans-serif;}.char-counter.warning{color:#ff9800;}.char-counter.error{color:#f44336;}.form-hint{font-size:0.8em;color:var(--font-color-light);margin-top:0.3em;font-family:'Noto Sans KR',sans-serif;}@media (max-width:768px){.guestbook-section{padding:3em 1.5em;}.messages-list{gap:1em;padding:1em 0.5em;}.message-card{min-width:260px;max-width:280px;padding:1.8em 1.2em 1.2em;min-height:240px;}.message-content p{font-size:0.9em;}.message-card .author-display{font-size:0.8em;}.write-button{margin:1em auto 0;text-align:center;}.password-modal-content{padding:1.5em;margin:1em;}.password-buttons{flex-direction:column;gap:0.8em;}.password-button{width:100%;}}.letter{padding:4.5em 3.5em 3em 3.5em;background:var(--white);}.letter .header{display:flex;flex-direction:column;align-items:center;margin-bottom:1.2em;}.header-deco{width:12em;margin-bottom:0.8em;}.letter .title{color:var(--primary-color);letter-spacing:1px;font-size:1.3rem;font-weight:600;margin-bottom:0.4em;}.letter .sub-title{color:var(--primary-color);font-weight:500;font-size:1rem;}.invitation-header{font-family:'Spectral',serif;font-size:2rem;color:#6F6F6F;text-align:center;margin:0.3em 0 0.5em 0;font-weight:400;letter-spacing:2px;}.letter .letter{text-align:center;line-height:2.2em;font-size:1rem;}.letter-bottom{max-width:var(--content-max-width);width:100%;margin:0 auto;}.family-description{margin-top:2em;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0.5em;}.groom-line,.bride-line{display:flex;flex-direction:row;align-items:center;justify-content:center;margin-bottom:0.5em;gap:0.2em;color:var(--font-color-default);font-size:1.1em;}.name-divider{display:flex;align-items:center;justify-content:center;margin:0 0.5em;}.groom-name,.bride-name{font-size:1.1em;font-weight:bold;color:var(--primary-color);margin-left:1.0em;}@media (max-width:768px){.letter{padding:3em 2em;}.invitation-header{font-size:1.6rem;margin:0.3em 0 0.5em 0;}}.location{background-color:var(--white);padding:4em 2em;display:flex;flex-direction:column;align-items:center;}.location .title{color:var(--primary-color);text-align:center;margin-bottom:2em;font-family:'Noto Sans KR',sans-serif;font-size:1.3rem;font-weight:600;letter-spacing:1px;}.location-tabs{display:flex;gap:1em;margin-bottom:2.5em;background:#f5f5f5;padding:0.4em;border-radius:30px;position:relative;}.location-tab-indicator{position:absolute;top:0.4em;left:0.4em;height:calc(100% - 0.8em);background:white;border-radius:25px;box-shadow:0 2px 8px rgba(0,0,0,0.1);transition:all 0.3s cubic-bezier(0.4,0,0.2,1);pointer-events:none;z-index:0;}.location-tab{flex:1;padding:0.8em 2em;border:none;border-radius:25px;font-family:'Noto Sans KR',sans-serif;font-size:1em;font-weight:600;cursor:pointer;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);background:transparent;color:#999;min-width:120px;position:relative;z-index:1;}.location-tab.active{color:var(--primary-color);}.location-tab:hover:not(.active){color:#666;}.location-contents-wrapper{width:100%;max-width:var(--content-max-width);position:relative;overflow:hidden;}.location-content{display:none;width:100%;max-width:var(--content-max-width);opacity:0;transform:translateX(100%);transition:transform 0.4s cubic-bezier(0.4,0,0.2,1),opacity 0.4s ease;}.location-content.active{display:block;opacity:1;transform:translateX(0);}.location-content.slide-out-left{transform:translateX(-100%);opacity:0;}.location-content.slide-out-right{transform:translateX(100%);opacity:0;}.location-content.slide-in-left{transform:translateX(-100%);opacity:0;}.location-content.slide-in-right{transform:translateX(100%);opacity:0;}.dining-container{display:flex;flex-direction:column;align-items:center;gap:2em;}.dining-image{width:100%;max-width:100%;border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,0.1);}.dining-text{text-align:center;padding:1em 2em;}.dining-text p{font-family:'Noto Sans KR',sans-serif;font-size:1em;line-height:1.8;color:var(--font-color-default);}.venue{font-family:'Noto Sans KR',sans-serif;font-size:1.1rem;}.address-text{font-family:'Noto Sans KR',sans-serif;font-size:1em;color:var(--primary-color);margin-top:0.5em;text-align:center;}.map-image-container{margin:2.5em 1em 0 1em;width:calc(100% - 2em);border-radius:12px 12px 0 0;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,0.1);cursor:pointer;position:relative;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);}.map-image-container:hover{transform:translateY(-2px);}.map-image-container:hover .map-click-hint{opacity:1;}.map-image-container:hover .map-image{transform:scale(1.02);}.map-image{width:100%;height:auto;display:block;transition:transform 0.3s ease;}.map-click-hint{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,0.7));color:white;text-align:center;padding:2em 1em 1em;font-family:'Noto Sans KR',sans-serif;font-size:0.9em;opacity:0;transition:opacity 0.3s ease;}.map-buttons-container{margin:0 1em 2em 1em;width:calc(100% - 2em);display:flex;justify-content:stretch;gap:0;background:#EFEAE4;border-radius:0 0 12px 12px;box-shadow:0 4px 16px rgba(0,0,0,0.1);}.map-button{border:none;cursor:pointer;padding:1em 1.5em;display:flex;flex-direction:column;color:var(--font-color-default);font-size:1em;text-align:center;gap:0.5em;flex:1;align-items:center;background:#EFEAE4;border-radius:0;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);}.map-button:last-child{border-radius:0 0 12px 0;}.map-button:first-child{border-radius:0 0 0 12px;}.map-button:hover{background:#e8e1db;transform:translateY(-1px);}.map-button span{font-size:0.85em;font-family:'Noto Sans KR',sans-serif;font-weight:500;}.map-icon{width:35px;height:35px;object-fit:contain;border-radius:6px;transition:transform 0.2s ease-in-out;}.map-lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn 0.3s ease-out;}.map-lightbox-container{position:relative;max-width:95vw;max-height:95vh;display:flex;align-items:center;justify-content:center;}.map-lightbox-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;animation:zoomIn 0.3s ease-out;box-shadow:0 20px 40px rgba(0,0,0,0.3);}.map-lightbox-close{position:absolute;top:-50px;right:-50px;background:rgba(255,255,255,0.1);color:white;border:1px solid rgba(255,255,255,0.2);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s ease;backdrop-filter:blur(10px);}.map-lightbox-close:hover{background:rgba(255,255,255,0.2);transform:scale(1.1);}.map-lightbox-info{position:absolute;bottom:-50px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.7);color:white;padding:0.8em 1.5em;border-radius:20px;font-family:'Noto Sans KR',sans-serif;font-size:1em;font-weight:500;backdrop-filter:blur(10px);white-space:nowrap;}@media (max-width:768px){.location{padding:1.5em 1em 3em 1em;}.address-text{font-size:0.9em;}.map-image-container{margin:2em 0 0 0;width:100%;}.map-buttons-container{margin:0 0 2em 0;width:100%;}.map-button{padding:1em 0.8em;}.map-button span{font-size:0.85em;}.map-icon{width:32px;height:32px;}.map-click-hint{font-size:0.85em;padding:1.5em 1em 1em;}.map-lightbox-close{top:10px;right:10px;width:40px;height:40px;}.map-lightbox-info{bottom:20px;font-size:0.9em;padding:0.6em 1.2em;}}@media (max-width:480px){.location{padding:1em 0.5em 2em 0.5em;}.map-button{padding:0.9em 0.6em;}.map-button span{font-size:0.8em;}.map-icon{width:28px;height:28px;}}.form-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;z-index:9999;padding:2em;backdrop-filter:blur(5px);animation:fadeIn 0.3s ease;}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}.form-modal-content{background:white;border-radius:16px;padding:2.5em;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,0.3);border:1px solid rgba(185,148,147,0.2);position:relative;animation:slideUp 0.3s ease;box-sizing:border-box;margin:0 auto;}@keyframes slideUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}.form-modal-close{position:absolute;top:1em;right:1em;width:32px;height:32px;border:none;background:rgba(0,0,0,0.1);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.3s ease;color:#666;z-index:10;}.form-modal-close:hover{background:rgba(185,148,147,0.2);color:#B99493;transform:rotate(90deg);}.form-modal-close i,.form-modal-close svg{width:20px;height:20px;stroke-width:2;}.form-modal-header{text-align:center;margin-bottom:2em;}.form-modal-title{font-size:1.5em;font-weight:600;color:#B99493;margin-bottom:0.5em;}.form-modal-subtitle{color:#666;font-size:0.95em;line-height:1.6;}.form-group{margin-bottom:1.5em;}.form-label{display:block;font-weight:500;color:#333;margin-bottom:0.8em;font-size:0.95em;}.required{color:#e74c3c;}.button-group{display:flex;gap:0.8em;}.option-btn{flex:1;padding:0.8em 1.5em;border:2px solid #e0e0e0;border-radius:4px;background:white;color:#666;font-family:'Noto Sans KR',sans-serif;font-size:0.95em;font-weight:500;cursor:pointer;transition:all 0.3s ease;text-align:center;}.option-btn:hover{border-color:#000;color:#000;}.option-btn.selected{background:#000;border-color:#000;color:white;}.meal-option{display:flex;align-items:center;justify-content:center;gap:0.5em;}.meal-option .meal-icon{width:20px;height:20px;flex-shrink:0;}.meal-option .checked-icon{display:none;}.meal-option .unchecked-icon{display:inline-block;}.meal-option.selected .checked-icon{display:inline-block;}.meal-option.selected .unchecked-icon{display:none;}.extra-count-container{display:flex;align-items:center;gap:0.5em;padding:0.8em 0;border-bottom:1px solid #e0e0e0;}.extra-prefix,.extra-suffix{font-family:'Noto Sans KR',sans-serif;font-size:0.95em;color:#333;}.extra-count-input{width:50px;border:none;font-family:'Noto Sans KR',sans-serif;font-size:0.95em;color:#333;text-align:center;padding:0.3em;background:transparent;-moz-appearance:textfield;}.extra-count-input::-webkit-outer-spin-button,.extra-count-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}.extra-count-input:focus{outline:none;}.meal-check-group{display:flex;gap:2em;padding:0.5em 0;}.meal-check-option{display:flex;align-items:center;gap:0.5em;cursor:pointer;font-family:'Noto Sans KR',sans-serif;font-size:0.95em;color:#333;}.meal-check-icon{width:20px;height:20px;flex-shrink:0;color:#333;}.meal-check-option .checked-icon{display:none;}.meal-check-option .unchecked-icon{display:inline-block;}.meal-check-option.selected .checked-icon{display:inline-block;}.meal-check-option.selected .unchecked-icon{display:none;}.privacy-consent-header{margin-bottom:0.8em;}.privacy-title{font-weight:700;color:#000;font-size:1em;}.privacy-description{font-size:0.85em;color:#999;line-height:1.6;margin:0.5em 0 1em 0;}.privacy-check-option{display:flex;align-items:center;gap:0.5em;cursor:pointer;font-family:'Noto Sans KR',sans-serif;font-size:0.95em;color:#333;}.privacy-check-icon{width:20px;height:20px;flex-shrink:0;color:#333;}.privacy-check-option .checked-icon{display:none;}.privacy-check-option .unchecked-icon{display:inline-block;}.privacy-check-option.checked .checked-icon{display:inline-block;}.privacy-check-option.checked .unchecked-icon{display:none;}.text-input,.form-textarea{width:100%;padding:0.8em 1em;border:2px solid #e0e0e0;border-radius:8px;font-family:'Noto Sans KR',sans-serif;font-size:0.95em;background:white;transition:all 0.3s ease;resize:vertical;}.text-input:focus,.form-textarea:focus{outline:none;border-color:#B99493;box-shadow:0 0 0 3px rgba(185,148,147,0.1);}.text-input::placeholder,.form-textarea::placeholder{color:#aaa;}.form-textarea{min-height:100px;line-height:1.6;}.char-counter{text-align:right;font-size:0.8em;color:#a3a3a3;margin-top:0.3em;}.char-counter.warning{color:#ffc107;}.char-counter.error{color:#e74c3c;}.password-hint{font-size:0.8em;color:#a3a3a3;margin-top:0.3em;}.submit-btn{width:100%;background:#000;color:white;border:none;padding:1em 2em;border-radius:4px;font-family:'Noto Sans KR',sans-serif;font-size:1em;font-weight:600;cursor:pointer;transition:all 0.3s ease;margin-top:1em;box-shadow:0 4px 12px rgba(0,0,0,0.2);}.submit-btn:hover:not(:disabled){background:#333;transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,0.3);}.submit-btn:disabled{opacity:0.6;cursor:not-allowed;}.loading-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,0.3);border-top-color:white;border-radius:50%;animation:spin 1s linear infinite;display:inline-block;margin-right:0.5em;vertical-align:middle;}@keyframes spin{to{transform:rotate(360deg);}}.example-messages{background:rgba(185,148,147,0.05);border-radius:12px;padding:1.5em;margin-bottom:1.5em;}.example-messages h4{color:#B99493;font-size:1em;margin-bottom:1em;text-align:center;}.example-list{list-style:none;padding:0;}.example-list li{padding:0.5em 0;color:#666;font-size:0.85em;border-bottom:1px solid rgba(185,148,147,0.1);line-height:1.4;}.example-list li:last-child{border-bottom:none;}@media (max-width:768px){.form-modal{padding:1em;}.form-modal-content{padding:2em 1.5em;max-height:85vh;}.form-modal-title{font-size:1.3em;}.button-group{flex-direction:column;}.text-input,.form-textarea{font-size:16px;}}@media (max-width:480px){.form-modal{padding:0.5em;}.form-modal-content{padding:1.5em 1em;}.form-modal-title{font-size:1.2em;}.form-modal-subtitle{font-size:0.9em;}}.bgm-notification-banner{position:fixed;top:-80px;left:50%;transform:translateX(-50%);background:#696A6A;backdrop-filter:blur(10px);border-radius:0;padding:1em 2em;box-shadow:0 4px 20px rgba(0,0,0,0.3);z-index:2000;border:none;display:flex;align-items:center;justify-content:center;transition:top 0.5s cubic-bezier(0.4,0,0.2,1);pointer-events:none;max-width:var(--content-max-width);width:calc(100% - 4em);}.bgm-notification-banner.show{top:0;}.bgm-notification-text{font-family:'Noto Sans KR',sans-serif;font-size:1em;color:#ffffff;font-weight:500;}.bgm-notification-icon{color:#ffffff;width:20px;height:20px;}.bgm-speaker-control{position:fixed;top:-60px;right:20px;z-index:1000;opacity:0;transition:top 0.5s cubic-bezier(0.4,0,0.2,1),opacity 0.5s cubic-bezier(0.4,0,0.2,1);pointer-events:none;}.bgm-speaker-control.show{top:20px;opacity:1;pointer-events:auto;}.bgm-speaker-button{background:#696A6A;backdrop-filter:blur(10px);color:#ffffff;border:none;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);box-shadow:0 4px 20px rgba(0,0,0,0.3);padding:0;position:relative;}.bgm-speaker-button:hover:not(:disabled){background:#5a5b5b;color:white;transform:scale(1.05);box-shadow:0 8px 30px rgba(0,0,0,0.4);}.bgm-speaker-button:disabled{opacity:0.5;cursor:not-allowed;}.bgm-speaker-button svg[data-lucide]{width:24px !important;height:24px !important;min-width:24px !important;min-height:24px !important;max-width:24px !important;max-height:24px !important;stroke-width:2.5 !important;display:block !important;margin:0 auto !important;position:absolute !important;top:50% !important;left:50% !important;transform:translate(-50%,-50%) !important;}.bgm-speaker-button i{display:flex;align-items:center;justify-content:center;line-height:0;width:100%;height:100%;}.music-info{display:flex;flex-direction:column;gap:0.3em;min-width:120px;}.time-display{font-size:0.75em;color:var(--font-color-default);font-family:'Noto Sans KR',sans-serif;text-align:center;}.autoplay-prompt{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(255,255,255,0.98);backdrop-filter:blur(15px);border-radius:20px;padding:2em 2.5em;box-shadow:0 8px 32px rgba(0,0,0,0.2);z-index:2000;border:2px solid rgba(185,148,147,0.3);animation:fadeInPulse 0.8s ease-out;text-align:center;}.prompt-content{display:flex;flex-direction:column;align-items:center;gap:1.5em;color:var(--primary-color);font-family:'Noto Sans KR',sans-serif;}.prompt-message{display:flex;align-items:center;gap:0.8em;font-size:1.1em;font-weight:600;}.prompt-buttons{display:flex;gap:1em;justify-content:center;}.prompt-button{padding:0.8em 2em;border-radius:25px;border:none;font-family:'Noto Sans KR',sans-serif;font-size:1em;font-weight:600;cursor:pointer;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(0,0,0,0.1);}.prompt-button.yes{background:var(--primary-color);color:white;}.prompt-button.yes:hover{background:var(--primary-color-dark);transform:translateY(-2px);box-shadow:0 4px 12px rgba(185,148,147,0.3);}.prompt-button.no{background:#f5f5f5;color:#666;}.prompt-button.no:hover{background:#e0e0e0;transform:translateY(-2px);}@keyframes fadeInPulse{0%{opacity:0;transform:translate(-50%,-50%) scale(0.8);}50%{transform:translate(-50%,-50%) scale(1.05);}100%{opacity:1;transform:translate(-50%,-50%) scale(1);}}@media (max-width:768px){.bgm-notification-banner{padding:0.8em 1.5em;border-radius:0 0 15px 15px;max-width:90%;}.bgm-notification-text{font-size:0.9em;}.bgm-notification-icon{width:18px;height:18px;}.bgm-speaker-control.show{top:15px;right:15px;}.bgm-speaker-button{width:44px;height:44px;}.bgm-speaker-button svg[data-lucide]{width:22px !important;height:22px !important;min-width:22px !important;min-height:22px !important;max-width:22px !important;max-height:22px !important;}.autoplay-prompt{padding:1.5em 2em;max-width:90%;}.prompt-message{font-size:1em;}.prompt-button{padding:0.7em 1.5em;font-size:0.95em;}}.pagination-container{text-align:center;}.pagination{display:flex;align-items:center;justify-content:center;gap:0.5em;margin-bottom:1em;}.pagination-btn{background:white;border:1px solid rgba(185,148,147,0.3);border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s ease;color:var(--primary-color);}.pagination-btn:hover:not(:disabled){background:rgba(185,148,147,0.1);border-color:var(--primary-color);transform:scale(1.05);}.pagination-btn:disabled{opacity:0.3;cursor:not-allowed;}.page-numbers{display:flex;gap:0.3em;max-width:200px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;}.page-numbers::-webkit-scrollbar{display:none;}.page-btn{background:white;border:1px solid rgba(185,148,147,0.3);border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s ease;color:var(--primary-color);font-family:'Noto Sans KR',sans-serif;font-weight:500;font-size:0.9em;flex-shrink:0;}.page-btn:hover{background:rgba(185,148,147,0.1);border-color:var(--primary-color);transform:scale(1.05);}.page-btn.active{background:var(--primary-color);color:white;border-color:var(--primary-color);transform:scale(1.1);}.pagination-info{color:var(--font-color-light);font-size:0.85em;font-family:'Noto Sans KR',sans-serif;}@media (max-width:768px){.pagination-btn,.page-btn{width:32px;height:32px;}.page-btn{font-size:0.8em;}.pagination-info{font-size:0.8em;}}.qna-section{padding:4em 2em;background-color:var(--white);}.qna-section .header{text-align:center;margin-bottom:2.5em;}.qna-section .title{color:var(--primary-color);font-family:'Noto Sans KR',sans-serif;font-size:1.3rem;font-weight:600;letter-spacing:1px;margin-bottom:0.5em;}.qna-section .subtitle{color:var(--font-color-light);font-size:0.9em;font-family:'Noto Sans KR',sans-serif;}.accordion-container{display:flex;flex-direction:column;gap:0.8em;}.accordion-item{border:1px solid rgba(185,148,147,0.2);border-radius:12px;overflow:hidden;background:rgba(255,255,255,0.8);transition:all 0.3s cubic-bezier(0.4,0,0.2,1);box-shadow:0 2px 8px rgba(0,0,0,0.06);}.accordion-item:hover{box-shadow:0 4px 16px rgba(185,148,147,0.15);border-color:rgba(185,148,147,0.4);}.accordion-item.open{border-color:var(--primary-color);box-shadow:0 4px 20px rgba(185,148,147,0.2);}.accordion-header{width:100%;padding:1.2em 1.5em;background:none;border:none;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:'Noto Sans KR',sans-serif;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);position:relative;}.accordion-header:hover{background:rgba(185,148,147,0.05);}.accordion-header::before{content:'';position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,var(--primary-color),transparent);transition:width 0.3s ease;}.accordion-header:hover::before{width:4px;}.question{font-size:1em;font-weight:600;color:var(--font-color-default);line-height:1.4;padding-right:1em;}.chevron{color:var(--primary-color);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);flex-shrink:0;}.chevron.rotated{transform:rotate(180deg);}.accordion-content{overflow:hidden;transition:all 0.4s cubic-bezier(0.4,0,0.2,1);}.accordion-content.collapsed{max-height:0;opacity:0;}.accordion-content.expanded{max-height:2000px;opacity:1;}.answer{padding:1.2em 1.5em 1.5em 1.5em;color:var(--font-color-default);font-family:'Noto Sans KR',sans-serif;line-height:1.6;font-size:0.95em;border-top:1px solid rgba(185,148,147,0.1);background:rgba(185,148,147,0.02);animation:slideIn 0.4s ease-out;}@keyframes slideIn{from{transform:translateY(-10px);opacity:0;}to{transform:translateY(0);opacity:1;}}@media (max-width:768px){.qna-section{padding:3em 1.5em;}.accordion-header{padding:1em 1.2em;}.question{font-size:0.95em;}.answer{padding:1em 1.2em 1.2em 1.2em;font-size:0.9em;}}.attendance-notice-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);z-index:10000;display:flex;justify-content:center;align-items:center;padding:1.5em;backdrop-filter:blur(5px);}.attendance-notice-content{background:white;border-radius:20px;max-width:480px;width:100%;padding:2.5em 2em;box-shadow:0 20px 60px rgba(0,0,0,0.3);text-align:center;animation:modalFadeIn 0.3s ease-out;box-sizing:border-box;position:relative;margin:0 auto;}.attendance-notice-close{position:absolute;top:1.2em;right:1.2em;background:transparent;border:none;cursor:pointer;color:#000;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all 0.2s ease;padding:0;}.attendance-notice-close:hover{background:rgba(0,0,0,0.05);transform:scale(1.1);}.attendance-notice-close i,.attendance-notice-close svg{width:24px;height:24px;stroke-width:2;}.attendance-notice-title{font-family:'Noto Sans KR',sans-serif;font-size:1.8rem;font-weight:700;color:#000;margin-bottom:1.2em;letter-spacing:0.5px;}.attendance-notice-description{font-family:'Noto Sans KR',sans-serif;font-size:1rem;line-height:1.8;color:#000;margin-bottom:2em;}.attendance-notice-divider{width:100%;height:1px;background:linear-gradient(to right,transparent,#ddd,transparent);margin:2em 0;}.attendance-notice-info{margin-bottom:2.5em;text-align:left;}.attendance-notice-info .info-item{display:flex;align-items:center;gap:0.8em;margin-bottom:1em;font-family:'Noto Sans KR',sans-serif;font-size:0.95rem;color:#000;}.attendance-notice-info .info-item i,.attendance-notice-info .info-item svg{width:20px;height:20px;flex-shrink:0;color:#000;}.attendance-notice-buttons{display:flex;flex-direction:column;gap:0.8em;}.attendance-notice-btn{display:flex;align-items:center;justify-content:center;gap:0.5em;padding:1.1em 1.5em;border:none;border-radius:12px;font-family:'Noto Sans KR',sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.3s ease;}.attendance-notice-btn i,.attendance-notice-btn svg{width:20px;height:20px;}.attendance-notice-btn.primary{background:#2c2c2c;color:white;box-shadow:0 4px 15px rgba(44,44,44,0.3);}.attendance-notice-btn.primary:hover{background:#1a1a1a;transform:translateY(-2px);box-shadow:0 6px 20px rgba(44,44,44,0.4);}.attendance-notice-btn.secondary{background:#e8e8e8;color:#666;box-shadow:0 2px 8px rgba(0,0,0,0.1);}.attendance-notice-btn.secondary:hover{background:#d5d5d5;color:#555;}@keyframes modalFadeIn{from{opacity:0;transform:scale(0.9) translateY(20px);}to{opacity:1;transform:scale(1) translateY(0);}}@media (max-width:768px){.attendance-notice-content{padding:2em 1.5em;}.attendance-notice-title{font-size:1.5rem;}.attendance-notice-description{font-size:0.95rem;}.attendance-notice-info .info-item{font-size:0.9rem;}.attendance-notice-btn{font-size:0.95rem;padding:1em 1.2em;}}.rsvp-section{padding:4em 2em;background-color:var(--white);}.rsvp-section .header{text-align:center;margin-bottom:2.5em;}.rsvp-section .title{color:var(--primary-color);font-family:'Noto Sans KR',sans-serif;font-size:1.3rem;font-weight:600;margin-bottom:0.5em;letter-spacing:1px;}.rsvp-section .subtitle{color:var(--font-color-light);font-size:0.9em;font-family:'Noto Sans KR',sans-serif;}.rsvp-content{text-align:center;max-width:480px;margin:0 auto;}.couple-names{margin:2em 0;display:flex;align-items:center;justify-content:center;gap:0;word-spacing:0;letter-spacing:0;}.couple-names .groom-name{font-family:'Noto Sans KR',sans-serif;font-size:1.3rem;font-weight:500;color:var(--font-color-default);text-align:center;margin-right:1em;}.couple-names .bride-name{font-family:'Noto Sans KR',sans-serif;font-size:1.3rem;font-weight:500;color:var(--font-color-default);text-align:center;margin-left:1em;}.heart{font-size:1.2rem;color:var(--primary-color);flex-shrink:0;padding:0;margin:0;}.wedding-info{margin-bottom:3em;line-height:1.8;}.wedding-date{font-family:'Noto Sans KR',sans-serif;font-size:1.3rem;font-weight:500;color:var(--font-color-default);margin:0 0 0.3em 0;}.wedding-time{font-family:'Noto Sans KR',sans-serif;font-size:1.1rem;color:#666;margin:0 0 1em 0;}.wedding-venue{font-family:'Noto Sans KR',sans-serif;font-size:1rem;color:#888;margin:0;}.rsvp-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-color-light));color:white;border:none;padding:1.2em 3em;border-radius:50px;font-family:'Noto Sans KR',sans-serif;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);box-shadow:0 6px 20px rgba(185,148,147,0.3);letter-spacing:0.02em;}.rsvp-button:hover{background:linear-gradient(135deg,var(--primary-color-dark),var(--primary-color));transform:translateY(-2px);box-shadow:0 8px 25px rgba(185,148,147,0.4);}.companion-count-selector{display:flex;align-items:center;justify-content:center;gap:1.2em;max-width:260px;margin:1.2em auto 0;}.count-btn{background:var(--primary-color);color:white;border:none;border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s ease;flex-shrink:0;font-size:2em;font-weight:bold;box-shadow:0 3px 12px rgba(185,148,147,0.4);}.count-btn:hover:not(:disabled){background:var(--primary-color-dark);transform:scale(1.1);box-shadow:0 5px 16px rgba(185,148,147,0.5);}.count-btn:active:not(:disabled){transform:scale(1.05);}.count-btn:disabled{opacity:0.3;cursor:not-allowed;}.count-btn svg{width:28px !important;height:28px !important;stroke-width:2.5 !important;}.count-input{width:70px;height:40px;text-align:center;font-size:1.1em;font-weight:600;border:2px solid rgba(185,148,147,0.3);border-radius:8px;padding:0;line-height:40px;font-family:'Noto Sans KR',sans-serif;color:var(--primary-color);box-sizing:border-box;}.count-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(185,148,147,0.1);}.companion-hint{margin-top:0.8em;font-size:0.85em;color:#888;text-align:center;}@media (max-width:768px){.rsvp-section{padding:3em 1.5em;}.couple-names{flex-direction:column;gap:0;margin:1.5em 0;width:100%;align-items:center;}.couple-names .groom-name{margin:0;margin-bottom:0.3em;}.couple-names .bride-name{margin:0;margin-top:0.3em;}.heart{margin:0;padding:0;}.companion-count-selector{max-width:240px;gap:1em;margin:1em auto 0;}.count-btn{width:56px;height:56px;font-size:1.8em;}.count-btn svg{width:26px !important;height:26px !important;stroke-width:2.5 !important;}.count-input{width:65px;height:38px;line-height:38px;font-size:1em;}}@media (max-width:480px){.companion-count-selector{max-width:220px;gap:0.8em;}.count-btn{width:52px;height:52px;font-size:1.6em;}.count-btn svg{width:24px !important;height:24px !important;}.count-input{width:60px;height:36px;line-height:36px;font-size:0.95em;}}.share-top-wave{width:100%;height:60px;display:block;margin:0;padding:0;vertical-align:bottom;overflow:hidden;}.parallax-waves > use:nth-child(1){animation:moveWave1 10s cubic-bezier(.55,.5,.45,.5) infinite;}.parallax-waves > use:nth-child(2){animation:moveWave2 8s cubic-bezier(.55,.5,.45,.5) -.125s infinite;}.parallax-waves > use:nth-child(3){animation:moveWave3 6s cubic-bezier(.55,.5,.45,.5) -.25s infinite;}.parallax-waves > use:nth-child(4){animation:moveWave4 4s cubic-bezier(.55,.5,.45,.5) -.375s infinite;}@keyframes moveWave1{0%{transform:translate3d(-90px,0,0);}100%{transform:translate3d(85px,0,0);}}@keyframes moveWave2{0%{transform:translate3d(-90px,0,0);}100%{transform:translate3d(85px,0,0);}}@keyframes moveWave3{0%{transform:translate3d(-90px,0,0);}100%{transform:translate3d(85px,0,0);}}@keyframes moveWave4{0%{transform:translate3d(-90px,0,0);}100%{transform:translate3d(85px,0,0);}}.share-section{background:var(--white);padding:0;margin:0;width:100%;overflow:hidden;}.share-section svg{display:block;margin-bottom:-1px;}.share-image-container{position:relative;width:100%;height:650px;overflow:hidden;}.share-image-container img{width:100%;height:100%;object-fit:cover;object-position:center;}.share-dark-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);z-index:1;pointer-events:none;}.share-text-overlay{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);text-align:center;color:white;z-index:2;padding:0 2em;width:100%;}.share-message{font-family:'Noto Sans KR',sans-serif;font-size:1.3em;font-weight:400;line-height:1.8;text-shadow:0 3px 15px rgba(0,0,0,0.9);margin:0;letter-spacing:0.05em;word-break:keep-all;color:#ffffff;}.share-kakao-button{position:absolute;bottom:3em;left:50%;transform:translateX(-50%);z-index:2;display:flex;align-items:center;gap:0.8em;padding:1em 2.5em;background:#FEE500;border:none;border-radius:12px;cursor:pointer;transition:all 0.3s ease;box-shadow:0 4px 20px rgba(0,0,0,0.3);max-width:calc(100% - 3em);box-sizing:border-box;}.share-kakao-button:hover{background:#FFEB3B;transform:translateX(-50%) translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,0.4);}.share-kakao-button:active{transform:translateX(-50%) translateY(-2px);}.share-kakao-button img{width:30px;height:30px;object-fit:contain;}.share-kakao-button span{font-family:'Noto Sans KR',sans-serif;font-weight:700;font-size:1.05em;color:#3C1E1E;white-space:nowrap;}.share-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,0.8);color:white;padding:1em 2em;border-radius:25px;font-family:'Noto Sans KR',sans-serif;font-size:1em;font-weight:500;z-index:10000;animation:toastFadeIn 0.3s ease-out;backdrop-filter:blur(10px);box-shadow:0 8px 32px rgba(0,0,0,0.3);}@keyframes toastFadeIn{from{opacity:0;transform:translate(-50%,-50%) scale(0.8);}to{opacity:1;transform:translate(-50%,-50%) scale(1);}}@media (max-width:768px){.share-image-container{height:550px;}.share-text-overlay{top:28%;}.share-message{font-size:1.15em;padding:0 1.5em;}.share-kakao-button{bottom:2.5em;padding:0.9em 2.2em;gap:0.7em;}.share-kakao-button img{width:28px;height:28px;}.share-kakao-button span{font-size:1em;}}@media (max-width:480px){.share-image-container{height:480px;}.share-text-overlay{top:26%;}.share-message{font-size:1.05em;line-height:1.7;padding:0 1.2em;}.share-kakao-button{bottom:2em;padding:0.85em 1.5em;gap:0.6em;border-radius:10px;max-width:calc(100% - 2em);}.share-kakao-button img{width:26px;height:26px;}.share-kakao-button span{font-size:0.9em;}}@media (max-width:390px){.share-kakao-button{padding:0.75em 1.2em;gap:0.5em;max-width:calc(100% - 1.5em);}.share-kakao-button img{width:24px;height:24px;}.share-kakao-button span{font-size:0.85em;}}@media (max-width:340px){.share-kakao-button{padding:0.7em 1em;gap:0.4em;max-width:calc(100% - 1em);}.share-kakao-button img{width:22px;height:22px;}.share-kakao-button span{font-size:0.8em;}}.snaps-section{padding:4em 0;background:var(--white);position:relative;max-width:var(--content-max-width);margin:0 auto;}.snaps-section .header{max-width:var(--content-max-width);margin:0 auto 2.5em;padding:0 2em;text-align:center;}.snap-header-image{max-width:250px;height:auto;margin:0 auto 1em;display:block;}.snap-subtitle-en{font-family:'Sriracha',cursive;font-size:0.9em;color:#999;margin-bottom:0.5em;letter-spacing:1px;text-align:center;}.snaps-section .title{color:var(--primary-color);font-family:'Noto Sans KR',sans-serif;font-size:1.3rem;font-weight:600;margin-bottom:1.5em;letter-spacing:1px;}.snap-description{font-family:'Noto Sans KR',sans-serif;color:var(--font-color);font-size:0.95em;line-height:1.8;margin-bottom:2em;}.snap-description p{margin:0.3em 0;}.snap-upload-container{max-width:var(--content-max-width);margin:0 auto;padding:0 2em;text-align:center;padding-top:2em;padding-bottom:2em;}.snap-upload-button{background:white;color:#666;border:2px solid #ddd;padding:1em 3em;border-radius:30px;font-family:'Noto Sans KR',sans-serif;font-size:1em;font-weight:600;cursor:pointer;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(0,0,0,0.08);}.snap-upload-button:hover{background:#f8f8f8;border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.12);}.snap-upload-button:active{transform:translateY(0);box-shadow:0 2px 6px rgba(0,0,0,0.1);}.snap-upload-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);display:none;align-items:center;justify-content:center;z-index:10000;backdrop-filter:blur(5px);}.snap-upload-modal-content{background:white;padding:2.5em;border-radius:16px;max-width:450px;width:90%;text-align:center;box-shadow:0 20px 40px rgba(0,0,0,0.3);}.snap-upload-modal h3{color:var(--primary-color);margin-bottom:1.5em;font-family:'Noto Sans KR',sans-serif;font-size:1.3em;}.snap-upload-progress-bar{width:100%;height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden;margin:1.5em 0;}.snap-upload-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--primary-color-light));width:0%;transition:width 0.3s ease;border-radius:4px;}.snap-upload-status{font-family:'Noto Sans KR',sans-serif;color:#666;font-size:0.95em;margin-top:1em;}.snap-upload-close-btn{margin-top:1.5em;background:var(--primary-color);color:white;border:none;padding:0.8em 2em;border-radius:25px;font-family:'Noto Sans KR',sans-serif;font-weight:600;cursor:pointer;transition:all 0.3s ease;}.snap-upload-close-btn:hover{background:var(--primary-color-light);transform:translateY(-2px);box-shadow:0 4px 12px rgba(185,148,147,0.3);}@media (max-width:768px){.snaps-section{padding:3em 0;}.snaps-section .header,.snap-upload-container{padding-left:1.5em;padding-right:1.5em;}.snap-header-image{max-width:200px;}.snap-subtitle-en{font-size:0.8em;}.snaps-section .title{font-size:1.2rem;}.snap-description{font-size:0.9em;line-height:1.7;}.snap-upload-button{padding:0.9em 2.5em;font-size:0.95em;}.snap-upload-modal-content{padding:2em;margin:1em;}}@media (max-width:480px){.snaps-section{padding:2.5em 0;}.snaps-section .header,.snap-upload-container{padding-left:1em;padding-right:1em;}.snap-header-image{max-width:160px;}.snap-subtitle-en{font-size:0.75em;}.snap-description{font-size:0.85em;}.snap-upload-button{padding:0.8em 2em;font-size:0.9em;}}.video-section{padding:4.5em 2em;background-color:var(--white);max-width:var(--content-max-width);margin:0 auto;}.video-section .header{margin-bottom:2em;text-align:center;}.video-section .title{color:var(--primary-color);font-family:'Noto Sans KR',sans-serif;font-size:1.3rem;font-weight:600;letter-spacing:1px;margin-bottom:0.5em;}.video-section .subtitle{color:var(--font-color-light);font-size:0.85em;font-family:'Noto Sans KR',sans-serif;}.video-container{max-width:800px;margin:0 auto;position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,0.15);background:#f5f5f5;}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;border-radius:16px;}@media (max-width:768px){.video-section{padding:3em 1.5em;}.video-container{border-radius:12px;}.video-container iframe{border-radius:12px;}}@media (max-width:480px){.video-section{padding:2.5em 1em;}.video-section .title{font-size:1.1rem;}.video-container{border-radius:8px;}.video-container iframe{border-radius:8px;}}