/* Shared GoBunny navigation — keep identical across every public page. */
.nav{position:relative;z-index:5;display:flex;align-items:center;gap:22px;padding:20px 0;min-height:78px}
.brand,.brand:link,.brand:visited,.brand:hover,.brand:active{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:22px;letter-spacing:-.02em;white-space:nowrap}
.brand b,.brand .wm b{color:var(--carrot)}
.brand .logo{height:30px;width:auto;display:block}
.tabs{display:flex;align-items:center;gap:4px;margin-left:auto}
.tabs a,.tabs a:link,.tabs a:visited{color:var(--muted);text-decoration:none;font-weight:500;font-size:14px;line-height:1.2;padding:8px 14px;border-radius:11px;transition:.18s;white-space:nowrap}
.tabs a:hover{color:var(--cream);background:var(--raise)}
.tabs a.on{color:var(--carrot);background:rgba(255,122,26,.1)}
.nav-right{margin-left:8px;display:flex;align-items:center;gap:8px}
.xidentity,.nav-id{display:none;align-items:center;gap:8px;white-space:nowrap}
.xidentity.show,.nav-id.show{display:flex}
.xidentity img,.nav-id img{width:30px;height:30px;min-width:30px;border-radius:50%;object-fit:cover;border:1px solid rgba(245,239,228,.16)}
.xidentity span,.nav-id span{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--cream)}
@media(max-width:860px){.tabs{display:none}.nav{gap:12px}.nav-right{margin-left:auto}}
.nav .btn{font-family:inherit;cursor:pointer;border:none;font-weight:600;transition:.18s}
.nav .cxw{background:var(--carrot);color:#1a0e02;padding:11px 15px;border-radius:12px;font-size:13.5px}
.nav .cxw:hover{background:var(--carrot-soft)}
.nav .cxx{background:var(--raise);color:var(--cream);border:1px solid var(--line-strong);padding:11px 15px;border-radius:12px;font-size:13.5px}
.nav .cxx:hover{background:var(--raise-2)}
.nav .xlink{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:var(--muted);background:var(--raise);border:1px solid var(--line);transition:.18s}
.nav .xlink:hover{color:var(--cream);background:var(--raise-2)}
.nav .is-hidden{display:none!important}


/* Mobile-first navigation: keep every route visible and prevent controls from overlapping. */
@media (max-width:860px){
  .nav{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand actions" "tabs tabs";align-items:center;column-gap:10px;row-gap:12px;padding-top:14px;padding-bottom:14px;min-height:0}
  .nav .brand{grid-area:brand;min-width:0;font-size:20px}
  .nav .brand .logo{height:28px}
  .nav .nav-right{grid-area:actions;margin-left:0;min-width:0;justify-self:end;display:flex;align-items:center;gap:6px}
  .nav .tabs{grid-area:tabs;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin:0;gap:6px;overflow:visible}
  .nav .tabs a,.nav .tabs a:link,.nav .tabs a:visited{display:block;text-align:center;padding:9px 7px;font-size:13px;min-width:0}
  .nav .cxw,.nav .cxx{padding:9px 10px;font-size:12px;border-radius:10px;white-space:nowrap}
  .nav .xlink{width:34px;height:34px;border-radius:10px;flex:0 0 34px}
  .nav .xidentity,.nav .nav-id{max-width:38px;overflow:hidden;gap:0}
  .nav .xidentity span,.nav .nav-id span{display:none}
}
@media (max-width:520px){
  .nav{grid-template-columns:auto minmax(0,1fr);column-gap:8px}
  .nav .brand{font-size:18px}
  .nav .brand .logo{height:25px}
  .nav .nav-right{max-width:100%;gap:5px}
  .nav .cxw,.nav .cxx{padding:8px 8px;font-size:11px}
  .nav .tabs{gap:4px}
  .nav .tabs a,.nav .tabs a:link,.nav .tabs a:visited{padding:9px 4px;font-size:12px}
}
@media (max-width:390px){
  .nav{grid-template-columns:1fr;grid-template-areas:"brand" "actions" "tabs";justify-items:center}
  .nav .brand{justify-self:center}
  .nav .nav-right{justify-self:center;justify-content:center;flex-wrap:wrap}
  .nav .tabs{width:100%}
}

/* Campaign connection notice — shared visual language with the navigation. */
.bindpanel{margin:0 0 18px;padding:13px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);align-items:center;gap:14px;min-height:0}
.bindpanel .bp-text{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.bindpanel .bp-kicker{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--carrot)}
.bindpanel h4{margin:0;font-size:14px;line-height:1.35;color:var(--cream);font-weight:650}
.bindpanel p{margin:0;font-size:13px;line-height:1.45;color:var(--muted)}
.bindpanel .bp-ok,.bindpanel .bp-error{margin-left:auto;font-size:12px;line-height:1.35;padding:7px 10px;border-radius:9px}
.bindpanel .bp-ok{color:var(--cream);background:var(--raise)}
.bindpanel .bp-error{color:var(--cream);background:var(--raise);border:1px solid var(--line)}
@media(max-width:860px){.bindpanel{margin-top:2px}.bindpanel .bp-text{display:block}.bindpanel .bp-kicker{display:block;margin-bottom:3px}.bindpanel p{margin-top:2px}.bindpanel .bp-ok,.bindpanel .bp-error{margin-left:0}}

/* Connected X account menu */
.x-session{position:relative;display:flex;align-items:center}
.nav-id,.xidentity{font:inherit;background:none;border:0;padding:0;cursor:pointer}
.x-session-menu{display:none;position:absolute;right:0;top:calc(100% + 8px);z-index:80;min-width:150px;padding:6px;background:#171716;border:1px solid rgba(245,239,228,.14);border-radius:12px;box-shadow:0 14px 36px rgba(0,0,0,.35)}
.x-session-menu.show{display:block}
.x-session-menu button{width:100%;border:0;border-radius:8px;background:transparent;color:#f5efe4;padding:9px 10px;text-align:left;font:600 12px 'Inter',sans-serif;cursor:pointer}
.x-session-menu button:hover{background:rgba(255,255,255,.07)}

/* Campaign wallet mismatch: the connected browser wallet is not the immutable wallet bound to X. */
.nav-wallet.wallet-mismatch,
#navWallet.wallet-mismatch{
  border-color:#ff7a1a!important;
  box-shadow:0 0 0 1px rgba(255,122,26,.2) inset;
}

/* Shared in-site notices — replaces browser alert() dialogs everywhere. */
.gb-notice-root{position:fixed;inset:0;z-index:9999;display:none;align-items:flex-start;justify-content:center;padding:92px 18px 24px;background:rgba(8,7,5,.56);backdrop-filter:blur(7px)}
.gb-notice-root.show{display:flex}
.gb-notice{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px 14px;align-items:center;width:min(560px,100%);padding:18px 18px 18px 16px;border:1px solid rgba(245,239,228,.14);border-radius:18px;background:linear-gradient(145deg,#1d1b16,#151410);box-shadow:0 24px 70px rgba(0,0,0,.5)}
.gb-notice-root.warning .gb-notice{border-color:rgba(255,122,26,.52);box-shadow:0 24px 70px rgba(0,0,0,.5),0 0 0 1px rgba(255,122,26,.08) inset}
.gb-notice-icon{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(255,122,26,.13);color:var(--carrot,#ff7a1a);font-weight:800;font-size:20px}
.gb-notice-root.success .gb-notice-icon{background:rgba(140,215,108,.12);color:#a7df8e}
.gb-notice-title{font-size:15px;font-weight:750;color:var(--cream,#f5efe4);margin-bottom:4px}
.gb-notice-message{font-size:13px;line-height:1.55;color:var(--muted,#aaa398);max-width:430px}
.gb-notice-ok{grid-column:3;grid-row:1/3;align-self:center;border:0;border-radius:11px;background:var(--carrot,#ff7a1a);color:#1a0e02;padding:10px 14px;font:700 12px inherit;cursor:pointer;white-space:nowrap}
.gb-notice-x{position:absolute;right:10px;top:7px;display:none;border:0;background:transparent;color:var(--muted,#aaa398);font-size:21px;cursor:pointer}
@media(max-width:620px){.gb-notice-root{align-items:flex-end;padding:18px}.gb-notice{grid-template-columns:40px minmax(0,1fr);padding:17px}.gb-notice-icon{width:40px;height:40px}.gb-notice-ok{grid-column:1/3;grid-row:auto;width:100%;margin-top:4px}.gb-notice-x{display:block}.gb-notice-copy{padding-right:18px}}
