:root {
  --bg:#fff7f4; --paper:#fffdfb; --ink:#35252a; --muted:#8e787c;
  --line:#efdeda; --red:#bf4457; --red2:#e78086; --green:#622d42;
  --pale:#fff0ee; --shadow:0 18px 50px rgba(102,46,61,.09);
}
.access-preview{max-width:1000px;margin:0 auto;padding:42px 0 20px}
.access-rights{display:inline-block;margin:6px 0 12px;padding:12px 16px;border-radius:14px;background:#fffdfb;border:1px solid #e8cbd0;color:#a93e54;font-weight:700;font-size:13px}
.access-rights small{display:block;margin-top:5px;color:#967d82;font-size:11px;font-weight:400}
.access-intro{display:flex;align-items:center;gap:26px;padding:20px 0 8px}
.access-intro .access-avatar{width:108px;height:108px;border-radius:50%;object-fit:cover;object-position:50% 22%;border:5px solid #fff;box-shadow:0 0 0 2px #e7c7c7}
.access-intro h1{font-size:clamp(34px,5vw,50px);line-height:1.2;margin:10px 0}
.access-intro p{color:#765e63;line-height:1.7}
.access-entry{max-width:560px;margin:42px auto 0;padding:30px;background:#fffdfb;border:1px solid #efdeda;border-radius:24px;box-shadow:var(--shadow)}
.access-entry h2{margin:0;font-size:24px}
.access-entry form{margin:18px 0}
.access-entry .code-input{margin-bottom:10px}
.chat-start{width:100%;background:linear-gradient(135deg,#fffdfb,#fff0ec);border:1px solid #edcfd0;border-radius:24px;padding:28px;box-shadow:var(--shadow)}
.chat-start h2{font-size:24px;margin:10px 0}
.chat-start p{color:#826b70;line-height:1.7;margin:0 0 18px}
.chat-start-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.chat-start-options button{background:#fff;border:1px solid #e9cbd0;border-radius:17px;padding:19px;text-align:left;color:#633444}
.chat-start-options button:hover{border-color:#c34e62;background:#fff8f6}
.chat-start-options strong,.chat-start-options span{display:block}
.chat-start-options strong{font-size:17px;margin-bottom:8px}
.chat-start-options span{font-size:12px;color:#90747b;line-height:1.5}
@media(max-width:700px){.access-preview{padding:22px 0}.access-intro{align-items:flex-start;gap:15px}.access-intro .access-avatar{width:68px;height:68px}.access-intro h1{font-size:35px}.access-entry{margin-top:28px;padding:22px}.chat-start{padding:20px}.chat-start-options{grid-template-columns:1fr}}
body{background:radial-gradient(circle at 86% 4%,#ffe9e6 0,transparent 27%),linear-gradient(#fff8f5,#fff5f1 70%);color:var(--ink)}
.app-shell{max-width:1180px}
.topbar{height:78px;border-color:#efdad8;background:rgba(255,248,245,.91)}
.brand-avatar{width:43px;height:43px;object-fit:cover;object-position:50% 23%;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 2px #e7c7c7}
.brand strong{font-family:"PingFang SC",sans-serif;font-size:19px;font-weight:800;letter-spacing:.08em}
.brand small{font-size:10px;color:#9b6770}
.top-action{background:#fff;border-color:#ebd5d3;color:var(--green);font-weight:700}
.page{padding-bottom:104px}
.eyebrow{color:#bc4b5b;letter-spacing:.15em}
.hero{grid-template-columns:1.08fr .92fr;gap:42px;min-height:540px;padding:57px 0 48px}
.hero h1{font-family:"PingFang SC","Noto Sans SC",sans-serif;font-weight:800;font-size:clamp(42px,5.1vw,67px);line-height:1.2;letter-spacing:-.055em;margin:20px 0 25px}
.hero h1 em{color:#c44f60}
.hero p{font-size:16px;line-height:1.85;color:#765e63;max-width:570px}
.hero .note{color:#a38084;font-size:12px}
.btn{background:var(--green);border-radius:999px;padding:13px 23px;min-height:50px;box-shadow:0 9px 20px rgba(98,45,66,.13)}
.btn.red{background:linear-gradient(135deg,#c74359,#e4767b)}
.btn.secondary{color:var(--green);border-color:#ba9aa4;background:#fff9f7;box-shadow:none}
.btn.ghost{background:#fff4f0;color:var(--green);box-shadow:none}
.hero-art{display:block;min-height:460px;border:0;border-radius:32px;position:relative;background:#4c0718;box-shadow:0 25px 55px rgba(67,15,31,.18)}
.hero-art:before,.hero-art:after{display:none}
.hero-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 26%;filter:saturate(.9)}
.hero-art:after{display:block;content:"";position:absolute;inset:0;width:auto;height:auto;border:0;border-radius:0;background:linear-gradient(180deg,rgba(39,0,10,.02) 30%,rgba(35,0,10,.75) 100%)}
.portrait-caption{position:absolute;left:34px;right:30px;bottom:27px;z-index:1;color:#fff;display:flex;flex-direction:column;gap:7px}
.portrait-caption span{font-size:11px;letter-spacing:.34em;color:#f4c6c8}
.portrait-caption strong{font-size:30px;line-height:1.25;letter-spacing:.03em}
.portrait-caption small{font-size:12px;color:#f2d9da}
.section-head h2,.flow-card h3,.page-title h1,.panel h2,.panel h3,.chat-intro h1,.lock-card h2,.report-lead .big,.report-section h3{font-family:"PingFang SC","Noto Sans SC",sans-serif}
.section-head{margin:30px 0 18px}
.section-head h2{font-size:29px;font-weight:800}
.flow-grid{gap:18px}
.flow-card{border:1px solid #efd7d5;border-radius:26px;padding:30px;min-height:290px;box-shadow:0 14px 32px rgba(103,48,59,.05);position:relative;overflow:hidden}
.flow-card.primary{background:linear-gradient(140deg,#fff1ed,#ffe6e2);border-color:#f0ceca}
.flow-card:not(.primary){background:#fffdfb}
.flow-card .num{color:#bb4d60;letter-spacing:.08em}
.flow-card h3{font-size:28px;margin-top:36px}
.flow-card p{color:#806b70;max-width:420px}
.flow-card button{font-size:15px;color:#b94056;border-bottom-color:#b94056}
.flow-symbol{position:absolute;right:25px;top:17px;font-size:60px;line-height:1;color:#e5a3a8;opacity:.7}
.concepts{gap:16px}
.concept{background:#fff;border-color:#efdeda;border-radius:20px;padding:22px;box-shadow:0 7px 24px rgba(103,48,59,.03)}
.concept strong{font-size:18px;color:#643347}
.concept:hover{border-color:#d6929e;transform:translateY(-2px)}
.note,.section-head p{color:#998388}
.foot-note{border-top-color:#ead7d3}
.inner{max-width:810px}
.page-title{padding:36px 0 18px}
.page-title h1{font-size:clamp(34px,4.6vw,48px);font-weight:800;letter-spacing:-.04em}
.page-title p{color:#8d757b}
.back{color:#ad5868;font-weight:700}
.panel{background:#fffdfb;border-color:#f0ded9;border-radius:24px;padding:31px;box-shadow:0 13px 35px rgba(106,53,64,.05)}
.intake-card{padding:33px 34px}
.intake-card h2{font-size:24px;margin:8px 0 22px}
.card-kicker{font-size:12px;font-weight:800;letter-spacing:.14em;color:#c14f61}
.field>span{font-size:13px;color:#5f424b}
.field small{color:#a68b90}
.field input,.field textarea,.field select,.code-input{background:#fff8f5;border-color:#ead8d4;border-radius:13px;min-height:49px}
.field textarea{min-height:105px}
.field input:focus,.field textarea:focus,.code-input:focus{border-color:#cf7683;box-shadow:0 0 0 3px rgba(199,88,105,.1)}
.field-row{gap:16px}
.choice-field{margin:14px 0;min-width:0;border:1px solid #ead8d4;border-radius:15px;background:#fffaf8;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.choice-field[open]{border-color:#d999a3;box-shadow:0 9px 24px rgba(106,53,64,.08)}
.choice-summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 18px;column-gap:12px;row-gap:5px;padding:14px 16px;min-height:67px;align-content:center}
.choice-summary::-webkit-details-marker{display:none}
.choice-summary:focus-visible{outline:3px solid #d999a3;outline-offset:-3px;border-radius:14px}
.choice-summary-label,.choice-summary-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.choice-summary-label{color:#65414d;font-size:13px;font-weight:700}
.choice-summary-label small{font-weight:400;color:#a28b90;margin-left:5px}
.choice-summary-value{grid-column:1;color:#ad969a;font-size:12px}
.choice-field.has-value .choice-summary-value{color:#b9475c;font-weight:700}
.choice-chevron{grid-column:2;grid-row:1 / span 2;align-self:center;width:10px;height:10px;border-right:2px solid #b37983;border-bottom:2px solid #b37983;transform:rotate(45deg);transition:transform .2s}
.choice-field[open] .choice-chevron{transform:translateY(4px) rotate(225deg)}
.choice-panel{border-top:1px solid #f1e3e0;padding:14px 16px 16px;background:#fffdfb}
.choice-options{display:flex;flex-wrap:wrap;gap:9px}
.choice-option{border:1px solid #ead5d3;background:#fffaf8;color:#79545d;border-radius:999px;padding:10px 15px;font-size:13px;line-height:1.2;min-height:40px}
.choice-option.selected,.choice-option[aria-pressed="true"]{background:#b9475c;border-color:#b9475c;color:#fff;box-shadow:0 5px 15px rgba(185,71,92,.18)}
.choice-field[data-choice-name="priorities"] .choice-option.selected::before{content:attr(data-selected-order);display:inline-grid;place-items:center;width:17px;height:17px;margin-right:5px;border-radius:50%;background:rgba(255,255,255,.24);font-size:11px}
.choice-other{margin-top:11px;width:100%;background:#fff8f5;border:1px solid #ead8d4;border-radius:12px;padding:11px 13px;outline:0;color:#5d3943}
.choice-other:focus{border-color:#cf7683;box-shadow:0 0 0 3px rgba(199,88,105,.1)}
.intake-details{margin:18px 0;padding:15px 16px;background:#fff9f6;border:1px solid #eedbd8;border-radius:14px}
.intake-details summary{cursor:pointer;color:#a85061;font-weight:700;font-size:13px}
.subtle{background:#fff1ed;border-color:#cc6673;color:#855d67;border-radius:0 10px 10px 0}
.chapter-progress{display:flex;justify-content:space-between;color:#ad5d6a;font-size:12px;font-weight:700;margin:16px 0 10px}
.stepper{margin:0 0 24px;gap:7px}
.stepper span{height:6px;background:#f0d9d7;border-radius:99px}
.stepper span.active{background:linear-gradient(90deg,#bf4457,#ed9290)}
.intake-actions{justify-content:space-between;margin-bottom:26px}
.intake-actions .btn.red{margin-left:auto;min-width:180px}
.report-page{max-width:850px}
.report-cover{padding:34px 38px;background:radial-gradient(circle at 95% 10%,#ffe2db,transparent 43%),linear-gradient(145deg,#fff1eb,#fffaf7);border:1px solid #efd5d1;border-radius:26px;box-shadow:var(--shadow)}
.report-cover-person{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800;color:#895668;margin-bottom:25px}
.report-cover-person img{width:48px;height:48px;object-fit:cover;object-position:50% 20%;border-radius:50%;border:2px solid white}
.report-cover h2{font-size:clamp(25px,3vw,35px);line-height:1.55;margin:12px 0;color:#5a2c3e}
.report-cover p{font-size:13px;color:#977b81;line-height:1.8;margin:0}
.report-index{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:19px 0 7px}
.report-index span{background:#fff;border:1px solid #efdbd7;border-radius:12px;padding:12px 8px;text-align:center;font-size:11px;color:#9b6170;font-weight:700}
.report-paper{margin-top:16px}
.report-section{border-bottom-color:#eededb}
.report-section h3{color:#603046;font-weight:800}
.report-section h3 b{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#fff0ed;color:#c1495d;font-size:11px}
.report-section ul{padding-left:20px;color:#59444a}
.report-paragraphs{color:#59444a;line-height:1.9;font-size:15px}
.report-paragraphs p{margin:12px 0 17px}
.report-paragraphs ol{padding-left:22px}
.report-paragraphs li{padding-left:5px;margin:12px 0 18px}
.report-facts{margin-top:25px;border-top:1px solid #eededb;padding-top:20px;color:#765d63;font-size:13px}
.report-facts summary{cursor:pointer;font-weight:700}
.report-facts ul{columns:2;line-height:1.8;padding-left:20px}
@media(max-width:620px){.report-facts ul{columns:1}}
.report-copy{line-height:1.9;color:#59444a}
.next-talk{margin-top:19px;background:#71364a;color:white;border-radius:23px;padding:25px 29px}
.next-talk>div{display:flex;align-items:center;gap:12px;font-weight:800}
.next-talk img{width:39px;height:39px;border-radius:50%;object-fit:cover;object-position:50% 20%}
.next-talk ul{padding-left:21px;line-height:1.8;color:#f5e5e8}
.next-talk button{background:#fff;color:#763b50;border:0;border-radius:999px;padding:11px 18px;font-weight:800}
.lock-card{background:#fff;border-color:#f0dad6;border-radius:25px;box-shadow:var(--shadow)}
.lock-icon{color:#cf6570}
.chat-layout{max-width:820px}
.chat-intro{padding-top:25px}
.chat-consultant{display:flex;align-items:center;gap:19px;margin:22px 0 18px}
.chat-consultant img{width:78px;height:78px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:4px solid white;box-shadow:0 0 0 1px #ead0d0,0 9px 21px rgba(73,28,41,.12)}
.chat-consultant h1{font-size:28px;margin:5px 0 3px;font-weight:800}
.chat-consultant p{margin:0;color:#96787e}
.chat-tools button{background:#fff8f6;border-color:#eddbd8;color:#965d6c}
.messages{gap:18px}
.quick-replies{margin:0 0 10px;padding:0 2px}
.quick-replies>span{display:block;color:#92747b;font-size:11px;margin-bottom:7px}
.quick-replies>div{display:flex;gap:7px;overflow-x:auto;padding-bottom:3px}
.quick-replies button{flex:0 0 auto;border:1px solid #e6c9ce;background:#fffaf8;color:#9b4558;border-radius:999px;padding:8px 12px;font-size:12px}
.quick-replies button:hover{background:#fce8e7}
.thinking-message{display:flex;align-items:center;gap:6px;color:#805664}
.thinking-message .meta{width:100%}
.thinking-message{flex-wrap:wrap}
.thinking-dots{display:inline-flex;gap:3px;align-items:center}
.thinking-dots i{display:block;width:5px;height:5px;border-radius:50%;background:#bd6271;animation:thinking-pulse 1s infinite alternate}
.thinking-dots i:nth-child(2){animation-delay:.2s}.thinking-dots i:nth-child(3){animation-delay:.4s}
@keyframes thinking-pulse{from{opacity:.25;transform:translateY(1px)}to{opacity:1;transform:translateY(-2px)}}
.message-row{display:flex;align-items:flex-start;gap:10px}
.message-row.user{justify-content:flex-end}
.chat-avatar{width:38px;height:38px;flex:0 0 38px;object-fit:cover;object-position:50% 18%;border-radius:50%;border:2px solid #fff}
.message{max-width:85%;font-size:15px;line-height:1.8;border-radius:20px;padding:15px 18px}
.message.assistant{background:#fffdfb;border-color:#efdbd7;border-top-left-radius:5px;box-shadow:0 8px 24px rgba(90,42,56,.04)}
.message.user{background:linear-gradient(135deg,#b9475c,#d96d77);border-top-right-radius:5px}
.message .meta{font-size:11px;opacity:.67}
.chat-bottom{background:linear-gradient(180deg,transparent,#fff7f4 23%)}
.composer{border-radius:19px;border-color:#eddbd8;box-shadow:0 12px 30px rgba(86,39,53,.12)}
.timer{color:#b4475c}
.timer-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.access{max-width:470px;margin:7vh auto 0;background:#fff;border:1px solid #eedbd8;padding:38px;border-radius:30px;box-shadow:var(--shadow)}
.access-avatar{width:82px;height:82px;object-fit:cover;object-position:50% 20%;border-radius:50%;border:4px solid #fff;box-shadow:0 0 0 2px #e7c8ca}
.access h1{font-family:"PingFang SC","Noto Sans SC",sans-serif;font-size:37px;font-weight:800;color:#5d2c3f}
.access p{color:#92747b}
#toast{background:#5c2c3e;border-radius:12px;box-shadow:0 10px 25px rgba(40,5,16,.2)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:18px 0}
.product-card{background:#fff;border:1px solid #efd9d7;border-radius:20px;padding:22px;display:flex;flex-direction:column;min-height:245px;box-shadow:var(--shadow)}
.product-card>span{font-size:11px;color:#b15d6b;font-weight:800;letter-spacing:.08em}
.product-card h3{font-size:19px;margin:17px 0 6px;color:#5d2c3f}
.product-card strong{font-size:29px;color:#bd4459}
.product-card p{font-size:12px;line-height:1.7;color:#8c7479}
.product-card button{margin-top:auto;border:0;background:#fff0ed;color:#ab4054;border-radius:99px;padding:10px;font-weight:800}
.recover-form{border-top:1px solid #efdfdc;padding-top:18px}
.recovery-card{max-width:570px;margin:8vh auto;padding:30px}
.recovery-card code{display:block;overflow-wrap:anywhere;background:#fff2ee;padding:16px;border-radius:12px;margin:20px 0;color:#843f50}
.account-link{border:0;background:transparent;color:#a94d5e;text-decoration:underline;margin-top:22px;padding:7px}
@media(max-width:700px){
  .topbar{height:66px}.brand-avatar{width:39px;height:39px}.brand strong{font-size:17px}
  .hero{display:flex;flex-direction:column;align-items:stretch;gap:24px;padding:35px 0 17px}
  .hero h1{font-size:clamp(39px,10.6vw,52px);margin:15px 0 16px}
  .hero p{font-size:14px}
  .hero-art{display:block;min-height:280px;border-radius:23px}
  .hero-art>img{object-position:50% 24%}
  .portrait-caption{left:22px;bottom:18px}
  .portrait-caption strong{font-size:23px}
  .flow-card{min-height:235px;padding:25px;border-radius:23px}
  .flow-card h3{margin-top:24px}
  .concepts{grid-template-columns:1fr}
  .panel{padding:21px}.intake-card{padding:24px 21px}
  .field-row{grid-template-columns:1fr;gap:0}
  .chapter-progress{margin-top:7px}
  .intake-actions .btn.red{min-width:0;flex:1}
  .report-cover{padding:25px 22px}
  .report-index{grid-template-columns:repeat(2,1fr)}
  .chat-consultant img{width:61px;height:61px}
  .chat-consultant h1{font-size:22px}
  .message{max-width:calc(100% - 48px);font-size:14px}
  .access{margin:4vh auto 0;padding:27px}
  .access h1{font-size:33px}
  .product-grid{grid-template-columns:1fr}
  .product-card{min-height:190px}
}
