@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700;800;900&family=Montserrat:wght@100;200;300;400;500;600&family=Pinyon+Script&display=swap";:root{--bg-primary:#000;--bg-secondary:#050505;--bg-tertiary:#0a0a0a;--bg-glass:#14141466;--bg-glass-heavy:#0a0a0acc;--bg-glass-border:#d4af3726;--gold-primary:#d4af37;--gold-light:#f3e5ab;--gold-dark:#996515;--gold-glow:#d4af374d;--gold-glow-strong:#d4af3799;--champagne:#f7e7ce;--platinum:#e5e4e2;--gradient-gold:linear-gradient(135deg, var(--gold-dark) 0%, var(--gold-primary) 50%, var(--gold-light) 100%);--gradient-gold-text:linear-gradient(to right, #bf953f, #fcf6ba, #b38728, #fbf5b7, #aa771c);--gradient-glass:linear-gradient(135deg, #ffffff08 0%, #d4af370d 100%);--text-white:#fff;--text-light:#e0e0e0;--text-muted:#888;--font-display:"Cinzel", serif;--font-body:"Montserrat", sans-serif;--font-script:"Pinyon Script", cursive;--ease-cinematic:cubic-bezier(.25, 1, .5, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--gold-primary) var(--bg-primary);background-color:var(--bg-primary)}html::-webkit-scrollbar{width:4px}html::-webkit-scrollbar-track{background:var(--bg-primary)}html::-webkit-scrollbar-thumb{background:var(--gold-primary);border-radius:2px}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-light);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}::selection{background:var(--gold-dark);color:var(--bg-primary)}#root{min-height:100vh}.text-gold-gradient{background:var(--gradient-gold-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.film-grain{z-index:9999;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");position:fixed;inset:0}.luxury-preloader{background-color:var(--bg-primary);z-index:9999;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.preloader-content-luxury{flex-direction:column;align-items:center;width:100%;max-width:400px;padding:0 40px;display:flex}.luxury-logo-loader{justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:40px;display:flex;position:relative}.luxury-ring{border:1px solid #d4af3733;border-top-color:var(--gold-primary);border-radius:50%;animation:2s cubic-bezier(.68,-.55,.265,1.55) infinite spin;position:absolute;inset:0}.luxury-ring-inner{border:1px solid #d4af3733;border-bottom-color:var(--gold-light);border-radius:50%;animation:1.5s cubic-bezier(.68,-.55,.265,1.55) infinite reverse spin;position:absolute;inset:15px}@keyframes spin{to{transform:rotate(360deg)}}.preloader-title-luxury{font-family:var(--font-body);letter-spacing:.4em;color:var(--gold-primary);text-transform:uppercase;text-align:center;margin-bottom:30px;font-size:.75rem}.progress-container-luxury{background:#ffffff0d;width:100%;height:2px;margin-bottom:16px;position:relative;overflow:hidden}.progress-bar-luxury{background:var(--gold-primary);height:100%;box-shadow:0 0 10px var(--gold-glow);transition:width .1s linear;position:absolute;top:0;left:0}.progress-text-luxury{font-family:var(--font-body);color:var(--text-muted);letter-spacing:.2em;font-size:.7rem}.music-toggle{z-index:1000;background:var(--bg-glass-heavy);-webkit-backdrop-filter:blur(10px);cursor:pointer;width:50px;height:50px;transition:all .5s var(--ease-cinematic);border:1px solid #d4af3733;border-radius:50%;outline:none;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;top:30px;right:30px;overflow:hidden}.music-toggle:hover{background:#d4af370d;border-color:#d4af3780;transform:scale(1.05);box-shadow:0 0 30px #d4af3726}.music-icon{filter:sepia(1) saturate(3) hue-rotate(5deg) drop-shadow(0 0 5px var(--gold-glow));font-size:1.2rem;transition:transform .5s}.music-toggle.playing .music-icon{display:none}.music-bars{align-items:flex-end;gap:3px;height:20px;display:none}.music-toggle.playing .music-bars{display:flex}.music-bars span{background:var(--gold-primary);width:2px;box-shadow:0 0 8px var(--gold-glow);border-radius:1px;animation:.8s ease-in-out infinite alternate musicBar}.music-bars span:first-child{height:10px;animation-delay:0s}.music-bars span:nth-child(2){height:18px;animation-delay:.2s}.music-bars span:nth-child(3){height:12px;animation-delay:.4s}.music-bars span:nth-child(4){height:20px;animation-delay:.1s}@keyframes musicBar{0%{height:4px}to{height:20px}}@media (width<=768px){.music-toggle{width:44px;height:44px;top:20px;right:20px}}.game-overlay{z-index:10;pointer-events:none;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:10vh;display:flex;position:absolute;inset:0}.game-overlay-interactive{pointer-events:auto}.hud-hint{background:var(--bg-glass-heavy);-webkit-backdrop-filter:blur(10px);border:1px solid #d4af3733;border-radius:50px;flex-direction:column;align-items:center;gap:12px;padding:16px 32px;display:flex;box-shadow:0 0 30px #000c}.hud-text{font-family:var(--font-body);letter-spacing:.2em;color:var(--gold-light);text-transform:uppercase;font-size:.85rem}.hud-subtext{color:var(--gold-dark);letter-spacing:.1em;font-size:.7rem}.hud-progress-dots{gap:8px;display:flex}.hud-dot{border:1px solid var(--gold-primary);background:0 0;border-radius:50%;width:8px;height:8px;transition:all .3s}.hud-dot.active{background:var(--gold-primary);box-shadow:0 0 10px var(--gold-glow)}.summon-bar-bg{background:#ffffff1a;border-radius:2px;width:200px;height:4px;overflow:hidden}.summon-bar-fill{background:var(--gradient-gold);height:100%;box-shadow:0 0 10px var(--gold-glow)}.hud-envelope-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)!important}.hint-extinguish{background:#14050ad9;margin-bottom:25vh;box-shadow:0 0 40px #d4af3766}.luxury-envelope-wrapper{pointer-events:auto;z-index:100;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.envelope-container-luxury{perspective:1500px;flex-direction:column;align-items:center;display:flex}.envelope-luxury{cursor:pointer;width:clamp(280px,50vw,460px);height:clamp(190px,34vw,300px);transition:transform .6s var(--ease-cinematic), opacity 1s ease;position:relative}.envelope-luxury:hover:not(.opened){transform:translateY(-10px)scale(1.02)}.envelope-luxury.opened{transform:translateY(20vh)scale(.9)}.envelope-luxury.extracted .envelope-back-luxury,.envelope-luxury.extracted .envelope-front-luxury,.envelope-luxury.extracted .envelope-flap-luxury{opacity:0;pointer-events:none;transition:opacity 1s}.envelope-back-luxury{background:linear-gradient(145deg,#111,#000);border:1px solid #d4af3733;border-radius:4px;transition:opacity 1s;position:absolute;inset:0;box-shadow:0 20px 50px #000c,inset 0 1px #ffffff0d}.envelope-front-luxury{clip-path:polygon(0 35%,50% 0,100% 35%,100% 100%,0 100%);z-index:2;background:linear-gradient(165deg,#1a1a1a,#0a0a0a);border:1px solid #d4af3726;border-radius:0 0 4px 4px;justify-content:center;align-items:center;height:65%;padding-top:20%;transition:opacity 1s;display:flex;position:absolute;bottom:0;left:0;right:0}.envelope-seal-luxury{background:radial-gradient(circle at 0 0,#d4af37,#996515);border:2px solid #d4af37;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:opacity .5s;display:flex;box-shadow:0 0 20px #d4af374d,inset 0 2px 4px #fff6}.envelope-seal-luxury.hidden{opacity:0}.envelope-flap-luxury{clip-path:polygon(0 0,50% 100%,100% 0);z-index:3;transform-origin:top;height:50%;transition:transform 1s var(--ease-cinematic), opacity 1s ease;background:linear-gradient(#1a1a1a,#0a0a0a);border:1px solid #d4af3733;position:absolute;top:0;left:0;right:0}.envelope-luxury.opened .envelope-flap-luxury{transform:rotateX(180deg)}.letter-paper-luxury{z-index:1;height:88%;transition:all 1.5s var(--ease-cinematic);background:linear-gradient(#f9f1d8,#e8d399);border-radius:4px;position:absolute;bottom:8%;left:6%;right:6%;overflow:hidden;transform:translateY(0);box-shadow:0 4px 20px #00000080}.letter-paper-luxury:after{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml;utf8,<svg width=\"100\" height=\"100\" xmlns=\"http://www.w3.org/2000/svg\"><filter id=\"noise\"><feTurbulence type=\"fractalNoise\" baseFrequency=\"0.6\" numOctaves=\"3\" stitchTiles=\"stitch\"/></filter><rect width=\"100\" height=\"100\" filter=\"url(%23noise)\" opacity=\"0.06\"/></svg>");position:absolute;inset:0}.envelope-luxury.opened .letter-paper-luxury:not(.full-screen-letter){transform:translateY(-115%);box-shadow:0 30px 80px #000c}@keyframes wave-scroll{0%{transform:translate(-50%,calc(-50% - 20vh))perspective(1000px)rotateX(3deg)rotateY(-3deg)scale(1)}50%{transform:translate(-50%,calc(-50% - 20vh))perspective(1000px)rotateX(-3deg)rotateY(3deg)scale(1.02)}to{transform:translate(-50%,calc(-50% - 20vh))perspective(1000px)rotateX(3deg)rotateY(-3deg)scale(1)}}.letter-paper-luxury.full-screen-letter{z-index:9999;cursor:default;scroll-behavior:smooth;background:linear-gradient(90deg,#00000080 0%,#0000 4% 96%,#00000080 100%),linear-gradient(#4a2511 0%,#3e1b0a 3%,#0000 3% 97%,#3e1b0a 97%,#4a2511 100%),linear-gradient(#cba153,#ebd599,#cba153);border-top:5px solid #2a1104;border-bottom:5px solid #2a1104;border-radius:8px;width:clamp(300px,80vw,600px);height:clamp(400px,75vh,750px);animation:8s ease-in-out infinite wave-scroll;position:fixed;inset:50% auto auto 50%;overflow-y:auto;box-shadow:inset 0 0 60px #654321e6,0 0 100px #d4af3766,0 50px 100px #000000e6;transform:translate(-50%,calc(-50% - 20vh))!important}.letter-content-luxury{color:#2b1d0f;padding:clamp(60px,8vw,80px) clamp(30px,6vw,60px);font-weight:600}.letter-layout{flex-direction:column;width:100%;height:100%;display:flex}.gallery-section{flex-direction:column;align-items:center;width:100%;margin-top:40px;display:flex}.drawing-gallery{flex-direction:column;align-items:center;gap:60px;width:100%;padding-bottom:80px;display:flex}.drawing-title{color:#5a3a22;text-align:center;margin-bottom:20px;font-family:Cinzel,serif;font-size:1.2rem}.gallery-item{justify-content:center;align-items:center;display:flex}.scratch-canvas-wrapper{flex-direction:row;justify-content:center;align-items:center;display:flex}.easel-canvas{background:#fff;border:8px solid #8b4513;border-radius:4px;justify-content:center;align-items:center;width:250px;height:250px;display:flex;position:relative;overflow:hidden;box-shadow:5px 5px 15px #0003}.easel-canvas:before{content:"";pointer-events:none;z-index:5;background-image:url("data:image/svg+xml;utf8,<svg width=\"100\" height=\"100\" xmlns=\"http://www.w3.org/2000/svg\"><filter id=\"noise\"><feTurbulence type=\"fractalNoise\" baseFrequency=\"0.8\" numOctaves=\"4\" stitchTiles=\"stitch\"/></filter><rect width=\"100\" height=\"100\" filter=\"url(%23noise)\" opacity=\"0.1\"/></svg>");position:absolute;inset:0}.under-image{object-fit:cover;filter:sepia(.2);z-index:1;width:90%;height:90%;position:absolute}.overlay-canvas{z-index:2;width:100%;height:100%;transition:opacity 1s;position:absolute;top:0;left:0}.overlay-canvas.faded-out{opacity:0;pointer-events:none}.artist-cursor-wrapper{z-index:10;pointer-events:none;position:absolute;top:0;left:0}.artist-cursor-bob{animation:.1s infinite alternate scratchBob}@keyframes scratchBob{0%{transform:translateY(0)}to{transform:translateY(-3px)}}.letter-content-luxury{color:#2b1d0f;text-shadow:0 1px 1px #fff3;height:100%;padding:clamp(60px,8vw,80px) clamp(30px,6vw,60px);font-size:clamp(.9rem,1.6vw,1.1rem);font-weight:600;line-height:1.8;position:relative}.letter-content-luxury::-webkit-scrollbar{width:4px}.letter-content-luxury::-webkit-scrollbar-thumb{background:#b38728;border-radius:2px}.typewriter-container{position:relative}.letter-line{min-height:1.8em;font-family:var(--font-body);margin:0}.letter-line.empty{min-height:1em}.letter-dear-luxury{font-family:var(--font-display);color:#4a2511;text-shadow:1px 1px 2px #0000004d;min-height:1.2em;margin-bottom:24px;font-size:clamp(1.8rem,4vw,2.8rem)}.letter-sign-luxury{color:#4a2511;font-style:italic;font-family:var(--font-script);text-shadow:1px 1px 2px #0000004d;margin-top:40px;font-size:2.2em}.cursor{opacity:.5;background-color:#1a1a1a;width:2px;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.magical-pen{z-index:10;filter:drop-shadow(5px 15px 10px #0000004d);pointer-events:none;position:absolute;top:-30px;left:0}.envelope-cta-luxury{font-family:var(--font-body);letter-spacing:.3em;color:var(--gold-primary);text-transform:uppercase;margin-top:40px;font-size:.75rem;transition:opacity .5s}.envelope-cta-luxury.hidden{opacity:0;pointer-events:none}.entry-gate-container{z-index:1000;background:radial-gradient(circle,#1a1a1a,#000);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:absolute;top:0;left:0}.entry-content{text-align:center;flex-direction:column;gap:60px;display:flex}.entry-title{color:#d4af37;text-shadow:0 0 20px #d4af3780;opacity:0;margin:0;font-family:Cinzel,serif;font-size:clamp(2rem,5vw,4rem);animation:2s forwards fadeIn}.entry-buttons{opacity:0;justify-content:center;gap:40px;animation:2s 1s forwards fadeIn;display:flex}@media (width<=600px){.entry-buttons{flex-direction:column;align-items:center}}.entry-btn{cursor:pointer;background:0 0;border:1px solid #d4af374d;border-radius:4px;min-width:250px;padding:20px 40px;transition:all .4s;position:relative;overflow:hidden}.btn-text{z-index:2;color:#f3e5ab;letter-spacing:2px;text-transform:uppercase;font-family:Cinzel,serif;font-size:1.5rem;position:relative}.btn-glow{z-index:1;background:#d4af3733;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.entry-btn:hover{border-color:#d4af37;transform:translateY(-5px);box-shadow:0 10px 30px #d4af374d}.entry-btn:hover .btn-glow{width:300px;height:300px}.entry-btn:active{transform:translateY(0)}.countdown-container{justify-content:center;gap:20px;margin-top:20px;display:flex}.time-box{background:#d4af371a;border:1px solid #d4af374d;border-radius:8px;flex-direction:column;align-items:center;min-width:80px;padding:15px 20px;display:flex}.time-number{color:#d4af37;text-shadow:0 0 10px #d4af3780;font-family:Cinzel,serif;font-size:2.5rem;font-weight:700}.time-label{font-family:var(--font-body);color:#f3e5ab;text-transform:uppercase;letter-spacing:1px;margin-top:5px;font-size:.9rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.wisher-portal-container{z-index:1000;background:radial-gradient(circle,#1a1a1a,#000);justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;display:flex;position:absolute;top:0;left:0}.wisher-scroll{text-align:center;background:linear-gradient(90deg,#0000004d 0%,#0000 4% 96%,#0000004d 100%),linear-gradient(#4a2511 0%,#3e1b0a 3%,#0000 3% 97%,#3e1b0a 97%,#4a2511 100%),linear-gradient(#cba153,#ebd599,#cba153);border-top:5px solid #2a1104;border-bottom:5px solid #2a1104;border-radius:8px;width:100%;max-width:500px;padding:60px 40px;animation:1s forwards slideUp;box-shadow:inset 0 0 40px #65432199,0 20px 50px #000c}@media (width<=480px){.wisher-scroll{padding:40px 20px}}.wisher-title{color:#2b1d0f;margin-bottom:10px;font-family:Cinzel,serif;font-size:2.5rem}.wisher-desc{font-family:var(--font-body);color:#4a2511;margin-bottom:30px}.wisher-form{text-align:left;flex-direction:column;gap:20px;display:flex}.form-group label{color:#2b1d0f;margin-bottom:8px;font-family:Cinzel,serif;font-weight:700;display:block}.wisher-form input,.wisher-form textarea{width:100%;font-family:var(--font-body);color:#1a1a1a;background:#fff3;border:1px solid #8b4513;border-radius:4px;padding:12px;font-size:1rem}.wisher-form input:focus,.wisher-form textarea:focus{background:#fff6;border-color:#d4af37;outline:none}.submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#d4af37,#996515);border:none;border-radius:4px;margin-top:10px;padding:15px;font-family:Cinzel,serif;font-size:1.2rem;transition:transform .2s;box-shadow:0 5px 15px #0000004d}.submit-btn:hover:not(:disabled){transform:translateY(-2px)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.error-text{color:#8b0000;text-align:center;font-weight:700}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}html,body,#root{background-color:#000;width:100vw;height:100dvh;margin:0;padding:0;overflow:hidden}.game-container{width:100vw;height:100dvh;position:relative;overflow:hidden}.film-grain{z-index:20;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg width=\"100\" height=\"100\" xmlns=\"http://www.w3.org/2000/svg\"><filter id=\"noise\"><feTurbulence type=\"fractalNoise\" baseFrequency=\"0.65\" numOctaves=\"3\" stitchTiles=\"stitch\"/></filter><rect width=\"100\" height=\"100\" filter=\"url(%23noise)\" opacity=\"0.08\"/></svg>");position:absolute;inset:0}.harvitron-footer{bottom:max(20px, env(safe-area-inset-bottom));text-align:center;z-index:10000;pointer-events:none;color:#ffffff80;letter-spacing:1px;width:100%;font-family:Cinzel,serif;font-size:.8rem;position:absolute}.harvitron-footer a{pointer-events:auto;color:#d4af37;font-weight:700;text-decoration:none;transition:all .3s}.harvitron-footer a:hover{color:#fff;text-shadow:0 0 10px #d4af37}.harvitron-icon{vertical-align:middle;margin-left:5px;font-size:1rem}
