/* 星衡简历诊断 - 共享样式（替代 Tailwind CDN + Google Fonts + Font Awesome） */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:#f8fafc;color:#1e293b;line-height:1.5}

/* === 通用工具类 === */
.flex{display:flex}.inline-flex{display:inline-flex}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}
.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-5{grid-template-columns:repeat(5,1fr)}
.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}
.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}
.gap-1{gap:0.25rem}.gap-1-5{gap:0.375rem}.gap-2{gap:0.5rem}.gap-3{gap:0.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}
.space-x-2>*+*{margin-left:0.5rem}.space-x-3>*+*{margin-left:0.75rem}.space-x-4>*+*{margin-left:1rem}
.space-y-1>*+*{margin-top:0.25rem}.space-y-3>*+*{margin-top:0.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}
.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink-0{flex-shrink:0}

/* 尺寸 */
.w-3{width:0.75rem}.h-3{height:0.75rem}.w-3-5{width:0.875rem}.h-3-5{height:0.875rem}
.w-4{width:1rem}.h-4{height:1rem}.w-5{width:1.25rem}.h-5{height:1.25rem}
.w-6{width:1.5rem}.h-6{height:1.5rem}.w-7{width:1.75rem}.h-7{height:1.75rem}
.w-8{width:2rem}.h-8{height:2rem}.w-10{width:2.5rem}.h-10{height:2.5rem}
.w-12{width:3rem}.h-12{height:3rem}.w-16{width:4rem}.h-16{height:4rem}
.w-24{width:6rem}.w-32{width:8rem}.w-48{width:12rem}
.w-full{width:100%}.h-full{height:100%}
.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}
.min-w-\[180px\]{min-width:180px}

/* 间距 */
.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mx-1-5{margin-left:0.375rem;margin-right:0.375rem}
.mt-0-5{margin-top:0.125rem}.mt-1{margin-top:0.25rem}.mt-1-5{margin-top:0.375rem}.mt-2{margin-top:0.5rem}
.mt-3{margin-top:0.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}
.mt-12{margin-top:3rem}.mt-20{margin-top:5rem}.mt-32{margin-top:8rem}
.mb-0-5{margin-bottom:0.125rem}.mb-1{margin-bottom:0.25rem}.mb-1-5{margin-bottom:0.375rem}.mb-2{margin-bottom:0.5rem}
.mb-3{margin-bottom:0.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}
.mr-1{margin-right:0.25rem}.mr-2{margin-right:0.5rem}.mr-3{margin-right:0.75rem}.mr-4{margin-right:1rem}
.ml-1{margin-left:0.25rem}.ml-2{margin-left:0.5rem}.ml-4{margin-left:1rem}
.p-1{padding:0.25rem}.p-2{padding:0.5rem}.p-3{padding:0.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}
.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-1-5{padding-top:0.375rem;padding-bottom:0.375rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pb-2{padding-bottom:0.5rem}

/* 文字 */
.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}
.text-\[10px\]{font-size:10px}.text-\[9px\]{font-size:9px}.text-\[11px\]{font-size:11px}
.text-xs{font-size:0.75rem}.text-sm{font-size:0.875rem}.text-base{font-size:1rem}
.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}
.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-black{font-weight:900}
.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tracking-tight{letter-spacing:-0.025em}.tracking-wider{letter-spacing:0.05em}
.uppercase{text-transform:uppercase}
.whitespace-pre-wrap{white-space:pre-wrap}
.select-none{user-select:none;-webkit-user-select:none}

/* 颜色 */

