:root { --ink:#211e1b; --muted:#746d63; --paper:#f5ecdf; --paper-light:#fffaf2; --line:#dfcdbb; --red:#a51d17; --red-dark:#7f1712; --gold:#a56435; --shadow:0 10px 24px rgba(75,47,24,.10); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { min-width:320px; margin:0; color:var(--ink); background:#f5ecdf url("assets/ink-wash-background-v1.png") center top / cover fixed no-repeat; font-family:"Noto Serif SC","Songti SC","STSong",SimSun,serif; }
body::before { content:""; position:fixed; z-index:-2; inset:0; pointer-events:none; background:rgba(255,249,238,.08); }
button,textarea,input { font:inherit; } button { cursor:pointer; } a { color:inherit; }
.shell { width:min(1220px,calc(100% - 48px)); margin:0 auto; }
.site-header { min-height:78px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid rgba(174,142,105,.35); }.brand { display:flex; gap:10px; align-items:center; text-decoration:none; white-space:nowrap; }.brand strong { font-size:23px; letter-spacing:.06em; }.brand-mark { display:grid; place-items:center; width:30px; height:30px; color:#fff8e9; background:linear-gradient(135deg,#c03225,#801411); border:1px solid #db7660; box-shadow:2px 2px 0 #d4b69c; font-size:16px; }.brand-note { padding-left:10px; color:#94887a; border-left:1px solid var(--line); font-size:12px; }.top-nav { display:flex; align-items:center; gap:34px; font-size:14px; font-weight:700; }.top-nav a { text-decoration:none; }.top-nav a:not(.header-cta):hover { color:var(--red); }.header-cta { padding:10px 28px; color:#fff; background:linear-gradient(135deg,#ae2d25,#901814); border-radius:5px; box-shadow:inset 0 0 0 1px rgba(255,239,215,.3); }
.hero { display:grid; grid-template-columns:.92fr 1.4fr; gap:70px; align-items:center; min-height:407px; padding:40px 26px; }.eyebrow { margin:0 0 12px; color:var(--red); font-family:ui-sans-serif,system-ui,sans-serif; font-size:12px; font-weight:700; letter-spacing:.13em; }.hero h1 { margin:0 0 16px; font-size:clamp(40px,4.1vw,65px); line-height:1.11; letter-spacing:.02em; font-weight:600; }.hero h1 em { color:var(--red); font-style:normal; text-decoration:underline; text-decoration-color:#b76a54; text-decoration-thickness:2px; text-underline-offset:8px; }.hero-copy > p:last-of-type { max-width:405px; color:#635d56; font-size:16px; line-height:1.85; }.idea-list { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:28px 0 0; }.idea-list div { position:relative; padding:0 7px 0 24px; }.idea-list div::before { content:"◇"; position:absolute; left:0; top:1px; color:#a77043; }.idea-list dt { font-size:13px; font-weight:700; }.idea-list dd { margin:4px 0 0; color:#85796b; font-size:11px; }
.question-panel { position:relative; overflow:hidden; padding:26px 30px 18px; background:rgba(255,251,244,.87); border:1px solid #d8b89a; border-radius:20px; box-shadow:var(--shadow); }.question-panel::after { content:""; position:absolute; z-index:-1; top:0; right:0; width:260px; height:100%; opacity:.2; background:linear-gradient(155deg,transparent 44%,#d6bd9b 45% 46%,transparent 47%),radial-gradient(ellipse at 65% 20%,#c6aa85 0 13%,transparent 14%),radial-gradient(ellipse at 80% 45%,#c6aa85 0 19%,transparent 20%); }.question-panel-title { display:flex; gap:16px; align-items:center; margin-bottom:16px; }.question-panel-title label { font-size:27px; font-weight:700; }.feather-mark { display:grid; place-items:center; flex:0 0 auto; width:46px; height:46px; color:#fff; background:var(--red); border-radius:50%; font-size:25px; transform:rotate(-16deg); }textarea { display:block; width:100%; min-height:182px; padding:15px 17px; resize:vertical; color:var(--ink); background:rgba(255,255,255,.54); border:1px solid #dec9b2; border-radius:8px; outline-color:var(--red); font-size:17px; line-height:1.7; }textarea::placeholder,input::placeholder { color:#aaa097; }.question-panel-footer { display:flex; align-items:center; justify-content:space-between; margin-top:10px; }.counter { color:#776e63; font-family:ui-sans-serif,system-ui,sans-serif; font-size:14px; }.primary-button { padding:13px 28px; color:#fff; background:linear-gradient(135deg,#b12b24,#931711); border:1px solid #8a160f; border-radius:5px; box-shadow:inset 0 0 0 1px rgba(255,239,215,.28); font-size:17px; font-weight:700; transition:transform .18s,background .18s; }.primary-button:hover { background:var(--red-dark); transform:translateY(-1px); }.example-row { display:flex; flex-wrap:wrap; gap:9px; align-items:center; margin-top:16px; color:#84786e; font-size:12px; }.example-row button { padding:7px 13px; color:#685d52; background:rgba(255,250,243,.8); border:1px solid #dfcdbb; border-radius:4px; font-size:12px; }.example-row button::before { content:"⌁"; margin-right:5px; color:var(--gold); }.example-row button:hover { border-color:var(--red); color:var(--red); }
.content-row { display:grid; grid-template-columns:208px 1fr; gap:24px; padding:18px 0; border-top:1px solid rgba(180,143,102,.3); }.section-label { padding:9px 0; }.section-label h2 { margin:0; font-size:22px; }.section-label span { display:block; width:22px; height:2px; margin:12px 0 12px; background:var(--red); }.section-label > p:last-child { max-width:160px; margin:0; color:#756b60; font-size:13px; line-height:1.7; }.mode-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:11px; }.mode-card { min-height:143px; display:grid; grid-template-columns:98px 1fr; gap:12px; padding:17px; color:var(--ink); background:rgba(255,251,245,.76); border:1px solid #e1d2c0; border-radius:6px; box-shadow:0 3px 8px rgba(57,40,23,.05); text-align:left; transition:transform .18s,border-color .18s,box-shadow .18s; }.mode-card:hover,.mode-card.selected { border-color:#bb8677; box-shadow:0 8px 18px rgba(94,47,31,.1); transform:translateY(-2px); }.mode-card strong { margin-right:8px; font-size:17px; }.mode-card b { display:inline; padding:2px 4px; color:var(--red); background:#fff3ec; font-size:10px; }.mode-card small { display:block; margin-top:8px; color:#685f56; font-size:12px; line-height:1.55; }.mode-card i { display:block; margin-top:7px; color:var(--red); font-size:11px; font-style:normal; }.mode-art { position:relative; display:block; width:85px; height:85px; align-self:center; }.brush-ring { border:8px solid #a5221b; border-right-color:#d5c5ad; border-bottom-color:#d5c5ad; border-radius:50%; transform:rotate(-25deg); }.brush-ring::after { content:""; position:absolute; right:-5px; bottom:5px; width:21px; height:15px; background:var(--red); clip-path:polygon(0 50%,100% 0,80% 100%); }.contrast-circles::before,.contrast-circles::after,.contrast-circles { background:repeating-linear-gradient(45deg,transparent 0 3px,#ad886a 4px 5px); border:1px solid #97502b; border-radius:50%; }.contrast-circles { width:55px; height:55px; margin:16px 0 0 4px; }.contrast-circles::before,.contrast-circles::after { content:""; position:absolute; width:55px; height:55px; }.contrast-circles::before { left:23px; top:13px; }.contrast-circles::after { left:12px; top:30px; }.strategy-pyramid { display:flex; flex-direction:column; gap:3px; justify-content:center; align-items:center; }.strategy-pyramid u { display:block; height:17px; border:1px solid #9b4529; background:repeating-linear-gradient(150deg,#d9c0a0 0 1px,transparent 2px 4px); text-decoration:none; }.strategy-pyramid u:nth-child(1) { width:23px; }.strategy-pyramid u:nth-child(2) { width:46px; }.strategy-pyramid u:nth-child(3) { width:69px; }
.process-section { padding-top:1px; }.process-strip { display:grid; grid-template-columns:repeat(4,1fr); margin:0; padding:13px 10px; list-style:none; background:rgba(255,251,245,.76); border:1px solid #e1d2c0; border-radius:6px; box-shadow:0 3px 8px rgba(57,40,23,.05); }.process-strip li { position:relative; display:flex; gap:11px; padding:0 16px; border-right:1px solid #eadccc; }.process-strip li:last-child { border-right:0; }.process-strip b { display:grid; place-items:center; flex:0 0 auto; width:21px; height:21px; color:#fff; background:var(--red); border-radius:50%; font:700 12px/1 ui-sans-serif,system-ui,sans-serif; }.process-strip strong,.process-strip small { display:block; }.process-strip strong { margin:1px 0 4px; font-size:14px; }.process-strip small { color:#766d63; font-size:11px; line-height:1.45; }
.preview-section { padding-top:18px; padding-bottom:16px; }.report-preview { display:grid; grid-template-columns:135px 1fr 118px; min-height:150px; overflow:hidden; background:rgba(255,251,245,.78); border:1px solid #e1d2c0; border-radius:6px; box-shadow:0 3px 8px rgba(57,40,23,.05); }.report-preview aside { display:flex; flex-direction:column; gap:10px; padding:17px; color:#7c7063; background:rgba(235,223,204,.43); border-right:1px solid #e4d4c1; font-size:12px; }.report-preview aside b { color:var(--red); }.report-body { padding:15px 26px; }.report-body .eyebrow { margin-bottom:4px; font-size:10px; }.report-body h3 { margin:0 0 5px; font-size:19px; }.report-body > p:not(.eyebrow) { margin:0; color:#756c61; font-size:12px; line-height:1.55; }.report-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; margin-top:15px; }.report-grid div { display:grid; grid-template-columns:20px 1fr; column-gap:5px; }.report-grid b { color:#a05b32; }.report-grid strong { font-size:12px; }.report-grid small { grid-column:1 / -1; margin-top:6px; color:#786e62; font-size:10px; line-height:1.45; }.report-book { display:grid; place-items:center; margin:13px 11px; border:1px solid #c8ac8a; background:linear-gradient(110deg,#e2c8a5,#f8ead3 58%,#cda579); box-shadow:3px 3px 7px rgba(86,51,24,.2); }.report-book span { color:#3d342a; font-size:14px; line-height:1.55; letter-spacing:.13em; text-align:center; }.site-footer { display:flex; justify-content:space-between; padding:20px 0; border-top:1px solid rgba(180,143,102,.3); color:#8a7e70; font-size:12px; }.site-footer a { margin-left:32px; text-decoration:none; }.site-footer a:hover { color:var(--red); }
@media (max-width:980px) { .hero { grid-template-columns:1fr; gap:28px; padding:58px 6px 34px; }.hero-copy > p:last-of-type { max-width:620px; }.content-row { grid-template-columns:160px 1fr; }.mode-card { grid-template-columns:73px 1fr; padding:14px; }.mode-art { transform:scale(.78); transform-origin:left center; }.top-nav { gap:18px; }.brand-note { display:none; }.report-preview { grid-template-columns:115px 1fr 88px; }.report-body { padding:14px 16px; }.report-grid { gap:8px; } }
@media (max-width:720px) { .shell { width:min(100% - 30px,1220px); }.top-nav a:not(.header-cta) { display:none; }.header-cta { padding:9px 14px; }.brand strong { font-size:18px; }.hero h1 { font-size:43px; }.idea-list { grid-template-columns:repeat(2,1fr); max-width:340px; }.question-panel { padding:20px 16px 15px; }.question-panel-title label { font-size:23px; }.content-row { display:block; padding:30px 0; }.section-label { padding-bottom:16px; }.section-label > p:last-child { max-width:none; }.mode-grid { grid-template-columns:1fr; }.mode-card { grid-template-columns:95px 1fr; }.process-strip { grid-template-columns:1fr 1fr; gap:16px 0; }.process-strip li:nth-child(2) { border-right:0; }.process-strip li:nth-child(-n+2) { padding-bottom:13px; border-bottom:1px solid #eadccc; }.process-strip li:nth-child(n+3) { padding-top:2px; }.report-preview { grid-template-columns:93px 1fr; }.report-preview aside { padding:14px 10px; }.report-book { display:none; }.report-grid { grid-template-columns:1fr 1fr; }.site-footer { display:block; line-height:2; }.site-footer a { margin:0 18px 0 0; } }
@media (max-width:430px) { .hero { padding-top:42px; }.hero h1 { font-size:38px; }.question-panel-title { gap:10px; }.feather-mark { width:38px; height:38px; }.question-panel-title label { font-size:20px; }.question-panel-footer { align-items:center; }.primary-button { padding:12px 15px; font-size:15px; }.example-row { display:block; }.example-row span { display:block; margin-bottom:7px; }.example-row button { margin:0 5px 7px 0; }.process-strip { grid-template-columns:1fr; }.process-strip li,.process-strip li:nth-child(2) { padding:0 0 13px; border-right:0; border-bottom:1px solid #eadccc; }.process-strip li:nth-child(n+3) { padding-top:0; }.process-strip li:last-child { padding-bottom:0; border-bottom:0; }.report-preview { display:block; }.report-preview aside { display:none; }.report-grid { grid-template-columns:1fr; }.report-body { padding:18px; } }

/* Analysis page */
.analysis-page .site-header { position:relative; z-index:1; }.analysis-actions { display:flex; align-items:center; gap:20px; }.saved-note { color:#8a7e70; font-size:12px; }.analysis-page .header-cta { padding:9px 20px; font-size:13px; }.analysis-main { padding:40px 0 84px; }.question-summary { max-width:1000px; margin:0 auto; padding:27px 32px 24px; background:rgba(255,251,245,.68); border:1px solid rgba(216,184,154,.8); border-radius:8px; box-shadow:0 7px 20px rgba(72,48,27,.06); }.summary-top { display:flex; align-items:center; justify-content:space-between; }.summary-top .eyebrow { margin-bottom:0; }.result-status { color:var(--red); font-size:12px; }.question-summary h1 { max-width:830px; margin:15px 0 20px; font-size:clamp(25px,3vw,36px); line-height:1.38; letter-spacing:-.025em; font-weight:600; }.summary-meta { display:flex; align-items:center; flex-wrap:wrap; gap:12px; color:#766c61; font-size:13px; }.mode-tag { display:inline-flex; align-items:center; padding:5px 9px; color:var(--red); border:1px solid #d8bcae; background:#fff5ed; font-size:12px; }.analysis-workspace { display:grid; grid-template-columns:174px minmax(0,1fr); gap:34px; max-width:1000px; margin:27px auto 0; }.analysis-sidebar { position:sticky; top:22px; align-self:start; }.report-index { display:grid; gap:4px; padding:4px 0 19px; border-bottom:1px solid rgba(180,143,102,.36); }.report-index > p { margin:0 0 7px; color:#988879; font-size:12px; }.report-index a { display:flex; gap:10px; align-items:center; padding:8px 0; color:#756a5f; text-decoration:none; font-size:13px; }.report-index a:hover,.report-index a.active { color:var(--red); }.report-index b { width:20px; font:700 11px/1 ui-sans-serif,system-ui,sans-serif; }.method-note { margin-top:20px; padding:14px; background:rgba(255,250,242,.55); border-left:2px solid #b68765; }.method-note span { color:var(--red); font-size:11px; font-weight:700; }.method-note p { margin:8px 0 0; color:#756a5e; font-size:12px; line-height:1.7; }.analysis-results { min-width:0; }.loading-state { padding:34px 0; }.loading-kicker { display:block; margin-bottom:16px; color:#7f7163; font-size:13px; }.loading-line { display:block; width:100%; height:10px; margin:12px 0; background:linear-gradient(90deg,#e8e0d3 25%,#faf5ec 46%,#e8e0d3 67%); background-size:300% 100%; animation:pulse 1.4s infinite linear; }.loading-line.short { width:63%; }.hidden { display:none; }.result-stack { display:grid; gap:32px; }.priority-card { position:relative; overflow:hidden; padding:29px 32px 25px; color:#fff9ee; background:linear-gradient(120deg,#9a2119,#721510); border:1px solid #71130f; border-radius:8px; box-shadow:0 13px 25px rgba(107,32,24,.18); }.priority-card::after { content:""; position:absolute; right:-45px; top:-90px; width:230px; height:230px; border:1px solid rgba(255,235,198,.23); border-radius:50%; box-shadow:0 0 0 28px rgba(255,235,198,.06),0 0 0 59px rgba(255,235,198,.04); }.priority-header { display:flex; align-items:center; justify-content:space-between; position:relative; z-index:1; }.priority-header .card-index { color:#ffe5bf; }.priority-header > span { padding:4px 7px; border:1px solid rgba(255,232,202,.45); border-radius:3px; color:#ffe5bf; font-size:11px; }.priority-card h2 { position:relative; z-index:1; max-width:710px; margin:13px 0 14px; font-size:clamp(23px,2.5vw,31px); line-height:1.45; font-weight:600; }.priority-rule { position:relative; z-index:1; width:44px; height:2px; margin:0 0 12px; background:#f1c78f; }.priority-card > p { position:relative; z-index:1; max-width:700px; margin:0; color:#f9e4cb; font-size:13px; line-height:1.75; }.result-section-heading { margin-bottom:16px; }.result-section-heading .eyebrow { margin-bottom:7px; }.result-section-heading h2 { margin:0; font-size:23px; font-weight:600; }.result-section-heading > p:not(.eyebrow) { margin:8px 0 0; color:#786d62; font-size:13px; line-height:1.65; }.diagnosis-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.insight-card { min-height:260px; padding:24px; background:rgba(255,251,245,.8); border:1px solid #e0d1bf; border-radius:7px; box-shadow:0 5px 13px rgba(69,46,25,.05); }.insight-card .card-index { margin:0 0 13px; }.insight-card h3 { margin:0 0 11px; font-size:20px; line-height:1.45; font-weight:600; }.insight-card > p:not(.card-index) { margin:0; color:#615950; font-size:14px; line-height:1.8; }.contradiction-card { border-top:3px solid #ae372c; }.essence-card { border-top:3px solid #b08a63; }.key-aspect { display:grid; gap:6px; margin-top:17px; padding-top:13px; border-top:1px solid #e4d8ca; }.key-aspect span,.experiment-details span { color:#967e6d; font-size:11px; }.key-aspect strong { color:var(--red); font-size:14px; line-height:1.55; }.research-card { padding:5px 26px; background:rgba(255,251,245,.8); border:1px solid #e0d1bf; border-radius:7px; box-shadow:0 5px 13px rgba(69,46,25,.05); }.research-card ol { margin:0; padding:0; list-style:none; counter-reset:research; }.research-card li { position:relative; padding:18px 0 18px 43px; color:#554e46; border-bottom:1px solid #e9ddd0; font-size:14px; line-height:1.65; counter-increment:research; }.research-card li:last-child { border-bottom:0; }.research-card li::before { content:counter(research,decimal-leading-zero); position:absolute; left:0; top:18px; color:var(--red); font:700 12px/1 ui-sans-serif,system-ui,sans-serif; }.experiment-card { display:grid; grid-template-columns:1.04fr .96fr; overflow:hidden; background:#f3e6d7; border:1px solid #d9bfa5; border-radius:7px; box-shadow:0 5px 13px rgba(69,46,25,.05); }.experiment-main { padding:25px 27px; background:linear-gradient(135deg,rgba(165,29,23,.95),rgba(123,23,18,.95)); color:#fff9ee; }.experiment-step { display:inline-block; padding:4px 7px; border:1px solid rgba(255,232,202,.55); color:#ffe4bd; font-size:11px; }.experiment-main h3 { margin:13px 0 0; font-size:21px; line-height:1.5; font-weight:600; }.experiment-details { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:25px; }.experiment-details div { display:grid; align-content:start; gap:8px; }.experiment-details div + div { padding-left:18px; border-left:1px solid #d9c3ad; }.experiment-details strong { color:#433d36; font-size:14px; line-height:1.65; }.reference-bar { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:13px 0; color:#827668; border-top:1px solid rgba(180,143,102,.38); border-bottom:1px solid rgba(180,143,102,.38); font-size:12px; }.reference-bar strong { color:var(--red); }.reference-bar span:last-child { margin-left:auto; color:#a29588; }.follow-up { padding:24px; background:rgba(255,251,245,.6); border:1px solid #e0d1bf; border-radius:7px; }.follow-up label { display:block; margin-bottom:11px; font-size:15px; font-weight:700; }.follow-up div { display:flex; gap:10px; }.follow-up input { min-width:0; flex:1; padding:11px 13px; color:var(--ink); background:rgba(255,255,255,.64); border:1px solid #d9c8b5; border-radius:4px; outline-color:var(--red); font-size:13px; }.secondary-button { padding:0 17px; color:#fff; background:var(--red); border:1px solid #8e1c16; border-radius:4px; font-weight:700; font-size:13px; }.secondary-button:hover { background:var(--red-dark); }
@media (max-width:780px) { .analysis-main { padding-top:24px; }.analysis-actions .saved-note { display:none; }.question-summary { padding:21px; }.analysis-workspace { display:block; margin-top:19px; }.analysis-sidebar { position:static; display:flex; gap:12px; margin:0 0 23px; }.report-index { display:flex; flex:1; overflow:auto; padding:0 0 9px; border-bottom:1px solid rgba(180,143,102,.36); }.report-index > p { display:none; }.report-index a { flex:0 0 auto; padding:3px 8px; font-size:12px; }.report-index a:first-of-type { padding-left:0; }.method-note { display:none; }.result-stack { gap:25px; }.priority-card { padding:24px; }.diagnosis-grid { grid-template-columns:1fr; }.insight-card { min-height:0; }.experiment-card { grid-template-columns:1fr; }.experiment-details { grid-template-columns:1fr 1fr; }.follow-up { padding:19px; } }
@media (max-width:480px) { .analysis-page .brand-note { display:none; }.analysis-page .header-cta { padding:8px 12px; }.question-summary h1 { font-size:25px; }.summary-meta { align-items:flex-start; flex-direction:column; gap:8px; }.priority-card { padding:21px 18px; }.priority-card h2 { font-size:23px; }.result-section-heading h2 { font-size:21px; }.insight-card,.research-card { padding-left:18px; padding-right:18px; }.experiment-main { padding:21px; }.experiment-details { grid-template-columns:1fr; padding:20px; }.experiment-details div + div { padding-top:13px; padding-left:0; border-top:1px solid #d9c3ad; border-left:0; }.reference-bar span:last-child { width:100%; margin-left:0; }.follow-up div { display:block; }.follow-up input { width:100%; }.secondary-button { width:100%; min-height:42px; margin-top:10px; } }

/* Analysis data, recovery, and report actions */
.analysis-error { display:grid; justify-items:start; gap:11px; padding:25px; background:rgba(255,249,241,.88); border:1px solid #d7bda3; border-left:4px solid var(--red); border-radius:7px; box-shadow:0 5px 13px rgba(69,46,25,.05); }
.analysis-error.hidden { display:none; }
.analysis-error > span { color:var(--red); font-size:12px; font-weight:700; }
.analysis-error > strong { font-size:17px; line-height:1.6; }
.analysis-error .secondary-button { min-height:38px; }
.evidence-list { margin-top:17px; padding-top:13px; border-top:1px solid #e4d8ca; }
.evidence-list > span { color:#967e6d; font-size:11px; }
.evidence-list ul { display:grid; gap:6px; margin:9px 0 0; padding:0; list-style:none; }
.evidence-list li { position:relative; padding-left:13px; color:#675e54; font-size:12px; line-height:1.6; }
.evidence-list li::before { content:""; position:absolute; left:0; top:.7em; width:4px; height:4px; background:#ae372c; border-radius:50%; }
.safety-note { display:grid; grid-template-columns:auto 1fr; gap:13px; padding:16px 18px; color:#5d4939; background:rgba(243,224,194,.72); border:1px solid #d6b68d; border-radius:6px; }
.safety-note.hidden { display:none; }
.safety-note span { align-self:start; padding:3px 6px; color:#8b2119; border:1px solid #c99c7e; font-size:11px; font-weight:700; }
.safety-note p { margin:0; font-size:13px; line-height:1.7; }
.service-notice { margin:-16px 0 0; padding:10px 12px; color:#7b6b5d; background:rgba(255,250,242,.65); border-left:2px solid #b68765; font-size:12px; line-height:1.6; }
.service-notice.hidden { display:none; }
.method-cards { padding:21px; background:rgba(255,250,242,.65); border:1px solid #e0d1bf; border-radius:7px; }
.method-cards-heading { margin-bottom:14px; }
.method-cards-heading .eyebrow { margin:0 0 6px; }
.method-cards-heading h2 { margin:0; font-size:19px; }
.method-card-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.method-card { padding:15px; background:rgba(255,255,255,.48); border:1px solid #e2d4c4; border-left:3px solid #b9a28c; border-radius:5px; color:#6d6257; }
.method-card.active { border-left-color:var(--red); background:#fff9f1; }
.method-card > span { color:var(--red); font:700 10px/1 ui-sans-serif,system-ui,sans-serif; }
.method-card h3 { margin:7px 0 6px; color:#403932; font-size:15px; }
.method-card p { margin:0; font-size:12px; line-height:1.65; }
.reference-bar #result-source { margin-left:auto; color:#a29588; }
.copy-report { padding:6px 10px; color:var(--red); background:rgba(255,251,245,.65); border:1px solid #d8bcae; border-radius:3px; cursor:pointer; font-size:12px; }
.copy-report:hover { color:#fff; background:var(--red); border-color:var(--red); }
.secondary-button:disabled,.follow-up input:disabled { cursor:not-allowed; opacity:.58; }

/* V0.5 local sessions, action records, and review */
.recent-sessions { margin:12px 0 34px; padding:24px; background:rgba(255,251,245,.78); border:1px solid #e0d1bf; border-radius:8px; box-shadow:0 5px 13px rgba(69,46,25,.05); }.recent-sessions.hidden { display:none; }.recent-heading { display:flex; justify-content:space-between; gap:16px; align-items:start; }.recent-heading h2 { margin:0; font-size:24px; }.recent-heading p:last-child { margin:6px 0 16px; color:#766c61; font-size:13px; }.recent-sessions input { width:100%; padding:10px 12px; border:1px solid #d9c8b5; border-radius:4px; background:#fffdf9; }.recent-session { display:flex; gap:14px; align-items:center; justify-content:space-between; padding:14px 0; border-bottom:1px solid #eadccc; }.recent-session a { min-width:0; text-decoration:none; }.recent-session strong,.recent-session small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.recent-session small { margin-top:5px; color:#85796b; font-size:12px; }.recent-session button { flex:0 0 auto; color:var(--red); background:transparent; border:0; font-size:12px; }
.action-card,.review-result { padding:25px 27px; background:rgba(255,251,245,.82); border:1px solid #d7bda3; border-radius:8px; box-shadow:0 5px 13px rgba(69,46,25,.05); }.action-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; margin:18px 0; }.action-grid label { display:grid; gap:7px; color:#675d53; font-size:13px; font-weight:700; }.action-grid input,.action-grid select,.action-grid textarea,.feedback-row select { width:100%; padding:10px 11px; color:var(--ink); background:#fffdf9; border:1px solid #d9c8b5; border-radius:4px; font:inherit; }.action-grid textarea { min-height:88px; resize:vertical; }.review-result.hidden { display:none; }.review-card { padding:18px 0; border-bottom:1px solid #eadccc; }.review-card:last-child { border-bottom:0; }.review-card p { color:#5c534a; font-size:14px; line-height:1.75; }.review-card h3 { margin:12px 0 0; color:var(--red); font-size:18px; }.review-next { padding:11px; background:#f5eadc; }.feedback-row { display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:12px 0; color:#776c60; font-size:12px; }.feedback-row button { padding:5px 9px; color:#7c2a21; background:#fff8ef; border:1px solid #d8bcae; border-radius:3px; font-size:12px; }.feedback-row button.selected { color:#fff; background:var(--red); border-color:var(--red); }.feedback-row select { width:auto; padding:5px 8px; }.feedback-row select.hidden { display:none; }

@media (max-width:480px) {
  .analysis-error { padding:20px; }
  .analysis-error .secondary-button { width:auto; margin-top:0; }
  .reference-bar #result-source { width:100%; margin-left:0; }
  .copy-report { width:100%; min-height:38px; }
  .safety-note { grid-template-columns:1fr; }
  .method-card-grid { grid-template-columns:1fr; }
}

@media (max-width:680px) { .recent-sessions,.action-card,.review-result { padding:20px; }.recent-heading { display:block; }.recent-heading .copy-report { margin-top:10px; }.action-grid { grid-template-columns:1fr; }.recent-session { align-items:flex-start; }.recent-session strong { white-space:normal; } }

/* Appended diagnosis generated from one supplementary fact */
.follow-up-result { overflow:hidden; scroll-margin-top:24px; background:rgba(255,250,243,.88); border:1px solid #d7bda3; border-radius:8px; box-shadow:0 12px 26px rgba(72,48,27,.09); }
.follow-up-result.hidden { display:none; }
.follow-up-result-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:24px 27px 19px; border-bottom:1px solid #e3d3c1; }
.follow-up-result-header .eyebrow { margin:0 0 7px; }
.follow-up-result-header h2 { margin:0; font-size:23px; line-height:1.45; font-weight:600; }
.follow-up-result-header > span { flex:0 0 auto; padding-top:4px; color:var(--red); font-size:12px; }
.follow-up-fact { display:grid; grid-template-columns:110px 1fr; gap:17px; margin:0; padding:15px 27px; background:rgba(238,220,199,.55); border-bottom:1px solid #dfcdb9; }
.follow-up-fact span { color:#91725d; font-size:11px; font-weight:700; }
.follow-up-fact p { margin:0; color:#55493f; font-size:13px; line-height:1.7; }
.follow-up-loading { padding:29px 27px 32px; }
.follow-up-loading > span { display:block; margin-bottom:14px; color:#7c6e61; font-size:13px; }
.follow-up-loading i { display:block; width:100%; height:9px; margin:11px 0; background:linear-gradient(90deg,#e8e0d3 25%,#faf5ec 46%,#e8e0d3 67%); background-size:300% 100%; animation:pulse 1.4s infinite linear; }
.follow-up-loading i.short { width:62%; }
.follow-up-error { display:grid; justify-items:start; gap:10px; padding:25px 27px; }
.follow-up-error.hidden { display:none; }
.follow-up-error > span { color:var(--red); font-size:11px; font-weight:700; }
.follow-up-error > strong { font-size:16px; line-height:1.6; }
.follow-up-error .secondary-button { min-height:38px; }
.follow-up-content.hidden { display:none; }
.follow-up-diagnosis { display:grid; grid-template-columns:1.14fr .86fr; }
.follow-up-problem { padding:28px 29px; color:#fff8ee; background:linear-gradient(135deg,#9c251d,#771710); }
.follow-up-problem > span,.follow-up-contradiction > span,.follow-up-questions > span,.follow-up-action > span { display:block; margin-bottom:12px; font-size:11px; font-weight:700; letter-spacing:.08em; }
.follow-up-problem > span { color:#f3cda4; }
.follow-up-problem h3 { margin:0 0 12px; font-size:23px; line-height:1.48; font-weight:600; }
.follow-up-problem p { margin:0; color:#f5dfc6; font-size:13px; line-height:1.8; }
.follow-up-contradiction { padding:28px 27px; background:#f0e2d2; }
.follow-up-contradiction > span,.follow-up-questions > span,.follow-up-action > span { color:var(--red); }
.follow-up-contradiction h3 { margin:0; color:#3f3831; font-size:19px; line-height:1.58; font-weight:600; }
.follow-up-contradiction > div { display:grid; gap:6px; margin-top:19px; padding-top:14px; border-top:1px solid #d7c0a8; }
.follow-up-contradiction small,.follow-up-action small { color:#937a67; font-size:11px; }
.follow-up-contradiction strong { color:#8d241c; font-size:13px; line-height:1.65; }
.follow-up-next-grid { display:grid; grid-template-columns:.92fr 1.08fr; border-top:1px solid #dfcdb9; }
.follow-up-questions,.follow-up-action { padding:25px 27px; }
.follow-up-questions { border-right:1px solid #dfcdb9; }
.follow-up-questions ol { display:grid; gap:10px; margin:0; padding-left:19px; }
.follow-up-questions li { padding-left:4px; color:#5c534a; font-size:12px; line-height:1.65; }
.follow-up-questions li::marker { color:var(--red); font-weight:700; }
.follow-up-action { background:rgba(255,253,249,.5); }
.follow-up-action h3 { margin:0 0 10px; color:#3f3831; font-size:18px; line-height:1.55; font-weight:600; }
.follow-up-action > p { margin:0; color:#655a50; font-size:13px; line-height:1.72; }
.follow-up-action > div { display:grid; gap:6px; margin-top:16px; padding-top:13px; border-top:1px solid #e1d3c4; }
.follow-up-action strong { color:#8d241c; font-size:12px; line-height:1.65; }
.follow-up-content > .safety-note,.follow-up-content > .service-notice { margin:18px 27px 24px; }

@media (max-width:780px) {
  .follow-up-diagnosis,.follow-up-next-grid { grid-template-columns:1fr; }
  .follow-up-questions { border-right:0; border-bottom:1px solid #dfcdb9; }
}

@media (max-width:480px) {
  .follow-up-result-header { display:block; padding:20px; }
  .follow-up-result-header > span { display:block; margin-top:10px; }
  .follow-up-result-header h2 { font-size:21px; }
  .follow-up-fact { grid-template-columns:1fr; gap:5px; padding:14px 20px; }
  .follow-up-loading,.follow-up-error,.follow-up-problem,.follow-up-contradiction,.follow-up-questions,.follow-up-action { padding:21px 20px; }
  .follow-up-problem h3 { font-size:21px; }
  .follow-up-error .secondary-button { width:auto; margin-top:0; }
  .follow-up-content > .safety-note,.follow-up-content > .service-notice { margin:16px 20px 21px; }
}
