:root{--bg-primary: #0d0e12;--bg-secondary: #14161f;--bg-card: rgba(22, 24, 34, .72);--bg-card-hover: rgba(30, 33, 46, .82);--bg-input: rgba(13, 14, 20, .85);--gold-primary: #e6c587;--gold-light: #f7e7c4;--gold-dark: #b8934f;--gold-gradient: linear-gradient(135deg, #fcebc7 0%, #e6c587 50%, #b8934f 100%);--gold-glow: rgba(230, 197, 135, .35);--rose-primary: #e8a598;--rose-light: #f7d5cf;--rose-glow: rgba(232, 165, 152, .25);--border-light: rgba(230, 197, 135, .18);--border-highlight: rgba(230, 197, 135, .45);--border-subtle: rgba(255, 255, 255, .08);--text-primary: #f8f6f0;--text-secondary: #c4c1b7;--text-muted: #8e8c85;--text-gold: #f3dfb5;--font-serif: "Playfair Display", Georgia, "Times New Roman", serif;--font-display: "Cormorant Garamond", Georgia, serif;--font-sans: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-card: 0 20px 50px rgba(0, 0, 0, .6), 0 0 40px rgba(230, 197, 135, .06);--shadow-glow: 0 0 35px var(--gold-glow);--shadow-input: 0 4px 15px rgba(0, 0, 0, .4) inset;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-full: 9999px;--transition-smooth: all .35s cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;min-height:100%;background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);font-size:16px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#ambient-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.site-wrapper{position:relative;z-index:2;min-height:100vh;display:flex;flex-direction:column}.top-nav{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2.5rem;width:100%;max-width:1300px;margin:0 auto}.brand-crest{display:flex;align-items:center;gap:.6rem;color:var(--gold-primary)}.crest-icon{font-size:1.25rem;filter:drop-shadow(0 0 6px var(--gold-glow))}.crest-title{font-family:var(--font-serif);font-size:1.15rem;letter-spacing:.08em;font-weight:500;background:var(--gold-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.icon-btn{background:#ffffff0a;border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-smooth)}.icon-btn:hover{background:#e6c5871f;border-color:var(--border-highlight);color:var(--gold-primary);transform:rotate(30deg)}.main-content{flex:1;display:flex;flex-direction:column;width:100%}.hidden{display:none!important}.fade-in{animation:fadeIn .6s cubic-bezier(.16,1,.3,1) forwards}.fade-out{animation:fadeOut .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16px)}}@media (max-width: 768px){.top-nav{padding:1rem 1.25rem}.crest-title{font-size:1rem}}.lock-section{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem}.lock-card-container{width:100%;max-width:480px;perspective:1000px}.lock-card{background:var(--bg-card);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:3.5rem 2.5rem;text-align:center;box-shadow:var(--shadow-card);position:relative;overflow:hidden;transition:var(--transition-smooth)}.lock-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold-gradient);opacity:.8}.monogram-badge{display:flex;justify-content:center;margin-bottom:1.75rem}.monogram-ring{width:74px;height:74px;border-radius:50%;border:1px solid var(--gold-primary);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,#e6c5871f,#14161f99);box-shadow:0 0 20px #e6c58733;position:relative;animation:pulseRing 4s infinite ease-in-out}.couple-monogram{font-family:var(--font-serif);font-size:1.4rem;font-weight:600;background:var(--gold-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}@keyframes pulseRing{0%,to{box-shadow:0 0 15px #e6c58726;border-color:#e6c58780}50%{box-shadow:0 0 30px #e6c58759;border-color:#e6c587d9}}.lock-title{font-family:var(--font-serif);font-size:2.2rem;font-weight:600;letter-spacing:.04em;margin-bottom:.5rem;color:var(--text-primary)}.lock-subtitle{color:var(--text-secondary);font-size:.95rem;font-weight:300;margin-bottom:1.75rem}.divider-ornament{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:2rem}.ornament-line{height:1px;width:40px;background:linear-gradient(90deg,transparent,var(--border-light),transparent)}.ornament-symbol{color:var(--gold-primary);font-size:.75rem;opacity:.8}.lock-form{display:flex;flex-direction:column;gap:1rem}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1.1rem;color:var(--gold-dark);display:flex;align-items:center;pointer-events:none}.password-input{width:100%;padding:1rem 3rem;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:1rem;box-shadow:var(--shadow-input);outline:none;transition:var(--transition-smooth)}.password-input:focus{border-color:var(--gold-primary);box-shadow:0 0 0 3px #e6c5872e,var(--shadow-input)}.password-input::placeholder{color:var(--text-muted);font-size:.92rem;font-weight:300}.toggle-password{position:absolute;right:1.1rem;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;padding:0;transition:var(--transition-smooth)}.toggle-password:hover{color:var(--gold-primary)}.error-feedback{min-height:1.25rem;font-size:.85rem;color:#ff7b7b;opacity:0;transform:translateY(-4px);transition:var(--transition-smooth)}.error-feedback.visible{opacity:1;transform:translateY(0)}.unlock-btn{background:var(--gold-gradient);border:none;border-radius:var(--radius-md);padding:1rem 1.75rem;color:#121318;font-family:var(--font-sans);font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 20px #e6c5874d;transition:var(--transition-smooth);position:relative;overflow:hidden}.unlock-btn:hover{transform:translateY(-2px);box-shadow:0 6px 28px #e6c58773}.unlock-btn:active{transform:translateY(0)}.unlock-btn.loading .btn-text{opacity:.5}.shake{animation:cardShake .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes cardShake{10%,90%{transform:translate3d(-2px,0,0)}20%,80%{transform:translate3d(4px,0,0)}30%,50%,70%{transform:translate3d(-6px,0,0)}40%,60%{transform:translate3d(6px,0,0)}}.hint-container{margin-top:1.5rem}.hint-btn{background:none;border:none;color:var(--text-muted);font-size:.85rem;cursor:pointer;text-decoration:underline;text-underline-offset:4px;transition:var(--transition-smooth)}.hint-btn:hover{color:var(--gold-primary)}.hint-box{margin-top:.75rem;padding:.75rem 1rem;background:#e6c58714;border:1px dashed var(--border-light);border-radius:var(--radius-sm);display:none;animation:fadeIn .3s ease}.hint-box.visible{display:block}.hint-box p{color:var(--gold-light);font-size:.85rem}.unlocked-section{width:100%;padding-bottom:4rem}.unlocked-container{max-width:1080px;margin:0 auto;padding:1rem 1.5rem}.unlocked-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem;padding:.75rem 1.25rem;background:#16182280;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-full)}.status-indicator{display:flex;align-items:center;gap:.6rem}.pulse-dot{width:8px;height:8px;border-radius:50%;background-color:#55e69e;box-shadow:0 0 10px #55e69e;animation:pulseGreen 2s infinite ease-in-out}@keyframes pulseGreen{0%,to{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}}.status-text{font-size:.85rem;font-weight:500;letter-spacing:.05em;color:var(--text-secondary);text-transform:uppercase}.secondary-btn{background:#ffffff0d;border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:var(--radius-full);padding:.45rem 1rem;font-family:var(--font-sans);font-size:.85rem;display:flex;align-items:center;gap:.45rem;cursor:pointer;transition:var(--transition-smooth)}.secondary-btn:hover{background:#ffffff1a;border-color:var(--border-highlight);color:var(--text-primary)}.video-hero{text-align:center;margin-bottom:4rem}.video-heading-wrap{margin-bottom:2rem}.video-badge{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;padding:.35rem .9rem;border-radius:var(--radius-full);background:#e6c5871f;border:1px solid var(--border-light);color:var(--gold-light);margin-bottom:.85rem}.video-title{font-family:var(--font-serif);font-size:2.75rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.video-subtitle{color:var(--text-secondary);font-size:1.1rem;font-weight:300}.video-theater-card{position:relative;max-width:960px;margin:0 auto}.video-theater{position:relative;width:100%;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 25px 60px #000c;border:1px solid var(--border-highlight);background:#000}.custom-player-wrapper{position:relative;width:100%;padding-top:56.25%}.ambient-glow{position:absolute;top:-10%;left:-10%;width:120%;height:120%;border-radius:50%;background:radial-gradient(circle,rgba(230,197,135,.25) 0%,transparent 70%);filter:blur(40px);z-index:0;opacity:0;pointer-events:none;transition:opacity .8s ease}.ambient-glow.active{opacity:1;animation:glowBreathe 6s infinite alternate ease-in-out}@keyframes glowBreathe{0%{transform:scale(.95);opacity:.7}to{transform:scale(1.08);opacity:1}}.main-video-element{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.video-embed-wrapper{position:relative;width:100%;padding-top:56.25%}.video-embed-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.love-note-section{max-width:820px;margin:0 auto 4rem}.love-card{background:linear-gradient(145deg,#1c1e2ad9,#12141cf2);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:3.5rem 3rem;position:relative;box-shadow:var(--shadow-card)}.love-card-stamp{position:absolute;top:2rem;right:2.5rem;font-size:2rem;color:var(--gold-primary);opacity:.3}.love-card-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}.note-heading{font-family:var(--font-serif);font-size:1.8rem;font-weight:600;background:var(--gold-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.note-date{font-family:var(--font-display);font-style:italic;font-size:1.1rem;color:var(--text-muted)}.love-divider{height:1px;width:100%;background:linear-gradient(90deg,var(--gold-dark),transparent);opacity:.4;margin-bottom:1.75rem}.note-content{font-family:var(--font-display);font-size:1.35rem;line-height:1.8;color:var(--text-primary);margin-bottom:2rem;font-style:italic}.note-signoff{font-family:var(--font-serif);font-size:1.15rem;color:var(--gold-light);text-align:right;font-weight:500}.milestones-section{max-width:960px;margin:0 auto 4rem}.section-title-wrap{text-align:center;margin-bottom:2.5rem}.section-title{font-family:var(--font-serif);font-size:2rem;font-weight:600;color:var(--text-primary);margin-bottom:.4rem}.section-sub{color:var(--text-muted);font-size:.95rem}.milestones-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.milestone-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:2rem 1.75rem;transition:var(--transition-smooth)}.milestone-card:hover{background:var(--bg-card-hover);border-color:var(--border-highlight);transform:translateY(-4px);box-shadow:0 12px 30px #0006}.milestone-icon{font-size:2rem;margin-bottom:1rem}.milestone-title{font-family:var(--font-serif);font-size:1.25rem;color:var(--gold-light);margin-bottom:.5rem}.milestone-desc{font-size:.92rem;color:var(--text-secondary);line-height:1.6}.unlocked-footer{text-align:center;padding:3rem 1rem 1rem;border-top:1px solid var(--border-subtle);margin-top:2rem}.footer-monogram{font-family:var(--font-serif);font-size:1.1rem;color:var(--gold-primary);margin-bottom:.4rem}.footer-copy{font-size:.85rem;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease;padding:1.5rem}.modal-overlay.open{opacity:1;pointer-events:auto}.modal-card{background:var(--bg-secondary);border:1px solid var(--border-highlight);border-radius:var(--radius-lg);width:100%;max-width:540px;max-height:90vh;overflow-y:auto;padding:2rem;box-shadow:0 25px 60px #000000e6}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.modal-header h3{font-family:var(--font-serif);font-size:1.4rem;color:var(--gold-light)}.close-btn{background:none;border:none;font-size:1.75rem;color:var(--text-muted);cursor:pointer;line-height:1}.close-btn:hover{color:var(--text-primary)}.modal-desc{font-size:.9rem;color:var(--text-secondary);margin-bottom:1.5rem}.setting-group{margin-bottom:1.25rem}.setting-group label{display:block;font-size:.85rem;color:var(--text-gold);margin-bottom:.4rem;font-weight:500}.form-input,.form-select,.form-file{width:100%;padding:.75rem 1rem;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:.9rem;outline:none}.form-input:focus,.form-select:focus{border-color:var(--gold-primary)}.btn-primary{width:100%;background:var(--gold-gradient);color:#121318;border:none;border-radius:var(--radius-sm);padding:.75rem;font-weight:600;cursor:pointer;margin-top:.5rem;transition:var(--transition-smooth)}.btn-primary:hover{opacity:.92}.modal-divider{border:none;height:1px;background:var(--border-subtle);margin:1.75rem 0}.modal-subtext{font-size:.85rem;color:var(--text-muted);margin-bottom:.75rem}.hash-tool-row{display:flex;gap:.5rem;margin-bottom:.75rem}.btn-secondary{background:#ffffff14;border:1px solid var(--border-light);color:var(--gold-light);border-radius:var(--radius-sm);padding:0 1.25rem;font-weight:500;cursor:pointer}.code-output{font-family:monospace;font-size:.8rem;color:var(--gold-primary);background:#0006}@media (max-width: 768px){.lock-card{padding:2.5rem 1.5rem}.lock-title{font-size:1.85rem}.video-title{font-size:2rem}.love-card{padding:2.25rem 1.5rem}.note-heading{font-size:1.5rem}.note-content{font-size:1.15rem}}
