/* SPDX-License-Identifier: MIT — the components beyond a first drop (11-brand §10, §13): the Change
   panel, recent drops, banners, the glass box, form fields, the safety code and the send step. App
   pages link it; the home page loads it the first time one of these is shown (ui/more.js). */

/* --- the Change panel -------------------------------------------------------------------------- */
.md-change { display: grid; gap: var(--s-4); padding: var(--s-4) 0 var(--s-2); }
.md-change-h { font: var(--t-h3); }
.md-chips { border: 0; padding: 0; margin: 0; display: grid; gap: var(--s-2); min-width: 0; }
.md-chips legend { font: var(--t-ui); padding: 0; margin-bottom: var(--s-2); }
.md-chip-row { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.md-opt {
  position: relative; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0 var(--s-2);
  min-height: var(--tap); padding: var(--s-2) var(--s-3); border: 1px solid var(--line); font: var(--t-ui); cursor: pointer;
}
.md-opt:has(.md-radio:checked) { background: var(--fg); color: var(--bg); border-color: var(--fg); }
.md-opt:has(.md-radio:focus-visible) { outline: 2px solid var(--focus); outline-offset: 2px; }
.md-opt--off { opacity: .5; cursor: not-allowed; }
.md-radio { position: absolute; width: 1px; height: 1px; opacity: 0; }
.md-opt-note { font: var(--t-small); color: var(--fg-2); }
.md-opt:has(.md-radio:checked) .md-opt-note { color: var(--bg); }
.md-views { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); }
.md-num, .md-input {
  min-height: var(--tap); padding: 0 var(--s-3); border: 1px solid var(--line); border-radius: var(--r-input);
  background: var(--bg-raised); color: var(--fg); font: var(--t-code);
}
.md-num { width: 6ch; text-align: center; }
.md-input { width: 100%; }
.md-pw { display: grid; gap: var(--s-2); }
.md-pw-row { display: flex; gap: var(--s-2); }
.md-label { font: var(--t-ui); }
.md-hint-line, .md-note { font: var(--t-small); color: var(--fg-2); }
.md-sentence { font: var(--t-body); max-width: 60ch; }
.md-field-error { font: var(--t-small); color: var(--exit-text); }
:is(.md-root, .a-page) .a-confirm { display: grid; gap: var(--s-3); padding: var(--s-4); border: 1px solid var(--exit-text); }

/* --- recent drops ------------------------------------------------------------------------------- */
.md-recent summary { display: list-item; padding-block: var(--s-3); font: var(--t-ui); cursor: pointer; }
.md-recent-list { list-style: none; padding: 0; display: grid; }
.md-recent-row {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: var(--s-3);
  padding-block: var(--s-1); border-bottom: 1px solid var(--hair); font: var(--t-small);
}
.md-recent-state { color: var(--fg-2); }

/* --- shared pieces app pages also use (banners, glass box, toast, send step) ------------------- */
:is(.md-root, .a-page) .a-banner {
  display: grid; grid-template-columns: auto 1fr; gap: var(--s-3); padding: var(--s-4);
  border-radius: var(--r-input); background: var(--bg-sunken); color: var(--fg);
}
:is(.md-root, .a-page) .a-banner > .a-icon { color: var(--exit-text); }
:is(.md-root, .a-page) .a-banner > .a-icon { margin-top: 2px; }
:is(.md-root, .a-page) .a-banner-ghost { display: block; inline-size: 44px; filter: var(--glow); }
/* on the home the big ghost already shows its oops pose */
.home .md-root .a-banner-ghost { display: none; }
.home .md-root .a-banner:has(> .a-banner-ghost) { grid-template-columns: minmax(0, 1fr); }
:is(.md-root, .a-page) .a-banner-body { display: grid; gap: var(--s-3); justify-items: start; min-width: 0; }
:is(.md-root, .a-page) .a-tech summary { font: var(--t-small); cursor: pointer; color: var(--fg-2); }
:is(.md-root, .a-page) .a-tech p { font: var(--t-small); font-family: var(--font-code); overflow-wrap: anywhere; }

