* { box-sizing: border-box; }
    html { color-scheme: dark; --lab-selection: #a1b7a8; --lab-charcoal: #1c1c1c; }
    body { margin: 0; background: var(--ae-canvas, #000); color: var(--ae-ink, #fff); font-family: var(--ae-font); font-synthesis: none; -webkit-font-smoothing: antialiased; }
    a { color: inherit; text-decoration: none; }
    a:focus-visible, select:focus-visible, button:focus-visible { outline: 2px solid var(--ae-ink); outline-offset: 6px; }
    ::selection { background: var(--lab-selection); color: #000; }
    .lab-wrap { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; height: 100dvh; }
    .lab-wrap main { width: 100%; padding-inline: clamp(24px, 4.5vw, 64px); min-height: 0; overflow-y: auto; }
    .lab-header, .lab-footer { padding-inline: clamp(24px, 4.5vw, 64px); }
    .lab-wrap main:focus-visible { outline: 1px solid var(--ae-text-secondary); outline-offset: -1px; }
    .lab-header { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-block: 20px; }
    .lab-wordmark { display: inline-flex; align-items: center; gap: 8px; font-size: 19px; font-weight: 600; letter-spacing: -.01em; }
    .lab-symbol { width: 24px; height: 24px; }
    .lab-language { min-height: 44px; max-width: 160px; padding: 8px; border: 0; border-radius: 0; background: var(--ae-canvas, #000); color: var(--ae-ink); font-family: var(--ae-font-mono); font-size: 13px; cursor: pointer; }
    .lab-hero { padding-top: 64px; }
    h1 { max-width: 100%; margin: 0; text-align: center; font-family: Helvetica, Arial, sans-serif; font-size: clamp(44px, 10vw, 160px); line-height: 1.02; font-weight: 700; letter-spacing: -.035em; text-transform: uppercase; text-wrap: balance; overflow-wrap: anywhere; animation: lab-enter 650ms both; }
    .lab-row { display: grid; grid-template-columns: 48px minmax(0, 620px); gap: 24px; align-items: baseline; }
    .lab-index { font-family: var(--ae-font-mono); font-size: 12px; line-height: 1.5; color: var(--ae-text-secondary); }
    .lab-prose { display: grid; width: 100%; max-width: 720px; margin-inline: auto; }
    .lab-prose p { margin: 0; text-wrap: pretty; }
    .lab-prose p:lang(de) { hyphens: auto; overflow-wrap: anywhere; }
    .lab-intro { margin-block: 32px 48px; font-size: clamp(20px, 1.8vw, 24px); line-height: 1.45; color: var(--ae-ink); animation: lab-enter 650ms 100ms both; }
    .lab-method { padding-bottom: 32px; animation: lab-enter 650ms 180ms both; }
    .lab-method:last-child { padding-bottom: 48px; }
    .lab-method p { font-size: 19px; line-height: 1.65; color: var(--ae-text-secondary); }
    .lab-footer { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding-block: 20px 24px; font-family: var(--ae-font); font-size: 13px; line-height: 1.6; }
    .lab-footer address { font-style: normal; color: var(--ae-text-secondary); }
    .lab-footer a { display: inline-flex; align-items: center; min-height: 44px; transition: color 160ms ease; }
    .lab-footer a:hover { color: var(--ae-text-secondary); }
    .lab-skip { position: absolute; z-index: 1; left: 24px; top: 12px; padding: 12px; background: #fff; color: #000; transform: translateY(-200%); }
    .lab-skip:focus { transform: translateY(0); }
    .lab-concept { display: inline; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: inherit; text-decoration: underline dotted #777; text-underline-offset: .22em; cursor: pointer; }
    .lab-concept:focus-visible { outline: 2px solid var(--ae-ink); outline-offset: 4px; }
    .lab-concept:hover, .lab-concept[aria-expanded="true"] { text-decoration-color: #fff; }
    .lab-definition { position: fixed; inset: auto; width: min(360px, calc(100vw - 32px)); margin: 0; padding: 24px; overflow-y: auto; border: 1px solid #2b2b2b; border-radius: 4px; background: #0b0b0b; color: #fff; font-family: var(--ae-font); animation: lab-definition-enter 160ms ease-out; }
    .lab-definition-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 16px; }
    .lab-definition-close { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; margin: -8px -8px -8px 0; padding: 0; border: 0; background: none; color: var(--ae-text-secondary); font: 20px/1 var(--ae-font); cursor: pointer; }
    .lab-definition h2 { margin: 0; font-family: Helvetica, Arial, sans-serif; font-size: 13px; font-weight: 700; line-height: 1.5; letter-spacing: .02em; text-transform: uppercase; }
    .lab-definition p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ae-text-secondary); }
    .lab-definition p + p { margin-top: 12px; }
    @keyframes lab-definition-enter { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
    @media (max-width: 900px) {
      .lab-hero { padding-top: 56px; }
    }
    @media (max-width: 640px) {
      .lab-header { padding-block: 20px; gap: 16px; }
      .lab-hero { padding-top: 48px; }
      h1 { letter-spacing: -.03em; }
      .lab-intro { margin-top: 28px; font-size: 20px; }
      .lab-row { grid-template-columns: 28px minmax(0, 1fr); gap: 12px; }
      .lab-method { padding-bottom: 28px; }
      .lab-method:last-child { padding-bottom: 40px; }
      .lab-method p { font-size: 17px; }
      .lab-footer { align-items: flex-start; flex-direction: column; gap: 4px; padding-block: 12px; font-size: 12px; }
    }
    @media (min-width: 900px) {
      .lab-header, .lab-footer { padding-block: 12px; }
      .lab-wrap main { display: flex; flex-direction: column; justify-content: safe center; }
      .lab-hero, .lab-prose { flex-shrink: 0; }
      .lab-prose { width: min(720px, calc(100% - clamp(48px, 8vw, 96px))); }
      .lab-hero { padding-top: clamp(12px, 2dvh, 24px); }
      h1 { font-size: var(--lab-title-size, clamp(44px, min(11vw, 20dvh), 240px)); }
      .lab-row { grid-template-columns: 48px minmax(0, 1fr); }
      .lab-intro { margin-block: clamp(16px, 2.5dvh, 32px) clamp(12px, 2dvh, 24px); font-size: clamp(18px, 2.4dvh, 24px); line-height: 1.4; }
      .lab-method, .lab-method:last-child { padding-bottom: clamp(12px, 2dvh, 24px); }
      .lab-method p { font-size: clamp(17px, 2dvh, 19px); line-height: 1.5; }
    }
    @keyframes lab-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
    @media (prefers-reduced-motion: reduce) {
      h1, .lab-intro, .lab-method, .lab-definition { animation: none; }
      .lab-footer a { transition: none; }
    }
