/* main.css — 项目确认弹窗样式 */

/* ===== 项目确认弹窗 ===== */
.project-confirm-overlay {
  position: fixed; inset: 0; z-index: 10000;
  display: flex; align-items: center; justify-content: center;
  padding: 18px;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(8px);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .22s ease, visibility .22s ease;
}
.project-confirm-overlay.show { opacity: 1; visibility: visible; pointer-events: auto; }
.project-confirm-dialog {
  width: min(480px, 100%);
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(20, 20, 24, 0.88);
  box-shadow: 0 18px 50px rgba(0,0,0,0.45);
  padding: 22px;
}
.project-confirm-dialog h3 { margin: 0 0 10px; color: rgba(255,255,255,0.92); font-size: 16px; }
.project-confirm-text { font-size: 14px; color: rgba(255,255,255,0.66); margin-bottom: 10px; }
.project-confirm-url {
  padding: 8px 12px; background: rgba(0,0,0,0.25);
  border-radius: 8px; font-size: 13px; color: rgba(255,255,255,0.66);
  word-break: break-all; margin-bottom: 16px;
}
.project-confirm-actions { display: flex; gap: 8px; justify-content: flex-end; }
.project-confirm-btn {
  padding: 8px 18px; border-radius: 8px; border: none; cursor: pointer;
  font-size: 13px; transition: background 0.25s ease, transform 0.15s ease;
}
.project-confirm-cancel { 
  background: rgba(255,255,255,0.1); 
  color: rgba(255,255,255,0.8);
}
.project-confirm-ok { 
  background: rgba(255,255,255,0.18); 
  color: #fff;
}
.project-confirm-btn:hover { background: rgba(255,255,255,0.15); }
.project-confirm-btn:hover { opacity: 0.8; }

/* ===== 赞助浮窗 ===== */
.sponsor-tab{
  position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:900;
  display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:12px 8px;border-radius:8px 0 0 8px;
  background:linear-gradient(135deg,rgba(255,107,107,.35),rgba(255,217,61,.3));
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.1);border-right:none;
  cursor:pointer;transition:all .25s;color:rgba(255,255,255,.8);font-size:11px
}
.sponsor-tab:hover{background:linear-gradient(135deg,rgba(255,107,107,.55),rgba(255,217,61,.45));color:#fff;padding-right:12px}
.sponsor-tab svg{width:20px;height:20px}
.sponsor-overlay{
  position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,visibility .25s;padding:16px
}
.sponsor-overlay.show{opacity:1;visibility:visible;pointer-events:auto}
.sponsor-dialog{
  width:min(380px,100%);border-radius:16px;
  background:rgba(30,35,50,.95);border:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 60px rgba(0,0,0,.4);overflow:hidden
}
.sponsor-dialog-header{
  display:flex;align-items:flex-start;justify-content:space-between;
  padding:20px 22px 12px;gap:8px
}
.sponsor-dialog-header h3{margin:0;font-size:17px;font-weight:700;color:rgba(255,255,255,.92)}
.sponsor-dialog-subtitle{margin:4px 0 0;font-size:12px;color:rgba(255,255,255,.5)}
.sponsor-dialog-close{
  background:rgba(255,255,255,.06);border:none;color:rgba(255,255,255,.5);cursor:pointer;
  padding:6px;border-radius:6px;transition:all .15s;flex-shrink:0
}
.sponsor-dialog-close:hover{background:rgba(255,255,255,.12);color:#fff}
.sponsor-dialog-close svg{width:16px;height:16px;display:block}
.sponsor-dialog-body{padding:4px 22px 22px}
.sponsor-qr-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sponsor-qr-item{text-align:center}
.sponsor-qr-img-wrap{
  border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.03);aspect-ratio:1;display:flex;align-items:center;justify-content:center
}
.sponsor-qr-img-wrap img{width:100%;height:100%;object-fit:contain;display:block}
.sponsor-qr-label{display:block;font-size:12px;color:rgba(255,255,255,.6);margin-top:6px}
.sponsor-empty{text-align:center;padding:20px 0;color:rgba(255,255,255,.3);font-size:13px}