*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0a0a1a;--bg-light: rgba(15, 12, 35, .75);--bg-card: rgba(20, 16, 42, .7);--gold: #d4af37;--gold-light: #f0c674;--purple: #8b5cf6;--text: #e8e8e8;--text-dim: #9a95b0;--border: rgba(139, 92, 246, .15);--glass-blur: blur(12px);--glow-purple: rgba(139, 92, 246, .08);--glow-gold: rgba(212, 175, 55, .06);--mouse-x: 50%;--mouse-y: 50%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(160deg,#05050f,#0d0a2a 25%,#1a0e3e,#0e1a3a,#08152e 85%,#050510);background-attachment:fixed;color:var(--text);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 80% 50% at 20% 40%,rgba(139,92,246,.08) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 80% 60%,rgba(212,175,55,.06) 0%,transparent 50%),radial-gradient(ellipse 50% 50% at 50% 100%,rgba(100,60,200,.05) 0%,transparent 50%);animation:bgPulse 8s ease-in-out infinite}@keyframes bgPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.mouse-glow{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(600px circle at var(--mouse-x) var(--mouse-y),rgba(139,92,246,.07),rgba(212,175,55,.03) 40%,transparent 70%);transition:background .15s ease-out}.floating-orb{position:fixed;border-radius:50%;pointer-events:none;z-index:0;filter:blur(40px);opacity:.4}.floating-orb.orb-1{width:300px;height:300px;background:radial-gradient(circle,rgba(139,92,246,.3),transparent 70%);top:10%;left:-5%;animation:floatOrb1 20s ease-in-out infinite}.floating-orb.orb-2{width:250px;height:250px;background:radial-gradient(circle,rgba(212,175,55,.25),transparent 70%);top:60%;right:-5%;animation:floatOrb2 25s ease-in-out infinite}.floating-orb.orb-3{width:200px;height:200px;background:radial-gradient(circle,rgba(100,60,200,.2),transparent 70%);bottom:10%;left:30%;animation:floatOrb3 18s ease-in-out infinite}@keyframes floatOrb1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,30px) scale(1.1)}66%{transform:translate(20px,-40px) scale(.9)}}@keyframes floatOrb2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-40px,-30px) scale(1.15)}66%{transform:translate(-60px,20px) scale(.85)}}@keyframes floatOrb3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,-50px) scale(1.2)}}.app{min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1}.header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#0a081ecc;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid rgba(139,92,246,.12);position:sticky;top:0;z-index:100;box-shadow:0 4px 20px #0000004d,0 0 30px #8b5cf60d}.logo{font-size:1.3rem;font-weight:700;cursor:pointer;background:linear-gradient(90deg,var(--gold),var(--purple),var(--gold-light),var(--gold));background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:logoShine 4s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(212,175,55,.3))}@keyframes logoShine{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.user{position:relative}.user>button{background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);padding:8px 16px;border-radius:20px;color:var(--text);cursor:pointer;transition:all .3s;position:relative;overflow:hidden}.user>button:hover{background:#8b5cf633;border-color:#8b5cf680;box-shadow:0 0 20px #8b5cf633;transform:translateY(-1px)}.user>button:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.05) 50%,transparent 70%);transform:rotate(45deg) translate(-100%);transition:transform .6s}.user>button:hover:after{transform:rotate(45deg) translate(100%)}.menu{position:absolute;top:120%;right:0;background:#0f0c23f2;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(139,92,246,.25);border-radius:12px;padding:8px;min-width:140px;display:flex;flex-direction:column;gap:4px;z-index:200;box-shadow:0 8px 32px #00000080,0 0 40px #8b5cf61a;animation:menuAppear .3s cubic-bezier(.23,1,.32,1)}@keyframes menuAppear{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.menu button{background:none;border:none;padding:10px;text-align:left;color:var(--text);border-radius:8px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}.menu button:hover{background:#8b5cf626;padding-left:16px}.menu button:hover:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--gold),var(--purple));border-radius:0 2px 2px 0}main{flex:1;padding:40px 20px;max-width:800px;margin:0 auto;width:100%}.setup{text-align:center;animation:fadeIn .5s}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}}.setup h1{font-size:2.5rem;margin-bottom:8px;background:linear-gradient(90deg,var(--gold),var(--purple),var(--gold-light),var(--gold));background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:titleShine 5s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(212,175,55,.2));letter-spacing:2px}@keyframes titleShine{0%,to{background-position:0% 50%;filter:drop-shadow(0 0 15px rgba(212,175,55,.2))}50%{background-position:100% 50%;filter:drop-shadow(0 0 25px rgba(139,92,246,.3))}}.subtitle{color:var(--text-dim);margin-bottom:8px;font-size:1.1rem;letter-spacing:1px}.guest{color:var(--gold);font-size:.9rem;margin-bottom:24px;animation:guestPulse 3s ease-in-out infinite}@keyframes guestPulse{0%,to{opacity:.7;text-shadow:0 0 5px rgba(212,175,55,.2)}50%{opacity:1;text-shadow:0 0 15px rgba(212,175,55,.4)}}.card{background:var(--bg-light);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(139,92,246,.12);border-radius:16px;padding:24px;text-align:left;box-shadow:0 4px 24px #0003,inset 0 1px #ffffff08;transition:transform .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0;border-radius:16px;padding:1px;background:linear-gradient(135deg,#8b5cf64d,#d4af3733,#8b5cf64d);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s}.card:hover:before{opacity:1}.card:hover{box-shadow:0 8px 40px #0000004d,0 0 60px #8b5cf614,inset 0 1px #ffffff0d}.card label{display:block;margin-bottom:12px;color:var(--text-dim);font-size:.9rem}.genres{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}.genres button{padding:12px 8px;background:#8b5cf60f;border:1px solid rgba(139,92,246,.12);border-radius:10px;color:var(--text);cursor:pointer;transition:all .3s;font-size:.85rem;position:relative;overflow:hidden}.genres button:hover,.genres button.active{background:#d4af371f;border-color:var(--gold);box-shadow:0 0 16px #d4af3733,inset 0 0 10px #d4af370d;transform:translateY(-2px)}.genres button.active{background:linear-gradient(135deg,#d4af3726,#8b5cf61a);box-shadow:0 0 20px #d4af3740,0 0 40px #8b5cf61a}.genres button:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.05) 50%,transparent 60%);transform:translate(-100%);transition:transform .5s}.genres button:hover:before{transform:translate(100%)}textarea{width:100%;padding:12px;background:#0a081e80;border:1px solid rgba(139,92,246,.12);border-radius:10px;color:var(--text);min-height:80px;resize:vertical;margin-bottom:16px;font-family:inherit;transition:all .3s}textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 20px #d4af371a,inset 0 0 10px #d4af3708}.start-wrapper{position:relative;width:100%;border-radius:14px;overflow:hidden}.start-wrapper:before{content:"";position:absolute;inset:0;border-radius:14px;padding:2px;background:conic-gradient(from var(--btn-angle, 0deg),var(--gold) 0%,var(--purple) 25%,var(--gold-light) 50%,var(--purple) 75%,var(--gold) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:rotateBorder 3s linear infinite;opacity:0;transition:opacity .4s}.start-wrapper:hover:before,.start-wrapper.loading:before{opacity:1}@property --btn-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes rotateBorder{to{--btn-angle: 360deg}}.start{position:relative;width:100%;padding:18px 24px;background:linear-gradient(135deg,#140f28e6,#1e143ce6);border:none;border-radius:14px;color:var(--gold-light);font-size:1.15rem;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;letter-spacing:1px;cursor:pointer;transition:all .4s cubic-bezier(.23,1,.32,1);text-shadow:0 0 12px rgba(212,175,55,.4);overflow:hidden;z-index:1}.start:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,rgba(212,175,55,.15),transparent 60%),radial-gradient(circle at 70% 50%,rgba(139,92,246,.1),transparent 60%);opacity:.6;transition:opacity .4s;z-index:-1}.start:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:skew(-20deg);transition:none;z-index:0}.start:hover:after{animation:sweepLight 1.5s ease-in-out infinite}@keyframes sweepLight{0%{left:-100%}to{left:200%}}.start:hover:not(:disabled){transform:translateY(-3px) scale(1.01);box-shadow:0 0 20px #d4af374d,0 0 40px #8b5cf626,0 12px 24px #0000004d;text-shadow:0 0 16px rgba(212,175,55,.6);color:#fff}.start:hover:not(:disabled):before{opacity:1}.start:active:not(:disabled){transform:translateY(-1px) scale(.99)}.start:disabled{cursor:not-allowed;opacity:.85}.start.is-loading{pointer-events:none;color:transparent}.start.is-loading:before{opacity:1;background:radial-gradient(circle at 50% 50%,rgba(139,92,246,.2),transparent 70%);animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.start-loading-content{display:flex;align-items:center;justify-content:center;gap:12px}.magic-dice{display:inline-block;font-size:1.4rem;animation:diceRoll 1.2s cubic-bezier(.4,0,.2,1) infinite;filter:drop-shadow(0 0 6px rgba(212,175,55,.6))}@keyframes diceRoll{0%{transform:rotate(0) scale(1)}25%{transform:rotate(90deg) scale(1.2)}50%{transform:rotate(180deg) scale(1)}75%{transform:rotate(270deg) scale(1.15)}to{transform:rotate(360deg) scale(1)}}.magic-loading-text{background:linear-gradient(90deg,var(--gold),#fff,var(--purple),#fff,var(--gold));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmerText 2.5s ease-in-out infinite;font-weight:600;letter-spacing:1.5px;font-size:1rem}@keyframes shimmerText{0%{background-position:100% 50%}to{background-position:-100% 50%}}.orbit-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:14px}.orbit-particle{position:absolute;width:4px;height:4px;border-radius:50%;filter:blur(.5px)}.orbit-particle:nth-child(1){background:var(--gold);box-shadow:0 0 6px var(--gold),0 0 12px #d4af3766;animation:orbitMove1 2.5s linear infinite}.orbit-particle:nth-child(2){background:var(--purple);box-shadow:0 0 6px var(--purple),0 0 12px #8b5cf666;animation:orbitMove2 3s linear infinite}.orbit-particle:nth-child(3){background:var(--gold-light);box-shadow:0 0 6px var(--gold-light),0 0 12px #f0c67466;animation:orbitMove3 3.5s linear infinite}.orbit-particle:nth-child(4){background:#fff;box-shadow:0 0 6px #fff,0 0 10px #ffffff4d;animation:orbitMove4 2s linear infinite}@keyframes orbitMove1{0%{left:-4px;top:0}25%{left:100%;top:0}50%{left:100%;top:100%}75%{left:-4px;top:100%}to{left:-4px;top:0}}@keyframes orbitMove2{0%{left:100%;top:-4px}25%{left:100%;top:100%}50%{left:-4px;top:100%}75%{left:-4px;top:-4px}to{left:100%;top:-4px}}@keyframes orbitMove3{0%{left:50%;top:-4px}25%{left:100%;top:50%}50%{left:50%;top:100%}75%{left:-4px;top:50%}to{left:50%;top:-4px}}@keyframes orbitMove4{0%{left:-4px;top:50%}25%{left:50%;top:-4px}50%{left:100%;top:50%}75%{left:50%;top:100%}to{left:-4px;top:50%}}.start-idle-content{display:flex;align-items:center;justify-content:center;gap:8px}.start-icon{font-size:1.3rem;display:inline-block;animation:floatIcon 3s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(212,175,55,.5))}@keyframes floatIcon{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(5deg)}}.error{color:#ff6b6b;margin:12px 0;padding:10px;background:#ff6b6b1a;border-radius:8px;font-size:.9rem}.game{animation:fadeIn .3s}.story-timeline{background:var(--bg-light);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(139,92,246,.12);border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 4px 24px #0003,inset 0 1px #ffffff08}.timeline-title{text-align:center;margin-bottom:24px;color:var(--gold);font-size:1.2rem;border-bottom:1px solid var(--border);padding-bottom:12px}.story-chapter{margin-bottom:32px;padding-bottom:24px;border-bottom:1px dashed var(--border)}.story-chapter:last-child{border-bottom:none;margin-bottom:0}.chapter-number{display:inline-block;background:linear-gradient(135deg,var(--gold),var(--purple));color:#000;padding:4px 12px;border-radius:12px;font-size:.8rem;font-weight:700;margin-bottom:12px}.choice-made{background:#8b5cf61a;border-left:3px solid var(--purple);padding:10px 14px;margin-bottom:16px;border-radius:0 8px 8px 0}.choice-label{color:var(--purple);font-size:.85rem;margin-right:8px}.choice-text{color:var(--text);font-weight:500}.story-text p{margin-bottom:12px;line-height:1.8;font-size:1.05rem}.story-text.typewriter{position:relative}.story-text.typewriter .cursor{display:inline-block;width:2px;height:1.2em;background:var(--gold);margin-left:2px;animation:blink 1s infinite;vertical-align:text-bottom;box-shadow:0 0 8px var(--gold)}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.chapter-image{width:100%;border-radius:12px;margin-top:16px;cursor:zoom-in;border:1px solid var(--border)}.loading-indicator{text-align:center;padding:24px;color:var(--gold);font-size:1.1rem;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;letter-spacing:.5px;text-shadow:0 0 10px rgba(212,175,55,.3);animation:glow 2s ease-in-out infinite alternate}.choices-section{background:var(--bg-card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(139,92,246,.15);border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 4px 24px #0003,inset 0 1px #ffffff08,0 0 40px #8b5cf60d;position:relative;overflow:hidden}.choices-section:before{content:"";position:absolute;inset:0;border-radius:16px;padding:1px;background:linear-gradient(135deg,#8b5cf64d,#d4af3733,#8b5cf64d);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s}.choices-section:hover:before{opacity:1}.choices-section h4{color:var(--gold);margin-bottom:16px;font-size:1rem;text-shadow:0 0 10px rgba(212,175,55,.2)}.choices{display:flex;flex-direction:column;gap:10px}.choice-btn{padding:16px 20px;background:#8b5cf60f;border:1px solid rgba(139,92,246,.1);border-radius:12px;color:var(--text);text-align:left;cursor:pointer;transition:all .3s;font-size:1rem;position:relative;overflow:hidden}.choice-btn:hover:not(:disabled){background:#d4af371a;border-color:var(--gold);padding-left:28px;box-shadow:0 0 20px #d4af3726,0 0 40px #8b5cf614;transform:translate(4px)}.hint{text-align:center;color:var(--gold);margin-top:16px;animation:hintPulse 3s ease-in-out infinite}@keyframes hintPulse{0%,to{opacity:.8;text-shadow:0 0 5px rgba(212,175,55,.2)}50%{opacity:1;text-shadow:0 0 15px rgba(212,175,55,.4)}}.back{margin-top:20px;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.9rem;padding:10px;transition:all .3s;position:relative}.back:hover{color:var(--gold);text-shadow:0 0 10px rgba(212,175,55,.3)}.back:after{content:"";position:absolute;bottom:8px;left:10px;right:10px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);transition:transform .3s}.back:hover:after{transform:scaleX(1)}.modal{position:fixed;inset:0;background:#05050fe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:200}.modal-box{background:#0f0c23f2;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(139,92,246,.2);border-radius:16px;padding:28px;width:90%;max-width:380px;position:relative;box-shadow:0 8px 40px #00000080,0 0 60px #8b5cf61a,inset 0 1px #ffffff0a;animation:modalAppear .4s cubic-bezier(.23,1,.32,1)}@keyframes modalAppear{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.close-btn{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--text-dim);font-size:24px;cursor:pointer;transition:all .2s}.close-btn:hover{color:var(--gold);text-shadow:0 0 10px rgba(212,175,55,.5);transform:scale(1.1)}.modal-box h2{margin-bottom:20px;text-align:center;background:linear-gradient(90deg,var(--gold),var(--purple),var(--gold-light));background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:modalTitleShine 3s ease-in-out infinite}@keyframes modalTitleShine{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.modal-box input{width:100%;padding:12px;margin-bottom:12px;background:#0a081e99;border:1px solid rgba(139,92,246,.15);border-radius:8px;color:var(--text);transition:all .3s}.modal-box input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 15px #d4af371a}.code-row{display:flex;gap:8px;margin-bottom:12px}.code-row input{flex:1;margin-bottom:0}.code-row button{padding:12px 16px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);border-radius:8px;color:var(--text);cursor:pointer;transition:all .2s}.code-row button:hover{background:#8b5cf633;border-color:#8b5cf666;box-shadow:0 0 15px #8b5cf626}.btn-primary{width:100%;padding:14px;background:linear-gradient(135deg,var(--gold),var(--gold-light),var(--gold));background-size:200% 200%;border:none;border-radius:10px;color:#000;font-weight:700;cursor:pointer;transition:all .3s;animation:btnGradient 3s ease infinite}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #d4af3766}@keyframes btnGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.switch{margin-top:16px;display:flex;justify-content:space-between}.switch span{color:var(--text-dim);font-size:.85rem;cursor:pointer;transition:all .2s}.switch span:hover{color:var(--gold);text-shadow:0 0 8px rgba(212,175,55,.3)}.image-modal{position:fixed;inset:0;background:#000000f2;display:flex;justify-content:center;align-items:center;z-index:300;cursor:pointer}.image-modal .image-3d-wrapper{cursor:default}.image-modal button{position:absolute;top:20px;right:20px;background:none;border:none;color:#fff;font-size:32px;cursor:pointer;z-index:10}@media(max-width:600px){.genres{grid-template-columns:repeat(2,1fr)}main{padding:20px 16px}.story-timeline{padding:16px}}.image-loading{text-align:center;padding:20px;margin-top:16px;background:#d4af370d;border:1px dashed var(--border);border-radius:12px;overflow:hidden}.loading-text-animate{display:inline-block;color:var(--gold);font-size:1rem;font-weight:500;letter-spacing:2px;animation:textShine 2s linear infinite;background:linear-gradient(90deg,var(--gold) 0%,#fff 25%,var(--gold) 50%,#fff 75%,var(--gold) 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}@keyframes textShine{0%{background-position:200% center}to{background-position:-200% center}}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(212,175,55,.3);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite;margin-right:6px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.loading-dots{display:inline-block;animation:dots 1.5s steps(4,end) infinite}@keyframes dots{0%,20%{opacity:0}40%{opacity:.5}60%{opacity:1}80%,to{opacity:.5}}.image-loading{display:flex;align-items:center;justify-content:center;padding:20px;margin-top:16px;color:var(--gold);font-style:italic;background:#d4af370d;border:1px dashed var(--border);border-radius:12px}.image-loading .spinner{margin-right:8px}.loading-typewriter{display:inline}.loading-typewriter:after{content:"|";animation:blink 1s step-end infinite;color:var(--gold);margin-left:2px}@keyframes blink{50%{opacity:0}}.retry-section{margin:20px 0;padding:16px;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:12px;text-align:center}.retry-text{color:#ff6b6b;margin-bottom:12px;font-size:.95rem}.retry-btn{padding:10px 20px;background:linear-gradient(135deg,#ff6b6b,#ff8e8e);border:none;border-radius:8px;color:#fff;font-weight:700;cursor:pointer;transition:transform .2s}.retry-btn:hover{transform:translateY(-2px)}@keyframes glow{0%{text-shadow:0 0 10px rgba(212,175,55,.3)}to{text-shadow:0 0 20px rgba(212,175,55,.6),0 0 30px rgba(212,175,55,.3)}}.change-password-form{background:var(--bg-light);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(139,92,246,.12);border-radius:16px;padding:24px;margin-top:20px;box-shadow:0 4px 24px #0003}.change-password-form h3{margin-bottom:20px;color:var(--gold);text-align:center}.change-password-form input{width:100%;padding:12px;margin-bottom:12px;background:#0a081e80;border:1px solid rgba(139,92,246,.12);border-radius:8px;color:var(--text)}.change-password-form input:focus{outline:none;border-color:var(--gold)}.change-password-form .error{color:#ff6b6b;margin-bottom:12px;text-align:center}.change-password-form .success{color:#81c784;margin-bottom:12px;text-align:center}.change-password-form .form-actions{display:flex;gap:12px;justify-content:center;margin-top:16px}.change-password-form .btn-secondary{padding:12px 24px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);border-radius:8px;color:var(--text);cursor:pointer}.change-password-form .btn-primary{padding:12px 24px;background:linear-gradient(135deg,var(--gold),var(--gold-light));border:none;border-radius:8px;color:#2d1b4e;font-weight:700;cursor:pointer}.image-loading-text{text-align:center;padding:20px;margin-top:16px;color:var(--gold);font-size:1rem;font-weight:500;background:#d4af370d;border:1px dashed var(--border);border-radius:12px}.image-loading-skeleton{position:relative;width:100%;aspect-ratio:16 / 9;margin-top:16px;background:linear-gradient(135deg,#8b5cf61a,#d4af371a);border:1px solid rgba(139,92,246,.2);border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center}.skeleton-shimmer{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(139,92,246,.15) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.loading-content{display:flex;flex-direction:column;align-items:center;gap:12px;z-index:1}.magic-palette{font-size:2.5rem;animation:float 2s ease-in-out infinite;filter:drop-shadow(0 0 15px rgba(139,92,246,.5))}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(5deg)}}.loading-text{color:var(--gold);font-size:1rem;font-weight:500;letter-spacing:.5px;text-shadow:0 0 10px rgba(212,175,55,.3)}.loading-dots{display:flex;gap:6px}.loading-dots span{width:8px;height:8px;background:var(--gold);border-radius:50%;animation:bounce 1.4s ease-in-out infinite both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.loading-dots span:nth-child(3){animation-delay:0s}@keyframes bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1;box-shadow:0 0 10px var(--gold)}}.glow-text{animation:textGlow 1.5s ease-in-out infinite alternate;display:inline-block}@keyframes textGlow{0%{opacity:.5;text-shadow:0 0 5px rgba(212,175,55,.3)}to{opacity:1;text-shadow:0 0 20px rgba(212,175,55,.8),0 0 30px rgba(212,175,55,.4)}}.limit-actions{margin-top:16px;display:flex;justify-content:center}.login-btn{display:flex;align-items:center;gap:10px;padding:14px 28px;background:linear-gradient(135deg,#d4af37,#f0c674,#d4af37);background-size:200% 200%;border:none;border-radius:25px;color:#1a1a2e;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #d4af374d;animation:gradientShift 3s ease infinite}.login-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px #d4af3780}.btn-icon{font-size:1.2rem}.btn-text{white-space:nowrap}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.retry-text{color:#ff6b6b;font-size:1rem;margin-bottom:12px}.retry-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;color:var(--gold);font-size:.95rem;background:#d4af371a;border:1px dashed var(--gold);border-radius:8px}.retry-loading .spinner{width:18px;height:18px;border-width:2px}.image-3d-wrapper{position:relative;perspective:1000px;display:flex;justify-content:center;align-items:center}.image-3d{max-width:90vw;max-height:85vh;border-radius:12px;transform-style:preserve-3d;transition:box-shadow .3s;will-change:transform;box-shadow:0 20px 60px #0009,0 0 80px #8b5cf626;cursor:default}.image-3d:hover{box-shadow:0 30px 80px #000000b3,0 0 120px #8b5cf640,0 0 40px #d4af371a}.image-3d-glow{position:absolute;inset:0;border-radius:12px;pointer-events:none;z-index:10}.story-timeline{background:#0f0c23d1;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(139,92,246,.18);border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 8px 40px #0006,0 0 80px #8b5cf60f,inset 0 1px #ffffff0f,inset 0 -1px #8b5cf60d;position:relative;overflow:hidden}.story-timeline:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.4),rgba(212,175,55,.3),rgba(139,92,246,.4),transparent);animation:timelineGlow 4s ease-in-out infinite}@keyframes timelineGlow{0%,to{opacity:.5}50%{opacity:1}}.story-chapter{animation:chapterEnter3D .8s cubic-bezier(.23,1,.32,1) forwards;opacity:0;position:relative}@keyframes chapterEnter3D{0%{opacity:0;transform:translateY(40px) scale(.97);filter:blur(3px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.chapter-number{background:linear-gradient(135deg,var(--gold),var(--purple));box-shadow:0 2px 8px #d4af374d,0 0 16px #8b5cf626;animation:badgePulse 3s ease-in-out infinite}@keyframes badgePulse{0%,to{box-shadow:0 2px 8px #d4af374d,0 0 16px #8b5cf626}50%{box-shadow:0 2px 12px #d4af3780,0 0 24px #8b5cf640}}.chapter-fog{position:relative;height:4px;margin-top:16px;background:linear-gradient(90deg,transparent 0%,rgba(139,92,246,.2) 20%,rgba(212,175,55,.3) 50%,rgba(139,92,246,.2) 80%,transparent 100%);border-radius:2px;animation:fogPulse 3s ease-in-out infinite}@keyframes fogPulse{0%,to{opacity:.5;transform:scaleX(.8)}50%{opacity:1;transform:scaleX(1)}}.choice-btn-3d{position:relative;overflow:hidden;transition:all .4s cubic-bezier(.23,1,.32,1)!important;animation:choiceBtnEnter .5s cubic-bezier(.23,1,.32,1) forwards;opacity:0}@keyframes choiceBtnEnter{0%{opacity:0;transform:translate(-20px);filter:blur(2px)}to{opacity:1;transform:translate(0);filter:blur(0)}}.choice-btn-3d:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#d4af3700,#d4af3714,#8b5cf60d);opacity:0;transition:opacity .4s;pointer-events:none}.choice-btn-3d:after{content:"";position:absolute;top:0;left:-100%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);transform:skew(-20deg);pointer-events:none}.choice-btn-3d:hover:not(:disabled):before{opacity:1}.choice-btn-3d:hover:not(:disabled):after{animation:choiceSweep .8s ease-out}@keyframes choiceSweep{0%{left:-100%}to{left:200%}}.choice-btn-3d:hover:not(:disabled){transform:translate(6px) scale(1.01)!important;background:#d4af371a!important;border-color:#d4af3766!important;box-shadow:0 4px 20px #d4af3726,0 0 40px #8b5cf614,inset 0 0 20px #d4af3708!important;color:#fff!important;text-shadow:0 0 10px rgba(212,175,55,.3)}.choice-btn-3d:active:not(:disabled){transform:translate(3px) scale(.99)!important;transition-duration:.1s!important}.chapter-image{transition:transform .4s cubic-bezier(.23,1,.32,1),box-shadow .4s;box-shadow:0 4px 20px #0000004d}.chapter-image:hover{transform:scale(1.02);box-shadow:0 12px 40px #0006,0 0 30px #8b5cf61a}.loading-indicator{animation:glow 2s ease-in-out infinite alternate,loadFloat 3s ease-in-out infinite}@keyframes loadFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.timeline-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border)}.timeline-header .timeline-title{margin:0;border:none;padding:0}.save-section{display:flex;gap:8px;align-items:center}.save-name-input{padding:8px 12px;background:#0a081e99;border:1px solid rgba(139,92,246,.2);border-radius:8px;color:var(--text);font-size:.9rem;width:160px;transition:all .2s}.save-name-input:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 2px #8b5cf61a}.save-name-input::placeholder{color:var(--text-dim)}.save-btn{padding:8px 16px;background:linear-gradient(135deg,#8b5cf633,#d4af3726);border:1px solid rgba(139,92,246,.3);border-radius:8px;color:var(--text);font-size:.9rem;cursor:pointer;transition:all .2s;white-space:nowrap}.save-btn:hover:not(:disabled){background:linear-gradient(135deg,#8b5cf64d,#d4af3740);border-color:var(--gold);transform:translateY(-1px)}.save-btn:disabled{opacity:.5;cursor:not-allowed}.saves-modal{max-width:480px!important;max-height:70vh;display:flex;flex-direction:column}.saves-modal h3{margin-bottom:16px;text-align:center;color:var(--gold)}.saves-list{overflow-y:auto;max-height:50vh;display:flex;flex-direction:column;gap:10px;margin-bottom:16px;padding-right:4px}.saves-list::-webkit-scrollbar{width:6px}.saves-list::-webkit-scrollbar-track{background:#8b5cf61a;border-radius:3px}.saves-list::-webkit-scrollbar-thumb{background:#8b5cf64d;border-radius:3px}.no-saves{text-align:center;color:var(--text-dim);padding:32px 20px;font-style:italic}.save-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#0a081e80;border:1px solid rgba(139,92,246,.12);border-radius:10px;transition:all .2s}.save-item:hover{background:#8b5cf614;border-color:#8b5cf633}.save-info{flex:1;min-width:0}.save-name{font-weight:500;color:var(--text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.save-meta{font-size:.8rem;color:var(--text-dim)}.save-actions{display:flex;gap:8px;margin-left:12px}.load-btn{padding:6px 12px;background:#22c55e26;border:1px solid rgba(34,197,94,.3);border-radius:6px;color:#4ade80;font-size:.85rem;cursor:pointer;transition:all .2s}.load-btn:hover{background:#22c55e40;transform:scale(1.05)}.delete-btn{padding:6px 10px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:6px;color:#f87171;font-size:.85rem;cursor:pointer;transition:all .2s}.delete-btn:hover{background:#ef444433;transform:scale(1.05)}.modal-close{width:100%;padding:12px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);border-radius:8px;color:var(--text);font-size:.95rem;cursor:pointer;transition:all .2s}.modal-close:hover{background:#8b5cf633}@media(max-width:600px){.timeline-header{flex-direction:column;align-items:flex-start}.save-section{width:100%}.save-name-input{flex:1;width:auto}.save-item{flex-direction:column;align-items:flex-start;gap:10px}.save-actions{margin-left:0;width:100%;justify-content:flex-end}}.pagination-info{font-size:.85rem;color:var(--text-dim);background:#8b5cf61a;padding:6px 12px;border-radius:20px;border:1px solid rgba(139,92,246,.2)}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border);flex-wrap:wrap}.pagination-btn{padding:8px 16px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);border-radius:8px;color:var(--text);font-size:.9rem;cursor:pointer;transition:all .2s;white-space:nowrap}.pagination-btn:hover:not(:disabled){background:#8b5cf633;border-color:#8b5cf666}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-pages{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.pagination-page{min-width:36px;height:36px;padding:0 8px;background:#0a081e80;border:1px solid rgba(139,92,246,.15);border-radius:8px;color:var(--text-dim);font-size:.9rem;cursor:pointer;transition:all .2s}.pagination-page:hover:not(.active){background:#8b5cf61a;border-color:#8b5cf64d;color:var(--text)}.pagination-page.active{background:linear-gradient(135deg,#8b5cf64d,#d4af3733);border-color:var(--purple);color:var(--text);font-weight:500}@media(max-width:600px){.pagination-controls{gap:12px}.pagination-pages{order:-1;width:100%;margin-bottom:8px}.pagination-page{min-width:32px;height:32px;font-size:.85rem}}.subscribe-modal{max-width:520px!important}.subscribe-modal h3{text-align:center;color:var(--gold);margin-bottom:12px;font-size:1.4rem}.subscribe-desc{text-align:center;color:var(--text-dim);margin-bottom:24px;font-size:.95rem}.subscribe-plans{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.plan-card{background:#0a081e99;border:2px solid rgba(139,92,246,.2);border-radius:12px;padding:20px 16px;text-align:center;position:relative;transition:all .3s;cursor:pointer}.plan-card:hover{border-color:#8b5cf666;transform:translateY(-2px)}.plan-card.selected{border-color:var(--gold);background:linear-gradient(135deg,#d4af3726,#8b5cf626);box-shadow:0 0 20px #d4af3733}.plan-card.popular{border-color:#d4af3766;background:linear-gradient(135deg,#d4af3714,#8b5cf614)}.plan-card.popular.selected{border-color:var(--gold);background:linear-gradient(135deg,#d4af3733,#8b5cf626)}.plan-badge{position:absolute;top:-10px;right:10px;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:#000;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:10px}.plan-radio{width:22px;height:22px;border:2px solid rgba(139,92,246,.4);border-radius:50%;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;transition:all .2s}.plan-card.selected .plan-radio{border-color:var(--gold);background:#d4af371a}.radio-inner{width:10px;height:10px;border-radius:50%;background:var(--gold);transform:scale(0);transition:transform .2s}.radio-inner.checked{transform:scale(1)}.plan-name{font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:8px}.plan-price{font-size:2rem;font-weight:700;color:var(--gold);margin-bottom:4px}.plan-price span{font-size:.9rem;color:var(--text-dim);font-weight:400}.plan-save{font-size:.8rem;color:#4ade80;margin-bottom:12px}.plan-features{list-style:none;padding:0;margin:0 0 16px;text-align:left}.plan-features li{padding:6px 0;font-size:.85rem;color:var(--text-dim);border-bottom:1px solid rgba(139,92,246,.1)}.plan-features li:last-child{border-bottom:none}.subscribe-confirm-btn{width:100%;padding:14px;background:linear-gradient(135deg,var(--gold),var(--gold-light));border:none;border-radius:10px;color:#000;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s;margin-bottom:12px}.subscribe-confirm-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #d4af3766}.subscribe-confirm-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:600px){.subscribe-plans{grid-template-columns:1fr}}.sub-badge{font-size:.75rem;background:linear-gradient(135deg,#d4af3733,#8b5cf633);border:1px solid var(--gold);color:var(--gold);padding:4px 10px;border-radius:12px;margin-right:8px;font-weight:500}
