.btn-primary{padding:14px 32px;border:none;border-radius:8px;font-size:1em;font-weight:600;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .3s;min-width:200px}.btn-primary:hover{transform:translateY(-2px)}.btn-primary:focus,.btn-primary:focus-visible{outline:4px auto -webkit-focus-ring-color}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5568d3;box-shadow:0 4px 12px #667eea66}.btn-secondary{padding:14px 32px;border:none;border-radius:8px;font-size:1em;font-weight:600;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .3s;min-width:200px}.btn-secondary:hover{transform:translateY(-2px)}.btn-secondary:focus,.btn-secondary:focus-visible{outline:4px auto -webkit-focus-ring-color}.btn-secondary{background:#f9f9f9;color:#333;border:2px solid #e0e0e0}.btn-secondary:hover{background:#e8e8e8}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;color:#555;font-size:.95em}.form-group input[type=text],.form-group input[type=number],.form-group input[type=password],.form-group textarea{padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1em;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;transition:border-color .3s}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group input[type=password]:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.form-actions{display:flex;gap:12px;margin-top:10px}.form-actions .btn-primary,.form-actions .btn-secondary{flex:1;padding:14px;min-width:auto}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y}#root{width:100%;height:100vh;overflow:hidden}a{font-weight:500;color:#667eea;text-decoration:inherit}a:hover{color:#5568d3}h1{font-size:3.2em;line-height:1.1;margin:0}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;background-color:#f9f9f9;cursor:pointer;transition:border-color .25s}button:hover{border-color:#667eea}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.player-name-form{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2)}.player-name-form .form-container{background:#fff;border-radius:12px;padding:2.5rem;box-shadow:0 10px 40px #0003;max-width:400px;width:100%}.player-name-form .form-container h2{margin:0 0 .5rem;color:#333;font-size:1.75rem}.player-name-form .form-container .form-description{margin:0 0 1.5rem;color:#666;font-size:.9rem;line-height:1.5}.player-name-form .form-container .form-group{margin-bottom:1.5rem}.player-name-form .form-container .form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.player-name-form .form-container .form-group input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .2s}.player-name-form .form-container .form-group input:focus{outline:none;border-color:#667eea}.player-name-form .form-container .form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.player-name-form .form-container .form-group .error-message{margin-top:.5rem;color:#e74c3c;font-size:.875rem}.player-name-form .form-container .btn-primary{width:100%;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.player-name-form .form-container .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.player-name-form .form-container .btn-primary:disabled{opacity:.6;cursor:not-allowed}.home-page{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;overflow:hidden}.home-container{text-align:center;color:#fff;width:100%;max-width:600px}.home-container h1{font-size:4em;margin:0 0 20px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.subtitle{font-size:1.5em;margin:0 0 40px;opacity:.9}.home-actions{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.home-actions .btn-primary{padding:14px 32px;border:none;border-radius:8px;font-size:1em;font-weight:600;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .3s;min-width:200px}.home-actions .btn-primary:hover{transform:translateY(-2px)}.home-actions .btn-primary:focus,.home-actions .btn-primary:focus-visible{outline:4px auto -webkit-focus-ring-color}.home-actions .btn-primary{background:#fff;color:#667eea}.home-actions .btn-primary:hover{box-shadow:0 8px 20px #0000004d}.home-actions .btn-secondary{padding:14px 32px;border:none;border-radius:8px;font-size:1em;font-weight:600;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;cursor:pointer;transition:all .3s;min-width:200px}.home-actions .btn-secondary:hover{transform:translateY(-2px)}.home-actions .btn-secondary:focus,.home-actions .btn-secondary:focus-visible{outline:4px auto -webkit-focus-ring-color}.home-actions .btn-secondary{background:#fff3;color:#fff;border:2px solid #ffffff}.home-actions .btn-secondary:hover{background:#ffffff4d}@media(max-width:767px){.home-container h1{font-size:2.5em}.subtitle{font-size:1.2em;margin:0 0 32px}.home-actions{flex-direction:column;gap:12px}.home-actions .btn-primary,.home-actions .btn-secondary{width:100%;min-width:auto}}.create-room-page{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.create-room-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;max-width:500px;width:100%;padding:40px;box-shadow:0 20px 60px #0000004d;margin:auto}.create-room-container h1{margin:0 0 30px;color:#333;font-size:2em;text-align:center}.create-room-form{display:flex;flex-direction:column;gap:20px}.form-error{padding:12px;background:#fee;border:1px solid #e74c3c;border-radius:8px;color:#e74c3c;font-size:.9em}.form-hint{margin-top:4px;font-size:.85em;color:#888;line-height:1.4}@media(max-width:767px){.create-room-page{padding:20px 12px 12px;align-items:flex-start}.create-room-container{padding:20px;max-width:100%}.create-room-container h1{font-size:1.5em;margin:0 0 20px}.create-room-form{gap:12px}}.rooms-list-page{width:100%;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;display:flex;flex-direction:column;overflow:hidden;position:relative}.rooms-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;height:100%;width:100%}.rooms-container .rooms-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;flex-shrink:0}.rooms-container .rooms-header h1{margin:0;color:#fff;font-size:2.5em}.rooms-container .rooms-header .btn-create-room{padding:12px 32px;background:#fff;color:#667eea;border:none;border-radius:12px;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s}.rooms-container .rooms-header .btn-create-room:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.rooms-container .rooms-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;min-height:0;padding-bottom:20px}.rooms-container .loading,.rooms-container .no-rooms{text-align:center;padding:40px;background:#fff;border-radius:16px;box-shadow:0 4px 12px #0003}.rooms-container .loading p,.rooms-container .no-rooms p{margin:0 0 20px;color:#333;font-size:1.1em}.rooms-container .rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.rooms-container .rooms-grid .room-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:32px;transition:all .3s;display:flex;flex-direction:column;gap:12px}.rooms-container .rooms-grid .room-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000004d}.rooms-container .rooms-grid .room-card .room-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.rooms-container .rooms-grid .room-card .room-card-header h3{margin:0;color:#333;font-size:1.5em}.rooms-container .rooms-grid .room-card .room-card-header .badge-private{padding:.25rem .75rem;background:#ff8c42;color:#fff;border-radius:8px;font-size:.75em;font-weight:600}.rooms-container .rooms-grid .room-card .room-card-description{margin:0;color:#555;font-size:.9em;line-height:1.5}.rooms-container .rooms-grid .room-card .room-card-info{display:flex;flex-direction:column;gap:4px;padding:12px;background:#f9f9f9;border-radius:8px}.rooms-container .rooms-grid .room-card .room-card-info .info-item{display:flex;justify-content:space-between;align-items:center}.rooms-container .rooms-grid .room-card .room-card-info .info-item .label{font-weight:500;color:#333}.rooms-container .rooms-grid .room-card .room-card-info .info-item .value{color:#555}.rooms-container .rooms-grid .room-card .btn-join{width:100%;padding:12px;background:#667eea;color:#fff;border:none;border-radius:12px;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s;margin-top:auto}.rooms-container .rooms-grid .room-card .btn-join:hover:not(:disabled){background:#5568d3;transform:translateY(-2px)}.rooms-container .rooms-grid .room-card .btn-join:disabled{background:#ddd;cursor:not-allowed;opacity:.6}@media(max-width:767px){.rooms-list-page{padding:12px}.rooms-container .rooms-header{flex-direction:column;gap:12px;align-items:stretch;margin-bottom:12px}.rooms-container .rooms-header h1{font-size:2em;text-align:center}.rooms-container .rooms-header .btn-create-room{width:100%}.rooms-container .rooms-content{padding-bottom:12px}.rooms-container .rooms-grid{grid-template-columns:1fr;gap:12px}}.room-page{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.room-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;max-width:600px;width:100%;padding:40px;box-shadow:0 20px 60px #0000004d}.room-container .room-header{margin-bottom:32px}.room-container .room-header h1{margin:0 0 8px;color:#333;font-size:2em}.room-container .room-header .room-description{margin:0;color:#555;font-size:1em}.room-container .room-info{display:flex;flex-direction:column;gap:12px;margin-bottom:32px;padding:20px;background:#f9f9f9;border-radius:12px}.room-container .room-info .info-item{display:flex;justify-content:space-between;align-items:center}.room-container .room-info .info-item .label{font-weight:600;color:#333}.room-container .room-info .info-item .value{color:#555}.room-container .error-message{padding:12px;background:#fee;border:1px solid #e74c3c;border-radius:8px;color:#e74c3c;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.room-container .error-message button{background:transparent;border:none;color:#e74c3c;font-size:1.5rem;cursor:pointer;padding:0 .5rem}.room-container .error-message button:hover{opacity:.8}.room-container .invite-section{margin-bottom:32px;padding:20px;background:#f9f9f9;border-radius:12px}.room-container .invite-section h3{margin:0 0 12px;color:#333}.room-container .invite-section .invite-link-container{display:flex;align-items:center;gap:8px;min-width:0}.room-container .invite-section .invite-link-container .invite-link-input{flex:1;min-width:0;padding:8px;border:2px solid #e0e0e0;border-radius:8px;font-size:.9em;background:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-container .invite-section .invite-link-container .btn-copy{flex-shrink:0;padding:8px 12px;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;white-space:nowrap}.room-container .invite-section .invite-link-container .btn-copy:hover{background:#5568d3}.room-container .join-section{margin-bottom:32px}.room-container .join-section .form-group{margin-bottom:12px}.room-container .join-section .form-group label{display:block;margin-bottom:4px;color:#333;font-weight:500}.room-container .join-section .form-group input{width:100%;padding:8px;border:2px solid #e0e0e0;border-radius:8px;font-size:1em}.room-container .join-section .form-group input:focus{outline:none;border-color:#667eea}.room-container .waiting-section{margin-bottom:32px;padding:20px;background:#e8f5e9;border-radius:12px;text-align:center;color:#2e7d32;font-weight:600}.room-container .actions{margin-bottom:32px}.room-container .players-list{padding:20px;background:#f9f9f9;border-radius:12px}.room-container .players-list h3{margin:0 0 12px;color:#333}.room-container .players-list .no-players{margin:0;color:#555;font-style:italic}.room-container .players-list .players{display:flex;flex-direction:column;gap:8px}.room-container .players-list .players .player-item{display:flex;justify-content:space-between;align-items:center;padding:8px;background:#fff;border-radius:8px}.room-container .players-list .players .player-item .badge{padding:.25rem .5rem;background:#667eea;color:#fff;border-radius:8px;font-size:.75em;font-weight:600}.room-container .btn-primary,.room-container .btn-secondary{width:100%;padding:12px;border:none;border-radius:12px;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s}.room-container .btn-primary:disabled,.room-container .btn-secondary:disabled{opacity:.6;cursor:not-allowed}.room-container .btn-primary{background:#667eea;color:#fff}.room-container .btn-primary:hover:not(:disabled){background:#5568d3}.room-container .btn-secondary{background:#e0e0e0;color:#333}.room-container .btn-secondary:hover:not(:disabled){background:#ddd}.loading,.error{text-align:center;padding:32px;color:#333}.error{color:#e74c3c}.hexagonal-grid-container{width:100%;max-width:1000px;margin:0 auto;background:#e8e8e8;border-radius:12px;padding:40px;overflow:hidden;display:flex;justify-content:center;align-items:center;min-height:400px;height:100%;position:relative;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent;outline:none}@media(max-width:767px){.hexagonal-grid-container{padding:0;min-height:300px}.hexagonal-grid{max-height:400px}}.hexagonal-grid{display:block;margin:0 auto;vertical-align:middle;flex-shrink:0;object-fit:contain;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0);-webkit-transform:translateZ(0);outline:none!important;-webkit-tap-highlight-color:transparent!important;tap-highlight-color:transparent!important}.hexagonal-grid:focus,.hexagonal-grid:active,.hexagonal-grid:focus-visible{outline:none!important}.hexagonal-grid *{outline:none!important;-webkit-tap-highlight-color:transparent!important}.hex-cells{transform-origin:center;outline:none;-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent}.hex-cell{outline:none!important;-webkit-tap-highlight-color:transparent!important;tap-highlight-color:transparent!important}.hex-cell:focus,.hex-cell:active,.hex-cell:focus-visible{outline:none!important;-webkit-tap-highlight-color:transparent!important}.hex-cell polygon{fill:#fff;stroke:#333;stroke-width:1.5;transition:all .2s ease;shape-rendering:geometricPrecision}.hex-cell:hover:not(.player1-selected):not(.player2-selected):not(.temporary-selected) polygon{fill:#f9f9f9;stroke:#333;stroke-width:1.5}.hex-cell.player1-selected,.hex-cell.player2-selected{opacity:.8;cursor:not-allowed}.hex-cell.player1-selected polygon{fill:#4a90e2;stroke:#2e5a8a;stroke-width:2.5}.hex-cell.player2-selected polygon{fill:#ff8c42;stroke:#cc6f35;stroke-width:2.5}.hex-cell.temporary-selected{cursor:pointer}.hex-cell.temporary-selected.temporary-player1 polygon{fill:#4a90e299;stroke:#4a90e2;stroke-width:2}.hex-cell.temporary-selected.temporary-player2 polygon{fill:#ff8c4299;stroke:#ff8c42;stroke-width:2}.hex-cell.temporary-selected:hover polygon{opacity:.9}.hex-cell.temporary-selected.last-selected polygon{stroke-width:3;filter:drop-shadow(0 0 4px rgba(0,0,0,.3))}.hex-cell text{pointer-events:none;-webkit-user-select:none;user-select:none;fill:#000;font-weight:700}.hex-cell.player1-selected text,.hex-cell.player2-selected text{fill:#000;font-weight:700}.selection-connection-line{pointer-events:none;filter:drop-shadow(0 0 3px rgba(0,0,0,.3));z-index:1;transition:opacity .2s ease}.selection-connection-line.player1-line{stroke:#4a90e2}.selection-connection-line.player2-line{stroke:#ff8c42}.confirmed-connection-line{pointer-events:none;filter:drop-shadow(0 0 2px rgba(0,0,0,.4));z-index:0}.confirmed-connection-line.player1-line{stroke:#29507a}.confirmed-connection-line.player2-line{stroke:#c96d34}.game-page{width:100%;height:100vh;background:#f0f0f0;padding:0;display:flex;flex-direction:column;gap:0;overflow:hidden;position:relative;min-height:100vh}.game-page.dragging{-webkit-user-select:none;user-select:none;cursor:ns-resize}.game-page.dragging *{cursor:ns-resize!important}.exit-button{position:fixed;top:20px;right:20px;z-index:1001;background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;transition:opacity .3s;width:64px;height:64px}.exit-button:hover{opacity:.7}.exit-button img{width:100%;height:100%;object-fit:contain}.error-banner{position:fixed;top:0;left:0;right:0;background:#e74c3c;color:#fff;padding:1rem;display:flex;justify-content:space-between;align-items:center;z-index:1000;box-shadow:0 2px 10px #0003}.error-banner button{background:transparent;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0 .5rem}.error-banner button:hover{opacity:.8}.game-header-section{flex-shrink:0;background:#fff;border-bottom:1px solid #e0e0e0}.loading{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;gap:1rem;color:#333;font-size:1.125rem;background:#f0f0f0}.game-board-section{flex:1;display:flex;justify-content:center;align-items:center;min-height:0;overflow:hidden;background:#f0f0f0}.game-controls{display:flex;flex-direction:column;gap:12px;padding:20px;background:#fff;border-top:1px solid #e0e0e0;flex-shrink:0}.game-controls .word-display{display:flex;align-items:center;gap:8px;font-size:1.125rem;font-weight:600}.game-controls .word-display .label{color:#555}.game-controls .word-display .word{color:#333;letter-spacing:.05em}.game-controls .btn-submit-word{padding:12px 32px;background:#4a90e2;color:#fff;border:none;border-radius:12px;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s}.game-controls .btn-submit-word:hover:not(:disabled){background:#2e5a8a;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.game-controls .btn-submit-word:disabled{background:#ddd;cursor:not-allowed;opacity:.6}.game-controls .btn-clear{padding:8px 20px;background:#e8e8e8;color:#333;border:none;border-radius:12px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s}.game-controls .btn-clear:hover{background:#e0e0e0}.game-controls-section{display:flex;flex-direction:column;gap:0;flex-shrink:0;background-color:#fff;min-height:0;overflow:hidden}.players-scores{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding:32px;background:#fff;min-height:120px;width:100%;gap:20px}.player-score{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1}.turn-indicator{font-size:.875rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;transition:all .3s;min-height:1.25rem}.player-score.current-turn .turn-indicator{color:#4a90e2;font-weight:700}.player-score.current-turn.player1 .turn-indicator{color:#4a90e2}.player-score.current-turn.player2 .turn-indicator{color:#ff8c42}.player-label{font-size:1em;color:#000;font-weight:500;margin-bottom:8px;transition:all .3s}.player1 .player-label,.player2 .player-label{color:#000}.player-score.current-turn .player-label{font-weight:700;color:#4a90e2;text-decoration:underline;text-decoration-color:#4a90e2;text-underline-offset:4px}.player-score.current-turn.player1 .player-label{color:#4a90e2}.player-score.current-turn.player2 .player-label{color:#ff8c42;text-decoration-color:#ff8c42}.score-value{font-size:3.5em;font-weight:700;line-height:1}.player1 .score-value{color:#4a90e2}.player2 .score-value{color:#ff8c42}.submit-word-section{flex:1;display:flex;justify-content:center;align-items:center;padding:0 20px;max-width:400px}.current-word-section{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:100%}.current-word{font-size:2em;font-weight:700;color:#000;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;text-align:center}.submit-word-btn{background:#333;color:#fff;border:none;border-radius:20px;padding:12px 40px;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s;min-width:200px}.submit-word-btn:hover:not(:disabled){background:#555;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.submit-word-btn:disabled{background:#ddd;cursor:not-allowed;opacity:.6}.words-history-resizer{display:none}.words-history{display:flex;flex-direction:row;gap:20px;padding:20px;background:#fff;border-top:1px solid #e0e0e0;flex-shrink:0;min-height:200px;max-height:300px;position:relative;overflow:hidden}.words-history .no-words{color:#888;font-style:italic;padding:8px 0;text-align:center}.words-history .words-history-content{display:flex;flex-direction:row;gap:20px;width:100%;height:100%;max-height:100%;overflow:hidden}.player-words{flex:1;display:flex;flex-direction:column;align-items:stretch;gap:4px;min-height:0;position:relative;overflow:hidden;height:100%;max-height:100%}.words-list{flex:1 1 0%;overflow-y:auto;overflow-x:hidden;min-height:0;max-height:100%;display:flex;flex-direction:column;gap:4px;position:relative;contain:layout}.words-footer{flex-shrink:0;display:flex;flex-direction:column;gap:4px}.player1-words,.player2-words{align-items:stretch}.word-entry{display:flex;justify-content:space-between;align-items:center;font-size:1em;color:#000;padding:4px 0;width:100%;text-transform:uppercase}.word-entry.separator{border-top:1px solid #ddd;margin:8px 0;padding:4px 0 0;flex-shrink:0}.word-entry.total{font-weight:700;font-size:1.1em;margin-top:4px;flex-shrink:0}.word-entry.underlined{text-decoration:underline;text-decoration-color:#4a90e2}.word-text{flex:1;text-align:left}.word-score{flex-shrink:0;text-align:right;margin-left:12px;font-weight:600}@media(min-width:1024px){.game-board-section{flex:2;min-height:0}}@media(max-width:767px){.game-page{gap:0}.game-board-section{flex:1;min-height:300px;max-height:none}.game-controls-section{flex:1;min-height:0;overflow:hidden}.players-scores{flex-direction:row;flex-wrap:wrap;gap:12px;padding:12px;flex-shrink:0}.player-score{flex:1;min-width:0;order:1}.player-score.player2{order:2}.submit-word-section{order:3;width:100%;max-width:100%;padding:12px 0;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;margin-top:8px;flex-basis:100%}.words-history-resizer{display:block;width:100%;height:12px;background:#e8e8e8;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;cursor:ns-resize;flex-shrink:0;position:relative;touch-action:none;-webkit-user-select:none;user-select:none}.words-history-resizer:hover{background:#e0e0e0}.words-history-resizer:active{background:#4a90e2}.words-history-resizer:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:4px;background:#ddd;border-radius:2px}.words-history{flex-direction:row;gap:12px;padding:12px;flex:0 0 auto;min-height:30px;max-height:70vh;height:200px;overflow:hidden;justify-content:space-around;border-top:none}.words-history .words-history-content{display:flex;flex-direction:row;gap:12px;padding:0;width:100%;height:100%;max-height:100%;overflow:hidden}.words-list{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.player-words{flex:1;max-width:40%;overflow:hidden;display:flex;flex-direction:column;height:100%;max-height:100%}.words-list{flex:1 1 0%;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;position:relative;contain:layout}.words-footer{flex-shrink:0}.player1-words,.player2-words{align-items:stretch}.current-word{font-size:1.5em}.score-value{font-size:2em}.player-label{font-size:.9em}.submit-word-btn{min-width:auto;width:100%;padding:8px 20px;font-size:.9em}}.game-end-modal{position:fixed;inset:0;z-index:2000;display:flex;justify-content:center;align-items:center}.modal-overlay{position:absolute;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{position:relative;background:#fff;border-radius:20px;padding:40px;max-width:500px;width:90%;box-shadow:0 20px 60px #0000004d;z-index:2001;display:flex;flex-direction:column;gap:32px;align-items:center}.modal-title{font-size:2rem;font-weight:700;color:#000;margin:0;text-align:center}.winner-message{font-size:1.5rem;font-weight:600;color:#4a90e2;margin:0;text-align:center}.rematch-section,.rematch-notification{width:100%;display:flex;flex-direction:column;gap:12px;align-items:center}.rematch-message{font-size:1em;color:#333;text-align:center;margin:0}.rematch-buttons{display:flex;gap:12px;width:100%;justify-content:center;flex-wrap:wrap}.btn-request-rematch,.btn-accept-rematch{padding:12px 32px;background:#4a90e2;color:#fff;border:none;border-radius:12px;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s;min-width:150px}.btn-request-rematch:hover,.btn-accept-rematch:hover{background:#2e5a8a;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-decline-rematch,.btn-exit{padding:12px 32px;background:#e0e0e0;color:#333;border:none;border-radius:12px;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s;min-width:150px}.btn-decline-rematch:hover,.btn-exit:hover{background:#ddd;transform:translateY(-2px);box-shadow:0 4px 12px #0003}@media(max-width:767px){.exit-button{top:12px;right:12px;width:48px;height:48px}.modal-content{padding:32px;max-width:90%}.modal-title{font-size:1.5rem}.winner-message{font-size:1.25rem}.rematch-buttons{flex-direction:column}.btn-request-rematch,.btn-accept-rematch,.btn-decline-rematch,.btn-exit{width:100%;min-width:auto}}
