/* Compact Chinese-first typography; green remains the primary action color. */
:root{--ink:#26332e;--green:#17634e;--muted:#59665f;--line:#e5e5df;--bg:#f7f6f3;--surface:#fffefa;--focus:#17634e}
body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit}
h1,h2,h3{color:#20342b;text-wrap:pretty}
h1,h2{font-weight:750;letter-spacing:0;line-height:1.4}
p{color:#46564e}
header,footer{background:var(--surface);border-color:var(--line)}
.hero.hall-banner{background:radial-gradient(ellipse at 88% 60%,#e8eddf70,transparent 55%),#f1f0e9;border-color:#e3e2d9;box-shadow:none}
.hero.hall-banner h1{font-size:30px;line-height:1.38;letter-spacing:0;font-weight:750}
.hero.hall-banner p{font-size:14px;line-height:1.7;color:var(--muted)}
.brand-workbench{filter:none}
.banner-copy h1,.banner-copy>p{animation:none}
.layout .market-task,.layout.is-sparse .market-task{background:#fff;border-color:var(--line);box-shadow:none;transition:border-color 180ms ease,box-shadow 180ms ease}
.market-task h3{font-size:19px;font-weight:700;line-height:1.5;letter-spacing:0}
.market-task .excerpt-line p{font-size:14px;color:var(--muted);line-height:1.65}
.market-task .meta{background:#f5f5f0;color:#526158;border-radius:5px}
.market-card-head{margin-bottom:13px}
.market-card-head .money,.task-page-price .money,.stat strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.category-art{border-radius:8px}.category-art svg{stroke-width:1.8}
.market-card-category .tag,#app .pill{font-size:12px;line-height:1.5;letter-spacing:0;border-radius:4px}
#app .panel,.task-page-heading,.admin-sidebar,.task-flow,.workflow,.pay-layout .panel{border-color:var(--line);box-shadow:none;border-radius:10px}
#app .panel p{color:var(--muted);font-size:14px;line-height:1.75}
#app .section-head h1{font-size:25px;line-height:1.4;letter-spacing:0}
.task-page .task-page-heading h1{font-size:27px;line-height:1.4;letter-spacing:0}
.task-detail-content .markdown-body{font-size:15px;line-height:1.85;color:#34473c}
.task-page .task-flow{background:#f0f3ef}
.task-flow li:not(.current):not(.complete){color:#596860}
.profile-stage{background:#f1f2eb;border-color:var(--line)}
.profile-sheet{transform:none;box-shadow:none;background:var(--surface)}
.admin-sidebar,.release-guide{background:#f6f6f0}
.admin-content th{background:#f3f4ee}
.notice-item.unread{background:#fafbf7}
button:not(.avatar):not(.close):not(.card-share),.manage-link{border-radius:6px;box-shadow:none;transition:background-color 160ms ease,border-color 160ms ease,transform 120ms ease}
button:hover{transform:none}
button.primary,a.primary{background:var(--green);color:white;border-color:var(--green);box-shadow:none}
button:enabled:active:not(.avatar):not(.close){transform:scale(.98)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-radius:6px}
.market-task [data-detail]{border-color:#b6c4b9;background:transparent}
.market-trust,.site-footer{border-color:var(--line)}
@media(hover:hover){.layout .market-task:hover{transform:none;border-color:#afc0b3;box-shadow:0 2px 8px rgba(0,0,0,.04)}button.primary:hover,a.primary:hover{background:#12523f;border-color:#12523f}}
@media(max-width:760px){
 .hero.hall-banner h1{font-size:25px;line-height:1.4}.hero.hall-banner p{font-size:13px}
 .market-task h3{font-size:18px}.market-task .excerpt-line p{font-size:13px}
 #app .section-head h1{font-size:22px}.task-page .task-page-heading h1{font-size:21px}
 .profile-sheet{transform:none}.task-detail-content .markdown-body{font-size:14px}
 input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
 button,.manage-link,.layout .market-task{transition:none!important}
 button:enabled:active:not(.avatar):not(.close){transform:none}
}
