/* Shared semantic layer. Page-specific layout stays in qicheng-next.html. */
:root{
  --surface-page:var(--bg);
  --surface-panel:var(--panel);
  --surface-muted:var(--soft);
  --text-primary:var(--ink);
  --text-secondary:var(--muted);
  --border-subtle:var(--line);
  --radius-xs:6px;
  --radius-sm:9px;
  --radius-md:12px;
  --radius-lg:16px;
  --text-caption:11px;
  --text-body:13px;
  --text-title:16px;
  --focus-ring:#5d78ff;
}

:where(button,a,input,textarea,select,[tabindex]):focus-visible{
  outline:2px solid var(--focus-ring);
  outline-offset:2px;
}

:where(.create-dialog,.ui-dialog,.profile-card,.release-notice-panel){
  border-color:var(--border-subtle);
  border-radius:var(--radius-lg);
  background:var(--surface-panel);
}

:where(.ui-segment,.tool-btn,.content-tools button,.profile-inline-actions button,
       .quick-mode-menu button,.quick-param-menu button){
  border-radius:var(--radius-sm);
}

:where(.ui-empty p,.profile-card-title p,.profile-recovery-row small,
       .generation-empty p,.chat-context-notice){
  font-size:var(--text-caption);
  line-height:1.55;
}

:where(.auth-field input,.profile-field input,.profile-field select,textarea){
  font-size:var(--text-body);
}

@media(max-width:620px){
  :root{--text-caption:12px;--text-body:14px;--text-title:17px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
