@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=DM+Sans:wght@300;400;500;600&display=swap";:root{--color-bg:#080808;--color-surface:#111;--color-surface-2:#1a1a1a;--color-surface-3:#222;--color-gold:#c9a84c;--color-gold-light:#e8c97a;--color-gold-dark:#9a7a30;--color-gold-glow:#c9a84c2e;--color-gold-border:#c9a84c40;--color-purple:#7c3aed;--color-purple-light:#9d5bf4;--color-purple-glow:#7c3aed33;--color-purple-border:#7c3aed40;--color-text:#f0ede8;--color-text-muted:#f0ede88c;--color-text-faint:#f0ede84d;--color-success:#4ade80;--color-error:#f87171;--color-warning:#fbbf24;--color-border:#c9a84c2e;--color-border-subtle:#ffffff0f;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--font-display:"Playfair Display", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:3rem;--text-5xl:clamp(3rem, 12vw, 5rem);--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:32px;--radius-full:9999px;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 8px 32px #0009;--glow-gold:0 0 40px var(--color-gold-glow);--glow-gold-sm:0 0 20px var(--color-gold-glow);--glow-purple:0 0 40px var(--color-purple-glow);--ease-cinematic:cubic-bezier(.16, 1, .3, 1);--ease-smooth:cubic-bezier(.4, 0, .2, 1);--transition-base:.35s var(--ease-smooth);--transition-slow:.6s var(--ease-cinematic)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:16px}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100dvh;font-weight:400;line-height:1.6;overflow-x:hidden}img,video{max-width:100%;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit}a{color:inherit;text-decoration:none}body:after{content:"";pointer-events:none;z-index:9999;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");position:fixed;inset:0}.app-root{width:100%;min-height:100dvh;position:relative}.screen{width:100%;min-height:100dvh;padding:var(--space-lg) var(--space-md);animation:screenEnter .55s var(--ease-cinematic) both;flex-direction:column;justify-content:center;align-items:center;display:flex}.screen--scroll{padding-top:var(--space-xl);padding-bottom:var(--space-2xl);justify-content:flex-start}.container{width:100%;max-width:430px;margin:0 auto}.stack{flex-direction:column;display:flex}.stack--xs{gap:var(--space-xs)}.stack--sm{gap:var(--space-sm)}.stack--md{gap:var(--space-md)}.stack--lg{gap:var(--space-lg)}.stack--xl{gap:var(--space-xl)}.text-display{font-family:var(--font-display);font-size:var(--text-5xl);letter-spacing:-.02em;color:var(--color-text);font-weight:600;line-height:1.05}.text-display--italic{font-style:italic}.text-heading{font-family:var(--font-display);font-size:var(--text-3xl);letter-spacing:-.01em;font-weight:600;line-height:1.15}.text-subheading{font-family:var(--font-display);font-size:var(--text-xl);font-style:italic;font-weight:400;line-height:1.4}.text-body-lg{font-size:var(--text-lg);line-height:1.7}.text-body{font-size:var(--text-base);line-height:1.7}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-center{text-align:center}.text-gold{color:var(--color-gold)}.text-gold-light{color:var(--color-gold-light)}.text-muted{color:var(--color-text-muted)}.text-faint{color:var(--color-text-faint)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.tracking-wide{letter-spacing:.12em}.tracking-wider{letter-spacing:.2em}.uppercase{text-transform:uppercase}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.gold-gradient{background:linear-gradient(135deg, var(--color-gold-dark) 0%, var(--color-gold-light) 50%, var(--color-gold-dark) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.divider-gold{background:linear-gradient(90deg, transparent, var(--color-gold), transparent);width:60px;height:1px;margin:var(--space-md) auto}.divider-gold--wide{width:120px}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;transition:var(--transition-base);white-space:nowrap;-webkit-tap-highlight-color:transparent;min-height:52px;padding:14px 32px;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--color-gold-dark), var(--color-gold-light));color:#080808;box-shadow:var(--glow-gold-sm);font-weight:600}.btn-primary:hover:not(:disabled){box-shadow:var(--glow-gold);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{color:var(--color-gold);border:1px solid var(--color-gold-border);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--color-gold-glow);border-color:var(--color-gold)}.btn-ghost{color:var(--color-text-muted);font-size:var(--text-xs);background:0 0;padding:10px 20px}.btn-ghost:hover:not(:disabled){color:var(--color-text)}.btn-purple{background:linear-gradient(135deg, var(--color-purple), var(--color-purple-light));color:#fff;box-shadow:var(--glow-purple)}.btn-purple:hover:not(:disabled){box-shadow:0 0 50px var(--color-purple-glow);transform:translateY(-1px)}.btn-full{width:100%}.btn-sm{font-size:var(--text-xs);min-height:40px;padding:10px 20px}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-gold);font-weight:500}.form-input{background:var(--color-surface-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);min-height:52px;transition:var(--transition-base);outline:none;width:100%;padding:14px 16px}.form-input:focus{border-color:var(--color-gold-border);box-shadow:0 0 0 3px var(--color-gold-glow)}.form-input::placeholder{color:var(--color-text-faint)}.form-input--error{border-color:var(--color-error);box-shadow:0 0 0 3px #f871711f}.form-textarea{resize:vertical;min-height:100px;padding-top:14px}.form-error{font-size:var(--text-xs);color:var(--color-error);align-items:center;gap:4px;display:flex}.form-hint{font-size:var(--text-xs);color:var(--color-text-faint)}.card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg)}.card-gold{background:var(--color-surface);border:1px solid var(--color-gold-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--glow-gold-sm)}.music-control{z-index:100;border-radius:var(--radius-full);border:1px solid var(--color-gold-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:40px;height:40px;transition:var(--transition-base);color:var(--color-gold);background:#111111d9;justify-content:center;align-items:center;display:flex;position:fixed;top:16px;right:16px}.music-control:hover{border-color:var(--color-gold);background:#c9a84c26}.modal-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:999;padding:max(var(--space-md), env(safe-area-inset-top)) max(var(--space-md), env(safe-area-inset-right)) max(var(--space-md), env(safe-area-inset-bottom)) max(var(--space-md), env(safe-area-inset-left));-webkit-overflow-scrolling:touch;background:#000000b8;place-items:center;animation:.25s both fadeIn;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-panel{z-index:1;border:1px solid var(--color-gold-border);border-radius:var(--radius-xl);width:min(92vw,430px);max-height:88dvh;box-shadow:var(--shadow-lg), var(--glow-gold-sm);animation:slideUp .4s var(--ease-cinematic) both;background:linear-gradient(#121212fa,#0c0c0cfa);flex-direction:column;display:flex;position:relative;overflow:hidden}.modal-header{z-index:2;padding:var(--space-md) var(--space-md) 0;background:linear-gradient(#121212fa 0%,#121212f0 60%,#12121200 100%);flex:none;justify-content:flex-end;display:flex;position:sticky;top:0}.modal-content{-webkit-overflow-scrolling:touch;padding:var(--space-sm) var(--space-lg) var(--space-lg);flex:auto;overflow-y:auto}.modal-close{border-radius:var(--radius-full);width:40px;height:40px;color:var(--color-text-muted);transition:var(--transition-base);border:1px solid var(--color-border-subtle);background:#ffffff0a;justify-content:center;align-items:center;font-size:1rem;line-height:1;display:inline-flex}.modal-close:hover{color:var(--color-text);border-color:var(--color-gold-border);background:#c9a84c1f}.qr-wrapper{align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);width:100%;box-shadow:var(--glow-gold);box-sizing:border-box;background:#fff;flex-direction:column;margin:0 auto;padding:14px;display:flex}.qr-frame{aspect-ratio:1;justify-content:center;align-items:center;width:100%;display:flex}.qr-frame svg{width:100%;height:100%;display:block}.qr-meta{text-align:center;word-break:break-word;width:100%}.qr-meta--top{color:var(--color-gold);font-size:12px;font-weight:600;font-family:var(--font-display);font-style:italic}.qr-meta--bottom{letter-spacing:.12em;color:var(--color-text-muted);font-size:10px;font-family:var(--font-body)}.qr-pass-card{align-items:center}@media (width<=420px){.modal-panel{width:min(92vw,430px);max-height:88dvh}.modal-content{padding:var(--space-xs) var(--space-md) var(--space-md)}.qr-pass-card{padding:var(--space-md);gap:var(--space-sm)}.qr-pass-card .qr-wrapper{padding:12px}}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:3px;width:100%;display:grid}.gallery-item{aspect-ratio:1;background:var(--color-surface-2);color:var(--color-text-faint);font-size:var(--text-xs);border-radius:4px;justify-content:center;align-items:center;display:flex;overflow:hidden}.countdown-grid{gap:var(--space-sm);text-align:center;grid-template-columns:repeat(4,1fr);display:grid}.countdown-unit{background:var(--color-surface-2);border:1px solid var(--color-gold-border);border-radius:var(--radius-md);padding:var(--space-md) var(--space-sm)}.countdown-number{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-gold);font-weight:700;line-height:1;display:block}.countdown-label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-top:4px;font-size:9px;display:block}.color-chips{gap:var(--space-sm);flex-wrap:wrap;justify-content:center;display:flex}.color-chip{flex-direction:column;align-items:center;gap:6px;display:flex}.color-chip__swatch{border-radius:var(--radius-md);width:48px;height:48px;box-shadow:var(--shadow-md);border:1px solid #ffffff1a}.color-chip__label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);text-align:center;font-size:9px}.action-grid{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.action-btn{background:var(--color-surface-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-md);color:var(--color-text);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;transition:var(--transition-base);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:88px;font-weight:500;display:flex}.action-btn:hover{background:var(--color-surface-3);border-color:var(--color-gold-border);color:var(--color-gold)}.action-btn__icon{font-size:1.5rem}.action-btn--full{flex-direction:row;grid-column:1/-1;min-height:60px}.footer{text-align:center;padding:var(--space-xl) var(--space-md) var(--space-lg);border-top:1px solid var(--color-border-subtle);margin-top:var(--space-xl)}@keyframes screenEnter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glow{0%,to{box-shadow:var(--glow-gold-sm)}50%{box-shadow:var(--glow-gold)}}.animate-float{animation:3s ease-in-out infinite float}.animate-glow{animation:2.5s ease-in-out infinite glow}.animate-pulse{animation:2s ease-in-out infinite pulse}.portada-r{font-family:var(--font-display);background:linear-gradient(160deg, var(--color-gold-dark) 0%, var(--color-gold-light) 45%, var(--color-gold-dark) 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 40px #c9a84c66);text-align:center;-webkit-background-clip:text;background-clip:text;font-size:clamp(5rem,25vw,10rem);font-style:italic;font-weight:700;line-height:1;animation:4s ease-in-out infinite float;display:block}.portada-title{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;text-align:center;color:var(--color-text);font-size:clamp(2.5rem,10vw,4rem);font-weight:600}.success-icon{border-radius:var(--radius-full);border:2px solid var(--color-success);background:#4ade801a;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto;font-size:2rem;display:flex}.hero-section{aspect-ratio:3/4;background:linear-gradient(160deg, var(--color-surface-2) 0%, var(--color-bg) 100%);border-radius:var(--radius-lg);border:1px solid var(--color-gold-border);width:100%;max-height:60dvh;margin-bottom:var(--space-lg);justify-content:center;align-items:flex-end;display:flex;position:relative;overflow:hidden}.hero-placeholder{font-family:var(--font-display);opacity:.08;color:var(--color-gold);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:clamp(4rem,18vw,7rem);font-style:italic;font-weight:700;display:flex;position:absolute;inset:0}.hero-overlay{z-index:2;text-align:center;padding:var(--space-lg);background:linear-gradient(#0000 0%,#080808f2 100%);width:100%;position:relative}@media (width<=380px){.countdown-number{font-size:var(--text-xl)}.action-grid{grid-template-columns:1fr}.action-btn--full{grid-column:1}}@media (prefers-reduced-motion:reduce){.animate-float,.animate-glow,.animate-pulse,.portada-r,.screen{animation:none}}.hero-card,.hero-final-card{border-radius:var(--radius-xl);border:1px solid var(--color-gold-border);width:100%;min-height:72dvh;box-shadow:var(--shadow-lg), 0 0 60px #c9a84c14;isolation:isolate;position:relative;overflow:hidden}.hero-card--cover{min-height:78dvh}.hero-card__image,.hero-final-card__image{object-fit:cover;object-position:center;filter:saturate(.95)contrast(1.05);width:100%;height:100%;position:absolute;inset:0}.hero-card__overlay,.hero-final-card__overlay{background:linear-gradient(#080808c7 0%,#08080857 26%,#08080814 54%,#080808cc 100%),radial-gradient(circle at top,#c9a84c29,#0000 42%);position:absolute;inset:0}.hero-card__content,.hero-final-card__content{z-index:2;min-height:inherit;padding:var(--space-lg);text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;display:flex;position:relative}.hero-kicker{border-radius:var(--radius-full);color:var(--color-text);letter-spacing:.18em;text-transform:uppercase;text-shadow:0 2px 10px #0006;background:#0808085c;border:1px solid #ffffff1f;align-self:center;padding:8px 14px;font-size:10px;display:inline-flex}.hero-kicker--soft{background:#08080847}.hero-copy,.hero-final-card__subtitle,.hero-final-card__meta{color:var(--color-text);text-shadow:0 2px 14px #00000073}.hero-copy{font-size:var(--text-base);max-width:24ch;margin:0 auto;line-height:1.7}.hero-copy--small{color:var(--color-gold-light);font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase}.hero-final-card__title{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text);text-shadow:0 4px 18px #00000085;font-size:clamp(2.6rem,12vw,4.8rem);font-weight:700}.hero-final-card__subtitle{font-family:var(--font-display);font-size:clamp(1.1rem,4vw,1.5rem);font-style:italic}.hero-final-card__meta{color:var(--color-gold-light);letter-spacing:.18em;text-transform:uppercase;font-size:10px}.section-icon{width:44px;height:44px;margin:0 auto var(--space-sm);color:var(--color-gold);border:1px solid var(--color-gold-border);box-shadow:var(--glow-gold-sm);background:#c9a84c14;border-radius:50%;place-items:center;display:grid}.gallery-grid--premium{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-card{aspect-ratio:3/4;background:var(--color-surface-2);min-height:160px;box-shadow:var(--shadow-md);isolation:isolate;border:1px solid #ffffff14;border-radius:18px;margin:0;position:relative;overflow:hidden}.gallery-card:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#08080800 35%,#080808bd 100%);position:absolute;inset:0}.gallery-card__button{text-align:left;width:100%;height:100%;color:inherit;cursor:zoom-in;z-index:3;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;display:block;position:absolute;inset:0}.gallery-card__button:focus-visible{outline:2px solid var(--color-gold-light);outline-offset:-2px}.gallery-card__image{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .55s var(--ease-cinematic), filter .55s var(--ease-cinematic);position:absolute;inset:0}.gallery-card:hover .gallery-card__image,.gallery-card__button:focus-visible .gallery-card__image{filter:saturate(1.04)contrast(1.04);transform:scale(1.04)}.gallery-card__caption{z-index:2;color:var(--color-text);letter-spacing:.18em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0808088a;border:1px solid #ffffff1f;border-radius:9999px;justify-content:center;padding:6px 10px;font-size:10px;display:inline-flex;position:absolute;bottom:10px;left:10px;right:10px}.action-grid--premium{grid-template-columns:1fr 1fr}.action-btn{position:relative;overflow:hidden}.action-btn__icon{width:24px;height:24px;color:var(--color-gold-light);justify-content:center;align-items:center;display:inline-flex}.action-btn__icon svg,.action-btn--full .action-btn__icon{width:18px;height:18px}.footer--premium{background:linear-gradient(#0000 0%,#080808d1 100%);border-top:1px solid #ffffff14}.footer-link{color:var(--color-text);text-decoration:none;transition:color .2s,opacity .2s,text-shadow .2s}.footer-link:hover,.footer-link:focus-visible{color:var(--color-gold-light);text-shadow:0 0 18px #c9a84c33}.footer-link--gold{color:var(--color-gold)}@media (width<=420px){.hero-card,.hero-final-card{border-radius:24px;min-height:74dvh}.gallery-grid--premium{grid-template-columns:repeat(2,minmax(0,1fr))}.lightbox__nav{width:44px;height:44px}.lightbox__nav--prev{left:8px}.lightbox__nav--next{right:8px}}@media (width>=720px){.container{max-width:480px}}.hero-card__content,.hero-final-card__content{padding-top:clamp(20px,6vw,42px);padding-bottom:var(--space-xl);justify-content:flex-start;position:absolute;inset:0}.hero-card__content{gap:var(--space-sm)}.hero-final-card__content{gap:var(--space-xs)}.modal-panel--lightbox{width:min(96vw,720px);max-height:92dvh}.modal-content--lightbox{padding:var(--space-sm) var(--space-md) var(--space-lg);overflow:hidden}.lightbox{align-items:center;width:100%}.lightbox__frame{width:100%;max-width:92vw;position:relative}.lightbox__image{object-fit:contain;width:100%;max-width:92vw;max-height:72dvh;box-shadow:var(--shadow-lg);background:#00000047;border:1px solid #ffffff14;border-radius:20px}.lightbox__nav{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:48px;height:48px;box-shadow:var(--shadow-md), 0 0 0 1px #c9a84c14;transition:var(--transition-base);z-index:10;background:#080808b8;border:1px solid #ffffff38;border-radius:50%;justify-content:center;align-items:center;line-height:1;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox__nav:hover,.lightbox__nav:focus-visible{color:var(--color-gold-light);border-color:var(--color-gold-border);background:#080808c2}.lightbox__nav--prev{left:10px}.lightbox__nav--next{right:10px}.lightbox__meta{width:100%}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.animate-heartbeat{animation:heartBeat .4s var(--ease-cinematic)}@keyframes heartBeat{0%{transform:scale(1)}30%{transform:scale(1.35)}60%{transform:scale(.9)}to{transform:scale(1)}}@keyframes btnFloat{0%,to{box-shadow:var(--glow-gold-sm), 0 2px 16px #c9a84c2e;transform:translateY(0)}50%{transform:translateY(-5px);box-shadow:0 0 #0000,0 0 28px #c9a84c4d,0 10px 28px #c9a84c33}}.memories-hero .btn-primary{background:linear-gradient(135deg, var(--color-gold-dark) 0%, var(--color-gold-light) 50%, var(--color-gold-dark) 100%);color:#080808;box-shadow:var(--glow-gold-sm), 0 2px 16px #c9a84c2e;will-change:transform;transition:transform .35s var(--ease-cinematic), box-shadow .35s var(--ease-cinematic), filter .35s var(--ease-cinematic), background-position .55s var(--ease-cinematic);background-size:200%;font-weight:700;animation:4s ease-in-out infinite btnFloat}.memories-hero .btn-primary:after{content:"";border-radius:inherit;transition:background-position .55s var(--ease-cinematic);pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffff38 50%,#0000 65%) 200% 0/200% 100%;position:absolute;inset:0}.memories-hero .btn-primary:hover:not(:disabled):after{background-position:-200% 0}.memories-hero .btn-primary:hover:not(:disabled){box-shadow:var(--glow-gold), 0 6px 32px #c9a84c47;background-position:100%;animation:none;transform:translateY(-2px)}.memories-hero .btn-primary:active:not(:disabled){box-shadow:var(--glow-gold-sm), 0 1px 8px #c9a84c33;background-position:0;transform:translateY(1px)scale(.985)}.memories-page{min-height:100dvh;padding-bottom:var(--space-2xl)}.memories-hero{padding:var(--space-xl) var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border-subtle);background:linear-gradient(#0e0610 0%,#080808 60%);position:relative;overflow:hidden}.memories-hero:before{content:"";pointer-events:none;background:radial-gradient(#7c3aed29 0%,#0000 70%);width:340px;height:340px;position:absolute;top:-40%;left:50%;transform:translate(-50%)}.memories-hero:after{content:"";pointer-events:none;background:radial-gradient(#c9a84c1a 0%,#0000 70%);width:280px;height:280px;position:absolute;top:10%;right:-20%}.memories-hero__inner{z-index:1;text-align:center;align-items:center;gap:var(--space-md);flex-direction:column;max-width:480px;margin:0 auto;display:flex;position:relative}.memories-hero__kicker{border-radius:var(--radius-full);border:1px solid var(--color-gold-border);color:var(--color-gold);letter-spacing:.2em;text-transform:uppercase;animation:slideDown .6s var(--ease-cinematic) both;background:#c9a84c0f;align-self:center;padding:6px 14px;font-size:10px;display:inline-flex}.memories-hero__title{font-family:var(--font-display);background:linear-gradient(135deg, var(--color-gold-dark) 0%, var(--color-gold-light) 45%, var(--color-gold-dark) 100%);-webkit-text-fill-color:transparent;animation:slideDown .65s var(--ease-cinematic) .1s both;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.2rem,9vw,3.6rem);font-weight:700;line-height:1.1}.memories-hero__subtitle{font-size:var(--text-sm);color:var(--color-text-muted);max-width:32ch;animation:slideDown .65s var(--ease-cinematic) .2s both;line-height:1.65}.memories-feed{max-width:480px;padding:var(--space-lg) var(--space-md) 0;gap:var(--space-lg);flex-direction:column;margin:0 auto;display:flex}.feed-section-label{text-transform:uppercase;letter-spacing:.22em;color:var(--color-text-faint);text-align:center;padding:var(--space-xs) 0;font-size:10px}.memory-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);animation:slideUp .55s var(--ease-cinematic) both;overflow:hidden}.memory-card--new{border-color:var(--color-gold-border);box-shadow:var(--shadow-md), var(--glow-gold-sm)}.memory-card__header{align-items:center;gap:var(--space-sm);padding:var(--space-md);display:flex}.memory-card__avatar{background:linear-gradient(135deg, var(--color-purple), var(--color-gold-dark));border:1px solid var(--color-gold-border);width:40px;height:40px;font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-gold-light);box-shadow:var(--glow-gold-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.memory-card__author{font-size:var(--text-sm);color:var(--color-text);font-weight:600;line-height:1.3}.memory-card__time{color:var(--color-text-faint);margin-top:1px;font-size:11px}.memory-card__type-badge{letter-spacing:.08em;color:var(--color-gold);border:1px solid var(--color-gold-border);border-radius:var(--radius-full);white-space:nowrap;background:#c9a84c1a;margin-left:auto;padding:3px 10px;font-size:10px}.memory-card__media{aspect-ratio:1;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.memory-card__media-icon{color:#ffffff2e;justify-content:center;align-items:center;display:flex}.memory-card__media-icon svg{filter:drop-shadow(0 0 20px #c9a84c26);width:56px;height:56px}.media-gradient-1{background:linear-gradient(135deg,#1a0a2e 0%,#3b0764 45%,#580c5c 100%)}.media-gradient-2{background:linear-gradient(160deg,#020614 0%,#0a1628 40%,#1a2448 80%,#0e0a28 100%)}.media-gradient-3{background:linear-gradient(135deg,#1a1205 0%,#2d1e08 50%,#3d2a0a 100%)}.media-gradient-4{background:linear-gradient(140deg,#0f0520 0%,#1a0a2e 40%,#2d1452 80%,#100a20 100%)}.media-gradient-5{background:linear-gradient(155deg,#050a10 0%,#0a1520 40%,#101e30 70%,#080808 100%)}.media-gradient-new{background:linear-gradient(135deg,#080808 0%,#121220 50%,#0e0a18 100%)}.memory-card__media:after{content:"";pointer-events:none;opacity:.6;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E");position:absolute;inset:0}.media-play-overlay{z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.media-play-btn{width:64px;height:64px;color:var(--color-text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-lg);background:#08080899;border:2px solid #ffffff38;border-radius:50%;justify-content:center;align-items:center;display:flex}.media-play-btn svg{width:28px;height:28px;margin-left:3px}.memory-card__body{padding:var(--space-md) var(--space-md) 0}.memory-card__text{font-size:var(--text-sm);color:var(--color-text);line-height:1.6}.memory-card__actions{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-top:1px solid var(--color-border-subtle);margin-top:var(--space-sm);display:flex}.like-btn{border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--color-text-muted);transition:var(--transition-base);-webkit-tap-highlight-color:transparent;align-items:center;gap:6px;padding:8px 12px;font-weight:500;display:inline-flex}.like-btn:hover{color:var(--color-gold-light);background:var(--color-gold-glow)}.like-btn--active{color:#f87171}.like-btn--active:hover{color:#f87171;background:#f871711a}.like-btn svg{width:18px;height:18px;transition:transform .3s var(--ease-cinematic)}.like-btn--active svg{fill:#f87171;stroke:#f87171}.memory-card__comments{padding:0 var(--space-md) var(--space-md);gap:var(--space-xs);flex-direction:column;display:flex}.comment{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.5}.comment__author{color:var(--color-text);margin-right:6px;font-weight:600}.comment-input{margin-top:var(--space-xs);align-items:center;gap:var(--space-xs);border-top:1px solid var(--color-border-subtle);padding-top:var(--space-xs);display:flex}.comment-input__field{padding:var(--space-xs) 0;font-size:var(--text-xs);color:var(--color-text-faint);cursor:text;background:0 0;border:none;outline:none;flex:1;min-width:0}.comment-input__field::placeholder{color:var(--color-text-faint);font-style:italic}.comment-input__send{letter-spacing:.08em;text-transform:uppercase;color:var(--color-gold);border-radius:var(--radius-full);border:1px solid var(--color-gold-border);transition:var(--transition-base);cursor:pointer;white-space:nowrap;background:#c9a84c0f;flex-shrink:0;padding:4px 10px;font-size:10px;font-weight:600}.comment-input__send:hover:not(:disabled){background:#c9a84c24}.comment-input__send:disabled{opacity:.3;cursor:default}.modal-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:800;-webkit-overflow-scrolling:touch;background:#000c;place-items:end center;padding:0;animation:.25s both fadeIn;display:grid;position:fixed;inset:0;overflow-y:auto}.upload-modal{border:1px solid var(--color-gold-border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;-webkit-overflow-scrolling:touch;width:100%;max-width:480px;max-height:92dvh;box-shadow:var(--shadow-lg), var(--glow-gold-sm);animation:slideUp .45s var(--ease-cinematic) both;padding:var(--space-lg);gap:var(--space-lg);background:linear-gradient(#111,#0c0c0c);flex-direction:column;display:flex;position:relative;overflow-y:auto}.upload-modal__handle{border-radius:var(--radius-full);background:var(--color-border-subtle);width:40px;height:4px;margin:0 auto var(--space-sm)}.upload-modal__header{justify-content:space-between;align-items:center;display:flex}.upload-modal__title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text);font-weight:600}.upload-modal__close{border-radius:var(--radius-full);width:40px;height:40px;color:var(--color-text-muted);border:1px solid var(--color-border-subtle);transition:var(--transition-base);background:#ffffff0a;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.upload-modal__close:hover{color:var(--color-text);border-color:var(--color-gold-border);background:#c9a84c1a}.dropzone{border:2px dashed var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-xl) var(--space-md);text-align:center;transition:var(--transition-base);cursor:pointer;background:var(--color-surface-2);position:relative}.dropzone:hover,.dropzone--selected{border-color:var(--color-gold-border);background:#c9a84c0a}.dropzone--selected{border-style:solid}.dropzone input[type=file]{opacity:0;cursor:pointer;z-index:2;width:100%;height:100%;position:absolute;inset:0}.dropzone__content{align-items:center;gap:var(--space-sm);pointer-events:none;flex-direction:column;display:flex}.dropzone__icon{color:var(--color-gold);opacity:.6}.dropzone__text{font-size:var(--text-sm);color:var(--color-text-muted)}.dropzone__note{color:var(--color-text-faint);font-size:11px}.dropzone__selected-text{font-size:var(--text-sm);color:var(--color-success);align-items:center;gap:var(--space-xs);font-weight:500;display:flex}.toast{bottom:calc(var(--space-xl) + env(safe-area-inset-bottom));z-index:9000;background:linear-gradient(135deg, var(--color-gold-dark), var(--color-gold-light));color:#080808;font-size:var(--text-sm);border-radius:var(--radius-full);align-items:center;gap:var(--space-sm);box-shadow:var(--shadow-lg), var(--glow-gold);white-space:nowrap;animation:slideUp .4s var(--ease-cinematic) both;pointer-events:none;padding:14px 28px;font-weight:600;display:inline-flex;position:fixed;left:50%;transform:translate(-50%)}.toast__icon{font-size:var(--text-base)}.top-memories{max-width:480px;margin:var(--space-2xl) auto 0;padding:0 var(--space-md)}.top-memories__header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.section-ornament{color:var(--color-gold);font-size:var(--text-base)}.top-memories__title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text);font-weight:600}.top-memories__subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-lg);line-height:1.55}.top-memories__grid{gap:var(--space-sm);margin-bottom:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}.top-memory-card{background:var(--color-surface-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);transition:var(--transition-base);flex-direction:column;display:flex;position:relative;overflow:hidden}.top-memory-card--rank-1{border-color:#c9a84c59}.top-memory-card--rank-2{border-color:#c9a84c2e}.top-memory-card__media{aspect-ratio:1;flex-shrink:0;width:100%;position:relative}.top-memory-card__body{padding:var(--space-xs) var(--space-sm) var(--space-sm);flex-direction:column;flex:1;gap:2px;display:flex}.top-memory-card__rank{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-gold);margin-bottom:2px;font-weight:700;line-height:1;display:inline-block}.top-memory-card--rank-2 .top-memory-card__rank,.top-memory-card--rank-3 .top-memory-card__rank{font-size:var(--text-base);opacity:.7}.top-memory-card__author{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.top-memory-card__preview{color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;line-height:1.4;display:-webkit-box;overflow:hidden}.top-memory-card__likes{color:#f87171;margin-top:2px;font-size:10px;font-weight:500}.memories-footer{max-width:480px;margin:var(--space-2xl) auto 0;padding:var(--space-xl) var(--space-md) var(--space-lg);text-align:center;background:linear-gradient(#0000 0%,#080808d1 100%);border-top:1px solid #ffffff14;flex-direction:column;align-items:center;gap:0;display:flex}.memories-footer .divider-gold{margin-bottom:var(--space-lg)}.memories-footer__powered{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:4px}.memories-footer__brand{font-size:var(--text-sm);letter-spacing:.06em;color:var(--color-gold);margin-bottom:4px;font-weight:600}.memories-footer__tagline{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.memories-footer__whatsapp{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-full);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;background:0 0;margin-top:4px;margin-bottom:4px;padding:10px 20px;font-weight:500;text-decoration:none;transition:color .2s,opacity .2s;display:inline-flex}.memories-footer__whatsapp:hover{color:var(--color-gold-light)}.memories-footer__copy{font-size:var(--text-xs);color:var(--color-text-faint);margin-top:var(--space-lg)}.memories-footer__scroll-top{align-items:center;gap:var(--space-sm);border-radius:var(--radius-full);border:1px solid var(--color-gold-border);color:var(--color-gold);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;margin-bottom:var(--space-md);will-change:transform;box-shadow:var(--glow-gold-sm), 0 2px 12px #c9a84c1f;transition:transform .35s var(--ease-cinematic), box-shadow .35s var(--ease-cinematic), border-color .35s var(--ease-cinematic), background .35s var(--ease-cinematic);-webkit-tap-highlight-color:transparent;background:#c9a84c0a;padding:12px 28px;font-weight:600;animation:4s ease-in-out infinite btnFloat;display:inline-flex}.memories-footer__scroll-top svg{width:15px;height:15px;transition:transform .25s var(--ease-cinematic);flex-shrink:0}.memories-footer__scroll-top:hover{box-shadow:var(--glow-gold), 0 6px 24px #c9a84c38;border-color:var(--color-gold);background:#c9a84c1a;animation:none;transform:translateY(-2px)}.memories-footer__scroll-top:hover svg{transform:translateY(-2px)}.memories-footer__scroll-top:active{box-shadow:var(--glow-gold-sm);transform:translateY(1px)scale(.985)}.memories-footer__back-cta{align-items:center;gap:var(--space-sm);border-radius:var(--radius-full);border:1px solid var(--color-gold-border);color:var(--color-gold);font-size:var(--text-sm);letter-spacing:.04em;transition:var(--transition-base);margin-bottom:var(--space-lg);-webkit-tap-highlight-color:transparent;background:#c9a84c0d;padding:13px 28px;font-weight:600;text-decoration:none;display:inline-flex}.memories-footer__back-cta svg{width:16px;height:16px;transition:transform .25s var(--ease-cinematic);flex-shrink:0}.memories-footer__back-cta:hover{border-color:var(--color-gold);color:var(--color-gold-light);box-shadow:var(--glow-gold-sm);background:#c9a84c1f;transform:translateY(-1px)}.memories-footer__back-cta:hover svg{transform:translate(-3px)}.memories-footer__back-cta:active{box-shadow:none;transform:translateY(0)}.scroll-top-btn{bottom:calc(var(--space-xl) + env(safe-area-inset-bottom,0px));right:var(--space-lg);z-index:8500;border:1px solid var(--color-gold-border);width:52px;height:52px;color:var(--color-gold-light);opacity:0;pointer-events:none;transition:opacity .35s var(--ease-cinematic), transform .35s var(--ease-cinematic), box-shadow .35s var(--ease-cinematic), border-color .35s var(--ease-cinematic), background .35s var(--ease-cinematic);-webkit-tap-highlight-color:transparent;background:linear-gradient(145deg,#0e0510 0%,#120820 100%);border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;transform:translateY(16px)scale(.9)}.scroll-top-btn svg{width:22px;height:22px;transition:transform .25s var(--ease-cinematic)}.scroll-top-btn--visible{opacity:1;pointer-events:auto;box-shadow:var(--glow-gold-sm), 0 4px 20px #0009;transform:translateY(0)scale(1)}.scroll-top-btn:hover{border-color:var(--color-gold);box-shadow:var(--glow-gold), 0 6px 28px #000000b3;background:linear-gradient(145deg,#1a0a2e 0%,#20103a 100%)}.scroll-top-btn:hover svg{transform:translateY(-2px)}.scroll-top-btn:active{box-shadow:var(--glow-gold-sm);transform:scale(.94)}@media (width>=520px){.modal-overlay{place-items:center}.upload-modal{border-radius:var(--radius-xl);max-height:88dvh}.upload-modal__handle{display:none}}@media (prefers-reduced-motion:reduce){.memories-hero__kicker,.memories-hero__title,.memories-hero__subtitle,.memory-card,.upload-modal,.memories-hero .btn-primary{will-change:auto;animation:none;transform:none}.memories-hero .btn-primary:hover:not(:disabled){transform:none}.memories-footer__scroll-top{will-change:auto;animation:none;transform:none}.memories-footer__scroll-top:hover,.memories-footer__scroll-top:active{transform:none}.memories-footer__scroll-top svg{transition:none}.scroll-top-btn{transition:opacity .2s;transform:none}.scroll-top-btn--visible{transform:none}.scroll-top-btn svg,.memories-footer__back-cta svg{transition:none}.memories-footer__back-cta:hover,.memories-footer__back-cta:active{transform:none}}
