:root { --ink:#1c2b2d; --muted:#667578; --paper:#f5f5ef; --panel:#fffefa; --line:#d9dfd7; --green:#176b5a; --green-soft:#e1f0e9; --coral:#d65e45; --coral-soft:#fae9e2; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Microsoft YaHei", "PingFang SC", sans-serif; letter-spacing:0; }
button, textarea { font:inherit; }
.page-layout { width:min(1320px, calc(100% - 40px)); margin:0 auto; display:grid; grid-template-columns:260px minmax(190px, 260px) minmax(0, 760px); gap:34px; align-items:start; }
.app-shell { width:100%; padding:34px 0 48px; }
.love-reminder { position:sticky; top:34px; margin-top:34px; padding:28px 24px; border-left:5px solid var(--coral); background:var(--coral-soft); color:#783426; line-height:1.9; }
.love-reminder p { font-size:16px; }.love-reminder h2 { margin:10px 0; color:#b84534; font-size:30px; line-height:1.4; }.love-reminder h2 span { display:inline; margin-left:8px; color:#c83c32; font-size:27px; }
.buffer-action { display:flex; justify-content:flex-end; margin-top:12px; }
.love-quote { position:sticky; top:34px; margin-top:72px; padding:10px 0; color:#c83c32; font-size:30px; font-weight:800; line-height:1.5; text-align:left; }
header,.section-heading,.input-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; }
h1,h2,p { margin:0; } h1 { color:#c83c32; max-width:610px; font-size:34px; line-height:1.28; text-align:center; } header > div { flex:1; display:flex; flex-direction:column; align-items:center; } h2 { font-size:18px; line-height:1.35; }
.eyebrow { color:var(--green); font-size:12px; font-weight:700; margin-bottom:4px; }
.pause-button { border:1px solid var(--coral); color:var(--coral); background:transparent; padding:9px 16px; border-radius:6px; font-weight:700; cursor:pointer; }
.status-strip { margin:24px 0 16px; padding:12px 14px; display:flex; align-items:center; gap:9px; background:var(--green-soft); border-left:3px solid var(--green); color:#254c44; font-size:14px; }
.status-dot { width:8px; height:8px; flex:0 0 auto; border-radius:50%; background:var(--green); }
.panel { margin-top:14px; padding:21px; background:var(--panel); border:1px solid var(--line); border-radius:7px; }
.step-count { color:#7b898b; font-size:13px; font-weight:700; }
.scenario-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:10px; margin-top:16px; }
.scenario { min-height:72px; text-align:left; padding:12px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:6px; cursor:pointer; }
.scenario strong,.scenario span { display:block; } .scenario strong { font-size:14px; } .scenario span { margin-top:5px; color:var(--muted); font-size:12px; line-height:1.4; }
.scenario.selected { border-color:var(--green); background:var(--green-soft); box-shadow:inset 0 0 0 1px var(--green); }
textarea { width:100%; min-height:100px; resize:vertical; margin-top:16px; padding:12px; border:1px solid var(--line); border-radius:5px; color:var(--ink); outline:none; background:#fff; }
textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(23,107,90,.12); }
.input-footer { margin-top:10px; color:var(--muted); font-size:12px; }
.primary-button { border:0; border-radius:6px; padding:10px 15px; background:var(--green); color:white; font-weight:700; cursor:pointer; }
.upload-button { border:1px solid var(--coral); border-radius:6px; padding:10px 16px; color:var(--coral); background:#fff; font-weight:700; cursor:pointer; }
.analysis-controls { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:16px; }
.analysis-controls label { color:var(--muted); font-size:13px; }
.analysis-controls select { display:block; width:100%; margin-top:6px; padding:9px; border:1px solid var(--line); border-radius:5px; background:#fff; color:var(--ink); }
.need-note { margin:10px 0 16px; color:var(--muted); font-size:14px; line-height:1.6; }
.qwen-detail { margin:0 0 16px; background:#fff; color:#192d3c; }
.report-section { padding:18px 0; border-top:1px solid #e0e5e6; }
.report-section:first-child { border-top:0; padding-top:0; }
.report-section h3 { margin:0 0 14px; color:#142b3a; font-size:17px; font-weight:500; }
.report-section > p { margin:0 0 13px; font-size:14px; line-height:1.8; }
.report-section table { width:min(100%, 680px); border-collapse:collapse; font-size:14px; }
.report-section th,.report-section td { padding:13px 14px; text-align:left; vertical-align:top; line-height:1.55; border:1px solid #e2e5e7; }
.report-section th { background:#fafafa; font-weight:700; }
.advice-block { padding:15px 0 18px; border-top:1px solid #e2e5e7; }
.advice-block:first-of-type { border-top:0; padding-top:0; }
.advice-block h4 { margin:0 0 11px; font-size:15px; font-weight:500; }
.advice-block p { margin:8px 0 0; font-size:14px; line-height:2; }
.advice-replies { padding-left:12px; border-left:4px solid #d2d6d9; }
.core-principles { padding-bottom:4px; }
.core-principles ul { margin:8px 0 15px; padding-left:30px; line-height:2; }
.report-conclusion { padding-top:13px; border-top:1px solid #e2e5e7; }
.reply-list { display:grid; gap:9px; }
.reply { position:relative; padding:13px 44px 13px 13px; border:1px solid var(--line); border-radius:6px; background:#fff; font-size:14px; line-height:1.6; }
.reply-best { border-color:var(--green); background:var(--green-soft); }
.reply-label { margin-bottom:4px; color:var(--green); font-size:12px; font-weight:700; }
.copy-button { position:absolute; right:9px; top:10px; border:0; padding:5px 7px; color:var(--green); background:var(--green-soft); border-radius:4px; cursor:pointer; font-size:12px; }
.avoid-box { margin-top:16px; padding:12px; border-left:3px solid var(--coral); background:var(--coral-soft); }.avoid-box span { color:#9d3d2c; font-weight:700; font-size:13px; }.avoid-box p { margin-top:5px; color:#743426; font-size:13px; line-height:1.5; }
.check-panel label { display:block; padding:10px 0; border-top:1px solid #e8ece7; color:#405052; font-size:14px; line-height:1.5; }.check-panel label:first-of-type { margin-top:14px; }.check-panel input { margin-right:8px; accent-color:var(--green); }
dialog { width:min(420px, calc(100% - 32px)); border:0; padding:0; border-radius:8px; box-shadow:0 22px 80px rgba(0,0,0,.25); } dialog::backdrop { background:rgba(22,35,36,.55); }.pause-dialog-content { padding:25px; }.pause-dialog-content > p:not(.eyebrow) { margin-top:10px; color:var(--muted); line-height:1.6; }.timer { margin:18px 0; color:var(--coral); font-size:42px; font-weight:700; text-align:center; font-variant-numeric:tabular-nums; }.script { padding:12px; background:var(--green-soft); color:#274a43 !important; }.pause-dialog-content .primary-button { width:100%; margin-top:18px; }
.site-footer { margin-top:24px; padding:16px; border-top:1px solid var(--line); color:#667578; font-size:12px; line-height:1.8; text-align:center; }
.claude-review-panel { border-left:3px solid #6c63c9; background:#fbfaff; }
.review-badge { padding:5px 8px; border-radius:4px; color:#5b54a8; background:#eeecff; font-size:12px; }
.review-verdict { margin-top:10px; color:#403a83; font-weight:700; }
.review-note { margin-top:8px; color:var(--muted); font-size:13px; line-height:1.6; white-space:pre-line; }
.review-columns { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:14px; }
.review-columns h3 { margin:0 0 7px; font-size:13px; color:#403a83; }
.review-columns ul { margin:0; padding-left:20px; color:#4e5260; font-size:13px; line-height:1.7; }
@media (max-width:1100px) { .page-layout { width:min(100% - 24px, 760px); display:block; }.love-reminder,.love-quote { position:static; margin-top:20px; }.love-reminder { max-width:520px; }.love-quote { padding:6px 0 18px; font-size:28px; text-align:center; }.app-shell { padding-top:10px; } }
@media (max-width:520px) { .panel { padding:16px; }.scenario-grid,.analysis-controls,.review-columns { grid-template-columns:1fr; }.input-footer { align-items:flex-end; flex-wrap:wrap; }.primary-button { font-size:14px; } h1 { font-size:28px; }.report-section table { font-size:13px; }.report-section th,.report-section td { padding:10px 8px; } }
