:root{
  --lime:#c6ff1a;
  --black:#070907;
  --panel:#101310;
  --line:#394239;
  --text:#f4f4ef;
  --muted:#929b92;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:var(--black);
  font-family:"VT323",monospace;
  font-size:21px;
}
a{color:inherit;text-decoration:none}
button{font:inherit}
.shell{width:min(1040px,calc(100% - 28px));margin:auto}
.pixel-grid{
  position:fixed;inset:0;pointer-events:none;opacity:.045;
  background-image:
    linear-gradient(var(--lime) 1px,transparent 1px),
    linear-gradient(90deg,var(--lime) 1px,transparent 1px);
  background-size:24px 24px;
}
.topbar{
  min-height:66px;
  display:flex;align-items:center;justify-content:space-between;
  border:2px solid var(--line);
  border-top:0;
  padding:10px 12px;
  background:#0b0e0b;
  position:sticky;top:0;z-index:30;
}
.logo{display:flex;align-items:center;gap:10px;font-family:"Press Start 2P";font-size:10px}
.logo-box{
  width:38px;height:38px;background:var(--lime);color:#060806;
  display:grid;place-items:center;
  box-shadow:4px 4px 0 #385000;
}
nav{display:flex;gap:22px;font-size:17px}
nav a:hover{color:var(--lime)}
.pixel-btn{
  min-height:50px;
  padding:0 20px;
  border:2px solid #070907;
  background:var(--lime);
  color:#070907;
  font-family:"Press Start 2P";
  font-size:9px;
  line-height:1;
  letter-spacing:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:nowrap;
  box-shadow:4px 4px 0 #3d5700;
  cursor:pointer;
}
.pixel-btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 #3d5700}
.pixel-btn.ghost{background:#101310;color:var(--lime);border-color:var(--lime);box-shadow:4px 4px 0 #253500}
.pixel-btn.small{
  min-height:38px;
  padding:0 14px;
  font-size:8px;
}
.pixel-btn.wide{width:100%;margin-top:12px}
.hero{
  display:grid;grid-template-columns:1.15fr .85fr;gap:22px;
  padding:36px 0 22px;
}
.hero-copy,.preview-card,.panel{
  border:2px solid var(--line);
  background:var(--panel);
}
.hero-copy{padding:26px}
.tag{font-size:15px;color:var(--lime);letter-spacing:1px}
h1{
  font-family:"Press Start 2P";
  font-size:clamp(34px,5vw,60px);
  line-height:1.16;margin:20px 0 16px;
}
h1 span{color:var(--lime)}
.hero-copy p{color:var(--muted);margin:0 0 18px}
.mini-stats{
  display:grid;grid-template-columns:repeat(3,1fr);
  border:2px solid var(--line);margin:18px 0;
}
.mini-stats div{padding:12px;border-right:2px solid var(--line);display:flex;flex-direction:column}
.mini-stats div:last-child{border-right:0}
.mini-stats b{color:var(--lime)}
.mini-stats span{font-size:14px;color:var(--muted)}
.hero-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  max-width:430px;
}
.hero-actions .pixel-btn{
  width:100%;
  min-width:0;
}
.preview-card{padding:10px}
.preview-head,.panel-title{
  display:flex;align-items:center;justify-content:space-between;
  min-height:38px;padding:0 10px;
  border-bottom:2px solid var(--line);
  color:var(--lime);font-size:16px;
}
.preview-head button,.panel-title button{
  background:transparent;color:var(--lime);border:0;cursor:pointer;
}
.preview{
  aspect-ratio:1;
  background:var(--lime);
  margin-top:10px;
  image-rendering:pixelated;
}
.preview svg{width:100%;height:100%;display:block}
.panel{margin:0 0 22px}
.mint-panel{scroll-margin-top:84px}
.mint-layout{display:grid;grid-template-columns:1.35fr .65fr}
.mint-main{padding:18px;border-right:2px solid var(--line)}
.supply-line,.total{display:flex;justify-content:space-between;align-items:center}
.supply-line b,.total b{color:var(--lime)}
.progress{height:12px;background:#222a22;border:2px solid var(--line);margin:8px 0 14px}
.progress div{height:100%;background:var(--lime);width:0}
.compact-info{display:grid;grid-template-columns:repeat(4,1fr);border:2px solid var(--line)}
.compact-info div{padding:10px;border-right:2px solid var(--line);display:flex;flex-direction:column}
.compact-info div:last-child{border-right:0}
.compact-info span{font-size:13px;color:var(--muted)}
.compact-info b{font-size:17px}
.mint-controls{display:flex;justify-content:space-between;align-items:center;margin:14px 0;gap:12px}
.qty{display:flex;border:2px solid var(--line)}
.qty button,.qty b{width:44px;height:40px;display:grid;place-items:center}
.qty button{background:#171c17;color:var(--text);border:0;cursor:pointer}
.quick{display:flex;gap:6px}
.quick button{background:#171c17;color:var(--text);border:2px solid var(--line);padding:6px 10px;cursor:pointer}
.quick button:hover{border-color:var(--lime);color:var(--lime)}
.message{text-align:center;color:var(--muted);font-size:16px;padding-top:8px}
.message.error{color:#ff6868}.message.success{color:var(--lime)}
.reward-box{padding:18px;background:var(--lime);color:#070907}
.token{font-family:"Press Start 2P";font-size:14px}
.reward-box h2{font-family:"Press Start 2P";font-size:20px;margin:20px 0 12px}
.reward-box p{font-size:19px}
.reward-number{border:3px solid #070907;padding:12px;text-align:center;font-size:28px;margin:18px 0}
.balances{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.balances div{border:2px solid #070907;padding:10px;display:flex;flex-direction:column}
.balances span{font-size:13px}
.activity-list{padding:0 12px}
.activity-row{
  display:grid;grid-template-columns:44px 1fr auto auto;
  align-items:center;gap:12px;
  border-bottom:2px solid var(--line);padding:10px 0;
}
.activity-avatar{width:40px;height:40px;background:var(--lime)}
.activity-avatar img{width:100%;height:100%;image-rendering:pixelated}
.activity-main{display:flex;flex-direction:column}
.activity-main span,.activity-time{font-size:14px;color:var(--muted)}
.activity-token{color:var(--lime);font-size:16px}
.empty{padding:18px;color:var(--muted)}
.contract-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.contract-grid a{padding:14px;border-right:2px solid var(--line);display:flex;flex-direction:column}
.contract-grid a:last-child{border-right:0}
.contract-grid a:hover{background:#171c17;color:var(--lime)}
.contract-grid code{font-size:15px;color:var(--muted)}
footer{
  min-height:70px;display:flex;align-items:center;justify-content:space-between;
  border:2px solid var(--line);border-bottom:0;padding:0 14px;color:var(--muted)
}
.wallet-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px}
.wallet-modal.hidden{display:none}
.wallet-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.8);border:0}
.wallet-dialog{position:relative;width:min(560px,100%);background:#0d100d;border:3px solid var(--lime);padding:14px}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:2px solid var(--line)}
.modal-head button{background:transparent;color:var(--lime);border:0;font-size:28px}
.wallet-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}
.wallet-grid button{display:flex;align-items:center;gap:10px;background:#151915;color:var(--text);border:2px solid var(--line);padding:12px;cursor:pointer}
.wallet-grid button:hover,.wallet-grid .featured{border-color:var(--lime)}
.wallet-grid span{width:32px;height:32px;background:var(--lime);color:#070907;display:grid;place-items:center;font-size:14px}
.toast{position:fixed;right:14px;bottom:14px;background:var(--lime);color:#070907;padding:12px 14px;opacity:0;transform:translateY(80px);transition:.2s}
.toast.show{opacity:1;transform:none}
@media(max-width:760px){
  nav{display:none}
  .hero{grid-template-columns:1fr}
  .mint-layout{grid-template-columns:1fr}
  .mint-main{border-right:0;border-bottom:2px solid var(--line)}
  .compact-info{grid-template-columns:1fr 1fr}
  .compact-info div:nth-child(2){border-right:0}
  .compact-info div:nth-child(-n+2){border-bottom:2px solid var(--line)}
  .contract-grid{grid-template-columns:1fr}
  .contract-grid a{border-right:0;border-bottom:2px solid var(--line)}
  .contract-grid a:last-child{border-bottom:0}
}
@media(max-width:520px){
  body{font-size:18px}
  .shell{width:min(100% - 16px,1040px)}
  .logo span:last-child{display:none}
  .hero-copy{padding:18px}
  .mini-stats{grid-template-columns:1fr}
  .mini-stats div{border-right:0;border-bottom:2px solid var(--line)}
  .mini-stats div:last-child{border-bottom:0}
  .hero-actions{grid-template-columns:1fr}
  .mint-controls{align-items:flex-start;flex-direction:column}
  .quick{width:100%}
  .quick button{flex:1}
  .activity-row{grid-template-columns:40px 1fr auto}
  .activity-time{display:none}
  .wallet-grid{grid-template-columns:1fr}
}

.hero-copy,.preview-card,.panel,.topbar{position:relative}
.hero-copy:before,.preview-card:before,.panel:before{content:"";position:absolute;width:8px;height:8px;background:var(--lime);top:-2px;left:-2px}
.hero-copy:after,.preview-card:after,.panel:after{content:"";position:absolute;width:8px;height:8px;background:var(--lime);right:-2px;bottom:-2px}

.footer-left{
  display:flex;
  align-items:center;
  gap:22px;
}
.footer-left a{
  color:var(--lime);
  font-size:16px;
}
.footer-left a:hover{
  text-decoration:underline;
}
@media(max-width:620px){
  footer{
    padding:14px;
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }
  .footer-left{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
}

.sold-strip{display:grid;grid-template-columns:1fr 1fr;border:2px solid var(--line);margin:18px 0}
.sold-strip div{padding:12px;display:flex;flex-direction:column}
.sold-strip div:first-child{border-right:2px solid var(--line)}
.sold-strip span,.label{font-size:13px;color:var(--muted)}
.sold-strip b{color:var(--lime);font-size:24px}
.ecosystem-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}
.eco-card{border:2px solid var(--line);background:var(--panel);padding:16px;display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;position:relative}
.eco-card:hover{border-color:var(--lime);background:#151915}
.eco-icon{width:44px;height:44px;background:var(--lime);color:#070907;display:grid;place-items:center;font-family:"Press Start 2P";font-size:10px}
.eco-card h2{font-family:"Press Start 2P";font-size:12px;margin:0 0 7px}
.eco-card p{margin:0;color:var(--muted);font-size:17px}
.eco-card>b{font-size:14px;color:var(--lime)}
.explorer-layout{display:grid;grid-template-columns:.7fr 1.3fr}
.scanner{padding:18px;border-right:2px solid var(--line)}
.scanner-controls{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin:10px 0}
.scanner input{min-width:0;background:#080a08;color:var(--lime);border:2px solid var(--line);padding:0 12px;font-size:25px}
.scanner p{color:var(--muted);font-size:17px}
.broker-view{display:grid;grid-template-columns:210px 1fr;gap:18px;padding:18px}
.broker-image{aspect-ratio:1;background:var(--lime);border:2px solid var(--line)}
.broker-image img{width:100%;height:100%;display:block;image-rendering:pixelated}
.broker-info>span{font-family:"Press Start 2P";font-size:13px;color:var(--lime)}
.traits-list{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:14px 0}
.traits-list div{border:2px solid var(--line);padding:8px;display:flex;flex-direction:column}
.traits-list span{font-size:12px;color:var(--muted)}.traits-list b{font-size:16px}
.broker-links{display:flex;gap:18px;color:var(--lime);font-size:16px}
.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.dashboard-grid div{padding:16px;border-right:2px solid var(--line);display:flex;flex-direction:column}
.dashboard-grid div:last-child{border-right:0}
.dashboard-grid span{font-size:13px;color:var(--muted)}.dashboard-grid b{color:var(--lime);font-size:22px}
.dashboard-actions{display:flex;gap:10px;padding:14px;border-top:2px solid var(--line)}
.bank-layout{display:grid;grid-template-columns:1.25fr .75fr}
.bank-copy{padding:22px;border-right:2px solid var(--line)}
.bank-copy h2{font-family:"Press Start 2P";font-size:22px;line-height:1.35;margin:16px 0}
.bank-copy p{color:var(--muted)}
.bank-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}
.bank-steps div{border:2px solid var(--line);padding:12px;display:flex;flex-direction:column}
.bank-steps span{color:var(--lime)}.bank-steps small{color:var(--muted)}
.vault-preview{background:var(--lime);color:#070907;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:260px;text-align:center}
.vault-lock{width:110px;height:90px;border:8px solid #070907;display:grid;place-items:center;font-family:"Press Start 2P";font-size:14px;margin-bottom:18px;box-shadow:8px 8px 0 rgba(0,0,0,.2)}
.vault-preview span{font-size:16px}.vault-preview b{font-family:"Press Start 2P";font-size:12px;margin-top:6px}
.token-layout{display:grid;grid-template-columns:1fr 1.1fr auto;gap:16px;align-items:center;padding:18px}
.token-big{font-family:"Press Start 2P";font-size:26px;color:var(--lime)}
.token-layout p{color:var(--muted);margin-bottom:0}
.token-stats{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid var(--line)}
.token-stats div{padding:10px;border-right:2px solid var(--line);display:flex;flex-direction:column}
.token-stats div:last-child{border-right:0}
.token-stats span{font-size:12px;color:var(--muted)}.token-stats b{font-size:15px}
@media(max-width:850px){
  .ecosystem-grid{grid-template-columns:1fr}
  .explorer-layout,.bank-layout{grid-template-columns:1fr}
  .scanner,.bank-copy{border-right:0;border-bottom:2px solid var(--line)}
  .dashboard-grid{grid-template-columns:1fr 1fr}
  .dashboard-grid div:nth-child(2){border-right:0}
  .dashboard-grid div:nth-child(-n+2){border-bottom:2px solid var(--line)}
  .token-layout{grid-template-columns:1fr}
}
@media(max-width:560px){
  .sold-strip{grid-template-columns:1fr}.sold-strip div:first-child{border-right:0;border-bottom:2px solid var(--line)}
  .eco-card{grid-template-columns:44px 1fr}.eco-card>b{grid-column:2}
  .scanner-controls{grid-template-columns:1fr 1fr}.scanner input{grid-column:1/3;height:44px}
  .broker-view{grid-template-columns:1fr}.broker-image{max-width:260px;width:100%;margin:auto}
  .traits-list{grid-template-columns:1fr}
  .dashboard-grid{grid-template-columns:1fr}.dashboard-grid div{border-right:0;border-bottom:2px solid var(--line)}.dashboard-grid div:last-child{border-bottom:0}
  .bank-steps{grid-template-columns:1fr}
}

.hidden{display:none!important}
.profile-locked{
  display:grid;
  grid-template-columns:86px 1fr;
  gap:18px;
  align-items:center;
  padding:22px;
}
.profile-locked h2{
  font-family:"Press Start 2P";
  font-size:14px;
  margin:0 0 10px;
}
.profile-locked p{
  color:var(--muted);
  margin:0 0 14px;
}
.profile-avatar{
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  background:var(--lime);
  color:#070907;
  border:3px solid #070907;
  box-shadow:5px 5px 0 #3d5700;
  font-family:"Press Start 2P";
  font-size:18px;
}
.profile-avatar.locked{
  background:#171c17;
  color:var(--lime);
  border-color:var(--line);
  box-shadow:5px 5px 0 #202820;
}
.profile-head{
  display:grid;
  grid-template-columns:90px 1fr auto;
  gap:18px;
  align-items:center;
  padding:18px;
}
.profile-identity{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.profile-identity>span,
.profile-rank span,
.profile-summary span{
  color:var(--muted);
  font-size:13px;
}
.profile-identity>b{
  color:var(--lime);
  font-size:25px;
}
.profile-links{
  display:flex;
  gap:14px;
  margin-top:3px;
}
.profile-links a,
.profile-links button{
  border:0;
  background:transparent;
  color:var(--lime);
  padding:0;
  cursor:pointer;
  font-size:15px;
}
.profile-rank{
  min-width:130px;
  border:2px solid var(--line);
  padding:12px;
  display:flex;
  flex-direction:column;
  text-align:right;
}
.profile-rank b{
  color:var(--lime);
  font-size:20px;
}
.profile-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:2px solid var(--line);
}
.profile-summary div{
  padding:14px;
  display:flex;
  flex-direction:column;
}
.profile-summary div:first-child{
  border-right:2px solid var(--line);
}
.profile-summary b{
  color:var(--lime);
  font-size:20px;
}
@media(max-width:620px){
  .profile-locked{
    grid-template-columns:1fr;
  }
  .profile-head{
    grid-template-columns:76px 1fr;
  }
  .profile-rank{
    grid-column:1/3;
    text-align:left;
  }
  .profile-identity>b{
    font-size:19px;
  }
  .profile-links{
    flex-direction:column;
    gap:5px;
  }
  .profile-summary{
    grid-template-columns:1fr;
  }
  .profile-summary div:first-child{
    border-right:0;
    border-bottom:2px solid var(--line);
  }
  .dashboard-actions{
    flex-direction:column;
  }
}

.profile-gallery-wrap{
  border-top:2px solid var(--line);
}
.profile-gallery-head{
  min-height:42px;
  padding:0 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--lime);
  border-bottom:2px solid var(--line);
}
.profile-gallery-head small{
  color:var(--muted);
  font-size:14px;
}
.profile-gallery{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  padding:14px;
}
.profile-gallery-card{
  border:2px solid var(--line);
  background:#0b0e0b;
  min-width:0;
}
.profile-gallery-card:hover{
  border-color:var(--lime);
}
.profile-gallery-card img{
  width:100%;
  aspect-ratio:1;
  display:block;
  object-fit:cover;
  image-rendering:pixelated;
  background:var(--lime);
}
.profile-gallery-card span{
  display:block;
  padding:7px;
  font-size:14px;
  color:var(--lime);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.profile-gallery-empty{
  grid-column:1/-1;
  padding:18px;
  color:var(--muted);
  text-align:center;
}
.profile-error{
  color:#ff6868!important;
}
@media(max-width:850px){
  .profile-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:560px){
  .profile-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile-gallery-head{align-items:flex-start;flex-direction:column;padding:10px 14px;gap:4px}
}
