    :root {
      --bg: #f5f7fb;
      --card: #ffffff;
      --text: #1f2937;
      --muted: #6b7280;
      --border: #dbe2ea;
      --accent: #111827;
      --accent-text: #ffffff;
      --code-bg: #0f172a;
      --code-text: #f8fafc;
      --info-bg: #eef6ff;
      --info-border: #c7ddf7;
      --info-title: #1e3a5f;
      --info-text: #35516f;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }

    body {
      margin: 0;
      font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--bg);
      color: var(--text);
      line-height: 1.5;
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 20;
      background: rgba(245, 247, 251, 0.92);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--border);
    }

    .nav-wrap {
      max-width: 980px;
      margin: 0 auto;
      padding: 14px 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
    }

    .brand {
      color: var(--text);
      text-decoration: none;
      font-weight: 800;
      letter-spacing: -0.02em;
      font-size: 1.05rem;
      white-space: nowrap;
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .nav-links a {
      color: var(--muted);
      text-decoration: none;
      font-weight: 600;
      font-size: 0.95rem;
      padding: 8px 10px;
      border-radius: 10px;
    }

    .nav-links a:hover,
    .nav-links a:focus {
      color: var(--text);
      background: #e5e7eb;
      outline: none;
    }

    .menu-toggle {
      display: none;
      background: var(--accent);
      color: var(--accent-text);
      padding: 9px 12px;
      border-radius: 12px;
      font-weight: 700;
    }

    .wrap {
      max-width: 980px;
      margin: 0 auto;
      padding: 32px 20px 56px;
    }

    h1 {
      margin: 0 0 10px;
      font-size: 2rem;
      line-height: 1.15;
    }

    .lead {
      margin: 0 0 28px;
      color: var(--muted);
      max-width: 820px;
    }

    .info-box {
      background: var(--info-bg);
      border: 1px solid var(--info-border);
      border-radius: 16px;
      padding: 16px 18px;
      margin: 22px 0 28px;
    }

    .info-box strong {
      display: block;
      margin-bottom: 6px;
      color: var(--info-title);
    }

    .info-box p {
      margin: 0;
      color: var(--info-text);
      font-size: 0.95rem;
    }

    .card {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 18px;
      padding: 20px;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
      margin-bottom: 18px;
      scroll-margin-top: 84px;
    }

    .card h2 {
      margin: 0 0 14px;
      font-size: 1.1rem;
    }

    label {
      display: block;
      font-weight: 600;
      margin-bottom: 8px;
    }

    input[type="text"],
    input[type="email"],
    input[type="url"],
    input[type="number"],
    textarea,
    select {
      width: 100%;
      padding: 12px 14px;
      border: 1px solid var(--border);
      border-radius: 12px;
      font-size: 1rem;
      outline: none;
      background: #fff;
      font: inherit;
    }

    textarea {
      min-height: 420px;
      resize: vertical;
    }

    input:focus,
    textarea:focus,
    select:focus {
      border-color: #94a3b8;
      box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.15);
    }

    .field { margin-bottom: 16px; }

    .field-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      margin-bottom: 8px;
    }

    .field-head label { margin-bottom: 0; }

    .check {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: var(--text);
      font-weight: 500;
      margin-bottom: 0;
      cursor: pointer;
    }

    .check input { cursor: pointer; }

    .actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 18px;
    }

    button {
      border: 0;
      border-radius: 12px;
      padding: 11px 14px;
      font-size: 0.95rem;
      cursor: pointer;
      transition: transform 0.04s ease, opacity 0.2s ease, background 0.2s ease;
      font: inherit;
    }

    button:active { transform: translateY(1px); }

    .primary { background: var(--accent); color: var(--accent-text); }
    .secondary { background: #e5e7eb; color: #111827; }

    .icon-btn {
      padding: 10px 12px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      line-height: 1;
    }

    .stats-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
      margin-bottom: 12px;
    }

    .stat-card,
    .reading-card {
      background: #ffffff;
      border: 1px solid var(--border);
      border-radius: 14px;
      box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
    }

    .stat-card {
      padding: 14px;
      text-align: center;
    }

    .stat-label {
      color: var(--muted);
      font-size: 0.82rem;
      font-weight: 700;
      line-height: 1.25;
    }

    .stat-value {
      margin-top: 6px;
      font-size: 1.55rem;
      line-height: 1.1;
      font-weight: 800;
      letter-spacing: -0.03em;
      color: var(--text);
    }

    .reading-card {
      padding: 14px 16px;
      margin: 0 0 12px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
    }

    .reading-card .stat-label { text-align: left; }

    .reading-card .stat-value {
      margin-top: 0;
      font-size: 1.25rem;
      white-space: nowrap;
    }

    .readability-card {
      padding: 14px 16px;
      margin: 0 0 16px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      background: #ffffff;
      border: 1px solid var(--border);
      border-radius: 14px;
      box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
    }

    .readability-card .stat-label { text-align: left; }

    .readability-card .stat-value {
      margin-top: 0;
      font-size: 1.25rem;
      white-space: nowrap;
    }

    .frequency-options {
      display: flex;
      flex-wrap: wrap;
      gap: 14px 18px;
      align-items: center;
      margin-bottom: 16px;
    }

    .frequency-list {
      display: grid;
      gap: 10px;
    }

    .frequency-item {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 10px 12px;
      align-items: center;
      background: #ffffff;
      border: 1px solid var(--border);
      border-radius: 14px;
      padding: 12px 14px;
    }

    .frequency-word {
      font-weight: 800;
      overflow-wrap: anywhere;
    }

    .frequency-count {
      color: var(--muted);
      font-weight: 700;
      white-space: nowrap;
    }

    .frequency-bar {
      grid-column: 1 / -1;
      height: 8px;
      background: #eef2f7;
      border-radius: 999px;
      overflow: hidden;
    }

    .frequency-fill {
      height: 100%;
      width: 0%;
      background: var(--accent);
      border-radius: 999px;
    }

    .empty-state {
      color: var(--muted);
      border: 1px dashed var(--border);
      border-radius: 14px;
      padding: 14px;
      background: #ffffff;
    }

    .language-status {
      color: var(--muted);
      font-size: 0.92rem;
      margin: -4px 0 14px;
    }

    .language-status strong {
      color: var(--text);
    }

    .hint {
      color: var(--muted);
      font-size: 0.92rem;
      margin-top: 8px;
    }

    .status {
      font-size: 0.92rem;
      color: #166534;
      min-height: 1.2em;
      margin-top: 8px;
    }

    .site-footer {
      border-top: 1px solid var(--border);
      background: #ffffff;
      margin-top: 32px;
    }

    .footer-wrap {
      max-width: 980px;
      margin: 0 auto;
      padding: 20px;
      display: flex;
      flex-wrap: wrap;
      gap: 16px;
      justify-content: center;
      align-items: center;
      font-size: 0.95rem;
    }

    .footer-wrap a {
      color: var(--muted);
      text-decoration: none;
      font-weight: 600;
      transition: color 0.2s ease;
    }

    .footer-wrap a:hover,
    .footer-wrap a:focus { color: var(--text); }

    @media (max-width: 720px) {
      .nav-wrap {
        align-items: flex-start;
        flex-wrap: wrap;
      }

      .menu-toggle {
        display: inline-flex;
        align-items: center;
        gap: 6px;
      }

      .nav-links {
        display: none;
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        padding-top: 10px;
      }

      .nav-links.open { display: flex; }

      .nav-links a {
        padding: 11px 12px;
        background: #ffffff;
        border: 1px solid var(--border);
      }

      .wrap { padding-top: 24px; }
      h1 { font-size: 1.7rem; }
      .card { padding: 16px; scroll-margin-top: 130px; }
      textarea { min-height: 320px; }
      .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .reading-card,
      .readability-card { align-items: flex-start; flex-direction: column; }
    }
