/* =====================================================================
   THE SEAL - section 04 (How It Works) hands-on companion to step ii
   A sealed .ergview package card: per-entry SHA-256 fingerprints and one
   digest, computed live in the browser (crypto.subtle). Edit the finding
   and the seal reads Mismatch; put it back and it verifies again; add a
   review comment and it stays Verified (unsealed region).
   Built by js/ergosphere-seal.js. Quiet by design: nothing moves until
   the visitor touches it.
   ===================================================================== */

.ess_band { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; align-items: start; margin: 120px 0 0; }

/* step i label above the HTA shot, so section 04 reads i -> ii in order */
.ess_bridge { text-align: center; margin: 80px auto 30px; max-width: 760px; }
.ess_bridge .esx_kicker { justify-content: center; }
.ess_bridge h4 { font-family: 'Poppins', sans-serif; font-size: 28px; font-weight: 700; color: #fff; line-height: 1.25; margin: 0; }
.ess_bridge h4 span { color: #00d4ff; }
.ess_bridge + .esi_heroshot { margin-top: 0; }
.ess_band[hidden] { display: none; }
.ess_copy { padding-top: 28px; }
.ess_copy h4 { font-family: 'Poppins', sans-serif; font-size: 28px; font-weight: 700; color: #fff; line-height: 1.25; margin: 0 0 18px; }
.ess_copy h4 span { color: #00d4ff; }
.ess_copy p { font-size: 15px; line-height: 1.75; color: rgba(255,255,255,.72); margin: 0 0 16px; }
.ess_copy p strong { color: #fff; font-weight: 600; }
.ess_copy .ess_link { margin-top: 22px; }
.ess_copy .ess_link a { color: #00d4ff; text-decoration: none; border-bottom: 1px solid rgba(0,212,255,.4); transition: border-color .3s ease; }
.ess_copy .ess_link a:hover { border-color: #00d4ff; }

.ess_card { font-family: 'Poppins', sans-serif; }
.ess_body { padding: 20px 22px 18px; }
.ess_mono { font-family: 'IBM Plex Mono', ui-monospace, Consolas, monospace; }

/* ---------- status strip ---------- */
.ess_status { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 14px 16px; border-radius: 8px;
  background: rgba(74,222,128,.07); border: 1px solid rgba(74,222,128,.35); transition: background .35s ease, border-color .35s ease; }
.ess_badge { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; color: #4ade80; transition: color .35s ease; }
.ess_badge::before { content: ''; width: 9px; height: 9px; border-radius: 50%; background: currentColor; box-shadow: 0 0 10px currentColor; }
.ess_why { flex: 1 1 200px; font-size: 13px; line-height: 1.5; color: rgba(255,255,255,.7); }
.ess_digest { flex: 1 1 100%; font-size: 11.5px; line-height: 1.55; color: rgba(255,255,255,.5); word-break: break-all; }
.ess_digest span { display: block; }
.ess_digest i { font-style: normal; display: inline-block; min-width: 56px; }
.ess_digest b { font-weight: 600; color: rgba(255,255,255,.85); }
.ess_card.is-bad .ess_status { background: rgba(248,113,113,.08); border-color: rgba(248,113,113,.45); }
.ess_card.is-bad .ess_badge { color: #f87171; }

/* ---------- entries ---------- */
.ess_label { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 20px 0 8px;
  font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,.45); }
.ess_label em { font-style: normal; font-weight: 400; letter-spacing: .3px; text-transform: none; color: rgba(255,255,255,.4); }
.ess_rows { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.07); }
.ess_row { display: flex; align-items: center; gap: 12px; padding: 0 4px 0 0; border-bottom: 1px solid rgba(255,255,255,.07); transition: background .3s ease; }
.ess_head { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 10px; padding: 10px 4px; text-align: left; }
.ess_card button.ess_toggle { appearance: none; cursor: pointer; border: 0; margin: 0; font: inherit; letter-spacing: inherit; line-height: inherit; background: transparent !important; color: inherit !important; }
.ess_card button.ess_toggle:hover .ess_name { color: #fff; }
.ess_card button.ess_toggle:hover .ess_caret { border-color: #00d4ff; }
.ess_caret { flex: none; width: 7px; height: 7px; margin: 0 3px 0 4px; border-right: 1.5px solid rgba(0,212,255,.7); border-bottom: 1.5px solid rgba(0,212,255,.7);
  transform: rotate(-45deg); transition: transform .25s ease, border-color .2s ease; }
.ess_caret.is-none { border-color: transparent; }
.ess_toggle[aria-expanded="true"] .ess_caret { transform: rotate(45deg) translate(-2px, -2px); }
.ess_row .ess_name { min-width: 0; font-size: 13.5px; color: rgba(255,255,255,.85); transition: color .2s ease; }
.ess_row .ess_hash { flex: none; font-size: 12px; color: rgba(0,212,255,.8); letter-spacing: .3px; }
.ess_row .ess_tick { flex: none; width: 16px; text-align: center; font-size: 12px; color: #4ade80; }
.ess_row.is-bad { background: rgba(248,113,113,.07); }
.ess_row.is-bad .ess_hash { color: #f87171; }
.ess_row.is-bad .ess_tick { color: #f87171; }

/* ---------- editable panels behind each arrow ---------- */
.ess_panel { margin: 0; padding: 12px 14px 14px 30px; border-left: 2px solid rgba(0,212,255,.35); border-bottom: 1px solid rgba(255,255,255,.07);
  background: rgba(0,212,255,.035); animation: ess_in .25s ease both; }
.ess_panel[hidden] { display: none; }
.ess_panel.is-bad { border-left-color: #f87171; }
.ess_fid { display: block; font-size: 11px; font-weight: 600; color: #00d4ff; letter-spacing: .5px; margin-bottom: 6px; }
.ess_card input.ess_in { width: 100%; box-sizing: border-box; margin: 0 0 12px; padding: 8px 10px; border-radius: 4px; height: auto;
  font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 500;
  background: #0d1a2d !important; color: #fff !important; border: 1px solid rgba(255,255,255,.14) !important; box-shadow: none !important; outline: none; }
.ess_card input.ess_in:focus { border-color: #00d4ff !important; background: #0d1a2d !important; color: #fff !important; }
.ess_chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ess_chips > span { font-size: 12px; color: rgba(255,255,255,.5); margin-right: 4px; }
.ess_card button.ess_chip { appearance: none; cursor: pointer; font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 500;
  padding: 5px 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); background: transparent !important; color: rgba(255,255,255,.7) !important;
  transition: border-color .2s ease, color .2s ease, background .2s ease; }
.ess_card button.ess_chip:hover { border-color: rgba(0,212,255,.6); color: #fff !important; }
.ess_card button.ess_chip[aria-pressed="true"] { background: rgba(0,212,255,.14) !important; border-color: #00d4ff; color: #00d4ff !important; }
.ess_card p.ess_out { margin: 12px 0 0; font-size: 12.5px; color: #fbbf24 !important; letter-spacing: .2px; }

/* ---------- unsealed region ---------- */
.ess_notes { list-style: none; margin: 0; padding: 0; }
.ess_notes li { padding: 9px 12px; margin: 0 0 6px; border-radius: 6px; background: rgba(255,255,255,.035); border: 1px dashed rgba(255,255,255,.14);
  font-size: 13px; line-height: 1.5; color: rgba(255,255,255,.78); animation: ess_in .35s ease both; }
.ess_notes li b { display: block; font-size: 11px; font-weight: 600; color: rgba(255,255,255,.5); letter-spacing: .3px; margin-bottom: 2px; }
.ess_notes .ess_empty { border-style: dashed; color: rgba(255,255,255,.4); background: transparent; animation: none; }
@keyframes ess_in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

.ess_ctrls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-top: 12px; }
.ess_card button.ess_add { appearance: none; cursor: pointer; font-family: 'Poppins', sans-serif; font-size: 13px; font-weight: 500;
  padding: 8px 16px; border-radius: 4px; border: 1px solid #00d4ff; background: transparent !important; color: #00d4ff !important; transition: background .2s ease, color .2s ease; }
.ess_card button.ess_add:hover { background: #00d4ff !important; color: #062033 !important; }
.ess_card button.ess_reset { appearance: none; cursor: pointer; font-family: 'Poppins', sans-serif; font-size: 12.5px; padding: 3px 0;
  border: 0; border-bottom: 1px solid rgba(255,255,255,.25); background: transparent !important; color: rgba(255,255,255,.6) !important; }
.ess_card button.ess_reset:hover { color: #fff !important; border-bottom-color: #fff; }
.ess_card button:focus-visible { outline: 2px solid #00d4ff; outline-offset: 3px; }

.ess_card p.ess_scope { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.07); font-size: 12px; line-height: 1.6; color: rgba(255,255,255,.45) !important; }

@media (max-width: 1040px) {
  .ess_band { grid-template-columns: minmax(0, 1fr); gap: 32px; margin: 64px 0 0; }
  .ess_bridge { margin-top: 56px; }
}
@media (max-width: 560px) {
  .ess_body { padding: 16px 14px 14px; }
  .ess_copy h4, .ess_bridge h4 { font-size: 23px; }
  .ess_row .ess_hash { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .ess_notes li, .ess_panel { animation: none; }
  .ess_caret { transition: none; }
  .ess_status, .ess_badge, .ess_row { transition: none; }
}
