@import"https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500;600&family=JetBrains+Mono:wght@300;400&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #000000;--text-primary: #ffffff;--text-secondary: #a0a0a0;--text-warning: #ff4757;--text-highlight: #f1f2f6;--accent-glow: rgba(255, 255, 255, .1)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 80%,rgba(255,255,255,.02) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.01) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(255,255,255,.005) 0%,transparent 50%);pointer-events:none;z-index:1}.screen{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,5vw,3rem);position:relative;z-index:2;animation:screenFade 1.2s cubic-bezier(.25,.46,.45,.94)}.content{text-align:center;max-width:700px;width:100%;position:relative}.content:before{content:"";position:absolute;top:-50px;left:-50px;right:-50px;bottom:-50px;background:radial-gradient(circle at center,var(--accent-glow) 0%,transparent 70%);opacity:0;animation:contentGlow 2s ease-in-out 1s forwards;pointer-events:none;z-index:-1}.main-text{font-size:clamp(2rem,5vw,3.2rem);font-weight:200;margin-bottom:clamp(2rem,4vw,3rem);line-height:1.2;color:var(--text-primary);letter-spacing:-.02em;animation:textReveal 1s cubic-bezier(.25,.46,.45,.94) .3s both}.sub-text{font-size:clamp(1.1rem,3.5vw,1.5rem);font-weight:300;margin-bottom:clamp(1.2rem,3vw,1.8rem);color:var(--text-secondary);line-height:1.5;letter-spacing:-.01em;animation:textReveal 1s cubic-bezier(.25,.46,.45,.94) .5s both}.sub-text:last-of-type{margin-bottom:clamp(2.5rem,5vw,4rem)}.final-text{font-size:clamp(1.3rem,4vw,2rem);font-weight:300;margin-bottom:clamp(1.2rem,3vw,2rem);color:var(--text-highlight);line-height:1.3;letter-spacing:-.015em;animation:textReveal 1s cubic-bezier(.25,.46,.45,.94) .7s both}.final-text:last-child{margin-bottom:0;margin-top:clamp(2rem,4vw,3rem);font-weight:400;animation-delay:.9s}.warning{color:var(--text-warning);font-weight:400;text-shadow:0 0 20px rgba(255,71,87,.3)}.link-button{background:none;border:none;color:var(--text-primary);font-size:clamp(1.1rem,3.5vw,1.3rem);font-weight:300;text-decoration:none;cursor:pointer;font-family:inherit;transition:all .4s cubic-bezier(.25,.46,.45,.94);padding:clamp(.8rem,2vw,1.2rem) 0;position:relative;letter-spacing:.02em;border-bottom:1px solid rgba(255,255,255,.2);display:inline-block;animation:textReveal 1s cubic-bezier(.25,.46,.45,.94) .8s both}.link-button:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--text-primary);transition:width .4s cubic-bezier(.25,.46,.45,.94)}.link-button:hover{opacity:.8;transform:translateY(-1px);text-shadow:0 0 15px rgba(255,255,255,.3)}.link-button:hover:after{width:100%}.link-button:focus{outline:none;opacity:.8}.link-button:active{transform:translateY(0)}.data-highlight{font-family:JetBrains Mono,monospace;font-weight:400;color:var(--text-highlight);background:#ffffff0d;padding:.2em .5em;border-radius:4px;font-size:.95em;letter-spacing:.02em;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 10px #ffffff0d}@keyframes screenFade{0%{opacity:0;transform:scale(.98);filter:blur(2px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes textReveal{0%{opacity:0;transform:translateY(20px);filter:blur(1px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes contentGlow{0%{opacity:0}to{opacity:.3}}@media (max-width: 768px){.screen{padding:clamp(1rem,4vw,2rem)}.content:before{top:-30px;left:-30px;right:-30px;bottom:-30px}.main-text{margin-bottom:clamp(1.5rem,4vw,2.5rem);line-height:1.15}.sub-text{margin-bottom:clamp(1rem,3vw,1.5rem);line-height:1.4}.sub-text:last-of-type{margin-bottom:clamp(2rem,4vw,3rem)}.final-text:last-child{margin-top:clamp(1.5rem,4vw,2.5rem)}.link-button{padding:clamp(.7rem,2vw,1rem) 0}}@media (max-width: 480px){.screen{padding:1rem}.main-text{font-size:1.8rem;margin-bottom:1.5rem;line-height:1.1}.sub-text{font-size:1.1rem;margin-bottom:1rem;line-height:1.35}.sub-text:last-of-type{margin-bottom:2rem}.final-text{font-size:1.3rem;margin-bottom:1rem}.final-text:last-child{margin-top:1.5rem}.link-button{font-size:1.1rem;padding:.8rem 0}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.main-text,.sub-text,.final-text{text-rendering:optimizeLegibility}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.door-screen{width:100vw;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:clamp(1.5rem,6vw,3rem);position:relative;z-index:2}.door-stage{display:flex;flex-direction:column;align-items:center;gap:clamp(1.5rem,5vh,2.5rem);width:100%;max-width:420px;text-align:center;animation:screenFade 1.2s cubic-bezier(.25,.46,.45,.94)}.door-title{font-size:clamp(1.4rem,6vw,2.2rem);font-weight:300;letter-spacing:.01em;color:var(--text-primary)}.door-button{-webkit-tap-highlight-color:transparent;background:none;border:none;padding:0;cursor:pointer;width:min(58vw,220px);perspective:900px;display:block;filter:drop-shadow(0 0 22px rgba(177,156,217,.12));transition:filter .4s ease}.door-button:hover,.door-button:focus-visible{filter:drop-shadow(0 0 30px rgba(177,156,217,.35));outline:none}.door-button:disabled{cursor:default}.door-svg{width:100%;height:auto;display:block}.door-line{fill:none;stroke:#e9e9ef;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.door-line.thin{stroke-width:1.4;stroke:#9a92ad}.door-light{fill:#d4c5f9;opacity:0;transition:opacity 1.2s ease}.door-panel{transform-box:fill-box;transform-origin:left center;transition:transform 1.5s cubic-bezier(.65,0,.35,1);will-change:transform}.door-button:not(:disabled) .door-light{animation:doorBreath 3.4s ease-in-out infinite}@keyframes doorBreath{0%,to{opacity:0}50%{opacity:.12}}.door-hint{font-family:JetBrains Mono,monospace;font-size:.8rem;letter-spacing:.28em;text-transform:uppercase;color:var(--text-secondary);animation:hintPulse 2.6s ease-in-out infinite}@keyframes hintPulse{0%,to{opacity:.35}50%{opacity:.85}}.door-screen.is-opening .door-panel{transform:rotateY(-105deg)}.door-screen.is-opening .door-light{opacity:1;animation:none}.door-screen.is-opening .door-button{filter:drop-shadow(0 0 60px rgba(212,197,249,.6))}.door-screen.is-opening .door-stage{animation:enterBloom 1.7s ease forwards}@keyframes enterBloom{0%{opacity:1;transform:scale(1)}70%{opacity:1}to{opacity:0;transform:scale(1.5)}}.experience-in{animation:screenFade 1s ease both}.app-root{width:100vw;min-height:100vh;min-height:100dvh;position:relative;z-index:2}.flower-field{position:fixed;top:0;left:0;width:100%;height:100%;display:block;z-index:0}.gates-screen>*:not(.flower-field){position:relative;z-index:2}.gates-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(1.5rem,6vw,3rem) 1rem 3rem;text-align:center}.gates-heading{font-size:clamp(1.5rem,6vw,2.4rem);font-weight:300;letter-spacing:.01em}.gates-subheading{font-family:JetBrains Mono,monospace;font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--text-secondary);margin-top:.9rem;margin-bottom:clamp(2rem,6vh,3rem)}.gates-row{display:flex;flex-direction:column;align-items:center;gap:clamp(2rem,6vh,3rem);width:100%;max-width:1000px}.gate-card{-webkit-tap-highlight-color:transparent;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:0;width:min(62vw,240px)}.gate-door{position:relative;display:block;perspective:1200px}.gate-door-light{position:absolute;left:50%;top:50%;width:85%;height:85%;transform:translate(-50%,-50%) scale(.4);border-radius:50%;background:radial-gradient(circle,var(--accent) 0%,transparent 70%);opacity:0;filter:blur(22px);pointer-events:none;transition:opacity .8s ease,transform .9s ease}.gate-canvas{position:relative;z-index:1;max-width:100%;height:auto;display:block;transition:transform .4s ease}.gate-card:hover .gate-canvas,.gate-card:focus-visible .gate-canvas{transform:translateY(-5px) scale(1.03)}.gate-card.opening .gate-canvas{transform-origin:left center;transition:transform 1s cubic-bezier(.5,0,.2,1);transform:rotateY(-112deg)}.gate-card.dim{opacity:0;transition:opacity .5s ease}.gate-card.opening .gate-name,.gate-card.opening .gate-tagline,.gates-screen.is-opening .gates-heading,.gates-screen.is-opening .gates-subheading{opacity:0;transition:opacity .4s ease}.enter-flood{position:fixed;left:50%;top:52%;width:40px;height:40px;border-radius:50%;transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none;z-index:60;animation:enterFlood 1.3s ease forwards}@keyframes enterFlood{0%{transform:translate(-50%,-50%) scale(0);opacity:0}50%{opacity:0}62%{opacity:.9}to{transform:translate(-50%,-50%) scale(70);opacity:1}}.gate-img{position:relative;z-index:1;height:clamp(190px,36vh,330px);width:auto;max-width:100%;display:block;opacity:1;transform:translateY(0);animation:gateIn 1s ease;transition:transform .4s ease,opacity .4s ease}@keyframes gateIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.gate-card:hover .gate-img,.gate-card:focus-visible .gate-img{transform:translateY(-6px) scale(1.04)}.gate-door{position:relative;display:inline-block;perspective:1100px}.door-open{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.door-leaf{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;backface-visibility:hidden}.door-single{transform-origin:var(--dlx) center}.half-left{clip-path:inset(var(--dt) var(--drcx) var(--db) var(--dl));transform-origin:var(--dlx) center}.half-right{clip-path:inset(var(--dt) var(--dr) var(--db) var(--dcx));transform-origin:var(--drx) center}.gate-card.opening{z-index:5}.gate-card.opening .gate-door{transition:opacity .6s ease,transform .6s ease;transform:scale(1.06) translateY(-6px);opacity:0}.gate-card.opening .gate-door-light{opacity:0}.gate-line{fill:none;stroke:#fff;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.gate-line.thin{stroke-width:1.3;stroke:#d6d0e2}.gate-draw{opacity:0}.gate-flower,.gate-leaf{transform-box:fill-box;transform-origin:center;opacity:0}.pupil{animation:pupilPulse 3s ease-in-out infinite}@keyframes pupilPulse{0%,100% {transform: scale(1); opacity: .9;} 50% {transform: scale(1.25); opacity: 1;} transform-box: fill-box; transform-origin: center;}.pupil{transform-box:fill-box;transform-origin:center}.gate-light{opacity:.06;transition:opacity .45s ease}.gate-card:hover .gate-light,.gate-card:focus-visible .gate-light{opacity:.22}.gate-name{font-size:1.15rem;font-weight:400;letter-spacing:.04em;color:var(--accent)}.gate-tagline{font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.16em;color:var(--text-secondary)}.bloom-stage{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:50}.bloom{position:fixed;top:50%;left:50%;width:250vmax;height:250vmax;margin-top:-125vmax;margin-left:-125vmax;border-radius:50%;will-change:transform}.experience{position:relative}.back-arrow{position:fixed;top:1.1rem;left:1.1rem;z-index:10;background:none;border:none;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.8rem;letter-spacing:.15em;cursor:pointer;padding:.4rem .6rem;transition:color .3s ease}.back-arrow:hover{color:var(--text-primary)}.lyric-link{display:block;margin-top:2rem;color:#b19cd9;font-style:italic;font-size:clamp(1.05rem,4.5vw,1.3rem);text-decoration:none;cursor:pointer;transition:color .3s ease,text-shadow .3s ease}.lyric-link:hover,.lyric-link:focus-visible{color:#d4c5f9;text-shadow:0 0 20px rgba(177,156,217,.6);outline:none}.sub-text.muted{margin-top:1.4rem;font-size:.95rem;color:#888}.sub-text.muted+.sub-text.muted{margin-top:.5rem}@media (min-width: 720px){.gates-row{flex-direction:row;justify-content:center;align-items:flex-end}.gate-card{width:min(28vw,240px)}}.hollow-exp{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.cam-stage{display:flex;flex-direction:column;align-items:center;gap:.4rem}.cameraman-img{width:min(72vw,340px);height:auto;margin:.6rem 0;transform-origin:center bottom;animation:camRushIn .7s cubic-bezier(.2,1.3,.4,1) both,camAim 1.8s ease-in-out .7s infinite;filter:drop-shadow(1.5px 0 0 #f5eef1) drop-shadow(-1.5px 0 0 #f5eef1) drop-shadow(0 1.5px 0 #f5eef1) drop-shadow(0 -1.5px 0 #f5eef1) drop-shadow(0 10px 30px rgba(0,0,0,.55))}@keyframes camRushIn{0%{transform:translateY(60px) scale(.3);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes camAim{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.cam-flash{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;z-index:90;pointer-events:none;animation:camFlash .45s ease-out forwards}@keyframes camFlash{0%{opacity:0}15%{opacity:1}to{opacity:0}}.polaroid-wrap{display:flex;flex-direction:column;align-items:center;gap:1rem}.polaroid{background:#fdfdf8;padding:14px 14px 0;border-radius:3px;box-shadow:0 18px 45px #0009;transform:rotate(-3deg);animation:polaroidDrop .7s cubic-bezier(.2,1.1,.4,1) both;text-align:center;max-width:min(78vw,320px)}@keyframes polaroidDrop{0%{transform:translateY(-40px) rotate(6deg);opacity:0}to{transform:translateY(0) rotate(-3deg);opacity:1}}.polaroid-photo{display:inline-block;overflow:hidden;line-height:0}.polaroid-photo img{display:block;max-width:min(74vw,300px);max-height:46vh;width:auto;height:auto;animation:develop 1.4s ease-out both}@keyframes develop{0%{filter:brightness(.05) contrast(2) sepia(.5)}to{filter:brightness(1) contrast(1) sepia(0)}}.polaroid-cap{font-family:JetBrains Mono,monospace;color:#222;font-size:.9rem;padding:12px 6px 14px;letter-spacing:.02em;line-height:1.4}.cam-icon{font-size:clamp(4rem,18vw,8rem);line-height:1;margin:.6rem 0;display:inline-block;animation:camPop .5s cubic-bezier(.2,1.4,.4,1) both,camShake .35s ease-in-out .5s}@keyframes camPop{0%{transform:scale(.2) rotate(-12deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes camShake{0%,to{transform:rotate(0)}30%{transform:rotate(-9deg)}70%{transform:rotate(9deg)}}.typed-line{animation:none!important;opacity:1!important}.type-caret{display:inline-block;width:.55ch;height:1.05em;margin-left:3px;background:var(--text-highlight);vertical-align:-.14em;animation:caretBlink .75s steps(1) infinite}@keyframes caretBlink{0%,50%{opacity:1}50.01%,to{opacity:0}}.type-in{animation:textReveal .8s cubic-bezier(.25,.46,.45,.94) both}@media (max-width: 719px){html,body{overflow-x:hidden;overflow-y:auto;height:auto}.screen,.gates-screen{height:auto;min-height:100dvh;justify-content:center;padding-top:2.4rem;padding-bottom:2.8rem}.gates-screen{padding-left:1rem;padding-right:1rem}.experience{align-items:center}.gates-row{gap:1.4rem}.gate-card{width:min(66vw,230px)}.gate-img{height:clamp(150px,26vh,250px)}.gates-subheading{margin-bottom:1.6rem;font-size:.68rem;letter-spacing:.2em}.back-arrow{top:.9rem;left:.9rem}.cameraman-img{width:min(82vw,320px)}.polaroid{max-width:86vw}.polaroid-photo img{max-width:78vw;max-height:52vh}}.watcher-final{position:relative;z-index:3}.stalker-link{color:#cbb8ec;text-decoration:none;border-bottom:1px dashed rgba(203,184,236,.6);transition:color .3s ease,text-shadow .3s ease}.stalker-link:hover{color:#e2d4f7;text-shadow:0 0 18px rgba(203,184,236,.6)}.jar-panel{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:1.5rem}.jar-input{width:min(88vw,460px);background:#ffffff0a;border:1px solid rgba(203,184,236,.3);border-radius:10px;color:var(--text-primary);font-family:inherit;font-size:1rem;padding:.9rem 1rem;resize:none;outline:none;transition:border-color .3s ease,box-shadow .3s ease}.jar-input::placeholder{color:var(--text-secondary)}.jar-input:focus{border-color:#cbb8ecb3;box-shadow:0 0 18px #cbb8ec2e}.link-button:disabled{opacity:.4;cursor:default}.jar-field{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.admin-dot{position:fixed;bottom:10px;right:12px;width:14px;height:14px;border-radius:50%;background:#ffffff0f;border:none;cursor:pointer;z-index:40}.admin-hint{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:20;font-family:JetBrains Mono,monospace;font-size:.7rem;letter-spacing:.14em;color:var(--text-secondary)}.admin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:80;padding:1.5rem}.admin-box,.jar-read{background:#0e0e14;border:1px solid rgba(203,184,236,.3);border-radius:14px;padding:1.6rem 1.4rem;max-width:min(90vw,440px);text-align:center;display:flex;flex-direction:column;gap:1rem;align-items:center}.jar-read-msg{font-size:clamp(1.1rem,4vw,1.5rem);color:var(--text-primary);font-style:italic;line-height:1.5}.glitch-text{animation:glitchFlicker 3.6s infinite!important}@keyframes glitchFlicker{0%,90%,to{text-shadow:none;opacity:1}91%{text-shadow:2px 0 #ff3b6b,-2px 0 #3bd7ff;opacity:.75}93%{text-shadow:-2px 0 #ff3b6b,2px 0 #3bd7ff;opacity:1}95%{text-shadow:1px 0 #ff3b6b,-1px 0 #3bd7ff;opacity:.85}96%{text-shadow:none;opacity:1}}.watcher-eye{position:fixed;top:4%;left:50%;transform:translate(-50%);width:clamp(70px,16vw,120px);height:auto;z-index:4;opacity:.5;pointer-events:none}.eye-outline,.eye-iris{stroke:#cbb8ec;stroke-width:2}.eye-pupil{fill:#cbb8ec;filter:drop-shadow(0 0 6px rgba(203,184,236,.7))}.jar-read{animation:jarUnseal .5s cubic-bezier(.2,1.2,.4,1) both}@keyframes jarUnseal{0%{transform:scale(.6) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.garden-exp{display:flex;flex-direction:column;align-items:center}.garden-rose{font-size:clamp(3rem,12vw,5rem);line-height:1;margin-bottom:.6rem;transition:transform .6s ease,filter .6s ease;animation:roseSway 3.5s ease-in-out infinite}.garden-rose.wilt{transform:rotate(26deg) translateY(8px);filter:grayscale(.35);animation:none}@keyframes roseSway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}.forgive-meter{width:min(80vw,360px);height:14px;background:#ffffff12;border:1px solid rgba(166,221,201,.3);border-radius:8px;overflow:hidden;margin:1.2rem auto .7rem}.forgive-fill{height:100%;background:linear-gradient(90deg,#a6ddc9,#6fc3a8);box-shadow:0 0 12px #a6ddc980;transition:width .08s linear}.forgive-label{margin-bottom:.6rem}
