/* =========================================================
   Hash Generator – Styles (Basis: assets/css/tool-ui.css)
   ========================================================= */
.hg-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 18px; align-items: start; }
.hg-grid > .tu-card + .tu-card { margin-top: 0; }
.hg-in, .hg-out { min-width: 0; }
.hg-tabs { margin: 0; padding: 0; border: 0; }
.hg-meta { font-size: 12.5px; color: var(--muted); font-variant-numeric: tabular-nums; }
.hg-area {
  display: block; width: 100%; height: 220px; padding: 14px 16px; border-radius: 14px; resize: vertical; margin-bottom: 8px;
  font-family: var(--mono); font-size: 14px; line-height: 1.6; color: var(--ink); background: #fff; border: 1.5px solid rgba(15,19,48,.12); outline: 0;
}
.hg-area:focus { border-color: var(--blue); box-shadow: 0 0 0 4px rgba(91,140,255,.15); }
.hg-drop {
  position: relative; display: grid; justify-items: center; gap: 8px; padding: 34px 20px; border-radius: 16px; text-align: center; cursor: pointer;
  background: #fff; border: 2px dashed rgba(15,19,48,.15); transition: border-color .2s, background .2s;
}
.hg-drop:hover, .hg-drop.is-drop { border-color: var(--teal, #22c08c); background: rgba(34,192,140,.05); }
.hg-drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.hg-drop:focus-within { outline: 2px solid #8fa8ff; outline-offset: 2px; }
.hg-drop strong { color: var(--ink); overflow-wrap: anywhere; }
.hg-drop span:not(.icon-tile) { font-size: 13px; color: var(--muted); }
.hg-opts { display: grid; gap: 14px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(15,19,48,.07); }
.hg-opt { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.hg-key[hidden] { display: none; }

/* Ergebnisse */
.hg-busy { font-size: 12.5px; font-weight: 600; color: var(--blue); }
.hg-busy[hidden] { display: none; }
.hg-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.hg-item { padding: 12px 14px; border-radius: 14px; background: #fff; border: 1px solid rgba(15,19,48,.08); }
.hg-item__head { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.hg-item__head strong { font-size: 14px; color: var(--ink); }
.hg-item__head small { margin-left: auto; font-size: 12px; color: var(--muted); }
.hg-tag { padding: 2px 8px; border-radius: 6px; font-size: 11px; font-weight: 700; }
.hg-tag--ok { color: #0f7a52; background: rgba(34,192,140,.14); }
.hg-tag--weak { color: #a8561a; background: rgba(240,160,75,.16); }
.hg-row { display: flex; align-items: flex-start; gap: 10px; }
.hg-row code { flex: 1; min-width: 0; font-family: var(--mono); font-size: 13px; line-height: 1.55; color: var(--ink); overflow-wrap: anywhere; word-break: break-all; }
.hg-empty { color: #9aa0bd; font-family: Inter, sans-serif; font-style: italic; }
.hg-copy { flex-shrink: 0; padding: 4px 10px; border-radius: 8px; font-size: 12px; font-weight: 600; color: var(--muted); background: rgba(15,19,48,.05); }
.hg-copy:hover { color: var(--ink); background: rgba(91,140,255,.12); }
.hg-sri { margin-top: 14px; padding: 12px 14px; border-radius: 14px; background: rgba(155,123,255,.07); border: 1px solid rgba(155,123,255,.25); }
.hg-sri[hidden] { display: none; }
.hg-sri__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-bottom: 6px; }
.hg-sri__head strong { font-size: 14px; color: var(--ink); }
.hg-sri__head span { font-size: 12px; color: var(--muted); }

/* Vergleich */
.hg-cmp { margin-top: 18px; display: grid; gap: 12px; }
.hg-cmp .tu-card__head { margin-bottom: 0; }
.hg-verdict:empty { display: none; }
.hg-v { padding: 12px 16px; border-radius: 14px; font-size: 14.5px; }
.hg-v--ok { color: #0b5e3f; background: rgba(34,192,140,.12); border: 1px solid rgba(34,192,140,.35); }
.hg-v--bad { color: #8f1d20; background: rgba(209,52,56,.07); border: 1px solid rgba(209,52,56,.3); }
.hg-v--info { color: var(--muted); background: rgba(15,19,48,.04); }

@media (max-width: 1000px) {
  .hg-grid { grid-template-columns: minmax(0, 1fr); }
}