.text-white{color:#fff}.text-black{color:#000}
.text-slate-200{color:#e2e8f0}.text-slate-300{color:#cbd5e1}.text-slate-400{color:#94a3b8}.text-slate-500{color:#64748b}.text-slate-600{color:#475569}.text-slate-700{color:#334155}.text-slate-800{color:#1e293b}.text-slate-900{color:#0f172a}
.text-indigo-50{color:#eef2ff}.text-indigo-100{color:#e0e7ff}.text-indigo-200{color:#c7d2fe}.text-indigo-500{color:#6366f1}.text-indigo-600{color:#4f46e5}
.text-emerald-400{color:#34d399}.text-emerald-500{color:#10b981}.text-emerald-600{color:#059669}
.text-amber-400{color:#fbbf24}.text-amber-500{color:#f59e0b}.text-amber-700{color:#b45309}
.text-red-400{color:#f87171}.text-red-500{color:#ef4444}.text-red-600{color:#dc2626}.text-red-700{color:#b91c1c}.text-red-900{color:#7f1d1d}
.text-yellow-400{color:#facc15}.text-yellow-700{color:#a16207}.text-yellow-800{color:#854d0e}
.text-pink-500{color:#ec4899}.text-pink-900{color:#831843}.text-pink-800\/60{color:rgba(131,24,67,0.6)}
.text-violet-500{color:#8b5cf6}.text-violet-900{color:#4c1d95}.text-violet-800\/60{color:rgba(76,29,149,0.6)}
.text-teal-500{color:#14b8a6}.text-teal-900{color:#134e4a}.text-teal-800\/60{color:rgba(19,78,74,0.6)}
.text-cyan-400{color:#22d3ee}.text-rose-400{color:#fb7185}.text-purple-600{color:#9333ea}

.bg-white{background:#fff}.bg-black{background:#000}
.bg-slate-50{background:#f8fafc}.bg-slate-100{background:#f1f5f9}.bg-slate-200{background:#e2e8f0}.bg-slate-900{background:#0f172a}
.bg-indigo-50{background:#eef2ff}.bg-indigo-100{background:#e0e7ff}.bg-indigo-200{background:#c7d2fe}.bg-indigo-500{background:#6366f1}.bg-indigo-600{background:#4f46e5}
.bg-emerald-50{background:#ecfdf5}.bg-emerald-500{background:#10b981}.bg-emerald-100{background:#d1fae5}
.bg-amber-50{background:#fffbeb}.bg-amber-100{background:#fef3c7}
.bg-red-50{background:#fef2f2}.bg-red-500{background:#ef4444}
.bg-yellow-50{background:#fefce8}.bg-yellow-200{background:#fef08a}.bg-yellow-100{background:#fef9c3}
.bg-blue-50{background:#eff6ff}.bg-blue-500{background:#3b82f6}
.bg-pink-100{background:#fce7f3}.bg-violet-100{background:#ede9fe}.bg-teal-100{background:#ccfbf1}
.bg-white\/70{background:rgba(255,255,255,0.7)}.bg-white\/90{background:rgba(255,255,255,0.9)}.bg-white\/95{background:rgba(255,255,255,0.95)}
.bg-black\/10{background:rgba(0,0,0,0.1)}.bg-black\/30{background:rgba(0,0,0,0.3)}.bg-slate-800\/50{background:rgba(30,41,59,0.5)}

.border{border:1px solid #e2e8f0}
.border-b{border-bottom:1px solid #e2e8f0}.border-t{border-top:1px solid #e2e8f0}
.border-slate-100{border-color:#f1f5f9}.border-slate-200{border-color:#e2e8f0}.border-slate-300{border-color:#cbd5e1}
.border-indigo-100{border-color:#e0e7ff}.border-indigo-200{border-color:#c7d2fe}
.border-emerald-200{border-color:#a7f3d0}.border-emerald-300{border-color:#6ee7b7}
.border-amber-200{border-color:#fde68a}
.border-red-200{border-color:#fecaca}
.border-yellow-200{border-color:#fef08a}
.border-pink-100{border-color:#fce7f3}.border-violet-100{border-color:#ede9fe}.border-teal-100{border-color:#ccfbf1}
.border-black{border-color:#000}

.rounded{border-radius:0.25rem}.rounded-md{border-radius:0.375rem}.rounded-lg{border-radius:0.5rem}
.rounded-xl{border-radius:0.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}
.rounded-full{border-radius:9999px}
.rounded-t-md{border-radius:0.375rem 0.375rem 0 0}
.rounded-r{border-radius:0 0.25rem 0.25rem 0}.rounded-l{border-radius:0.25rem 0 0 0.25rem}

.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,0.05)}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,0.1)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1)}.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,0.1)}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,0.25)}
.shadow-indigo-200{box-shadow:0 4px 6px -1px rgba(199,210,254,0.5)}
.shadow-blue-200{box-shadow:0 4px 6px -1px rgba(191,219,254,0.5)}
.shadow-emerald-200{box-shadow:0 4px 6px -1px rgba(167,243,208,0.5)}

.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}
.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}
.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}
.top-0{top:0}.top-4{top:1rem}.right-4{right:1rem}.left-0{left:0}
.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}

.object-contain{object-fit:contain}.object-cover{object-fit:cover}

/* 过渡动画 */
.transition{transition:all 0.15s}.transition-all{transition:all 0.15s}
.transition-colors{transition:color,background-color,border-color,0.15s}
.duration-300{transition-duration:0.3s}.duration-1000{transition-duration:1s}
.ease-out{transition-timing-function:ease-out}

/* 背景渐变 */
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}
.from-rose-400{--tw-gradient-from:#fb7185;--tw-gradient-to:rgba(251,113,133,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-pink-500{--tw-gradient-to:#ec4899}
.from-violet-500{--tw-gradient-from:#8b5cf6;--tw-gradient-to:rgba(139,92,246,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-purple-600{--tw-gradient-to:#9333ea}
.from-teal-400{--tw-gradient-from:#2dd4bf;--tw-gradient-to:rgba(45,212,191,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-cyan-500{--tw-gradient-to:#06b6d4}
.from-red-400{--tw-gradient-from:#f87171}.to-red-500{--tw-gradient-to:#ef4444}
.from-indigo-500{--tw-gradient-from:#6366f1}.to-cyan-400{--tw-gradient-to:#22d3ee}

/* 交互 */
.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}
.hover\:bg-slate-50:hover{background:#f8fafc}.hover\:bg-slate-100:hover{background:#f1f5f9}.hover\:bg-slate-800:hover{background:#1e293b}
.hover\:bg-indigo-50:hover{background:#eef2ff}.hover\:bg-indigo-100:hover{background:#e0e7ff}.hover\:bg-indigo-600:hover{background:#4f46e5}.hover\:bg-indigo-700:hover{background:#4338ca}
.hover\:bg-blue-600:hover{background:#2563eb}
.hover\:bg-emerald-600:hover{background:#059669}
.hover\:text-white:hover{color:#fff}.hover\:text-indigo-600:hover{color:#4f46e5}.hover\:text-slate-600:hover{color:#475569}
.hover\:scale-105:hover{transform:scale(1.05)}
.hover\:border-indigo-600:hover{border-color:#4f46e5}

/* 特效 */
.backdrop-blur-sm{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.bg-white\/70{background:rgba(255,255,255,0.7)}.bg-white\/80{background:rgba(255,255,255,0.8)}.bg-white\/90{background:rgba(255,255,255,0.9)}.bg-white\/95{background:rgba(255,255,255,0.95)}
.bg-black\/10{background:rgba(0,0,0,0.1)}.bg-black\/30{background:rgba(0,0,0,0.3)}.bg-slate-800\/50{background:rgba(30,41,59,0.5)}
.backdrop-blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.backdrop-blur-lg{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.filter{filter:var(--tw-filter)}
.blur-\[6px\]{filter:blur(6px)}.blur-\[4px\]{filter:blur(4px)}
.opacity-0{opacity:0}.opacity-40{opacity:0.4}.opacity-60{opacity:0.6}.opacity-90{opacity:0.9}
.-rotate-90{transform:rotate(-90deg)}

/* 自定义组件 */
.glass-card{background:rgba(255,255,255,0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.3);box-shadow:0 10px 15px -3px rgba(0,0,0,0.05)}
.gradient-text{background:linear-gradient(135deg,#4f46e5 0%,#06b6d4 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.tag{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}
.tag-missing{background:#fef3c7;color:#d97706}
.tag-matched{background:#d1fae5;color:#059669}
.progress-bar{height:8px;border-radius:4px;overflow:hidden}
.progress-fill{height:100%;border-radius:4px}
.blur-lock{filter:blur(5px);user-select:none;-webkit-user-select:none}
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:0.8rem;font-weight:600;text-decoration:none;cursor:pointer;border:none}
.btn-primary{background:#4f46e5;color:#fff}.btn-danger{background:#fee2e2;color:#dc2626}
.btn-sm{padding:4px 10px;font-size:0.72rem}
.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:0.68rem;font-weight:600}
.badge-published{background:#d1fae5;color:#065f46}
.badge-draft{background:#fef3c7;color:#92400e}

/* 响应式 */
@media(min-width:640px){.sm\:inline{display:inline}.sm\:text-2xl{font-size:1.5rem}.sm\:hidden{display:none}}
@media(min-width:768px){
  .md\:flex{display:flex}.md\:block{display:block}.md\:hidden{display:none}
  .md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.md\:grid-cols-5{grid-template-columns:repeat(5,1fr)}
  .md\:flex-row{flex-direction:row}
  .md\:text-2xl{font-size:1.5rem}.md\:text-3xl{font-size:1.875rem}
  .md\:py-16{padding-top:4rem;padding-bottom:4rem}
  .md\:gap-16{gap:4rem}.md\:gap-32{gap:8rem}
}
@media(min-width:1024px){.lg\:grid{display:grid}}

/* 打印 */
@media print{nav,footer,button,#payBtnArea,#qrcodeArea,#wechatTip{display:none!important}}

/* 动画 */
@keyframes spin{to{transform:rotate(360deg)}}
.animate-spin{animation:spin 1s linear infinite}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-25%)}}
.animate-bounce{animation:bounce 1s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}
.animate-pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite}

/* 表单控件 */
input:focus,textarea:focus,select:focus{outline:none}
.focus\:ring-2:focus{box-shadow:0 0 0 2px #6366f1}
.focus\:ring-indigo-500:focus{box-shadow:0 0 0 2px #6366f1}
.focus\:border-transparent:focus{border-color:transparent}
.outline-none{outline:none}.resize-none{resize:none}
.transform{transform:translateZ(0)}
.disabled\:opacity-50:disabled{opacity:0.5}
.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}
.disabled\:transform-none:disabled{transform:none}
.hover\:scale-105:hover{transform:scale(1.05)}
.hover\:text-red-600:hover{color:#dc2626}

/* 补充尺寸 */
.h-64{height:16rem}.max-w-4xl{max-width:56rem}
.gap-1\.5{gap:0.375rem}.gap-8{gap:2rem}
.mt-10{margin-top:2.5rem}.mb-8{margin-bottom:2rem}
.px-12{padding-left:3rem;padding-right:3rem}
.space-x-2>*+*{margin-left:0.5rem}.space-x-8>*+*{margin-left:2rem}
.border-4{border-width:4px}
.border-indigo-100{border-color:#e0e7ff}
.border-t-indigo-600{border-top-color:#4f46e5}
.bg-indigo-400{background:#818cf8}.bg-indigo-500{background:#6366f1}
.text-red-400{color:#f87171}
