* { box-sizing: border-box; }
:root { color-scheme: dark; --bg:#090f12; --panel:#111a1e; --ink:#f2efe7; --muted:#b2bdbb; --line:#2b3a3e; --accent:#71e0cd; }
body { margin:0; background:var(--bg); color:var(--ink); font:16px/1.75 system-ui,-apple-system,"Microsoft YaHei",sans-serif; }
body[data-audience="coach"] { color-scheme:light; --bg:#f6f4ef; --panel:#fffdf9; --ink:#2d2a24; --muted:#665f54; --line:#d8d1c5; --accent:#275d63; }
a { color:var(--accent); text-underline-offset:5px; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
[hidden] { display:none !important; }
header { max-width:1160px; margin:auto; padding:25px 32px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { letter-spacing:.24em; font-size:18px; text-decoration:none; white-space:nowrap; }
.header-links { display:flex; flex-wrap:wrap; gap:20px; font-size:14px; }
.preview-note { border-block:1px solid var(--line); padding:10px 24px; text-align:center; font-size:13px; color:var(--muted); }
main { max-width:1040px; margin:auto; padding:64px 32px 88px; }
.eyebrow { color:var(--accent); letter-spacing:.15em; font-size:13px; margin:0 0 20px; }
h1,h2,h3 { font-family:Georgia,"Noto Serif SC","Songti SC",serif; font-weight:400; line-height:1.3; }
h1 { font-size:clamp(32px,5vw,54px); max-width:820px; margin:0 0 24px; text-wrap:balance; }
h1:focus { outline:none; }
h2 { font-size:28px; margin:0 0 20px; }
h3 { font-size:21px; margin:0 0 12px; }
p { margin:0 0 18px; }
.lead { font-size:18px; max-width:730px; color:var(--muted); }
.steps { display:flex; gap:24px; padding:0; margin:34px 0 0; list-style:none; flex-wrap:wrap; color:var(--muted); font-size:14px; }
.steps > li { margin:0; white-space:nowrap; }
body[data-audience="personal"] main > .steps { margin-top:0; }
.steps [aria-current="step"] { color:var(--accent); }
.grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:32px; }
.panel { padding:28px; border:1px solid var(--line); border-radius:20px; background:var(--panel); }
.section { margin-top:48px; }
.next-steps { padding-inline:28px; border-inline:1px solid transparent; }
.quiet { color:var(--muted); font-size:14px; }
ul,ol { padding-left:22px; margin:0; }
li+li { margin-top:9px; }
.actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px; margin-top:30px; }
.button { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--accent); border-radius:999px; background:var(--accent); color:var(--bg); padding:12px 25px; text-decoration:none; cursor:pointer; font-size:15px; font-weight:600; }
body[data-audience="coach"] .button:not(.secondary) { color:#fff; }
.button.secondary { color:var(--accent); background:transparent; }
.button:disabled { cursor:not-allowed; opacity:.65; }
.beta-share { display:flex; flex-wrap:wrap; align-items:center; gap:12px; max-width:100%; }
.beta-share [data-share-status]:empty { display:none; }
.beta-share [data-share-status] { margin:0; }
.beta-share [data-share-manual] { flex-basis:100%; min-width:0; }
.beta-share input { min-width:0; }
.form-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:30px; align-items:start; margin-top:32px; }
form { min-width:0; }
label.field { display:block; margin-bottom:23px; }
.label { display:block; margin-bottom:8px; font-weight:600; }
.optional { font-weight:400; color:var(--muted); font-size:13px; }
input:not([type="checkbox"]):not([type="radio"]),select,textarea { display:block; width:100%; border:1px solid var(--line); border-radius:10px; background:var(--bg); color:var(--ink); padding:11px 13px; }
textarea { resize:vertical; min-height:110px; }
fieldset { border:0; padding:0; margin:0 0 24px; min-width:0; }
legend { font-weight:600; margin-bottom:10px; }
.choice { display:flex; align-items:start; gap:10px; padding:11px 0; cursor:pointer; }
input[type="radio"],input[type="checkbox"] { accent-color:var(--accent); width:18px; height:18px; flex-shrink:0; margin-top:5px; }
.summary { display:grid; grid-template-columns:110px 1fr; gap:12px 20px; margin:20px 0; }
.summary dt { color:var(--muted); }
.summary dd { margin:0; overflow-wrap:anywhere; white-space:pre-wrap; }
.status { display:inline-block; border:1px solid var(--line); border-radius:30px; padding:4px 13px; color:var(--accent); font-size:13px; margin-bottom:20px; }
.task { margin-top:20px; }
footer { border-top:1px solid var(--line); padding:28px 24px; color:var(--muted); text-align:center; font-size:13px; }
body[data-audience="coach"] .coach-link-button { border:0; background:transparent; padding:0; color:var(--accent); text-decoration:underline; text-underline-offset:5px; cursor:pointer; }
body[data-audience="coach"] .coach-rights { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:40px; }
body[data-audience="coach"] .coach-number { display:block; color:var(--accent); font-family:Georgia,serif; font-size:44px; line-height:1.2; margin-bottom:18px; }
body[data-audience="coach"] .coach-number span { font:14px/1.5 system-ui,sans-serif; margin-left:8px; }
body[data-audience="coach"] .coach-flow { list-style:none; padding:0; }
body[data-audience="coach"] .coach-flow li { display:grid; grid-template-columns:42px minmax(0,1fr); gap:16px; margin-bottom:16px; }
body[data-audience="coach"] .coach-flow p { margin-bottom:0; }
body[data-audience="coach"] .coach-step { color:var(--accent); font:24px/1.3 Georgia,serif; }
body[data-audience="coach"] .coach-share-mobile,
body[data-audience="coach"] .coach-share-icon { display:none; }
@media(max-width:650px) {
  body[data-audience="coach"] .coach-overview-intro { display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:center; column-gap:12px; }
  body[data-audience="coach"] .coach-overview-intro > .eyebrow { margin:0; }
  body[data-audience="coach"] .coach-share-desktop { display:none; }
  body[data-audience="coach"] .coach-share-mobile { display:contents; }
  body[data-audience="coach"] .coach-share-mobile > .button { grid-column:2; grid-row:1; width:44px; height:44px; padding:0; border-radius:50%; }
  body[data-audience="coach"] .coach-share-mobile .coach-share-icon { display:block; width:20px; height:20px; }
  body[data-audience="coach"] .coach-share-mobile .coach-share-label { display:none; }
  body[data-audience="coach"] .coach-share-mobile [data-share-status],
  body[data-audience="coach"] .coach-share-mobile [data-share-manual] { grid-column:1 / -1; margin-top:8px; }
}
@media(max-width:760px) { body[data-audience="coach"] .coach-rights { grid-template-columns:1fr; } }
@media(max-width:650px) { .next-steps { padding-inline:23px; } }
@media(max-width:650px) { header { padding:20px; align-items:start; } .brand { font-size:15px; letter-spacing:.16em; } .header-links { gap:9px; justify-content:end; font-size:12px; } main { padding:40px 20px 60px; } .grid,.form-layout { grid-template-columns:1fr; } .panel { padding:23px; } .steps { gap:12px; font-size:12px; } .summary { grid-template-columns:1fr; gap:4px; } .summary dd { margin-bottom:12px; } }
