:root {
  color-scheme: dark;
  --ink: #f5f8ff;
  --muted: #91a0b5;
  --line: rgba(255,255,255,.11);
  --panel: rgba(10,21,36,.84);
  --accent: #58f0c7;
  --accent-2: #5e79ff;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  background: #050b14;
  color: var(--ink);
  font-family: "DM Sans", system-ui, sans-serif;
}

.shell {
  position: relative;
  min-height: 100vh;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 24px;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px),
    radial-gradient(circle at 50% 15%, #122440 0, #050b14 53%);
  background-size: 46px 46px, 46px 46px, auto;
}

.ambient { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .3; }
.ambient-one { width: 330px; height: 330px; background: #2ae2ba; top: -160px; right: -120px; }
.ambient-two { width: 380px; height: 380px; background: #3b51e9; bottom: -230px; left: -180px; }

.card {
  position: relative;
  width: min(100%, 430px);
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(17,34,55,.93), var(--panel));
  box-shadow: 0 30px 100px rgba(0,0,0,.45), inset 0 1px rgba(255,255,255,.08);
  backdrop-filter: blur(22px);
}

.topline { display: flex; align-items: center; justify-content: space-between; }
.brand { font-family: "Space Grotesk", sans-serif; font-weight: 600; letter-spacing: -.05em; }
.brand span { color: var(--accent); }
.status { color: #c4cddd; font-size: .76rem; display: flex; align-items: center; gap: 7px; }
.status i { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 12px var(--accent); }

.identity { display: grid; grid-template-columns: 88px 1fr; gap: 20px; align-items: start; padding: 39px 0 31px; }
.monogram {
  width: 88px; height: 88px; display: grid; place-items: center; border-radius: 25px;
  font: 600 1.55rem "Space Grotesk", sans-serif; color: #06121d;
  background: linear-gradient(135deg, #86ffe2, #5b6eff); box-shadow: 0 15px 40px rgba(70,129,255,.22);
}
.eyebrow { margin: 1px 0 7px; color: var(--accent); font-size: .68rem; font-weight: 700; letter-spacing: .15em; }
h1 { margin: 0; font: 600 2.3rem/0.93 "Space Grotesk", sans-serif; letter-spacing: -.055em; }
.role { margin: 13px 0 0; color: #eaf0fa; font-size: .94rem; }
.role span { color: var(--muted); }

.links { display: grid; gap: 10px; }
.links a {
  display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 13px;
  min-height: 66px; padding: 10px 15px 10px 11px; color: var(--ink); text-decoration: none;
  border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.035);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.links a:hover, .links a:focus-visible { transform: translateY(-2px); border-color: rgba(88,240,199,.5); background: rgba(88,240,199,.07); outline: none; }
.icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: #192b43; font-weight: 700; color: #dce7f6; }
.instagram { font-size: 1.6rem; font-weight: 400; }
.telegram { background: #249bd7; color: #fff; font-size: .76rem; letter-spacing: -.02em; }
.phone { font-size: 1rem; }
.label { font-size: .92rem; font-weight: 600; }
.label small { display: block; margin-top: 2px; color: var(--muted); font-size: .74rem; font-weight: 400; overflow-wrap: anywhere; }
.arrow { color: var(--muted); font-size: 1.1rem; }

.save {
  width: 100%; min-height: 55px; margin-top: 18px; border: 0; border-radius: 17px;
  background: linear-gradient(100deg, var(--accent), #83d8ff); color: #06141d;
  font: 700 .94rem "DM Sans", sans-serif; cursor: pointer; box-shadow: 0 14px 30px rgba(57,230,187,.15);
  transition: filter .2s ease, transform .2s ease;
}
.save:hover, .save:focus-visible { filter: brightness(1.08); transform: translateY(-1px); outline: 2px solid #fff; outline-offset: 3px; }
.save span { font-size: 1.1rem; margin-right: 4px; }
.footnote { margin: 19px 0 0; color: #63738a; text-align: center; font-size: .58rem; font-weight: 700; letter-spacing: .17em; }

@media (max-width: 420px) {
  .shell { padding: 13px; }
  .card { padding: 21px; border-radius: 25px; }
  .identity { grid-template-columns: 74px 1fr; gap: 16px; padding: 32px 0 27px; }
  .monogram { width: 74px; height: 74px; border-radius: 21px; }
  h1 { font-size: 2rem; }
}

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
