:root{
  --bg-0:#07070b;
  --bg-1:#0d0d14;
  --card:#111118;
  --line:rgba(255,255,255,0.08);
  --line-strong:rgba(255,255,255,0.16);
  --text-hi:#f4f2ea;
  --text-mid:#a8a6b3;
  --text-lo:#6b697a;
  --amber:#e8a54b;
  --amber-dim:rgba(232,165,75,0.15);
  --cyan:#3ec6e0;
  --radius-lg:22px;
  --radius-md:14px;
  --radius-sm:9px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg-0);
  color:var(--text-hi);
  font-family:'Inter',sans-serif;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:40px 16px 80px;
}
.accent-font{font-family:'Space Grotesk',sans-serif;}
.mono{font-family:'JetBrains Mono',monospace;}

.brand{
  font-family:'Space Grotesk',sans-serif;
  font-weight:600;
  font-size:14px;
  letter-spacing:0.02em;
  color:var(--text-mid);
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:30px;
}
.brand .dot{width:6px;height:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 8px var(--amber);}

.auth-card{
  width:100%;
  max-width:380px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:32px;
}
.auth-card h1{
  font-family:'Space Grotesk',sans-serif;
  font-size:22px;
  font-weight:600;
  margin:0 0 6px;
}
.auth-card .sub{
  color:var(--text-mid);
  font-size:13.5px;
  margin:0 0 24px;
  line-height:1.5;
}
.field{margin-bottom:14px;}
.field:last-of-type{margin-bottom:0;}
.field label{
  display:block;
  font-size:12.5px;
  color:var(--text-mid);
  margin-bottom:6px;
  font-weight:500;
}
.field input, .field select, .field textarea{
  width:100%;
  background:var(--bg-1);
  border:1px solid var(--line);
  color:var(--text-hi);
  border-radius:var(--radius-sm);
  padding:11px 12px;
  font-family:'Inter',sans-serif;
  font-size:14px;
  outline:none;
  transition:border-color .15s ease;
}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--amber);}
.field textarea{resize:vertical;min-height:56px;}

.primary-btn{
  width:100%;
  background:var(--text-hi);
  color:#0a0a0d;
  border:none;
  font-family:'Space Grotesk',sans-serif;
  font-weight:600;
  font-size:14.5px;
  padding:13px;
  border-radius:var(--radius-md);
  cursor:pointer;
  transition:all .15s ease;
  margin-top:22px;
}
.primary-btn:hover{background:var(--amber);}
.primary-btn:disabled{opacity:0.5;cursor:not-allowed;}

.ghost-btn{
  background:transparent;
  border:1px solid var(--line-strong);
  color:var(--text-hi);
  font-family:'Inter',sans-serif;
  font-size:12.5px;
  font-weight:500;
  padding:8px 16px;
  border-radius:999px;
  cursor:pointer;
  transition:all .15s ease;
}
.ghost-btn:hover{background:rgba(255,255,255,0.06);}

.switch-line{
  text-align:center;
  font-size:13px;
  color:var(--text-mid);
  margin-top:20px;
}
.switch-line a{color:var(--amber);text-decoration:none;font-weight:500;}
.switch-line a:hover{text-decoration:underline;}

.error-msg{
  background:rgba(224,90,90,0.12);
  border:1px solid rgba(224,90,90,0.35);
  color:#e88a8a;
  font-size:13px;
  padding:10px 12px;
  border-radius:var(--radius-sm);
  margin-bottom:16px;
  display:none;
}
.error-msg.show{display:block;}

.topbar{
  width:100%;
  max-width:460px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:22px;
}
.mode-toggle{
  display:flex;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:999px;
  padding:3px;
  gap:2px;
}
.mode-toggle button{
  border:none;
  background:transparent;
  color:var(--text-mid);
  font-family:'Inter',sans-serif;
  font-weight:500;
  font-size:12.5px;
  padding:7px 14px;
  border-radius:999px;
  cursor:pointer;
  transition:all .18s ease;
}
.mode-toggle button.active{background:var(--text-hi);color:#0a0a0d;}

.card-wrap{
  width:100%;
  max-width:460px;
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--bg-1);
  position:relative;
}
.banner{
  position:relative;
  height:190px;
  width:100%;
  overflow:hidden;
  background:linear-gradient(180deg,#0a0a12 0%, #131320 55%, #0a0a12 100%);
}
.banner svg{position:absolute;bottom:0;left:0;width:100%;height:100%;}
.banner .haze{
  position:absolute;inset:0;
  background:radial-gradient(120% 90% at 50% 120%, rgba(232,165,75,0.16), transparent 60%);
  pointer-events:none;
}
.banner .vgrad{
  position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 40%, var(--bg-1) 100%);
  pointer-events:none;
}
.win{animation:tw 4.5s ease-in-out infinite;}
@keyframes tw{0%,100%{opacity:.25;}50%{opacity:.9;}}

