﻿* { box-sizing: border-box; }

    :root {
      --bg: #f3f4f6;
      --card: #ffffff;
      --text: #111827;
      --muted: #4b5563;
      --border: #d1d5db;
      --accent: #111827;
      --accent-text: #ffffff;
      --textarea: #f9fafb;
      --status-bg: #eef2ff;
      --link: #1d4ed8;
      --link-hover: #1e40af;
    }

    body.dark {
      --bg: #050b18;
      --card: #0f172a;
      --text: #e5e7eb;
      --muted: #9ca3af;
      --border: #1e293b;
      --accent: #2563eb;
      --accent-text: #ffffff;
      --textarea: #091224;
      --status-bg: #13254d;
      --link: #93c5fd;
      --link-hover: #dbeafe;
    }

    body {
      margin: 0;
      font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      background: var(--bg);
      color: var(--text);
      padding: 32px;
      line-height: 1.6;
    }

    .wrapper {
      max-width: 1440px;
      margin: 0 auto;
    }

    h1 {
      margin: 0 0 10px;
      font-size: 36px;
      font-weight: 700;
      letter-spacing: -0.02em;
      line-height: 1.1;
    }

    p {
      margin: 0 0 24px;
      color: var(--muted);
      font-size: 16px;
    }

    h2, h3 {
      font-weight: 600;
      letter-spacing: -0.01em;
      line-height: 1.2;
    }

    a {
      color: var(--link);
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    a:hover {
      color: var(--link-hover);
    }

    li {
      margin-bottom: 6px;
    }

    .topbar {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 20px;
      margin-bottom: 18px;
    }

    .lang-switch {
      margin: 10px 0 0;
      font-size: 14px;
    }

    .lang-switch strong {
      color: var(--text);
    }

    .toggle {
      cursor: pointer;
      border: 1px solid var(--border);
      padding: 10px 14px;
      border-radius: 12px;
      background: var(--card);
      color: var(--text);
      user-select: none;
      transition: 0.2s ease;
    }

    .toggle:hover {
      opacity: 0.9;
    }

    .card {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 16px;
      padding: 24px;
      box-shadow: 0 8px 24px rgba(0,0,0,0.08);
    }

    .toolbar {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-bottom: 20px;
      align-items: center;
    }

    .toolbar label {
      border: 1px solid var(--border);
      padding: 10px 14px;
      border-radius: 12px;
      cursor: pointer;
      background: var(--card);
      font-size: 14px;
      user-select: none;
      color: var(--text);
      transition: 0.2s ease;
    }

    .toolbar label:hover {
      opacity: 0.92;
    }

    .toolbar label.recommended {
      border-color: rgba(37, 99, 235, 0.55);
      background: rgba(37, 99, 235, 0.12);
      box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.18);
    }

    .toolbar label:has(input:checked) {
      border-color: rgba(16, 185, 129, 0.6);
      background: rgba(16, 185, 129, 0.14);
      box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.2);
    }

    .toolbar label.recommended:has(input:checked) {
      border-color: rgba(16, 185, 129, 0.72);
      background: rgba(16, 185, 129, 0.18);
      box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.22);
    }

    .toolbar input {
      margin-right: 6px;
    }

    .toolbar-actions {
      flex-basis: 100%;
      display: flex;
      gap: 10px;
      align-items: center;
      justify-content: flex-start;
      margin-top: 2px;
    }

    button {
      border: 1px solid var(--accent);
      background: var(--accent);
      color: var(--accent-text);
      padding: 10px 16px;
      border-radius: 12px;
      cursor: pointer;
      font-size: 14px;
      transition: 0.2s ease;
    }

    button:hover {
      opacity: 0.92;
    }

    button.processing {
      background: #0ea5e9;
      border-color: #0ea5e9;
      box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.2);
    }

    button:disabled {
      cursor: wait;
      opacity: 1;
    }

    button.secondary {
      background: transparent;
      color: var(--text);
      border: 1px solid var(--border);
    }

    .grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
    }

    textarea {
      width: 100%;
      height: 850px;
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 16px;
      font-size: 16px;
      line-height: 1.5;
      background: var(--textarea);
      color: var(--text);
      resize: vertical;
      white-space: pre-wrap;
      tab-size: 4;
    }

    .status {
      margin-top: 16px;
      padding: 14px;
      border-radius: 12px;
      background: var(--status-bg);
      border: 1px solid var(--border);
      color: var(--text);
    }

    .dynamic-guide {
      margin-top: 18px;
      padding: 20px;
      border: 1px solid var(--border);
      border-radius: 14px;
      background: rgba(37, 99, 235, 0.06);
    }

    .dynamic-guide-kicker {
      margin: 0 0 10px;
      color: var(--link);
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }

    .dynamic-guide h2 {
      margin-top: 0;
      margin-bottom: 10px;
    }

    .dynamic-guide p:last-child {
      margin-bottom: 0;
    }

    .footer-copy {
      margin-top: 20px;
      font-size: 14px;
      color: var(--muted);
      line-height: 1.6;
    }

    .resource-sections {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 28px;
      align-items: start;
      margin-top: 24px;
    }

    .related-tools {
      min-width: 0;
    }

    .related-tools h2 {
      margin-bottom: 12px;
    }

    .related-tools-list {
      margin: 0;
      padding-left: 22px;
    }

    .related-tools-list li {
      margin-bottom: 10px;
    }

    .ai-guidance-links .related-tools-list li {
      margin-bottom: 12px;
    }

    .popular-guides-links .related-tools-list li {
      margin-bottom: 12px;
    }

    @media (max-width: 1200px) {
      .resource-sections {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 900px) {
      .grid {
        grid-template-columns: 1fr;
      }

      textarea {
        height: 280px;
      }

      .topbar {
        flex-direction: column;
        align-items: stretch;
      }

      .resource-sections {
        grid-template-columns: 1fr;
        gap: 18px;
      }
    }

