.welcome-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:20px}.beach-decorations{position:absolute;width:100%;height:100%;pointer-events:none;z-index:0}.sun{position:absolute;top:50px;right:100px;font-size:80px}.surfboard{position:absolute;top:200px;left:80px;font-size:60px}.palm-tree{position:absolute;bottom:100px;left:50px;font-size:70px}.bbq{position:absolute;bottom:150px;right:120px;font-size:50px}.welcome-content{position:relative;z-index:1;background:#fffffff2;padding:60px 50px;border-radius:30px;box-shadow:0 20px 60px #0000004d;max-width:700px;width:100%;text-align:center}.main-title{font-size:3.5rem;color:#ff6b6b;margin-bottom:20px;text-shadow:3px 3px 0 #FFE66D;line-height:1.2}.subtitle{margin-bottom:40px}.subtitle p{font-size:1.2rem;color:#333;margin:10px 0}.subtitle .tagline{font-size:1.3rem;font-weight:600;margin-bottom:15px}.subtitle .description{font-size:1rem;background:#ffebcd99;padding:15px 20px;border-radius:10px;border-left:4px solid #FF6B6B;text-align:left;line-height:1.6}.join-form{margin-bottom:40px}.name-input{width:100%;padding:20px;font-size:1.2rem;border:3px solid #4ECDC4;border-radius:15px;margin-bottom:20px;font-family:Poppins,sans-serif;transition:all .3s}.name-input:focus{outline:none;border-color:#ff6b6b;transform:scale(1.02)}.join-button{width:100%;padding:20px;font-size:1.3rem;font-weight:700;background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;border:none;border-radius:15px;cursor:pointer;transition:all .3s;font-family:Poppins,sans-serif}.join-button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #ff6b6b66}.join-button:active{transform:translateY(0)}.game-info{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.info-card{background:linear-gradient(135deg,#ffe66d,#fa0);padding:20px;border-radius:15px;box-shadow:0 5px 15px #0000001a}.info-icon{font-size:2rem;display:block;margin-bottom:10px}.info-card p{font-size:.95rem;font-weight:600;color:#333;margin:0}@media (max-width: 768px){.main-title{font-size:2.5rem}.welcome-content{padding:40px 30px}.game-info{grid-template-columns:1fr}.beach-decorations>*{font-size:40px!important}}.game-screen{min-height:100vh;padding:20px 280px 20px 20px}.game-header{background:#fffffff2;padding:20px 30px;border-radius:20px;margin-bottom:30px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 5px 20px #0000001a}.game-header h1{font-size:2rem;color:#ff6b6b;margin:0}.player-info{display:flex;align-items:center;gap:15px}.player-name{font-size:1.2rem;font-weight:600;color:#333}.game-container{max-width:1200px;margin:0 auto}.waiting-state{text-align:center;background:#fffffff2;padding:80px 40px;border-radius:30px;box-shadow:0 10px 40px #0003}.santa-avatar{font-size:120px;margin-bottom:30px;animation:float 3s ease-in-out infinite}.waiting-state h2{font-size:2rem;color:#333;margin-bottom:15px}.loading-dots{font-size:3rem;color:#ff6b6b;margin-top:20px}.loading-dots span{animation:blink 1.4s infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:0}40%{opacity:1}}.challenge-state{display:flex;justify-content:center}.challenge-card{background:#fffffff2;padding:50px;border-radius:30px;box-shadow:0 10px 40px #0003;max-width:800px;width:100%}.challenge-title{font-size:2rem;color:#ff6b6b;margin-bottom:25px;text-align:center}.challenge-text{font-size:1.4rem;color:#333;line-height:1.6;margin-bottom:40px;padding:30px;background:linear-gradient(135deg,#ffe66d,#fa0);border-radius:20px;font-weight:600}.prompt-form{display:flex;flex-direction:column;gap:20px}.prompt-input{width:100%;padding:20px;font-size:1.1rem;border:3px solid #4ECDC4;border-radius:15px;font-family:Poppins,sans-serif;resize:vertical;transition:all .3s}.prompt-input:focus{outline:none;border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b33}.form-footer{display:flex;justify-content:space-between;align-items:center}.char-count{color:#666;font-size:.9rem}.submit-button{padding:15px 40px;font-size:1.2rem;font-weight:700;background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .3s}.submit-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ff6b6b66}.submitted-message{text-align:center;padding:40px}.check-icon{font-size:80px;display:block;margin-bottom:20px}.submitted-message p{font-size:1.3rem;color:#4ecdc4;font-weight:600}.judging-state{display:flex;flex-direction:column;gap:30px}.santa-commentary{background:#fffffff2;padding:30px;border-radius:20px;display:flex;gap:20px;align-items:center;box-shadow:0 5px 20px #0000001a}.santa-avatar-large{font-size:80px;flex-shrink:0}.commentary-bubble{flex:1;background:linear-gradient(135deg,#ffe66d,#fa0);padding:20px 30px;border-radius:20px;position:relative}.commentary-bubble:before{content:"";position:absolute;left:-15px;top:30px;width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-right:15px solid #FFE66D}.commentary-bubble p{font-size:1.2rem;font-weight:600;color:#333;margin:0}.submissions-grid{display:grid;gap:20px}.submission-card{background:#fff;padding:30px;border-radius:20px;box-shadow:0 5px 15px #0000001a;transition:all .3s;border:3px solid transparent}.submission-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026;border-color:#4ecdc4}.submission-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:3px solid #f0f0f0}.submission-number{font-size:1.3rem;font-weight:700;color:#ff6b6b;background:#ff6b6b1a;padding:5px 15px;border-radius:20px}.submission-author{font-size:1rem;color:#666;font-style:italic}.submission-section{margin-bottom:20px}.section-label{display:flex;align-items:center;gap:8px;margin-bottom:10px}.label-icon{font-size:1.3rem}.section-label strong{color:#333;font-size:1.05rem}.section-content{padding:15px 20px;border-radius:12px;line-height:1.7;font-size:1rem}.prompt-content{background:#4ecdc41a;border-left:4px solid #4ECDC4;color:#333;font-style:italic;font-weight:500}.output-content{background:#ffe66d26;border-left:4px solid #FFE66D;color:#444;white-space:pre-wrap}.roast-section{margin-top:20px}.roast-content{background:linear-gradient(135deg,#ffe66d,#ff6b6b);color:#fff;font-weight:600;font-size:1.05rem;border:none;box-shadow:0 3px 10px #ff6b6b4d;margin:0;line-height:1.5}.select-winner-button{width:100%;margin-top:15px;padding:15px;font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .3s}.select-winner-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #4ecdc466}.judge-prompt{background:#fffffff2;padding:30px;border-radius:20px;text-align:center;box-shadow:0 5px 20px #0000001a}.judge-prompt h3{font-size:1.8rem;color:#ff6b6b;margin-bottom:10px}.judge-prompt p{font-size:1.1rem;color:#666}.results-state{background:#fffffff2;padding:50px;border-radius:30px;box-shadow:0 10px 40px #0003}.results-state h2{font-size:3rem;color:#ff6b6b;text-align:center;margin-bottom:40px}.leaderboard{display:flex;flex-direction:column;gap:15px;max-width:600px;margin:0 auto}.leaderboard-item{display:flex;align-items:center;gap:20px;padding:20px 30px;background:linear-gradient(135deg,#ffe66d,#fa0);border-radius:15px;transition:all .3s}.leaderboard-item.rank-1{background:linear-gradient(135deg,gold,orange);transform:scale(1.05)}.leaderboard-item.rank-2{background:linear-gradient(135deg,silver,#a8a8a8)}.leaderboard-item.rank-3{background:linear-gradient(135deg,#cd7f32,#b8860b)}.leaderboard-item .rank{font-size:2rem;min-width:50px}.leaderboard-item .player-name{flex:1;font-size:1.3rem;font-weight:700;color:#333}.leaderboard-item .score{font-size:1.5rem;font-weight:700;color:#ff6b6b}.leaderboard-sidebar{position:fixed;right:20px;top:20px;width:240px;background:#fffffff2;padding:20px;border-radius:20px;box-shadow:0 5px 20px #0000001a}.leaderboard-sidebar h3{font-size:1.3rem;color:#ff6b6b;margin-bottom:15px;text-align:center}.mini-leaderboard{display:flex;flex-direction:column;gap:10px}.mini-leaderboard-item{display:flex;align-items:center;gap:10px;padding:10px;background:#ffe66d;border-radius:10px;font-size:.9rem}.mini-rank{font-weight:700;color:#ff6b6b;min-width:25px}.mini-name{flex:1;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-score{font-weight:700;color:#4ecdc4}@media (max-width: 1024px){.game-screen{padding-right:20px}.leaderboard-sidebar{display:none}}@media (max-width: 768px){.game-header{flex-direction:column;gap:15px}.game-header h1{font-size:1.5rem}.challenge-card{padding:30px 20px}.challenge-text{font-size:1.2rem;padding:20px}}.judging-header{text-align:center;margin-bottom:30px}.judging-title{font-size:2.5rem;color:#ff6b6b;margin-bottom:15px}.judging-subtitle{font-size:1.2rem;color:#555;background:#ffffffe6;padding:15px 25px;border-radius:15px;display:inline-block}.processing-message{background:linear-gradient(135deg,#ffe66d,#ff6b6b);padding:30px;border-radius:20px;margin:20px auto;max-width:600px;box-shadow:0 5px 20px #0003}.spinner{font-size:3rem;animation:spin 2s linear infinite;margin-bottom:15px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.processing-text{font-size:1.2rem;color:#fff;font-weight:600;line-height:1.6}.processing-text small{font-size:.9rem;opacity:.9;font-weight:400}.game-explainer{background:#ffffffe6;padding:25px 30px;border-radius:20px;margin:30px auto;max-width:500px;text-align:left;box-shadow:0 5px 15px #0000001a}.game-explainer h3{color:#ff6b6b;font-size:1.5rem;margin-bottom:15px;text-align:center}.game-explainer ol{list-style:none;counter-reset:step-counter;padding:0}.game-explainer ol li{counter-increment:step-counter;margin-bottom:12px;padding-left:40px;position:relative;font-size:1rem;line-height:1.5}.game-explainer ol li:before{content:counter(step-counter);position:absolute;left:0;top:0;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.game-explainer ol li strong{color:#ff6b6b}.timer-display{position:absolute;top:20px;right:20px;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;padding:12px 25px;border-radius:50px;font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:10px;box-shadow:0 4px 15px #0003;animation:pulse 2s ease-in-out infinite}.timer-display.timer-urgent{background:linear-gradient(135deg,#ff6b6b,#ff8e53);animation:urgentPulse .5s ease-in-out infinite}.timer-icon{font-size:1.8rem}.timer-text{font-family:Courier New,monospace;letter-spacing:2px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes urgentPulse{0%,to{transform:scale(1);box-shadow:0 4px 15px #ff6b6b66}50%{transform:scale(1.1);box-shadow:0 6px 25px #ff6b6b99}}.challenge-card{position:relative}.timer-setting{margin:10px 0;padding:10px;background:#4ecdc41a;border-radius:8px;text-align:center}.timer-setting label{color:#333;font-size:.95rem;font-weight:600}.processing-state{display:flex;align-items:center;justify-content:center;min-height:60vh}.processing-card{background:#fffffff2;padding:60px 80px;border-radius:30px;text-align:center;box-shadow:0 10px 40px #0003;max-width:600px}.spinner-large{font-size:5rem;animation:spin 2s linear infinite;margin-bottom:30px}.processing-title{font-size:2.5rem;color:#ff6b6b;margin-bottom:20px}.processing-text{font-size:1.3rem;color:#555;line-height:1.8}.processing-text small{font-size:1rem;color:#888}.host-panel{min-height:100vh;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2)}.host-header{background:#fffffff2;padding:25px 40px;border-radius:20px;margin-bottom:30px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 5px 20px #0003}.host-header h1{font-size:2.5rem;color:#667eea;margin:0}.game-status{display:flex;align-items:center;gap:20px}.status-indicator{padding:10px 20px;border-radius:25px;font-weight:700;font-size:1rem}.status-indicator.active{background:#4ecdc4;color:#fff}.status-indicator.inactive{background:#ff6b6b;color:#fff}.round-counter{font-size:1.3rem;font-weight:700;color:#667eea}.challenge-generator{margin-bottom:15px}.control-button.secondary{background:linear-gradient(135deg,#f093fb,#f5576c);width:100%}.host-container{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:30px}.control-section{background:#fffffff2;padding:40px;border-radius:20px;box-shadow:0 5px 20px #0003;grid-column:1 / -1}.control-section h2{font-size:2rem;color:#667eea;margin-bottom:25px}.control-button{padding:18px 35px;font-size:1.2rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:all .3s;font-family:Poppins,sans-serif;width:100%;margin-bottom:15px}.control-button:disabled{opacity:.5;cursor:not-allowed}.control-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.control-button.success{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.control-button.warning{background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff}.control-button:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000004d}.round-controls{display:flex;flex-direction:column;gap:15px}.challenge-input{width:100%;padding:15px;font-size:1.1rem;border:2px solid #667eea;border-radius:12px;font-family:Poppins,sans-serif;resize:vertical}.challenge-input:focus{outline:none;border-color:#764ba2}.judging-controls{display:flex;flex-direction:column;gap:15px}.judge-info{text-align:center;font-size:1.2rem;font-weight:600;color:#667eea;padding:15px;background:#ffe66d;border-radius:12px}.info-section{display:contents}.info-card{background:#fffffff2;padding:30px;border-radius:20px;box-shadow:0 5px 20px #0003}.info-card h3{font-size:1.5rem;color:#667eea;margin-bottom:20px}.submissions-list,.leaderboard-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.empty-state{text-align:center;color:#999;font-style:italic;padding:40px 20px}.submission-item{display:flex;align-items:center;gap:15px;padding:15px;background:#f5f5f5;border-radius:10px;transition:all .2s}.submission-item:hover{background:#ffe66d;transform:translate(5px)}.submission-index{font-weight:700;color:#667eea;min-width:35px}.submission-player{font-weight:600;color:#333;min-width:120px}.submission-preview{flex:1;color:#666;font-size:.9rem}.leaderboard-item{display:flex;align-items:center;gap:15px;padding:15px;background:linear-gradient(135deg,#ffe66d,#fa0);border-radius:10px}.leaderboard-item .rank{font-size:1.5rem;min-width:40px}.leaderboard-item .player-name{flex:1;font-weight:600;color:#333}.leaderboard-item .score{font-weight:700;color:#667eea;font-size:1.2rem}.quick-reference{background:#fffffff2;padding:30px;border-radius:20px;box-shadow:0 5px 20px #0003;grid-column:1 / -1}.quick-reference h3{font-size:1.5rem;color:#667eea;margin-bottom:20px}.quick-reference ul{list-style:none;padding:0}.quick-reference li{padding:12px 0;border-bottom:1px solid #eee;color:#333;line-height:1.6}.quick-reference li:last-child{border-bottom:none}.quick-reference strong{color:#667eea}@media (max-width: 1024px){.host-container{grid-template-columns:1fr}.info-section{display:grid;grid-template-columns:1fr;gap:30px}}@media (max-width: 768px){.host-header{flex-direction:column;gap:20px}.host-header h1{font-size:2rem}.game-status{flex-direction:column;gap:10px}}.game-controls-header{margin-bottom:20px}.control-button.danger{background:linear-gradient(135deg,#ff6b6b,#ff8e53)}.control-button.danger:hover{background:linear-gradient(135deg,#ff5252,#ff7043)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Poppins,sans-serif;background:linear-gradient(135deg,#ff6b6b,#ffe66d,#4ecdc4);min-height:100vh;overflow-x:hidden}#root{min-height:100vh}.christmas-font{font-family:Mountains of Christmas,cursive}@keyframes wave{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(5deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.wave-animation{animation:wave 3s ease-in-out infinite}.float-animation{animation:float 4s ease-in-out infinite}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#ffffff1a}::-webkit-scrollbar-thumb{background:#ff6b6b80;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#ff6b6bcc}
