*{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)}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}.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}.logo{font-size:1.3rem;font-weight:700;cursor:pointer;background:linear-gradient(90deg,var(--gold),var(--purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.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 .2s}.user>button:hover{background:#8b5cf633;border-color:#8b5cf659}.menu{position:absolute;top:120%;right:0;background:#0f0c23e6;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(139,92,246,.15);border-radius:12px;padding:8px;min-width:140px;display:flex;flex-direction:column;gap:4px;z-index:200;box-shadow:0 8px 32px #0006}.menu button{background:none;border:none;padding:10px;text-align:left;color:var(--text);border-radius:8px;cursor:pointer}.menu button:hover{background:#8b5cf61f}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.2rem;margin-bottom:8px;background:linear-gradient(90deg,var(--gold),var(--purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.subtitle{color:var(--text-dim);margin-bottom:8px}.guest{color:var(--gold);font-size:.9rem;margin-bottom:24px}.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}.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 .2s;font-size:.85rem}.genres button:hover,.genres button.active{background:#d4af371f;border-color:var(--gold);box-shadow:0 0 12px #d4af3726}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}textarea:focus{outline:none;border-color:var(--gold)}.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}@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,.12);border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 4px 24px #0003,inset 0 1px #ffffff08}.choices-section h4{color:var(--gold);margin-bottom:16px;font-size:1rem}.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 .2s;font-size:1rem}.choice-btn:hover:not(:disabled){background:#d4af371a;border-color:var(--gold);padding-left:28px;box-shadow:0 0 16px #d4af371a}.hint{text-align:center;color:var(--gold);margin-top:16px}.back{margin-top:20px;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.9rem;padding:10px}.back:hover{color:var(--text)}.modal{position:fixed;inset:0;background:#05050fd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:200}.modal-box{background:#0f0c23e6;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(139,92,246,.15);border-radius:16px;padding:28px;width:90%;max-width:380px;position:relative;box-shadow:0 8px 40px #0006,inset 0 1px #ffffff0a}.close-btn{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--text-dim);font-size:24px;cursor:pointer}.modal-box h2{margin-bottom:20px;text-align:center;background:linear-gradient(90deg,var(--gold),var(--purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.modal-box input{width:100%;padding:12px;margin-bottom:12px;background:#0a081e99;border:1px solid rgba(139,92,246,.12);border-radius:8px;color:var(--text)}.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}.btn-primary{width:100%;padding:14px;background:linear-gradient(135deg,var(--gold),var(--gold-light));border:none;border-radius:10px;color:#000;font-weight:700;cursor:pointer}.switch{margin-top:16px;display:flex;justify-content:space-between}.switch span{color:var(--text-dim);font-size:.85rem;cursor:pointer}.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}.choices-section{background:#14102ad1;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(139,92,246,.2);border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 8px 40px #0000004d,0 0 60px #d4af370a,inset 0 1px #ffffff0d;animation:choicesAppear3D .6s cubic-bezier(.23,1,.32,1) forwards}@keyframes choicesAppear3D{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.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}.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}
