.lobby{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.lobby-header{text-align:center;margin-bottom:3rem}.lobby-title{font-size:4rem;font-weight:800;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.lobby-subtitle{font-size:1.5rem;margin:.5rem 0 0;opacity:.9}.join-code-section{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem 4rem;border-radius:20px;text-align:center;margin-bottom:3rem;box-shadow:0 8px 32px #0003}.join-code-label{font-size:1.2rem;margin:0 0 1rem;opacity:.9;text-transform:uppercase;letter-spacing:2px}.join-code{font-size:6rem;font-weight:900;letter-spacing:1rem;margin:1rem 0;font-family:Courier New,monospace;text-shadow:3px 3px 6px rgba(0,0,0,.4)}.join-instructions{font-size:1.1rem;margin:1rem 0 0;opacity:.85}.players-section{width:100%;max-width:900px;margin-bottom:3rem}.players-title{font-size:2rem;text-align:center;margin:0 0 2rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.players-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.player-card{display:flex;align-items:center;gap:1rem;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.5rem;border-radius:15px;box-shadow:0 4px 16px #0003;transition:transform .2s}.player-card:not(.placeholder):hover{transform:translateY(-4px)}.player-card.disconnected{opacity:.6}.player-card.placeholder{opacity:.5;border:2px dashed rgba(255,255,255,.3);background:#ffffff1a}.player-avatar{width:60px;height:60px;border-radius:50%;background:#ffffff4d;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;flex-shrink:0}.player-info{flex:1}.player-name{font-size:1.3rem;font-weight:600;margin-bottom:.3rem}.player-status{font-size:.9rem;opacity:.8}.lobby-footer{text-align:center}.start-button{padding:1.5rem 4rem;font-size:1.8rem;font-weight:700;background:#fff;color:#667eea;border:none;border-radius:50px;cursor:pointer;box-shadow:0 6px 24px #0000004d;transition:all .3s;text-transform:uppercase;letter-spacing:1px}.start-button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 32px #0006}.start-button:disabled{opacity:.5;cursor:not-allowed}.start-hint{margin-top:1rem;font-size:1.1rem;opacity:.8}.image-gallery{padding:2rem;min-height:100vh;background:linear-gradient(135deg,#434343,#000);color:#fff}.image-gallery.empty{display:flex;align-items:center;justify-content:center}.gallery-message{font-size:2rem;opacity:.7}.gallery-header{text-align:center;margin-bottom:3rem}.gallery-title{font-size:3rem;font-weight:800;margin:0 0 1rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.gallery-subtitle{font-size:1.5rem;margin:0;opacity:.8}.gallery-grid{display:grid;gap:2rem;max-width:1400px;margin:0 auto}.gallery-grid.grid-1,.gallery-grid.grid-2{grid-template-columns:repeat(auto-fit,minmax(500px,1fr))}.gallery-grid.grid-3,.gallery-grid.grid-4{grid-template-columns:repeat(2,1fr)}.gallery-grid.grid-5,.gallery-grid.grid-6,.gallery-grid.grid-7{grid-template-columns:repeat(3,1fr)}.gallery-item{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;overflow:hidden;box-shadow:0 4px 16px #0000004d;transition:transform .3s,box-shadow .3s}.gallery-item:hover{transform:translateY(-5px);box-shadow:0 8px 24px #0006}.gallery-item.winner{border:4px solid gold;box-shadow:0 0 30px #ffd70080}.gallery-item.bonus{border:4px solid #00d4ff}.image-container{position:relative;width:100%;padding-bottom:75%;overflow:hidden}.gallery-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.winner-badge,.bonus-badge{position:absolute;top:1rem;right:1rem;background:#000c;padding:.5rem 1rem;border-radius:20px;font-size:1rem;font-weight:700;box-shadow:0 2px 8px #00000080}.winner-badge{background:linear-gradient(135deg,gold,#ffed4e);color:#000}.bonus-badge{top:4rem;background:linear-gradient(135deg,#00d4ff,#09f);color:#fff}.image-info{padding:1rem;display:flex;justify-content:space-between;align-items:center;background:#0000004d}.vote-count{font-size:1.3rem;font-weight:700}.modifications-count{font-size:.9rem;opacity:.8}@media (max-width: 1200px){.gallery-grid.grid-5,.gallery-grid.grid-6,.gallery-grid.grid-7{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.gallery-grid{grid-template-columns:1fr!important}.gallery-title{font-size:2rem}.gallery-subtitle{font-size:1.2rem}}.scoreboard{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:2rem;box-shadow:0 8px 32px #0000004d}.scoreboard-header{text-align:center;margin-bottom:2rem}.scoreboard-title{font-size:2.5rem;font-weight:800;margin:0 0 .5rem;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.round-info{font-size:1.2rem;margin:0;color:#fffc}.scoreboard-list{display:flex;flex-direction:column;gap:1rem}.scoreboard-entry{display:flex;align-items:center;gap:1rem;background:#ffffff1a;border-radius:15px;padding:1rem 1.5rem;transition:transform .2s}.scoreboard-entry:hover{transform:translate(5px)}.scoreboard-entry.leader{background:linear-gradient(90deg,#ffd7004d,#ffd7001a);border:2px solid rgba(255,215,0,.5)}.entry-rank{font-size:1.5rem;font-weight:800;min-width:50px;text-align:center;color:#fff}.entry-content{flex:1}.entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.entry-name{font-size:1.3rem;font-weight:600;color:#fff}.entry-score{font-size:1.3rem;font-weight:700;color:#00d4ff}.entry-progress{width:100%;height:8px;background:#fff3;border-radius:4px;overflow:hidden}.entry-progress-bar{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;transition:width .5s ease-in-out}.scoreboard-entry.leader .entry-progress-bar{background:linear-gradient(90deg,gold,#ffed4e)}.winner-screen{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;overflow:hidden}.confetti{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;background-image:radial-gradient(circle,#ffd700 2px,transparent 2px),radial-gradient(circle,#ff69b4 2px,transparent 2px),radial-gradient(circle,#00d4ff 2px,transparent 2px),radial-gradient(circle,#7fff00 2px,transparent 2px);background-size:50px 50px,80px 80px,100px 100px,120px 120px;animation:confetti-fall 3s linear infinite;opacity:.8}@keyframes confetti-fall{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}.winner-content{position:relative;text-align:center;padding:3rem;max-width:800px;z-index:1}.winner-title{font-size:4rem;font-weight:900;margin:0 0 2rem;text-shadow:3px 3px 6px rgba(0,0,0,.5);animation:winner-bounce 1s ease-in-out}@keyframes winner-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.winner-names{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.winner-name{font-size:3rem;font-weight:800;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 2rem;border-radius:20px;box-shadow:0 4px 16px #0000004d}.winner-score{font-size:2.5rem;font-weight:700;margin-bottom:3rem;color:gold;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.final-standings{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 8px 32px #0000004d}.standings-title{font-size:2rem;font-weight:700;margin:0 0 1.5rem}.standings-list{display:flex;flex-direction:column;gap:.75rem}.standings-entry{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#ffffff1a;border-radius:10px;font-size:1.2rem}.standings-rank{font-size:1.5rem;min-width:50px}.standings-name{flex:1;text-align:left;font-weight:600}.standings-score{font-weight:700;color:#00d4ff}.new-game-button{padding:1.5rem 4rem;font-size:1.8rem;font-weight:700;background:#fff;color:#667eea;border:none;border-radius:50px;cursor:pointer;box-shadow:0 6px 24px #0000004d;transition:all .3s;text-transform:uppercase;letter-spacing:1px}.new-game-button:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0006}@media (max-width: 768px){.winner-title{font-size:2.5rem}.winner-name{font-size:2rem}.winner-score{font-size:1.8rem}.new-game-button{font-size:1.3rem;padding:1rem 2.5rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh}.app.loading,.app.error{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.loading-content,.error-content{text-align:center;padding:3rem}.loading-content h1,.error-content h1{font-size:3rem;margin-bottom:1rem}.error-content p{font-size:1.2rem;margin-bottom:2rem;opacity:.9}.error-content button{padding:1rem 2rem;font-size:1.2rem;font-weight:700;background:#fff;color:#667eea;border:none;border-radius:30px;cursor:pointer;transition:transform .2s}.error-content button:hover{transform:translateY(-2px)}.app.game-active{display:grid;grid-template-rows:auto 1fr;grid-template-columns:1fr 300px;height:100vh;background:linear-gradient(135deg,#434343,#000);color:#fff}.game-header{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1)}.connection-status{font-size:1rem;font-weight:600}.game-info{display:flex;gap:2rem;font-size:1.1rem;font-weight:600}.phase-label{padding:.25rem 1rem;background:#667eea80;border-radius:15px;text-transform:capitalize}.game-content{overflow-y:auto;padding:0}.game-sidebar{background:#0000004d;border-left:1px solid rgba(255,255,255,.1);padding:2rem;overflow-y:auto}.waiting-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:500px;text-align:center;padding:3rem}.waiting-screen h2{font-size:2.5rem;margin-bottom:1rem}.waiting-screen p{font-size:1.5rem;opacity:.8}@media (max-width: 1024px){.app.game-active{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.game-sidebar{border-left:none;border-top:1px solid rgba(255,255,255,.1)}}
