:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-mazmorra: #9C664E;--color-arena: #EFC176;--color-fuego: #CF2926;--color-dragon: #6DD472;--color-cielo: #C1E6DF;--color-hueso: #F7F6F3;--color-carbon: #222222;--color-acero: #333333;--color-hierro: #6F6E72;font-size:16px;color:var(--color-carbon);background-color:var(--color-arena)}#root{width:100%;max-width:1100px;margin:0 auto;padding:1.5rem;text-align:left}h1{font-size:2.25rem;margin:0 0 1rem;color:var(--color-carbon)}h2{font-size:1.5rem;margin:0 0 .375rem;color:var(--color-acero)}p{color:var(--color-carbon);font-size:1rem;line-height:1.5;margin:0 0 1rem}.landing p{font-weight:700}.landing h1{font-size:5rem}.chars{display:flex;gap:1rem;margin-top:1rem}.chars li{list-style:disc;font-size:1rem;font-weight:700;padding:1rem;border-radius:1rem;flex:1}.testimonials{margin-top:3rem}.testimonial-grid{display:flex;gap:1.5rem;margin-top:1.5rem;text-align:center}.testimonial-grid figure{flex:1;background:var(--color-mazmorra);padding:1.5rem;border-radius:8px;margin:0}.testimonial-grid img{width:80px;height:80px;border-radius:50%;object-fit:cover;margin-bottom:1rem}.testimonial-grid .quote{font-style:italic;color:var(--color-hueso);font-size:1rem}.navbar{height:3rem;display:flex;gap:1rem;background:var(--color-mazmorra);padding:10px 20px;align-items:center;margin:auto}.navbar .links{display:flex;gap:1rem;align-items:center}.navbar .links-right{margin-left:auto;display:flex;gap:1rem;align-items:center}.navbar a{color:var(--color-hueso)}.navbar a:hover,.navbar a:focus{font-weight:700;color:var(--color-arena)}.navbar .logo{font-size:.75rem}.navbar .play-button{background-color:var(--color-hueso);color:var(--color-carbon)}.button{background-color:var(--color-mazmorra);color:var(--color-hueso);border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;cursor:pointer;text-align:center}.button:hover{background-color:var(--color-fuego)}.instructions p{margin-bottom:1rem;text-align:justify}.steps{padding-left:1.5rem}.steps .step{margin-bottom:1rem}.about{font-weight:700}.about h1{font-size:5rem}.team{display:flex;gap:1.5rem;margin-top:1.5rem;text-align:center}.dev{flex:1;background:var(--color-mazmorra);padding:1.5rem;border-radius:8px;margin:0}.dev h2{font-size:1.5rem;margin-bottom:1rem;color:var(--color-hueso)}.dev img{width:100px;height:100px;border-radius:50%;object-fit:cover;margin-bottom:1rem}.dev p{font-size:.95rem;line-height:1.5;color:var(--color-hueso);font-weight:400}@media(max-width:768px){.about h1{font-size:2rem}.team{flex-direction:column;align-items:center}.dev{width:90%;max-width:350px}}.Login{width:500px;margin:0 auto;padding:20px;border-radius:5px;margin-top:5rem;background-color:var(--color-mazmorra)}.Login form label{display:flex;flex-direction:column;align-items:center;margin-bottom:10px}.Login form input[type=text],.Login form input[type=email],.Login form input[type=password]{width:100%;padding:10px;margin-bottom:20px;border:1px solid;border-radius:3px;background-color:var(--color-hueso)}.Login form input[type=submit]{background-color:var(--color-hueso);padding:10px 20px;border:none;border-radius:3px;cursor:pointer;font-weight:700}.Login form input[type=submit]:hover{background-color:var(--color-fuego);font-weight:700}.error{width:80%;margin:10px auto;padding:10px;border:1px solid var(--color-hueso);border-radius:5px;color:var(--color-hueso);background-color:var(--color-fuego);text-align:center}.successMsg{width:80%;margin:10px auto;padding:10px;border:1px solid var(--color-hueso);border-radius:5px;color:var(--color-hueso);background-color:#26c52e;text-align:center}.Login .button{background-color:var(--color-hueso);color:var(--color-carbon);padding:10px 20px;border:none;border-radius:3px;font-size:1rem;font-weight:700;cursor:pointer;text-align:center}.Login .button:hover{background-color:var(--color-fuego);font-weight:700}.level-map{display:flex;flex-direction:row;align-items:center;gap:10px;padding:10px;background-color:var(--color-madera);border-radius:12px}.level-cell{border-radius:8px;width:70px;height:70px;margin:5px 0;padding:0;position:relative;background-color:var(--color-hueso)}.level-number{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700;font-size:12px;z-index:0}.players-at-level{position:absolute;inset:0;padding:4px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;justify-items:center;align-items:center;z-index:1}.player-chip{width:20px;height:20px;color:var(--color-fuego);border:2px solid var(--color-fuego);background-color:var(--color-hueso) border-radius: 50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;cursor:default;box-shadow:0 2px 4px #0003}.inventory-modal{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.inventory-content{background:#fff;border-radius:12px;width:90%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d}.inv-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #ddd}.inv-header h2{margin:0}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#666}.close-button:hover{color:#000}.inventory-body{padding:20px;overflow-y:auto;flex:1}.actions-summary{background:#f0f0f0;padding:10px;border-radius:6px;margin-bottom:15px;text-align:center}.inventory-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px}.inv-footer{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid #ddd}.btn-cancel,.btn-submit{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:16px;transition:background-color .3s}.btn-cancel{background-color:#6c757d;color:#fff}.btn-cancel:hover{background-color:#5a6268}.btn-submit{background-color:#28a745;color:#fff}.btn-submit:hover{background-color:#218838}.player-equipment-container{background-color:var(--color-hueso);border:2px solid var(--color-mazmorra);padding:15px;margin-top:10px;max-width:300px}.player-equipment-container h4{margin:0 0 15px;text-align:center;text-transform:uppercase;padding-bottom:10px;color:var(--color-carbon)}.equipment-list{display:flex;flex-direction:column;gap:8px}.equipment-row{display:flex;align-items:center;justify-content:space-between;padding:6px 10px}.slot-label{font-weight:700;color:var(--color-hierro);width:80px;font-size:.9rem}.slot-content{flex:1;display:flex;justify-content:flex-start}.equipped-item{display:flex;align-items:center;gap:10px;width:100%;justify-content:flex-end;color:var(--color-carbon)}.item-name{font-size:.8rem;font-weight:600;max-width:120px;text-align:right}.item-stat{background-color:var(--color-dragon);color:#fff;padding:2px 6px;font-size:.85rem;font-weight:700;min-width:35px;text-align:center}.unequip-button{background-color:var(--color-fuego);color:#fff;border:none;width:24px;height:24px;font-weight:700;display:flex;align-items:center;justify-content:center}.empty-slot{color:var(--color-hierro);font-size:1rem}.combat-result{position:absolute;top:30%;left:25%;width:50%;border:5px solid var(--color-carbon);padding:30px;text-align:center;font-size:32px;font-weight:700;z-index:999;text-transform:uppercase}.combat-result.win{background-color:var(--color-dragon);color:var(--color-carbon)}.combat-result.lose{background-color:var(--color-fuego);color:var(--color-carbon)}.game-board-container{display:flex;flex-direction:column;height:100vh;width:100%;overflow:hidden;box-sizing:border-box}.game-top-bar{flex-shrink:0;width:100%;padding:1rem;background-color:var(--color-mazmorra);border-bottom:3px solid var(--color-carbon);overflow-x:auto;overflow-y:hidden}.game-content{flex:1;display:grid;grid-template-columns:250px 1fr;overflow:hidden}.game-left-panel{display:flex;flex-direction:column;padding:1rem;border-right:3px solid var(--color-carbon);background-color:#0000000d;overflow-y:auto}.player-stats-box{background-color:var(--color-hueso);padding:1.5rem;border-radius:8px;border:2px solid var(--color-carbon)}.player-stats-box h3{margin:0 0 1rem;text-align:center;font-size:1.2rem}.player-stats-box p{margin:.5rem 0;font-weight:700}.stat-value{color:var(--color-fuego);font-size:1.2rem}.game-right-panel{display:flex;flex-direction:column;height:100%;padding:2rem;overflow-y:auto;position:relative;box-sizing:border-box}.turn-info{flex-shrink:0;text-align:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--color-carbon)}.active-zone{flex:1;display:flex;flex-direction:column;align-items:center;gap:2rem;width:100%;padding-bottom:2rem}.monster-zone,.store-zone{width:100%;display:flex;flex-direction:column;align-items:center;padding:1.5rem;border:2px solid var(--color-carbon);border-radius:8px}.cards-row{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;width:100%;margin-top:1rem}button{padding:12px 24px;font-size:1rem;cursor:pointer;border:2px solid var(--color-carbon);background-color:var(--color-hueso);font-weight:700}.waiting-room-container{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:2rem}.waiting-room-content{background:var(--color-mazmorra);padding:2.5rem;border-radius:12px;max-width:600px;width:100%;box-shadow:0 4px 20px #0000004d}.waiting-room-content h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:var(--color-hueso);text-align:center}.game-code{font-size:1.2rem;font-weight:700;color:var(--color-hueso);text-align:center;margin-bottom:2rem;padding:.75rem;background:#0003;border-radius:8px}.players-list{margin:2rem 0}.players-list h2{font-size:1.5rem;font-weight:700;color:var(--color-hueso);margin-bottom:1.5rem;text-align:center}.players-list ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.player-item{display:flex;align-items:center;padding:1rem;background:#0003;border-radius:8px;transition:all .3s ease}.player-item:hover{background:#0000004d;transform:translate(5px)}.player-number{background:var(--color-hueso);color:var(--color-mazmorra);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;margin-right:1rem}.player-name{color:var(--color-hueso);font-size:1rem;font-weight:400;flex:1}.btn-start-game{width:100%;background:var(--color-hueso);color:var(--color-mazmorra);border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:700;border-radius:8px;cursor:pointer;margin-top:2rem;transition:all .3s ease}.btn-start-game:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #0000004d;opacity:.9}.btn-start-game:disabled{background:#ffffff4d;color:#0006;cursor:not-allowed}.waiting-message{color:var(--color-hueso);font-size:.95rem;font-weight:400;text-align:center;margin-top:2rem;padding:1rem;background:#0003;border-radius:8px;line-height:1.5}@media(max-width:768px){.waiting-room-container{padding:1rem}.waiting-room-content{padding:1.5rem}.waiting-room-content h1{font-size:2rem}.game-code{font-size:1rem}.players-list h2{font-size:1.25rem}.player-name{font-size:.9rem}.btn-start-game{padding:.85rem 1.5rem;font-size:1rem}.waiting-message{font-size:.85rem}}.card-container{width:100px;height:140px;border:2px solid var(--color-acero);margin:5px;padding:0;display:flex;flex-direction:column;position:relative;font-size:10px;overflow:hidden}.card-container.monster{background-color:var(--color-fuego);color:var(--color-hueso)}.card-container.curse{background-color:var(--color-mazmorra);color:var(--color-hueso)}.card-container.helmet,.card-container.chestplate,.card-container.boots,.card-container.weapon{background-color:var(--color-hierro);color:var(--color-hueso)}.card-header{display:flex;justify-content:space-between;padding:4px;background:#0003;font-weight:700}.card-value-display{font-size:1.1em}.menu-dots{background:none;border:1px solid currentColor;color:inherit;font-size:14px;cursor:pointer;padding:1px 3px;line-height:1;border-radius:3px}.card-body{flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:5px;line-height:1.1}.card-type-text{font-size:9px;margin:0 0 3px;text-decoration:underline}.card-name{font-size:12px;margin:0;font-weight:500}.card-price{font-size:10px;margin:0;font-weight:300}.card-desc{padding:5px;background-color:var(--color-carbon);color:var(--color-hueso);font-size:9px;text-align:center;margin-top:auto}.card-menu{position:absolute;top:30px;right:5px;width:90px;background:var(--color-hueso);border:1px solid var(--color-carbon);z-index:100;display:flex;flex-direction:column}.card-menu button{padding:4px;background:none;color:var(--color-carbon);border:none;border-bottom:1px solid var(--color-arena);cursor:pointer;font-size:10px;text-align:left}.card-menu button:hover{background-color:var(--color-cielo)}.admin-panel{max-width:1200px;margin:2rem auto;padding:2rem}.admin-header{text-align:center;margin-bottom:3rem}.admin-header h1{color:#333;font-size:2.5rem;margin-bottom:.5rem}.admin-subtitle{color:#666;font-size:1.1rem}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:2rem}.admin-card{background:var(--color-mazmorra);border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;transition:all .3s ease;text-decoration:none;color:inherit;position:relative;cursor:pointer;border:2px solid transparent}.admin-card:hover{transform:translateY(-8px);box-shadow:0 8px 16px #00000026;border-color:#4ecdc4}.admin-card-icon{font-size:3rem;margin-bottom:1rem}.admin-card h2{color:#fff;font-size:1.5rem;margin-bottom:.75rem}.admin-card p{color:#fff;font-size:.95rem;line-height:1.5;margin-bottom:1rem}.admin-card-arrow{position:absolute;bottom:1.5rem;right:1.5rem;font-size:1.5rem;color:#4ecdc4;transition:transform .3s ease}.admin-card:hover .admin-card-arrow{transform:translate(8px)}@media(max-width:768px){.admin-panel{padding:1rem}.admin-header h1{font-size:2rem}.admin-grid{grid-template-columns:1fr;gap:1.5rem}}.admin-users{max-width:1200px;margin:2rem auto;padding:2rem}.admin-users h1{text-align:center;color:#333;margin-bottom:1rem;font-size:2.5rem}.subtitle{text-align:center;color:#666;margin-bottom:2rem;font-size:1.1rem}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.user-card{background:var(--color-mazmorra);border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.user-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.user-info h3{margin:0 0 .5rem;color:#fff;font-size:1.3rem}.user-email{color:#fff;margin:.5rem 0;font-size:.95rem}.user-details{display:flex;gap:1rem;align-items:center;margin-top:1rem}.badge{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;text-transform:uppercase}.admin-badge{background:#ff6b6b;color:#fff}.user-badge{background:#4ecdc4;color:#fff}.user-id{color:#fff;font-size:.85rem}.error{color:#fa9696;text-align:center;font-size:1.1rem;padding:2rem}@media(max-width:768px){.admin-users{padding:1rem}.users-grid{grid-template-columns:1fr}.admin-users h1{font-size:2rem}}.admin-games{max-width:1200px;margin:2rem auto;padding:1rem}.admin-games h1{text-align:center;color:#fff;margin-bottom:1rem;font-size:2rem}.subtitle{text-align:center;color:#fff;font-size:1.1rem;margin-bottom:2rem}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.game-card{background-color:var(--color-mazmorra);border:1px solid #ddd;border-radius:8px;padding:1rem;box-shadow:0 2px 4px #0000001a}.game-info{color:#fff;margin-bottom:.5rem}.game-status{font-weight:700;color:#fff}.game-details{display:flex;justify-content:space-between;font-size:.9rem;color:#fff}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}
