/* poolbtx in-dashboard announcement - namespaced pbxann-. Uses the page's existing CSS vars.
   Mounts on #poolAnnouncement. Self-contained, DOM-built, dismissible per member (localStorage). */
#poolAnnouncement{ display:block; }
.pbxann-card{ position:relative; overflow:hidden; background:linear-gradient(180deg,#0e1219,#0a0d12); border:1px solid var(--line-gold); border-radius:18px; padding:26px 30px 24px; }
.pbxann-card::before{ content:""; position:absolute; inset:-70% 35% auto -22%; height:150%; background:radial-gradient(closest-side, rgba(244,182,75,.16), transparent 70%); pointer-events:none; }
.pbxann-card::after{ content:""; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg, transparent, var(--gold) 18%, var(--gold-soft) 50%, var(--gold) 82%, transparent); opacity:.7; }
.pbxann-top{ position:relative; display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.pbxann-chip{ display:inline-flex; align-items:center; gap:9px; font-family:var(--font-mono); font-size:10.5px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--gold); border:1px solid var(--line-gold); background:rgba(244,182,75,.07); padding:6px 13px; border-radius:999px; }
.pbxann-chip .dot{ width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 0 rgba(244,182,75,.5); animation:pbxannpulse 2.4s infinite; }
@keyframes pbxannpulse{ 0%{box-shadow:0 0 0 0 rgba(244,182,75,.45);} 70%{box-shadow:0 0 0 7px rgba(244,182,75,0);} 100%{box-shadow:0 0 0 0 rgba(244,182,75,0);} }
.pbxann-x{ flex:none; background:none; border:none; color:var(--muted); font-size:18px; line-height:1; cursor:pointer; padding:6px 8px; border-radius:8px; transition:.15s; }
.pbxann-x:hover{ color:var(--fg); background:rgba(255,255,255,.05); }
.pbxann-h{ position:relative; font-family:var(--font-display); font-weight:500; font-size:28px; line-height:1.12; letter-spacing:-.4px; color:#f6f8fb; max-width:22ch; }
.pbxann-lead{ position:relative; color:var(--fg-dim); font-size:15px; line-height:1.62; margin-top:13px; max-width:64ch; }
.pbxann-lead b{ color:var(--gold-soft); font-weight:600; }
.pbxann-fee{ position:relative; display:flex; align-items:center; gap:20px; margin:22px 0 24px; padding:16px 22px; background:rgba(244,182,75,.06); border:1px solid var(--line-gold); border-radius:14px; }
.pbxann-fee .big{ font-family:var(--font-display); font-weight:600; font-size:46px; line-height:.9; letter-spacing:-1px; background:linear-gradient(100deg, var(--gold-soft), var(--amber)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.pbxann-fee .meta .k{ font-family:var(--font-mono); font-size:10px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.pbxann-fee .meta .v{ font-size:14px; color:var(--fg); margin-top:5px; }
.pbxann-fee .meta .v b{ color:var(--gold-soft); font-weight:600; }
.pbxann-points{ position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.pbxann-pt{ background:var(--panel); border:1px solid var(--line); border-radius:13px; padding:17px 18px; }
.pbxann-pt .ic{ width:34px; height:34px; display:flex; align-items:center; justify-content:center; border-radius:9px; color:var(--gold); background:rgba(244,182,75,.08); border:1px solid var(--line-gold); }
.pbxann-pt .t{ font-weight:700; font-size:14px; color:var(--fg); margin-top:12px; }
.pbxann-pt .d{ font-size:12.5px; line-height:1.55; color:var(--muted); margin-top:6px; }
.pbxann-close{ position:relative; display:flex; align-items:center; justify-content:flex-end; gap:20px; margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }
.pbxann-close .q{ font-size:13.5px; line-height:1.55; color:var(--fg-dim); max-width:58ch; }
.pbxann-close .q b{ color:var(--fg); font-weight:600; }
.pbxann-btn{ flex:none; font-family:var(--font-sans); font-weight:800; font-size:13px; color:#1a1205; background:linear-gradient(100deg, var(--gold), var(--amber)); border:none; border-radius:10px; padding:12px 22px; cursor:pointer; transition:.15s; box-shadow:0 6px 18px rgba(244,182,75,.16); }
.pbxann-btn:hover{ filter:brightness(1.05); transform:translateY(-1px); }
@media(max-width:720px){
  .pbxann-card{ padding:22px 20px; }
  .pbxann-h{ font-size:23px; }
  .pbxann-points{ grid-template-columns:1fr; }
  .pbxann-fee .big{ font-size:38px; }
  .pbxann-close{ flex-direction:column; align-items:flex-start; }
  .pbxann-btn{ width:100%; text-align:center; }
}
