/* ============================================================
   FORGED · covenant.css
   Covenant (contracts & signing) — Iris accent on the Molten shell.
   Loads after site.css + motion.css + nucleus.css. Used by index
   (spotlight) and covenant.html (full page). Iris is Covenant-
   exclusive: strictly scoped to .cov-scope so it is never mixed
   with Voltage (Synapse), Cherenkov (Nucleus) or Ember in one
   section. Covenant's mark is a pressed seal — it never animates.
   ============================================================ */

/* ---- Iris accent helpers (marketing surfaces) ---- */
.iris { color: #AEA2FF; }
.iris-deep { color: #6E56F0; }

.btn-cov { background: #6E56F0; color: #FCFBFF; }
.btn-cov:hover { filter: brightness(1.1); }

.pill.cov { background: rgba(110, 86, 240, 0.14); border-color: rgba(174, 162, 255, 0.34); color: #AEA2FF; }
.pill.cov .dot { background: #AEA2FF; }

.cov-scope { --glow: #6E56F0; }

/* ============================================================
   COVENANT MARK (the Seal) — static, always
   ============================================================ */
.cov-mark { display: block; }
.cov-mark-lg { width: 56px; height: 56px; filter: drop-shadow(0 0 26px rgba(110, 86, 240, 0.4)); }
@media (max-width: 600px) { .cov-mark-lg { width: 46px; height: 46px; } }
.spotlight .copy .product-tag .cov-mark { width: 16px; height: 16px; margin: -2px 0; }
.product-tag.cov { background: rgba(110, 86, 240, 0.12); border-color: rgba(174, 162, 255, 0.32); color: #AEA2FF; }

/* the wordmark is Covenant's only serif — the family's distinguishing detail */
.cov-word { font-family: "Spectral", Georgia, "Times New Roman", serif; font-weight: 700; letter-spacing: -0.005em; }

/* ---- accent flips inside a Covenant scope ---- */
.cov-scope .module-card .mc-ico { background: rgba(110,86,240,0.14); border-color: rgba(174,162,255,0.26); color: #AEA2FF; }
.cov-scope .module-card .mc-list .li::before { background: #6E56F0; }
.cov-scope .sec-card .sc-ico { background: rgba(110,86,240,0.14); border-color: rgba(174,162,255,0.26); color: #AEA2FF; }
.cov-scope .diff-card .num { color: #AEA2FF; }
.cov-scope .step .sn { color: #AEA2FF; }
.cov-scope .spotlight .copy .feature-row .ft .bar { background: #6E56F0; }
.cov-scope .rm-stage.now { border-color: rgba(174,162,255,0.4); box-shadow: 0 0 0 1px rgba(110,86,240,0.18), 0 24px 60px -34px rgba(110,86,240,0.6); }
.cov-scope .rm-stage .ph { color: #AEA2FF; }
.cov-scope .rm-stage.now .ph .d { background: #AEA2FF; }
.cov-scope .rm-stage.done .ph { color: #6BD968; }
.cov-scope .rm-stage.done .ph .d { background: #6BD968; }
.cov-scope .form-card input:focus, .cov-scope .form-card textarea:focus, .cov-scope .form-card select:focus { border-color: #AEA2FF; }
.cov-scope a.inline { color: #AEA2FF; }

/* ============================================================
   WHERE THE LAW DRAWS THE LINE
   Three tiers. Functional colours from Covenant's status set —
   never the brand accent, and never red: a legal constraint is
   protection, not an error.
   ============================================================ */
.law-tiers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 860px) { .law-tiers { grid-template-columns: 1fr; } }
.law-tier { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 26px; display: flex; flex-direction: column; gap: 14px; }
.law-tier .lt-head { display: flex; align-items: center; gap: 10px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; }
.law-tier .lt-head svg { width: 15px; height: 15px; flex-shrink: 0; }
.law-tier.signs .lt-head { color: #3FB870; }
.law-tier.wet .lt-head { color: #8FAEE8; }
.law-tier.blocked .lt-head { color: #9A8FE8; }
.law-tier h3 { color: var(--text); font-size: 18px; }
.law-tier p { font-size: 13.5px; line-height: 1.55; }
.law-tier .lt-list { display: flex; flex-direction: column; gap: 7px; margin-top: 2px; padding-top: 14px; border-top: 1px solid var(--border); }
.law-tier .lt-list .li { position: relative; padding-left: 15px; font-size: 12.5px; color: var(--text-soft); line-height: 1.45; }
.law-tier .lt-list .li::before { content: ''; position: absolute; left: 0; top: 7px; width: 6px; height: 6px; border-radius: 50%; }
.law-tier.signs .lt-list .li::before { background: #3FB870; }
.law-tier.wet .lt-list .li::before { background: #8FAEE8; }
.law-tier.blocked .lt-list .li::before { background: #9A8FE8; }

/* the in-product refusal — informative, never destructive */
.cov-notice { margin-top: 40px; background: #17182A; border: 1px solid #2C2D44; border-left: 3px solid #9A8FE8; border-radius: var(--radius-lg); padding: 26px 30px; display: grid; grid-template-columns: 38px 1fr; gap: 20px; align-items: start; }
@media (max-width: 640px) { .cov-notice { grid-template-columns: 1fr; gap: 14px; padding: 22px; } }
.cov-notice .ni { width: 38px; height: 38px; border-radius: 10px; background: rgba(154,143,232,0.14); border: 1px solid rgba(154,143,232,0.3); color: #9A8FE8; display: flex; align-items: center; justify-content: center; }
.cov-notice .ni svg { width: 18px; height: 18px; }
.cov-notice .nl { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: #9A8FE8; }
.cov-notice h4 { font-family: var(--font-display); font-size: 19px; font-weight: 800; letter-spacing: -0.01em; color: #ECEBF6; margin: 10px 0 8px; }
.cov-notice p { font-size: 14px; line-height: 1.6; color: #A6A3C4; max-width: 68ch; }
.cov-notice .nf { margin-top: 14px; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.1em; color: #6C6E96; }

/* ============================================================
   COVENANT DOCUMENT WORKSPACE MOCK  (.cdoc)
   Covenant's signature surface: dark chrome wrapping a
   permanently light page. The page is Vellum, never pure white.
   ============================================================ */
.cdoc {
  position: relative; background: #0B0B14; border: 1px solid #2C2D44;
  border-radius: var(--radius-xl); overflow: hidden;
  box-shadow: 0 40px 90px -24px rgba(0, 0, 0, 0.85);
  aspect-ratio: 16 / 11;
}
.cdoc .chrome { height: 34px; background: #070710; border-bottom: 1px solid #2C2D44; display: flex; align-items: center; padding: 0 12px; gap: 6px; }
.cdoc .chrome .dot { width: 9px; height: 9px; border-radius: 50%; background: #2C2D44; }
.cdoc .chrome .url { margin-left: 14px; font-family: var(--font-mono); font-size: 10px; color: #6C6E96; letter-spacing: 0.04em; display: flex; align-items: center; gap: 6px; }
.cdoc .chrome .url .lock { color: #AEA2FF; }
.cdoc .chrome .url b { color: #A6A3C4; font-weight: 500; }
.cdoc .layout { display: grid; grid-template-columns: 150px 1fr 172px; height: calc(100% - 34px); }

/* sidebar */
.cdoc .side { background: #070710; border-right: 1px solid #2C2D44; padding: 13px 10px; display: flex; flex-direction: column; gap: 3px; overflow: hidden; }
.cdoc .side .logo { display: flex; align-items: center; gap: 8px; font-family: "Spectral", Georgia, serif; font-weight: 700; font-size: 13px; letter-spacing: 0.02em; color: #ECEBF6; padding: 2px 4px 12px; }
.cdoc .side .logo svg { width: 17px; height: 17px; flex-shrink: 0; }
.cdoc .side .nav-i { display: flex; align-items: center; gap: 9px; padding: 7px 9px; border-radius: 7px; font-size: 11px; color: #A6A3C4; }
.cdoc .side .nav-i .gi { width: 13px; height: 13px; flex-shrink: 0; opacity: 0.85; }
.cdoc .side .nav-i.active { background: #17182A; color: #ECEBF6; }
.cdoc .side .nav-i.active .gi { color: #AEA2FF; opacity: 1; }
.cdoc .side .nav-i .ct { margin-left: auto; font-family: var(--font-mono); font-size: 8.5px; color: #6C6E96; }
.cdoc .side .grp { font-family: var(--font-mono); font-size: 8.5px; letter-spacing: 0.18em; color: #6C6E96; text-transform: uppercase; padding: 14px 9px 6px; }
.cdoc .side .spacer { flex: 1; }
.cdoc .side .me { display: flex; align-items: center; gap: 8px; padding: 9px 6px 2px; border-top: 1px solid #2C2D44; margin-top: 8px; }
.cdoc .side .me .av { width: 22px; height: 22px; border-radius: 6px; background: #17182A; color: #AEA2FF; font-size: 9px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cdoc .side .me .mn { font-size: 10px; color: #ECEBF6; font-weight: 600; line-height: 1.2; }
.cdoc .side .me .mm { font-size: 8.5px; color: #A6A3C4; font-family: var(--font-mono); }

/* the well — deeper than the app background so the sheet lifts off it */
.cdoc .well { background: #070710; display: flex; flex-direction: column; min-width: 0; }
.cdoc .wbar { height: 34px; border-bottom: 1px solid #2C2D44; display: flex; align-items: center; gap: 9px; padding: 0 13px; flex-shrink: 0; }
.cdoc .wbar .dt { font-size: 10.5px; color: #ECEBF6; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cdoc .wbar .chip { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 8.5px; letter-spacing: 0.1em; text-transform: uppercase; color: #A6A3C4; border: 1px solid #2C2D44; border-radius: var(--radius-full); padding: 3px 9px; flex-shrink: 0; }
.cdoc .wbar .chip .d { width: 6px; height: 6px; border-radius: 50%; background: #46C6AE; }

.cdoc .stage { flex: 1; padding: 16px 20px 0; display: flex; justify-content: center; overflow: hidden; }

/* the page — Vellum, never #FFF */
.cdoc .page {
  width: 100%; max-width: 300px; background: #FBFAF6; color: #1B1B24;
  border: 1px solid #E3E0D6; border-radius: 2px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.28), 0 18px 50px -12px rgba(0,0,0,0.55);
  padding: 18px 20px; display: flex; flex-direction: column; gap: 9px; overflow: hidden;
}
.cdoc .page .pl { font-family: var(--font-mono); font-size: 7px; letter-spacing: 0.18em; text-transform: uppercase; color: #57545F; }
.cdoc .page .ph { font-family: "Spectral", Georgia, serif; font-weight: 600; font-size: 13px; line-height: 1.25; letter-spacing: -0.01em; }
.cdoc .page .clause { font-family: var(--font-mono); font-size: 7px; letter-spacing: 0.16em; text-transform: uppercase; color: #57545F; margin-top: 2px; }
.cdoc .page .body { font-family: "Spectral", Georgia, serif; font-size: 8px; line-height: 1.75; color: #1B1B24; }
.cdoc .page .rule { height: 1px; background: #E3E0D6; }
.cdoc .page .sig { border: 1px dashed #2F62D8; background: #E7EEFC; border-radius: 3px; padding: 8px 10px 6px; display: flex; flex-direction: column; gap: 5px; }
.cdoc .page .sig .sl { font-family: var(--font-mono); font-size: 6.5px; letter-spacing: 0.16em; text-transform: uppercase; color: #2F62D8; }
.cdoc .page .sig .sn { font-family: "Spectral", Georgia, serif; font-style: italic; font-size: 14px; line-height: 1; color: #1B1B24; }
.cdoc .page .sig .sm { font-family: var(--font-mono); font-size: 6.5px; color: #57545F; letter-spacing: 0.04em; border-top: 1px solid #948F82; padding-top: 4px; }

/* right rail — signers and the chain */
.cdoc .rail { background: #0B0B14; border-left: 1px solid #2C2D44; padding: 13px 12px; display: flex; flex-direction: column; gap: 12px; overflow: hidden; }
.cdoc .rail .rt { font-family: var(--font-mono); font-size: 8px; letter-spacing: 0.18em; text-transform: uppercase; color: #6C6E96; }
.cdoc .rail .signers { display: flex; flex-direction: column; gap: 8px; }
.cdoc .rail .sg { display: grid; grid-template-columns: 7px 1fr; gap: 8px; align-items: start; }
.cdoc .rail .sg .d { width: 7px; height: 7px; border-radius: 50%; margin-top: 4px; }
.cdoc .rail .sg.done .d { background: #3FB870; }
.cdoc .rail .sg.wait .d { background: #7CA8F5; }
.cdoc .rail .sg .n { font-size: 10px; color: #ECEBF6; font-weight: 600; line-height: 1.25; }
.cdoc .rail .sg .s { font-family: var(--font-mono); font-size: 8px; color: #A6A3C4; margin-top: 2px; }
.cdoc .rail .prog { display: flex; gap: 3px; }
.cdoc .rail .prog i { flex: 1; height: 3px; border-radius: 2px; background: #2C2D44; }
.cdoc .rail .prog i.on { background: #46C6AE; }
.cdoc .rail .chain { display: flex; flex-direction: column; gap: 6px; border-top: 1px solid #2C2D44; padding-top: 12px; }
.cdoc .rail .ch { font-family: var(--font-mono); font-size: 8px; color: #A6A3C4; line-height: 1.4; }
.cdoc .rail .ch b { color: #ECEBF6; font-weight: 500; display: block; }
.cdoc .rail .ch .hash { color: #6C6E96; letter-spacing: 0.02em; }

@media (max-width: 1100px) { .cdoc .layout { grid-template-columns: 1fr 172px; } .cdoc .side { display: none; } }
@media (max-width: 980px) { .cdoc { aspect-ratio: 16 / 12; } }
@media (max-width: 640px) {
  .cdoc { aspect-ratio: auto; min-height: 460px; }
  .cdoc .layout { grid-template-columns: 1fr; }
  .cdoc .rail { display: none; }
}
