
:root {
        --tag-border: #a5f3fc;
      }
      html[data-diagram-theme="dark"] {
        --tag-border: #334155;
      }
      * { box-sizing: border-box; }
      .diagram,
      .diagram * {
        max-width: 100%;
      }
      html,
      body {
        margin: 0;
        padding: 0;
        overflow: hidden;
        background: transparent;
      }
      body {
        color: var(--ink);
        font-family: Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", "Segoe UI", sans-serif;
      }
      .diagram {
        width: 100%;
        max-width: 960px;
        margin: 0 auto;
        border: 1px solid var(--line);
        border-radius:8px;
        overflow: hidden;
        background: var(--paper);
        contain: layout paint;
      }
      .react-ch11-ch11-4-root {
        padding: 16px;
        overflow-wrap: anywhere;
      }
      h1 {
        margin: 10px 0 8px;
        color: var(--ink);
        font-size:24px;
        line-height: 1.25;
        letter-spacing: 0;
      }
      p {
        margin: 0;
        color: var(--muted);
        font-size:14px;
        line-height: 1.62;
      }
      .react-ch11-ch11-4-flow {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr) 24px minmax(0, 1fr) 24px minmax(0, 1fr);
        align-items: stretch;
        gap: 8px;
        margin-top: 14px;
      }
      .react-ch11-ch11-4-step {
        min-width: 0;
        border: 1px solid var(--line);
        border-radius:8px;
        padding: 10px;
        background: var(--panel);
      }
      .react-ch11-ch11-4-step span {
        display: block;
        color: var(--accent);
        font-size:12px;
        font-weight: 800;
        line-height: 1.3;
      }
      .react-ch11-ch11-4-step strong {
        display: block;
        margin-top: 5px;
        color: var(--ink);
        font-size:15px;
        line-height: 1.35;
      }
      .react-ch11-ch11-4-step em {
        display: block;
        margin-top: 4px;
        color: var(--muted);
        font-size:12px;
        font-style: normal;
        line-height: 1.45;
      }
      .react-ch11-ch11-4-arrow {
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--track-strong);
        font-size:18px;
        font-weight: 800;
      }
      .react-ch11-ch11-4-matrix {
        margin-top: 10px;
        overflow: hidden;
        border: 1px solid var(--line);
        border-radius:8px;
      }
      .react-ch11-ch11-4-row {
        display: grid;
        grid-template-columns: 120px 1fr 1fr;
      }
      .react-ch11-ch11-4-row > div {
        min-width: 0;
        padding: 9px 10px;
        border-top: 1px solid var(--line);
        border-left: 1px solid var(--line);
        color: var(--muted);
        font-size:13px;
        line-height: 1.48;
      }
      .react-ch11-ch11-4-row > div:first-child {
        border-left: 0;
        color: var(--accent);
        font-weight: 800;
      }
      .react-ch11-ch11-4-head > div {
        border-top: 0;
        background: var(--head);
        color: var(--ink);
        font-weight: 800;
      }
      .react-ch11-ch11-4-note {
        margin-top: 10px;
        border: 1px solid var(--line);
        border-radius:8px;
        padding: 10px 12px;
        background: var(--panel);
        color: var(--muted);
        font-size:13px;
        line-height: 1.58;
      }
      .react-ch11-ch11-4-note b {
        color: var(--accent);
      }
      @media (max-width: 640px) {
        .react-ch11-ch11-4-root { padding: 13px; }
        h1 { font-size:21px; line-height: 1.28; }
        p { font-size:13px; line-height: 1.58; }
        .react-ch11-ch11-4-flow {
          grid-template-columns: 1fr;
          gap: 6px;
        }
        .react-ch11-ch11-4-arrow {
          min-height: 14px;
          transform: rotate(90deg);
          font-size:15px;
        }
        .react-ch11-ch11-4-step { padding: 9px; }
        .react-ch11-ch11-4-row { grid-template-columns: 96px 1fr 1fr; }
        .react-ch11-ch11-4-row > div { padding: 8px 7px; font-size:12px; line-height: 1.45; }
      }
      @media (max-width: 360px) {
        .react-ch11-ch11-4-root { padding: 10px; }
        h1 { font-size:19px; }
        .react-ch11-ch11-4-row { grid-template-columns: 88px 1fr 1fr; }
        .react-ch11-ch11-4-row > div { padding: 7px 4px; font-size:12px; }
      }

@media (max-width: 640px) {
  .react-ch11-ch11-4-flow {
    gap: 8px !important;
  }

  .react-ch11-ch11-4-arrow {
    justify-self: center !important;
    align-self: center !important;
    width: 28px !important;
    min-height: 18px !important;
    transform: rotate(90deg) !important;
    font-size:16px !important;
    line-height: 1 !important;
  }
}
