.tile-main { max-width: 720px; }
.tile-form, .tile-result { margin-top: 24px; padding: 24px; border: 1px solid var(--border); border-radius: 18px; background: var(--surface); }
.tile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.tile-grid label { display: grid; gap: 8px; color: var(--text); font-size: 14px; font-weight: 600; }
.tile-grid input { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); color: var(--text); font: inherit; }
.tile-actions { display: flex; justify-content: flex-end; margin-top: 22px; }
.tile-actions button { min-height: 48px; }
.tile-error { margin: 16px 0 0; color: var(--danger, #b42318); }
.tile-result h2 { margin: 0 0 16px; font-size: 20px; }
.tile-result #tile-output { margin: 0; font-size: 30px; font-weight: 700; }
.tile-result dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 18px 0 0; }
.tile-result dl div { padding: 16px; border: 1px solid var(--border); border-radius: 12px; }
.tile-result dt { color: var(--muted); font-size: 14px; }
.tile-result dd { margin: 4px 0 0; font-size: 18px; font-weight: 700; }
@media (max-width: 560px) {
  .tile-form, .tile-result { padding: 18px; }
  .tile-grid, .tile-result dl { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .tile-actions { justify-content: stretch; }
  .tile-actions button { width: 100%; }
}
