/* Sealed Energy novel interface layer.
   The product behaves like one precision instrument, not a collection of UI kits. */

:root {
  --cobalt: #149eaa;
  --cobalt-soft: #59dce8;
  --se-page: #061012;
  --se-page-deep: #03090c;
  --se-plane: rgba(13, 30, 29, .72);
  --se-plane-strong: rgba(16, 35, 33, .9);
  --se-hairline: rgba(199, 229, 224, .1);
  --se-hairline-live: rgba(83, 219, 231, .36);
  --se-quiet: rgba(225, 235, 231, .58);
  --se-copy: #edf2ef;
  --se-radius: 10px;
  --se-gutter: clamp(24px, 4vw, 84px);
  --type-display: clamp(58px, 7.4vw, 108px);
  --type-title: clamp(40px, 4.8vw, 68px);
  --type-heading: clamp(24px, 2.4vw, 34px);
  --type-body-large: 18px;
  --type-body: 15px;
  --type-control: 14px;
  --type-small: 12px;
  --type-micro: 10px;
}

html { scroll-padding-top: calc(var(--se-header-h) + 28px); background: var(--se-page-deep); }
body { background: var(--se-page-deep); }
.app-shell { min-height: 100dvh; background: radial-gradient(circle at 73% 4%, rgba(23, 55, 76, .22), transparent 35%), linear-gradient(135deg, #071413 0%, #061015 52%, #07121a 100%); }
.app-shell.components-ready { animation: none !important; transform: none !important; }
.app-shell * { border-color: transparent !important; }

/* A permanently anchored navigation instrument. No scroll-driven displacement. */
.app-header,
.home-header.is-top,
.home-header.is-scrolled {
  position: fixed !important;
  top: 0 !important;
  grid-template-columns: 246px minmax(0, 1fr) 226px !important;
  gap: clamp(18px, 2vw, 38px) !important;
  transform: none !important;
  transition: background-color .25s ease, border-color .25s ease !important;
}
.app-header.is-hidden,
.app-header.is-visible { transform: none !important; }
.app-header .brand { width: 246px !important; min-width: 246px !important; }
.app-header .core-navigation { justify-content: center !important; }
.app-header .header-actions { width: 226px !important; min-width: 226px !important; }
.app-shell > :not(.app-header):not(.header-seal-menu):not(.app-loader):first-of-type { scroll-margin-top: var(--se-header-h); }
.view-home .landing-page,
.view-exchange .exchange-marketing { padding-top: 0 !important; }
.workspace { padding-top: var(--se-header-h); }
.journey-screen.workspace,
.verify-screen.workspace,
.library-screen.workspace,
.account-profile-screen.workspace { padding-top: calc(var(--se-header-h) + clamp(54px, 6vw, 104px)) !important; }

/* The selector is a document tray, not a viewport-blocking modal. */
.header-seal-menu {
  position: relative !important;
  inset: auto !important;
  z-index: 30 !important;
  width: 100% !important;
  height: auto !important;
  padding: 12px var(--viewport-gutter) 20px !important;
  overflow: visible !important;
  background: #061012 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.header-seal-menu-inner {
  width: min(var(--content-max), 100%) !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: var(--content-max) !important;
  padding: 28px !important;
  grid-template-rows: auto auto !important;
  gap: 24px !important;
  overflow: visible !important;
  border-radius: 18px !important;
  background: radial-gradient(circle at 70% -15%, rgba(27, 66, 83, .22), transparent 40%), linear-gradient(120deg, rgba(6, 23, 23, .995), rgba(3, 11, 16, .995)) !important;
}
.header-seal-menu .seal-kind-menu-intro { grid-template-columns: minmax(260px, .75fr) minmax(380px, 1.25fr) 44px !important; align-items: start !important; }
.header-seal-menu .seal-kind-menu-intro strong { font-size: var(--type-heading) !important; letter-spacing: -.04em !important; }
.header-seal-menu .seal-kind-menu-intro small { font-size: var(--type-micro) !important; }
.header-seal-menu .seal-kind-menu-intro > span { font-size: var(--type-body) !important; line-height: 1.55 !important; }
.header-seal-menu .seal-menu-close { width: 44px !important; height: 44px !important; border-radius: 12px !important; font-size: 22px !important; }
.header-seal-menu .seal-kind-menu-options { min-height: 0 !important; gap: 12px !important; }
.header-seal-menu .seal-kind-menu-options button {
  min-height: 240px !important;
  height: auto !important;
  padding: 20px !important;
  grid-template-columns: 42px minmax(0, 1fr) 22px !important;
  border-radius: 16px !important;
}
.header-seal-menu .seal-kind-menu-options button::before { opacity: .58 !important; }
.header-seal-menu .seal-kind-menu-options button::after { background: linear-gradient(180deg, rgba(2, 8, 10, .06) 20%, rgba(2, 8, 10, .35) 48%, rgba(2, 8, 10, .98) 88%) !important; }
.header-seal-menu .seal-kind-menu-options button > i { align-self: start !important; width: 42px !important; height: 42px !important; border-radius: 12px !important; }
.header-seal-menu .seal-kind-menu-options button > em { align-self: start !important; }
.header-seal-menu .seal-kind-menu-options button > span { align-self: end !important; gap: 12px !important; }
.header-seal-menu .seal-kind-menu-options button b { font-size: 18px !important; letter-spacing: -.025em !important; }
.header-seal-menu .seal-kind-menu-options button small { min-height: 0 !important; font-size: var(--type-small) !important; line-height: 1.5 !important; }
.header-seal-menu .seal-kind-menu-options .seal-card-action { margin-top: 8px !important; font-size: var(--type-micro) !important; letter-spacing: .12em !important; }

/* Borderless product surfaces. Depth comes from tone and space, never outlines. */
:is(
  button,
  input,
  textarea,
  select,
  .panel,
  .panel-top,
  .search,
  .verify-field > div,
  .portfolio-summary,
  .portfolio-summary article,
  .seal-scan-status,
  .seal-scan-status > span,
  .account-profile-section,
  .account-side-card,
  .exchange-access-panel,
  .exchange-terminal,
  .market-chart-panel,
  .market-row,
  .seal-row,
  .seal-table,
  .exchange-story-banner,
  .header-seal-menu-inner,
  .header-seal-menu .seal-kind-menu-options button
) {
  border: 0 !important;
  border-color: transparent !important;
}

:is(
  button,
  input,
  textarea,
  select,
  .panel,
  .portfolio-summary article,
  .market-row,
  .seal-row,
  .header-seal-menu .seal-kind-menu-options button
):is(:hover, :focus, :focus-visible, :active) {
  border: 0 !important;
  border-color: transparent !important;
  outline: 0 !important;
}

:is(input, textarea, select, .search, .verify-field > div) {
  background: rgba(238, 246, 243, .055) !important;
  color: #edf3f0 !important;
  box-shadow: none !important;
}

:is(input, textarea)::placeholder {
  color: rgba(224, 235, 231, .34) !important;
  opacity: 1 !important;
}

:is(input, textarea, select):focus {
  background: rgba(238, 246, 243, .09) !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, .16), 0 0 0 4px rgba(89, 220, 232, .04) !important;
}

/* The invoice is a light document. Never inherit dark application fields. */
.spl-invoice :is(input, select, textarea),
.spl-invoice .invoice-field input {
  appearance: auto !important;
  min-height: 32px !important;
  padding: 4px 8px !important;
  border: 0 !important;
  border-radius: 7px !important;
  outline: 0 !important;
  background: rgba(6, 26, 45, .052) !important;
  color: #061a2d !important;
  box-shadow: none !important;
  font-size: 13.5px !important;
  line-height: 1.25 !important;
  color-scheme: light !important;
}

.spl-invoice :is(input, textarea)::placeholder {
  color: rgba(6, 26, 45, .42) !important;
  opacity: 1 !important;
}

.spl-invoice :is(input, select, textarea):hover {
  background: rgba(6, 26, 45, .075) !important;
}

.spl-invoice :is(input, select, textarea):focus {
  background: #ffffff !important;
  box-shadow: 0 10px 24px rgba(6, 26, 45, .08), 0 0 0 4px rgba(6, 155, 138, .09) !important;
}

.spl-invoice .invoice-issuer .invoice-field input {
  min-height: 40px !important;
  padding: 0 !important;
  background: transparent !important;
  font-size: clamp(22px, 2.25vw, 33px) !important;
  line-height: 1.05 !important;
}

.spl-invoice .commitment-class-control select {
  min-height: 34px !important;
  padding: 0 30px 0 11px !important;
  font-size: 12px !important;
}

.spl-invoice.review .invoice-field input,
.spl-invoice.sealed .invoice-field input {
  padding-inline: 0 !important;
  background: transparent !important;
}

.panel,
.portfolio-summary article,
.seal-scan-status,
.account-profile-section,
.account-side-card,
.exchange-access-panel,
.market-chart-panel {
  box-shadow: none !important;
}

.panel:hover,
.portfolio-summary article:hover,
.market-row:hover,
.seal-row:hover { border-color: transparent !important; }

/* Exchange surfaces do not animate or transform the page coordinate system. */
.view-exchange,
.view-exchange .exchange-marketing,
.exchange-terminal,
.exchange-intro-page,
.exchange-surface-markets,
.exchange-surface-detail,
.exchange-surface-swap {
  animation: none !important;
  transform: none !important;
}
.exchange-page-transition { display: none !important; }
.view-exchange .exchange-marketing { padding-top: 0 !important; }

.ledger-arrival {
  margin: 0 0 22px;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(100deg, rgba(186, 255, 32, .13), rgba(89, 220, 232, .055) 58%, transparent);
}
.ledger-arrival > span { min-width: 0; display: grid; grid-template-columns: 26px auto minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.ledger-arrival i { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--lime); color: #07100f; font-style: normal; }
.ledger-arrival small { color: var(--lime); font-weight: 720; letter-spacing: .12em; text-transform: uppercase; }
.ledger-arrival b { overflow: hidden; color: #f3f6f3; font-weight: 620; text-overflow: ellipsis; white-space: nowrap; }
.ledger-arrival code { color: var(--cyan); }
.ledger-arrival > strong { color: rgba(237, 243, 240, .62); font-size: 12px; font-weight: 560; white-space: nowrap; }
.seal-row.just-sealed { background: radial-gradient(circle at 7% 50%, rgba(186, 255, 32, .14), transparent 24%), linear-gradient(90deg, rgba(186, 255, 32, .075), rgba(89, 220, 232, .035) 62%, transparent) !important; box-shadow: none !important; }
.just-sealed-tag { color: var(--lime) !important; font-weight: 720 !important; letter-spacing: .08em !important; text-transform: uppercase !important; }

/* Desktop density: native 100% now matches the former 90% browser view. */
@media (min-width: 1100px) {
  :root {
    --se-header-h: 68px;
    --content-max: 1100px;
    --viewport-gutter: clamp(22px, 3.5vw, 62px);
    --space-section: clamp(84px, 7.6vw, 140px);
    --type-micro: clamp(9px, .54vw, 10px);
    --type-label: clamp(10px, .62vw, 11px);
    --type-small: clamp(11px, .7vw, 12px);
    --type-body: clamp(13px, .82vw, 14px);
    --type-body-large: clamp(14px, .95vw, 16px);
  }

  .app-header,
  .home-header.is-top,
  .home-header.is-scrolled { height: var(--se-header-h) !important; min-height: var(--se-header-h) !important; }

  /* Keep the fixed control plane and page origin on the same coordinate. */
  .app-shell:not(.app-loading) { padding-top: var(--se-header-h) !important; }

  .journey-screen.workspace,
  .verify-screen.workspace,
  .library-screen.workspace,
  .account-profile-screen.workspace {
    padding-top: calc(var(--se-header-h) + clamp(38px, 4.2vw, 70px)) !important;
  }

  .machine-heading { margin-bottom: 32px !important; }
  .machine-heading h1,
  .verify-heading h1 { font-size: clamp(48px, 4.1vw, 67px) !important; }
  .work-card,
  .readiness-card,
  .review-main,
  .side-summary,
  .fee-card,
  .identity-card { padding: clamp(23px, 1.75vw, 31px) !important; }

  .spl-invoice {
    padding: clamp(19px, 2.6vw, 34px) !important;
    border-radius: 19px !important;
  }
  .spl-invoice-header { gap: 25px !important; }
  .invoice-issuer > .commitment-energy-mark { width: 44px !important; height: 44px !important; flex-basis: 44px !important; }
  .invoice-title > span { font-size: clamp(22px, 2.15vw, 32px) !important; }
  .invoice-issuer-line { margin: 19px 0 !important; }
  .invoice-parties { margin-bottom: 19px !important; }
  .invoice-party-card,
  .invoice-due-card { padding: 14px !important; }
  .invoice-line-head { min-height: 35px !important; }
  .invoice-line-item { min-height: 58px !important; padding-block: 9px !important; }
}

@media (max-width: 700px) {
  .ledger-arrival { align-items: flex-start; flex-direction: column; }
  .ledger-arrival > span { width: 100%; grid-template-columns: 26px minmax(0, 1fr); }
  .ledger-arrival b,
  .ledger-arrival code { grid-column: 2; }
}

@media (max-width: 1320px) {
  .app-header,
  .home-header.is-top,
  .home-header.is-scrolled { grid-template-columns: 210px minmax(0, 1fr) 208px !important; }
  .app-header .brand { width: 210px !important; min-width: 210px !important; }
  .app-header .header-actions { width: 208px !important; min-width: 208px !important; }
  .header-seal-menu .seal-kind-menu-intro { grid-template-columns: minmax(330px, .8fr) minmax(420px, 1.2fr) 56px !important; }
}

@media (max-width: 1060px) {
  .app-header,
  .home-header.is-top,
  .home-header.is-scrolled { grid-template-columns: 1fr auto !important; grid-template-rows: 70px 58px !important; }
  .app-header .brand { width: auto !important; min-width: 0 !important; }
  .app-header .header-actions { width: auto !important; min-width: max-content !important; }
  .header-seal-menu { overflow: visible !important; }
  .header-seal-menu-inner { height: auto !important; min-height: 0 !important; overflow: visible !important; }
  .header-seal-menu .seal-kind-menu-intro { grid-template-columns: 1fr 56px !important; }
  .header-seal-menu .seal-kind-menu-options { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .header-seal-menu .seal-kind-menu-options button { min-height: 260px !important; }
}

@media (max-width: 680px) {
  .journey-screen.workspace,
  .verify-screen.workspace,
  .library-screen.workspace,
  .account-profile-screen.workspace { padding-top: calc(var(--se-header-h) + 38px) !important; }
  .header-seal-menu { padding: 10px !important; }
  .header-seal-menu-inner { padding: 20px 16px !important; }
  .header-seal-menu .seal-kind-menu-intro { grid-template-columns: 1fr 44px !important; }
  .header-seal-menu .seal-kind-menu-intro > span { grid-column: 1 / -1 !important; }
  .header-seal-menu .seal-kind-menu-intro strong { font-size: 26px !important; }
  .header-seal-menu .seal-kind-menu-options { grid-template-columns: 1fr !important; }
  .header-seal-menu .seal-kind-menu-options button { min-height: 220px !important; }
}

/* One frame and one typographic rhythm across Home, Exchange and product views. */
.view-home .landing-hero > .landing-wrap,
.view-exchange .exchange-marketing-hero {
  width: min(var(--content-max), calc(100% - (var(--viewport-gutter) * 2))) !important;
  max-width: var(--content-max) !important;
  margin-inline: auto !important;
  padding-block: clamp(64px, 6vw, 92px) var(--space-section) !important;
}

.view-home .landing-hero,
.view-exchange .exchange-marketing-hero {
  min-height: 0 !important;
  background: var(--paper) !important;
  color: var(--ink) !important;
}

.view-home .landing-hero h1,
.view-exchange .exchange-marketing-copy h1 {
  margin: 12px 0 clamp(38px, 4vw, 58px) !important;
  font-size: var(--type-display) !important;
  font-weight: 480 !important;
  line-height: .88 !important;
  letter-spacing: -.065em !important;
}

.app-shell :is(.landing-kicker, .eyebrow, label, dt) {
  font-size: var(--type-micro) !important;
  line-height: 1.35 !important;
  letter-spacing: .14em !important;
}

.app-shell :is(p, textarea, input, select) {
  font-size: var(--type-body) !important;
  line-height: 1.55 !important;
}

.app-shell :is(button, .button, .landing-cta, .use-link) {
  font-size: var(--type-control) !important;
}

.app-shell :is(small, code, dd) {
  font-size: var(--type-small) !important;
  line-height: 1.45 !important;
}

.view-home :is(.section-intro h2, .integrate-copy h2, .cycle-copy h2, .conversion-copy blockquote),
.view-exchange :is(.exchange-story-banner h2, .exchange-intro-page h2) {
  font-size: var(--type-title) !important;
  line-height: .94 !important;
  letter-spacing: -.055em !important;
}

.view-home :is(.process-copy h3, .use-grid h3, .cycle-principles h3, .community-intro h3),
.view-exchange :is(.exchange-marketing-ticket strong, .exchange-marketing-ticket span, .exchange-marketing-ticket em) {
  font-size: var(--type-heading) !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em !important;
}
