/* Nebula NBL — Avatar sur-mesure */
.sm-body{
  min-height:100vh;background:#02030a;color:#f6fbff;
  background-image:
    radial-gradient(60% 50% at 50% 0%,rgba(124,245,255,.10),transparent 60%),
    radial-gradient(50% 40% at 50% 100%,rgba(255,216,138,.10),transparent 60%);
}
.sm-topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 22px;margin:0 auto;max-width:880px;
  border-bottom:1px solid rgba(124,245,255,.10);
}
.sm-back{color:#dbe4ee;text-decoration:none;font-size:.86rem;font-weight:600;display:inline-flex;align-items:center;gap:8px}
.sm-back svg{width:13px;height:13px;color:#7cf5ff}
.sm-brand{font-family:"InterNebula",sans-serif;font-size:.86rem;letter-spacing:.18em}
.sm-brand strong{color:#7cf5ff}

.sm-main{max-width:680px;margin:0 auto;padding:30px 22px 60px}
.sm-eyebrow{margin:0 0 14px;color:#7cf5ff;text-transform:uppercase;font-size:.74rem;letter-spacing:.22em;font-weight:700}
.sm-title,.sm-h2{font-family:"Cormorant",serif;color:#fff;font-weight:700;line-height:1.1;margin:0 0 16px}
.sm-title{font-size:clamp(2rem,5vw,3.2rem);text-shadow:0 0 30px rgba(124,245,255,.18)}
.sm-h2{font-size:clamp(1.6rem,4vw,2.2rem);color:#ffd88a}
.sm-lead{margin:0 0 26px;color:#dbe4ee;font-size:1.04rem;line-height:1.65}
.sm-lead strong{color:#ffd88a}

.sm-form{display:grid;gap:14px}
.sm-label{font-family:"InterNebula",sans-serif;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#94a4b8;font-weight:700;margin-bottom:-4px}
.sm-form textarea,.sm-form input[type=text],.sm-crypto-currency select{
  width:100%;padding:14px 16px;
  border:1px solid rgba(124,245,255,.25);border-radius:14px;
  background:rgba(2,4,12,.7);color:#fff;
  font-family:"InterNebula",sans-serif;font-size:1rem;line-height:1.55;
  resize:vertical;
}
.sm-form textarea:focus,.sm-form input[type=text]:focus,.sm-crypto-currency select:focus{
  outline:none;border-color:#ffd88a;box-shadow:0 0 0 4px rgba(255,216,138,.18);
}
.sm-form input[type=text]{text-transform:uppercase;letter-spacing:.06em}
.sm-counter{margin:-8px 0 4px;color:#94a4b8;font-size:.78rem;text-align:right}
.sm-hint{margin:-8px 0 4px;color:#94a4b8;font-size:.82rem}

.sm-pay{border:0;margin:8px 0;padding:0;display:grid;gap:10px}
.sm-pay legend{font-family:"InterNebula",sans-serif;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#94a4b8;font-weight:700;padding:0;margin-bottom:6px}
.sm-pay-option{display:flex;align-items:flex-start;gap:12px;cursor:pointer;
  padding:14px 16px;border:1px solid rgba(124,245,255,.18);border-radius:14px;
  background:rgba(2,4,12,.5);transition:border-color .2s,background .2s;
}
.sm-pay-option:hover{border-color:rgba(255,216,138,.5)}
.sm-pay-option input{margin-top:4px;accent-color:#ffd88a}
.sm-pay-option input:checked + .sm-pay-card{color:#ffd88a}
.sm-pay-option:has(input:checked){border-color:#ffd88a;background:rgba(255,216,138,.06)}
.sm-pay-card{display:flex;flex-direction:column;gap:2px}
.sm-pay-card strong{font-family:"InterNebula",sans-serif;font-weight:700;font-size:.96rem;color:#fff}
.sm-pay-card em{font-style:normal;color:#94a4b8;font-size:.84rem}
.sm-pay-disabled{opacity:.4;cursor:not-allowed}

.sm-submit{font-size:1rem;padding:14px 24px;justify-content:center;width:100%}
.sm-error{margin:6px 0 0;color:#ff9b8a;font-size:.92rem}

.sm-crypto-box{
  padding:22px;border:1px solid rgba(255,216,138,.36);border-radius:18px;
  background:rgba(2,4,12,.7);margin:18px 0;
}
.sm-crypto-label{margin:0 0 4px;font-family:"InterNebula",sans-serif;font-size:.72rem;letter-spacing:.12em;color:#94a4b8;text-transform:uppercase;font-weight:700}
.sm-crypto-addr,.sm-crypto-amount{
  margin:0 0 14px;font-family:ui-monospace,"InterNebula",monospace;
  font-size:1rem;color:#fff;word-break:break-all;
  padding:12px 14px;border-radius:10px;background:rgba(124,245,255,.06);
}
.sm-crypto-amount{font-size:1.5rem;color:#ffd88a;font-weight:700;text-align:center}
.sm-poll-status{margin:14px 0 0;color:#7cf5ff;font-size:.92rem;text-align:center}

.sm-compiling,.sm-done{text-align:center;padding:20px 0}
.sm-spinner{
  width:64px;height:64px;margin:24px auto;
  border:3px solid rgba(255,216,138,.18);border-top-color:#ffd88a;border-radius:50%;
  animation:smSpin 1.4s linear infinite;
}
@keyframes smSpin{to{transform:rotate(360deg)}}
.sm-compile-text{color:#dbe4ee;line-height:1.6}

.sm-footer{
  max-width:880px;margin:0 auto;padding:20px;text-align:center;color:#94a4b8;font-size:.82rem;
  border-top:1px solid rgba(124,245,255,.10);
}
.sm-footer a{color:#dbe4ee;text-decoration:none;margin:0 8px}
.sm-footer a:hover{color:#ffd88a}

[hidden]{display:none !important}
