:root {
  --ink: #243042;
  --muted: #6e7481;
  --purple: #6544cf;
  --purple-dark: #4b2fae;
  --purple-pale: #f0ebff;
  --teal: #2e9c91;
  --yellow: #f3c553;
  --paper: #f8f7f4;
  --white: #fff;
  --line: #e8e5ee;
  --shadow: 0 22px 65px rgba(48, 35, 87, 0.13);
  --font: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --latin: "Segoe UI", Arial, var(--font);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
}
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
svg { display: block; }
.skip-link { position: fixed; left: 16px; top: -60px; z-index: 200; padding: 10px 16px; background: #fff; border-radius: 8px; }
.skip-link:focus { top: 16px; }
.view { display: none; }
.view.is-active { display: block; animation: view-in .45s ease both; }
@keyframes view-in { from { opacity: 0; } to { opacity: 1; } }

.site-header {
  height: 78px;
  padding: 0 clamp(24px, 5vw, 76px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: absolute;
  z-index: 20;
  width: 100%;
  top: 0;
}
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; font-size: 21px; letter-spacing: -.04em; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: var(--purple); }
.brand-mark svg { width: 31px; height: 31px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; }
.brand-mark circle { fill: var(--yellow); stroke: none; }
.brand-latin { margin-left: 5px; font-family: var(--latin); font-size: 10px; letter-spacing: .15em; color: var(--purple); vertical-align: 2px; }
.main-nav { display: flex; gap: 38px; font-size: 14px; font-weight: 600; }
.main-nav a { position: relative; }
.main-nav a::after { content: ""; position: absolute; left: 0; bottom: -7px; width: 0; height: 2px; background: var(--purple); transition: width .25s; }
.main-nav a:hover::after { width: 100%; }
.header-cta, .ghost-button { border: 1px solid #d8d3e4; border-radius: 999px; background: rgba(255,255,255,.65); padding: 10px 20px; font-weight: 600; cursor: pointer; transition: .25s; }
.header-cta:hover, .ghost-button:hover { border-color: var(--purple); color: var(--purple); background: #fff; }
.nav-toggle { display: none; padding: 8px; border: 0; background: none; }
.nav-toggle span { display: block; width: 24px; height: 2px; background: var(--ink); margin: 5px; }

.hero {
  min-height: 730px;
  padding: 150px clamp(24px, 8vw, 130px) 92px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr);
  align-items: center;
  gap: 8vw;
  overflow: hidden;
  position: relative;
  background:
    radial-gradient(circle at 82% 20%, rgba(225, 216, 255, .9), transparent 26%),
    linear-gradient(150deg, #fbfaf7 0%, #f6f3ff 100%);
}
.hero::before { content: ""; position: absolute; width: 360px; height: 360px; border-radius: 50%; border: 1px solid rgba(101,68,207,.13); left: -180px; top: 220px; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--purple); font-size: 12px; font-weight: 700; letter-spacing: .1em; }
.eyebrow i { width: 20px; height: 2px; background: currentColor; }
.eyebrow.light { color: #dcd1ff; }
.hero h1 { margin: 23px 0 23px; font-size: clamp(48px, 5.4vw, 78px); line-height: 1.12; letter-spacing: -.065em; font-weight: 800; }
.hero h1 em { color: var(--purple); font-style: normal; position: relative; }
.hero h1 em::after { content: ""; position: absolute; left: 3px; right: 0; bottom: -10px; height: 11px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='12' viewBox='0 0 300 12'%3E%3Cpath d='M2 8C64 2 172 2 298 7' fill='none' stroke='%23f3c553' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat; }
.hero-lede { max-width: 575px; color: var(--muted); font-size: 18px; line-height: 1.85; margin: 0; }
.hero-actions { display: flex; align-items: center; gap: 23px; margin-top: 34px; }
.primary-button {
  min-height: 52px;
  padding: 0 25px;
  border: 0;
  border-radius: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: var(--purple);
  color: #fff;
  box-shadow: 0 10px 25px rgba(101, 68, 207, .25);
  font-weight: 700;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s, background .2s;
}
.primary-button:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(101,68,207,.32); background: var(--purple-dark); }
.primary-button svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.microcopy { color: #91939c; font-size: 12px; }
.trust-row { margin-top: 38px; display: flex; gap: 23px; flex-wrap: wrap; color: #6f7180; font-size: 12px; }
.trust-row span { display: flex; align-items: center; gap: 6px; }
.trust-row svg { width: 16px; fill: none; stroke: var(--teal); stroke-width: 2.3; }
.ai-optin-card { position:relative; width:min(510px,100%);margin-top:24px;padding:13px 16px;display:flex;align-items:center;gap:12px;border:1px solid #ded7f1;border-radius:14px;background:rgba(255,255,255,.65);cursor:pointer;text-align:left;transition:.2s; }
.ai-optin-card:hover{border-color:#b9a9eb;background:#fff}.ai-optin-card input{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;cursor:pointer;z-index:1}.ai-optin-card>span:last-child{display:block}.ai-optin-card strong,.ai-optin-card small{display:block}.ai-optin-card strong{font-size:12px}.ai-optin-card small{margin-top:3px;color:#918b9c;font-size:9px;line-height:1.5}.ai-switch{width:37px;height:21px;flex:0 0 auto;padding:3px;border-radius:999px;background:#c9c4d2;transition:.2s}.ai-switch i{display:block;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.15);transition:.2s}.ai-optin-card input:checked+.ai-switch{background:var(--purple)}.ai-optin-card input:checked+.ai-switch i{transform:translateX(16px)}.ai-optin-card input:focus-visible+.ai-switch{outline:3px solid rgba(101,68,207,.2);outline-offset:3px}

.hero-visual { min-height: 490px; display: grid; place-items: center; position: relative; }
.compass-card { position: relative; z-index: 3; width: 345px; height: 430px; padding: 24px; border: 1px solid rgba(255,255,255,.8); border-radius: 28px; background: rgba(255,255,255,.78); box-shadow: 0 35px 80px rgba(59,43,114,.19); backdrop-filter: blur(14px); transform: rotate(2.5deg); }
.compass-top { display: flex; justify-content: space-between; font-size: 12px; font-weight: 700; color: #6b647d; }
.signal { display: flex; align-items: end; gap: 3px; }
.signal i { width: 3px; display: block; border-radius: 3px; background: var(--purple); }
.signal i:nth-child(1) { height: 5px; }.signal i:nth-child(2) { height: 9px; }.signal i:nth-child(3) { height: 13px; }
.compass-dial { width: 246px; height: 246px; border: 1px solid #ded8ef; border-radius: 50%; margin: 34px auto 25px; position: relative; background: repeating-conic-gradient(from -2deg, rgba(101,68,207,.25) 0deg 1deg, transparent 1deg 15deg); }
.compass-dial::before { content: ""; position: absolute; inset: 24px; border: 1px solid #e3dff0; background: #faf9fd; border-radius: 50%; }
.compass-dial::after { content: ""; position: absolute; inset: 56px; border: 1px dashed #d8d1eb; border-radius: 50%; }
.dial-label { position: absolute; z-index: 1; padding: 3px 7px; border-radius: 6px; background: #fff; color: #817995; font-size: 10px; }
.dial-label-n { left: 50%; top: -11px; transform: translateX(-50%); }.dial-label-e { right: -18px; top: 50%; transform: translateY(-50%); }.dial-label-s { bottom: -10px; left: 50%; transform: translateX(-50%); }.dial-label-w { left: -18px; top: 50%; transform: translateY(-50%); }
.needle { position: absolute; z-index: 4; width: 9px; height: 90px; bottom: 50%; left: calc(50% - 4px); background: linear-gradient(to top, #a792e9 0 42%, var(--purple) 42%); clip-path: polygon(50% 0, 100% 45%, 65% 100%, 35% 100%, 0 45%); transform-origin: 50% 100%; transform: rotate(30deg); animation: needle-settle 1.7s cubic-bezier(.34,1.56,.64,1) both; }
@keyframes needle-settle { 0% { transform: rotate(-90deg); } 70% { transform: rotate(36deg); } 100% { transform: rotate(30deg); } }
.dial-center { position: absolute; z-index: 5; width: 24px; height: 24px; border: 6px solid #fff; border-radius: 50%; background: var(--yellow); left: 50%; top: 50%; transform: translate(-50%,-50%); box-shadow: 0 3px 9px #9c86de; }
.compass-caption { padding: 17px; border-radius: 14px; text-align: center; color: #827b90; font-size: 12px; background: #f5f2fc; }
.compass-caption strong { display: block; margin-top: 3px; color: var(--ink); font-size: 14px; }
.orbit { position: absolute; border: 1px dashed rgba(101,68,207,.2); border-radius: 50%; }
.orbit-one { width: 470px; height: 470px; }.orbit-two { width: 570px; height: 570px; }
.floating-card { position: absolute; z-index: 5; display: flex; align-items: center; gap: 11px; padding: 12px 16px 12px 12px; background: #fff; border-radius: 14px; box-shadow: 0 14px 40px rgba(53,40,96,.16); animation: float 4.2s ease-in-out infinite; }
.floating-card small, .floating-card strong { display: block; }.floating-card small { color: #9b96a5; font-size: 9px; margin-bottom: 3px; }.floating-card strong { font-size: 12px; }
.float-icon { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--purple-pale); color: var(--purple); font-size: 18px; }.float-icon.teal { background: #e2f4f1; color: var(--teal); }
.card-strength { left: -18px; top: 75px; }.card-fit { right: -8px; bottom: 80px; animation-delay: -2s; }
@keyframes float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
.dot-field { width: 125px; height: 80px; position: absolute; right: -35px; top: 60px; opacity: .45; background-image: radial-gradient(var(--purple) 1.5px, transparent 1.5px); background-size: 14px 14px; }

.social-proof { min-height: 88px; background: var(--purple); color: #fff; display: flex; align-items: center; justify-content: center; gap: 24px; padding: 20px; }
.social-proof p { margin: 0; font-size: 14px; }.social-proof p strong { color: var(--yellow); font-family: var(--latin); font-size: 18px; }
.proof-divider { width: 1px; height: 28px; background: rgba(255,255,255,.25); }
.avatars { display: flex; }.avatars span { width: 30px; height: 30px; margin-left: -6px; border: 2px solid var(--purple); border-radius: 50%; display: grid; place-items: center; background: #e8ddc8; color: #5d4c3a; font-size: 10px; }.avatars span:nth-child(2){background:#d7ebea}.avatars span:nth-child(3){background:#e7d9ef}.avatars span:nth-child(4){background:#fff;color:var(--purple)}
.rating { display: flex; align-items: center; gap: 8px; }.rating span { color: var(--yellow); letter-spacing: 2px; font-size: 12px; }.rating small { color: #d7cff4; }

.section { padding: 110px clamp(24px, 8vw, 130px); }
.section-heading { max-width: 620px; margin: 0 auto 58px; text-align: center; }
.section-heading h2, .dimension-intro h2 { font-size: clamp(34px, 4vw, 53px); line-height: 1.25; letter-spacing: -.045em; margin: 18px 0; }
.section-heading p, .dimension-intro p { color: var(--muted); line-height: 1.8; }
.method-section { background: #fff; }
.method-grid { max-width: 1160px; margin: 0 auto; display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.method-card { padding: 32px; min-height: 295px; border: 1px solid var(--line); border-radius: 20px; position: relative; overflow: hidden; transition: .3s; }
.method-card:hover { transform: translateY(-6px); box-shadow: 0 18px 45px rgba(35,32,47,.08); border-color: transparent; }
.step-number { position: absolute; top: 22px; right: 24px; font-family: var(--latin); font-size: 50px; font-weight: 700; color: #f0eef3; }
.method-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 15px; }.method-icon svg { width: 28px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.method-icon.purple { color: var(--purple); background: var(--purple-pale); }.method-icon.yellow { color: #bd8424; background: #fff4d8; }.method-icon.teal { color: var(--teal); background: #e6f5f3; }
.method-card h3 { margin: 30px 0 12px; font-size: 21px; }.method-card p { color: var(--muted); line-height: 1.8; font-size: 14px; margin: 0; }

.dimensions-section { background: #293045; color: #fff; display: grid; grid-template-columns: .8fr 1.2fr; gap: 10vw; align-items: center; overflow: hidden; position: relative; }
.dimensions-section::after { content: ""; position: absolute; width: 400px; height: 400px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; left: -260px; top: -140px; }
.dimension-intro { max-width: 460px; }.dimension-intro p { color: #aeb5c4; }.text-button { border: 0; padding: 8px 0; background: transparent; color: var(--purple); font-weight: 700; cursor: pointer; }.dimension-intro .text-button { color: var(--yellow); margin-top: 13px; }.text-button span { margin-left: 9px; transition: margin .2s; }.text-button:hover span { margin-left: 14px; }
.dimension-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.dimension-item { min-height: 84px; padding: 16px; display: flex; align-items: center; gap: 13px; border: 1px solid rgba(255,255,255,.11); border-radius: 13px; background: rgba(255,255,255,.05); transition: .25s; }
.dimension-item:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); }
.dimension-symbol { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 11px; background: rgba(255,255,255,.1); color: var(--yellow); }
.dimension-item strong, .dimension-item small { display: block; }.dimension-item small { margin-top: 3px; color: #9fa7b9; font-size: 11px; }.dimension-item b { margin-left: auto; color: rgba(255,255,255,.2); font-family: var(--latin); font-size: 9px; letter-spacing: .08em; }

.testimonial-section { text-align: center; background: #fbfaf7; }
.quote-mark { margin-bottom: -15px; color: var(--yellow); font-family: Georgia, serif; font-size: 75px; line-height: 1; }
.testimonial-section blockquote { max-width: 840px; margin: 0 auto; font-size: clamp(25px, 3vw, 38px); font-weight: 700; line-height: 1.55; letter-spacing: -.03em; }.testimonial-section blockquote em { color: var(--purple); font-style: normal; }
.quote-person { margin-top: 32px; display: inline-flex; align-items: center; gap: 12px; text-align: left; }.quote-person > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: #dcd1f8; color: var(--purple); font-weight: 700; }.quote-person strong, .quote-person small { display: block; }.quote-person small { margin-top: 3px; color: #93929b; }
.cta-section { max-width: calc(100% - clamp(32px, 8vw, 130px)); margin: 0 auto 100px; min-height: 285px; padding-top: 60px; padding-bottom: 60px; border-radius: 28px; display: flex; align-items: center; justify-content: space-between; gap: 30px; background: var(--purple); color: #fff; position: relative; overflow: hidden; }
.cta-section > * { position: relative; z-index: 2; }.cta-section h2 { font-size: clamp(32px, 4vw, 49px); line-height: 1.25; margin: 15px 0 0; letter-spacing: -.045em; }.light-button { background: #fff; color: var(--purple); box-shadow: none; white-space: nowrap; }.light-button:hover { background: var(--yellow); color: #403263; }
.cta-shape { position: absolute; z-index: 1; border-radius: 50%; border: 1px solid rgba(255,255,255,.12); }.shape-one { width: 420px; height: 420px; right: -150px; top: -270px; }.shape-two { width: 250px; height: 250px; left: 40%; bottom: -210px; }
.faq-section { background: #fff; }.section-heading.compact { margin-bottom: 45px; }.section-heading.compact h2 { font-size: 40px; }
.faq-list { max-width: 850px; margin: 0 auto; }.faq-list details { border-top: 1px solid var(--line); padding: 5px 0; }.faq-list details:last-child { border-bottom: 1px solid var(--line); }.faq-list summary { list-style: none; display: flex; justify-content: space-between; align-items: center; cursor: pointer; padding: 24px 5px; font-size: 17px; font-weight: 600; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary span { font-size: 23px; font-weight: 300; color: var(--purple); transition: transform .2s; }.faq-list details[open] summary span { transform: rotate(45deg); }.faq-list p { margin: -6px 45px 23px 5px; color: var(--muted); line-height: 1.8; font-size: 14px; }
.site-footer { padding: 60px clamp(24px, 8vw, 130px) 35px; text-align: center; background: #f3f1f6; }.footer-brand { justify-content: center; }.site-footer p { color: var(--muted); margin: 18px 0 18px; }.footer-links{display:flex;justify-content:center;gap:22px;margin-bottom:35px;color:#817b89;font-size:11px}.footer-links a,.footer-links button{padding:0;border:0;background:none;color:inherit;cursor:pointer}.footer-links a:hover,.footer-links button:hover{color:var(--purple)}.site-footer small { display: block; padding-top: 22px; border-top: 1px solid #dedbe3; color: #a29fa9; }

/* Quiz */
.quiz-view { min-height: 100vh; background: radial-gradient(circle at 50% 40%, #fff 0, #faf9fd 55%, #f2effa 100%); }
.quiz-shell { min-height: 100vh; display: flex; flex-direction: column; }
.quiz-topbar { min-height: 100px; display: grid; grid-template-columns: 52px minmax(200px, 620px) 52px; justify-content: center; align-items: center; gap: 38px; padding: 20px 5vw; }
.icon-button { width: 42px; height: 42px; border: 1px solid #ddd8e8; background: #fff; border-radius: 50%; display: grid; place-items: center; cursor: pointer; font-weight: 700; color: #827a96; transition: .2s; }.icon-button:hover { border-color: var(--purple); color: var(--purple); }.icon-button svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.quiz-progress-meta { display: flex; justify-content: space-between; margin-bottom: 10px; color: #9a95a6; font-size: 11px; }.quiz-progress-meta span:first-child { font-weight: 700; color: #6c657d; }
.progress-track { height: 5px; overflow: hidden; border-radius: 5px; background: #e9e5f0; }.progress-track div { height: 100%; width: 0; background: linear-gradient(90deg,var(--purple),#9e83eb); border-radius: inherit; transition: width .4s ease; }
.quiz-content { width: min(900px, 90vw); flex: 1; margin: 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 40px 0 85px; }
.question-kicker { color: var(--purple); font-size: 11px; font-weight: 700; letter-spacing: .13em; }.quiz-content h2 { max-width: 820px; min-height: 110px; margin: 24px 0 10px; font-size: clamp(27px, 3.4vw, 43px); line-height: 1.5; letter-spacing: -.04em; }.question-hint { margin: 0; color: #aaa6b1; font-size: 13px; }
.answer-scale { width: 100%; margin-top: 58px; display: grid; grid-template-columns: 92px 1fr 92px; gap: 15px; align-items: center; }.scale-edge { font-size: 12px; font-weight: 600; }.edge-left { color: #9a7bba; }.edge-right { color: var(--teal); }
.scale-options { display: flex; justify-content: space-between; align-items: center; }
.scale-option { border: 2px solid currentColor; border-radius: 50%; background: transparent; color: #9e80bd; display: grid; place-items: center; cursor: pointer; position: relative; transition: transform .18s, background .18s, box-shadow .18s; }
.scale-option:nth-child(1),.scale-option:nth-child(7) { width: 58px; height: 58px; }.scale-option:nth-child(2),.scale-option:nth-child(6) { width: 49px; height: 49px; }.scale-option:nth-child(3),.scale-option:nth-child(5) { width: 40px; height: 40px; }.scale-option:nth-child(4) { width: 32px; height: 32px; color: #aaa6b1; }
.scale-option:nth-child(n+5) { color: var(--teal); }.scale-option::after { content: ""; width: 0; height: 0; border-radius: 50%; background: #fff; transition: .18s; }
.scale-option:hover { transform: scale(1.1); }.scale-option.is-selected { background: currentColor; box-shadow: 0 7px 18px color-mix(in srgb, currentColor 24%, transparent); transform: scale(1.06); }.scale-option.is-selected::after { width: 10px; height: 10px; }
.scale-option:focus-visible { outline: 3px solid rgba(101,68,207,.2); outline-offset: 4px; }
.keyboard-hint { margin-top: 30px; color: #b0acb7; font-size: 11px; }.keyboard-hint span { padding: 2px 6px; border: 1px solid #ddd9e5; border-radius: 4px; background: #fff; }
.quiz-footer { min-height: 86px; padding: 17px 7vw; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #e8e4ee; background: rgba(255,255,255,.75); }.back-button,.next-button { min-width: 115px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center; gap: 8px; font-weight: 600; cursor: pointer; }.back-button { border: 1px solid #dfdbe6; background: #fff; }.next-button { border: 0; background: var(--purple); color: #fff; }.back-button svg,.next-button svg { width: 17px; fill: none; stroke: currentColor; stroke-width: 2; }.back-button:disabled,.next-button:disabled { cursor: not-allowed; opacity: .35; }.quiz-footer > span { color: #9a96a1; font-size: 11px; }.quiz-footer > span i { width: 6px; height: 6px; display: inline-block; margin-right: 7px; border-radius: 50%; background: #65b8a8; }
.tip-modal[hidden] { display: none; }.tip-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; }.modal-backdrop { position: absolute; inset: 0; background: rgba(30,25,45,.35); backdrop-filter: blur(4px); }.modal-card { width: min(420px,90vw); position: relative; padding: 38px; text-align: center; border-radius: 20px; background: #fff; box-shadow: var(--shadow); }.modal-close { position: absolute; right: 14px; top: 10px; border: 0; background: none; color: #aaa4b3; font-size: 27px; cursor: pointer; }.modal-icon { width: 52px; height: 52px; margin: 0 auto; display: grid; place-items: center; background: var(--purple-pale); color: var(--purple); border-radius: 50%; font-size: 24px; }.modal-card h3 { font-size: 22px; margin: 18px 0 10px; }.modal-card p { color: var(--muted); line-height: 1.8; font-size: 14px; }.primary-button.small { min-height: 43px; margin-top: 12px; }
.data-consent-modal[hidden]{display:none}.data-consent-modal{position:fixed;inset:0;z-index:180;display:grid;place-items:center;padding:20px}.consent-card{width:min(560px,94vw);max-height:calc(100vh - 40px);overflow:auto;position:relative;padding:38px;border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(34,27,58,.25)}.consent-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:#eee9ff;color:#6544cf;font-size:24px}.consent-kicker{display:block;margin-top:22px;color:#6544cf;font-size:10px;font-weight:800;letter-spacing:.12em}.consent-card h2{margin:7px 0 10px;font-size:27px;letter-spacing:-.035em}.consent-card>p{margin:0;color:#716c78;font-size:13px;line-height:1.75}.consent-list{margin:20px 0;padding:16px 18px 16px 38px;border-radius:13px;background:#f7f5fb;color:#5f5968}.consent-list li{padding:4px 0;font-size:11px;line-height:1.5}.consent-check{display:flex;align-items:flex-start;gap:10px;color:#595361;font-size:11px;line-height:1.6;cursor:pointer}.consent-check input{width:17px;height:17px;flex:0 0 auto;margin-top:1px;accent-color:#6544cf}.consent-check a{color:#6544cf;text-decoration:underline}.consent-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.consent-actions .primary-button{min-height:44px}.consent-actions .primary-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.consent-footnote{display:block;margin-top:14px;color:#a29ca8;font-size:9px;line-height:1.5}

/* Loading */
.loading-view { min-height: 100vh; background: #f7f4ff; }.loading-view.is-active { display: grid; place-items: center; }.loading-card { text-align: center; width: min(480px,86vw); }.loading-card h2 { margin: 25px 0 10px; font-size: 33px; }.loading-card p { color: var(--muted); }.loading-orbit { width: 130px; height: 130px; margin: 0 auto 35px; border: 1px solid #d9cef8; border-radius: 50%; display: grid; place-items: center; position: relative; }.loading-orbit::before,.loading-orbit::after { content:""; position:absolute; border:1px dashed #c9bbed; border-radius:50%; }.loading-orbit::before{inset:15px}.loading-orbit::after{inset:35px}.loading-orbit span { color: var(--purple); font-size: 24px; }.loading-orbit i { position: absolute; width: 13px; height: 13px; top: -7px; left: calc(50% - 6px); border-radius: 50%; background: var(--yellow); transform-origin: 6px 72px; animation: orbit-spin 1.6s linear infinite; }.loading-track { height: 5px; margin-top: 32px; border-radius: 5px; overflow: hidden; background: #e5dff2; }.loading-track i { display:block; width: 35%; height:100%; background:var(--purple); border-radius:inherit; animation: loading-slide 1.3s ease-in-out infinite; }
@keyframes orbit-spin { to { transform: rotate(360deg); } } @keyframes loading-slide { 0%{transform:translateX(-110%)} 100%{transform:translateX(390%)} }

/* Results */
.result-view { background: #f8f7f4; }.result-nav { height: 80px; padding: 0 clamp(24px,7vw,110px); display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #eeeaf2; }.result-actions { display:flex;gap:12px; }.result-actions .ghost-button{display:inline-flex;align-items:center;gap:7px}.share-button svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.compact-button { min-height:42px;padding:0 17px;border-radius:10px;font-size:13px; }.compact-button svg { width:17px; }
.result-hero { min-height: 475px; padding: 70px clamp(24px,10vw,160px); display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:70px;background:linear-gradient(135deg,#30294b,#493481);color:#fff;overflow:hidden;position:relative; }.result-hero::before { content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:1px solid rgba(255,255,255,.08);right:-160px;top:-210px; }.result-overline { color:#cbbcec;font-size:11px;font-weight:700;letter-spacing:.15em; }.type-line { display:flex;align-items:center;gap:12px;margin-top:21px; }.type-line > span { font-family:var(--latin);font-size:19px;font-weight:700;color:var(--yellow);letter-spacing:.08em; }.type-line i{width:28px;height:1px;background:rgba(255,255,255,.32)}.type-line small{color:#c5bbd8}.result-hero h1 { font-size:clamp(47px,6vw,76px);letter-spacing:-.06em;margin:10px 0 18px; }.result-tagline { max-width:640px;color:#d7d0e4;font-size:17px;line-height:1.8;margin:0; }.result-keywords { display:flex;gap:9px;flex-wrap:wrap;margin-top:28px; }.result-keywords span { padding:7px 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.06);font-size:11px;color:#e6e0ef; }
.result-emblem { height:300px;position:relative;display:grid;place-items:center; }.emblem-back { position:absolute;width:270px;height:270px;border:1px dashed rgba(255,255,255,.18);border-radius:50%;animation:slow-spin 25s linear infinite; }.emblem-back::before,.emblem-back::after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--yellow);top:17px;left:56px}.emblem-back::after{background:#7ad0c2;top:auto;left:auto;right:15px;bottom:70px}.emblem-card { width:190px;height:220px;border:1px solid rgba(255,255,255,.25);border-radius:65px 65px 24px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);box-shadow:0 22px 55px rgba(0,0,0,.2); }.result-icon { width:110px;height:110px; }.emblem-card span { font-family:var(--latin);font-size:18px;font-weight:700;letter-spacing:.2em;color:var(--yellow); }.spark{position:absolute;color:var(--yellow);}.spark-a{top:22px;right:55px;font-size:24px}.spark-b{bottom:25px;left:45px;font-size:18px;color:#9c8ad1}@keyframes slow-spin{to{transform:rotate(360deg)}}
.result-content { max-width:1120px;margin:0 auto;padding:20px 24px 110px; }.result-section { padding:85px 0;border-bottom:1px solid #e3e0e6; }.result-section-heading { display:flex;gap:21px;align-items:flex-start;margin-bottom:44px; }.section-index { font-family:var(--latin);font-size:12px;color:var(--purple);font-weight:700;margin-top:7px; }.result-section-heading > div > span { color:#9b96a3;font-size:10px;font-weight:700;letter-spacing:.13em; }.result-section-heading h2 { font-size:31px;letter-spacing:-.035em;margin:8px 0 0; }.overview-grid { display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center; }.radar-card { min-height:430px;display:grid;place-items:center;border-radius:22px;background:#fff;box-shadow:0 15px 45px rgba(42,35,65,.06); }.radar-wrap { width:min(430px,100%);padding:25px; }.score-list { display:flex;flex-direction:column;gap:22px; }.score-item-top { display:flex;align-items:baseline;justify-content:space-between;margin-bottom:9px; }.score-name { display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px; }.score-name i { width:8px;height:8px;border-radius:50%;background:var(--score-color); }.score-value { font-family:var(--latin);font-weight:700;color:var(--score-color); }.score-value small{font-size:10px;color:#aaa5b0;font-weight:400}.score-track{height:8px;border-radius:8px;background:#eae7ed;overflow:hidden}.score-track i{display:block;height:100%;width:0;border-radius:inherit;background:var(--score-color);transition:width 1s .2s ease}.score-item p{margin:7px 0 0;color:#a09ca6;font-size:10px}
.strength-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px; }.strength-card { min-height:215px;padding:27px;border:1px solid #e4e0e8;border-radius:18px;background:#fff;transition:.25s; }.strength-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px rgba(43,36,63,.07)}.strength-card > span { width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--card-pale);color:var(--card-color);font-size:19px; }.strength-card h3{margin:20px 0 9px;font-size:17px}.strength-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.environment-grid { display:grid;grid-template-columns:1fr 1fr;gap:20px; }.environment-card { padding:30px;border-radius:20px; }.environment-card.good{background:#eaf6f3}.environment-card.watch{background:#f5eef8}.environment-label { font-weight:700;display:flex;align-items:center;gap:9px; }.environment-label i{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font-style:normal;background:#fff}.good .environment-label{color:#287e74}.watch .environment-label{color:#8c5aa0}.environment-card ul{list-style:none;padding:0;margin:24px 0 0}.environment-card li{position:relative;padding:13px 0 13px 20px;border-top:1px solid rgba(45,70,68,.1);font-size:13px;line-height:1.6}.environment-card li::before{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:currentColor;left:0;top:21px}
.section-note { margin:-28px 0 34px 42px;color:var(--muted);font-size:13px; }.career-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }.career-card { min-height:180px;padding:24px;border:1px solid #e4e0e8;border-radius:17px;background:#fff;display:flex;flex-direction:column; }.career-card > span { color:var(--purple);font-family:var(--latin);font-size:10px;font-weight:700;letter-spacing:.1em}.career-card h3{font-size:17px;margin:12px 0 8px}.career-card p{color:var(--muted);font-size:12px;line-height:1.7;margin:0}.career-card small{margin-top:auto;padding-top:16px;color:#aaa6b1}.career-card small::before{content:"适配关键词 · ";color:#c1bdc5}
.ai-advisor-section{border-bottom:0}.ai-heading{align-items:center}.ai-heading .local-badge{margin-left:auto;padding:7px 11px;border:1px solid #c8e8e2;border-radius:999px;background:#eff9f7;color:#31897f;font-family:var(--latin);font-size:9px;font-weight:700;letter-spacing:.08em}.local-badge i{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#45ab9f;box-shadow:0 0 0 4px rgba(69,171,159,.12)}
.ai-advisor-shell{overflow:hidden;border:1px solid #ddd6ef;border-radius:24px;background:#fff;box-shadow:0 20px 55px rgba(51,37,90,.08)}.ai-model-bar{min-height:75px;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9e4f1;background:#30294b;color:#fff}.model-identity{display:flex;align-items:center;gap:12px}.model-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,#8065e8,#5637bd);color:#f5d06b;font-family:var(--latin);font-weight:800;font-size:12px}.model-identity strong,.model-identity small{display:block}.model-identity strong{font-family:var(--latin);font-size:13px}.model-identity small{margin-top:3px;color:#aca2c0;font-size:9px}.model-privacy{display:flex;align-items:center;gap:7px;color:#c7bdde;font-size:10px}.model-privacy span{color:#72c8b9}
.ai-status-panel{padding:30px;display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:22px;background:linear-gradient(115deg,#f8f6ff,#fff)}.ai-status-icon{width:58px;height:58px;display:grid;place-items:center;position:relative;border-radius:18px;background:var(--purple-pale);color:var(--purple);font-size:23px}.ai-status-icon i{position:absolute;width:8px;height:8px;right:7px;top:7px;border-radius:50%;background:var(--yellow);animation:status-pulse 1.8s ease-in-out infinite}@keyframes status-pulse{50%{transform:scale(1.5);opacity:.5}}.ai-status-kicker{color:var(--purple);font-size:9px;font-weight:800;letter-spacing:.12em}.ai-status-copy h3{margin:5px 0 5px;font-size:18px}.ai-status-copy p{max-width:620px;margin:0;color:var(--muted);font-size:11px;line-height:1.6}.ai-progress{display:none;width:min(510px,100%);height:6px;margin-top:13px;overflow:hidden;border-radius:6px;background:#e4dfec}.ai-progress.is-active{display:block}.ai-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple),#a586ec);transition:width .25s}.ai-progress.is-indeterminate i{width:35%;animation:ai-slide 1.2s ease-in-out infinite}@keyframes ai-slide{0%{transform:translateX(-110%)}100%{transform:translateX(390%)}}#ai-progress-label{display:block;margin-top:6px;color:#a19ba8;font-size:9px}.ai-run-button{min-height:42px;padding:0 17px;border-radius:10px;font-size:11px;white-space:nowrap}.ai-run-button[disabled]{opacity:.55;cursor:wait;transform:none}
.ai-summary{margin:26px 30px 0;padding:22px 24px;border-left:3px solid var(--purple);border-radius:0 13px 13px 0;background:#f5f2fc;color:#514a60;font-size:13px;line-height:1.8}.ai-summary strong{color:var(--purple)}.ai-career-grid{padding:30px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.ai-career-card{padding:24px;border:1px solid #e3dfe8;border-radius:17px;background:#fff;position:relative;transition:.25s}.ai-career-card:hover{transform:translateY(-3px);box-shadow:0 13px 35px rgba(50,39,78,.08)}.ai-career-card .ai-rank{position:absolute;right:18px;top:16px;font-family:var(--latin);font-size:28px;font-weight:800;color:#eeeaf4}.ai-career-card .ai-fit{display:inline-flex;padding:5px 9px;border-radius:999px;background:#ebf6f3;color:#2e887c;font-size:9px;font-weight:700}.ai-career-card h3{margin:13px 0 7px;font-size:19px}.ai-career-card>p{min-height:42px;margin:0;color:var(--muted);font-size:11px;line-height:1.7}.ai-evidence{margin:17px 0 0;padding:0;list-style:none}.ai-evidence li{padding:8px 0;border-top:1px solid #efecf2;color:#645e6b;font-size:10px;line-height:1.55}.ai-evidence strong{color:#35303c}.ai-experiment{margin-top:14px;padding:12px;border-radius:10px;background:#fff7e4;color:#77613d;font-size:10px;line-height:1.6}.ai-experiment::before{content:"7 天验证 · ";font-weight:800;color:#b37d27}.ai-footnote{margin:0 30px 28px;padding-top:18px;border-top:1px solid #ece8f0;display:flex;gap:9px;color:#aaa4b0}.ai-footnote>span{width:18px;height:18px;flex:0 0 auto;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-family:Georgia;font-size:10px;font-style:italic}.ai-footnote p{margin:0;font-size:9px;line-height:1.6}.ai-advisor-shell.is-error .ai-status-icon{background:#fff0ec;color:#c46b56}.ai-advisor-shell.is-done .ai-status-icon{background:#e8f6f2;color:#2e9286}.ai-advisor-shell.is-done .ai-run-button{display:none}
.action-section { padding:70px;display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;border:0;border-radius:24px;background:var(--purple);color:#fff;margin-top:85px; }.action-copy h2{font-size:36px;line-height:1.35;margin:17px 0}.action-copy p{color:#cfc6e7;line-height:1.8;font-size:13px}.action-list{display:flex;flex-direction:column;gap:12px}.action-item{display:grid;grid-template-columns:42px 1fr;gap:15px;padding:16px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.07)}.action-day{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.12);font-family:var(--latin);font-weight:700;color:var(--yellow);font-size:11px}.action-item strong,.action-item small{display:block}.action-item strong{font-size:13px}.action-item small{margin-top:4px;color:#bfb5d7;font-size:10px;line-height:1.5}.submission-status{display:flex;align-items:center;gap:14px;margin-top:28px;padding:18px 22px;border:1px solid #dcd7e4;border-radius:14px;background:#fff}.submission-icon{width:35px;height:35px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#eee9ff}.submission-icon i{width:9px;height:9px;border:2px solid #6544cf;border-top-color:transparent;border-radius:50%;animation:orbit-spin 1s linear infinite}.submission-status strong,.submission-status small{display:block}.submission-status strong{font-size:12px}.submission-status small{margin-top:3px;color:#97919e;font-size:9px;line-height:1.5}.submission-status.is-success{border-color:#cde7e1;background:#f1faf8}.submission-status.is-success .submission-icon{background:#dff3ee}.submission-status.is-success .submission-icon i{width:auto;height:auto;border:0;animation:none;color:#2f8a7e}.submission-status.is-success .submission-icon i::after{content:"✓"}.submission-status.is-local{background:#f5f3f8}.submission-status.is-local .submission-icon i{width:auto;height:auto;border:0;animation:none;color:#777080}.submission-status.is-local .submission-icon i::after{content:"—"}.submission-status.is-error{border-color:#efd8d1;background:#fff7f4}.submission-status.is-error .submission-icon{background:#fae8e3}.submission-status.is-error .submission-icon i{width:auto;height:auto;border:0;animation:none;color:#b36150}.submission-status.is-error .submission-icon i::after{content:"!"}.disclaimer{display:flex;gap:14px;margin-top:18px;padding:20px 24px;border:1px solid #ded9e4;border-radius:14px;color:#8b8792}.disclaimer>span{width:22px;height:22px;flex:0 0 auto;border:1px solid #aaa4b2;border-radius:50%;display:grid;place-items:center;font-family:Georgia;font-style:italic}.disclaimer p{margin:0;font-size:11px;line-height:1.7}.disclaimer strong{display:block;color:#67616f;margin-bottom:2px}.result-footer{min-height:220px;padding:45px;text-align:center;background:#ece8f3}.result-footer p{font-size:21px;font-weight:700;margin:0 0 20px}.result-share-button{min-height:44px;margin:0 auto 14px;border-radius:999px}.result-footer .text-button{display:block;margin:0 auto}
.toast { position:fixed;z-index:300;left:50%;bottom:30px;transform:translate(-50%,25px);padding:11px 18px;border-radius:10px;background:#252033;color:#fff;font-size:12px;opacity:0;pointer-events:none;transition:.25s;box-shadow:0 8px 25px rgba(0,0,0,.18)}.toast.show{opacity:1;transform:translate(-50%,0)}
.reveal { opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}

/* Three-layer assessment report */
.secondary-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px}.profile-panel{padding:28px;border:1px solid #e3dfe8;border-radius:18px;background:#fff}.profile-panel>span{color:#9b96a3;font-size:10px;font-weight:700;letter-spacing:.1em}.profile-panel h3{margin:7px 0 22px;font-size:20px}.profile-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:12px 0;border-top:1px solid #efecf2}.profile-row div{min-width:0}.profile-row strong,.profile-row small{display:block}.profile-row strong{font-size:13px}.profile-row small{margin-top:4px;color:#96919c;font-size:10px;line-height:1.45}.profile-row>span{flex:0 0 auto;color:var(--purple);font-family:var(--latin);font-size:13px;font-weight:700}.quality-note{display:flex;justify-content:space-between;gap:20px;margin-top:18px;padding:17px 20px;border:1px solid #cfe6df;border-radius:13px;background:#eff9f6;color:#376f66;font-size:11px;line-height:1.6}.quality-note.is-review{border-color:#ecdcae;background:#fff9e9;color:#7c6631}.quality-note span{color:inherit;opacity:.82}.overview-section>.section-note{margin:22px 0 0;line-height:1.7}.career-card{min-height:210px}.career-card small{line-height:1.55;color:#88828e}.career-card small::before{content:"匹配依据 · ";color:#b6b1bc}.disclaimer a{color:var(--purple);text-decoration:underline}
.assessment-mode-modal[hidden]{display:none}.assessment-mode-modal{position:fixed;inset:0;z-index:190;display:grid;place-items:center;padding:20px}.mode-dialog{width:min(760px,95vw);max-height:calc(100vh - 40px);overflow:auto;position:relative;padding:42px;border-radius:25px;background:#fff;box-shadow:0 28px 80px rgba(34,27,58,.28)}.mode-kicker{color:var(--purple);font-size:10px;font-weight:800;letter-spacing:.12em}.mode-dialog h2{margin:9px 0 10px;font-size:29px;letter-spacing:-.04em}.mode-dialog>p{max-width:650px;margin:0;color:#716b78;font-size:13px;line-height:1.75}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}.mode-option{min-height:245px;padding:24px;text-align:left;border:1px solid #e2ddea;border-radius:18px;background:#fff;color:inherit;cursor:pointer;position:relative;transition:.22s}.mode-option:hover{transform:translateY(-3px);border-color:#9b84e5;box-shadow:0 14px 35px rgba(68,48,124,.1)}.mode-option.recommended{border:2px solid #7355d6;background:linear-gradient(145deg,#fbfaff,#f5f1ff)}.mode-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eee9ff;color:#6544cf;font-size:9px;font-weight:800}.mode-option>small{position:absolute;right:22px;top:27px;color:#9a94a1;font-size:10px}.mode-option h3{margin:22px 0 9px;font-size:22px}.mode-option p{margin:0;color:#77717e;font-size:12px;line-height:1.7}.mode-option strong{display:block;margin-top:25px;color:#6544cf;font-size:12px}.mode-option strong i{margin-left:6px;font-style:normal}.mode-resume-note{display:block;margin-top:17px;padding:12px 14px;border-radius:10px;background:#f3f1f7;color:#6e6875;font-size:10px;line-height:1.6}.profile-locked{min-height:210px;padding:28px 18px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;border:1px dashed #d9d1e8;border-radius:13px;background:#faf8fe}.profile-locked strong{color:#6544cf;font-size:13px}.profile-locked p{margin:8px 0 16px;color:#8c8692;font-size:11px;line-height:1.65}.profile-locked button{padding:0;border:0;background:none;color:#6544cf;font-size:11px;font-weight:700;cursor:pointer}.full-upgrade[hidden]{display:none}.full-upgrade{margin-top:80px;padding:42px 48px;display:flex;align-items:center;justify-content:space-between;gap:40px;border-radius:24px;background:linear-gradient(135deg,#30294b,#5d41ae);color:#fff}.full-upgrade>div{max-width:690px}.full-upgrade span{color:#e5cb72;font-size:10px;font-weight:800;letter-spacing:.1em}.full-upgrade h2{margin:9px 0 10px;font-size:28px;line-height:1.4}.full-upgrade p{margin:0;color:#d3cae5;font-size:12px;line-height:1.8}.full-upgrade .primary-button{flex:0 0 auto;background:#fff;color:#6544cf;box-shadow:none}

@media (max-width: 900px) {
  .main-nav { display:none;position:absolute;top:70px;left:20px;right:20px;padding:20px;border-radius:15px;background:#fff;box-shadow:var(--shadow);flex-direction:column;gap:20px }.main-nav.is-open{display:flex}.header-cta{display:none}.nav-toggle{display:block}
  .hero{grid-template-columns:1fr;padding-top:125px;text-align:center;gap:40px}.hero-copy{display:flex;flex-direction:column;align-items:center}.hero-visual{min-height:475px}.trust-row{justify-content:center}.method-grid{grid-template-columns:1fr}.method-card{min-height:auto}.dimensions-section{grid-template-columns:1fr}.dimension-intro{max-width:650px}.cta-section{flex-direction:column;text-align:center}.overview-grid{grid-template-columns:1fr;gap:40px}.strength-grid,.career-grid{grid-template-columns:repeat(2,1fr)}.result-hero{grid-template-columns:1fr;text-align:center;gap:20px}.result-hero-copy{display:flex;flex-direction:column;align-items:center}.result-emblem{height:250px}.action-section{grid-template-columns:1fr;padding:50px;gap:35px}
  .ai-status-panel{grid-template-columns:58px 1fr}.ai-run-button{grid-column:2;justify-self:start}.ai-career-grid{grid-template-columns:1fr}
}
@media (max-width: 620px) {
  .site-header{height:68px;padding:0 18px}.brand{font-size:18px}.brand-mark{width:34px;height:34px}.hero{padding:108px 20px 65px;min-height:auto}.hero h1{font-size:46px}.hero-lede{font-size:15px}.hero-actions{flex-direction:column;gap:12px}.trust-row{gap:12px 17px}.hero-visual{transform:scale(.82);margin:-30px -45px;min-height:440px}.social-proof{gap:12px;flex-wrap:wrap}.proof-divider{display:none}.section{padding:78px 20px}.section-heading h2,.dimension-intro h2{font-size:34px}.dimension-list{grid-template-columns:1fr}.dimension-item b{display:none}.cta-section{max-width:calc(100% - 30px);padding:45px 23px;margin-bottom:70px}.cta-section h2{font-size:31px}.testimonial-section blockquote{font-size:24px}.quiz-topbar{grid-template-columns:42px 1fr 42px;gap:12px;padding:12px 14px}.quiz-content{padding:30px 0 70px}.quiz-content h2{font-size:26px;min-height:135px}.answer-scale{grid-template-columns:1fr;margin-top:35px}.scale-edge{position:absolute;margin-top:108px}.edge-left{left:6vw}.edge-right{right:6vw}.scale-options{gap:4px}.scale-option:nth-child(1),.scale-option:nth-child(7){width:47px;height:47px}.scale-option:nth-child(2),.scale-option:nth-child(6){width:42px;height:42px}.scale-option:nth-child(3),.scale-option:nth-child(5){width:36px;height:36px}.keyboard-hint{margin-top:52px}.quiz-footer{padding:14px}.quiz-footer>span{display:none}.back-button,.next-button{min-width:105px}.result-nav{padding:0 16px}.result-nav .brand-latin,.result-actions .ghost-button{display:none}.result-hero{padding:55px 20px}.result-hero h1{font-size:50px}.result-content{padding-left:18px;padding-right:18px}.result-section{padding:65px 0}.result-section-heading h2{font-size:25px}.radar-card{min-height:350px}.strength-grid,.career-grid,.environment-grid{grid-template-columns:1fr}.section-note{margin-left:0}.action-section{padding:38px 24px;margin-top:55px}.action-copy h2{font-size:29px}.result-footer{padding:42px 20px}
  .ai-optin-card{max-width:360px}.ai-model-bar{align-items:flex-start;gap:9px;flex-direction:column}.ai-status-panel{padding:22px;grid-template-columns:1fr;text-align:center}.ai-status-icon{margin:0 auto}.ai-run-button{grid-column:1;justify-self:stretch}.ai-career-grid{padding:18px}.ai-summary{margin:18px 18px 0}.ai-footnote{margin:0 18px 20px}.ai-heading{align-items:flex-start}.ai-heading .local-badge{display:none}
  .consent-card{padding:26px}.consent-actions{flex-direction:column-reverse}.consent-actions button{width:100%}.submission-status{align-items:flex-start}
}

@media (max-width:900px){.secondary-profile-grid{grid-template-columns:1fr}}
@media (max-width:900px){.full-upgrade{align-items:flex-start;flex-direction:column}.mode-grid{grid-template-columns:1fr}.mode-option{min-height:auto}}
@media (max-width:620px){.quality-note{flex-direction:column;gap:5px}.profile-panel{padding:22px}.mode-dialog{padding:28px 20px}.mode-dialog h2{font-size:24px}.full-upgrade{padding:30px 24px}.full-upgrade h2{font-size:24px}.full-upgrade .primary-button{width:100%}}

@media print {
  body{background:#fff}.result-nav,.result-actions,.result-footer,.toast{display:none!important}.view{display:none!important}.result-view{display:block!important}.result-hero{min-height:auto;padding:35px 50px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.result-emblem{height:220px}.result-content{max-width:none;padding:0 35px}.result-section{padding:35px 0;break-inside:avoid}.radar-card{box-shadow:none;border:1px solid #eee}.strength-grid,.career-grid{grid-template-columns:repeat(3,1fr)}.strength-card,.career-card{break-inside:avoid}.action-section{margin-top:35px;padding:35px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.disclaimer{margin-top:20px}
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}
}

/* ===== 六项互动增强功能 CSS ===== */

@keyframes pulse-dot{0%,100%{opacity:.4}50%{opacity:.8}}

/* --- 2. 职业卡片翻转 + 对比 --- */
.career-card-flip{perspective:800px;min-height:210px}
.career-card-inner{position:relative;width:100%;height:100%;transition:transform .5s ease;transform-style:preserve-3d;min-height:210px}
.career-card-inner.is-flipped{transform:rotateY(180deg)}
.career-card-front,.career-card-back{backface-visibility:hidden;border:1px solid #e4e0e8;border-radius:17px;background:#fff;padding:24px;display:flex;flex-direction:column}
.career-card-front{min-height:210px}
.career-card-back{position:absolute;inset:0;transform:rotateY(180deg);overflow-y:auto;gap:12px}
.career-card-back h4{font-size:12px;margin:0 0 3px;color:var(--purple);display:flex;align-items:center;gap:6px}
.career-card-back h4::before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor;flex:0 0 auto}
.career-card-back p{font-size:11px;color:var(--muted);line-height:1.65;margin:0}
.career-card-back .back-section{padding-bottom:8px;border-bottom:1px solid #f0edf5}
.career-card-back .back-section:last-child{border-bottom:0}
.career-card-flip-btns{display:flex;gap:8px;margin-top:12px}
.career-flip-btn,.career-compare-btn{font-size:10px;padding:6px 12px;border:1px solid #d8d3e4;border-radius:7px;background:#fff;cursor:pointer;transition:.2s;font-weight:600}
.career-flip-btn:hover{border-color:var(--purple);color:var(--purple)}
.career-compare-btn{background:var(--purple-pale);color:var(--purple);border-color:transparent}
.career-compare-btn:hover{background:#ded4f5}
.career-compare-btn.is-selected{background:var(--purple);color:#fff}
.compare-bar{display:flex;align-items:center;gap:12px;justify-content:center;padding:14px 20px;margin-bottom:16px;border-radius:12px;background:#f5f2fc;font-size:12px;flex-wrap:wrap}
.compare-bar strong{color:var(--purple)}
.compare-bar button{padding:6px 14px;border:0;border-radius:7px;background:var(--purple);color:#fff;font-size:11px;cursor:pointer;font-weight:600}
.compare-bar button:disabled{opacity:.4;cursor:not-allowed}
.compare-modal{position:fixed;inset:0;z-index:200;display:none;place-items:center;padding:20px}
.compare-modal.is-open{display:grid}
.compare-modal .modal-backdrop{position:absolute;inset:0;background:rgba(30,25,45,.35);backdrop-filter:blur(4px)}
.compare-dialog{position:relative;width:min(700px,95vw);max-height:85vh;overflow:auto;background:#fff;border-radius:20px;padding:32px;box-shadow:0 28px 80px rgba(34,27,58,.28)}
.compare-dialog h3{font-size:22px;margin:0 0 20px;letter-spacing:-.03em}
.compare-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.compare-col{border:1px solid #e8e4ee;border-radius:14px;padding:20px}
.compare-col h4{font-size:16px;margin:0 0 12px;display:flex;align-items:center;gap:8px}
.compare-col .match-badge{font-size:10px;padding:4px 9px;border-radius:999px;background:var(--purple-pale);color:var(--purple);font-weight:700}
.compare-diff{padding:12px;border-radius:10px;background:#fff9e4;font-size:11px;line-height:1.6;margin-top:12px;color:#6b5628}
.compare-diff::before{content:"⚡ 关键差异：";font-weight:700;display:block;margin-bottom:3px}

/* --- 3. 互动式 7 天行动清单 --- */
.action-checklist-item{display:grid;grid-template-columns:32px 42px 1fr;gap:12px;padding:16px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.07);align-items:flex-start;transition:.3s}
.action-checklist-item.is-done{background:rgba(243,197,83,.12);border-color:rgba(243,197,83,.3)}
.action-check{width:28px;height:28px;border:2px solid rgba(255,255,255,.4);border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:.2s;flex:0 0 auto;margin-top:6px;font-size:13px;color:transparent;background:transparent}
.action-check:hover{border-color:var(--yellow)}
.action-checklist-item.is-done .action-check{background:var(--yellow);border-color:var(--yellow);color:var(--purple);animation:check-pop .35s ease}
@keyframes check-pop{0%{transform:scale(1)}40%{transform:scale(1.25)}100%{transform:scale(1)}}
.action-checklist-item.is-done .action-day{background:rgba(243,197,83,.25)}
.action-done-highlight{animation:done-glow .8s ease}
@keyframes done-glow{0%{box-shadow:0 0 0 0 rgba(243,197,83,.5)}50%{box-shadow:0 0 0 12px rgba(243,197,83,0)}100%{box-shadow:0 0 0 0 rgba(243,197,83,0)}}
.encourage-text{font-size:10px;color:var(--yellow);margin-top:5px;font-weight:600;opacity:0;transition:opacity .3s;grid-column:3}
.action-checklist-item.is-done .encourage-text{opacity:1}
.custom-action-row{display:flex;gap:8px;margin-top:10px;align-items:center}
.custom-action-input{flex:1;min-height:38px;padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:rgba(255,255,255,.08);color:#fff;font-size:12px;outline:none}
.custom-action-input::placeholder{color:rgba(255,255,255,.35)}
.custom-action-input:focus{border-color:var(--yellow)}
.custom-action-add{min-height:38px;padding:0 14px;border:0;border-radius:8px;background:var(--yellow);color:var(--purple);font-weight:700;font-size:12px;cursor:pointer;flex:0 0 auto}
.add-custom-btn{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 14px;border:1px dashed rgba(255,255,255,.25);border-radius:8px;background:transparent;color:rgba(255,255,255,.7);font-size:11px;cursor:pointer;transition:.2s}
.add-custom-btn:hover{border-color:var(--yellow);color:var(--yellow)}

/* --- 4. 答题分段洞察 --- */
.quiz-insight-toast{position:fixed;z-index:220;top:24px;left:50%;transform:translate(-50%,-20px);padding:14px 22px;border-radius:13px;background:#fff;box-shadow:0 12px 40px rgba(48,35,87,.18);font-size:13px;line-height:1.6;color:var(--ink);max-width:min(420px,90vw);text-align:center;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}
.quiz-insight-toast.show{opacity:1;transform:translate(-50%,0)}
.quiz-insight-toast .insight-icon{font-size:20px;display:block;margin-bottom:6px}
.quiz-insight-toast button{position:absolute;top:8px;right:10px;border:0;background:none;color:#b0acb7;font-size:16px;cursor:pointer;padding:0 4px}

/* --- 5. 雷达图可点击 --- */
.radar-click-zone{cursor:pointer;transition:opacity .2s}
.radar-click-zone:hover{opacity:.7}
.radar-click-zone.pulse{animation:radar-pulse .6s ease}
@keyframes radar-pulse{0%{opacity:.3}50%{opacity:1}100%{opacity:.7}}
.radar-label-link{cursor:pointer;transition:fill .2s,font-size .2s}
.radar-label-link:hover{fill:var(--purple)!important;font-size:13px!important}
.score-item.highlight-dimension{animation:highlight-flash .7s ease}
@keyframes highlight-flash{0%{background:rgba(101,68,207,.08)}100%{background:transparent}}

/* --- 6. 进度彩蛋 --- */
.progress-milestone-toast{position:fixed;z-index:210;top:50%;left:50%;transform:translate(-50%,-50%);padding:16px 24px;border-radius:14px;background:linear-gradient(135deg,#30294b,#5d41ae);color:#fff;font-size:14px;line-height:1.6;text-align:center;box-shadow:0 14px 45px rgba(58,33,120,.4);opacity:0;pointer-events:none;transition:opacity .35s,transform .35s}
.progress-milestone-toast.show{opacity:1;transform:translate(-50%,-50%) scale(1.02)}
.progress-milestone-toast .milestone-emoji{font-size:32px;display:block;margin-bottom:6px}

/* 自定义职业输入 */
.custom-career-section{margin:28px 0 0;padding:22px 24px;background:var(--surface,#fff);border-radius:14px;border:1px dashed var(--border,#e0dce7)}
.custom-career-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.custom-career-icon{font-size:22px;flex-shrink:0;margin-top:2px}
.custom-career-header strong{display:block;font-size:15px;color:var(--text,#1a1528);margin-bottom:2px}
.custom-career-header small{font-size:13px;color:var(--text-muted,#6b647a);line-height:1.5}
.custom-career-input-row{display:flex;gap:10px}
.custom-career-input-row input{flex:1;padding:11px 16px;border:1.5px solid var(--border,#e0dce7);border-radius:10px;font-size:15px;outline:none;background:var(--bg,#f9f8fc);transition:border-color .2s}
.custom-career-input-row input:focus{border-color:var(--primary,#6544cf)}
.custom-career-input-row input::placeholder{color:#b0a8c0}
.custom-career-btn{white-space:nowrap;padding:11px 20px;font-size:14px;font-weight:600;border-radius:10px;flex-shrink:0}
.custom-career-btn:disabled{opacity:.45;cursor:not-allowed}
.custom-career-status{font-size:13px;color:var(--text-muted,#6b647a);margin-top:12px;padding:10px 14px;background:var(--bg,#f9f8fc);border-radius:8px}
.custom-career-status.is-error{color:#c0392b;background:#fef2f2}
.custom-career-result{margin-top:16px}
.custom-result{border:2px solid var(--primary,#6544cf)!important;box-shadow:0 2px 12px rgba(101,68,207,.12)}
.custom-result h3 small{font-size:12px;font-weight:400;color:var(--text-muted,#6b647a);margin-left:8px;padding:2px 8px;background:var(--bg,#f9f8fc);border-radius:4px;vertical-align:middle}

/* 手机端适配 */
@media (max-width:620px){
  .ai-chat-section{margin:18px 18px 0}
  .ai-chat-messages{max-height:260px}
  .compare-cols{grid-template-columns:1fr}
  .compare-dialog{padding:22px}
  .custom-career-section{padding:20px 18px}
  .custom-career-input-row{flex-direction:column}
  .custom-career-btn{width:100%}
  .action-checklist-item{grid-template-columns:28px 36px 1fr;gap:10px;padding:12px}
  .quiz-insight-toast{top:16px;font-size:12px;padding:12px 18px}
  .progress-milestone-toast{font-size:13px;padding:14px 20px}
}
/* 结果恢复提示条 */
.result-banner[hidden]{display:none}
.result-banner{position:relative;z-index:5;margin-top:78px;background:#f8f5ff;border-top:1px solid #eee8fb;border-bottom:1px solid #e0d5f5;padding:0}
.result-banner-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:13px 24px}
.result-banner-icon{font-size:20px;flex:0 0 auto}
.result-banner-copy{flex:1;min-width:0}
.result-banner-inner strong{display:block;font-size:14px;color:#4a3080}
.result-banner-inner small{font-size:12px;color:#6e7481}
.result-banner-btn{min-height:38px;padding:7px 20px;background:#6544cf;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.result-banner-btn:hover{background:#5438b8}
.result-banner-btn:focus-visible,.result-banner-dismiss:focus-visible{outline:3px solid rgba(101,68,207,.28);outline-offset:2px}
.result-banner-dismiss{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;background:none;border:none;border-radius:50%;font-size:20px;color:#9e95c0;cursor:pointer;padding:0;line-height:1}
.result-banner-dismiss:hover{color:#6544cf}
@media (max-width:620px){
  .result-banner{margin-top:68px}
  .result-banner-inner{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:8px 10px;padding:12px 16px 14px}
  .result-banner-icon{grid-column:1;grid-row:1;align-self:center;text-align:center}
  .result-banner-copy{grid-column:2;grid-row:1}
  .result-banner-inner strong{font-size:13px;line-height:1.35}
  .result-banner-inner small{display:block;margin-top:2px;font-size:11px;line-height:1.35}
  .result-banner-dismiss{grid-column:3;grid-row:1}
  .result-banner-btn{grid-column:2/4;grid-row:2;width:100%;min-height:40px}
}

/* 职业卡片选中态 */
.career-card.is-selected,.ai-career-card.is-selected{border-color:#6544cf;box-shadow:0 0 0 2px #6544cf,0 8px 24px rgba(101,68,207,.15);transform:translateY(-2px)}
/* 7天行动-职业标签 */
.action-career-label{font-size:12px;color:#6544cf;font-weight:700;margin-bottom:12px;padding:6px 12px;background:#f7f4ff;border-radius:6px;display:inline-block}
/* 7天行动-职业上下文 */
.action-career-context{margin-top:14px;padding:12px 16px;background:#faf9fc;border-radius:10px;font-size:12px;color:#6e7481;line-height:1.6}
.action-career-context strong{color:#514a60;display:block;margin-bottom:3px}
/* ===== v31: AI 行动规划时间线 ===== */
.action-timeline-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.action-tab{padding:8px 18px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.65);font-size:13px;font-weight:600;cursor:pointer;transition:.2s}
.action-tab:hover{border-color:var(--yellow);color:var(--yellow)}
.action-tab.is-active{background:var(--yellow);color:var(--purple);border-color:var(--yellow)}
.action-loading{text-align:center;padding:32px 20px;color:rgba(255,255,255,.5);font-size:14px}
.action-loading::before{content:"";display:block;width:28px;height:28px;margin:0 auto 14px;border:2px solid rgba(255,255,255,.15);border-top-color:var(--yellow);border-radius:50%;animation:orbit-spin .8s linear infinite}
.action-phase{margin-bottom:18px;border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden}
.action-phase-label{padding:10px 16px;background:rgba(255,255,255,.08);font-size:12px;font-weight:700;color:var(--yellow);letter-spacing:.03em}
.action-phase-items{padding:6px 0}
.action-phase-item{display:flex;align-items:flex-start;gap:12px;padding:10px 16px;font-size:12.5px;color:rgba(255,255,255,.82);line-height:1.6;border-bottom:1px solid rgba(255,255,255,.05)}
.action-phase-item:last-child{border-bottom:0}
.action-phase-dot{width:6px;height:6px;border-radius:50%;background:var(--yellow);flex:0 0 auto;margin-top:7px}
.action-plan-summary{padding:14px 16px;margin-bottom:18px;background:rgba(255,255,255,.06);border-radius:10px;font-size:12px;color:rgba(255,255,255,.55);line-height:1.7}
.action-plan-summary strong{color:var(--yellow);font-weight:600}
.action-career-label{font-size:12px;color:var(--yellow);font-weight:700;margin-bottom:12px;padding:6px 12px;background:rgba(255,255,255,.08);border-radius:6px;display:inline-block}
@media (max-width:620px){
  .action-timeline-tabs{justify-content:center}
  .action-tab{padding:6px 14px;font-size:12px}
}
/* ── v45: OE transition screen ── */
.oe-transition {
  text-align: center;
  padding: 40px 24px 32px;
  animation: fadeIn 0.4s ease;
}
.oe-transition-icon {
  font-size: 56px;
  margin-bottom: 16px;
  line-height: 1;
}
.oe-transition h3 {
  font-size: 22px;
  font-weight: 700;
  color: #1a102f;
  margin: 0 0 12px;
}
.oe-transition p {
  font-size: 15px;
  color: #696473;
  margin: 0 auto 28px;
  max-width: 300px;
  line-height: 1.6;
}
.oe-transition p strong {
  color: #6544cf;
}
.oe-transition-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}
.oe-transition-actions .btn-primary {
  min-width: 220px;
  padding: 14px 32px;
  font-size: 16px;
}
.oe-transition-actions .btn-text {
  background: none;
  border: none;
  color: #8c83a6;
  font-size: 14px;
  padding: 8px 16px;
  cursor: pointer;
  transition: color 0.2s;
}
.oe-transition-actions .btn-text:hover {
  color: #6544cf;
}
/* ── v20: Open-ended question styles ── */
.oe-input-section {
  margin-top: 24px;
  animation: fadeIn 0.3s ease;
}
.oe-textarea {
  width: 100%;
  min-height: 160px;
  padding: 16px;
  border: 2px solid var(--border);
  border-radius: 12px;
  font-size: 1rem;
  font-family: inherit;
  line-height: 1.7;
  color: var(--text);
  background: var(--surface);
  resize: vertical;
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.oe-textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(104,70,214,0.1);
}
.oe-textarea::placeholder {
  color: var(--text-secondary);
  opacity: 0.6;
}
.oe-char-count {
  text-align: right;
  font-size: 0.8rem;
  color: var(--text-secondary);
  margin-top: 6px;
}
#skip-oe {
  margin-left: 12px;
  color: var(--text-secondary);
}

@media (max-width: 640px) {
  .oe-textarea {
    min-height: 130px;
    font-size: 0.95rem;
  }
}

/* v87: result-page AI conversation */
.ai-chat-section {
  margin: 0 30px 30px;
  padding: 24px;
  border: 1px solid #dfd8f0;
  border-radius: 18px;
  background: linear-gradient(180deg, #fbfaff 0%, #f7f4ff 100%);
}
.ai-chat-section[hidden] {
  display: none;
}
.ai-chat-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
.ai-chat-kicker {
  color: #6544cf;
  font-family: var(--latin);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
}
.ai-chat-header h3 {
  margin: 5px 0 6px;
  color: #29223b;
  font-size: 20px;
}
.ai-chat-header p {
  max-width: 620px;
  margin: 0;
  color: #736c80;
  font-size: 11px;
  line-height: 1.7;
}
.ai-chat-clear {
  min-height: 34px;
  padding: 0 12px;
  flex: 0 0 auto;
  border: 1px solid #d9d1e9;
  border-radius: 9px;
  background: #fff;
  color: #6c6278;
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
}
.ai-chat-transcript {
  max-height: 460px;
  margin-top: 20px;
  padding: 18px;
  overflow-y: auto;
  border: 1px solid #e7e1f1;
  border-radius: 14px;
  background: rgba(255,255,255,.84);
  scroll-behavior: smooth;
}
.ai-chat-message {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 14px;
}
.ai-chat-message:first-child {
  margin-top: 0;
}
.ai-chat-message > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 9px;
  background: #6544cf;
  color: #fff;
  font-family: var(--latin);
  font-size: 9px;
  font-weight: 800;
}
.ai-chat-message > div {
  max-width: min(760px, 84%);
  padding: 11px 13px;
  border: 1px solid #e6e0ee;
  border-radius: 4px 13px 13px;
  background: #fff;
  color: #4f4858;
  font-size: 12px;
  line-height: 1.75;
  white-space: pre-wrap;
}
.ai-chat-message p {
  margin: 0;
}
.ai-chat-message.is-user {
  flex-direction: row-reverse;
}
.ai-chat-message.is-user > span {
  background: #2e9286;
}
.ai-chat-message.is-user > div {
  border-color: #d7eee9;
  border-radius: 13px 4px 13px 13px;
  background: #edf8f5;
}
.ai-chat-message.is-loading > div {
  color: #8b8299;
}
.ai-chat-suggestions {
  display: flex;
  gap: 8px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.ai-chat-suggestions button {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid #ddd5ef;
  border-radius: 999px;
  background: #fff;
  color: #6544cf;
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
}
.ai-chat-compose {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  margin-top: 14px;
}
.ai-chat-compose textarea {
  min-height: 56px;
  max-height: 150px;
  padding: 12px 14px;
  resize: vertical;
  border: 1.5px solid #dcd4e9;
  border-radius: 11px;
  outline: none;
  background: #fff;
  color: #302a39;
  font: inherit;
  font-size: 13px;
  line-height: 1.55;
}
.ai-chat-compose textarea:focus {
  border-color: #6544cf;
  box-shadow: 0 0 0 3px rgba(101,68,207,.09);
}
.ai-chat-send {
  min-width: 90px;
  align-self: stretch;
}
.ai-chat-send:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.ai-chat-status {
  margin-top: 9px;
  color: #928b9b;
  font-size: 9px;
  line-height: 1.55;
}
.ai-chat-status.is-error {
  color: #a95849;
}

@media (max-width: 640px) {
  .ai-chat-section {
    margin: 0 18px 20px;
    padding: 18px 15px;
  }
  .ai-chat-header {
    display: block;
  }
  .ai-chat-clear {
    margin-top: 12px;
  }
  .ai-chat-transcript {
    max-height: 380px;
    padding: 12px;
  }
  .ai-chat-message > div {
    max-width: 82%;
    font-size: 12px;
  }
  .ai-chat-suggestions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .ai-chat-suggestions button {
    min-height: 38px;
    text-align: left;
  }
  .ai-chat-compose {
    grid-template-columns: 1fr;
  }
  .ai-chat-send {
    min-height: 44px;
  }
}

/* 2026-08 public compliance and AI-content disclosure */
.ai-optin-card.is-disabled {
  border-color: #e3dfe9;
  background: #f5f3f8;
  cursor: not-allowed;
  opacity: .92;
}
.ai-optin-card.is-disabled input,
.ai-optin-card.is-disabled input + .ai-switch {
  cursor: not-allowed;
}
.ai-optin-card.is-disabled .ai-switch {
  background: #cbc6d2;
}
.ai-generated-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 0 0 10px;
  padding: 4px 8px;
  border: 1px solid #cabef1;
  border-radius: 999px;
  background: #f3efff;
  color: #5c3fc4;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
}
.ai-chat-message > span.ai-generated-badge {
  width: auto;
  min-width: 42px;
  padding: 0 7px;
  border-radius: 999px;
  font-size: 9px;
}
.ai-footnote a {
  color: #6544cf;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.public-compliance-footer {
  padding: 28px clamp(18px, 6vw, 90px) 34px;
  border-top: 1px solid #e2dee8;
  background: #f8f7fa;
  color: #77717e;
  text-align: center;
}
.public-compliance-footer nav,
.public-compliance-footer p {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 20px;
}
.public-compliance-footer nav {
  margin-bottom: 14px;
  font-size: 12px;
}
.public-compliance-footer p {
  margin: 0 0 10px;
  font-size: 11px;
}
.public-compliance-footer a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: inherit;
  text-decoration: none;
}
.public-compliance-footer a:hover,
.public-compliance-footer a:focus-visible {
  color: #6544cf;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.public-compliance-footer small {
  display: block;
  color: #99939f;
  font-size: 10px;
  line-height: 1.7;
}

@media (max-width: 620px) {
  .footer-links {
    flex-wrap: wrap;
    gap: 12px 16px;
  }
  .public-compliance-footer {
    padding: 24px 18px 30px;
  }
  .public-compliance-footer nav,
  .public-compliance-footer p {
    gap: 8px 14px;
  }
}
