/* 清晰、安静的阅读界面 */
:root{--bg:#f6f5ef;--paper:#fffefa;--ink:#26312a;--muted:#687369;--line:#e1e5dc;--orange:#de6b51;--orange-light:#fbebe4;--blue:#4d8991;--blue-light:#e8f2f1;--green:#5f7357;--radius:18px;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif}
body{font-size:16px;color:var(--ink)}
.layout{grid-template-columns:215px 1fr}
.sidebar{padding:30px 20px;border-color:var(--line)}
.brand-mark{background:#dc6b51;border-radius:13px;transform:none}
.brand strong{font-size:21px;letter-spacing:0}
.brand small,.breadcrumb,.eyebrow,.side-label,.side-note,.side-footer,.case-number,.section-title small,.footnote,.hero-note,.panel-quote{display:none}
.side-nav{margin-top:34px;gap:6px}
.side-nav+.side-nav{margin-top:12px}
.nav-btn{font-size:15px;color:#606e60;border-radius:12px;padding:14px 13px}
.nav-btn.active{background:#e8ede3;color:#3d5c43}
.main{max-width:1300px;width:100%;padding:0 48px 55px}
.topbar{height:76px;justify-content:flex-end}
.user-btn,.mode-pill{font-size:14px;color:#59665c;white-space:nowrap;max-width:none}
.hero{display:block;min-height:0;margin:34px 0 40px;padding:48px 50px;background:#f1eee5;border:1px solid #eae6db;border-radius:24px}
.hero h1{font-size:clamp(38px,4vw,56px);letter-spacing:-1px;line-height:1.25;margin:0 0 15px}
.hero p{font-size:19px;color:#59675b;line-height:1.6}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{font-size:15px;padding:12px 20px;border-radius:11px;min-height:45px}
.btn.outline{color:#4c5e4d;border-color:#cbd2c6;background:#fffefa}
.btn.light{background:#e9efe6;color:#3f5d46}
.section-heading{margin-bottom:20px}
.section-title h2{font-size:25px}
.refresh-btn{font-size:14px;color:#61705f}
.filters{gap:8px}
.filter{font-size:14px;padding:10px 13px;border-radius:10px}
.search input{font-size:15px}
.case-grid{gap:16px}
.case-card{border-radius:18px;border-color:#e2e6dd;box-shadow:0 4px 18px #2a3d2909}
.case-card-top{padding:22px 24px 0}
.tag{font-size:13px;padding:6px 10px;border-radius:8px;font-weight:600}
.case-card h3{font-size:21px;line-height:1.5;letter-spacing:0;margin:16px 0 10px;padding:0 24px;max-width:none}
.case-card-desc{font-size:16px;line-height:1.7;color:#667267;padding:0 24px}
.case-parties{padding:0 24px;margin:22px 0;color:#45564a;font-size:15px;font-weight:600}
.case-parties span{color:#98a198;font-weight:400;margin:0 5px}
.case-card-foot{font-size:13px;padding:15px 24px;color:#6d796d;gap:12px}
.case-card-foot b{font-weight:600;color:#506a52}
.public-avatar{display:inline-block;width:28px;height:28px;border-radius:50%;object-fit:cover;flex:0 0 auto;vertical-align:middle;background:#e9eee6}
.author-name,.author-line,.review-person{display:flex;align-items:center;gap:7px}
.comment>.public-avatar,.review-person .public-avatar{width:38px;height:38px}
.notice{font-size:14px;color:#647260}
.page-heading h1,.detail-head h1{font-size:clamp(28px,3vw,40px);line-height:1.38;letter-spacing:0}
.page-heading p,.detail-meta,.author-line{font-size:15px;line-height:1.7;color:#6b7669}
.author-line{margin:10px 0 0}
.back-btn{font-size:15px;color:#536652}
.back-actions{display:flex;align-items:center;gap:14px}
.text-button{font-size:14px;font-weight:600;color:#52735b;text-decoration:underline;text-underline-offset:3px}
.share-button{text-decoration:none;border:1px solid #d7dfd3;background:#fffefa;border-radius:10px;padding:9px 14px}
.tabs{gap:26px}
.tab{font-size:15px;padding:14px 3px}
.statement-head h3{font-size:18px}
.statement-head p{font-size:14px;color:#8d634f}
.statement.b .statement-head p{color:#537e80}
.statement-body{font-size:17px;line-height:1.95;color:#3f4d43}
.evidence h4,.right-panel h3,.timeline h4{font-size:15px}
.evidence p,.timeline p,.source-note,.analysis-intro,.analysis-core p,.need p,.analysis-list li{font-size:15px;line-height:1.85;color:#607064}
.check-read,.consent{font-size:15px;line-height:1.6}
.vote-dock{position:relative;bottom:auto;background:#fffefaf8;border-color:#dce3d9;padding:17px 20px}
.vote-dock p{font-size:15px;color:#536253;line-height:1.5}
.vote-btn{font-size:15px;min-height:48px}
.identity-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;color:#536557;font-size:14px;line-height:1.6}
.identity-choice label{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.identity-choice input{width:18px;height:18px;accent-color:#638366}
.identity-choice strong{overflow-wrap:anywhere}
.result-card h3{font-size:21px}
.result-card .caption,.result-row,.comment-title,.comment-title small{font-size:14px}
.vote-names{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}
.vote-names h4{font-size:15px;margin:0 0 12px}
.vote-names div{display:flex;flex-wrap:wrap;gap:8px}
.vote-names span{display:inline-flex;align-items:center;gap:7px;font-size:14px;color:#586e59;background:#eef2e9;padding:7px 10px;border-radius:9px}
.name-list-note{font-size:14px;color:#6b796b}
.comment-form textarea,.comment p{font-size:16px;line-height:1.85;color:#3f4d43}
.comment-form-footer,.comment-form-footer label{font-size:14px;color:#69776a}
.comment-title{color:#415748}
.form-section h2{font-size:20px}
.field>span,.field>span small{font-size:15px;color:#536556}
.field input,.field textarea,.field select{font-size:16px;color:#33443a;border-color:#dbe2d7;background:#fffefa}
.field input::placeholder,.field textarea::placeholder{color:#89948a}
.upload-zone{font-size:16px}
.upload-zone small{font-size:13px}
.modal p,.modal .small-text{font-size:15px;line-height:1.7;color:#58695a}
.modal small{font-size:14px;line-height:1.7;color:#58695a}
.modal h2{font-size:22px}
.share-preview{display:block;max-width:100%;max-height:48vh;width:auto;margin:0 auto 20px;border:1px solid #e4e8df;border-radius:12px}
.review-actions{display:flex;gap:8px;margin-top:14px}
.mobile-nav button{font-size:11px}
@media(max-width:820px){.layout{display:block}.main{padding:0 22px 110px}.topbar{justify-content:space-between}.brand small{display:none}.hero{margin:22px 0 30px;padding:34px 28px}.hero h1{font-size:38px}.hero p{font-size:17px}.case-card h3{font-size:20px}.case-card-desc{font-size:15px}.case-card-foot{font-size:13px}.statement-body{font-size:16px}.mobile-nav{padding-bottom:calc(8px + env(safe-area-inset-bottom))}}
@media(max-width:580px){.main{padding:0 17px 110px}.topbar{height:70px}.mobile-brand .brand strong{font-size:19px}.hero{margin:16px 0 26px;padding:30px 23px;border-radius:20px}.hero-text{padding:0}.hero h1{font-size:34px}.hero p{font-size:16px;white-space:normal;max-width:none}.hero-actions{margin-top:23px;gap:9px}.hero-actions .btn{font-size:14px;padding:11px 13px}.section-title h2{font-size:22px}.filter-row{display:block}.filters{gap:6px}.filter{font-size:13px;padding:9px 10px}.search{margin-top:12px}.case-card h3{font-size:19px}.case-card-desc{font-size:15px}.case-parties{margin:17px 0}.case-card-foot{font-size:12px;align-items:flex-start}.detail-head h1{font-size:27px}.detail-meta{font-size:14px}.statement-body{font-size:16px}.tabs{gap:18px}.tab{font-size:14px}.vote-dock{bottom:auto;padding:12px;margin:20px 0 0}.vote-dock p{font-size:14px;display:block}.vote-dock p span:last-child{display:block;margin-top:4px}.vote-btn{font-size:13px;padding:11px 4px}.identity-choice{font-size:13px;align-items:flex-start}.identity-choice .text-button{white-space:nowrap;font-size:13px}.field input,.field textarea,.field select,.comment-form textarea{font-size:16px}}
.social-like{display:inline-flex;align-items:center;gap:5px;color:#687a66;font-size:14px;padding:8px;border-radius:10px;white-space:nowrap}.social-like .icon{width:18px;height:18px}.social-like.active{color:#db674f;background:#fff0e9}.social-like.active .icon{fill:#db674f}.social-unavailable{font-size:12px;color:#8e9888}.comment-actions{display:flex;align-items:center;gap:14px;margin-top:8px}.comment-reply{margin-left:38px;padding-left:14px;border-left:2px solid #e3e8dd}.reply-target{display:flex;justify-content:space-between;color:#63765e;font-size:14px;margin-bottom:10px}@media(max-width:580px){.back-actions{flex-wrap:wrap;justify-content:flex-end}.comment-reply{margin-left:20px}.social-like{font-size:13px}}
.text-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.text-toolbar button{padding:7px 11px;border:1px solid #e0e3d8;background:#fff;border-radius:8px;font-size:14px}.text-red{color:#c74b45}.text-blue{color:#367fa4}.text-green{color:#55824d}.text-purple{color:#8a60a3}.format-hint{font-size:13px;color:#788675;margin-top:6px}.format-preview{display:block;white-space:pre-wrap;overflow-wrap:anywhere;color:#38473d;line-height:1.7}.format-preview:empty{display:none}