:is(.md-root, .a-page) .a-known { display: grid; gap: var(--s-3); padding: var(--s-5) 0; border-top: 1px solid var(--hair); min-width: 0; }
:is(.md-root, .a-page) .a-known h3 { font: var(--t-h3); }
:is(.md-root, .a-page) .a-known h4 { font: var(--t-ui); margin-top: var(--s-3); }
:is(.md-root, .a-page) .a-known-sub, :is(.md-root, .a-page) .a-known-what { font: var(--t-small); color: var(--fg-2); }
:is(.md-root, .a-page) .a-known dl { display: grid; }
:is(.md-root, .a-page) .a-known-row {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-1); padding-block: var(--s-2); border-bottom: 1px solid var(--hair);
}
@media (min-width: 640px) { :is(.md-root, .a-page) .a-known-row { grid-template-columns: 14rem minmax(0, 1fr); gap: var(--s-4); } }
:is(.md-root, .a-page) .a-known-row dt code { font: var(--t-small); font-family: var(--font-code); }
:is(.md-root, .a-page) .a-known-row dd { display: grid; gap: 2px; min-width: 0; }
:is(.md-root, .a-page) .a-known-value { font: var(--t-code); overflow-wrap: anywhere; }
:is(.md-root, .a-page) .a-known-never { padding-left: 1.25em; font: var(--t-small); }
:is(.md-root, .a-page) .a-known-foot { display: grid; gap: var(--s-2); font: var(--t-small); color: var(--fg-2); max-width: 70ch; }
:is(.md-root, .a-page) .a-known-end { font: var(--t-body); color: var(--fg); }
:is(.md-root, .a-page) .a-known-stored { display: grid; gap: var(--s-2); justify-items: start; }

:is(.md-root, .a-page) .a-label { font: var(--t-ui); }
:is(.md-root, .a-page) .a-caption { font: var(--t-small); color: var(--fg-2); max-width: 70ch; }
:is(.md-root, .a-page) .a-input {
  width: 100%; min-height: var(--tap); padding: var(--s-2) var(--s-3); border: 1px solid var(--line); border-radius: var(--r-input);
  background: var(--bg-raised); color: var(--fg); font: var(--t-body);
}
:is(.md-root, .a-page) textarea.a-input { resize: vertical; font: var(--t-code); overflow-wrap: anywhere; }
:is(.md-root, .a-page) .a-input.mono { font: var(--t-code); }
:is(.md-root, .a-page) .a-field-msg { font: var(--t-small); min-height: 1.45em; }
:is(.md-root, .a-page) .a-field-msg--bad { color: var(--exit-text); }
:is(.md-root, .a-page) .a-warn { display: flex; gap: var(--s-2); align-items: flex-start; font: var(--t-small); }
:is(.md-root, .a-page) .a-working { font: var(--t-code); color: var(--fg-2); }
:is(.md-root, .a-page) .a-more { display: inline-flex; align-items: center; gap: var(--s-1); min-height: var(--tap); font: var(--t-ui); }
:is(.md-root, .a-page) .a-tx { font: var(--t-code); color: var(--fg-2); }
:is(.md-root, .a-page) .a-testnet { font: var(--t-small); color: var(--fg-2); }

/* The safety code: 12 emoji in a 3 × 4 grid. */
:is(.md-root, .a-page) .a-safety {
  display: inline-grid; grid-template-columns: repeat(4, 1.6em); gap: var(--s-2) var(--s-3);
  font-size: 26px; line-height: 1.2; text-align: center;
}
:is(.md-root, .a-page) .a-safety--large { font-size: 34px; }

