/* wealth-kit v1 (agent/KIT.md). Overwritten by `kit.ts install`: style a site through these variables
   in its own CSS, never here. It inherits the site's font; text inherits the form's size, so a page keeps its own few sizes (agent/SITE.md); taps ≥ 44px. */
:root {
  --kit-accent: #111;      /* the site's brand colour: buttons, focus, progress */
  --kit-ink: #141414;
  --kit-bg: #fff;
  --kit-line: #8a8a8a;
  --kit-soft: #f2f2f0;
  --kit-err: #b3261e;
  --kit-ok: #1d6b36;
}
/* The kit's hiding wins over a site's own input, label and display rules. */
.kit-sr { position: absolute !important; width: 1px !important; height: 1px !important; min-width: 0 !important; min-height: 0 !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }
form[data-kit] [hidden], .kit-list[hidden], .kit-files [hidden] { display: none !important; }
form[data-kit] [data-kit-done]:not(.kit-on) { display: none !important; } /* until sent, with or without JavaScript */
.kit-hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

form[data-kit] [aria-invalid="true"] { border-color: var(--kit-err); outline-color: var(--kit-err); }
.kit-err, .kit-hint, .kit-status, .kit-progress { font-size: inherit; line-height: 1.4; margin: 6px 0 12px; }
.kit-err { color: var(--kit-err); }
.kit-hint { color: var(--kit-ink); }
.kit-status { color: var(--kit-ok); font-weight: 600; }
.kit-status .kit-err { font-weight: 400; }
.kit-status:focus, [data-kit-done]:focus { outline: none; }
.kit-progress { font-weight: 600; color: var(--kit-ink); }
.kit-note { font-weight: 400; color: var(--kit-ink); }
.kit-link { background: none; border: 0; padding: 0 2px; min-height: 44px; font: inherit; color: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.kit-link:focus-visible { outline: 2px solid var(--kit-accent); outline-offset: 2px; }

/* Address suggestions */
.kit-ac { position: relative; }
.kit-ac > input { width: 100%; margin: 0; }
.kit-list { position: absolute; z-index: 50; left: 0; right: 0; top: 100%; margin: 2px 0 0; padding: 0; list-style: none; background: var(--kit-bg); color: var(--kit-ink); border: 1px solid var(--kit-line); border-radius: 4px; max-height: 340px; overflow-y: auto; box-shadow: 0 8px 20px rgba(0,0,0,.12); }
.kit-list [role="option"] { padding: 12px 14px; min-height: 44px; box-sizing: border-box; font-size: inherit; line-height: 1.35; cursor: pointer; border-bottom: 1px solid var(--kit-soft); }
.kit-list [role="option"][aria-selected="true"], .kit-list [role="option"]:hover { background: var(--kit-soft); box-shadow: inset 3px 0 0 var(--kit-accent); }
.kit-list .kit-sub { display: block; font-weight: 400; }
.kit-list .kit-opt { display: block; }
.kit-list .kit-credit { padding: 6px 14px; font-size: 13px; color: #555; }

/* Photos: the kit aims [data-focus] photos at their subject; a photo that fails to load is hidden */
img[data-focus] { object-fit: cover; }
.kit-gone { display: none !important; }

/* Steps */
fieldset[data-kit-step] { border: 0; padding: 0; margin: 0; min-width: 0; }
.kit-nav { display: flex; gap: 12px; align-items: center; margin-top: 16px; flex-wrap: wrap; }
.kit-back { background: none; border: 1px solid var(--kit-line); color: var(--kit-ink); font: inherit; min-height: 48px; padding: 0 20px; border-radius: 4px; cursor: pointer; }
.kit-back:focus-visible { outline: 2px solid var(--kit-accent); outline-offset: 2px; }

/* Files */
.kit-drop { display: flex; flex-direction: column; gap: 4px; align-items: center; justify-content: center; text-align: center; padding: 22px 16px; margin: 6px 0; border: 2px dashed var(--kit-line); border-radius: 4px; background: var(--kit-soft); color: var(--kit-ink); }
.kit-drop:focus-within, .kit-drop.kit-over { border-color: var(--kit-accent); border-style: solid; }
.kit-drop-main, .kit-drop-sub { font-size: inherit; }
.kit-files { list-style: none; padding: 0; margin: 0 0 12px; }
.kit-files li { display: grid; grid-template-columns: 56px 1fr auto; grid-template-areas: "pic name rm" "pic status rm" "bar bar bar"; gap: 2px 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--kit-soft); font-size: inherit; }
.kit-thumb { grid-area: pic; width: 56px; height: 56px; display: grid; place-items: center; background: var(--kit-soft); border-radius: 4px; overflow: hidden; font-size: 13px; font-weight: 700; }
.kit-thumb img { width: 100%; height: 100%; object-fit: cover; }
.kit-file-name { grid-area: name; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.kit-file-status { grid-area: status; }
.kit-files .kit-link { grid-area: rm; }
.kit-files progress { grid-area: bar; width: 100%; height: 6px; accent-color: var(--kit-accent); }
.kit-files .kit-ok progress { display: none; }
.kit-files .kit-ok .kit-file-status { color: var(--kit-ok); }
.kit-files .kit-bad .kit-file-status { color: var(--kit-err); }

/* Cheer (kit.cheer, agent/SITE.md §2c): confetti, a pop, a toast. Off under reduced motion. */
.kit-confetti { position: fixed; inset: 0; width: 100vw; height: 100vh; pointer-events: none; z-index: 9999; }
.kit-pop { animation: kit-pop .42s cubic-bezier(.3,1.6,.5,1); }
@keyframes kit-pop { 0% { transform: scale(1); } 40% { transform: scale(1.06); } 100% { transform: scale(1); } }
.kit-toast { position: fixed; left: 50%; bottom: max(20px, env(safe-area-inset-bottom)); transform: translate(-50%, 16px); opacity: 0; z-index: 9998;
  max-width: min(92vw, 460px); background: var(--kit-ink); color: #fff; padding: 14px 20px; border-radius: 14px; font-weight: 700; text-align: center;
  box-shadow: 0 8px 24px rgba(0,0,0,.25); transition: opacity .3s, transform .3s; pointer-events: none; }
.kit-toast.kit-on { opacity: 1; transform: translate(-50%, 0); }
@media (prefers-reduced-motion: reduce) { .kit-pop { animation: none; } .kit-toast { transition: none; } }
