*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#f8fafc;color:#1e293b;line-height:1.6;min-height:100vh}#app{min-height:100vh;display:flex;flex-direction:column}:root{--primary: #2563eb;--primary-hover: #1d4ed8;--success: #059669;--error: #dc2626;--background: #f8fafc;--surface: #ffffff;--text: #1e293b;--text-light: #64748b;--border: #cbd5e1;--border-light: #e2e8f0;--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}h1{font-size:2rem;font-weight:700;color:var(--primary);text-align:center;margin-bottom:1.5rem}h2{font-size:1.5rem;font-weight:600;margin-bottom:1rem}.container{max-width:1200px;margin:0 auto;padding:1rem}.crossword-grid{display:grid;gap:2px;background-color:var(--background);padding:2px;border-radius:8px;box-shadow:var(--shadow);margin:0 auto;max-width:100%;overflow:hidden}.grid-square{width:100%;aspect-ratio:1;min-width:24px;max-width:50px;border:2px solid var(--border-light);background-color:var(--surface);display:flex;align-items:center;justify-content:center;font-size:clamp(.75rem,2.5vw,1.5rem);font-weight:600;cursor:pointer;transition:all .2s ease;border-radius:4px;-webkit-user-select:none;user-select:none}@media (min-width: 480px){.grid-square{min-width:36px}}@media (min-width: 768px){.grid-square{min-width:40px}}.grid-square.empty{background-color:var(--background);border-color:var(--background);cursor:default;opacity:.3}.grid-square.unfilled{background-color:var(--surface);border-color:var(--border)}.grid-square.unfilled:hover{border-color:var(--primary);transform:scale(1.05)}.grid-square.selected{border-color:var(--primary);background-color:#dbeafe;box-shadow:0 0 0 2px var(--primary);transform:scale(1.05)}.grid-square.correct{border-color:var(--success);background-color:#dcfce7;color:var(--success);animation:correctPulse .6s ease-out}.grid-square.incorrect{border-color:var(--error);background-color:#fee2e2;color:var(--error);animation:shake .5s ease-in-out}@keyframes correctPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes celebration{0%{transform:scale(1) rotate(0)}25%{transform:scale(1.1) rotate(5deg)}50%{transform:scale(1.2) rotate(-5deg)}75%{transform:scale(1.1) rotate(5deg)}to{transform:scale(1) rotate(0)}}.word-list{background-color:var(--surface);border-radius:8px;padding:1.5rem;box-shadow:var(--shadow)}.word-list h2{color:var(--primary);font-size:1.25rem;margin-bottom:1rem}.words{display:grid;gap:.5rem}.word-item{padding:.75rem;background-color:var(--background);border-radius:6px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;transition:all .2s ease}.word-item.completed{background-color:#dcfce7;color:var(--success);text-decoration:line-through;animation:celebration .8s ease-out}.progress-container{background-color:var(--surface);border-radius:8px;padding:1.5rem;box-shadow:var(--shadow);margin-bottom:1rem}.progress-bar{width:100%;height:12px;background-color:var(--border-light);border-radius:6px;overflow:hidden;margin-top:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--success));border-radius:6px;transition:width .5s ease}.keyboard-overlay{position:fixed;bottom:0;left:0;right:0;background-color:var(--surface);border-top:1px solid var(--border);padding:1rem;box-shadow:var(--shadow-lg);z-index:100;transform:translateY(100%);transition:transform .3s ease}.keyboard-overlay.show{transform:translateY(0)}.keyboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.keyboard-title{font-weight:600;color:var(--text)}.keyboard-close{background:none;border:none;font-size:1.5rem;color:var(--text-light);cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s ease}.keyboard-close:hover{background-color:var(--border-light)}.keyboard-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;max-width:400px;margin:0 auto}.keyboard-key{background-color:var(--primary);color:#fff;border:none;border-radius:6px;padding:1rem;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:44px;text-transform:uppercase}.keyboard-key:hover{background-color:var(--primary-hover);transform:translateY(-2px)}.keyboard-key:active{transform:translateY(0)}.keyboard-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:1rem}.keyboard-action{background-color:var(--text-light);color:#fff;border:none;border-radius:6px;padding:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.keyboard-action:hover{background-color:var(--text)}.keyboard-action.clear{background-color:var(--error)}.keyboard-action.clear:hover{background-color:#b91c1c}.game-status{text-align:center;margin-bottom:2rem}.completion-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.completion-content{background-color:var(--surface);border-radius:12px;padding:2rem;text-align:center;max-width:400px;width:100%;box-shadow:var(--shadow-lg);animation:celebration 1s ease-out}.completion-title{font-size:2rem;color:var(--success);margin-bottom:1rem}.completion-message{font-size:1.125rem;margin-bottom:2rem;color:var(--text-light)}.btn{background-color:var(--primary);color:#fff;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:44px}.btn:hover{background-color:var(--primary-hover);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn.success{background-color:var(--success)}.btn.success:hover{background-color:#047857}@media (max-width: 767px){.container{padding:.5rem}h1{font-size:1.5rem}.crossword-grid{padding:1px;gap:1px}.grid-square{min-width:20px;font-size:clamp(.625rem,2vw,1rem);border-width:1px}.keyboard-overlay{padding:.75rem}.keyboard-grid{grid-template-columns:repeat(6,1fr);gap:.2rem}.keyboard-key{padding:.5rem;font-size:.5rem;min-height:36px}.keyboard-action{padding:.5rem;font-size:.875rem}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.grid-square:focus,.keyboard-key:focus,.btn:focus{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-contrast: high){:root{--border: #000000;--text: #000000;--background: #ffffff}}.grid-container[data-v-327dd1c4]{display:flex;justify-content:center;margin:2rem 0;width:100%;overflow-x:auto;padding:0 1rem}.crossword-grid[data-v-327dd1c4]{display:grid;gap:2px;background-color:var(--border);padding:2px;border-radius:8px;box-shadow:var(--shadow);width:fit-content;max-width:100%}.crossword-grid .grid-square[data-v-327dd1c4]{width:clamp(32px,8vw,50px);height:clamp(32px,8vw,50px)}@media (max-width: 480px){.grid-container[data-v-327dd1c4]{padding:0 .5rem}.crossword-grid .grid-square[data-v-327dd1c4]{width:clamp(28px,7vw,40px);height:clamp(28px,7vw,40px)}}.word-list[data-v-07934b17]{background-color:var(--surface);border-radius:8px;padding:1.5rem;box-shadow:var(--shadow)}.word-list h2[data-v-07934b17]{color:var(--primary);font-size:1.25rem;margin-bottom:1rem}.words[data-v-07934b17]{display:grid;gap:.5rem;margin-bottom:1rem}.word-item[data-v-07934b17]{padding:.75rem;background-color:var(--background);border-radius:6px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;transition:all .2s ease;border:2px solid transparent}.word-item.completed[data-v-07934b17]{background-color:#dcfce7;color:var(--success);text-decoration:line-through;border-color:var(--success);animation:celebration-07934b17 .8s ease-out}.word-count[data-v-07934b17]{text-align:center;font-size:.875rem;color:var(--text-light);font-weight:500}@keyframes celebration-07934b17{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.keyboard-overlay[data-v-c88de4c0]{position:fixed;bottom:0;left:0;right:0;background-color:var(--surface);border-top:1px solid var(--border);padding:1rem;box-shadow:var(--shadow-lg);z-index:100;transform:translateY(100%);transition:transform .3s ease}.keyboard-overlay.show[data-v-c88de4c0]{transform:translateY(0)}.keyboard-header[data-v-c88de4c0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.keyboard-title[data-v-c88de4c0]{font-weight:600;color:var(--text)}.keyboard-close[data-v-c88de4c0]{background:none;border:none;font-size:1.5rem;color:var(--text-light);cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s ease;min-height:44px;min-width:44px}.keyboard-close[data-v-c88de4c0]:hover{background-color:var(--border-light)}.keyboard-grid[data-v-c88de4c0]{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;max-width:400px;margin:0 auto}@media (max-width: 480px){.keyboard-grid[data-v-c88de4c0]{grid-template-columns:repeat(5,1fr)}}.keyboard-key[data-v-c88de4c0]{background-color:var(--primary);color:#fff;border:none;border-radius:6px;padding:1rem;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:44px;text-transform:uppercase}.keyboard-key[data-v-c88de4c0]:hover{background-color:var(--primary-hover);transform:translateY(-2px)}.keyboard-key[data-v-c88de4c0]:active{transform:translateY(0)}.keyboard-key[data-v-c88de4c0]:focus{outline:2px solid white;outline-offset:2px}.keyboard-actions[data-v-c88de4c0]{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:1rem}.keyboard-action[data-v-c88de4c0]{background-color:var(--text-light);color:#fff;border:none;border-radius:6px;padding:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:44px}.keyboard-action[data-v-c88de4c0]:hover{background-color:var(--text)}.keyboard-action.clear[data-v-c88de4c0]{background-color:var(--error)}.keyboard-action.clear[data-v-c88de4c0]:hover{background-color:#b91c1c}.game-status[data-v-c106b2c6]{background-color:var(--surface);border-radius:8px;padding:1.5rem;box-shadow:var(--shadow);margin-bottom:1rem}.user-section[data-v-c106b2c6]{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-light)}.section-title[data-v-c106b2c6]{font-size:1.125rem;font-weight:600;color:var(--text);margin:0 0 .75rem}.user-input-section[data-v-c106b2c6]{display:flex;flex-direction:column;gap:.5rem}.user-list[data-v-c106b2c6]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.user-option[data-v-c106b2c6]{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background-color:var(--background);border:2px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s}.user-option[data-v-c106b2c6]:hover{background-color:var(--surface);border-color:var(--primary);transform:translate(4px)}.option-name[data-v-c106b2c6]{font-weight:600;color:var(--text)}.option-games[data-v-c106b2c6]{font-size:.875rem;color:var(--text-light)}.divider[data-v-c106b2c6]{text-align:center;font-size:.875rem;color:var(--text-light);margin:.25rem 0}.name-input-container[data-v-c106b2c6]{display:flex;gap:.5rem;align-items:center}.name-input[data-v-c106b2c6]{flex:1;padding:.5rem .75rem;border:2px solid var(--border);border-radius:6px;font-size:.875rem;background-color:var(--background);color:var(--text);transition:border-color .2s}.name-input[data-v-c106b2c6]:focus{outline:none;border-color:var(--primary)}.btn-small[data-v-c106b2c6]{padding:.5rem .75rem;font-size:.875rem;white-space:nowrap}.btn-link[data-v-c106b2c6]{background:none;border:none;color:var(--text-light);font-size:.875rem;cursor:pointer;padding:.25rem 0;text-decoration:underline;transition:color .2s}.btn-link[data-v-c106b2c6]:hover{color:var(--text)}.user-display[data-v-c106b2c6]{display:flex;flex-direction:column}.user-button[data-v-c106b2c6]{width:100%;background-color:var(--background);border:2px solid var(--border);border-radius:6px;padding:.75rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:.25rem;text-align:left}.user-button[data-v-c106b2c6]:hover{background-color:var(--surface);border-color:var(--primary);transform:translateY(-2px)}.user-name[data-v-c106b2c6]{font-size:1rem;font-weight:600;color:var(--text)}.user-games[data-v-c106b2c6]{font-size:.875rem;color:var(--text-light);font-weight:500}.progress-container[data-v-c106b2c6]{margin-bottom:1.5rem}.progress-header[data-v-c106b2c6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.progress-header h3[data-v-c106b2c6]{font-size:1.125rem;font-weight:600;color:var(--text);margin:0}.progress-text[data-v-c106b2c6]{font-size:.875rem;color:var(--text-light);font-weight:500}.progress-bar[data-v-c106b2c6]{width:100%;height:12px;background-color:var(--border-light);border-radius:6px;overflow:hidden}.progress-fill[data-v-c106b2c6]{height:100%;background:linear-gradient(90deg,var(--primary),var(--success));border-radius:6px;transition:width .5s ease}.game-actions[data-v-c106b2c6]{display:flex;justify-content:center}.btn[data-v-c106b2c6]:disabled{background-color:var(--border);color:var(--text-light);cursor:not-allowed;transform:none}.btn[data-v-c106b2c6]:disabled:hover{background-color:var(--border);transform:none}.completion-modal[data-v-50ddb668]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.completion-content[data-v-50ddb668]{background-color:var(--surface);border-radius:12px;padding:2rem;text-align:center;max-width:400px;width:100%;box-shadow:var(--shadow-lg);animation:modalAppear-50ddb668 .5s ease-out}.celebration-icon[data-v-50ddb668]{font-size:4rem;margin-bottom:1rem;animation:bounce-50ddb668 1s ease-in-out infinite alternate}.completion-title[data-v-50ddb668]{font-size:2rem;color:var(--success);margin-bottom:1rem;font-weight:700}.completion-message[data-v-50ddb668]{font-size:1.125rem;margin-bottom:1.5rem;color:var(--text);line-height:1.6}.completion-stats[data-v-50ddb668]{background-color:var(--background);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.completion-stats p[data-v-50ddb668]{margin:0;font-weight:600;color:var(--text-light)}.user-profile-section[data-v-50ddb668]{background-color:var(--background);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.name-input-container[data-v-50ddb668]{display:flex;gap:.5rem;align-items:center}.name-input[data-v-50ddb668]{flex:1;padding:.5rem .75rem;border:2px solid var(--border);border-radius:6px;font-size:1rem;background-color:var(--surface);color:var(--text);transition:border-color .2s}.name-input[data-v-50ddb668]:focus{outline:none;border-color:var(--primary)}.btn-small[data-v-50ddb668]{padding:.5rem 1rem;font-size:.875rem}.user-profile-display[data-v-50ddb668]{text-align:center}.user-profile-button[data-v-50ddb668]{width:100%;background-color:var(--surface);border:2px solid var(--border);border-radius:8px;padding:.75rem 1rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:.25rem}.user-profile-button[data-v-50ddb668]:hover{background-color:var(--background);border-color:var(--primary);transform:translateY(-2px)}.username[data-v-50ddb668]{font-size:1.125rem;font-weight:600;color:var(--text)}.games-count[data-v-50ddb668]{font-size:.875rem;color:var(--text-light);font-weight:500}.change-hint[data-v-50ddb668]{margin-top:.5rem;font-size:.75rem;color:var(--text-light);opacity:.7}.completion-actions[data-v-50ddb668]{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.completion-actions .btn[data-v-50ddb668]{flex:1;min-width:120px}@keyframes modalAppear-50ddb668{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes bounce-50ddb668{0%{transform:translateY(0)}to{transform:translateY(-10px)}}@media (max-width: 480px){.completion-content[data-v-50ddb668]{padding:1.5rem}.completion-title[data-v-50ddb668]{font-size:1.5rem}.celebration-icon[data-v-50ddb668]{font-size:3rem}.completion-actions[data-v-50ddb668]{flex-direction:column}.completion-actions .btn[data-v-50ddb668]{flex:none}}.game-header{text-align:center;margin-bottom:2rem}.game-subtitle{color:var(--text-light);font-size:1.125rem;margin-top:.5rem}.game-layout{display:grid;gap:2rem;grid-template-columns:1fr;align-items:start}@media (min-width: 768px){.game-layout{grid-template-columns:1fr 300px}}.game-main{display:flex;flex-direction:column;align-items:center}.game-sidebar{display:flex;flex-direction:column;gap:1rem}@media (max-width: 767px){.game-layout{grid-template-columns:1fr}.game-sidebar{order:1}.game-main{order:0}}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;font-size:1.125rem;color:var(--text-light)}.error{background-color:#fee2e2;color:var(--error);padding:1rem;border-radius:8px;text-align:center;margin:1rem 0}
