﻿*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;font-family:'Bricolage Grotesque',sans-serif;background:#0c0c0c}

:root{
  --bg:#0c0c0c;--bg2:#141414;--bg3:#1c1c1c;
  --electric:#00e5ff;--hot-pink:#ff2d78;
  --acid:#c6ff00;--purple:#bf5af2;
  --white:#f5f5f5;--muted:#888;
  --border:rgba(255,255,255,.08);
  --radius:14px;
}

.phone-wrap{
  display:flex;justify-content:center;align-items:flex-start;
  min-height:100vh;padding:20px 12px 40px;
  background:#0c0c0c;
}
.phone{
  width:100%;max-width:420px;
  border-radius:28px;overflow:hidden;
  box-shadow:0 0 0 1px rgba(255,255,255,.06),
             0 40px 100px rgba(0,0,0,.8);
  display:flex;flex-direction:column;
  background:var(--bg2);
}

/* â”€â”€ TOP BAR â”€â”€ */
.top-bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 18px 12px;
  border-bottom:1px solid var(--border);
  background:var(--bg);
}
.top-logo{display:flex;align-items:center;gap:8px;}
.top-logo-img{
  width:auto;min-width:28px;max-width:100px;height:28px;border-radius:8px;
  background:#050505;padding:3px;
  display:grid;place-items:center;overflow:hidden;
}
.top-logo-img img{
  height:22px;width:auto;max-width:94px;object-fit:contain;
  mix-blend-mode:screen;filter:brightness(1.5);
}
.top-brand{
  font-size:12px;font-weight:700;
  color:var(--electric);letter-spacing:.06em;text-transform:uppercase;
}
.top-tag{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;color:var(--muted);
  background:var(--bg3);border-radius:6px;
  padding:3px 8px;border:1px solid var(--border);
}

/* â”€â”€ PROFILE HEADER â”€â”€ */
.profile-header{
  padding:18px 16px 14px;
  background:var(--bg);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:14px;
}
.ph-avatar{
  width:72px;height:72px;border-radius:50%;
  overflow:hidden;flex-shrink:0;
  border:2px solid var(--electric);
  box-shadow:0 0 16px rgba(0,229,255,.25);
}
.ph-avatar img{
  width:100%;height:100%;
  object-fit:cover;object-position:top center;
}
.ph-info{flex:1;}
.ph-name{
  font-size:20px;font-weight:800;
  color:var(--white);line-height:1.1;
}
.ph-handle{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;color:var(--electric);
  margin-top:2px;
}
.ph-title{font-size:12px;color:var(--muted);margin-top:3px;}
.ph-badges{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap;}
.badge{
  font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:3px 8px;border-radius:6px;
}
.b-electric{background:rgba(0,229,255,.1);color:var(--electric);border:1px solid rgba(0,229,255,.2);}
.b-pink{background:rgba(255,45,120,.1);color:var(--hot-pink);border:1px solid rgba(255,45,120,.2);}
.b-acid{background:rgba(198,255,0,.1);color:var(--acid);border:1px solid rgba(198,255,0,.2);}

/* â”€â”€ BENTO GRID â”€â”€ */
.bento-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto;
  gap:8px;
  padding:12px 12px 0;
  background:var(--bg2);
}

.bento-cell{
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:14px;
  overflow:hidden;
  position:relative;
  transition:border-color .15s;
  -webkit-tap-highlight-color:transparent;
  text-decoration:none;
  display:block;
  cursor:pointer;
}
.bento-cell:active{border-color:var(--electric);}

/* spanning cells */
.span-2{grid-column:span 2;}

/* cell accent top line */
.bento-cell::before{
  content:'';position:absolute;
  top:0;left:0;right:0;height:2px;
  opacity:0;transition:opacity .15s;
}
.bento-cell:hover::before,.bento-cell:active::before{opacity:1;}
.bc-electric::before{background:var(--electric);}
.bc-pink::before{background:var(--hot-pink);}
.bc-acid::before{background:var(--acid);}
.bc-purple::before{background:var(--purple);}

.cell-label{
  font-size:9px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);
  margin-bottom:8px;
}
.cell-value{
  font-size:22px;font-weight:800;
  color:var(--white);line-height:1.1;
}
.cell-sub{font-size:11px;color:var(--muted);margin-top:3px;}

/* bio cell */
.bio-cell .bio-text{
  font-size:12px;line-height:1.6;color:var(--muted);
}
.bio-cell .bio-highlight{color:var(--white);font-weight:600;}

