/* Dialog */
.overlay{position:fixed;inset:0;z-index:60;background:rgba(5,3,8,.75);backdrop-filter:blur(12px);display:none;align-items:center;justify-content:center;padding:24px;animation:fade .2s}
.overlay.open{display:flex}
@keyframes fade{from{opacity:0}to{opacity:1}}
.dialog{width:100%;max-width:520px;border-radius:20px;padding:22px;
  background:linear-gradient(180deg, rgba(15,10,22,.98), rgba(5,6,10,.98));
  border:1px solid var(--line-strong);
  box-shadow:0 40px 100px -20px rgba(0,0,0,.8), 0 0 0 1px rgba(255,120,30,.1);
  animation:popup .3s cubic-bezier(.2,.9,.3,1.2)}
@keyframes popup{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}
.dialog h2{margin:0 0 4px;font-size:22px;font-weight:600;letter-spacing:-0.01em;display:flex;align-items:center;gap:10px}
.dialog .subhead{color:var(--text-dim);font-size:13.5px;margin-bottom:16px;line-height:1.5}
.dialog .error{color:var(--danger);font-size:12.5px;margin-top:8px;min-height:16px;font-family:'JetBrains Mono',monospace}
.field{margin-bottom:12px}
.field label{display:block;font-size:11.5px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}
.input{width:100%;padding:11px 14px;border-radius:10px;background:rgba(0,0,0,.4);
  border:1px solid var(--line);color:var(--text);font-family:inherit;font-size:14px;outline:0;transition:.15s}
.input:focus{border-color:var(--ember);box-shadow:0 0 0 3px rgba(255,120,30,.15)}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dialog-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:12px;flex-wrap:wrap}
.glyph-picker{display:flex;gap:6px;flex-wrap:wrap}
.gpick{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;color:#fff;font-size:16px;transition:.15s;font-family:inherit}
.gpick:hover{transform:scale(1.1)}
.gpick.active{outline:2px solid #fff;outline-offset:2px}
