/* These defaults derive from the approved examples. The user did not approve individual numerical tokens. */
@font-face {
  font-family: LNInter;
  src: url('./assets/fonts/InterVariable.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: LNInter;
  src: url('./assets/fonts/InterVariable-Italic.woff2') format('woff2');
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: LNGaretBook;
  src: url('./assets/fonts/Garet-Book.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --ln-black: #000000;
  --ln-ink: #1a1b3f;
  --ln-indigo: #17177a;
  --ln-action: #294fbd;
  --ln-blue: #3a86ff;
  --ln-cyan: #0db8ff;
  --ln-sky: #1ec3ff;
  --ln-paper: #f4f5f7;
  --ln-white: #ffffff;
  --ln-action-hover: var(--ln-indigo);
  --ln-muted: #59657d;
  --ln-line: #dce2ed;
  --ln-surface-quiet: #f0f3f9;
  --ln-surface-selected: #e7eeff;
  --ln-info-text: #24449d;
  --ln-success-text: #295745;
  --ln-success-surface: #e9f3ee;
  --ln-warning-text: #785312;
  --ln-warning-surface: #fff1d7;
  --ln-error-text: #9b2828;
  --ln-font-inter: LNInter, Inter, Arial, sans-serif;
  --ln-font-georgia: Georgia, 'Times New Roman', serif;
  --ln-font-garet: LNGaretBook, Arial, sans-serif;
  --ln-heading-font: var(--ln-font-inter);
  --ln-body-font: var(--ln-font-inter);
  --ln-heading-weight: 650;
  --ln-label-weight: 600;
  --ln-size-label: 12px;
  --ln-size-body: 14px;
  --ln-size-lead: 16px;
  --ln-size-subheading: 20px;
  --ln-size-heading: 28px;
  --ln-size-display: 42px;
  --ln-leading-body: 1.7;
  --ln-leading-heading: 1.15;
  --ln-tracking-heading: -.035em;
  --ln-space-1: 4px;
  --ln-space-2: 8px;
  --ln-space-3: 12px;
  --ln-space-4: 16px;
  --ln-space-5: 24px;
  --ln-space-6: 32px;
  --ln-space-7: 40px;
  --ln-radius-control: 6px;
  --ln-radius-panel: 12px;
  --ln-shadow-soft: 0 12px 40px #1a1b3f08;
  --ln-shadow-overlay: 0 16px 55px #1a1b3f2a, 0 0 0 1px #1a1b3f08;
  --ln-focus-width: 3px;
  --ln-focus-offset: 3px;
  --ln-control-height: 39px;
  --ln-control-height-public: 48px;
  --ln-duration-press: 180ms;
  --ln-duration-link: 200ms;
  --ln-duration-panel: 220ms;
  --ln-duration-arrival: 400ms;
  --ln-duration-skeleton: 1200ms;
  --ln-duration-processing: 800ms;
  --ln-ease: ease-in-out;
  --ln-press-scale: .977;
}

/* Identity pairs Georgia and Garet with the original gradient emblem. */
.ln-identity {
  --ln-heading-font: var(--ln-font-georgia);
  --ln-body-font: var(--ln-font-garet);
  --ln-heading-weight: 400;
  --ln-label-weight: 400;
}
/* Website, workspace, motion and handoff use Inter with the compact emblem. */
.ln-operational {
  --ln-heading-font: var(--ln-font-inter);
  --ln-body-font: var(--ln-font-inter);
  --ln-heading-weight: 650;
  --ln-label-weight: 600;
}
:where(.ln-identity, .ln-operational) {
  color: var(--ln-ink);
  font-family: var(--ln-body-font);
  font-size: var(--ln-size-body);
  font-synthesis: none;
  line-height: var(--ln-leading-body);
}
:where(.ln-identity, .ln-operational) *,
:where(.ln-identity, .ln-operational) *::before,
:where(.ln-identity, .ln-operational) *::after { box-sizing: border-box; }
:where(.ln-identity, .ln-operational) :is(h1, h2, h3, h4, h5, h6, .ln-heading) {
  font-family: var(--ln-heading-font);
  font-weight: var(--ln-heading-weight);
  letter-spacing: var(--ln-tracking-heading);
  line-height: var(--ln-leading-heading);
}
:where(.ln-identity, .ln-operational) :is(button, input, select, textarea) { font: inherit; }
:where(.ln-identity, .ln-operational) :focus-visible {
  outline: var(--ln-focus-width) solid var(--ln-action);
  outline-offset: var(--ln-focus-offset);
}
.ln-display { font-size: clamp(36px, 5.7vw, 67px); }
.ln-lead { font-size: var(--ln-size-lead); }
.ln-muted { color: var(--ln-muted); }
.ln-numeric { font-variant-numeric: tabular-nums; }
.ln-label { font-size: var(--ln-size-label); font-weight: var(--ln-label-weight); }
.ln-wordmark, .ln-mark { display: block; max-width: 100%; height: auto; object-fit: contain; }
.ln-surface { background: var(--ln-white); border-radius: var(--ln-radius-panel); box-shadow: var(--ln-shadow-soft); }
.ln-surface-quiet { background: var(--ln-surface-quiet); border-radius: var(--ln-radius-panel); }
.ln-button {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--ln-space-2);
  min-height: var(--ln-control-height); padding: 10px 14px;
  border: 0; border-radius: var(--ln-radius-control);
  background: var(--ln-action); color: var(--ln-white);
  font-family: var(--ln-body-font); font-size: var(--ln-size-label);
  font-weight: var(--ln-label-weight); line-height: 1.4; text-decoration: none; cursor: pointer;
  transition: transform var(--ln-duration-press) var(--ln-ease), background-color var(--ln-duration-press) var(--ln-ease);
}
.ln-button:hover:not(:disabled):not([aria-disabled=true]) { background: var(--ln-action-hover); }
.ln-button:active:not(:disabled):not([aria-disabled=true]) { transform: scale(var(--ln-press-scale)); }
.ln-button:disabled, .ln-button[aria-disabled=true] { opacity: .45; cursor: not-allowed; }
.ln-button-public { min-height: var(--ln-control-height-public); padding: 15px 20px; }
.ln-button-quiet { color: var(--ln-action); background: var(--ln-surface-selected); }
.ln-button-quiet:hover:not(:disabled):not([aria-disabled=true]) { color: var(--ln-white); }
.ln-link {
  position: relative; display: inline-block; color: var(--ln-action);
  text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px;
}
.ln-link::after {
  content: ''; position: absolute; height: 2px; bottom: 0; left: 0; right: 0;
  background: currentColor; transform: scaleX(0); transform-origin: center;
  transition: transform var(--ln-duration-link) var(--ln-ease);
}
.ln-link:is(:hover, :focus-visible)::after { transform: scaleX(1); }
.ln-selected, .ln-choice[aria-pressed=true], .ln-choice[aria-current=page] {
  color: var(--ln-white); background: var(--ln-action); border-color: transparent;
}
.ln-field {
  width: 100%; min-width: 0; padding: 11px 12px; border: 0;
  border-radius: var(--ln-radius-control); color: var(--ln-ink); background: var(--ln-surface-quiet);
  font-family: var(--ln-body-font); font-size: var(--ln-size-label); line-height: 1.5;
}
.ln-field[aria-invalid=true] { box-shadow: inset 3px 0 0 var(--ln-error-text); }
.ln-error { color: var(--ln-error-text); }
.ln-status { display: inline-block; padding: 4px 6px; border-radius: 4px; font-size: var(--ln-size-label); line-height: 1.4; }
.ln-status-info { color: var(--ln-info-text); background: var(--ln-surface-selected); }
.ln-status-success { color: var(--ln-success-text); background: var(--ln-success-surface); }
.ln-status-warning { color: var(--ln-warning-text); background: var(--ln-warning-surface); }
.ln-skeleton {
  min-height: 13px; border-radius: 3px;
  background: linear-gradient(90deg, #e0e7f3, #f3f7fd, #e0e7f3); background-size: 200% 100%;
  animation: ln-skeleton var(--ln-duration-skeleton) var(--ln-ease) infinite;
}
.ln-processing { display: inline-flex; gap: 5px; align-items: center; }
.ln-processing > i {
  display: block; width: 6px; height: 6px; border-radius: 50%; background: var(--ln-action);
  animation: ln-processing var(--ln-duration-processing) var(--ln-ease) infinite;
}
.ln-processing > i:nth-child(2) { animation-delay: 120ms; }
.ln-processing > i:nth-child(3) { animation-delay: 240ms; }
.ln-enter { animation: ln-enter var(--ln-duration-panel) var(--ln-ease) both; }
.ln-arrive { animation: ln-arrive var(--ln-duration-arrival) var(--ln-ease) both; }
.ln-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@keyframes ln-skeleton { 0%, 100% { background-position: 100% 0; } 50% { background-position: 0 0; } }
@keyframes ln-processing { 0%, 75%, 100% { transform: translateY(0); opacity: .55; } 35% { transform: translateY(-3px); opacity: 1; } }
@keyframes ln-enter { from { transform: translateX(25px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes ln-arrive { from { transform: translateY(8px); opacity: 0; } to { transform: none; opacity: 1; } }

/* Keep results and status text visible when users request reduced motion. */
:where(.ln-identity, .ln-operational)[data-reduced-motion=true],
:where(.ln-identity, .ln-operational)[data-reduced-motion=true] *,
:where(.ln-identity, .ln-operational)[data-reduced-motion=true] *::before,
:where(.ln-identity, .ln-operational)[data-reduced-motion=true] *::after {
  animation: none !important; transition: none !important; scroll-behavior: auto !important;
}
:where(.ln-identity, .ln-operational)[data-reduced-motion=true] .ln-button:active { transform: none !important; }
@media (prefers-reduced-motion: reduce) {
  :where(.ln-identity, .ln-operational),
  :where(.ln-identity, .ln-operational) *,
  :where(.ln-identity, .ln-operational) *::before,
  :where(.ln-identity, .ln-operational) *::after {
    animation: none !important; transition: none !important; scroll-behavior: auto !important;
  }
  :where(.ln-identity, .ln-operational) .ln-button:active { transform: none !important; }
}
@media print {
  :where(.ln-identity, .ln-operational) { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .ln-enter, .ln-arrive, .ln-skeleton, .ln-processing > i { animation: none; }
}
