/* Extracted from templates/contracts/base_public.html */
:root { color-scheme: light dark; }
    *, *::before, *::after { box-sizing: border-box; }
    body {
      margin: 0;
      font-family: var(--rd-font-sans);
      background:
        radial-gradient(circle at top center, rgba(15, 23, 42, 0.045), transparent 32%),
        linear-gradient(180deg, var(--rd-color-fcfcfb) 0%, var(--rd-color-f6f6f2) 44%, var(--rd-color-f1f3ef) 100%);
      color: var(--rd-color-14233d);
    }
    .pub-header {
      position: sticky;
      top: 0;
      z-index: 30;
      background: rgba(255,255,255,0.92);
      backdrop-filter: blur(18px);
      border-bottom: 1px solid rgba(15,23,42,0.08);
    }
    .pub-header-inner { display: flex; align-items: center; justify-content: space-between; padding: 14px 32px; max-width: 960px; margin: 0 auto; }
    .pub-logo { display: flex; align-items: center; gap: 9px; text-decoration: none; color: var(--rd-color-14233d); }
    .pub-logo img { width: 26px; height: 26px; display: block; }
    .pub-logo-name { font-size: 15px; font-weight: 700; letter-spacing: -0.01em; }
    .pub-signin {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 0 18px;
      font-size: 13px;
      font-weight: 650;
      color: var(--rd-color-f8fafc);
      text-decoration: none;
      border-radius: 999px;
      background: var(--rd-color-0f172a);
      border: 1px solid rgba(15,23,42,0.12);
      box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
      transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
    }
    .pub-signin:hover {
      transform: translateY(-1px);
      background: var(--rd-color-111c33);
      box-shadow: 0 16px 34px rgba(15, 23, 42, 0.16);
    }
    .pub-messages { max-width: 960px; margin: 16px auto 0; padding: 0 32px; display: flex; flex-direction: column; gap: 8px; }
    .pub-message { padding: 10px 14px; border-radius: 8px; font-size: 14px; background: var(--rd-color-f0fdf4); color: var(--rd-color-166534); border: 1px solid var(--rd-color-bbf7d0); }
    .pub-footer { margin-top: 64px; padding: 20px 32px; border-top: 1px solid rgba(15,23,42,0.08); background: rgba(255,255,255,0.82); backdrop-filter: blur(14px); }
    .pub-footer-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; max-width: 960px; margin: 0 auto; font-size: 13px; color: var(--rd-color-64748b); }
    .pub-footer-links { display: flex; gap: 16px; flex-wrap: wrap; }
    .pub-footer a { color: var(--rd-color-64748b); text-decoration: none; }
    .pub-footer a:hover { color: var(--rd-color-14233d); }
    .pub-page-summary {
      margin: 22px 0 30px;
      padding: 20px 22px;
      border-radius: 18px;
      background: linear-gradient(180deg, var(--rd-color-ffffff) 0%, var(--rd-color-f8fbff) 100%);
      border: 1px solid rgba(15,23,42,0.08);
      box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    }
    .pub-page-summary-kicker {
      display: inline-block;
      margin-bottom: 10px;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--rd-color-475569);
    }
    .pub-page-summary-title {
      margin: 0 0 10px;
      font-size: 20px;
      letter-spacing: -0.02em;
      color: var(--rd-color-0f172a);
    }
    .pub-page-summary-copy {
      margin: 0 0 14px;
      color: var(--rd-color-475569);
    }
    .pub-page-summary-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      gap: 12px;
    }
    .pub-page-summary-item {
      padding: 14px 16px;
      border-radius: 14px;
      background: var(--rd-color-ffffff);
      border: 1px solid rgba(148, 163, 184, 0.2);
      color: var(--rd-color-334155);
      line-height: 1.5;
    }
    .pub-page-summary-item strong {
      display: block;
      margin-bottom: 4px;
      color: var(--rd-color-0f172a);
    }
    @media (max-width: 720px) {
      .pub-header-inner,
      .pub-messages,
      .pub-footer {
        padding-left: 20px;
        padding-right: 20px;
      }
      .pub-page-summary {
        padding: 18px;
      }
    }
    @media (prefers-color-scheme: dark) {
      body {
        background:
          radial-gradient(circle at top center, rgba(96, 165, 250, 0.08), transparent 24%),
          linear-gradient(180deg, var(--rd-color-090d16) 0%, var(--rd-color-0d111a) 44%, var(--rd-color-121826) 100%);
        color: var(--rd-color-e5e7eb);
      }
      .pub-header {
        background: rgba(10,12,20,0.92);
        border-bottom-color: rgba(148,163,184,0.16);
      }
      .pub-logo,
      .pub-logo-name,
      .pub-footer a:hover {
        color: var(--rd-color-f8fafc);
      }
      .pub-signin {
        background: var(--rd-color-f8fafc);
        border-color: rgba(255,255,255,0.08);
        color: var(--rd-color-0f172a);
        box-shadow: 0 12px 28px rgba(2, 6, 23, 0.34);
      }
      .pub-signin:hover {
        background: var(--rd-color-ffffff);
      }
      .pub-footer {
        background: rgba(10,12,20,0.82);
        border-top-color: rgba(148,163,184,0.16);
      }
      .pub-footer-inner,
      .pub-footer a,
      .pub-page-summary-copy,
      .pub-page-summary-item {
        color: var(--rd-color-cbd5e1);
      }
      .pub-page-summary {
        background: linear-gradient(180deg, rgba(15, 23, 42, 0.78) 0%, rgba(17, 24, 39, 0.88) 100%);
        border-color: rgba(148, 163, 184, 0.16);
        box-shadow: 0 18px 40px rgba(2, 6, 23, 0.28);
      }
      .pub-page-summary-kicker {
        color: var(--rd-color-93c5fd);
      }
      .pub-page-summary-title,
      .pub-page-summary-item strong {
        color: var(--rd-color-f8fafc);
      }
      .pub-page-summary-item {
        background: rgba(255,255,255,0.04);
        border-color: rgba(148,163,184,0.16);
      }
    }
