/* AsadMD! Pair Panel — redesigned interface */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#07080d;
  --surface:rgba(18,20,30,.72);
  --surface-2:rgba(30,34,50,.55);
  --border:rgba(255,255,255,.08);
  --border-strong:rgba(255,255,255,.16);
  --text:#eef1f7;
  --muted:#8b91a4;
  --accent:#34e0a1;
  --accent-2:#7c5cff;
  --accent-3:#ffb648;
  --red:#ff5c7a;
  --radius:18px;
  --radius-sm:12px;
  --shadow:0 30px 80px -30px rgba(124,92,255,.35), 0 8px 30px -12px rgba(0,0,0,.6);
  --grad:linear-gradient(120deg,var(--accent),var(--accent-2));
}
html,body{height:100%}
body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--text);
  background:var(--bg);
  min-height:100vh;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  position:relative;
}
.aurora{position:fixed;inset:auto;filter:blur(110px);opacity:.55;pointer-events:none;z-index:0;border-radius:50%}
.aurora--a{width:520px;height:520px;background:radial-gradient(circle,#34e0a1 0%,transparent 65%);top:-160px;left:-140px;animation:float 14s ease-in-out infinite}
.aurora--b{width:600px;height:600px;background:radial-gradient(circle,#7c5cff 0%,transparent 65%);bottom:-220px;right:-180px;animation:float 18s ease-in-out infinite reverse}
.noise{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.05;
  background-image:radial-gradient(rgba(255,255,255,.6) 1px,transparent 1px);
  background-size:3px 3px;mix-blend-mode:overlay}
@keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,-30px)}}

.shell{position:relative;z-index:2;max-width:640px;margin:0 auto;padding:56px 20px 40px;display:flex;flex-direction:column;gap:28px}

.hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.hero__badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 12px;border:1px solid var(--border-strong);border-radius:999px;
  font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);
  background:rgba(255,255,255,.02);backdrop-filter:blur(6px);
}
.hero__dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.4;transform:scale(.85)}}

.hero__title{font-family:'Space Grotesk',sans-serif;font-weight:700;line-height:1.05;font-size:clamp(38px,7vw,58px);display:flex;flex-direction:column;gap:2px}
.hero__brand{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.02em}
.hero__sub{font-size:.42em;font-weight:500;color:var(--muted);letter-spacing:.2em;text-transform:uppercase}
.hero__tag{max-width:480px;color:var(--muted);font-size:15px;line-height:1.6}
.hero__tag b{color:var(--text);font-weight:600}

.card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:26px;
  backdrop-filter:blur(24px) saturate(140%);
  box-shadow:var(--shadow);
  display:flex;flex-direction:column;gap:22px;
}

