:root{
  --brand-primary: var(--ktty-primary, #6E31CF);
  --brand-primary-600: var(--ktty-primary-600, #5926AC);
  --brand-primary-700: var(--ktty-primary-700, #471F89);
  --brand-bg: var(--ktty-bg, #0E041A);
  --brand-surface: var(--ktty-surface, #FFFFFF);
  --brand-border: var(--ktty-border, #ECE8F6);
  --brand-text: var(--ktty-text, #191427);
  --brand-muted: var(--ktty-muted, #7A7393);
  --brand-success: var(--e-a-color-success, #0A875A);
  --brand-danger: var(--e-a-color-danger, #A61E1E);
  --brand-radius: var(--ktty-radius, 20px);
  --brand-shadow: 0 20px 54px rgba(23,18,43,.16);
  --fz-h4: 36px; --fz-body: 16px; --fz-button: 18px; --fz-a: 13px;
}

/* Starfield container */
.ktty-stars{
  position:relative; padding:40px 0; background-color: var(--brand-bg);
  background-image:
    radial-gradient(2px 2px at 25% 35%, rgba(255,255,255,.75), transparent 40%),
    radial-gradient(1.7px 1.7px at 70% 65%, rgba(255,255,255,.6), transparent 40%),
    radial-gradient(1.4px 1.4px at 85% 25%, rgba(255,255,255,.65), transparent 40%),
    radial-gradient(1.2px 1.2px at 35% 85%, rgba(255,255,255,.55), transparent 40%),
    radial-gradient(1px 1px at 55% 50%, rgba(255,255,255,.5), transparent 40%);
  animation: kttyparallax 36s linear infinite;
}
@keyframes kttyparallax{
  0% { background-position: 0 0, 0 0, 0 0, 0 0, 0 0; }
  100%{ background-position: 360px 160px, -260px 120px, 280px -130px, -180px -90px, 200px 70px; }
}

/* Card */
.ktty-card{max-width:960px;margin:0 auto;padding:24px 26px;border-radius:var(--brand-radius);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78));
  border:1px solid var(--brand-border); box-shadow:var(--brand-shadow); backdrop-filter:saturate(140%) blur(6px);
  color:var(--brand-text); font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; font-size:var(--fz-body); line-height:1.6;}

/* Header */
.ktty-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.ktty-brand{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0}
.ktty-logo{height:56px !important;width:auto !important;flex:0 0 auto}
.ktty-title{margin:0;font-weight:800;font-size:var(--fz-h4);line-height:1.1;white-space:nowrap}
.ktty-apr{flex:0 0 auto;text-align:right;min-width:170px;color:var(--brand-muted);font-weight:800;font-size:var(--fz-a)}
.ktty-apr .ktty-price{white-space:nowrap}

/* Mobile wallet links */
.ktty-mobile{margin:8px 0 4px}
.ktty-mobile-title{color:var(--brand-muted); font-weight:800; font-size:var(--fz-a); margin-bottom:6px}
.ktty-mobile-row{display:flex; flex-wrap:wrap; gap:8px}
.ktty-mobile-btn{
  display:inline-block; padding:8px 12px; border-radius:12px; font:800 13px/1 Poppins,system-ui,sans-serif;
  background:#F4ECFF; color:var(--brand-primary-700); border:1.6px solid var(--brand-primary);
  box-shadow:0 6px 14px rgba(90,30,161,.18); text-decoration:none; cursor:pointer;
}
.ktty-mobile-btn.ktty-copy{ background:#fff; border-color:#E6E8EA; color:#515962 }
.ktty-mobile-btn:hover{ filter:saturate(1.07) }

/* Stats */
.ktty-connect{display:flex;align-items:center;gap:14px;margin:10px 0 6px}
.ktty-address-pill{font-weight:800;color:var(--brand-primary-700);background:#efe7ff;border:1px solid #dac8ff;padding:8px 12px;border-radius:999px;font-size:var(--fz-a)}
.ktty-stats{display:flex;gap:18px;margin:8px 0 12px;flex-wrap:wrap}
.ktty-stat{background:#faf7ff;border:1px solid var(--brand-border);border-radius:14px;padding:10px 12px;min-width:180px}
.ktty-stat-label{color:var(--brand-muted);font-weight:700;font-size:.92rem}
.ktty-stat-value{font-weight:900;font-size:1.1rem}
.ktty-stat-sub{color:var(--brand-muted);font-weight:700;font-size:.85rem;margin-top:4px}

/* Inputs & buttons */
.ktty-input-row{display:flex;align-items:center;gap:12px;margin:8px 0 16px}
.ktty-input-row label{min-width:88px;font-weight:700;color:var(--brand-muted)}
.ktty-input-wrap{position:relative;flex:1 1 420px}
#ktty-amount{width:100%;border:1px solid var(--brand-border);border-radius:16px;padding:14px 56px 14px 16px;background:#fbfaff;outline:none;transition: box-shadow .15s,border-color .15s;font-weight:700;font-size:var(--fz-body)}
#ktty-amount:focus{border-color:var(--brand-primary);box-shadow:0 0 0 5px rgba(110,49,207,.25)}
.ktty-suffix{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-weight:800;color:var(--brand-primary-700);background:#efe7ff;border:1px solid #dac8ff;padding:6px 10px;border-radius:12px;font-size:var(--fz-a)}

.ktty-actions{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0 6px}
.ktty-btn{border:none;border-radius:14px;padding:12px 18px;cursor:pointer;font-weight:800;letter-spacing:.2px;position:relative;transition:transform .06s ease,box-shadow .15s ease,filter .15s ease,opacity .15s ease;min-width:144px;font-size:var(--fz-button);font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.ktty-btn .ktty-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.55);border-top-color:#fff;display:none;position:absolute;right:12px;top:50%;transform:translateY(-50%);animation:kttyspin .8s linear infinite}
.ktty-busy .ktty-btn-label{opacity:0}.ktty-busy .ktty-spinner{display:inline-block}
@keyframes kttyspin{to{transform:translateY(-50%) rotate(360deg)}}

.ktty-primary{background:linear-gradient(180deg,var(--brand-primary),var(--brand-primary-600));color:#fff;box-shadow:0 10px 22px rgba(110,49,207,.3)}
.ktty-primary:hover{transform:translateY(-1px)}.ktty-primary:active{transform:translateY(0)}
.ktty-secondary{background:#32145f;color:#fff;box-shadow:0 8px 18px rgba(50,20,95,.25)}
.ktty-outline{background:#F4ECFF;color:var(--brand-primary-700);border:1.8px solid var(--brand-primary);box-shadow:0 6px 14px rgba(90,30,161,.18)}
.ktty-outline:hover{filter:saturate(1.07)}
.ktty-btn:disabled{opacity:.65;cursor:not-allowed;box-shadow:none;color:#777;background:#f7f3ff;border-color:#e1dbf3}

.ktty-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:8px;flex-wrap:wrap}
.ktty-note{font-size:.92rem;color:var(--brand-muted);font-weight:600}
.ktty-msg{min-height:1.2em;font-weight:800;color:var(--brand-success)}