*{margin:0;padding:0;box-sizing:border-box}.app{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f0f23);color:#fff;font-family:Noto Sans SC,sans-serif}.welcome{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.welcome-content{text-align:center;max-width:600px;position:relative;z-index:1}.logo{font-size:80px;margin-bottom:1rem;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.welcome h1{font-size:2.5rem;font-weight:900;margin-bottom:1rem;line-height:1.3}.highlight{background:linear-gradient(135deg,#ff6b6b,#feca57,#48dbfb,#ff9ff3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:200% 200%;animation:gradient 3s ease infinite}@keyframes gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.subtitle{font-size:1.1rem;color:#888;margin-bottom:2rem}.desc{font-size:.95rem;color:#aaa;line-height:1.8;margin-bottom:2rem}.stats{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem}.stat{text-align:center}.stat .num{display:block;font-size:2rem;font-weight:700;color:#ff9ff3}.stat .label{font-size:.85rem;color:#888}.start-btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 3rem;font-size:1.2rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;color:#fff;cursor:pointer;transition:all .3s;margin-bottom:1.5rem}.start-btn:hover{transform:scale(1.05);box-shadow:0 10px 30px #667eea66}.arrow{font-size:1.5rem}.warning{font-size:.85rem;color:#feca57}.floating-cats{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.float-cat{position:absolute;animation:float 10s infinite ease-in-out}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(10deg)}}.test{min-height:100vh;padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.progress-bar{width:100%;max-width:600px;height:6px;background:#333;border-radius:3px;margin-bottom:1rem;overflow:hidden}.progress{height:100%;background:linear-gradient(135deg,#667eea,#764ba2);transition:width .3s}.progress-text{font-size:.9rem;color:#888;margin-bottom:2rem}.question-card{max-width:600px;width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.question-number{display:inline-block;padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;font-size:.85rem;font-weight:700;margin-bottom:1.5rem}.question-text{font-size:1.4rem;font-weight:600;margin-bottom:2rem;line-height:1.5}.options{display:flex;flex-direction:column;gap:1rem}.option{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:all .3s;text-align:left;color:#fff;font-size:1rem}.option:hover{background:#ffffff14;border-color:#fff3;transform:translate(5px)}.option.selected{background:linear-gradient(135deg,#667eea4d,#764ba24d);border-color:#667eea}.option-letter{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff1a;border-radius:50%;font-weight:700;flex-shrink:0}.option-text{flex:1;line-height:1.4}.result{min-height:100vh;padding:2rem;display:flex;flex-direction:column;align-items:center}.result-card{max-width:700px;width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:2.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-bottom:2rem}.result-badge{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.badge-emoji{font-size:3rem}.badge-code{font-size:1.5rem;font-weight:900;background:linear-gradient(135deg,#ff6b6b,#feca57);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.result-title{font-size:2.5rem;font-weight:900;text-align:center;margin-bottom:1rem}.result-desc{font-size:1.1rem;color:#ccc;text-align:center;line-height:1.8;margin-bottom:2rem}.match-bar{max-width:400px;margin:0 auto 2rem}.match-label{font-size:.9rem;color:#888;margin-bottom:.5rem}.match-track{height:10px;background:#333;border-radius:5px;overflow:hidden;margin-bottom:.5rem}.match-fill{height:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:5px;transition:width 1s}.match-percent{text-align:right;font-size:.9rem;font-weight:700;color:#667eea}.traits{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:2rem}.trait{padding:.5rem 1rem;background:#ffffff1a;border-radius:20px;font-size:.9rem}.dimension-chart{margin-bottom:2rem}.dimension-chart h3{font-size:1.1rem;margin-bottom:1rem;color:#aaa}.dimensions{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.dim{display:flex;align-items:center;gap:.5rem}.dim-name{width:50px;font-size:.75rem;color:#888}.dim-bar{flex:1;height:6px;background:#333;border-radius:3px;overflow:hidden}.dim-fill{height:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:3px}.dim-val{width:20px;font-size:.75rem;color:#667eea;font-weight:700}.cat-recommend{margin-bottom:2rem}.cat-recommend h3{font-size:1.1rem;margin-bottom:1rem;color:#aaa}.cats{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.cat{padding:.5rem 1rem;background:linear-gradient(135deg,#667eea33,#764ba233);border-radius:20px;font-size:.9rem;border:1px solid rgba(102,126,234,.3)}.actions{display:flex;justify-content:center;gap:1rem}.btn{padding:1rem 2rem;font-size:1rem;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .3s}.retry{background:#ffffff1a;color:#fff}.retry:hover{background:#fff3}.share{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.share:hover{transform:scale(1.05)}.disclaimer{max-width:600px;text-align:center;font-size:.85rem;color:#666;line-height:1.8}.footer{text-align:center;padding:2rem;font-size:.85rem;color:#666}.footer a{color:#667eea;text-decoration:none}@media (max-width: 768px){.welcome h1{font-size:1.8rem}.logo{font-size:60px}.stats{gap:1rem}.stat .num{font-size:1.5rem}.question-text{font-size:1.2rem}.result-title{font-size:2rem}.dimensions{grid-template-columns:1fr}.actions{flex-direction:column}}