.pair-form{display:flex;flex-direction:column;gap:10px}
.field-label{font-size:13px;color:var(--muted);font-weight:500;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.field-label span{font-size:11px;color:#5c6272;text-transform:uppercase;letter-spacing:.6px}

.field-row{display:flex;gap:10px;align-items:stretch}
.field-input{
  flex:1;min-width:0;
  background:rgba(255,255,255,.03);
  color:var(--text);
  border:1px solid var(--border-strong);
  border-radius:var(--radius-sm);
  padding:14px 16px;
  font-family:'JetBrains Mono',monospace;
  font-size:15px;letter-spacing:.02em;
  transition:border-color .18s, box-shadow .18s, background .18s;
  outline:none;
}
.field-input::placeholder{color:#4d5262}
.field-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(52,224,161,.18);background:rgba(255,255,255,.05)}
.field-input.is-invalid{border-color:var(--red);box-shadow:0 0 0 3px rgba(255,92,122,.18)}

.btn-primary{
  position:relative;
  border:0;cursor:pointer;
  padding:0 22px;min-height:50px;
  border-radius:var(--radius-sm);
  font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:15px;
  color:#0a0d16;background:var(--grad);
  transition:transform .12s ease, box-shadow .18s ease, filter .18s;
  box-shadow:0 8px 22px -6px rgba(52,224,161,.5);
}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px -6px rgba(124,92,255,.55)}
.btn-primary:active{transform:translateY(0)}
.btn-primary:disabled{cursor:not-allowed;filter:grayscale(.4) brightness(.85)}
.btn-primary__spinner{
  display:none;width:16px;height:16px;border-radius:50%;
  border:2px solid rgba(10,13,22,.35);border-top-color:#0a0d16;
  animation:spin .8s linear infinite;margin-left:8px;vertical-align:-3px;
}
.btn-primary.is-loading .btn-primary__label{opacity:.7}
.btn-primary.is-loading .btn-primary__spinner{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}

.field-error{color:var(--red);font-size:13px;min-height:18px}

/* Stepper */
.stepper{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px 0}
.step{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;color:var(--muted);letter-spacing:.4px;text-transform:uppercase}
.step__dot{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid var(--border-strong);transition:.25s}
.step.is-active .step__dot{background:var(--grad);box-shadow:0 0 14px rgba(124,92,255,.6);transform:scale(1.15)}
.step.is-active .step__label{color:var(--text)}
.step.is-complete .step__dot{background:var(--accent)}
.step--failed.is-active .step__dot{background:var(--red);box-shadow:0 0 14px rgba(255,92,122,.55)}
.stepper__rail{position:absolute;left:0;right:0;top:14px;height:2px;background:rgba(255,255,255,.06);border-radius:999px;z-index:-1;overflow:hidden}
.stepper__fill{display:block;height:100%;width:0%;background:var(--grad);transition:width .4s ease}

.message-banner{
  padding:12px 14px;border-radius:var(--radius-sm);font-size:14px;line-height:1.45;
  border:1px solid var(--border-strong);background:var(--surface-2);
}
.message-banner--hidden{display:none}
.message-banner--info{border-color:rgba(124,92,255,.4);background:rgba(124,92,255,.1)}
.message-banner--success{border-color:rgba(52,224,161,.4);background:rgba(52,224,161,.1);color:#c9ffe6}
.message-banner--error{border-color:rgba(255,92,122,.45);background:rgba(255,92,122,.1);color:#ffd6de}

.code-display{
  background:var(--surface-2);
  border:1px dashed var(--border-strong);
  border-radius:var(--radius-sm);
  padding:16px;display:flex;flex-direction:column;gap:10px;
}
.code-display--hidden{display:none}
.code-display--session{border-style:solid;border-color:rgba(52,224,161,.35);background:rgba(52,224,161,.06)}
.code-display__head{display:flex;justify-content:space-between;align-items:center}
.code-display__label{font-size:12px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}
.code-display__value{
  font-family:'JetBrains Mono',monospace;font-weight:700;
  font-size:26px;letter-spacing:.14em;color:var(--text);
  word-break:break-all;user-select:all;
}
.code-display__value--session{font-size:12px;letter-spacing:.02em;font-weight:600;line-height:1.55;color:#b9f5d8;max-height:180px;overflow:auto;padding:10px;background:rgba(0,0,0,.35);border-radius:8px}
.code-display__hint{font-size:12px;color:var(--muted)}

.copy-btn{
  cursor:pointer;background:rgba(255,255,255,.05);color:var(--text);
  border:1px solid var(--border-strong);border-radius:8px;
  padding:6px 12px;font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;
  transition:.15s;
}
.copy-btn:hover{background:rgba(255,255,255,.1);border-color:var(--accent)}
.copy-btn__done{display:none;color:var(--accent)}
.copy-btn.copied .copy-btn__idle{display:none}
.copy-btn.copied .copy-btn__done{display:inline}

.foot{text-align:center;color:var(--muted);font-size:12px;letter-spacing:.3px;padding:8px 0 20px}
.foot code{font-family:'JetBrains Mono',monospace;background:rgba(255,255,255,.06);padding:2px 6px;border-radius:6px;font-size:11px;color:var(--accent)}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

@media (max-width:540px){
  .shell{padding:36px 16px}
  .card{padding:20px}
  .field-row{flex-direction:column}
  .btn-primary{min-height:48px}
  .code-display__value{font-size:22px}
}
