  :root {
    --background: #f7fbf8;
    --foreground: #1b2620;
    --card: #ffffff;
    --primary: #1f8a3f;
    --secondary: #ecf2ee;
    --muted-foreground: #5b6760;
    --border: rgba(27, 38, 32, 0.12);
    --font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  }
  *, *::before, *::after { box-sizing: border-box; }
  html { background: var(--background); }
  body {
    margin: 0;
    min-height: 100dvh;
    background: var(--background);
    color: var(--foreground);
    font-family: var(--font-sans);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }
  a { color: inherit; text-decoration: none; }
  svg { flex-shrink: 0; }
  code { font-family: var(--font-mono); font-size: 0.875rem; }

  .container { margin: 0 auto; max-width: 80rem; padding: 0 1rem; }
  .narrow { margin: 0 auto; max-width: 56rem; padding: 0 1rem; }
  @media (min-width: 640px) { .container, .narrow { padding: 0 1.5rem; } }
  @media (min-width: 1024px) { .container, .narrow { padding: 0 2rem; } }

  header {
    position: sticky; top: 0; z-index: 10;
    border-bottom: 1px solid var(--border);
    background: rgba(247, 251, 248, 0.9);
    backdrop-filter: blur(8px);
  }
  .header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: 4rem; }
  .logo { display: flex; align-items: center; }
  .logo img { height: 2rem; width: auto; display: block; }
  .back-link {
    display: inline-flex; align-items: center; gap: 0.5rem;
    border-radius: 0.375rem; padding: 0.5rem 0.875rem;
    font-size: 0.875rem; font-weight: 500;
    color: var(--foreground);
    transition: color .15s, background-color .15s;
  }
  .back-link:hover { background: var(--secondary); color: var(--primary); }

  section { padding: 4rem 0; }
  @media (min-width: 640px) { section { padding: 5rem 0; } }

  .intro { display: flex; flex-direction: column; align-items: flex-start; gap: 1.5rem; }
  @media (min-width: 640px) { .intro { flex-direction: row; align-items: center; } }
  .icon-box {
    display: flex; align-items: center; justify-content: center;
    border-radius: 0.375rem;
    background: rgba(31, 138, 63, 0.1); color: var(--primary);
  }
  .icon-box.lg { width: 3.5rem; height: 3.5rem; }
  .icon-box.md { width: 2.5rem; height: 2.5rem; }
  .eyebrow {
    margin: 0; font-family: var(--font-mono); font-size: 0.75rem;
    text-transform: uppercase; letter-spacing: 0.2em; color: var(--primary);
  }
  h1 {
    margin: 0.5rem 0 0; font-size: 1.875rem; font-weight: 600;
    letter-spacing: -0.025em; line-height: 1.2; text-wrap: balance;
  }
  @media (min-width: 640px) { h1 { font-size: 2.25rem; } }

  .lead {
    margin: 2.5rem 0 0; padding-top: 2.5rem; border-top: 1px solid var(--border);
    font-size: 1.125rem; line-height: 1.65; color: var(--muted-foreground); text-wrap: pretty;
  }
  .strong { font-weight: 500; color: var(--foreground); }
  .text { margin: 1.5rem 0 0; line-height: 1.65; color: var(--muted-foreground); text-wrap: pretty; }

  .card { margin-top: 3rem; overflow: hidden; border: 1px solid var(--border); border-radius: 0.75rem; background: var(--card); }
  .card-head { display: flex; align-items: center; gap: 0.5rem; padding: 1rem 1.5rem; border-bottom: 1px solid var(--border); color: var(--primary); }
  .card-head h2 { margin: 0; font-size: 0.875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.025em; color: var(--foreground); }
  dl { margin: 0; }
  .row { display: grid; gap: 0.25rem; padding: 1rem 1.5rem; font-size: 0.875rem; }
  .row + .row { border-top: 1px solid var(--border); }
  @media (min-width: 640px) { .row { grid-template-columns: 200px 1fr; gap: 1.5rem; } }
  dt { color: var(--muted-foreground); }
  dd { margin: 0; }
  .link-primary {
    display: inline-flex; align-items: center; gap: 0.375rem;
    font-weight: 500; color: var(--primary); transition: opacity .15s;
  }
  .link-primary:hover { opacity: 0.8; }

  .docs { margin-top: 3.5rem; }
  .docs-head { display: flex; align-items: center; gap: 0.5rem; color: var(--primary); }
  .docs-head h2 { margin: 0; font-size: 1.25rem; font-weight: 600; letter-spacing: -0.025em; color: var(--foreground); }
  .docs-list { margin-top: 1.5rem; display: grid; gap: 1rem; }
  .doc {
    display: flex; align-items: flex-start; gap: 1rem;
    padding: 1.25rem; border: 1px solid var(--border); border-radius: 0.5rem;
    background: var(--card); transition: border-color .15s;
  }
  .doc:hover { border-color: rgba(31, 138, 63, 0.4); }
  .doc-title { margin: 0; display: flex; align-items: center; gap: 0.375rem; font-weight: 500; }
  .doc-title svg { color: var(--muted-foreground); transition: color .15s; }
  .doc:hover .doc-title svg { color: var(--primary); }
  .doc-desc { margin: 0.25rem 0 0; font-size: 0.875rem; line-height: 1.6; color: var(--muted-foreground); }

  .note { margin-top: 3.5rem; padding: 1.5rem; border: 1px solid var(--border); border-radius: 0.75rem; background: rgba(236, 242, 238, 0.5); }
  @media (min-width: 640px) { .note { padding: 2rem; } }
  .note p { margin: 0; line-height: 1.65; }
  .note .small { margin-top: 0.5rem; font-size: 0.875rem; color: var(--muted-foreground); }

  footer { border-top: 1px solid var(--border); padding: 2rem 0; font-size: 0.875rem; color: var(--muted-foreground); }

  a:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; border-radius: 0.25rem; }

