.app{width:100%;max-width:480px;margin:0 auto;padding:16px;min-height:100dvh;display:flex;flex-direction:column}.start-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:24px;text-align:center;padding-top:32px;padding-bottom:32px}.start-screen h1{font-size:2.2rem;color:var(--yellow);text-shadow:3px 3px 0 var(--red);line-height:1.2}.start-screen p{color:#ccc;font-size:1rem;line-height:1.5}.pokeball{position:relative;width:100px;height:100px;border-radius:50%;border:5px solid var(--black);overflow:hidden;animation:spin-slow 4s linear infinite;flex-shrink:0}.pokeball-top{position:absolute;top:0;left:0;right:0;height:50%;background:var(--red)}.pokeball-bottom{position:absolute;bottom:0;left:0;right:0;height:50%;background:var(--white)}.pokeball-band{position:absolute;top:50%;left:0;right:0;height:10px;background:var(--black);transform:translateY(-50%);z-index:1}.pokeball-button{position:absolute;top:50%;left:50%;width:26px;height:26px;background:var(--white);border:5px solid var(--black);border-radius:50%;transform:translate(-50%,-50%);z-index:2}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.loading-screen p{color:#ccc;font-size:1rem}.spinner{width:60px;height:60px;border:6px solid #333;border-top-color:var(--yellow);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.game-screen{flex:1;display:flex;flex-direction:column;gap:16px}.game-header{display:flex;justify-content:space-between;align-items:center}.question-label{font-size:.9rem;color:#ccc;display:flex;align-items:center;gap:8px}.attempt-badge{font-size:.75rem;font-weight:700;color:var(--red);background:#cc000026;border:1px solid var(--red);border-radius:6px;padding:1px 6px}.game-header-right{display:flex;align-items:center;gap:10px}.timer-display{font-size:1rem;font-weight:700;min-width:36px;text-align:right}.timer-ok{color:#4caf50}.timer-warning{color:var(--yellow)}.timer-danger{color:var(--red);animation:pulse-text .6s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.5}}.level-badge{font-size:.82rem;font-weight:700;color:var(--yellow);white-space:nowrap}.countdown-bar-track{width:100%;height:5px;background:#333;border-radius:3px;overflow:hidden}.countdown-bar-fill{height:100%;border-radius:3px;transition:width 1s linear,background .5s}.countdown-bar-fill.timer-ok{background:#4caf50}.countdown-bar-fill.timer-warning{background:var(--yellow)}.countdown-bar-fill.timer-danger{background:var(--red)}.pokemon-container{position:relative;display:flex;align-items:center;justify-content:center;background:#2a2a2a;border-radius:16px;padding:24px;min-height:240px}.pokemon-image{width:200px;height:200px;object-fit:contain;filter:brightness(0);transition:filter .6s ease,transform .6s ease;image-rendering:pixelated}.pokemon-image.revealed{filter:brightness(1)}.pokemon-image.half{clip-path:inset(0 0 50% 0)}.hard-hint{position:absolute;bottom:12px;left:16px;font-size:1rem;font-weight:700;color:var(--red);background:#00000080;padding:2px 8px;border-radius:6px}.question-mark{position:absolute;top:12px;right:16px;font-size:3rem;color:var(--yellow);font-weight:700;line-height:1;opacity:.8;transition:opacity .4s ease}.question-mark.hidden{opacity:0}.question-text{text-align:center;font-size:1.2rem;font-weight:700;color:var(--white)}.speak-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;border-radius:10px;background:#2a2a2a;color:#ccc;font-size:.95rem;font-weight:700;border:2px solid #444;transition:background .2s,border-color .2s,color .2s}.speak-btn:hover{border-color:var(--yellow);color:var(--white)}.speak-btn.speaking{border-color:var(--red);color:var(--red);animation:pulse-border 1s ease-in-out infinite}@keyframes pulse-border{0%,to{border-color:var(--red)}50%{border-color:#f66}}.speak-icon{font-size:1.1rem}.next-button{background:var(--yellow);color:var(--black);font-size:1rem;font-weight:700;padding:14px 28px;border-radius:10px;width:100%;transition:background .2s}.next-button:hover{background:var(--yellow-dark)}.progress-bar-wrapper{display:flex;align-items:center;gap:8px}.progress-bar-track{flex:1;height:8px;background:#333;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--red);border-radius:4px;transition:width .4s ease}.progress-label{font-size:.75rem;color:#aaa;white-space:nowrap}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.answer-btn{padding:14px 10px;font-size:.95rem;font-weight:700;border-radius:10px;background:#2a2a2a;color:var(--white);border:2px solid #444;transition:background .2s,border-color .2s,color .2s;text-transform:capitalize;line-height:1.2;min-height:56px}.answer-btn:hover:not(:disabled){background:#3a3a3a;border-color:var(--yellow)}.answer-btn:disabled{cursor:default}.answer-btn.correct{background:var(--green);border-color:var(--green-dark);color:var(--white)}.answer-btn.wrong{background:var(--red);border-color:var(--red-dark);color:var(--white)}.answer-btn.dimmed{opacity:.35}.answer-btn.highlighted{border-color:var(--yellow);background:#2e2800;color:var(--yellow);transform:scale(1.04)}.result-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center}.result-level-icon{font-size:4.5rem;line-height:1}.result-level-name{font-size:1.6rem;color:var(--yellow);text-shadow:2px 2px 0 var(--red)}.result-score{font-size:3.5rem;font-weight:700;color:var(--white);line-height:1}.result-score span{font-size:1.4rem;color:#aaa}.result-pct{font-size:1rem;color:#aaa}.result-next{font-size:.9rem;color:#888;background:#1e1e1e;border:1px solid #333;border-radius:8px;padding:8px 16px}.result-next strong{color:var(--yellow)}.config-panel{width:100%;display:flex;flex-direction:column;gap:20px;text-align:left}.config-section{display:flex;flex-direction:column;gap:10px}.config-label-row{display:flex;align-items:center;justify-content:space-between}.config-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#aaa}.gen-select-all{display:flex;gap:6px}.gen-select-btn{font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:6px;background:transparent;color:#aaa;border:1px solid #555;transition:color .15s,border-color .15s}.gen-select-btn:hover{color:var(--white);border-color:var(--yellow)}.config-pills{display:flex;gap:8px}.pill{flex:1;padding:10px 0;border-radius:8px;background:#2a2a2a;color:#ccc;font-size:1rem;font-weight:700;border:2px solid #444;transition:background .15s,border-color .15s,color .15s}.pill:hover{border-color:var(--yellow)}.pill.active{background:var(--yellow);color:var(--black);border-color:var(--yellow)}.pill.active.medium{background:#e6a800;color:var(--black);border-color:#b88000}.pill.active.hard{background:var(--red);color:var(--white);border-color:var(--red-dark)}.difficulty-hint{font-size:.8rem;color:#f88;line-height:1.4;text-align:left}.difficulty-hint.medium{color:#e6a800}.gen-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gen-btn{padding:10px 8px;border-radius:8px;background:#2a2a2a;color:#ccc;font-size:.82rem;font-weight:700;border:2px solid #444;transition:background .15s,border-color .15s,color .15s;text-align:center}.gen-btn:hover{border-color:var(--yellow)}.gen-btn.active{background:#1a3a1a;color:#6fcf6f;border-color:#4caf50}.btn-primary{background:var(--red);color:var(--white);font-size:1.1rem;font-weight:700;padding:16px 40px;border-radius:12px;transition:background .2s,opacity .2s;letter-spacing:.5px}.btn-primary:hover:not(:disabled){background:var(--red-dark)}.btn-primary:disabled{opacity:.4;cursor:default}.btn-secondary{background:transparent;color:#aaa;font-size:1rem;font-weight:700;padding:14px 32px;border-radius:12px;border:2px solid #444;transition:border-color .2s,color .2s;letter-spacing:.5px}.btn-secondary:hover{border-color:var(--yellow);color:var(--white)}.result-buttons{display:flex;flex-direction:column;gap:10px;width:100%;align-items:center}@media (hover: none){.answer-btn:active:not(:disabled){background:#3a3a3a;border-color:var(--yellow)}.btn-primary:active:not(:disabled){background:var(--red-dark)}.btn-secondary:active{border-color:var(--yellow);color:var(--white)}.pill:active,.gen-btn:active{border-color:var(--yellow)}.next-button:active{background:var(--yellow-dark)}.speak-btn:active{border-color:var(--yellow);color:var(--white)}}@media (max-width: 390px){.app{padding:12px}.start-screen{gap:18px;padding-top:20px;padding-bottom:20px}.start-screen h1{font-size:1.8rem}.pokeball{width:72px;height:72px}.pokeball-button{width:20px;height:20px}.config-panel{gap:16px}.pill{padding:9px 0;font-size:.9rem}.gen-btn{padding:9px 6px;font-size:.78rem}.pokemon-container{min-height:200px;padding:16px}.pokemon-image{width:160px;height:160px}.answer-btn{padding:11px 8px;font-size:.88rem;min-height:52px}.question-text{font-size:1.05rem}.result-level-icon{font-size:3.5rem}.result-level-name{font-size:1.3rem}.result-score{font-size:2.8rem}}@media (min-width: 600px){.app{max-width:540px;padding:24px}.pokemon-container{min-height:280px}.pokemon-image{width:240px;height:240px}.answer-btn{padding:16px 12px;font-size:1rem;min-height:60px}.btn-primary{padding:18px 48px;font-size:1.15rem}.btn-secondary{padding:16px 36px}.next-button{padding:16px;font-size:1.05rem}.result-level-icon{font-size:5.5rem}.result-score{font-size:4.5rem}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--red: #cc0000;--red-dark: #a00000;--yellow: #ffcb05;--yellow-dark: #e6b800;--black: #1a1a1a;--white: #ffffff;--gray: #888888;--gray-light: #f0f0f0;--green: #4caf50;--green-dark: #388e3c}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:var(--black);color:var(--white);min-height:100dvh;display:flex;align-items:center;justify-content:center;overscroll-behavior:none}button{cursor:pointer;border:none;font-family:inherit;touch-action:manipulation;user-select:none;-webkit-user-select:none}img{display:block}
