*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #0f1923;--bg-secondary: #1a2634;--bg-card: #1f2d3d;--bg-hover: #253545;--accent: #ff4655;--accent-glow: rgba(255, 70, 85, .3);--accent-dim: #bd2130;--text-primary: #ece8e1;--text-secondary: #8b978f;--text-dim: #5a6a5e;--border: #2a3a4a;--success: #33cc99;--purple: #8c52ff;--gold: #f5a623;font-family:DIN Next,Segoe UI,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(255,70,85,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,70,85,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;z-index:0}#root{position:relative;z-index:1}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{padding:1.25rem 2rem;border-bottom:1px solid var(--border);background:#0f1923e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}.logo{font-size:1.25rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.logo-val{color:var(--accent)}.logo-picker{color:var(--text-primary)}.app-main{flex:1;display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem 4rem;max-width:800px;width:100%;margin:0 auto}.welcome{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:4rem;animation:fadeUp .6s ease-out}.welcome-badge{font-size:.75rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);padding:.35rem 1rem;margin-bottom:1.5rem}.welcome-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.1;letter-spacing:-.02em;margin-bottom:1.25rem}.accent{color:var(--accent)}.welcome-subtitle{color:var(--text-secondary);font-size:1.1rem;max-width:500px;margin-bottom:2.5rem;line-height:1.6}.welcome-stats{display:flex;align-items:center;gap:1.5rem;margin-bottom:3rem}.stat{display:flex;flex-direction:column;align-items:center}.stat-number{font-size:2rem;font-weight:800;color:var(--text-primary);line-height:1}.stat-label{font-size:.75rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.15em;margin-top:.25rem}.stat-divider{width:1px;height:40px;background:var(--border)}.welcome-hint{color:var(--text-dim);font-size:.85rem;font-style:italic;margin-top:1.5rem}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--accent);color:#fff;border:none;padding:.9rem 2rem;font-size:1rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s;font-family:inherit}.btn-primary:hover{background:#ff5a68;transform:translateY(-1px);box-shadow:0 4px 20px var(--accent-glow)}.btn-primary:active{transform:translateY(0)}.btn-arrow{font-size:1.2rem;transition:transform .2s}.btn-primary:hover .btn-arrow{transform:translate(3px)}.quiz{width:100%;animation:fadeUp .4s ease-out}.progress-container{margin-bottom:2rem}.progress-text{font-size:.85rem;margin-bottom:.5rem}.progress-current{color:var(--accent);font-weight:700;font-size:1.1rem}.progress-sep,.progress-total{color:var(--text-dim)}.progress-bar{width:100%;height:3px;background:var(--border);overflow:hidden}.progress-fill{height:100%;background:var(--accent);transition:width .4s ease-out}.question{width:100%}.question-enter{animation:fadeUp .35s ease-out}.question-exit{animation:fadeOut .25s ease-out forwards}.question-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.question-number{font-size:.85rem;font-weight:700;color:var(--accent);letter-spacing:.05em}.question-category{font-size:.8rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.15em}.question-text{font-size:1.35rem;font-weight:600;line-height:1.4;margin-bottom:1.75rem;color:var(--text-primary)}.category-badge{font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:.2rem .6rem;margin-left:auto}.category-personality{color:#e8a0bf;border:1px solid #e8a0bf}.category-gameplay{color:#7ec8e3;border:1px solid #7ec8e3}.category-experience{color:#a8d5a2;border:1px solid #a8d5a2}.btn-back{display:inline-flex;align-items:center;gap:.35rem;margin-top:1.5rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--border);color:var(--text-secondary);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-back:hover{border-color:var(--text-secondary);color:var(--text-primary);transform:translate(-2px)}.options{display:flex;flex-direction:column;gap:.75rem}.option{display:flex;align-items:flex-start;gap:1rem;width:100%;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);font-family:inherit;font-size:.95rem;text-align:left;cursor:pointer;transition:all .2s;line-height:1.5}.option:hover{background:var(--bg-hover);border-color:var(--accent);transform:translate(4px)}.option-selected{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff;transform:translate(4px)}.option-selected .option-letter{background:#fff3;color:#fff;border-color:transparent}.option-letter{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:var(--accent);border:1px solid var(--accent);transition:all .2s}.option-text{padding-top:.2rem}.option-previous{border-color:var(--text-secondary);background:var(--bg-hover)}.option-previous .option-letter{color:var(--text-primary);border-color:var(--text-secondary)}.results{width:100%;animation:fadeUp .6s ease-out}.results-header{text-align:center;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.archetype-badge{font-size:.75rem;font-weight:700;letter-spacing:.3em;color:var(--accent);margin-bottom:.75rem}.archetype-name{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;letter-spacing:-.02em;margin-bottom:.5rem}.archetype-desc{color:var(--text-secondary);font-size:1.05rem}.section-title{font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);margin-bottom:1.25rem}.agent-cards{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:3rem}.agent-card{background:var(--bg-card);border:1px solid var(--border);padding:1.5rem;transition:border-color .2s}.agent-card:hover{border-color:var(--text-dim)}.rank-1{border-left:3px solid var(--accent)}.rank-2{border-left:3px solid var(--text-secondary)}.rank-3{border-left:3px solid var(--text-dim)}.agent-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.agent-rank{font-size:1.5rem;font-weight:800;color:var(--text-dim);min-width:2.5rem}.rank-1 .agent-rank{color:var(--accent)}.agent-info{flex:1}.agent-name{font-size:1.3rem;font-weight:700;line-height:1.2}.agent-role{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.match-badge{display:flex;align-items:baseline;gap:.1rem}.match-number{font-size:2rem;font-weight:800;color:var(--accent);line-height:1}.match-percent{font-size:.9rem;font-weight:700;color:var(--accent)}.agent-playstyle{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin-bottom:1.25rem}.agent-traits{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.5rem;margin-bottom:1.25rem}.trait-row{display:flex;align-items:center;gap:.5rem}.trait-label{font-size:.7rem;font-weight:700;color:var(--text-dim);letter-spacing:.1em;min-width:2.5rem}.trait-bar{flex:1;height:4px;background:var(--bg-primary);overflow:hidden}.trait-fill{height:100%;background:var(--accent);transition:width 1s ease-out}.trait-value{font-size:.75rem;font-weight:700;color:var(--text-secondary);min-width:1rem;text-align:right}.agent-abilities{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.ability{display:flex;flex-direction:column;padding:.5rem .75rem;background:var(--bg-primary);border:1px solid var(--border)}.ability-type{font-size:.6rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em}.ability-name{font-size:.85rem;font-weight:600;color:var(--text-primary)}.agent-meta{display:flex;align-items:center;gap:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.tier{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .5rem;border:1px solid}.tier-s{color:var(--accent);border-color:var(--accent)}.tier-a{color:var(--gold);border-color:var(--gold)}.tier-b{color:var(--text-secondary);border-color:var(--text-secondary)}.tier-c{color:var(--text-dim);border-color:var(--text-dim)}.skill-note{font-size:.8rem;color:var(--text-dim)}.user-profile{margin-bottom:3rem}.user-profile-card{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--accent);padding:1.5rem}.user-traits{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.5rem;margin-bottom:1rem}.dominant-traits{display:flex;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--border)}.dominant-trait-tag{font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);padding:.2rem .6rem}.honorable-section{margin-bottom:3rem}.honorable-cards{display:flex;flex-direction:column;gap:.5rem}.honorable-card{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);transition:all .2s}.honorable-card:hover{background:var(--bg-card)}.honorable-info{display:flex;align-items:center;gap:.75rem}.honorable-info .agent-name{font-size:1rem}.honorable-info .agent-role{font-size:.75rem}.honorable-percent{font-weight:700;color:var(--text-secondary)}.results-footer{text-align:center;padding-top:2rem;border-top:1px solid var(--border)}.results-tip{color:var(--text-dim);font-size:.9rem;font-style:italic;margin-bottom:1.5rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@media(max-width:600px){.app-main{padding:1.5rem 1rem 3rem}.welcome{padding-top:2rem}.agent-traits,.agent-abilities{grid-template-columns:1fr}.welcome-stats{gap:1rem}.stat-number{font-size:1.5rem}.user-traits{grid-template-columns:1fr}}
