.starfield{position:fixed;inset:0;overflow:hidden;background:var(--story-bg, #000);perspective:400px}.exit-btn{position:fixed;top:1rem;right:1rem;z-index:10;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:1.5rem;line-height:1;color:var(--color-text-secondary);text-decoration:none;background:#00000080;border:1px solid var(--color-border);border-radius:0;cursor:pointer;transition:color .2s,border-color .2s}.exit-btn:hover{color:var(--story-text-color, var(--color-yellow));border-color:var(--story-text-color, var(--color-yellow));text-shadow:0 0 8px #ffff0066}.exit-hint{position:fixed;top:1rem;right:4rem;z-index:10;font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-secondary);background:#00000080;padding:.4rem .75rem;border:1px solid var(--color-border);animation:hint-fade 8s ease-out forwards;pointer-events:none}@keyframes hint-fade{0%{opacity:1}70%{opacity:1}to{opacity:0}}.starfield:after{content:"";position:fixed;inset:0;background:linear-gradient(to bottom,#000,#000000b3 20%,#0000 40% 70%,#000c 90%,#000);pointer-events:none;z-index:2}.intro{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);z-index:3;text-align:center;color:var(--story-intro-color, var(--color-cyan));font-family:var(--font-sans);font-size:1.5rem;line-height:1.6;opacity:0;animation:intro-fade 4s ease-out .5s forwards;pointer-events:none}.intro p{margin:0}@keyframes intro-fade{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0}}.logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(2.5);z-index:3;font-family:var(--font-display);font-size:2.5rem;color:var(--story-accent, var(--color-hot-pink));text-shadow:0 0 20px #ff00ff88;text-align:center;opacity:0;animation:logo-zoom 6s ease-out 5s forwards;pointer-events:none;white-space:nowrap}@keyframes logo-zoom{0%{opacity:0;transform:translate(-50%,-50%) scale(2.5)}10%{opacity:1}90%{opacity:1;transform:translate(-50%,-50%) scale(.1)}to{opacity:0;transform:translate(-50%,-50%) scale(.05)}}.crawl-container{position:absolute;inset:0;transform-origin:50% 100%;transform:rotateX(25deg) translateY(100%);animation:crawl-scroll var(--story-crawl-speed, 60s) linear infinite;z-index:1}@keyframes crawl-scroll{0%{transform:rotateX(25deg) translateY(80%)}to{transform:rotateX(25deg) translateY(-100%)}}.crawl-text{max-width:40rem;margin:0 auto;padding:0 2rem;text-align:justify;font-family:var(--story-font, var(--font-sans));font-size:1.6rem;line-height:1.8;color:var(--story-text-color, var(--color-yellow));text-shadow:var(--story-text-shadow, 0 0 4px #ffff0088)}.crawl-text p{margin-bottom:1.5rem}.crawl-chunk{margin-bottom:2rem;animation:fadeIn .5s ease}.crawl-chunk p{margin-bottom:1.5rem}.divider{text-align:center;color:var(--color-cyan);font-family:var(--font-display);font-size:1.2rem;padding:1rem 0;margin:1rem 0 2rem;border-top:1px dashed var(--color-border);border-bottom:1px dashed var(--color-border)}.divider small{color:var(--color-text-secondary);font-family:var(--font-sans);font-size:.9rem;display:block;margin-top:.25rem}.error{color:var(--color-red)}.status-panel{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:10;background:#000000d9;border:2px ridge var(--color-border);padding:.75rem 1.25rem;color:var(--color-text-secondary);font-family:var(--font-mono);font-size:.8rem;text-align:center;max-width:32rem}.status-panel h2{font-family:var(--font-display);color:var(--color-hot-pink);margin:0 0 .5rem;font-size:1rem}.status-panel ol{text-align:left;padding-left:1.25rem;margin:0;font-size:.75rem}.status-panel li{margin-bottom:.25rem}.status-panel code{color:var(--color-accent)}.status-panel a{color:var(--color-cyan)}progress{width:100%;margin-top:.5rem}.dna-badge{position:fixed;bottom:1rem;left:1rem;z-index:10;background:#000000b3;border:1px solid var(--color-border);padding:.5rem .75rem;font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-secondary);max-width:16rem;line-height:1.4}.dna-genre{color:var(--story-accent, var(--color-hot-pink));font-weight:700;text-transform:uppercase;letter-spacing:.05em}.dna-detail{opacity:.8}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
