.Toast_toast-container__PpagX{position:fixed;top:20px;right:20px;z-index:10002;display:flex;flex-direction:column;gap:10px}.Toast_toast__LpFPJ{padding:15px 20px;border-radius:8px;color:#fff;font-size:16px;box-shadow:0 4px 12px rgba(0,0,0,.15);opacity:.95;transition:all .3s ease-in-out;cursor:pointer;min-width:250px;text-align:center}.Toast_toast__LpFPJ:hover{box-shadow:0 6px 16px rgba(0,0,0,.2);opacity:1}.Toast_toast-success__qf_o2{background-color:#28a745}.Toast_toast-error__2C1At{background-color:#dc3545}.Toast_toast-info__03OZH{background-color:#17a2b8}.difficulty-display,.difficulty-selector{display:flex;align-items:center;gap:.5rem}.difficulty-label,.score-explanation{font-size:.9rem;font-weight:500;color:#333}.difficulty-button{background-color:#007bff;color:white;border:none;border-radius:4px;padding:.4rem .8rem;font-size:.9rem;font-weight:700;cursor:pointer;transition:background-color .2s ease;min-width:2rem}.difficulty-button:hover:not(:disabled){background-color:#0056b3}.difficulty-button:disabled{background-color:#6c757d;cursor:not-allowed}.difficulty-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000}.difficulty-modal{background-color:white;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.2);max-width:600px;width:90vw;max-height:80vh;overflow-y:auto;position:relative}.difficulty-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #dee2e6}.difficulty-modal-header h3{margin:0;font-size:1.2rem;color:#333}.modal-close-button{font-size:1.5rem;color:#6c757d;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.modal-close-button:hover{color:#333}.difficulty-levels{display:flex;gap:.5rem;padding:1.5rem;justify-content:center;flex-wrap:wrap}.difficulty-level-button{width:3rem;height:3rem;border:2px solid #dee2e6;border-radius:6px;background-color:white;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.difficulty-level-button.current{border-color:#007bff;background-color:#007bff;color:white}.difficulty-level-button.available:not(.current):hover{border-color:#28a745;background-color:#f8fff9;color:#28a745}.difficulty-level-button.disabled{border-color:#dee2e6;background-color:#f8f9fa;color:#6c757d;cursor:not-allowed;opacity:.5}.difficulty-modal-footer{padding:1rem 1.5rem;border-top:1px solid #dee2e6;display:flex;justify-content:center}.help-button{background-color:#6c757d;color:white;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;cursor:pointer;transition:background-color .2s ease}.help-button:hover{background-color:#5a6268}.difficulty-help{border-top:1px solid #dee2e6;padding:1.5rem;background-color:#f8f9fa}.difficulty-help h4{margin:0 0 1rem;font-size:1rem;color:#333}.difficulty-descriptions{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.difficulty-description{display:grid;grid-template-columns:2rem 1fr;gap:.5rem;padding:.5rem;border-radius:4px;background-color:white;transition:opacity .2s ease}.difficulty-description.disabled{opacity:.5}.level-label{font-weight:700;color:#007bff;text-align:center}.level-desc{font-size:.9rem;color:#333}.difficulty-note{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;padding:1rem;margin-top:1rem}.difficulty-note p{margin:0;font-size:.9rem;color:#856404;line-height:1.4}@media (max-width:768px){.difficulty-modal{width:95vw;margin:1rem}.difficulty-levels{gap:.4rem;padding:1rem}.difficulty-level-button{width:2.5rem;height:2.5rem;font-size:1rem}.difficulty-description{grid-template-columns:1.5rem 1fr;padding:.4rem}.level-desc{font-size:.8rem}}.difficulty-slider-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.1);z-index:9999;pointer-events:all}.difficulty-slider-popover{background:white;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.15);border:1px solid #e0e0e0;width:420px;max-width:calc(100vw - 32px)}.difficulty-slider-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #eee}.difficulty-slider-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#333}.difficulty-slider-close{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.difficulty-slider-close:hover{background:#f0f0f0;color:#333}.difficulty-slider-content{padding:1.5rem}.difficulty-current-display{margin-top:1.5rem;text-align:center;display:flex;flex-direction:column;align-items:stretch}.difficulty-level{font-size:1.25rem;font-weight:700;color:#007bff;margin-bottom:.5rem}.difficulty-description{font-size:.9rem;color:#666;line-height:1.4;width:100%;text-align:center;padding:.75rem 1rem;box-sizing:border-box;word-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef;margin-top:.5rem;min-height:3rem;display:flex;align-items:center;justify-content:center;overflow-wrap:break-word;white-space:normal}.difficulty-slider-container{margin:1.5rem 0;position:relative}.slider-labels{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.8rem;color:#666}.difficulty-slider-input{width:100%;height:8px;border-radius:4px;outline:none;border:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:1rem 0;position:relative}.difficulty-slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#007bff;cursor:pointer;border:2px solid white;box-shadow:0 2px 6px rgba(0,0,0,.2);-webkit-transition:all .2s ease;transition:all .2s ease}.difficulty-slider-input::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 3px 8px rgba(0,0,0,.3)}.difficulty-slider-input::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#007bff;cursor:pointer;border:2px solid white;box-shadow:0 2px 6px rgba(0,0,0,.2);-moz-transition:all .2s ease;transition:all .2s ease}.difficulty-slider-input::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 3px 8px rgba(0,0,0,.3)}.slider-ticks{position:relative;height:20px;margin-top:.5rem}.slider-tick{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translateX(-50%)}.tick-mark{width:2px;height:8px;background:#ccc;border-radius:1px;margin-bottom:2px;transition:all .2s ease}.slider-tick.active .tick-mark{background:#007bff;height:12px}.tick-label{font-size:.7rem;color:#666;font-weight:500;transition:all .2s ease}.slider-tick.active .tick-label{color:#007bff;font-weight:600}.slider-tick.disabled .tick-mark{background:#e9ecef;opacity:.5}.slider-tick.disabled .tick-label{color:#adb5bd;opacity:.5}.difficulty-slider-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #eee}.difficulty-slider-apply,.difficulty-slider-cancel{padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.difficulty-slider-cancel{background:#f8f9fa;color:#666}.difficulty-slider-cancel:hover{background:#e9ecef;color:#333}.difficulty-slider-apply{background:#007bff;color:white}.difficulty-slider-apply:hover:not(:disabled){background:#0056b3;transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.difficulty-slider-apply:disabled{background:#ccc;cursor:not-allowed}@media (max-width:768px){.difficulty-slider-overlay{display:flex;align-items:center;justify-content:center;padding:16px;z-index:10000!important;position:fixed!important;top:0!important;left:0!important;bottom:0!important;right:0!important;width:100vw!important;height:100vh!important}.difficulty-slider-popover{width:calc(100vw - 32px);max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);margin:0;overflow:auto;position:relative!important;top:auto!important;left:auto!important;bottom:auto!important;transform:none!important;z-index:10001!important}.difficulty-slider-header{padding:1rem}.difficulty-slider-content{padding:1rem;max-height:calc(100vh - 200px);overflow-y:auto}.difficulty-level{font-size:1.1rem}.difficulty-description{font-size:.85rem;min-height:2.5rem}.tick-label{font-size:.65rem}.difficulty-slider-input::-webkit-slider-thumb{width:24px;height:24px}.difficulty-slider-input::-moz-range-thumb{width:24px;height:24px}.difficulty-slider-container{margin:1rem 0}.difficulty-slider-actions{margin-top:1rem;padding-top:.75rem}}.hex-board-zoom-wrapper{position:relative;width:100%;max-width:100%;max-height:70vh;overflow:hidden;border-radius:8px;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px;box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:none;-webkit-user-zoom:disabled}.hex-board-zoom-content,.hex-board-zoom-wrapper{height:auto}.hex-board-zoom-content{width:100%;height:100%;transform-origin:center center;transition:transform .1s ease-out;will-change:transform;transform:translateZ(0);display:flex;align-items:center;justify-content:center;min-height:100%;-webkit-backface-visibility:hidden;-webkit-perspective:1000px}.hex-board-zoom-wrapper *{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.game-layout{display:flex;gap:2rem;align-items:flex-start;height:100%}.hex-board-container{flex:1;min-width:0;position:relative;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:.5rem}.board-score-section{display:flex;justify-content:center;align-items:center;gap:2rem;width:100%;flex-wrap:wrap}.clue-section,.hint-section{flex:0 0 450px;padding:1rem 0}.clue-list{width:100%}.clue-table{width:100%;border-collapse:collapse;margin-bottom:1rem}.clue-row{transition:all .2s ease}.clue-squares-cell{text-align:right;vertical-align:middle;padding:.4rem .5rem;width:auto;white-space:nowrap}.clue-text-cell,.clue-text-cell-full{text-align:left;vertical-align:middle;padding:.4rem .5rem;font-size:.95rem;line-height:1.3;color:#333;font-weight:500;white-space:nowrap}.clue-text-cell-full{width:100%}.letter-squares{display:flex;gap:.2rem;flex-wrap:nowrap;justify-content:flex-end}.letter-square{width:1.5rem;height:1.5rem;border:2px solid #ddd;border-radius:3px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;background-color:white;transition:all .3s ease;flex-shrink:0}.letter-square.empty{border-color:#ccc;background-color:#f8f9fa}.letter-square.filled{border-color:#28a745;background-color:#d4edda;color:#155724}.letter-square.revealed{border-color:#17a2b8;background-color:#d1ecf1;color:#0c5460}.clue-progress{text-align:center;font-weight:600;color:#333;font-size:.9rem;padding:.5rem;background-color:#e9ecef;border-radius:4px}.clue-empty,.clue-error,.clue-loading{text-align:center;padding:2rem;font-size:1rem;color:#666}.clue-error{color:#dc3545}.clue-highlighted{background-color:#fff3cd!important;border-left:3px solid #ffc107}.clue-clickable{cursor:pointer}.clue-clickable:hover{background-color:#f8f9fa;transform:translateX(2px)}@media (max-width:1200px){.clue-section,.hint-section{flex:0 0 400px}}@media (max-width:1024px){.game-layout{flex-direction:column;gap:1rem;align-items:stretch}.clue-section,.hint-section{flex:none;width:100%}.hex-board-container{width:100%}.hex-board-zoom-wrapper{max-height:60vh}}@media (max-width:768px){.hex-board-zoom-content{justify-content:flex-start}.clue-section,.hint-section{padding:.5rem 0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.clue-inline-placeholders{color:#6b7280;font-size:1.7em;line-height:1;vertical-align:text-bottom}.clue-inline-answer{font-weight:800;color:#111827;letter-spacing:.5px}.clue-table{border-collapse:separate;border-spacing:0}.clue-row{display:block;margin:0;padding:2px 0;border:none;border-radius:0;background-color:transparent}.clue-squares-cell{display:block;width:100%;text-align:center;padding:.1rem 0;margin-bottom:0;border-bottom:0}.clue-text-cell,.clue-text-cell-full{display:block;width:100%;padding:1px 0;font-size:.95rem;white-space:normal;word-wrap:break-word;line-height:1.4}.letter-squares{justify-content:center;gap:.15rem}.letter-square{width:1.25rem;height:1.25rem;font-size:.7rem}.board-score-section{flex-direction:column;gap:1rem}.hex-board-zoom-wrapper{max-height:65vh;padding:2px}.hex-board-container{gap:.3rem}}@media (max-width:480px){.hex-board-zoom-wrapper{max-height:70vh;padding:2px}.board-score-section{gap:.5rem}.hex-board-container{gap:.2rem}}.status-bar{display:flex;align-items:center;font-size:.9rem;color:#333;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:.5rem 1rem;white-space:nowrap;margin-right:auto}.status-bar.loading{color:#6c757d;font-style:italic}.status-bar.error{color:#dc3545;border-color:#dc3545;background-color:#f8d7da}.status-content{display:flex;align-items:center;gap:1rem}.status-metric{display:flex;align-items:baseline;gap:.3rem}.metric-label{font-weight:500;color:#6c757d;font-size:.85rem}.metric-value{font-weight:700;color:#007bff;font-size:.9rem}.status-separator{color:#dee2e6;font-weight:400}@media (max-width:768px){.status-bar{font-size:.8rem;padding:.4rem .8rem}.status-content{gap:.8rem}.metric-label{font-size:.75rem}.metric-value{font-size:.8rem}}@media (max-width:480px){.status-content{flex-direction:column;gap:.3rem;text-align:center}.status-separator{display:none}}.animated-score-counter{display:inline-flex;flex-direction:column;align-items:center;gap:0;padding:.1rem;background:transparent;min-width:180px}.score-label{font-size:.9rem;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.5px;margin-bottom:0}.score-display{display:flex;gap:.25rem;align-items:center;justify-content:center}.digit-separator{font-size:1.8rem;font-weight:700;color:#f39c12;margin:0 .1rem}.digit-container{position:relative;width:2.5rem;height:3rem;background:linear-gradient(145deg,#2c3e50,#34495e);border:2px solid #1a252f;border-radius:6px;overflow:hidden;box-shadow:inset 0 2px 4px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2)}.digit-wheel{position:relative}.digit-current,.digit-wheel{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.digit-current{transition:transform .3s ease}.digit-current,.digit-next{font-size:1.8rem;font-weight:700;color:#f39c12;text-shadow:0 1px 2px rgba(0,0,0,.5),0 0 10px rgba(243,156,18,.3);font-family:Courier New,monospace}.digit-next{position:absolute;top:100%;left:0;right:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.digit-container.animating .digit-wheel{animation:digitRoll .8s ease-out forwards}@keyframes digitRoll{0%{transform:translateY(0)}50%{transform:translateY(-50%) rotateX(90deg)}to{transform:translateY(-100%)}}.digit-container:before{top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.digit-container:after,.digit-container:before{content:"";position:absolute;left:0;right:0;z-index:1;pointer-events:none}.digit-container:after{top:0;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.1),transparent 20%,transparent 80%,rgba(0,0,0,.1))}@media (max-width:768px){.animated-score-counter{min-width:160px;padding:0}.digit-container{width:2rem;height:2.5rem}.digit-current,.digit-next{font-size:1.5rem}.score-label{font-size:.8rem}}.hint-display{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:12px;margin:12px 0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;width:100%}.hint-header{display:flex;align-items:center;gap:16px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #dee2e6}.hint-header h3{margin:0;font-size:16px;font-weight:600;color:#495057}.difficulty-section{display:flex;align-items:center;gap:8px}.difficulty-number-display{background:#007bff;color:white;border:none;padding:.25rem 1.2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px rgba(0,0,0,.1)}.difficulty-number-display:hover:not(:disabled){background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.difficulty-number-display:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:0 2px 4px rgba(0,0,0,.1)}.difficulty-label{font-weight:500;color:#495057;font-size:14px}.score-explanation{font-size:14px;color:#6c757d;font-weight:500}.hint-top-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px;padding:8px 0;width:100%;align-items:center}.hint-item-inline{display:flex;align-items:center;gap:4px;background-color:white;padding:4px 8px;border-radius:4px;border:1px solid #dee2e6;font-size:14px}.hint-label-inline{font-weight:500;color:#6c757d}.hint-value-inline{font-weight:600;color:#28a745}.hint-item-inline.fill-ratio .hint-value-inline{color:#17a2b8}.hint-item-inline.category .hint-value-inline{color:#fd7e14}.hint-item-inline.word-count .hint-value-inline{color:#28a745}.hint-item-inline.path-analysis{background-color:#fff3cd;border-color:#ffc107}.hint-item-inline.path-analysis .hint-value-inline{color:#856404}.hint-item{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:4px}.hint-label{font-weight:500;color:#6c757d;font-size:14px}.hint-value{font-weight:600;color:#28a745;font-size:15px}.hint-item.matching-clues{background-color:#d1ecf1;border-left:3px solid #17a2b8}.hint-item.matching-clues .hint-value{color:#0c5460}.hint-item.revealed-words{background-color:#d4edda;border-left:3px solid #28a745}.hint-item.revealed-words .hint-value{color:#155724}.hint-item.click-highlight{background-color:#e2e3e5;border-left:3px solid #6c757d}.hint-item.click-highlight .hint-value{color:#495057}.clue-section-integrated{width:100%;margin-top:8px;padding-top:8px;border-top:1px solid #dee2e6}@media (max-width:768px){.hint-display{padding:8px 12px;margin:0}.hint-header{display:none!important;border-bottom:0!important;padding-bottom:0!important;margin-bottom:0!important}.mobile-difficulty-explanation{text-align:center;margin-top:4px;color:#374151;font-size:13px;line-height:1.35}.mobile-difficulty-explanation .change-level-link{background:none;border:none;color:#2563EB;text-decoration:underline;cursor:pointer;padding:0;font-size:13px}.difficulty-number-display,.difficulty-section,.score-explanation{display:none!important}.hint-header{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:12px}.difficulty-section{order:1;display:flex;justify-content:center}.difficulty-number-display{padding:.6rem 1.2rem;font-size:.9rem;width:auto;min-width:120px}.score-explanation{order:2;text-align:center;font-size:13px;padding:8px;background-color:#f1f3f4;border-radius:6px;margin-top:4px}.hint-top-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-bottom:0;justify-content:center}.hint-item-inline{display:inline-flex;align-items:center;gap:4px;background-color:white;padding:4px 8px;border-radius:12px;border:1px solid #dee2e6;font-size:12px;white-space:nowrap;min-width:auto;flex:0 0 auto}.hint-label-inline{font-weight:500;color:#6c757d}.hint-value-inline{font-weight:600}.clue-section-integrated{margin-top:0;padding-top:0;overflow-y:auto;-webkit-overflow-scrolling:touch}}@media (max-width:480px){.hint-display{padding:6px 10px;margin:0}.difficulty-number-display{padding:.5rem 1rem;font-size:.85rem;min-width:100px}.score-explanation{font-size:12px}.hint-item-inline{padding:6px 10px;font-size:12px}}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
/* ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-0{bottom:0}.left-0{left:0}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.hidden{display:none}.h-64{height:16rem}.w-full{width:100%}.flex-1{flex:1 1 0%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-wait{cursor:wait}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.border{border-width:1px}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}body,html{padding:0;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}a{color:inherit;text-decoration:none}*{box-sizing:border-box}#__next{width:100%;height:100%}.game-container{padding:20px;flex-direction:column;justify-content:center;min-height:calc(100vh - 200px);margin:0 auto}.game-container,.game-controls{display:flex;align-items:center;width:100%}.game-controls{justify-content:flex-end;max-width:1200px;margin-bottom:1.5rem;padding-right:1rem}.hex-board{display:flex;flex-direction:column;margin-top:-25px;position:relative;z-index:1;width:-moz-fit-content;width:fit-content}.hex-row{display:flex;gap:4px;margin-bottom:-14px}.hex-row:nth-child(odd){margin-left:32px}.hex-cell{background-repeat:no-repeat;background-position:50%;background-size:contain}.hex-cell:not(.found):not(.selected):hover{background-color:#d0d0d0;transform:scale(1.05)}.hex-cell.clickable{background-color:#f0f0f0;box-shadow:none}.hex-board.has-selection .hex-cell.clickable{background-color:#E8F5E9;box-shadow:0 0 8px rgba(76,175,80,.3)}.hex-board.has-selection .hex-cell.clickable:not(.found):hover{background-color:#C8E6C9;transform:scale(1.05)}.hex-cell.selected{background-color:#81C784;color:white}.hex-cell.selected:active,.hex-cell.selected:focus,.hex-cell.selected:hover{background-color:#66BB6A;color:white;transform:scale(1.05)}.hex-cell.found{background-color:transparent;color:#333;font-weight:700;font-size:24px;cursor:not-allowed;position:relative;z-index:1}.hex-cell.highlighted{background-color:#FFC107;color:#856404;font-weight:700;animation:highlightPulse 1s ease-in-out infinite}@keyframes highlightPulse{0%,to{border-color:#FFC107;box-shadow:0 0 5px rgba(255,193,7,.5)}50%{border-color:#FFB300;box-shadow:0 0 15px rgba(255,193,7,.8)}}.hex-cell.found:before{content:"";position:absolute;width:30px;height:30px;background-color:#FFD700;border-radius:50%;z-index:-1}.hex-cell.found:after{display:none}.hex-cell.empty-cell{opacity:0;pointer-events:none;cursor:default}.incoming-right{--incoming-bg:url(/incoming-right.svg)}.incoming-left{--incoming-bg:url(/incoming-left.svg)}.incoming-topright{--incoming-bg:url(/incoming-topright.svg)}.incoming-topleft{--incoming-bg:url(/incoming-topleft.svg)}.incoming-bottomright{--incoming-bg:url(/incoming-bottomright.svg)}.incoming-bottomleft{--incoming-bg:url(/incoming-bottomleft.svg)}.outgoing-right{--outgoing-bg:url(/outgoing-right.svg)}.outgoing-left{--outgoing-bg:url(/outgoing-left.svg)}.outgoing-topright{--outgoing-bg:url(/outgoing-topright.svg)}.outgoing-topleft{--outgoing-bg:url(/outgoing-topleft.svg)}.outgoing-bottomright{--outgoing-bg:url(/outgoing-bottomright.svg)}.outgoing-bottomleft{--outgoing-bg:url(/outgoing-bottomleft.svg)}[class*=incoming-][class*=outgoing-]{background-image:var(--incoming-bg,none),var(--outgoing-bg,none);background-repeat:no-repeat,no-repeat;background-position:50%,50%;background-size:100%,100%}[class*=incoming-]:not([class*=outgoing-]){background-image:var(--incoming-bg,none);background-repeat:no-repeat;background-position:50%;background-size:100%}[class*=outgoing-]:not([class*=incoming-]){background-image:var(--outgoing-bg,none);background-repeat:no-repeat;background-position:50%;background-size:100%}[class*=incoming-],[class*=outgoing-]{background-color:transparent!important}@keyframes completionPopup{0%{opacity:0;transform:scale(.6) translateY(30px)}50%{transform:scale(1.08)}75%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}.completion-popup{animation:completionPopup .6s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes blob{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}to{transform:translate(0) scale(1)}}.animate-blob{animation:blob 7s infinite}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}svg{max-width:100%;height:auto;display:inline-block;vertical-align:middle}.icon-container svg,h2 svg{width:1.5rem;height:1.5rem;overflow:visible}.score-display{font-size:1.25rem;font-weight:700;background-color:#f0f0f0;padding:.5rem 1rem;border-radius:1rem;margin-bottom:2rem;box-shadow:0 2px 4px rgba(0,0,0,.1);position:relative;z-index:2;transform:translateY(-1rem)}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}@media (min-width:768px){.md\:flex-row{flex-direction:row}}.homepage-container{width:100%;height:calc(100vh - 120px);display:flex;flex-direction:column}.homepage-content{max-width:900px;margin:0 auto;background-color:white;border-radius:.75rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);overflow:hidden;flex:1;display:flex;flex-direction:column}.homepage-header{background:linear-gradient(90deg,#14b8a6,#2563eb);padding:1.5rem;text-align:center;flex-shrink:0}.homepage-title{font-size:2rem;font-weight:700;color:white;margin-bottom:.5rem}.homepage-subtitle{font-size:1rem;color:rgba(255,255,255,.9)}.homepage-main{padding:1.5rem 2rem;flex:1;display:flex;flex-direction:column;overflow-y:auto}.homepage-section{margin-bottom:1.5rem}.homepage-section:last-of-type{margin-bottom:0;flex-grow:1;display:flex;flex-direction:column}.section-title{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:1rem;display:flex;align-items:center}.section-title svg{width:1.25rem;height:1.25rem;margin-right:.5rem;color:#14b8a6}.status-container{background-color:#f9fafb;border-radius:.5rem;padding:1rem;border:1px solid #e5e7eb}.status-panel{padding:.75rem;border-radius:.25rem}.status-user{background-color:#d1fae5;border-left:4px solid #10b981}.status-guest{background-color:#dbeafe;border-left:4px solid #3b82f6}.status-anonymous{background-color:#fef3c7;border-left:4px solid #f59e0b}.status-text{font-weight:500;font-size:.875rem}.status-primary{color:#065f46;margin-bottom:.25rem}.status-primary-guest{color:#1e40af;margin-bottom:.25rem}.status-primary-anonymous{color:#92400e;margin-bottom:.25rem}.status-secondary{font-size:.75rem;color:#047857;margin-top:.25rem}.status-secondary-guest{font-size:.75rem;color:#1e40af;margin-top:.25rem}.status-secondary-anonymous{font-size:.75rem;color:#92400e;margin-top:.25rem}.status-bold{font-weight:700}.steps-container{display:flex;flex-direction:column;gap:.75rem;margin-bottom:auto}.step-item{display:flex;align-items:flex-start;padding:.75rem;border-radius:.5rem}.step-1{background-color:#f0fdfa}.step-2{background-color:#ecfeff}.step-3{background-color:#eff6ff}.step-number{flex-shrink:0;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;margin-right:.75rem;border-radius:9999px;color:white;font-weight:700;font-size:.875rem}.step-number-1{background-color:#14b8a6}.step-number-2{background-color:#06b6d4}.step-number-3{background-color:#3b82f6}.step-content h3{font-weight:700;font-size:1rem;margin-bottom:.25rem}.step-title-1{color:#115e59}.step-title-2{color:#155e75}.step-title-3{color:#1e40af}.step-text{color:#4b5563;font-size:.875rem}.cta-container{text-align:center;margin:auto 0;padding:1rem 0}.cta-button{display:inline-block;background:linear-gradient(90deg,#14b8a6,#2563eb);color:white;font-weight:700;font-size:1.125rem;padding:.75rem 2rem;border-radius:.5rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);transition:all .3s;margin:.25rem}.cta-button:hover{background:linear-gradient(90deg,#0d9488,#1d4ed8);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);transform:translateY(-2px)}.cta-button-secondary{background:linear-gradient(90deg,#6b7280,#4b5563);font-size:1rem;padding:.5rem 1.5rem}.cta-button-secondary:hover{background:linear-gradient(90deg,#4b5563,#374151)}.stats-container{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;text-align:center;margin-top:0;flex-shrink:0}.stat-item{background-color:#f9fafb;padding:.75rem;border-radius:.5rem;border:1px solid #e5e7eb}.stat-number{font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.number-1{color:#14b8a6}.number-2{color:#3b82f6}.number-3{color:#10b981}.stat-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}@media (max-width:768px){.homepage-container{height:calc(100vh - 100px)}.homepage-title{font-size:1.75rem}.homepage-header{padding:1rem;margin-top:.5rem}.homepage-main{padding:1rem}.stats-container{grid-template-columns:1fr;gap:.5rem}.step-item{flex-direction:column;text-align:center}.step-number{margin-right:0;margin-bottom:.5rem}}.mobile-header{position:fixed;top:0;left:0;right:0;height:50px;background:#fff;border-bottom:1px solid #e0e0e0;z-index:1000;box-shadow:0 2px 4px rgba(0,0,0,.1)}.mobile-header-container{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 12px;max-width:100vw}.mobile-header-logo{flex:0 0 auto}.mobile-header-logo a{font-size:16px;font-weight:700;color:#2563eb;text-decoration:none}.mobile-header-center{flex:1;display:flex;justify-content:center;align-items:center;gap:8px}.difficulty-badge-button{background:#2563eb;color:#fff;border:none;border-radius:12px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:4px}.difficulty-badge-button .badge-dot{width:6px;height:6px;border-radius:50%;background:#fff}.mobile-header-menu{flex:0 0 auto;position:relative;margin-right:21px}.mobile-menu-toggle{background:none;border:none;font-size:18px;color:#6b7280;padding:6px;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s}.mobile-menu-toggle:hover{background:#f3f4f6}.mobile-menu-toggle:active{background:#e5e7eb}.mobile-menu-dropdown{position:absolute;top:100%;right:0;background:#fff;border-radius:8px;box-shadow:0 10px 25px rgba(0,0,0,.15);border:1px solid #e5e7eb;min-width:160px;max-width:200px;z-index:1001;margin-top:4px;animation:mobile-menu-slide .2s ease-out}@keyframes mobile-menu-slide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-menu-section{padding:8px 0}.mobile-menu-section:first-child{padding-top:12px}.mobile-menu-section:last-child{padding-bottom:12px}.mobile-menu-divider{height:1px;background:#e5e7eb;margin:0 12px}.mobile-menu-item{display:block;width:100%;padding:8px 16px;text-align:left;background:none;border:none;color:#374151;font-size:14px;text-decoration:none;cursor:pointer;transition:background-color .2s}.mobile-menu-item:hover{background:#f9fafb;color:#111827}.mobile-menu-user{padding:8px 16px;border-bottom:1px solid #e5e7eb}.mobile-menu-username{display:block;font-weight:600;color:#111827;font-size:14px}.mobile-menu-role{display:block;font-size:12px;color:#6b7280;margin-top:2px}.mobile-menu-logout{color:#dc2626!important}.mobile-menu-logout:hover{background:#fef2f2!important}@media (max-width:768px){.mobile-header{display:block}.mobile-header-container{padding:0 8px}}@media (min-width:769px){.mobile-header{display:none}}@media (max-width:768px){.mobile-layout-main{overflow:hidden!important;height:calc(100vh - 50px)!important;position:fixed!important;top:50px;left:0;right:0;bottom:0}.game-container{height:calc(100vh - 50px);position:fixed;top:50px;left:0;right:0;bottom:0}.game-container,.game-layout{display:flex;flex-direction:column;overflow:hidden}.game-layout{height:100%;gap:0}.hex-board-container{flex:0 0 auto;width:100vw;height:100vw;margin-left:calc(-1 * var(--container-padding, 0px));margin-right:calc(-1 * var(--container-padding, 0px));display:flex;flex-direction:column;overflow:hidden;position:relative}.hex-board-zoom-wrapper{flex:1;width:100%;height:100%;overflow:hidden;position:relative;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;overscroll-behavior:contain}.hex-board-zoom-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.hint-section{flex:1;overflow-y:auto;overflow-x:hidden;padding:2px 1rem;margin-left:calc(-1 * var(--container-padding, 0px));margin-right:calc(-1 * var(--container-padding, 0px));padding-left:calc(.5rem + var(--container-padding, 0px));padding-right:calc(.5rem + var(--container-padding, 0px));-webkit-overflow-scrolling:touch;touch-action:pan-y;min-height:0;height:calc(100vh - 50px - 100vw);max-height:calc(100vh - 50px - 100vw);background-color:#ffffff;position:relative}.mobile-resize-divider{height:8px;background:linear-gradient(180deg,#e5e7eb,#f3f4f6);position:relative;z-index:2;cursor:row-resize;touch-action:pan-y}.mobile-resize-divider:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:4px;border-radius:2px;background:#cbd5e1}.difficulty-section{padding:4px 12px}.hex-board{transform-origin:center center;max-width:none;max-height:none}.mobile-layout-main .game-container{padding:0;margin:0;width:100vw;height:calc(100vh - 50px);position:relative;top:0;left:0;right:0;bottom:0}.mobile-layout-main,.mobile-layout-main body{overscroll-behavior:none;-webkit-overflow-scrolling:auto}.difficulty-modal-overlay,.difficulty-slider-overlay,[style*="position: fixed"][style*=zIndex],[style*="position:fixed"][style*=z-index]{z-index:10000!important;position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;transform:none!important}.completion-popup,.difficulty-modal,.difficulty-slider-popover{z-index:10001!important}.board-score-section:not(.mobile-board-score-section){display:none}}@media (max-width:1024px) and (min-width:769px){.game-layout{flex-direction:column}.hint-section{order:3;margin-top:16px}}.animated-score{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:16px;padding:6px 12px;display:flex;align-items:center;justify-content:center;min-width:70px;transition:all .3s ease;position:relative;overflow:hidden}.animated-score:hover{background:#f9fafb;border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.animated-score-compact{padding:4px 10px;min-width:60px;border-radius:12px}.animated-score-content{display:flex;align-items:center;gap:6px}.animated-score-emoji{font-size:14px;line-height:1}.animated-score-compact .animated-score-emoji{font-size:12px}.animated-score-value{font-size:16px;font-weight:700;color:#111827;line-height:1;transition:all .3s ease;position:relative}.animated-score-compact .animated-score-value{font-size:14px}.animated-score-value.animating{animation:scoreRotate .6s ease-in-out}@keyframes scoreRotate{0%{transform:rotateX(0deg);opacity:1}25%{transform:rotateX(90deg);opacity:.3}75%{transform:rotateX(-90deg);opacity:.3}to{transform:rotateX(0deg);opacity:1}}.score-container{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}.score-container-compact{gap:8px}@media (max-width:768px){.animated-score{min-width:65px;padding:5px 10px}.animated-score-compact{min-width:55px;padding:3px 8px}.animated-score-content{gap:4px}.score-container{gap:8px}.score-container-compact{gap:6px}}.animated-score.score-increase{animation:scoreIncrease .6s ease-out}@keyframes scoreIncrease{0%{transform:scale(1);background:#f3f4f6}50%{transform:scale(1.05);background:#dcfce7;border-color:#22c55e}to{transform:scale(1);background:#f3f4f6;border-color:#e5e7eb}}.animated-score.active{animation:scorePulse 2s infinite}@keyframes scorePulse{0%,to{box-shadow:0 0 0 0 rgba(59,130,246,.4)}50%{box-shadow:0 0 0 8px rgba(59,130,246,0)}}.layout-container{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}.layout-main{flex:1 0 auto;max-width:1200px;margin:0 auto;padding:0,1rem,.5rem 1rem;width:100%}.mobile-layout-main{padding:0;max-width:100%;margin:0;height:calc(100vh - 50px)}.layout-footer{padding:.5rem 0;flex-shrink:0;margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;padding:0 1rem;text-align:center;font-size:.75rem;color:#6b7280}.header{padding:.75rem 0;position:sticky;top:0;z-index:100}.header-container{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;justify-content:center;gap:1.25rem;min-width:0}.header-logo{padding-left:.5rem;font-size:1.75rem;font-weight:700;flex:0 0 auto}.header-logo a{color:#007bff;text-decoration:none}.header-logo a:hover{color:#0056b3}.header-nav{flex:1;min-width:0}.nav-links{list-style:none;margin:0;padding:0;gap:1.5rem;justify-content:center}.nav-item,.nav-links{display:flex}.nav-link{color:#333;text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:background-color .2s}.nav-link:hover{background-color:#e9ecef}.nav-link.active{background-color:#007bff;color:white}.header-status{display:flex;align-items:center;justify-content:center;flex:0 1 auto;margin-left:1rem;margin-right:1rem;min-width:0;max-width:400px}.user-profile-container{padding-right:0;padding-left:0;display:flex;align-items:center;position:relative;flex:0 0 auto}.user-button{display:flex;align-items:center;gap:.5rem;color:#4b5563;font-weight:500;background:none;border:none;cursor:pointer;padding:.25rem;transition:color .2s ease}.user-button:hover{color:#2563eb}.user-button:focus{outline:none}.dropdown-icon{width:1.25rem;height:1.25rem;transition:transform .2s ease}.dropdown-icon.open{transform:rotate(180deg)}.dropdown-menu{position:absolute;right:0;top:100%;margin-top:.5rem;width:12rem;background-color:white;border-radius:.375rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);z-index:10}.dropdown-header{padding:.5rem 1rem;border-bottom:1px solid #e5e7eb}.dropdown-title{font-size:.875rem;color:#6b7280}.dropdown-username{font-weight:600}.dropdown-role{font-size:.75rem;color:#9ca3af}.dropdown-button{display:block;width:100%;text-align:left;padding:.5rem 1rem;font-size:.875rem;color:#4b5563;background:none;border:none;cursor:pointer;transition:background-color .2s ease}.dropdown-button:hover{background-color:#f3f4f6}.guest-container{display:flex;align-items:center}.guest-label{color:#6b7280;margin-right:.5rem}.signin-button{color:#2563eb;font-weight:500;background:none;border:none;cursor:pointer;padding:.25rem;transition:color .2s ease}.signin-button:hover{color:#1d4ed8}.main-content{min-height:calc(100vh - 120px);padding:2rem 0}.footer{padding:1rem 0;text-align:center;color:#6c757d}@media (max-width:768px){.header-container{flex-direction:column;gap:1rem;padding:0 .5rem}.nav-links{gap:1rem;flex-wrap:wrap;justify-content:center}.nav-link{padding:.4rem .8rem;font-size:.9rem}.header-status{margin-right:0;margin-left:0;order:-1;max-width:100%}}@media (max-width:480px){.nav-links{flex-direction:column;gap:.5rem}}.login-container,.register-container{width:100%;max-width:400px;margin:0 auto}.login-form,.register-form{background-color:white;box-shadow:0 4px 6px rgba(0,0,0,.1);border-radius:.5rem;padding:2rem;margin-bottom:1rem}.form-title{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.error-alert{background-color:#fee2e2;border:1px solid #f87171;color:#b91c1c;padding:.75rem 1rem;border-radius:.25rem}.error-alert,.form-group{margin-bottom:1rem}.form-label{display:block;color:#4b5563;font-size:.875rem;font-weight:700;margin-bottom:.5rem}.form-input{box-shadow:0 1px 2px rgba(0,0,0,.05);-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #d1d5db;border-radius:.25rem;width:100%;padding:.5rem .75rem;color:#374151;line-height:1.5}.form-input:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.2)}.hint-text{font-size:.75rem;color:#6b7280;margin-top:.25rem}.form-actions{display:flex;align-items:center;justify-content:space-between}.primary-button{background-color:#3b82f6;color:white;font-weight:700;padding:.5rem 1rem;border-radius:.25rem;width:100%;cursor:pointer}.primary-button:hover{background-color:#2563eb}.primary-button:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.5)}.primary-button:disabled{opacity:.7;cursor:not-allowed}.form-footer{text-align:center;margin-top:1rem}.form-text{font-size:.875rem;color:#6b7280}.link-button{color:#3b82f6;font-weight:500;background:none;border:none;padding:0;cursor:pointer}.link-button:hover{color:#2563eb}.auth-modal-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.auth-modal-content{background-color:white;border-radius:.5rem;overflow:hidden;width:100%;max-width:400px;position:relative}.modal-close-button{position:absolute;top:1rem;right:1rem;color:#6b7280;background:none;border:none;cursor:pointer}.modal-close-button:hover{color:#374151}.close-icon{height:1.5rem;width:1.5rem}.auth-modal-body{padding:.5rem}.composer-container{max-width:1200px;margin:0 auto;padding:1rem}.composer-title{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.composer-notification{margin-bottom:1rem;padding:.75rem;border-radius:.25rem}.composer-notification.success{background-color:#d1fae5;color:#065f46}.composer-notification.error{background-color:#fee2e2;color:#b91c1c}.composer-layout{display:flex;flex-direction:column;gap:1rem}.composer-panel{border:1px solid #e5e5e5;border-radius:.5rem;padding:1rem;background-color:#ffffff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.composer-panel-title{font-size:1.25rem;font-weight:600;margin-bottom:1rem}.word-selector .filter-section{margin-bottom:1rem}.word-selector .filter-title{font-weight:500;margin-bottom:.5rem}.word-selector .filter-grid{display:grid;grid-template-columns:1fr;gap:1rem}.word-selector .filter-label{display:block;font-size:.875rem;margin-bottom:.25rem}.word-selector .length-filter{display:flex;align-items:center;gap:.5rem}.word-selector .length-input{border:1px solid #d1d5db;border-radius:.25rem;padding:.25rem .5rem;width:4rem}.word-selector .category-select,.word-selector .search-input{border:1px solid #d1d5db;border-radius:.25rem;padding:.25rem .5rem;width:100%}.word-selector .word-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.word-selector .word-list-title{font-weight:500}.word-selector .word-list-counts{font-size:.875rem}.word-selector .word-list{border:1px solid #d1d5db;border-radius:.25rem;height:16rem;overflow-y:auto;padding:.5rem}.word-selector .word-item{padding:.5rem .25rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;border-bottom:1px solid #f3f4f6}.word-selector .word-item:hover{background-color:#f9fafb}.word-selector .word-item.pinned{background-color:#e0f2fe}.word-selector .word-text{font-weight:500}.word-selector .word-category{font-size:.75rem;color:#6b7280;margin-left:.5rem}.word-selector .pin-button{padding:.25rem;border-radius:.25rem}.word-selector .pin-button.pinned{color:#2563eb}.word-selector .pin-button:not(.pinned){color:#9ca3af}.word-selector .pin-button:not(.pinned):hover{color:#6b7280}.word-selector .empty-message{color:#6b7280;text-align:center;margin-top:1rem}.hexboard-manager .mode-buttons{display:flex;justify-content:space-between;margin-bottom:1rem}.hexboard-manager .mode-button{padding:.5rem 1rem;border-radius:.25rem}.hexboard-manager .mode-button.active{background-color:#3b82f6;color:white}.hexboard-manager .mode-button:not(.active){background-color:#d1d5db}.hexboard-manager .template-button{background-color:#10b981;color:white;padding:.5rem 1rem;border-radius:.25rem}.hexboard-manager .hexboard-container{position:relative;overflow:visible;min-height:400px;justify-content:center;padding:20px;margin:20px 0;width:100%}.hexboard-manager .composer-hexgrid,.hexboard-manager .hexboard-container{display:flex;align-items:center;background-color:#ffffff;border-radius:8px}.hexboard-manager .composer-hexgrid{flex-direction:column;padding:1rem;margin:-25px auto 1rem}.hexboard-manager .hexgrid .hex-cell{width:60px;height:69px;margin:0;position:relative;font-size:24px;font-weight:700;display:flex;justify-content:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;color:#333;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background-color:#f0f0f0;transition:all .2s;background-repeat:no-repeat;background-position:50%;background-size:contain}.hexboard-manager .hex-cell:hover{background-color:#d0d0d0;transform:scale(1.05)}.hexboard-manager .hex-cell.active{background-color:#f0f0f0;color:#1e293b}.hexboard-manager .hex-cell.void{opacity:0!important;background-color:transparent!important;color:transparent!important;cursor:pointer!important}.hexboard-manager .hex-cell.void:hover{opacity:.2!important;background-color:rgba(200,200,200,.3)!important;border:1px dashed #999!important;transform:scale(1.05)!important;transition:all .2s ease!important}.hexboard-manager .hex-cell.has-letter{font-weight:700}.hexboard-manager .hex-cell.placed-word{background-color:#a8e6cf}.hexboard-manager .hex-cell.current-word{background-color:#dcedc1}.hexboard-manager .hex-cell.in-progress-word{background-color:#ffd3b6}.hexboard-manager .hexboard-controls,.hexboard-manager .template-controls{display:flex;flex-direction:column;justify-content:center;align-items:center;margin:1rem auto 2rem;width:100%;max-width:400px}.hexboard-manager .size-control{display:flex;flex-direction:column;align-items:center;width:100%;margin-bottom:1rem}.hexboard-manager .size-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;text-align:center}.hexboard-manager .size-slider{width:100%;max-width:300px;margin-right:1rem}.hexboard-manager .save-button,.hexboard-manager .save-hexboard-btn{padding:.5rem 1rem;background-color:#10b981;color:white;border-radius:.25rem;cursor:pointer;margin-top:.5rem}.hexboard-manager .save-button:disabled,.hexboard-manager .save-hexboard-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.hexboard-manager .word-placement-panel{margin-bottom:20px;padding:10px;background-color:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.hexboard-manager .words-to-place-list{max-height:200px;overflow-y:auto;margin-bottom:10px}.hexboard-manager .words-to-place-list ul{list-style:none;padding:0;margin:0}.hexboard-manager .word-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;margin-bottom:5px;border-radius:4px;background-color:#f0f0f0;cursor:pointer}.hexboard-manager .word-item.placed{background-color:#d4edda}.hexboard-manager .word-item.active{background-color:#cce5ff;border-left:3px solid #007bff}.hexboard-manager .word-item.in-progress{background-color:#fff3cd}.hexboard-manager .reset-word-btn{background-color:#dc3545;color:white;border:none;border-radius:4px;padding:2px 6px;font-size:.8rem}.hexboard-manager .current-word-info{margin:10px 0;padding:10px;background-color:#e2f3ff;border-radius:4px}.hexboard-manager .status-bar{height:10px;background-color:#e0e0e0;border-radius:5px;margin-bottom:10px;overflow:hidden}.hexboard-manager .progress{height:100%;background-color:#4CAF50;transition:width .3s ease}.hexboard-manager .completion-message{color:#4CAF50;font-weight:700}.board-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px}.action-icon.edit-icon.active{background:#f59e0b;color:white}.action-icon.edit-icon.active:hover{background:#d97706;color:white}.hex-cell.editable-cell{border:2px dashed #f59e0b!important;background-color:rgba(245,158,11,.1)!important}.hex-cell.editable-cell:hover{background-color:rgba(245,158,11,.2)!important;border-color:#d97706!important}@media (min-width:1024px){.composer-layout{flex-direction:row}.composer-panel{flex:1}.composer-panel:first-child{flex:0 0 350px;max-width:350px}.composer-panel:last-child{flex:1;min-width:700px}.word-selector .filter-grid{grid-template-columns:1fr 1fr}.word-selector .search-filter{grid-column:span 2}}.composer-hex-row:nth-child(2n){margin:0 0 -14px -32px!important}.composer-hexgrid{padding:20px}.word-selector-redesign{display:flex;flex-direction:column;height:100%;max-height:calc(100vh - 200px);background:white;border-radius:8px;border:1px solid #e5e7eb;overflow:hidden}.selection-pool-section{position:relative;padding:16px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.selection-pool-container{width:100%;max-height:200px;overflow-y:auto;background:white;border:1px solid #e5e7eb;border-radius:8px;padding:8px}.selection-pool-words{display:flex;flex-wrap:wrap;gap:8px;min-height:40px}.word-block{background:#3b82f6;color:white;padding:3px 4px 4px 10px;border-radius:16px;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;transition:all .15s ease}.word-block.active{background:#fbbf24!important;color:#92400e!important}.word-block.placed{background:#10b981;color:white;opacity:.8;cursor:not-allowed!important}.word-block.in-progress{background:#f59e0b;color:white}.word-block:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.word-block.placed:hover{transform:none;box-shadow:none}.word-block .word-text{color:white}.word-action-btn{background:none;border:none;color:white;cursor:pointer;padding:1px;border-radius:3px;display:flex;align-items:center;justify-content:center;width:16px;height:16px}.word-action-btn:hover{background:rgba(255,255,255,.2)}.selection-pool-empty{display:flex;flex-wrap:wrap;gap:8px;width:100%;opacity:.5}.selection-pool-empty span{background:#e5e7eb;color:#6b7280;padding:6px 12px;border-radius:16px;font-size:14px}.selection-pool-empty .highlighted{background:#fef3c7;color:#d97706}.filter-controls-section{background:white;border-bottom:1px solid #e5e7eb;padding:16px;display:flex;flex-direction:column;gap:16px}.word-length-control{display:flex;padding-left:8px;flex-direction:column;gap:8px}.filter-label{font-size:14px;color:#6b7280;font-weight:500;margin:0}.length-slider-container{display:flex;align-items:center;gap:12px}.length-slider.rc-slider{flex:1;height:4px;padding:0;margin:10px 0}.length-slider.rc-slider .rc-slider-rail{background:#e5e7eb;height:4px;border-radius:2px}.length-slider.rc-slider .rc-slider-track{background:#3b82f6;height:4px;border-radius:2px}.length-slider.rc-slider .rc-slider-handle{width:14px;height:14px;background:#3b82f6;border:none;border-radius:50%;cursor:pointer;margin-top:-5px;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .1s ease;opacity:1}.length-slider.rc-slider .rc-slider-handle:hover{background:#2563eb;box-shadow:0 4px 8px rgba(0,0,0,.15);transform:scale(1.1)}.length-slider.rc-slider .rc-slider-handle:active{background:#1d4ed8;box-shadow:0 0 0 4px rgba(59,130,246,.2)}.length-slider.rc-slider .rc-slider-handle:focus{outline:none;box-shadow:0 0 0 4px rgba(59,130,246,.2)}.length-slider{flex:1;height:4px;background:#e5e7eb;border-radius:2px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.length-display{display:flex;align-items:center;gap:6px;font-weight:500;color:#374151;min-width:50px;justify-content:center}.category-control{display:flex;flex-direction:column;gap:8px}.category-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background:white;color:#6b7280;font-size:14px}.search-control{display:flex;flex-direction:column;gap:8px}.search-input-container{position:relative;display:flex;align-items:center}.search-input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:white}.search-input::-moz-placeholder{color:#9ca3af}.search-input::placeholder{color:#9ca3af}.clear-search-btn{position:absolute;right:8px;background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:3px;display:flex;align-items:center;justify-content:center}.clear-search-btn:hover{background:#f3f4f6}.filter-result-section{flex:1;overflow:hidden;background:white}.result-list{height:100%;overflow-y:auto;padding:8px}.result-word-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background-color .15s ease}.result-word-item:hover{background:#f9fafb}.result-word-content{display:flex;flex-direction:column;gap:2px}.result-word-text{font-weight:500;color:#111827;font-size:14px}.result-word-category{font-size:12px;color:#6b7280}.word-checkbox{width:16px;height:16px;border:1px solid #d1d5db;border-radius:3px;cursor:pointer}.word-checkbox:checked{background:#3b82f6;border-color:#3b82f6}.empty-message{padding:20px}.empty-message,.result-count-notice{text-align:center;color:#6b7280;font-style:italic}.result-count-notice{font-size:.9em;padding:10px;border-top:1px solid #e5e7eb;margin-top:10px}.hexboard-manager-redesign{display:flex;flex-direction:column;height:100%;background:white;border-radius:8px;border:1px solid #e5e7eb;overflow:hidden}.tab-interface{background:white;border-bottom:1px solid #e5e7eb;padding:16px 16px 0}.tab-buttons{display:flex;gap:2px;margin-bottom:16px}.tab-button{background:#f3f4f6;border:none;padding:8px 16px;border-radius:6px 6px 0 0;font-weight:500;cursor:pointer;transition:all .15s ease;color:#6b7280}.tab-button.active{background:#fef3c7;color:#d97706}.tab-button:hover:not(.active){background:#e5e7eb;color:#374151}.template-actions{gap:16px;padding-bottom:16px}.grid-size-control,.template-actions{display:flex;flex-direction:column;align-items:center}.grid-size-control{gap:8px;width:100%;max-width:300px}.size-label{font-size:14px;color:#6b7280;font-weight:500;margin:0}.size-control-container{display:flex;align-items:center;gap:12px;width:100%}.size-slider{flex:1;height:4px;background:#e5e7eb;border-radius:2px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.size-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:#3b82f6;border-radius:50%;cursor:pointer}.size-slider::-moz-range-thumb{width:20px;height:20px;background:#3b82f6;border-radius:50%;cursor:pointer;border:none}.size-value{font-weight:600;color:#374151;min-width:20px;text-align:center}.save-template-icon{background:#10b981;color:white}.save-template-icon:hover:not(:disabled){background:#059669;color:white}.save-template-icon:disabled{background:#9ca3af;cursor:not-allowed}.save-template-btn{background:#10b981;color:white;border:none;padding:10px 20px;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .15s ease}.save-template-btn:hover:not(:disabled){background:#059669}.save-template-btn:disabled{background:#9ca3af;cursor:not-allowed}.template-selector-preview{flex:1;max-width:200px}.template-selector-btn{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background:white;color:#374151;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:all .15s ease}.template-selector-btn:hover{border-color:#3b82f6;background:#f9fafb}.template-selector-btn svg{flex-shrink:0}.template-dropdown{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background:white;color:#6b7280;font-size:14px}.action-icons{display:flex;gap:8px}.action-icon{background:#f3f4f6;border:none;padding:8px;border-radius:6px;cursor:pointer;transition:all .15s ease;color:#6b7280;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.action-icon:hover:not(:disabled){background:#e5e7eb;color:#374151}.action-icon:disabled{opacity:.5;cursor:not-allowed}.action-icon.save-icon:hover:not(:disabled){background:#10b981;color:white}.hexboard-container{flex:1;display:flex;justify-content:flex-start;align-items:flex-start;background:#f9fafb;overflow:auto;padding:40px 80px;scroll-behavior:smooth}.composer-hexgrid{display:flex;flex-direction:column;align-items:center;padding:60px;background:white;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.1);min-width:-moz-max-content;min-width:max-content;width:-moz-max-content;width:max-content;position:relative}.composer-hex-row{display:flex!important;gap:4px!important;margin:0 0 -14px!important;position:relative}.composer-hex-row:nth-child(odd){margin:0 0 -14px 32px!important}.hex-cell{width:60px;height:69px;margin:0;position:relative;font-size:24px;font-weight:700;display:flex;justify-content:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;color:#333;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background-color:#f0f0f0;transition:all .2s}.hex-cell:hover{background-color:#d0d0d0;transform:scale(1.05)}.hex-cell.active{background-color:#f0f0f0;color:#1e293b}.hex-cell.void{opacity:0!important;background-color:transparent!important;color:transparent!important;cursor:pointer!important}.hex-cell.void:hover{opacity:.2!important;background-color:rgba(200,200,200,.3)!important;border:1px dashed #999!important;transform:scale(1.05)!important;transition:all .2s ease!important}.hex-cell.has-letter{font-weight:700}.hex-cell.placed-word{background-color:#a8e6cf}.hex-cell.current-word{background-color:#dcedc1}.hex-cell.in-progress-word{background-color:#ffd3b6}.hex-cell.violation-cell{background-color:#ff6b6b!important;border:2px solid #ff0000!important;animation:pulse-red 1s infinite!important}@keyframes pulse-red{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.word-actions{display:flex;align-items:center;gap:4px}.hex-cell.valid-neighbor{background-color:rgba(59,130,246,.1)!important;box-shadow:0 0 0 2px #3b82f6!important;z-index:1}.hex-cell.valid-neighbor:hover{background-color:rgba(59,130,246,.2)!important}.template-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background-color:white;width:100%;max-width:900px;border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 0;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.modal-title{font-size:1.5rem;font-weight:600;margin:0;color:#111827}.modal-close-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:8px;border-radius:6px;transition:all .15s ease}.modal-close-btn:hover{background:#f3f4f6;color:#374151}.template-grid-container{flex:1;overflow-y:auto;padding:0 24px 24px}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.template-item{border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;background:white;overflow:hidden}.template-item:hover{border-color:#3b82f6;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);transform:translateY(-2px)}.template-item.selected{border-color:#3b82f6;background:#eff6ff;box-shadow:0 4px 6px -1px rgba(59,130,246,.1),0 2px 4px -1px rgba(59,130,246,.06)}.template-preview{height:200px;display:flex;justify-content:center;align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;overflow:hidden}.template-preview-image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.template-preview-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;color:#9ca3af}.template-preview-placeholder span{font-size:14px;font-weight:500}.template-info{padding:16px}.template-id{font-size:16px;font-weight:600;color:#111827;margin-bottom:8px}.template-details{display:flex;flex-direction:column;gap:4px}.template-size{font-size:14px;color:#374151;font-weight:500}.template-usage{font-size:13px;color:#6b7280}.no-templates{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#6b7280}.no-templates svg{margin-bottom:16px;opacity:.5}.no-templates p{margin:0 0 8px;font-size:16px;font-weight:500}.no-templates-hint{font-size:14px!important;opacity:.8}.action-icon.auto-generation-icon{position:relative}.action-icon.auto-generation-icon.active{background-color:#ff6b6b;color:white}.action-icon.auto-generation-icon.active:hover{background-color:#ff5252}.auto-generation-progress{position:fixed;top:20px;right:20px;background:rgba(0,0,0,.8);color:white;padding:15px 20px;border-radius:8px;z-index:10000;font-family:monospace;font-size:14px;max-width:300px}.auto-generation-progress h4{margin:0 0 10px;font-size:16px}.auto-generation-progress .progress-item{margin:5px 0;display:flex;justify-content:space-between}.auto-generation-progress .progress-status{color:#4caf50}.auto-generation-progress .progress-status.error{color:#f44336}.auto-generation-progress .progress-status.warning{color:#ff9800}.game-action-bar{display:flex;justify-content:center;align-items:center;margin:0;padding:.5rem 0}.action-bar-content,.action-button{display:flex;gap:.5rem;align-items:center}.action-button{padding:.6rem 1rem;background-color:#fff;border:1px solid #dee2e6;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;color:#495057;min-width:80px;justify-content:center}.action-button:hover:not(:disabled){background-color:#e9ecef;border-color:#adb5bd;transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.action-button:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,.05)}.action-button:disabled{background-color:#f8f9fa;color:#adb5bd;cursor:not-allowed;transform:none;box-shadow:none}.action-button:disabled svg{stroke:#adb5bd}.undo-button:hover:not(:disabled){background-color:#d1ecf1;border-color:#bee5eb;color:#0c5460}.redo-button:hover:not(:disabled){background-color:#d4edda;border-color:#c3e6cb;color:#155724}.reset-button:hover:not(:disabled){background-color:#fde2e1;border-color:#f5c2c7;color:#842029}.action-button svg{flex-shrink:0;stroke:currentColor}.action-button-text{font-weight:500}@media (max-width:768px){.action-button-text{display:none}.game-action-bar{padding:.3rem 0;margin:0}.action-bar-content{gap:.5rem}.action-button{padding:.45rem .6rem;font-size:.85rem;min-width:48px}.action-button svg{width:18px;height:18px}}@media (max-width:480px){.game-action-bar{padding:.2rem 0;margin:0}.action-bar-content{gap:.4rem}.action-button{padding:.35rem .5rem;font-size:.8rem;min-width:44px;gap:.25rem}.action-button svg{width:16px;height:16px}.action-button-text{font-size:.75rem}}