:root {
  --ink: #244739;
  --ink-strong: #153529;
  --green-soft: #e8efe9;
  --gold: #a98245;
  --cream: #f8f4ec;
  --paper: #fffdfa;
  --line: #e8dfd0;
  --muted: #6f7f75;
  --warning: #9a6537;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans CJK SC", "Microsoft YaHei", sans-serif;
  color: var(--ink);
  background: var(--cream);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: radial-gradient(circle at 85% 2%, #e6ece1 0, transparent 26rem), var(--cream); }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; border: 0; }
.shell { min-height: 100vh; max-width: 1180px; margin: 0 auto; padding: 0 30px 70px; }
.topbar { height: 92px; display: flex; align-items: center; justify-content: space-between; }
.brand { color: var(--ink); display: flex; align-items: center; gap: 10px; text-decoration: none; }
.brand img { width: 37px; height: 37px; object-fit: contain; }
.brand span { display: grid; gap: 1px; }
.brand strong { font-size: 17px; letter-spacing: .08em; }
.brand small { color: var(--gold); font-size: 10px; letter-spacing: .28em; }
.text-button { background: transparent; padding: 9px 0; color: var(--muted); font-size: 14px; }
.view { display: none; }
.view.active { display: block; animation: rise .38s ease-out both; }
@keyframes rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.hero { padding: 84px 0 72px; max-width: 780px; }
.eyebrow { color: var(--gold); letter-spacing: .16em; font-size: 12px; font-weight: 700; margin: 0 0 18px; }
h1, h2, p { margin-top: 0; }
.hero h1, .result-view h1 { color: var(--ink-strong); font-size: clamp(42px, 6.5vw, 73px); letter-spacing: -.06em; line-height: 1.16; margin: 0 0 24px; font-weight: 700; }
h1 em { color: var(--gold); font-style: normal; }
.hero-copy { max-width: 650px; color: #56665d; font-size: 18px; line-height: 1.9; }
.hero-actions { margin-top: 40px; display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.hero-actions p { color: var(--muted); font-size: 13px; margin: 0; }
.primary-button, .secondary-button, .record-button { border-radius: 999px; padding: 15px 22px; min-height: 52px; display: inline-flex; justify-content: center; align-items: center; gap: 11px; font-weight: 700; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.primary-button { color: white; background: var(--ink); box-shadow: 0 10px 28px rgba(36, 71, 57, .2); }
.primary-button:hover { background: var(--ink-strong); transform: translateY(-2px); box-shadow: 0 14px 34px rgba(36, 71, 57, .28); }
.primary-button span { font-size: 20px; line-height: 0; }
.secondary-button { border: 1px solid #d9d3c6; color: var(--ink); background: rgba(255,255,255,.65); }
.secondary-button:hover { background: white; }
.full { width: 100%; }
.trust-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; background: var(--line); }
.trust-strip article { background: rgba(255,253,250,.78); padding: 27px; }
.trust-strip span { font-size: 11px; letter-spacing: .15em; color: var(--gold); font-weight: 800; }
.trust-strip strong { display: block; font-size: 17px; margin: 13px 0 8px; }
.trust-strip p { color: var(--muted); font-size: 13px; line-height: 1.7; margin: 0; }
.promise-card { margin: 86px 0; background: var(--ink); color: white; border-radius: 26px; padding: 49px 52px; display: flex; justify-content: space-between; gap: 42px; align-items: center; position: relative; overflow: hidden; }
.promise-card::after { content:""; position:absolute; width:310px;height:310px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-105px;top:-120px; }
.promise-card .eyebrow { color: #d3b777; }
.promise-card h2 { font-size: clamp(26px,3vw,40px); line-height: 1.35; letter-spacing: -.04em; margin: 0; position:relative; }
.promise-card ul { list-style:none; padding:0; margin:0; min-width: 260px; display:grid; gap:15px; position:relative; }
.promise-card li { font-size:14px; color:#e7ece8; }
.promise-card i { color:#d3b777; font-style:normal; margin-right:10px; }
.brand-story { text-align: center; max-width: 670px; padding: 16px 0 70px; margin: 0 auto; }
.brand-story h2 { font-size: clamp(29px,4vw,48px); line-height:1.35; letter-spacing:-.05em; margin-bottom: 19px; }
.brand-story > p:last-child { color:var(--muted);line-height:1.9;font-size:16px; }
.room-header { height: 59px; display:flex;align-items:center;justify-content:space-between; font-size:14px; }
.room-header span { font-weight:700; }
.back-button { background:none; color:var(--muted); font-size:14px; padding:8px 0; }
.progress-wrap { margin: 24px auto 30px; max-width: 700px; }
.progress-track { height:4px;background:#dce4dc;border-radius:99px;overflow:hidden; }
.progress-track span { display:block;height:100%;width:20%;background:var(--gold);transition:width .3s ease; }
.progress-wrap p { color:var(--muted);font-size:12px;text-align:right;margin:8px 0 0; }
.exam-room { max-width: 750px; margin: 0 auto; padding: 62px 30px 44px; background: rgba(255,253,250,.87); border:1px solid var(--line); border-radius:28px; text-align:center; box-shadow: 0 24px 70px rgba(59,62,45,.08); }
.examiner-label { color:var(--gold);font-size:12px;letter-spacing:.15em;font-weight:700; }
.examiner-label i { display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gold);margin-right:8px; }
.exam-room h2 { font-size:clamp(25px,3.5vw,37px);line-height:1.5;letter-spacing:-.035em;max-width:650px;margin:21px auto 13px; }
.question-text { max-width:650px;margin:18px auto;color:#4f6257;line-height:1.8;background:#f2f5f0;border-radius:12px;padding:16px 20px;text-align:left; }
.room-state { color:var(--muted);font-size:14px;min-height:22px; }
.voice-orbit { width:128px;height:128px;border-radius:50%;background:#edf3ed;display:grid;place-items:center;margin:34px auto;position:relative; }
.voice-orbit::before,.voice-orbit::after { content:"";position:absolute;border:1px solid #cbd9ce;border-radius:50%;inset:-14px;opacity:.8; }
.voice-orbit::after { inset:-29px;opacity:.4; }
.voice-orbit b { z-index:1;color:var(--ink);font-size:14px; }
.voice-orbit span { display:none; }
.voice-orbit.playing::before { animation:pulse 1.15s ease-out infinite; }
.voice-orbit.recording { background:#f8e9e2; }
.voice-orbit.recording::before { border-color:#c77556; animation:pulse .85s ease-out infinite; }
@keyframes pulse { 0%{transform:scale(.88);opacity:.85}100%{transform:scale(1.18);opacity:0} }
.room-controls { display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap; }
.record-button { color:white;background:var(--ink);min-width:155px;display:grid;grid-template-columns:14px auto;grid-template-rows:auto auto;text-align:left;padding:12px 20px; }
.record-button .record-dot { width:11px;height:11px;border-radius:50%;background:#d5bc81;grid-row:span 2; }
.record-button small { font-size:10px;color:#bfcebf;font-weight:500; }
.record-button.recording { background:#9b4d38; }
.record-button.recording .record-dot { background:#fff;border-radius:3px; }
.record-timer { color:var(--muted);font-size:12px;margin:22px 0 0; }
.room-notice { text-align:center;color:#839087;font-size:12px;margin:24px auto; }
.result-view { max-width:860px;margin:45px auto;padding-bottom:50px; }
.result-view h1 { font-size:clamp(36px,5vw,58px); }
.result-lead { color:var(--muted);font-size:17px;line-height:1.8;max-width:600px; }
.score-chip { display:inline-block;margin:15px 0 28px;padding:10px 15px;background:#ecf3ed;border-radius:999px;color:var(--ink);font-weight:700;font-size:14px; }
.result-grid { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.result-card { padding:28px;border-radius:18px;border:1px solid var(--line);background:var(--paper); }
.result-card.good { border-top:4px solid #6d9677; }.result-card.focus{border-top:4px solid var(--gold);}
.result-card p { font-size:15px;font-weight:800;margin-bottom:15px; }.result-card ul,.result-card ol{margin:0;padding-left:20px;color:#58675e;line-height:1.8;font-size:14px;}.result-card li+li{margin-top:9px;}
.result-actions { display:flex;gap:13px;flex-wrap:wrap;margin-top:28px; }
.report-number { color:var(--muted);font-size:13px;margin-top:-14px; }
.report-cover-card { background:linear-gradient(135deg,#244739,#345e4a);color:white;border-radius:22px;padding:30px;margin:28px 0 36px;display:grid;gap:6px; }
.report-cover-card p,.report-cover-card span { margin:0;color:#d8e3d9;font-size:13px; }.report-cover-card strong { font-size:28px;letter-spacing:.05em; }
.report-section { border-top:1px solid var(--line);padding:30px 0; }.report-section h2 { font-size:23px;margin:0 0 9px; }.report-section>p { color:var(--muted);font-size:14px;line-height:1.75; }
.round-cards { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px; }.round-card { border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--paper); }.round-card span{color:var(--muted);font-size:12px;}.round-card strong{font-size:26px;display:block;margin-top:8px;}.round-card small{font-size:12px;color:var(--gold);}
.dimension-list { display:grid;gap:16px;margin-top:24px; }.dimension-row { display:grid;grid-template-columns:120px 1fr 38px;gap:14px;align-items:center;font-size:14px; }.dimension-row label{font-weight:700;}.dimension-track{height:10px;border-radius:99px;background:#e6ebe5;overflow:hidden;}.dimension-track span{height:100%;display:block;background:linear-gradient(90deg,#688d70,#a98245);border-radius:99px;}.dimension-row b{font-size:13px;text-align:right;}
.trend-list{display:grid;gap:10px;margin-top:20px}.trend-card{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:15px 16px}.trend-card strong{font-size:14px}.trend-card strong small{font-weight:500;color:var(--gold);margin-left:6px}.trend-card p{margin:8px 0 6px;color:#526157;font-size:13px;line-height:1.65}.trend-card span{color:var(--muted);font-size:12px;line-height:1.6}
.priorities>div{display:grid;gap:11px;margin-top:20px;}.priority{background:#fbf7ef;border-left:3px solid var(--gold);padding:16px 18px;border-radius:0 10px 10px 0;}.priority strong{display:block;margin-bottom:5px;}.priority p{margin:0;color:var(--muted);font-size:13px;}
.next-steps ol{padding-left:22px;line-height:1.8;color:#526157;}.next-steps li+li{margin-top:7px;}.next-steps>p{margin-top:20px;}
.report-actions { display:flex;gap:12px;flex-wrap:wrap;padding:16px 0; }.privacy-line{font-size:12px;color:#8a928c;line-height:1.7;}
.dialog { border:0;border-radius:22px;padding:0;width:min(92vw,460px);box-shadow:0 25px 80px rgba(0,0,0,.24); }.dialog::backdrop{background:rgba(20,39,30,.55);backdrop-filter:blur(3px);}.dialog form{padding:34px;position:relative;}.dialog h2{font-size:28px;margin:0 0 9px;letter-spacing:-.04em;}.dialog p:not(.eyebrow){color:var(--muted);line-height:1.7;font-size:14px;}.dialog input{width:100%;border:1px solid var(--line);background:#fffcf6;border-radius:11px;padding:14px;margin:8px 0;outline:none;}.dialog input:focus{border-color:#78927d;box-shadow:0 0 0 3px #eaf0e9;}.dialog small{display:block;text-align:center;color:var(--muted);font-size:11px;line-height:1.6;margin-top:14px;}.dialog-close{position:absolute;right:17px;top:13px;background:transparent;color:var(--muted);font-size:25px;}.consent{display:flex;gap:8px;align-items:flex-start;color:#5f6e65;font-size:12px;line-height:1.5;margin:11px 0 17px;}.consent input{width:auto;margin:2px 0 0;}
.overlay{position:fixed;z-index:10;inset:0;background:rgba(22,43,33,.48);display:grid;place-items:center;padding:20px;}.overlay[hidden]{display:none!important;}.processing-card{background:var(--paper);border-radius:22px;max-width:390px;padding:36px;text-align:center;box-shadow:0 18px 70px rgba(0,0,0,.25);}.processing-card h2{font-size:24px;margin:0 0 10px;}.processing-card>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7;}.spinner{width:42px;height:42px;border:3px solid #dbe5dc;border-top-color:var(--gold);border-radius:50%;margin:0 auto 20px;animation:spin 1s linear infinite;}@keyframes spin{to{transform:rotate(360deg)}}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,16px);padding:12px 17px;border-radius:999px;background:#203d30;color:white;box-shadow:0 8px 20px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:.25s;z-index:20;font-size:13px;max-width:90vw;text-align:center;}.toast.show{opacity:1;transform:translate(-50%,0);}
@media (max-width: 700px) { .shell{padding:0 18px 42px}.topbar{height:75px}.hero{padding:52px 0 52px}.hero h1{font-size:43px}.hero-copy{font-size:16px}.trust-strip{grid-template-columns:1fr}.trust-strip article{padding:22px}.promise-card{margin:55px 0;padding:35px 27px;display:block}.promise-card ul{margin-top:28px}.brand-story{padding-bottom:40px}.exam-room{padding:43px 18px 34px}.room-header{font-size:12px}.room-header .text-button{font-size:12px}.exam-room h2{font-size:25px}.room-controls{gap:10px}.secondary-button{padding:13px 16px;min-height:48px}.result-view{margin-top:32px}.result-view h1{font-size:38px}.result-grid{grid-template-columns:1fr}.round-cards{grid-template-columns:1fr 1fr 1fr}.round-card{padding:13px}.dimension-row{grid-template-columns:95px 1fr 28px;gap:8px;font-size:12px}.dialog form{padding:30px 23px} }
