:root {
  color-scheme: light;
  --ink: #242724;
  --blue: #dce8f5;
  --blue-deep: #56697d;
  --acid: #e3ead7;
  --sky: #eaf1f8;
  --yellow: #faedb8;
  --paper: #fcfbf7;
  --white: #fff;
  --line: rgba(36, 39, 36, .1);
  --muted: #666c68;
  --shadow: 0 18px 50px rgba(62, 72, 68, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: var(--paper);
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  line-break: strict;
  word-break: normal;
  overflow-wrap: break-word;
}

p, li, summary, .answer-card { text-wrap: pretty; word-break:auto-phrase; }
h1, h2, h3 { text-wrap: balance; word-break:auto-phrase; }
p { line-height: 1.9; }

button, input { font: inherit; }
button { cursor: pointer; }
.site-shell { min-height: 100svh; }
.welcome { min-height: 100svh; padding: 28px clamp(20px, 5vw, 76px) 34px; display: flex; flex-direction: column; position:relative; overflow:hidden; }
.welcome::before { content:""; position:absolute; width:210px; height:210px; right:5vw; top:-118px; border-radius:38% 62% 55% 45% / 56% 40% 60% 44%; background:var(--acid); transform:rotate(16deg); opacity:.72; }
.topbar, .welcome-grid, .promise-strip { position:relative; z-index:1; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); padding-bottom:18px; }
.brand { color:var(--ink); font-weight:650; font-size:.76rem; letter-spacing:.16em; text-decoration:none; }
.test-meta { color:var(--muted); font-size:.85rem; }
.welcome-grid { flex:1; display:grid; grid-template-columns:minmax(0,1fr); align-items:center; max-width:1320px; width:100%; margin:0 auto; padding:64px 0 46px; }
.hero-copy { max-width:930px; }
.eyebrow { display:inline-flex; margin:0 0 18px; color:#687459; font-weight:650; letter-spacing:.1em; font-size:.84rem; }
h1 { margin:0; max-width:850px; font-family:inherit; font-size:clamp(3rem,4.5vw,5rem); line-height:1.12; letter-spacing:-.035em; font-weight:650; }
h1 em { color:var(--ink); font-style:normal; font-weight:400; letter-spacing:-.035em; }
.mobile-break { display:none; }
.hero-lede { max-width:690px; margin:30px 0 34px; font-size:clamp(1.02rem,1.25vw,1.22rem); line-height:1.85; color:#555b62; }
.primary-button { border:0; border-radius:999px; padding:18px 30px; min-width:230px; color:white; background:#151515; font-weight:600; font-size:1rem; box-shadow:0 12px 30px rgba(9,11,14,.14); transition:.2s ease; }
.primary-button:hover { background:var(--blue); transform:translateY(-2px); }
.primary-button:focus-visible { outline:4px solid var(--acid); outline-offset:4px; }
.privacy-note { color:var(--muted); font-size:.8rem; margin:14px 0 0; }
.promise-strip { max-width:1320px; margin:0 auto; width:100%; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.promise-strip span { padding:20px 10px 0; font-size:.88rem; color:#526176; }
.promise-strip b { color:var(--blue-deep); margin-right:10px; }

.intro-section { max-width:1320px; margin:0 auto; padding:clamp(58px,7vw,84px) clamp(24px,5vw,76px); display:grid; grid-template-columns:180px minmax(0,1fr); gap:clamp(32px,5vw,72px); background:#f4f7ef; }
.intro-section .section-number { color:var(--blue-deep); font-weight:650; letter-spacing:.12em; font-size:.82rem; }
.intro-section h2 { margin:0; max-width:860px; color:#46524d; font-size:clamp(1.75rem,2.2vw,2.55rem); line-height:1.48; letter-spacing:-.018em; font-weight:560; }
.intro-section p { max-width:760px; margin:24px 0 0; font-size:clamp(1rem,1.05vw,1.08rem); line-height:1.9; color:#626963; }
.pain-section { max-width:1320px; margin:0 auto; padding:64px clamp(20px,5vw,76px) 76px; }
.pain-list { max-width:900px; margin:24px 0 36px; padding:0; list-style:none; display:grid; gap:18px; }
.pain-list li { position:relative; padding-left:28px; color:#38403c; font-size:clamp(1rem,1.2vw,1.12rem); line-height:1.8; }
.pain-list li::before { content:""; position:absolute; left:2px; top:.72em; width:8px; height:8px; border-radius:50%; background:#70849a; }
.author-watermark { color:#858b86; font-size:.76rem; letter-spacing:.02em; line-height:1.6; }
.home-watermark { margin:26px 0 0; }
.quiz-watermark { max-width:1260px; margin:22px auto 0; text-align:right; padding:0 8px; }
.result-watermark { margin:0; padding:18px 24px; text-align:center; background:#f6f8f2; }
.secondary-button { background:var(--ink); color:white; border:0; border-radius:999px; padding:16px 28px; font-weight:600; }

/* quiz */
body[data-view="quiz"] { background:#fbfaf6; }
.quiz-page { min-height:100svh; position:relative; overflow:hidden; padding:24px clamp(18px,4vw,56px) 110px; }
.quiz-orbit { position:fixed; pointer-events:none; z-index:-1; filter:saturate(1.1); }
.orbit-blue { width:44vw; height:44vw; min-width:420px; min-height:420px; background:var(--sky); border-radius:48% 52% 37% 63% / 42% 37% 63% 58%; left:-18vw; bottom:-20vw; transform:rotate(18deg); }
.orbit-lime { width:260px; height:260px; background:var(--acid); border-radius:36% 64% 61% 39% / 62% 40% 60% 38%; right:-90px; top:-80px; transform:rotate(-16deg); }
.quiz-header, .result-header { max-width:1360px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand-button { border:0; padding:0; background:transparent; color:var(--ink); font-weight:650; letter-spacing:.12em; font-size:.8rem; }
.progress-copy { color:var(--muted); font-size:.85rem; }
.progress-copy span { font-size:1.45rem; color:var(--ink); font-weight:650; }
.quiz-progress { max-width:1360px; height:4px; margin:18px auto 0; background:rgba(16,34,56,.12); }
.quiz-progress i { display:block; height:100%; background:var(--blue-deep); transition:width .35s ease; }
.quiz-layout { max-width:1260px; margin:clamp(42px,7vh,86px) auto 0; display:grid; grid-template-columns:280px minmax(0,830px); justify-content:center; align-items:start; gap:clamp(36px,7vw,110px); }
.chapter-panel { position:sticky; top:40px; padding-top:18px; }
.chapter-count { display:inline-grid; place-items:center; width:76px; height:76px; background:#151515; color:white; border-radius:50%; font-size:1.5rem; font-weight:650; }
.chapter-panel > p:not(.chapter-desc) { margin:28px 0 8px; font-size:.7rem; letter-spacing:.16em; font-weight:650; color:var(--blue-deep); }
.chapter-panel h2 { font-size:clamp(2rem,2.8vw,3.45rem); line-height:1.08; margin:0; letter-spacing:-.04em; font-weight:650; }
.chapter-desc { color:var(--muted); line-height:1.7; font-size:.9rem; margin-top:20px; }
.chapter-dots { display:flex; gap:8px; margin-top:30px; }
.chapter-dots i { display:block; width:9px; height:9px; border-radius:50%; background:rgba(16,34,56,.18); }
.chapter-dots i.active { background:var(--blue-deep); }
.question-card { background:rgba(255,255,255,.96); backdrop-filter:blur(18px); border-radius:34px; padding:clamp(28px,4vw,58px); box-shadow:var(--shadow); border:1px solid var(--line); }
.question-meta { display:flex; justify-content:space-between; gap:20px; color:var(--muted); font-size:.78rem; letter-spacing:.1em; font-weight:600; }
.question-card h1 { margin:36px 0 42px; max-width:780px; font-family:inherit; font-size:clamp(1.75rem,2.7vw,2.85rem); line-height:1.45; letter-spacing:-.018em; font-weight:600; text-wrap:pretty; }
.answer-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.answer-card { min-height:128px; border:1px solid var(--line); border-radius:22px; background:#fdfcf9; color:var(--ink); padding:20px; text-align:left; display:grid; grid-template-columns:38px 1fr; gap:14px; align-items:start; font-size:1rem; font-weight:400; line-height:1.8; transition:.18s ease; }
.answer-card:hover { transform:translateY(-2px); border-color:var(--blue-deep); background:#e3e9ef; }
.answer-card.selected { background:var(--yellow); border-color:#17191c; box-shadow:inset 0 0 0 1px #17191c; }
.answer-letter { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:white; border:1px solid var(--line); font-weight:650; font-size:.8rem; }
.answer-card.selected .answer-letter { background:#090b0e; color:white; }
.none-button { display:block; margin:18px auto 0; border:0; border-bottom:1px solid transparent; background:transparent; color:var(--muted); padding:8px; }
.none-button:hover, .none-button.selected { color:var(--ink); border-bottom-color:var(--ink); }
.quiz-nav { position:fixed; left:50%; bottom:22px; transform:translateX(-50%); width:min(620px,calc(100% - 28px)); min-height:68px; border-radius:999px; background:#090b0e; color:white; display:grid; grid-template-columns:54px 1fr auto; align-items:center; padding:8px; gap:8px; box-shadow:0 18px 55px rgba(0,0,0,.28); z-index:10; }
.quiz-nav > span { text-align:center; font-size:.8rem; color:rgba(255,255,255,.65); }
.nav-icon { width:50px; height:50px; border-radius:50%; border:0; background:white; color:#090b0e; font-size:2rem; line-height:1; }
.nav-icon:disabled { opacity:.3; }
.next-button { border:0; min-width:116px; height:50px; border-radius:999px; background:#f8f5ec; color:#17191c; font-weight:600; padding:0 22px; }
.next-button:disabled { background:#333; color:#888; cursor:not-allowed; }

/* results */
body[data-view="result"] { background:#fcfbf7; }
.result-page { min-height:100svh; }
.result-header { padding:22px clamp(20px,4vw,60px); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; background:rgba(252,251,247,.92); backdrop-filter:blur(16px); }
.result-header nav { display:flex; gap:24px; }
.result-header a { color:var(--muted); text-decoration:none; font-size:.82rem; }
.print-button { border:0; border-radius:999px; background:#242724; color:white; padding:11px 18px; font-weight:600; }
.identity-hero { min-height:560px; position:relative; overflow:hidden; background:var(--sky); display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:54px; align-items:center; padding:64px max(6vw,24px); }
.identity-copy { position:relative; z-index:2; max-width:940px; }
.identity-label { margin:18px 0 8px; font-weight:650; }
.identity-copy h1 { font-family:inherit; font-size:clamp(3.5rem,6vw,6rem); font-weight:650; line-height:1.06; letter-spacing:-.04em; }
.identity-combination { display:flex; align-items:flex-end; gap:14px; flex-wrap:wrap; margin:30px 0 26px; }
.core-combination { padding:14px 16px 16px; background:rgba(255,255,255,.58); border:1px solid rgba(86,105,125,.16); border-radius:20px; }
.core-combination > small, .support-talent small { display:block; margin-bottom:10px; color:var(--blue-deep); font-size:.74rem; font-weight:650; letter-spacing:.08em; }
.identity-formula { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.identity-formula span { display:inline-flex; align-items:center; gap:8px; padding:9px 13px; background:white; border-radius:999px; font-weight:650; }
.identity-formula i { color:var(--blue-deep); font-size:.7rem; font-style:normal; }
.identity-formula b { color:var(--blue-deep); font-size:1.5rem; }
.support-talent { min-width:150px; padding:14px 16px; background:var(--yellow); border-radius:18px; }
.support-talent strong { display:block; font-size:1rem; }
.identity-intro { max-width:760px; padding-left:18px; border-left:3px solid #8095ab; font-size:1.04rem; }
.identity-intro strong { display:block; margin-bottom:9px; color:var(--blue-deep); font-size:.82rem; letter-spacing:.08em; }
.identity-intro p { margin:4px 0; line-height:1.8; }
.identity-stamp { position:relative; z-index:2; width:220px; height:220px; background:var(--acid); border-radius:50%; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; transform:rotate(3deg); box-shadow:0 18px 42px rgba(52,55,61,.08); }
.identity-stamp span { font-size:.78rem; letter-spacing:.12em; font-weight:650; }
.identity-stamp strong { font-size:3rem; margin:14px 0; }
.identity-stamp small { font-weight:650; }
.identity-shape { position:absolute; pointer-events:none; }
.shape-a { width:330px; height:330px; right:18%; top:-170px; background:var(--yellow); border-radius:38% 62% 49% 51% / 46% 42% 58% 54%; }
.shape-b { width:480px; height:180px; left:-120px; bottom:-70px; background:#aab896; border-radius:50%; transform:rotate(-10deg); }
.report-section { max-width:1380px; margin:0 auto; padding:78px clamp(20px,5vw,72px); }
.section-heading h2, .plan-intro h2, .reflection-card h2 { font-size:clamp(2.15rem,4vw,4.35rem); font-weight:620; line-height:1.2; letter-spacing:-.03em; margin:14px 0 24px; }
.section-heading > p:last-child, .wide-heading > p { color:var(--muted); line-height:1.9; max-width:590px; }
.section-number { color:var(--blue-deep); letter-spacing:.14em; font-size:.8rem; font-weight:650; }
.profile-grid { display:grid; grid-template-columns:.8fr 1fr 1.15fr; gap:26px; align-items:start; }
.chart-card { background:white; border-radius:34px; padding:14px; box-shadow:var(--shadow); }
.radar-chart { width:100%; height:auto; overflow:visible; }
.radar-grid polygon, .radar-grid line { fill:none; stroke:rgba(16,34,56,.16); stroke-width:1; }
.radar-data { fill:rgba(143,169,207,.42); stroke:var(--blue-deep); stroke-width:3; }
.radar-chart text { font-size:12px; font-weight:600; fill:var(--ink); }
.dimension-list { display:flex; flex-direction:column; gap:8px; }
.dimension-row { display:grid; grid-template-columns:42px 1fr 42px; gap:12px; align-items:center; padding:13px 14px; border-bottom:1px solid var(--line); }
.dimension-row.top { background:var(--acid); border-radius:16px; border-bottom:0; }
.dimension-icon { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:var(--dim-color); color:white; font-weight:650; }
.dimension-row b { display:block; }
.dimension-row small { display:block; color:var(--muted); line-height:1.6; margin-top:4px; font-size:.8rem; }
.dimension-row > strong { font-size:1.2rem; text-align:right; }
.talent-story { border-top:1px solid var(--line); }
.story-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:34px; }
.story-cards article { min-height:220px; padding:24px; border-radius:24px; background:white; border:1px solid var(--line); }
.story-cards article:nth-child(1) { background:var(--acid); transform:rotate(-1.2deg); }
.story-cards article:nth-child(2) { background:var(--sky); transform:translateY(22px); }
.story-cards article:nth-child(3) { background:var(--yellow); transform:rotate(1.2deg); }
.story-cards span { font-weight:650; color:var(--blue-deep); }
.story-cards h3 { font-size:1.55rem; margin:30px 0 12px; }
.story-cards p { line-height:1.9; }
.talent-story blockquote { margin:42px 0 0; max-width:920px; padding:26px 30px; color:#4f5f59; background:#f1f4ee; border-left:4px solid #98a888; border-radius:0 22px 22px 0; font-size:clamp(1.25rem,1.8vw,1.75rem); line-height:1.65; font-weight:560; letter-spacing:-.012em; }
.talent-story blockquote span { display:block; }
.talent-story blockquote span + span { margin-top:8px; color:#718078; font-size:.82em; }
.direction-section { max-width:none; background:#3d4d4a; color:white; }
.direction-section .section-number { color:var(--acid); }
.wide-heading { max-width:1240px; margin:0 auto 38px; display:flex; justify-content:space-between; gap:50px; align-items:end; }
.section-heading.wide-heading > p:last-child { color:rgba(255,255,255,.88); }
.direction-grid { max-width:1240px; margin:0 auto; display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.more-directions { grid-column:1 / -1; margin-top:8px; }
.more-directions > summary { width:max-content; max-width:100%; margin:4px auto 0; padding:13px 20px; border:1px solid rgba(255,255,255,.32); border-radius:999px; color:rgba(255,255,255,.9); cursor:pointer; font-weight:600; }
.more-direction-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:22px; }
.direction-card { background:#43514f; border:1px solid rgba(255,255,255,.14); border-radius:28px; padding:28px; }
.direction-card.featured { background:var(--sky); color:var(--ink); }
.direction-rank { display:flex; justify-content:space-between; gap:20px; }
.direction-rank span { font-weight:650; color:var(--acid); }
.featured .direction-rank span { color:var(--blue-deep); }
.direction-rank b { color:#f1b84b; letter-spacing:.05em; }
.direction-rank b small { margin-right:10px; color:var(--muted); font-size:.72rem; letter-spacing:.04em; }
.direction-rank b i { color:#aeb8b5; font-style:normal; }
.featured .direction-rank b { color:#b66c16; }
.featured .direction-rank b i { color:#b8c1c7; }
.direction-card h3 { font-size:clamp(1.5rem,2.3vw,2.3rem); line-height:1.3; margin:34px 0 18px; }
.match-reason { position:relative; margin:0 0 28px; padding:16px 18px 27px; color:rgba(255,255,255,.92); background:rgba(255,255,255,.08); border-radius:18px; }
.match-reason p { margin:0; line-height:1.75; }
.match-reason b { display:block; margin-bottom:5px; color:inherit; font-size:.8rem; letter-spacing:.06em; }
.featured .match-reason { color:#44515b; background:rgba(255,255,255,.72); }
.reason-icon { position:absolute; left:50%; bottom:-13px; display:grid; place-items:center; width:27px; height:27px; border-radius:50%; transform:translateX(-50%); color:white; background:#71855f; font-size:.85rem; box-shadow:0 4px 12px rgba(35,45,41,.16); }
.direction-card details { border-top:1px solid rgba(255,255,255,.15); margin-top:18px; padding-top:18px; }
.featured details { border-color:rgba(16,34,56,.18); }
.direction-card summary { cursor:pointer; font-weight:650; line-height:1.65; }
.direction-detail { display:flex; flex-direction:column; gap:0; margin-top:14px; }
.direction-step { display:grid; grid-template-columns:34px minmax(0,1fr); gap:12px; padding:16px 0; border-top:1px solid rgba(255,255,255,.12); }
.featured .direction-step { border-color:rgba(86,105,125,.14); }
.direction-step > span { color:var(--yellow); font-size:.78rem; font-weight:650; }
.featured .direction-step > span { color:#9b641e; }
.direction-step p { margin:0; line-height:1.75; color:rgba(255,255,255,.86); }
.featured .direction-step p { color:#525d64; }
.direction-step b { display:block; margin:0 0 5px; color:inherit; font-size:.82rem; }
.save-direction { margin-top:20px; border:1px solid currentColor; color:inherit; background:transparent; border-radius:999px; padding:10px 16px; }
.save-direction.saved { background:var(--acid); color:var(--ink); border-color:var(--acid); }
.plan-section { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.plan-intro { position:sticky; top:120px; align-self:start; }
.plan-intro > p:last-child { color:var(--muted); line-height:1.9; max-width:520px; }
.plan-steps { position:relative; display:flex; flex-direction:column; gap:12px; counter-reset:plan-step; }
.plan-steps::before { content:""; position:absolute; left:47px; top:34px; bottom:34px; width:1px; background:#cfd8d1; }
.plan-steps article { position:relative; counter-increment:plan-step; border-radius:24px; padding:24px; background:white; border:1px solid var(--line); display:grid; grid-template-columns:48px 1fr; gap:18px; align-items:start; }
.plan-steps article::before { content:"0" counter(plan-step); position:relative; z-index:1; display:grid; place-items:center; width:48px; height:48px; border-radius:50%; color:white; background:#536966; font-size:.76rem; font-weight:650; letter-spacing:.04em; }
.plan-steps article:nth-child(2) { background:var(--acid); }
.plan-steps article:nth-child(3) { background:var(--sky); }
.plan-steps article:nth-child(4) { background:var(--yellow); }
.plan-steps b { display:block; margin:1px 0 7px; font-size:1.12rem; }
.plan-steps p { margin:0; color:#545d58; line-height:1.8; }
.reflection-card { max-width:1240px; margin:0 auto 60px; padding:clamp(28px,6vw,80px); background:#6d8196; color:white; border-radius:44px; }
.reflection-card ol { display:grid; grid-template-columns:1fr 1fr; gap:0 50px; counter-reset:item; padding:0; list-style:none; }
.reflection-card li { padding:24px 0; border-top:1px solid rgba(255,255,255,.35); font-size:1.05rem; line-height:1.8; }
.result-footer { background:var(--acid); padding:50px max(5vw,24px); display:flex; justify-content:space-between; align-items:center; gap:30px; }
.result-footer b { font-size:1.3rem; }
.result-footer p { margin:8px 0 0; }
.footer-actions { display:flex; gap:10px; }
.footer-actions button { border:1px solid var(--ink); border-radius:999px; background:transparent; padding:12px 18px; font-weight:650; }
.insufficient-page { min-height:100svh; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; max-width:900px; margin:0 auto; padding:50px 24px; }
.insufficient-mark { display:grid; place-items:center; width:120px; height:120px; border-radius:38% 62% 50% 50%; background:var(--acid); color:var(--blue-deep); font-size:4rem; font-weight:950; transform:rotate(-8deg); }
.insufficient-page h1 { font-family:inherit; font-size:clamp(2.8rem,7vw,6.5rem); margin:28px 0; }
.insufficient-page > p:not(.eyebrow) { max-width:720px; line-height:1.8; color:var(--muted); }
.insufficient-actions { display:flex; gap:14px; align-items:center; margin-top:20px; }
.text-button { border:0; background:transparent; color:var(--ink); text-decoration:underline; padding:12px; }

@media print {
  .result-header, .footer-actions, .save-direction { display:none !important; }
  .identity-hero, .direction-section { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .report-section { break-inside:avoid; }
  .author-watermark { position:fixed; right:18mm; bottom:10mm; z-index:99; color:#777; background:transparent; }
}

@media (max-width: 1100px) {
  .welcome-grid { grid-template-columns:minmax(0,1fr); }
  .intro-section { grid-template-columns:1fr; gap:26px; }
  .intro-section h2 { max-width:820px; }
  .profile-grid { grid-template-columns:1fr 1fr; }
  .profile-grid .section-heading { grid-column:1 / -1; }
  .quiz-layout { grid-template-columns:220px minmax(0,1fr); gap:44px; }
  .report-section { padding-top:68px; padding-bottom:68px; }
}

@media (max-width: 820px) {
  .welcome { padding:20px 20px 28px; }
  .welcome-grid { grid-template-columns:1fr; gap:44px; padding:48px 0 36px; }
  h1 { font-size:clamp(2.35rem,8.8vw,3.75rem); line-height:1.16; letter-spacing:-.03em; }
  .hero-lede { margin:26px 0 30px; line-height:1.9; }
  .promise-strip { grid-template-columns:1fr; }
  .promise-strip span { border-top:1px solid var(--line); padding:14px 0; }
  .promise-strip span:first-child { border-top:0; }
  .intro-section { grid-template-columns:1fr; gap:18px; padding:54px 24px; }
  .intro-section h2 { font-size:clamp(1.6rem,5.2vw,2.1rem); line-height:1.52; }
  .intro-section p { margin-top:20px; line-height:1.9; }
  .pain-section { padding-top:52px; padding-bottom:62px; }
  .pain-list { gap:16px; }
  .quiz-page { padding:18px 14px 108px; }
  .quiz-layout { grid-template-columns:1fr; gap:22px; margin-top:28px; }
  .chapter-panel { position:relative; top:auto; display:grid; grid-template-columns:54px 1fr; align-items:center; gap:12px; padding:0 6px; }
  .chapter-count { width:52px; height:52px; font-size:1rem; grid-row:1/3; }
  .chapter-panel > p:not(.chapter-desc), .chapter-desc, .chapter-dots { display:none; }
  .chapter-panel h2 { font-size:1.25rem; margin:0; }
  .question-card { padding:24px 18px; border-radius:28px; }
  .question-card h1 { margin:28px 0 32px; font-size:clamp(1.6rem,5.8vw,2.15rem); line-height:1.5; }
  .answer-grid { grid-template-columns:1fr; }
  .answer-card { min-height:auto; }
  .quiz-nav > span { display:none; }
  .quiz-nav { grid-template-columns:54px 1fr; }
  .next-button { width:100%; }
  .result-header nav { display:none; }
  .identity-hero { min-height:auto; grid-template-columns:1fr; gap:30px; padding:54px 24px; }
  .identity-copy h1 { font-size:clamp(3rem,10.8vw,4.9rem); line-height:1.1; }
  .identity-intro { line-height:1.95; }
  .identity-stamp { width:100%; height:auto; min-height:0; padding:18px 22px; border-radius:22px; flex-direction:row; justify-content:flex-start; gap:18px; text-align:left; transform:none; }
  .identity-stamp strong { font-size:2rem; margin:0; }
  .profile-grid { grid-template-columns:1fr; }
  .story-cards { grid-template-columns:1fr; }
  .story-cards article:nth-child(n) { transform:none; }
  .talent-story blockquote { margin-top:34px; }
  .wide-heading { display:block; }
  .direction-grid { grid-template-columns:1fr; }
  .more-direction-grid { grid-template-columns:1fr; }
  .plan-section { grid-template-columns:1fr; gap:40px; }
  .plan-intro { position:relative; top:auto; }
  .reflection-card { margin-left:18px; margin-right:18px; border-radius:30px; }
  .reflection-card ol { grid-template-columns:1fr; }
  .result-footer { align-items:flex-start; flex-direction:column; }
  .quiz-watermark { text-align:center; margin-top:18px; }
}

@media (max-width: 480px) {
  .topbar { align-items:flex-start; }
  .welcome::before { width:150px; height:150px; right:-34px; top:-78px; opacity:.8; }
  .mobile-break { display:none; }
  .test-meta { text-align:right; max-width:120px; }
  .welcome-grid { padding-top:42px; }
  h1 { font-size:2rem; line-height:1.25; }
  h1 > span, h1 em { display:block; }
  .hero-lede { font-size:1rem; line-height:1.9; }
  .primary-button { width:100%; }
  .intro-section { padding:48px 20px; }
  .intro-section h2 { font-size:1.55rem; line-height:1.58; letter-spacing:-.012em; }
  .intro-section p { font-size:1rem; line-height:1.9; }
  .pain-list { margin-top:20px; }
  .pain-list li { padding-left:24px; font-size:1rem; line-height:1.75; }
  .question-meta span:last-child { display:none; }
  .question-card { padding:24px 14px 26px; }
  .question-card h1 { font-size:1.4rem; line-height:1.62; }
  .answer-card { padding:17px 16px; line-height:1.8; }
  .quiz-page { padding-bottom:calc(104px + env(safe-area-inset-bottom)); }
  .quiz-nav { bottom:max(12px, env(safe-area-inset-bottom)); width:calc(100% - 20px); }
  .identity-copy h1 { font-size:clamp(2.8rem,12.6vw,4.1rem); }
  .identity-combination { display:grid; grid-template-columns:1fr; align-items:stretch; margin:24px 0 22px; }
  .identity-formula { align-items:center; }
  .support-talent { min-width:0; }
  .identity-intro { padding-left:14px; }
  .profile-grid, .report-section { padding-left:18px; padding-right:18px; }
  .report-section { padding-top:48px; padding-bottom:48px; }
  .section-heading h2, .plan-intro h2, .reflection-card h2 { font-size:1.82rem; line-height:1.38; }
  .dimension-row { grid-template-columns:38px minmax(0,1fr) 32px; padding:14px 8px; }
  .dimension-row small { font-size:.8rem; line-height:1.6; }
  .story-cards { gap:12px; margin-top:26px; }
  .story-cards article { min-height:auto; padding:21px; }
  .story-cards h3 { margin-top:24px; }
  .talent-story blockquote { padding:20px; font-size:1.18rem; line-height:1.72; }
  .direction-card { padding:24px 20px; }
  .direction-rank b small { display:none; }
  .wide-heading { margin-bottom:28px; }
  .wide-heading > p { font-size:.95rem; line-height:1.8; }
  .reflection-card { margin-bottom:40px; }
  .direction-step { grid-template-columns:30px minmax(0,1fr); }
  .plan-steps::before { left:43px; }
  .plan-steps article { grid-template-columns:42px 1fr; gap:14px; padding:20px 18px; }
  .plan-steps article::before { width:42px; height:42px; }
  .footer-actions { width:100%; }
  .footer-actions button { flex:1; }
}

@media (max-width: 380px) {
  .welcome { padding-left:16px; padding-right:16px; }
  h1 { font-size:2rem; }
  .intro-section { padding-left:18px; padding-right:18px; }
  .intro-section h2 { font-size:1.48rem; }
  .question-card h1 { font-size:1.34rem; }
  .answer-card { grid-template-columns:34px 1fr; gap:10px; }
  .answer-letter { width:30px; height:30px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; }
}
