body,html{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#111111;color:#f0f0f0;overflow:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg:#111111;--bg-secondary:#1a1a1a;--bg-card:#252525;--bg-card-hover:#2d2d2d;--text:#f0f0f0;--text-secondary:#999999;--text-muted:#555555;--correct:#6aaa64;--correct-dark:#538d4e;--wrong:#ca4754;--tile-border:#3a3a3c;--tile-empty:#1a1a1a;--tile-active-border:#878a8c;--accent:#d4a843;--accent-bright:#f5c518;--keyboard-bg:#818384;--keyboard-hover:#9a9c9e;--btn-primary:#6aaa64;--btn-primary-hover:#538d4e;--btn-secondary:#3a3a3c;--btn-secondary-hover:#4a4a4c;--modal-overlay:rgba(0,0,0,0.85);--border-radius:8px;--border-radius-lg:16px}*,:after,:before{box-sizing:border-box}.app{min-height:100vh;height:100vh;color:var(--text);flex-direction:column;overflow:hidden}.app,.header{background:var(--bg);display:flex}.header{align-items:center;justify-content:space-between;padding:0 20px;height:56px;border-bottom:1px solid var(--tile-border);flex-shrink:0}.header-title{font-size:1.5rem;font-weight:800;letter-spacing:3px;text-transform:uppercase;margin:0;background:linear-gradient(135deg,var(--correct) 0,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-right{display:flex;gap:8px}.header-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--tile-border);background:transparent;color:var(--text);font-size:1.15rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.header-btn:hover{background:var(--bg-card);border-color:var(--text-secondary)}.header-btn.active{background:var(--bg-card);border-color:var(--correct);color:var(--correct)}.help-btn{font-weight:700;font-family:Georgia,Times New Roman,serif}.game-area{flex:1 1;display:flex;flex-direction:column;padding:0 20px;max-width:700px;width:100%;margin:0 auto;min-height:0}.score-bar{padding:14px 0 0;text-align:center;flex-shrink:0}.score-display{display:inline-flex;flex-direction:column;align-items:center;gap:2px}.score-label{font-size:.65rem;text-transform:uppercase;letter-spacing:2px;color:var(--text-secondary)}.score-value{font-size:1.6rem;font-weight:800;color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:transform .2s}.tree-section{flex:2 1;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden;width:100vw;margin-left:calc(-50vw + 50%)}.word-tree-container{width:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;padding:12px 16px}.word-tree{display:flex;flex-direction:column}.tree-word-row{display:flex;gap:3px;padding:2px 0}.tree-word-sliding{transition:padding-left .5s cubic-bezier(.4,0,.2,1)}.tree-tile{display:flex;align-items:center;justify-content:center;font-weight:800;text-transform:uppercase;-webkit-user-select:none;user-select:none;transition:background .2s,border-color .2s}.tree-tile-filled{background:var(--correct-dark);color:white;border:1.5px solid var(--correct)}.tree-tile-seed{background:var(--accent)!important;border-color:var(--accent-bright)!important;color:var(--bg)!important}.tree-tile-typed{background:var(--correct-dark);color:white;border:1.5px solid var(--correct);animation:pop-in .25s ease}.tree-tile-cursor{background:var(--tile-empty);border:1.5px dashed var(--tile-active-border);color:var(--text-secondary)}.tree-tile-empty{background:var(--tile-empty);border:1.5px solid var(--tile-border);color:transparent}.tree-tile-correct-anim{background:var(--correct);border:1.5px solid var(--correct);color:white;animation:flip-correct .3s ease}.tree-tile-wrong-anim{animation:shake .5s ease}.tree-tile-wrong,.tree-tile-wrong-anim{background:var(--wrong);border:1.5px solid var(--wrong);color:white}.tree-tile-hint{background:rgba(212,168,67,.2);border:1.5px dashed var(--accent);color:var(--accent)}.tree-connector{display:flex}.tree-connector-line{width:2px;height:100%;background:var(--accent);border-radius:1px}.tree-connector-anim{animation:grow-down .4s ease}@keyframes grow-down{0%{transform:scaleY(0);transform-origin:top}to{transform:scaleY(1);transform-origin:top}}.definition-section{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:8px;min-height:0;overflow-y:auto}.definition-card{background:var(--bg-card);border-radius:var(--border-radius-lg);padding:22px 26px;text-align:center;max-width:480px;width:100%;border:1px solid var(--tile-border);transition:opacity .3s,transform .3s}.definition-card-hard{border-color:var(--wrong)}.definition-card-hard .definition-label{color:var(--wrong)}.definition-enter{animation:fade-slide-in .4s ease}.definition-exit{opacity:.4;transform:scale(.97)}.definition-label{font-size:.65rem;text-transform:uppercase;letter-spacing:3px;color:var(--text-secondary);margin-bottom:10px;display:block}.definition-text{font-size:1rem;line-height:1.65;color:var(--text);margin:0 0 14px;font-style:italic}.definition-progress{font-size:.7rem;color:var(--text-muted);display:block}.hint-btn{margin-top:10px;padding:8px 18px;border-radius:20px;border:1px solid var(--accent);background:rgba(212,168,67,.1);color:var(--accent);font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s;letter-spacing:1px}.hint-btn:hover:not(:disabled){background:rgba(212,168,67,.25);border-color:var(--accent-bright)}.hint-btn:active:not(:disabled){transform:scale(.96)}.hint-btn-disabled,.hint-btn:disabled{opacity:.35;cursor:not-allowed;border-color:var(--tile-border);color:var(--text-muted)}.keyboard-section{padding:8px 0 16px;flex-shrink:0}.keyboard{display:flex;flex-direction:column;align-items:center;gap:5px}.keyboard-row{display:flex;gap:4px}.keyboard-key{width:34px;height:46px;border-radius:6px;border:none;background:var(--keyboard-bg);color:var(--text);font-size:.8rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .1s;-webkit-tap-highlight-color:transparent}.keyboard-key:active,.keyboard-key:hover{background:var(--keyboard-hover)}.keyboard-key:active{transform:scale(.93)}.keyboard-key:disabled{opacity:.4;cursor:not-allowed}.game-over{text-align:center;width:100%}.game-over-card{background:var(--bg-card);border-radius:var(--border-radius-lg);padding:28px;border:1px solid var(--tile-border)}.game-over-title{font-size:1.5rem;font-weight:800;margin:0 0 6px;color:var(--wrong)}.game-over-subtitle{color:var(--text-secondary);margin:0 0 22px;font-size:.9rem}.game-over-stats{display:flex;justify-content:center;gap:28px;margin-bottom:18px;flex-wrap:wrap}.stat{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-value{font-size:1.3rem;font-weight:800;color:var(--accent);letter-spacing:2px}.stat-label{font-size:.65rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary)}.game-over-hint{color:var(--text-secondary);font-size:.85rem;margin:0 0 22px}.game-over-hint strong{color:var(--correct)}.difficulty-section{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:10px}.difficulty-heading{font-size:1.4rem;font-weight:800;text-transform:uppercase;letter-spacing:3px;margin:0;background:linear-gradient(135deg,var(--correct) 0,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.difficulty-subtitle{color:var(--text-muted);font-size:.8rem;margin:0 0 20px}.difficulty-cards{display:flex;gap:16px;width:100%;max-width:520px}.difficulty-card{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;background:var(--bg-card);border:2px solid var(--tile-border);border-radius:var(--border-radius-lg);cursor:pointer;transition:all .25s;text-align:center;color:var(--text);font-family:inherit}.difficulty-card:hover{border-color:var(--correct);background:var(--bg-card-hover);transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.3)}.difficulty-card-hard:hover{border-color:var(--wrong)}.difficulty-card-icon{font-size:2rem;line-height:1}.difficulty-card-title{font-size:1.1rem;font-weight:800;text-transform:uppercase;letter-spacing:2px}.difficulty-card-hard .difficulty-card-title{color:var(--wrong)}.difficulty-card-desc{font-size:.8rem;color:var(--text-secondary);line-height:1.5}.difficulty-card-points{font-size:.7rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:1px;padding:5px 12px;background:rgba(212,168,67,.1);border-radius:20px}@media (max-width:480px){.difficulty-cards{flex-direction:column;max-width:300px}.difficulty-card{padding:22px 16px}.difficulty-heading{font-size:1.1rem}}.complete-card{background:var(--bg-card);border-radius:var(--border-radius-lg);padding:28px;text-align:center;border:1px solid var(--correct-dark);width:100%;max-width:420px}.complete-title{font-size:1.5rem;font-weight:800;margin:0 0 6px;color:var(--correct)}.complete-subtitle{color:var(--text-secondary);margin:0 0 14px;font-size:.9rem}.complete-score{font-size:1.15rem;color:var(--accent);margin-bottom:22px}.complete-card .btn{display:block;width:100%;margin-bottom:10px}.complete-card .btn:last-child{margin-bottom:0}.already-played{text-align:center;width:100%}.already-played-title{font-size:1.3rem;font-weight:800;margin:0 0 6px;color:var(--accent)}.already-played-subtitle{color:var(--text-secondary);margin:0 0 22px;font-size:.9rem}.already-played-hint{color:var(--text-muted);font-size:.8rem;margin:14px 0 18px}.btn{padding:13px 26px;border-radius:var(--border-radius);border:none;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:1px}.btn-primary{background:var(--btn-primary);color:white}.btn-primary:hover{background:var(--btn-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--btn-secondary);color:var(--text)}.btn-secondary:hover{background:var(--btn-secondary-hover)}.modal-overlay{position:fixed;inset:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;animation:fade-in .2s ease}.modal-content{background:var(--bg-secondary);border-radius:var(--border-radius-lg);padding:30px;max-width:500px;width:100%;max-height:85vh;overflow-y:auto;position:relative;border:1px solid var(--tile-border);animation:slide-up .3s ease}.modal-close{position:absolute;top:14px;right:14px;background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.modal-close:hover{background:var(--bg-card);color:var(--text)}.modal-title{font-size:1.3rem;font-weight:800;margin:0 0 18px;text-align:center;text-transform:uppercase;letter-spacing:2px}.help-body{color:var(--text);line-height:1.7}.help-intro{margin:0 0 18px;font-size:.9rem}.help-section{margin-bottom:18px}.help-section h3{font-size:.8rem;text-transform:uppercase;letter-spacing:2px;color:var(--correct);margin:0 0 8px}.help-rules,.help-scoring{padding-left:20px;margin:0}.help-rules li,.help-scoring li{margin-bottom:8px;font-size:.85rem;color:var(--text)}.help-hard-mode{font-size:.85rem;margin:0;color:var(--text)}.help-footer{text-align:center;color:var(--text-secondary);font-style:italic;margin:18px 0 0;font-size:.85rem}.leaderboard-modal{max-width:480px}.leaderboard-entry-form{text-align:center;margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--tile-border)}.leaderboard-your-score{font-size:1.05rem;margin:0 0 14px}.leaderboard-your-score strong{color:var(--accent);font-size:1.25rem}.leaderboard-bonus{font-size:.75rem;color:var(--text-secondary)}.leaderboard-name-input{display:flex;gap:8px;justify-content:center}.name-input{padding:10px 14px;background:var(--bg);border:1px solid var(--tile-border);border-radius:6px;color:var(--text);font-size:.95rem;font-family:inherit;outline:none;width:180px;text-align:center;text-transform:uppercase;letter-spacing:2px;transition:border-color .2s}.name-input:focus{border-color:var(--accent)}.name-input::placeholder{color:var(--text-muted);text-transform:none;letter-spacing:0}.leaderboard-table{display:flex;flex-direction:column}.leaderboard-header-row{padding:8px 12px;font-size:.65rem;text-transform:uppercase;letter-spacing:2px;color:var(--text-secondary);border-bottom:1px solid var(--tile-border)}.leaderboard-header-row,.leaderboard-row{display:grid;grid-template-columns:36px 1fr 70px}.leaderboard-row{padding:10px 12px;font-size:.85rem;border-radius:6px;transition:background .2s}.leaderboard-row:nth-child(2n){background:rgba(255,255,255,.03)}.leaderboard-row.highlight{background:rgba(106,170,100,.12);outline:1px solid var(--correct-dark)}.lb-rank{font-weight:700;color:var(--text-secondary)}.lb-name{font-weight:700;letter-spacing:1px}.lb-score{font-weight:700;color:var(--accent);text-align:right}.leaderboard-empty{text-align:center;color:var(--text-secondary);padding:20px;font-style:italic}.loading{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-secondary)}.loading-spinner{width:36px;height:36px;border:3px solid var(--tile-border);border-top-color:var(--correct);border-radius:50%;animation:spin .8s linear infinite}@keyframes pop-in{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}@keyframes flip-correct{0%{transform:rotateX(0deg)}50%{transform:rotateX(90deg);background:var(--tile-border)}to{transform:rotateX(0deg);background:var(--correct)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}.fade-in{animation:fade-in .5s ease}.cursor-blink{animation:blink 1s step-end infinite;color:var(--tile-active-border);font-weight:300}@media (max-width:480px){.header{padding:0 14px;height:50px}.header-title{font-size:1.2rem;letter-spacing:2px}.keyboard-key{width:28px;height:40px;font-size:.7rem}.keyboard-row{gap:3px}.definition-card{padding:16px 18px}.definition-text{font-size:.9rem}.modal-content{padding:22px 18px;margin:10px}.game-over-stats{gap:16px}.stat-value{font-size:1.1rem}.leaderboard-header-row,.leaderboard-row{grid-template-columns:28px 1fr 56px;font-size:.75rem;padding:8px 10px}}.modal-content::-webkit-scrollbar,.word-tree-container::-webkit-scrollbar{width:5px}.modal-content::-webkit-scrollbar-track,.word-tree-container::-webkit-scrollbar-track{background:transparent}.modal-content::-webkit-scrollbar-thumb,.word-tree-container::-webkit-scrollbar-thumb{background:var(--tile-border);border-radius:3px}