:root{--font-title:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--color-black:#000;--color-white:#fff;--color-green:#22c55e;--color-green-light:#4caf50;--color-gray-dark:#1a1a1a;--color-gray-light:#f5f5f7;--color-gray-border:#e5e5ea;--transition-speed:.3s}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-white);color:var(--color-black);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:-webkit-fill-available;transition:background-color var(--transition-speed) cubic-bezier(.4, 0, .2, 1), color var(--transition-speed) cubic-bezier(.4, 0, .2, 1);overflow-x:hidden}body.theme-white{background-color:var(--color-white);color:var(--color-black)}body.theme-green{background-color:var(--color-green);color:var(--color-white)}#root{flex-direction:column;min-height:100svh;display:flex}html{height:-webkit-fill-available}.app-container{box-sizing:border-box;width:100%;min-height:100svh;color:inherit;background-color:#0000;flex-direction:column;padding:24px;display:flex}.app-header{grid-template-columns:80px 1fr 80px;align-items:center;width:100%;padding:16px 0 24px;display:grid}.header-left{justify-content:flex-start;display:flex}.header-right{justify-content:flex-end;display:flex}.header-logo{font-family:var(--font-title);letter-spacing:.12em;text-transform:uppercase;-webkit-user-select:none;user-select:none;cursor:pointer;color:inherit;text-align:center;font-size:2.2rem;font-weight:900;transition:opacity .2s}.header-logo:hover{opacity:.8}.progress-bar-container{background-color:var(--color-gray-border);border-radius:2px;width:100%;height:4px;margin-bottom:32px;overflow:hidden}.theme-green .progress-bar-container{background-color:#fff3}.progress-bar-fill{background-color:var(--color-black);height:100%;transition:width .3s cubic-bezier(.4,0,.2,1)}.theme-green .progress-bar-fill{background-color:var(--color-white)}.app-content{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:600px;margin:0 auto;display:flex}.screen{flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}.screen-subtitle{font-family:var(--font-sans);opacity:.7;text-transform:uppercase;letter-spacing:.05em;margin-bottom:32px;font-size:1.1rem;font-weight:500}.btn{font-family:var(--font-sans);cursor:pointer;border:2px solid var(--color-black);color:var(--color-black);-webkit-user-select:none;user-select:none;background-color:#0000;border-radius:12px;outline:none;justify-content:center;align-items:center;width:100%;height:60px;font-size:1.1rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.level-grid{flex-direction:column;gap:16px;width:100%;display:flex}.level-row{grid-template-columns:1fr 1fr;gap:16px;width:100%;display:grid}.level-btn{font-family:var(--font-title);border:2px solid var(--color-black);border-radius:16px;font-size:1.5rem;font-weight:800}.level-btn:hover{background-color:var(--color-black);color:var(--color-white);transform:translateY(-2px)}.level-btn:active{transform:translateY(0)}.lang-buttons{flex-direction:column;gap:16px;width:100%;display:flex}.lang-btn{border-radius:16px;flex-direction:column;height:80px}.lang-btn:hover{background-color:var(--color-black);color:var(--color-white);transform:translateY(-2px)}.lang-label{font-size:1.3rem;font-weight:700}.lang-sub{opacity:.7;font-size:.85rem;font-weight:400}.btn-secondary{opacity:.6;background-color:#0000;border-color:#0000}.btn-secondary:hover{opacity:1;background-color:var(--color-gray-light)}.practice-screen{flex-direction:column;align-items:stretch;width:100%;display:flex;position:relative}.nav-btn-back{font-family:var(--font-sans);color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:8px;padding:8px 12px;font-size:.95rem;font-weight:600;transition:opacity .2s,background-color .2s}.nav-btn-back:hover{opacity:1;background-color:#0000000d}.theme-green .nav-btn-back:hover{background-color:#ffffff26}.nav-btn-hint{font-family:var(--font-sans);color:inherit;cursor:pointer;background:0 0;border:1.5px solid;border-radius:20px;padding:6px 16px;font-size:.95rem;font-weight:600;transition:all .2s}.nav-btn-hint:hover{background-color:var(--color-black);color:var(--color-white);border-color:var(--color-black)}.word-display-container{text-align:center;justify-content:center;align-items:center;min-height:160px;margin-bottom:24px;display:flex}.foreign-word{font-family:var(--font-title);letter-spacing:-.04em;color:inherit;word-break:break-word;text-transform:capitalize;font-size:4.5rem;font-weight:900;line-height:1.1;animation:.4s cubic-bezier(.175,.885,.32,1.275) scaleWord}.interaction-area{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.input-form{flex-direction:column;gap:16px;width:100%;display:flex}.translation-input{border:2px solid var(--color-black);width:100%;height:64px;font-family:var(--font-sans);text-align:center;background-color:var(--color-white);color:var(--color-black);border-radius:16px;outline:none;padding:0 20px;font-size:1.25rem;font-weight:500;transition:all .2s;box-shadow:0 4px 6px -1px #0000000d}.translation-input:focus{border-color:var(--color-black);transform:translateY(-1px);box-shadow:0 0 0 4px #0000000d}.btn-submit{background-color:var(--color-black);color:var(--color-white);border-radius:16px}.btn-submit:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}.btn-submit:disabled{opacity:.3;cursor:not-allowed}.hint-options-container{flex-direction:column;align-items:center;gap:12px;width:100%;animation:.3s ease-out slideUp;display:flex}.hint-prompt{opacity:.7;margin-bottom:8px;font-size:.95rem;font-weight:500}.hint-grid{flex-direction:column;gap:12px;width:100%;display:flex}.hint-option-btn{border:2px solid var(--color-black);color:var(--color-black);background-color:#00000008;border-radius:16px;font-size:1.15rem}.theme-green .hint-option-btn{border-color:var(--color-white);color:var(--color-white);background-color:#ffffff1a}.hint-option-btn:hover:not(:disabled){background-color:var(--color-black);color:var(--color-white);transform:translateY(-2px)}.theme-green .hint-option-btn:hover:not(:disabled){background-color:var(--color-white);color:var(--color-green);border-color:var(--color-white)}.feedback-message{font-family:var(--font-sans);text-align:center;border-radius:12px;padding:10px 20px;font-size:1.1rem;font-weight:600;animation:.25s cubic-bezier(.175,.885,.32,1.275) popIn}.feedback-success,.feedback-typo{color:var(--color-white)}.feedback-error{color:#d32f2f;background-color:#ffebee;border:1px solid #ffcdd2}.theme-green .feedback-error{color:var(--color-white);background-color:#ff00004d;border:1px solid #ffffff4d}.btn-next{background-color:var(--color-white);color:var(--color-green);border:2px solid var(--color-white);border-radius:16px;font-size:1.25rem;font-weight:700;animation:1.5s infinite pulseButton;box-shadow:0 4px 10px #0000001a}.btn-next:hover{background-color:var(--color-white);color:var(--color-green);transform:scale(1.03)}.score-badge{font-family:var(--font-title);background-color:var(--color-gray-light);color:var(--color-black);letter-spacing:-.02em;border-radius:24px;margin:24px 0 40px;padding:16px 32px;font-size:2.2rem;font-weight:800}.congrats-title{font-family:var(--font-title);margin-bottom:8px;font-size:3rem;font-weight:900}.finished-text{opacity:.7;font-size:1.15rem}.mt-8{margin-top:32px}@keyframes scaleWord{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes pulseButton{0%{box-shadow:0 0 #fff6}70%{box-shadow:0 0 0 10px #fff0}to{box-shadow:0 0 #fff0}}.shake{animation:.4s shakeAnim}@keyframes shakeAnim{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@media (width<=480px){.app-container{padding:16px}.header-logo{letter-spacing:.12em;font-size:2rem}.foreign-word{font-size:3.2rem}.translation-input{height:58px;font-size:1.15rem}.btn{border-radius:12px;height:56px;font-size:1rem}.level-btn{font-size:1.3rem}.lang-btn{height:72px}.score-badge{padding:12px 24px;font-size:1.8rem}}
