/* 全局基础：前端原型设计标准规范第 4–5 节的排版固定值与交互反馈固定写法。
   令牌来自 packages/design-tokens/src/tokens.css；这里只组合令牌，不定义新值。 */
body{font-family:var(--pw-font-sans);font-size:var(--pw-text-base)}
:is(h1,h2,h3){font-family:var(--pw-font-display);font-weight:var(--pw-weight-strong);letter-spacing:-.035em;line-height:1.06}
:is(input,select,textarea,button){font-family:inherit}
code,kbd,samp,.pw-mono{font-family:var(--pw-font-mono)}

/* Eyebrow / Tag：mono、全大写，字号是规范在 packages/ui 内封死的局部值 */
.pw-eyebrow{font-family:var(--pw-font-mono);font-size:.67rem;font-weight:var(--pw-weight-semibold);letter-spacing:.18em;text-transform:uppercase;color:var(--pw-color-cyan)}
.pw-tag{display:inline-flex;align-items:center;padding:var(--pw-space-1) var(--pw-space-2);border-radius:var(--pw-radius-round);font-family:var(--pw-font-mono);font-size:.63rem;font-weight:var(--pw-weight-semibold);letter-spacing:.08em;text-transform:uppercase;background:var(--pw-color-surface-elevated);color:var(--pw-color-ink-muted)}

/* 按钮 hover 上移 1px：用 translate 属性，不覆盖组件自带的 transform 定位 */
button{transition:translate var(--pw-duration-normal) var(--pw-ease-out),background-color var(--pw-duration-fast) var(--pw-ease-out),border-color var(--pw-duration-fast) var(--pw-ease-out),color var(--pw-duration-fast) var(--pw-ease-out)}
@media (hover:hover){button:not(:disabled):hover{translate:0 -1px}}

/* 可点卡片 hover 上移 2px 并换 line-strong 边框（给可点卡片加 data-pw-card） */
[data-pw-card]{transition:translate var(--pw-duration-normal) var(--pw-ease-out),border-color var(--pw-duration-fast) var(--pw-ease-out)}
@media (hover:hover){[data-pw-card]:hover{translate:0 -2px;border-color:var(--pw-color-line-strong)}}

/* 禁用态与焦点环统一 */
:is(button,input,select,textarea):disabled,[aria-disabled="true"]{opacity:.48;cursor:not-allowed}
:focus-visible{outline:2px solid var(--pw-focus);outline-offset:3px}

/* 消费者端骨架：底部导航固定高度（规范第 5 节 --pw-citizen-bottom-nav-height） */
.product-nav{min-height:var(--pw-citizen-bottom-nav-height);align-items:center}
