/* ── FORM ── */
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.form-group { display: flex; flex-direction: column; gap: 7px; }

.label { font-size: 13px; font-weight: 600; color: #fff; display: flex; align-items: center; gap: 3px; }
.req { color: #ff8080; font-size: 14px; }
.field-row { display: flex; justify-content: space-between; align-items: center; margin-top: 3px; }
.field-hint { font-size: 11px; color: rgba(255,255,255,0.55); }
.char { font-size: 11px; color: rgba(255,255,255,0.45); }

.inp {
  background: rgba(0,0,0,0.22); border: 1.5px solid rgba(255,255,255,0.3);
  border-radius: 9px; color: #fff; font-size: 14px; font-weight: 500;
  padding: 11px 13px; outline: none; font-family: 'Inter', sans-serif;
  transition: border-color 0.15s; width: 100%;
}
.inp:focus { border-color: rgba(255,255,255,0.85); background: rgba(0,0,0,0.28); }
.inp::placeholder { color: rgba(255,255,255,0.35); font-weight: 400; }
textarea.inp { line-height: 1.6; resize: none; }

/* IMAGE UPLOAD */
.img-box {
  background: rgba(0,0,0,0.18); border: 2px dashed rgba(255,255,255,0.3);
  border-radius: 9px; min-height: 150px; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 7px;
  cursor: pointer; transition: all 0.15s; position: relative; overflow: hidden;
}
.img-box:hover { border-color: rgba(255,255,255,0.65); background: rgba(0,0,0,0.24); }
.img-box .ico { font-size: 26px; color: rgba(255,255,255,0.4); }
.img-box .t1 { font-size: 13px; color: #fff; font-weight: 500; }
.img-box .t2 { font-size: 11px; color: rgba(255,255,255,0.5); }
#img-prev { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: rgba(0,0,0,0.3); display: none; }

/* Most wallets show a token's icon in a circular frame with the
   equivalent of object-fit:cover, cropping whatever doesn't fit — the
   full-image preview above (object-fit:contain, nothing cropped) never
   shows a user that in advance, so a non-square/off-center image can
   look fine at upload time and still get its subject cut off later in a
   real wallet, with no way to fix it after (Irys storage is immutable
   once uploaded). This is a second, small, accurate preview next to the
   real one — same source image, rendered the way a wallet actually
   would — so that mismatch is visible before submitting, not after. */
.img-wallet-preview {
  display: none; flex-direction: column; align-items: center; gap: 6px;
  flex-shrink: 0; width: 74px;
}
#img-prev-wallet {
  width: 56px; height: 56px; border-radius: 50%; object-fit: cover;
  border: 1.5px solid rgba(255,255,255,0.3); background: rgba(0,0,0,0.3);
}
.img-wallet-preview-label { font-size: 10px; color: rgba(255,255,255,0.55); text-align: center; line-height: 1.3; }

/* ── SECURITY BLOCK ── */
.sec-block {
  background: rgba(0,0,0,0.12); border: 1px solid rgba(255,255,255,0.15);
  border-radius: 12px; padding: 20px; margin-bottom: 22px;
}
.sec-title {
  font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.7);
  text-transform: uppercase; letter-spacing: 0.9px; margin-bottom: 16px;
  display: flex; align-items: center; gap: 7px; flex-wrap: wrap;
}
.always-on {
  background: color-mix(in srgb, var(--success) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--success) 40%, transparent);
  color: var(--success); font-size: 10px; padding: 2px 7px; border-radius: 5px;
  font-weight: 700; letter-spacing: 0; text-transform: none;
}
.sec-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.sec-item { display: flex; flex-direction: column; gap: 5px; }
.sec-row { display: flex; align-items: center; gap: 9px; }
.sec-name { font-size: 13px; font-weight: 600; color: #fff; }
.sec-desc { font-size: 11px; color: rgba(255,255,255,0.6); line-height: 1.5; padding-left: 29px; }

.sec-check {
  width: 20px; height: 20px; flex-shrink: 0; border-radius: 50%;
  background: color-mix(in srgb, var(--success) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--success) 50%, transparent);
  display: flex; align-items: center; justify-content: center;
}
.sec-check svg { width: 12px; height: 12px; fill: var(--success); display: block; }
.sec-lock { margin-left: auto; flex-shrink: 0; display: flex; align-items: center; }
.sec-lock svg { width: 13px; height: 13px; fill: rgba(255,255,255,0.4); display: block; }

