/*
 * Začněte investovat Web
 * Version: 0.27.0
 * Design direction: dark graphite, emerald, blue and violet accents.
 * No external fonts, frameworks or trackers are required.
 */

:root {
  --zi-bg: #040608;
  --zi-bg-soft: #070b0f;
  --zi-surface: #0b1014;
  --zi-surface-2: #10171c;
  --zi-surface-3: #151e24;
  --zi-line: rgba(255, 255, 255, 0.09);
  --zi-line-strong: rgba(255, 255, 255, 0.16);
  --zi-text: #f3f7f6;
  --zi-muted: #9aa7a4;
  --zi-muted-2: #6f7d7a;
  --zi-emerald: #1bd8a6;
  --zi-emerald-2: #56f1c8;
  --zi-blue: #78a9ff;
  --zi-violet: #9b8cff;
  --zi-warning: #f1bd65;
  --zi-danger: #ff707a;
  --zi-success: #6ee7a4;
  --zi-shadow: 0 30px 80px rgba(0, 0, 0, 0.42);
  --zi-shadow-soft: 0 16px 40px rgba(0, 0, 0, 0.28);
  --zi-radius-sm: 12px;
  --zi-radius: 20px;
  --zi-radius-lg: 30px;
  --zi-shell: 1200px;
  --zi-header-height: 78px;
  --zi-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Helvetica, Arial, sans-serif;
  --zi-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--zi-header-height) + 28px);
}

body {
  min-width: 320px;
  margin: 0;
  overflow-x: hidden;
  color: var(--zi-text);
  background:
    radial-gradient(circle at 50% -10%, rgba(79, 99, 231, 0.18), transparent 34rem),
    radial-gradient(circle at 8% 28%, rgba(27, 216, 166, 0.08), transparent 26rem),
    var(--zi-bg);
  font-family: var(--zi-font);
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.nav-open {
  overflow: hidden;
}

::selection {
  color: #001813;
  background: var(--zi-emerald-2);
}

img,
svg {
  display: block;
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  color: inherit;
}

:focus-visible {
  outline: 3px solid rgba(120, 169, 255, 0.78);
  outline-offset: 4px;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link {
  position: fixed;
  z-index: 2000;
  top: 12px;
  left: 12px;
  padding: 10px 14px;
  color: #001812;
  background: var(--zi-emerald-2);
  border-radius: 999px;
  transform: translateY(-150%);
  transition: transform 160ms ease;
}

.skip-link:focus {
  transform: translateY(0);
}

.shell {
  width: min(calc(100% - 40px), var(--zi-shell));
  margin-inline: auto;
}

.section {
  position: relative;
  padding: 104px 0;
}

.section-tight {
  padding: 76px 0;
}

.section-kicker,
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 30px;
  margin: 0 0 18px;
  padding: 5px 11px;
  color: #c9d7d4;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid var(--zi-line);
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 1;
  text-transform: uppercase;
}

.eyebrow-dot {
  width: 7px;
  height: 7px;
  background: var(--zi-emerald);
  border-radius: 50%;
  box-shadow: 0 0 16px rgba(27, 216, 166, 0.85);
}

.section-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.54fr);
  gap: 42px;
  align-items: end;
  margin-bottom: 44px;
}

.section-header h2,
.section-title {
  max-width: 820px;
  margin: 0;
  font-size: clamp(2.1rem, 5vw, 4.35rem);
  font-weight: 560;
  letter-spacing: -0.055em;
  line-height: 0.99;
}

.section-header p,
.section-lead {
  max-width: 620px;
  margin: 0;
  color: var(--zi-muted);
  font-size: clamp(1rem, 1.8vw, 1.14rem);
}

.accent-text {
  color: transparent;
  background: linear-gradient(96deg, var(--zi-emerald-2), var(--zi-blue) 55%, #b5aaff);
  -webkit-background-clip: text;
  background-clip: text;
}

.muted {
  color: var(--zi-muted);
}

.mono {
  font-family: var(--zi-mono);
}

.site-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  min-height: var(--zi-header-height);
  background: rgba(4, 6, 8, 0.74);
  border-bottom: 1px solid rgba(255, 255, 255, 0.065);
  -webkit-backdrop-filter: blur(22px) saturate(145%);
  backdrop-filter: blur(22px) saturate(145%);
}

.header-inner {
  display: flex;
  min-height: var(--zi-header-height);
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.brand {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 11px;
  color: var(--zi-text);
}

.brand-mark {
  position: relative;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 30% 24%, rgba(255, 255, 255, 0.35), transparent 24%),
    linear-gradient(145deg, var(--zi-blue), var(--zi-violet) 50%, var(--zi-emerald));
  border-radius: 11px;
  box-shadow: 0 8px 26px rgba(91, 113, 245, 0.28);
}

.brand-mark::before,
.brand-mark::after {
  position: absolute;
  content: "";
  background: rgba(4, 6, 8, 0.76);
  border-radius: 999px;
}

.brand-mark::before {
  width: 18px;
  height: 8px;
  transform: rotate(34deg);
}

.brand-mark::after {
  width: 8px;
  height: 18px;
  transform: rotate(34deg);
}

.brand-mark span {
  position: relative;
  z-index: 1;
  width: 5px;
  height: 5px;
  background: white;
  border-radius: 50%;
}

.brand-wordmark {
  display: flex;
  align-items: baseline;
  font-size: 1.02rem;
  font-weight: 760;
  letter-spacing: -0.03em;
}

.brand-wordmark em {
  margin-left: 4px;
  color: var(--zi-muted);
  font-style: normal;
  font-weight: 520;
}

.primary-nav {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 5px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.065);
  border-radius: 999px;
}

.primary-nav a {
  padding: 9px 13px;
  color: #a9b4b2;
  border-radius: 999px;
  font-size: 0.86rem;
  font-weight: 650;
  transition: color 160ms ease, background 160ms ease;
}

.primary-nav a:hover,
.primary-nav a:focus-visible {
  color: var(--zi-text);
  background: rgba(255, 255, 255, 0.06);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.button,
button.button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 11px 18px;
  cursor: pointer;
  border: 0;
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 760;
  line-height: 1;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease,
    border-color 160ms ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button-primary {
  color: #03110e;
  background: linear-gradient(105deg, var(--zi-emerald-2), #7af3d4);
  box-shadow: 0 12px 34px rgba(27, 216, 166, 0.18);
}

.button-primary:hover {
  box-shadow: 0 16px 42px rgba(27, 216, 166, 0.28);
}

.button-secondary {
  color: var(--zi-text);
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid var(--zi-line-strong);
}

.button-secondary:hover {
  background: rgba(255, 255, 255, 0.085);
}

.button-compact {
  min-height: 40px;
  padding: 9px 15px;
  font-size: 0.82rem;
}

.button svg {
  width: 17px;
  height: 17px;
}

.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 0;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--zi-line);
  border-radius: 14px;
}

.nav-toggle-line {
  display: block;
  width: 19px;
  height: 1.5px;
  margin: 5px auto;
  background: var(--zi-text);
  border-radius: 999px;
  transition: transform 160ms ease, opacity 160ms ease;
}

.nav-open .nav-toggle-line:first-child {
  transform: translateY(6.5px) rotate(45deg);
}

.nav-open .nav-toggle-line:nth-child(2) {
  opacity: 0;
}

.nav-open .nav-toggle-line:last-child {
  transform: translateY(-6.5px) rotate(-45deg);
}

.mobile-panel {
  display: none;
}

.hero {
  min-height: calc(100svh - var(--zi-header-height));
  padding-top: 88px;
  overflow: clip;
}

.hero::before {
  position: absolute;
  z-index: -2;
  top: -240px;
  left: 50%;
  width: 940px;
  height: 620px;
  content: "";
  background: radial-gradient(closest-side, rgba(95, 105, 230, 0.22), transparent);
  transform: translateX(-50%);
  filter: blur(20px);
}

.hero::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  opacity: 0.28;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.027) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.027) 1px, transparent 1px);
  background-size: 76px 76px;
  mask-image: linear-gradient(to bottom, black, transparent 86%);
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(440px, 1.1fr);
  gap: clamp(44px, 7vw, 92px);
  align-items: center;
}

.hero-copy {
  position: relative;
  z-index: 2;
}

.hero h1 {
  max-width: 780px;
  margin: 0;
  font-size: clamp(3.15rem, 7.1vw, 6.5rem);
  font-weight: 520;
  letter-spacing: -0.069em;
  line-height: 0.91;
}

.hero h1 span {
  display: block;
  color: transparent;
  background: linear-gradient(96deg, #e6efff 5%, var(--zi-blue) 44%, #b5a8ff 78%, #76f3d3);
  -webkit-background-clip: text;
  background-clip: text;
}

.hero-lead {
  max-width: 670px;
  margin: 28px 0 0;
  color: #aab6b4;
  font-size: clamp(1.04rem, 2vw, 1.26rem);
  line-height: 1.65;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.hero-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  max-width: 590px;
  margin-top: 26px;
  color: var(--zi-muted-2);
  font-size: 0.83rem;
}

.hero-note svg {
  flex: 0 0 17px;
  width: 17px;
  margin-top: 4px;
  color: var(--zi-emerald);
}

.hero-visual {
  position: relative;
  min-width: 0;
  perspective: 1400px;
}

.hero-glow {
  position: absolute;
  z-index: -1;
  inset: 7% 2% 4%;
  background:
    radial-gradient(circle at 80% 28%, rgba(120, 169, 255, 0.23), transparent 35%),
    radial-gradient(circle at 23% 78%, rgba(27, 216, 166, 0.14), transparent 32%);
  filter: blur(34px);
}

.dashboard-shell {
  position: relative;
  padding: 11px;
  background: linear-gradient(135deg, rgba(120, 169, 255, 0.18), rgba(155, 140, 255, 0.04) 42%, rgba(27, 216, 166, 0.12));
  border: 1px solid rgba(149, 164, 255, 0.25);
  border-radius: 28px;
  box-shadow: 0 44px 120px rgba(0, 0, 0, 0.58), 0 0 80px rgba(79, 96, 214, 0.09);
  transform: rotateY(-5deg) rotateX(2deg);
  transform-origin: center;
}

.dashboard-window {
  overflow: hidden;
  background: #06090b;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 21px;
}

.dashboard-topbar {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 16px;
  background: rgba(255, 255, 255, 0.023);
  border-bottom: 1px solid var(--zi-line);
}

.window-dots {
  display: flex;
  gap: 6px;
}

.window-dots span {
  width: 7px;
  height: 7px;
  background: #293138;
  border-radius: 50%;
}

.dashboard-path {
  color: #77817f;
  font-family: var(--zi-mono);
  font-size: 0.64rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dashboard-live {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #a9b5b3;
  font-size: 0.66rem;
}

.dashboard-live::before {
  width: 6px;
  height: 6px;
  content: "";
  background: var(--zi-emerald);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(27, 216, 166, 0.9);
}

.dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(170px, 0.72fr);
  gap: 11px;
  padding: 11px;
}

.dashboard-card {
  min-width: 0;
  padding: 17px;
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.018));
  border: 1px solid var(--zi-line);
  border-radius: 16px;
}

.dashboard-card h3,
.dashboard-card p {
  margin: 0;
}

.dashboard-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

.dashboard-label {
  color: #8d9996;
  font-size: 0.67rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dashboard-value {
  margin-top: 5px !important;
  font-size: clamp(1.55rem, 3vw, 2.25rem);
  font-weight: 580;
  letter-spacing: -0.06em;
  line-height: 1;
}

.dashboard-period {
  display: flex;
  gap: 5px;
}

.dashboard-period span {
  padding: 4px 7px;
  color: #6f7a78;
  background: rgba(255, 255, 255, 0.035);
  border-radius: 999px;
  font-size: 0.54rem;
}

.dashboard-period .active {
  color: #eef7f5;
  background: rgba(120, 169, 255, 0.16);
}

.chart-frame {
  position: relative;
  min-height: 230px;
  overflow: hidden;
  background:
    linear-gradient(rgba(255, 255, 255, 0.036) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.036) 1px, transparent 1px);
  background-size: 100% 46px, 62px 100%;
  border-radius: 12px;
}

.chart-frame svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.chart-tooltip {
  position: absolute;
  top: 40%;
  right: 24%;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 9px;
  color: #d9e7e4;
  background: rgba(10, 16, 20, 0.94);
  border: 1px solid var(--zi-line-strong);
  border-radius: 8px;
  font-size: 0.58rem;
  box-shadow: var(--zi-shadow-soft);
}

.chart-tooltip::before {
  width: 6px;
  height: 6px;
  content: "";
  background: var(--zi-emerald);
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(27, 216, 166, 0.85);
}

.allocation-card {
  display: flex;
  flex-direction: column;
}

.donut {
  position: relative;
  display: grid;
  width: min(100%, 190px);
  aspect-ratio: 1;
  margin: 7px auto 18px;
  place-items: center;
  background: conic-gradient(var(--zi-blue) 0 45%, var(--zi-emerald) 45% 70%, var(--zi-violet) 70% 88%, #2e373d 88% 100%);
  border-radius: 50%;
  box-shadow: 0 0 42px rgba(120, 169, 255, 0.11);
}

.donut::after {
  position: absolute;
  width: 70%;
  aspect-ratio: 1;
  content: "";
  background: #0a0e11;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 50%;
}

.donut-center {
  position: relative;
  z-index: 1;
  text-align: center;
}

.donut-center strong {
  display: block;
  font-size: 1.18rem;
  font-weight: 590;
  letter-spacing: -0.045em;
}

.donut-center span {
  display: block;
  margin-top: 2px;
  color: var(--zi-muted-2);
  font-size: 0.57rem;
}

.legend {
  display: grid;
  gap: 7px;
  margin-top: auto;
}

.legend-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 7px;
  align-items: center;
  color: #99a4a2;
  font-size: 0.63rem;
}

.legend-dot {
  width: 7px;
  height: 7px;
  background: var(--legend-color, var(--zi-blue));
  border-radius: 50%;
}

.floating-risk-card {
  position: absolute;
  right: -18px;
  bottom: -28px;
  width: min(290px, 54%);
  padding: 15px;
  background: rgba(15, 21, 27, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 17px;
  box-shadow: var(--zi-shadow);
  transform: rotate(3deg);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.floating-risk-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.floating-risk-head strong {
  font-size: 0.74rem;
}

.risk-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--zi-warning);
  font-size: 0.6rem;
}

.risk-status::before {
  width: 6px;
  height: 6px;
  content: "";
  background: currentColor;
  border-radius: 50%;
}

.risk-bars {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.risk-bar-row {
  display: grid;
  grid-template-columns: 72px 1fr 28px;
  gap: 7px;
  align-items: center;
  color: #87928f;
  font-size: 0.56rem;
}

.risk-track {
  height: 5px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 999px;
}

.risk-track span {
  display: block;
  width: var(--risk, 50%);
  height: 100%;
  background: linear-gradient(90deg, var(--zi-emerald), var(--zi-blue));
  border-radius: inherit;
}

.value-strip {
  padding: 26px 0 0;
}

.value-strip-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius);
  background: rgba(255, 255, 255, 0.025);
  box-shadow: var(--zi-shadow-soft);
}

.value-item {
  position: relative;
  min-height: 112px;
  padding: 23px 24px;
}

.value-item + .value-item::before {
  position: absolute;
  top: 18px;
  bottom: 18px;
  left: 0;
  width: 1px;
  content: "";
  background: var(--zi-line);
}

.value-item strong {
  display: block;
  font-size: 0.94rem;
}

.value-item span {
  display: block;
  margin-top: 7px;
  color: var(--zi-muted-2);
  font-size: 0.82rem;
  line-height: 1.45;
}

.path-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.path-card {
  position: relative;
  min-height: 330px;
  padding: 28px;
  overflow: hidden;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.063), rgba(255, 255, 255, 0.018)),
    var(--zi-surface);
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius-lg);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.path-card:hover {
  transform: translateY(-5px);
  border-color: rgba(120, 169, 255, 0.26);
}

.path-card::after {
  position: absolute;
  right: -60px;
  bottom: -80px;
  width: 190px;
  height: 190px;
  content: "";
  background: radial-gradient(circle, var(--path-glow, rgba(27, 216, 166, 0.16)), transparent 66%);
}

.path-number {
  color: #66716f;
  font-family: var(--zi-mono);
  font-size: 0.73rem;
  letter-spacing: 0.12em;
}

.path-icon {
  display: grid;
  width: 52px;
  height: 52px;
  margin: 26px 0 40px;
  place-items: center;
  color: var(--path-color, var(--zi-emerald));
  background: color-mix(in srgb, var(--path-color, var(--zi-emerald)) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--path-color, var(--zi-emerald)) 30%, transparent);
  border-radius: 16px;
}

.path-icon svg {
  width: 23px;
  height: 23px;
}

.path-card h3 {
  margin: 0;
  font-size: 1.55rem;
  font-weight: 580;
  letter-spacing: -0.045em;
}

.path-card p {
  max-width: 350px;
  margin: 12px 0 0;
  color: var(--zi-muted);
  font-size: 0.93rem;
}

.path-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 26px;
  color: #d8e3e1;
  font-size: 0.86rem;
  font-weight: 720;
}

.path-link svg {
  width: 16px;
  transition: transform 160ms ease;
}

.path-card:hover .path-link svg {
  transform: translateX(4px);
}

.trading-section {
  overflow: hidden;
}

.trading-panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(330px, 0.85fr);
  gap: 54px;
  padding: clamp(34px, 6vw, 70px);
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 0%, rgba(27, 216, 166, 0.1), transparent 38%),
    linear-gradient(145deg, #081116, #080b0e 58%, #0d0b13);
  border: 1px solid var(--zi-line);
  border-radius: 36px;
  box-shadow: var(--zi-shadow);
}

.trading-panel::after {
  position: absolute;
  right: -220px;
  bottom: -280px;
  width: 620px;
  height: 620px;
  content: "";
  background: radial-gradient(circle, rgba(155, 140, 255, 0.14), transparent 66%);
}

.trading-copy {
  position: relative;
  z-index: 1;
}

.trading-copy h2 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(2.5rem, 5.7vw, 5.2rem);
  font-weight: 520;
  letter-spacing: -0.064em;
  line-height: 0.95;
}

.trading-copy > p {
  max-width: 690px;
  margin: 25px 0 0;
  color: #aab6b4;
  font-size: 1.06rem;
}

.quote-line {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  max-width: 650px;
  margin-top: 30px;
  padding-top: 22px;
  color: #dce7e5;
  border-top: 1px solid var(--zi-line);
  font-size: 0.95rem;
}

.quote-line svg {
  flex: 0 0 20px;
  width: 20px;
  margin-top: 3px;
  color: var(--zi-emerald);
}

.trading-reasons {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 10px;
}

.reason-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  padding: 18px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid var(--zi-line);
  border-radius: 17px;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.reason-index {
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  color: var(--zi-emerald-2);
  background: rgba(27, 216, 166, 0.08);
  border: 1px solid rgba(27, 216, 166, 0.2);
  border-radius: 10px;
  font-family: var(--zi-mono);
  font-size: 0.66rem;
}

.reason-card strong {
  display: block;
  font-size: 0.9rem;
}

.reason-card p {
  margin: 5px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.78rem;
  line-height: 1.5;
}

.calculator-layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.78fr) minmax(0, 1.22fr);
  gap: 18px;
  align-items: stretch;
}

.calculator-form,
.calculator-result {
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.017));
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius-lg);
  box-shadow: var(--zi-shadow-soft);
}

.calculator-form {
  padding: clamp(24px, 4vw, 38px);
}

.form-grid {
  display: grid;
  gap: 18px;
}

.field-group label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  color: #d5dfdd;
  font-size: 0.82rem;
  font-weight: 680;
}

.field-hint {
  color: var(--zi-muted-2);
  font-size: 0.68rem;
  font-weight: 500;
}

.input-wrap {
  position: relative;
}

.input-wrap input {
  width: 100%;
  min-height: 50px;
  padding: 12px 52px 12px 14px;
  color: var(--zi-text);
  background: rgba(4, 7, 9, 0.68);
  border: 1px solid var(--zi-line);
  border-radius: 13px;
  outline: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.input-wrap input:hover {
  border-color: rgba(255, 255, 255, 0.16);
}

.input-wrap input:focus {
  background: rgba(4, 7, 9, 0.88);
  border-color: rgba(120, 169, 255, 0.66);
  box-shadow: 0 0 0 4px rgba(120, 169, 255, 0.1);
}

.input-wrap span {
  position: absolute;
  top: 50%;
  right: 14px;
  color: var(--zi-muted-2);
  font-size: 0.76rem;
  transform: translateY(-50%);
  pointer-events: none;
}

.form-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.calculator-disclaimer {
  display: flex;
  gap: 9px;
  margin-top: 20px;
  padding: 13px 14px;
  color: #81908d;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--zi-line);
  border-radius: 13px;
  font-size: 0.72rem;
  line-height: 1.5;
}

.calculator-disclaimer svg {
  flex: 0 0 16px;
  width: 16px;
  margin-top: 2px;
  color: var(--zi-warning);
}

.calculator-result {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(24px, 4vw, 38px);
}

.result-topline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.result-label {
  color: var(--zi-muted);
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.result-main {
  display: block;
  margin-top: 8px;
  font-size: clamp(2.6rem, 6vw, 5.2rem);
  font-weight: 560;
  letter-spacing: -0.075em;
  line-height: 0.95;
}

.result-badge {
  flex: 0 0 auto;
  padding: 7px 10px;
  color: var(--zi-emerald-2);
  background: rgba(27, 216, 166, 0.075);
  border: 1px solid rgba(27, 216, 166, 0.18);
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 720;
}

.result-chart {
  position: relative;
  min-height: 250px;
  margin: 28px 0 22px;
  overflow: hidden;
  background:
    linear-gradient(rgba(255, 255, 255, 0.034) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.034) 1px, transparent 1px);
  background-size: 100% 50px, 68px 100%;
  border-radius: 16px;
}

.result-chart svg {
  width: 100%;
  height: 250px;
}

.result-view-switch {
  display: inline-flex;
  align-self: flex-start;
  gap: 4px;
  margin-top: 22px;
  padding: 4px;
  background: rgba(255, 255, 255, 0.032);
  border: 1px solid var(--zi-line);
  border-radius: 999px;
}

.result-view-tab {
  min-height: 36px;
  padding: 7px 13px;
  color: var(--zi-muted-2);
  background: transparent;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  font-size: 0.7rem;
  font-weight: 720;
  transition: color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.result-view-tab:hover,
.result-view-tab:focus-visible {
  color: var(--zi-text);
}

.result-view-tab.is-active {
  color: #04110e;
  background: linear-gradient(105deg, var(--zi-emerald-2), #8bf4d9);
  box-shadow: 0 8px 22px rgba(27, 216, 166, 0.12);
}

.result-view-panel[hidden] {
  display: none !important;
}

.calculator-result {
  container-type: inline-size;
}

.timeline-panel {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 22px 0;
  padding: clamp(18px, 3vw, 26px);
  overflow: hidden;
  background: rgba(3, 7, 9, 0.34);
  border: 1px solid var(--zi-line);
  border-radius: 18px;
}

.timeline-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 16px;
}

.timeline-head span,
.timeline-crossover > span {
  display: block;
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.61rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.timeline-head strong {
  display: block;
  margin-top: 5px;
  color: #dfe8e6;
  font-size: 0.9rem;
}

.timeline-head small {
  max-width: 280px;
  color: var(--zi-muted-2);
  font-size: 0.65rem;
  line-height: 1.45;
  text-align: right;
}

.timeline-table {
  display: grid;
  min-width: 0;
  max-width: 100%;
  gap: 8px;
}

.timeline-row {
  display: grid;
  min-width: 0;
  max-width: 100%;
  grid-template-columns: minmax(68px, 0.54fr) repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: center;
  padding: 13px 14px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.022);
  border: 1px solid rgba(255, 255, 255, 0.065);
  border-radius: 13px;
}

.timeline-year,
.timeline-metric,
.timeline-composition,
.timeline-composition > div {
  min-width: 0;
  max-width: 100%;
}

.timeline-composition {
  grid-column: 1 / -1;
  padding-top: 9px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.timeline-row.is-final {
  background: linear-gradient(135deg, rgba(27, 216, 166, 0.06), rgba(120, 169, 255, 0.035));
  border-color: rgba(27, 216, 166, 0.19);
}

.timeline-year span,
.timeline-metric span,
.timeline-composition span {
  display: block;
  color: var(--zi-muted-2);
  font-size: 0.59rem;
  line-height: 1.35;
}

.timeline-year strong,
.timeline-metric strong,
.timeline-composition strong {
  display: block;
  min-width: 0;
  max-width: 100%;
  margin-top: 4px;
  overflow-wrap: anywhere;
  color: #e7eeec;
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1.35;
}

.timeline-metric strong.is-negative {
  color: var(--zi-warning);
}

.timeline-split {
  display: flex;
  height: 5px;
  margin-top: 8px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 999px;
}

.timeline-split .is-invested {
  background: linear-gradient(90deg, #667575, #8a9997);
}

.timeline-split .is-growth {
  background: linear-gradient(90deg, var(--zi-emerald), var(--zi-blue));
}

.timeline-split.is-negative .is-invested {
  width: 100% !important;
  background: linear-gradient(90deg, #6e7877, #8c9493);
}

.timeline-split.is-negative .is-growth {
  width: 0 !important;
}

.timeline-crossover {
  margin-top: 14px;
  padding: 16px 17px;
  background: linear-gradient(135deg, rgba(155, 140, 255, 0.07), rgba(27, 216, 166, 0.04));
  border: 1px solid rgba(155, 140, 255, 0.16);
  border-radius: 14px;
}

.timeline-crossover strong {
  display: block;
  margin-top: 7px;
  color: #edf3f1;
  font-size: 0.86rem;
}

.timeline-crossover p {
  margin: 6px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.67rem;
  line-height: 1.55;
}

.result-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: auto;
}

.result-stat {
  padding: 15px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--zi-line);
  border-radius: 14px;
}

.result-stat span {
  display: block;
  color: var(--zi-muted-2);
  font-size: 0.68rem;
}

.result-stat strong {
  display: block;
  margin-top: 5px;
  font-size: clamp(0.9rem, 1.6vw, 1.14rem);
  font-weight: 620;
  letter-spacing: -0.025em;
}

.lab-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 16px;
}

.lab-card {
  position: relative;
  min-height: 260px;
  padding: 26px;
  overflow: hidden;
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.016));
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius);
}

.lab-card:nth-child(1),
.lab-card:nth-child(4) {
  grid-column: span 7;
}

.lab-card:nth-child(2),
.lab-card:nth-child(3) {
  grid-column: span 5;
}

.lab-card::after {
  position: absolute;
  right: -80px;
  bottom: -100px;
  width: 260px;
  height: 260px;
  content: "";
  background: radial-gradient(circle, var(--lab-glow, rgba(27, 216, 166, 0.14)), transparent 68%);
}

.lab-card-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.lab-icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  color: var(--lab-color, var(--zi-emerald));
  background: color-mix(in srgb, var(--lab-color, var(--zi-emerald)) 11%, transparent);
  border: 1px solid color-mix(in srgb, var(--lab-color, var(--zi-emerald)) 26%, transparent);
  border-radius: 15px;
}

.lab-icon svg {
  width: 22px;
}

.tool-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 9px;
  color: #9eaaa7;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid var(--zi-line);
  border-radius: 999px;
  font-size: 0.61rem;
  font-weight: 680;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.tool-status::before {
  width: 6px;
  height: 6px;
  content: "";
  background: var(--status-color, var(--zi-emerald));
  border-radius: 50%;
  box-shadow: 0 0 10px color-mix(in srgb, var(--status-color, var(--zi-emerald)) 60%, transparent);
}

.lab-card h3 {
  position: relative;
  z-index: 1;
  margin: 36px 0 0;
  font-size: clamp(1.45rem, 3vw, 2.2rem);
  font-weight: 560;
  letter-spacing: -0.05em;
}

.lab-card > p {
  position: relative;
  z-index: 1;
  max-width: 560px;
  margin: 11px 0 0;
  color: var(--zi-muted);
  font-size: 0.88rem;
}

.tool-tags {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 24px;
}

.tool-tags span {
  padding: 6px 9px;
  color: #82908d;
  background: rgba(0, 0, 0, 0.17);
  border: 1px solid var(--zi-line);
  border-radius: 999px;
  font-family: var(--zi-mono);
  font-size: 0.61rem;
}

.report-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
  gap: 18px;
}

.report-main,
.report-side {
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.017));
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius-lg);
  box-shadow: var(--zi-shadow-soft);
}

.report-main {
  padding: clamp(25px, 4vw, 42px);
}

.report-company-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--zi-line);
}

.company-identity {
  display: flex;
  align-items: center;
  gap: 16px;
}

.company-mark {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  color: #061310;
  background: linear-gradient(145deg, var(--zi-emerald-2), var(--zi-blue));
  border-radius: 18px;
  font-size: 1.04rem;
  font-weight: 820;
  letter-spacing: -0.05em;
}

.company-identity h3 {
  margin: 0;
  font-size: clamp(1.35rem, 3vw, 2.15rem);
  font-weight: 580;
  letter-spacing: -0.048em;
}

.company-identity p {
  margin: 3px 0 0;
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.7rem;
}

.demo-label {
  padding: 7px 10px;
  color: var(--zi-warning);
  background: rgba(241, 189, 101, 0.075);
  border: 1px solid rgba(241, 189, 101, 0.18);
  border-radius: 999px;
  font-size: 0.63rem;
  font-weight: 750;
  text-transform: uppercase;
}

.report-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 24px;
}

.report-metric {
  padding: 18px;
  background: rgba(255, 255, 255, 0.027);
  border: 1px solid var(--zi-line);
  border-radius: 15px;
}

.report-metric span {
  display: block;
  color: var(--zi-muted-2);
  font-size: 0.68rem;
}

.report-metric strong {
  display: block;
  margin-top: 8px;
  font-size: 1.05rem;
  font-weight: 620;
}

.report-progress {
  height: 5px;
  margin-top: 11px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.055);
  border-radius: 999px;
}

.report-progress span {
  display: block;
  width: var(--progress, 60%);
  height: 100%;
  background: linear-gradient(90deg, var(--zi-emerald), var(--zi-blue));
  border-radius: inherit;
}

.report-sections {
  display: grid;
  gap: 10px;
  margin-top: 24px;
}

.report-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 13px;
  align-items: center;
  min-height: 56px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.018);
  border: 1px solid transparent;
  border-radius: 13px;
}

.report-row:hover {
  background: rgba(255, 255, 255, 0.03);
  border-color: var(--zi-line);
}

.report-row-index {
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.66rem;
}

.report-row strong {
  display: block;
  font-size: 0.82rem;
}

.report-row span:not(.report-row-index) {
  display: block;
  margin-top: 2px;
  color: var(--zi-muted-2);
  font-size: 0.67rem;
}

.report-row svg {
  width: 16px;
  color: #697572;
}

.report-side {
  display: flex;
  flex-direction: column;
  padding: 28px;
  background:
    radial-gradient(circle at 100% 0%, rgba(120, 169, 255, 0.12), transparent 40%),
    linear-gradient(155deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.017));
}

.report-side h3 {
  margin: 0;
  font-size: 1.22rem;
  font-weight: 580;
  letter-spacing: -0.03em;
}

.report-side > p {
  margin: 9px 0 0;
  color: var(--zi-muted);
  font-size: 0.83rem;
}

.risk-list {
  display: grid;
  gap: 9px;
  margin: 23px 0 0;
  padding: 0;
  list-style: none;
}

.risk-list li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  padding: 12px;
  color: #a7b2b0;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--zi-line);
  border-radius: 12px;
  font-size: 0.74rem;
}

.risk-list svg {
  width: 15px;
  margin-top: 2px;
  color: var(--zi-warning);
}

.report-method {
  margin-top: auto;
  padding-top: 24px;
}

.report-method a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #d8e4e1;
  font-size: 0.78rem;
  font-weight: 720;
}

.workflow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  counter-reset: workflow;
}

.workflow-step {
  position: relative;
  min-height: 220px;
  padding: 24px;
  background: rgba(255, 255, 255, 0.026);
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius);
  counter-increment: workflow;
}

.workflow-step::before {
  display: grid;
  width: 34px;
  height: 34px;
  margin-bottom: 40px;
  content: counter(workflow, decimal-leading-zero);
  place-items: center;
  color: var(--zi-emerald-2);
  background: rgba(27, 216, 166, 0.075);
  border: 1px solid rgba(27, 216, 166, 0.18);
  border-radius: 11px;
  font-family: var(--zi-mono);
  font-size: 0.68rem;
}

.workflow-step:not(:last-child)::after {
  position: absolute;
  z-index: 2;
  top: 41px;
  right: -19px;
  width: 26px;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, rgba(27, 216, 166, 0.5), rgba(120, 169, 255, 0.3));
}

.workflow-step h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 660;
}

.workflow-step p {
  margin: 9px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.78rem;
}

.about-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
  gap: 18px;
}

.about-portrait,
.about-copy {
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius-lg);
}

.about-portrait {
  position: relative;
  min-height: 560px;
  overflow: hidden;
  background:
    linear-gradient(180deg, transparent 48%, rgba(0, 0, 0, 0.76)),
    radial-gradient(circle at 60% 25%, rgba(120, 169, 255, 0.16), transparent 32%),
    linear-gradient(135deg, #0f1c20, #0b0f14 45%, #171322);
}

.about-portrait::before {
  position: absolute;
  top: 16%;
  left: 50%;
  width: 250px;
  height: 310px;
  content: "";
  background:
    radial-gradient(circle at 50% 22%, rgba(255, 255, 255, 0.2), transparent 15%),
    linear-gradient(155deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.015));
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 48% 48% 30% 30% / 38% 38% 20% 20%;
  transform: translateX(-50%);
  box-shadow: 0 0 90px rgba(120, 169, 255, 0.08);
}

.about-portrait::after {
  position: absolute;
  inset: 0;
  content: "";
  opacity: 0.3;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(to bottom, black, transparent 70%);
}

.about-portrait-note {
  position: absolute;
  z-index: 2;
  right: 28px;
  bottom: 28px;
  left: 28px;
}

.about-portrait-note span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.67rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.about-portrait-note strong {
  display: block;
  margin-top: 8px;
  font-size: clamp(1.55rem, 3.5vw, 2.65rem);
  font-weight: 560;
  letter-spacing: -0.055em;
  line-height: 1.05;
}

.about-copy {
  padding: clamp(32px, 6vw, 68px);
  background:
    radial-gradient(circle at 100% 0%, rgba(27, 216, 166, 0.08), transparent 38%),
    var(--zi-surface);
}

.about-copy h2 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(2.3rem, 5vw, 4.6rem);
  font-weight: 520;
  letter-spacing: -0.063em;
  line-height: 0.98;
}

.about-copy > p {
  max-width: 710px;
  margin: 24px 0 0;
  color: #a5b1ae;
  font-size: 1rem;
}

.about-pillars {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 34px;
}

.about-pillar {
  padding: 15px;
  background: rgba(255, 255, 255, 0.028);
  border: 1px solid var(--zi-line);
  border-radius: 14px;
}

.about-pillar strong {
  display: block;
  font-size: 0.82rem;
}

.about-pillar span {
  display: block;
  margin-top: 4px;
  color: var(--zi-muted-2);
  font-size: 0.7rem;
}

.about-signature {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--zi-line);
}

.signature-line {
  width: 36px;
  height: 1px;
  background: linear-gradient(90deg, var(--zi-emerald), var(--zi-blue));
}

.about-signature span {
  color: var(--zi-muted);
  font-size: 0.78rem;
}

.support-panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: center;
  padding: clamp(34px, 6vw, 64px);
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 20%, rgba(27, 216, 166, 0.1), transparent 35%),
    radial-gradient(circle at 95% 0%, rgba(120, 169, 255, 0.13), transparent 42%),
    linear-gradient(145deg, #0a1115, #090b0f 60%, #100d18);
  border: 1px solid var(--zi-line);
  border-radius: 34px;
  box-shadow: var(--zi-shadow-soft);
}

.support-panel h2 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(2rem, 5vw, 4.35rem);
  font-weight: 530;
  letter-spacing: -0.06em;
  line-height: 0.98;
}

.support-panel p {
  max-width: 720px;
  margin: 18px 0 0;
  color: var(--zi-muted);
}

.support-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.blog-feed {
  padding-top: 80px;
}

.blog-feed .section-header {
  margin-bottom: 32px;
}

.preview-post-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.preview-post-card {
  display: flex;
  min-height: 310px;
  flex-direction: column;
  padding: 25px;
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.016));
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius);
  transition: transform 180ms ease, border-color 180ms ease;
}

.preview-post-card:hover {
  transform: translateY(-4px);
  border-color: rgba(120, 169, 255, 0.24);
}

.post-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.64rem;
  text-transform: uppercase;
}

.post-category {
  color: var(--post-color, var(--zi-emerald));
}

.preview-post-card h3 {
  margin: 56px 0 0;
  font-size: clamp(1.32rem, 2.3vw, 1.8rem);
  font-weight: 570;
  letter-spacing: -0.045em;
  line-height: 1.12;
}

.preview-post-card p {
  margin: 14px 0 0;
  color: var(--zi-muted);
  font-size: 0.84rem;
}

.preview-post-card .path-link {
  margin-top: auto;
  padding-top: 24px;
}

.site-footer {
  padding: 64px 0 30px;
  background: #020304;
  border-top: 1px solid var(--zi-line);
}

.footer-top {
  display: grid;
  grid-template-columns: minmax(230px, 1.15fr) repeat(3, minmax(140px, 0.55fr));
  gap: 42px;
  padding-bottom: 50px;
}

.footer-brand p {
  max-width: 440px;
  margin: 18px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.82rem;
}

.footer-col h3 {
  margin: 0 0 15px;
  color: #dce5e3;
  font-size: 0.78rem;
  font-weight: 720;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.footer-col a {
  display: block;
  width: fit-content;
  margin-top: 9px;
  color: #7d8986;
  font-size: 0.78rem;
  transition: color 160ms ease;
}

.footer-col a:hover {
  color: var(--zi-text);
}

.footer-bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px 28px;
  padding-top: 24px;
  color: #596360;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 0.68rem;
}

.footer-disclaimer {
  max-width: 850px;
}

.footer-legal {
  display: inline-flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 14px;
}

.footer-legal a {
  color: #7d8986;
  font-size: 0.68rem;
  text-decoration: underline;
  text-decoration-color: rgba(125, 137, 134, 0.35);
  text-underline-offset: 3px;
  transition: color 160ms ease, text-decoration-color 160ms ease;
}

.footer-legal a:hover,
.footer-legal a:focus-visible {
  color: var(--zi-text);
  text-decoration-color: rgba(86, 241, 200, 0.65);
}

.footer-copy {
  flex: 0 0 auto;
  white-space: nowrap;
}

/* Blogger post/page output */
.blog-feed .widget,
.blog-feed .Blog {
  margin: 0;
}

.blog-feed .blog-posts,
.blog-feed .posts {
  display: grid;
  gap: 18px;
}

.view-index .blog-feed .blog-posts,
.view-index .blog-feed .posts,
.view-home .blog-feed .blog-posts,
.view-home .blog-feed .posts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.blog-feed .post-outer,
.blog-feed .post-outer-container,
.blog-feed article.post {
  min-width: 0;
  margin: 0;
  padding: clamp(24px, 4vw, 42px);
  color: var(--zi-text);
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.016));
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius);
  box-shadow: var(--zi-shadow-soft);
}

.view-index .blog-feed .post-outer,
.view-index .blog-feed .post-outer-container,
.view-home .blog-feed .post-outer,
.view-home .blog-feed .post-outer-container {
  min-height: 300px;
}

.blog-feed .post-title,
.blog-feed h3.post-title,
.blog-feed h1.post-title {
  margin: 0;
  color: var(--zi-text);
  font-size: clamp(1.5rem, 3.4vw, 2.6rem);
  font-weight: 570;
  letter-spacing: -0.05em;
  line-height: 1.08;
}

.view-index .blog-feed .post-title,
.view-home .blog-feed .post-title {
  font-size: clamp(1.3rem, 2.4vw, 1.85rem);
}

.blog-feed .post-title a:hover {
  color: var(--zi-emerald-2);
}

.blog-feed .post-header,
.blog-feed .post-header-line-1,
.blog-feed .byline,
.blog-feed .post-timestamp,
.blog-feed .post-labels {
  color: var(--zi-muted-2);
  font-size: 0.72rem;
}

.blog-feed .post-body {
  color: #b6c1bf;
  font-size: 1rem;
  line-height: 1.82;
}

.view-index .blog-feed .post-body,
.view-home .blog-feed .post-body {
  display: -webkit-box;
  max-height: 8.5em;
  margin-top: 15px;
  overflow: hidden;
  color: var(--zi-muted);
  font-size: 0.84rem;
  line-height: 1.65;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}

.blog-feed .post-body h2,
.blog-feed .post-body h3,
.blog-feed .post-body h4 {
  margin: 1.65em 0 0.55em;
  color: var(--zi-text);
  font-weight: 590;
  letter-spacing: -0.035em;
  line-height: 1.15;
}

.blog-feed .post-body h2 {
  font-size: clamp(1.7rem, 4vw, 2.6rem);
}

.blog-feed .post-body h3 {
  font-size: clamp(1.35rem, 3vw, 1.9rem);
}

.blog-feed .post-body p,
.blog-feed .post-body ul,
.blog-feed .post-body ol,
.blog-feed .post-body blockquote {
  max-width: 820px;
}

.blog-feed .post-body a {
  color: var(--zi-emerald-2);
  text-decoration: underline;
  text-decoration-color: rgba(86, 241, 200, 0.35);
  text-underline-offset: 3px;
}

.blog-feed .post-body a.button-primary {
  color: #03110e;
  text-decoration: none;
}

.blog-feed .post-body a.button-secondary {
  color: var(--zi-text);
  text-decoration: none;
}

.blog-feed .post-body img {
  height: auto;
  margin: 28px auto;
  border: 1px solid var(--zi-line);
  border-radius: 16px;
}

.blog-feed .post-body blockquote {
  margin: 28px 0;
  padding: 20px 22px;
  color: #d4dfdd;
  background: rgba(27, 216, 166, 0.045);
  border-left: 3px solid var(--zi-emerald);
  border-radius: 0 14px 14px 0;
}

.blog-feed .post-body code {
  padding: 2px 6px;
  color: #c9f7eb;
  background: rgba(27, 216, 166, 0.075);
  border: 1px solid rgba(27, 216, 166, 0.12);
  border-radius: 6px;
  font-family: var(--zi-mono);
  font-size: 0.9em;
}

.blog-feed .post-body pre {
  max-width: 100%;
  padding: 18px;
  overflow: auto;
  color: #dce8e5;
  background: #05080a;
  border: 1px solid var(--zi-line);
  border-radius: 14px;
}

.blog-feed .post-body pre code {
  padding: 0;
  background: transparent;
  border: 0;
}

.blog-feed .post-body table {
  width: 100%;
  margin: 26px 0;
  overflow: hidden;
  border-collapse: collapse;
  border: 1px solid var(--zi-line);
  border-radius: 12px;
}

.blog-feed .post-body th,
.blog-feed .post-body td {
  padding: 11px 13px;
  text-align: left;
  border-bottom: 1px solid var(--zi-line);
}

.blog-feed .post-body th {
  color: #dfe8e6;
  background: rgba(255, 255, 255, 0.04);
}

.blog-feed .post-footer,
.blog-feed .post-share-buttons,
.blog-feed .comments,
.blog-feed .comment-form {
  color: var(--zi-muted-2);
}

.blog-feed .blog-pager {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 24px;
}

.blog-feed .blog-pager a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  padding: 9px 15px;
  color: var(--zi-text);
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid var(--zi-line);
  border-radius: 999px;
  font-size: 0.78rem;
}

.status-message {
  margin-bottom: 18px;
  padding: 13px 16px;
  color: var(--zi-muted);
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid var(--zi-line);
  border-radius: 13px;
}

/* Reusable content blocks for Blogger Pages */
.content-hero {
  padding: 16px 0 24px;
}

.content-hero h1 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(2.5rem, 7vw, 5.4rem);
  font-weight: 540;
  letter-spacing: -0.065em;
  line-height: 0.96;
}

.content-hero > p:not(.section-kicker) {
  max-width: 760px;
  margin: 22px 0 0;
  color: var(--zi-muted);
  font-size: 1.08rem;
}

.content-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 28px 0;
}

.content-card {
  padding: 22px;
  background: rgba(255, 255, 255, 0.028);
  border: 1px solid var(--zi-line);
  border-radius: 16px;
}

.content-card h3 {
  margin: 0 !important;
  font-size: 1rem !important;
}

.content-card p {
  margin: 9px 0 0 !important;
  color: var(--zi-muted);
  font-size: 0.82rem;
}

.notice {
  margin: 26px 0;
  padding: 18px 20px;
  color: #cbd7d4;
  background: rgba(120, 169, 255, 0.06);
  border: 1px solid rgba(120, 169, 255, 0.18);
  border-radius: 15px;
}

.notice-warning {
  background: rgba(241, 189, 101, 0.055);
  border-color: rgba(241, 189, 101, 0.17);
}

/* Visibility-safe motion standard (v0.27.1).
 * Critical content must never begin at opacity:0 or depend on IntersectionObserver.
 * The reveal classes are retained only as non-blocking hooks for optional polish.
 */
.reveal,
.motion-ready .reveal,
.motion-ready .reveal.is-visible,
.motion-ready .reveal[data-reveal-kind="early"],
.motion-ready .reveal[data-reveal-kind="early"].is-visible {
  opacity: 1;
  transform: none;
  transition: none;
  will-change: auto;
}

.about-story[data-no-reveal-wrapper],
.about-story-section[data-no-reveal-wrapper],
[data-reveal-bypass="oversized"] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

@media (max-width: 1120px) {
  .primary-nav {
    display: none;
  }

  .nav-toggle {
    display: block;
  }

  .mobile-panel {
    position: fixed;
    z-index: 999;
    top: var(--zi-header-height);
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    padding: 24px;
    visibility: hidden;
    opacity: 0;
    background: rgba(4, 6, 8, 0.96);
    transform: translateY(-12px);
    transition: opacity 170ms ease, transform 170ms ease, visibility 170ms ease;
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
  }

  .nav-open .mobile-panel {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }

  .mobile-nav {
    display: grid;
    gap: 5px;
    max-width: 620px;
    margin: 0 auto;
  }

  .mobile-nav a {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    padding: 13px 16px;
    color: #d9e4e1;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid var(--zi-line);
    border-radius: 15px;
    font-size: 1rem;
    font-weight: 680;
  }

  .mobile-nav a::after {
    content: "\2192";
    color: var(--zi-muted-2);
    font-family: var(--zi-font);
    font-weight: 620;
  }

  .mobile-nav .button {
    margin-top: 12px;
  }

  .hero-grid {
    grid-template-columns: 1fr;
  }

  .hero-copy {
    max-width: 860px;
  }

  .hero-visual {
    width: min(100%, 850px);
    margin: 0 auto;
  }

  .dashboard-shell {
    transform: none;
  }

  .section-header {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .calculator-layout,
  .report-layout,
  .about-layout {
    grid-template-columns: 1fr;
  }

  .about-portrait {
    min-height: 430px;
  }

  .workflow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .workflow-step:nth-child(2)::after {
    display: none;
  }

  .view-index .blog-feed .blog-posts,
  .view-index .blog-feed .posts,
  .view-home .blog-feed .blog-posts,
  .view-home .blog-feed .posts,
  .preview-post-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-top {
    grid-template-columns: 1.2fr repeat(3, 0.55fr);
    gap: 28px;
  }
}

@container (max-width: 560px) {
  .timeline-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }

  .timeline-head small {
    max-width: none;
    text-align: left;
  }

  .timeline-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 10px;
    padding: 15px;
  }

  .timeline-year {
    grid-column: 1 / -1;
    padding-bottom: 9px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.055);
  }

  .timeline-metric:nth-of-type(4) {
    grid-column: 1 / -1;
  }

  .timeline-composition {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .result-view-switch {
    width: 100%;
  }

  .result-view-tab {
    flex: 1 1 50%;
  }

  .timeline-panel {
    padding: 16px;
  }

  .timeline-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }

  .timeline-head small {
    max-width: none;
    text-align: left;
  }

  .timeline-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 10px;
    padding: 15px;
  }

  .timeline-year {
    grid-column: 1 / -1;
    padding-bottom: 9px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.055);
  }

  .timeline-metric:nth-of-type(4) {
    grid-column: 1 / -1;
  }

  .timeline-composition {
    grid-column: 1 / -1;
  }
}

@media (max-width: 820px) {
  :root {
    --zi-header-height: 70px;
  }

  .shell {
    width: min(calc(100% - 28px), var(--zi-shell));
  }

  .section {
    padding: 78px 0;
  }

  .header-inner {
    min-height: var(--zi-header-height);
  }

  .header-actions .button {
    display: none;
  }

  .hero {
    min-height: auto;
    padding-top: 64px;
  }

  .hero h1 {
    font-size: clamp(3rem, 13vw, 5.2rem);
  }

  .value-strip-grid,
  .path-grid,
  .trading-panel,
  .support-panel {
    grid-template-columns: 1fr;
  }

  .value-strip-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .value-item:nth-child(3)::before {
    display: none;
  }

  .path-card {
    min-height: 290px;
  }

  .trading-panel {
    gap: 38px;
  }

  .lab-card:nth-child(n) {
    grid-column: span 12;
  }

  .support-actions {
    justify-content: flex-start;
  }

  .footer-top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .section {
    padding: 68px 0;
  }

  .hero {
    padding-top: 52px;
  }

  .hero-actions {
    display: grid;
  }

  .hero-actions .button {
    width: 100%;
  }

  .dashboard-grid {
    grid-template-columns: 1fr;
  }

  .allocation-card {
    display: none;
  }

  .chart-frame {
    min-height: 210px;
  }

  .floating-risk-card {
    position: relative;
    right: auto;
    bottom: auto;
    width: calc(100% - 24px);
    margin: -5px auto 0;
    transform: none;
  }

  .value-strip-grid,
  .form-columns,
  .result-stats,
  .report-metrics,
  .about-pillars,
  .content-grid,
  .view-index .blog-feed .blog-posts,
  .view-index .blog-feed .posts,
  .view-home .blog-feed .blog-posts,
  .view-home .blog-feed .posts,
  .preview-post-grid,
  .workflow,
  .footer-top {
    grid-template-columns: 1fr;
  }

  .value-item + .value-item::before {
    top: 0;
    right: 18px;
    bottom: auto;
    left: 18px;
    width: auto;
    height: 1px;
  }

  .workflow-step::after {
    display: none;
  }

  .result-topline,
  .report-company-head,
  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .result-main {
    font-size: clamp(2.45rem, 13vw, 4rem);
  }

  .footer-copy {
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }

  .reveal,
  .motion-ready .reveal,
  .motion-ready .reveal.is-visible {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* =========================================================
 * Začněte investovat core components (introduced in v0.2.0)
 * ======================================================= */

[hidden] {
  display: none !important;
}

.brand-lockup {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.brand-wordmark {
  display: inline-flex;
  align-items: baseline;
  white-space: nowrap;
}

.brand-wordmark strong {
  font-weight: 780;
}

.brand-wordmark em {
  color: var(--zi-emerald-2);
  font-weight: 620;
}

.brand-lockup small {
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.54rem;
  letter-spacing: 0.055em;
  line-height: 1;
  text-transform: lowercase;
}

.brand-mark.small {
  width: 30px;
  height: 30px;
  border-radius: 10px;
}

.primary-nav {
  gap: 2px;
}

.primary-nav a {
  padding-inline: 10px;
  font-size: 0.78rem;
}

.stats-section {
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 20%, rgba(27, 216, 166, 0.07), transparent 26rem),
    radial-gradient(circle at 88% 10%, rgba(120, 169, 255, 0.07), transparent 26rem);
}

.stats-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.5fr);
  gap: 42px;
  align-items: end;
  margin-bottom: 34px;
}

.stats-heading h2 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(2.2rem, 5vw, 4.4rem);
  font-weight: 550;
  letter-spacing: -0.058em;
  line-height: 0.98;
}

.stats-heading > p {
  margin: 0;
  color: var(--zi-muted);
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.stat-card {
  position: relative;
  display: flex;
  min-height: 300px;
  flex-direction: column;
  padding: 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 100%, rgba(120, 169, 255, 0.1), transparent 46%),
    linear-gradient(155deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015));
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius);
  box-shadow: var(--zi-shadow-soft);
}

.stat-card:nth-child(2) {
  background:
    radial-gradient(circle at 100% 100%, rgba(27, 216, 166, 0.1), transparent 46%),
    linear-gradient(155deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015));
}

.stat-card:nth-child(3) {
  background:
    radial-gradient(circle at 100% 100%, rgba(155, 140, 255, 0.12), transparent 46%),
    linear-gradient(155deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015));
}

.stat-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.stat-index,
.stat-verified {
  font-family: var(--zi-mono);
  font-size: 0.61rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.stat-index {
  color: var(--zi-emerald-2);
}

.stat-verified {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--zi-muted-2);
}

.stat-verified::before {
  width: 6px;
  height: 6px;
  content: "";
  background: var(--zi-success);
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(110, 231, 164, 0.55);
}

.stat-value {
  display: block;
  margin-top: auto;
  font-size: clamp(3.25rem, 7vw, 6.2rem);
  font-weight: 610;
  letter-spacing: -0.075em;
  line-height: 0.9;
}

.stat-label {
  display: block;
  max-width: 230px;
  margin-top: 14px;
  color: #dce5e3;
  font-size: 0.88rem;
  font-weight: 650;
  line-height: 1.28;
}

.stat-note {
  margin: 12px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.7rem;
  line-height: 1.5;
}

.tool-deep-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 16px;
  padding: 22px 24px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--zi-line);
  border-radius: 18px;
}

.tool-deep-link-label {
  display: block;
  color: var(--zi-blue);
  font-family: var(--zi-mono);
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tool-deep-link strong {
  display: block;
  margin-top: 5px;
  font-size: 1rem;
}

.tool-deep-link p {
  margin: 4px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.76rem;
}

.tools-section {
  overflow: hidden;
}

.tool-console {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  min-height: 430px;
  margin-bottom: 18px;
  overflow: hidden;
  background: #080c0f;
  border: 1px solid var(--zi-line-strong);
  border-radius: var(--zi-radius-lg);
  box-shadow: var(--zi-shadow);
}

.tool-console-nav {
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 24px 18px;
  background: rgba(0, 0, 0, 0.25);
  border-right: 1px solid var(--zi-line);
}

.tool-console-brand {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 0 10px;
  align-items: center;
  margin-bottom: 24px;
  padding: 0 7px;
}

.tool-console-brand .brand-mark {
  grid-row: span 2;
}

.tool-console-brand strong {
  font-size: 0.78rem;
}

.tool-console-brand em {
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.55rem;
  font-style: normal;
  text-transform: uppercase;
}

.tool-console-item {
  padding: 11px 12px;
  color: var(--zi-muted-2);
  border: 1px solid transparent;
  border-radius: 11px;
  font-size: 0.72rem;
  font-weight: 650;
}

.tool-console-item.active {
  color: var(--zi-text);
  background: rgba(27, 216, 166, 0.07);
  border-color: rgba(27, 216, 166, 0.16);
}

.tool-console-main {
  padding: clamp(24px, 4vw, 42px);
  background:
    radial-gradient(circle at 85% 0%, rgba(120, 169, 255, 0.11), transparent 35%),
    radial-gradient(circle at 12% 100%, rgba(27, 216, 166, 0.07), transparent 35%);
}

.tool-console-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.tool-console-top span:first-child {
  display: block;
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.64rem;
  text-transform: uppercase;
}

.tool-console-top strong {
  display: block;
  margin-top: 6px;
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 570;
  letter-spacing: -0.055em;
}

.tool-console-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 28px;
}

.tool-console-metrics > div {
  padding: 16px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--zi-line);
  border-radius: 14px;
}

.tool-console-metrics span,
.tool-console-metrics strong {
  display: block;
}

.tool-console-metrics span {
  color: var(--zi-muted-2);
  font-size: 0.63rem;
  text-transform: uppercase;
}

.tool-console-metrics strong {
  margin-top: 4px;
  font-size: 0.78rem;
}

.tool-console-metrics i {
  display: block;
  height: 4px;
  margin-top: 14px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 999px;
}

.tool-console-metrics i::after {
  display: block;
  width: var(--meter, 60%);
  height: 100%;
  content: "";
  background: linear-gradient(90deg, var(--zi-emerald), var(--zi-blue));
  border-radius: inherit;
}

.tool-console-lower {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(210px, 0.6fr);
  gap: 12px;
  margin-top: 12px;
}

.tool-console-chart,
.tool-console-checks {
  min-height: 180px;
  padding: 18px;
  background: rgba(0, 0, 0, 0.18);
  border: 1px solid var(--zi-line);
  border-radius: 14px;
}

.tool-console-chart {
  display: flex;
  align-items: flex-end;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 44px 44px;
}

.tool-console-chart svg {
  width: 100%;
  height: 150px;
}

.tool-console-checks {
  display: grid;
  align-content: center;
  gap: 11px;
}

.tool-console-checks span {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #aab6b3;
  font-size: 0.72rem;
}

.tool-console-checks b {
  width: 7px;
  height: 7px;
  background: var(--zi-emerald);
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(27, 216, 166, 0.45);
}

.lab-card:nth-child(n) {
  grid-column: span 6;
}

.experimental-card {
  border-color: rgba(255, 112, 122, 0.22);
}

.guides-section {
  background:
    linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.012) 45%, transparent),
    radial-gradient(circle at 86% 12%, rgba(155, 140, 255, 0.07), transparent 28rem);
}

.guide-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.guide-card {
  position: relative;
  display: flex;
  min-height: 330px;
  flex-direction: column;
  padding: 26px;
  overflow: hidden;
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.014));
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius);
  transition: transform 180ms ease, border-color 180ms ease;
}

.guide-card::after {
  position: absolute;
  right: -90px;
  bottom: -110px;
  width: 260px;
  height: 260px;
  content: "";
  background: radial-gradient(circle, color-mix(in srgb, var(--guide-color) 18%, transparent), transparent 68%);
}

.guide-card:hover {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--guide-color) 30%, transparent);
}

.guide-label {
  position: relative;
  z-index: 1;
  color: var(--guide-color);
  font-family: var(--zi-mono);
  font-size: 0.63rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.guide-card > strong {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 56px;
  font-size: clamp(1.55rem, 3vw, 2.25rem);
  font-weight: 560;
  letter-spacing: -0.052em;
  line-height: 1.06;
}

.guide-card p {
  position: relative;
  z-index: 1;
  margin: 14px 0 0;
  color: var(--zi-muted);
  font-size: 0.84rem;
}

.guide-card .path-link {
  position: relative;
  z-index: 1;
  margin-top: auto;
  padding-top: 24px;
}

.guide-actions,
.feed-actions {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}

.about-portrait::before {
  display: none;
}

.about-portrait img {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.portrait-placeholder {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: grid;
  place-items: center;
  transition: opacity 220ms ease;
}

.has-photo .portrait-placeholder {
  opacity: 0;
}

.portrait-orbit {
  position: absolute;
  width: min(72%, 360px);
  aspect-ratio: 1;
  border: 1px solid rgba(120, 169, 255, 0.2);
  border-radius: 50%;
  box-shadow:
    0 0 0 44px rgba(120, 169, 255, 0.025),
    0 0 0 88px rgba(155, 140, 255, 0.018);
}

.portrait-orbit::before,
.portrait-orbit::after {
  position: absolute;
  content: "";
  border-radius: 50%;
}

.portrait-orbit::before {
  top: 11%;
  right: 13%;
  width: 10px;
  height: 10px;
  background: var(--zi-emerald-2);
  box-shadow: 0 0 24px rgba(86, 241, 200, 0.75);
}

.portrait-orbit::after {
  bottom: 18%;
  left: 5%;
  width: 7px;
  height: 7px;
  background: var(--zi-violet);
  box-shadow: 0 0 22px rgba(155, 140, 255, 0.75);
}

.portrait-core {
  width: 112px;
  height: 140px;
  background:
    radial-gradient(circle at 50% 22%, rgba(255, 255, 255, 0.24), transparent 17%),
    linear-gradient(155deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.018));
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 52% 52% 34% 34% / 38% 38% 24% 24%;
  box-shadow: 0 0 90px rgba(120, 169, 255, 0.12);
}

.about-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  margin-top: 28px;
}

.text-link {
  color: var(--zi-emerald-2);
  font-size: 0.82rem;
  font-weight: 700;
}

/* Dedicated Blogger Pages and test article helpers */
.tool-hub-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 28px 0;
}

.tool-hub-card {
  min-height: 210px;
  padding: 22px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--zi-line);
  border-radius: 17px;
}

.tool-hub-card.featured {
  grid-column: span 2;
  background:
    radial-gradient(circle at 100% 0%, rgba(27, 216, 166, 0.12), transparent 45%),
    rgba(255, 255, 255, 0.035);
  border-color: rgba(27, 216, 166, 0.2);
}

.tool-hub-card:last-child:not(.featured) {
  grid-column: 1 / -1;
  min-height: 150px;
}

.tool-hub-card span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.64rem;
  text-transform: uppercase;
}

.tool-hub-card h3 {
  margin: 38px 0 0;
}

.tool-hub-card p {
  color: var(--zi-muted);
  font-size: 0.84rem;
}

.article-cover {
  display: grid;
  min-height: 280px;
  place-items: center;
  margin: 28px 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 70% 20%, rgba(120, 169, 255, 0.2), transparent 34%),
    radial-gradient(circle at 25% 80%, rgba(27, 216, 166, 0.13), transparent 34%),
    #090d12;
  border: 1px solid var(--zi-line);
  border-radius: 20px;
}

.article-cover strong {
  font-size: clamp(2rem, 6vw, 5rem);
  font-weight: 560;
  letter-spacing: -0.06em;
}

@media (max-width: 1120px) {
  .stats-heading {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .brand-lockup small {
    display: none;
  }
}

@media (max-width: 820px) {
  .tool-console {
    grid-template-columns: 1fr;
  }

  .tool-console-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-right: 0;
    border-bottom: 1px solid var(--zi-line);
  }

  .tool-console-brand {
    grid-column: 1 / -1;
    margin-bottom: 8px;
  }

  .tool-console-metrics,
  .tool-console-lower,
  .guide-grid,
  .tool-hub-grid {
    grid-template-columns: 1fr;
  }

  .tool-hub-card.featured,
  .tool-hub-card:last-child:not(.featured) {
    grid-column: auto;
  }

  .lab-card:nth-child(n) {
    grid-column: span 12;
  }
}

@media (max-width: 620px) {
  .brand {
    gap: 8px;
  }

  .brand-mark {
    width: 31px;
    height: 31px;
  }

  .brand-wordmark {
    font-size: 0.88rem;
  }

  .stats-grid {
    grid-template-columns: 1fr;
  }

  .stat-card {
    min-height: 250px;
  }

  .tool-deep-link,
  .tool-console-top {
    align-items: flex-start;
    flex-direction: column;
  }

  .tool-deep-link .button {
    width: 100%;
  }

  .tool-console-nav {
    grid-template-columns: 1fr;
  }

  .tool-console-item {
    display: none;
  }

  .tool-console-item.active {
    display: block;
  }

  .tool-console-metrics {
    grid-template-columns: 1fr;
  }

  .guide-card {
    min-height: 280px;
  }
}

/* Core component alignment inherited from v0.2.0 */
.section-copy-stack {
  display: grid;
  gap: 14px;
  align-content: end;
}

.section-copy-stack .text-link {
  width: fit-content;
}

.stats-footnote {
  max-width: 900px;
  margin: 22px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.72rem;
}

.guide-card > span:first-child {
  position: relative;
  z-index: 1;
  color: var(--guide-color, var(--zi-emerald-2));
  font-family: var(--zi-mono);
  font-size: 0.63rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.guide-card h3 {
  position: relative;
  z-index: 1;
  margin: 56px 0 0;
  font-size: clamp(1.55rem, 3vw, 2.25rem);
  font-weight: 560;
  letter-spacing: -0.052em;
  line-height: 1.06;
}

.guide-card > strong {
  position: relative;
  z-index: 1;
  margin-top: auto;
  padding-top: 24px;
  color: #dce7e5;
  font-size: 0.82rem;
  font-weight: 740;
  letter-spacing: 0;
  line-height: 1.3;
}

.photo-placeholder {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 8px;
  padding: 36px;
  text-align: center;
  transition: opacity 220ms ease;
}

.photo-placeholder::before {
  width: min(44%, 190px);
  aspect-ratio: 1;
  content: "";
  background:
    radial-gradient(circle at 50% 28%, rgba(255, 255, 255, 0.22), transparent 19%),
    linear-gradient(155deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.016));
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  box-shadow: 0 0 100px rgba(120, 169, 255, 0.13);
}

.photo-placeholder span {
  margin-top: 18px;
  color: #dce6e4;
  font-size: 0.9rem;
  font-weight: 720;
}

.photo-placeholder small {
  max-width: 300px;
  color: var(--zi-muted-2);
  font-size: 0.68rem;
}

.about-portrait.has-photo .photo-placeholder {
  opacity: 0;
  pointer-events: none;
}

.content-preview-shell {
  min-height: 70vh;
  padding-top: 88px;
}

.preview-content-card {
  width: 100%;
}

.view-page .preview-content-card,
.view-item .preview-content-card {
  padding: clamp(26px, 5vw, 58px);
}

.view-page .calculator-layout {
  margin: 32px 0 48px;
}

.blog-feed .post-body table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  white-space: normal;
}

@media (max-width: 820px) {
  .section-copy-stack {
    gap: 10px;
  }

  .about-portrait {
    min-height: 500px;
  }
}

@media (max-width: 620px) {
  .brand-lockup {
    max-width: 190px;
  }

  .photo-placeholder {
    padding: 24px;
  }

  .content-preview-shell {
    padding-top: 54px;
  }

  .view-page .preview-content-card,
  .view-item .preview-content-card {
    padding: 22px 18px;
  }
}

/* v0.4.0 — First Step brand, clearer fee impact, personal story and optional live usage */
.brand-mark {
  width: 38px;
  height: 38px;
  padding: 3px;
  color: var(--zi-text);
  background:
    radial-gradient(circle at 24% 82%, rgba(27, 216, 166, 0.2), transparent 38%),
    radial-gradient(circle at 82% 16%, rgba(155, 140, 255, 0.2), transparent 42%),
    #090d12;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 13px;
  box-shadow: 0 10px 28px rgba(42, 76, 115, 0.24), inset 0 0 0 1px rgba(27, 216, 166, 0.035);
}

.brand-mark::before,
.brand-mark::after {
  display: none;
}

.brand-symbol-svg {
  display: block;
  width: 100%;
  height: 100%;
}

.brand-route {
  stroke: #edf7f4;
}

.brand-route-start {
  fill: var(--zi-emerald);
  stroke: #07100e;
  stroke-width: 2px;
}

.brand-route-end {
  fill: var(--zi-violet);
}

.brand-wordmark em {
  color: var(--zi-emerald-2);
  font-weight: 650;
}

.free-tool-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.free-tool-card {
  position: relative;
  display: flex;
  min-height: 260px;
  flex-direction: column;
  padding: 26px;
  overflow: hidden;
  color: var(--zi-text);
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--tool-accent) 18%, transparent), transparent 48%),
    linear-gradient(155deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.016));
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius);
  box-shadow: var(--zi-shadow-soft);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.free-tool-card:hover,
.free-tool-card:focus-visible {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--tool-accent) 42%, rgba(255, 255, 255, 0.12));
}

.free-tool-card::after {
  position: absolute;
  right: 24px;
  bottom: 24px;
  width: 54px;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, transparent, var(--tool-accent));
}

.free-tool-status {
  align-self: flex-start;
  padding: 6px 9px;
  color: var(--tool-accent);
  background: color-mix(in srgb, var(--tool-accent) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--tool-accent) 22%, transparent);
  border-radius: 999px;
  font-family: var(--zi-mono);
  font-size: 0.62rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.free-tool-card strong {
  margin-top: 44px;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  letter-spacing: -0.045em;
}

.free-tool-card p {
  margin: 12px 0 24px;
  color: var(--zi-muted);
  font-size: 0.88rem;
}

.free-tool-link {
  margin-top: auto;
  color: var(--tool-accent);
  font-size: 0.8rem;
  font-weight: 720;
}

.capability-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.capability-card {
  position: relative;
  padding: clamp(26px, 4vw, 40px);
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--capability-accent) 16%, transparent), transparent 40%),
    linear-gradient(155deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.016));
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius-lg);
  box-shadow: var(--zi-shadow-soft);
}

.capability-heading > span {
  color: var(--capability-accent);
  font-family: var(--zi-mono);
  font-size: 0.68rem;
  letter-spacing: 0.06em;
}

.capability-heading h3 {
  margin: 24px 0 12px;
  font-size: clamp(2rem, 4vw, 3.6rem);
  font-weight: 560;
  letter-spacing: -0.065em;
  line-height: 0.98;
}

.capability-heading p {
  max-width: 680px;
  color: #a8b4b1;
  font-size: 0.98rem;
}

.capability-columns {
  display: grid;
  gap: 10px;
  margin-top: 28px;
}

.capability-columns > div {
  padding: 16px 17px;
  background: rgba(255, 255, 255, 0.028);
  border: 1px solid var(--zi-line);
  border-radius: 14px;
}

.capability-columns strong {
  display: block;
  color: #e4eeeb;
  font-size: 0.76rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.capability-columns p {
  margin: 7px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.78rem;
}

.capability-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-top: 24px;
}

.public-tags {
  margin-top: 18px;
}

.affiliation-note {
  margin: 20px 0 0;
  padding-top: 16px;
  color: #71807d;
  border-top: 1px solid var(--zi-line);
  font-size: 0.68rem;
}

.supporting-tools {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 16px;
  overflow: hidden;
  background: var(--zi-line);
  border: 1px solid var(--zi-line);
  border-radius: 18px;
}

.supporting-tools > div {
  padding: 20px;
  background: #090d10;
}

.supporting-tools strong,
.supporting-tools span {
  display: block;
}

.supporting-tools strong {
  font-size: 0.9rem;
}

.supporting-tools span {
  margin-top: 7px;
  color: var(--zi-muted-2);
  font-size: 0.74rem;
}

.trust-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.trust-row > div {
  padding: 18px;
  background: rgba(255, 255, 255, 0.028);
  border: 1px solid var(--zi-line);
  border-radius: 15px;
}

.trust-row strong,
.trust-row span {
  display: block;
}

.trust-row strong {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 1.35rem;
}

.trust-row span {
  margin-top: 7px;
  color: var(--zi-muted-2);
  font-size: 0.72rem;
}

.tool-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 2px;
}

.button-quiet {
  min-height: 40px;
  padding: 9px 13px;
  color: #a9b4b1;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--zi-line);
  border-radius: 12px;
  font-size: 0.72rem;
  cursor: pointer;
}

.button-quiet:hover,
.button-quiet:focus-visible {
  color: var(--zi-text);
  border-color: rgba(120, 169, 255, 0.4);
}

.tool-method-link {
  color: var(--zi-emerald-2);
  font-size: 0.72rem;
  font-weight: 700;
}

.assumption-summary {
  margin: 17px 0 0;
  color: #84928f;
  font-size: 0.72rem;
  line-height: 1.55;
}

.result-stat small {
  display: block;
  margin-top: 4px;
  color: var(--zi-muted-2);
  font-size: 0.64rem;
}

.tool-section-anchor {
  margin: 78px 0 24px;
  scroll-margin-top: calc(var(--zi-header-height) + 24px);
}

.tool-section-anchor h2 {
  margin: 8px 0 10px;
}

.tool-hub-grid-v3 .tool-hub-card {
  display: flex;
  flex-direction: column;
  color: var(--zi-text);
}

.tool-hub-grid-v3 .tool-hub-card strong {
  margin-top: auto;
  color: var(--zi-emerald-2);
  font-size: 0.76rem;
}

.content-grid.two-column,
.security-grid,
.about-page-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 32px 0;
}

.content-grid.two-column > section,
.security-card {
  padding: 24px;
  background: rgba(255, 255, 255, 0.028);
  border: 1px solid var(--zi-line);
  border-radius: 18px;
}

.security-card.danger {
  border-color: rgba(255, 112, 122, 0.22);
}

.security-card.safe {
  border-color: rgba(27, 216, 166, 0.22);
}

.content-callout {
  margin: 28px 0;
  padding: 20px 22px;
  color: #dce7e4;
  background: rgba(27, 216, 166, 0.055);
  border: 1px solid rgba(27, 216, 166, 0.2);
  border-radius: 16px;
}

.content-callout.warning {
  background: rgba(241, 189, 101, 0.055);
  border-color: rgba(241, 189, 101, 0.24);
}

.content-callout.danger {
  background: rgba(255, 112, 122, 0.055);
  border-color: rgba(255, 112, 122, 0.24);
}

.content-footnote {
  color: #74827f;
  font-size: 0.72rem;
}

.guide-index {
  display: grid;
  gap: 16px;
  margin-top: 34px;
}

.guide-category {
  display: grid;
  grid-template-columns: minmax(170px, 0.34fr) minmax(0, 1fr);
  gap: 18px;
  padding: 24px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--zi-line);
  border-radius: 18px;
}

.guide-category > div:first-child > span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.68rem;
}

.guide-category h2 {
  margin: 16px 0 0;
  font-size: 1.25rem;
}

.guide-index-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.guide-index-cards a {
  display: block;
  padding: 18px;
  color: var(--zi-text);
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--zi-line);
  border-radius: 14px;
}

.guide-index-cards a:hover,
.guide-index-cards a:focus-visible {
  border-color: rgba(120, 169, 255, 0.35);
}

.guide-index-cards span,
.guide-index-cards strong {
  display: block;
}

.guide-index-cards span {
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.62rem;
}

.guide-index-cards strong {
  margin-top: 14px;
  font-size: 1rem;
}

.guide-index-cards p {
  margin: 8px 0 0;
  color: var(--zi-muted);
  font-size: 0.76rem;
}

.about-page-layout {
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
  align-items: start;
}

.about-page-photo {
  position: sticky;
  top: calc(var(--zi-header-height) + 24px);
  display: grid;
  min-height: 540px;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 70% 20%, rgba(120, 169, 255, 0.16), transparent 42%),
    radial-gradient(circle at 25% 82%, rgba(27, 216, 166, 0.14), transparent 40%),
    #090d11;
  border: 1px solid var(--zi-line);
  border-radius: 24px;
}

.about-page-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-page-copy {
  padding: 10px 0 20px;
}

.about-page-copy h2:first-child {
  margin-top: 0;
}

.about-skill-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 22px 0;
}

.about-skill-grid > div {
  padding: 18px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--zi-line);
  border-radius: 14px;
}

.about-skill-grid strong,
.about-skill-grid span {
  display: block;
}

.about-skill-grid span {
  margin-top: 6px;
  color: var(--zi-muted-2);
  font-size: 0.72rem;
}

.blog-feed .post-body img,
.blog-feed .post-body iframe,
.blog-feed .post-body video {
  max-width: 100%;
}

.blog-feed .post-body .separator,
.blog-feed .post-body [style*="width"] {
  max-width: 100% !important;
}

@media (max-width: 980px) {
  .free-tool-grid,
  .capability-grid,
  .content-grid.two-column,
  .security-grid,
  .about-page-layout {
    grid-template-columns: 1fr;
  }

  .supporting-tools {
    grid-template-columns: 1fr;
  }

  .trust-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-page-photo {
    position: relative;
    top: auto;
    min-height: 460px;
  }
}

@media (max-width: 760px) {
  .guide-category {
    grid-template-columns: 1fr;
  }

  .guide-index-cards,
  .about-skill-grid {
    grid-template-columns: 1fr;
  }

  .capability-heading h3 {
    font-size: 2.35rem;
  }
}

@media (max-width: 620px) {
  .brand-mark {
    width: 32px;
    height: 32px;
    border-radius: 11px;
  }

  .free-tool-card {
    min-height: 230px;
    padding: 22px;
  }

  .trust-row {
    grid-template-columns: 1fr;
  }

  .tool-form-actions,
  .capability-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .tool-form-actions .button,
  .capability-actions .button {
    width: 100%;
  }

  .result-topline {
    flex-direction: column;
    gap: 14px;
  }

  .result-main {
    font-size: clamp(2.35rem, 13vw, 4rem);
  }
}

/* =========================================================
 * Začněte investovat v0.4.0 — story, trust and optional anonymous usage
 * ======================================================= */

.brand-mark {
  width: 42px;
  height: 42px;
  overflow: visible;
  background: transparent;
  border-radius: 0;
  box-shadow: 0 10px 30px rgba(27, 216, 166, 0.12);
}

.brand-mark::before,
.brand-mark::after,
.brand-mark > span {
  display: none !important;
}

.brand-symbol-svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  filter: drop-shadow(0 8px 18px rgba(84, 117, 245, 0.18));
}

.brand-wordmark {
  font-size: 1rem;
}

.brand-wordmark strong {
  color: #f4f8f7;
}

.brand-wordmark em {
  color: #56f1c8;
}

.free-tools-section {
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 0%, rgba(27, 216, 166, 0.075), transparent 30rem),
    radial-gradient(circle at 92% 100%, rgba(155, 140, 255, 0.08), transparent 30rem);
}

.free-tools-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.free-tool-card {
  position: relative;
  display: flex;
  min-height: 330px;
  flex-direction: column;
  padding: clamp(24px, 3vw, 34px);
  overflow: hidden;
  color: var(--zi-text);
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--tool-accent) 17%, transparent), transparent 45%),
    linear-gradient(155deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.015));
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius-lg);
  box-shadow: var(--zi-shadow-soft);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.free-tool-card::after {
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  content: "";
  background: linear-gradient(90deg, transparent, var(--tool-accent), transparent);
  opacity: 0.72;
}

.free-tool-card:hover,
.free-tool-card:focus-within {
  z-index: 2;
  border-color: color-mix(in srgb, var(--tool-accent) 38%, transparent);
  transform: translateY(-4px);
}

.free-tool-top,
.capability-head,
.tool-page-heading,
.tool-form-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.tool-number,
.capability-head > span,
.tool-page-heading > div > span,
.tool-form-index {
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.64rem;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.tool-availability,
.local-tool-badge {
  padding: 7px 10px;
  color: var(--tool-accent, var(--zi-emerald-2));
  background: color-mix(in srgb, var(--tool-accent, var(--zi-emerald-2)) 9%, transparent);
  border: 1px solid color-mix(in srgb, var(--tool-accent, var(--zi-emerald-2)) 22%, transparent);
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 720;
}

.free-tool-card h3 {
  max-width: 340px;
  margin: 74px 0 0;
  font-size: clamp(1.85rem, 3.4vw, 3rem);
  font-weight: 560;
  letter-spacing: -0.058em;
  line-height: 1;
}

.free-tool-card p {
  margin: 18px 0 0;
  color: var(--zi-muted);
  font-size: 0.92rem;
  line-height: 1.65;
}

.free-tool-card > a {
  width: fit-content;
  margin-top: auto;
  padding-top: 38px;
  color: var(--tool-accent);
  font-size: 0.82rem;
  font-weight: 740;
}

.capability-section {
  background:
    radial-gradient(circle at 2% 54%, rgba(120, 169, 255, 0.07), transparent 31rem),
    radial-gradient(circle at 98% 42%, rgba(27, 216, 166, 0.06), transparent 31rem);
}

.capability-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.capability-card {
  position: relative;
  display: flex;
  min-height: 690px;
  flex-direction: column;
  padding: clamp(28px, 4vw, 46px);
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0%, rgba(120, 169, 255, 0.12), transparent 44%),
    linear-gradient(155deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.014));
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius-lg);
  box-shadow: var(--zi-shadow-soft);
}

.portfolio-capability {
  background:
    radial-gradient(circle at 100% 0%, rgba(27, 216, 166, 0.12), transparent 44%),
    linear-gradient(155deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.014));
}

.capability-icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  color: var(--zi-blue);
  background: rgba(120, 169, 255, 0.08);
  border: 1px solid rgba(120, 169, 255, 0.18);
  border-radius: 15px;
}

.portfolio-capability .capability-icon {
  color: var(--zi-emerald-2);
  background: rgba(27, 216, 166, 0.08);
  border-color: rgba(27, 216, 166, 0.18);
}

.capability-icon svg {
  width: 23px;
}

.capability-card h3 {
  margin: 64px 0 0;
  font-size: clamp(2.5rem, 5vw, 4.7rem);
  font-weight: 545;
  letter-spacing: -0.066em;
  line-height: 0.96;
}

.capability-lead {
  max-width: 680px;
  margin: 24px 0 0;
  color: #bcc8c6;
  font-size: clamp(1rem, 1.8vw, 1.15rem);
  line-height: 1.68;
}

.capability-details {
  display: grid;
  gap: 10px;
  margin: 38px 0 30px;
}

.capability-details > div {
  display: grid;
  grid-template-columns: minmax(120px, 0.35fr) minmax(0, 1fr);
  gap: 20px;
  padding: 17px 0;
  border-top: 1px solid var(--zi-line);
}

.capability-details strong {
  color: #eef4f3;
  font-size: 0.78rem;
}

.capability-details span {
  color: var(--zi-muted);
  font-size: 0.8rem;
  line-height: 1.55;
}

.capability-card .button {
  width: fit-content;
  margin-top: auto;
}

.platform-note {
  display: block;
  margin-top: 18px;
  color: #71807d;
  font-size: 0.66rem;
  line-height: 1.5;
}

.trust-panel {
  display: grid;
  grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(34px, 7vw, 86px);
  padding: clamp(30px, 5vw, 64px);
  background:
    radial-gradient(circle at 0% 100%, rgba(27, 216, 166, 0.12), transparent 38%),
    #080c10;
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius-lg);
  box-shadow: var(--zi-shadow-soft);
}

.trust-copy h2 {
  margin: 0;
  font-size: clamp(2.2rem, 5vw, 4.4rem);
  font-weight: 550;
  letter-spacing: -0.062em;
  line-height: 0.98;
}

.trust-copy > p:last-child {
  margin: 24px 0 0;
  color: var(--zi-muted);
  line-height: 1.7;
}

.trust-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.trust-grid > div {
  min-height: 180px;
  padding: 22px;
  background: rgba(255, 255, 255, 0.032);
  border: 1px solid var(--zi-line);
  border-radius: 17px;
}

.trust-grid span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.65rem;
}

.trust-grid strong {
  display: block;
  margin-top: 46px;
  font-size: 1.1rem;
}

.trust-grid p {
  margin: 8px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.76rem;
  line-height: 1.55;
}

.tool-form-head {
  margin-bottom: 24px;
}

.tool-form-head > div {
  display: grid;
  gap: 4px;
}

.tool-form-head strong {
  color: #eaf1f0;
  font-size: 0.9rem;
}

.local-tool-badge {
  --tool-accent: var(--zi-emerald-2);
  color: var(--zi-emerald-2);
}

.calculator-form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 22px;
}

.button-ghost {
  min-height: 40px;
  padding: 9px 13px;
  color: #b9c5c3;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid var(--zi-line);
  border-radius: 11px;
  font-size: 0.72rem;
}

.button-ghost:hover,
.button-ghost:focus-visible {
  color: var(--zi-text);
  background: rgba(255, 255, 255, 0.065);
}

.calculator-method-link {
  color: var(--zi-emerald-2);
  font-size: 0.72rem;
  font-weight: 700;
}

.result-summary {
  max-width: 720px;
  margin: 18px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.76rem;
  line-height: 1.55;
}

.scenario-a label::before,
.scenario-b label::before {
  width: 7px;
  height: 7px;
  content: "";
  border-radius: 50%;
}

.scenario-a label::before {
  background: #1bd8a6;
}

.scenario-b label::before {
  background: #f1bd65;
}

.scenario-field label {
  justify-content: flex-start;
}

.scenario-field .field-hint {
  margin-left: auto;
}

.tool-hub-grid-v3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tool-hub-grid-v3 .tool-hub-card,
.tool-hub-grid-v3 .tool-hub-card.featured,
.tool-hub-grid-v3 .tool-hub-card:last-child:not(.featured) {
  grid-column: auto;
  min-height: 250px;
  color: var(--zi-text);
}

.tool-hub-grid-v3 .tool-hub-card strong {
  display: block;
  margin-top: 26px;
  color: var(--zi-emerald-2);
  font-size: 0.78rem;
}

.tool-page-section {
  margin: 78px 0;
  padding-top: 18px;
  scroll-margin-top: calc(var(--zi-header-height) + 28px);
}

.tool-page-heading {
  margin-bottom: 14px;
}

.tool-page-heading h2 {
  margin: 8px 0 0;
  font-size: clamp(2rem, 4vw, 3.6rem);
  letter-spacing: -0.055em;
}

.tool-page-heading > a {
  color: var(--zi-emerald-2);
  font-size: 0.75rem;
  font-weight: 700;
}

.tool-page-section > p {
  max-width: 850px;
  color: var(--zi-muted);
}

.tool-page-section .calculator-layout {
  margin-top: 30px;
}

.content-meta {
  display: block;
  margin-bottom: 14px;
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.62rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.about-page-intro {
  display: grid;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(28px, 6vw, 72px);
  align-items: center;
  margin: 42px 0 58px;
}

.about-page-photo {
  position: relative;
  min-height: 480px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 30%, rgba(120, 169, 255, 0.16), transparent 36%),
    linear-gradient(155deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015));
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius-lg);
}

.about-page-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-page-intro h2 {
  margin-top: 0;
}

@media (max-width: 1120px) {
  .free-tools-grid,
  .tool-hub-grid-v3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .free-tool-card:last-child,
  .tool-hub-grid-v3 .tool-hub-card:last-child {
    grid-column: 1 / -1;
  }

  .capability-card {
    min-height: 640px;
  }

  .trust-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .free-tools-grid,
  .capability-grid,
  .tool-hub-grid-v3,
  .about-page-intro {
    grid-template-columns: 1fr;
  }

  .free-tool-card:last-child,
  .tool-hub-grid-v3 .tool-hub-card:last-child {
    grid-column: auto;
  }

  .free-tool-card {
    min-height: 285px;
  }

  .capability-card {
    min-height: auto;
  }

  .capability-card h3 {
    margin-top: 48px;
  }

  .trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tool-page-heading {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 620px) {
  .brand-mark {
    width: 36px;
    height: 36px;
  }

  .brand-wordmark {
    font-size: 0.82rem;
  }

  .free-tool-card h3 {
    margin-top: 54px;
  }

  .capability-card {
    padding: 24px 20px;
  }

  .capability-details > div {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .trust-panel {
    padding: 26px 20px;
  }

  .trust-grid {
    grid-template-columns: 1fr;
  }

  .trust-grid > div {
    min-height: 155px;
  }

  .calculator-form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .calculator-form-actions .button,
  .calculator-method-link {
    width: 100%;
    text-align: center;
  }

  .result-main {
    font-size: clamp(2.15rem, 11vw, 3.4rem);
  }

  .result-stats {
    grid-template-columns: 1fr;
  }

  .result-chart,
  .result-chart svg {
    min-height: 210px;
    height: 210px;
  }

  .tool-form-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .about-page-photo {
    min-height: 380px;
  }
}

/* v0.4.0 — story, fee clarity and optional live usage counter */
.tool-form-badges {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.tool-usage-badge,
.tool-usage-count {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  padding: 6px 9px;
  color: var(--zi-emerald-2);
  background: rgba(27, 216, 166, 0.065);
  border: 1px solid rgba(27, 216, 166, 0.16);
  border-radius: 999px;
  font-family: var(--zi-mono);
  font-size: 0.61rem;
  letter-spacing: 0.025em;
  white-space: nowrap;
}

.tool-usage-count {
  margin: -4px 0 14px;
}

.tool-usage-badge[hidden],
.tool-usage-count[hidden],
.usage-total-summary[hidden] {
  display: none !important;
}

.usage-total-summary {
  width: fit-content;
  margin: 24px 0 10px;
  padding: 9px 12px;
  color: #bcefe1;
  background: rgba(27, 216, 166, 0.055);
  border: 1px solid rgba(27, 216, 166, 0.16);
  border-radius: 999px;
  font-family: var(--zi-mono);
  font-size: 0.66rem;
}

.fee-impact-result {
  gap: 0;
}

.fee-result-hero {
  padding: 4px 0 2px;
}

.fee-result-headline {
  display: block;
  max-width: 860px;
  margin-top: 13px;
  color: #e7efed;
  font-size: clamp(1.15rem, 2.2vw, 1.78rem);
  font-weight: 560;
  letter-spacing: -0.035em;
  line-height: 1.24;
}

.fee-result-number {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-top: 18px;
}

.fee-result-number .result-main {
  min-width: 0;
  margin-top: 0;
  color: var(--zi-text);
  font-size: clamp(3rem, 7vw, 6.15rem);
  line-height: 0.96;
  overflow-wrap: anywhere;
}

.fee-result-number .result-badge {
  max-width: 220px;
  margin-bottom: 8px;
  text-align: center;
  white-space: normal;
}

.fee-impact-result .result-summary {
  max-width: 850px;
  margin: 18px 0 0;
  color: var(--zi-muted);
  line-height: 1.65;
}

.fee-comparison-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 24px;
}

.fee-comparison-strip > div {
  padding: 16px 17px;
  background: rgba(255, 255, 255, 0.026);
  border: 1px solid var(--zi-line);
  border-radius: 14px;
}

.fee-comparison-lower {
  border-color: rgba(27, 216, 166, 0.2) !important;
  background: linear-gradient(135deg, rgba(27, 216, 166, 0.07), rgba(255, 255, 255, 0.018)) !important;
}

.fee-comparison-higher {
  border-color: rgba(241, 189, 101, 0.17) !important;
}

.fee-comparison-strip span,
.fee-comparison-strip strong,
.fee-comparison-strip small {
  display: block;
}

.fee-comparison-strip span {
  color: var(--zi-muted-2);
  font-size: 0.67rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.fee-comparison-strip strong {
  margin-top: 7px;
  font-size: 1.22rem;
  font-weight: 650;
}

.fee-comparison-strip small {
  margin-top: 4px;
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.63rem;
}

.fee-comparison-higher small {
  color: #f1bd65;
}

.fee-impact-result .result-chart {
  position: relative;
  margin-top: 22px;
  padding-top: 38px;
}

.fee-chart-legend {
  position: absolute;
  top: 10px;
  left: 14px;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  color: var(--zi-muted);
  font-size: 0.66rem;
}

.fee-chart-legend > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.fee-chart-legend b {
  font-weight: 520;
}

.fee-chart-legend i {
  width: 18px;
  height: 3px;
  border-radius: 999px;
}

.fee-chart-legend .is-lower-fee i,
.fee-legend-a i {
  background: linear-gradient(90deg, #1bd8a6, #78a9ff);
}

.fee-chart-legend .is-higher-fee i,
.fee-legend-b i {
  background: linear-gradient(90deg, #f1bd65, #ff707a);
}

.fee-chart-legend .is-equal-fee i {
  background: linear-gradient(90deg, #78a9ff, #9b8cff);
}

.scenario-field.is-lower-fee label::before {
  background: #1bd8a6;
  box-shadow: 0 0 0 4px rgba(27, 216, 166, 0.08);
}

.scenario-field.is-higher-fee label::before {
  background: #f1bd65;
  box-shadow: 0 0 0 4px rgba(241, 189, 101, 0.07);
}

.scenario-field.is-equal-fee label::before {
  background: #78a9ff;
  box-shadow: 0 0 0 4px rgba(120, 169, 255, 0.07);
}

.fee-result-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fee-result-stats .result-stat {
  min-width: 0;
}

.fee-result-stats .result-stat small {
  display: block;
  margin-top: 5px;
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.6rem;
  line-height: 1.45;
}

.fee-result-stats .result-stat.is-lower-fee {
  background: rgba(27, 216, 166, 0.04);
  border-color: rgba(27, 216, 166, 0.2);
}

.fee-result-stats .result-stat.is-higher-fee {
  border-color: rgba(241, 189, 101, 0.17);
}

.domain-inline {
  color: var(--zi-emerald-2);
  font-family: inherit;
  font-size: inherit;
  font-weight: 650;
  letter-spacing: -0.025em;
  white-space: nowrap;
}

.about-story-hero h1 .domain-inline {
  font-size: 0.82em;
  letter-spacing: -0.055em;
}

.about-story-hero h1 {
  max-width: 1060px;
}

.about-story-intro {
  align-items: stretch;
}

.about-intro-copy {
  align-self: center;
}

.about-intro-copy h2 {
  max-width: 760px;
  font-size: clamp(2rem, 4vw, 3.75rem);
  letter-spacing: -0.055em;
  line-height: 1.02;
}

.about-manifesto {
  margin: 28px 0 0;
  padding: 22px 24px;
  color: #eaf3f1;
  background: linear-gradient(135deg, rgba(27, 216, 166, 0.08), rgba(120, 169, 255, 0.045));
  border: 1px solid rgba(27, 216, 166, 0.2);
  border-radius: 18px;
  font-size: clamp(1.15rem, 2.2vw, 1.55rem);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.35;
}

.about-story {
  display: grid;
  gap: 0;
  margin-top: 68px;
}

.about-story-section {
  display: grid;
  grid-template-columns: minmax(150px, 0.28fr) minmax(0, 1fr);
  gap: clamp(28px, 6vw, 84px);
  padding: clamp(46px, 7vw, 86px) 0;
  border-top: 1px solid var(--zi-line);
}

.about-story-index {
  position: sticky;
  top: calc(var(--zi-header-height) + 26px);
  align-self: start;
}

.about-story-index span,
.about-story-index strong {
  display: block;
}

.about-story-index span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
}

.about-story-index strong {
  margin-top: 10px;
  color: var(--zi-muted);
  font-size: 0.82rem;
  font-weight: 600;
}

.about-story-copy {
  max-width: 920px;
}

.about-story-copy > h2 {
  max-width: 860px;
  margin: 0 0 24px;
  font-size: clamp(2rem, 4.4vw, 4rem);
  font-weight: 540;
  letter-spacing: -0.058em;
  line-height: 1.02;
}

.about-story-copy > p {
  max-width: 820px;
  color: #a7b3b0;
  font-size: clamp(0.98rem, 1.3vw, 1.08rem);
  line-height: 1.78;
}

.question-grid,
.about-capability-grid,
.about-open-door,
.boundary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 30px 0;
}

.question-grid > div,
.about-capability-grid > div,
.about-open-door > div,
.boundary-grid > div {
  padding: 21px;
  background: rgba(255, 255, 255, 0.027);
  border: 1px solid var(--zi-line);
  border-radius: 16px;
}

.question-grid span,
.about-capability-grid span,
.about-open-door span {
  display: block;
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.63rem;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.question-grid strong,
.about-capability-grid strong,
.about-open-door strong,
.boundary-grid strong {
  display: block;
  margin-top: 12px;
  color: var(--zi-text);
  font-size: 1.02rem;
  line-height: 1.35;
}

.question-grid p,
.about-capability-grid p,
.boundary-grid p {
  margin: 8px 0 0;
  color: var(--zi-muted);
  font-size: 0.78rem;
  line-height: 1.6;
}

.source-card {
  position: relative;
  margin: 30px 0;
  padding: 25px;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0, rgba(120, 169, 255, 0.1), transparent 42%),
    rgba(255, 255, 255, 0.027);
  border: 1px solid rgba(120, 169, 255, 0.2);
  border-radius: 18px;
}

.source-card > span,
.source-card > strong,
.source-card > small {
  display: block;
}

.source-card > span {
  color: #93b8ff;
  font-family: var(--zi-mono);
  font-size: 0.64rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.source-card > strong {
  max-width: 760px;
  margin-top: 12px;
  font-size: 1.12rem;
  line-height: 1.35;
}

.source-card > p {
  max-width: 760px;
  margin: 12px 0;
  color: var(--zi-muted);
  font-size: 0.78rem;
}

.source-card > a {
  color: var(--zi-emerald-2);
  font-size: 0.78rem;
  font-weight: 700;
}

.source-card > small {
  margin-top: 10px;
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.61rem;
}

.principle-list {
  display: grid;
  gap: 10px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.principle-list li {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 16px;
  padding: 20px 21px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--zi-line);
  border-radius: 15px;
}

.principle-list li > span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.69rem;
}

.principle-list strong,
.principle-list p {
  display: block;
}

.principle-list strong {
  color: var(--zi-text);
}

.principle-list p {
  margin: 7px 0 0;
  color: var(--zi-muted);
  font-size: 0.78rem;
  line-height: 1.6;
}

.about-final-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: end;
  margin-top: 34px;
  padding: clamp(24px, 4vw, 38px);
  background: linear-gradient(135deg, rgba(27, 216, 166, 0.075), rgba(120, 169, 255, 0.04));
  border: 1px solid rgba(27, 216, 166, 0.18);
  border-radius: 22px;
}

.about-final-cta span,
.about-final-cta strong,
.about-final-cta em {
  display: block;
}

.about-final-cta span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.66rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.about-final-cta strong {
  max-width: 680px;
  margin-top: 12px;
  font-size: clamp(1.12rem, 2vw, 1.45rem);
  line-height: 1.4;
}

.about-final-cta em {
  margin-top: 12px;
  color: #c5d1ce;
  font-size: 0.92rem;
  font-style: normal;
}

@media (max-width: 900px) {
  .about-story-section {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .about-story-index {
    position: static;
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .about-story-index strong {
    margin-top: 0;
  }

  .about-final-cta {
    grid-template-columns: 1fr;
    align-items: start;
  }
}

@media (max-width: 680px) {
  .fee-result-number {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .fee-result-number .result-badge {
    margin-bottom: 0;
  }

  .fee-comparison-strip,
  .fee-result-stats,
  .question-grid,
  .about-capability-grid,
  .about-open-door,
  .boundary-grid {
    grid-template-columns: 1fr;
  }

  .fee-impact-result .result-chart {
    min-height: 220px;
  }

  .fee-impact-result .result-chart svg {
    height: 220px;
  }

  .domain-inline {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .about-story {
    margin-top: 44px;
  }

  .about-story-section {
    padding: 48px 0;
  }

  .about-final-cta .about-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .about-final-cta .button {
    width: 100%;
  }
}

.usage-privacy-note {
  max-width: 820px;
  margin: 10px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.72rem;
  line-height: 1.65;
}

/* v0.4.0 live-stat refinements */
.stat-card.is-live-stat {
  background:
    radial-gradient(circle at 100% 100%, rgba(27, 216, 166, 0.16), transparent 48%),
    radial-gradient(circle at 0 0, rgba(120, 169, 255, 0.09), transparent 44%),
    linear-gradient(155deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.016));
  border-color: rgba(27, 216, 166, 0.25);
}

.stat-card.is-live-stat .stat-verified {
  color: var(--zi-emerald-2);
}

.stat-card.is-live-stat .stat-verified::before {
  animation: zi-live-pulse 2.2s ease-in-out infinite;
}

.fee-result-stats .result-stat.is-equal-fee {
  background: rgba(120, 169, 255, 0.035);
  border-color: rgba(120, 169, 255, 0.18);
}

.fee-comparison-strip strong,
.fee-result-stats strong {
  overflow-wrap: anywhere;
}

@keyframes zi-live-pulse {
  0%, 100% {
    opacity: 0.62;
    box-shadow: 0 0 0 0 rgba(27, 216, 166, 0.25);
  }
  50% {
    opacity: 1;
    box-shadow: 0 0 0 7px rgba(27, 216, 166, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .stat-card.is-live-stat .stat-verified::before {
    animation: none;
  }
}

/* v0.4.2 — Blogger static Page renderer and navigation patch */
a.free-tool-card {
  cursor: pointer;
  text-decoration: none;
}

a.free-tool-card:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--tool-accent) 72%, white 8%);
  outline-offset: 5px;
}

.free-tool-card-cta {
  position: relative;
  z-index: 1;
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 7px;
  margin-top: auto;
  padding-top: 38px;
  color: var(--tool-accent);
  font-size: 0.82rem;
  font-weight: 740;
}

a.free-tool-card:hover .free-tool-card-cta > span,
a.free-tool-card:focus-visible .free-tool-card-cta > span {
  transform: translateX(4px);
}

.free-tool-card-cta > span {
  transition: transform 160ms ease;
}

/* v0.4.2 — server-rendered static Blogger Page routes */
.static-page-route {
  min-height: 70vh;
}

.static-page-route .preview-content-card {
  width: 100%;
}

.static-page-route [data-static-route] {
  width: 100%;
}

.static-page-unknown {
  max-width: 920px;
  padding: clamp(12px, 2vw, 22px) 0;
}

.static-page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: 32px;
}

@media (max-width: 620px) {
  .static-page-actions {
    display: grid;
  }

  .static-page-actions .button {
    width: 100%;
  }
}


/* =========================================================
 * v0.5.0 — Unified manual release, Academy and Research backbone
 * Design direction remains locked to the existing dark graphite system.
 * ======================================================= */

.solo-trust-line {
  width: fit-content;
  margin: 26px auto 0;
  padding: 9px 14px;
  color: #bfd0cc;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid var(--zi-line);
  border-radius: 999px;
  font-family: var(--zi-mono);
  font-size: 0.67rem;
  letter-spacing: 0.055em;
  text-align: center;
  text-transform: uppercase;
}

.pillars-section {
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 20%, rgba(27, 216, 166, 0.075), transparent 30rem),
    radial-gradient(circle at 92% 80%, rgba(155, 140, 255, 0.075), transparent 30rem);
}

.pillar-grid-v5 {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 14px;
}

.pillar-card {
  position: relative;
  display: flex;
  min-height: 310px;
  grid-column: span 2;
  flex-direction: column;
  padding: 26px;
  overflow: hidden;
  color: var(--zi-text);
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--pillar-color) 14%, transparent), transparent 48%),
    linear-gradient(155deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.014));
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius);
  box-shadow: var(--zi-shadow-soft);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.pillar-card::after {
  position: absolute;
  right: -90px;
  bottom: -110px;
  width: 260px;
  height: 260px;
  content: "";
  background: radial-gradient(circle, color-mix(in srgb, var(--pillar-color) 18%, transparent), transparent 68%);
}

.pillar-card:hover,
.pillar-card:focus-visible {
  transform: translateY(-5px);
  border-color: color-mix(in srgb, var(--pillar-color) 36%, rgba(255, 255, 255, 0.1));
}

.pillar-card > span,
.pillar-card h3,
.pillar-card p,
.pillar-card strong {
  position: relative;
  z-index: 1;
}

.pillar-card > span {
  color: var(--pillar-color);
  font-family: var(--zi-mono);
  font-size: 0.65rem;
  letter-spacing: 0.08em;
}

.pillar-card h3 {
  margin: 74px 0 0;
  font-size: clamp(1.65rem, 3vw, 2.6rem);
  font-weight: 560;
  letter-spacing: -0.055em;
  line-height: 1;
}

.pillar-card p {
  margin: 16px 0 0;
  color: var(--zi-muted);
  font-size: 0.84rem;
  line-height: 1.62;
}

.pillar-card strong {
  margin-top: auto;
  padding-top: 28px;
  color: #dce7e4;
  font-size: 0.78rem;
}

.solo-maker-section {
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 75%, rgba(27, 216, 166, 0.07), transparent 30rem),
    radial-gradient(circle at 88% 20%, rgba(120, 169, 255, 0.075), transparent 30rem);
}

.solo-maker-panel {
  position: relative;
  padding: clamp(42px, 8vw, 96px);
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0%, rgba(155, 140, 255, 0.13), transparent 40%),
    radial-gradient(circle at 0% 100%, rgba(27, 216, 166, 0.1), transparent 40%),
    linear-gradient(145deg, #081015, #080b0f 58%, #100c17);
  border: 1px solid var(--zi-line);
  border-radius: 38px;
  box-shadow: var(--zi-shadow);
}

.solo-maker-panel h2 {
  max-width: 1020px;
  margin: 0;
  font-size: clamp(2.7rem, 6.4vw, 6.2rem);
  font-weight: 520;
  letter-spacing: -0.068em;
  line-height: 0.94;
}

.solo-maker-panel > p:not(.section-kicker) {
  max-width: 790px;
  margin: 28px 0 0;
  color: #aab6b3;
  font-size: clamp(1rem, 1.7vw, 1.2rem);
  line-height: 1.72;
}

.solo-maker-panel > div {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 36px;
}

.small-goal-section {
  background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.012), transparent);
}

.small-goal-panel {
  max-width: 1120px;
  margin: 0 auto;
  padding: clamp(36px, 6vw, 72px);
  text-align: center;
  background:
    radial-gradient(circle at 50% 0%, rgba(27, 216, 166, 0.09), transparent 38%),
    rgba(255, 255, 255, 0.022);
  border: 1px solid var(--zi-line);
  border-radius: 34px;
}

.small-goal-panel > span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.68rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.small-goal-panel h2 {
  max-width: 960px;
  margin: 24px auto 0;
  font-size: clamp(2rem, 4.7vw, 4.5rem);
  font-weight: 540;
  letter-spacing: -0.06em;
  line-height: 1.02;
}

.small-goal-panel p {
  max-width: 760px;
  margin: 24px auto 0;
  color: var(--zi-muted);
  font-size: 1rem;
}

/* Academy hub */
.academy-hero,
.glossary-hero,
.research-hub-hero {
  padding-bottom: 42px;
}

.academy-progress-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.58fr);
  gap: 34px;
  align-items: center;
  margin: 18px 0 58px;
  padding: clamp(26px, 4.6vw, 48px);
  background:
    radial-gradient(circle at 0 100%, rgba(27, 216, 166, 0.1), transparent 45%),
    radial-gradient(circle at 100% 0, rgba(120, 169, 255, 0.1), transparent 45%),
    rgba(255, 255, 255, 0.027);
  border: 1px solid var(--zi-line);
  border-radius: 26px;
  box-shadow: var(--zi-shadow-soft);
}

.academy-progress-panel > div:first-child > span,
.academy-level > header span,
.academy-coming-grid article > span,
.lesson-status-panel > span,
.lesson-learn > div > span,
.lesson-section-heading > span,
.lesson-example > span,
.lesson-warning > span,
.ticker-request-copy > span,
.research-demo > div:first-child > span,
.research-posts-link > div > span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.66rem;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.academy-progress-panel h2 {
  margin: 12px 0 0;
  font-size: clamp(1.7rem, 3.3vw, 2.9rem);
  font-weight: 570;
  letter-spacing: -0.05em;
}

.academy-progress-panel p {
  margin: 8px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.8rem;
}

.academy-progress-meter {
  display: grid;
  gap: 14px;
}

.academy-progress-meter > strong {
  color: var(--zi-text);
  font-size: clamp(2.3rem, 5vw, 4.4rem);
  font-weight: 600;
  letter-spacing: -0.07em;
  line-height: 0.9;
}

.academy-progress-track {
  height: 9px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.04);
  border-radius: 999px;
}

.academy-progress-track > span {
  display: block;
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, var(--zi-emerald), var(--zi-blue), var(--zi-violet));
  border-radius: inherit;
  transition: width 300ms ease;
}

.academy-progress-meter .button {
  width: fit-content;
}

.academy-level {
  margin-top: 34px;
  padding: clamp(26px, 4vw, 42px);
  background: rgba(255, 255, 255, 0.022);
  border: 1px solid var(--zi-line);
  border-radius: 26px;
}

.academy-level > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.54fr);
  gap: 30px;
  align-items: end;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--zi-line);
}

.academy-level > header h2 {
  margin: 10px 0 0;
  font-size: clamp(2.1rem, 4.5vw, 4rem);
  font-weight: 550;
  letter-spacing: -0.06em;
  line-height: 1;
}

.academy-level > header p {
  margin: 0;
  color: var(--zi-muted);
}

.academy-lesson-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
  margin-top: 28px;
}

.academy-level-two .academy-lesson-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.academy-lesson-card {
  position: relative;
  display: flex;
  min-height: 300px;
  flex-direction: column;
  padding: 24px;
  overflow: hidden;
  color: var(--zi-text);
  background:
    radial-gradient(circle at 100% 0%, rgba(120, 169, 255, 0.09), transparent 44%),
    linear-gradient(155deg, rgba(255, 255, 255, 0.048), rgba(255, 255, 255, 0.012));
  border: 1px solid var(--zi-line);
  border-radius: 19px;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.academy-lesson-card:hover,
.academy-lesson-card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(120, 169, 255, 0.32);
}

.academy-lesson-card.is-complete {
  background:
    radial-gradient(circle at 100% 0%, rgba(27, 216, 166, 0.13), transparent 48%),
    linear-gradient(155deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.014));
  border-color: rgba(27, 216, 166, 0.25);
}

.academy-lesson-card > span {
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.62rem;
  letter-spacing: 0.07em;
}

.academy-lesson-card h3 {
  margin: 58px 0 0;
  font-size: clamp(1.45rem, 2.6vw, 2.15rem);
  font-weight: 570;
  letter-spacing: -0.052em;
  line-height: 1.06;
}

.academy-lesson-card p {
  margin: 14px 0 0;
  color: var(--zi-muted);
  font-size: 0.8rem;
}

.academy-lesson-card > strong {
  width: fit-content;
  margin-top: auto;
  padding-top: 26px;
  color: var(--zi-blue);
  font-size: 0.72rem;
}

.academy-lesson-card.is-complete > strong {
  color: var(--zi-emerald-2);
}

.academy-coming-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.academy-coming-grid article {
  min-height: 225px;
  padding: 22px;
  background: rgba(255, 255, 255, 0.018);
  border: 1px dashed rgba(255, 255, 255, 0.11);
  border-radius: 18px;
}

.academy-coming-grid h3 {
  margin: 46px 0 0;
  font-size: 1.22rem;
}

.academy-coming-grid p {
  margin: 10px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.75rem;
}

.academy-coming-grid strong {
  display: block;
  margin-top: 22px;
  color: #6f7d7a;
  font-family: var(--zi-mono);
  font-size: 0.62rem;
  text-transform: uppercase;
}

.academy-footer-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 11px;
  margin-top: 30px;
}

/* Academy lessons */
.lesson-page {
  max-width: 1100px;
  margin: 0 auto;
}

.lesson-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 28px;
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.66rem;
}

.lesson-breadcrumb a {
  color: var(--zi-emerald-2) !important;
}

.lesson-hero {
  padding: 10px 0 22px;
}

.lesson-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.36fr);
  gap: 28px;
  align-items: stretch;
}

.lesson-hero h1 {
  max-width: 860px;
  margin: 0;
  font-size: clamp(2.7rem, 6.5vw, 5.7rem);
  font-weight: 535;
  letter-spacing: -0.066em;
  line-height: 0.97;
}

.lesson-hero-grid > div > p:last-child {
  max-width: 780px;
  margin: 24px 0 0;
  color: #aab6b3;
  font-size: 1.05rem;
  line-height: 1.72;
}

.lesson-status-panel {
  display: flex;
  min-height: 250px;
  flex-direction: column;
  padding: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(27, 216, 166, 0.1), transparent 48%),
    rgba(255, 255, 255, 0.026);
  border: 1px solid var(--zi-line);
  border-radius: 22px;
}

.lesson-status-panel > strong {
  margin-top: auto;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.035em;
}

.lesson-status-panel > p {
  margin: 10px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.72rem;
}

.lesson-learn {
  display: grid;
  grid-template-columns: minmax(240px, 0.43fr) minmax(0, 1fr);
  gap: 34px;
  margin: 42px 0;
  padding: clamp(26px, 4.6vw, 48px);
  background: rgba(120, 169, 255, 0.045);
  border: 1px solid rgba(120, 169, 255, 0.16);
  border-radius: 24px;
}

.lesson-learn h2 {
  margin: 12px 0 0 !important;
  font-size: clamp(1.45rem, 2.8vw, 2.3rem) !important;
}

.lesson-learn ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.lesson-learn li,
.lesson-checklist li,
.lesson-warning li {
  position: relative;
  padding-left: 28px;
}

.lesson-learn li::before,
.lesson-checklist li::before {
  position: absolute;
  top: 0.28em;
  left: 0;
  width: 18px;
  height: 18px;
  content: "";
  background: var(--zi-emerald-2);
  border-radius: 50%;
}

.lesson-learn li::after,
.lesson-checklist li::after {
  position: absolute;
  top: 0.58em;
  left: 5px;
  width: 7px;
  height: 4px;
  content: "";
  border-bottom: 2px solid #03110e;
  border-left: 2px solid #03110e;
  transform: rotate(-45deg);
  transform-origin: center;
}

.lesson-body {
  display: grid;
  gap: 10px;
}

.lesson-body > section:not(.lesson-warning):not(.lesson-example) {
  padding: clamp(26px, 4vw, 46px) 0;
  border-top: 1px solid var(--zi-line);
}

.lesson-body h2 {
  max-width: 860px;
  margin-top: 0 !important;
  font-size: clamp(1.8rem, 3.9vw, 3.5rem) !important;
  letter-spacing: -0.055em !important;
}

.lesson-body p,
.lesson-body li {
  max-width: 820px;
}

.lesson-example,
.lesson-warning,
.lesson-formula,
.lesson-checklist {
  margin: 34px 0;
  padding: clamp(26px, 4vw, 44px);
  border-radius: 23px;
}

.lesson-example {
  background:
    radial-gradient(circle at 100% 0%, rgba(27, 216, 166, 0.1), transparent 45%),
    rgba(27, 216, 166, 0.035);
  border: 1px solid rgba(27, 216, 166, 0.18);
}

.lesson-warning {
  background:
    radial-gradient(circle at 100% 0%, rgba(241, 189, 101, 0.09), transparent 45%),
    rgba(241, 189, 101, 0.03);
  border: 1px solid rgba(241, 189, 101, 0.18);
}

.lesson-warning > span {
  color: var(--zi-warning);
}

.lesson-warning li::before {
  position: absolute;
  top: 0.46em;
  left: 4px;
  width: 7px;
  height: 7px;
  content: "";
  background: var(--zi-warning);
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(241, 189, 101, 0.35);
}

.example-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}

.example-compare > div,
.lesson-formula,
.lesson-checklist {
  padding: 22px;
  background: rgba(255, 255, 255, 0.026);
  border: 1px solid var(--zi-line);
  border-radius: 17px;
}

.example-compare strong {
  display: block;
  color: #e8f0ef;
  font-size: 0.9rem;
}

.example-compare p {
  margin: 9px 0 0;
  color: var(--zi-muted);
  font-size: 0.8rem;
}

.lesson-formula {
  overflow-x: auto;
  color: #dff8f1;
  background: #07100f;
  border-color: rgba(27, 216, 166, 0.18);
  font-family: var(--zi-mono);
  text-align: center;
}

.lesson-quiz {
  margin: 58px 0 34px;
  padding: clamp(26px, 5vw, 52px);
  background:
    radial-gradient(circle at 100% 0%, rgba(155, 140, 255, 0.11), transparent 42%),
    rgba(255, 255, 255, 0.024);
  border: 1px solid var(--zi-line);
  border-radius: 28px;
}

.lesson-section-heading h2 {
  margin: 12px 0 0 !important;
}

.lesson-section-heading p {
  margin: 10px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.78rem;
}

.quiz-question {
  margin: 28px 0 0;
  padding: 0;
  border: 0;
}

.quiz-question legend {
  display: flex;
  gap: 13px;
  width: 100%;
  color: #e9f1ef;
  font-size: 1rem;
  font-weight: 650;
}

.quiz-question legend > span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.68rem;
}

.quiz-options {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.quiz-options label {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  padding: 15px 16px;
  cursor: pointer;
  color: #b9c5c2;
  background: rgba(255, 255, 255, 0.023);
  border: 1px solid var(--zi-line);
  border-radius: 14px;
  transition: background 150ms ease, border-color 150ms ease, color 150ms ease;
}

.quiz-options label:hover,
.quiz-options label:focus-within {
  color: var(--zi-text);
  background: rgba(255, 255, 255, 0.045);
  border-color: rgba(120, 169, 255, 0.28);
}

.quiz-options input {
  width: 17px;
  height: 17px;
  margin-top: 3px;
  accent-color: var(--zi-emerald);
}

.quiz-question.is-correct {
  --quiz-state: var(--zi-emerald-2);
}

.quiz-question.is-incorrect {
  --quiz-state: var(--zi-warning);
}

.quiz-question.is-correct .quiz-explanation,
.quiz-question.is-incorrect .quiz-explanation {
  border-color: color-mix(in srgb, var(--quiz-state) 34%, transparent);
}

.quiz-explanation {
  margin: 12px 0 0;
  padding: 14px 16px;
  color: #acb9b6;
  background: rgba(0, 0, 0, 0.16);
  border: 1px solid var(--zi-line);
  border-radius: 13px;
  font-size: 0.78rem;
}

.quiz-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 11px;
  margin-top: 30px;
}

.quiz-result {
  margin: 20px 0 0;
  padding: 16px 18px;
  color: #dce6e4;
  background: rgba(120, 169, 255, 0.05);
  border: 1px solid rgba(120, 169, 255, 0.17);
  border-radius: 14px;
}

.quiz-result.is-success {
  background: rgba(27, 216, 166, 0.055);
  border-color: rgba(27, 216, 166, 0.2);
}

.lesson-complete-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  margin: 30px 0;
  padding: 24px;
  background: rgba(27, 216, 166, 0.045);
  border: 1px solid rgba(27, 216, 166, 0.18);
  border-radius: 19px;
}

.lesson-complete-panel h2 {
  margin: 8px 0 0 !important;
  font-size: 1.45rem !important;
}

.lesson-complete-panel p {
  margin: 8px 0 0;
  color: var(--zi-muted);
  font-size: 0.78rem;
}

.lesson-complete-panel button.is-complete {
  color: #03110e;
  background: var(--zi-emerald-2);
}

.lesson-related,
.lesson-sources {
  margin-top: 42px;
  padding-top: 36px;
  border-top: 1px solid var(--zi-line);
}

.lesson-related .content-grid,
.lesson-sources .content-grid {
  margin-bottom: 0;
}

.source-card {
  display: block;
  padding: 20px;
  color: var(--zi-text) !important;
  text-decoration: none !important;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--zi-line);
  border-radius: 15px;
}

.source-card:hover,
.source-card:focus-visible {
  border-color: rgba(120, 169, 255, 0.3);
}

.source-card span,
.source-card strong,
.source-card small {
  display: block;
}

.source-card span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.62rem;
}

.source-card strong {
  margin-top: 12px;
}

.source-card small {
  margin-top: 7px;
  color: var(--zi-muted-2);
}

.lesson-navigation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 48px;
}

.lesson-nav-card {
  display: flex;
  min-height: 150px;
  flex-direction: column;
  padding: 22px;
  color: var(--zi-text) !important;
  text-decoration: none !important;
  background: rgba(255, 255, 255, 0.026);
  border: 1px solid var(--zi-line);
  border-radius: 17px;
}

.lesson-nav-card.is-next {
  text-align: right;
}

.lesson-nav-card span {
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.63rem;
  text-transform: uppercase;
}

.lesson-nav-card strong {
  margin-top: auto;
  font-size: 1.05rem;
}

.lesson-nav-card:hover,
.lesson-nav-card:focus-visible {
  border-color: rgba(27, 216, 166, 0.28);
}

/* Glossary */
.glossary-search-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
  margin: 10px 0 28px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--zi-line);
  border-radius: 18px;
}

.glossary-search-panel .field-group {
  margin: 0;
}

.glossary-search-panel input {
  width: 100%;
  min-height: 52px;
  padding: 12px 15px;
  color: var(--zi-text);
  background: rgba(4, 7, 9, 0.7);
  border: 1px solid var(--zi-line);
  border-radius: 13px;
  outline: 0;
}

.glossary-search-panel input:focus {
  border-color: rgba(120, 169, 255, 0.62);
  box-shadow: 0 0 0 4px rgba(120, 169, 255, 0.09);
}

.glossary-search-panel p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.67rem;
}

.glossary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.glossary-card {
  display: flex;
  min-height: 310px;
  flex-direction: column;
  padding: 22px;
  background:
    radial-gradient(circle at 100% 0%, rgba(120, 169, 255, 0.07), transparent 46%),
    rgba(255, 255, 255, 0.023);
  border: 1px solid var(--zi-line);
  border-radius: 18px;
}

.glossary-card[hidden] {
  display: none !important;
}

.glossary-card > span {
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.62rem;
}

.glossary-card h2 {
  margin: 34px 0 0 !important;
  font-size: 1.45rem !important;
}

.glossary-card > p {
  margin: 12px 0 0;
  color: var(--zi-muted);
  font-size: 0.82rem;
}

.glossary-card > div {
  margin-top: 18px;
  padding: 14px;
  background: rgba(0, 0, 0, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.055);
  border-radius: 12px;
}

.glossary-card > div strong {
  display: block;
  color: #dce6e4;
  font-size: 0.72rem;
}

.glossary-card > div p {
  margin: 7px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.73rem;
}

.glossary-card > a {
  width: fit-content;
  margin-top: auto;
  padding-top: 20px;
  color: var(--zi-emerald-2) !important;
  font-size: 0.72rem;
  font-weight: 700;
}

.glossary-empty {
  margin: 24px 0;
  padding: 34px;
  text-align: center;
  background: rgba(255, 255, 255, 0.022);
  border: 1px dashed var(--zi-line-strong);
  border-radius: 18px;
}

.glossary-empty h2 {
  margin: 0 !important;
}

.glossary-empty p {
  margin: 10px 0 0;
  color: var(--zi-muted);
}

/* Research hub */
.research-path-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
  margin: 18px 0 54px;
}

.research-path-grid > a {
  display: flex;
  min-height: 310px;
  flex-direction: column;
  padding: 25px;
  color: var(--zi-text) !important;
  text-decoration: none !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(155, 140, 255, 0.09), transparent 45%),
    rgba(255, 255, 255, 0.025);
  border: 1px solid var(--zi-line);
  border-radius: 20px;
  transition: transform 180ms ease, border-color 180ms ease;
}

.research-path-grid > a:hover,
.research-path-grid > a:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(155, 140, 255, 0.3);
}

.research-path-grid span {
  color: var(--zi-violet);
  font-family: var(--zi-mono);
  font-size: 0.65rem;
}

.research-path-grid h2 {
  margin: 60px 0 0 !important;
  font-size: clamp(1.65rem, 3vw, 2.5rem) !important;
}

.research-path-grid p {
  margin: 14px 0 0;
  color: var(--zi-muted);
  font-size: 0.82rem;
}

.research-path-grid strong {
  margin-top: auto;
  padding-top: 26px;
  color: var(--zi-emerald-2);
  font-size: 0.75rem;
}

.research-demo {
  display: grid;
  grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.3fr);
  gap: 38px;
  margin: 56px 0;
  padding: clamp(30px, 5vw, 58px);
  background:
    radial-gradient(circle at 0 100%, rgba(27, 216, 166, 0.09), transparent 40%),
    rgba(255, 255, 255, 0.023);
  border: 1px solid var(--zi-line);
  border-radius: 27px;
}

.research-demo > div:first-child h2 {
  margin: 18px 0 0 !important;
  font-size: clamp(2rem, 4.2vw, 3.7rem) !important;
}

.research-demo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.research-demo-grid article {
  min-height: 190px;
  padding: 20px;
  background: rgba(0, 0, 0, 0.16);
  border: 1px solid var(--zi-line);
  border-radius: 15px;
}

.research-demo-grid article > span {
  color: var(--zi-blue);
  font-family: var(--zi-mono);
  font-size: 0.62rem;
}

.research-demo-grid strong {
  display: block;
  margin-top: 42px;
  font-size: 0.92rem;
}

.research-demo-grid p {
  margin: 8px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.73rem;
}

.ticker-request {
  margin: 58px 0;
  padding: clamp(30px, 5vw, 58px);
  background:
    radial-gradient(circle at 100% 0%, rgba(120, 169, 255, 0.1), transparent 42%),
    #080c10;
  border: 1px solid var(--zi-line);
  border-radius: 28px;
  box-shadow: var(--zi-shadow-soft);
}

.ticker-request-copy h2 {
  margin: 16px 0 0 !important;
  font-size: clamp(2rem, 4.5vw, 4rem) !important;
}

.ticker-request-copy p {
  max-width: 760px;
  color: var(--zi-muted);
}

.ticker-request-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 18px;
  margin-top: 30px;
}

.ticker-request form,
.ticker-output {
  padding: 24px;
  background: rgba(255, 255, 255, 0.026);
  border: 1px solid var(--zi-line);
  border-radius: 18px;
}

.ticker-request textarea,
.ticker-request input,
.ticker-output textarea {
  width: 100%;
  padding: 13px 14px;
  color: var(--zi-text);
  background: rgba(4, 7, 9, 0.72);
  border: 1px solid var(--zi-line);
  border-radius: 13px;
  outline: 0;
  resize: vertical;
}

.ticker-request textarea:focus,
.ticker-request input:focus,
.ticker-output textarea:focus {
  border-color: rgba(120, 169, 255, 0.62);
  box-shadow: 0 0 0 4px rgba(120, 169, 255, 0.09);
}

.ticker-request form .button {
  margin-top: 18px;
}

.ticker-output > label {
  display: block;
  margin-bottom: 8px;
  color: #dce6e4;
  font-size: 0.82rem;
  font-weight: 680;
}

.ticker-output-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.ticker-output > p {
  margin: 14px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.73rem;
}

.research-posts-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  margin: 44px 0;
  padding: 26px;
  background: rgba(255, 255, 255, 0.023);
  border: 1px solid var(--zi-line);
  border-radius: 19px;
}

.research-posts-link h2 {
  margin: 12px 0 0 !important;
  font-size: clamp(1.45rem, 3vw, 2.5rem) !important;
}

.research-posts-link p {
  margin: 10px 0 0;
  color: var(--zi-muted);
}

/* Contact and methodology */
.contact-options,
.method-principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 30px 0;
}

.contact-options > a,
.method-principles > article {
  min-height: 220px;
  padding: 22px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--zi-line);
  border-radius: 17px;
}

.contact-options > a {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--zi-text);
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease,
    box-shadow 180ms ease;
}



.contact-options > a:hover,
.contact-options > a:focus,
.contact-options > a:focus-visible {
  background: linear-gradient(145deg, rgba(27, 216, 166, 0.055), rgba(120, 169, 255, 0.025));
  border-color: rgba(86, 241, 200, 0.28);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24);
  transform: translateY(-4px);
}

.contact-options > a:focus {
  outline: 3px solid rgba(120, 169, 255, 0.78);
  outline-offset: 5px;
}



.contact-options span,
.method-principles span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.63rem;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.contact-options > a strong {
  display: block;
  max-width: 290px;
  margin-top: auto;
  padding: 46px 34px 32px 0;
  font-size: 1.18rem;
  font-weight: 650;
  letter-spacing: -0.035em;
  line-height: 1.28;
}

.contact-options > a small {
  display: block;
  margin-top: -18px;
  padding: 0 34px 32px 0;
  color: var(--zi-muted-2);
  font-size: 0.7rem;
  line-height: 1.5;
}

.method-principles h2 {
  margin: 46px 0 0 !important;
  font-size: 1.25rem !important;
}

.method-principles p {
  margin: 10px 0 0;
  color: var(--zi-muted);
  font-size: 0.78rem;
}

.contact-error-checklist {
  display: grid;
  grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(28px, 5vw, 68px);
  margin: 46px 0;
  padding: clamp(26px, 5vw, 48px);
  scroll-margin-top: calc(var(--zi-header-height) + 28px);
  background:
    radial-gradient(circle at 0% 100%, rgba(27, 216, 166, 0.08), transparent 42%),
    rgba(255, 255, 255, 0.025);
  border: 1px solid var(--zi-line);
  border-radius: 22px;
}

.contact-error-checklist h2 {
  margin: 8px 0 0 !important;
  font-size: clamp(1.8rem, 3.8vw, 3.25rem) !important;
  letter-spacing: -0.052em;
  line-height: 1.03;
}

.contact-error-checklist > div > p {
  color: var(--zi-muted);
}

.contact-error-checklist ol {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: contact-checklist;
}

.contact-error-checklist li {
  position: relative;
  min-height: 88px;
  padding: 16px 18px 16px 58px;
  background: rgba(0, 0, 0, 0.18);
  border: 1px solid var(--zi-line);
  border-radius: 14px;
  counter-increment: contact-checklist;
}

.contact-error-checklist li::before {
  position: absolute;
  top: 16px;
  left: 16px;
  display: grid;
  width: 28px;
  height: 28px;
  content: counter(contact-checklist, decimal-leading-zero);
  place-items: center;
  color: var(--zi-emerald-2);
  background: rgba(27, 216, 166, 0.07);
  border: 1px solid rgba(27, 216, 166, 0.18);
  border-radius: 9px;
  font-family: var(--zi-mono);
  font-size: 0.6rem;
}

.contact-error-checklist li strong,
.contact-error-checklist li span {
  display: block;
}

.contact-error-checklist li strong {
  font-size: 0.85rem;
}

.contact-error-checklist li span {
  margin-top: 5px;
  color: var(--zi-muted-2);
  font-size: 0.74rem;
  line-height: 1.5;
}

.principle-list {
  display: grid;
  gap: 10px;
  margin: 28px 0;
  padding: 0;
  list-style: none;
}

.principle-list li {
  padding: 17px 18px;
  color: #b8c4c1;
  background: rgba(255, 255, 255, 0.022);
  border: 1px solid var(--zi-line);
  border-radius: 14px;
}

/* v0.5.1 responsive and motion/contact polish */
@media (max-width: 1120px) {
  .pillar-grid-v5 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pillar-card {
    grid-column: auto;
  }

  .pillar-card:last-child {
    grid-column: 1 / -1;
  }

  .academy-lesson-grid,
  .glossary-grid,
  .research-path-grid,
  .contact-options,
  .method-principles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .academy-level-two .academy-lesson-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .academy-coming-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .academy-progress-panel,
  .academy-level > header,
  .lesson-hero-grid,
  .lesson-learn,
  .research-demo,
  .ticker-request-layout,
  .research-posts-link,
  .lesson-complete-panel,
  .contact-error-checklist {
    grid-template-columns: 1fr;
  }

  .academy-lesson-grid,
  .glossary-grid,
  .research-path-grid,
  .contact-options,
  .method-principles {
    grid-template-columns: 1fr;
  }

  .academy-level-two .academy-lesson-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .research-demo-grid {
    grid-template-columns: 1fr;
  }

  .lesson-status-panel {
    min-height: 190px;
  }

  .research-posts-link .button {
    width: fit-content;
  }
}

@media (max-width: 620px) {
  .solo-trust-line {
    width: 100%;
    border-radius: 15px;
    line-height: 1.45;
  }

  .pillar-grid-v5,
  .academy-coming-grid,
  .example-compare,
  .lesson-navigation {
    grid-template-columns: 1fr;
  }

  .academy-level-two .academy-lesson-grid {
    grid-template-columns: 1fr;
  }

  .pillar-card:last-child {
    grid-column: auto;
  }

  .pillar-card,
  .academy-lesson-card,
  .glossary-card,
  .research-path-grid > a {
    min-height: 250px;
  }

  .solo-maker-panel > div,
  .academy-footer-actions,
  .quiz-actions,
  .ticker-output-actions {
    display: grid;
  }

  .solo-maker-panel .button,
  .academy-footer-actions .button,
  .quiz-actions .button,
  .ticker-output-actions .button {
    width: 100%;
  }

  .academy-progress-meter .button {
    width: 100%;
  }

  .glossary-search-panel {
    grid-template-columns: 1fr;
  }

  .glossary-search-panel .button {
    width: 100%;
  }

  .lesson-hero h1 {
    font-size: clamp(2.55rem, 13vw, 4.6rem);
  }

  .lesson-complete-panel .button {
    width: 100%;
  }

  .lesson-nav-card.is-next {
    text-align: left;
  }

  .ticker-request form,
  .ticker-output {
    padding: 19px;
  }
}

/* Timeline layout follows the real result-card width, not only the viewport. */
.calculator-result {
  container-name: zi-result;
  container-type: inline-size;
  min-width: 0;
}

.timeline-panel,
.timeline-table,
.timeline-row,
.timeline-row > *,
.timeline-composition,
.timeline-composition > * {
  min-width: 0;
  max-width: 100%;
}

.timeline-row {
  grid-template-columns: minmax(66px, 0.48fr) repeat(3, minmax(0, 1fr));
}

.timeline-year strong,
.timeline-metric strong,
.timeline-composition strong {
  overflow-wrap: anywhere;
  word-break: normal;
}

@container zi-result (max-width: 820px) {
  .timeline-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }

  .timeline-head small {
    max-width: none;
    text-align: left;
  }

  .timeline-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 10px;
    padding: 15px;
  }

  .timeline-year {
    grid-column: 1 / -1;
    padding-bottom: 9px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.055);
  }

  .timeline-metric:nth-of-type(4),
  .timeline-composition {
    grid-column: 1 / -1;
  }
}

@container zi-result (max-width: 470px) {
  .timeline-panel {
    padding: 14px;
  }

  .timeline-row {
    grid-template-columns: 1fr;
  }

  .timeline-year,
  .timeline-metric,
  .timeline-metric:nth-of-type(4),
  .timeline-composition {
    grid-column: 1;
  }

  .timeline-composition {
    padding-top: 11px;
  }
}

/* =========================================================
 * Začněte investovat v0.8.0 — public numbers, clear focus and project support
 * ======================================================= */

/* Explicit quiz outcomes. Text and icons carry meaning; color is only supporting. */
.quiz-question {
  padding: 18px;
  border: 1px solid transparent;
  border-radius: 18px;
  transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.quiz-question.is-correct {
  background: linear-gradient(135deg, rgba(27, 216, 166, 0.045), rgba(255, 255, 255, 0.018));
  border-color: rgba(27, 216, 166, 0.28);
}

.quiz-question.is-incorrect {
  background: linear-gradient(135deg, rgba(255, 112, 122, 0.035), rgba(255, 255, 255, 0.018));
  border-color: rgba(255, 112, 122, 0.28);
}

.quiz-question.is-unanswered {
  background: linear-gradient(135deg, rgba(241, 189, 101, 0.04), rgba(255, 255, 255, 0.018));
  border-color: rgba(241, 189, 101, 0.27);
}

.quiz-status {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 13px 0 0;
  padding: 11px 13px;
  color: #d9e4e1;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--zi-line);
  border-radius: 12px;
  font-size: 0.76rem;
  font-weight: 680;
  line-height: 1.5;
}

.quiz-status::before {
  display: grid;
  flex: 0 0 21px;
  width: 21px;
  height: 21px;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 0.68rem;
  line-height: 1;
}

.quiz-status.is-correct {
  color: var(--zi-emerald-2);
  background: rgba(27, 216, 166, 0.045);
  border-color: rgba(27, 216, 166, 0.2);
}

.quiz-status.is-correct::before {
  content: "";
  width: 8px;
  height: 14px;
  margin: 1px 6px 0 4px;
  border: 0;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  border-radius: 0;
  transform: rotate(45deg);
}

.quiz-status.is-incorrect {
  color: #ff9aa2;
  background: rgba(255, 112, 122, 0.04);
  border-color: rgba(255, 112, 122, 0.2);
}

.quiz-status.is-incorrect::before {
  content: "";
  border: 0;
  border-radius: 0;
  background:
    linear-gradient(45deg, transparent 43%, currentColor 44% 56%, transparent 57%),
    linear-gradient(-45deg, transparent 43%, currentColor 44% 56%, transparent 57%);
}

.quiz-status.is-unanswered {
  color: var(--zi-warning);
  background: rgba(241, 189, 101, 0.04);
  border-color: rgba(241, 189, 101, 0.2);
}

.quiz-status.is-unanswered::before {
  content: "!";
}

.quiz-options label.is-selected-correct,
.quiz-options label.is-correct-answer {
  color: #e9f7f3;
  background: rgba(27, 216, 166, 0.075);
  border-color: rgba(27, 216, 166, 0.34);
}

.quiz-options label.is-selected-wrong {
  color: #ffe7e9;
  background: rgba(255, 112, 122, 0.065);
  border-color: rgba(255, 112, 122, 0.34);
}

.quiz-options label.is-correct-answer:not(.is-selected-correct)::after {
  margin-left: auto;
  padding-left: 12px;
  color: var(--zi-emerald-2);
  content: "správná odpověď";
  font-family: var(--zi-mono);
  font-size: 0.58rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.quiz-explanation {
  position: relative;
}

.quiz-explanation > strong {
  color: #e8f0ee;
  font-weight: 760;
}

.quiz-result {
  border-left: 3px solid var(--zi-warning);
}

.quiz-result.is-success {
  border-left-color: var(--zi-emerald);
}

.quiz-result.is-incomplete {
  border-left-color: var(--zi-warning);
}

/* Optional public reach panel. It stays hidden until a valid backend response arrives. */
.reach-panel {
  margin-top: 24px;
  padding: clamp(22px, 4vw, 38px);
  overflow: hidden;
  background:
    radial-gradient(circle at 0 0, rgba(27, 216, 166, 0.09), transparent 34%),
    radial-gradient(circle at 100% 0, rgba(120, 169, 255, 0.09), transparent 36%),
    linear-gradient(155deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.014));
  border: 1px solid rgba(120, 169, 255, 0.16);
  border-radius: var(--zi-radius-lg);
  box-shadow: var(--zi-shadow-soft);
}

.reach-panel-head,
.reach-chart-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 26px;
}

.reach-panel-head span,
.reach-chart-head span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.63rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.reach-panel-head h3 {
  margin: 10px 0 0;
  font-size: clamp(1.85rem, 4vw, 3.5rem);
  font-weight: 560;
  letter-spacing: -0.055em;
  line-height: 1;
}

.reach-panel-head > p {
  max-width: 480px;
  margin: 0;
  color: var(--zi-muted);
  font-size: 0.82rem;
}

.reach-summary-grid {
  display: grid;
  grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.28fr);
  gap: 12px;
  margin-top: 28px;
}

.reach-total-card,
.reach-period-grid > article,
.reach-chart-card,
.reach-tool-grid > article {
  min-width: 0;
  background: rgba(4, 8, 10, 0.42);
  border: 1px solid var(--zi-line);
  border-radius: 16px;
}

.reach-total-card {
  display: flex;
  min-height: 190px;
  flex-direction: column;
  padding: 22px;
}

.reach-total-card > span,
.reach-period-grid span,
.reach-tool-grid span {
  color: var(--zi-muted-2);
  font-size: 0.66rem;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.reach-total-card > strong {
  display: block;
  margin-top: auto;
  overflow-wrap: anywhere;
  font-size: clamp(3rem, 7vw, 5.7rem);
  font-weight: 620;
  letter-spacing: -0.075em;
  line-height: 0.9;
}

.reach-total-card > small {
  margin-top: 11px;
  color: #dce7e4;
  font-size: 0.82rem;
  font-weight: 650;
}

.reach-period-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.reach-period-grid > article,
.reach-tool-grid > article {
  display: flex;
  min-height: 145px;
  flex-direction: column;
  padding: 20px;
}

.reach-period-grid strong,
.reach-tool-grid strong {
  display: block;
  margin-top: auto;
  overflow-wrap: anywhere;
  font-size: clamp(1.55rem, 4vw, 2.7rem);
  font-weight: 610;
  letter-spacing: -0.055em;
  line-height: 1;
}

.reach-chart-card {
  margin-top: 12px;
  padding: 20px;
}

.reach-chart-head strong {
  display: block;
  margin-top: 5px;
  font-size: 0.82rem;
}

.reach-chart-head time {
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.62rem;
  text-align: right;
}

.reach-chart {
  display: grid;
  grid-template-columns: repeat(30, minmax(3px, 1fr));
  gap: clamp(2px, 0.45vw, 6px);
  align-items: end;
  min-height: 230px;
  margin-top: 20px;
  padding: 18px 10px 0;
  background:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 100% 46px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.reach-chart-bar {
  position: relative;
  display: block;
  min-width: 0;
  height: max(3px, var(--bar-height, 0%));
  background: linear-gradient(180deg, var(--zi-blue), var(--zi-emerald));
  border-radius: 999px 999px 2px 2px;
  box-shadow: 0 0 12px rgba(27, 216, 166, 0.11);
  transition: height 360ms cubic-bezier(0.22, 1, 0.36, 1), opacity 160ms ease;
}

.reach-chart-bar:hover,
.reach-chart-bar:focus-visible {
  opacity: 0.72;
  outline: 2px solid rgba(120, 169, 255, 0.7);
  outline-offset: 3px;
}

.reach-chart-axis {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-top: 8px;
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.58rem;
}

.reach-tool-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.reach-tool-grid small {
  margin-top: 8px;
  color: var(--zi-muted-2);
  font-size: 0.63rem;
  line-height: 1.4;
}

.reach-baseline-note,
.reach-privacy-note {
  margin: 14px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.68rem;
  line-height: 1.55;
}

.reach-baseline-note {
  color: #9eb7b0;
}

@media (max-width: 980px) {
  .reach-summary-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .reach-panel-head,
  .reach-chart-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .reach-chart-head time {
    text-align: left;
  }

  .reach-period-grid,
  .reach-tool-grid {
    grid-template-columns: 1fr;
  }

  .reach-period-grid > article,
  .reach-tool-grid > article {
    min-height: 120px;
  }

  .reach-chart {
    min-height: 185px;
    gap: 3px;
    padding-inline: 2px;
  }
}

@media (max-width: 390px) {
  .reach-panel {
    padding: 18px;
  }

  .reach-chart {
    gap: 2px;
  }
}

/* v0.8.0 — public metrics state, feedback, roadmap and honest support */
.reach-status {
  margin: 16px 0 0;
  padding: 12px 14px;
  border: 1px solid rgba(120, 169, 255, 0.22);
  border-radius: 12px;
  background: rgba(120, 169, 255, 0.06);
  color: #c4d6ed;
  font-size: 0.72rem;
  line-height: 1.55;
}

.reach-status[data-state="active"] {
  border-color: rgba(27, 216, 166, 0.28);
  background: rgba(27, 216, 166, 0.075);
  color: #bceade;
}

.reach-status[data-state="error"],
.reach-status[data-state="unavailable"] {
  border-color: rgba(241, 189, 101, 0.28);
  background: rgba(241, 189, 101, 0.075);
  color: #ebd6ae;
}

.reach-panel:not([data-metrics-state="active"]) .reach-chart {
  position: relative;
  align-items: center;
}

.reach-panel:not([data-metrics-state="active"]) .reach-chart::after {
  content: "Graf se zobrazí po aktivaci veřejného counteru.";
  grid-column: 1 / -1;
  justify-self: center;
  max-width: 34ch;
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.64rem;
  line-height: 1.55;
  text-align: center;
}

.feedback-request select {
  width: 100%;
  min-height: 58px;
  padding: 0 46px 0 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  background: #080c0e;
  color: var(--zi-text);
  font: inherit;
  appearance: none;
}

.feedback-request .select-wrap {
  position: relative;
}

.feedback-request .select-wrap::after {
  content: none;
}

.feedback-request .select-arrow {
  position: absolute;
  top: 50%;
  right: 18px;
  width: 18px;
  height: 18px;
  color: var(--zi-emerald);
  pointer-events: none;
  transform: translateY(-50%);
}

.feedback-request select:focus {
  border-color: rgba(120, 169, 255, 0.72);
  outline: 3px solid rgba(120, 169, 255, 0.12);
}

.support-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  margin: 34px 0;
  padding: clamp(24px, 4vw, 44px);
  border: 1px solid rgba(27, 216, 166, 0.22);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(27, 216, 166, 0.12), transparent 42%),
    linear-gradient(145deg, rgba(14, 22, 25, 0.96), rgba(7, 11, 13, 0.96));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
}

.support-card h2 {
  margin: 6px 0 12px;
}

.support-card p {
  max-width: 70ch;
  margin: 0;
  color: var(--zi-muted);
  line-height: 1.7;
}

.support-card .support-pending,
.support-pending {
  margin-top: 12px;
  color: var(--zi-muted-2);
  font-size: 0.72rem;
}

.about-contact-link {
  margin: 16px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.78rem;
}

.about-contact-link a {
  color: var(--zi-emerald);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.roadmap-hero {
  max-width: 960px;
}

.roadmap-board {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 34px 0 48px;
}

.roadmap-lane {
  position: relative;
  overflow: hidden;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(16, 23, 27, 0.94), rgba(8, 12, 14, 0.97));
}

.roadmap-lane::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--roadmap-accent, var(--zi-emerald));
}

.roadmap-lane header span {
  display: inline-flex;
  padding: 6px 9px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  color: var(--roadmap-accent, var(--zi-emerald));
  font-family: var(--zi-mono);
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.roadmap-lane h2 {
  margin: 14px 0 18px;
  font-size: clamp(1.25rem, 2vw, 1.8rem);
}

.roadmap-lane ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.roadmap-lane li {
  position: relative;
  padding-left: 22px;
  color: var(--zi-muted);
  line-height: 1.55;
}

.roadmap-lane li::before {
  content: "";
  position: absolute;
  top: 0.64em;
  left: 0;
  width: 8px;
  height: 8px;
  border: 2px solid var(--roadmap-accent, var(--zi-emerald));
  border-radius: 50%;
}

.roadmap-lane.is-done { --roadmap-accent: #56f1c8; }
.roadmap-lane.is-now { --roadmap-accent: #78a9ff; }
.roadmap-lane.is-next { --roadmap-accent: #9b8cff; }
.roadmap-lane.is-later { --roadmap-accent: #f1bd65; }
.roadmap-lane.is-review {
  --roadmap-accent: #aeb8be;
  grid-column: 1 / -1;
}

.roadmap-principles {
  margin: 50px 0 24px;
}

@media (max-width: 820px) {
  .support-card,
  .roadmap-board {
    grid-template-columns: 1fr;
  }

  .support-card {
    align-items: start;
  }

  .support-card .button {
    justify-self: start;
  }

  .roadmap-lane.is-review {
    grid-column: auto;
  }
}

@media (max-width: 430px) {
  .support-card,
  .roadmap-lane {
    border-radius: 18px;
  }

  .support-card .button {
    width: 100%;
  }
}

/* v0.9.0 — local search, glossary 2.0 and clearer project support */
.site-search-trigger {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  color: #c8d2d0;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid var(--zi-line);
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 700;
}

.site-search-trigger:hover,
.site-search-trigger:focus-visible {
  color: var(--zi-text);
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(120, 169, 255, 0.36);
}

.site-search-trigger svg,
.mobile-search-link svg {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
}

.site-search-trigger kbd {
  padding: 3px 6px;
  color: var(--zi-muted-2);
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid var(--zi-line);
  border-radius: 7px;
  font-family: var(--zi-mono);
  font-size: 0.55rem;
  font-weight: 500;
}

.mobile-search-link {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 10px;
  padding: 13px 14px;
  color: var(--zi-text);
  background: rgba(120, 169, 255, 0.07);
  border: 1px solid rgba(120, 169, 255, 0.18);
  border-radius: 13px;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  text-align: left;
}

.site-search-open {
  overflow: hidden;
}

.site-search-overlay {
  position: fixed;
  z-index: 1400;
  inset: 0;
  display: grid;
  place-items: start center;
  padding: min(10vh, 88px) 18px 24px;
  opacity: 0;
  transition: opacity 160ms ease;
}

.site-search-overlay[hidden] {
  display: none !important;
}

.site-search-overlay.is-open {
  opacity: 1;
}

.site-search-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  background: rgba(1, 3, 5, 0.82);
  border: 0;
  cursor: default;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

.site-search-dialog {
  position: relative;
  display: flex;
  width: min(780px, 100%);
  max-height: min(780px, 84vh);
  flex-direction: column;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 0%, rgba(27, 216, 166, 0.09), transparent 38%),
    radial-gradient(circle at 100% 0%, rgba(120, 169, 255, 0.12), transparent 42%),
    #0a0e11;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 26px;
  box-shadow: 0 34px 110px rgba(0, 0, 0, 0.62);
  transform: translateY(-12px) scale(0.985);
  transition: transform 160ms ease;
}

.site-search-overlay.is-open .site-search-dialog {
  transform: translateY(0) scale(1);
}

.site-search-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 25px 26px 15px;
}

.site-search-header .section-kicker {
  margin: 0 0 7px;
}

.site-search-header h2 {
  margin: 0;
  font-size: clamp(1.45rem, 4vw, 2.25rem);
  letter-spacing: -0.045em;
}

.site-search-close {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  color: var(--zi-muted);
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid var(--zi-line);
  border-radius: 13px;
  cursor: pointer;
  font-size: 1.6rem;
  line-height: 1;
}

.site-search-field {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 11px;
  align-items: center;
  margin: 0 26px;
  padding: 5px 12px 5px 15px;
  background: rgba(2, 5, 7, 0.82);
  border: 1px solid rgba(120, 169, 255, 0.28);
  border-radius: 16px;
  box-shadow: 0 0 0 4px rgba(120, 169, 255, 0.055);
}

.site-search-field svg {
  width: 21px;
  height: 21px;
  color: var(--zi-emerald-2);
}

.site-search-field input {
  width: 100%;
  min-width: 0;
  padding: 12px 0;
  color: var(--zi-text);
  background: transparent;
  border: 0;
  outline: 0;
  font: inherit;
  font-size: 1rem;
}

.site-search-field kbd {
  padding: 4px 7px;
  color: var(--zi-muted-2);
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid var(--zi-line);
  border-radius: 7px;
  font-family: var(--zi-mono);
  font-size: 0.6rem;
}

.site-search-status {
  margin: 10px 28px 0;
  color: var(--zi-muted-2);
  font-size: 0.72rem;
}

.site-search-results {
  min-height: 190px;
  overflow-y: auto;
  padding: 13px 18px 22px;
  scrollbar-width: thin;
}

.site-search-empty,
.site-search-no-results {
  padding: 24px 10px;
  text-align: center;
}

.site-search-empty > p {
  margin: 0 0 12px;
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.66rem;
  text-transform: uppercase;
}

.site-search-empty > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.site-search-empty a {
  padding: 9px 13px;
  color: #d6e1df;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--zi-line);
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
}

.site-search-no-results h3 {
  margin: 0;
}

.site-search-no-results p {
  max-width: 520px;
  margin: 9px auto 18px;
  color: var(--zi-muted);
}

.site-search-group + .site-search-group {
  margin-top: 14px;
}

.site-search-group > h3 {
  margin: 0 8px 6px;
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.site-search-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 13px 14px;
  color: var(--zi-text);
  border: 1px solid transparent;
  border-radius: 14px;
}

.site-search-result:hover,
.site-search-result:focus-visible {
  text-decoration: none;
  background: rgba(255, 255, 255, 0.045);
  border-color: rgba(120, 169, 255, 0.24);
  outline: 0;
}

.site-search-result-copy {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.site-search-result-copy small {
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.56rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.site-search-result-copy strong {
  font-size: 0.94rem;
}

.site-search-result-copy > span:last-child {
  display: -webkit-box;
  overflow: hidden;
  color: var(--zi-muted);
  font-size: 0.73rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.site-search-result mark {
  color: #06110f;
  background: var(--zi-emerald-2);
  border-radius: 3px;
}

.site-search-result-arrow {
  color: var(--zi-emerald-2);
  font-size: 1.15rem;
}

.site-search-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  padding: 11px 26px 15px;
  color: var(--zi-muted-2);
  border-top: 1px solid var(--zi-line);
  font-family: var(--zi-mono);
  font-size: 0.58rem;
}

.support-panel {
  grid-template-columns: 1fr;
}

.support-actions {
  display: grid;
  justify-items: center;
  gap: 16px;
}

.support-actions-main {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.support-action-highlight {
  display: grid;
  justify-items: center;
  gap: 8px;
  width: min(520px, 100%);
  padding: 18px;
  background: linear-gradient(145deg, rgba(27, 216, 166, 0.09), rgba(120, 169, 255, 0.07));
  border: 1px solid rgba(27, 216, 166, 0.19);
  border-radius: 20px;
  text-align: center;
}

.support-action-highlight .button {
  min-width: min(300px, 100%);
}

.support-action-highlight small,
.support-card small {
  max-width: 520px;
  color: var(--zi-muted-2);
  font-size: 0.72rem;
  line-height: 1.55;
}

.glossary-search-panel {
  grid-template-columns: 1fr;
  align-items: stretch;
}

.glossary-search-panel .field-group > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.glossary-category-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.glossary-category-filters button {
  padding: 8px 11px;
  color: var(--zi-muted);
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid var(--zi-line);
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-size: 0.7rem;
  font-weight: 700;
}

.glossary-category-filters button:hover,
.glossary-category-filters button:focus-visible,
.glossary-category-filters button.is-active {
  color: #04110e;
  background: var(--zi-emerald-2);
  border-color: transparent;
}

.glossary-card {
  scroll-margin-top: calc(var(--zi-header-height) + 24px);
}

.glossary-card:target {
  border-color: rgba(27, 216, 166, 0.7);
  box-shadow: 0 0 0 4px rgba(27, 216, 166, 0.08), 0 24px 60px rgba(0, 0, 0, 0.25);
}

.glossary-card-detailed {
  min-height: 560px;
}

.glossary-facts {
  display: grid;
  gap: 10px;
  margin: 18px 0 0;
}

.glossary-facts > div {
  padding: 12px 13px;
  background: rgba(0, 0, 0, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.055);
  border-radius: 12px;
}

.glossary-facts dt {
  color: #dce6e4;
  font-size: 0.7rem;
  font-weight: 760;
}

.glossary-facts dd {
  margin: 6px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.72rem;
  line-height: 1.55;
}

.feedback-request .select-wrap::after {
  width: 8px;
  height: 8px;
  content: "";
  border-right: 2px solid var(--zi-emerald);
  border-bottom: 2px solid var(--zi-emerald);
  transform: translateY(-72%) rotate(45deg);
}

@media (max-width: 1180px) {
  .site-search-trigger kbd {
    display: none;
  }
}

@media (max-width: 980px) {
  .site-search-trigger span,
  .site-search-trigger kbd {
    display: none;
  }

  .site-search-trigger {
    width: 40px;
    justify-content: center;
    padding: 0;
  }
}

@media (max-width: 620px) {
  .site-search-overlay {
    padding: 10px;
  }

  .site-search-dialog {
    width: 100%;
    max-height: calc(100svh - 20px);
    border-radius: 20px;
  }

  .site-search-header {
    padding: 20px 18px 13px;
  }

  .site-search-field {
    margin: 0 18px;
  }

  .site-search-field kbd {
    display: none;
  }

  .site-search-results {
    padding-inline: 10px;
  }

  .site-search-footer {
    padding-inline: 18px;
  }

  .glossary-search-panel .field-group > div {
    grid-template-columns: 1fr;
  }

  .glossary-category-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .glossary-category-filters button {
    width: 100%;
  }

  .glossary-card-detailed {
    min-height: 0;
  }

  .support-actions-main,
  .support-actions-main .button,
  .support-action-highlight .button {
    width: 100%;
  }
}

/* v0.9.1 — client-facing polish, support clarity and search relevance */
.pillar-card {
  min-width: 0;
}

.pillar-card h3,
.pillar-card p,
.pillar-card strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.pillar-card h3 {
  font-size: clamp(1.55rem, 2.4vw, 2.35rem);
  text-wrap: balance;
}

.solo-trust-line {
  max-width: min(100%, 760px);
  line-height: 1.45;
  text-wrap: balance;
}

.brand-short,
.section-kicker .brand-short {
  letter-spacing: normal;
  text-transform: none;
}

.support-banner {
  position: relative;
  z-index: 900;
  background:
    radial-gradient(circle at 18% 50%, rgba(27, 216, 166, 0.1), transparent 28rem),
    linear-gradient(90deg, rgba(27, 216, 166, 0.055), rgba(120, 169, 255, 0.06));
  border-bottom: 1px solid rgba(255, 255, 255, 0.075);
}

.support-banner[hidden] {
  display: none !important;
}

.support-banner-inner {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding-block: 8px;
}

.support-banner-copy {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 9px;
}

.support-banner-dot {
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  background: var(--zi-emerald);
  border-radius: 50%;
  box-shadow: 0 0 16px rgba(27, 216, 166, 0.72);
}

.support-banner p {
  margin: 0;
  color: #bcc8c6;
  font-size: 0.77rem;
  line-height: 1.45;
  text-align: center;
}

.support-banner p strong {
  color: #edf6f4;
}

.support-banner-copy-mobile {
  display: none;
}

.support-banner-cta {
  display: inline-flex;
  min-height: 32px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  padding: 7px 13px;
  color: #06110f;
  background: var(--zi-emerald-2);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-size: 0.71rem;
  font-weight: 800;
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.support-banner-cta:hover,
.support-banner-cta:focus-visible {
  box-shadow: 0 8px 24px rgba(27, 216, 166, 0.22);
  transform: translateY(-1px);
}

.support-dialog-open {
  overflow: hidden;
}

.support-dialog-overlay {
  position: fixed;
  z-index: 1500;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  opacity: 0;
  transition: opacity 160ms ease;
}

.support-dialog-overlay[hidden] {
  display: none !important;
}

.support-dialog-overlay.is-open {
  opacity: 1;
}

.support-dialog-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  background: rgba(1, 3, 5, 0.84);
  border: 0;
  cursor: default;
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
}

.support-dialog {
  position: relative;
  width: min(680px, 100%);
  max-height: calc(100svh - 40px);
  padding: clamp(28px, 5vw, 48px);
  overflow-y: auto;
  background:
    radial-gradient(circle at 0% 0%, rgba(27, 216, 166, 0.12), transparent 42%),
    radial-gradient(circle at 100% 0%, rgba(120, 169, 255, 0.13), transparent 42%),
    #0a0e11;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 28px;
  box-shadow: 0 34px 110px rgba(0, 0, 0, 0.62);
  transform: translateY(12px) scale(0.985);
  transition: transform 160ms ease;
}

.support-dialog-overlay.is-open .support-dialog {
  transform: translateY(0) scale(1);
}

.support-dialog-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: start;
}

.support-dialog .section-kicker {
  margin-bottom: 14px;
}

.support-dialog h2 {
  max-width: 540px;
  margin: 0;
  font-size: clamp(2rem, 6vw, 3.45rem);
  letter-spacing: -0.055em;
  line-height: 0.98;
  text-wrap: balance;
}

.support-dialog-close {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: var(--zi-muted);
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid var(--zi-line);
  border-radius: 13px;
  cursor: pointer;
  font-size: 1.55rem;
  line-height: 1;
}

.support-dialog-close:hover,
.support-dialog-close:focus-visible {
  color: var(--zi-text);
  background: rgba(255, 255, 255, 0.08);
}

.support-dialog-body {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}

.support-dialog-body p {
  margin: 0;
  color: var(--zi-muted);
}

.support-dialog-points {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.support-dialog-points span {
  padding: 7px 10px;
  color: #c9d7d4;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid var(--zi-line);
  border-radius: 999px;
  font-size: 0.72rem;
}

.support-dialog-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.support-dialog-note {
  display: block;
  margin-top: 14px;
  color: var(--zi-muted-2);
  font-size: 0.7rem;
}

.site-search-group.is-best-match {
  padding: 8px;
  background: linear-gradient(145deg, rgba(27, 216, 166, 0.055), rgba(120, 169, 255, 0.04));
  border: 1px solid rgba(27, 216, 166, 0.12);
  border-radius: 18px;
}

.site-search-group.is-best-match + .site-search-group,
.site-search-group.is-related + .site-search-group {
  margin-top: 14px;
}

.site-search-group.is-best-match > h3 {
  margin-top: 2px;
}

@media (max-width: 720px) {
  .support-banner-inner {
    justify-content: space-between;
    gap: 10px;
  }

  .support-banner-copy {
    flex: 1 1 auto;
  }

  .support-banner p {
    text-align: left;
  }

  .support-banner-copy-full {
    display: none;
  }

  .support-banner-copy-mobile {
    display: inline;
  }

  .support-dialog-actions,
  .support-dialog-actions .button {
    width: 100%;
  }
}

@media (max-width: 430px) {
  .support-banner-inner {
    width: min(calc(100% - 24px), var(--zi-shell));
  }

  .support-banner p {
    font-size: 0.68rem;
  }

  .support-banner-cta {
    padding-inline: 10px;
    font-size: 0.65rem;
  }

  .support-dialog-overlay {
    padding: 10px;
  }

  .support-dialog {
    max-height: calc(100svh - 20px);
    padding: 28px 20px 24px;
    border-radius: 20px;
  }

  .support-dialog-header {
    gap: 12px;
  }

  .support-dialog-close {
    width: 38px;
    height: 38px;
  }
}

/* v0.10.0 — directory, quieter support and clarified public copy */
.support-banner-inner {
  min-height: 40px;
  gap: 14px;
  padding-block: 5px;
}

.support-banner-copy {
  gap: 7px;
}

.support-banner-dot {
  width: 6px;
  height: 6px;
}

.support-banner p {
  font-size: 0.69rem;
  line-height: 1.4;
}

.support-banner-cta {
  min-height: 28px;
  padding: 5px 10px;
  font-size: 0.64rem;
}

.support-dialog-kicker {
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.support-dialog-thanks {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 22px;
  color: #dffbf3;
  font-size: 0.82rem;
}

.support-dialog-thanks svg {
  width: 21px;
  height: 21px;
  flex: 0 0 auto;
  color: var(--zi-emerald-2);
  filter: drop-shadow(0 0 9px rgba(27, 216, 166, 0.24));
}

.directory-hero {
  padding-bottom: 34px;
}

.directory-hero h1 {
  max-width: 980px;
}

.directory-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 10px 0 58px;
}

.directory-choice {
  --directory-accent: var(--zi-emerald-2);
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 320px;
  flex-direction: column;
  padding: clamp(24px, 3vw, 34px);
  overflow: hidden;
  color: var(--zi-text);
  background:
    radial-gradient(circle at 105% 105%, color-mix(in srgb, var(--directory-accent) 16%, transparent), transparent 55%),
    linear-gradient(145deg, rgba(14, 20, 24, 0.98), rgba(7, 10, 13, 0.98));
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 24px;
  box-shadow: var(--zi-shadow-soft);
  transition: transform 180ms ease, border-color 180ms ease;
}


.directory-choice,
.directory-choice *,
.content-page .directory-choice,
.content-page .directory-choice * {
  text-decoration: none !important;
}

.directory-choice::after {
  position: absolute;
  right: -70px;
  bottom: -90px;
  width: 210px;
  height: 210px;
  content: "";
  background: radial-gradient(circle, color-mix(in srgb, var(--directory-accent) 16%, transparent), transparent 68%);
  pointer-events: none;
}

.directory-choice:hover,
.directory-choice:focus-visible {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--directory-accent) 34%, rgba(255, 255, 255, 0.1));
}

.directory-choice.is-tools { --directory-accent: var(--zi-blue); }
.directory-choice.is-glossary { --directory-accent: var(--zi-violet); }
.directory-choice.is-research { --directory-accent: #c69cff; }
.directory-choice.is-feedback { --directory-accent: #f1bd65; }
.directory-choice.is-roadmap { --directory-accent: #56f1c8; }

.directory-choice > span,
.directory-choice h2,
.directory-choice p,
.directory-choice strong {
  position: relative;
  z-index: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}

.directory-choice > span {
  color: var(--directory-accent);
  font-family: var(--zi-mono);
  font-size: 0.65rem;
  letter-spacing: 0.09em;
}

.directory-choice h2 {
  margin: 54px 0 0 !important;
  font-size: clamp(1.65rem, 2.8vw, 2.55rem) !important;
  letter-spacing: -0.05em;
  line-height: 1;
  text-wrap: balance;
}

.directory-choice p {
  margin: 16px 0 0;
  color: var(--zi-muted);
  font-size: 0.82rem;
  line-height: 1.65;
}

.directory-choice strong {
  margin-top: auto;
  padding-top: 26px;
  color: #e5efed;
  font-size: 0.78rem;
}

.directory-map {
  padding: clamp(26px, 4vw, 42px);
  background: linear-gradient(145deg, rgba(13, 19, 23, 0.96), rgba(7, 10, 13, 0.98));
  border: 1px solid var(--zi-line);
  border-radius: 26px;
}

.directory-map > header {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  gap: 30px;
  align-items: end;
}

.directory-map > header h2 {
  max-width: 720px;
  margin: 7px 0 0 !important;
  font-size: clamp(2rem, 4.2vw, 3.7rem) !important;
  line-height: 1;
  text-wrap: balance;
}

.directory-map > header > p {
  margin: 0;
  color: var(--zi-muted);
  line-height: 1.7;
}

.directory-map-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 34px;
  overflow: hidden;
  background: var(--zi-line);
  border: 1px solid var(--zi-line);
  border-radius: 18px;
}

.directory-map-grid article {
  display: grid;
  align-content: start;
  gap: 9px;
  padding: 24px;
  background: #090d10;
}

.directory-map-grid article > span {
  margin-bottom: 8px;
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.64rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.directory-map-grid a {
  color: #d5e0de;
  font-size: 0.78rem;
  line-height: 1.45;
}

.directory-map-grid a:hover,
.directory-map-grid a:focus-visible {
  color: var(--zi-emerald-2);
}

@media (max-width: 1040px) {
  .directory-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .directory-map-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .support-banner-inner {
    min-height: 38px;
    padding-block: 4px;
  }

  .support-banner p {
    font-size: 0.66rem;
  }

  .directory-choice-grid,
  .directory-map > header,
  .directory-map-grid {
    grid-template-columns: 1fr;
  }

  .directory-choice {
    min-height: 260px;
  }

  .directory-choice h2 {
    margin-top: 38px !important;
  }

  .directory-map > header {
    align-items: start;
  }
}

@media (max-width: 430px) {
  .support-banner-copy-mobile {
    display: none;
  }

  .support-banner-cta {
    padding-inline: 9px;
    font-size: 0.61rem;
  }

  .support-dialog-thanks {
    align-items: flex-start;
  }

  .directory-choice,
  .directory-map {
    border-radius: 19px;
  }
}


/* v0.11.0 — live count-up values and a cleaner homepage */
.stat-value,
.reach-total-card strong,
.reach-period-grid strong,
.reach-tool-grid strong,
[data-live-counter] {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

[data-counter],
[data-live-counter] {
  display: inline-block;
  min-width: 2ch;
}

.reach-total-card [data-live-counter] {
  min-width: 4ch;
}

.reach-period-grid [data-live-counter],
.reach-tool-grid [data-live-counter] {
  min-width: 3ch;
}

/* v0.12.0 — quality-company guide, Czech glossary aliases and safe icons */
.contact-option-icon {
  position: absolute;
  right: 18px;
  bottom: 17px;
  display: block !important;
  width: 25px;
  height: 25px;
  color: var(--zi-emerald-2) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transition: transform 180ms ease;
}
.contact-option-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}
.contact-options > a:hover .contact-option-icon,
.contact-options > a:focus-visible .contact-option-icon { transform: translateX(4px); }

.glossary-alias {
  display: block;
  margin-top: 7px;
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.62rem;
  letter-spacing: 0.035em;
}
.glossary-sources {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(24px, 5vw, 64px);
  margin: 36px 0 0;
  padding: clamp(24px, 4vw, 42px);
  background: linear-gradient(135deg, rgba(27,216,166,.055), rgba(120,169,255,.025));
  border: 1px solid var(--zi-line);
  border-radius: 24px;
}
.glossary-sources h2 { margin: 8px 0 0 !important; font-size: clamp(1.65rem, 3vw, 2.55rem) !important; }
.glossary-sources p, .glossary-sources small { color: var(--zi-muted); }
.glossary-source-links { display: grid; gap: 10px; }
.glossary-source-links a { padding: 13px 15px; color: #dff7f0; text-decoration: none; background: rgba(0,0,0,.18); border: 1px solid var(--zi-line); border-radius: 12px; }
.glossary-source-links a:hover, .glossary-source-links a:focus-visible { border-color: rgba(27,216,166,.36); }

.quality-company-notice { margin-bottom: 42px; }
.quality-section-head { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(280px,.65fr); gap: 32px; align-items: end; }
.quality-section-head h2 { margin: 8px 0 0 !important; font-size: clamp(2rem,4.3vw,4.5rem) !important; line-height: 1.02; }
.quality-section-head > p { color: var(--zi-muted); }
.quality-context { margin: 24px 0 58px; padding: clamp(24px,5vw,50px); background: radial-gradient(circle at 0 0, rgba(27,216,166,.08), transparent 42%), rgba(255,255,255,.022); border: 1px solid var(--zi-line); border-radius: 28px; }
.quality-context-map { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 30px 0 0; padding: 0; list-style: none; }
.quality-context-map a { display: grid; min-height: 150px; padding: 18px; color: var(--zi-text); text-decoration: none; background: rgba(0,0,0,.19); border: 1px solid var(--zi-line); border-radius: 16px; }
.quality-context-map a:hover, .quality-context-map a:focus-visible { border-color: rgba(27,216,166,.36); transform: translateY(-2px); }
.quality-context-map span, .quality-chapter-index span { color: var(--zi-emerald-2); font-family: var(--zi-mono); font-size: .65rem; }
.quality-context-map strong { margin-top: auto; font-size: 1rem; }
.quality-context-map small { margin-top: 6px; color: var(--zi-muted-2); }
.quality-chapter { display: grid; grid-template-columns: minmax(190px,.35fr) minmax(0,1.65fr); gap: clamp(24px,5vw,68px); margin: 0 0 24px; padding: clamp(24px,5vw,52px); scroll-margin-top: calc(var(--zi-header-height) + 28px); background: rgba(255,255,255,.022); border: 1px solid var(--zi-line); border-radius: 24px; }
.quality-chapter-index { display: grid; align-content: start; gap: 12px; }
.quality-chapter-index strong { color: var(--zi-muted); font-size: .82rem; line-height: 1.5; }
.quality-chapter-body h2 { margin: 0 !important; font-size: clamp(1.85rem,3.7vw,3.6rem) !important; line-height: 1.02; }
.quality-chapter-body > p { color: var(--zi-muted); line-height: 1.72; }
.quality-question-grid, .quality-comparison { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 24px; }
.quality-question-grid article, .quality-comparison article, .quality-source-grid article { padding: 18px; background: rgba(0,0,0,.18); border: 1px solid var(--zi-line); border-radius: 15px; }
.quality-question-grid article > span, .quality-comparison article > span, .quality-source-grid article > span { color: var(--zi-emerald-2); font-family: var(--zi-mono); font-size: .6rem; text-transform: uppercase; }
.quality-question-grid h3, .quality-comparison h3, .quality-source-grid h3 { margin: 16px 0 0; font-size: 1rem; }
.quality-question-grid p, .quality-comparison p, .quality-source-grid p { color: var(--zi-muted-2); font-size: .76rem; line-height: 1.6; }
.quality-signal-list { display: grid; gap: 10px; margin-top: 24px; }
.quality-signal-list > div { display: grid; grid-template-columns: minmax(180px,.42fr) minmax(0,1fr); gap: 18px; padding: 16px; background: rgba(0,0,0,.17); border: 1px solid var(--zi-line); border-radius: 14px; }
.quality-signal-list span { color: var(--zi-muted-2); }
.quality-links { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px !important; }
.quality-links a { padding: 9px 12px; color: #dff7f0; text-decoration: none; background: rgba(27,216,166,.05); border: 1px solid rgba(27,216,166,.18); border-radius: 999px; font-size: .7rem; }
.quality-debt-checklist, .quality-checklist { display: grid; gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; }
.quality-debt-checklist li, .quality-checklist li { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 14px; padding: 16px; background: rgba(0,0,0,.17); border: 1px solid var(--zi-line); border-radius: 14px; }
.quality-debt-checklist li > span, .quality-checklist li > span { color: var(--zi-emerald-2); font-family: var(--zi-mono); font-size: .65rem; }
.quality-debt-checklist p, .quality-checklist p { margin: 5px 0 0; color: var(--zi-muted-2); }
.quality-sources { margin: 52px 0 24px; padding: clamp(24px,5vw,48px); background: linear-gradient(135deg,rgba(120,169,255,.05),rgba(27,216,166,.035)); border: 1px solid var(--zi-line); border-radius: 26px; }
.quality-source-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 28px; }
.quality-source-grid a { color: var(--zi-emerald-2); }
.source-reviewed { color: var(--zi-muted-2); font-family: var(--zi-mono); font-size: .66rem; }
.quality-next { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 28px; align-items: end; margin: 24px 0; padding: clamp(24px,5vw,44px); background: rgba(255,255,255,.023); border: 1px solid var(--zi-line); border-radius: 24px; }
.quality-next h2 { margin: 8px 0 0 !important; font-size: clamp(1.8rem,3.4vw,3.2rem) !important; }
.quality-next > div:last-child { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 900px) {
  .quality-section-head, .quality-chapter, .quality-next, .glossary-sources { grid-template-columns: 1fr; }
  .quality-context-map { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .quality-question-grid, .quality-comparison, .quality-source-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .quality-context-map { grid-template-columns: 1fr; }
  .quality-signal-list > div { grid-template-columns: 1fr; gap: 7px; }
  .quality-next > div:last-child, .quality-next .button { width: 100%; }
}


.directory-choice.is-quality { --directory-accent: #69d8ff; }
.about-direction {
  margin: 18px 0 38px;
  padding: clamp(28px, 5vw, 56px);
  text-align: center;
  background: radial-gradient(circle at 50% 0%, rgba(27,216,166,.09), transparent 42%), rgba(255,255,255,.022);
  border: 1px solid var(--zi-line);
  border-radius: 28px;
}
.about-direction h2 {
  max-width: 980px;
  margin: 16px auto 0 !important;
  font-size: clamp(2rem,4.5vw,4.25rem) !important;
  line-height: 1.03;
}
.about-direction > p:last-child {
  max-width: 820px;
  margin: 22px auto 0;
  color: var(--zi-muted);
  line-height: 1.75;
}

/* v0.13.0 Market Watch Beta */
.market-watch-hero{max-width:1180px}
.market-watch-app{display:grid;gap:24px;margin:0 auto 80px;max-width:1500px;padding:36px;border:1px solid var(--line);border-radius:34px;background:linear-gradient(145deg,rgba(18,28,31,.96),rgba(8,12,16,.98));box-shadow:0 28px 90px rgba(0,0,0,.28)}
.market-watch-app-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.market-watch-app-head h2{margin:6px 0 0;font-size:clamp(2rem,4vw,4rem);line-height:.98}
.market-watch-source{display:grid;gap:4px;min-width:260px;text-align:right;color:var(--muted)}
.market-watch-source strong{color:var(--text)}
.market-watch-disclosure{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid rgba(86,241,200,.24);border-radius:16px;background:rgba(25,122,102,.12);color:#bfeee2;font-size:.92rem}
.market-watch-disclosure svg{width:20px;flex:0 0 20px}
.market-watch-toolbar{display:grid;grid-template-columns:auto minmax(240px,1fr) repeat(3,minmax(145px,.45fr)) auto;gap:12px;align-items:end}
.market-watch-toolbar label{display:grid;gap:7px;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.market-watch-toolbar input,.market-watch-toolbar select{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--line-strong);border-radius:14px;background:#070b0e;color:var(--text);font:inherit;text-transform:none;letter-spacing:normal}
.market-watch-toolbar input:focus,.market-watch-toolbar select:focus{outline:2px solid rgba(120,169,255,.55);outline-offset:2px}
.market-watch-mode-tabs,.market-watch-view-toggle{display:flex;gap:6px;padding:5px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}
.market-watch-mode-tabs button,.market-watch-view-toggle button{min-height:38px;padding:0 13px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}
.market-watch-mode-tabs button.is-active,.market-watch-view-toggle button.is-active{background:rgba(86,241,200,.14);color:#7ff5d6}
.market-watch-mode-tabs span{display:inline-grid;place-items:center;min-width:20px;margin-left:5px;padding:1px 5px;border-radius:999px;background:rgba(255,255,255,.08);font-size:.72rem}
.market-watch-summary{display:flex;justify-content:space-between;gap:18px;color:var(--muted)}
.market-watch-summary strong{color:var(--text)}
.market-watch-stage{position:relative;min-height:620px;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#070b0e}
.market-treemap{position:relative;width:100%;height:620px;overflow:hidden}
.market-tile{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:1px;min-height:1px;padding:10px;border:1px solid rgba(3,7,9,.72);overflow:hidden;color:white;text-align:center;cursor:pointer;contain:layout paint;transition:filter .16s ease,transform .16s ease}
.market-tile:hover,.market-tile:focus-visible{z-index:3;filter:brightness(1.14);outline:2px solid rgba(255,255,255,.78);outline-offset:-3px}
.market-tile strong,.market-tile em,.market-tile-name{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.market-tile strong{font-size:var(--market-symbol-size,1.1rem);line-height:1;font-variant-numeric:tabular-nums}
.market-tile em{font-style:normal;font-weight:800;font-size:var(--market-change-size,.82rem);line-height:1.05;font-variant-numeric:tabular-nums}
.market-tile-name{font-size:var(--market-name-size,.72rem);line-height:1.1;opacity:.84}
.market-tile.is-medium{gap:3px;padding:8px 26px 8px 7px}
.market-tile.is-medium .market-tile-name,.market-tile.is-small .market-tile-name,.market-tile.is-micro .market-tile-name,.market-tile.is-color-only .market-tile-name{display:none}
.market-tile.is-small{gap:2px;padding:4px}.market-tile.is-small>.market-watch-star{display:none}
.market-tile.is-micro{gap:0;padding:2px}.market-tile.is-micro>.market-watch-star,.market-tile.is-micro em{display:none}
.market-tile.is-color-only{padding:0}.market-tile.is-color-only>.market-watch-star,.market-tile.is-color-only strong,.market-tile.is-color-only em,.market-tile.is-color-only .market-tile-name{display:none}
.market-tile.tone-strong-up{background:#2bbd58}.market-tile.tone-up{background:#358f50}.market-tile.tone-flat{background:#4a4c5d}.market-tile.tone-down{background:#98434d}.market-tile.tone-strong-down{background:#d0353f}
.market-watch-star{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(0,0,0,.26);color:white;cursor:pointer}
.market-tile>.market-watch-star{position:absolute;top:6px;right:6px;opacity:.68}.market-tile>.market-watch-star:hover,.market-watch-star.is-selected{opacity:1;color:#f1bd65;background:rgba(20,15,4,.55)}
.market-tile.is-medium>.market-watch-star{top:4px;right:4px;width:22px;height:22px}.market-tile.is-medium>.market-watch-star svg{width:13px;height:13px}
.market-watch-star svg{width:17px;height:17px}.market-watch-star.is-selected path{fill:currentColor}
.market-table-wrap{height:620px;overflow:auto}.market-table{width:100%;border-collapse:collapse}.market-table th,.market-table td{padding:15px 16px;border-bottom:1px solid var(--line);text-align:left}.market-table th{position:sticky;top:0;z-index:2;background:#0b1014;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.market-table-company{display:grid;gap:3px;padding:0;border:0;background:none;color:var(--text);text-align:left;cursor:pointer}.market-table-company span{color:var(--muted);font-size:.85rem}.market-change{display:inline-block;min-width:78px;padding:5px 9px;border-radius:999px;text-align:center;font-weight:800}.market-change.tone-up,.market-change.tone-strong-up{background:rgba(43,189,88,.16);color:#7ff0a0}.market-change.tone-down,.market-change.tone-strong-down{background:rgba(208,53,63,.16);color:#ff9aa1}.market-change.tone-flat{background:rgba(120,130,140,.14);color:#c8ced3}
.market-watch-empty{display:grid;place-items:center;align-content:center;height:620px;padding:40px;text-align:center}.market-watch-empty h3{font-size:2rem;margin-bottom:8px}.market-watch-empty p{max-width:560px;color:var(--muted)}
.market-watch-detail{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:20px 22px;border:1px solid rgba(120,169,255,.25);border-radius:20px;background:rgba(120,169,255,.07)}.market-watch-detail h3{margin:4px 0 8px;font-size:1.5rem}.market-watch-detail h3 span{color:#7ff5d6;font-size:.8em}.market-watch-detail p{margin:0;color:var(--muted)}.market-watch-detail button{padding:10px 14px;border:1px solid var(--line-strong);border-radius:999px;background:#11181d;color:var(--text);font-weight:800;cursor:pointer}
.watchlist-panel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;padding:26px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.02)}.watchlist-panel h2{margin:6px 0 10px;font-size:clamp(1.7rem,3vw,2.5rem)}.watchlist-panel p{max-width:760px;margin:0;color:var(--muted)}.watchlist-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.watchlist-actions .button{font-size:.9rem}
.market-watch-context{max-width:1500px;margin:0 auto 60px;padding:0 2px}.market-watch-context>div:first-child{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end;margin-bottom:24px}.market-watch-context h2{margin:6px 0 0;font-size:clamp(2rem,4.4vw,4.6rem);line-height:1}.market-watch-context-actions{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
@media(max-width:1180px){.market-watch-toolbar{grid-template-columns:1fr 1fr 1fr}.market-watch-mode-tabs{grid-column:1/-1}.market-watch-view-toggle{justify-self:end}.watchlist-panel{grid-template-columns:1fr}.watchlist-actions{justify-content:flex-start}}
@media(max-width:760px){.market-watch-app{padding:18px;border-radius:24px}.market-watch-app-head{display:grid}.market-watch-source{text-align:left}.market-watch-toolbar{grid-template-columns:1fr}.market-watch-mode-tabs,.market-watch-view-toggle{justify-content:stretch}.market-watch-mode-tabs button,.market-watch-view-toggle button{flex:1}.market-watch-summary{display:grid}.market-watch-stage,.market-treemap,.market-table-wrap,.market-watch-empty{min-height:560px;height:560px}.market-watch-context>div:first-child{grid-template-columns:1fr}.market-watch-detail{align-items:flex-start;flex-direction:column}.watchlist-actions{display:grid}.watchlist-actions .button{width:100%}.market-table th:nth-child(3),.market-table td:nth-child(3),.market-table th:nth-child(4),.market-table td:nth-child(4){display:none}}
.tool-hub-grid-v4{grid-template-columns:repeat(4,minmax(0,1fr))}.tool-hub-grid-v4 .tool-hub-card,.tool-hub-grid-v4 .tool-hub-card.featured,.tool-hub-grid-v4 .tool-hub-card:last-child:not(.featured){grid-column:auto;min-height:250px;color:var(--zi-text)}.tool-hub-grid-v4 .tool-hub-card strong{display:block;margin-top:26px;color:var(--zi-emerald-2);font-size:.78rem}.tool-hub-grid-v4 .market-watch-card{background:radial-gradient(circle at 100% 0%,rgba(120,169,255,.15),transparent 48%),rgba(255,255,255,.035);border-color:rgba(120,169,255,.25)}
@media(max-width:1120px){.tool-hub-grid-v4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.tool-hub-grid-v4{grid-template-columns:1fr}}
.directory-choice.is-market{--directory-accent:#78a9ff;background:radial-gradient(circle at 100% 100%,rgba(120,169,255,.2),transparent 46%),rgba(255,255,255,.025)}

/* v0.13.0 platform-beta accents */
.tool-platform-beta{margin-top:26px;padding:24px;border:1px solid rgba(120,169,255,.24);border-radius:24px;background:linear-gradient(145deg,rgba(120,169,255,.08),rgba(86,241,200,.04))}
.tool-platform-beta h2{margin:6px 0 10px;font-size:clamp(1.7rem,3vw,2.8rem)}
.tool-platform-beta p{max-width:780px;color:var(--muted)}
@media(max-width:760px){.tool-platform-beta{padding:18px}}

/* v0.13.1 — Market Watch density polish and calmer homepage actions */
.support-actions {
  width: min(680px, 100%);
  justify-self: center;
}
.support-actions-main .button {
  box-shadow: none;
}
.support-action-highlight {
  width: 100%;
  padding: 16px;
}
.support-action-highlight .button {
  min-width: min(270px, 100%);
  min-height: 42px;
  padding: 9px 16px;
  font-size: 0.78rem;
}
.support-action-highlight small {
  font-size: 0.69rem;
}
@media (max-width: 760px) {
  .support-actions { width: 100%; }
  .support-action-highlight { padding: 14px; }
}

/* v0.14.0 — Inflation & Returns Lab */
.inflation-lab-hero {
  max-width: 980px;
}

.lab-hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}

.lab-hero-badges span {
  padding: 7px 11px;
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid var(--zi-line);
  border-radius: 999px;
}

.inflation-lab {
  display: grid;
  gap: 30px;
  margin-top: 34px;
}

.lab-step-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.lab-step-nav a {
  display: grid;
  min-width: 0;
  padding: 18px;
  color: var(--zi-text) !important;
  text-decoration: none !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(120, 169, 255, 0.09), transparent 48%),
    rgba(255, 255, 255, 0.025);
  border: 1px solid var(--zi-line);
  border-radius: 18px;
  transition: border-color 160ms ease, transform 160ms ease, background 160ms ease;
}

.lab-step-nav a:hover,
.lab-step-nav a:focus-visible {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.045);
  border-color: rgba(86, 241, 200, 0.34);
}

.lab-step-nav span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.68rem;
}

.lab-step-nav strong {
  margin-top: 22px;
  font-size: 1rem;
}

.lab-step-nav small {
  margin-top: 6px;
  color: var(--zi-muted-2);
  font-size: 0.74rem;
}

.lab-module {
  scroll-margin-top: 110px;
  padding: clamp(20px, 3vw, 34px);
  background:
    radial-gradient(circle at 0% 0%, rgba(86, 241, 200, 0.055), transparent 35%),
    rgba(255, 255, 255, 0.018);
  border: 1px solid var(--zi-line);
  border-radius: 28px;
}

.lab-module-head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  gap: 28px;
  align-items: end;
  margin-bottom: 24px;
}

.lab-module-head > div > span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
}

.post-body .lab-module-head h2 {
  max-width: 780px;
  margin: 9px 0 0 !important;
  font-size: clamp(1.65rem, 3vw, 2.8rem) !important;
}

.lab-module-head > p {
  margin: 0;
  color: var(--zi-muted);
}

.lab-calculator-grid {
  display: grid;
  grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.22fr);
  gap: 18px;
  align-items: start;
}

.lab-form,
.lab-result {
  min-width: 0;
  padding: 22px;
  background: rgba(4, 7, 9, 0.64);
  border: 1px solid rgba(255, 255, 255, 0.075);
  border-radius: 22px;
}

.lab-form {
  position: sticky;
  top: 92px;
}

.lab-form .tool-form-head {
  margin-bottom: 20px;
}


.lab-form .field-group select {
  width: 100%;
  min-height: 50px;
  padding: 12px 38px 12px 14px;
  color: var(--zi-text);
  background: rgba(4, 7, 9, 0.68);
  border: 1px solid var(--zi-line);
  border-radius: 13px;
  outline: none;
  font: inherit;
  color-scheme: dark;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.lab-form .field-group select:hover {
  border-color: rgba(255, 255, 255, 0.16);
}

.lab-form .field-group select:focus {
  background: rgba(4, 7, 9, 0.88);
  border-color: rgba(120, 169, 255, 0.66);
  box-shadow: 0 0 0 4px rgba(120, 169, 255, 0.1);
}

.lab-form .input-wrap input[aria-invalid="true"] {
  color: #ffd6d8;
  border-color: rgba(255, 112, 122, 0.72);
  box-shadow: 0 0 0 2px rgba(255, 112, 122, 0.12);
}

.lab-validation {
  margin: 0;
  padding: 10px 12px;
  color: #ffd6d8;
  font-size: 0.75rem;
  background: rgba(255, 112, 122, 0.08);
  border: 1px solid rgba(255, 112, 122, 0.24);
  border-radius: 10px;
}

.lab-validation[hidden] {
  display: none;
}

.lab-result {
  display: grid;
  gap: 16px;
}

.lab-result-hero {
  display: grid;
  gap: 6px;
  padding: 21px;
  background:
    radial-gradient(circle at 100% 0%, rgba(86, 241, 200, 0.12), transparent 54%),
    rgba(255, 255, 255, 0.028);
  border: 1px solid rgba(86, 241, 200, 0.16);
  border-radius: 17px;
}

.lab-result-hero > span {
  color: var(--zi-muted-2);
  font-size: 0.75rem;
}

.lab-result-hero > strong {
  overflow-wrap: anywhere;
  font-size: clamp(2rem, 5vw, 4.3rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.lab-result-hero > small {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.72rem;
}

.lab-result-summary {
  margin: 0;
  color: var(--zi-muted);
}

.lab-result-stats,
.lab-scenario-results {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.lab-result-stats > div,
.lab-scenario-results > div {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 14px;
  background: rgba(255, 255, 255, 0.022);
  border: 1px solid var(--zi-line);
  border-radius: 13px;
}

.lab-result-stats > div:nth-child(4) {
  grid-column: span 3;
}

.lab-result-stats span,
.lab-scenario-results span {
  color: var(--zi-muted-2);
  font-size: 0.68rem;
}

.lab-result-stats strong,
.lab-scenario-results strong {
  overflow-wrap: anywhere;
  font-size: clamp(0.9rem, 2vw, 1.25rem);
}

.lab-scenario-results .is-a {
  border-color: rgba(86, 241, 200, 0.22);
}

.lab-scenario-results .is-b {
  border-color: rgba(155, 140, 255, 0.24);
}

.lab-scenario-results b {
  color: inherit;
  font-weight: 700;
}

.lab-formula-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.lab-formula-compare > div {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 14px;
  background: rgba(255, 255, 255, 0.022);
  border: 1px solid var(--zi-line);
  border-radius: 13px;
}

.lab-formula-compare span,
.lab-formula-compare small {
  color: var(--zi-muted-2);
  font-size: 0.68rem;
}

.lab-formula-compare code {
  overflow-wrap: anywhere;
  color: var(--zi-text);
  font-family: var(--zi-mono);
  font-size: 0.76rem;
  white-space: normal;
}

.lab-chart-card {
  min-width: 0;
  padding: 15px;
  background: rgba(0, 0, 0, 0.18);
  border: 1px solid var(--zi-line);
  border-radius: 15px;
}

.lab-chart-head {
  display: flex;
  gap: 12px;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 8px;
}

.lab-chart-head > span {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 10px;
  justify-content: flex-end;
  color: var(--zi-muted-2);
  font-size: 0.65rem;
}

.lab-chart-head i {
  width: 18px;
  height: 3px;
  margin-top: 0.45em;
  background: var(--zi-emerald-2);
  border-radius: 999px;
}

.lab-chart-head i.is-secondary {
  background: #9b8cff;
}

.lab-chart {
  display: block;
  width: 100%;
  height: auto;
  min-height: 210px;
  overflow: visible;
}

.lab-chart-grid {
  stroke: rgba(255, 255, 255, 0.075);
  stroke-width: 1;
}

.lab-chart-line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.lab-chart-line.is-primary {
  stroke: var(--zi-emerald-2);
  stroke-width: 4;
}

.lab-chart-line.is-secondary {
  stroke: #9b8cff;
  stroke-width: 3;
  stroke-dasharray: 8 6;
}

.lab-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--zi-line);
  border-radius: 14px;
}

.lab-table-wrap table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-size: 0.73rem;
}

.lab-table-wrap caption {
  padding: 12px 14px;
  color: var(--zi-muted-2);
  text-align: left;
  background: rgba(255, 255, 255, 0.025);
  border-bottom: 1px solid var(--zi-line);
}

.lab-table-wrap th,
.lab-table-wrap td {
  padding: 10px 12px;
  text-align: right;
  white-space: nowrap;
  border-bottom: 1px solid rgba(255, 255, 255, 0.055);
}

.lab-table-wrap th:first-child,
.lab-table-wrap td:first-child {
  text-align: left;
}

.lab-table-wrap thead th {
  color: var(--zi-muted-2);
  font-weight: 600;
  background: rgba(255, 255, 255, 0.016);
}

.lab-table-wrap tbody th {
  color: var(--zi-text);
  font-weight: 700;
}

.lab-table-wrap tbody tr:last-child > * {
  border-bottom: 0;
}

.lab-scenario-field.is-a .input-wrap {
  border-color: rgba(86, 241, 200, 0.2);
}

.lab-scenario-field.is-b .input-wrap {
  border-color: rgba(155, 140, 255, 0.24);
}

.lab-reading,
.lab-sources {
  margin-top: 36px;
}

.glossary-related-links {
  display: grid;
  gap: 7px;
  margin-top: auto;
  padding-top: 20px;
}

.glossary-related-links a {
  width: fit-content;
  color: var(--zi-emerald-2) !important;
  font-size: 0.72rem;
  font-weight: 700;
}

.tool-hub-grid-v5 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.tool-hub-grid-v5 .tool-hub-card,
.tool-hub-grid-v5 .tool-hub-card.featured,
.tool-hub-grid-v5 .tool-hub-card:last-child:not(.featured) {
  grid-column: span 4;
  min-height: 250px;
  color: var(--zi-text);
}

.tool-hub-grid-v5 .tool-hub-card:nth-child(4),
.tool-hub-grid-v5 .tool-hub-card:nth-child(5) {
  grid-column: span 6;
}

.tool-hub-grid-v5 .inflation-lab-card {
  background:
    radial-gradient(circle at 100% 0%, rgba(241, 189, 101, 0.14), transparent 48%),
    rgba(255, 255, 255, 0.035);
  border-color: rgba(241, 189, 101, 0.24);
}

@media (max-width: 1120px) {
  .lab-calculator-grid {
    grid-template-columns: 1fr;
  }

  .lab-form {
    position: static;
  }

  .tool-hub-grid-v5 .tool-hub-card,
  .tool-hub-grid-v5 .tool-hub-card.featured,
  .tool-hub-grid-v5 .tool-hub-card:last-child:not(.featured),
  .tool-hub-grid-v5 .tool-hub-card:nth-child(4),
  .tool-hub-grid-v5 .tool-hub-card:nth-child(5) {
    grid-column: span 6;
  }
}

@media (max-width: 820px) {
  .lab-step-nav,
  .lab-module-head {
    grid-template-columns: 1fr;
  }

  .lab-step-nav a {
    grid-template-columns: auto 1fr;
    column-gap: 12px;
    align-items: center;
  }

  .lab-step-nav strong,
  .lab-step-nav small {
    margin-top: 0;
  }

  .lab-step-nav small {
    grid-column: 2;
  }

  .lab-result-stats,
  .lab-scenario-results {
    grid-template-columns: 1fr 1fr;
  }

  .lab-result-stats > div:nth-child(4) {
    grid-column: span 2;
  }

  .tool-hub-grid-v5 {
    grid-template-columns: 1fr;
  }

  .tool-hub-grid-v5 .tool-hub-card,
  .tool-hub-grid-v5 .tool-hub-card.featured,
  .tool-hub-grid-v5 .tool-hub-card:last-child:not(.featured),
  .tool-hub-grid-v5 .tool-hub-card:nth-child(4),
  .tool-hub-grid-v5 .tool-hub-card:nth-child(5) {
    grid-column: auto;
  }
}

@media (max-width: 560px) {
  .lab-module {
    padding: 15px;
    border-radius: 21px;
  }

  .lab-form,
  .lab-result {
    padding: 15px;
    border-radius: 17px;
  }

  .lab-formula-compare,
  .lab-result-stats,
  .lab-scenario-results {
    grid-template-columns: 1fr;
  }

  .lab-result-stats > div:nth-child(4) {
    grid-column: auto;
  }

  .lab-chart-head {
    display: grid;
  }

  .lab-chart-head > span {
    justify-content: flex-start;
  }

  .lab-chart {
    min-height: 170px;
  }

  .lab-result-hero > strong {
    font-size: clamp(1.75rem, 12vw, 3rem);
  }
}


/* v0.14.1 — Blogger URL, Zi. brand and spacing polish */
.brand-mark {
  display: grid;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  place-items: center;
  overflow: visible;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.brand-mark::before,
.brand-mark::after,
.brand-mark > span {
  display: none !important;
}

.brand-symbol-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 8px 18px rgba(84, 117, 245, 0.16));
}

/* Restore the shared pill style where broad paragraph selectors previously
   swallowed its margin/size, then use the existing top breathing room. */
.content-hero > .section-kicker,
.section-header .section-kicker,
.trading-copy > .section-kicker {
  position: relative;
  top: -8px;
  max-width: none;
  margin: 0 0 26px;
  color: #c9d7d4;
  font-size: 0.76rem;
  line-height: 1;
}

.tool-form-badges {
  align-items: center;
  flex-wrap: wrap;
  row-gap: 6px;
}

.tool-usage-badge,
.local-tool-badge {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  justify-content: center;
  line-height: 1;
  white-space: nowrap;
}

.local-tool-badge {
  padding: 5px 9px;
  font-size: 0.58rem;
}

@media (max-width: 620px) {
  .brand-mark {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
  }

  .tool-form-badges {
    justify-content: flex-start;
  }

  .content-hero > .section-kicker,
  .section-header .section-kicker,
  .trading-copy > .section-kicker {
    top: -6px;
    margin-bottom: 22px;
  }
}

/* v0.14.1 — keep paired desktop tool badges on one aligned row. */
.tool-form-badges {
  width: max-content;
  max-width: 100%;
  flex: 0 0 auto;
  flex-wrap: nowrap;
}

@media (max-width: 620px) {
  .tool-form-badges {
    width: 100%;
    flex-wrap: wrap;
  }
}

/* v0.14.1 — content hero kickers use the available top space without
   leaving an oversized visual gap before the headline. */
.content-hero > .section-kicker {
  margin-bottom: 18px;
}

@media (max-width: 620px) {
  .content-hero > .section-kicker {
    margin-bottom: 16px;
  }
}

/* v0.15.0 — FIRE Lab and smaller header-only Zi. symbol */
.site-header .brand {
  gap: 10px;
}

.site-header .brand-mark {
  width: 26px;
  height: 26px;
  flex-basis: 26px;
}

.site-header .brand-symbol-image {
  filter: drop-shadow(0 5px 12px rgba(84, 117, 245, 0.14));
}

.fire-lab-hero {
  background:
    radial-gradient(circle at 88% 4%, rgba(86, 241, 200, 0.11), transparent 34%),
    radial-gradient(circle at 6% 90%, rgba(83, 116, 255, 0.11), transparent 38%);
}

.fire-lab {
  display: grid;
  gap: 32px;
  margin-top: 30px;
}

.fire-target-stats,
.fire-path-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fire-target-stats > div:nth-child(4),
.fire-path-stats > div:nth-child(4) {
  grid-column: auto;
}

.fire-progress-card {
  display: grid;
  gap: 10px;
  margin: 18px 0;
  padding: 17px 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.025);
}

.fire-progress-card > div:first-child {
  display: flex;
  gap: 14px;
  align-items: baseline;
  justify-content: space-between;
}

.fire-progress-card span,
.fire-progress-card small {
  color: var(--zi-muted-2);
}

.fire-progress-card strong {
  color: var(--zi-text);
}

.fire-progress-track {
  position: relative;
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.07);
}

.fire-progress-track i {
  display: block;
  width: 0;
  max-width: 100%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--zi-cyan), var(--zi-emerald));
  transition: width 180ms ease;
}

.fire-reach-card.is-unreached {
  border-color: rgba(241, 189, 101, 0.28);
  background: rgba(241, 189, 101, 0.04);
}

.fire-sensitivity-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  gap: 18px;
}

.fire-subhead {
  display: grid;
  gap: 8px;
  margin-bottom: 18px;
}

.fire-subhead > span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
}

.fire-subhead h3,
.fire-subhead p {
  margin: 0;
}

.fire-sensitivity-chart {
  width: 100%;
  min-height: 260px;
  overflow: visible;
}

.fire-sensitivity-label,
.fire-sensitivity-value {
  fill: var(--zi-muted-2);
  font-size: 11px;
}

.fire-sensitivity-value {
  fill: var(--zi-text);
  font-weight: 700;
}

.fire-sensitivity-track {
  fill: rgba(255, 255, 255, 0.07);
}

.fire-sensitivity-bar {
  fill: var(--zi-emerald);
}

.fire-sensitivity-bar.is-unreached {
  fill: rgba(241, 189, 101, 0.7);
}

.tool-hub-grid-v6 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.tool-hub-grid-v6 .tool-hub-card,
.tool-hub-grid-v6 .tool-hub-card.featured,
.tool-hub-grid-v6 .tool-hub-card:last-child:not(.featured) {
  grid-column: span 4;
  min-height: 250px;
  color: var(--zi-text);
}

.tool-hub-grid-v6 .inflation-lab-card {
  background:
    radial-gradient(circle at 100% 0%, rgba(241, 189, 101, 0.14), transparent 48%),
    rgba(255, 255, 255, 0.035);
  border-color: rgba(241, 189, 101, 0.24);
}

.tool-hub-grid-v6 .fire-lab-card {
  background:
    radial-gradient(circle at 100% 0%, rgba(86, 241, 200, 0.15), transparent 48%),
    rgba(255, 255, 255, 0.035);
  border-color: rgba(86, 241, 200, 0.25);
}

@media (max-width: 1120px) {
  .tool-hub-grid-v6 .tool-hub-card,
  .tool-hub-grid-v6 .tool-hub-card.featured,
  .tool-hub-grid-v6 .tool-hub-card:last-child:not(.featured) {
    grid-column: span 6;
  }

  .fire-sensitivity-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .tool-hub-grid-v6 {
    grid-template-columns: 1fr;
  }

  .tool-hub-grid-v6 .tool-hub-card,
  .tool-hub-grid-v6 .tool-hub-card.featured,
  .tool-hub-grid-v6 .tool-hub-card:last-child:not(.featured) {
    grid-column: auto;
  }

  .fire-target-stats,
  .fire-path-stats {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 620px) {
  .site-header .brand {
    gap: 8px;
  }

  .site-header .brand-mark {
    width: 23px;
    height: 23px;
    flex-basis: 23px;
  }

  .fire-target-stats,
  .fire-path-stats {
    grid-template-columns: 1fr;
  }

  .fire-progress-card > div:first-child {
    display: grid;
    gap: 5px;
  }

  .fire-sensitivity-chart {
    min-height: 300px;
  }
}

/* v0.16.0 — FIRE resilience, sequence risk and local scenario storage */
.fire-step-nav {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fire-step-nav a {
  min-height: 142px;
  padding: 16px;
}

.fire-step-nav strong {
  margin-top: 16px;
}

.fire-resilience-module {
  scroll-margin-top: 98px;
}

.fire-wide-form,
.fire-wide-result {
  width: 100%;
}

.fire-sequence-inputs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
}

.fire-sequence-inputs .tool-form-actions {
  grid-column: 1 / -1;
}

.fire-recovery-callout {
  display: grid;
  gap: 5px;
  margin: 18px 0;
  padding: 18px;
  border: 1px solid rgba(86, 241, 200, 0.25);
  border-radius: 16px;
  background: rgba(86, 241, 200, 0.045);
}

.fire-recovery-callout span {
  color: var(--zi-muted-2);
  font-size: 0.76rem;
}

.fire-recovery-callout strong {
  color: var(--zi-emerald-2);
  font-size: clamp(1.45rem, 3vw, 2.35rem);
}

.fire-return-sequences {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0;
}

.fire-return-sequences > div {
  display: grid;
  gap: 6px;
  padding: 13px 14px;
  border: 1px solid var(--zi-line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.025);
}

.fire-return-sequences strong {
  color: var(--zi-text);
  font-size: 0.78rem;
}

.fire-return-sequences span {
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.67rem;
  line-height: 1.65;
}

.fire-sequence-chart .lab-chart-line.is-ter-a {
  stroke: var(--zi-amber);
}

.fire-sequence-chart .lab-chart-line.is-ter-b {
  stroke: #bf8cff;
}

.fire-shared-values {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.fire-shared-values > div {
  display: grid;
  gap: 4px;
  padding: 13px 14px;
  border: 1px solid var(--zi-line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.025);
}

.fire-shared-values span {
  color: var(--zi-muted-2);
  font-size: 0.72rem;
}

.fire-shared-values strong {
  color: var(--zi-text);
}

.fire-resilience-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fire-scenario-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 18px;
  align-items: start;
}

.fire-scenario-manager {
  display: grid;
  gap: 18px;
}

.fire-scenario-name-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.fire-scenario-name-row input {
  min-width: 0;
}

.fire-scenario-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.fire-scenario-actions .button {
  cursor: pointer;
}

.fire-scenario-status {
  min-height: 1.45em;
  margin: 0;
  color: var(--zi-muted-2);
  font-size: 0.76rem;
}

.fire-scenario-status.is-error {
  color: var(--zi-amber);
}

.fire-scenario-list {
  display: grid;
  gap: 10px;
}

.fire-scenario-empty {
  margin: 0;
  padding: 15px;
  color: var(--zi-muted-2);
  border: 1px dashed var(--zi-line);
  border-radius: 14px;
}

.fire-scenario-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid var(--zi-line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.025);
}

.fire-scenario-item > label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  min-width: 0;
  cursor: pointer;
}

.fire-scenario-item input[type="checkbox"] {
  margin-top: 3px;
  accent-color: var(--zi-emerald);
}

.fire-scenario-item label span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.fire-scenario-item strong,
.fire-scenario-item small {
  overflow-wrap: anywhere;
}

.fire-scenario-item small {
  color: var(--zi-muted-2);
}

.fire-scenario-item > div {
  display: flex;
  gap: 6px;
}

.fire-scenario-item .button {
  min-height: 34px;
  padding: 6px 10px;
  font-size: 0.7rem;
}

@media (max-width: 1120px) {
  .fire-step-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fire-scenario-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .fire-sequence-inputs {
    grid-template-columns: 1fr;
  }

  .fire-sequence-inputs .tool-form-actions {
    grid-column: auto;
  }

  .fire-resilience-stats {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .fire-step-nav {
    grid-template-columns: 1fr;
  }

  .fire-step-nav a {
    min-height: auto;
  }

  .fire-return-sequences,
  .fire-shared-values {
    grid-template-columns: 1fr;
  }

  .fire-scenario-name-row,
  .fire-scenario-item {
    grid-template-columns: 1fr;
  }

  .fire-scenario-item > div {
    justify-content: flex-start;
  }

  .fire-scenario-actions .button {
    width: 100%;
    justify-content: center;
  }
}

/* v0.17.0 — quiet release stamp, FIRE export polish and Market Watch Workspace */
.footer-release {
  display: grid;
  flex: 0 0 auto;
  gap: 3px;
  justify-items: end;
  text-align: right;
}

.footer-release p {
  margin: 0;
}

.footer-version {
  color: #46504e;
  font-family: var(--zi-mono);
  font-size: 0.58rem;
  letter-spacing: 0.025em;
  white-space: nowrap;
}

.tool-usage-count {
  margin: 12px 0 18px;
}

.fire-shared-badge {
  gap: 0.34em;
}

.fire-lab-hero .lab-hero-badges span {
  color: var(--zi-emerald-2);
  background: rgba(27, 216, 166, 0.08);
  border-color: rgba(86, 241, 200, 0.28);
}

.fire-scenario-export-note {
  margin: 0;
  color: var(--zi-muted-2);
  font-size: 0.76rem;
}

.fire-scenario-actions {
  align-items: center;
}

.market-watch-toolbar {
  grid-template-columns: auto minmax(220px, 1fr) repeat(4, minmax(132px, 0.45fr)) auto auto;
}

.market-watch-app {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.market-watch-toolbar > * {
  min-width: 0;
}

.market-watch-reset {
  min-height: 48px;
  padding: 0 14px;
  color: var(--zi-muted-2);
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--zi-line-strong);
  border-radius: 14px;
  font: inherit;
  font-weight: 760;
  cursor: pointer;
}

.market-watch-reset:hover,
.market-watch-reset:focus-visible {
  color: var(--zi-text);
  border-color: rgba(86, 241, 200, 0.34);
}

.market-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.market-active-filters[hidden] {
  display: none;
}

.market-active-filters button {
  padding: 7px 10px;
  color: var(--zi-emerald-2);
  background: rgba(27, 216, 166, 0.07);
  border: 1px solid rgba(86, 241, 200, 0.25);
  border-radius: 999px;
  font: inherit;
  font-size: 0.72rem;
  cursor: pointer;
}

.market-table th > button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0;
  color: inherit;
  background: none;
  border: 0;
  font: inherit;
  font-weight: 800;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
}

.market-table th > button:focus-visible {
  outline: 2px solid rgba(120, 169, 255, 0.65);
  outline-offset: 4px;
}

.market-compare-toggle {
  min-height: 32px;
  padding: 5px 9px;
  color: var(--zi-muted-2);
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--zi-line);
  border-radius: 999px;
  font: inherit;
  font-size: 0.7rem;
  font-weight: 800;
  cursor: pointer;
}

.market-compare-toggle.is-selected {
  color: var(--zi-emerald-2);
  background: rgba(27, 216, 166, 0.1);
  border-color: rgba(86, 241, 200, 0.28);
}

.market-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.market-comparison {
  display: grid;
  gap: 20px;
  padding: 26px;
  border: 1px solid var(--zi-line);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.018);
}

.market-comparison > header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
}

.market-comparison h2 {
  margin: 5px 0 8px;
  font-size: clamp(1.75rem, 3.6vw, 3.2rem);
}

.market-comparison header p {
  max-width: 760px;
  margin: 0;
  color: var(--zi-muted-2);
}

.market-comparison-actions {
  display: grid;
  justify-items: end;
  gap: 8px;
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.7rem;
}

.market-comparison-actions button {
  padding: 7px 10px;
  color: var(--zi-text);
  background: transparent;
  border: 1px solid var(--zi-line-strong);
  border-radius: 999px;
  font: inherit;
  cursor: pointer;
}

.market-comparison-actions button:disabled {
  opacity: 0.38;
  cursor: default;
}

.market-comparison-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.market-comparison-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 22px;
  color: var(--zi-muted-2);
  border: 1px dashed var(--zi-line);
  border-radius: 16px;
}

.market-comparison-card {
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--zi-line);
  border-radius: 18px;
  background: #080d10;
}

.market-comparison-card header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}

.market-comparison-card header span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.72rem;
}

.market-comparison-card h3 {
  margin: 5px 0 14px;
  font-size: 1.25rem;
  overflow-wrap: anywhere;
}

.market-comparison-card header button {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  padding: 0;
  color: var(--zi-muted-2);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--zi-line);
  border-radius: 999px;
  font-size: 1.05rem;
  cursor: pointer;
}

.market-comparison-card dl {
  margin: 0;
}

.market-comparison-card dl div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-top: 1px solid var(--zi-line);
}

.market-comparison-card dt {
  color: var(--zi-muted-2);
}

.market-comparison-card dd {
  margin: 0;
  color: var(--zi-text);
  font-weight: 750;
  text-align: right;
}

.market-comparison-links {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
  margin-top: 16px;
}

.market-comparison-links a {
  color: var(--zi-emerald-2);
  font-size: 0.74rem;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.watchlist-demo-note {
  margin: 16px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.78rem;
}

.watchlist-demo-note strong {
  color: var(--zi-amber);
}

.market-export-status {
  flex-basis: 100%;
  min-height: 1.35em;
  margin: 4px 0 0;
  color: var(--zi-muted-2);
  font-size: 0.72rem;
}

.market-export-status.is-error {
  color: var(--zi-amber);
}

@media (max-width: 1600px) {
  .market-watch-toolbar {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .market-watch-mode-tabs,
  .market-watch-search {
    grid-column: span 2;
  }
}

@media (max-width: 900px) {
  .market-comparison-grid {
    grid-template-columns: 1fr;
  }

  .market-comparison > header {
    align-items: flex-start;
    flex-direction: column;
  }

  .market-comparison-actions {
    justify-items: start;
  }
}

@media (max-width: 760px) {
  .footer-release {
    width: 100%;
    justify-items: start;
    text-align: left;
  }

  .market-watch-toolbar {
    grid-template-columns: 1fr;
  }

  .market-watch-mode-tabs,
  .market-watch-search {
    grid-column: auto;
  }

  .market-watch-reset {
    width: 100%;
  }

  .market-table th:nth-child(5),
  .market-table td:nth-child(5),
  .market-table th:nth-child(6),
  .market-table td:nth-child(6) {
    display: none;
  }

  .market-comparison {
    padding: 18px;
  }
}

/* v0.17.0 workspace layout completion */
.watchlist-export-groups {
  display: grid;
  gap: 16px;
  min-width: min(620px, 100%);
}

.watchlist-export-groups > div {
  display: grid;
  gap: 8px;
}

.watchlist-export-groups > div > strong {
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.68rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.market-compare-report-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.fire-shared-badge {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .watchlist-export-groups {
    min-width: 0;
  }
}

@media (max-width: 760px) {
  .watchlist-export-groups,
  .watchlist-export-groups .watchlist-actions,
  .market-compare-report-actions {
    width: 100%;
  }

  .market-compare-report-actions .button,
  .market-compare-report-actions a {
    width: 100%;
    justify-content: center;
  }

  .market-table th:nth-child(3),
  .market-table td:nth-child(3),
  .market-table th:nth-child(7),
  .market-table td:nth-child(7) {
    display: table-cell;
  }

  .market-table th:nth-child(4),
  .market-table td:nth-child(4),
  .market-table th:nth-child(5),
  .market-table td:nth-child(5),
  .market-table th:nth-child(6),
  .market-table td:nth-child(6) {
    display: none;
  }
}

/* v0.18.0 — direct PDF, stable Market Watch toolbar and local Research Notebook */
.footer-bottom {
  align-items: flex-start;
}

.footer-disclaimer {
  flex: 1 1 620px;
  margin: 0;
}

.footer-legal-block {
  display: grid;
  flex: 0 0 auto;
  gap: 8px;
  justify-items: end;
  margin-left: auto;
  text-align: right;
}

.footer-legal-block .footer-legal {
  justify-content: flex-end;
}

.footer-legal-block .footer-release {
  justify-items: end;
  text-align: right;
}

.fire-scenario-export-note {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border: 1px solid var(--zi-line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.018);
}

.fire-scenario-export-note strong {
  color: var(--zi-text);
  font-size: 0.78rem;
}

.fire-scenario-actions-primary {
  display: grid;
  grid-template-columns: minmax(220px, 1.15fr) minmax(190px, 0.85fr);
  gap: 10px;
}

.fire-scenario-actions-primary .button {
  min-height: 54px;
  justify-content: center;
}

.fire-scenario-backup {
  display: grid;
  gap: 10px;
  padding-top: 16px;
  border-top: 1px solid var(--zi-line);
}

.fire-scenario-backup > strong {
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.fire-scenario-actions .button:disabled,
.market-compare-report-actions .button:disabled {
  opacity: 0.46;
  cursor: wait;
}

.market-watch-app {
  container-type: inline-size;
}

.market-watch-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
}

.market-watch-toolbar > * {
  min-width: 0;
}

.market-toolbar-mode-row,
.market-toolbar-filter-row,
.market-toolbar-view-row {
  min-width: 0;
}

.market-toolbar-mode-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.market-toolbar-mode-row .market-watch-summary {
  min-width: 0;
  flex: 1 1 auto;
  justify-content: flex-end;
  text-align: right;
}

.market-toolbar-filter-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.45fr) repeat(4, minmax(140px, 1fr));
  gap: 12px;
  align-items: end;
}

.market-toolbar-view-row {
  display: grid;
  grid-template-columns: minmax(180px, 0.8fr) minmax(180px, 0.8fr) auto auto;
  gap: 12px;
  align-items: end;
  justify-content: end;
}

.market-toolbar-view-row .market-watch-view-toggle,
.market-toolbar-view-row .market-watch-reset {
  align-self: end;
}

.market-watch-view-toggle {
  min-height: 48px;
  box-sizing: border-box;
}

.market-watch-reset {
  white-space: nowrap;
}

.market-research-notebook {
  display: grid;
  gap: 22px;
  padding: 28px;
  border: 1px solid rgba(86, 241, 200, 0.19);
  border-radius: 26px;
  background:
    radial-gradient(circle at 0 0, rgba(27, 216, 166, 0.09), transparent 42%),
    rgba(255, 255, 255, 0.018);
}

.market-research-notebook > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.market-research-notebook > header > div {
  min-width: 0;
}

.market-research-notebook h2 {
  max-width: 980px;
  margin: 6px 0 10px;
  font-size: clamp(1.8rem, 3.5vw, 3.4rem);
  line-height: 1.02;
}

.market-research-notebook > header p {
  max-width: 850px;
  margin: 0;
  color: var(--zi-muted-2);
}

.market-research-notebook > header > span {
  flex: 0 0 auto;
  padding: 8px 12px;
  color: var(--zi-emerald-2);
  border: 1px solid rgba(86, 241, 200, 0.26);
  border-radius: 999px;
  background: rgba(27, 216, 166, 0.08);
  font-family: var(--zi-mono);
  font-size: 0.69rem;
  white-space: nowrap;
}

.market-research-empty {
  margin: 0;
  padding: 18px;
  color: var(--zi-muted-2);
  border: 1px dashed var(--zi-line);
  border-radius: 16px;
}

.market-research-empty[hidden],
.market-research-form[hidden] {
  display: none;
}

.market-research-form {
  display: grid;
  gap: 20px;
  padding: 22px;
  border: 1px solid var(--zi-line);
  border-radius: 20px;
  background: #070b0e;
}

.market-research-form-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
}

.market-research-form-head > div > span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.74rem;
  letter-spacing: 0.06em;
}

.market-research-form-head h3 {
  margin: 5px 0 0;
  font-size: 1.5rem;
}

.market-research-form label {
  display: grid;
  gap: 7px;
  min-width: 0;
  color: var(--zi-muted-2);
  font-size: 0.76rem;
  font-weight: 700;
}

.market-research-form select,
.market-research-form textarea {
  width: 100%;
  box-sizing: border-box;
  color: var(--zi-text);
  border: 1px solid var(--zi-line-strong);
  border-radius: 14px;
  background: #0a1014;
  font: inherit;
}

.market-research-form select {
  min-height: 48px;
  padding: 0 14px;
}

.market-research-form textarea {
  min-height: 130px;
  padding: 13px 14px;
  line-height: 1.55;
  resize: vertical;
}

.market-research-form select:focus,
.market-research-form textarea:focus {
  outline: 2px solid rgba(86, 241, 200, 0.42);
  outline-offset: 2px;
}

.market-research-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.market-research-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.market-research-actions > span {
  flex: 1 1 260px;
  color: var(--zi-muted-2);
  font-size: 0.74rem;
}

.market-research-actions > span.is-error {
  color: var(--zi-amber);
}

.market-research-table-state {
  min-height: 32px;
  padding: 5px 9px;
  color: var(--zi-muted-2);
  border: 1px solid var(--zi-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.025);
  font: inherit;
  font-size: 0.7rem;
  font-weight: 760;
  cursor: pointer;
  white-space: nowrap;
}

.market-research-table-state.has-note {
  color: var(--zi-emerald-2);
  border-color: rgba(86, 241, 200, 0.28);
  background: rgba(27, 216, 166, 0.08);
}

.market-detail-research {
  margin-top: 8px !important;
}

.market-comparison-note {
  margin: 14px 0 0;
  padding: 11px 12px;
  color: var(--zi-muted-2);
  border: 1px solid rgba(86, 241, 200, 0.16);
  border-radius: 12px;
  background: rgba(27, 216, 166, 0.045);
  font-size: 0.76rem;
  line-height: 1.55;
}

.market-comparison-links button {
  padding: 0;
  color: var(--zi-emerald-2);
  border: 0;
  background: none;
  font: inherit;
  font-size: 0.74rem;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.market-compare-report-actions .button-primary {
  min-height: 50px;
}

@container (max-width: 1200px) {
  .market-toolbar-filter-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .market-toolbar-filter-row .market-watch-search {
    grid-column: 1 / -1;
  }

  .market-toolbar-view-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .market-toolbar-view-row .market-watch-view-toggle,
  .market-toolbar-view-row .market-watch-reset {
    width: 100%;
  }
}

@container (max-width: 760px) {
  .market-toolbar-mode-row {
    display: grid;
  }

  .market-toolbar-mode-row .market-watch-summary {
    display: grid;
    justify-content: start;
    text-align: left;
  }

  .market-toolbar-filter-row,
  .market-toolbar-view-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .market-toolbar-filter-row .market-watch-search {
    grid-column: auto;
  }

  .market-watch-view-toggle,
  .market-watch-reset {
    width: 100%;
  }
}

@media (max-width: 900px) {
  .market-research-grid {
    grid-template-columns: 1fr;
  }

  .market-research-form-head,
  .market-research-notebook > header {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 760px) {
  .footer-legal-block {
    width: 100%;
    justify-items: start;
    margin-left: 0;
    text-align: left;
  }

  .footer-legal-block .footer-legal {
    justify-content: flex-start;
  }

  .footer-legal-block .footer-release {
    justify-items: start;
    text-align: left;
  }

  .fire-scenario-actions-primary {
    grid-template-columns: 1fr;
  }

  .market-research-notebook,
  .market-research-form {
    padding: 18px;
  }

  .market-research-actions .button {
    width: 100%;
    justify-content: center;
  }

  .market-table th:nth-child(8),
  .market-table td:nth-child(8) {
    display: table-cell;
  }
}
.market-toolbar-filter-row .market-watch-search { grid-column: auto; }

/* v0.18.0 — direct PDF hierarchy, right-aligned release block and stable Market Watch research workspace */
.footer-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, auto);
  align-items: end;
  gap: 24px 40px;
}

.footer-legal-block {
  display: grid;
  justify-items: end;
  gap: 9px;
  min-width: 0;
  text-align: right;
}

.footer-legal {
  justify-content: flex-end;
}

.footer-release {
  justify-items: end;
  text-align: right;
}

.fire-scenario-name-row .button-secondary {
  color: var(--zi-text);
  background: rgba(255, 255, 255, 0.035);
  border-color: var(--zi-line-strong);
  box-shadow: none;
}

.fire-scenario-actions-primary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.82fr);
  align-items: stretch;
  gap: 10px;
}

.fire-scenario-actions-primary .button {
  width: 100%;
  justify-content: center;
}

.fire-scenario-actions-primary [data-fire-scenario-pdf] {
  min-height: 58px;
  box-shadow: 0 16px 38px rgba(27, 216, 166, 0.16);
}

.fire-scenario-backup {
  display: grid;
  gap: 9px;
  padding-top: 15px;
  border-top: 1px solid var(--zi-line);
}

.fire-scenario-backup > strong,
.fire-scenario-export-note > strong {
  color: var(--zi-muted-2);
  font-family: var(--zi-mono);
  font-size: 0.68rem;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.fire-scenario-export-note {
  display: grid;
  gap: 7px;
}

.market-watch-app {
  container-type: inline-size;
}

.market-watch-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  width: 100%;
  min-width: 0;
}

.market-watch-toolbar-row {
  min-width: 0;
}

.market-watch-toolbar-mode {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.market-watch-toolbar-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1.45fr) repeat(6, minmax(132px, 0.8fr));
  gap: 12px;
  align-items: end;
}

.market-watch-toolbar-filters > label {
  min-width: 0;
}

.market-watch-toolbar-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}

.market-watch-toolbar input,
.market-watch-toolbar select {
  min-width: 0;
}

.market-watch-view-toggle,
.market-watch-reset {
  position: static;
  z-index: auto;
  flex: 0 0 auto;
}

.market-active-filters {
  margin-top: 2px;
}

.market-table th:last-child,
.market-table td:last-child {
  min-width: 128px;
}

.market-research-table-state {
  min-height: 32px;
  max-width: 170px;
  padding: 5px 9px;
  color: var(--zi-muted-2);
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--zi-line);
  border-radius: 999px;
  font: inherit;
  font-size: 0.69rem;
  font-weight: 780;
  line-height: 1.25;
  cursor: pointer;
}

.market-research-table-state.has-note {
  color: var(--zi-emerald-2);
  background: rgba(27, 216, 166, 0.08);
  border-color: rgba(86, 241, 200, 0.28);
}

.market-detail-research {
  margin-top: 8px !important;
  color: var(--zi-muted-2) !important;
  font-size: 0.75rem;
}

.market-detail-research strong {
  color: var(--zi-emerald-2);
}

.market-research-notebook {
  display: grid;
  gap: 22px;
  padding: 28px;
  border: 1px solid var(--zi-line);
  border-radius: 24px;
  background:
    radial-gradient(circle at 0 0, rgba(27, 216, 166, 0.07), transparent 35%),
    rgba(255, 255, 255, 0.018);
}

.market-research-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.market-research-head h2 {
  max-width: 900px;
  margin: 5px 0 8px;
  font-size: clamp(1.75rem, 3.6vw, 3.15rem);
}

.market-research-head p {
  max-width: 780px;
  margin: 0;
  color: var(--zi-muted-2);
}

.market-research-count {
  flex: 0 0 auto;
  padding: 9px 12px;
  color: var(--zi-emerald-2);
  background: rgba(27, 216, 166, 0.07);
  border: 1px solid rgba(86, 241, 200, 0.25);
  border-radius: 999px;
  font-family: var(--zi-mono);
  font-size: 0.7rem;
  white-space: nowrap;
}

.market-research-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
  gap: 16px;
  align-items: start;
}

.market-research-form,
.market-research-library {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--zi-line);
  border-radius: 20px;
  background: #070b0e;
}

.market-research-form[hidden] {
  display: none;
}

.market-research-form fieldset {
  display: grid;
  gap: 18px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.market-research-form-head,
.market-research-library > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.market-research-form-head > div > span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
}

.market-research-form-head h3,
.market-research-library h3 {
  margin: 5px 0 0;
  color: var(--zi-text);
  font-size: 1.25rem;
}

.market-research-form label,
.market-research-form-head label {
  display: grid;
  gap: 7px;
  min-width: 0;
  color: var(--zi-muted-2);
  font-size: 0.75rem;
  font-weight: 700;
}

.market-research-form select,
.market-research-form textarea {
  width: 100%;
  min-width: 0;
  padding: 12px 13px;
  color: var(--zi-text);
  background: #030608;
  border: 1px solid var(--zi-line-strong);
  border-radius: 13px;
  font: inherit;
  font-weight: 500;
  line-height: 1.55;
  resize: vertical;
}

.market-research-form select {
  min-height: 46px;
  padding-top: 0;
  padding-bottom: 0;
}

.market-research-form select:focus,
.market-research-form textarea:focus {
  outline: 2px solid rgba(86, 241, 200, 0.45);
  outline-offset: 2px;
}

.market-research-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.market-research-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.market-research-message {
  min-height: 1.4em;
  margin: 0;
  color: var(--zi-muted-2);
  font-size: 0.74rem;
}

.market-research-message.is-error {
  color: var(--zi-amber);
}

.market-research-library {
  display: grid;
  gap: 15px;
}

.market-research-library > header .button {
  flex: 0 0 auto;
}

.market-research-list {
  display: grid;
  gap: 9px;
}

.market-research-empty {
  margin: 0;
  padding: 15px;
  color: var(--zi-muted-2);
  border: 1px dashed var(--zi-line);
  border-radius: 14px;
  line-height: 1.55;
}

.market-research-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid var(--zi-line);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.022);
}

.market-research-card > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.market-research-card strong {
  color: var(--zi-text);
  overflow-wrap: anywhere;
}

.market-research-card span,
.market-research-card small {
  color: var(--zi-muted-2);
  font-size: 0.7rem;
  overflow-wrap: anywhere;
}

.market-research-card button,
.market-comparison-links button {
  padding: 7px 10px;
  color: var(--zi-emerald-2);
  background: rgba(27, 216, 166, 0.06);
  border: 1px solid rgba(86, 241, 200, 0.22);
  border-radius: 999px;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 780;
  cursor: pointer;
}

.market-comparison-note {
  margin: 13px 0 0;
  padding: 11px 12px;
  color: var(--zi-muted-2);
  background: rgba(27, 216, 166, 0.045);
  border: 1px solid rgba(86, 241, 200, 0.14);
  border-radius: 12px;
  font-size: 0.74rem;
  line-height: 1.5;
}

.market-comparison-note strong {
  color: var(--zi-text);
}

@container (max-width: 1280px) {
  .market-watch-toolbar-filters {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .market-watch-search {
    grid-column: span 2;
  }
}

@container (max-width: 900px) {
  .market-watch-toolbar-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .market-watch-search {
    grid-column: 1 / -1;
  }

  .market-research-layout,
  .market-research-grid {
    grid-template-columns: 1fr;
  }
}

@container (max-width: 620px) {
  .market-watch-toolbar-mode,
  .market-research-head,
  .market-research-form-head,
  .market-research-library > header {
    align-items: flex-start;
    flex-direction: column;
  }

  .market-watch-toolbar-filters {
    grid-template-columns: 1fr;
  }

  .market-watch-search {
    grid-column: auto;
  }

  .market-watch-toolbar-actions,
  .market-watch-view-toggle,
  .market-watch-reset,
  .market-research-actions,
  .market-research-actions .button,
  .market-research-library > header .button {
    width: 100%;
  }

  .market-watch-view-toggle button {
    flex: 1;
  }
}

@media (max-width: 900px) {
  .footer-bottom {
    grid-template-columns: 1fr;
  }

  .footer-legal-block,
  .footer-release {
    width: 100%;
    justify-items: start;
    text-align: left;
  }

  .footer-legal {
    justify-content: flex-start;
  }

  .fire-scenario-actions-primary {
    grid-template-columns: 1fr;
  }

  .market-research-layout,
  .market-research-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .market-research-notebook {
    padding: 18px;
  }

  .market-research-head,
  .market-research-form-head,
  .market-research-library > header {
    align-items: flex-start;
    flex-direction: column;
  }

  .market-research-actions,
  .market-research-actions .button,
  .market-research-library > header .button {
    width: 100%;
  }

  .market-table th:nth-child(8),
  .market-table td:nth-child(8) {
    display: table-cell;
  }
}

/* v0.18.0 notebook card structure and destructive-action alignment */
.market-research-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
}

.market-research-card header,
.market-research-card footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.market-research-card header > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.market-research-card header span {
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.66rem;
  letter-spacing: 0.07em;
}

.market-research-card header h3 {
  margin: 0;
  color: var(--zi-text);
  font-size: 0.96rem;
  overflow-wrap: anywhere;
}

.market-research-card header > strong {
  flex: 0 0 auto;
  padding: 5px 8px;
  color: var(--zi-emerald-2);
  border: 1px solid rgba(86, 241, 200, 0.24);
  border-radius: 999px;
  background: rgba(27, 216, 166, 0.07);
  font-size: 0.66rem;
  white-space: nowrap;
}

.market-research-card > p {
  margin: 0;
  color: var(--zi-muted-2);
  font-size: 0.75rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.market-research-card footer {
  align-items: center;
  padding-top: 8px;
  border-top: 1px solid var(--zi-line);
}

.market-research-card footer small {
  color: var(--zi-muted-2);
  font-size: 0.66rem;
}

.market-research-card footer button {
  flex: 0 0 auto;
}

@container (max-width: 620px) {
  .market-research-card header,
  .market-research-card footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* v0.19.0 — universal reports, Zi. dark controls and themed scrolling */
.tool-report-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(24px, 4vw, 64px);
  align-items: center;
  margin: clamp(28px, 5vw, 64px) 0;
  padding: clamp(24px, 4vw, 48px);
  border: 1px solid rgba(106, 130, 126, 0.26);
  border-radius: 28px;
  background:
    radial-gradient(circle at 100% 0%, rgba(20, 217, 174, 0.10), transparent 42%),
    linear-gradient(135deg, rgba(12, 18, 20, 0.98), rgba(6, 10, 12, 0.98));
}
.tool-report-panel > div:first-child > span {
  display: block;
  margin-bottom: 10px;
  color: #55e8c4;
  font: 700 0.78rem/1.2 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.tool-report-panel h2 { margin: 0 0 10px; font-size: clamp(1.45rem, 2.4vw, 2.35rem); }
.tool-report-panel p { margin: 0; max-width: 66ch; color: var(--muted, #9aa6a4); }
.tool-report-actions { display: grid; justify-items: stretch; gap: 10px; min-width: min(100%, 280px); }
.tool-report-actions .button { justify-content: center; white-space: nowrap; }
.tool-report-actions [data-zi-report-status] { min-height: 1.4em; font-size: 0.82rem; text-align: center; }
.tool-report-actions [data-zi-report-status].is-error { color: #ff9d9d; }

/* A single dark form language across Zi. Pages. Output cards remain visually distinct. */
.zi-site input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),
.zi-site select,
.zi-site textarea {
  color: #f4f7f6;
  background-color: #060a0c;
  border-color: rgba(148, 169, 165, 0.32);
  color-scheme: dark;
}
.zi-site input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"])::placeholder,
.zi-site textarea::placeholder { color: #778481; opacity: 1; }
.zi-site input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):hover,
.zi-site select:hover,
.zi-site textarea:hover { border-color: rgba(91, 225, 193, 0.46); }
.zi-site input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):focus,
.zi-site select:focus,
.zi-site textarea:focus {
  outline: none;
  border-color: #36d8b2;
  box-shadow: 0 0 0 3px rgba(54, 216, 178, 0.17);
}
.zi-site input:-webkit-autofill,
.zi-site input:-webkit-autofill:hover,
.zi-site input:-webkit-autofill:focus,
.zi-site textarea:-webkit-autofill,
.zi-site select:-webkit-autofill {
  -webkit-text-fill-color: #f4f7f6;
  -webkit-box-shadow: 0 0 0 1000px #060a0c inset;
  caret-color: #f4f7f6;
  transition: background-color 9999s ease-out 0s;
}
.zi-site input:disabled,
.zi-site select:disabled,
.zi-site textarea:disabled { color: #7c8886; background: #0d1214; opacity: 0.78; }

/* Native range controls use the same mint / blue Zi. accent. */
.zi-site input[type="range"] {
  width: 100%;
  min-height: 28px;
  margin: 8px 0;
  padding: 0;
  border: 0;
  background: transparent;
  accent-color: #24d8b0;
  cursor: pointer;
}
.zi-site input[type="range"]::-webkit-slider-runnable-track {
  height: 8px;
  border: 1px solid rgba(103, 130, 126, 0.36);
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(20, 217, 174, 0.32), rgba(66, 118, 255, 0.30));
}
.zi-site input[type="range"]::-webkit-slider-thumb {
  width: 22px;
  height: 22px;
  margin-top: -8px;
  border: 3px solid #071012;
  border-radius: 50%;
  background: linear-gradient(135deg, #20dfb7, #4d78ff);
  box-shadow: 0 2px 12px rgba(31, 222, 181, 0.28);
  -webkit-appearance: none;
}
.zi-site input[type="range"]::-moz-range-track {
  height: 8px;
  border: 1px solid rgba(103, 130, 126, 0.36);
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(20, 217, 174, 0.32), rgba(66, 118, 255, 0.30));
}
.zi-site input[type="range"]::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border: 3px solid #071012;
  border-radius: 50%;
  background: linear-gradient(135deg, #20dfb7, #4d78ff);
  box-shadow: 0 2px 12px rgba(31, 222, 181, 0.28);
}
.zi-site input[type="range"]:focus-visible { outline: 2px solid #66efd0; outline-offset: 4px; border-radius: 999px; }

/* Themed scrollbars for tables, result timelines and other controlled overflow areas. */
.zi-site * { scrollbar-width: thin; scrollbar-color: #3f8f83 #080d0f; }
.zi-site *::-webkit-scrollbar { width: 11px; height: 11px; }
.zi-site *::-webkit-scrollbar-track { background: #080d0f; border-radius: 999px; }
.zi-site *::-webkit-scrollbar-thumb {
  min-width: 42px;
  min-height: 42px;
  border: 3px solid #080d0f;
  border-radius: 999px;
  background: linear-gradient(90deg, #24cdb0, #4878ff);
}
.zi-site *::-webkit-scrollbar-thumb:hover { background: linear-gradient(90deg, #46e4c3, #6d60ff); }
.zi-site *::-webkit-scrollbar-corner { background: #080d0f; }

@media (max-width: 760px) {
  .tool-report-panel { grid-template-columns: 1fr; }
  .tool-report-actions { width: 100%; min-width: 0; }
  .tool-report-actions .button { white-space: normal; }
}

/* v0.19.0 named local Market Watch views */
.market-saved-views {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(106, 130, 126, 0.24);
  border-radius: 20px;
  background: rgba(7, 12, 14, 0.56);
}
.market-saved-views > strong {
  color: var(--zi-text);
  font-size: 0.88rem;
}
.market-saved-views > p {
  margin: 0;
  color: var(--zi-muted-2);
  font-size: 0.76rem;
  line-height: 1.55;
}
.market-saved-view-create,
.market-saved-view-manage {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
}
.market-saved-view-manage {
  grid-template-columns: minmax(0, 1fr) auto auto;
}
.market-saved-view-create label,
.market-saved-view-manage label {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.market-saved-view-create label > span,
.market-saved-view-manage label > span {
  color: var(--zi-muted-2);
  font: 700 0.65rem/1.2 var(--zi-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.market-saved-view-create input,
.market-saved-view-manage select {
  width: 100%;
  min-width: 0;
  min-height: 48px;
}
.market-saved-view-status {
  min-height: 1.4em;
  margin: 0;
  color: var(--zi-muted-2);
  font-size: 0.74rem;
}
.market-saved-view-status.is-error { color: var(--zi-amber); }
.watchlist-actions-primary .button-primary { order: -1; }

@media (max-width: 760px) {
  .market-saved-view-create,
  .market-saved-view-manage {
    grid-template-columns: 1fr;
  }
  .market-saved-view-create .button,
  .market-saved-view-manage .button {
    width: 100%;
    justify-content: center;
  }
}

/* v0.20.0 — Portfolio Lab and shared export-quality system */
.portfolio-lab {
  display: grid;
  gap: clamp(28px, 5vw, 64px);
  margin: clamp(32px, 6vw, 76px) 0;
  container-type: inline-size;
}
.portfolio-lab-hero .tool-hero-badges { margin-top: 26px; }
.portfolio-lab-head,
.portfolio-section-title,
.portfolio-storage > div:first-child {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(22px, 4vw, 54px);
  align-items: end;
}
.portfolio-lab-head h2,
.portfolio-section-title h2,
.portfolio-storage h2 { margin: 0; }
.portfolio-lab-head p,
.portfolio-section-title p,
.portfolio-storage > div:first-child p { max-width: 72ch; }
.portfolio-lab-head-actions,
.portfolio-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.portfolio-settings-card {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) minmax(180px, 1fr) minmax(180px, 1fr) auto;
  gap: 14px;
  align-items: end;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid rgba(102, 132, 126, 0.28);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(9, 16, 18, 0.98), rgba(5, 10, 12, 0.98));
}
.portfolio-settings-card label,
.portfolio-position-row label,
.portfolio-save-card label {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.portfolio-settings-card label > span,
.portfolio-position-row label > span,
.portfolio-save-card label > span {
  color: var(--zi-muted-2);
  font: 700 0.67rem/1.2 var(--zi-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.portfolio-settings-card input,
.portfolio-settings-card select,
.portfolio-position-row input,
.portfolio-position-row select,
.portfolio-position-row textarea,
.portfolio-save-card select {
  width: 100%;
  min-width: 0;
}
.portfolio-position-list { display: grid; gap: 14px; }
.portfolio-position-row {
  display: grid;
  grid-template-columns: 54px minmax(180px, 1.35fr) minmax(100px, .65fr) minmax(132px, .8fr) minmax(150px, 1fr) minmax(135px, .85fr) minmax(92px, .55fr) minmax(128px, .8fr) minmax(118px, .7fr) minmax(132px, .75fr);
  gap: 11px;
  align-items: end;
  padding: 17px;
  border: 1px solid rgba(102, 132, 126, 0.22);
  border-radius: 20px;
  background: rgba(5, 10, 12, 0.74);
}
.portfolio-position-index {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 8px 5px;
  border-right: 1px solid var(--zi-line);
}
.portfolio-position-index span {
  color: var(--zi-emerald-2);
  font: 700 .72rem/1 var(--zi-mono);
  letter-spacing: .08em;
}
.portfolio-position-index button {
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid rgba(255, 146, 146, .24);
  border-radius: 50%;
  color: #ffabab;
  background: rgba(255, 86, 86, .06);
  font-size: 1.1rem;
}
.portfolio-position-index button:hover,
.portfolio-position-index button:focus-visible { border-color: rgba(255, 146, 146, .7); background: rgba(255, 86, 86, .12); }
.portfolio-position-note { grid-column: 2 / -1; }
.portfolio-position-note textarea { min-height: 72px; resize: vertical; }
.portfolio-results,
.portfolio-rebalance,
.portfolio-storage {
  display: grid;
  gap: 24px;
  padding: clamp(22px, 4vw, 44px);
  border: 1px solid rgba(106, 130, 126, 0.25);
  border-radius: 30px;
  background:
    radial-gradient(circle at 100% 0%, rgba(21, 216, 173, .075), transparent 35%),
    linear-gradient(145deg, rgba(10, 17, 19, .98), rgba(5, 9, 11, .98));
}
.portfolio-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.portfolio-metrics article {
  min-height: 128px;
  padding: 20px;
  border: 1px solid rgba(111, 137, 132, .23);
  border-radius: 19px;
  background: rgba(9, 15, 17, .78);
}
.portfolio-metrics article.is-accent {
  border-color: rgba(46, 223, 181, .45);
  background: linear-gradient(135deg, rgba(18, 108, 89, .24), rgba(8, 17, 18, .9));
}
.portfolio-metrics span {
  display: block;
  margin-bottom: 14px;
  color: var(--zi-muted-2);
  font-size: .76rem;
}
.portfolio-metrics strong {
  display: block;
  color: var(--zi-text);
  font-size: clamp(1.05rem, 1.65vw, 1.45rem);
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.portfolio-allocation-grid,
.portfolio-rebalance-grid,
.portfolio-storage-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.portfolio-allocation-grid > article,
.portfolio-rebalance-grid > article,
.portfolio-save-card,
.portfolio-export-card,
.portfolio-table-card {
  min-width: 0;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid rgba(106, 130, 126, .22);
  border-radius: 22px;
  background: rgba(4, 9, 11, .68);
}
.portfolio-allocation-grid h3,
.portfolio-rebalance-grid h3,
.portfolio-storage-grid h3,
.portfolio-table-card h3 { margin: 0 0 18px; }
.portfolio-export-card h4 {
  margin: 24px 0 12px;
  color: var(--zi-muted-2);
  font: 700 .72rem/1.2 var(--zi-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.portfolio-bars { display: grid; gap: 12px; }
.portfolio-bars > div {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) minmax(110px, 2fr) auto;
  gap: 10px;
  align-items: center;
}
.portfolio-bars span,
.portfolio-bars strong { font-size: .76rem; }
.portfolio-bars span { color: var(--zi-muted); overflow-wrap: anywhere; }
.portfolio-bars strong { color: var(--zi-text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.portfolio-bars i {
  display: block;
  height: 9px;
  border-radius: 999px;
  background: #0b1214;
  overflow: hidden;
}
.portfolio-bars b {
  display: block;
  height: 100%;
  min-width: 2px;
  border-radius: inherit;
  background: linear-gradient(90deg, #1ed8b0, #4979ff);
}
.portfolio-table-card .table-scroll,
.portfolio-rebalance-grid .table-scroll {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid rgba(109, 135, 130, .22);
  border-radius: 14px;
}
.portfolio-table-card table,
.portfolio-rebalance-grid table { width: 100%; min-width: 650px; border-collapse: collapse; }
.portfolio-table-card th,
.portfolio-table-card td,
.portfolio-rebalance-grid th,
.portfolio-rebalance-grid td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(100, 125, 121, .18);
  text-align: left;
  font-size: .76rem;
  white-space: nowrap;
}
.portfolio-table-card th,
.portfolio-rebalance-grid th { color: var(--zi-muted-2); font: 700 .68rem/1.2 var(--zi-mono); letter-spacing: .05em; text-transform: uppercase; }
.portfolio-table-card td,
.portfolio-rebalance-grid td { color: var(--zi-text); }
.portfolio-rebalance-grid > article > p { min-height: 3.2em; color: var(--zi-muted-2); font-size: .78rem; }
.portfolio-save-card,
.portfolio-export-card { display: grid; gap: 12px; align-content: start; }
.portfolio-save-card > .button,
.portfolio-export-card > .button { justify-content: center; width: 100%; }
.portfolio-status {
  min-height: 1.5em;
  margin: 0;
  color: var(--zi-emerald-2);
  font-size: .8rem;
}
.portfolio-status.is-error { color: var(--zi-amber); }
.portfolio-method { margin-top: clamp(60px, 9vw, 120px); }
.portfolio-method .content-hero.compact { min-height: 0; padding-block: 0 30px; }

@container (max-width: 1180px) {
  .portfolio-settings-card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .portfolio-position-row { grid-template-columns: 48px repeat(4, minmax(130px, 1fr)); }
  .portfolio-position-note { grid-column: 2 / -1; }
}
@container (max-width: 760px) {
  .portfolio-lab-head,
  .portfolio-section-title,
  .portfolio-storage > div:first-child { grid-template-columns: 1fr; align-items: start; }
  .portfolio-settings-card,
  .portfolio-position-row,
  .portfolio-allocation-grid,
  .portfolio-rebalance-grid,
  .portfolio-storage-grid { grid-template-columns: 1fr; }
  .portfolio-position-index { flex-direction: row; border-right: 0; border-bottom: 1px solid var(--zi-line); }
  .portfolio-position-note { grid-column: auto; }
  .portfolio-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .portfolio-inline-actions { display: grid; grid-template-columns: 1fr; }
  .portfolio-inline-actions .button,
  .portfolio-lab-head-actions .button { width: 100%; justify-content: center; }
}
@container (max-width: 470px) {
  .portfolio-metrics { grid-template-columns: 1fr; }
  .portfolio-bars > div { grid-template-columns: 1fr auto; }
  .portfolio-bars i { grid-column: 1 / -1; grid-row: 2; }
}

/* v0.20.0 Portfolio Lab component alignment */
.portfolio-position-card {
  display: grid;
  gap: 18px;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid rgba(102, 132, 126, .25);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(22, 216, 174, .065), transparent 34%),
    rgba(5, 10, 12, .82);
}
.portfolio-position-card > header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(104, 132, 126, .19);
}
.portfolio-position-card > header > div { display: flex; align-items: center; gap: 12px; min-width: 0; }
.portfolio-position-card > header span {
  color: var(--zi-emerald-2);
  font: 700 .68rem/1 var(--zi-mono);
  letter-spacing: .08em;
}
.portfolio-position-card > header h3 {
  margin: 0;
  color: var(--zi-text);
  font-size: clamp(1rem, 1.6vw, 1.25rem);
  overflow-wrap: anywhere;
}
.portfolio-position-remove {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid rgba(255, 150, 150, .28);
  border-radius: 999px;
  color: #ffb0b0;
  background: rgba(255, 84, 84, .055);
  font-weight: 700;
}
.portfolio-position-remove:hover,
.portfolio-position-remove:focus-visible { border-color: rgba(255, 150, 150, .72); background: rgba(255, 84, 84, .12); }
.portfolio-position-core,
.portfolio-position-extra {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.portfolio-position-core label,
.portfolio-position-extra label {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.portfolio-position-core label > span:first-child,
.portfolio-position-extra label > span:first-child {
  color: var(--zi-muted-2);
  font: 700 .66rem/1.2 var(--zi-mono);
  letter-spacing: .07em;
  text-transform: uppercase;
}
.portfolio-position-details {
  border: 1px solid rgba(104, 132, 126, .2);
  border-radius: 16px;
  background: rgba(2, 7, 9, .45);
}
.portfolio-position-details summary {
  padding: 14px 16px;
  color: var(--zi-muted);
  font-weight: 700;
  cursor: pointer;
}
.portfolio-position-details[open] summary { border-bottom: 1px solid rgba(104, 132, 126, .17); }
.portfolio-position-extra { padding: 16px; }
.portfolio-position-note { grid-column: 1 / -1; }
.portfolio-position-note textarea { min-height: 90px; resize: vertical; }
.portfolio-input-unit { position: relative; display: block; }
.portfolio-input-unit input { width: 100%; padding-right: 70px; }
.portfolio-input-unit em {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  color: var(--zi-muted-2);
  font: 700 .72rem/1 var(--zi-mono);
  font-style: normal;
  pointer-events: none;
}
.portfolio-warning-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 16px 18px 16px 38px;
  border: 1px solid rgba(224, 169, 82, .28);
  border-radius: 16px;
  color: var(--zi-muted);
  background: rgba(224, 169, 82, .055);
}
.portfolio-warning-list li { padding-left: 3px; }
.portfolio-warning-list li.is-ok { color: var(--zi-emerald-2); }
.portfolio-exposure-row { display: grid; gap: 8px; }
.portfolio-exposure-row > div { display: flex; justify-content: space-between; gap: 12px; }
.portfolio-exposure-row strong { color: var(--zi-text); font-size: .78rem; overflow-wrap: anywhere; }
.portfolio-exposure-row span { color: var(--zi-muted-2); font-size: .74rem; white-space: nowrap; }
.portfolio-exposure-track {
  display: block;
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #0a1214;
}
.portfolio-exposure-track i {
  display: block;
  height: 100%;
  min-width: 2px;
  border-radius: inherit;
  background: linear-gradient(90deg, #1ed8b0, #4979ff);
}
.portfolio-table-card td:first-child { white-space: normal; min-width: 150px; }
.portfolio-table-card td:first-child strong,
.portfolio-table-card td:first-child span { display: block; }
.portfolio-table-card td:first-child span { margin-top: 4px; color: var(--zi-muted-2); font-size: .68rem; }
.portfolio-delta,
.portfolio-money-delta { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-weight: 700; }
.portfolio-delta.is-ok { color: var(--zi-emerald-2); background: rgba(25, 216, 173, .1); }
.portfolio-delta.is-out { color: var(--zi-amber); background: rgba(230, 174, 78, .09); }
.portfolio-money-delta.is-buy { color: var(--zi-emerald-2); }
.portfolio-money-delta.is-reduce { color: #ffabab; }
.portfolio-saved-list { display: grid; gap: 10px; }
.portfolio-saved-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(104, 132, 126, .2);
  border-radius: 15px;
  background: rgba(3, 8, 10, .55);
}
.portfolio-saved-card > div:first-child { min-width: 0; }
.portfolio-saved-card strong,
.portfolio-saved-card span { display: block; }
.portfolio-saved-card strong { color: var(--zi-text); overflow-wrap: anywhere; }
.portfolio-saved-card span { margin-top: 5px; color: var(--zi-muted-2); font-size: .7rem; }
.portfolio-saved-card > div:last-child { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.portfolio-saved-card button {
  min-height: 36px;
  padding: 7px 11px;
  border: 1px solid rgba(105, 132, 126, .25);
  border-radius: 999px;
  color: var(--zi-muted);
  background: rgba(12, 18, 20, .82);
  font-weight: 700;
}
.portfolio-empty-copy { margin: 0; color: var(--zi-muted-2); }
.portfolio-storage-grid { align-items: start; }
.portfolio-save-card,
.portfolio-export-card { gap: 14px; }
.portfolio-export-card .button-primary { order: -1; }

@container (max-width: 900px) {
  .portfolio-position-core,
  .portfolio-position-extra { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .portfolio-position-note { grid-column: 1 / -1; }
  .portfolio-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (max-width: 580px) {
  .portfolio-position-card > header,
  .portfolio-saved-card { grid-template-columns: 1fr; align-items: start; }
  .portfolio-position-card > header { flex-direction: column; align-items: stretch; }
  .portfolio-position-remove { align-self: flex-start; }
  .portfolio-position-core,
  .portfolio-position-extra,
  .portfolio-settings-card,
  .portfolio-allocation-grid,
  .portfolio-rebalance-grid,
  .portfolio-storage-grid { grid-template-columns: 1fr; }
  .portfolio-position-note { grid-column: auto; }
  .portfolio-saved-card > div:last-child { justify-content: flex-start; }
  .portfolio-metrics { grid-template-columns: 1fr; }
}

/* v0.22.0 — Academy Level 3, hardened Portfolio Cockpit and shared interface system */
.tool-hero-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 26px;
}
.tool-hero-badges > span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid rgba(35, 224, 181, .34);
  border-radius: 999px;
  color: var(--zi-emerald-2);
  background: rgba(26, 210, 171, .075);
  font: 700 .67rem/1.1 var(--zi-mono);
  letter-spacing: .055em;
  white-space: nowrap;
}
.portfolio-hero { min-height: 0; }
.portfolio-wizard,
.portfolio-xtb-import,
.portfolio-xtb-cockpit,
.portfolio-target-gate {
  display: grid;
  gap: 24px;
  margin: clamp(36px, 6vw, 78px) 0;
  padding: clamp(22px, 4vw, 42px);
  border: 1px solid rgba(106, 130, 126, .24);
  border-radius: 30px;
  background:
    radial-gradient(circle at 100% 0%, rgba(32, 216, 177, .07), transparent 33%),
    linear-gradient(145deg, rgba(10, 17, 19, .98), rgba(5, 9, 11, .98));
  container-type: inline-size;
}
.portfolio-wizard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.portfolio-wizard-card {
  display: grid;
  gap: 14px;
  align-content: start;
  min-width: 0;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid rgba(106, 130, 126, .23);
  border-radius: 22px;
  background: rgba(4, 9, 11, .72);
}
.portfolio-wizard-card.is-featured {
  border-color: rgba(42, 220, 180, .42);
  background: linear-gradient(145deg, rgba(17, 89, 77, .18), rgba(4, 9, 11, .82));
}
.portfolio-wizard-card > span,
.portfolio-beta-kicker {
  color: var(--zi-emerald-2);
  font: 750 .67rem/1.2 var(--zi-mono);
  letter-spacing: .105em;
  text-transform: uppercase;
}
.portfolio-wizard-card h3,
.portfolio-private-beta h3,
.portfolio-observation h4 { margin: 0; }
.portfolio-wizard-card p,
.portfolio-wizard-card small,
.portfolio-private-beta p { margin: 0; color: var(--zi-muted); }
.portfolio-wizard-card label,
.portfolio-beta-dialog-card label {
  display: grid;
  gap: 7px;
}
.portfolio-wizard-card label > span:first-child,
.portfolio-beta-dialog-card label > span:first-child {
  color: var(--zi-muted-2);
  font: 700 .66rem/1.2 var(--zi-mono);
  letter-spacing: .07em;
  text-transform: uppercase;
}
.portfolio-wizard-card .button { width: 100%; justify-content: center; }
.portfolio-empty-state {
  padding: 24px;
  border: 1px dashed rgba(105, 132, 126, .28);
  border-radius: 18px;
  color: var(--zi-muted);
  background: rgba(3, 8, 10, .4);
}
.portfolio-empty-state strong { color: var(--zi-text); }
.portfolio-empty-state p { margin-bottom: 0; }

.button-warning {
  border-color: rgba(255, 174, 72, .55);
  color: #191006;
  background: linear-gradient(135deg, #ffb34f, #ffd078);
  box-shadow: 0 12px 32px rgba(244, 159, 55, .13);
}
.button-warning:hover,
.button-warning:focus-visible { border-color: #ffd28a; background: linear-gradient(135deg, #ffc168, #ffdb94); }
.portfolio-private-beta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid rgba(244, 169, 73, .42);
  border-left: 5px solid #f2a94e;
  border-radius: 0 22px 22px 0;
  background: linear-gradient(135deg, rgba(111, 64, 12, .18), rgba(5, 10, 12, .86));
}
.portfolio-private-beta.is-unlocked { border-color: rgba(41, 218, 177, .42); border-left-color: var(--zi-emerald-2); }
.portfolio-private-beta-copy { display: grid; gap: 10px; }
.portfolio-private-beta .portfolio-beta-kicker { color: #ffc66f; }
.portfolio-private-beta.is-unlocked .portfolio-beta-kicker { color: var(--zi-emerald-2); }
.portfolio-privacy-details {
  border: 1px solid rgba(106, 130, 126, .23);
  border-radius: 18px;
  background: rgba(3, 8, 10, .54);
}
.portfolio-privacy-details summary { padding: 17px 20px; color: var(--zi-text); font-weight: 750; cursor: pointer; }
.portfolio-privacy-details[open] summary { border-bottom: 1px solid rgba(106, 130, 126, .18); }
.portfolio-privacy-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 18px; }
.portfolio-privacy-grid > div { padding: 16px; border-radius: 15px; background: rgba(8, 14, 16, .75); }
.portfolio-privacy-grid strong { color: var(--zi-text); }
.portfolio-privacy-grid p { margin-bottom: 0; color: var(--zi-muted); font-size: .78rem; }

.portfolio-beta-dialog {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(0, 4, 6, .78);
  backdrop-filter: blur(12px);
}
.portfolio-beta-dialog[hidden] { display: none !important; }
.portfolio-beta-dialog-card {
  position: relative;
  display: grid;
  gap: 16px;
  width: min(100%, 520px);
  padding: clamp(24px, 5vw, 40px);
  border: 1px solid rgba(244, 169, 73, .42);
  border-radius: 26px;
  background: linear-gradient(145deg, #0c1417, #05090b);
  box-shadow: 0 28px 90px rgba(0, 0, 0, .55);
}
.portfolio-beta-dialog-card h2 { margin: 0; }
.portfolio-beta-dialog-card p { margin: 0; color: var(--zi-muted); }
.portfolio-beta-dialog-card .dialog-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(106, 130, 126, .28);
  border-radius: 50%;
  color: var(--zi-muted);
  background: rgba(14, 22, 25, .9);
  font-size: 1.35rem;
}
.portfolio-beta-consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: var(--zi-muted);
  line-height: 1.55;
}
.portfolio-beta-consent input { flex: 0 0 auto; margin-top: .25em; }
.portfolio-xtb-file-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.portfolio-xtb-file-row input[type="file"] {
  flex: 1 1 320px;
  min-width: 0;
  padding: 8px;
  border: 1px solid rgba(106, 130, 126, .32);
  border-radius: 14px;
  color: var(--zi-muted);
  background: rgba(3, 8, 10, .86);
  font: 650 .78rem/1.3 var(--zi-mono);
}
.portfolio-xtb-file-row input[type="file"]::file-selector-button {
  margin-right: 12px;
  padding: 10px 14px;
  border: 1px solid rgba(41, 218, 177, .34);
  border-radius: 10px;
  color: var(--zi-emerald-2);
  background: rgba(25, 82, 70, .28);
  font: 800 .75rem/1 var(--zi-sans);
  cursor: pointer;
}
.portfolio-xtb-file-row input[type="file"]:hover::file-selector-button,
.portfolio-xtb-file-row input[type="file"]:focus-visible::file-selector-button {
  border-color: rgba(41, 218, 177, .72);
  background: rgba(25, 110, 91, .38);
}
.portfolio-doctor {
  display: grid;
  gap: 12px;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid rgba(106, 130, 126, .26);
  border-left: 5px solid var(--zi-emerald-2);
  border-radius: 0 22px 22px 0;
  background: rgba(4, 9, 11, .72);
}
.portfolio-doctor.is-limited { border-left-color: #f2a94e; }
.portfolio-doctor.is-critical { border-left-color: #ff7777; }
.portfolio-doctor > span { color: var(--zi-emerald-2); font: 750 .67rem/1.2 var(--zi-mono); letter-spacing: .1em; }
.portfolio-doctor.is-limited > span { color: #ffc66f; }
.portfolio-doctor.is-critical > span { color: #ff9b9b; }
.portfolio-doctor h3,
.portfolio-doctor p { margin: 0; }
.portfolio-doctor p { color: var(--zi-muted); }
.portfolio-doctor ul { display: grid; gap: 9px; margin: 4px 0 0; padding: 0; list-style: none; }
.portfolio-doctor li { display: grid; gap: 4px; padding: 12px 14px; border-radius: 13px; background: rgba(11, 18, 20, .82); }
.portfolio-doctor li strong { color: var(--zi-text); }
.portfolio-doctor li span { color: var(--zi-muted-2); font-size: .76rem; }
.portfolio-doctor li.is-critical { border-left: 3px solid #ff7777; }
.portfolio-doctor li.is-warning { border-left: 3px solid #f2a94e; }
.portfolio-doctor li.is-info { border-left: 3px solid var(--zi-emerald-2); }
.portfolio-observations,
.portfolio-observations > div { display: grid; gap: 12px; }
.portfolio-observation {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px solid rgba(106, 130, 126, .22);
  border-radius: 17px;
  background: rgba(4, 9, 11, .7);
}
.portfolio-observation > span { color: var(--zi-emerald-2); font: 750 .64rem/1.2 var(--zi-mono); letter-spacing: .08em; text-transform: uppercase; }
.portfolio-observation.is-watch > span { color: #ffc66f; }
.portfolio-observation.is-critical > span { color: #ff9b9b; }
.portfolio-observation p { margin: 0; color: var(--zi-muted); }
.portfolio-observation > div { display: flex; flex-wrap: wrap; gap: 8px; }
.portfolio-observation a { display: inline-flex; padding: 6px 10px; border: 1px solid rgba(42, 220, 180, .24); border-radius: 999px; color: var(--zi-emerald-2); font-size: .7rem; text-decoration: none; }
.portfolio-xtb-cockpit .portfolio-table-card table { min-width: 880px; }

.portfolio-target-gate {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  margin: 0;
  padding: clamp(20px, 3vw, 30px);
}
.portfolio-target-gate h2,
.portfolio-target-gate p { margin: 0; }
.portfolio-target-gate > div { display: grid; gap: 9px; }
.portfolio-target-toggle {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 13px 16px;
  border: 1px solid rgba(42, 220, 180, .28);
  border-radius: 999px;
  color: var(--zi-text);
  background: rgba(19, 133, 108, .1);
  font-weight: 750;
  cursor: pointer;
}
.portfolio-target-toggle input { flex: 0 0 auto; }

@container (max-width: 760px) {
  .portfolio-wizard-grid,
  .portfolio-privacy-grid { grid-template-columns: 1fr; }
  .portfolio-private-beta,
  .portfolio-target-gate { grid-template-columns: 1fr; align-items: start; }
  .portfolio-private-beta .button,
  .portfolio-xtb-file-row .button { width: 100%; justify-content: center; }
}
@media (max-width: 760px) {
  .tool-hero-badges { gap: 8px; }
  .tool-hero-badges > span { white-space: normal; text-align: center; }
  .portfolio-beta-dialog { padding: 12px; }
  .portfolio-beta-dialog-card { border-radius: 20px; }
}

/* v0.22.0 Academy Level 3, guided paths, review and learning report. */
.academy-paths,
.academy-review,
.academy-report-panel,
.academy-practice {
  margin-top: clamp(32px, 5vw, 72px);
}
.academy-paths,
.academy-review,
.academy-report-panel {
  border: 1px solid var(--line, rgba(255,255,255,.12));
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(13, 31, 29, .84), rgba(8, 13, 19, .96));
  padding: clamp(22px, 4vw, 46px);
}
.academy-path-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}
.academy-path-grid button {
  min-height: 154px;
  padding: 20px;
  text-align: left;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 20px;
  background: rgba(5, 10, 14, .72);
  color: var(--text, #f5f7f7);
  cursor: pointer;
  transition: border-color .2s ease, transform .2s ease, background .2s ease;
}
.academy-path-grid button:hover,
.academy-path-grid button:focus-visible {
  border-color: rgba(86, 241, 200, .72);
  transform: translateY(-2px);
}
.academy-path-grid button.is-active {
  border-color: #56f1c8;
  background: rgba(22, 82, 70, .35);
  box-shadow: 0 0 0 3px rgba(86, 241, 200, .12);
}
.academy-path-grid span,
.academy-path-grid strong,
.academy-path-grid small { display: block; }
.academy-path-grid span {
  color: #56f1c8;
  font-family: var(--font-mono, monospace);
  font-size: .76rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.academy-path-grid strong { margin-top: 14px; font-size: 1.05rem; line-height: 1.35; }
.academy-path-grid small { margin-top: 10px; color: var(--muted, #9ba7a5); line-height: 1.55; }
.academy-path-status,
.academy-next-step { color: var(--muted, #9ba7a5); }
.academy-level > header > div > strong[data-academy-level-status] {
  display: inline-flex;
  margin-top: 12px;
  padding: 7px 11px;
  border: 1px solid rgba(86, 241, 200, .25);
  border-radius: 999px;
  color: #aab6b3;
  font-family: var(--font-mono, monospace);
  font-size: .78rem;
}
.academy-level > header > div > strong[data-academy-level-status].is-complete {
  color: #56f1c8;
  border-color: rgba(86, 241, 200, .6);
  background: rgba(86, 241, 200, .08);
}
.academy-level-three .academy-lesson-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.academy-practice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(86, 241, 200, .24);
  border-radius: 24px;
  background: rgba(8, 18, 18, .82);
}
.academy-practice span {
  color: #56f1c8;
  font-family: var(--font-mono, monospace);
  letter-spacing: .09em;
  text-transform: uppercase;
  font-size: .78rem;
}
.academy-practice h2 { margin: 10px 0 8px; }
.academy-practice p { margin: 0; color: var(--muted, #9ba7a5); }
.academy-review form { margin-top: 26px; }
.academy-review .quiz-question { margin-bottom: 18px; }
.academy-report-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
}
.academy-report-panel h2 { margin: 8px 0 10px; }
.academy-report-panel p { color: var(--muted, #9ba7a5); }
.academy-report-panel [data-academy-report-status] { grid-column: 1 / -1; margin: 0; min-height: 1.4em; }
@media (max-width: 1100px) {
  .academy-path-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .academy-level-three .academy-lesson-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .academy-path-grid,
  .academy-level-three .academy-lesson-grid { grid-template-columns: 1fr; }
  .academy-practice,
  .academy-report-panel { grid-template-columns: 1fr; }
  .academy-practice .button,
  .academy-report-panel .button { width: 100%; }
}

/* v0.22.0 — Academy Level 3, guided paths, review and local report. */
.academy-paths,
.academy-review,
.academy-report-panel,
.academy-practice {
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius-lg);
  background:
    radial-gradient(circle at 12% 0%, rgba(38, 224, 184, 0.08), transparent 34%),
    linear-gradient(145deg, rgba(13, 22, 25, 0.98), rgba(7, 12, 15, 0.98));
  box-shadow: var(--zi-shadow-soft);
}

.academy-paths {
  margin: clamp(24px, 4vw, 48px) 0;
  padding: clamp(24px, 4vw, 42px);
}

.academy-paths .section-header {
  margin-bottom: 22px;
}

.academy-path-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.academy-path-grid button {
  min-height: 164px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 20px;
  border: 1px solid var(--zi-line);
  border-radius: var(--zi-radius);
  background: rgba(6, 11, 14, 0.9);
  color: var(--zi-text);
  text-align: left;
  cursor: pointer;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.academy-path-grid button:hover,
.academy-path-grid button:focus-visible {
  border-color: rgba(86, 241, 200, 0.62);
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.2);
}

.academy-path-grid button.is-active {
  border-color: var(--zi-emerald-2);
  background: rgba(20, 57, 50, 0.58);
  box-shadow: inset 0 0 0 1px rgba(86, 241, 200, 0.18), 0 12px 34px rgba(25, 205, 167, 0.08);
}

.academy-path-grid button > span,
.academy-path-grid button > small {
  color: var(--zi-muted);
}

.academy-path-grid button > span {
  font-family: var(--zi-mono);
  font-size: 0.76rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.academy-path-grid button > strong {
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
  line-height: 1.25;
}

.academy-path-grid button > small {
  line-height: 1.55;
}

.academy-path-status,
.academy-next-step {
  margin: 16px 0 0;
  color: var(--zi-muted);
}

.academy-level > header > div {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px 18px;
}

.academy-level > header > div > span {
  grid-column: 1 / 2;
}

.academy-level > header > div > h2 {
  grid-column: 1 / 3;
  margin: 0;
}

.academy-level > header > div > strong {
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: center;
  white-space: nowrap;
  padding: 8px 12px;
  border: 1px solid var(--zi-line);
  border-radius: 999px;
  color: var(--zi-muted);
  font-family: var(--zi-mono);
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.academy-level > header > div > strong.is-complete {
  border-color: rgba(86, 241, 200, 0.46);
  background: rgba(23, 94, 78, 0.3);
  color: var(--zi-emerald-2);
}

.academy-level-three {
  border-color: rgba(72, 140, 255, 0.26);
  background:
    radial-gradient(circle at 88% 0%, rgba(91, 71, 255, 0.12), transparent 34%),
    radial-gradient(circle at 0% 100%, rgba(38, 224, 184, 0.07), transparent 36%),
    var(--zi-surface);
}

.academy-level-three .academy-lesson-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.academy-level-three .academy-lesson-card {
  min-height: 300px;
}

.academy-review {
  margin: clamp(28px, 5vw, 58px) 0;
  padding: clamp(24px, 4vw, 46px);
}

.academy-review form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.academy-review .lesson-section-heading,
.academy-review .quiz-actions,
.academy-review .quiz-result {
  grid-column: 1 / -1;
}

.academy-review .quiz-question {
  margin: 0;
  min-width: 0;
}

.academy-review .quiz-result {
  margin-top: 4px;
}

.academy-report-panel {
  margin: clamp(28px, 5vw, 52px) 0;
  padding: clamp(24px, 4vw, 38px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px 28px;
  align-items: center;
}

.academy-report-panel h2 {
  margin: 4px 0 10px;
}

.academy-report-panel > p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--zi-muted);
}

.academy-practice {
  margin: 28px 0;
  padding: clamp(22px, 4vw, 34px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  border-color: rgba(86, 241, 200, 0.28);
}

.academy-practice > div > span {
  display: block;
  margin-bottom: 8px;
  color: var(--zi-emerald-2);
  font-family: var(--zi-mono);
  font-size: 0.76rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.academy-practice h2 {
  margin: 0 0 10px;
}

.academy-practice p {
  margin: 0;
  color: var(--zi-muted);
}

@media (max-width: 1120px) {
  .academy-path-grid,
  .academy-level-three .academy-lesson-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .academy-path-grid,
  .academy-level-three .academy-lesson-grid,
  .academy-review form {
    grid-template-columns: 1fr;
  }

  .academy-path-grid button {
    min-height: 132px;
  }

  .academy-level > header > div {
    grid-template-columns: 1fr auto;
  }

  .academy-level > header > div > h2 {
    grid-column: 1 / -1;
  }

  .academy-level > header > div > strong {
    grid-column: 2;
    grid-row: 1;
  }

  .academy-report-panel,
  .academy-practice {
    grid-template-columns: 1fr;
  }

  .academy-report-panel .button,
  .academy-practice .button {
    width: 100%;
  }
}


/* v0.22.0 - XTB import coverage */
.portfolio-import-coverage { margin-top: 24px; padding: clamp(20px, 3vw, 30px); border: 1px solid rgba(86,241,200,.2); border-radius: 24px; background: rgba(6,13,18,.72); }
.portfolio-import-coverage > div:first-child > span { color: var(--zi-emerald-2); font-family: var(--zi-mono); font-size: .76rem; font-weight: 800; letter-spacing: .12em; }
.portfolio-import-coverage h3 { margin: 10px 0 8px; }
.portfolio-import-coverage p { margin: 0; color: var(--zi-muted); }
.portfolio-coverage-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 20px; }
.portfolio-coverage-grid article { min-width: 0; padding: 16px; border: 1px solid rgba(255,255,255,.08); border-radius: 18px; background: rgba(255,255,255,.025); }
.portfolio-coverage-grid span,.portfolio-coverage-grid strong,.portfolio-coverage-grid small { display:block; }
.portfolio-coverage-grid span { color: var(--zi-muted); font-size: .78rem; }
.portfolio-coverage-grid strong { margin-top: 7px; color: var(--zi-text); }
.portfolio-coverage-grid small { margin-top: 6px; color: var(--zi-muted); line-height: 1.45; overflow-wrap:anywhere; }
@media (max-width:860px){.portfolio-coverage-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.portfolio-coverage-grid{grid-template-columns:1fr;}}

/* v0.23.0 - unified tool metrics hub */
.tool-metrics-hub{margin-top:28px;border:1px solid var(--zi-line);border-radius:28px;background:linear-gradient(145deg,rgba(27,216,166,.065),rgba(120,169,255,.035) 48%,rgba(155,140,255,.045));padding:clamp(22px,3vw,34px);overflow:hidden}
.tool-metrics-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:10px}
.tool-metrics-head span{display:block;color:var(--zi-muted);font:700 .72rem/1.2 var(--zi-mono);letter-spacing:.14em;text-transform:uppercase}
.tool-metrics-head h4{margin:7px 0 0;font-size:clamp(1.45rem,2.8vw,2.35rem);line-height:1.02}
.tool-metrics-head>strong{font-size:clamp(3rem,7vw,6.2rem);line-height:.8;letter-spacing:-.075em;color:var(--zi-text)}
.tool-metrics-hub>p{max-width:760px;color:var(--zi-muted);margin:0 0 22px}
.tool-metrics-tabs{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--zi-line);border-radius:999px;background:rgba(4,6,8,.62);margin-bottom:22px}
.tool-metrics-tabs button{appearance:none;border:0;border-radius:999px;background:transparent;color:var(--zi-muted);padding:10px 16px;font:750 .78rem/1 var(--zi-font);cursor:pointer}
.tool-metrics-tabs button[aria-selected="true"]{background:var(--zi-emerald-2);color:#03120e;box-shadow:0 10px 30px rgba(27,216,166,.16)}
.tool-metrics-tabs button:focus-visible{outline:2px solid var(--zi-emerald-2);outline-offset:3px}
.tool-metrics-panel[hidden]{display:none!important}
.tool-metrics-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.tool-metrics-summary-grid article{border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(4,6,8,.55);padding:18px}
.tool-metrics-summary-grid span{display:block;color:var(--zi-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.tool-metrics-summary-grid strong{display:block;margin-top:8px;font-size:clamp(1.7rem,3vw,2.7rem);letter-spacing:-.045em}
.tool-usage-chart{display:grid;grid-template-columns:repeat(30,minmax(2px,1fr));align-items:end;gap:4px;height:92px;margin-top:20px;padding:10px 8px 0;border-top:1px solid rgba(255,255,255,.07)}
.tool-usage-chart span{display:block;min-height:2px;height:var(--bar-height,2%);border-radius:999px 999px 3px 3px;background:linear-gradient(180deg,var(--zi-emerald-2),var(--zi-blue));opacity:.82;transition:opacity .15s ease,transform .15s ease}
.tool-usage-chart span:focus-visible,.tool-usage-chart span:hover{opacity:1;transform:scaleX(1.16);outline:none}
.tool-metrics-table{min-width:720px}
.tool-metrics-table th:nth-child(3),.tool-metrics-table td:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}
.tool-metrics-table td:nth-child(4){color:var(--zi-muted)}

/* v0.23.0 - Zi. Companion placeholder shell. Visual face/icon assets are intentionally swappable in the next release. */
.zi-companion{position:fixed;right:clamp(14px,2vw,28px);bottom:clamp(14px,2vw,28px);z-index:1200;display:flex;flex-direction:column;align-items:flex-end;gap:10px;font-family:var(--zi-font)}
.zi-companion-launcher{display:flex;align-items:center;gap:10px;min-height:58px;border:1px solid rgba(86,241,200,.3);border-radius:999px;background:rgba(5,9,15,.96);color:var(--zi-text);padding:7px 17px 7px 7px;box-shadow:0 22px 65px rgba(0,0,0,.42),0 0 0 1px rgba(51,155,255,.05);cursor:pointer;font-weight:800;backdrop-filter:blur(16px);transition:transform .18s ease,border-color .18s ease}
.zi-companion-launcher:hover{transform:translateY(-2px);border-color:rgba(86,241,200,.6)}
.zi-companion-launcher:focus-visible{outline:3px solid rgba(86,241,200,.45);outline-offset:4px}
.zi-companion-launcher-copy{display:grid;text-align:left}.zi-companion-launcher-copy strong{font-size:.95rem}.zi-companion-launcher-copy small{color:var(--zi-muted);font-size:.66rem;letter-spacing:.05em}
.zi-companion-avatar{position:relative;display:grid;width:46px;height:46px;place-items:center;border-radius:15px;background:linear-gradient(145deg,rgba(86,241,200,.12),rgba(120,169,255,.08));border:1px solid rgba(86,241,200,.18);overflow:hidden;transition:transform .2s ease,filter .2s ease}
.zi-companion-avatar img{display:block;width:78%;height:78%;object-fit:contain}.zi-companion-avatar-small{width:42px;height:42px}
.zi-companion[data-zi-avatar-state="thinking"] .zi-companion-avatar{animation:zi-companion-think .8s ease-in-out infinite alternate}
.zi-companion[data-zi-avatar-state="success"] .zi-companion-avatar{filter:drop-shadow(0 0 9px rgba(86,241,200,.5));transform:rotate(-3deg) scale(1.04)}
.zi-companion[data-zi-avatar-state="warning"] .zi-companion-avatar{filter:drop-shadow(0 0 10px rgba(241,189,101,.55))}
@keyframes zi-companion-think{from{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-3px) rotate(2deg)}}
.zi-companion-hint{display:flex;align-items:flex-start;gap:12px;max-width:330px;border:1px solid rgba(86,241,200,.22);border-radius:17px;background:#08110f;color:var(--zi-text);padding:12px 12px 12px 15px;box-shadow:0 18px 50px rgba(0,0,0,.32);font-size:.82rem}
.zi-companion-hint div{display:grid;gap:3px}.zi-companion-hint span{color:var(--zi-muted);line-height:1.4}.zi-companion-hint button{appearance:none;border:0;background:transparent;color:var(--zi-muted);font-size:1.2rem;cursor:pointer}
.zi-companion-backdrop{position:fixed;inset:0;background:rgba(1,3,5,.56);backdrop-filter:blur(4px);z-index:-1}
.zi-companion-panel{position:fixed;right:clamp(14px,2vw,28px);bottom:clamp(82px,8vw,98px);width:min(440px,calc(100vw - 28px));height:min(740px,calc(100vh - 112px));max-height:none;display:grid;grid-template-areas:"header" "description" "privacy" "context" "log" "quick" "form" "footer";grid-template-rows:auto auto auto auto minmax(0,1fr) auto auto auto;border:1px solid rgba(86,241,200,.2);border-radius:28px;background:radial-gradient(circle at 10% 0,rgba(27,216,166,.1),transparent 28%),linear-gradient(150deg,#08100f,#080c13 58%,#0b0d16);box-shadow:0 30px 100px rgba(0,0,0,.58);overflow:hidden;opacity:0;transform:translateY(18px) scale(.97);transition:opacity .17s ease,transform .17s ease}
.zi-companion-panel.is-open{opacity:1;transform:none}
 .zi-companion-header{grid-area:header;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 20px 13px}
.zi-companion-identity{display:flex;align-items:center;gap:12px}.zi-companion-identity p{margin:0;color:var(--zi-emerald-2);font:750 .65rem/1.2 var(--zi-mono);letter-spacing:.13em;text-transform:uppercase}.zi-companion-identity h2{font-size:1.1rem;line-height:1.15;margin:4px 0 0;letter-spacing:-.025em}
.zi-companion-close{appearance:none;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--zi-line);border-radius:14px;background:rgba(255,255,255,.03);color:var(--zi-muted);font-size:1.5rem;cursor:pointer}.zi-companion-close:hover{color:var(--zi-text);border-color:rgba(86,241,200,.35)}
 .zi-companion-description{grid-area:description;margin:0;padding:0 20px 12px;color:var(--zi-muted);font-size:.82rem;line-height:1.5}
 .zi-companion-privacy{grid-area:privacy;margin:0 20px 10px;padding:10px 12px;border-left:3px solid var(--zi-emerald-2);background:rgba(86,241,200,.05);border-radius:0 12px 12px 0}.zi-companion-privacy strong{display:block;color:var(--zi-emerald-2);font-size:.69rem;text-transform:uppercase;letter-spacing:.08em}.zi-companion-privacy span{display:block;margin-top:3px;color:var(--zi-muted);font-size:.7rem;line-height:1.42}
 .zi-companion-context{grid-area:context;display:flex;align-items:center;gap:6px;overflow:auto;padding:0 20px 10px}.zi-companion-context>span{white-space:nowrap;color:var(--zi-muted);font-size:.68rem}.zi-companion-context .zi-companion-action{white-space:nowrap}
 .zi-companion-log{grid-area:log;min-height:0;overflow:auto;padding:0 20px 8px;scrollbar-width:thin;scrollbar-color:rgba(86,241,200,.45) rgba(255,255,255,.035)}
.zi-companion-message{margin:0 0 12px;border-radius:18px;padding:14px 15px}.zi-companion-message.is-user{margin-left:46px;background:rgba(120,169,255,.1);border:1px solid rgba(120,169,255,.2)}.zi-companion-message.is-zi{margin-right:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}
.zi-companion-bubble strong{display:block;font-size:.92rem;line-height:1.25}.zi-companion-bubble p{margin:7px 0 0;color:var(--zi-muted);font-size:.84rem;line-height:1.55}
.zi-companion-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.zi-companion-action{appearance:none;border:1px solid rgba(86,241,200,.22);border-radius:999px;background:rgba(86,241,200,.04);color:var(--zi-text)!important;padding:8px 11px;text-decoration:none;font-size:.73rem;font-weight:800;cursor:pointer}.zi-companion-action:hover{border-color:rgba(86,241,200,.52);background:rgba(86,241,200,.09)}
.zi-companion-feedback{display:flex;align-items:center;gap:6px;margin-top:11px;color:var(--zi-muted);font-size:.7rem}.zi-companion-feedback button{appearance:none;border:1px solid var(--zi-line);border-radius:999px;background:transparent;color:var(--zi-muted);padding:4px 8px;cursor:pointer;font-size:.68rem}
 .zi-companion-quick-menu{grid-area:quick;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px 20px 12px}.zi-companion-quick-menu button{appearance:none;text-align:left;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.025);color:var(--zi-text);padding:9px 10px;font-size:.72rem;font-weight:750;cursor:pointer}.zi-companion-quick-menu button:hover{border-color:rgba(86,241,200,.35);background:rgba(86,241,200,.05)}
 .zi-companion-form{grid-area:form;padding:0 20px 14px}.zi-companion-form>label{display:block;margin-bottom:6px;color:var(--zi-muted);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.zi-companion-input-row{display:grid;grid-template-columns:1fr auto;gap:7px}.zi-companion-input-row input{min-width:0;border:1px solid rgba(86,241,200,.22);border-radius:14px;background:#030708;color:var(--zi-text);padding:11px 12px;font-size:.85rem}.zi-companion-input-row input:focus{border-color:var(--zi-emerald-2);box-shadow:0 0 0 3px rgba(86,241,200,.12)}.zi-companion-input-row button{appearance:none;display:flex;align-items:center;gap:6px;border:0;border-radius:14px;background:var(--zi-emerald-2);color:#03120e;padding:0 14px;font-weight:850;cursor:pointer}.zi-companion-input-row svg{width:17px;height:17px}.zi-companion-form-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;color:#6f7d7a;font-size:.65rem}.zi-companion-form-meta button{appearance:none;border:0;background:transparent;color:var(--zi-muted);padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:.67rem}
 .zi-companion-footer{grid-area:footer;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid rgba(255,255,255,.06);padding:10px 20px 13px;color:#71817d;font-size:.64rem}.zi-companion-footer span{display:flex;align-items:center;gap:6px}.zi-companion-footer i{width:6px;height:6px;border-radius:999px;background:var(--zi-emerald-2)}.zi-companion-footer a{color:var(--zi-muted)}
body.zi-companion-open{overflow:hidden}
@media(max-width:760px){.tool-metrics-head{align-items:flex-start;flex-direction:column}.tool-metrics-head>strong{font-size:4rem}.tool-metrics-summary-grid{grid-template-columns:1fr 1fr}.tool-usage-chart{gap:2px}}
@media(max-width:700px){.zi-companion{right:12px;bottom:12px}.zi-companion-launcher-copy{display:none}.zi-companion-launcher{padding:6px;min-height:auto}.zi-companion-avatar-small{width:48px;height:48px}.zi-companion-panel{right:0;bottom:0;width:100vw;height:min(88dvh,780px);max-height:none;border-radius:24px 24px 0 0;border-left:0;border-right:0;border-bottom:0}.zi-companion-quick-menu{grid-template-columns:1fr 1fr}}
@media(max-width:410px){.zi-companion-header,.zi-companion-log,.zi-companion-form,.zi-companion-quick-menu{padding-left:14px;padding-right:14px}.zi-companion-description{padding-left:14px;padding-right:14px}.zi-companion-privacy{margin-left:14px;margin-right:14px}.zi-companion-context{padding-left:14px;padding-right:14px}.zi-companion-footer{padding-left:14px;padding-right:14px}.tool-metrics-summary-grid{grid-template-columns:1fr}}
@media(max-width:340px){.zi-companion-quick-menu{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.zi-companion-avatar,.zi-companion-panel,.zi-companion-launcher,.tool-usage-chart span{animation:none!important;transition:none!important}}
@media print{.zi-companion{display:none!important}}

/* v0.24.0 - Zi. Character System, Investor Journey and external asset runtime */
.zi-companion-context{display:grid;gap:8px;min-width:0;overflow:visible;padding:0 20px 10px}
.zi-companion-context>.zi-companion-context-copy{min-width:0;margin:0;color:var(--zi-muted);font-size:.72rem;line-height:1.5;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.zi-companion-context-actions{display:flex;flex-wrap:wrap;gap:7px;min-width:0}
.zi-companion-context .zi-companion-action{white-space:normal;text-align:center;max-width:100%}
.zi-companion-panel{grid-template-areas:"header" "description" "privacy" "context" "log" "quick" "form" "footer";grid-template-rows:auto auto auto auto minmax(0,1fr) auto auto auto}
.zi-companion-mode{grid-area:mode;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 20px 10px;padding:8px 10px;border:1px solid rgba(255,255,255,.075);border-radius:13px;background:rgba(255,255,255,.025)}
.zi-companion-mode>span{color:var(--zi-muted);font:750 .64rem/1.2 var(--zi-mono);letter-spacing:.07em;text-transform:uppercase}
.zi-companion-mode>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}
.zi-companion-mode button{appearance:none;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--zi-muted);padding:5px 8px;font-size:.64rem;font-weight:800;cursor:pointer}
.zi-companion-mode button:hover{color:var(--zi-text);border-color:rgba(86,241,200,.25)}
.zi-companion-mode button.is-active,.zi-companion-mode button[aria-pressed="true"]{color:#03120e;background:var(--zi-emerald-2);border-color:var(--zi-emerald-2)}
.zi-companion-avatar{background:linear-gradient(145deg,rgba(86,241,200,.12),rgba(155,140,255,.11));border-color:rgba(86,241,200,.24)}
.zi-companion-avatar img{width:100%;height:100%;object-fit:cover}
.zi-companion-avatar-hint{flex:0 0 auto;width:42px;height:42px}
.zi-companion-character-stage{grid-area:character;position:relative;min-height:0;margin:0 20px 8px;border:1px solid rgba(86,241,200,.12);border-radius:18px;background:radial-gradient(circle at 50% 100%,rgba(86,241,200,.12),transparent 55%),rgba(255,255,255,.018);overflow:hidden;text-align:center}
.zi-companion-character-stage:not([hidden]){display:grid;place-items:center;height:126px}
.zi-companion-character-stage img{display:block;width:150px;height:150px;max-width:46%;object-fit:contain;filter:drop-shadow(0 14px 24px rgba(0,0,0,.28));transform:translateY(9px)}
.zi-companion[data-zi-avatar-state="thinking"] .zi-companion-character-stage img{animation:zi-character-thinking .9s ease-in-out infinite alternate}
.zi-companion[data-zi-avatar-state="success"] .zi-companion-character-stage img{animation:zi-character-celebrate .55s ease-out both}
.zi-companion[data-zi-avatar-state="warning"] .zi-companion-character-stage,.zi-companion[data-zi-avatar-state="risk"] .zi-companion-character-stage{border-color:rgba(241,189,101,.28);background:radial-gradient(circle at 50% 100%,rgba(241,189,101,.12),transparent 55%),rgba(255,255,255,.018)}
@keyframes zi-character-thinking{from{transform:translateY(10px) rotate(-1deg)}to{transform:translateY(4px) rotate(1deg)}}
@keyframes zi-character-celebrate{0%{transform:translateY(18px) scale(.92)}100%{transform:translateY(9px) scale(1)}}
.zi-companion-message{min-width:0}.zi-companion-bubble{min-width:0}.zi-companion-bubble p{overflow-wrap:anywhere}

.journey-entry-panel{margin:28px auto 0;padding:clamp(20px,3vw,32px);border:1px solid rgba(86,241,200,.16);border-radius:26px;background:linear-gradient(145deg,rgba(86,241,200,.06),rgba(120,169,255,.035));max-width:1220px}
.journey-entry-panel header{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:24px;align-items:end}
.journey-entry-panel h2{margin:.2em 0 .35em;font-size:clamp(1.8rem,3.6vw,3.4rem)}
.journey-entry-panel p{color:var(--zi-muted);margin:0}
.journey-entry-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}
.journey-entry-options a{display:grid;gap:4px;min-height:104px;padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:rgba(255,255,255,.025);text-decoration:none}
.journey-entry-options a:hover{border-color:rgba(86,241,200,.38);background:rgba(86,241,200,.05)}
.journey-entry-options strong{font-size:.9rem}.journey-entry-options span{color:var(--zi-muted);font-size:.72rem;line-height:1.45}

.directory-mode-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 22px;padding:6px;border:1px solid var(--zi-line);border-radius:999px;background:rgba(255,255,255,.02);width:max-content;max-width:100%}
.directory-mode-tabs button{appearance:none;border:0;border-radius:999px;background:transparent;color:var(--zi-muted);padding:10px 15px;font-weight:850;cursor:pointer}
.directory-mode-tabs button[aria-selected="true"]{background:var(--zi-emerald-2);color:#03120e}
.directory-mode-panel[hidden]{display:none!important}
.investor-journey{display:grid;gap:16px}
.investor-journey-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.55fr);gap:24px;align-items:end;padding:clamp(22px,3vw,36px);border:1px solid rgba(86,241,200,.16);border-radius:26px;background:radial-gradient(circle at 90% 0,rgba(155,140,255,.12),transparent 35%),rgba(255,255,255,.02)}
.investor-journey-head h2{margin:.15em 0 .3em;font-size:clamp(2rem,4.5vw,4.4rem)}
.investor-journey-head p{margin:0;color:var(--zi-muted)}
.investor-journey-progress{display:grid;gap:8px}.investor-journey-progress strong{font-size:1.4rem}.investor-journey-progress-track{height:8px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}.investor-journey-progress-track span{display:block;width:var(--journey-progress,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--zi-emerald-2),#78a9ff,#9b8cff)}
.investor-journey-list{display:grid;gap:10px;counter-reset:journey}
.journey-step{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px;border:1px solid rgba(255,255,255,.075);border-radius:20px;background:rgba(255,255,255,.02)}
.journey-step.is-complete{border-color:rgba(86,241,200,.28);background:rgba(86,241,200,.035)}
.journey-step-index{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:rgba(86,241,200,.08);color:var(--zi-emerald-2);font:800 .78rem/1 var(--zi-mono)}
.journey-step h3{margin:0 0 4px;font-size:1.1rem}.journey-step p{margin:0;color:var(--zi-muted);font-size:.84rem}.journey-step-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.journey-step-links a{color:var(--zi-text);font-size:.74rem;font-weight:800;text-decoration:none}.journey-step-actions{display:flex;align-items:center;gap:8px}.journey-step-toggle{appearance:none;border:1px solid rgba(86,241,200,.22);border-radius:999px;background:transparent;color:var(--zi-text);padding:8px 11px;font-weight:800;cursor:pointer}.journey-step.is-complete .journey-step-toggle{background:var(--zi-emerald-2);color:#03120e}
.journey-pdf-action{display:flex;justify-content:flex-end;margin-top:4px}

.stock-research-front-door{margin:34px 0;padding:clamp(22px,4vw,42px);border:1px solid rgba(120,169,255,.22);border-radius:28px;background:radial-gradient(circle at 100% 0,rgba(120,169,255,.14),transparent 38%),linear-gradient(145deg,rgba(86,241,200,.04),rgba(255,255,255,.02))}
.stock-research-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:28px;align-items:start}.stock-research-front-door h2{margin:.2em 0 .35em;font-size:clamp(2rem,4.5vw,4.5rem)}.stock-research-front-door p{color:var(--zi-muted)}
.stock-research-checks{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:20px 0 0;padding:0;list-style:none}.stock-research-checks li{display:flex;gap:8px;color:var(--zi-muted);font-size:.82rem}.stock-research-checks li:before{content:"✓";color:var(--zi-emerald-2);font-weight:900}
.stock-research-form{display:grid;gap:12px;padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:#060b0e}.stock-research-form label{font-weight:850}.stock-research-form input{text-transform:uppercase}.stock-research-status{min-height:1.4em;margin:0;color:var(--zi-muted);font-size:.76rem}.stock-research-actions{display:flex;flex-wrap:wrap;gap:9px}

.asset-runtime-fallback{position:fixed;left:14px;bottom:14px;z-index:1300;max-width:360px;border:1px solid rgba(241,189,101,.42);border-radius:14px;background:#171109;color:#f6d9a8;padding:10px 13px;font-size:.78rem;box-shadow:0 18px 55px rgba(0,0,0,.42)}
@media(max-width:900px){.journey-entry-panel header,.investor-journey-head,.stock-research-layout{grid-template-columns:1fr}.journey-entry-options{grid-template-columns:1fr 1fr}.journey-step{grid-template-columns:auto minmax(0,1fr)}.journey-step-actions{grid-column:2}.stock-research-checks{grid-template-columns:1fr}}
@media(max-width:700px){.zi-companion-mode{align-items:flex-start;flex-direction:column}.zi-companion-mode>div{justify-content:flex-start}.zi-companion-character-stage:not([hidden]){height:104px}.zi-companion-character-stage img{width:124px;height:124px}.journey-entry-options{grid-template-columns:1fr}.directory-mode-tabs{width:100%;border-radius:20px}.directory-mode-tabs button{flex:1}.journey-step{grid-template-columns:auto minmax(0,1fr);padding:15px}.journey-step-actions{grid-column:1/-1;justify-content:flex-end}.investor-journey-head{padding:20px}}
@media(max-width:410px){.zi-companion-mode,.zi-companion-character-stage{margin-left:14px;margin-right:14px}.zi-companion-context{padding-left:14px;padding-right:14px}.zi-companion-character-stage img{max-width:58%}}
@media(prefers-reduced-motion:reduce){.zi-companion-character-stage img{animation:none!important;transition:none!important}}
@media print{.journey-step-toggle,.journey-pdf-action,.directory-mode-tabs,.stock-research-form{display:none!important}}

/* v0.24.0 final component alignment */
.home-journey-entry{padding-top:18px}.journey-entry-panel{display:block}.journey-entry-panel>div:first-child{min-width:0}
.investor-journey-list{list-style:none;margin:0;padding:0}.journey-step-copy{min-width:0}.journey-step-copy>span{display:block;margin-bottom:6px;color:var(--zi-emerald-2);font:800 .68rem/1.2 var(--zi-mono);letter-spacing:.09em}.investor-journey-progress{display:grid;gap:8px}.investor-journey-progress>strong{font-size:clamp(1.5rem,3vw,2.5rem)}.investor-journey-progress>span{color:var(--zi-muted)}.investor-journey-progress+.directory-mode-tabs{margin-top:24px}.investor-journey>.investor-journey-progress{height:8px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;margin:0}.investor-journey>.investor-journey-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--zi-emerald-2),#78a9ff,#9b8cff);transition:width .3s ease}.investor-journey-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.investor-journey-actions .text-button{margin-left:auto}.stock-research-front-door{display:block}.stock-research-form input{width:100%}
.zi-companion-header{padding:14px 16px 10px}.zi-companion-intro{grid-area:description;display:grid;grid-template-columns:minmax(0,1fr) 138px;grid-template-rows:auto auto;column-gap:14px;row-gap:8px;align-items:start;padding:0 16px 8px}.zi-companion-intro .zi-companion-description{grid-column:1;grid-row:1;min-width:0;margin:0;padding:0;font-size:.78rem;line-height:1.42;overflow-wrap:anywhere}.zi-companion-intro .zi-companion-mode{grid-column:1;grid-row:2;display:block;margin:0;padding:6px 7px}.zi-companion-intro .zi-companion-mode>span{display:none}.zi-companion-intro .zi-companion-mode>div{justify-content:flex-start;gap:4px}.zi-companion-intro .zi-companion-mode button{padding:5px 7px;font-size:.6rem}.zi-companion-intro .zi-companion-character-stage{grid-column:2;grid-row:1/3;margin:0;height:132px}.zi-companion-character-stage:not([hidden]){height:132px}.zi-companion-character-stage img{width:130px;height:130px;max-width:92%;transform:translateY(7px)}
.zi-companion-privacy{margin:0 16px 8px;padding:8px 10px}.zi-companion-privacy span{font-size:.67rem;line-height:1.35}.zi-companion-context{padding:0 16px 8px;gap:6px}.zi-companion-context>.zi-companion-context-copy{font-size:.68rem;line-height:1.4}.zi-companion-log{padding:0 16px 6px;min-height:88px}.zi-companion-quick-menu{gap:5px;padding:6px 16px 8px}.zi-companion-quick-menu button{padding:7px 9px;font-size:.68rem;line-height:1.2}.zi-companion-form{padding:0 16px 10px}.zi-companion-form>label{margin-bottom:5px}.zi-companion-input-row input{padding:9px 11px}.zi-companion-form-meta{margin-top:5px}.zi-companion-footer{padding:8px 16px 10px}.asset-runtime-status[hidden]{display:none!important}.asset-runtime-status a{color:inherit;font-weight:800}
@media(max-width:700px){.zi-companion-header{padding:12px 14px 8px}.zi-companion-intro{grid-template-columns:minmax(0,1fr) 96px;grid-template-rows:auto auto;padding:0 14px 6px;column-gap:10px;row-gap:6px}.zi-companion-intro .zi-companion-description{grid-column:1;grid-row:1;font-size:.74rem}.zi-companion-intro .zi-companion-mode{grid-column:1/-1;grid-row:2}.zi-companion-intro .zi-companion-character-stage{grid-column:2;grid-row:1;width:96px;height:96px}.zi-companion-character-stage:not([hidden]){height:96px}.zi-companion-character-stage img{width:96px;height:96px;max-width:100%;transform:translateY(5px)}.zi-companion-privacy{margin-left:14px;margin-right:14px}.zi-companion-context{padding-left:14px;padding-right:14px}.zi-companion-log{padding-left:14px;padding-right:14px;min-height:72px}.zi-companion-quick-menu{padding-left:14px;padding-right:14px}.zi-companion-form{padding-left:14px;padding-right:14px}.zi-companion-footer{padding-left:14px;padding-right:14px}.investor-journey-actions .text-button{margin-left:0}.journey-step-toggle{grid-column:1/-1;justify-self:end}}
@media(prefers-reduced-motion:reduce){.investor-journey>.investor-journey-progress span{transition:none}}

/* v0.25.0 - Zi. Conversation UX v3 */
.zi-companion-panel{width:min(470px,calc(100vw - 28px));height:min(780px,calc(100dvh - 104px));grid-template-areas:"header" "description" "privacy" "context" "toolbar" "log" "quick" "form" "footer";grid-template-rows:auto auto auto auto auto minmax(180px,1fr) auto auto auto}
.zi-companion-header{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:12px;padding:14px 16px 10px;text-align:center}
.zi-companion-header-side{width:48px;height:48px;justify-self:center}.zi-companion-close.zi-companion-header-side{border-radius:16px}
.zi-companion-identity{display:block;min-width:0}.zi-companion-identity p,.zi-companion-identity h2{overflow-wrap:anywhere}.zi-companion-identity h2{font-size:1.15rem}
.zi-companion-intro{grid-area:description;display:grid;grid-template-columns:minmax(0,1fr) 122px;gap:12px;align-items:start;padding:0 16px 8px}
.zi-companion-intro>div{min-width:0}.zi-companion-intro .zi-companion-description{margin:0;padding:0;font-size:.78rem;line-height:1.45}.zi-companion-intro .zi-companion-mode{margin:10px 0 0;padding:6px 7px}
.zi-companion-intro .zi-companion-character-stage{margin:0;height:116px}.zi-companion-intro .zi-companion-character-stage:not([hidden]){height:116px}.zi-companion-intro .zi-companion-character-stage img{width:116px;height:116px;max-width:100%;transform:translateY(5px)}
.zi-companion-privacy{grid-area:privacy;margin:0 16px 8px;border:1px solid rgba(86,241,200,.14);border-radius:13px;background:rgba(86,241,200,.035);padding:0;overflow:hidden}
.zi-companion-privacy summary{cursor:pointer;list-style:none;padding:8px 10px;color:var(--zi-muted);font-size:.69rem;font-weight:800}.zi-companion-privacy summary::-webkit-details-marker{display:none}.zi-companion-privacy summary:focus-visible{outline:2px solid var(--zi-emerald-2);outline-offset:-2px}.zi-companion-privacy[open] summary{color:var(--zi-emerald-2)}.zi-companion-privacy p{margin:0;padding:0 10px 10px;color:var(--zi-muted);font-size:.69rem;line-height:1.45}
.zi-companion-toolbar{grid-area:toolbar;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 16px 7px}.zi-companion-toolbar button{appearance:none;border:1px solid rgba(86,241,200,.2);border-radius:999px;background:rgba(86,241,200,.035);color:var(--zi-text);padding:6px 10px;font-size:.66rem;font-weight:800;cursor:pointer}.zi-companion-toolbar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#74827f;font-size:.64rem}
.zi-companion-log{grid-area:log;min-height:180px;overflow:auto;padding:4px 16px 8px}.zi-companion-message.is-user{margin-left:36px}.zi-companion-message.is-zi{margin-right:6px}.zi-companion-bubble p{font-size:.82rem;line-height:1.5}
.zi-companion-quick-menu{grid-area:quick;padding:6px 16px 9px;transition:max-height .18s ease,opacity .18s ease}.zi-companion-quick-menu[hidden]{display:none!important}
.zi-companion-form{grid-area:form;position:relative;padding:0 16px 10px;background:linear-gradient(180deg,rgba(8,12,19,0),rgba(8,12,19,.95) 18%)}
.zi-companion[data-conversation-started="true"] .zi-companion-intro{grid-template-columns:minmax(0,1fr) 76px;padding-bottom:5px}.zi-companion[data-conversation-started="true"] .zi-companion-intro .zi-companion-description{font-size:.7rem;line-height:1.35}.zi-companion[data-conversation-started="true"] .zi-companion-intro .zi-companion-character-stage,.zi-companion[data-conversation-started="true"] .zi-companion-intro .zi-companion-character-stage:not([hidden]){height:74px}.zi-companion[data-conversation-started="true"] .zi-companion-intro .zi-companion-character-stage img{width:74px;height:74px}.zi-companion[data-conversation-started="true"] .zi-companion-intro .zi-companion-mode{margin-top:6px}.zi-companion[data-conversation-started="true"] .zi-companion-privacy:not([open]){margin-bottom:5px}.zi-companion[data-conversation-started="true"] .zi-companion-context{padding-bottom:5px}
.zi-companion-feedback{justify-content:flex-start;flex-wrap:wrap}.zi-companion-feedback button{padding:5px 9px}
@media(max-width:700px){.zi-companion-panel{height:min(92dvh,820px)}.zi-companion-header{grid-template-columns:44px minmax(0,1fr) 44px;padding:11px 13px 7px}.zi-companion-header-side{width:44px;height:44px}.zi-companion-intro{grid-template-columns:minmax(0,1fr) 88px;padding:0 13px 6px}.zi-companion-intro .zi-companion-character-stage,.zi-companion-intro .zi-companion-character-stage:not([hidden]){height:88px}.zi-companion-intro .zi-companion-character-stage img{width:88px;height:88px}.zi-companion-privacy{margin-left:13px;margin-right:13px}.zi-companion-context,.zi-companion-toolbar,.zi-companion-log,.zi-companion-quick-menu,.zi-companion-form,.zi-companion-footer{padding-left:13px;padding-right:13px}.zi-companion-log{min-height:170px}.zi-companion[data-conversation-started="true"] .zi-companion-intro{grid-template-columns:minmax(0,1fr) 62px}.zi-companion[data-conversation-started="true"] .zi-companion-intro .zi-companion-character-stage,.zi-companion[data-conversation-started="true"] .zi-companion-intro .zi-companion-character-stage:not([hidden]){height:62px}.zi-companion[data-conversation-started="true"] .zi-companion-intro .zi-companion-character-stage img{width:62px;height:62px}}
@media(max-width:360px){.zi-companion-header{grid-template-columns:40px minmax(0,1fr) 40px;gap:7px}.zi-companion-header-side{width:40px;height:40px}.zi-companion-identity p{font-size:.55rem}.zi-companion-identity h2{font-size:1rem}.zi-companion-input-row{grid-template-columns:minmax(0,1fr) auto}.zi-companion-input-row button span{display:none}.zi-companion-input-row button{padding:0 13px}}

/* v0.25.0 - local-first Stock Research Workspace */
.stock-research-workspace{margin:34px 0 48px;padding:clamp(20px,3.5vw,40px);border:1px solid rgba(86,241,200,.16);border-radius:30px;background:radial-gradient(circle at 100% 0,rgba(120,169,255,.11),transparent 34%),linear-gradient(150deg,rgba(86,241,200,.035),rgba(255,255,255,.018));overflow:hidden}
.stock-research-workspace-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end}.stock-research-workspace-head h2{margin:.15em 0 .25em;font-size:clamp(2rem,4.5vw,4rem)}.stock-research-workspace-head p{max-width:760px;color:var(--zi-muted)}
.stock-research-progress{min-width:180px;border:1px solid rgba(86,241,200,.2);border-radius:16px;padding:14px;background:linear-gradient(90deg,rgba(86,241,200,.1) var(--research-progress,0%),rgba(255,255,255,.02) var(--research-progress,0%));font:800 .72rem/1.3 var(--zi-mono);color:var(--zi-text)}
.stock-research-workspace-actions{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0 10px}.stock-research-workspace-actions .button{margin:0}.stock-research-status{min-height:1.5em;color:var(--zi-muted);font-size:.8rem}.stock-research-status.is-error{color:#ff9aaa}
.stock-research-case-form{display:grid;gap:16px;margin-top:18px}.stock-research-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stock-research-case-form label{display:grid;gap:7px;color:var(--zi-text);font-size:.78rem;font-weight:800}.stock-research-case-form input,.stock-research-case-form textarea,.stock-research-case-form select{width:100%;min-width:0}.stock-research-wide{grid-column:1/-1}.stock-research-market-import{display:grid;gap:10px;padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.02)}
.stock-research-market-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.stock-research-market-list:empty{display:none}.stock-research-market-list button{appearance:none;display:grid;gap:4px;text-align:left;border:1px solid rgba(86,241,200,.15);border-radius:13px;background:rgba(86,241,200,.035);color:var(--zi-text);padding:10px;cursor:pointer}.stock-research-market-list button span{color:var(--zi-muted);font-size:.7rem;line-height:1.35}
.stock-research-section{margin:10px 0;border:1px solid rgba(255,255,255,.075);border-radius:20px;background:rgba(4,7,10,.42);overflow:hidden}.stock-research-section summary{cursor:pointer;display:grid;gap:5px;padding:16px 18px;list-style:none}.stock-research-section summary::-webkit-details-marker{display:none}.stock-research-section summary span{font-size:1.02rem;font-weight:900}.stock-research-section summary small{color:var(--zi-muted);font-size:.73rem}.stock-research-section[open] summary{border-bottom:1px solid rgba(255,255,255,.07);background:rgba(86,241,200,.025)}.stock-research-section-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px}.stock-research-section-grid label:nth-last-child(-n+2){grid-template-columns:minmax(0,1fr)}
.stock-research-saved-section{margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08)}.stock-research-saved{display:grid;gap:9px}.stock-research-saved>p{color:var(--zi-muted)}.stock-research-saved-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(255,255,255,.075);border-radius:17px;background:rgba(255,255,255,.02);padding:14px}.stock-research-saved-card span{color:var(--zi-emerald-2);font:800 .65rem/1.2 var(--zi-mono);letter-spacing:.06em}.stock-research-saved-card h3{margin:4px 0;font-size:1rem}.stock-research-saved-card p{margin:0;color:var(--zi-muted);font-size:.72rem}.stock-research-saved-card button{appearance:none;border:1px solid rgba(86,241,200,.22);border-radius:999px;background:rgba(86,241,200,.04);color:var(--zi-text);padding:8px 12px;font-weight:800;cursor:pointer}
@media(max-width:900px){.stock-research-workspace-head,.stock-research-case-grid{grid-template-columns:1fr 1fr}.stock-research-workspace-head>div:first-child{grid-column:1/-1}.stock-research-progress{justify-self:start}.stock-research-section-grid{grid-template-columns:1fr}}
@media(max-width:620px){.stock-research-case-grid{grid-template-columns:1fr}.stock-research-workspace-actions .button{width:100%;justify-content:center}.stock-research-saved-card{align-items:flex-start;flex-direction:column}.stock-research-saved-card button{align-self:stretch}.stock-research-workspace{padding:18px 14px;border-radius:22px}}
@media print{.stock-research-workspace-actions,.stock-research-market-import,.stock-research-status{display:none!important}}

/* Zi. v0.27.0 — Trust, Homepage, SEO Cluster and progressive enhancement */
.home-v0270-hero{padding:clamp(28px,6vw,86px) 0}.home-v0270 h1{letter-spacing:-.05em}.home-proof{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.home-proof span{border:1px solid var(--line);border-radius:999px;padding:8px 11px;color:var(--muted);font-size:.8rem}.home-trust-card{background:radial-gradient(circle at 25% 0,rgba(86,241,200,.14),transparent 62%),var(--surface)}.home-trust-card strong{display:block;font-size:clamp(1.45rem,3vw,2.5rem);line-height:1.05;margin-bottom:14px}.home-task-grid>a,.canonical-tool-grid>a{min-height:220px;display:flex;flex-direction:column;transition:.2s ease}.home-task-grid>a:hover,.canonical-tool-grid>a:hover,.next-step-card:hover{border-color:var(--mint);transform:translateY(-2px)}.home-task-grid span,.canonical-tool-grid span,.home-ecosystem-grid span{color:var(--mint);font:700 .78rem ui-monospace,monospace;letter-spacing:.08em}.home-task-grid strong,.canonical-tool-grid strong{font-size:1.55rem;margin:auto 0 8px}.home-task-grid p,.canonical-tool-grid p,.home-ecosystem-grid p,.home-demo-copy p,.home-trust-news p,.home-trust-news li{color:var(--muted)}.home-ecosystem-grid{border:1px solid var(--line);border-radius:24px;overflow:hidden;gap:0}.home-ecosystem-grid article{padding:24px;border-right:1px solid var(--line)}.home-ecosystem-grid article:last-child{border-right:0}.home-ecosystem-grid strong{display:block;font-size:1.35rem;margin:42px 0 8px}.home-demo-grid>div,.home-demo-copy,.home-continue-card,.home-trust-news-grid>article,.home-final-card,.home-metrics-compact{border:1px solid var(--line);border-radius:26px;padding:clamp(20px,4vw,38px);background:var(--surface)}.home-demo-copy{display:flex;flex-direction:column;gap:16px;justify-content:center}.home-demo-copy strong{font-size:2rem}.home-continue-card{display:flex;justify-content:space-between;gap:24px;align-items:center}.home-trust-news-grid>article{border-radius:0;border-inline:0}.home-metrics-compact summary{cursor:pointer;display:flex;justify-content:space-between;gap:16px}.home-final-card{text-align:center}.home-final-card .hero-actions{justify-content:center}.tool-kind-guide{margin:24px 0 44px}.tool-kind-guide span{color:var(--mint);font:700 .75rem ui-monospace,monospace}.canonical-tool-grid{margin:20px 0 60px}.tool-sample-section{margin:50px 0}.term-hero{padding:28px 0}.term-answer{max-width:78ch;color:var(--muted);font-size:1.16rem;line-height:1.7}.term-content-grid,.term-two-column{margin:28px 0 54px}.term-card,.term-two-column>article{border:1px solid var(--line);border-radius:20px;padding:22px;background:var(--surface)}.term-two-column li{color:var(--muted);margin:9px 0}.term-faq-list{max-width:920px}.term-faq summary{cursor:pointer;font-weight:800}.term-faq p{color:var(--muted)}.next-step-section{margin:60px 0}.next-step-card span{color:var(--muted);font-size:.82rem}.next-step-card strong{font-size:1.1rem}.bridge-version-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.bridge-version-grid>div{border:1px solid var(--line);border-radius:14px;padding:14px}.bridge-version-grid dt{color:var(--muted)}.bridge-version-grid dd{margin:5px 0 0;font-weight:900}.content-integrity-strip a{color:var(--mint)}@media(max-width:880px){.home-continue-card{align-items:flex-start;flex-direction:column}.home-ecosystem-grid article{border-right:0;border-bottom:1px solid var(--line)}.bridge-version-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.bridge-version-grid{grid-template-columns:1fr}}


/* v0.27.0 — safe progressive recovery, trust and SEO cluster */

/* Zi. v0.27.0 — Trust, Homepage & SEO Cluster 1 */
:root{--zi-v026-line:rgba(154,175,174,.2);--zi-v026-card:#0b1115;--zi-v026-soft:#111a20;--zi-v026-mint:#53e8c8;--zi-v026-text:#f4f7f7;--zi-v026-muted:#9ba9a8}
.zi-kicker{font:700 .78rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--zi-v026-mint);margin:0 0 1rem}.zi-lead{font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.65;color:var(--zi-v026-muted);max-width:72ch}.zi-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.15rem;border:1px solid rgba(83,232,200,.35);border-radius:999px;color:var(--zi-v026-text);text-decoration:none;font-weight:750;background:rgba(13,22,27,.7)}.zi-btn:hover,.zi-btn:focus-visible{border-color:var(--zi-v026-mint);transform:translateY(-1px)}.zi-btn-primary{background:var(--zi-v026-mint);color:#06100e;border-color:transparent}.zi-actions{display:flex;gap:.75rem;flex-wrap:wrap}.zi-card{background:linear-gradient(145deg,rgba(14,21,25,.96),rgba(7,11,14,.96));border:1px solid var(--zi-v026-line);border-radius:28px;padding:clamp(1.25rem,3vw,2.25rem)}
.zi-integrity{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.25rem;border:1px solid var(--zi-v026-line);border-radius:18px;background:rgba(83,232,200,.04);margin:1.5rem 0 3rem}.zi-integrity>div{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.zi-integrity span,.zi-integrity a{font-size:.83rem;color:var(--zi-v026-muted)}.zi-integrity a:hover{color:var(--zi-v026-mint)}
.zi-breadcrumb{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;margin:0 0 2rem;color:var(--zi-v026-muted);font-size:.85rem}.zi-breadcrumb a{color:inherit}.zi-term-page,.zi-tools-hub,.zi-home-v0270{width:min(1320px,calc(100% - 2rem));margin:0 auto;padding:clamp(2rem,6vw,6rem) 0}.zi-term-hero{padding:clamp(2rem,6vw,5rem) 0 3rem}.zi-term-hero h1,.zi-tools-hub h1,.zi-home-hero h1{font-size:clamp(2.7rem,7.5vw,7.4rem);line-height:.92;letter-spacing:-.055em;max-width:14ch;margin:.2rem 0 1.5rem}.zi-term-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2rem}.zi-content-grid,.zi-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0 4rem}.zi-step{font:700 .8rem/1 ui-monospace,monospace;color:var(--zi-v026-mint)}.zi-formula code{display:block;white-space:normal;font-size:clamp(1rem,2vw,1.35rem);padding:1rem;border-radius:14px;background:#05090b;color:var(--zi-v026-mint);margin:1rem 0}.zi-term-page section{margin:0 0 4rem}.zi-term-page h2{font-size:clamp(1.7rem,3vw,3rem);line-height:1.05}.zi-term-page li{margin:.75rem 0;color:var(--zi-v026-muted);line-height:1.6}.zi-faq-list{display:grid;gap:.75rem}.zi-faq{border:1px solid var(--zi-v026-line);border-radius:18px;padding:1rem 1.2rem;background:rgba(10,16,19,.8)}.zi-faq summary{cursor:pointer;font-weight:750}.zi-faq p{color:var(--zi-v026-muted);line-height:1.65}.zi-sources{border-top:1px solid var(--zi-v026-line);padding-top:2rem}.zi-next{margin:5rem 0 0}.zi-next-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.zi-next-card{display:flex;flex-direction:column;gap:.4rem;padding:1.2rem;border:1px solid var(--zi-v026-line);border-radius:20px;background:rgba(10,16,19,.85);text-decoration:none;color:var(--zi-v026-text)}.zi-next-card span{color:var(--zi-v026-muted);font-size:.85rem}.zi-next-card:hover{border-color:var(--zi-v026-mint)}
.zi-home-v0270>section{margin-bottom:clamp(4rem,9vw,9rem)}.zi-home-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:2rem;align-items:end;padding:clamp(2rem,6vw,6rem) 0}.zi-home-trust{padding:2rem;border:1px solid var(--zi-v026-line);border-radius:30px;background:radial-gradient(circle at 20% 0,rgba(83,232,200,.13),transparent 60%),#0a1014}.zi-home-trust strong{font-size:clamp(1.7rem,3vw,3rem);line-height:1.02}.zi-home-trust p{color:var(--zi-v026-muted);line-height:1.6}.zi-proof{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1.5rem}.zi-proof span{padding:.55rem .8rem;border:1px solid var(--zi-v026-line);border-radius:999px;font-size:.78rem;color:var(--zi-v026-muted)}.zi-path-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.zi-path-grid>a{min-height:240px;display:flex;flex-direction:column;padding:1.4rem;border:1px solid var(--zi-v026-line);border-radius:28px;color:var(--zi-v026-text);text-decoration:none;background:linear-gradient(155deg,rgba(14,22,27,.98),rgba(6,10,12,.98))}.zi-path-grid>a>span{font:700 .8rem ui-monospace,monospace;color:var(--zi-v026-mint)}.zi-path-grid strong{font-size:clamp(1.4rem,2vw,2rem);margin:auto 0 .6rem}.zi-path-grid p{color:var(--zi-v026-muted);line-height:1.5}.zi-path-grid a:hover{border-color:var(--zi-v026-mint);transform:translateY(-2px)}.zi-ecosystem>div{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--zi-v026-line);border-radius:28px;overflow:hidden}.zi-ecosystem article{padding:1.5rem;min-height:180px;border-right:1px solid var(--zi-v026-line)}.zi-ecosystem article:last-child{border:0}.zi-ecosystem span{font:700 .78rem ui-monospace,monospace;color:var(--zi-v026-mint)}.zi-ecosystem strong{display:block;font-size:1.4rem;margin:2.5rem 0 .5rem}.zi-ecosystem p{color:var(--zi-v026-muted)}.zi-demo{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem}.zi-demo>div{padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--zi-v026-line);border-radius:30px;background:#0b1115}.zi-demo form{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:2rem}.zi-demo label{display:grid;gap:.45rem;color:var(--zi-v026-muted);position:relative}.zi-demo input{width:100%;padding:1rem;border:1px solid var(--zi-v026-line);border-radius:14px;background:#05090b;color:var(--zi-v026-text);font:inherit}.zi-demo-result{display:flex;flex-direction:column;justify-content:center}.zi-demo-result>span{color:var(--zi-v026-muted)}.zi-demo-result strong{font-size:clamp(2.5rem,5vw,5.5rem);line-height:1;margin:1rem 0}.zi-demo-result p{color:var(--zi-v026-muted);line-height:1.6}.zi-continue{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--zi-v026-line);border-radius:30px;background:linear-gradient(115deg,rgba(83,232,200,.08),rgba(87,80,255,.08))}.zi-continue p{color:var(--zi-v026-muted)}.zi-trust-news{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.zi-trust-news>div{padding:2rem;border-top:1px solid var(--zi-v026-line)}.zi-trust-news ol{padding-left:1.2rem;color:var(--zi-v026-muted)}.zi-metrics-compact{padding:1.2rem 1.4rem;border:1px solid var(--zi-v026-line);border-radius:20px;margin:-3rem 0 5rem}.zi-metrics-compact summary{display:flex;justify-content:space-between;gap:1rem;cursor:pointer}.zi-metrics-compact p{color:var(--zi-v026-muted)}.zi-final{text-align:center;padding:clamp(3rem,7vw,7rem);border:1px solid var(--zi-v026-line);border-radius:36px;background:radial-gradient(circle at 50% 0,rgba(83,232,200,.12),transparent 60%)}.zi-final .zi-actions{justify-content:center}
.zi-tools-hub>header{padding:3rem 0}.zi-tool-chooser{display:flex;gap:.5rem;flex-wrap:wrap;margin:2rem 0}.zi-tool-chooser button{border:1px solid var(--zi-v026-line);background:#0a1014;color:var(--zi-v026-muted);padding:.75rem 1rem;border-radius:999px;font:inherit;font-weight:700}.zi-tool-chooser button.is-active{background:var(--zi-v026-mint);color:#06100e}.zi-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:4rem}.zi-tool-grid>a{min-height:260px;padding:1.5rem;border:1px solid var(--zi-v026-line);border-radius:28px;display:flex;flex-direction:column;color:var(--zi-v026-text);text-decoration:none;background:#0a1014}.zi-tool-grid span{font:700 .75rem ui-monospace,monospace;color:var(--zi-v026-mint);text-transform:uppercase}.zi-tool-grid strong{font-size:clamp(1.5rem,3vw,2.7rem);line-height:1;margin:auto 0 .7rem}.zi-tool-grid p{color:var(--zi-v026-muted);line-height:1.55}.zi-tool-grid em{font-style:normal;font-weight:700}.zi-corrections h3{font-size:1.2rem}.zi-corrections p{color:var(--zi-v026-muted);line-height:1.65}
/* dialog and fallback hardening */
[role="dialog"][inert],dialog[inert],.modal[inert],.overlay[inert]{pointer-events:none}.zi-runtime-fallback[hidden],[data-runtime-error="false"]{display:none!important}
@media(max-width:980px){.zi-home-hero,.zi-demo,.zi-trust-news{grid-template-columns:1fr}.zi-path-grid{grid-template-columns:repeat(2,1fr)}.zi-next-grid,.zi-ecosystem>div{grid-template-columns:repeat(2,1fr)}.zi-ecosystem article:nth-child(2){border-right:0}.zi-ecosystem article{border-bottom:1px solid var(--zi-v026-line)}.zi-tool-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.zi-term-page,.zi-tools-hub,.zi-home-v0270{width:min(100% - 1rem,100%);padding-top:1.5rem}.zi-term-hero h1,.zi-tools-hub h1,.zi-home-hero h1{font-size:clamp(2.6rem,14vw,4.5rem)}.zi-content-grid,.zi-two,.zi-path-grid,.zi-next-grid,.zi-tool-grid,.zi-demo form{grid-template-columns:1fr}.zi-ecosystem>div{grid-template-columns:1fr}.zi-ecosystem article{border-right:0}.zi-continue{align-items:flex-start;flex-direction:column}.zi-home-hero{grid-template-columns:1fr}.zi-home-trust{padding:1.4rem}.zi-demo>div,.zi-final{padding:1.4rem}.zi-integrity{flex-direction:column}.zi-actions>.zi-btn{width:100%}.zi-term-page section{margin-bottom:3rem}}

.zi-v026-search-hit{display:grid;gap:.45rem;padding:1rem 1.15rem;margin:.65rem 0;border:1px solid var(--zi-v026-mint);border-radius:18px;background:rgba(83,232,200,.07);color:var(--zi-v026-text);text-decoration:none}.zi-v026-search-hit span{font:700 .72rem ui-monospace,monospace;letter-spacing:.1em;color:var(--zi-v026-mint)}.zi-v026-search-hit strong{font-size:1.15rem}.zi-v026-search-hit p{margin:0;color:var(--zi-v026-muted);line-height:1.5}


/* v0.27.0 progressive navigation: without JS the normal links remain available. */
@media (max-width:1120px){
  html:not([data-asset-runtime="ready"]) .primary-nav{display:flex!important;max-width:58vw;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
  html:not([data-asset-runtime="ready"]) .nav-toggle{display:none!important}
  html:not([data-asset-runtime="ready"]) .mobile-panel{display:none!important}
}
.about-story-intro-no-photo{grid-template-columns:minmax(0,1fr)!important}
.zi-author-integrity{margin-top:2rem}


/* v027-home-signal */
.v027-home-signal{padding:clamp(18px,3vw,30px);border:1px solid var(--zi-v026-line);border-radius:30px;background:radial-gradient(circle at 18% 0,rgba(83,232,200,.14),transparent 58%),linear-gradient(145deg,#0a1116,#070b0e);min-width:0;overflow:hidden}.v027-home-signal h2{font-size:clamp(1.35rem,2.4vw,2.2rem);line-height:1.05;margin:.35rem 0 1.2rem}.v027-home-signal-chart{display:block;width:100%;height:auto;overflow:visible}.v027-signal-grid path{fill:none;stroke:rgba(255,255,255,.08);stroke-width:1}.v027-signal-deposits,.v027-signal-real,.v027-signal-nominal{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.v027-signal-deposits{stroke:#7b8790}.v027-signal-real{stroke:#22c6ea}.v027-signal-nominal{stroke:#56f1c8}.v027-signal-point{fill:#f4f7f6;stroke:#071013;stroke-width:2}.v027-signal-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.v027-signal-legend>div{padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.025)}.v027-signal-legend dt{color:var(--zi-v026-muted);font-size:.72rem}.v027-signal-legend dd{margin:4px 0 0;font-weight:850}.v027-signal-note{color:var(--zi-v026-muted);font-size:.78rem;line-height:1.45}.v027-signal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.v027-signal-actions a{color:var(--zi-v026-mint);font-weight:800;font-size:.82rem}
.academy-path-detail{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;margin-top:18px;padding:20px;border:1px solid rgba(86,241,200,.28);border-radius:22px;background:linear-gradient(130deg,rgba(86,241,200,.08),rgba(87,80,255,.05))}.academy-path-detail[hidden]{display:none!important}.academy-path-detail h3{margin:.2rem 0 .45rem;font-size:clamp(1.35rem,2.4vw,2rem)}.academy-path-detail p{margin:0;color:var(--zi-muted)}.academy-path-lesson-chips{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.academy-path-lesson-chips a{display:inline-flex;padding:8px 11px;border:1px solid var(--line);border-radius:999px;color:var(--text);text-decoration:none;font-size:.78rem}.academy-path-lesson-chips a:hover{border-color:var(--mint)}.academy-path-lesson-chips a.is-complete{border-color:rgba(86,241,200,.45);background:rgba(86,241,200,.09);color:var(--mint)}
.zi-tools-metrics-section{margin:56px 0;padding:clamp(20px,4vw,38px);border:1px solid var(--zi-v026-line);border-radius:28px;background:#0a1014}.zi-tools-metrics-section>.tool-metrics-hub{margin-top:24px}
.v027-research-preview{margin:56px 0;padding:clamp(22px,4vw,42px);border:1px solid rgba(86,241,200,.28);border-radius:30px;background:radial-gradient(circle at 15% 0,rgba(86,241,200,.10),transparent 55%),#080d11}.v027-research-preview>header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.v027-research-preview>header h2{margin:.3rem 0 1rem}.v027-research-preview>header p{max-width:760px;color:var(--muted)}.v027-research-version{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.v027-research-version span{padding:6px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font:700 .68rem var(--zi-mono)}.v027-research-warning{display:grid;gap:4px;margin:22px 0;padding:16px 18px;border-left:4px solid #f4c95d;background:rgba(244,201,93,.08);border-radius:0 14px 14px 0}.v027-research-warning span{color:var(--muted)}.v027-research-cockpit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.v027-research-cockpit article{padding:16px;border:1px solid var(--line);border-radius:17px;background:#0b1115}.v027-research-cockpit span,.v027-research-cockpit small{display:block;color:var(--muted)}.v027-research-cockpit strong{display:block;margin:7px 0;font-size:1.15rem}.v027-research-columns{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-top:24px}.v027-research-columns>section{padding:18px;border:1px solid var(--line);border-radius:20px;background:#080c10}.v027-research-columns ol,.v027-research-columns ul{padding-left:1.2rem}.v027-research-columns li{margin:9px 0;color:var(--muted)}.v027-research-columns li strong,.v027-research-columns li span{display:block}.v027-research-preview footer{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted)}
.zi-companion-header{grid-template-columns:48px minmax(0,1fr) 48px}.zi-companion-identity{display:grid;justify-items:center;gap:4px}.zi-companion-identity .zi-companion-mode{margin:2px 0 0;padding:3px;border-radius:999px;background:rgba(255,255,255,.025);max-width:100%;overflow-x:auto}.zi-companion-identity .zi-companion-mode>span{display:none}.zi-companion-identity .zi-companion-mode>div{flex-wrap:nowrap;gap:2px}.zi-companion-identity .zi-companion-mode button{padding:4px 7px;font-size:.57rem;white-space:nowrap}.zi-companion-intro .zi-companion-mode{display:none!important}.zi-companion-avatar img{object-position:46% 50%;transform:scale(1.06) translateX(-1%)}.zi-companion-log{min-height:260px}.zi-companion[data-conversation-started="true"] .zi-companion-log{min-height:300px}
@media(max-width:900px){.v027-research-cockpit{grid-template-columns:repeat(2,minmax(0,1fr))}.v027-research-columns{grid-template-columns:1fr}.v027-research-preview>header{flex-direction:column}.v027-research-version{justify-content:flex-start}}
@media(max-width:700px){.v027-signal-legend{grid-template-columns:1fr}.academy-path-detail{grid-template-columns:1fr}.academy-path-detail .button{width:100%;text-align:center}.v027-research-cockpit{grid-template-columns:1fr}.zi-companion-log{min-height:220px}.zi-companion[data-conversation-started="true"] .zi-companion-log{min-height:260px}.zi-companion-identity .zi-companion-mode button{font-size:.54rem;padding:4px 6px}}
@media(prefers-reduced-motion:reduce){.v027-home-signal *{animation:none!important;transition:none!important}}


/* Public UI hardening v0.27.1 */
.zi-home-usage-section{padding-top:clamp(24px,4vw,56px);padding-bottom:clamp(24px,4vw,56px)}
.zi-home-usage-card{border:1px solid rgba(86,241,200,.24);border-radius:28px;background:linear-gradient(135deg,rgba(86,241,200,.07),rgba(120,169,255,.04));overflow:hidden}
.zi-home-usage-card summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:clamp(22px,4vw,38px);cursor:pointer;list-style:none}
.zi-home-usage-card summary::-webkit-details-marker{display:none}.zi-home-usage-card summary>span{display:grid;gap:7px}.zi-home-usage-card summary strong{font-size:clamp(1.45rem,3vw,2.6rem);line-height:1.05}.zi-home-usage-card summary>b{font-size:clamp(3rem,8vw,7rem);line-height:.85;font-weight:850;color:var(--zi-text)}
.zi-home-usage-detail{padding:0 clamp(22px,4vw,38px) clamp(22px,4vw,38px);max-width:920px;color:var(--zi-muted)}.zi-home-usage-detail p{margin-top:0}.zi-home-usage-card[open] summary{padding-bottom:18px}
.portfolio-next-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:20px 0}.portfolio-next-links strong{margin-right:4px}.portfolio-next-links a{border:1px solid rgba(86,241,200,.22);border-radius:999px;padding:8px 12px;text-decoration:none}
.zi-companion-header{position:relative;grid-template-columns:48px minmax(0,1fr) 42px 48px;gap:9px;text-align:center}.zi-companion-settings-toggle{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:var(--zi-text);font-size:1.05rem;cursor:pointer}.zi-companion-settings-toggle:hover,.zi-companion-settings-toggle:focus-visible,.zi-companion-settings-toggle[aria-expanded="true"]{border-color:rgba(86,241,200,.48);background:rgba(86,241,200,.10)}
.zi-companion-settings{position:absolute;z-index:5;top:66px;right:64px;width:min(260px,calc(100vw - 84px));padding:14px;border:1px solid rgba(86,241,200,.28);border-radius:18px;background:#0b1117;box-shadow:0 18px 50px rgba(0,0,0,.45);text-align:left}.zi-companion-settings strong,.zi-companion-settings small{display:block}.zi-companion-settings small{margin-top:9px;color:var(--zi-muted);font-size:.68rem}.zi-companion-settings .zi-companion-mode{display:grid!important;grid-template-columns:1fr;gap:6px;margin:10px 0 0;padding:0;background:transparent;overflow:visible}.zi-companion-settings .zi-companion-mode button{width:100%;padding:8px 10px;text-align:left;border-radius:10px;font-size:.72rem}.zi-companion-settings .zi-companion-mode button.is-active{background:var(--zi-mint);color:#03110d}
.zi-companion-avatar img{object-position:50% 50%;transform:none}.zi-companion-log{min-height:310px}.zi-companion[data-conversation-started="true"] .zi-companion-log{min-height:350px}
@media(max-width:700px){.zi-home-usage-card summary{gap:14px}.zi-home-usage-card summary>b{font-size:3.2rem}.zi-companion-header{grid-template-columns:44px minmax(0,1fr) 40px 44px}.zi-companion-settings-toggle{width:40px;height:40px}.zi-companion-settings{top:58px;right:52px}.zi-companion-log{min-height:280px}.zi-companion[data-conversation-started="true"] .zi-companion-log{min-height:320px}}
.zi-companion-settings .zi-companion-mode button.is-active,
.zi-companion-settings .zi-companion-mode button[aria-pressed="true"]{background:var(--zi-mint)!important;color:#04120e!important;border-color:var(--zi-mint)!important}

/* Zi. v0.28.0 — Discoverability & Flow. Content is visible by default. */
.v028-home-signal h2{margin-bottom:.55rem}.v028-signal-period{margin:0 0 1rem;color:var(--zi-v026-muted);font-size:.82rem;line-height:1.5}.v028-signal-period strong{color:var(--zi-v026-text);font-size:1rem}.v028-signal-primary{margin-top:14px}.v028-signal-primary .zi-btn{display:inline-flex;width:auto;min-height:46px}.v028-signal-results dd{font-variant-numeric:tabular-nums}.v028-home-signal .v027-home-signal-chart{filter:drop-shadow(0 12px 34px rgba(86,241,200,.05))}
.zi-home-stats-v0280{padding-top:clamp(30px,5vw,72px);padding-bottom:clamp(30px,5vw,72px)}.zi-home-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid rgba(86,241,200,.22);border-radius:30px;background:linear-gradient(120deg,rgba(86,241,200,.07),rgba(120,169,255,.025) 58%,rgba(8,12,15,.96))}.zi-home-stat{min-width:0;padding:clamp(22px,3.2vw,38px)}.zi-home-stat+.zi-home-stat{border-left:1px solid rgba(255,255,255,.09)}.zi-home-stat-label{display:block;min-height:2.6em;color:var(--zi-muted);font:800 clamp(.7rem,1vw,.82rem)/1.35 var(--zi-mono);letter-spacing:.07em;text-transform:uppercase}.zi-home-stat-value{display:block;margin-top:12px;color:var(--zi-text);font-size:clamp(2.7rem,6vw,6.8rem);font-variant-numeric:tabular-nums;font-weight:880;letter-spacing:-.07em;line-height:.86}.zi-home-stat small{display:block;margin-top:14px;color:var(--zi-muted);font-size:.72rem;line-height:1.45}
.zi-trust-news-v0280{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}.zi-whats-new-grid{display:grid;gap:10px;margin:18px 0}.zi-whats-new-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"date title action" ". copy action";gap:5px 14px;align-items:center;padding:15px 16px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.018);color:var(--zi-v026-text);text-decoration:none}.zi-whats-new-card:hover,.zi-whats-new-card:focus-visible{border-color:rgba(86,241,200,.55);background:rgba(86,241,200,.05);transform:translateY(-2px)}.zi-whats-new-card time{grid-area:date;color:var(--zi-v026-mint);font:750 .66rem/1.2 var(--zi-mono)}.zi-whats-new-card strong{grid-area:title;font-size:.98rem}.zi-whats-new-card span{grid-area:copy;color:var(--zi-v026-muted);font-size:.78rem;line-height:1.45}.zi-whats-new-card b{grid-area:action;color:var(--zi-v026-mint);font-size:.76rem;white-space:nowrap}
/* One intentional Academy warning marker. */
.lesson-warning ul,.lesson-warning ol,ul.lesson-warning,ol.lesson-warning{list-style:none!important;padding-inline-start:0!important}.lesson-warning li{list-style:none!important}
/* Blogger Page link rules must not override mint CTA ink. */
.post-body a.zi-btn-primary,.post-body a.zi-btn-primary:link,.post-body a.zi-btn-primary:visited,.entry-content a.zi-btn-primary,.entry-content a.zi-btn-primary:link,.entry-content a.zi-btn-primary:visited,a.zi-btn-primary,a.zi-btn-primary:visited{color:#03110e!important}.post-body a.zi-btn-primary:hover,.post-body a.zi-btn-primary:focus-visible,.entry-content a.zi-btn-primary:hover,.entry-content a.zi-btn-primary:focus-visible,a.zi-btn-primary:hover,a.zi-btn-primary:focus-visible{color:#000!important}
/* Zi. Companion: one launcher icon, no duplicate header avatar, one scroll area. */
.zi-companion-launcher{width:58px;min-width:58px;height:58px;min-height:58px;padding:7px;justify-content:center}.zi-companion[data-state="open"]>.zi-companion-launcher{visibility:hidden;opacity:0;pointer-events:none;transform:scale(.92)}.zi-companion-launcher .zi-companion-avatar-small{width:44px;height:44px}.zi-companion-header{grid-template-columns:minmax(0,1fr) 42px 48px!important}.zi-companion-identity{text-align:left;justify-items:start}.zi-companion-panel{height:min(720px,calc(100dvh - 112px));max-height:86dvh;grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto auto auto!important}.zi-companion-log{min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain}.zi-companion-quick-menu[hidden]{display:none!important}.zi-companion[data-conversation-started="true"] .zi-companion-context,.zi-companion[data-conversation-started="true"] .zi-companion-toolbar{display:none!important}.zi-companion[data-conversation-started="true"] .zi-companion-intro{grid-template-columns:minmax(0,1fr) 58px!important;padding-bottom:4px}.zi-companion[data-conversation-started="true"] .zi-companion-intro .zi-companion-description{font-size:.68rem;line-height:1.35}.zi-companion[data-conversation-started="true"] .zi-companion-intro .zi-companion-character-stage,.zi-companion[data-conversation-started="true"] .zi-companion-intro .zi-companion-character-stage:not([hidden]){height:56px!important}.zi-companion[data-conversation-started="true"] .zi-companion-intro .zi-companion-character-stage img{width:56px!important;height:56px!important}.zi-companion[data-conversation-started="true"] .zi-companion-privacy:not([open]){margin-bottom:4px}
.portfolio-resume-card{margin:0 0 18px;padding:clamp(18px,2.6vw,28px);border:1px solid rgba(86,241,200,.28);border-radius:22px;background:linear-gradient(135deg,rgba(86,241,200,.07),rgba(120,169,255,.035))}.portfolio-resume-card h3{margin:.2rem 0 .5rem}.portfolio-resume-card p{color:var(--zi-muted)}.portfolio-resume-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.portfolio-lab-head-actions [data-portfolio-change-start]{border-color:rgba(86,241,200,.44);color:var(--zi-mint)}.portfolio-draft-note{display:block;width:100%;color:var(--zi-muted);font-size:.72rem;line-height:1.4}
/* Safe flow: never hidden before JS; animation only decorates visible content. */
[data-v028-flow]{opacity:1;transform:none}.zi-v028-motion-ready [data-v028-flow].is-v028-flow-visible{animation:v028FlowIn 520ms both;animation-delay:calc(var(--v028-flow-index,0)*70ms)}@keyframes v028FlowIn{from{opacity:.64;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:980px){.zi-home-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zi-home-stat:nth-child(odd){border-left:0}.zi-home-stat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.09)}.zi-trust-news-v0280{grid-template-columns:1fr}}
@media(max-width:700px){.zi-home-stat{padding:20px 17px}.zi-home-stat-value{font-size:clamp(2.35rem,15vw,4.4rem)}.zi-whats-new-card{grid-template-columns:1fr auto;grid-template-areas:"date action" "title title" "copy copy"}.zi-companion-panel{right:8px;bottom:76px;width:calc(100vw - 16px);height:min(84dvh,760px);max-height:84dvh;border-radius:22px}.zi-companion-header{grid-template-columns:minmax(0,1fr) 40px 44px!important;padding:10px 12px 7px}.zi-companion-settings{top:56px;right:50px}.zi-companion-intro{padding-left:12px;padding-right:12px}.zi-companion-privacy{margin-left:12px;margin-right:12px}.zi-companion-context,.zi-companion-toolbar,.zi-companion-log,.zi-companion-quick-menu,.zi-companion-form,.zi-companion-footer{padding-left:12px!important;padding-right:12px!important}.zi-companion-form{padding-bottom:max(9px,env(safe-area-inset-bottom))}.zi-companion[data-conversation-started="true"] .zi-companion-intro .zi-companion-description{display:none}.zi-companion[data-conversation-started="true"] .zi-companion-intro{grid-template-columns:1fr!important;justify-items:center}.portfolio-resume-actions>.button{width:100%}}
@media(prefers-reduced-motion:reduce){.zi-v028-motion-ready [data-v028-flow].is-v028-flow-visible{animation:none!important}.zi-whats-new-card,.zi-path-grid>a{transition:none!important}}


/* Zi. v0.28.1 — Motion, Navigation & Zi. Mobile Polish.
 * Motion is decorative only: every element remains readable before JavaScript.
 */
html.zi-motion-ready .reveal.is-motion-pending {
  opacity: .74;
  transform: translateY(14px) scale(.992);
  transition: opacity 620ms cubic-bezier(.2,.75,.25,1), transform 620ms cubic-bezier(.2,.75,.25,1), border-color 180ms ease, background-color 180ms ease;
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
html.zi-motion-ready .reveal.is-visible {
  opacity: 1;
  transform: none;
  transition: opacity 620ms cubic-bezier(.2,.75,.25,1), transform 620ms cubic-bezier(.2,.75,.25,1), border-color 180ms ease, background-color 180ms ease;
  transition-delay: var(--reveal-delay, 0ms);
  will-change: auto;
}
[data-v028-flow],[data-zi-flow]{opacity:1;transform:none}
html.zi-flow-motion-ready [data-v028-flow].is-zi-flow-visible,
html.zi-flow-motion-ready [data-zi-flow].is-zi-flow-visible {
  animation: ziFlowInV0281 720ms cubic-bezier(.18,.8,.25,1) both;
  animation-delay: calc(var(--zi-flow-index,0) * 85ms);
}
@keyframes ziFlowInV0281 {
  from { opacity:.7; transform:translateY(18px) scale(.986); filter:saturate(.82); }
  to { opacity:1; transform:none; filter:none; }
}
.is-counter-complete { animation:ziCounterComplete 720ms cubic-bezier(.2,.8,.25,1) both; }
@keyframes ziCounterComplete {
  0% { transform:scale(.96); text-shadow:0 0 0 rgba(86,241,200,0); }
  48% { transform:scale(1.035); text-shadow:0 0 22px rgba(86,241,200,.26); }
  100% { transform:scale(1); text-shadow:none; }
}
.is-result-updated { animation:ziResultUpdated 520ms ease-out both; }
@keyframes ziResultUpdated {
  0% { transform:translateY(2px); filter:brightness(1); }
  42% { transform:translateY(0); filter:brightness(1.22); }
  100% { transform:none; filter:none; }
}

/* Same-origin cross-document transitions where supported; unsupported browsers navigate normally. */
@view-transition { navigation:auto; }
::view-transition-old(root) { animation:ziPageOld 170ms ease-in both; }
::view-transition-new(root) { animation:ziPageNew 360ms cubic-bezier(.18,.78,.25,1) both; }
@keyframes ziPageOld { to { opacity:.9; transform:translateY(-3px); } }
@keyframes ziPageNew { from { opacity:.82; transform:translateY(10px); } to { opacity:1; transform:none; } }
html.zi-navigation-motion-ready.zi-page-entered body { animation:ziPageFallbackIn 430ms cubic-bezier(.18,.78,.25,1) both; }
html.zi-navigation-motion-ready.zi-page-leaving body { opacity:.96; transform:translateY(-2px); transition:opacity 150ms ease,transform 150ms ease; }
@keyframes ziPageFallbackIn { from { opacity:.86; transform:translateY(8px); } to { opacity:1; transform:none; } }

/* Consistent interactive affordance without layout shift. */
.zi-path-grid>a,.free-tool-card,.capability-card,.guide-card,.zi-whats-new-card,
.academy-lesson-card,.next-step-card,.canonical-tool-grid>a,.home-task-grid>a,
.zi-tool-grid>a,.research-path-grid>a,.contact-options>a {
  transition:transform 190ms ease,border-color 190ms ease,background-color 190ms ease,box-shadow 190ms ease;
}
.zi-path-grid>a:hover,.free-tool-card:hover,.guide-card:hover,.zi-whats-new-card:hover,
.academy-lesson-card:hover,.next-step-card:hover,.canonical-tool-grid>a:hover,.home-task-grid>a:hover,
.zi-tool-grid>a:hover,.research-path-grid>a:hover,.contact-options>a:hover,
.zi-path-grid>a:focus-visible,.free-tool-card:focus-visible,.guide-card:focus-visible,.zi-whats-new-card:focus-visible,
.academy-lesson-card:focus-visible,.next-step-card:focus-visible,.canonical-tool-grid>a:focus-visible,.home-task-grid>a:focus-visible,
.zi-tool-grid>a:focus-visible,.research-path-grid>a:focus-visible,.contact-options>a:focus-visible {
  transform:translateY(-3px);
  border-color:rgba(86,241,200,.58);
  box-shadow:0 16px 42px rgba(0,0,0,.22),0 0 0 1px rgba(86,241,200,.08);
}

/* Zi. Companion mobile space: privacy/context/menu controls live in the gear popover. */
.zi-companion-panel {
  grid-template-areas:"header" "description" "log" "quick" "form" "footer"!important;
  grid-template-rows:auto auto minmax(0,1fr) auto auto auto!important;
}
.zi-companion-settings { width:min(310px,calc(100vw - 72px)); max-height:min(72dvh,620px); overflow:auto; }
.zi-companion-settings-section { display:grid; gap:8px; padding:0 0 12px; }
.zi-companion-settings-section+.zi-companion-settings-section,
.zi-companion-settings-privacy { border-top:1px solid rgba(255,255,255,.08); padding-top:12px; }
.zi-companion-quick-setting { grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; }
.zi-companion-quick-setting>div { min-width:0; }
.zi-companion-quick-setting [data-zi-quick-settings] {
  appearance:none; min-width:92px; min-height:36px; border:1px solid rgba(255,255,255,.14); border-radius:999px;
  background:rgba(255,255,255,.04); color:var(--zi-muted); padding:7px 11px; font:800 .66rem/1 var(--zi-font); cursor:pointer;
}
.zi-companion-quick-setting [data-zi-quick-settings][aria-checked="true"] { background:rgba(86,241,200,.13); border-color:rgba(86,241,200,.48); color:var(--zi-text); }
.zi-companion-quick-setting [data-zi-quick-settings]:focus-visible { outline:3px solid rgba(86,241,200,.3); outline-offset:2px; }
.zi-companion-settings-privacy { margin:0; }
.zi-companion-settings-privacy summary { cursor:pointer; color:var(--zi-text); font-size:.74rem; font-weight:850; line-height:1.35; }
.zi-companion-settings-privacy p { margin:9px 0 0; color:var(--zi-muted); font-size:.68rem; line-height:1.5; }
.zi-companion-quick-menu[hidden] { display:none!important; }
.zi-companion[data-conversation-started="true"] .zi-companion-intro {
  grid-template-columns:minmax(0,1fr) 50px!important; min-height:50px; align-items:center; padding:0 12px 4px!important;
}
.zi-companion[data-conversation-started="true"] .zi-companion-intro>div { display:none!important; }
.zi-companion[data-conversation-started="true"] .zi-companion-character-stage,
.zi-companion[data-conversation-started="true"] .zi-companion-character-stage:not([hidden]) { width:50px!important; height:50px!important; margin-left:auto!important; }
.zi-companion[data-conversation-started="true"] .zi-companion-character-stage img { width:50px!important; height:50px!important; transform:none!important; }

@media(max-width:700px) {
  .zi-companion { right:8px; bottom:8px; }
  .zi-companion-panel {
    right:8px; bottom:max(8px,env(safe-area-inset-bottom)); width:calc(100vw - 16px);
    height:min(88dvh,calc(var(--zi-companion-viewport-height,100dvh) - 16px),760px);
    max-height:calc(var(--zi-companion-viewport-height,100dvh) - 16px);
    border-radius:22px;
  }
  .zi-companion-header { padding:9px 11px 6px; }
  .zi-companion-identity p { font-size:.57rem; }
  .zi-companion-identity h2 { font-size:1.02rem; }
  .zi-companion-settings { top:54px; right:7px; width:min(318px,calc(100vw - 30px)); max-height:min(74dvh,620px); }
  .zi-companion-intro { grid-template-columns:minmax(0,1fr) 86px; padding:0 11px 5px; gap:10px; }
  .zi-companion-intro .zi-companion-description { font-size:.72rem; line-height:1.4; }
  .zi-companion-intro .zi-companion-character-stage,
  .zi-companion-intro .zi-companion-character-stage:not([hidden]) { height:86px; }
  .zi-companion-intro .zi-companion-character-stage img { width:86px; height:86px; transform:translateY(3px); }
  .zi-companion-log,.zi-companion-quick-menu,.zi-companion-form,.zi-companion-footer { padding-left:11px!important; padding-right:11px!important; }
  .zi-companion-log { min-height:0!important; padding-top:3px!important; }
  .zi-companion-quick-menu { gap:6px; padding-top:5px!important; padding-bottom:7px!important; }
  .zi-companion-quick-menu button { min-height:42px; padding:8px 9px; font-size:.69rem; }
  .zi-companion-form { padding-bottom:max(7px,env(safe-area-inset-bottom)); }
  .zi-companion-footer { padding-top:8px; padding-bottom:9px; }
  .zi-companion-footer span { font-size:.59rem; }
  .zi-companion-footer a { font-size:.64rem; }
}

@media(max-width:360px) {
  .zi-companion-quick-setting { grid-template-columns:1fr; }
  .zi-companion-quick-setting [data-zi-quick-settings] { justify-self:start; }
  .zi-companion-intro { grid-template-columns:minmax(0,1fr) 74px; }
  .zi-companion-intro .zi-companion-character-stage,
  .zi-companion-intro .zi-companion-character-stage:not([hidden]),
  .zi-companion-intro .zi-companion-character-stage img { width:74px; height:74px; }
}

@media(prefers-reduced-motion:reduce) {
  html.zi-motion-ready .reveal.is-motion-pending,
  html.zi-motion-ready .reveal.is-visible,
  html.zi-flow-motion-ready [data-v028-flow].is-zi-flow-visible,
  html.zi-flow-motion-ready [data-zi-flow].is-zi-flow-visible,
  .is-counter-complete,.is-result-updated,
  html.zi-navigation-motion-ready.zi-page-entered body,
  html.zi-navigation-motion-ready.zi-page-leaving body,
  ::view-transition-old(root),::view-transition-new(root) {
    opacity:1!important; transform:none!important; filter:none!important; animation:none!important; transition:none!important;
  }
}

/* Zi. v0.29.0 — Research 23.15 synthetic contract cockpit */
.research-contract-panel {
  position: relative;
  margin: clamp(34px, 6vw, 78px) 0;
  padding: clamp(22px, 4vw, 40px);
  overflow: hidden;
  border: 1px solid rgba(86, 241, 200, .24);
  border-radius: clamp(24px, 3vw, 34px);
  background:
    radial-gradient(circle at 92% 0%, rgba(72, 140, 255, .13), transparent 34%),
    radial-gradient(circle at 0% 100%, rgba(86, 241, 200, .08), transparent 36%),
    rgba(6, 11, 14, .92);
  box-shadow: 0 24px 80px rgba(0, 0, 0, .22);
}
.research-contract-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(86, 241, 200, .62), transparent);
  pointer-events: none;
}
.research-contract-panel-head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px 30px;
  align-items: end;
  margin-bottom: 18px;
}
.research-contract-panel-head > div:first-child > span {
  display: block;
  margin-bottom: 8px;
  color: var(--zi-emerald-2);
  font: 800 .72rem/1.25 var(--zi-mono);
  letter-spacing: .13em;
  text-transform: uppercase;
}
.research-contract-panel-head h2 {
  margin: 0;
  max-width: 20ch;
  font-size: clamp(1.75rem, 4vw, 3.35rem);
  line-height: 1;
  letter-spacing: -.045em;
}
.research-contract-panel-head p {
  max-width: 74ch;
  margin: 12px 0 0;
  color: var(--zi-muted);
  line-height: 1.65;
}
.research-contract-version,
.research-contract-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.research-contract-version {
  justify-content: flex-end;
  align-self: start;
  max-width: 440px;
}
.research-contract-version span,
.research-contract-meta span {
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 999px;
  background: rgba(255, 255, 255, .035);
  color: var(--zi-muted-2);
  font: 750 .68rem/1 var(--zi-mono);
  letter-spacing: .035em;
  white-space: nowrap;
}
.research-contract-version span { padding: 8px 10px; }
.research-contract-meta {
  margin: 22px 0 14px;
}
.research-contract-meta span { padding: 7px 10px; }
.research-contract-meta span:first-child {
  border-color: rgba(86, 241, 200, .34);
  background: rgba(86, 241, 200, .08);
  color: var(--zi-emerald-2);
}
.research-contract-safety {
  display: grid;
  grid-template-columns: minmax(180px, .65fr) minmax(0, 1.35fr);
  gap: 10px 22px;
  margin: 0 0 20px;
  padding: 15px 17px;
  border: 1px solid rgba(255, 194, 102, .24);
  border-radius: 18px;
  background: rgba(255, 194, 102, .055);
}
.research-contract-safety strong { color: var(--zi-text); }
.research-contract-safety span { color: var(--zi-muted); line-height: 1.55; }
.research-contract-readiness,
.research-contract-metrics {
  display: grid;
  gap: 12px;
  margin: 14px 0;
}
.research-contract-readiness { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.research-contract-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.research-contract-readiness > div,
.research-contract-metrics > article {
  min-width: 0;
  padding: 17px;
  border: 1px solid rgba(255, 255, 255, .085);
  border-radius: 19px;
  background: rgba(3, 7, 9, .48);
}
.research-contract-readiness span,
.research-contract-metrics span {
  display: block;
  color: var(--zi-muted);
  font-size: .72rem;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.research-contract-readiness strong,
.research-contract-metrics strong {
  display: block;
  margin-top: 9px;
  color: var(--zi-text);
  overflow-wrap: anywhere;
}
.research-contract-readiness strong { font-size: clamp(1.02rem, 2vw, 1.35rem); }
.research-contract-metrics strong {
  font-size: clamp(1.35rem, 3vw, 2.3rem);
  line-height: 1;
  letter-spacing: -.035em;
  font-variant-numeric: tabular-nums;
}
.research-contract-readiness small {
  display: block;
  margin-top: 7px;
  color: var(--zi-muted-2);
  line-height: 1.45;
}
.research-contract-axis-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0;
}
.research-contract-axis {
  min-width: 0;
  min-height: 132px;
  display: flex;
  flex-direction: column;
  padding: 17px;
  border: 1px solid rgba(72, 140, 255, .19);
  border-radius: 19px;
  background: linear-gradient(150deg, rgba(72, 140, 255, .07), rgba(255, 255, 255, .018));
}
.research-contract-axis span {
  color: var(--zi-muted);
  font: 750 .68rem/1.35 var(--zi-mono);
  letter-spacing: .07em;
  text-transform: uppercase;
}
.research-contract-axis strong {
  margin: auto 0 10px;
  color: var(--zi-text);
  font-size: clamp(1.05rem, 2vw, 1.45rem);
  overflow-wrap: anywhere;
}
.research-contract-axis small { color: var(--zi-muted-2); line-height: 1.45; }
.research-contract-columns,
.research-contract-allocation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0;
}
.research-contract-allocation { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.research-contract-columns > section,
.research-contract-allocation > section,
.research-contract-quality,
.research-contract-table,
.research-contract-limitations {
  min-width: 0;
  padding: clamp(17px, 2.5vw, 23px);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 20px;
  background: rgba(255, 255, 255, .024);
}
.research-contract-columns h3,
.research-contract-allocation h3,
.research-contract-quality h3,
.research-contract-table h3 {
  margin: 0 0 14px;
  font-size: 1rem;
}
.research-contract-columns section > h3:not(:first-child) { margin-top: 22px; }
.research-contract-columns ul,
.research-contract-limitations ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding-left: 1.15rem;
}
.research-contract-columns li,
.research-contract-limitations li {
  color: var(--zi-muted);
  line-height: 1.55;
}
.research-contract-quality { margin: 14px 0; }
.research-contract-quality ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.research-contract-quality li {
  min-width: 0;
  padding: 15px;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 16px;
  background: rgba(3, 7, 9, .4);
}
.research-contract-quality li > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 7px 10px;
  align-items: start;
}
.research-contract-quality li > div > span {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(86, 241, 200, .26);
  border-radius: 10px;
  color: var(--zi-emerald-2);
  font: 800 .72rem/1 var(--zi-mono);
}
.research-contract-quality li strong { color: var(--zi-text); }
.research-contract-quality li em {
  color: var(--zi-muted-2);
  font-size: .7rem;
  font-style: normal;
}
.research-contract-quality li p {
  margin: 12px 0 0;
  color: var(--zi-muted);
  line-height: 1.55;
}
.research-contract-sources {
  padding: 0 !important;
  list-style: none;
}
.research-contract-sources li {
  display: grid;
  gap: 4px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
}
.research-contract-sources li:last-child { border-bottom: 0; }
.research-contract-sources strong { color: var(--zi-text); }
.research-contract-sources span { color: var(--zi-muted-2); font-size: .76rem; }
.research-contract-limitations {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  margin: 14px 0;
}
.research-contract-limitations > strong {
  color: var(--zi-emerald-2);
  font: 800 .72rem/1.3 var(--zi-mono);
  letter-spacing: .09em;
  text-transform: uppercase;
}
.research-contract-bars {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.research-contract-bars li > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 7px;
}
.research-contract-bars li span { color: var(--zi-muted); overflow-wrap: anywhere; }
.research-contract-bars li strong { color: var(--zi-text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.research-contract-bar {
  display: block;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .075);
}
.research-contract-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--zi-emerald-2), var(--zi-blue));
}
.research-contract-table { margin: 14px 0; }
.research-contract-table .table-scroll {
  overflow: auto;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 16px;
}
.research-contract-table .table-scroll:focus-visible {
  outline: 3px solid rgba(86, 241, 200, .3);
  outline-offset: 3px;
}
.research-contract-table table { width: 100%; min-width: 720px; border-collapse: collapse; }
.research-contract-table th,
.research-contract-table td {
  padding: 12px 13px;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  text-align: left;
  vertical-align: top;
}
.research-contract-table tr:last-child td { border-bottom: 0; }
.research-contract-table th {
  color: var(--zi-muted-2);
  font: 750 .66rem/1.3 var(--zi-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.research-contract-table td { color: var(--zi-muted); font-size: .82rem; }
.research-contract-table td strong,
.research-contract-table td span { display: block; }
.research-contract-table td strong { color: var(--zi-text); }
.research-contract-table td span { margin-top: 3px; color: var(--zi-muted-2); }
.research-contract-panel > footer {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, .08);
  color: var(--zi-muted-2);
  font: 650 .7rem/1.65 var(--zi-mono);
  overflow-wrap: anywhere;
}
.research-contract-panel > footer strong { color: var(--zi-muted); }
.research-contract-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 22px 0;
}
.research-contract-status-grid > article,
.research-contract-status-grid > div {
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 18px;
  background: rgba(255, 255, 255, .025);
}
.research-contract-status-grid strong,
.research-contract-status-grid span { display: block; }
.research-contract-status-grid strong { color: var(--zi-text); }
.research-contract-status-grid span,
.research-contract-status-grid p { margin: 7px 0 0; color: var(--zi-muted); line-height: 1.55; }
.research-contract-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 22px 0;
}
[data-research-renderer-status="invalid"] [data-research-render-target] {
  border: 1px solid rgba(255, 194, 102, .24);
  border-radius: 18px;
  padding: 18px;
}

@media (max-width: 1060px) {
  .research-contract-axis-grid,
  .research-contract-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .research-contract-allocation { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .research-contract-axis-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 780px) {
  .research-contract-panel-head,
  .research-contract-safety,
  .research-contract-readiness,
  .research-contract-columns,
  .research-contract-status-grid { grid-template-columns: 1fr; }
  .research-contract-version { justify-content: flex-start; max-width: none; }
  .research-contract-quality ol { grid-template-columns: 1fr; }
  .research-contract-limitations { grid-template-columns: 1fr; gap: 10px; }
}
@media (max-width: 560px) {
  .research-contract-panel {
    margin-inline: -2px;
    padding: 18px 14px;
    border-radius: 22px;
  }
  .research-contract-axis-grid,
  .research-contract-metrics { grid-template-columns: 1fr; }
  .research-contract-axis { min-height: 116px; }
  .research-contract-version span,
  .research-contract-meta span { white-space: normal; }
  .research-contract-links { display: grid; }
  .research-contract-links .button { width: 100%; justify-content: center; }
}


/* Zi. v0.30.1 — Research Beta Stabilization & One-Click Deploy */
.research-beta-console{display:grid;gap:14px;padding:20px;border:1px solid rgba(86,241,200,.25);border-radius:22px;background:rgba(3,10,12,.6)}
.research-beta-console form{display:grid;gap:10px}.research-beta-console input{width:100%;box-sizing:border-box}.research-beta-console p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}
.research-beta-console [data-research-beta-workspace]{display:grid;gap:12px}.research-beta-console [hidden]{display:none!important}
.research-beta-result{margin-top:24px;padding-top:24px;border-top:1px solid rgba(86,241,200,.2);min-width:0}.research-beta-result[hidden]{display:none!important}
.research-beta[data-research-beta-state="working"] .research-beta-console{border-color:rgba(120,169,255,.55)}
.research-beta[data-research-beta-state="result"] .research-beta-console{border-color:rgba(86,241,200,.55)}
.research-beta[data-research-beta-state="error"] .stock-research-status{color:#ffb5a9}
.analyzer-public-status,.analyzer-public-status .notice,.research-contract-status-grid,.research-contract-status-grid article{min-width:0}
.analyzer-public-status .notice{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:700px){.research-beta-console{padding:15px}.research-beta-console .button{width:100%}.research-beta-result{overflow:hidden}}

/* Zi. v0.31.4 — Public Research, dedicated private route, glossary aliases and mobile polish */
.research-public-hub{width:min(100% - 32px,1320px);margin:0 auto 72px}.research-public-hero{padding:clamp(38px,7vw,86px) 0 30px}.research-public-hero h1{max-width:16ch;font-size:clamp(2.8rem,7vw,6.6rem);line-height:.98;margin:.2em 0}.research-public-hero p{max-width:78ch;color:var(--zi-muted);font-size:clamp(1rem,1.8vw,1.25rem)}.research-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:30px 0 60px}.research-public-grid>a{display:flex;flex-direction:column;min-height:280px;padding:24px;border:1px solid var(--zi-line);border-radius:24px;background:linear-gradient(145deg,#0a1114,#071014);text-decoration:none}.research-public-grid span{color:var(--zi-mint);font:700 .78rem/1.2 ui-monospace,monospace;letter-spacing:.08em}.research-public-grid h2{font-size:clamp(1.6rem,3vw,2.5rem);margin:.6em 0}.research-public-grid p{color:var(--zi-muted)}.research-public-grid strong{margin-top:auto;color:var(--zi-mint)}.research-private-teaser{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;margin:48px 0;padding:clamp(22px,4vw,38px);border:1px solid rgba(255,195,107,.26);border-radius:24px;background:rgba(255,195,107,.05)}.research-private-teaser p{color:var(--zi-muted);max-width:74ch}.glossary-alias{display:block;margin:.22rem 0 .58rem;color:var(--zi-mint);font:600 .62rem/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.025em;opacity:.88}.zi-companion-launcher{width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}.zi-companion-launcher:hover{transform:scale(1.035)}.zi-companion-launcher:focus-visible{outline:3px solid var(--zi-mint);outline-offset:4px}.zi-companion-launcher .zi-companion-avatar{width:100%!important;height:100%!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.zi-companion-launcher img,.zi-companion-avatar img{width:100%!important;height:100%!important;object-fit:contain!important;border-radius:0!important}.zi-companion-panel{max-height:min(760px,calc(var(--zi-mobile-viewport-height,100vh) - 18px))}.zi-companion-log{overscroll-behavior:contain}.zi-whats-new-grid{min-height:1px}
@media(max-width:900px){.research-public-grid{grid-template-columns:1fr}.research-private-teaser{grid-template-columns:1fr}}
@media(max-width:700px){.zi-companion-input-row input,.zi-companion-input-row textarea,.zi-companion-input-row select,[data-zi-companion-form] input,[data-zi-companion-form] textarea{font-size:16px!important}.zi-companion-panel{height:min(720px,calc(var(--zi-mobile-viewport-height,100vh) - 12px));max-height:calc(var(--zi-mobile-viewport-height,100vh) - 12px);bottom:max(6px,env(safe-area-inset-bottom))!important}.zi-companion-log{scroll-behavior:smooth}.research-public-hub{width:min(100% - 20px,1320px)}}

/* Zi. v0.31.4 - private tools restore and navigation polish */
.glossary-card .glossary-alias{font-size:.62rem!important;line-height:1.35!important;font-weight:600!important;letter-spacing:.025em!important;margin:.22rem 0 .58rem!important;opacity:.88!important}
.footer-private-link{margin-top:.38rem;color:#b8c8c4!important;font-size:.92em}.footer-private-link::before{font-size:.72em;opacity:.82}
@media(max-width:640px){.glossary-card .glossary-alias{font-size:.60rem!important}.footer-private-link{font-size:.9em}}
