*{margin:0;padding:0;box-sizing:border-box}body{font-family:Georgia,serif;background:linear-gradient(135deg,#2c1810,#4a3728);min-height:100vh;color:#f4f1e8}#root{min-height:100vh}.app-container{max-width:1600px;margin:0 auto;padding:20px}.game-header{background:linear-gradient(135deg,#8b4513,sienna);border:3px solid #daa520;border-radius:15px;padding:20px;margin-bottom:20px;box-shadow:0 10px 30px #0006}.game-title{font-size:2rem;color:#daa520;text-align:center;margin-bottom:15px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.game-status{display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:15px}.status-item{padding:10px 20px;background:#0000004d;border-radius:8px;font-weight:700}.mayor-crown{padding:10px 20px;background:linear-gradient(135deg,gold,#daa520);border:2px solid #fff;border-radius:8px;color:#2c1810;font-weight:700;box-shadow:0 4px 15px #daa52080}.setup-panel{background:linear-gradient(135deg,#8b4513,sienna);border:3px solid #daa520;border-radius:15px;padding:40px;max-width:600px;margin:50px auto;text-align:center;box-shadow:0 10px 30px #0006}.setup-panel h1{font-size:2.5rem;color:#daa520;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.setup-panel p{font-size:1rem;margin-bottom:30px;line-height:1.6}.form-group{margin-bottom:30px;text-align:left}.form-group label{display:block;margin-bottom:10px;font-weight:700;color:#daa520}.form-group select{width:100%;padding:12px;font-size:1rem;border:2px solid #daa520;border-radius:8px;background:#0000004d;color:#f4f1e8;cursor:pointer}.form-group select:focus{outline:none;border-color:gold;box-shadow:0 0 10px #daa52080}.form-group input{width:100%;padding:12px;font-size:1rem;border:2px solid #daa520;border-radius:8px;background:#0000004d;color:#f4f1e8;font-family:Georgia,serif}.form-group input:focus{outline:none;border-color:gold;box-shadow:0 0 10px #daa52080}.form-group input::placeholder{color:#f4f1e880}.player-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px;margin-bottom:20px}.player-card{background:linear-gradient(135deg,#5a3d2b,#6d4c33);border:2px solid #8b6f47;border-radius:12px;padding:15px;transition:all .3s ease}.player-card.active{border-color:#4a9eff;box-shadow:0 0 20px #4a9eff80;transform:scale(1.02)}.player-card.mayor{border-color:gold;background:linear-gradient(135deg,#6d5020,#8b6f47)}.player-name{font-size:1.3rem;font-weight:700;color:#daa520;margin-bottom:8px}.player-role{font-size:.9rem;color:#a8d5ff;margin-bottom:10px;font-style:italic}.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:.9rem}.resource-grid>div{padding:6px;background:#0000004d;border-radius:5px}.goods-display{background:#0000004d;padding:8px;border-radius:5px}.game-board{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:20px}.locations-panel,.actions-panel{background:linear-gradient(135deg,#5a3d2b,#6d4c33);border:2px solid #8b6f47;border-radius:12px;padding:20px}.panel-title{font-size:1.5rem;color:#daa520;margin-bottom:15px;text-align:center;text-shadow:1px 1px 2px rgba(0,0,0,.5)}#locations-container{display:grid;gap:15px}.location{background:#0000004d;border:2px solid #8b6f47;border-radius:10px;padding:15px;transition:all .3s ease}.location:hover{border-color:#daa520;box-shadow:0 4px 15px #daa5204d}.location.closed{opacity:.5;background:#6400004d;border-color:#8b0000}.location-name{font-size:1.2rem;font-weight:700;color:#daa520;margin-bottom:8px}.location-slots{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.servant-slot{width:45px;height:45px;border:2px solid #8b6f47;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff1a;cursor:pointer;font-weight:700;transition:all .2s ease}.servant-slot:hover:not(.occupied):not(.blocked){background:#4a9eff4d;border-color:#4a9eff;transform:scale(1.1)}.servant-slot.occupied{background:linear-gradient(135deg,#4a9eff,#357abd);border-color:#2c5aa0;cursor:default}.servant-slot.blocked{background:#6400004d;border-color:#8b0000;cursor:not-allowed}.btn{padding:12px 30px;font-size:1.1rem;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;font-family:Georgia,serif}.btn-primary{background:linear-gradient(135deg,#4a9eff,#357abd);color:#fff;border:2px solid #2c5aa0}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#357abd,#2c5aa0);transform:translateY(-2px);box-shadow:0 6px 20px #4a9eff66}.btn-primary:disabled{background:#666;border-color:#444;cursor:not-allowed;opacity:.5}.btn-danger{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;border:2px solid #a71d2a}.btn-danger:hover{background:linear-gradient(135deg,#c82333,#a71d2a);transform:translateY(-2px);box-shadow:0 6px 20px #dc354566}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:linear-gradient(135deg,#5a3d2b,#6d4c33);border:3px solid #daa520;border-radius:15px;padding:40px;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 15px 50px #0009}.modal-title{font-size:2rem;color:#daa520;margin-bottom:20px;text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.modal-content p{font-size:1.1rem;margin-bottom:20px;line-height:1.6}.starting-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-bottom:25px}.starting-card{background:#0000004d;border:2px solid #8b6f47;border-radius:10px;padding:15px;cursor:pointer;transition:all .3s ease}.starting-card:hover{border-color:#4a9eff;transform:translateY(-3px);box-shadow:0 6px 20px #4a9eff4d}.starting-card.selected{border-color:#4a9eff;background:#4a9eff33;box-shadow:0 0 20px #4a9eff80}.starting-card h3{color:#daa520;margin-bottom:10px;font-size:1.2rem}.starting-card ul{list-style:none;padding:0}.starting-card li{padding:5px 0;font-size:.95rem}.vote-buttons{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.vote-btn{padding:15px;background:#0000004d;border:2px solid #8b6f47;border-radius:8px;cursor:pointer;transition:all .3s ease;text-align:left;color:#f4f1e8;font-family:Georgia,serif;font-size:1rem}.vote-btn:hover{border-color:#4a9eff;background:#4a9eff33;transform:translate(5px)}.vote-btn strong{color:#daa520}.voting-results{background:#0000004d;border:2px solid #8b6f47;border-radius:10px;padding:20px;margin-bottom:20px}.voting-results h3{color:#daa520;margin-bottom:15px;text-align:center}.result-item{padding:10px;margin-bottom:10px;background:#ffffff0d;border-radius:5px;display:flex;justify-content:space-between;align-items:center}.result-item.winner{border:2px solid #ffd700;background:#ffd7001a}.roles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:25px}.role-card{background:#0000004d;border:2px solid #8b6f47;border-radius:10px;padding:15px;cursor:pointer;transition:all .3s ease}.role-card:hover{border-color:#4a9eff;transform:translateY(-3px);box-shadow:0 6px 20px #4a9eff4d}.role-card.selected{border-color:#4a9eff;background:#4a9eff33;box-shadow:0 0 20px #4a9eff80}.controls{background:linear-gradient(135deg,#5a3d2b,#6d4c33);border:2px solid #8b6f47;border-radius:12px;padding:20px}.control-buttons{display:flex;gap:15px;justify-content:center;margin-bottom:20px;flex-wrap:wrap}.game-log{background:#0000004d;border:2px solid #8b6f47;border-radius:10px;padding:15px;max-height:300px;overflow-y:auto}.log-entry{margin-bottom:5px;border-left:3px solid #daa520;padding:8px 8px 8px 12px;font-size:.9rem;line-height:1.4}.log-entry:last-child{margin-bottom:0}.game-log::-webkit-scrollbar{width:10px}.game-log::-webkit-scrollbar-track{background:#0003;border-radius:10px}.game-log::-webkit-scrollbar-thumb{background:#8b6f47;border-radius:10px}.game-log::-webkit-scrollbar-thumb:hover{background:#daa520}@media(max-width:768px){.game-board,.player-info{grid-template-columns:1fr}.game-status{flex-direction:column}.starting-cards,.roles-grid{grid-template-columns:1fr}.modal-content{padding:20px}.game-title{font-size:1.5rem}}
