.auth-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:80vh;text-align:center}.google-btn{background-color:#4285f4;color:#fff;border:none;margin-top:2rem;display:flex;align-items:center;gap:10px}.google-btn:hover{background-color:#357ae8}.lobby-container{max-width:800px;margin:2rem auto;background:var(--color-surface);padding:2rem;border-radius:var(--border-radius);border:1px solid var(--color-border)}.lobby-list{display:grid;gap:1rem;margin:2rem 0}.lobby-item{background:var(--color-background);padding:1rem;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--color-border);border-radius:var(--border-radius)}.player-list{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0}.player-chip{background:var(--color-primary-dark);padding:.5rem 1rem;border-radius:20px;display:flex;align-items:center;gap:.5rem}.turn-indicator{background-color:var(--color-primary);color:var(--color-background);padding:.5rem;text-align:center;font-weight:700;margin-bottom:1rem;border-radius:var(--border-radius)}#app-container{width:100%;max-width:1400px;margin:0 auto;padding:1rem}.welcome-video{width:100%;max-width:600px;border-radius:var(--border-radius);margin-bottom:1.5rem;border:3px solid var(--color-primary);box-shadow:0 0 20px #a47b3766;object-fit:cover}.creation-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:80vh;padding:2rem;background:#0003;border-radius:var(--border-radius);border:1px solid var(--color-border)}.creation-container h1{display:flex;align-items:center;justify-content:center;font-size:4rem;margin-bottom:.5rem}.creation-container h1 img{margin-right:1rem;height:4rem;width:auto;border-radius:360px;border:2px solid #a47b37}.creation-container p{max-width:600px;margin-bottom:2rem;font-size:1.2rem;color:var(--color-text-muted)}.creation-form{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:600px}.creation-form .full-width-input{max-width:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem;text-align:left}.form-group label{font-family:var(--font-display);color:var(--color-primary);font-size:1.1rem;padding-left:.2rem}select,.creation-form select{background-color:var(--color-surface);border:2px solid var(--color-border);color:var(--color-text);padding:.8rem;font-family:var(--font-primary);font-size:1.1rem;border-radius:var(--border-radius);width:100%;transition:border-color .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23a47b37' class='bi bi-caret-down-fill' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center}select:focus,.creation-form select:focus{outline:none;border-color:var(--color-primary)}.radio-group{display:flex;justify-content:center;gap:1rem;padding:.5rem;background:#0003;border-radius:var(--border-radius)}.radio-group label{font-family:var(--font-primary);font-size:1.1rem;padding:.5rem 1.5rem;border:2px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease-in-out;flex-grow:1;text-align:center}.radio-group input[type=radio]{display:none}.radio-group input[type=radio]:checked+label{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-background);box-shadow:0 0 8px var(--color-primary-dark)}.game-container{display:flex;flex-direction:column;gap:1rem}.game-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background-color:var(--color-surface);border-radius:var(--border-radius);border:1px solid var(--color-border)}.game-header h1{display:flex;align-items:center;justify-content:center;margin:0;font-size:2rem}.game-header h1 img{margin-right:1rem;height:4rem;width:auto;border-radius:360px;border:2px solid #a47b37}.new-game-btn{font-size:1rem;padding:.5rem 1rem;border-width:1px}.game-main{display:grid;grid-template-columns:300px 1fr;gap:1.5rem;align-items:flex-start}.game-content-area{display:flex;flex-direction:column;gap:1.5rem}.character-panel{position:sticky;top:1rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--shadow-strong);display:flex;flex-direction:column;align-items:center;text-align:center}.character-portrait{width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;border-radius:50%;border:4px solid var(--color-primary-dark);margin-bottom:1rem;box-shadow:0 0 15px #0009}.character-panel h2{margin:0;font-size:2.2rem}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;width:100%;margin:1.5rem 0;padding:1rem;background:var(--color-background);border-radius:var(--border-radius)}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-item.full-width{grid-column:1 / -1}.stat-label{font-family:var(--font-display);font-size:1rem;color:var(--color-primary);text-transform:uppercase}.stat-value{font-size:2rem;font-weight:700;color:var(--color-text)}.level-up-btn{width:100%;margin-bottom:1.5rem;background-color:var(--color-primary);color:var(--color-background);animation:pulse 2s infinite}.level-up-btn:hover{animation:none}@keyframes pulse{0%{box-shadow:0 0 #a47b37b3}70%{box-shadow:0 0 0 10px #a47b3700}to{box-shadow:0 0 #a47b3700}}.character-panel h3{margin-top:1rem;margin-bottom:.5rem;border-bottom:1px solid var(--color-border);width:100%;padding-bottom:.5rem}.skills-list{list-style:none;padding:0;margin:0;width:100%}.skills-list li{background:var(--color-background);padding:.5rem;border-radius:var(--border-radius);margin-bottom:.5rem;font-size:1rem;display:flex;justify-content:space-between;align-items:center}.skill-level{font-size:.9rem;font-weight:700;color:var(--color-primary);background-color:var(--color-surface);padding:2px 6px;border-radius:4px}.story-panel{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--shadow-strong);display:flex;flex-direction:column}.illustration-container{width:100%;aspect-ratio:16 / 9;background:#111;border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);overflow:hidden;position:relative}.illustration-loader{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2}.illustration-loader .loader-container p{color:#fff}.illustration-loader .loader{border-top-color:#fff}.story-illustration{width:100%;height:100%;object-fit:cover;transition:opacity .5s ease-in-out}.story-illustration.loading{opacity:.5}.story-text{padding:2rem;font-size:1.2rem;line-height:1.8}.actions-panel{padding:1rem 2rem 2rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.actions-panel .custom-action-btn{grid-column:1 / -1;border-style:dashed}.map-panel{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--shadow-strong);padding:1rem;position:relative;aspect-ratio:16 / 9}.map-image{width:100%;height:100%;object-fit:cover;border-radius:var(--border-radius)}.map-location-btn{position:absolute;transform:translate(-50%,-50%);padding:.3rem .8rem;font-size:.9rem;border-width:1px;background-color:#000000b3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.map-location-btn.visited{border-color:#888;color:#888}.skill-allocator{width:100%;max-width:1000px;margin:auto;padding:2rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--shadow-strong)}.skill-allocator h1{text-align:center;font-size:3rem}.skill-points-counter{text-align:center;margin:-1rem 0 2rem;font-family:var(--font-primary);font-size:1.2rem;color:var(--color-text-muted)}.skill-points-counter span{color:var(--color-primary);font-weight:700;font-size:1.5rem}.skill-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:2rem}.skill-category h3{text-align:center;font-size:1.8rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-border)}.skill-allocator .skills-list li{background:none;padding:0}.skill-control{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:var(--color-background);border-radius:var(--border-radius);margin-bottom:.5rem;border:1px solid transparent;transition:all .2s ease-in-out}.skill-allocator .skills-list li.learned .skill-control{border-color:var(--color-primary-dark);box-shadow:0 0 5px #a47b3780}.skill-buttons{display:flex;gap:.5rem}.skill-buttons button{font-family:sans-serif;font-weight:700;font-size:1.2rem;padding:0;width:30px;height:30px;line-height:30px;text-align:center;border-radius:50%;border-width:1px}.skill-allocator-actions{display:flex;justify-content:center;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border)}.cancel-btn{background:transparent;border-color:var(--color-text-muted)!important;color:var(--color-text-muted)!important}.cancel-btn:hover:not(:disabled){background:var(--color-text-muted)!important;color:var(--color-background)!important;box-shadow:none!important}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:1rem}.modal-content{background:var(--color-surface);padding:2rem;border-radius:var(--border-radius);border:1px solid var(--color-border);width:100%;max-width:600px;box-shadow:var(--shadow-strong);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-content h2{margin-top:0;text-align:center}.modal-content p{text-align:center;color:var(--color-text-muted);margin-bottom:1.5rem}.modal-content form{display:flex;flex-direction:column;gap:1rem}.modal-content textarea{background-color:var(--color-background);border:2px solid var(--color-border);color:var(--color-text);padding:.8rem;font-family:var(--font-primary);font-size:1.1rem;border-radius:var(--border-radius);width:100%;resize:vertical;min-height:100px;transition:border-color .3s ease}.modal-content textarea:focus{outline:none;border-color:var(--color-primary)}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}@media (max-width: 900px){.game-main{grid-template-columns:1fr}.character-panel{position:static;flex-direction:row;flex-wrap:wrap;align-items:flex-start;text-align:left}.character-portrait{width:120px;height:120px;margin-right:1rem}.character-info-wrapper{flex:1}.stats-grid{width:auto;margin:0}.skills-section{width:100%;margin-top:1rem}.skill-columns{grid-template-columns:1fr}}@media (max-width: 600px){.actions-panel{grid-template-columns:1fr}.game-header{flex-direction:column;gap:.5rem;align-items:center}.form-grid{grid-template-columns:1fr}}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;margin:2rem;padding:2rem;background-color:var(--color-surface);border-radius:var(--border-radius)}.loader-container p{font-family:var(--font-display);color:var(--color-primary);font-size:1.5rem;margin:0}.equipment-list{list-style:none;padding:0;margin:0;width:100%}.equipment-list li{background:var(--color-background);padding:.5rem;border-radius:var(--border-radius);margin-bottom:.5rem;font-size:1rem;display:flex;justify-content:space-between;align-items:center}.combat-container{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:1200px;margin:auto}.combat-header{text-align:center;border-bottom:2px solid var(--color-primary);padding-bottom:1rem}.combat-header h1{font-size:4rem;margin:0}.combat-participants-container{display:flex;justify-content:center;align-items:flex-start;gap:2rem;flex-wrap:wrap;padding:1rem 0}.player-card{background-color:var(--color-surface);border:2px solid var(--color-primary);border-radius:var(--border-radius);padding:1.5rem;width:250px;text-align:center;box-shadow:0 0 15px var(--color-primary);display:flex;flex-direction:column;align-items:center}.character-portrait-combat{width:150px;height:150px;object-fit:cover;border-radius:50%;border:4px solid var(--color-primary-dark);margin-bottom:1rem}.player-card h3{margin:0 0 .5rem;font-size:1.8rem;color:var(--color-primary)}.player-hp-bar-container{width:100%;background-color:var(--color-background);border-radius:5px;height:20px;margin-top:1rem;border:1px solid var(--color-border)}.player-hp-bar{height:100%;background-color:#4a90e2;border-radius:4px;transition:width .5s ease}.enemies-container{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.enemy-card{background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--border-radius);padding:1.5rem;width:250px;text-align:center;box-shadow:var(--shadow-strong);transition:all .3s ease;display:flex;flex-direction:column;align-items:center}.enemy-card.defeated{opacity:.5;transform:scale(.95);border-color:#555}.enemy-portrait{width:150px;height:150px;object-fit:cover;border-radius:50%;border:4px solid var(--color-primary-dark);margin-bottom:1rem}.enemy-card h3{margin:0 0 .5rem;font-size:1.8rem}.enemy-hp-bar-container{width:100%;background-color:var(--color-background);border-radius:5px;height:20px;margin-top:1rem;border:1px solid var(--color-border)}.enemy-hp-bar{height:100%;background-color:#b33939;border-radius:4px;transition:width .5s ease}.combat-log-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:1.5rem;height:300px;overflow-y:auto;display:flex;flex-direction:column-reverse}.combat-log-entry{padding:.75rem;border-bottom:1px solid var(--color-border);font-size:1.1rem;line-height:1.6;opacity:0;animation:fadeInEntry .5s ease forwards}.combat-log-entry:first-child{border-bottom:none}.combat-log-entry.player{color:#87ceeb}.combat-log-entry.enemy{color:#f08080}.combat-log-entry.info{color:var(--color-text-muted);font-style:italic}@keyframes fadeInEntry{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.combat-actions-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1rem;background:#0003;border-radius:var(--border-radius)}.game-over-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:80vh}.game-over-container h1{font-size:6rem;color:#b33939;margin-bottom:1rem}.game-over-container p{font-size:1.5rem;margin-bottom:2rem}.loot-container,.transaction-container{width:100%;max-width:900px;margin:auto;padding:2rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--shadow-strong);text-align:center}.loot-container h1,.transaction-container h1{font-size:3rem}.loot-summary{font-size:1.5rem;color:var(--color-primary);margin:1rem 0 2rem}.loot-items,.transaction-items{list-style:none;padding:0;margin:0 0 2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.loot-item,.transaction-item{background:var(--color-background);padding:1rem;border-radius:var(--border-radius);border:1px solid var(--color-border)}.transaction-vendor-panel{display:flex;gap:2rem;align-items:center;text-align:left;margin-bottom:2rem;background:var(--color-background);padding:1.5rem;border-radius:var(--border-radius)}.vendor-portrait{width:150px;height:150px;object-fit:cover;border-radius:50%;border:4px solid var(--color-primary-dark)}.alignment-display{display:flex;flex-direction:column;align-items:center;margin-top:1rem;width:100%}.alignment-grid{width:150px;height:150px;background:linear-gradient(to right,rgba(70,70,150,.3),transparent,rgba(150,70,70,.3)),linear-gradient(to bottom,rgba(70,150,70,.3),transparent,rgba(150,70,70,.3));border:1px solid var(--color-border);position:relative;border-radius:var(--border-radius);margin-bottom:.5rem}.alignment-grid:before,.alignment-grid:after{content:"";position:absolute;background-color:var(--color-border);opacity:.5}.alignment-grid:before{left:50%;width:1px;height:100%;transform:translate(-50%)}.alignment-grid:after{top:50%;height:1px;width:100%;transform:translateY(-50%)}.alignment-marker{position:absolute;width:12px;height:12px;background-color:var(--color-primary);border-radius:50%;border:2px solid var(--color-background);transform:translate(-50%,-50%);transition:all .5s ease-in-out;box-shadow:0 0 8px var(--color-primary)}.alignment-label{font-family:var(--font-display);font-size:1.2rem;color:var(--color-primary)}.gambling-container{width:100%;max-width:900px;margin:auto;padding:2rem;background:linear-gradient(135deg,#1a1a1a,#2c2111);border:2px solid var(--color-primary);border-radius:var(--border-radius);box-shadow:0 0 20px #a47b374d;text-align:center;color:var(--color-text)}.gambling-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;border-bottom:1px solid var(--color-border);padding-bottom:1rem}.gambling-gold{font-size:1.5rem;color:#f1c40f;font-weight:700}.game-selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.game-card{background:#0006;border:1px solid var(--color-border);padding:1.5rem;border-radius:var(--border-radius);cursor:pointer;transition:all .3s ease}.game-card:hover{border-color:var(--color-primary);transform:translateY(-5px);box-shadow:0 5px 15px #00000080}.game-card h3{color:var(--color-primary);margin-bottom:.5rem}.active-game-area{background:#0003;padding:2rem;border-radius:var(--border-radius);border:1px solid var(--color-border)}.bet-input{background:var(--color-surface);border:1px solid var(--color-primary);color:var(--color-text);padding:.5rem;font-size:1.2rem;width:100px;text-align:center;margin:0 1rem;border-radius:4px}.gambling-log{margin-top:1rem;padding:1rem;background:#00000080;border-radius:4px;height:150px;overflow-y:auto;text-align:left;font-family:monospace}.gambling-log p{margin:.2rem 0;border-bottom:1px solid #333;padding-bottom:.2rem}.gambling-log p.win{color:#2ecc71}.gambling-log p.lose{color:#e74c3c}.gambling-log p.item{color:#9b59b6;font-weight:700}.riddle-input{width:100%;margin-top:1rem;padding:.5rem;background:var(--color-surface);border:1px solid var(--color-border);color:#fff}
