*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#fffffff2;background-color:#000;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:Impact,sans-serif;font-weight:700}button{font-family:inherit;cursor:pointer;border:none;outline:none}button:focus-visible{outline:2px solid #FFD700;outline-offset:2px}input,textarea{font-family:inherit}input:focus-visible,textarea:focus-visible{outline:2px solid #FFD700;outline-offset:2px}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#1a0000;border:1px solid #8B0000}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,gold,orange);border-radius:6px;border:2px solid #8B0000}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,orange,#ff8c00);box-shadow:0 0 10px gold}*{scrollbar-width:thin;scrollbar-color:#FFD700 #1a0000}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#1a1a2efa;border:2px solid;border-radius:12px;box-shadow:0 8px 32px #00000080;min-width:300px;max-width:500px;pointer-events:auto;cursor:pointer;animation:slideIn .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{border-color:#4caf50;background:linear-gradient(135deg,#4caf501a,#1a1a2efa)}.toast-error{border-color:#dc143c;background:linear-gradient(135deg,#dc143c1a,#1a1a2efa)}.toast-warning{border-color:orange;background:linear-gradient(135deg,#ffa5001a,#1a1a2efa)}.toast-info{border-color:#87ceeb;background:linear-gradient(135deg,#87ceeb1a,#1a1a2efa)}.toast-icon{font-size:1.5rem;font-weight:700;flex-shrink:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%}.toast-success .toast-icon{background:#4caf5033;color:#4caf50}.toast-error .toast-icon{background:#dc143c33;color:#dc143c}.toast-warning .toast-icon{background:#ffa50033;color:orange}.toast-info .toast-icon{background:#87ceeb33;color:#87ceeb}.toast-message{flex:1;color:gold;font-weight:500;line-height:1.4}.toast-close{background:none;border:none;color:orange;font-size:1.2rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;flex-shrink:0}.toast-close:hover{background:#ffa50033;color:gold}@media(max-width:768px){.toast-container{top:10px;right:10px;left:10px}.toast{min-width:auto;max-width:100%}}.image-lightbox-overlay{position:fixed;inset:0;background:#000000eb;display:flex;align-items:center;justify-content:center;z-index:10000;cursor:pointer;animation:lightboxFadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}.image-lightbox-content{max-width:95vw;max-height:95vh;display:flex;align-items:center;justify-content:center;animation:lightboxZoomIn .3s ease-out}@keyframes lightboxZoomIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.image-lightbox-content img{max-width:100%;max-height:95vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px #000c;cursor:default;border:2px solid rgba(255,215,0,.3)}.character-card{background:linear-gradient(135deg,#1a0000,#2a0000,#1a0000);border:3px solid #FFD700;border-radius:15px;padding:1.5rem;position:relative;cursor:pointer;transition:all .3s ease;box-shadow:0 0 20px #ffd7004d,inset 0 0 30px #00000080}.character-card:hover{transform:translateY(-5px);box-shadow:0 0 30px #ffd70080,0 10px 30px #00000080,inset 0 0 30px #00000080}.character-card.selected{border-color:#0f0;box-shadow:0 0 30px #0f09,0 10px 30px #00000080,inset 0 0 30px #0f03}.card-border{position:absolute;inset:0;border-radius:15px;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,215,0,.1) 10px,rgba(255,215,0,.1) 20px);pointer-events:none}.portrait-wrapper{position:relative;margin-right:1rem}.character-portrait{width:80px;min-width:80px;height:100px;border-radius:10px;overflow:hidden;border:3px solid #FFD700;box-shadow:0 0 20px #ffd70080,inset 0 0 20px #00000080;position:relative}.character-portrait img{width:100%;height:100%;object-fit:cover;display:block}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:.5rem}.character-title{flex:1}.name-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.character-name{font-size:1.8rem;font-weight:700;color:gold;text-shadow:0 0 10px #FFD700,0 0 20px #FFD700;margin:0;font-family:Impact,sans-serif;letter-spacing:1px}.character-class{color:orange;font-size:1rem;text-transform:uppercase;letter-spacing:2px;text-shadow:0 0 5px #FFA500;margin-bottom:.25rem}.character-background{color:#9370db;font-size:.9rem;font-style:italic;text-shadow:0 0 5px #9370DB;margin-bottom:.25rem}.character-trait{color:gold;font-size:.85rem;text-shadow:0 0 5px #FFD700}.character-level-badge{background:linear-gradient(135deg,gold,orange);color:#000;font-weight:700;font-size:.9rem;padding:.35rem .7rem;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;border:2px solid #8B0000;box-shadow:0 0 15px gold,0 0 25px #ffd70099,inset 0 -2px 5px #0000004d;font-family:Impact,sans-serif;white-space:nowrap;flex-shrink:0}.stats-grid{margin-bottom:1rem}.stat-bar{margin-bottom:.75rem}.stat-label{display:flex;justify-content:space-between;color:#fff;font-size:.9rem;margin-bottom:.25rem;font-weight:700;text-shadow:0 0 5px currentColor}.progress-bar{height:20px;background:#0009;border:2px solid;border-radius:10px;overflow:hidden;position:relative;box-shadow:inset 0 0 10px #000c}.progress-fill{height:100%;transition:width .5s ease;position:relative;box-shadow:0 0 10px currentColor}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,transparent 100%)}.health-bar{border-color:#dc143c}.health-fill{background:linear-gradient(90deg,#8b0000,#dc143c,red);animation:pulse-red 2s ease-in-out infinite}@keyframes pulse-red{0%,to{filter:brightness(1)}50%{filter:brightness(1.2)}}.exp-bar{border-color:#9370db}.exp-fill{background:linear-gradient(90deg,indigo,#9370db,#ba55d3);animation:pulse-purple 2s ease-in-out infinite}@keyframes pulse-purple{0%,to{filter:brightness(1)}50%{filter:brightness(1.2)}}.currency-stats{display:flex;gap:1rem;margin-top:1rem}.currency-item{flex:1;background:#0009;border:2px solid #FFD700;border-radius:10px;padding:.75rem;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 0 10px #ffd7004d}.currency-icon{font-size:1.5rem;filter:drop-shadow(0 0 5px #FFD700)}.currency-value{font-size:1.2rem;font-weight:700;color:gold;text-shadow:0 0 10px #FFD700;font-family:Impact,sans-serif}.abilities-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;margin-bottom:1rem}.ability{background:#0009;border:2px solid #8B0000;border-radius:8px;padding:.5rem;text-align:center;transition:all .3s ease}.ability:hover{border-color:gold;box-shadow:0 0 15px #ffd70080;transform:scale(1.05)}.ability-name{font-size:.7rem;color:orange;font-weight:700;text-transform:uppercase;margin-bottom:.25rem}.ability-score{font-size:1.2rem;font-weight:700;color:#fff;font-family:Impact,sans-serif}.ability-modifier{font-size:.8rem;color:#0f0;text-shadow:0 0 5px #00FF00}.inventory-section{background:#0006;border:2px solid #8B0000;border-radius:10px;padding:1rem}.inventory-header{font-size:1rem;font-weight:700;color:gold;text-shadow:0 0 10px #FFD700;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:2px}.inventory-items{display:flex;flex-wrap:wrap;gap:.5rem}.inventory-item{background:#8b00004d;border:1px solid #FFD700;border-radius:5px;padding:.25rem .75rem;font-size:.85rem;color:#fff;white-space:nowrap;box-shadow:0 0 5px #ffd70033;transition:all .2s ease}.inventory-item:hover{background:#8b000080;box-shadow:0 0 10px #ffd70066;transform:scale(1.05)}.inventory-item.more{background:#ffa5004d;border-color:orange;font-weight:700}@media(max-width:900px){.character-card{padding:1.25rem}.name-row{gap:.5rem}.character-name{font-size:1.5rem}.character-class{font-size:.95rem}.character-background{font-size:.85rem}.character-trait{font-size:.8rem}.character-level-badge{font-size:.75rem;padding:.3rem .5rem}.abilities-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}.ability{padding:.75rem .5rem}.ability-name{font-size:.65rem}.ability-score{font-size:1.1rem}.ability-modifier{font-size:.75rem}.currency-stats{gap:.75rem}.currency-item{padding:.625rem}.currency-icon{font-size:1.3rem}.currency-value{font-size:1.1rem}.inventory-section{padding:.875rem}.inventory-header{font-size:.95rem}.inventory-item{font-size:.8rem;padding:.2rem .625rem}}@media(max-width:500px){.character-card{padding:1rem}.portrait-wrapper{margin-right:.75rem}.character-portrait{width:60px;min-width:60px;height:75px}.card-header{gap:.5rem}.name-row{gap:.4rem}.character-name{font-size:1.3rem}.character-level-badge{font-size:.7rem;padding:.25rem .5rem}.abilities-grid{grid-template-columns:repeat(2,1fr)}}.adventure-dashboard{min-height:100vh;background:linear-gradient(180deg,#0a0000,#1a0000,#0a0000);padding:2rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,#1a0000,#4a0000);border:3px solid #FFD700;border-radius:15px;box-shadow:0 0 30px #ffd7004d}.dashboard-title{font-size:3rem;font-weight:700;color:gold;text-shadow:0 0 10px #FFD700,0 0 20px #FFD700,0 0 30px #FF0000;margin:0;font-family:Impact,sans-serif;letter-spacing:3px;animation:neon-pulse 2s ease-in-out infinite}@keyframes neon-pulse{0%,to{text-shadow:0 0 10px #FFD700,0 0 20px #FFD700,0 0 30px #FF0000}50%{text-shadow:0 0 20px #FFD700,0 0 40px #FFD700,0 0 60px #FF0000}}.back-button,.play-button{padding:1rem 2rem;font-size:1.2rem;font-weight:700;border:3px solid #FFD700;border-radius:10px;cursor:pointer;transition:all .3s ease;font-family:Impact,sans-serif;letter-spacing:2px;box-shadow:0 0 20px #ffd7004d}.back-button{background:linear-gradient(135deg,#8b0000,#dc143c);color:#fff}.back-button:hover{background:linear-gradient(135deg,#dc143c,red);box-shadow:0 0 30px #dc143c99;transform:translateY(-2px)}.play-button{background:linear-gradient(135deg,#006400,#0f0);color:#000}.play-button:hover{background:linear-gradient(135deg,#0f0,#7fff00);box-shadow:0 0 30px #0f09;transform:translateY(-2px)}.dashboard-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.dashboard-left,.dashboard-right{display:flex;flex-direction:column;gap:1.5rem}.scene-display{background:linear-gradient(135deg,#1a0000,#2a0000);border:3px solid #FFD700;border-radius:15px;padding:1.5rem;box-shadow:0 0 20px #ffd7004d}.scene-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.scene-header h2{color:gold;font-size:1.5rem;margin:0;text-shadow:0 0 10px #FFD700;font-family:Impact,sans-serif}.generate-image-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#9370db,#ba55d3);border:2px solid #9370DB;border-radius:8px;color:#fff;font-weight:700;cursor:pointer;transition:all .3s ease}.generate-image-btn:hover:not(:disabled){background:linear-gradient(135deg,#ba55d3,orchid);box-shadow:0 0 20px #ba55d399;transform:scale(1.05)}.generate-image-btn:disabled{opacity:.6;cursor:not-allowed}.scene-image{width:100%;height:300px;border:2px solid #8B0000;border-radius:10px;overflow:hidden;margin-bottom:1rem;box-shadow:0 0 20px #000c}.scene-image img{width:100%;height:100%;object-fit:cover}.scene-placeholder{width:100%;height:300px;background:#0009;border:2px dashed #FFD700;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:1rem}.placeholder-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.scene-placeholder p{color:orange;font-size:1.1rem;margin:0}.scene-description{background:#0006;border:2px solid #8B0000;border-radius:8px;padding:1rem;color:#fff;font-size:1.1rem;line-height:1.6}.quest-log{background:linear-gradient(135deg,#1a0000,#2a0000);border:3px solid #FFD700;border-radius:15px;padding:1.5rem;box-shadow:0 0 20px #ffd7004d}.quest-log h3{color:gold;font-size:1.5rem;margin:0 0 1rem;text-shadow:0 0 10px #FFD700;font-family:Impact,sans-serif}.quest-list{display:flex;flex-direction:column;gap:.75rem}.quest-item{display:flex;align-items:center;gap:1rem;background:#0006;border:2px solid #8B0000;border-left:5px solid #FFD700;border-radius:8px;padding:1rem;transition:all .3s ease}.quest-item:hover{border-color:gold;box-shadow:0 0 15px #ffd70066;transform:translate(5px)}.quest-number{background:gold;color:#000;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;font-family:Impact,sans-serif;box-shadow:0 0 10px gold}.quest-text{color:#fff;flex:1;font-size:1rem}.no-quests{text-align:center;color:orange;font-style:italic;padding:2rem}.party-stats-panel{background:linear-gradient(135deg,#1a0000,#2a0000);border:3px solid #FFD700;border-radius:15px;padding:1.5rem;box-shadow:0 0 20px #ffd7004d}.party-stats-panel h2{color:gold;font-size:1.5rem;margin:0 0 1rem;text-shadow:0 0 10px #FFD700;font-family:Impact,sans-serif}.party-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.party-stat-card{background:#0009;border:2px solid #8B0000;border-radius:10px;padding:1rem;display:flex;align-items:center;gap:1rem;transition:all .3s ease}.party-stat-card:hover{border-color:gold;box-shadow:0 0 15px #ffd70066;transform:scale(1.02)}.party-stat-card.full-width{grid-column:1 / -1;flex-direction:column;align-items:stretch}.stat-icon{font-size:2.5rem;filter:drop-shadow(0 0 10px #FFD700)}.stat-content{flex:1}.stat-value{font-size:2rem;font-weight:700;color:gold;text-shadow:0 0 10px #FFD700;font-family:Impact,sans-serif}.stat-value.small{font-size:1.2rem;text-align:center;margin-top:.5rem}.stat-label{color:orange;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.party-health-bar{height:30px;background:#0009;border:2px solid #DC143C;border-radius:15px;overflow:hidden;margin-top:.5rem;box-shadow:inset 0 0 10px #000c}.party-health-fill{height:100%;background:linear-gradient(90deg,#8b0000,#dc143c,red);transition:width .5s ease;box-shadow:0 0 10px #dc143c;animation:health-pulse 2s ease-in-out infinite}@keyframes health-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.combat-alert{margin-top:1rem;background:linear-gradient(135deg,#8b0000,#dc143c);border:3px solid #FFD700;border-radius:10px;padding:1rem;display:flex;align-items:center;gap:1rem;animation:alert-pulse 1s ease-in-out infinite}@keyframes alert-pulse{0%,to{box-shadow:0 0 20px #ffd70080}50%{box-shadow:0 0 40px #ffd700cc}}.alert-icon{font-size:2rem;animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.alert-text{color:#fff;font-weight:700}.alert-text strong{display:block;font-size:1.2rem;color:gold;text-shadow:0 0 10px #FFD700;margin-bottom:.25rem}.story-log{background:linear-gradient(135deg,#1a0000,#2a0000);border:3px solid #FFD700;border-radius:15px;padding:1.5rem;box-shadow:0 0 20px #ffd7004d;max-height:400px;display:flex;flex-direction:column}.story-log h3{color:gold;font-size:1.5rem;margin:0 0 1rem;text-shadow:0 0 10px #FFD700;font-family:Impact,sans-serif}.story-entries{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.story-entry{background:#0006;border-left:3px solid #FFA500;border-radius:5px;padding:.75rem;color:#fff;font-size:.95rem;line-height:1.5;transition:all .3s ease}.story-entry:hover{background:#0009;border-color:gold;transform:translate(5px)}.party-section{background:linear-gradient(135deg,#1a0000,#2a0000);border:3px solid #FFD700;border-radius:15px;padding:2rem;box-shadow:0 0 20px #ffd7004d}.party-header{color:gold;font-size:2rem;margin:0 0 1.5rem;text-shadow:0 0 10px #FFD700;font-family:Impact,sans-serif;letter-spacing:2px}.party-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.no-characters{grid-column:1 / -1;text-align:center;padding:3rem;color:orange}.no-characters p{font-size:1.3rem;margin:.5rem 0}.help-text{color:gold;font-style:italic}@media(max-width:1200px){.dashboard-content,.party-grid{grid-template-columns:1fr}}@media(max-width:900px){.adventure-dashboard{padding:1rem}.dashboard-header{flex-direction:column;gap:1rem;padding:1rem}.dashboard-header>div{width:100%}.dashboard-header>div>div{flex-wrap:wrap;padding:.5rem .75rem!important;gap:.35rem!important}.dashboard-header>div>div>span:first-child{font-size:.85rem!important;width:100%;text-align:center}.dashboard-header>div>div>code{font-size:.75rem!important;padding:.25rem .4rem!important;word-break:break-all;flex:1;min-width:0}.dashboard-header>div>div>button{padding:.25rem .5rem!important;font-size:.75rem!important}.dashboard-title{font-size:2rem;letter-spacing:2px;text-align:center}.back-button,.play-button{width:100%;padding:.875rem 1.5rem;font-size:1rem}.dashboard-content{gap:1.5rem}.scene-display,.quest-log,.party-stats-panel,.story-log,.party-section{padding:1rem}.scene-header h2,.quest-log h3,.party-stats-panel h2,.story-log h3{font-size:1.3rem}.scene-image,.scene-placeholder{height:200px}.scene-description{font-size:1rem;padding:.875rem}.party-stats-grid{grid-template-columns:1fr;gap:.875rem}.party-stat-card{padding:.875rem}.stat-icon{font-size:2rem}.stat-value,.party-header{font-size:1.5rem}.party-section{padding:1.5rem}.story-log{max-height:300px}}@media(max-width:500px){.dashboard-title{font-size:1.5rem;letter-spacing:1px}.dashboard-header>div>div{padding:.5rem!important}.dashboard-header>div>div>span:first-child{font-size:.8rem!important}.dashboard-header>div>div>code{font-size:.7rem!important;padding:.2rem .35rem!important;text-align:center;width:100%}.dashboard-header>div>div>button{padding:.3rem .5rem!important;font-size:.7rem!important;flex:1}.generate-image-btn{padding:.5rem .75rem;font-size:.875rem}.scene-header{flex-direction:column;align-items:flex-start;gap:.5rem}.generate-image-btn{width:100%}.quest-number{width:25px;height:25px;font-size:.875rem}.quest-text{font-size:.95rem}}.slot-machine-container{display:flex;justify-content:center;align-items:center;padding:2rem}.slot-machine-frame{background:linear-gradient(135deg,#1a0000,#4a0000,#1a0000);border:8px solid #FFD700;border-radius:20px;box-shadow:0 0 30px #ffd70080,0 0 60px #ff00004d,inset 0 0 50px #00000080;padding:2rem;position:relative;overflow:visible;max-width:700px;width:100%}.slot-machine-frame:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,215,0,.05) 10px,rgba(255,215,0,.05) 20px);pointer-events:none}.slot-machine-top{text-align:center;margin-bottom:1.5rem}.neon-sign{font-size:2.5rem;font-weight:700;color:gold;text-shadow:0 0 10px #FFD700,0 0 20px #FFD700,0 0 30px #FFD700,0 0 40px #FF0000,0 0 70px #FF0000,0 0 80px #FF0000;animation:neon-flicker 3s infinite alternate;letter-spacing:4px;font-family:Impact,sans-serif}@keyframes neon-flicker{0%,19%,21%,23%,25%,54%,56%,to{text-shadow:0 0 10px #FFD700,0 0 20px #FFD700,0 0 30px #FFD700,0 0 40px #FF0000,0 0 70px #FF0000,0 0 80px #FF0000}20%,24%,55%{text-shadow:none}}.slot-machine-body{background:linear-gradient(180deg,#000,#1a0000);border:4px solid #8B0000;border-radius:15px;padding:2rem;box-shadow:inset 0 0 30px #000c;position:relative;min-height:300px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:2rem}.slot-machine-main{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1}.reels{display:flex;gap:1.5rem;margin-bottom:2rem}.reel{width:100px;height:120px;background:linear-gradient(180deg,#1a1a1a,#0a0a0a);border:3px solid #FFD700;border-radius:10px;overflow:hidden;box-shadow:0 0 20px #ffd7004d,inset 0 0 20px #000c;position:relative}.reel:before{content:"";position:absolute;top:0;left:0;right:0;height:30%;background:linear-gradient(180deg,rgba(0,0,0,.8) 0%,transparent 100%);pointer-events:none;z-index:1}.reel:after{content:"";position:absolute;bottom:0;left:0;right:0;height:30%;background:linear-gradient(0deg,rgba(0,0,0,.8) 0%,transparent 100%);pointer-events:none;z-index:1}.reel-strip{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;transition:transform .1s ease-out}.spinning .reel-strip{animation:spin .1s linear infinite}@keyframes spin{0%{transform:translateY(0)}to{transform:translateY(-100%)}}.symbol{font-size:4rem;text-align:center;filter:drop-shadow(0 0 10px rgba(255,215,0,.5));animation:symbol-glow 2s ease-in-out infinite}@keyframes symbol-glow{0%,to{filter:drop-shadow(0 0 10px rgba(255,215,0,.5))}50%{filter:drop-shadow(0 0 20px rgba(255,215,0,.8))}}.roll-result{text-align:center;animation:result-appear .5s ease-out}@keyframes result-appear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.d20-display{width:150px;height:150px;margin:0 auto 1rem;background:linear-gradient(135deg,#2a2a2a,#0a0a0a);border:4px solid;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 30px;animation:pulse 1s ease-in-out infinite;position:relative}.d20-display:before{content:"";position:absolute;inset:-4px;border-radius:50%;background:inherit;filter:blur(10px);z-index:-1}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.d20-number{font-size:4rem;font-weight:700;font-family:Impact,sans-serif}.roll-text{font-size:2rem;font-weight:700;letter-spacing:3px;font-family:Impact,sans-serif;text-shadow:0 0 10px currentColor}.critical-success .d20-display{border-color:gold;box-shadow:0 0 30px gold,0 0 60px gold,inset 0 0 30px #ffd7004d;animation:critical-pulse .5s ease-in-out infinite}.critical-success .d20-number,.critical-success .roll-text{color:gold}@keyframes critical-pulse{0%,to{transform:scale(1);box-shadow:0 0 30px gold,0 0 60px gold}50%{transform:scale(1.1);box-shadow:0 0 50px gold,0 0 100px gold}}.critical-failure .d20-display{border-color:#8b0000;box-shadow:0 0 30px red,0 0 60px #8b0000,inset 0 0 30px #8b00004d}.critical-failure .d20-number,.critical-failure .roll-text{color:red}.success .d20-display{border-color:#0f0;box-shadow:0 0 30px #0f0}.success .d20-number,.success .roll-text{color:#0f0}.moderate .d20-display{border-color:orange;box-shadow:0 0 30px orange}.moderate .d20-number,.moderate .roll-text{color:orange}.failure .d20-display{border-color:#dc143c;box-shadow:0 0 30px #dc143c}.failure .d20-number,.failure .roll-text{color:#dc143c}.slot-machine-bottom{margin-top:1.5rem}.coin-lights{display:flex;gap:1rem;justify-content:center}.light{width:20px;height:20px;background:gold;border-radius:50%;box-shadow:0 0 10px gold,0 0 20px gold;animation:light-blink 1s ease-in-out infinite}@keyframes light-blink{0%,to{opacity:1;box-shadow:0 0 10px gold,0 0 20px gold}50%{opacity:.3;box-shadow:none}}.slot-lever{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:2rem}.lever-handle{width:30px;height:200px;background:linear-gradient(90deg,#8b0000,red,#8b0000);border:3px solid #FFD700;border-radius:15px;position:relative;box-shadow:0 0 15px #ffd70080,inset 0 0 10px #00000080;cursor:pointer;transition:transform .2s ease}.lever-handle:hover{transform:scale(1.05);box-shadow:0 0 25px #ffd700cc,inset 0 0 10px #00000080}.lever-handle:before{content:"";position:absolute;top:-30px;left:50%;transform:translate(-50%);width:50px;height:50px;background:radial-gradient(circle,gold,#8b0000 70%);border:3px solid #FFD700;border-radius:50%;box-shadow:0 0 20px #ffd70099,inset 0 0 10px #00000080}.lever-handle:after{content:"🎰";position:absolute;top:-25px;left:50%;transform:translate(-50%);font-size:1.5rem}@media(max-width:900px){.slot-machine-container{padding:1rem}.slot-machine-frame{padding:1.5rem;border-width:5px}.neon-sign{font-size:2rem;letter-spacing:3px}.slot-machine-body{flex-direction:column;gap:1.5rem;padding:1.5rem}.reels{gap:1rem;margin-bottom:1.5rem}.reel{width:80px;height:100px}.symbol{font-size:3rem}.d20-display{width:120px;height:120px}.d20-number{font-size:3rem}.roll-text{font-size:1.5rem;letter-spacing:2px}.slot-lever{flex-direction:row;padding-top:0}.lever-handle{width:150px;height:30px}.lever-handle:before{top:50%;left:-40px;transform:translateY(-50%)}.lever-handle:after{top:50%;left:-35px;transform:translateY(-50%)}}@media(max-width:500px){.slot-machine-frame{padding:1rem}.neon-sign{font-size:1.5rem;letter-spacing:2px}.slot-machine-body{padding:1rem}.reels{flex-direction:column;gap:.75rem}.reel{width:100%;max-width:250px;height:90px}.symbol{font-size:2.5rem}.d20-display{width:100px;height:100px}.d20-number{font-size:2.5rem}.roll-text{font-size:1.3rem}.lever-handle{width:120px}}.combat-view{background:linear-gradient(135deg,#1a0000,#4a0000);border:5px solid #FFD700;border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 0 40px #ffd70080,inset 0 0 60px #000c;position:relative;animation:combat-pulse 2s ease-in-out infinite}@keyframes combat-pulse{0%,to{box-shadow:0 0 40px #ffd70080,inset 0 0 60px #000c}50%{box-shadow:0 0 60px #ffd700cc,0 0 80px #f006,inset 0 0 60px #000c}}.combat-header{text-align:center;margin-bottom:2rem}.combat-title{font-size:2.5rem;font-weight:700;color:gold;text-shadow:0 0 10px #FFD700,0 0 20px #FFD700,0 0 40px #FF0000;font-family:Impact,sans-serif;letter-spacing:5px;display:flex;align-items:center;justify-content:center;gap:1rem;animation:title-flicker 3s ease-in-out infinite}@keyframes title-flicker{0%,18%,22%,25%,53%,57%,to{opacity:1}20%,24%,55%{opacity:.8}}.combat-icon{font-size:2rem;animation:icon-rotate 2s linear infinite}@keyframes icon-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.combat-main{display:grid;grid-template-columns:350px 1fr;gap:2rem}.combat-left{display:flex;flex-direction:column;gap:1.5rem}.combatants-section{background:#0009;border:3px solid #8B0000;border-radius:15px;padding:1.5rem;box-shadow:inset 0 0 20px #000c}.section-title{color:gold;font-size:1.3rem;font-weight:700;margin:0 0 1rem;text-shadow:0 0 10px #FFD700;font-family:Impact,sans-serif;letter-spacing:2px}.enemy-combat-card{background:linear-gradient(135deg,#2a0000,#1a0000);border:3px solid #DC143C;border-radius:12px;padding:1rem;display:flex;gap:1rem;transition:all .3s ease;position:relative;overflow:hidden}.enemy-combat-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,0,0,.2),transparent);animation:enemy-scan 3s linear infinite}@keyframes enemy-scan{0%{left:-100%}to{left:100%}}.enemy-combat-card.defeated{opacity:.5;border-color:#555;filter:grayscale(1)}.enemy-combat-card.defeated:before{animation:none}.enemy-portrait{width:70px;height:70px;background:radial-gradient(circle,#dc143c,#8b0000);border:3px solid #FFD700;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 20px #dc143c99,inset 0 0 20px #00000080;position:relative}.enemy-icon{font-size:2.5rem;filter:drop-shadow(0 0 10px #FFD700)}.defeated-overlay{position:absolute;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff;border-radius:50%;font-family:Impact,sans-serif}.enemy-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.enemy-name-row{display:flex;justify-content:space-between;align-items:center}.enemy-name{color:gold;font-size:1.2rem;font-weight:700;margin:0;text-shadow:0 0 10px #FFD700;font-family:Impact,sans-serif}.enemy-ac{background:#000c;color:gold;padding:.25rem .75rem;border:2px solid #FFD700;border-radius:20px;font-weight:700;font-size:.9rem;box-shadow:0 0 10px #ffd7004d}.health-display{display:flex;flex-direction:column;gap:.25rem}.health-bar-container{height:25px;background:#000c;border:2px solid #8B0000;border-radius:12px;overflow:hidden;box-shadow:inset 0 0 10px #000000e6;position:relative}.health-bar-fill{height:100%;transition:width .5s ease;position:relative;box-shadow:0 0 10px currentColor}.health-bar-shine{position:absolute;top:0;left:0;right:0;height:40%;background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,transparent 100%)}.health-high{background:linear-gradient(90deg,#0c0,#0f0,#7fff00);border-color:#0f0}.health-medium{background:linear-gradient(90deg,#c80,orange,gold);border-color:orange}.health-low{background:linear-gradient(90deg,#8b0000,#dc143c,red);border-color:#dc143c;animation:health-critical 1s ease-in-out infinite}@keyframes health-critical{0%,to{box-shadow:0 0 10px #dc143c}50%{box-shadow:0 0 20px red}}.health-text{color:#fff;font-weight:700;font-size:.9rem;text-align:center;text-shadow:0 0 5px #000}.party-health-list{display:flex;flex-direction:column;gap:.75rem}.party-member-combat{background:linear-gradient(135deg,#001a00,#000a00);border:2px solid #00FF00;border-radius:10px;padding:.75rem;display:flex;gap:1rem;align-items:center;box-shadow:0 0 15px #0f03}.character-combat-portrait{width:50px;height:50px;background:linear-gradient(135deg,#0c0,#080);border:3px solid #FFD700;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;text-shadow:0 0 10px #000;flex-shrink:0;font-family:Impact,sans-serif;box-shadow:0 0 15px #0f06,inset 0 0 10px #00000080}.character-combat-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.character-name-class{display:flex;justify-content:space-between;align-items:center}.char-name{color:#0f0;font-weight:700;font-size:1rem;text-shadow:0 0 5px #00FF00}.char-class{color:gold;font-size:.85rem;text-shadow:0 0 5px #FFD700}.combat-center{display:flex;flex-direction:column;gap:1.5rem}.battle-visualization{background:#000c;border:4px solid #FFD700;border-radius:15px;overflow:hidden;aspect-ratio:16/9;position:relative;box-shadow:0 0 30px #ffd70066,inset 0 0 40px #000000e6}.battle-image{width:100%;height:100%;object-fit:cover;animation:image-appear .5s ease-out}@keyframes image-appear{0%{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.battle-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;background:repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(255,215,0,.05) 20px,rgba(255,215,0,.05) 40px)}.placeholder-icon{font-size:5rem;opacity:.3;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.placeholder-text{color:gold;font-size:1.5rem;font-weight:700;text-shadow:0 0 10px #FFD700;font-family:Impact,sans-serif;letter-spacing:2px;opacity:.5}.generate-battle-btn{padding:1rem 2rem;background:linear-gradient(135deg,#9370db,#ba55d3);border:3px solid #9370DB;border-radius:10px;color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;font-family:Impact,sans-serif;letter-spacing:2px;box-shadow:0 0 20px #9370db66}.generate-battle-btn:hover:not(:disabled){background:linear-gradient(135deg,#ba55d3,orchid);box-shadow:0 0 30px #ba55d399;transform:scale(1.05)}.generate-battle-btn:disabled{opacity:.6;cursor:not-allowed}.generating-overlay{position:absolute;inset:0;background:#000000e6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;z-index:10}.generating-spinner{width:80px;height:80px;border:8px solid rgba(255,215,0,.2);border-top:8px solid #FFD700;border-radius:50%;animation:spin 1s linear infinite}.generating-text{color:gold;font-size:1.5rem;font-weight:700;text-shadow:0 0 10px #FFD700;font-family:Impact,sans-serif;letter-spacing:2px;animation:pulse-text 1.5s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.6}}.last-action-display{background:linear-gradient(135deg,#1a0000,#2a0000);border:3px solid #FFD700;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 0 20px #ffd7004d;animation:action-flash .5s ease-out}@keyframes action-flash{0%{background:linear-gradient(135deg,#4a2000,#3a1000);box-shadow:0 0 40px #ffd700cc}to{background:linear-gradient(135deg,#1a0000,#2a0000);box-shadow:0 0 20px #ffd7004d}}.action-icon{font-size:2.5rem;animation:icon-bounce .5s ease-out}@keyframes icon-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.action-text{flex:1;color:#fff;font-size:1.2rem;font-weight:700;line-height:1.5;text-shadow:0 0 5px #FFD700}@media(max-width:1200px){.combat-main{grid-template-columns:1fr}.combat-left{order:2}.combat-center{order:1}}@media(max-width:900px){.combat-view{padding:1.5rem}.combat-header{margin-bottom:1.5rem}.combat-title{font-size:2rem;letter-spacing:3px}.combat-icon{font-size:1.75rem}.combatants-section{padding:1.25rem}.section-title{font-size:1.2rem}.enemy-combat-card{padding:.875rem;gap:.875rem}.enemy-portrait{width:60px;height:60px}.enemy-icon{font-size:2rem}.enemy-name{font-size:1.1rem}.enemy-ac{font-size:.85rem;padding:.2rem .625rem}.character-combat-portrait{width:45px;height:45px;font-size:1.3rem}.char-name{font-size:.95rem}.char-class{font-size:.8rem}.party-member-combat{padding:.625rem;gap:.875rem}.battle-visualization{aspect-ratio:4/3}.placeholder-icon{font-size:4rem}.placeholder-text{font-size:1.3rem}.generate-battle-btn{padding:.875rem 1.5rem;font-size:1rem}.generating-spinner{width:60px;height:60px;border-width:6px}.generating-text{font-size:1.3rem}.last-action-display{padding:1.25rem;gap:.875rem}.action-icon{font-size:2rem}.action-text{font-size:1.1rem}}@media(max-width:500px){.combat-view{padding:1rem;border-width:3px}.combat-title{font-size:1.5rem;letter-spacing:2px;flex-direction:column;gap:.5rem}.combat-icon{font-size:1.5rem}.enemy-combat-card{flex-direction:column;align-items:center;text-align:center}.enemy-portrait{width:70px;height:70px}.enemy-name-row{flex-direction:column;gap:.5rem}.placeholder-icon{font-size:3rem}.placeholder-text{font-size:1.1rem}.generate-battle-btn{font-size:.95rem;padding:.75rem 1.25rem}.action-text{font-size:1rem}}.tactical-combat-map{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:12px;padding:1.5rem;margin:1rem 0;box-shadow:0 8px 32px #0000004d}.combat-header{margin-bottom:1.5rem;text-align:center}.combat-header h3{color:gold;font-size:1.8rem;margin:0 0 .5rem;text-shadow:0 0 10px rgba(255,215,0,.5)}.turn-indicator{color:#fff;font-size:1.2rem;padding:.5rem 1rem;background:#ffffff1a;border-radius:8px;display:inline-block}.turn-indicator strong{color:gold}.combat-main-layout{display:grid;grid-template-columns:200px 1fr 250px;gap:1.5rem;align-items:start}.initiative-panel{background:#0000004d;border-radius:8px;padding:1rem;border:2px solid rgba(255,215,0,.3)}.initiative-panel h4{color:gold;margin:0 0 1rem;font-size:1.1rem;text-align:center}.initiative-list{display:flex;flex-direction:column;gap:.5rem}.initiative-item{display:grid;grid-template-columns:30px 1fr 30px;grid-template-rows:auto auto;gap:.25rem;padding:.5rem;background:#ffffff0d;border-radius:6px;border:2px solid transparent;transition:all .2s}.initiative-item.current{background:#ffd70033;border-color:gold;box-shadow:0 0 10px #ffd7004d}.initiative-item.character{border-left:3px solid #4caf50}.initiative-item.enemy{border-left:3px solid #f44336}.init-icon{font-size:1.2rem;grid-row:1 / 3}.init-name{color:#fff;font-weight:700;font-size:.9rem}.init-value{color:gold;font-weight:700;text-align:right;grid-row:1 / 3}.init-hp-bar{grid-column:2 / 3;height:4px;background:#fff3;border-radius:2px;overflow:hidden}.init-hp-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);transition:width .3s}.map-container{display:flex;flex-direction:column;gap:1rem}.grid-map{display:grid;gap:2px;background:#00000080;padding:4px;border-radius:8px;border:2px solid rgba(255,215,0,.3);max-width:100%;aspect-ratio:4/3}.grid-cell{background:linear-gradient(135deg,#2a2a3e,#1e1e32);border:1px solid rgba(255,255,255,.1);position:relative;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;min-height:40px}.grid-cell:hover{background:linear-gradient(135deg,#3a3a4e,#2e2e42);border-color:#ffd70080}.grid-cell.in-range{background:linear-gradient(135deg,#4caf504d,#4caf5033);border-color:#4caf50}.grid-cell.in-range:hover{background:linear-gradient(135deg,#4caf5080,#4caf504d);box-shadow:0 0 10px #4caf5080}.grid-cell.threatened{background:linear-gradient(135deg,#f4433633,#f443361a)}.cell-coords{position:absolute;top:2px;left:2px;font-size:.6rem;color:#ffffff4d;pointer-events:none}.combatant{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.25rem;border-radius:8px;position:relative;z-index:10}.combatant.character{background:linear-gradient(135deg,#4caf50cc,#388e3ccc);border:2px solid #4caf50;box-shadow:0 2px 8px #4caf5080}.combatant.enemy{background:linear-gradient(135deg,#f44336cc,#d32f2fcc);border:2px solid #f44336;box-shadow:0 2px 8px #f4433680}.combatant.current-turn{animation:pulse 2s infinite}.combatant.my-character{border:3px solid #ffd700;box-shadow:0 0 10px #ffd70099}.combatant.my-character.current-turn{border:3px solid #ffd700}@keyframes pulse{0%,to{box-shadow:0 0 15px #ffd700cc;border-color:gold}50%{box-shadow:0 0 25px gold;border-color:#ffed4e}}.combatant-icon{font-size:1.5rem}.combatant-name{font-size:.7rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8)}.combatant-hp{font-size:.6rem;color:#fff;background:#00000080;padding:2px 4px;border-radius:3px;margin-top:2px}.combat-legend{display:flex;gap:1.5rem;justify-content:center;padding:.75rem;background:#0000004d;border-radius:6px;font-size:.85rem;color:#fff}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-color{width:20px;height:20px;border-radius:4px;border:1px solid rgba(255,255,255,.3)}.legend-color.threatened{background:linear-gradient(135deg,#f4433680,#f443364d)}.legend-color.in-range{background:linear-gradient(135deg,#4caf5080,#4caf504d)}.action-panel{background:#0000004d;border-radius:8px;padding:1rem;border:2px solid rgba(255,215,0,.3);display:flex;flex-direction:column;gap:1rem}.action-panel h4{color:gold;margin:0;font-size:1.1rem;text-align:center}.action-status{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#ffffff0d;border-radius:6px}.status-item{color:#fff;font-size:.9rem}.status-item strong{color:gold}.action-buttons{display:flex;flex-direction:column;gap:.75rem}.action-btn{padding:.75rem 1rem;border:2px solid rgba(255,255,255,.3);border-radius:8px;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s}.action-btn:hover:not(:disabled){background:linear-gradient(135deg,#fff3,#ffffff1a);border-color:#ffd70080;transform:translateY(-2px);box-shadow:0 4px 12px #ffd7004d}.action-btn.active{background:linear-gradient(135deg,#ffd70066,#ffd7004d);border-color:gold;box-shadow:0 0 15px #ffd70080}.action-btn:disabled{opacity:.4;cursor:not-allowed}.action-btn.move{border-color:#4caf5080}.action-btn.attack{border-color:#f4433680}.action-btn.end-turn{border-color:#ff980080}.action-hint{text-align:center;color:gold;font-size:.9rem;padding:.75rem;background:#ffd7001a;border-radius:6px;min-height:2rem}.not-your-turn{text-align:center;padding:1.5rem;color:#fff}.not-your-turn p{margin:.5rem 0}.ai-turn{color:gold;font-style:italic;animation:blink 1.5s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}.combat-log{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.combat-log h5{color:gold;font-size:.9rem;margin:0 0 .5rem}.log-entry{font-size:.8rem;color:#fff;padding:.5rem;background:#ffffff0d;border-radius:4px;margin-bottom:.25rem;border-left:3px solid rgba(255,215,0,.5)}@media(max-width:1400px){.combat-main-layout{grid-template-columns:180px 1fr 220px}}@media(max-width:1200px){.combat-main-layout{grid-template-columns:1fr;grid-template-rows:auto auto auto}.initiative-panel{order:1}.map-container{order:2}.action-panel{order:3}.initiative-list{flex-direction:row;flex-wrap:wrap}.initiative-item{flex:1;min-width:120px}}@media(max-width:768px){.tactical-combat-map{padding:1rem}.grid-cell{min-height:30px}.combatant-icon{font-size:1.2rem}.combatant-name{font-size:.6rem}.combatant-hp{font-size:.5rem}.combat-legend{flex-direction:column;gap:.5rem}}.shop-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.shop-container{background:#1a1a2e;border-radius:16px;max-width:1200px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;border:2px solid #ffd700;animation:slideUp .4s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.shop-header{padding:24px;border-radius:14px 14px 0 0;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #ffd700;position:relative;overflow:hidden}.shop-header:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 50%,rgba(0,0,0,.2) 100%);pointer-events:none}.shop-title-section{flex:1;position:relative;z-index:1}.shop-title-section h2{margin:0 0 8px;font-size:32px;color:gold;text-shadow:2px 2px 4px rgba(0,0,0,.5);font-family:Georgia,serif}.shop-description{margin:4px 0;font-size:16px;color:#e0e0e0;font-style:italic}.merchant-name{margin:8px 0 0;font-size:14px;color:gold;font-weight:600}.special-offer{margin-top:12px;padding:8px 16px;background:#ffd70033;border:2px solid #ffd700;border-radius:8px;color:gold;font-weight:700;display:inline-block;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 10px #ffd70080}50%{transform:scale(1.02);box-shadow:0 0 20px #ffd700cc}}.shop-close-btn{background:#ffffff1a;border:2px solid rgba(255,255,255,.3);color:#fff;width:40px;height:40px;border-radius:50%;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;position:relative;z-index:2}.shop-close-btn:hover{background:#ff00004d;border-color:red;transform:rotate(90deg)}.shop-info-bar{padding:16px 24px;background:#0000004d;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;border-bottom:1px solid rgba(255,215,0,.3)}.character-gold{font-size:18px;color:#e0e0e0;font-weight:600}.gold-amount{color:gold;font-size:20px;font-weight:700}.category-filters{display:flex;gap:8px;flex-wrap:wrap}.category-btn{padding:8px 16px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);color:#e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;transition:all .3s;white-space:nowrap}.category-btn:hover{background:#fff3;border-color:#ffd70080}.category-btn.active{background:#ffd7004d;border-color:gold;color:gold;font-weight:700}.shop-inventory{flex:1;overflow-y:auto;padding:24px}.no-items{text-align:center;padding:60px 20px;color:#888;font-size:18px}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.shop-item{background:linear-gradient(135deg,#2a2a3e,#1f1f2e);border:2px solid rgba(255,215,0,.3);border-radius:12px;padding:16px;transition:all .3s;display:flex;flex-direction:column;gap:12px}.shop-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px #ffd7004d;border-color:gold}.item-header{display:flex;align-items:center;gap:12px}.item-icon{font-size:32px}.item-name{margin:0;font-size:18px;font-weight:700;flex:1}.item-description{margin:0;color:#b0b0b0;font-size:14px;line-height:1.4;min-height:40px}.item-footer{display:flex;flex-direction:column;gap:12px;margin-top:auto}.item-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px}.item-rarity{font-weight:700;text-transform:uppercase;letter-spacing:1px}.item-stock{color:#888}.item-stock.out-of-stock{color:#f44;font-weight:700}.item-purchase{display:flex;justify-content:space-between;align-items:center}.item-price{font-size:20px;color:gold;font-weight:700}.purchase-btn{padding:10px 20px;background:linear-gradient(135deg,#4ade80,#22c55e);border:2px solid #16a34a;color:#fff;border-radius:8px;cursor:pointer;font-weight:700;font-size:14px;transition:all .3s;text-transform:uppercase;letter-spacing:.5px}.purchase-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #4ade8066}.purchase-btn:disabled{background:linear-gradient(135deg,#4b5563,#374151);border-color:#1f2937;cursor:not-allowed;opacity:.6}.shop-footer{padding:20px 24px;background:#0000004d;border-top:1px solid rgba(255,215,0,.3);display:flex;justify-content:center}.leave-shop-btn{padding:12px 32px;background:linear-gradient(135deg,#6b7280,#4b5563);border:2px solid #9ca3af;color:#fff;border-radius:8px;cursor:pointer;font-weight:700;font-size:16px;transition:all .3s}.leave-shop-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);border-color:#a78bfa;transform:scale(1.05)}.shop-inventory::-webkit-scrollbar{width:10px}.shop-inventory::-webkit-scrollbar-track{background:#0000004d;border-radius:5px}.shop-inventory::-webkit-scrollbar-thumb{background:#ffd70080;border-radius:5px}.shop-inventory::-webkit-scrollbar-thumb:hover{background:#ffd700b3}@media(max-width:768px){.shop-overlay{padding:10px}.shop-container{max-height:95vh}.shop-header{flex-direction:column;gap:16px}.shop-close-btn{align-self:flex-end}.shop-info-bar{flex-direction:column;align-items:flex-start}.items-grid{grid-template-columns:1fr}.category-filters{width:100%}.category-btn{flex:1;text-align:center}}.game-interface{min-height:100vh;background:radial-gradient(circle at 20% 50%,rgba(139,0,0,.2) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(255,215,0,.1) 0%,transparent 50%),linear-gradient(180deg,#0a0000,#1a0000,#0a0000);padding:2rem}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,#1a0000,#4a0000);border:3px solid #FFD700;border-radius:15px;box-shadow:0 0 30px #ffd7004d,inset 0 0 50px #00000080}.game-title{font-size:3rem;font-weight:700;color:gold;text-shadow:0 0 10px #FFD700,0 0 20px #FFD700,0 0 30px #FF0000;margin:0;font-family:Impact,sans-serif;letter-spacing:3px;animation:title-glow 3s ease-in-out infinite}@keyframes title-glow{0%,to{text-shadow:0 0 10px #FFD700,0 0 20px #FFD700,0 0 30px #FF0000}50%{text-shadow:0 0 20px #FFD700,0 0 40px #FFD700,0 0 60px #FF0000,0 0 80px #FF0000}}.header-button{padding:1rem 2rem;font-size:1.2rem;font-weight:700;background:linear-gradient(135deg,#8b0000,#dc143c);border:3px solid #FFD700;border-radius:10px;color:#fff;cursor:pointer;transition:all .3s ease;font-family:Impact,sans-serif;letter-spacing:2px;box-shadow:0 0 20px #ffd7004d}.header-button:hover:not(:disabled){background:linear-gradient(135deg,#dc143c,red);box-shadow:0 0 30px #ffd70099;transform:translateY(-2px)}.header-button:disabled{opacity:.5;cursor:not-allowed}.dm-button{background:linear-gradient(135deg,#9370db,#ba55d3)}.dm-button:hover:not(:disabled){background:linear-gradient(135deg,#ba55d3,orchid)}.game-layout{display:grid;grid-template-columns:1fr 2fr 1fr;gap:1.5rem}.game-left,.game-center,.game-right{display:flex;flex-direction:column;gap:1.5rem}.story-panel,.combat-panel,.action-panel,.party-panel{background:linear-gradient(135deg,#1a0000,#2a0000);border:3px solid #FFD700;border-radius:15px;padding:1.5rem;box-shadow:0 0 20px #ffd7004d}.panel-title{color:gold;font-size:1.8rem;margin:0 0 1rem;text-shadow:0 0 10px #FFD700;font-family:Impact,sans-serif;letter-spacing:2px}.story-content{margin-bottom:1.5rem}.story-image{width:100%;height:200px;border:2px solid #8B0000;border-radius:10px;overflow:hidden;margin-bottom:1rem;box-shadow:0 0 20px #000c}.story-image img{width:100%;height:100%;object-fit:cover}.scene-text{background:#0006;border:2px solid #8B0000;border-radius:8px;padding:1rem;color:#fff;font-size:1.1rem;line-height:1.6;margin:0}.recent-events{background:#0006;border:2px solid #8B0000;border-radius:10px;padding:1rem}.recent-events h3{color:orange;font-size:1.2rem;margin:0 0 .75rem;text-shadow:0 0 5px #FFA500}.event-entry{background:#0000004d;border-left:3px solid #FFD700;border-radius:5px;padding:.5rem;margin-bottom:.5rem;color:#fff;font-size:.9rem}.enemies-list{display:flex;flex-direction:column;gap:1rem}.enemy-card{background:#8b00004d;border:2px solid #DC143C;border-radius:10px;padding:1rem;transition:all .3s ease}.enemy-card:hover{border-color:red;box-shadow:0 0 20px #dc143c80;transform:scale(1.02)}.enemy-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.enemy-header h3{color:gold;font-size:1.3rem;margin:0;text-shadow:0 0 10px #FFD700}.enemy-ac{background:#000;color:gold;padding:.25rem .75rem;border:2px solid #FFD700;border-radius:20px;font-weight:700;box-shadow:0 0 10px #ffd7004d}.enemy-health{display:flex;flex-direction:column;gap:.25rem}.health-bar{height:25px;background:#0009;border:2px solid #DC143C;border-radius:12px;overflow:hidden;box-shadow:inset 0 0 10px #000c}.health-fill{height:100%;transition:width .5s ease}.enemy-health-fill{background:linear-gradient(90deg,#8b0000,#dc143c,red);box-shadow:0 0 10px #dc143c}.health-text{color:#fff;font-size:.9rem;text-align:center;font-weight:700}.action-panel{min-height:500px;display:flex;flex-direction:column;gap:1.5rem}.character-select label{display:block;color:orange;font-size:1.1rem;font-weight:700;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:1px}.character-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.character-button{background:linear-gradient(135deg,#1a1a1a,#0a0a0a);border:3px solid #8B0000;border-radius:10px;padding:1rem;cursor:pointer;transition:all .3s ease;text-align:center}.character-button:hover{border-color:gold;box-shadow:0 0 20px #ffd70066;transform:translateY(-3px)}.character-button.active{border-color:#0f0;box-shadow:0 0 30px #0f09;background:linear-gradient(135deg,#030,#001a00)}.char-btn-name{color:gold;font-size:1.1rem;font-weight:700;margin-bottom:.25rem;text-shadow:0 0 5px #FFD700}.char-btn-class{color:orange;font-size:.9rem;margin-bottom:.5rem}.char-btn-hp{color:#dc143c;font-weight:700;text-shadow:0 0 5px #DC143C}.action-input{display:flex;flex-direction:column}.action-input label{color:orange;font-size:1.1rem;font-weight:700;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:1px}.action-input textarea{background:#0009;border:3px solid #8B0000;border-radius:10px;padding:1rem;color:#fff;font-size:1rem;font-family:inherit;resize:vertical;transition:all .3s ease}.action-input textarea:focus{outline:none;border-color:gold;box-shadow:0 0 20px #ffd70066}.action-buttons{display:flex;gap:1rem}.action-btn{flex:1;padding:1.25rem 2rem;font-size:1.3rem;font-weight:700;border:3px solid #FFD700;border-radius:10px;cursor:pointer;transition:all .3s ease;font-family:Impact,sans-serif;letter-spacing:2px;box-shadow:0 0 20px #ffd7004d}.action-btn.primary{background:linear-gradient(135deg,gold,orange);color:#000}.action-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,orange,#ff8c00);box-shadow:0 0 40px #ffd700cc;transform:scale(1.05)}.action-btn.secondary{background:linear-gradient(135deg,#9370db,#ba55d3);color:#fff}.action-btn.secondary:hover:not(:disabled){background:linear-gradient(135deg,#ba55d3,orchid);box-shadow:0 0 30px #ba55d399;transform:scale(1.05)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.result-display{background:#0009;border:3px solid;border-radius:15px;padding:2rem;text-align:center;animation:result-appear .5s ease-out}@keyframes result-appear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.result-display.success{border-color:#0f0;box-shadow:0 0 30px #0f09}.result-display.failure{border-color:#dc143c;box-shadow:0 0 30px #dc143c99}.result-display h3{color:gold;font-size:1.5rem;margin:0 0 1rem;text-shadow:0 0 10px #FFD700;font-family:Impact,sans-serif}.rewards{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0;color:#fff;font-size:1.1rem;font-weight:700}.continue-btn{margin-top:1rem;padding:1rem 2rem;background:linear-gradient(135deg,gold,orange);border:3px solid #FFD700;border-radius:10px;color:#000;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;font-family:Impact,sans-serif}.continue-btn:hover{background:linear-gradient(135deg,orange,#ff8c00);box-shadow:0 0 30px #ffd700cc;transform:scale(1.05)}.party-panel{max-height:calc(100vh - 200px);overflow-y:auto}.party-list{display:flex;flex-direction:column;gap:1rem}@media(max-width:1400px){.game-layout{grid-template-columns:1fr 1fr}.game-right{grid-column:1 / -1}.party-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media(max-width:900px){.game-interface{padding:1rem}.game-layout{grid-template-columns:1fr;gap:1rem}.game-header{flex-direction:column;gap:1rem;padding:1rem}.game-header>div:first-of-type{width:100%;flex-direction:column;align-items:center!important;gap:.75rem}.game-header>div:first-of-type>button{width:100%;max-width:300px;padding:.5rem .875rem!important;font-size:.85rem!important;justify-content:center}.game-header>div:first-of-type>span{padding:.4rem .75rem!important;font-size:.8rem!important;max-width:100%;text-align:center}.game-title{font-size:2rem;letter-spacing:2px;text-align:center}.header-button{width:100%;padding:.875rem 1.5rem;font-size:1rem}.story-panel,.combat-panel,.action-panel,.party-panel{padding:1rem}.panel-title{font-size:1.5rem}.story-image{height:150px}.scene-text{font-size:1rem;padding:.875rem}.recent-events h3{font-size:1.1rem}.event-entry{font-size:.85rem}.enemy-header h3{font-size:1.1rem}.character-buttons{grid-template-columns:1fr}.character-button{padding:.875rem}.char-btn-name{font-size:1rem}.char-btn-class{font-size:.85rem}.action-input label{font-size:1rem}.action-input textarea{font-size:.95rem;padding:.875rem}.action-buttons{flex-direction:column;gap:.75rem}.action-btn{width:100%;padding:1rem 1.5rem;font-size:1.1rem}.result-display{padding:1.5rem}.result-display h3{font-size:1.3rem}.rewards{font-size:1rem}.continue-btn{padding:.875rem 1.5rem;font-size:1rem}.party-list{grid-template-columns:1fr}}@media(max-width:500px){.game-title{font-size:1.5rem;letter-spacing:1px}.game-header>div:first-of-type>button{max-width:100%;padding:.5rem .75rem!important;font-size:.8rem!important;gap:.35rem!important}.game-header>div:first-of-type>span{padding:.35rem .6rem!important;font-size:.75rem!important}.panel-title{font-size:1.3rem}.action-btn{font-size:1rem;padding:.875rem 1.25rem}.result-text{font-size:3rem}}.character-creation-slots{min-height:100vh;width:100%;background:radial-gradient(circle at 50% 50%,rgba(255,215,0,.1) 0%,transparent 50%),linear-gradient(180deg,#0a0000,#1a0000,#0a0000);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:2rem;overflow-x:hidden;box-sizing:border-box}.creation-header{text-align:center}.creation-title{font-size:4rem;font-weight:700;color:gold;text-shadow:0 0 10px #FFD700,0 0 20px #FFD700,0 0 40px #FFD700,0 0 80px #FF0000;margin:0 0 1rem;font-family:Impact,sans-serif;letter-spacing:5px;animation:title-pulse 2s ease-in-out infinite}@keyframes title-pulse{0%,to{text-shadow:0 0 10px #FFD700,0 0 20px #FFD700,0 0 40px #FFD700,0 0 80px #FF0000}50%{text-shadow:0 0 20px #FFD700,0 0 40px #FFD700,0 0 80px #FFD700,0 0 120px #FF0000}}.character-name-display{font-size:2rem;color:#0f0;text-shadow:0 0 10px #00FF00,0 0 20px #00FF00;font-weight:700;font-family:Impact,sans-serif;letter-spacing:3px}.stage-indicator{display:flex;gap:1rem;justify-content:center;align-items:center}.stage-dot{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;font-family:Impact,sans-serif;transition:all .5s ease;border:3px solid}.stage-dot.pending{background:#0009;border-color:#8b0000;color:#8b0000}.stage-dot.active{background:linear-gradient(135deg,gold,orange);border-color:gold;color:#000;box-shadow:0 0 30px gold,0 0 60px gold;animation:active-pulse 1s ease-in-out infinite}@keyframes active-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.stage-dot.complete{background:linear-gradient(135deg,#0f0,#0c0);border-color:#0f0;color:#000;box-shadow:0 0 20px #0f0}.slot-machine-creation{width:1100px;max-width:95vw;background:linear-gradient(135deg,#1a0000,#4a0000);border:8px solid #FFD700;border-radius:30px;padding:3rem;box-shadow:0 0 40px #ffd70080,inset 0 0 60px #000c;position:relative;min-height:500px}.slot-machine-creation:before{content:"";position:absolute;inset:-10px;border-radius:35px;background:repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(255,215,0,.1) 20px,rgba(255,215,0,.1) 40px);pointer-events:none;z-index:-1}.creation-label{text-align:center;font-size:3rem;font-weight:700;color:gold;text-shadow:0 0 10px #FFD700,0 0 20px #FFD700,0 0 30px #FF0000;margin-bottom:2rem;font-family:Impact,sans-serif;letter-spacing:5px;animation:label-glow 1.5s ease-in-out infinite}@keyframes label-glow{0%,to{opacity:1}50%{opacity:.8}}.slot-machine-body-wrapper{display:flex;align-items:center;justify-content:center;gap:2rem;padding:0 1rem;min-height:300px}.creation-slot-container{min-height:300px;height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1}.creation-reels{display:flex;gap:1.5rem;justify-content:center;width:660px}.creation-reel{width:200px;height:200px;min-width:200px;min-height:200px;max-width:200px;max-height:200px;background:linear-gradient(180deg,#000,#1a0000);border:5px solid #FFD700;border-radius:20px;overflow:hidden;box-shadow:0 0 30px #ffd70066,inset 0 0 30px #000000e6;position:relative;flex-shrink:0}.creation-reel:before,.creation-reel:after{content:"";position:absolute;left:0;right:0;height:30%;pointer-events:none;z-index:2}.creation-reel:before{top:0;background:linear-gradient(180deg,rgba(0,0,0,.9) 0%,transparent 100%)}.creation-reel:after{bottom:0;background:linear-gradient(0deg,rgba(0,0,0,.9) 0%,transparent 100%)}.creation-reel-strip{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;transition:transform .1s linear}.creation-reel-strip.spinning{animation:spin-vertical .06s linear infinite}@keyframes spin-vertical{0%{transform:translateY(0)}to{transform:translateY(-100px)}}.creation-symbol{font-size:1.8rem;font-weight:700;color:gold;text-shadow:0 0 10px #FFD700,0 0 20px #FFD700;padding:.5rem;text-align:center;font-family:Impact,sans-serif;letter-spacing:1px;white-space:normal;word-break:break-word;min-height:60px;width:190px;max-width:190px;display:flex;align-items:center;justify-content:center;line-height:1.2;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;box-sizing:border-box}.creation-symbol.final{font-size:2rem;animation:symbol-land .3s ease-out;padding:.75rem}.creation-symbol.final[style*=font-size]{font-size:inherit!important}@keyframes symbol-land{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.creation-slot-container.complete .creation-reel{border-color:#0f0;box-shadow:0 0 40px #0f0c,inset 0 0 30px #0f03;animation:reel-success .3s ease-out}@keyframes reel-success{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.result-announcement{margin-top:2rem;text-align:center;animation:result-appear .3s ease-out;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center}@keyframes result-appear{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.result-text{font-size:4rem;font-weight:700;color:#0f0;text-shadow:0 0 20px #00FF00,0 0 40px #00FF00,0 0 60px #00FF00;font-family:Impact,sans-serif;letter-spacing:3px;animation:result-glow 1s ease-in-out infinite;word-break:break-word;line-height:1.2;max-width:900px;width:100%}@keyframes result-glow{0%,to{text-shadow:0 0 20px #00FF00,0 0 40px #00FF00,0 0 60px #00FF00}50%{text-shadow:0 0 30px #00FF00,0 0 60px #00FF00,0 0 90px #00FF00}}.result-sparkle{font-size:3rem;animation:sparkle 1s ease-in-out infinite}@keyframes sparkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.5) rotate(180deg);opacity:.7}}.previous-selections{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;max-width:800px;min-height:120px;align-items:flex-start}.previous-item{background:#0009;border:2px solid #8B0000;border-radius:10px;padding:.75rem 1.5rem;display:flex;gap:.75rem;align-items:center;animation:item-appear .3s ease-out}@keyframes item-appear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.prev-label{color:orange;font-weight:700;text-transform:uppercase;font-size:.9rem;letter-spacing:1px}.prev-value{color:gold;font-weight:700;font-size:1.1rem;text-shadow:0 0 10px #FFD700;word-break:break-word;line-height:1.3}.final-character-display{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;max-width:1000px;width:100%;margin:2rem 0}.final-stat-card{background:linear-gradient(135deg,#1a0000,#2a0000);border:3px solid #FFD700;border-radius:15px;padding:1.5rem;text-align:center;box-shadow:0 0 30px #ffd70066;animation:card-reveal .6s ease-out backwards}.final-stat-card:nth-child(1){animation-delay:.1s}.final-stat-card:nth-child(2){animation-delay:.2s}.final-stat-card:nth-child(3){animation-delay:.3s}.final-stat-card:nth-child(4){animation-delay:.4s}.final-stat-card:nth-child(5){animation-delay:.5s}@keyframes card-reveal{0%{opacity:0;transform:rotateY(90deg)}to{opacity:1;transform:rotateY(0)}}.stat-label{color:orange;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:.5rem}.stat-value{color:gold;font-size:2rem;font-weight:700;text-shadow:0 0 10px #FFD700,0 0 20px #FFD700;font-family:Impact,sans-serif;word-break:break-word;line-height:1.2}.stat-value.large{font-size:2.5rem}.stat-value.small{font-size:1.5rem}.stats-reveal{text-align:center;max-width:800px;width:100%}.stats-reveal h2{color:gold;font-size:2.5rem;margin:0 0 1.5rem;text-shadow:0 0 10px #FFD700,0 0 20px #FFD700;font-family:Impact,sans-serif;letter-spacing:3px}.stats-grid-reveal{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}.stat-reveal{background:linear-gradient(135deg,#1a1a1a,#0a0a0a);border:3px solid #FFD700;border-radius:15px;padding:1.5rem 1rem;text-align:center;box-shadow:0 0 20px #ffd7004d;animation:stat-bounce .6s ease-out backwards}.stat-reveal:nth-child(1){animation-delay:.7s}.stat-reveal:nth-child(2){animation-delay:.8s}.stat-reveal:nth-child(3){animation-delay:.9s}.stat-reveal:nth-child(4){animation-delay:1s}.stat-reveal:nth-child(5){animation-delay:1.1s}.stat-reveal:nth-child(6){animation-delay:1.2s}@keyframes stat-bounce{0%{opacity:0;transform:translateY(-50px)}60%{transform:translateY(10px)}80%{transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.stat-name{color:orange;font-size:1rem;font-weight:700;margin-bottom:.5rem;letter-spacing:1px}.stat-score{color:gold;font-size:2.5rem;font-weight:700;text-shadow:0 0 10px #FFD700,0 0 20px #FFD700;font-family:Impact,sans-serif}.completing-message{font-size:2rem;color:#0f0;text-shadow:0 0 10px #00FF00,0 0 20px #00FF00;font-weight:700;text-align:center;margin-top:2rem;animation:pulse-message 1.5s ease-in-out infinite}@keyframes pulse-message{0%,to{opacity:1}50%{opacity:.5}}.lever-container{display:flex;flex-direction:column;align-items:center;gap:1rem;position:relative;width:100px;flex-shrink:0}.slot-lever{width:40px;height:200px;position:relative;cursor:pointer;transition:all .3s ease}.slot-lever.disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.lever-ball{width:60px;height:60px;background:radial-gradient(circle at 30% 30%,red,#8b0000);border:4px solid #FFD700;border-radius:50%;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 0 20px #f009,0 0 40px #ffd70066,inset -5px -5px 10px #00000080,inset 5px 5px 10px #ff64644d;transition:all .2s ease;z-index:2}.lever-handle{width:12px;height:180px;background:linear-gradient(90deg,#8b0000,#dc143c,#8b0000);border:2px solid #FFD700;border-radius:6px;position:absolute;top:30px;left:50%;transform:translate(-50%);box-shadow:0 4px 10px #00000080,inset 0 0 10px #ffd7004d;transition:all .3s ease}.slot-lever:hover:not(.disabled) .lever-ball{box-shadow:0 0 30px #f00c,0 0 60px #ffd70099,inset -5px -5px 10px #00000080,inset 5px 5px 10px #ff64644d;transform:translate(-50%) scale(1.1)}.slot-lever:hover:not(.disabled) .lever-handle{box-shadow:0 6px 15px #000000b3,inset 0 0 15px #ffd70080}.slot-lever.pulling .lever-ball{transform:translate(-50%) translateY(120px);transition:transform .3s cubic-bezier(.4,0,.2,1)}.slot-lever.pulling .lever-handle{transform:translate(-50%) scaleY(1.3);transition:transform .3s cubic-bezier(.4,0,.2,1)}.pull-prompt{font-size:1.8rem;font-weight:700;color:gold;text-shadow:0 0 10px #FFD700,0 0 20px #FFD700;font-family:Impact,sans-serif;letter-spacing:3px;animation:pulse-prompt 1s ease-in-out infinite;margin-top:1rem;white-space:nowrap}@keyframes pulse-prompt{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}}@media(max-width:900px){.character-creation-slots{padding:1rem;gap:1.5rem}.creation-title{font-size:2.5rem;letter-spacing:3px}.character-name-display{font-size:1.5rem;letter-spacing:2px}.stage-indicator{gap:.5rem;flex-wrap:wrap}.stage-dot{width:40px;height:40px;font-size:1.2rem}.slot-machine-creation{width:100%;max-width:100%;padding:1.5rem;border-width:5px;min-height:auto}.creation-label{font-size:2rem;letter-spacing:3px;margin-bottom:1.5rem}.slot-machine-body-wrapper{flex-direction:column;gap:2rem;padding:0;min-height:auto}.creation-slot-container{width:100%;min-height:auto;height:auto}.creation-reels{flex-direction:column;gap:1rem;width:100%;max-width:100%}.creation-reel{width:100%;max-width:350px;min-width:auto;height:140px;min-height:140px;max-height:140px;margin:0 auto}.creation-symbol{font-size:1.4rem;min-height:50px;padding:.4rem;letter-spacing:.5px;width:100%;max-width:100%}.creation-symbol.final{font-size:1.7rem;padding:.6rem}.lever-container{flex-direction:column;width:100%;max-width:350px;margin:0 auto}.slot-lever,.pull-prompt{display:none}.mobile-spin-button{display:block!important}.result-announcement{min-height:auto}.result-text{font-size:2.5rem;letter-spacing:2px}.result-sparkle{font-size:2rem}.previous-selections{min-height:auto}.stats-reveal h2{font-size:2rem;letter-spacing:2px}.stats-grid-reveal{grid-template-columns:repeat(3,1fr);gap:.75rem}.stat-reveal{padding:1rem .75rem}.stat-name{font-size:.875rem}.stat-score{font-size:2rem}.final-character-display{grid-template-columns:1fr;gap:1rem}.final-stat-card{padding:1rem}.stat-label{font-size:.9rem}.stat-value{font-size:1.75rem}.stat-value.large{font-size:2rem}.stat-value.small{font-size:1.3rem}.completing-message{font-size:1.5rem}}@media(max-width:500px){.creation-title{font-size:2rem;letter-spacing:2px}.character-name-display{font-size:1.3rem;letter-spacing:1px}.stage-indicator{gap:.4rem}.stage-dot{width:35px;height:35px;font-size:1rem}.slot-machine-creation{padding:1rem}.creation-label{font-size:1.8rem;letter-spacing:2px;margin-bottom:1rem}.creation-reels{gap:.75rem}.creation-reel{max-width:300px;height:120px;min-height:120px;max-height:120px}.creation-symbol{font-size:1.2rem;padding:.3rem}.creation-symbol.final{font-size:1.5rem;padding:.5rem}.result-text{font-size:2rem}.result-sparkle{font-size:1.5rem}.mobile-spin-button{padding:1.2rem 2rem!important;font-size:1.5rem!important}.stats-grid-reveal{grid-template-columns:repeat(2,1fr)}.stats-reveal h2{font-size:1.75rem}}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.character-selector-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.character-selector-modal{background:linear-gradient(135deg,#1a0a2e,#16213e);border:3px solid #FFD700;border-radius:20px;padding:2rem;max-width:900px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 0 60px #ffd70066}.selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #FFD700}.selector-header h2{color:gold;font-size:2rem;margin:0;text-shadow:0 0 20px rgba(255,215,0,.5)}.close-button{background:#f443;border:2px solid #ff4444;color:#f44;font-size:1.5rem;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:all .3s ease}.close-button:hover{background:#f44;color:#fff;transform:rotate(90deg)}.selector-content{display:flex;flex-direction:column;gap:2rem}.selector-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:orange}.selector-loading-state p{font-size:1.1rem;margin-top:1rem;color:gold}.no-characters{text-align:center;padding:4rem 2rem;background:#0f34604d;border-radius:15px;border:2px dashed rgba(255,215,0,.3)}.no-characters .empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.8;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.no-characters h3{color:gold;font-size:1.8rem;margin:0 0 .75rem}.no-characters p{font-size:1.1rem;margin:0 0 2rem;color:orange}.characters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-bottom:1rem}.character-card{background:linear-gradient(135deg,#1a0a2ecc,#16213ecc);border:2px solid rgba(255,215,0,.3);border-radius:15px;padding:1rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.character-card:hover{border-color:gold;box-shadow:0 0 30px #ffd7004d;transform:translateY(-5px)}.character-card.selected{border-color:gold;border-width:3px;box-shadow:0 0 40px #ffd70080;background:linear-gradient(135deg,#1a0a2ef2,#16213ef2)}.character-card.selected:before{content:"✓";position:absolute;top:10px;right:10px;background:gold;color:#1a0a2e;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem}.character-portrait{width:100%;height:200px;object-fit:cover;border-radius:10px;margin-bottom:1rem;border:2px solid rgba(255,215,0,.2)}.character-info{text-align:center}.character-info h4{color:gold;margin:.5rem 0;font-size:1.3rem}.character-class{color:orange;font-size:1rem;margin:.3rem 0}.character-level{color:#87ceeb;font-size:.9rem;margin:.3rem 0}.character-stats{display:flex;justify-content:space-around;margin-top:.8rem;padding-top:.8rem;border-top:1px solid rgba(255,215,0,.2);gap:.5rem}.character-stats span{color:orange;font-size:.85rem;white-space:nowrap}.selector-actions{display:flex;flex-direction:column;gap:1rem;padding-top:1rem;border-top:2px solid rgba(255,215,0,.2)}.use-character-button,.create-new-button{padding:1rem 2rem;font-size:1.1rem;font-weight:700;border-radius:12px;cursor:pointer;transition:all .3s ease;border:none;text-transform:uppercase;letter-spacing:1px}.use-character-button{background:linear-gradient(135deg,gold,orange);color:#1a0a2e;box-shadow:0 4px 20px #ffd70066}.use-character-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 30px #ffd70099}.use-character-button:disabled{opacity:.5;cursor:not-allowed}.create-new-button{background:linear-gradient(135deg,#87ceeb4d,#6495ed4d);color:#87ceeb;border:2px solid #87CEEB}.create-new-button.primary{background:linear-gradient(135deg,gold,orange);color:#1a0a2e;border:none;box-shadow:0 4px 20px #ffd70066}.create-new-button.primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 30px #ffd70099}.create-new-button:hover{background:linear-gradient(135deg,#87ceeb80,#6495ed80);transform:translateY(-2px);box-shadow:0 6px 30px #87ceeb66}.loading-spinner-large{width:60px;height:60px;border:4px solid rgba(255,215,0,.2);border-top:4px solid #FFD700;border-radius:50%;animation:spin 1s linear infinite}.divider-text{text-align:center;color:#ffd70080;font-size:.9rem;font-weight:700;position:relative;margin:.5rem 0}.divider-text:before,.divider-text:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:#ffd7004d}.divider-text:before{left:0}.divider-text:after{right:0}.browse-sessions{min-height:100vh;background:linear-gradient(135deg,#1a0033,#0a0015);color:#fff;padding:2rem}.browse-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem}.browse-title{font-size:2.5rem;background:linear-gradient(45deg,gold,#ff6b6b,gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 20px rgba(255,215,0,.3);flex:1;text-align:center}.back-button,.refresh-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#4a0080,#1a0033);border:2px solid #ffd700;border-radius:8px;color:gold;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:1rem}.back-button:hover,.refresh-button:hover{transform:translateY(-2px);box-shadow:0 5px 20px #ffd70066;background:linear-gradient(135deg,#6a00a0,#2a0043)}.refresh-button:disabled{opacity:.5;cursor:not-allowed;animation:spin 1s linear infinite}.browse-content{max-width:1400px;margin:0 auto}.loading-message{text-align:center;padding:4rem 2rem}.spinner{width:50px;height:50px;border:4px solid rgba(255,215,0,.2);border-top-color:gold;border-radius:50%;margin:0 auto 1rem;animation:spin 1s linear infinite}.no-sessions{text-align:center;padding:4rem 2rem}.no-sessions-icon{font-size:5rem;margin-bottom:1rem;opacity:.5}.no-sessions h2{color:gold;margin-bottom:.5rem}.no-sessions p{color:#fff9;font-size:1.1rem}.sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.session-card{background:linear-gradient(135deg,#4a00804d,#1a003380);border:2px solid rgba(255,215,0,.3);border-radius:12px;overflow:hidden;transition:all .3s ease;box-shadow:0 4px 15px #0000004d}.session-card:hover{transform:translateY(-5px);border-color:gold;box-shadow:0 8px 30px #ffd70066}.session-image{width:100%;height:200px;overflow:hidden;background:#0000004d}.session-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.session-card:hover .session-image img{transform:scale(1.05)}.session-info{padding:1.5rem}.session-name{font-size:1.5rem;color:gold;margin-bottom:.5rem;text-shadow:0 2px 10px rgba(255,215,0,.3)}.session-description{color:#fffc;margin-bottom:1rem;font-size:.95rem;line-height:1.4}.session-scene{background:#0000004d;padding:.75rem;border-radius:6px;margin-bottom:1rem}.scene-label{color:#ff6b6b;font-weight:700;font-size:.85rem;display:block;margin-bottom:.25rem}.scene-text{color:#ffffffb3;font-size:.9rem;line-height:1.3;font-style:italic}.session-meta{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.meta-item{font-size:.9rem;color:#fff9;display:flex;align-items:center;gap:.25rem}.spectate-button{width:100%;padding:.75rem;background:linear-gradient(135deg,#ff6b6b,#c92a2a);border:2px solid #ff6b6b;border-radius:8px;color:#fff;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease}.spectate-button:hover{transform:translateY(-2px);box-shadow:0 5px 20px #ff6b6b66;background:linear-gradient(135deg,#ff8b8b,#e94a4a)}@media(max-width:900px){.browse-sessions{padding:1rem}.browse-header{flex-direction:column;margin-bottom:1.5rem}.browse-title{font-size:2rem}.back-button,.refresh-button{width:100%;padding:.875rem 1.5rem}.sessions-grid{grid-template-columns:1fr;gap:1.5rem}.session-card{border-width:2px}.session-image{height:180px}.session-info{padding:1.25rem}.session-name{font-size:1.3rem}.session-description{font-size:.9rem}.scene-text{font-size:.85rem}.session-meta{gap:.75rem}.meta-item{font-size:.85rem}.spectate-button{padding:.875rem;font-size:.95rem}.no-sessions-icon{font-size:4rem}.no-sessions h2{font-size:1.5rem}.no-sessions p{font-size:1rem}}@media(max-width:500px){.browse-title{font-size:1.75rem}.session-image{height:150px}.session-name{font-size:1.2rem}}.user-profile-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.user-profile-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #FFD700;border-radius:15px;width:90%;max-width:900px;max-height:85vh;overflow:hidden;box-shadow:0 0 40px #ffd70066;display:flex;flex-direction:column}.profile-header{background:linear-gradient(135deg,#0f3460,#16213e);padding:1.5rem;border-bottom:2px solid #FFD700;display:flex;justify-content:space-between;align-items:center}.profile-user-info{display:flex;align-items:center;gap:1rem}.profile-avatar{width:60px;height:60px;border-radius:50%;border:3px solid #FFD700}.profile-header h2{color:gold;margin:0;font-size:1.5rem}.profile-header p{color:orange;margin:.25rem 0 0;font-size:.9rem}.close-button{background:#dc143c;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .3s ease}.close-button:hover{background:#ff1744;transform:rotate(90deg)}.profile-tabs{display:flex;background:#16213e;border-bottom:2px solid #FFD700}.tab-button{flex:1;padding:1rem;background:transparent;border:none;color:orange;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;border-bottom:3px solid transparent}.tab-button:hover{background:#ffd7001a}.tab-button.active{color:gold;border-bottom:3px solid #FFD700;background:#ffd7001a}.tab-button{position:relative}.notification-badge{position:absolute;top:8px;right:8px;background:#dc143c;color:#fff;font-size:.7rem;font-weight:700;padding:.2rem .5rem;border-radius:10px;min-width:20px;text-align:center;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 5px #dc143c80}50%{transform:scale(1.1);box-shadow:0 0 15px #dc143ccc}}.profile-content{flex:1;overflow-y:auto;padding:1.5rem}.profile-content h3{color:gold;margin-top:0;margin-bottom:1rem;font-size:1.3rem}.empty-message{color:orange;text-align:center;padding:2rem;font-size:1.1rem}.characters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.character-card{background:#0f346099;border:2px solid #FFD700;border-radius:10px;padding:1rem;text-align:center;transition:all .3s ease}.character-card:hover{transform:translateY(-5px);box-shadow:0 5px 20px #ffd7004d}.character-portrait{width:100%;height:150px;object-fit:cover;border-radius:8px;margin-bottom:.75rem;border:2px solid #FFA500}.character-card h4{color:gold;margin:.5rem 0 .25rem;font-size:1.1rem}.character-class{color:orange;margin:.25rem 0;font-size:.9rem}.character-level{color:#4caf50;margin:.5rem 0;font-weight:700}.character-actions{display:flex;gap:.5rem;margin-top:.75rem}.character-actions button{flex:1;padding:.5rem;border:none;border-radius:5px;font-weight:700;cursor:pointer;transition:all .2s ease}.character-actions button:first-child{background:#4caf50;color:#fff}.character-actions button:first-child:hover{background:#45a049}.delete-btn{background:#dc143c!important;color:#fff!important}.delete-btn:hover{background:#ff1744!important}.adventures-list{display:flex;flex-direction:column;gap:1rem}.adventure-item{background:#0f346099;border:2px solid #FFD700;border-radius:10px;padding:1.5rem;transition:all .3s ease}.adventure-item:hover{transform:translate(5px);box-shadow:0 5px 20px #ffd7004d}.adventure-item h4{color:gold;margin:0 0 .5rem;font-size:1.2rem}.adventure-item p{color:orange;margin:.5rem 0}.adventure-meta{color:#888!important;font-size:.85rem!important;margin-top:.75rem!important}.adventure-item button{margin-top:1rem;padding:.75rem 1.5rem;background:#4caf50;color:#fff;border:none;border-radius:5px;font-weight:700;cursor:pointer;transition:all .2s ease}.adventure-item button:hover{background:#45a049;transform:scale(1.05)}.friends-section{display:flex;flex-direction:column;gap:1.5rem}.friends-search input{width:100%;padding:.75rem;background:#0f346099;border:2px solid #FFD700;border-radius:8px;color:gold;font-size:1rem;margin-top:.5rem}.friends-search input::placeholder{color:orange;opacity:.6}.search-results{background:#0f3460cc;border:2px solid #FFD700;border-radius:8px;margin-top:.5rem;max-height:200px;overflow-y:auto}.search-result-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-bottom:1px solid rgba(255,215,0,.2);transition:background .2s ease}.search-result-item:hover{background:#ffd7001a}.search-result-item:last-child{border-bottom:none}.search-result-item img{width:40px;height:40px;border-radius:50%;border:2px solid #FFD700}.search-result-item span{flex:1;color:orange;font-weight:700}.search-result-item button{padding:.5rem 1rem;background:#4caf50;color:#fff;border:none;border-radius:5px;font-weight:700;cursor:pointer;transition:all .2s ease}.search-result-item button:hover{background:#45a049}.pending-requests,.friends-list{background:#0f346066;border-radius:10px;padding:1rem}.friend-request-item,.friend-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-bottom:1px solid rgba(255,215,0,.2)}.friend-request-item:last-child,.friend-item:last-child{border-bottom:none}.friend-request-item img,.friend-item img{width:45px;height:45px;border-radius:50%;border:2px solid #FFD700}.friend-request-item span,.friend-item span{flex:1;color:orange;font-weight:700}.friend-request-item div{display:flex;gap:.5rem}.friend-request-item button{padding:.5rem 1rem;border:none;border-radius:5px;font-weight:700;cursor:pointer;transition:all .2s ease}.friend-request-item button:first-child{background:#4caf50;color:#fff}.friend-request-item button:first-child:hover{background:#45a049}.friend-request-item button:last-child{background:#dc143c;color:#fff}.friend-request-item button:last-child:hover{background:#ff1744}.friends-adventures{background:#0f346066;border-radius:10px;padding:1rem}.friend-status-badge{padding:.5rem 1rem;border-radius:8px;font-size:.85rem;font-weight:700;white-space:nowrap;background:#32cd3233;border:2px solid #32CD32;color:#32cd32}.friend-status-badge.pending{background:#ffa50033;border:2px solid #FFA500;color:orange}.friend-status-badge.sent{background:#87ceeb33;border:2px solid #87CEEB;color:#87ceeb}.friend-item{transition:all .3s ease;padding:1rem!important;background:#ffd7000d;border-radius:8px;margin-bottom:.5rem}.friend-item:hover{background:#ffd7001a;transform:translate(3px)}.friend-info{flex:1;display:flex;flex-direction:column}.friend-name{color:gold;font-weight:700;font-size:1rem}.remove-friend-btn{padding:.5rem 1rem;background:#dc143c33;border:2px solid #DC143C;color:#dc143c;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:700;transition:all .3s ease}.remove-friend-btn:hover{background:#dc143c;color:#fff}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:orange}.loading-spinner-large{width:60px;height:60px;border:4px solid rgba(255,215,0,.2);border-top:4px solid #FFD700;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-state p{font-size:1rem;margin:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:#0f34604d;border-radius:15px;border:2px dashed rgba(255,215,0,.3)}.empty-state-icon{font-size:4rem;margin-bottom:1rem;opacity:.7}.empty-state h4{color:gold;font-size:1.5rem;margin:0 0 .5rem}.empty-state p{color:orange;font-size:1.1rem;margin:0 0 1.5rem;max-width:400px}.empty-state-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.cta-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,gold,orange);color:#1a1a2e;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ffd7004d}.cta-button:hover{transform:translateY(-3px);box-shadow:0 6px 25px #ffd70080}.cta-button.secondary{background:linear-gradient(135deg,#87ceeb4d,#6495ed4d);color:#87ceeb;border:2px solid #87CEEB}.cta-button.secondary:hover{background:linear-gradient(135deg,#87ceeb80,#6495ed80)}.adventure-actions{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.adventure-actions .primary-action{flex:1;min-width:150px;padding:.75rem 1.5rem;background:#4caf50;color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:all .3s ease}.adventure-actions .primary-action:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 4px 15px #4caf5066}.adventure-actions .secondary-action{padding:.75rem 1.25rem;background:#87ceeb33;color:#87ceeb;border:2px solid #87CEEB;border-radius:8px;font-weight:700;cursor:pointer;transition:all .3s ease}.adventure-actions .secondary-action:hover{background:#87ceeb4d;transform:translateY(-2px);box-shadow:0 4px 15px #87ceeb4d}.empty-state.small{padding:2.5rem 1.5rem}.empty-state.small .empty-state-icon{font-size:2.5rem;margin-bottom:.75rem}.empty-state.small h4{font-size:1.2rem;margin-bottom:.5rem}.empty-state.small p{font-size:.95rem;margin-bottom:0}.learn-more-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#1a0033,#0a0a1f,#1a0033);overflow-y:auto;z-index:1000;padding:2rem}.learn-more-content{max-width:1200px;margin:0 auto;position:relative}.close-button{position:absolute;top:0;right:0;background:#ffffff1a;border:2px solid #FFD700;color:gold;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .3s ease;z-index:10}.close-button:hover{background:gold;color:#1a0033;transform:rotate(90deg)}.learn-more-header{text-align:center;margin-bottom:3rem;padding-top:1rem}.learn-more-title{font-size:3rem;font-weight:900;background:linear-gradient(135deg,gold,orange,gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem;text-shadow:0 0 40px rgba(255,215,0,.3)}.learn-more-subtitle{font-size:1.2rem;color:orange;opacity:.9}.learn-more-tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.tab{padding:.75rem 1.5rem;background:#ffffff0d;border:2px solid rgba(255,215,0,.3);border-radius:12px;color:orange;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.tab:hover{background:#ffd7001a;border-color:gold;transform:translateY(-2px)}.tab.active{background:linear-gradient(135deg,gold,orange);color:#1a0033;border-color:gold;box-shadow:0 4px 20px #ffd70066}.learn-more-body{background:#0000004d;border:2px solid rgba(255,215,0,.2);border-radius:16px;padding:2rem;min-height:500px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tab-content{color:#fff;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.content-section{margin-bottom:3rem}.content-section h2{font-size:2rem;color:gold;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.content-section p{font-size:1.1rem;line-height:1.8;color:#ffffffe6;margin-bottom:1rem}.content-section strong{color:orange}.architecture-diagram{background:#0006;border:2px solid rgba(255,215,0,.3);border-radius:12px;padding:2rem;margin:2rem 0}.arch-layer{display:flex;justify-content:center;gap:1rem;margin:1rem 0}.arch-layer.three-col{flex-wrap:wrap}.arch-box{background:#ffffff0d;border:2px solid;border-radius:12px;padding:1rem;min-width:180px;text-align:center;display:flex;flex-direction:column;gap:.5rem}.arch-box.frontend{border-color:#61dafb}.arch-box.workers{border-color:#f38020}.arch-box.ai{border-color:#a78bfa}.arch-box.durable{border-color:#fbbf24}.arch-box.kv{border-color:#10b981}.arch-box.database{border-color:#3b82f6}.arch-icon{font-size:2rem}.arch-box strong{color:#fff;font-size:1rem}.arch-box small{color:#fff9;font-size:.85rem}.arch-arrow{text-align:center;color:gold;font-weight:600;margin:.5rem 0}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:2rem 0}.feature-item{background:#ffd7000d;border:2px solid rgba(255,215,0,.3);border-radius:12px;padding:1.5rem}.feature-item h3{color:gold;margin-bottom:.75rem;font-size:1.3rem}.feature-item p{font-size:1rem;line-height:1.6;color:#ffffffd9}.benefit-card{background:#0000004d;border:2px solid rgba(255,215,0,.3);border-radius:12px;padding:2rem;margin-bottom:2rem}.benefit-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.benefit-icon{font-size:2.5rem}.benefit-header h3{color:gold;font-size:1.5rem;margin:0}.benefit-list{list-style:none;padding:0;margin:0}.benefit-list li{padding:.75rem 0 .75rem 1.5rem;position:relative;line-height:1.6;color:#ffffffe6}.benefit-list li:before{content:"✓";position:absolute;left:0;color:#10b981;font-weight:700}.comparison-table{margin:1.5rem 0}.comparison-row{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#ffffff0d;margin-bottom:.5rem;border-radius:8px}.comparison-label{font-weight:600;color:#fff}.comparison-value{font-size:1.5rem;font-weight:700}.comparison-value.expensive{color:#ef4444}.comparison-value.cheap{color:#10b981}.comparison-details{color:#fff9;font-size:.9rem;margin-bottom:1rem;padding-left:1rem}.comparison-note{background:#ffd7001a;border-left:4px solid #FFD700;padding:1rem;margin-top:1rem;border-radius:4px}.tech-stack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin:2rem 0}.tech-card{background:#ffffff0d;border:2px solid rgba(255,215,0,.3);border-radius:12px;padding:1.5rem}.tech-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.tech-icon{font-size:2rem}.tech-header h3{color:gold;font-size:1.3rem;margin:0}.tech-description{color:#ffffffd9;line-height:1.6;margin-bottom:1rem}.tech-features{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background:#ffd70033;color:orange;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin:1.5rem 0}.library-item{background:#ffffff0d;border:1px solid rgba(255,215,0,.2);border-radius:8px;padding:1rem}.library-item strong{color:gold;display:block;margin-bottom:.5rem}.library-item p{color:#ffffffb3;font-size:.9rem;margin:0}.code-example{background:#0a0a1f;border:2px solid rgba(255,215,0,.3);border-radius:8px;margin:1rem 0;overflow:hidden}.code-header{background:#ffd70033;color:gold;padding:.5rem 1rem;font-weight:600;font-size:.9rem}.code-example pre{margin:0;padding:1rem;overflow-x:auto}.code-example code{color:#10b981;font-family:Courier New,monospace;font-size:.9rem;line-height:1.6}.resource-links{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.resource-links a{background:#ffd7001a;border:2px solid rgba(255,215,0,.3);border-radius:8px;padding:1rem;color:gold;text-decoration:none;font-weight:600;transition:all .3s ease;display:block}.resource-links a:hover{background:#ffd70033;border-color:gold;transform:translate(8px)}.learn-more-footer{margin-top:3rem;text-align:center;padding-bottom:2rem}.back-button{background:linear-gradient(135deg,gold,orange);border:none;color:#1a0033;padding:1rem 2rem;font-size:1.1rem;font-weight:700;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ffd7004d}.back-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ffd70080}@media(max-width:768px){.learn-more-title{font-size:2rem}.learn-more-subtitle{font-size:1rem}.arch-layer{flex-direction:column;align-items:center}.arch-box{min-width:100%}.feature-grid,.tech-stack-grid{grid-template-columns:1fr}}.app{min-height:100vh;position:relative}.vegas-background{position:fixed;inset:0;background:radial-gradient(circle at 20% 30%,rgba(139,0,0,.3) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,215,0,.2) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(255,0,0,.15) 0%,transparent 50%),linear-gradient(180deg,#000,#0a0000,#1a0000,#0a0000,#000);z-index:-1}.neon-lights{position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,215,0,.03) 2px,rgba(255,215,0,.03) 4px),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(255,0,0,.03) 2px,rgba(255,0,0,.03) 4px);animation:scan 8s linear infinite}@keyframes scan{0%{background-position:0 0,0 0}to{background-position:0 100%,100% 0}}.home-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.auth-header{position:absolute;top:1.5rem;right:1.5rem;z-index:100}.login-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:2px solid #FFD700;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #4caf5066}.login-button:hover{background:linear-gradient(135deg,#45a049,#4caf50);transform:translateY(-2px);box-shadow:0 6px 20px #4caf5099}.user-menu{display:flex;gap:.75rem;align-items:center}.user-button{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:#0f3460cc;border:2px solid #FFD700;border-radius:10px;color:gold;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.user-button:hover{background:#0f3460;transform:translateY(-2px);box-shadow:0 4px 15px #ffd70066}.user-button img{width:35px;height:35px;border-radius:50%;border:2px solid #FFD700}.header-notification-badge{position:absolute;top:-5px;right:-5px;background:#dc143c;color:#fff;font-size:.7rem;font-weight:700;padding:.2rem .5rem;border-radius:10px;min-width:20px;text-align:center;border:2px solid #FFD700;animation:pulse-header 2s ease-in-out infinite}@keyframes pulse-header{0%,to{transform:scale(1);box-shadow:0 0 5px #dc143c80}50%{transform:scale(1.15);box-shadow:0 0 20px #dc143ccc}}.logout-button{padding:.5rem 1rem;background:#dc143c;color:#fff;border:2px solid #FFD700;border-radius:10px;font-weight:700;cursor:pointer;transition:all .3s ease}.logout-button:hover{background:#ff1744;transform:translateY(-2px);box-shadow:0 4px 15px #dc143c66}.title-container{text-align:center;margin-bottom:4rem}.main-title{display:flex;flex-direction:column;gap:0;margin:0}.title-line-1,.title-line-2,.title-line-3{font-size:6rem;font-weight:700;font-family:Impact,sans-serif;letter-spacing:10px;line-height:1;margin:0}.title-line-1{color:gold;text-shadow:0 0 10px #FFD700,0 0 20px #FFD700,0 0 40px #FFD700,0 0 80px #FF0000,0 0 120px #FF0000;animation:neon-flicker-title 4s ease-in-out infinite}.title-line-2{color:red;text-shadow:0 0 10px #FF0000,0 0 20px #FF0000,0 0 40px #FF0000,0 0 80px #FFD700;animation:neon-flicker-title 4s ease-in-out infinite .5s}.title-line-3{color:#0f0;text-shadow:0 0 10px #00FF00,0 0 20px #00FF00,0 0 40px #00FF00,0 0 80px #FFD700;animation:neon-flicker-title 4s ease-in-out infinite 1s}@keyframes neon-flicker-title{0%,18%,22%,25%,53%,57%,to{opacity:1}20%,24%,55%{opacity:.7}}.subtitle{font-size:1.8rem;color:gold;text-shadow:0 0 10px #FFD700;margin-top:2rem;letter-spacing:3px;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{text-shadow:0 0 10px #FFD700}50%{text-shadow:0 0 20px #FFD700,0 0 30px #FFD700}}.menu-container{display:flex;gap:2rem;margin-bottom:4rem}.menu-button{width:300px;height:200px;background:linear-gradient(135deg,#1a0000,#4a0000);border:5px solid #FFD700;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 0 30px #ffd7004d,inset 0 0 50px #00000080;position:relative;overflow:hidden}.menu-button:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,215,0,.1),transparent);transform:rotate(45deg);animation:shine 3s infinite}@keyframes shine{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}.menu-button:hover{transform:translateY(-10px) scale(1.05);box-shadow:0 0 50px #ffd70099,0 20px 40px #00000080,inset 0 0 50px #00000080}.menu-button.create{border-color:#0f0}.menu-button.create:hover{box-shadow:0 0 50px #0f09,0 20px 40px #00000080}.menu-button.join{border-color:#9370db}.menu-button.join:hover{box-shadow:0 0 50px #9370db99,0 20px 40px #00000080}.menu-button.browse{border-color:#ff6b6b}.menu-button.browse:hover{box-shadow:0 0 50px #ff6b6b99,0 20px 40px #00000080}.button-icon{font-size:4rem;filter:drop-shadow(0 0 20px currentColor);animation:bounce-icon 2s ease-in-out infinite}@keyframes bounce-icon{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.button-text{font-size:1.8rem;font-weight:700;color:gold;text-shadow:0 0 10px #FFD700;font-family:Impact,sans-serif;letter-spacing:2px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1200px}.feature-card{background:linear-gradient(135deg,#1a0000,#2a0000);border:3px solid #8B0000;border-radius:15px;padding:2rem;text-align:center;transition:all .3s ease;box-shadow:0 0 20px #00000080}.feature-card:hover{border-color:gold;box-shadow:0 0 30px #ffd70066;transform:translateY(-5px)}.feature-icon{font-size:3rem;margin-bottom:1rem;filter:drop-shadow(0 0 10px #FFD700)}.feature-card h3{color:gold;font-size:1.5rem;margin:0 0 1rem;text-shadow:0 0 10px #FFD700;font-family:Impact,sans-serif}.feature-card p{color:#fff;font-size:1rem;line-height:1.5;margin:0}.landing-footer{margin-top:4rem;padding:2rem;text-align:center;border-top:2px solid rgba(255,215,0,.3)}.landing-footer p{color:#ffffffb3;font-size:1rem;margin:0;font-weight:500}.cloudflare-text{color:#f60;font-weight:700;text-shadow:0 0 10px rgba(255,102,0,.5);transition:all .3s ease;text-decoration:none;cursor:pointer}.cloudflare-text:hover{color:gold;text-shadow:0 0 15px rgba(255,215,0,.8);text-decoration:underline}.form-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.form-title{font-size:4rem;font-weight:700;color:gold;text-shadow:0 0 10px #FFD700,0 0 20px #FFD700,0 0 40px #FF0000;margin:0 0 3rem;font-family:Impact,sans-serif;letter-spacing:5px}.form-container{background:linear-gradient(135deg,#1a0000,#2a0000);border:5px solid #FFD700;border-radius:20px;padding:3rem;max-width:600px;width:100%;box-shadow:0 0 40px #ffd70066,inset 0 0 50px #00000080}.form-group{margin-bottom:2rem}.form-group label{display:block;color:gold;font-size:1.3rem;font-weight:700;margin-bottom:.75rem;text-shadow:0 0 10px #FFD700;text-transform:uppercase;letter-spacing:2px}.form-group input,.form-group textarea{width:100%;background:#0009;border:3px solid #8B0000;border-radius:10px;padding:1rem;color:#fff;font-size:1.1rem;font-family:inherit;transition:all .3s ease;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:gold;box-shadow:0 0 20px #ffd70066}.form-group textarea{resize:vertical;min-height:120px}.divider{text-align:center;color:orange;font-size:1.2rem;font-weight:700;margin:1.5rem 0;position:relative}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:40%;height:2px;background:linear-gradient(to right,transparent,#FFA500,transparent)}.divider:before{left:0}.divider:after{right:0}.class-select{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.class-button{background:linear-gradient(135deg,#1a1a1a,#0a0a0a);border:3px solid #8B0000;border-radius:10px;padding:1.5rem;color:gold;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;text-shadow:0 0 5px #FFD700;font-family:Impact,sans-serif;letter-spacing:1px}.class-button:hover{border-color:gold;box-shadow:0 0 20px #ffd70066;transform:scale(1.05)}.class-button.active{border-color:#0f0;background:linear-gradient(135deg,#030,#001a00);box-shadow:0 0 30px #0f09;color:#0f0;text-shadow:0 0 10px #00FF00}.form-buttons{display:flex;gap:1rem;margin-top:2rem}.form-button{flex:1;padding:1.25rem 2rem;font-size:1.3rem;font-weight:700;border:3px solid #FFD700;border-radius:10px;cursor:pointer;transition:all .3s ease;font-family:Impact,sans-serif;letter-spacing:2px;box-shadow:0 0 20px #ffd7004d}.form-button.primary{background:linear-gradient(135deg,gold,orange);color:#000}.form-button.primary:hover:not(:disabled){background:linear-gradient(135deg,orange,#ff8c00);box-shadow:0 0 40px #ffd700cc;transform:translateY(-3px)}.form-button.secondary{background:linear-gradient(135deg,#8b0000,#dc143c);color:#fff}.form-button.secondary:hover:not(:disabled){background:linear-gradient(135deg,#dc143c,red);box-shadow:0 0 30px #dc143c99;transform:translateY(-3px)}.form-button:disabled{opacity:.6;cursor:not-allowed}.form-button.full-width{width:100%}.adventure-generating{position:absolute;inset:0;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;background:transparent;z-index:30;pointer-events:none}.curtain-container{position:absolute;inset:0;pointer-events:none;z-index:10;overflow:hidden}.curtain-container-absolute{position:absolute;inset:0;pointer-events:none;z-index:20;overflow:hidden}.curtain{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(90deg,#8b0000,#a00000,#8b0000,#700000,#8b0000,#a00000,#8b0000,#700000,#8b0000,#a00000,#8b0000);background-size:200% 100%;box-shadow:inset 0 0 50px #00000080,inset 0 0 100px #0000004d;transform:scaleX(1);transition:none}.curtain.open{animation:curtainOpen 3s ease-in-out forwards}.curtain-left{left:0;border-right:3px solid #FFD700;transform-origin:left}.curtain-right{right:0;border-left:3px solid #FFD700;transform-origin:right}@keyframes curtainOpen{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.generating-animation{display:flex;flex-direction:column;align-items:center;gap:2rem;z-index:30;position:relative;pointer-events:none}.roulette-container{position:relative;width:350px;height:350px;display:flex;align-items:center;justify-content:center;z-index:30;pointer-events:auto}.roulette-wheel{width:320px;height:320px;border-radius:50%;border:12px solid #FFD700;background:radial-gradient(circle at center,#2a0000,#1a0000 40%,#0a0000);position:relative;animation:rouletteDeceleration 3.5s cubic-bezier(.17,.67,.4,.98) forwards;box-shadow:0 0 50px #ffd700cc,inset 0 0 60px #000000e6,0 10px 40px #000c}.roulette-wheel.dissolving{animation:wheelGlowAndDissolve 2s ease-in-out forwards}.roulette-wheel.dissolving .roulette-section{animation:particleDissolve 2s ease-out forwards;animation-delay:calc(var(--index) * .05s)}@keyframes rouletteDeceleration{0%{transform:rotate(0)}to{transform:rotate(2880deg)}}@keyframes wheelGlowAndDissolve{0%{transform:rotate(2880deg);box-shadow:0 0 50px #ffd700cc,inset 0 0 60px #000000e6,0 10px 40px #000c}30%{transform:rotate(2880deg);box-shadow:0 0 100px gold,0 0 150px #ffa500cc,0 0 200px #f009,inset 0 0 60px #ffd7004d}50%{transform:rotate(2880deg) scale(1.1);box-shadow:0 0 120px gold,0 0 180px orange,0 0 240px #f00c,inset 0 0 80px #ffd70080}to{transform:rotate(2880deg) scale(.5);opacity:0;box-shadow:0 0 200px #ffd70000,0 0 250px #ffa50000,0 0 300px #f000}}@keyframes particleDissolve{0%{transform:rotate(calc(var(--index) * 15deg)) translateY(-120px) scale(1);opacity:1;filter:drop-shadow(0 0 8px rgba(255,215,0,.6))}60%{transform:rotate(calc(var(--index) * 15deg)) translateY(-120px) scale(1.3);opacity:1;filter:drop-shadow(0 0 20px rgba(255,215,0,1)) brightness(1.5)}to{transform:rotate(calc(var(--index) * 15deg + 180deg)) translateY(-200px) scale(.3);opacity:0;filter:drop-shadow(0 0 30px rgba(255,215,0,0)) brightness(2)}}.roulette-wheel:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 40px);height:calc(100% - 40px);border-radius:50%;border:3px solid rgba(255,215,0,.3);pointer-events:none}.roulette-wheel:before{content:"🎰";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,gold,orange);box-shadow:0 0 30px #ffd700e6,inset 0 0 20px #0006;z-index:100;display:flex;align-items:center;justify-content:center;font-size:2.5rem;border:3px solid #8B0000}.roulette-section{position:absolute;top:50%;left:50%;width:50px;height:50px;margin:-25px 0 0 -25px;font-size:2.5rem;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 8px rgba(255,215,0,.6));transform-origin:25px 25px;transform:rotate(calc(var(--index) * 15deg)) translateY(-120px)}@keyframes rouletteSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.roulette-pointer{position:absolute;top:-30px;left:50%;transform:translate(-50%);font-size:3rem;color:gold;text-shadow:0 0 20px #FFD700,0 0 40px #FFD700;filter:drop-shadow(0 5px 10px rgba(0,0,0,.5));animation:pointerBounce .5s ease-in-out infinite;z-index:5;transition:opacity .3s ease-out;pointer-events:auto}.roulette-pointer.hidden{animation:none!important;opacity:0;transition:opacity .2s ease-out}@keyframes pointerBounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(5px)}}.generating-text{text-align:center;transition:opacity .3s ease-out;pointer-events:auto}.generating-text.hidden{opacity:0;transition:opacity .2s ease-out}.generating-text.hidden .generating-title,.generating-text.hidden .generating-subtitle{animation:none!important;opacity:0;transition:opacity .2s ease-out}.generating-title{font-size:1.8rem;font-weight:700;color:gold;text-shadow:0 0 10px #FFD700,0 0 20px #FFD700,0 0 30px #FF0000;margin-bottom:1rem;animation:textPulse 2s ease-in-out infinite;font-family:Impact,sans-serif;letter-spacing:2px}.generating-subtitle{font-size:1.1rem;color:orange;text-shadow:0 0 10px rgba(255,165,0,.5);animation:subtitleFade 2s ease-in-out infinite}@keyframes textPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes subtitleFade{0%,to{opacity:.7}50%{opacity:1}}.form-fields-revealed{opacity:1;position:relative;z-index:1}@media(max-width:900px){.home-screen{padding:5rem 1rem 1rem}.auth-header{top:1rem;right:1rem;left:1rem;display:flex;justify-content:center}.login-button{font-size:.9rem;padding:.6rem 1.2rem}.user-menu{flex-wrap:wrap;justify-content:center;gap:.5rem}.user-button{font-size:.9rem;padding:.4rem .8rem}.user-button img{width:30px;height:30px}.logout-button{font-size:.9rem;padding:.4rem .8rem}.title-container{margin-bottom:2rem}.title-line-1,.title-line-2,.title-line-3{font-size:3rem;letter-spacing:5px}.subtitle{font-size:1.2rem;margin-top:1rem;letter-spacing:2px}.menu-container{flex-direction:column;align-items:center;gap:1.5rem;margin-bottom:2rem}.menu-button{width:100%;max-width:350px;height:150px}.button-icon{font-size:3rem}.button-text{font-size:1.4rem}.features{grid-template-columns:1fr;gap:1.5rem}.feature-card{padding:1.5rem}.feature-icon{font-size:2.5rem}.feature-card h3{font-size:1.3rem}.feature-card p{font-size:.95rem}.landing-footer{margin-top:3rem;padding:1.5rem 1rem}.landing-footer p{font-size:.9rem}.form-screen{padding:1rem}.form-title{font-size:2.5rem;margin:0 0 2rem;letter-spacing:3px}.form-container{padding:1.5rem;max-width:100%}.form-group label{font-size:1.1rem}.form-group input,.form-group textarea{font-size:1rem;padding:.875rem}.form-buttons{flex-direction:column;gap:.75rem}.form-button{width:100%;padding:1rem 1.5rem;font-size:1.1rem}.class-select{grid-template-columns:1fr}.adventure-generating{min-height:300px;padding:2rem 1rem}.roulette-container{width:280px;height:280px}.roulette-wheel{width:250px;height:250px;border:8px solid #FFD700;animation:rouletteDeceleration 3.5s cubic-bezier(.17,.67,.4,.98) forwards}.roulette-wheel:before{width:60px;height:60px;font-size:2rem}.roulette-wheel:after{width:calc(100% - 30px);height:calc(100% - 30px)}.roulette-section{font-size:2rem;width:40px;height:40px;margin:-20px 0 0 -20px;transform:rotate(calc(var(--index) * 15deg)) translateY(-92px)}.roulette-pointer{font-size:2.5rem;top:-25px}.generating-title{font-size:1.4rem}.generating-subtitle{font-size:1rem}}@media(max-width:500px){.home-screen{padding-top:4.5rem}.auth-header{top:.75rem;right:.75rem;left:.75rem}.login-button{font-size:.85rem;padding:.5rem 1rem;gap:.4rem}.login-button span:first-child{font-size:1rem}.user-button{font-size:.85rem;padding:.35rem .7rem;gap:.5rem}.user-button img{width:28px;height:28px}.logout-button{font-size:.85rem;padding:.35rem .7rem}.title-line-1,.title-line-2,.title-line-3{font-size:2.5rem;letter-spacing:3px}.subtitle{font-size:1rem;letter-spacing:1px}.menu-button{height:130px}.button-icon{font-size:2.5rem}.button-text{font-size:1.2rem}.form-title{font-size:2rem;letter-spacing:2px}}