/* social cell */
.social-cell .cell-social-row{
  display:flex;gap:7px;flex-wrap:wrap;margin-top:4px;
}
.mini-soc{
  width:32px;height:32px;border-radius:9px;
  display:grid;place-items:center;
  text-decoration:none;
  transition:transform .15s;
  -webkit-tap-highlight-color:transparent;
}
.mini-soc svg{width:16px;height:16px;fill:#fff;}
.mini-soc:active{transform:scale(.88);}
.s-ig{background:radial-gradient(circle at 30% 110%,#f09433,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888)}
.s-li{background:#0a66c2}.s-x{background:#111;border:1px solid #333}
.s-yt{background:#ff0000}.s-tt{background:#000;border:1px solid #333}
.s-wa{background:#25d366}.s-tg{background:#0088cc}
.s-fb{background:#1877f2}

/* currently cell */
.curr-row{
  display:flex;align-items:flex-start;gap:6px;
  font-size:11px;color:var(--muted);
  margin-bottom:5px;line-height:1.4;
}
.curr-row:last-child{margin-bottom:0}
.curr-row b{color:var(--white);font-weight:600;}
.curr-dot{
  width:5px;height:5px;border-radius:50%;
  flex-shrink:0;margin-top:4px;
}

/* contact cell */
.contact-mini{
  display:flex;align-items:center;gap:8px;
  padding:8px 0;border-bottom:1px solid var(--border);
  text-decoration:none;
  -webkit-tap-highlight-color:transparent;
}
.contact-mini:last-child{border-bottom:none;padding-bottom:0;}
.cm-icon{
  width:28px;height:28px;border-radius:8px;
  display:grid;place-items:center;flex-shrink:0;
}
.cm-icon svg{width:13px;height:13px;}
.cmi-phone{background:rgba(0,229,255,.1);}
.cmi-phone svg{stroke:var(--electric);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.cmi-email{background:rgba(255,45,120,.1);}
.cmi-email svg{stroke:var(--hot-pink);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.cmi-web{background:rgba(198,255,0,.1);}
.cmi-web svg{stroke:var(--acid);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.cm-text{flex:1;}
.cm-label{font-size:9px;font-weight:700;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;}
.cm-value{font-size:11px;font-weight:600;color:var(--white);margin-top:1px;}

/* â”€â”€ CTA â”€â”€ */
.cta-section{padding:12px;}
.cta-btn{
  display:block;width:100%;
  background:var(--electric);color:#000;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:14px;font-weight:800;
  letter-spacing:.04em;text-transform:uppercase;
  text-align:center;padding:16px;
  border-radius:var(--radius);border:none;
  cursor:pointer;text-decoration:none;
  box-shadow:0 0 24px rgba(0,229,255,.25);
  transition:opacity .15s,transform .15s;
}
.cta-btn:active{opacity:.88;transform:scale(.98)}

/* footer */
.card-footer{
  padding:10px;text-align:center;font-size:10px;
  color:var(--muted);background:var(--bg);
  border-top:1px solid var(--border);
}
.card-footer b{color:var(--electric);}

/* â”€â”€ BOTTOM BAR â”€â”€ */
.bottom-bar{
  position:sticky;bottom:0;
  background:rgba(12,12,12,.96);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-top:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-around;
  padding:10px 0 max(10px,env(safe-area-inset-bottom));z-index:100;
}
.bar-btn{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  background:none;border:none;cursor:pointer;
  padding:4px 12px;text-decoration:none;
  -webkit-tap-highlight-color:transparent;
}
.bar-icon{
  width:42px;height:42px;border-radius:var(--radius);
  background:var(--bg3);border:1px solid var(--border);
  display:grid;place-items:center;transition:background .15s;
}
.bar-icon svg{width:19px;height:19px;}
.bar-btn:active .bar-icon{
  background:rgba(0,229,255,.1);
  border-color:rgba(0,229,255,.3);
}
.bar-label{font-size:9px;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;}
.bar-btn.primary .bar-icon{
  background:var(--electric);border-color:var(--electric);
  box-shadow:0 0 16px rgba(0,229,255,.3);
}
.bar-btn.primary .bar-icon svg{stroke:#000;fill:none;}
.bar-btn.primary .bar-label{color:var(--electric);}

@media(max-width:380px){
  .phone{border-radius:22px}
  .ph-name{font-size:17px}
  .bento-grid{gap:6px;padding:10px 10px 0;}
  .bento-cell{padding:11px;}
  .cell-value{font-size:18px}
}
@media(min-width:600px){
  .phone-wrap{padding:32px 24px 48px}
  .phone{max-width:440px}
}
