    :root {
      --bg: #fafafa;
      --card: #ffffff;
      --border: #e5e7eb;
      --muted: #6b7280;
      --link: #0ea5e9;
      --btn: #2563eb;
      --btn-txt: #fff;
      --hi: #dc2626;
      --med: #d97706;
      --lo: #16a34a;
      --safe: #0891b2;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
      background: var(--bg);
      color: #111827;
    }

    .container {
      max-width: 980px;
      margin: 0 auto;
      padding: 20px;
    }

    .topbar {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 8px;
    }

    .back {
      text-decoration: none;
      color: var(--link);
      font-weight: 600;
    }

    .title {
      margin: 0;
      font-size: 20px;
    }

    .meta {
      color: var(--muted);
      font-size: 13px;
      margin: 2px 0 12px;
    }

    .summary {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      align-items: center;
      border: 1px solid var(--border);
      background: var(--card);
      border-radius: 8px;
      padding: 8px 10px;
      margin: 8px 0 14px;
      font-size: 13px;
    }

    .badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 4px 8px;
      border-radius: 999px;
      border: 1px solid var(--border);
      background: #fff;
    }

    .b-hi {
      border-color: #fecaca;
      color: var(--hi);
      background: #fff;
    }

    .b-med {
      border-color: #fde68a;
      color: var(--med);
      background: #fff;
    }

    .b-lo {
      border-color: #bbf7d0;
      color: var(--lo);
      background: #fff;
    }

    .b-safe {
      border-color: #a5f3fc;
      color: var(--safe);
      background: #fff;
    }

    .b-total {
      font-weight: 600;
    }

    .controls {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin: 12px 0 20px;
    }

    .btn {
      display: inline-block;
      padding: 8px 10px;
      background: var(--btn);
      color: var(--btn-txt);
      border-radius: 6px;
      text-decoration: none;
      font-size: 13px;
      border: 0;
      cursor: pointer;
    }

    .btn.secondary {
      background: #0ea5e9;
    }

    .grid {
      display: grid;
      gap: 14px;
    }

    .section-title {
      font-size: 16px;
      margin: 14px 0 6px;
    }

    .card {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 12px;
    }

    .card .card-meta {
      color: var(--muted);
      font-size: 12px;
      margin-bottom: 8px;
    }

    pre {
      background: #f8fafc;
      border: 1px solid var(--border);
      padding: 10px;
      overflow: auto;
      font-size: 12.5px;
      border-radius: 6px;
      margin: 8px 0;
    }

    .field {
      display: flex;
      gap: 8px;
      align-items: center;
      flex-wrap: wrap;
    }

    input[type="text"] {
      padding: 8px;
      border: 1px solid var(--border);
      border-radius: 6px;
      width: 360px;
      font-size: 13px;
    }

    code.inline {
      background: #f3f4f6;
      padding: 2px 6px;
      border-radius: 4px;
      font-size: 12px;
    }

    .render-target {
      border: 1px dashed var(--border);
      background: #f8fafc;
      padding: 10px;
      min-height: 36px;
      border-radius: 6px;
      font-size: 13px;
      margin-top: 8px;
      word-break: break-word;
    }

    .output {
      background: #f3f4f6;
      border: 1px dashed var(--border);
      border-radius: 6px;
      padding: 8px 10px;
      font-size: 12.5px;
      margin-top: 8px;
      min-height: 20px;
    }

    footer {
      color: var(--muted);
      font-size: 12px;
      margin-top: 24px;
    }