/* Podstrony */
:root { --destructive: #c0392b; }
.crumb { border-bottom: 1px solid var(--border); }
.crumb .container { padding-top: 2rem; padding-bottom: 0.5rem; }
.crumb a { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; color: var(--muted-foreground); transition: color .15s; }
.crumb a:hover { color: var(--foreground); }

.block { margin-top: 3.5rem; }
.block-head { display: flex; align-items: center; gap: 0.5rem; color: var(--primary); }
.block-head h2, h2.plain { margin: 0; font-size: 1.25rem; font-weight: 600; letter-spacing: -0.025em; color: var(--foreground); }
.block .text { margin-top: 1rem; }
.block .text + .text { margin-top: 1rem; }

.bullets { margin: 1.5rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.75rem; }
.bullets li { display: flex; gap: 0.75rem; line-height: 1.65; }
.bullets li::before { content: ""; flex-shrink: 0; margin-top: 0.6rem; width: 0.375rem; height: 0.375rem; border-radius: 9999px; background: var(--primary); }
.bullets.sm { margin-top: 1rem; gap: 0.625rem; }
.bullets.sm li { font-size: 0.875rem; }
.bullets.muted li { color: var(--muted-foreground); }
.bullets.muted li::before { background: rgba(91, 103, 96, 0.4); }

.grid2 { margin-top: 1.5rem; display: grid; gap: 1rem; }
@media (min-width: 640px) { .grid2 { grid-template-columns: 1fr 1fr; } }
.box { padding: 1.25rem; border: 1px solid var(--border); border-radius: 0.5rem; background: var(--card); }
.box h3 { margin: 0; font-size: 1rem; font-weight: 500; }
.box p { margin: 0.5rem 0 0; font-size: 0.875rem; line-height: 1.6; color: var(--muted-foreground); }
.box h3.label { font-family: var(--font-mono); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--primary); }
.box h3.label.muted { color: var(--muted-foreground); }

