.btn-outline {
  background: none;
  border: 1.5px solid var(--blue);
  color: var(--blue);
  padding: 0.55rem 1rem;
  font-size: 0.9rem;
  white-space: nowrap;
}
.btn-outline:hover { background: var(--blue); color: #fff; }

.tab-bar {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}
.tab-btn {
  padding: 0.45rem 1rem;
  border: 1.5px solid var(--border);
  border-radius: 6px;
  background: none;
  color: var(--text-sub);
  font-size: 0.9rem;
  font-family: var(--font);
  cursor: pointer;
  transition: border-color 0.2s, color 0.2s, background 0.2s;
  flex: 1;
}
.tab-btn.active {
  border-color: var(--blue);
  color: var(--blue);
  background: #eff6ff;
}

.time-row {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.time-row input { flex: 1; }

.results {
  margin-top: 1.25rem;
}
.result-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.85rem 1rem;
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  margin-bottom: 0.6rem;
  transition: border-color 0.2s, background 0.2s;
}
.result-item.recommended {
  border-color: var(--blue);
  background: #eff6ff;
}
.result-time {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--text);
  min-width: 5rem;
  font-variant-numeric: tabular-nums;
}
.result-item.recommended .result-time { color: var(--blue); }
.result-meta {
  flex: 1;
}
.result-cycles {
  font-size: 0.875rem;
  color: var(--text-sub);
}
.result-total {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--text);
}
.result-badge {
  font-size: 0.75rem;
  padding: 0.2rem 0.5rem;
  background: var(--blue);
  color: #fff;
  border-radius: 4px;
  white-space: nowrap;
}

.cycle-info { }
.info-title {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}
.info-text {
  font-size: 0.9rem;
  color: var(--text-sub);
  line-height: 1.7;
  margin-bottom: 1rem;
}
.cycle-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.cycle-badge {
  font-size: 0.8rem;
  padding: 0.3rem 0.7rem;
  border: 1px solid var(--border);
  border-radius: 20px;
  color: var(--text-sub);
}
.cycle-badge.recommended {
  border-color: var(--blue);
  color: var(--blue);
  background: #eff6ff;
}

html[data-theme="dark"] .tab-btn.active,
html[data-theme="dark"] .result-item.recommended,
html[data-theme="dark"] .cycle-badge.recommended {
  background: #1e3a5f;
}
