.ptiles-main {
  padding-bottom: 28px;
}

.page-heading {
  display: grid;
  gap: 10px;
  padding-block: 32px 18px;
}

.page-content {
  display: grid;
  gap: 24px;
}

.pfc-brand-icon {
  width: 38px;
  height: 38px;
  border-radius: var(--ptiles-radius);
}

.pfc-nav {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pfc-nav .ptiles-btn {
  gap: 7px;
}

.pfc-nav .ptiles-tile-code {
  min-width: 28px;
  height: 24px;
  font-size: 0.72rem;
}

.pfc-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  color: var(--ptiles-muted);
  padding-block: 26px 4px;
}

.pfc-footer p {
  margin: 0;
}

.pfc-tool-form,
.pfc-tool-panel,
.pfc-output-group {
  display: grid;
  gap: 16px;
}

.pfc-panel-separator {
  border-top: 1px solid var(--ptiles-line);
  margin-top: 8px;
  padding-top: 24px;
}

.pfc-copy-field {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 8px;
}

.pfc-copy-field .ptiles-input,
.pfc-copy-field .ptiles-textarea {
  min-width: 0;
  flex: 1 1 auto;
  padding-right: 12px;
}

.pfc-copy-btn {
  flex: 0 0 auto;
}

.pfc-mono {
  font-family: Consolas, Monaco, "Courier New", monospace;
}

.pfc-break {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.pfc-alert {
  display: none;
}

.pfc-alert.is-visible {
  display: block;
}

.pfc-input-row {
  display: flex;
  align-items: stretch;
  gap: 8px;
}

.pfc-input-row .ptiles-input {
  min-width: 0;
  flex: 1 1 auto;
}

.ptiles-input.pfc-is-valid,
.ptiles-select.pfc-is-valid,
.ptiles-textarea.pfc-is-valid {
  border-color: rgba(var(--ptiles-success-rgb), 0.72);
}

.ptiles-input.pfc-is-invalid,
.ptiles-select.pfc-is-invalid,
.ptiles-textarea.pfc-is-invalid {
  border-color: rgba(var(--ptiles-danger-rgb), 0.72);
}

.pfc-list {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pfc-list-item {
  border: 1px solid var(--ptiles-line);
  border-radius: 6px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.045);
  color: var(--ptiles-text);
}

.pfc-map,
.pfc-map iframe {
  min-height: 320px;
}

.pfc-map iframe {
  border: 0;
  width: 100%;
}

.pfc-spinner {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.72;
  animation: pfc-spinner-grow 0.75s linear infinite;
}

@keyframes pfc-spinner-grow {
  0% { transform: scale(0); opacity: 0; }
  50% { opacity: 0.72; }
  100% { transform: scale(1); opacity: 0; }
}

.pfc-secret-card {
  --ptiles-alert-rgb: var(--ptiles-primary-rgb);
}

.pfc-secret-card.pfc-strength-danger {
  --ptiles-alert-rgb: var(--ptiles-danger-rgb);
}

.pfc-secret-card.pfc-strength-warning {
  --ptiles-alert-rgb: var(--ptiles-warning-rgb);
}

.pfc-secret-card.pfc-strength-info {
  --ptiles-alert-rgb: var(--ptiles-info-rgb);
}

.pfc-secret-card.pfc-strength-success {
  --ptiles-alert-rgb: var(--ptiles-success-rgb);
}

.pfc-time-value {
  cursor: pointer;
  margin: 0;
  font-family: Consolas, Monaco, "Courier New", monospace;
  overflow-wrap: anywhere;
}

input[type="range"].ptiles-range {
  width: 100%;
}

@media (max-width: 700px) {
  .pfc-input-row,
  .pfc-copy-field {
    flex-direction: column;
  }

  .pfc-input-row .ptiles-btn,
  .pfc-copy-btn {
    width: 100%;
  }

  .pfc-footer {
    display: grid;
  }
}
