/* ── Page Title ── */

    /* ── Options Bar ── */
    .options-bar {
      display: flex;
      align-items: center;
      gap: 0;
      border: 1px solid var(--border);
      border-radius: 10px;
      overflow: hidden;
      background: var(--card);
      flex-wrap: wrap;
    }

    .options-label {
      font-size: 10px;
      letter-spacing: 0.2em;
      color: var(--ink-light);
      text-transform: uppercase;
      padding: 0 16px;
      height: 44px;
      display: flex;
      align-items: center;
      border-right: 1px solid var(--border);
      flex-shrink: 0;
    }

    .option-toggles {
      display: flex;
      flex: 1;
      flex-wrap: wrap;
    }

    .opt {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 0 16px;
      height: 44px;
      cursor: pointer;
      border-right: 1px solid var(--border);
      transition: background 0.15s;
      user-select: none;
    }

    .opt:hover { background: var(--blue-light); color: var(--blue); }

    .opt input[type="checkbox"] {
      appearance: none;
      width: 14px;
      height: 14px;
      border: 1px solid var(--border);
      border-radius: 3px;
      background: transparent;
      cursor: pointer;
      position: relative;
      flex-shrink: 0;
    }

    .opt input[type="checkbox"]:checked {
      background: var(--blue);
      border-color: var(--blue);
    }

    .opt input[type="checkbox"]:checked::after {
      content: '';
      position: absolute;
      left: 3px;
      top: 1px;
      width: 5px;
      height: 8px;
      border: 1.5px solid #fff;
      border-top: none;
      border-left: none;
      transform: rotate(45deg);
    }

    .opt-label {
      font-size: 12px;
      font-weight: 300;
      color: var(--ink);
      letter-spacing: 0.04em;
      white-space: nowrap;
    }

    /* Direction Toggle */
    .direction-toggle {
      margin-left: auto;
      display: flex;
      border-left: 1px solid var(--border);
    }

    .dir-btn {
      font-size: 11px;
      letter-spacing: 0.08em;
      padding: 0 16px;
      height: 44px;
      border: none;
      background: transparent;
      color: var(--ink-light);
      cursor: pointer;
      transition: all 0.15s;
    }

    .dir-btn.active {
      background: var(--blue);
      color: #fff;
    }

    /* ── Editor Area ── */
    .editor-area {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      gap: 0;
      align-items: stretch;
    }

    .panel {
      border: 1px solid var(--border);
      border-radius: 10px;
      overflow: hidden;
      background: var(--card);
      display: flex;
      flex-direction: column;
      transition: box-shadow 0.2s ease;
    }

    .panel:focus-within {
      box-shadow: 0 0 0 2px var(--blue);
    }

    .panel-label {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 10px 16px;
      border-bottom: 1px solid var(--border);
      background: var(--bg);
      flex-shrink: 0;
    }

    .panel-label span {
      font-size: 10px;
      letter-spacing: 0.2em;
      color: var(--ink-light);
      text-transform: uppercase;
    }

    .clear-btn {
      background: none;
      border: none;
      cursor: pointer;
      font-size: 10px;
      color: var(--ink-light);
      letter-spacing: 0.15em;
      padding: 2px 6px;
      transition: color 0.15s;
    }

    .clear-btn:hover { color: var(--blue); }

    textarea {
      flex: 1;
      width: 100%;
      min-height: 340px;
      padding: 20px;
      font-family: var(--sans);
      font-size: 15px;
      font-weight: 300;
      line-height: 1.9;
      color: var(--ink);
      background: transparent;
      border: none;
      resize: none;
      outline: none;
      letter-spacing: 0.03em;
    }

    textarea::placeholder {
      color: var(--ink-xlight);
    }

    textarea[readonly] {
      background: #FFFFFF;
      color: var(--ink);
      cursor: default;
    }

    /* ── Center Convert Column ── */
    .convert-col {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 12px;
      padding: 0 20px;
    }

    .convert-btn {
      background: var(--blue);
      color: #fff;
      border: none;
      border-radius: 50%;
      cursor: pointer;
      width: 52px;
      height: 52px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 22px;
      transition: background 0.15s, transform 0.1s;
      flex-shrink: 0;
    }

    .convert-btn:hover { background: var(--blue-hover); }
    .convert-btn:active { transform: scale(0.95); }

    .convert-btn-label {
      font-size: 9px;
      color: var(--ink-light);
      letter-spacing: 0.1em;
      text-align: center;
      line-height: 1.4;
    }

    /* ── Output Footer ── */
    .output-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 10px 16px;
      border-top: 1px solid var(--border);
      background: var(--bg);
      flex-shrink: 0;
    }

    .output-char-count {
      font-size: 10px;
      color: var(--ink-light);
      letter-spacing: 0.1em;
    }

    .copy-btn {
      font-size: 10px;
      letter-spacing: 0.15em;
      color: #fff;
      background: var(--blue);
      border: none;
      padding: 6px 14px;
      cursor: pointer;
      transition: opacity 0.15s;
    }

    .copy-btn:hover { opacity: 0.85; }

    .copy-btn.copied {
      background: #3A7D44;
    }

    /* ── Change Summary ── */
    .summary-bar {
      border: 1px solid var(--border);
      background: var(--card);
      display: flex;
      align-items: center;
      gap: 0;
      overflow: hidden;
    }

    .summary-title {
      font-size: 10px;
      letter-spacing: 0.2em;
      color: var(--ink-light);
      text-transform: uppercase;
      padding: 12px 16px;
      border-right: 1px solid var(--border);
      flex-shrink: 0;
    }

    .summary-items {
      display: flex;
      flex: 1;
      flex-wrap: wrap;
    }

    .summary-item {
      padding: 12px 20px;
      border-right: 1px solid var(--border);
      display: flex;
      align-items: baseline;
      gap: 6px;
    }

    .summary-num {
      font-size: 18px;
      color: var(--blue);
      font-weight: 600;
    }

    .summary-label {
      font-size: 11px;
      color: var(--ink-light);
      font-weight: 300;
    }

    .summary-unchanged {
      font-size: 10px;
      color: var(--ink-xlight);
      padding: 12px 16px;
      letter-spacing: 0.1em;
    }

    /* ── Footer ── */

    /* Flash animation */
    @keyframes flashGreen {
      0%   { background: #E8F5E9; }
      100% { background: #FFFFFF; }
    }

    .output-flash {
      animation: flashGreen 0.5s ease;
    }

    /* Responsive */
    /* ── Text readability fix ── */
    textarea {
      font-weight: 400;
      letter-spacing: 0;
      line-height: 1.85;
      color: var(--ink);
    }
    textarea::placeholder {
      color: var(--ink-light);
      font-weight: 400;
      letter-spacing: 0;
    }
    .opt-label {
      font-weight: 400;
      letter-spacing: 0;
      color: var(--ink);
      line-height: 1.5;
    }
    .options-label,
    .panel-label span,
    .clear-btn,
    .copy-btn,
    .summary-label,
    .summary-unchanged {
      font-weight: 400;
    }