.identity{position:relative;padding:0 26px 22px;margin-top:-52px;}
.avatar{
  width:96px;height:96px;border-radius:50%;
  border:3px solid var(--bg-1);
  background-size:cover;background-position:center;background-color:#1a1a24;
  box-shadow:0 0 0 1px var(--line-strong), 0 6px 22px rgba(0,0,0,0.5);
}
.name-row{display:flex;align-items:center;gap:7px;margin-top:14px;}
.name-row .name{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:23px;letter-spacing:-0.01em;}
.badge{width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;}
.tagline{color:var(--text-mid);font-size:14px;line-height:1.5;margin-top:6px;max-width:360px;}
.meta-row{display:flex;align-items:center;gap:14px;margin-top:14px;color:var(--text-lo);font-size:12.5px;}
.meta-row .item{display:flex;align-items:center;gap:5px;}
.meta-row svg{width:13px;height:13px;opacity:.8;}

.socials{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px;}
.social-pill{
  display:flex;align-items:center;gap:9px;
  background:rgba(255,255,255,0.03);
  border:1px solid var(--line);
  padding:9px 14px 9px 9px;
  border-radius:999px;
  text-decoration:none;color:var(--text-hi);
  font-size:13px;font-weight:500;
  transition:all .15s ease;cursor:pointer;
}
.social-pill:hover{border-color:var(--line-strong);background:rgba(255,255,255,0.06);transform:translateY(-1px);}
.social-pill .badge-icon{
  width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:10.5px;
  color:#0a0a0d;flex-shrink:0;
}
.empty-hint{color:var(--text-lo);font-size:13px;padding:14px 0 2px;}

.footer-strip{
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 26px 22px;border-top:1px solid var(--line);margin-top:8px;
}
.footer-strip .views{display:flex;align-items:center;gap:7px;color:var(--text-lo);font-size:12.5px;}

.editor{width:100%;max-width:460px;margin-top:22px;}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);padding:20px;margin-bottom:14px;}
.panel h3{
  font-family:'Space Grotesk',sans-serif;font-size:13.5px;font-weight:600;
  letter-spacing:0.02em;text-transform:uppercase;color:var(--text-mid);margin:0 0 16px;
}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.color-row{display:flex;gap:10px;}
.swatch{width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all .15s ease;}
.swatch.selected{border-color:var(--text-hi);transform:scale(1.08);}

.link-item{
  display:flex;align-items:center;gap:10px;
  background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:10px 10px 10px 12px;margin-bottom:8px;
}
.link-item .mini-badge{
  width:24px;height:24px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:9.5px;color:#0a0a0d;flex-shrink:0;
}
.link-item .info{flex:1;min-width:0;}
.link-item .info .plat{font-size:12.5px;font-weight:500;}
.link-item .info .url{font-size:11.5px;color:var(--text-lo);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.icon-btn{
  background:transparent;border:none;color:var(--text-lo);cursor:pointer;
  width:26px;height:26px;display:flex;align-items:center;justify-content:center;
  border-radius:6px;transition:all .15s ease;flex-shrink:0;
}
.icon-btn:hover{background:rgba(255,255,255,0.08);color:var(--text-hi);}
.icon-btn.danger:hover{color:#e05a5a;}

.add-link-row{display:grid;grid-template-columns:110px 1fr auto;gap:8px;margin-top:12px;}
.add-btn{
  background:var(--amber);border:none;color:#241505;
  font-family:'Inter',sans-serif;font-weight:600;font-size:13px;
  border-radius:var(--radius-sm);padding:0 16px;cursor:pointer;transition:all .15s ease;
}
.add-btn:hover{background:#f2b769;}

.save-status{text-align:center;font-size:12px;color:var(--text-lo);margin-top:10px;min-height:14px;}
.save-status.ok{color:var(--cyan);}
.save-status.err{color:#e88a8a;}

.invite-row{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:9px 12px;margin-bottom:8px;font-size:13px;
}
.invite-row .code{font-family:'JetBrains Mono',monospace;letter-spacing:0.02em;}
.invite-row .status{font-size:11.5px;color:var(--text-lo);}
.invite-row .status.used{color:var(--cyan);}

.center-note{color:var(--text-lo);font-size:13px;text-align:center;margin-top:60px;}
