@import url('./game-font.css');
/* Five roles only. Same family and scale in town and the six-chapter workshop. */
:root{--game-font:"Zaowu Text","PingFang SC",sans-serif;--game-sign:22px;--game-title:30px;--game-body:18px;--game-hint:15px;--game-button:18px}
html body,body button,body input,body textarea,body select{font-family:var(--game-font)}
body{font-size:var(--game-body)}
body h1,body h2{font-size:var(--game-title)}
body h3{font-size:var(--game-sign)}
body button{font-size:var(--game-button)}
body small{font-size:var(--game-hint)}
@media(max-width:600px){:root{--game-sign:18px;--game-title:24px;--game-body:16px;--game-hint:14px;--game-button:16px}}
/* Touch/reduced-motion previews must keep a stable hit target after the result reflows. */
@media(hover:none),(prefers-reduced-motion:reduce){body .product-vote:hover,body .product-vote:active{transform:none}}
/* Shared roles on the existing workshop shell; illustrated machine coordinates stay intact. */
body :is(#mission-title,#dialog-title,.welcome-dialog h3,.checkpoint h3,.journey-ending h3){font-size:var(--game-title);line-height:1.4}
body :is(#mission-context,#mission-goal,.intro-purpose,.preview-status){font-size:var(--game-body);line-height:1.7}
body :is(#run-label,.primary-button,.formal-start){font-size:var(--game-button)}
body :is(.clarity-stage-label,.preview-bottom .text-button,.ending-note){font-size:var(--game-hint)}

/* 上线！: reading type is deliberately quiet; the game wordmark is original vector lettering. */
body{font-weight:400;font-synthesis:none}body :is(h1,h2,h3,strong,b){font-weight:600}body :is(button,summary){font-weight:400}.room-sign{font-weight:600}.room-sign span{font-weight:400}.target b{font-weight:600}

@font-face{font-family:"Launch Title";src:url("./fonts/launch-title.ttf") format("truetype");font-weight:400;font-display:swap;unicode-range:U+4E0A,U+7EBF,U+FF01}
