:root{--primary: #2563eb;--primary-light: #3b82f6;--primary-bg: #f0f7ff;--accent: #f59e0b;--text: #1e293b;--text-secondary: #64748b;--border: #e2e8f0;--bg: #f8fafc;--success: #16a34a;--warning: #ea580c;--danger: #dc2626;--radius-card: 16px;--radius-btn: 10px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Segoe UI,Microsoft YaHei,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}#root{min-height:100vh}.app{max-width:860px;margin:0 auto;padding:24px 20px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 0 20px;border-bottom:1px solid var(--border);margin-bottom:24px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;color:var(--primary)}.brand .logo{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px}.brand-sub{font-size:12px;color:var(--text-secondary);font-weight:400}.card{background:#fff;border-radius:var(--radius-card);padding:24px;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;border:1px solid var(--border)}.card+.card{margin-top:16px}.card-title{font-size:16px;font-weight:700;margin-bottom:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--radius-btn);padding:12px 24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .15s ease;color:#fff;background:var(--primary)}.btn:hover{background:var(--primary-light);transform:translateY(-1px)}.btn:active{transform:scale(.98)}.btn:disabled{background:#cbd5e1;cursor:not-allowed;transform:none}.btn-outline{background:#fff;color:var(--primary);border:1px solid var(--primary)}.btn-outline:hover{background:var(--primary-bg)}.btn-accent{background:var(--accent)}.btn-accent:hover{background:#fbbf24}.btn-block{width:100%}.label{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:8px;display:block}.select,.input{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-btn);font-size:15px;background:#fff;color:var(--text)}.select:focus,.input:focus{outline:2px solid var(--primary);outline-offset:-1px}.chips{display:flex;gap:12px;flex-wrap:wrap}.chip{flex:1;min-width:120px;padding:18px 12px;border:2px solid var(--border);border-radius:var(--radius-card);text-align:center;cursor:pointer;transition:all .15s ease;background:#fff}.chip:hover{border-color:var(--primary-light)}.chip.active{border-color:var(--primary);background:var(--primary-bg)}.chip .chip-title{font-size:18px;font-weight:700}.chip .chip-sub{font-size:12px;color:var(--text-secondary);margin-top:4px}.hero{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;border-radius:20px;padding:36px 28px;text-align:center;margin-bottom:24px}.hero h1{font-size:26px;margin-bottom:8px}.hero p{font-size:14px;opacity:.92}.hero .steps{display:flex;justify-content:center;gap:24px;margin-top:20px;font-size:13px}.hero .steps span{display:flex;align-items:center;gap:6px}.text-list{display:flex;flex-direction:column;gap:10px}.text-item{border:2px solid var(--border);border-radius:var(--radius-card);padding:14px 16px;cursor:pointer;transition:all .15s ease}.text-item:hover{border-color:var(--primary-light)}.text-item.active{border-color:var(--primary);background:var(--primary-bg)}.text-item .t-title{font-weight:700;font-size:15px}.text-item .t-meta{font-size:12px;color:var(--text-secondary);margin-top:2px}.text-item .t-text{font-size:13px;color:var(--text-secondary);margin-top:8px;line-height:1.7}.record-box{border:2px dashed var(--border);border-radius:var(--radius-card);padding:32px;text-align:center;cursor:pointer;transition:all .15s ease}.record-box:hover{border-color:var(--primary)}.record-box.recording{border-color:var(--danger);background:#fef2f2}.record-btn{width:64px;height:64px;border-radius:50%;background:var(--primary);color:#fff;border:none;font-size:24px;cursor:pointer;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.record-btn.recording{background:var(--danger);animation:pulse 1.2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #dc262666}50%{box-shadow:0 0 0 16px #dc262600}}.analyzing{text-align:center;padding:60px 20px}.spinner{width:56px;height:56px;border:5px solid var(--primary-bg);border-top-color:var(--primary);border-radius:50%;animation:spin .9s linear infinite;margin:0 auto 24px}@keyframes spin{to{transform:rotate(360deg)}}.analyzing-steps{display:flex;flex-direction:column;gap:12px;max-width:360px;margin:24px auto 0;text-align:left}.analyzing-step{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;background:#fff;border:1px solid var(--border);font-size:14px}.analyzing-step.done{color:var(--success)}.analyzing-step.current{border-color:var(--primary);background:var(--primary-bg);color:var(--primary);font-weight:600}.score-card{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;border-radius:20px;padding:28px;text-align:center}.score-card .score-num{font-size:56px;font-weight:800;line-height:1}.score-card .score-label{font-size:14px;opacity:.9;margin-top:6px}.badge{display:inline-block;padding:4px 14px;border-radius:999px;font-size:13px;font-weight:700;margin-top:12px}.badge.level-excellent,.badge.level-good{background:#fff;color:var(--primary)}.badge.level-ok{background:#fde68a;color:#92400e}.badge.level-warn{background:#fecaca;color:#991b1b}.dim-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dim-card{border:1px solid var(--border);border-radius:12px;padding:14px 16px}.dim-card .d-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.dim-card .d-name{font-weight:700;font-size:14px}.dim-card .d-score{font-size:20px;font-weight:800;color:var(--primary)}.dim-card .d-weight{font-size:11px;color:var(--text-secondary)}.bar{height:6px;background:var(--primary-bg);border-radius:3px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-light));border-radius:3px;transition:width .6s ease}.issue-item{padding:12px 14px;background:#fff7ed;border-left:3px solid var(--accent);border-radius:6px;margin-bottom:8px;font-size:13px}.issue-item .i-item{font-weight:700;color:var(--warning)}.issue-item .i-evidence{color:var(--text-secondary);font-size:12px;margin-top:4px}.training-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);font-size:14px;line-height:1.6}.training-item:last-child{border-bottom:none}.training-item .t-num{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.knowledge-tag{display:inline-block;padding:6px 12px;border-radius:6px;background:var(--primary-bg);color:var(--primary);font-size:13px;font-weight:600;margin:4px 8px 4px 0}.mock-tip{background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:13px;padding:10px 14px;border-radius:8px;margin-bottom:16px}.footer-actions{display:flex;gap:12px;margin-top:24px}@media (max-width: 640px){.dim-grid{grid-template-columns:1fr}.chips{flex-direction:column}}
