:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);color:#333;min-height:100vh}.app{max-width:1200px;margin:0 auto;padding:20px}h1{text-align:center;margin-bottom:40px;color:#4a6fa5;font-size:2.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.name-input,.room-input{text-align:center;margin:80px auto;max-width:450px;padding:40px;background:#fff;border-radius:15px;box-shadow:0 10px 30px #00000026;transition:transform .3s ease}.name-input:hover,.room-input:hover{transform:translateY(-5px)}.name-input h2,.room-input h2{margin-bottom:30px;color:#4a6fa5;font-size:1.8rem}.nickname-input,.room-input input{width:100%;padding:15px;margin-bottom:30px;border:2px solid #e0e0e0;border-radius:8px;font-size:18px;transition:border-color .3s ease}.nickname-input:focus,.room-input input:focus{outline:none;border-color:#4a6fa5;box-shadow:0 0 0 3px #4a6fa51a}.primary-button,.secondary-button,.room-input button{padding:12px 24px;margin:0 10px;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease}.primary-button{background-color:#4a6fa5;color:#fff}.primary-button:hover{background-color:#3a5a85;transform:translateY(-2px);box-shadow:0 5px 15px #4a6fa54d}.secondary-button{background-color:#f0f4f8;color:#4a6fa5;border:2px solid #4a6fa5}.secondary-button:hover{background-color:#4a6fa5;color:#fff;transform:translateY(-2px);box-shadow:0 5px 15px #4a6fa54d}.game-container{display:grid;grid-template-columns:1fr 350px;grid-gap:20px}@media(max-width:1024px){.game-container{grid-template-columns:1fr}.system-messages-area{order:-1}.chat-area{order:0}}.room-info{grid-column:1 / -1;text-align:center;padding:25px;background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a;margin-bottom:30px}.room-info h2{color:#4a6fa5;margin-bottom:15px;font-size:1.8rem}.room-stats{display:flex;justify-content:space-around;margin-bottom:15px;flex-wrap:wrap}.room-stats p{font-size:1.1rem;color:#666;margin:0 10px}.settings-button{padding:8px 16px;border:none;border-radius:5px;background-color:#9b59b6;color:#fff;font-size:14px;cursor:pointer;transition:all .3s ease}.settings-button:hover{background-color:#8e44ad;transform:translateY(-2px)}.game-settings{grid-column:1 / -1;padding:20px;background-color:#fff;border-radius:10px;box-shadow:0 5px 20px #0000001a;margin-bottom:20px}.game-settings h3{color:#4a6fa5;margin-bottom:20px;font-size:1.4rem}.setting-item{margin-bottom:20px}.setting-item label{display:block;margin-bottom:10px;color:#666;font-size:16px}.setting-item input[type=range]{width:100%;margin-bottom:10px}.settings-buttons{display:flex;gap:10px;margin-top:20px}.save-settings{padding:10px 20px;border:none;border-radius:5px;background-color:#27ae60;color:#fff;font-size:14px;cursor:pointer;transition:all .3s ease}.save-settings:hover{background-color:#229954;transform:translateY(-2px)}.close-settings{padding:10px 20px;border:none;border-radius:5px;background-color:#4a6fa5;color:#fff;font-size:14px;cursor:pointer;transition:all .3s ease}.close-settings:hover{background-color:#3a5a85;transform:translateY(-2px)}.players-list{display:flex;justify-content:space-around;flex-wrap:wrap;grid-column:1 / -1;margin-bottom:30px}.player-card{width:180px;padding:25px;background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a;text-align:center;margin:15px;transition:all .3s ease}.player-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.player-card.current-player{border:3px solid #4a6fa5;box-shadow:0 0 20px #4a6fa599}.player-card.my-turn{animation:pulse 1s infinite}.player-card.selected-player{border:3px solid #e74c3c;box-shadow:0 0 20px #e74c3c99}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.player-card h3{color:#4a6fa5;margin-bottom:20px;font-size:1.3rem}.dice-container{display:flex;justify-content:center;align-items:center;margin-top:15px}.dice{width:70px;height:70px;border-radius:12px;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 12px #0003;transition:all .3s ease;position:relative;overflow:hidden}.dice-1{background:linear-gradient(135deg,#e74c3c,#c0392b)}.dice-2{background:linear-gradient(135deg,#e67e22,#d35400)}.dice-3{background:linear-gradient(135deg,#f1c40f,#f39c12)}.dice-4{background:linear-gradient(135deg,#27ae60,#229954)}.dice-5{background:linear-gradient(135deg,#3498db,#2980b9)}.dice-6{background:linear-gradient(135deg,#9b59b6,#8e44ad)}.dice-empty{background:linear-gradient(135deg,#e0e0e0,#bdbdbd)}.dice:before{content:"";position:absolute;width:12px;height:12px;background-color:#fffc;border-radius:50%;z-index:1}.dice-1:before{top:50%;left:50%;transform:translate(-50%,-50%)}.dice-2:before{box-shadow:-15px -15px #fffc,15px 15px #fffc}.dice-3:before{top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:-15px -15px #fffc,15px 15px #fffc}.dice-4:before{box-shadow:-15px -15px #fffc,-15px 15px #fffc,15px -15px #fffc,15px 15px #fffc}.dice-5:before{top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:-15px -15px #fffc,-15px 15px #fffc,15px -15px #fffc,15px 15px #fffc}.dice-6:before{box-shadow:-15px -20px #fffc,-15px 0 #fffc,-15px 20px #fffc,15px -20px #fffc,15px 0 #fffc,15px 20px #fffc}.dice.rolling{animation:roll 1s ease-in-out}@keyframes roll{0%{transform:rotate(0) scale(1)}25%{transform:rotate(90deg) scale(1.1)}50%{transform:rotate(180deg) scale(1)}75%{transform:rotate(270deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}.player-status{margin-top:10px;padding:5px 10px;background-color:#4a6fa5;color:#fff;border-radius:15px;font-size:12px;font-weight:700;animation:pulse 1.5s infinite}.game-status{padding:30px;background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a;text-align:center}.game-status h3{color:#4a6fa5;margin-bottom:30px;font-size:1.5rem}.waiting-state p,.playing-state p{margin-bottom:30px;font-size:1.2rem;line-height:1.5}.roll-button,.answer-button{padding:18px 36px;border:none;border-radius:8px;background-color:#4a6fa5;color:#fff;font-size:18px;font-weight:700;cursor:pointer;margin-top:20px;transition:all .3s ease}.roll-button:hover,.answer-button:hover{background-color:#3a5a85;transform:translateY(-3px);box-shadow:0 8px 20px #4a6fa54d}.question-state h4{color:#4a6fa5;margin-bottom:15px;font-size:1.3rem}.game-state-title{color:#4a6fa5;margin-bottom:30px;font-size:1.6rem;text-align:center;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.waiting-state{text-align:center;padding:20px}.waiting-message{margin-bottom:30px;font-size:1.2rem;line-height:1.5;color:#666}.player-count{margin-bottom:40px;font-size:2rem;font-weight:700}.count-number{color:#4a6fa5;font-size:2.5rem}.count-total{color:#999;font-size:1.5rem}.start-game-button{padding:15px 40px;border:none;border-radius:8px;background-color:#27ae60;color:#fff;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s ease}.start-game-button:hover{background-color:#229954;transform:translateY(-3px);box-shadow:0 8px 20px #27ae604d}.playing-state{text-align:center;padding:20px}.turn-info{margin-bottom:40px}.my-turn-message{font-size:1.3rem;font-weight:700;color:#4a6fa5;margin-bottom:20px;animation:pulse 1.5s infinite}.waiting-turn-message{font-size:1.2rem;color:#666;margin-bottom:20px}.roll-button{padding:20px 40px;border:none;border-radius:8px;background:linear-gradient(135deg,#4a6fa5,#3a5a85);color:#fff;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:10px;box-shadow:0 4px 12px #4a6fa54d}.roll-button:hover{background:linear-gradient(135deg,#3a5a85,#2c4369);transform:translateY(-3px);box-shadow:0 8px 20px #4a6fa566}.roll-icon{font-size:24px;animation:spin 2s infinite linear}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.question-state{padding:20px}.question-label{color:#4a6fa5;margin-bottom:20px;font-size:1.3rem;text-align:center}.question-card{background:linear-gradient(135deg,#f0f4f8,#e1e8f0);border-radius:12px;padding:25px;margin-bottom:30px;box-shadow:0 4px 12px #0000001a;border-left:6px solid #4a6fa5}.question-text{font-size:1.2rem;line-height:1.6;color:#333;text-align:center}.timer-container{display:flex;flex-direction:column;align-items:center;margin-bottom:30px}.timer-circle{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#e74c3c,#c0392b);display:flex;justify-content:center;align-items:center;margin-bottom:10px;box-shadow:0 4px 12px #e74c3c4d;animation:pulse 1s infinite}.timer-number{font-size:24px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.timer-label{font-size:14px;color:#666;margin-top:5px}.answer-input{width:100%;padding:15px;margin-bottom:30px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s ease;min-height:100px;resize:vertical}.answer-button{padding:15px 40px;border:none;border-radius:8px;background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;width:100%}.answer-button:hover{background:linear-gradient(135deg,#8e44ad,#7d3c98);transform:translateY(-3px);box-shadow:0 8px 20px #9b59b64d}.answer-input:focus{outline:none;border-color:#4a6fa5;box-shadow:0 0 0 3px #4a6fa51a}.waiting-answer{text-align:center;padding:40px;background-color:#f8f9fa;border-radius:8px;margin-top:20px;border:2px solid #e9ecef}.waiting-answer p{font-size:16px;color:#666;line-height:1.5;margin:0}.system-messages-area{padding:20px;background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a;margin-bottom:20px}.system-messages-area h3{color:#4a6fa5;margin-bottom:15px;font-size:1.3rem}.system-messages{max-height:200px;overflow-y:auto;padding:15px;border:2px solid #e0e0e0;border-radius:8px;background-color:#fafafa}.system-message-item{margin-bottom:12px;padding:10px 14px;background-color:#f0f4f8;border-radius:8px;box-shadow:0 2px 4px #0000000d;border-left:4px solid #9b59b6;animation:slideIn .3s ease}.chat-area{padding:30px;background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a;display:flex;flex-direction:column}.chat-area h3{color:#4a6fa5;margin-bottom:20px;font-size:1.3rem}.chat-messages{flex:1;overflow-y:auto;margin-bottom:20px;padding:20px;border:2px solid #e0e0e0;border-radius:8px;max-height:400px;background-color:#fafafa}.chat-message{margin-bottom:15px;padding:12px 16px;background-color:#fff;border-radius:8px;box-shadow:0 2px 5px #0000000d;animation:slideIn .3s ease;border-left:4px solid #4a6fa5}.chat-message.system-message{background-color:#f0f4f8;border-left-color:#9b59b6}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.sender{font-weight:700;color:#4a6fa5}.chat-message.system-message .sender{color:#9b59b6}.timestamp{font-size:12px;color:#999}.message-content{line-height:1.4;color:#333}@keyframes slideIn{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.chat-input{display:flex;margin-top:10px;gap:10px}.chat-input input{flex:1;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s ease}.chat-input input:focus{outline:none;border-color:#4a6fa5;box-shadow:0 0 0 3px #4a6fa51a}.chat-input button{padding:12px 24px;border:none;border-radius:8px;background-color:#4a6fa5;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease}.chat-input button:hover{background-color:#3a5a85;transform:translateY(-2px);box-shadow:0 5px 15px #4a6fa54d}.end-game-button{grid-column:1 / -1;padding:12px 24px;border:none;border-radius:8px;background-color:#e74c3c;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease}.end-game-button:hover{background-color:#c0392b;transform:translateY(-2px);box-shadow:0 5px 15px #e74c3c4d}.game-history{grid-column:1 / -1;padding:20px;background-color:#fff;border-radius:10px;box-shadow:0 5px 20px #0000001a;margin-bottom:20px}.game-history h3{color:#4a6fa5;margin-bottom:20px;font-size:1.4rem}.history-empty{text-align:center;padding:40px;color:#999;font-size:16px}.history-list{max-height:400px;overflow-y:auto;margin-bottom:20px}.history-item{padding:15px;margin-bottom:15px;background-color:#f8f9fa;border-radius:8px;border-left:4px solid #4a6fa5}.history-item h4{color:#4a6fa5;margin-bottom:10px;font-size:18px}.history-dice{margin-bottom:10px}.history-dice p{margin-bottom:5px;color:#666;font-weight:700}.history-dice-values{display:flex;flex-wrap:wrap;gap:10px}.history-dice-item{display:flex;align-items:center;gap:5px;padding:5px 10px;background-color:#fff;border-radius:15px;box-shadow:0 2px 4px #0000001a}.history-player-name{font-weight:700;color:#4a6fa5}.history-dice-number{font-weight:700;color:#9b59b6;font-size:16px}.history-question{margin-top:10px}.history-question p{margin-bottom:5px;line-height:1.4;color:#333}.close-history{padding:10px 20px;border:none;border-radius:5px;background-color:#4a6fa5;color:#fff;font-size:14px;cursor:pointer;transition:all .3s ease}.close-history:hover{background-color:#3a5a85;transform:translateY(-2px)}.history-button{padding:8px 16px;border:none;border-radius:5px;background-color:#3498db;color:#fff;font-size:14px;cursor:pointer;transition:all .3s ease;margin-left:10px}.history-button:hover{background-color:#2980b9;transform:translateY(-2px)}.stats-button{padding:8px 16px;border:none;border-radius:5px;background-color:#f39c12;color:#fff;font-size:14px;cursor:pointer;transition:all .3s ease;margin-left:10px}.stats-button:hover{background-color:#e67e22;transform:translateY(-2px)}.game-stats{grid-column:1 / -1;padding:20px;background-color:#fff;border-radius:10px;box-shadow:0 5px 20px #0000001a;margin-bottom:20px}.game-stats h3{color:#4a6fa5;margin-bottom:20px;font-size:1.4rem}.stats-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px}.stats-item{padding:15px;background-color:#f8f9fa;border-radius:8px;border-left:4px solid #4a6fa5}.stats-item h4{color:#4a6fa5;margin-bottom:15px;font-size:16px}.stats-item p{margin-bottom:10px;color:#666;line-height:1.4}.stats-empty{text-align:center;padding:20px;color:#999;font-size:16px}.dice-stats-list{display:flex;flex-direction:column;gap:8px}.dice-stat-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background-color:#fff;border-radius:6px;box-shadow:0 2px 4px #0000001a}.dice-stat-value{font-weight:700;color:#4a6fa5}.dice-stat-count{font-weight:700;color:#f39c12}.question-stats-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.question-stat-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background-color:#fff;border-radius:6px;box-shadow:0 2px 4px #0000001a}.question-stat-text{flex:1;font-size:14px;color:#333;margin-right:10px}.question-stat-count{font-weight:700;color:#9b59b6;min-width:40px;text-align:right}.close-stats{padding:10px 20px;border:none;border-radius:5px;background-color:#4a6fa5;color:#fff;font-size:14px;cursor:pointer;transition:all .3s ease}.close-stats:hover{background-color:#3a5a85;transform:translateY(-2px)}@media(max-width:768px){.game-container{grid-template-columns:1fr;grid-gap:8px}.game-status{order:-3;margin-bottom:10px}.system-messages-area{order:-2;padding:12px;margin-bottom:8px}.chat-area{order:-1;padding:12px;margin-bottom:8px}.players-list{order:1;margin-bottom:10px}.room-info{order:10;padding:12px;margin-bottom:8px}.game-settings,.game-history,.game-stats{order:5}.system-messages{max-height:100px;min-height:70px;padding:10px;background-color:#f0f4f8;font-size:13px}.chat-messages{max-height:120px;min-height:80px;padding:10px;font-size:13px}.game-status{padding:15px;background-color:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a}.game-state-title{font-size:1.1rem;margin-bottom:15px}.room-info{padding:10px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.room-info h2{font-size:1.1rem;margin-bottom:8px}.room-stats{flex-direction:column;gap:4px}.room-stats p{font-size:.85rem;margin:0}.player-card{width:90px;padding:10px;margin:6px}.player-card h3{font-size:.9rem;margin-bottom:8px}.dice{width:35px;height:35px}.system-message-item{margin-bottom:8px;padding:8px 12px;font-size:14px}.chat-message{margin-bottom:10px;padding:10px 12px}.message-content{font-size:14px;line-height:1.4}.name-input,.room-input{margin:20px auto;padding:20px;max-width:95%}h1{font-size:1.6rem;margin-bottom:15px;text-align:center}h2{font-size:1.3rem}h3{font-size:1.1rem}.players-list{flex-wrap:wrap;justify-content:center;margin-bottom:15px}.player-card{width:110px;padding:12px;margin:8px}.player-card h3{font-size:1rem;margin-bottom:10px;text-align:center}.dice{width:45px;height:45px}.room-info{padding:12px;margin-bottom:10px}.room-stats{flex-direction:column;gap:6px}.room-stats p{margin:0;font-size:.9rem}.room-actions{margin-top:10px;flex-wrap:wrap;justify-content:center;gap:8px}.settings-button,.history-button,.stats-button{padding:6px 10px;font-size:12px;margin:0}.game-status{padding:15px;margin-bottom:15px}.roll-button,.answer-button,.start-game-button{padding:12px 20px;font-size:15px;width:100%;max-width:200px}.chat-input{flex-direction:column;gap:8px}.chat-input input{padding:12px;font-size:14px;width:100%}.chat-input button{padding:10px 16px;font-size:14px;width:100%;max-width:120px;align-self:flex-end}.answer-input{padding:12px;font-size:14px;min-height:90px;width:100%}.timer-circle{width:50px;height:50px}.timer-number{font-size:18px}.game-history,.game-settings,.game-stats{padding:12px;margin-bottom:10px}.end-game-button{padding:10px 18px;font-size:14px}}@media(max-width:480px){.app{padding:10px}h1{font-size:1.4rem;margin-bottom:10px}h2{font-size:1.2rem}h3{font-size:1rem}.system-messages-area{order:-3;padding:12px;margin-bottom:8px}.chat-area{order:-2;padding:12px;margin-bottom:8px}.system-messages{max-height:100px;min-height:70px;padding:10px}.chat-messages{max-height:120px;min-height:80px;padding:10px}.player-card{width:95px;padding:10px;margin:6px}.player-card h3{font-size:.9rem;margin-bottom:8px}.dice{width:35px;height:35px}.chat-input{flex-direction:column;gap:6px}.chat-input input{padding:10px;font-size:13px}.chat-input button{padding:8px 14px;font-size:13px;max-width:100px}.room-actions{flex-direction:column;align-items:center;gap:6px}.settings-button,.history-button,.stats-button{width:90px;padding:6px 8px;font-size:11px;margin:0}.game-status{padding:12px;margin-bottom:12px}.roll-button,.answer-button,.start-game-button{padding:10px 16px;font-size:14px;width:100%;max-width:180px;margin-top:10px}.name-input,.room-input{margin:15px auto;padding:15px;max-width:95%}.answer-input{padding:10px;font-size:13px;min-height:70px}.timer-circle{width:45px;height:45px}.timer-number{font-size:16px}.game-settings,.game-history,.game-stats{padding:10px;margin-bottom:8px}.setting-item label{font-size:13px}.end-game-button{padding:8px 16px;font-size:13px}}
