/* 圖片比例與閱讀性：插畫更醒目，文字仍保有足夠空間 */
.hero-art{max-width:500px;height:280px}
.hero .mission-label{font-size:12px}
.hero h1{font-size:clamp(52px,5.3vw,70px)}
.hero-lede{font-size:18px;line-height:1.85;max-width:540px}
.hero-actions .button{min-height:54px;padding:0 23px;font-size:15px}
.hero-actions .text-link{font-size:14px}
.hero-footnote{font-size:12px;line-height:1.7}
.stop-card{grid-template-columns:minmax(0,1fr) 244px;column-gap:20px}
.stop-art{height:176px}
.stop-meta{font-size:13px}
.stop-card h3{font-size:24px}
.stop-card h3 span{font-size:10px}
.stop-card p{font-size:15px;line-height:1.7}
.stop-card .open-station{font-size:13px}
.section-intro{font-size:16px}
.eyebrow{font-size:12px}
.intro-strip>div{font-size:13px}
.rule-number{font-size:10px}
.rule-card h3{font-size:16px}
.rule-card p{font-size:14px;line-height:1.8}
.rule-ack{font-size:13px}
.guardrail-reminder{font-size:12px}
.quiz-topline{font-size:12px}
.quiz-question{font-size:21px}
.quiz-option{font-size:16px}
.quiz-feedback{font-size:14px}
.quiz-score{font-size:13px}
.quiz-finish{font-size:14px}
.dialog-step-label{font-size:11px}
.dialog-lede{font-size:16px}
.dialog-panel h3{font-size:16px}
.dialog-panel p,.dialog-panel li{font-size:14px}
.practice-label{font-size:14px}
.practice-area{font-size:15px}
.privacy-inline{font-size:11px}
.prompt-chip,.checklist label,.rewrite-before,.reflect-prompts div{font-size:13px}
.prompt-chip b{font-size:13px}
.reflect-prompts span{font-size:10px}
@media(max-width:900px){
  .hero-art{height:250px;max-width:460px}
  .hero-lede{font-size:17px}
  .stop-card{grid-template-columns:minmax(0,1fr) 190px;column-gap:14px}
  .stop-art{height:138px}
  .rule-card p{font-size:13px}
}
@media(max-width:680px){
  .mission-label{font-size:10px}
  .hero h1{font-size:clamp(40px,10.6vw,54px)}
  .hero-lede{font-size:16px;line-height:1.8}
  .hero-actions .button{min-height:48px;padding:0 17px;font-size:14px}
  .hero-actions .text-link{font-size:12px}
  .hero-footnote{font-size:11px}
  .hero-art-wrap{min-height:148px}
  .hero-art{height:138px;max-width:325px}
  .hero-bottom-line{font-size:8px}
  .header-progress{font-size:10px}
  .intro-strip>div{font-size:11px}
  .intro-strip p{font-size:12px}
  .section-kicker{font-size:9px}
  .section-heading-row h2,.challenge h2{font-size:29px}
  .section-intro{font-size:15px;line-height:1.8}
  .progress-card strong{font-size:11px}
  .progress-card small{font-size:9px}
  .stop-card{grid-template-columns:minmax(0,1fr) 116px;column-gap:9px}
  .stop-art{height:88px;border-radius:8px}
  .stop-meta{font-size:11px}
  .stop-card h3{font-size:20px}
  .stop-card h3 span{font-size:8px}
  .stop-card p{font-size:14px;line-height:1.7}
  .open-station,.stop-card .open-station{font-size:13px}
  .local-note{font-size:11px;line-height:1.5}
  .guard-intro>p:last-of-type{font-size:14px}
  .rule-card h3{font-size:15px}
  .rule-card p{font-size:14px;line-height:1.75}
  .rule-ack{font-size:12px}
  .guardrail-reminder{font-size:11px}
  .quiz-topline,.quiz-tag{font-size:10px}
  .quiz-question{font-size:18px;line-height:1.6}
  .quiz-option{font-size:14px;line-height:1.7}
  .quiz-feedback{font-size:14px;line-height:1.75}
  .quiz-score{font-size:12px}
  .quiz-finish{font-size:13px}
  .dialog-lede{font-size:14px}
  .dialog-panel h3{font-size:15px}
  .dialog-panel p,.dialog-panel li{font-size:14px;line-height:1.75}
  .practice-label{font-size:14px}
  .practice-area{font-size:15px;min-height:100px}
  .privacy-inline{font-size:12px}
  .prompt-chip,.checklist label,.rewrite-before,.reflect-prompts div{font-size:13px;line-height:1.7}
  .prompt-chip b{font-size:13px}
  .reflect-prompts span{font-size:10px}
  .site-footer>small{font-size:9px}
  .site-footer>p{font-size:12px}
  .site-footer>button{font-size:10px}
}
@media(max-width:380px){
  .stop-card{grid-template-columns:minmax(0,1fr);row-gap:5px}
  .stop-art{grid-column:1;grid-row:1;width:100%;height:128px;justify-self:stretch;margin-bottom:5px}
  .stop-meta{grid-column:1;grid-row:2}
  .stop-card h3{grid-column:1;grid-row:3}
  .stop-card p{grid-column:1;grid-row:4}
  .stop-card .open-station{grid-column:1;grid-row:5}
}