/* The send step (also inside the card on the home page). */
:is(.md-root, .a-page) .a-send { display: grid; gap: var(--s-3); padding-top: var(--s-4); border-top: 1px solid var(--hair); min-width: 0; }
:is(.md-root, .a-page) .a-send h3 { font: var(--t-h3); }
:is(.md-root, .a-page) .a-send-safety { display: grid; gap: var(--s-2); justify-items: start; }
:is(.md-root, .a-page) .a-radios { border: 0; padding: 0; margin: 0; display: grid; gap: var(--s-2); min-width: 0; }
:is(.md-root, .a-page) .a-radios--row { display: flex; flex-wrap: wrap; gap: 0 var(--s-5); }
:is(.md-root, .a-page) .a-radios--row legend { width: 100%; }
:is(.md-root, .a-page) .a-radios legend { font: var(--t-ui); padding: 0; margin-bottom: var(--s-1); }
:is(.md-root, .a-page) .a-opt { display: flex; align-items: flex-start; gap: var(--s-3); min-height: var(--tap); padding: var(--s-2) 0; cursor: pointer; }
:is(.md-root, .a-page) .a-radio { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--fg); flex: none; }
:is(.md-root, .a-page) .a-opt-text { display: grid; gap: 2px; }
:is(.md-root, .a-page) .a-opt-hint { font: var(--t-small); color: var(--fg-2); }
:is(.md-root, .a-page) .a-send-status { display: grid; gap: var(--s-3); }
:is(.md-root, .a-page) .a-sent { display: grid; gap: var(--s-2); justify-items: start; }
:is(.md-root, .a-page) .a-steps { list-style: none; padding: 0; display: grid; gap: var(--s-1); }
:is(.md-root, .a-page) .a-step { display: flex; align-items: center; gap: var(--s-2); font: var(--t-ui); color: var(--fg-2); }
:is(.md-root, .a-page) .a-step::before { content: ""; width: 10px; height: 10px; border: 1px solid var(--line); flex: none; }
:is(.md-root, .a-page) .a-step--done { color: var(--fg); }
:is(.md-root, .a-page) .a-step--done::before { background: var(--fg); border-color: var(--fg); }
:is(.md-root, .a-page) .a-step--now { color: var(--fg); font-weight: 600; }

/* --- "See what our server got" (More rules): the file beside the noise our server stores -------- */
.md-server { display: grid; gap: var(--s-3); min-width: 0; padding-top: var(--s-3); }
.md-strip { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-3); max-width: 420px; }
.md-tile { display: grid; gap: var(--s-2); margin: 0; min-width: 0; }
.md-tile > canvas, .md-own { width: 100%; aspect-ratio: 1; border-radius: var(--r-input); }
.md-noise { image-rendering: pixelated; }
.md-own-img { object-fit: cover; }
.md-own { margin: 0; padding: var(--s-3); background: var(--bg-sunken); overflow: hidden; overflow-wrap: anywhere; }
.md-own-ext { display: grid; place-items: center; font: var(--t-h2); text-align: center; }
.md-own-text { font: var(--t-code); white-space: pre-wrap; }
.md-strip-cap { font: var(--t-small); color: var(--fg-2); max-width: 56ch; }

/* --- the secret word on the result (its confirm and its box show after this file loads) ----------- */
.md-confirm, .md-word { display: grid; gap: var(--s-2); padding: var(--s-4); border-radius: var(--r-input); background: var(--bg-sunken); }
.md-confirm p { font: var(--t-ui); }
.md-word { background: var(--mark); color: var(--on-mark); }
.md-code { display: block; margin-top: 4px; font: var(--t-code); font-size: 18px; overflow-wrap: anywhere; }
.md-muted { font: var(--t-small); opacity: .85; }

/* the send step's summary on /send */
.md-stage:has(> .md-summary) { min-height: 0; }
.md-summary { display: grid; gap: var(--s-1); align-content: center; padding: var(--s-5); border-radius: var(--r-panel); background: var(--bg-raised); box-shadow: var(--shadow); }
.md-locked { font: var(--t-h3); }
.md-card-meta { font: var(--t-small); color: var(--fg-2); overflow-wrap: anywhere; }
