/* Phase 4.0G.2 shared presentation contract. No language-specific offsets. */
:root{--font-ui:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",Roboto,Arial,sans-serif;--font-body:var(--font-ui);--font-heading:var(--font-ui);--font-display:var(--font-ui);--font-zh:var(--font-ui);--font-en:var(--font-ui);--type-page:clamp(28px,3vw,32px);--type-section:clamp(22px,2vw,26px);--type-card:18px;--type-body:16px;--type-helper:14px;--status-mint:#43866d;--status-border:#c4ded2;--status-surface:#f5faf7}
body,button,input,select,textarea{font-family:var(--font-ui)}body{font-size:var(--type-body);line-height:1.6}h1,.g-hero h1{font-size:var(--type-page);font-weight:700;line-height:1.2}h2,.g-card h2,.cp-home .buddy-action-group h2{font-size:var(--type-section);font-weight:700;line-height:1.25}h3,.buddy-action-title{font-size:var(--type-card);font-weight:650;line-height:1.3}small{font-size:var(--type-helper);line-height:1.45}
.task-card{background:var(--g-soft-surface);border:1px solid var(--g-soft-border)}.task-card.is-complete{background:var(--status-surface);border-color:var(--status-border)}.task-card .task-main{gap:16px}.task-card .task-name{min-width:0}.task-card .task-name strong{font-size:var(--type-body);line-height:1.5;color:var(--g-text);text-decoration:none}.task-card .task-name small{display:block;margin-top:4px;font-size:var(--type-helper);line-height:1.45;color:var(--g-muted)}
.task-card .task-complete,.task-card.is-complete .task-complete{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;color:var(--status-mint)}.task-status-disc{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1.5px solid #b8c9c4;background:#fcfefd}.task-status-disc svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.is-complete .task-status-disc{background:#dcefe5;border-color:#90bca5}.task-complete:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.task-complete:disabled{opacity:.55}.is-negative .task-status-disc{color:#a44359;border-color:#dfb9c3;background:#fff9fa}
.task-card .task-reward{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:var(--type-helper);flex-shrink:0}.task-reward svg{width:18px;height:18px;fill:var(--g-stars);stroke:#a87921;stroke-width:1.2}
.achievement-level-stars{display:flex;justify-content:center;gap:5px;margin:4px 0}.level-star{display:inline-flex;width:21px;height:21px}.level-star svg{width:100%;height:100%;stroke-width:1.4;stroke-linejoin:round}.level-star.unlocked svg{fill:var(--g-stars);stroke:#ab7a20}.level-star.locked svg{fill:#faf8f1;stroke:#cfc9b6}
.growth-badge{gap:8px}.growth-badge img{width:min(100%,180px);height:140px;object-fit:contain}.growth-badge.level-0 img{filter:grayscale(.8);opacity:.72}.growth-badge.level-1 img,.growth-badge.level-2 img,.growth-badge.level-3 img{filter:none;opacity:1}.growth-badge strong{font-size:var(--type-card);line-height:1.3;font-weight:650}.growth-badge>span:not(.achievement-level-stars),.growth-badge small{font-size:var(--type-helper);line-height:1.45}.growth-badge .growth-stars{display:none}
@media(max-width:767px){.task-card .task-main{padding:12px 8px;gap:14px}.growth-badge img{height:112px}.growth-badge strong{font-size:var(--type-card)}.g-card h2{font-size:var(--type-section)}}
@media(prefers-reduced-motion:reduce){.level-star{animation:none;transition:none}}
:root,:root:lang(en),:root:lang(zh){--font-system:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",Roboto,Arial,sans-serif;--font-ui:var(--font-system);--font-body:var(--font-system);--font-heading:var(--font-system);--font-display:var(--font-system);--font-zh:var(--font-system);--font-en:var(--font-system)}
