*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font:"PingFang SC", "Noto Sans SC", system-ui, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", monospace;--bg:#f9fafb;--surface:#fff;--surface-2:#f3f4f6;--border:#e5e7eb;--text:#111827;--text-2:#6b7280;--accent:#2563eb;--accent-bg:#eff6ff;--stage-lost:#f59e0b;--stage-dir:#3b82f6;--stage-action:#10b981;--radius-sm:6px;--radius:10px;--radius-lg:16px;--shadow-sm:0 1px 3px #00000014;--shadow:0 4px 16px #0000001a}html{font-size:16px}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.page-container{max-width:860px;margin:0 auto;padding:32px 20px 80px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px}.card+.card{margin-top:16px}.btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:500;transition:background .15s,box-shadow .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 8px #2563eb40}.btn-primary:hover{background:#1d4ed8}.btn-ghost{color:var(--text-2);border-color:var(--border);background:0 0}.btn-ghost:hover{background:var(--surface-2)}.form-group{margin-bottom:20px}.form-label{color:var(--text-2);letter-spacing:.02em;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-control{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);background:var(--surface);outline:none;padding:10px 12px;font-size:14px;transition:border-color .15s}.form-control:focus{border-color:var(--accent)}.form-error{color:#ef4444;margin-top:4px;font-size:12px}.role-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:16px;display:grid}.role-card{border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:16px;transition:border-color .15s,background .15s}.role-card:hover,.role-card.selected{border-color:var(--accent);background:var(--accent-bg)}.role-card-emoji{margin-bottom:8px;font-size:28px}.role-card-name{color:var(--text);font-size:14px;font-weight:600}.role-card-def{color:var(--text-2);margin-top:4px;font-size:12px;line-height:1.4}.stage-badge{color:#fff;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-block}.question-block{margin-bottom:28px}.question-prompt{color:var(--text);margin-bottom:12px;font-size:15px;font-weight:500}.option-row{flex-wrap:wrap;gap:8px;display:flex}.option-btn{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface);min-width:80px;color:var(--text);text-align:center;flex:1;padding:8px 12px;font-size:13px;transition:all .15s}.option-btn:hover{border-color:var(--accent);color:var(--accent)}.option-btn.selected{border-color:var(--accent);background:var(--accent-bg);color:var(--accent);font-weight:500}.result-module{margin-bottom:24px}.result-module-title{color:var(--text);margin-bottom:12px;font-size:16px;font-weight:600}.result-list{padding:0;list-style:none}.result-list li{color:var(--text);border-bottom:1px solid var(--border);padding:6px 0;font-size:14px}.result-list li:last-child{border-bottom:none}.result-list li:before{content:"→ ";color:var(--accent);font-weight:600}.skill-tag-group{margin-top:8px}.skill-tag-label{color:var(--text-2);margin-bottom:6px;font-size:12px;font-weight:600}.skill-tags{flex-wrap:wrap;gap:6px;display:flex}.skill-tag{background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:12px}.score-bar-row{align-items:center;gap:12px;margin-bottom:10px;display:flex}.score-bar-label{min-width:90px;color:var(--text-2);font-size:13px}.score-bar-track{background:var(--surface-2);border-radius:999px;flex:1;height:6px;overflow:hidden}.score-bar-fill{border-radius:999px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.score-bar-value{text-align:right;min-width:28px;font-size:13px;font-weight:600;font-family:var(--font-mono)}.nav{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;height:52px;padding:0 20px;display:flex}.nav-brand{color:var(--text);font-size:16px;font-weight:700}.nav-steps{gap:24px;margin-left:auto;display:flex}.nav-step{color:var(--text-2);font-size:13px}.nav-step.active{color:var(--accent);font-weight:500}.text-muted{color:var(--text-2)}.text-sm{font-size:13px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.flex{display:flex}.items-center{align-items:center}.gap-2{gap:8px}.gap-4{gap:16px}.app-shell{background:radial-gradient(circle at top left, #2563eb14, transparent 30%), linear-gradient(180deg, #f8fbff 0%, var(--bg) 48%, #eef2ff 100%);min-height:100vh}.topbar{justify-content:space-between;align-items:center;gap:16px;max-width:1180px;margin:0 auto;padding:22px 20px 12px;display:flex}.brand{color:var(--text);font-size:16px;font-weight:700}.brand:hover{text-decoration:none}.topnav{flex-wrap:wrap;gap:10px;display:flex}.nav-link{border:1px solid var(--border);color:var(--text-2);background:#ffffffd1;border-radius:999px;padding:8px 14px;font-size:13px;transition:all .15s}.nav-link.active,.nav-link:hover{color:var(--accent);background:var(--accent-bg);border-color:#2563eb38;text-decoration:none}.page{max-width:1180px;margin:0 auto;padding:8px 20px 72px}.hero{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);background:#ffffffdb;border:1px solid #2563eb1a;border-radius:20px;justify-content:space-between;align-items:flex-end;gap:20px;padding:28px;display:flex}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:700}.hero h1{margin-bottom:10px;font-size:36px;line-height:1.1}.hero-copy{max-width:760px;color:var(--text-2);font-size:15px}.hero-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.primary-button,.ghost-button{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:0 18px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 12px 24px #2563eb2e}.primary-button:hover{transform:translateY(-1px)}.ghost-button{border-color:var(--border);color:var(--text);background:#ffffffdb}.ghost-link-button,.ghost-link-button:hover{text-decoration:none}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px;display:grid}.summary-pill,.section-card{box-shadow:var(--shadow-sm);background:#ffffffe6;border:1px solid #0f172a0f;border-radius:18px}.summary-pill{padding:16px 18px}.summary-pill span{color:var(--text-2);margin-bottom:6px;font-size:12px;display:block}.summary-pill strong{font-size:24px}.page-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.page-grid-wide{grid-template-columns:1.1fr .9fr}.section-card{padding:22px}.section-kicker{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:700}.section-card h2{margin-bottom:16px;font-size:22px}.section-body{gap:14px;display:grid}.ordered-list,.plain-list{gap:12px;padding-left:20px;display:grid}.ordered-list li,.plain-list li{color:var(--text-2)}.inline-panel{background:var(--surface-2);border-radius:14px;justify-content:space-between;gap:12px;padding:14px 16px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field{gap:8px;display:grid}.field span{font-size:13px;font-weight:600}.field input,.field select{border:1px solid var(--border);background:#fff;border-radius:12px;min-height:44px;padding:0 14px;font-size:14px}.field-hint{color:var(--text-2);font-size:12px}.field-error{color:#dc2626;font-size:12px}.stack-list{gap:10px;display:grid}.list-button{text-align:left;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:14px;gap:4px;padding:14px 16px;display:grid}.demo-list{gap:14px;display:grid}.demo-card{border:1px solid var(--border);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.demo-card h3{margin-bottom:6px;font-size:17px}.demo-card p{color:var(--text-2);font-size:14px}.button-row,.footer-actions,.cta-stack{flex-wrap:wrap;gap:10px;display:flex}.footer-actions{justify-content:flex-end;margin-top:16px}.cta-stack{align-items:center}.question-list{gap:16px;display:grid}.question-card{border:1px solid var(--border);background:#fff;border-radius:16px;padding:18px}.question-head{align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.question-index{background:var(--accent-bg);min-width:38px;color:var(--accent);text-align:center;border-radius:999px;padding:4px 0;font-size:12px;font-weight:700}.question-head h3{font-size:16px}.option-list{gap:10px;display:grid}.option-item{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;display:flex}.option-item.is-selected{background:var(--accent-bg);border-color:#2563eb3d}.score-panel{gap:18px;display:grid}.score-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding-bottom:14px;display:flex}.score-header strong{font-size:34px}.score-header span{color:var(--accent);font-size:15px;font-weight:700}.metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.metadata-grid div{background:var(--surface-2);border-radius:14px;gap:4px;padding:14px;display:grid}.metadata-grid span{color:var(--text-2);font-size:12px}.metadata-grid strong{font-size:15px}.dimension-list{gap:12px;display:grid}.dimension-row{background:var(--surface-2);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.dimension-row__label{font-size:15px;font-weight:700}.dimension-row__meta{color:var(--text-2);font-size:12px}.dimension-row__score{color:var(--accent);font-size:28px;font-weight:700}.lead-form{gap:12px;display:grid}@media (width<=900px){.hero,.demo-card,.inline-panel{flex-direction:column;align-items:flex-start}.stats-grid,.page-grid,.page-grid-wide,.form-grid,.metadata-grid{grid-template-columns:1fr}}