.danger { margin-top: 3.5rem; padding: 1.5rem; border: 1px solid rgba(192, 57, 43, 0.3); border-radius: 0.75rem; background: rgba(192, 57, 43, 0.05); }
@media (min-width: 640px) { .danger { padding: 2rem; } }
.danger .block-head { color: var(--destructive); }

.steps { margin: 1.5rem 0 0; padding: 0; list-style: none; display: grid; gap: 1rem; }
.steps li { display: flex; gap: 1rem; padding: 1.25rem; border: 1px solid var(--border); border-radius: 0.5rem; background: var(--card); }
.step-num { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 2rem; height: 2rem; border-radius: 0.375rem; background: rgba(31, 138, 63, 0.1); color: var(--primary); font-family: var(--font-mono); font-size: 0.875rem; font-weight: 600; }
.steps p { margin: 0; }
.steps .when { font-weight: 500; }
.steps .what { margin-top: 0.25rem; font-size: 0.875rem; line-height: 1.6; color: var(--muted-foreground); }

.cta { margin-top: 3.5rem; display: flex; flex-direction: column; gap: 1rem; padding: 1.5rem; border: 1px solid var(--border); border-radius: 0.75rem; background: rgba(236, 242, 238, 0.5); }
@media (min-width: 640px) { .cta { flex-direction: row; align-items: center; justify-content: space-between; padding: 2rem; } }
.cta p { margin: 0; line-height: 1.65; }
.cta .small { margin-top: 0.75rem; font-size: 0.875rem; color: var(--muted-foreground); }
.btn { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.75rem 1.25rem; border-radius: 0.375rem; background: var(--primary); color: #ffffff; font-size: 0.875rem; font-weight: 500; transition: opacity .15s; }
.btn:hover { opacity: 0.9; }

.after-link { margin-top: 2rem; display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; color: var(--muted-foreground); transition: color .15s; }
.after-link:hover { color: var(--foreground); }

.ref { margin: 1.5rem 0 0; padding-left: 1rem; border-left: 2px solid var(--border); font-family: var(--font-mono); font-size: 0.875rem; line-height: 1.65; color: var(--muted-foreground); }
.card-note { margin: 0; padding: 1rem 1.5rem; border-top: 1px solid var(--border); font-size: 0.875rem; line-height: 1.6; color: var(--muted-foreground); }
.small-note { margin: 1rem 0 0; font-size: 0.875rem; color: var(--muted-foreground); }

.table { margin-top: 1.5rem; overflow: hidden; border: 1px solid var(--border); border-radius: 0.75rem; background: var(--card); }
.table-head { display: none; gap: 1rem; padding: 0.75rem 1.25rem; border-bottom: 1px solid var(--border); font-family: var(--font-mono); font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted-foreground); }
.table-row { display: grid; gap: 0.25rem; padding: 1rem 1.25rem; font-size: 0.875rem; }
.table-row + .table-row { border-top: 1px solid var(--border); }
@media (min-width: 640px) {
  .table-head { display: grid; grid-template-columns: 110px 1fr 1.4fr; }
  .table-row { grid-template-columns: 110px 1fr 1.4fr; gap: 1rem; }
}
.table-row dt { font-family: var(--font-mono); font-weight: 500; color: var(--primary); }
.table-row .stage { font-weight: 500; }
.table-row .desc { line-height: 1.6; color: var(--muted-foreground); }

.harbor { margin-top: 3.5rem; padding: 1.5rem; border-left: 4px solid var(--primary); border-radius: 0.75rem; background: rgba(236, 242, 238, 0.5); }
@media (min-width: 640px) { .harbor { padding: 2rem; } }
.harbor .text { margin-top: 1rem; }
.harbor .text.fg { color: var(--foreground); }

.doc-footer { margin-top: 3.5rem; padding-top: 2rem; border-top: 1px solid var(--border); font-size: 0.875rem; line-height: 1.6; color: var(--muted-foreground); }
.doc-footer p { margin: 0; }
.doc-footer p + p { margin-top: 0.375rem; }
