@if (visible) {
  <!-- 全屏遮罩模式 -->
  @if (mode === 'fullscreen') {
    <div class="gp-backdrop" role="presentation" (click)="onClose()"></div>
    <div class="gp-modal" role="dialog" aria-modal="true" aria-label="全局提示">
      <div class="gp-header">
        <div class="gp-icon" [class.success]="icon==='success'" [class.info]="icon==='info'" [class.warning]="icon==='warning'"></div>
        <div class="gp-title">{{ title }}</div>
        <button class="gp-close" (click)="onClose()" aria-label="关闭">×</button>
      </div>
      <div class="gp-content">{{ message }}</div>
      <div class="gp-actions">
        <button class="btn-primary" (click)="onAction()">确定</button>
      </div>
    </div>
  }

  <!-- 角落提示模式（无遮罩） -->
  @if (mode === 'corner') {
    <div class="gp-toast" [class.top-right]="position==='top-right'" [class.bottom-right]="position==='bottom-right'" role="status" aria-live="polite">
      <div class="gp-toast-inner">
        <div class="gp-icon" [class.success]="icon==='success'" [class.info]="icon==='info'" [class.warning]="icon==='warning'"></div>
        <div class="gp-texts">
          <div class="gp-title">{{ title }}</div>
          <div class="gp-content">{{ message }}</div>
        </div>
        <button class="gp-close" (click)="onClose()" aria-label="关闭">×</button>
      </div>
    </div>
  }
}