*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--gold:#c9a84c;--gold-l:#e8d48b;--gold-dim:#c9a84c38;--bg:#06060e;--text:#f0ebe0;--text-dim:#f0ebe085;--font:"Cormorant Garamond", Georgia, serif}html,body{background:radial-gradient(ellipse 130% 100% at 50% 35%, #0e0e20 0%, var(--bg) 100%);height:100%;color:var(--text);font-family:var(--font);user-select:none;overflow:hidden}#moon{z-index:0;pointer-events:none;background:radial-gradient(circle at 62% 22%,#a0967d59 0%,#0000 9%),radial-gradient(circle at 28% 68%,#a0967d40 0%,#0000 7%),radial-gradient(circle at 72% 72%,#a0967d33 0%,#0000 5%),radial-gradient(circle at 45% 40%,#a0967d26 0%,#0000 11%),radial-gradient(circle at 38% 32%,#f8f4e8 0%,#e8e0c5 35%,#ccc0a0 70%,#a89878 100%);border-radius:50%;width:300px;height:300px;position:fixed;top:-90px;left:50%;transform:translate(-50%);box-shadow:0 0 50px #f0e8c32e,0 0 110px #f0e8c31a,0 0 220px #f0e8c30d}#stars-canvas{z-index:1;pointer-events:none;position:fixed;inset:0}#gate{z-index:100;background:radial-gradient(ellipse 130% 100% at 50% 35%, #0e0e20 0%, var(--bg) 100%);justify-content:center;align-items:center;transition:opacity .8s;display:flex;position:fixed;inset:0}#gate.hidden{opacity:0;pointer-events:none}.gate-box{text-align:center;width:100%;max-width:380px;padding:0 1.5rem}.gate-ornament{color:var(--gold);letter-spacing:.5em;margin-bottom:1.8rem;font-size:1rem;display:block}.gate-title{letter-spacing:.03em;margin-bottom:.6rem;font-size:clamp(2rem,5vw,3rem);font-weight:300}.gate-sub{color:var(--text-dim);margin-bottom:2.2rem;font-size:1.15rem;font-style:italic;font-weight:400}#gate-form{flex-direction:column;gap:.75rem;display:flex}#gate-input{border:1px solid var(--gold-dim);width:100%;min-height:48px;color:var(--text);font-family:var(--font);letter-spacing:.08em;text-align:center;background:0 0;outline:none;padding:.65rem 1rem;font-size:1.1rem;font-style:italic;transition:border-color .3s}#gate-input:focus{border-color:var(--gold)}#gate-input::placeholder{color:var(--text-dim)}#gate-form button{border:1px solid var(--gold-dim);width:100%;min-height:48px;color:var(--gold);font-family:var(--font);letter-spacing:.35em;text-transform:uppercase;cursor:pointer;background:0 0;padding:.65rem 1rem;font-size:.9rem;transition:border-color .3s}#gate-form button:hover{border-color:var(--gold)}.gate-error{color:#d2645ad9;margin-top:1rem;font-size:.95rem;font-style:italic}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}#gate-input.shake{animation:.4s shake}#app{z-index:2;position:fixed;inset:0}.slide{opacity:0;pointer-events:none;justify-content:center;align-items:center;padding:2rem 1.5rem;transition:opacity .75s,transform .75s;display:flex;position:absolute;inset:0;transform:translateY(28px)}.slide.active{opacity:1;pointer-events:all;transform:translateY(0)}.slide.exit{opacity:0;pointer-events:none;transition:opacity .45s,transform .45s;transform:translateY(-24px)}.pause-slide:before{content:"";border:1px solid var(--gold-dim);pointer-events:none;animation:3s ease-in-out infinite border-pulse;position:absolute;inset:2rem}@keyframes border-pulse{0%,to{border-color:#c9a84c14}50%{border-color:#c9a84c61}}.pause-eyebrow{margin-bottom:2.4rem;letter-spacing:.25em!important;color:var(--gold-l)!important;font-size:.88rem!important}.pause-hint{letter-spacing:.28em;text-transform:uppercase;color:var(--text-dim);margin-top:2.8rem;font-size:.8rem;animation:2.5s ease-in-out infinite hint-fade}@keyframes hint-fade{0%,to{opacity:.35}50%{opacity:.9}}.drumroll{color:var(--gold);margin-top:2.5rem;font-size:1.1rem;animation:1.4s ease-in-out infinite drumroll-wave}@keyframes drumroll-wave{0%,to{opacity:.2;letter-spacing:.3em}50%{opacity:1;letter-spacing:.6em}}.content{width:100%;max-width:680px}.content.center{text-align:center}.ornament{color:var(--gold);letter-spacing:.5em;margin:1.5rem 0;font-size:.85rem;display:block}.title-main{letter-spacing:.02em;font-size:clamp(3rem,9vw,6rem);font-weight:300;line-height:1.1}.title-main em{color:var(--gold);font-style:italic}.eyebrow{letter-spacing:.38em;text-transform:uppercase;color:var(--gold);margin-bottom:2.2rem;font-size:.8rem}.heading{letter-spacing:.015em;font-size:clamp(2rem,5.5vw,3.6rem);font-weight:300;line-height:1.2}.heading em{color:var(--gold);font-style:italic}.large-heading{font-size:clamp(2.6rem,7.5vw,5.5rem)}.subtext{color:var(--text-dim);margin-top:1.75rem;font-size:clamp(1.05rem,2.4vw,1.35rem);font-weight:400;line-height:1.85}.cta-hint{color:var(--gold);letter-spacing:.06em;margin-top:2.8rem;font-size:1.2rem;font-style:italic}.clue{color:var(--text);border-left:1px solid var(--gold);text-align:left;padding:1.4rem 2rem;font-size:clamp(1.1rem,2.6vw,1.55rem);font-style:italic;font-weight:400;line-height:1.8;position:relative}.clue:before{content:"";background:linear-gradient(to bottom, var(--gold-l), var(--gold));opacity:.6;width:1px;height:40%;position:absolute;top:0;left:-1px}.reveal-glyph{color:var(--gold);margin:0 0 1.4rem;font-size:2.8rem;animation:3s ease-in-out infinite glow-pulse}@keyframes glow-pulse{0%,to{opacity:.6;text-shadow:none}50%{opacity:1;text-shadow:0 0 24px #c9a84c99}}.reveal-heading{letter-spacing:.02em;margin-bottom:1.5rem;font-size:clamp(2.2rem,6vw,4.5rem);font-weight:300;line-height:1.2}.reveal-heading em{color:var(--gold);font-style:italic}.reveal-sub{color:var(--text-dim);font-size:clamp(1rem,2.2vw,1.28rem);font-weight:400;line-height:1.85}.choice-content{max-width:1060px}.choice-eyebrow{text-align:center}.choices{align-items:stretch;gap:2.5rem;display:flex}.choice{border:1px solid var(--gold-dim);background:#c9a84c06;flex:1;padding:2rem 1.6rem}.choice-label{letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:.85rem;font-size:.78rem}.choice-name{margin-bottom:1rem;font-size:clamp(1.7rem,3.5vw,2.6rem);font-style:italic;font-weight:300}.choice-desc{color:var(--text-dim);font-size:clamp(.95rem,1.8vw,1.15rem);font-weight:400;line-height:1.75}.choice-or{color:var(--gold-dim);flex-shrink:0;align-self:center;font-size:1.6rem;font-style:italic}.choice-special{background:#c9a84c0a;border-color:#c9a84c73}.signature{color:var(--gold);letter-spacing:.08em;margin-top:2.5rem;font-size:1.2rem;font-style:italic}#nav-btn{z-index:10;border:1px solid var(--gold-dim);color:var(--gold);font-family:var(--font);letter-spacing:.32em;text-transform:uppercase;cursor:pointer;background:0 0;align-items:center;gap:.7rem;padding:.65rem 1.5rem .65rem 1.8rem;font-size:.84rem;transition:border-color .35s,opacity .5s,transform .4s;display:flex;position:fixed;bottom:2.2rem;left:50%;overflow:hidden;transform:translate(-50%)}#nav-btn:hover:not(.cooling){border-color:var(--gold)}#nav-btn.hidden{opacity:0;pointer-events:none;transform:translate(-50%)translateY(8px)}#nav-btn:after{content:"";background:var(--gold);pointer-events:none;width:0%;height:1px;position:absolute;bottom:0;left:0}#nav-btn.cooling{opacity:.4;cursor:default}#nav-btn.cooling:after{width:100%;transition:width var(--cd,3s) linear}#dots{z-index:10;flex-direction:column;gap:.55rem;display:flex;position:fixed;top:50%;right:1.4rem;transform:translateY(-50%)}.dot{cursor:pointer;background:#f0ebe033 padding-box content-box;border:none;border-radius:50%;width:5px;height:5px;padding:6px;transition:background-color .35s,transform .35s}.dot.active{background-color:var(--gold);transform:scale(1.6)}.deco{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:2rem;width:110px;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.deco-l{left:0}.deco-r{right:0}@media (width<=920px){.deco{display:none}}.deco-gem{color:var(--gold);opacity:0;animation:4.5s ease-in-out infinite deco-twinkle}@keyframes deco-twinkle{0%,to{opacity:.08}50%{opacity:.78}}#gif-modal{z-index:200;opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}#gif-modal.visible{opacity:1;pointer-events:all}#gif-backdrop{background:#06060edb;position:absolute;inset:0}#gif-box{z-index:1;text-align:center;border:1px solid var(--gold-dim);background:#0d0d1e;max-width:min(90vw,480px);padding:2rem 2rem 1.6rem;position:relative}.gif-msg{font-family:var(--font);color:var(--gold);letter-spacing:.04em;margin-bottom:1.2rem;font-size:1.15rem;font-style:italic}#gif-img{max-width:100%;max-height:55vh;margin:0 auto;display:block}#gif-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;font-size:1.1rem;line-height:1;transition:color .2s;position:absolute;top:.55rem;right:.75rem}#gif-close:hover{color:var(--gold)}@media (width>=1400px){.content{max-width:780px}.choice-content{max-width:1160px}}@media (width<=640px){.slide{padding-bottom:7.5rem}.choices{flex-direction:column;gap:1rem}.choice-or{display:none}.clue{padding:1rem 1.2rem}#moon{width:180px;height:180px;top:-55px}.pause-slide:before{inset:1rem}.slide:has(.choice-content){-webkit-overflow-scrolling:touch;align-items:flex-start;padding-top:8rem;overflow-y:auto}.choice-eyebrow{margin-bottom:1.2rem}.choice{padding:1rem 1.2rem}.deco{opacity:.75;justify-content:space-between;align-items:center;gap:0;width:52px;padding-top:10rem;padding-bottom:9rem;display:flex}.deco>:nth-child(n+3){display:none}#app:has([data-slide="10"].active):after{content:"";background:linear-gradient(to top, var(--bg) 32%, transparent 100%);pointer-events:none;z-index:6;height:9rem;position:absolute;bottom:0;left:0;right:0}#dots{flex-direction:row;align-items:flex-end;gap:2px;width:100%;height:44px;padding:0 2px;inset:auto auto 0 0;transform:none}.dot{background:0 0;border-radius:0;flex:1;width:auto;height:44px;padding:0;position:relative}.dot:after{content:"";background:#f0ebe02e;border-radius:1px;height:2px;transition:background-color .35s,height .25s;position:absolute;bottom:0;left:0;right:0}.dot.active:after{background:var(--gold);height:3px}.dot,.dot.active{transform:none}#nav-btn{bottom:3.8rem}}
