:root{--bg:#0d0d1a;--card:#1a1a2e;--accent:#f6c90e;--accent2:#e84393;--accent3:#00c9a7;--text:#f0f0f0;--muted:#888;--border:#2a2a40}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--text)}body{flex-direction:column;justify-content:flex-start;align-items:center;min-height:100vh;padding:24px 16px 60px;font-family:Nunito,sans-serif;display:flex;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(1px 1px at 10% 20%,#fff2 0%,#0000 100%),radial-gradient(1px 1px at 30% 70%,#ffffff15 0%,#0000 100%),radial-gradient(1px 1px at 60% 10%,#ffffff20 0%,#0000 100%),radial-gradient(1px 1px at 80%,#ffffff18 0%,#0000 100%),radial-gradient(2px 2px at 45% 85%,#ffffff10 0%,#0000 100%),radial-gradient(1px 1px at 90% 30%,#fff2 0%,#0000 100%);position:fixed;inset:0}.container{z-index:1;flex-direction:column;align-items:center;width:100%;max-width:640px;margin:0 auto;display:flex;position:relative}header{text-align:center;width:100%;margin-bottom:32px;animation:.7s both fadeDown}.pixel-title{color:var(--accent);text-shadow:3px 3px #a07800,0 0 20px #f6c90e88;letter-spacing:1px;font-family:"Press Start 2P",monospace;font-size:clamp(10px,3vw,15px);line-height:1.8}.subtitle{color:var(--muted);letter-spacing:.5px;margin-top:10px;font-size:14px;font-weight:600}.pokeball-icon{margin-bottom:12px;font-size:36px;animation:4s linear infinite spin;display:block}@keyframes spin{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}.progress-wrap{background:var(--border);border-radius:999px;width:100%;height:8px;margin-bottom:28px;animation:.5s .3s both fadeIn;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--accent3), var(--accent));border-radius:999px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-label{text-align:right;color:var(--muted);letter-spacing:1px;width:100%;margin-bottom:8px;font-size:11px;font-weight:700}.card{background:var(--card);border:1px solid var(--border);border-radius:20px;width:100%;padding:32px 28px;animation:.4s both fadeIn;box-shadow:0 8px 40px #00000060}.question-number{color:var(--accent2);letter-spacing:1px;margin-bottom:14px;font-family:"Press Start 2P",monospace;font-size:9px}.question-text{color:#fff;margin-bottom:28px;font-size:clamp(16px,3.5vw,20px);font-weight:800;line-height:1.5}.options{flex-direction:column;gap:12px;display:flex}.option-btn{border:2px solid var(--border);color:var(--text);cursor:pointer;text-align:left;background:#12122a;border-radius:14px;align-items:center;gap:14px;padding:16px 20px;font-family:Nunito,sans-serif;font-size:15px;font-weight:700;transition:all .18s;display:flex}.option-btn:hover{border-color:var(--accent);color:var(--accent);background:#1e1e3a;transform:translate(4px)}.option-btn.selected{border-color:var(--accent3);color:var(--accent3);background:#0d2a26}.option-letter{background:var(--border);color:var(--muted);border-radius:6px;flex-shrink:0;padding:6px 8px;font-family:"Press Start 2P",monospace;font-size:9px;transition:all .18s}.option-btn:hover .option-letter,.option-btn.selected .option-letter{background:var(--accent3);color:#000}.next-btn{background:var(--accent);color:#0d0d1a;cursor:pointer;letter-spacing:1px;border:none;border-radius:14px;width:100%;margin-top:28px;padding:18px;font-family:"Press Start 2P",monospace;font-size:11px;font-weight:700;transition:all .2s;display:none;box-shadow:0 4px #a07800}.next-btn:hover{transform:translateY(-2px);box-shadow:0 6px #a07800}.next-btn:active{transform:translateY(2px);box-shadow:0 2px #a07800}.next-btn.visible{display:block}.result-card{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:24px;padding:36px 28px;animation:.5s cubic-bezier(.34,1.56,.64,1) both popIn;box-shadow:0 8px 60px #00000080}.result-badge{filter:drop-shadow(0 0 20px var(--type-color));margin-bottom:16px;font-size:72px;animation:3s ease-in-out infinite float;display:inline-block}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.result-type{color:var(--type-color,var(--accent));text-shadow:0 0 20px var(--type-color,var(--accent));margin-top:16px;margin-bottom:8px;font-family:"Press Start 2P",monospace;font-size:clamp(12px,4vw,18px);line-height:1.6}.result-headline{color:#fff;margin-bottom:20px;font-size:clamp(20px,5vw,28px);font-weight:800}.type-tag{letter-spacing:1px;background:var(--type-color,var(--accent));color:#000;border-radius:999px;margin-bottom:24px;padding:6px 18px;font-size:13px;font-weight:800;display:inline-block}.result-desc{color:#ccc;margin-bottom:28px;font-size:15px;line-height:1.7}.traits{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:28px;display:flex}.trait{border:1px solid var(--border);color:var(--type-color,var(--accent));background:#12122a;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700}.famous-leader{border:1px solid var(--border);background:#12122a;border-radius:14px;margin-bottom:24px;padding:16px 20px}.famous-label{color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:700}.famous-name{color:#fff;font-size:18px;font-weight:800}.pca-plot{border:1px solid var(--border);text-align:left;background:#12122a;border-radius:16px;margin:8px 0 28px;padding:20px 16px 12px;animation:.6s .2s both fadeIn}.pca-plot__header{text-align:center;margin-bottom:12px}.pca-plot__label{color:var(--accent2);letter-spacing:1px;margin-bottom:8px;font-family:"Press Start 2P",monospace;font-size:9px}.pca-plot__title{color:#fff;margin-bottom:6px;font-size:18px;font-weight:800}.pca-plot__subtitle{color:#aaa;max-width:420px;margin:0 auto;font-size:13px;line-height:1.55}.pca-plot__canvas{width:100%;height:460px;margin-top:10px}.pca-plot__status{text-align:center;color:var(--muted);padding:12px 0;font-size:13px}.pca-plot__status--error{color:var(--accent2)}.restart-btn{border:2px solid var(--accent);color:var(--accent);cursor:pointer;letter-spacing:1px;background:0 0;border-radius:14px;padding:14px 28px;font-family:"Press Start 2P",monospace;font-size:9px;transition:all .2s}.restart-btn:hover{background:var(--accent);color:#000}.intro-card{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:24px;width:100%;padding:40px 28px;animation:.5s cubic-bezier(.34,1.56,.64,1) both popIn;box-shadow:0 8px 40px #00000060}.intro-card p{color:#bbb;margin-bottom:16px;font-size:15px;line-height:1.7}.start-btn{background:var(--accent);color:#0d0d1a;cursor:pointer;letter-spacing:1px;border:none;border-radius:14px;margin-top:10px;padding:20px 32px;font-family:"Press Start 2P",monospace;font-size:11px;transition:all .2s;box-shadow:0 4px #a07800}.start-btn:hover{transform:translateY(-2px);box-shadow:0 6px #a07800}.start-btn:active{transform:translateY(2px);box-shadow:0 2px #a07800}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.hidden{display:none}.prompt-label{text-align:left;color:var(--muted);margin-bottom:8px;font-size:13px;font-weight:700;display:block}.prompt-input{border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;background:#12121f;border-radius:12px;margin-bottom:8px;padding:14px 16px;font-family:Nunito,sans-serif;font-size:15px;line-height:1.5}.prompt-meta{text-align:right;color:var(--muted);margin-bottom:8px;font-size:12px}.ranking-list{text-align:left;margin:24px 0}.ranking-items{margin-top:12px;list-style:none}.ranking-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;font-weight:700;display:flex}.ranking-score{color:var(--muted);font-size:13px;font-weight:600}.start-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:0 4px #a07800}
