@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500&family=Playfair+Display:wght@700&display=swap&text=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%20";:root{--primary: #e91e63;--secondary: #9c27b0;--light: #f8f9fa;--dark: #343a40;--font-body: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-heading: "Playfair Display", Georgia, "Times New Roman", Times, serif;--font-chinese: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", "SimSun", "simsun", sans-serif;--theme-backdrop-blur: 20px;--theme-backdrop-blur-light: 10px;--theme-backdrop-blur-heavy: 15px;--theme-shadow-intensity: .15;--theme-shadow-intensity-light: .1;--theme-shadow-intensity-heavy: .3;--theme-border-radius-base: 16px;--theme-border-radius-button: 12px;--theme-border-radius-small: 8px;--theme-border-radius-large: 20px;--theme-glass-background: rgba(255, 255, 255, .15);--theme-glass-background-light: rgba(255, 255, 255, .1);--theme-glass-background-heavy: rgba(255, 255, 255, .2);--theme-glass-border: rgba(255, 255, 255, .2);--theme-glass-border-light: rgba(255, 255, 255, .15);--theme-hover-transform: translateY(-2px);--theme-hover-shadow: 0 12px 40px rgba(0, 0, 0, .15);--theme-button-hover-transform: translateY(-2px);--theme-card-hover-transform: translateX(5px)}.theme-boxed{--theme-backdrop-blur: 20px;--theme-backdrop-blur-light: 10px;--theme-backdrop-blur-heavy: 15px;--theme-shadow-intensity: .15;--theme-shadow-intensity-light: .1;--theme-shadow-intensity-heavy: .3;--theme-border-radius-base: 16px;--theme-border-radius-button: 12px;--theme-border-radius-small: 8px;--theme-border-radius-large: 20px;--theme-glass-background: rgba(255, 255, 255, .15);--theme-glass-background-light: rgba(255, 255, 255, .1);--theme-glass-background-heavy: rgba(255, 255, 255, .2);--theme-glass-border: rgba(255, 255, 255, .2);--theme-glass-border-light: rgba(255, 255, 255, .15);--theme-hover-transform: translateY(-2px);--theme-hover-shadow: 0 12px 40px rgba(0, 0, 0, .15);--theme-button-hover-transform: translateY(-2px);--theme-card-hover-transform: translateX(5px)}.theme-flat{--theme-backdrop-blur: 0px;--theme-backdrop-blur-light: 0px;--theme-backdrop-blur-heavy: 0px;--theme-shadow-intensity: .05;--theme-shadow-intensity-light: .03;--theme-shadow-intensity-heavy: .08;--theme-border-radius-base: 4px;--theme-border-radius-button: 4px;--theme-border-radius-small: 2px;--theme-border-radius-large: 6px;--theme-glass-background: rgba(255, 255, 255, .95);--theme-glass-background-light: rgba(255, 255, 255, .9);--theme-glass-background-heavy: rgba(255, 255, 255, .98);--theme-glass-border: rgba(200, 200, 200, .5);--theme-glass-border-light: rgba(200, 200, 200, .3);--theme-hover-transform: none;--theme-hover-shadow: 0 2px 8px rgba(0, 0, 0, .05);--theme-button-hover-transform: none;--theme-card-hover-transform: none}.theme-minimalist{--theme-backdrop-blur: 0px;--theme-backdrop-blur-light: 0px;--theme-backdrop-blur-heavy: 0px;--theme-shadow-intensity: 0;--theme-shadow-intensity-light: 0;--theme-shadow-intensity-heavy: 0;--theme-border-radius-base: 0px;--theme-border-radius-button: 0px;--theme-border-radius-small: 0px;--theme-border-radius-large: 0px;--theme-glass-background: transparent;--theme-glass-background-light: transparent;--theme-glass-background-heavy: transparent;--theme-glass-border: none;--theme-glass-border-light: none;--theme-hover-transform: none;--theme-hover-shadow: none;--theme-button-hover-transform: none;--theme-card-hover-transform: none}.feature-glass-effects{--theme-backdrop-blur: var(--theme-backdrop-blur);--theme-glass-background: var(--theme-glass-background)}.feature-no-glass-effects{--theme-backdrop-blur: 0px;--theme-glass-background: rgba(255, 255, 255, .95)}.feature-hover-animations{--theme-hover-transform: var(--theme-hover-transform);--theme-button-hover-transform: var(--theme-button-hover-transform);--theme-card-hover-transform: var(--theme-card-hover-transform)}.feature-no-hover-animations{--theme-hover-transform: none;--theme-button-hover-transform: none;--theme-card-hover-transform: none}.feature-shadow-depth-deep{--theme-shadow-intensity: .2;--theme-shadow-intensity-light: .15;--theme-shadow-intensity-heavy: .35}.feature-shadow-depth-minimal{--theme-shadow-intensity: .03;--theme-shadow-intensity-light: .02;--theme-shadow-intensity-heavy: .05}.feature-border-radius-rounded{--theme-border-radius-base: 20px;--theme-border-radius-button: 16px;--theme-border-radius-small: 12px;--theme-border-radius-large: 24px}.feature-border-radius-slight{--theme-border-radius-base: 6px;--theme-border-radius-button: 4px;--theme-border-radius-small: 3px;--theme-border-radius-large: 8px}.no-visual-effects,.zero-shadows{--theme-backdrop-blur: 0px !important;--theme-backdrop-blur-light: 0px !important;--theme-backdrop-blur-heavy: 0px !important;--theme-shadow-intensity: 0 !important;--theme-shadow-intensity-light: 0 !important;--theme-shadow-intensity-heavy: 0 !important;--theme-hover-shadow: none !important}.zero-borders{--theme-glass-border: none !important;--theme-glass-border-light: none !important;--theme-border-radius-base: 0px !important;--theme-border-radius-button: 0px !important;--theme-border-radius-small: 0px !important;--theme-border-radius-large: 0px !important}.text-only-interactions{--theme-hover-transform: none !important;--theme-button-hover-transform: none !important;--theme-card-hover-transform: none !important}.theme-minimalist .tab-btn{background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;font-weight:400;text-decoration:none;color:var(--dark);transition:font-weight .2s ease}.theme-minimalist .tab-btn:hover{background:transparent!important;border:none!important;box-shadow:none!important;transform:none!important;font-weight:500;color:var(--dark);text-decoration:none}.theme-minimalist .tab-btn.active,.theme-minimalist .tab-btn.active:hover{background:transparent!important;border:none!important;box-shadow:none!important;transform:none!important;font-weight:700;color:var(--dark);text-decoration:none}.theme-minimalist .tab-content{background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:20px 0}.theme-minimalist .tab-content:hover{background:transparent!important;transform:none!important;box-shadow:none!important}.theme-minimalist .lang-btn{background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;font-weight:400;text-decoration:none;color:var(--dark)}.theme-minimalist .lang-btn:hover:not(.no-hover){background:transparent!important;border:none!important;box-shadow:none!important;font-weight:500;color:var(--primary);text-decoration:underline}.theme-minimalist .lang-btn.active{background:transparent!important;border:none!important;box-shadow:none!important;font-weight:700;color:var(--secondary);text-decoration:underline}.theme-minimalist .accommodation-item,.theme-minimalist .schedule-item,.theme-minimalist .guest-entry{background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-left:none!important;padding:15px 0}.theme-minimalist .accommodation-item:hover,.theme-minimalist .schedule-item:hover,.theme-minimalist .guest-entry:hover{background:transparent!important;transform:none!important;box-shadow:none!important;border-left:none!important}.theme-minimalist .btn,.theme-minimalist .book-online-btn,.theme-minimalist .accommodation-item .btn{background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;padding:0;font-weight:400;text-decoration:underline;color:var(--primary)}.theme-minimalist .btn:hover,.theme-minimalist .book-online-btn:hover,.theme-minimalist .accommodation-item .btn:hover{background:transparent!important;transform:none!important;box-shadow:none!important;font-weight:600;color:var(--secondary)}.theme-minimalist .btn:focus,.theme-minimalist .book-online-btn:focus,.theme-minimalist .accommodation-item .btn:focus{outline:1px dotted var(--primary);outline-offset:2px}.theme-minimalist .btn:active,.theme-minimalist .book-online-btn:active,.theme-minimalist .accommodation-item .btn:active{transform:none!important;box-shadow:none!important}.theme-minimalist #protectedContent,.theme-minimalist .guest-registry-summary,.theme-minimalist .wedding-guest-summary{background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:20px 0}.theme-minimalist .stat-section,.theme-minimalist .category-breakdown,.theme-minimalist .guest-registry-table-container,.theme-minimalist .wedding-guest-table-container{background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.theme-minimalist .gifts-red-envelope{background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;border-left:none!important;color:var(--dark)!important;padding:15px 0}.theme-minimalist .gifts-red-envelope:hover{background:transparent!important;transform:none!important;box-shadow:none!important}.theme-minimalist .gifts-red-envelope h3{color:var(--primary)!important}.theme-minimalist .mobile-nav-toggle{background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.theme-minimalist .mobile-nav-sidebar{background:#ccc!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.theme-minimalist .password-form button{background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;color:var(--primary);text-decoration:underline;font-weight:500}.theme-minimalist .password-form button:hover{background:transparent!important;font-weight:600;color:var(--secondary)}.theme-minimalist .password-form input{border:none!important;border-bottom:1px solid var(--dark)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.theme-minimalist .password-form input:focus{outline:none;border-bottom-color:var(--primary)!important}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);line-height:1.6;color:var(--dark);background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh}[lang=zh],.lang-zh,body:has(.lang-btn[data-lang=zh].active){font-family:var(--font-chinese);line-height:1.8}[lang=zh] h1,[lang=zh] h2,[lang=zh] h3,.lang-zh h1,.lang-zh h2,.lang-zh h3{line-height:1.4}[lang=zh],.lang-zh{word-break:keep-all;overflow-wrap:break-word}#app{max-width:1200px;margin:0 auto;padding:20px}.header{text-align:center;margin-bottom:30px}.header img{max-width:100%;height:auto;border-radius:8px;margin-bottom:15px}.tabs{display:flex;justify-content:center;flex-wrap:nowrap;gap:8px;margin-bottom:30px;overflow-x:auto;overflow-y:hidden;padding:10px 0;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.tabs::-webkit-scrollbar{display:none}.tab-btn{padding:14px 20px;min-height:44px;min-width:120px;background:var(--theme-glass-background-heavy);backdrop-filter:blur(var(--theme-backdrop-blur-light));-webkit-backdrop-filter:blur(var(--theme-backdrop-blur-light));border:1px solid var(--theme-glass-border);border-radius:var(--theme-border-radius-button);cursor:pointer;font-family:var(--font-body);font-size:.9rem;font-weight:500;white-space:nowrap;flex-shrink:0;color:var(--dark);transition:all .3s ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;text-align:center}.tab-btn:hover:not(.no-hover){background:var(--theme-glass-background-heavy);border-color:#667eea80;transform:var(--theme-button-hover-transform);box-shadow:0 4px 20px rgba(102,126,234,var(--theme-shadow-intensity-light))}.tab-btn:active{transform:translateY(0);box-shadow:0 1px 4px rgba(102,126,234,var(--theme-shadow-intensity-light))}.tab-btn.active{background:#667eeae6;backdrop-filter:blur(var(--theme-backdrop-blur-light));-webkit-backdrop-filter:blur(var(--theme-backdrop-blur-light));color:#fff;border-color:#667eeacc;box-shadow:0 4px 20px #667eea66;transform:translateY(-1px)}.tab-btn.active:hover:not(.no-hover){background:var(--secondary);border-color:var(--secondary);transform:none}.tab-content{display:none;padding:30px;background:var(--theme-glass-background);backdrop-filter:blur(var(--theme-backdrop-blur));-webkit-backdrop-filter:blur(var(--theme-backdrop-blur));border:1px solid var(--theme-glass-border);border-radius:var(--theme-border-radius-base);box-shadow:0 8px 32px rgba(0,0,0,var(--theme-shadow-intensity-light));margin-bottom:30px;transition:all .3s ease}.tab-content.active{display:block;animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tab-content:hover:not(.no-hover){background:var(--theme-glass-background-heavy);transform:var(--theme-hover-transform);box-shadow:var(--theme-hover-shadow)}h1,h2,h3{font-family:var(--font-heading);margin-bottom:15px;color:var(--secondary)}.password-form{text-align:center;margin:30px 0}.password-form input{padding:10px;border:1px solid #ddd;border-radius:4px;margin-right:10px}.password-form button{padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer}#protectedContent{background:var(--theme-glass-background-light);backdrop-filter:blur(var(--theme-backdrop-blur-heavy));-webkit-backdrop-filter:blur(var(--theme-backdrop-blur-heavy));border:1px solid var(--theme-glass-border);padding:25px;border-radius:var(--theme-border-radius-base);box-shadow:0 8px 32px rgba(0,0,0,var(--theme-shadow-intensity-light));margin-top:30px;display:none}#protectedContent.unlocked{display:block}.guest-registry-summary{margin-bottom:30px;padding:20px;background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:8px;color:#fff;text-align:center}.guest-registry-summary h3{color:#fff;margin-bottom:20px}.rsvp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px}.stat-item{display:flex;flex-direction:column;align-items:center;padding:15px;background:#ffffff1a;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-number{font-size:2rem;font-weight:700;color:#fff;line-height:1}.stat-label{font-size:.9rem;opacity:.9;margin-top:5px}.guest-registry-list{margin-top:30px}.guest-entry{padding:20px;margin-bottom:15px;border:1px solid var(--theme-glass-border);border-radius:var(--theme-border-radius-button);background:var(--theme-glass-background-light);backdrop-filter:blur(var(--theme-backdrop-blur-light));-webkit-backdrop-filter:blur(var(--theme-backdrop-blur-light));transition:all .3s ease}.guest-entry:hover{background:var(--theme-glass-background);box-shadow:0 8px 25px rgba(0,0,0,var(--theme-shadow-intensity));transform:var(--theme-hover-transform);border-color:var(--theme-glass-border)}.guest-name{font-weight:500;font-size:1.1rem;margin-bottom:8px;color:var(--dark)}.guest-status{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:500;margin-bottom:8px}.status-attending{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-not-attending{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.status-pending{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.guest-plus-one{font-size:.9rem;color:#666;margin-bottom:5px}.guest-dietary{font-size:.9rem;color:#666;margin-bottom:5px;font-style:italic}.guest-message{font-size:.9rem;color:#555;margin-bottom:5px;padding:8px;background:#f0f0f0;border-radius:4px;border-left:3px solid var(--primary)}.guest-timestamp{font-size:.8rem;color:#999;text-align:right}.guest-registry-table-container{overflow-x:auto;margin:20px 0;border-radius:var(--theme-border-radius-base);background:var(--theme-glass-background);backdrop-filter:blur(var(--theme-backdrop-blur-heavy));-webkit-backdrop-filter:blur(var(--theme-backdrop-blur-heavy));border:1px solid var(--theme-glass-border);box-shadow:0 8px 32px rgba(0,0,0,var(--theme-shadow-intensity-light))}.guest-registry-table{width:100%;border-collapse:collapse;min-width:600px}.guest-registry-table th{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;padding:12px 8px;text-align:left;font-weight:600;border-bottom:2px solid var(--primary);position:sticky;top:0;z-index:10}.guest-registry-table td{padding:10px 8px;border-bottom:1px solid #e0e0e0;color:var(--dark);vertical-align:top}.guest-registry-table tr:hover{background:#f8f9fa}.column-type-status{text-align:center;font-weight:500}.column-type-date{font-size:.9rem;color:#666}.column-type-email{font-size:.9rem}.column-type-email a{color:var(--primary);text-decoration:none}.column-type-email a:hover{text-decoration:underline}.column-type-number{text-align:right;font-family:Courier New,monospace}.guest-field{font-size:.9rem;color:#666;margin-bottom:4px;line-height:1.4}.guest-field .field-label{font-weight:500;color:var(--dark)}.guest-registry-table-container::-webkit-scrollbar{height:8px}.guest-registry-table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.guest-registry-table-container::-webkit-scrollbar-thumb{background:var(--primary);border-radius:4px}.guest-registry-table-container::-webkit-scrollbar-thumb:hover{background:var(--secondary)}@media (max-width: 768px){.guest-registry-table-container{margin:20px -15px;border-radius:0;scroll-snap-type:x mandatory}.guest-registry-table th,.guest-registry-table td{padding:8px 6px;font-size:.85rem;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.guest-registry-table{min-width:500px}.guest-registry-table-container:after{content:"← Scroll horizontally to view all columns →";display:block;text-align:center;font-size:.75rem;color:#666;padding:8px;background:#f8f9fa;border-top:1px solid #e0e0e0}}@media (max-width: 480px){.guest-registry-table-container{margin:15px -10px}.guest-registry-table th,.guest-registry-table td{padding:6px 4px;font-size:.8rem;min-width:80px}.guest-registry-table{min-width:400px}.guest-registry-table-container.mobile-cards{display:none}.guest-registry-mobile-cards{display:block}.guest-registry-mobile-cards .guest-entry{margin-bottom:15px;padding:12px;border:1px solid #e0e0e0;border-radius:8px;background:#fff}.guest-registry-mobile-cards .guest-entry .field-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px solid #f0f0f0}.guest-registry-mobile-cards .guest-entry .field-row:last-child{border-bottom:none}.guest-registry-mobile-cards .field-label{font-weight:500;color:var(--dark);font-size:.85rem}.guest-registry-mobile-cards .field-value{font-size:.85rem;color:#666;text-align:right}}.protected-links{margin-top:30px;padding-top:20px;border-top:1px solid #e0e0e0}.protected-links a{color:var(--primary);text-decoration:none;font-weight:500}.protected-links a:hover{text-decoration:underline}@media (max-width: 768px){.tabs{justify-content:flex-start;margin-bottom:20px;gap:6px;padding:0 20px}.tab-btn{min-width:100px;padding:12px 16px;font-size:.85rem;border-radius:6px}#app{padding:15px 10px}.tab-content{padding:15px;margin-bottom:20px}.header{margin-bottom:20px}.header h1{font-size:1.8rem;margin-bottom:10px}.header h2{font-size:1.4rem;margin-bottom:8px}.header h3{font-size:1.1rem}}@media (max-width: 480px){.tabs{gap:4px;padding:0 15px}.tab-btn{min-width:85px;padding:10px 12px;font-size:.8rem}#app{padding:10px 8px}.tab-content{padding:12px;border-radius:6px}.header h1{font-size:1.6rem}.header h2{font-size:1.2rem}.header h3{font-size:1rem}.couple-photo{width:150px;height:150px}.password-form{display:flex;flex-direction:column;gap:10px;padding:0 10px}.password-form input{margin-right:0;margin-bottom:10px;padding:12px;font-size:1rem}.password-form button{padding:12px 20px;font-size:1rem}}.mobile-nav-toggle{display:none;position:fixed;top:10px;left:10px;align-items:center;justify-content:center;width:50px;height:50px;background:var(--theme-glass-background);backdrop-filter:blur(var(--theme-backdrop-blur-heavy));-webkit-backdrop-filter:blur(var(--theme-backdrop-blur-heavy));border-radius:0 0 50% 50%;box-shadow:0 4px 20px rgba(0,0,0,var(--theme-shadow-intensity));z-index:1000;border:2px solid rgba(102,126,234,.6);border-top:none;transition:all .3s ease;margin-top:0}@media (min-width: 701px){.mobile-nav-toggle{display:none!important}}.hamburger-btn{display:flex;flex-direction:column;justify-content:space-around;width:24px;height:24px;background:transparent;border:none;cursor:pointer;padding:0;z-index:999;position:relative}.hamburger-line{width:24px;height:3px;background-color:var(--primary);border-radius:2px;transition:all .3s ease;transform-origin:center}.hamburger-btn.active .hamburger-line:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.hamburger-btn.active .hamburger-line:nth-child(2){opacity:0}.hamburger-btn.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.current-tab-label{display:none}.mobile-nav-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:999;opacity:0;visibility:hidden;transition:all .3s ease}.mobile-nav-overlay.active{opacity:1;visibility:visible}.mobile-nav-sidebar{position:fixed;top:0;left:-300px;width:280px;height:100%;background:var(--theme-glass-background-heavy);backdrop-filter:blur(var(--theme-backdrop-blur));-webkit-backdrop-filter:blur(var(--theme-backdrop-blur));border-right:1px solid var(--theme-glass-border);z-index:1001;transition:left .3s ease;box-shadow:2px 0 20px rgba(0,0,0,var(--theme-shadow-intensity-heavy));overflow-y:auto}.mobile-nav-sidebar.active{left:0}.mobile-nav-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.mobile-nav-header h3{margin:0;color:#fff;font-size:1.2rem}.mobile-nav-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:5px;line-height:1;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s ease}.mobile-nav-close:hover{background:#fff3}.mobile-nav-list{list-style:none;padding:0;margin:0}.mobile-nav-list li{border-bottom:1px solid #f0f0f0}.mobile-nav-item{display:block;width:100%;padding:16px 20px;background:none;border:none;text-align:left;font-size:1rem;font-weight:500;color:var(--dark);cursor:pointer;transition:all .2s ease;font-family:var(--font-body);text-shadow:none}.mobile-nav-item:hover{background:#667eea1a;color:var(--primary);text-shadow:none}.mobile-nav-item.active{background:var(--primary);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.mobile-nav-item.active:hover{background:var(--secondary);text-shadow:0 1px 2px rgba(0,0,0,.3)}@media (max-width: 700px){.mobile-nav-toggle{position:sticky;display:flex!important}.tabs,.mobile-nav-hint{display:none!important}}@media (min-width: 481px) and (max-width: 768px){.tab-btn{min-width:110px;padding:13px 18px;font-size:.9rem}}.wedding-guest-summary{background:var(--theme-glass-background);backdrop-filter:blur(var(--theme-backdrop-blur));-webkit-backdrop-filter:blur(var(--theme-backdrop-blur));border:1px solid var(--theme-glass-border);border-radius:var(--theme-border-radius-base);padding:25px;margin-bottom:25px;box-shadow:0 8px 32px rgba(0,0,0,var(--theme-shadow-intensity-light));animation:fadeIn .3s ease-in}.wedding-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px}.stat-section{background:var(--theme-glass-background-light);backdrop-filter:blur(var(--theme-backdrop-blur-light));-webkit-backdrop-filter:blur(var(--theme-backdrop-blur-light));border:1px solid var(--theme-glass-border);border-radius:var(--theme-border-radius-button);padding:18px}.stat-section h4{margin:0 0 10px;color:var(--primary);font-size:1.1em;border-bottom:2px solid var(--primary);padding-bottom:5px;font-family:var(--font-heading)}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid #dee2e6}.stat-row:last-child{border-bottom:none}.stat-label{font-weight:500;color:var(--dark)}.stat-value{font-weight:700;color:var(--primary);background:#fff;padding:2px 8px;border-radius:4px;border:1px solid #e0e0e0}.category-breakdown{background:var(--theme-glass-background-light);backdrop-filter:blur(var(--theme-backdrop-blur-light));-webkit-backdrop-filter:blur(var(--theme-backdrop-blur-light));border:1px solid var(--theme-glass-border);border-radius:var(--theme-border-radius-button);padding:18px}.category-breakdown h4{margin:0 0 10px;color:var(--primary);font-size:1.1em;border-bottom:2px solid var(--primary);padding-bottom:5px;font-family:var(--font-heading)}.category-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #dee2e6}.category-item:last-child{border-bottom:none}.category-name{font-weight:500;color:var(--dark)}.category-count{background:var(--primary);color:#fff;padding:2px 8px;border-radius:12px;font-size:.9em;font-weight:700;min-width:20px;text-align:center}.wedding-guest-list{background:var(--theme-glass-background);backdrop-filter:blur(var(--theme-backdrop-blur));-webkit-backdrop-filter:blur(var(--theme-backdrop-blur));border:1px solid var(--theme-glass-border);border-radius:var(--theme-border-radius-base);padding:25px;box-shadow:0 8px 32px rgba(0,0,0,var(--theme-shadow-intensity-light))}.wedding-guest-table-container{overflow-x:auto;margin-top:15px;border-radius:var(--theme-border-radius-base);background:var(--theme-glass-background-light);backdrop-filter:blur(var(--theme-backdrop-blur-heavy));-webkit-backdrop-filter:blur(var(--theme-backdrop-blur-heavy));border:1px solid var(--theme-glass-border);box-shadow:0 8px 32px rgba(0,0,0,var(--theme-shadow-intensity-light))}.wedding-guest-table{width:100%;border-collapse:collapse;font-size:.9em;min-width:1000px}.wedding-guest-table th{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;padding:12px 8px;text-align:left;font-weight:600;white-space:nowrap;position:sticky;top:0;z-index:10;border-bottom:2px solid var(--primary)}.wedding-guest-table td{padding:10px 8px;border-bottom:1px solid #e0e0e0;vertical-align:top;color:var(--dark)}.wedding-guest-table tbody tr:hover{background-color:var(--light)}.guest-name{font-weight:600;color:var(--dark);min-width:150px}.guest-category{color:var(--secondary);font-weight:500;font-size:.9em}.guest-overseas,.guest-contacted,.guest-invitation,.guest-tenth-dinner,.guest-as-dinner,.guest-brunch{text-align:center;font-size:1.2em;color:var(--primary);font-weight:700}.guest-probability{font-weight:700;text-align:center;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:4px;padding:2px 6px;color:var(--dark)}.guest-accommodation{font-size:.85em;color:var(--secondary);max-width:120px;font-weight:500}.guest-notes{font-size:.85em;color:#666;max-width:200px;word-wrap:break-word;line-height:1.3}.wedding-guest-table-container::-webkit-scrollbar{height:8px}.wedding-guest-table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.wedding-guest-table-container::-webkit-scrollbar-thumb{background:var(--primary);border-radius:4px}.wedding-guest-table-container::-webkit-scrollbar-thumb:hover{background:var(--secondary)}@media (max-width: 768px){.wedding-stats{grid-template-columns:1fr}.wedding-guest-table{font-size:.8em;min-width:800px}.wedding-guest-table th,.wedding-guest-table td{padding:8px 4px}.guest-notes,.guest-accommodation{max-width:100px}.wedding-guest-table-container{margin:15px -20px;border-radius:0}}@media (max-width: 480px){.wedding-guest-table{font-size:.75em;min-width:600px}.stat-section,.category-breakdown{padding:10px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.wedding-guest-summary .stat-section:nth-child(1){border-left:4px solid var(--primary)}.wedding-guest-summary .stat-section:nth-child(2){border-left:4px solid var(--secondary)}.wedding-guest-summary .stat-section:nth-child(3){border-left:4px solid #28a745}.wedding-guest-summary .stat-section:nth-child(4){border-left:4px solid #ffc107}.top-nav{background:transparent;padding:.5rem 0;position:sticky;top:0;z-index:1000}.top-nav-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:flex-end;align-items:center}.language-toggle{display:flex;align-items:center;gap:.25rem}.language-label{font-size:.7rem;color:#666;font-weight:500;margin-right:.25rem}.lang-btn{padding:4px 8px;margin:0;border:1px solid #ddd;background:#fff;color:#666;border-radius:3px;cursor:pointer;font-family:var(--font-body);font-size:.7rem;font-weight:500;transition:all .2s ease;min-width:32px;min-height:24px;height:24px;text-align:center;display:inline-flex;align-items:center;justify-content:center;line-height:1}.lang-btn[data-lang=zh]{min-width:32px;min-height:24px;height:24px;font-family:var(--font-chinese);font-size:.7rem;padding:4px 6px}.lang-btn:focus{outline:2px solid var(--primary);outline-offset:2px}.lang-btn:focus:not(:focus-visible){outline:none}.lang-btn:hover:not(.no-hover){background:#f8f9fa;color:var(--primary);border-color:var(--primary)}.lang-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}@media (max-width: 768px){.top-nav{padding:.3rem 0}.top-nav-container{padding:0 10px}.language-label{display:none}.language-toggle{gap:.2rem}.lang-btn{padding:1px 4px;font-size:.65rem;min-width:22px;min-height:18px}.lang-btn[data-lang=zh]{min-width:28px;font-size:.7rem;padding:1px 3px}}@media (max-width: 480px){.top-nav{padding:.2rem 0}.top-nav-container{padding:0 8px}.lang-btn{padding:1px 3px;font-size:.6rem;min-width:20px;min-height:16px}.lang-btn[data-lang=zh]{min-width:26px;font-size:.65rem}}@media (max-width: 700px){.mobile-nav-toggle{top:1rem;left:1rem;position:fixed;z-index:1001}}.schedule-item{display:flex;align-items:flex-start;margin-bottom:1rem;padding:1.2rem;background:#ffffff26;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;border-left:4px solid var(--primary);transition:all .3s ease}.schedule-item:hover{background:#ffffff40;transform:translate(5px);box-shadow:0 8px 25px #0000001a;border-left-width:6px}.schedule-time{font-weight:600;color:var(--primary);min-width:80px;margin-right:1rem;font-size:.9rem}.schedule-event{flex:1;color:var(--dark)}.accommodation-item{margin-bottom:1.5rem;padding:1.5rem;background:#ffffff26;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;border-left:4px solid var(--primary);transition:all .3s ease}.accommodation-item:hover{background:#ffffff40;transform:translate(5px);box-shadow:0 8px 25px #0000001a;border-left-width:6px}.accommodation-item h3{margin-bottom:.5rem;color:var(--dark)}.accommodation-item p{margin-bottom:.3rem;font-size:.9rem}.accommodation-item .btn,.book-online-btn{display:inline-block;padding:.5rem 1rem;background:var(--primary);color:#fff;text-decoration:none;border-radius:var(--theme-border-radius-small);font-size:.85rem;margin-top:.5rem;transition:background .2s ease;border:none;cursor:pointer;font-family:var(--font-body);font-weight:500;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,var(--theme-shadow-intensity-light))}.accommodation-item .btn:hover,.book-online-btn:hover{background:var(--secondary);transform:var(--theme-button-hover-transform);box-shadow:0 4px 12px rgba(0,0,0,var(--theme-shadow-intensity))}.book-online-btn:focus{outline:2px solid var(--primary);outline-offset:2px}.book-online-btn:active{transform:translateY(0);box-shadow:0 1px 4px #0000001a}@media (max-width: 768px){.language-toggle{margin-top:.8rem;margin-bottom:.8rem}.lang-btn{padding:6px 12px;font-size:.8rem;min-width:70px}.schedule-item{flex-direction:column;align-items:flex-start}.schedule-time{min-width:auto;margin-right:0;margin-bottom:.3rem}}@media (max-width: 480px){.lang-btn{padding:5px 10px;font-size:.75rem;min-width:60px}.schedule-item,.accommodation-item{padding:.8rem;margin-bottom:1rem}.accommodation-item .btn{padding:.4rem .8rem;font-size:.8rem}}.gifts-red-envelope{margin:1.5rem 0;padding:1.5rem;background:linear-gradient(135deg,#dc3545,#c82333);border-radius:var(--theme-border-radius-button);border-left:4px solid #dc3545;color:#fff;transition:all .3s ease;box-shadow:0 4px 15px rgba(220,53,69,var(--theme-shadow-intensity-light))}.gifts-red-envelope:hover:not(.no-hover){transform:var(--theme-hover-transform);box-shadow:0 8px 25px rgba(220,53,69,var(--theme-shadow-intensity-heavy))}.gifts-red-envelope h3{color:#fff;margin-bottom:1rem;font-size:1.2rem;display:flex;align-items:center;gap:.5rem}.gifts-red-envelope h3:before{content:"🧧";font-size:1.4rem}.red-envelope-description{margin-bottom:.8rem;line-height:1.6;font-size:.95rem}.red-envelope-note{font-style:italic;opacity:.9;font-size:.9rem;border-left:3px solid rgba(255,255,255,.3);padding-left:1rem;margin-top:1rem}.no-hover-effects .tab-btn:hover,.no-hover-effects .tab-content:hover,.no-hover-effects .lang-btn:hover,.no-hover-effects .accommodation-item:hover,.no-hover-effects .schedule-item:hover,.no-hover-effects .guest-entry:hover,.no-hover-effects .gifts-red-envelope:hover{transform:none!important;box-shadow:none!important;border-color:inherit!important}@media (max-width: 768px){.gifts-red-envelope{padding:1rem;margin:1rem 0}.gifts-red-envelope h3{font-size:1.1rem}.red-envelope-description,.red-envelope-note{font-size:.9rem}}@media (max-width: 480px){.gifts-red-envelope{padding:.8rem;border-radius:8px}.gifts-red-envelope h3{font-size:1rem}.red-envelope-description,.red-envelope-note{font-size:.85rem}}#app{max-width:1200px;margin:0 auto;padding:20px;position:relative}.header,.tabs{display:none}.mobile-nav-hint{display:none!important}.tab-content{margin-top:20px;background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:30px;box-shadow:0 8px 32px #0000001a}@media (max-width: 700px){.mobile-nav-toggle{position:fixed;top:1rem;left:1rem;z-index:1002;background:#ffffffe6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.tab-content{margin-top:15px;padding:20px}.tabs{display:none!important}}.top-nav{position:relative;z-index:1001}#tab-illustration-container{margin-bottom:0}.illustration-content-overlay .header-content .header{display:block!important;margin:0;padding:0}.illustration-content-overlay .tabs-content .tabs{display:flex!important;margin:0}.illustration-content-overlay .mobile-nav-hint-content .mobile-nav-hint{display:block!important;margin:0}.illustration-content-overlay .header h2,.illustration-content-overlay .header h3{color:inherit;margin:inherit;font-family:inherit}.background-illustration-container{position:relative;width:100%;height:65vh;min-height:500px;margin:0 auto 20px;overflow:hidden;border-radius:12px;box-shadow:0 8px 32px #00000026}.theme-minimalist .background-illustration-container{border-radius:0!important;box-shadow:none!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.theme-minimalist .illustration-content-overlay{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.theme-minimalist .tabs-content .tab-btn{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:none!important;box-shadow:none!important;border-radius:0!important}.theme-minimalist .tabs-content .tab-btn.active{background:transparent!important;color:var(--dark)!important;border:none!important;box-shadow:none!important}.theme-minimalist{background:#ccc!important}.background-illustration{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity .6s ease-in-out;background-size:cover;background-position:center;background-repeat:no-repeat}.background-illustration.active{opacity:1}#mountains-bg{background:linear-gradient(to bottom,#87ceeb,#98fb98)}#forest-bg{background:linear-gradient(to bottom,#228b22,#006400)}#lake-bg{background:linear-gradient(to bottom,#4682b4,#5f9ea0)}#fields-bg{background:linear-gradient(to bottom,#90ee90,#9acd32)}#beach-bg{background:linear-gradient(to bottom,#87ceeb,khaki)}#cherry-tree-bg{background-image:url(/assets/images/cherry_tree-BkVT4db0.png);background-size:115% auto;background-position:45% 75%}#red-envelope-bg{background-image:url(/assets/images/red_envelopes-CyaIbNdF.png);background-size:105% auto;background-position:0% 100%}.wedding-info-overlay{position:absolute;bottom:45%;left:0;right:0;display:flex;justify-content:center;align-items:center;z-index:10;pointer-events:none}.wedding-date-left,.wedding-location-right{pointer-events:auto;position:absolute;bottom:0}.wedding-date-left{right:50%;margin-right:6rem}.wedding-location-right{left:50%;margin-left:6rem}.date-content,.location-content{text-align:center;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:none!important;box-shadow:none!important;border-radius:0!important;padding:0!important;margin:0!important;white-space:nowrap}.date-content h3,.location-content h3{color:#2c2416;font-size:1.3rem;margin:0;font-family:var(--font-heading);font-weight:600;letter-spacing:1px;text-shadow:0 2px 4px rgba(255,255,255,.9)}.illustration-content-overlay{position:absolute;bottom:0;left:0;right:0;height:25%;display:flex;flex-direction:column;justify-content:flex-end;z-index:5;overflow:hidden}.header-content{text-align:center;margin-bottom:10px;flex-shrink:0}.header-content h2{color:#2c2416;font-size:2.2rem;margin-bottom:5px;text-shadow:0 2px 4px rgba(255,255,255,.9);font-family:var(--font-heading)}.tabs-content{flex-shrink:0;margin-bottom:15px}.tabs-content .tabs{margin:0;justify-content:center}.tabs-content .tab-btn{background:#fffc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.6);box-shadow:0 4px 15px #0000001a}.tabs-content .tab-btn.active{background:#667eeae6;color:#fff;border-color:#667eeacc}.desktop-only{display:block}@media (max-width: 1200px){.background-illustration-container{height:60vh;min-height:400px}#cherry-tree-bg{background-size:120% auto}.wedding-info-overlay{bottom:43%}.wedding-date-left{margin-right:5rem}.wedding-location-right{margin-left:5rem}}@media (max-width: 1024px){.background-illustration-container{height:55vh;min-height:400px}.wedding-info-overlay{bottom:44%}.illustration-content-overlay{height:35%;padding:0 15px 10px}}@media (max-width: 992px){#cherry-tree-bg{background-size:125% auto}#red-envelope-bg{background-size:120% auto;background-position:32% 100%}.wedding-date-left{margin-right:4rem}.wedding-location-right{margin-left:4rem}.date-content h3,.location-content h3{font-size:1.2rem}}@media (max-width: 872px){.background-illustration-container{height:50vh;min-height:400px}#cherry-tree-bg{background-size:135% auto}.wedding-info-overlay{bottom:44%}}@media (max-width: 768px){.background-illustration-container{height:50vh;min-height:400px}.illustration-content-overlay{height:35%;padding:0 15px 10px}.header-content h2{font-size:1.8rem;margin-bottom:8px}.wedding-info-overlay{bottom:49%}.wedding-date-left{margin-right:3rem}.wedding-location-right{margin-left:3rem}.date-content h3,.location-content h3{font-size:1.1rem}.lang-btn[data-lang=zh]{min-height:44px!important;height:auto!important;display:flex;align-items:center;justify-content:center}}@media (max-width: 700px){.desktop-only{display:none!important}.background-illustration-container{height:45vh;min-height:400px}.illustration-content-overlay{justify-content:center;height:40%;padding:0 15px 5px}.header-content{margin-bottom:5px}.wedding-info-overlay{bottom:43%}}@media (max-width: 650px){.background-illustration-container{height:43vh;min-height:400px}.wedding-info-overlay{bottom:45%}.wedding-date-left{margin-right:2rem}.wedding-location-right{margin-left:2rem}.date-content h3,.location-content h3{font-size:1rem}.date-content{white-space:nowrap;max-width:120px}}@media (max-width: 600px){.background-illustration-container{height:43vh;min-height:400px}.wedding-info-overlay{bottom:42%}}@media (max-width: 550px){.background-illustration-container{height:34vh;min-height:300px}.wedding-info-overlay{bottom:40%}.date-content,.location-content{white-space:nowrap;max-width:110px}.date-content h3,.location-content h3{font-size:.95rem;line-height:1.2}}@media (max-width: 480px){.illustration-content-overlay{height:45%;padding:0 10px 5px}.header-content h2{font-size:1.5rem;margin-bottom:5px}.wedding-info-overlay{bottom:35%}.wedding-date-left{margin-right:1.5rem}.wedding-location-right{margin-left:1.5rem}.date-content h3,.location-content h3{font-size:.9rem;max-width:100px}}@media (max-width: 400px){.background-illustration-container{height:30vh;min-height:230px}.wedding-info-overlay{bottom:45%}.wedding-date-left{margin-right:1.5rem}.wedding-location-right{margin-left:1rem}.date-content,.location-content{max-width:90px}.date-content h3,.location-content h3{font-size:.85rem}.header-content h2{font-size:1.4rem}}@media (max-width: 360px){.date-content,.location-content{max-width:85px}.date-content h3,.location-content h3{font-size:.8rem}.header-content h2{font-size:1.3rem}}@media (min-width: 1400px){.wedding-date-left{margin-right:6rem}.wedding-location-right{margin-left:6rem}.date-content h3,.location-content h3{font-size:1.4rem}}
