@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Crimson+Text:ital,wght@0,400;0,600;1,400&display=swap";:root{--bg-deep: #070a1a;--bg-mid: #0d1128;--bg-surface: #141938;--lantern-off: #3a3520;--lantern-dim: #7a6a30;--lantern-warm: #c4972a;--lantern-bright: #f0c040;--lantern-glow: #ffe080;--text-primary: #e8dcc8;--text-secondary: #a89880;--text-dim: #685848;--accent-rose: #c06080;--accent-rose-soft: #e8a0b8;--accent-memory: #60a0d0;--accent-memory-glow: #90d0ff;--accent-violet: #8060b0;--choice-bg: rgba(20, 25, 56, .7);--choice-border: rgba(200, 160, 80, .2);--choice-hover: rgba(200, 160, 80, .12)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--bg-deep);color:var(--text-primary);font-family:Crimson Text,Georgia,serif;overflow:hidden}.game{width:100%;height:100vh;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}.bg-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.bg-gradient{background:radial-gradient(ellipse at 50% 120%,rgba(180,120,40,.08) 0%,transparent 60%),radial-gradient(ellipse at 50% 0%,rgba(40,30,80,.3) 0%,transparent 50%),var(--bg-deep);transition:background 2s ease}.bg-gradient.rain{background:radial-gradient(ellipse at 50% 120%,rgba(100,120,160,.08) 0%,transparent 60%),radial-gradient(ellipse at 50% 0%,rgba(30,30,60,.4) 0%,transparent 50%),#060810}.bg-gradient.garden{background:radial-gradient(ellipse at 50% 100%,rgba(80,160,80,.08) 0%,transparent 50%),radial-gradient(ellipse at 30% 20%,rgba(180,120,40,.06) 0%,transparent 40%),#080c14}.bg-gradient.bridge{background:radial-gradient(ellipse at 50% 50%,rgba(100,80,160,.1) 0%,transparent 50%),radial-gradient(ellipse at 50% 100%,rgba(180,120,40,.05) 0%,transparent 40%),#0a0818}.bg-gradient.memory{background:radial-gradient(ellipse at 50% 50%,rgba(80,140,200,.1) 0%,transparent 50%),radial-gradient(ellipse at 50% 100%,rgba(180,120,40,.04) 0%,transparent 40%),#080a16}.bg-gradient.sunrise{background:radial-gradient(ellipse at 50% 100%,rgba(220,140,60,.15) 0%,transparent 50%),radial-gradient(ellipse at 50% 0%,rgba(60,40,100,.2) 0%,transparent 50%),#0c0a14}.rain-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;opacity:0;transition:opacity 1.5s ease}.rain-layer.active{opacity:1}.raindrop{position:absolute;width:1px;background:linear-gradient(to bottom,transparent,rgba(150,180,220,.4),transparent);animation:rain-fall linear infinite}@keyframes rain-fall{0%{transform:translateY(-100%);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(100vh);opacity:0}}.particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.particle{position:absolute;border-radius:50%;animation:float-particle linear infinite;opacity:0}@keyframes float-particle{0%{transform:translate(0) scale(0);opacity:0}15%{opacity:.8;transform:scale(1)}85%{opacity:.6}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.3)}}.lantern-container{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;margin-bottom:2rem}.lantern{width:60px;height:80px;position:relative;cursor:default;transition:filter 1s ease}.lantern-body{width:40px;height:55px;margin:0 auto;border:2px solid var(--lantern-warm);border-radius:4px 4px 8px 8px;position:relative;background:#c8a03c0d;transition:all 1.5s ease}.lantern-glass{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:2px 2px 6px 6px;background:radial-gradient(ellipse at 50% 60%,var(--lantern-glow),transparent);opacity:.1;transition:opacity 1.5s ease,background 1.5s ease}.lantern-flame{position:absolute;width:8px;height:14px;bottom:12px;left:50%;transform:translate(-50%);background:radial-gradient(ellipse at 50% 80%,var(--lantern-glow),var(--lantern-bright),transparent);border-radius:50%/60% 60% 40% 40%;opacity:0;transition:opacity 1.5s ease;animation:flicker 3s ease-in-out infinite}@keyframes flicker{0%,to{transform:translate(-50%) scaleY(1) scaleX(1)}25%{transform:translate(-50%) scaleY(1.05) scaleX(.95)}50%{transform:translate(-50%) scaleY(.95) scaleX(1.05)}75%{transform:translate(-50%) scaleY(1.02) scaleX(.98)}}.lantern-handle{width:24px;height:14px;margin:0 auto;border:2px solid var(--lantern-warm);border-bottom:none;border-radius:12px 12px 0 0;position:relative;top:-2px}.lantern-glow-0 .lantern-body,.lantern-glow-0 .lantern-handle{border-color:var(--lantern-off)}.lantern-glow-1 .lantern-body,.lantern-glow-1 .lantern-handle{border-color:var(--lantern-dim)}.lantern-glow-1 .lantern-glass{opacity:.25}.lantern-glow-1 .lantern-flame{opacity:.3;height:8px}.lantern-glow-1 .lantern{filter:drop-shadow(0 0 8px rgba(200,160,40,.2))}.lantern-glow-2 .lantern-body{border-color:var(--lantern-warm);background:#c8a03c1a}.lantern-glow-2 .lantern-handle{border-color:var(--lantern-warm)}.lantern-glow-2 .lantern-glass{opacity:.5}.lantern-glow-2 .lantern-flame{opacity:.6;height:12px}.lantern-glow-2 .lantern{filter:drop-shadow(0 0 16px rgba(200,160,40,.4))}.lantern-glow-3 .lantern-body{border-color:var(--lantern-bright);background:#c8a03c26;box-shadow:0 0 20px #f0c04033}.lantern-glow-3 .lantern-handle{border-color:var(--lantern-bright)}.lantern-glow-3 .lantern-glass{opacity:.75}.lantern-glow-3 .lantern-flame{opacity:.85;height:14px}.lantern-glow-3 .lantern{filter:drop-shadow(0 0 28px rgba(240,192,64,.6))}.lantern-glow-4 .lantern-body{border-color:var(--lantern-glow);background:radial-gradient(ellipse at 50% 50%,#ffe08040,#c8a03c1a);box-shadow:0 0 40px #ffe0804d,0 0 80px #f0c04026}.lantern-glow-4 .lantern-handle{border-color:var(--lantern-glow)}.lantern-glow-4 .lantern-glass{opacity:1}.lantern-glow-4 .lantern-flame{opacity:1;height:16px}.lantern-glow-4 .lantern{filter:drop-shadow(0 0 40px rgba(255,224,128,.8)) drop-shadow(0 0 80px rgba(240,192,64,.4))}.lantern-ambient{position:fixed;top:10%;left:50%;transform:translate(-50%);width:400px;height:400px;border-radius:50%;pointer-events:none;z-index:1;opacity:0;transition:opacity 2s ease,width 2s ease,height 2s ease;background:radial-gradient(ellipse at 50% 50%,rgba(255,224,128,.06) 0%,rgba(240,192,64,.03) 30%,transparent 70%)}.lantern-ambient.glow-2{opacity:1;width:500px;height:500px}.lantern-ambient.glow-3{opacity:1;width:600px;height:600px}.lantern-ambient.glow-4{opacity:1;width:800px;height:800px;background:radial-gradient(ellipse at 50% 50%,rgba(255,224,128,.1) 0%,rgba(240,192,64,.05) 40%,transparent 70%)}.narrative-panel{position:relative;z-index:10;max-width:640px;width:90%;text-align:center}.scene-location{font-family:Cormorant Garamond,Georgia,serif;font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.5rem;opacity:0;animation:fade-in 1.5s ease .3s forwards}.scene-title{font-family:Cormorant Garamond,Georgia,serif;font-size:1.8rem;font-weight:300;color:var(--text-primary);margin-bottom:2rem;letter-spacing:.05em;opacity:0;animation:fade-in 1.5s ease .6s forwards}.narrative-text{font-size:1.1rem;line-height:1.9;color:var(--text-secondary);margin-bottom:1.5rem;opacity:0;animation:fade-in-text 1.2s ease forwards;font-style:italic}.narrative-text.visible{opacity:1}.narrative-text em{color:var(--accent-rose-soft);font-style:italic}.narrative-text strong{color:var(--text-primary);font-weight:600}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-text{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.choices{display:flex;flex-direction:column;gap:.75rem;margin-top:2rem;opacity:0;animation:fade-in 1s ease forwards;animation-delay:.5s}.choice-btn{background:var(--choice-bg);border:1px solid var(--choice-border);border-radius:8px;padding:1rem 1.5rem;color:var(--text-primary);font-family:Crimson Text,Georgia,serif;font-size:1.05rem;cursor:pointer;transition:all .4s ease;text-align:left;line-height:1.5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;overflow:hidden}.choice-btn:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--lantern-warm);opacity:0;transition:opacity .3s ease}.choice-btn:hover{background:var(--choice-hover);border-color:#c8a05066;transform:translate(4px)}.choice-btn:hover:before{opacity:1}.choice-btn .choice-hint{display:block;font-size:.8rem;color:var(--text-dim);margin-top:.3rem;font-style:italic}.stats-bar{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;justify-content:center;gap:2rem;padding:1rem 2rem;background:linear-gradient(to top,rgba(7,10,26,.95),transparent);opacity:0;animation:fade-in 1s ease 1s forwards}.stat{display:flex;align-items:center;gap:.5rem;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.stat-icon{font-size:.9rem}.stat-bar{width:60px;height:3px;background:#ffffff14;border-radius:2px;overflow:hidden}.stat-fill{height:100%;border-radius:2px;transition:width 1s ease}.stat-fill.lantern-fill{background:linear-gradient(90deg,var(--lantern-dim),var(--lantern-glow))}.stat-fill.trust-fill{background:linear-gradient(90deg,var(--accent-violet),var(--accent-rose-soft))}.memory-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;background:#0a0f28f2;border:1px solid rgba(96,160,208,.3);border-radius:12px;padding:2.5rem;max-width:420px;width:90%;text-align:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 0 60px #60a0d026;animation:memory-appear .8s ease}@keyframes memory-appear{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.memory-popup h3{font-family:Cormorant Garamond,Georgia,serif;font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;color:var(--accent-memory);margin-bottom:1rem}.memory-popup p{font-family:Cormorant Garamond,Georgia,serif;font-size:1.2rem;font-style:italic;line-height:1.8;color:var(--text-primary);margin-bottom:1.5rem}.memory-popup button{background:transparent;border:1px solid rgba(96,160,208,.3);color:var(--accent-memory);padding:.6rem 1.5rem;border-radius:6px;font-family:Crimson Text,Georgia,serif;font-size:.95rem;cursor:pointer;transition:all .3s ease}.memory-popup button:hover{background:#60a0d01a;border-color:#60a0d080}.memory-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:99;animation:fade-in .5s ease}.title-screen{position:relative;z-index:10;text-align:center;animation:fade-in 2s ease}.title-screen h1{font-family:Cormorant Garamond,Georgia,serif;font-size:4rem;font-weight:300;letter-spacing:.2em;color:var(--text-primary);margin-bottom:.5rem;text-shadow:0 0 40px rgba(200,160,60,.15)}.title-screen .subtitle{font-family:Cormorant Garamond,Georgia,serif;font-size:1rem;font-weight:300;letter-spacing:.15em;color:var(--text-dim);margin-bottom:3rem;font-style:italic}.title-screen .tagline{font-size:.95rem;line-height:1.8;color:var(--text-secondary);max-width:440px;margin:0 auto 3rem;font-style:italic}.begin-btn{background:transparent;border:1px solid var(--choice-border);color:var(--text-primary);font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;letter-spacing:.2em;padding:1rem 3rem;border-radius:4px;cursor:pointer;transition:all .5s ease;position:relative;overflow:hidden}.begin-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 50%,rgba(200,160,60,.1),transparent);opacity:0;transition:opacity .5s ease}.begin-btn:hover{border-color:#c8a03c80;box-shadow:0 0 30px #c8a03c1a}.begin-btn:hover:after{opacity:1}.ending-screen{position:relative;z-index:10;text-align:center;max-width:560px;width:90%;animation:fade-in 2s ease}.ending-screen h2{font-family:Cormorant Garamond,Georgia,serif;font-size:2rem;font-weight:300;letter-spacing:.15em;margin-bottom:.5rem;color:var(--text-primary)}.ending-screen .ending-subtitle{font-family:Cormorant Garamond,Georgia,serif;font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--lantern-warm);margin-bottom:2rem}.ending-screen .ending-text{font-size:1.05rem;line-height:1.9;color:var(--text-secondary);font-style:italic;margin-bottom:1.5rem}.ending-screen .ending-reflection{font-size:.95rem;color:var(--text-dim);line-height:1.7;margin-bottom:2.5rem;padding:1.5rem;border-left:2px solid var(--choice-border);text-align:left}.ending-screen .ending-stats{display:flex;justify-content:center;gap:2.5rem;margin-bottom:2.5rem;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.ending-screen .ending-stats span{color:var(--text-secondary);font-size:1.2rem;display:block;margin-bottom:.3rem;font-family:Cormorant Garamond,Georgia,serif}.restart-btn{background:transparent;border:1px solid var(--choice-border);color:var(--text-secondary);font-family:Crimson Text,Georgia,serif;font-size:.95rem;padding:.8rem 2rem;border-radius:4px;cursor:pointer;transition:all .4s ease}.restart-btn:hover{border-color:#c8a05066;color:var(--text-primary)}.scene-transition{animation:scene-enter 1s ease}@keyframes scene-enter{0%{opacity:0}to{opacity:1}}.letter-fragment{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;color:var(--text-primary);background:#c8a03c0d;border:1px solid rgba(200,160,60,.15);border-radius:6px;padding:1.2rem 1.5rem;margin:1rem 0;font-size:1rem;line-height:1.7}@media(max-width:600px){.title-screen h1{font-size:2.5rem}.scene-title{font-size:1.4rem}.narrative-text{font-size:1rem}.stats-bar{gap:1.5rem;padding:.75rem 1rem}.choice-btn{padding:.8rem 1.2rem;font-size:.95rem}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c8a05033;border-radius:2px}.chapter-divider{font-family:Cormorant Garamond,Georgia,serif;font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.5rem;opacity:0;animation:fade-in 1.5s ease .1s forwards}