/* ── SOCIALS ── */
.meta-divider { border-top: 1px solid rgba(255,255,255,0.15); margin: 22px 0; }
.meta-title { font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 16px; }
.soc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.soc-grp { display: flex; flex-direction: column; gap: 7px; }
.soc-wrap {
  display: flex; align-items: center; background: rgba(0,0,0,0.22);
  border: 1.5px solid rgba(255,255,255,0.3); border-radius: 9px; overflow: hidden; transition: border-color 0.15s;
}
.soc-wrap:focus-within { border-color: rgba(255,255,255,0.85); }
.soc-pre {
  width: 42px; height: 42px; display: flex; align-items: center; justify-content: center;
  border-right: 1px solid rgba(255,255,255,0.18); flex-shrink: 0;
}
.soc-pre.tw { background: #000; }
.soc-pre.tg { background: #229ED9; }
.soc-pre.dc { background: #5865F2; }
.soc-pre.wb { background: rgba(255,255,255,0.15); }
.soc-pre svg { width: 18px; height: 18px; fill: #fff; }
.soc-wrap input {
  background: none; border: none; outline: none; color: #fff; font-size: 13px;
  padding: 0 12px; flex: 1; height: 42px; font-family: 'Inter', sans-serif;
}
.soc-wrap input::placeholder { color: rgba(255,255,255,0.35); }

/* ── TAGS ── */
.tags-wrap { margin-top: 20px; }
.tags-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 7px; }
.tags-count { font-size: 12px; color: rgba(255,255,255,0.5); font-weight: 600; }
.tags-input-row {
  display: flex; align-items: center; background: rgba(0,0,0,0.22);
  border: 1.5px solid rgba(255,255,255,0.3); border-radius: 9px;
  min-height: 46px; padding: 5px 10px; flex-wrap: wrap; gap: 5px; cursor: text; transition: border-color 0.15s;
}
.tags-input-row:focus-within { border-color: rgba(255,255,255,0.85); }
.tag-chip {
  display: flex; align-items: center; gap: 4px;
  background: rgba(255,255,255,0.18); border: 1px solid rgba(255,255,255,0.3);
  border-radius: 18px; padding: 3px 9px 3px 10px; font-size: 12px; font-weight: 600; color: #fff;
}
.tag-chip .rm { cursor: pointer; opacity: 0.65; font-size: 14px; line-height: 1; margin-left: 1px; }
.tag-chip .rm:hover { opacity: 1; }
.tags-input {
  background: none; border: none; outline: none; color: #fff; font-size: 13px;
  font-family: 'Inter', sans-serif; min-width: 100px; flex: 1; padding: 3px 0;
}
.tags-input::placeholder { color: rgba(255,255,255,0.38); }
.tags-hint { margin-top: 7px; font-size: 11px; color: rgba(255,255,255,0.5); line-height: 1.9; }
.tag-suggest {
  display: inline-block; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.22);
  border-radius: 12px; padding: 2px 9px; font-size: 11px; color: rgba(255,255,255,0.75);
  margin: 1px 2px; cursor: pointer; transition: all 0.12s;
}
.tag-suggest:hover { background: rgba(255,255,255,0.2); color: #fff; }

/* ── FORM CARD ONLY: white paper on the chain's colored page ── */
#form-card {
  background: #ffffff;
  border: 1px solid #e6e6ee;
  box-shadow: 0 10px 30px rgba(0,0,0,0.18);
}
#form-card .card-title { color: #0e0e14; }
#form-card .label      { color: #2a2a38; }
#form-card .req        { color: #d0342c; }

#form-card .inp, #form-card textarea.inp, #form-card .tags-input {
  background: #fbfbfe;
  border: 1px solid #dcdce8;
  color: #0e0e14;
}
#form-card .inp::placeholder { color: #9696a8; }
#form-card .inp:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 15%, transparent);
}
#form-card .field-hint,
#form-card .char,
#form-card .tags-hint,
#form-card .tags-count,
#form-card .meta-title { color: #6a6a7c; }

#form-card .img-box     { background: #fbfbfe; border: 1px dashed #d4d4e4; }
#form-card .img-box .t1 { color: #2a2a38; }
#form-card .img-box .t2 { color: #7a7a8e; }
#form-card .img-box .ico { color: #9696a8; }

#form-card .meta-divider { border-top: 1px solid #ececf4; }

#form-card .tag-chip {
  background: color-mix(in srgb, var(--accent) 12%, white);
  color: color-mix(in srgb, var(--accent) 65%, black);
}
#form-card .tag-chip button { color: inherit; }

#form-card .create-btn-sub { color: rgba(255,255,255,0.85); }

#form-card .sec-block { background: #f7f7fb; border: 1px solid #e6e6ee; margin-top: 28px; }
#form-card .sec-title, #form-card .sec-title svg,
#form-card .field-hint, #form-card .char, #form-card .tags-hint,
#form-card .tags-count, #form-card .sec-desc { color: #4a4a5c !important; }
#form-card .sec-title svg { fill: #4a4a5c !important; }
#form-card .sec-name { color: #0e0e14 !important; }
#form-card .sec-lock svg { fill: #b8b8ca; }

#form-card .meta-title { color: #2a2a38; }
#form-card .meta-title span, #form-card .label span { color: #7a7a8e !important; opacity: 1 !important; }

#form-card .soc-wrap { background: #fbfbfe; border: 1.5px solid #dcdce8; }
#form-card .soc-wrap:focus-within { border-color: var(--accent); }
#form-card .soc-wrap input { color: #0e0e14; }
#form-card .soc-wrap input::placeholder { color: #9696a8; }
#form-card .soc-pre.wb { background: #eeeef6; }
#form-card .soc-pre.wb svg { fill: #5c5c70; }

#form-card .tags-input-row { background: #fbfbfe; border: 1.5px solid #dcdce8; }
#form-card .tags-input-row:focus-within { border-color: var(--accent); }
#form-card .tags-input { color: #0e0e14; }
#form-card .tags-input::placeholder { color: #9696a8; }

#form-card .always-on {
  background: color-mix(in srgb, var(--success) 85%, black 10%);
  border: 1px solid color-mix(in srgb, var(--success) 65%, black 20%);
  color: #ffffff; font-weight: 800; font-size: 11px; letter-spacing: 0.2px;
}

#form-card .tag-suggest { background: #eeeef6; border: 1px solid #dcdce8; color: #2a2a38; }
#form-card .tag-suggest:hover {
  background: color-mix(in srgb, var(--accent) 12%, white);
  color: color-mix(in srgb, var(--accent) 65%, black);
  border-color: color-mix(in srgb, var(--accent) 30%, white);
}

#form-card .sec-check { width: 22px; height: 22px; background: none !important; border: none !important; font-size: 16px; line-height: 1; }
